[Beignet] [PATCH 3/3] GBE: register width should not exceed execution width
Ruiling Song
ruiling.song at intel.com
Tue Nov 19 21:51:32 PST 2013
Signed-off-by: Ruiling Song <ruiling.song at intel.com>
---
backend/src/backend/gen_context.cpp | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/backend/src/backend/gen_context.cpp b/backend/src/backend/gen_context.cpp
index bbfc85d..f2c6428 100644
--- a/backend/src/backend/gen_context.cpp
+++ b/backend/src/backend/gen_context.cpp
@@ -882,10 +882,12 @@ namespace gbe
tmp0.type = (src0.type == GEN_TYPE_L) ? GEN_TYPE_D : GEN_TYPE_UD;
tmp1.type = (src1.type == GEN_TYPE_L) ? GEN_TYPE_D : GEN_TYPE_UD;
int flag = p->curr.flag, subFlag = p->curr.subFlag;
- GenRegister f1 = GenRegister::retype(tmp2, GEN_TYPE_UW),
- f2 = GenRegister::suboffset(f1, 1),
- f3 = GenRegister::suboffset(f1, 2),
- f4 = GenRegister::suboffset(f1, 3);
+ GenRegister f1 = GenRegister::retype(tmp2, GEN_TYPE_UW);
+ f1.width = GEN_WIDTH_1;
+ GenRegister f2 = GenRegister::suboffset(f1, 1);
+ GenRegister f3 = GenRegister::suboffset(f1, 2);
+ GenRegister f4 = GenRegister::suboffset(f1, 3);
+
p->push();
p->curr.predicate = GEN_PREDICATE_NONE;
saveFlag(f4, flag, subFlag);
--
1.7.9.5
More information about the Beignet
mailing list