radeon/llvm: Remove AMDIL floating-point ADD instruction defs
authorTom Stellard <thomas.stellard@amd.com>
Thu, 17 May 2012 17:05:07 +0000 (13:05 -0400)
committerTom Stellard <thomas.stellard@amd.com>
Thu, 17 May 2012 18:48:09 +0000 (14:48 -0400)
src/gallium/drivers/radeon/AMDGPUGenInstrEnums.pl
src/gallium/drivers/radeon/AMDILInstructions.td
src/gallium/drivers/radeon/R600Instructions.td
src/gallium/drivers/radeon/R600LowerInstructions.cpp
src/gallium/drivers/radeon/SIInstructions.td

index a6a762715659ed88c1d8b6033bdc4bd954300ac9..498ef13baeee73027f4a4e0bca48a7e18ddfbfe4 100644 (file)
@@ -35,7 +35,6 @@ my @F32_MULTICLASSES = qw {
   UnaryIntrinsicFloat
   UnaryIntrinsicFloatScalar
   TernaryIntrinsicFloat
-  BinaryOpMCFloat
 };
 
 my @I32_MULTICLASSES = qw {
@@ -57,7 +56,7 @@ my $FILE_TYPE = $ARGV[0];
 
 open AMDIL, '<', 'AMDILInstructions.td';
 
-my @INST_ENUMS = ('NONE', 'FEQ', 'FGE', 'FLT', 'FNE', 'MOVE_f32', 'MOVE_i32', 'FTOI', 'ITOF', 'UGT', 'IGE', 'INE', 'UGE', 'IEQ', 'BINARY_OR_i32', 'BINARY_NOT_i32', 'MIN_f32');
+my @INST_ENUMS = ('NONE', 'FEQ', 'FGE', 'FLT', 'FNE', 'MOVE_f32', 'MOVE_i32', 'FTOI', 'ITOF', 'UGT', 'IGE', 'INE', 'UGE', 'IEQ', 'BINARY_OR_i32', 'BINARY_NOT_i32', 'MIN_f32', 'MUL_IEEE_f32');
 
 while (<AMDIL>) {
   if ($_ =~ /defm\s+([A-Z_]+)\s+:\s+([A-Za-z0-9]+)</) {
index 5ea541c4d1ff5b9b1e24126f0f1c3cfb3fcdc226..e512e265f5e2764bf6ee7dc2a523b722fced50a7 100644 (file)
@@ -216,7 +216,6 @@ def LUSHR        : TwoInOneOut<IL_OP_U64_SHR, (outs GPRI64:$dst),
 let hasIEEEFlag = 1 in {
 defm MUL_IEEE  : BinaryOpMCFloat<IL_OP_MUL_IEEE, IL_OP_D_MUL, fmul>;
 }
-defm ADD  : BinaryOpMCFloat<IL_OP_ADD, IL_OP_D_ADD, fadd>;
 //===---------------------------------------------------------------------===//
 // float math instructions start here
 //===---------------------------------------------------------------------===//
index f7fe34b732615cd3bd4b328e824e0f5be870530a..c66d62d2be3890d16589fa4d04f4fcadd0725b7d 100644 (file)
@@ -244,9 +244,9 @@ let Gen = AMDGPUGen.R600_CAYMAN  in {
 
 def ADD : R600_2OP <
   0x0, "ADD",
-  [(set R600_Reg32:$dst, (fadd R600_Reg32:$src0, R600_Reg32:$src1))] > {
-  let AMDILOp = AMDILInst.ADD_f32;
-}
+  [(set R600_Reg32:$dst, (fadd R600_Reg32:$src0, R600_Reg32:$src1))]
+>;
+
 // Non-IEEE MUL: 0 * anything = 0
 def MUL : R600_2OP <
   0x1, "MUL NON-IEEE",
index 5a0f1d9cca9063aa2512d867a726b94a5fd0d5a5..19c3aae1e61c938eb3235ddc1eb807015a18ded0 100644 (file)
@@ -307,7 +307,7 @@ bool R600LowerInstructionsPass::runOnMachineFunction(MachineFunction &MF)
         {
           MI.getOperand(2).addTargetFlag(MO_FLAG_NEG);
           BuildMI(MBB, I, MBB.findDebugLoc(I),
-                          TII->get(TII->getISAOpcode(AMDIL::ADD_f32)))
+                          TII->get(TII->getISAOpcode(AMDIL::ADD)))
                   .addOperand(MI.getOperand(0))
                   .addOperand(MI.getOperand(1))
                   .addOperand(MI.getOperand(2));
index 4efc093e3748e5dfb19d972db8d7452532e6c62a..c1c96999b0e363cd060d61ae16a47a765b31f94f 100644 (file)
@@ -590,7 +590,10 @@ def V_CNDMASK_B32 : VOP2_Helper <
 defm V_READLANE_B32 : VOP2_32 <0x00000001, "V_READLANE_B32", []>;
 defm V_WRITELANE_B32 : VOP2_32 <0x00000002, "V_WRITELANE_B32", []>;
 
-defm V_ADD_F32 : VOP2_32 <0x00000003, "V_ADD_F32", [], AMDILInst.ADD_f32>;
+defm V_ADD_F32 : VOP2_32 <
+  0x00000003, "V_ADD_F32",
+  [(set VReg_32:$dst, (fadd AllReg_32:$src0, VReg_32:$src1))]
+>;
 
 defm V_SUB_F32 : VOP2_32 <0x00000004, "V_SUB_F32", []>;
 defm V_SUBREV_F32 : VOP2_32 <0x00000005, "V_SUBREV_F32", []>;