summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Stellard <thomas.stellard@amd.com>2012-05-17 11:46:19 -0400
committerTom Stellard <thomas.stellard@amd.com>2012-05-17 14:48:09 -0400
commit89b945591bb5d434518cea481209b1ea7a435861 (patch)
tree670d90785561d50163cf849616cc63f171211876
parent431bb79a41bd5e7402954385daea1594c3e750ab (diff)
radeon/llvm: Remove sub patterns from AMDILInstrPatterns.td
-rw-r--r--src/gallium/drivers/radeon/AMDILInstrPatterns.td20
-rw-r--r--src/gallium/drivers/radeon/R600Instructions.td2
2 files changed, 1 insertions, 21 deletions
diff --git a/src/gallium/drivers/radeon/AMDILInstrPatterns.td b/src/gallium/drivers/radeon/AMDILInstrPatterns.td
index 51181b2a5d..0314598d6e 100644
--- a/src/gallium/drivers/radeon/AMDILInstrPatterns.td
+++ b/src/gallium/drivers/radeon/AMDILInstrPatterns.td
@@ -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)),
diff --git a/src/gallium/drivers/radeon/R600Instructions.td b/src/gallium/drivers/radeon/R600Instructions.td
index ca2af739a4..c3643b6f96 100644
--- a/src/gallium/drivers/radeon/R600Instructions.td
+++ b/src/gallium/drivers/radeon/R600Instructions.td
@@ -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 <