GBE: skip instruction pattern match for 64 bit sel_cmp.
authorHomer Hsing <homer.xing@intel.com>
Mon, 19 Aug 2013 01:43:32 +0000 (09:43 +0800)
committerZhigang Gong <zhigang.gong@linux.intel.com>
Mon, 19 Aug 2013 07:36:54 +0000 (15:36 +0800)
CPU instruction "sel_cmp" don't support 64bit int.
not emit SelectModifierInstructionPattern in that case.
tested by piglit. piglit test cases "long(ulong)-max(min,clamp)" all passed.

Signed-off-by: Homer Hsing <homer.xing@intel.com>
Reviewed-by: Zhigang Gong <zhigang.gong@linux.intel.com>
backend/src/backend/gen_insn_selection.cpp

index 8e4cd8f..90ffd7c 100644 (file)
@@ -1737,6 +1737,9 @@ namespace gbe
       SelectionDAG *cmp = dag.child[0];
       const SelectInstruction &insn = cast<SelectInstruction>(dag.insn);
 
+      if (insn.getType() == TYPE_S64 || insn.getType() == TYPE_U64) // not support
+        return false;
+
       // Not in this block
       if (cmp == NULL) return false;