R600/SI: Move instruction pattern to instruction definition
authorMatt Arsenault <Matthew.Arsenault@amd.com>
Thu, 22 May 2014 17:45:20 +0000 (17:45 +0000)
committerMatt Arsenault <Matthew.Arsenault@amd.com>
Thu, 22 May 2014 17:45:20 +0000 (17:45 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@209454 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/R600/SIInstructions.td

index 76906f86929e2f2d1493c5e5d72d9d9b9f9a24b8..439815104234b8794a5ad97262d4d0cd516410f7 100644 (file)
@@ -1252,7 +1252,9 @@ defm V_CVT_PKRTZ_F16_F32 : VOP2_32 <0x0000002f, "V_CVT_PKRTZ_F16_F32",
 let neverHasSideEffects = 1 in {
 
 defm V_MAD_LEGACY_F32 : VOP3_32 <0x00000140, "V_MAD_LEGACY_F32", []>;
-defm V_MAD_F32 : VOP3_32 <0x00000141, "V_MAD_F32", []>;
+defm V_MAD_F32 : VOP3_32 <0x00000141, "V_MAD_F32",
+  [(set f32:$dst, (fadd (fmul f32:$src0, f32:$src1), f32:$src2))]
+>;
 defm V_MAD_I32_I24 : VOP3_32 <0x00000142, "V_MAD_I32_I24",
   [(set i32:$dst, (add (AMDGPUmul_i24 i32:$src0, i32:$src1), i32:$src2))]
 >;
@@ -2075,11 +2077,6 @@ def : Pat <
 // VOP3 Patterns
 //===----------------------------------------------------------------------===//
 
-def : Pat <
-  (f32 (fadd (fmul f32:$src0, f32:$src1), f32:$src2)),
-  (V_MAD_F32 $src0, $src1, $src2)
->;
-
 def : Pat <
   (fadd f64:$src0, f64:$src1),
   (V_ADD_F64 $src0, $src1, (i64 0))