[Beignet] [Patch V2 2/3] fix regression on pre-BDW platform.
xionghu.luo at intel.com
xionghu.luo at intel.com
Mon Mar 20 14:38:00 UTC 2017
From: Luo Xionghu <xionghu.luo at intel.com>
ivb/hsw will spit the 32X32 to two simd8 instructions, and noMask
instruction introduced there, the if-opt pass shouldn't change the
predicate state for no mask instructions.
v2: fix typo.
Signed-off-by: Luo Xionghu <xionghu.luo at intel.com>
---
backend/src/backend/gen_insn_selection_if_opt.cpp | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/backend/src/backend/gen_insn_selection_if_opt.cpp b/backend/src/backend/gen_insn_selection_if_opt.cpp
index a99b465..eff42b9 100644
--- a/backend/src/backend/gen_insn_selection_if_opt.cpp
+++ b/backend/src/backend/gen_insn_selection_if_opt.cpp
@@ -80,9 +80,13 @@ namespace gbe
optimized = true;
} else {
if (if_find) {
- insn.state.predicate = GEN_PREDICATE_NORMAL;
- insn.state.flag = 0;
- insn.state.subFlag = 1;
+ if (insn.state.noMask == 1)
+ insn.state.predicate = GEN_PREDICATE_NONE;
+ else {
+ insn.state.predicate = GEN_PREDICATE_NORMAL;
+ insn.state.flag = 0;
+ insn.state.subFlag = 1;
+ }
}
++iter;
}
--
2.5.0
More information about the Beignet
mailing list