R600/SI: Match adde/sube to S_ADDC_U32/S_SUBB_U32
authorMatt Arsenault <Matthew.Arsenault@amd.com>
Mon, 18 Nov 2013 20:09:34 +0000 (20:09 +0000)
committerMatt Arsenault <Matthew.Arsenault@amd.com>
Mon, 18 Nov 2013 20:09:34 +0000 (20:09 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@195036 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/R600/SIInstructions.td

index 9f579310723c66a1ad1f12c6dd5f9059985a94b4..3ac96d8ea824d7f917989f6f80b89e921be7c393 100644 (file)
@@ -1142,10 +1142,12 @@ def S_SUB_I32 : SOP2_32 <0x00000003, "S_SUB_I32",
 
 let Uses = [SCC] in { // Carry in comes from SCC
 let isCommutable = 1 in {
-def S_ADDC_U32 : SOP2_32 <0x00000004, "S_ADDC_U32", []>;
+def S_ADDC_U32 : SOP2_32 <0x00000004, "S_ADDC_U32",
+  [(set i32:$dst, (adde (i32 SSrc_32:$src0), (i32 SSrc_32:$src1)))]>;
 } // End isCommutable = 1
 
-def S_SUBB_U32 : SOP2_32 <0x00000005, "S_SUBB_U32", []>;
+def S_SUBB_U32 : SOP2_32 <0x00000005, "S_SUBB_U32",
+  [(set i32:$dst, (sube (i32 SSrc_32:$src0), (i32 SSrc_32:$src1)))]>;
 } // End Uses = [SCC]
 } // End Defs = [SCC]