radeon/llvm: Remove sub patterns from AMDILInstrPatterns.td
authorTom Stellard <thomas.stellard@amd.com>
Thu, 17 May 2012 15:46:19 +0000 (11:46 -0400)
committerTom Stellard <thomas.stellard@amd.com>
Thu, 17 May 2012 18:48:09 +0000 (14:48 -0400)
src/gallium/drivers/radeon/AMDILInstrPatterns.td
src/gallium/drivers/radeon/R600Instructions.td

index 51181b2a5dc496d3d3971e3cae263162afe46da4..0314598d6e3a7592d4ba2e96082c29108c2526eb 100644 (file)
@@ -30,26 +30,6 @@ def ULTOF : Pat<(f32 (uint_to_fp GPRI64:$src)),
 def LTOF : Pat<(f32 (sint_to_fp GPRI64:$src)),
     (ITOF (LLO GPRI64:$src))>;
 
-// integer subtraction
-// a - b ==> a + (-b)
-def SUB_i8 : Pat<(sub GPRI8:$src0, GPRI8:$src1),
-    (ADD_i8 GPRI8:$src0, (NEGATE_i8 GPRI8:$src1))>;
-def SUB_v2i8 : Pat<(sub GPRV2I8:$src0, GPRV2I8:$src1),
-    (ADD_v2i8 GPRV2I8:$src0, (NEGATE_v2i8 GPRV2I8:$src1))>;
-def SUB_v4i8 : Pat<(sub GPRV4I8:$src0, GPRV4I8:$src1),
-    (ADD_v4i8 GPRV4I8:$src0, (NEGATE_v4i8 GPRV4I8:$src1))>;
-def SUB_i16 : Pat<(sub GPRI16:$src0, GPRI16:$src1),
-    (ADD_i16 GPRI16:$src0, (NEGATE_i16 GPRI16:$src1))>;
-def SUB_v2i16 : Pat<(sub GPRV2I16:$src0, GPRV2I16:$src1),
-    (ADD_v2i16 GPRV2I16:$src0, (NEGATE_v2i16 GPRV2I16:$src1))>;
-def SUB_v4i16 : Pat<(sub GPRV4I16:$src0, GPRV4I16:$src1),
-    (ADD_v4i16 GPRV4I16:$src0, (NEGATE_v4i16 GPRV4I16:$src1))>;
-def SUB_i32 : Pat<(sub GPRI32:$src0, GPRI32:$src1),
-    (ADD_i32 GPRI32:$src0, (NEGATE_i32 GPRI32:$src1))>;
-def SUB_v2i32 : Pat<(sub GPRV2I32:$src0, GPRV2I32:$src1),
-    (ADD_v2i32 GPRV2I32:$src0, (NEGATE_v2i32 GPRV2I32:$src1))>;
-def SUB_v4i32 : Pat<(sub GPRV4I32:$src0, GPRV4I32:$src1),
-    (ADD_v4i32 GPRV4I32:$src0, (NEGATE_v4i32 GPRV4I32:$src1))>;
 // LLVM isn't lowering this correctly, so writing a pattern that
 // matches it isntead.
 def : Pat<(build_vector (i32 imm:$src)),
index ca2af739a4a1ce6a0fcc49ea87031602f6279a6b..c3643b6f967362e729fef580388de791b0d48ad2 100644 (file)
@@ -364,7 +364,7 @@ def ADD_INT : R600_2OP <
 
 def SUB_INT : R600_2OP <
        0x35, "SUB_INT",
-       []
+       [(set R600_Reg32:$dst, (sub R600_Reg32:$src0, R600_Reg32:$src1))]
 >;
 
 def MAX_INT : R600_2OP <