From 89b945591bb5d434518cea481209b1ea7a435861 Mon Sep 17 00:00:00 2001 From: Tom Stellard Date: Thu, 17 May 2012 11:46:19 -0400 Subject: [PATCH] radeon/llvm: Remove sub patterns from AMDILInstrPatterns.td --- .../drivers/radeon/AMDILInstrPatterns.td | 20 ------------------- .../drivers/radeon/R600Instructions.td | 2 +- 2 files changed, 1 insertion(+), 21 deletions(-) diff --git a/src/gallium/drivers/radeon/AMDILInstrPatterns.td b/src/gallium/drivers/radeon/AMDILInstrPatterns.td index 51181b2a5dc..0314598d6e3 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 ca2af739a4a..c3643b6f967 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 < -- 2.30.2