[Beignet] [PATCH 7/7] Backend: for BDW and after, According to BSpec no need to split CMP when src is DW DF
Yang, Rong R
rong.r.yang at intel.com
Tue Mar 7 09:01:18 UTC 2017
There is a build error:
error: no ‘bool gbe::Gen8Encoder::needToSplitCmpBySrcType(gbe::GenEncoder*, gbe::GenRegister, gbe::GenRegister)’ member function declared in class ‘gbe::Gen8Encoder’
bool Gen8Encoder::needToSplitCmpBySrcType(GenEncoder *p, GenRegister src0, GenRegister src1) {
Need add the needToSplitCmpBySrcType declare to Gen8Encoder head file can fix it.
I have add it by manual and pushed, thanks.
> -----Original Message-----
> From: Beignet [mailto:beignet-bounces at lists.freedesktop.org] On Behalf Of
> Song, Ruiling
> Sent: Tuesday, March 7, 2017 13:54
> To: Wang, Rander <rander.wang at intel.com>; beignet at freedesktop.org
> Cc: Wang, Rander <rander.wang at intel.com>
> Subject: Re: [Beignet] [PATCH 7/7] Backend: for BDW and after, According to
> BSpec no need to split CMP when src is DW DF
>
> LGTM
>
> Ruiling
> > -----Original Message-----
> > From: Beignet [mailto:beignet-bounces at lists.freedesktop.org] On Behalf
> > Of rander
> > Sent: Tuesday, March 7, 2017 10:25 AM
> > To: beignet at freedesktop.org
> > Cc: Wang, Rander <rander.wang at intel.com>
> > Subject: [Beignet] [PATCH 7/7] Backend: for BDW and after, According
> > to BSpec no need to split CMP when src is DW DF
> >
> > Signed-off-by: rander <rander.wang at intel.com>
> > ---
> > backend/src/backend/gen8_encoder.cpp | 5 +++++
> > backend/src/backend/gen_encoder.cpp | 4 ++++
> > backend/src/backend/gen_encoder.hpp | 1 +
> > 3 files changed, 10 insertions(+)
> >
> > diff --git a/backend/src/backend/gen8_encoder.cpp
> > b/backend/src/backend/gen8_encoder.cpp
> > index a33fbac..cbee83f 100644
> > --- a/backend/src/backend/gen8_encoder.cpp
> > +++ b/backend/src/backend/gen8_encoder.cpp
> > @@ -883,4 +883,9 @@ namespace gbe
> > msg_length,
> > response_length);
> > }
> > +
> > + /* for BDW and after, no need to split CMP when src is DW*/
> > + bool Gen8Encoder::needToSplitCmpBySrcType(GenEncoder *p,
> > + GenRegister
> > src0, GenRegister src1) {
> > + return false;
> > + }
> > } /* End of the name space. */
> > diff --git a/backend/src/backend/gen_encoder.cpp
> > b/backend/src/backend/gen_encoder.cpp
> > index 03ce0e2..217a2d8 100644
> > --- a/backend/src/backend/gen_encoder.cpp
> > +++ b/backend/src/backend/gen_encoder.cpp
> > @@ -192,6 +192,10 @@ namespace gbe
> > if (isSrcDstDiffSpan(dst, src0) == true) return true;
> > if (isSrcDstDiffSpan(dst, src1) == true) return true;
> >
> > + return p->needToSplitCmpBySrcType(p, src0, src1); }
> > +
> > + bool GenEncoder::needToSplitCmpBySrcType(GenEncoder *p,
> GenRegister
> > src0, GenRegister src1) {
> > if (src0.type == GEN_TYPE_D || src0.type == GEN_TYPE_UD ||
> > src0.type ==
> > GEN_TYPE_F)
> > return true;
> > if (src1.type == GEN_TYPE_D || src1.type == GEN_TYPE_UD ||
> > src1.type ==
> > GEN_TYPE_F)
> > diff --git a/backend/src/backend/gen_encoder.hpp
> > b/backend/src/backend/gen_encoder.hpp
> > index 3e45c81..040b94a 100644
> > --- a/backend/src/backend/gen_encoder.hpp
> > +++ b/backend/src/backend/gen_encoder.hpp
> > @@ -162,6 +162,7 @@ namespace gbe
> > void BRD(GenRegister src);
> > /*! Compare instructions */
> > void CMP(uint32_t conditional, GenRegister src0, GenRegister
> > src1, GenRegister dst = GenRegister::null());
> > + virtual bool needToSplitCmpBySrcType(GenEncoder *p, GenRegister
> > + src0,
> > GenRegister src1);
> > /*! Select with embedded compare (like sel.le ...) */
> > void SEL_CMP(uint32_t conditional, GenRegister dst, GenRegister
> > src0, GenRegister src1);
> > /*! EOT is used to finish GPGPU threads */
> > --
> > 2.7.4
> >
> > _______________________________________________
> > Beignet mailing list
> > Beignet at lists.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/beignet
> _______________________________________________
> Beignet mailing list
> Beignet at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/beignet
More information about the Beignet
mailing list