[Beignet] [PATCH V2] backend: improve add zero pattern

rander.wang rander.wang at intel.com
Tue Jul 4 01:48:21 UTC 2017


	remove the negation check for adding zero.
	it also can be applied this optimization

	V2: refine the function name for zeroAdd

Signed-off-by: rander.wang <rander.wang at intel.com>
---
 backend/src/backend/gen_insn_selection_optimize.cpp | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/backend/src/backend/gen_insn_selection_optimize.cpp b/backend/src/backend/gen_insn_selection_optimize.cpp
index af5ecc2..23b65e3 100644
--- a/backend/src/backend/gen_insn_selection_optimize.cpp
+++ b/backend/src/backend/gen_insn_selection_optimize.cpp
@@ -301,12 +301,12 @@ namespace gbe
      Also it can be used for the same like instruction sequence.
      Do it just like a:  mov b, -b, so it is a Mov operation like LocalCopyPropagation
   */
-  void SelBasicBlockOptimizer::doNegAddOptimization(SelectionInstruction &insn) {
+  void SelBasicBlockOptimizer::doZeroAddedOptimization(SelectionInstruction &insn) {
     if (insn.opcode == SEL_OP_ADD) {
       GenRegister src0 = insn.src(0);
       GenRegister src1 = insn.src(1);
-      if ((src0.negation && src1.file == GEN_IMMEDIATE_VALUE && src1.value.f == 0.0f) ||
-          (src1.negation && src0.file == GEN_IMMEDIATE_VALUE && src0.value.f == 0.0f))
+      if ((src1.file == GEN_IMMEDIATE_VALUE && src1.value.f == 0.0f) ||
+          (src0.file == GEN_IMMEDIATE_VALUE && src0.value.f == 0.0f))
         addToReplaceInfoMap(insn);
     }
   }
-- 
2.7.4



More information about the Beignet mailing list