diff --git a/llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp b/llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp --- a/llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp +++ b/llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp @@ -1017,8 +1017,14 @@ SDVTList VTList = CurDAG->getVTList(MVT::i32, MVT::Glue); - unsigned Opc = IsAdd ? AMDGPU::S_ADD_U32 : AMDGPU::S_SUB_U32; - unsigned CarryOpc = IsAdd ? AMDGPU::S_ADDC_U32 : AMDGPU::S_SUBB_U32; + static const unsigned OpcMap[2][2][2] = { + {{AMDGPU::S_SUB_U32, AMDGPU::S_ADD_U32}, + {AMDGPU::V_SUB_I32_e32, AMDGPU::V_ADD_I32_e32}}, + {{AMDGPU::S_SUBB_U32, AMDGPU::S_ADDC_U32}, + {AMDGPU::V_SUBB_U32_e32, AMDGPU::V_ADDC_U32_e32}}}; + + unsigned Opc = OpcMap[0][N->isDivergent()][IsAdd]; + unsigned CarryOpc = OpcMap[1][N->isDivergent()][IsAdd]; SDNode *AddLo; if (!ConsumeCarry) { diff --git a/llvm/test/CodeGen/AMDGPU/bypass-div.ll b/llvm/test/CodeGen/AMDGPU/bypass-div.ll --- a/llvm/test/CodeGen/AMDGPU/bypass-div.ll +++ b/llvm/test/CodeGen/AMDGPU/bypass-div.ll @@ -48,7 +48,7 @@ ; GFX9-NEXT: v_mul_lo_u32 v14, v7, v13 ; GFX9-NEXT: v_addc_co_u32_e32 v11, vcc, v16, v11, vcc ; GFX9-NEXT: v_mul_hi_u32 v13, v7, v13 -; GFX9-NEXT: v_add_co_u32_e32 v12, vcc, v14, v12 +; GFX9-NEXT: v_add_co_u32_e32 v12, vcc, v12, v14 ; GFX9-NEXT: v_mul_hi_u32 v12, v7, v10 ; GFX9-NEXT: v_mul_lo_u32 v10, v7, v10 ; GFX9-NEXT: v_addc_co_u32_e32 v11, vcc, v11, v13, vcc @@ -70,7 +70,7 @@ ; GFX9-NEXT: v_mul_hi_u32 v13, v10, v8 ; GFX9-NEXT: v_mul_lo_u32 v8, v10, v8 ; GFX9-NEXT: v_addc_co_u32_e32 v14, vcc, v16, v14, vcc -; GFX9-NEXT: v_add_co_u32_e32 v8, vcc, v8, v12 +; GFX9-NEXT: v_add_co_u32_e32 v8, vcc, v12, v8 ; GFX9-NEXT: v_mul_hi_u32 v8, v10, v9 ; GFX9-NEXT: v_mul_lo_u32 v9, v10, v9 ; GFX9-NEXT: v_addc_co_u32_e32 v12, vcc, v14, v13, vcc @@ -94,7 +94,7 @@ ; GFX9-NEXT: v_mul_hi_u32 v6, v1, v6 ; GFX9-NEXT: v_mul_hi_u32 v13, v1, v7 ; GFX9-NEXT: v_mul_lo_u32 v7, v1, v7 -; GFX9-NEXT: v_add_co_u32_e32 v10, vcc, v12, v10 +; GFX9-NEXT: v_add_co_u32_e32 v10, vcc, v10, v12 ; GFX9-NEXT: v_addc_co_u32_e32 v6, vcc, v11, v6, vcc ; GFX9-NEXT: v_addc_co_u32_e32 v10, vcc, v13, v15, vcc ; GFX9-NEXT: v_add_co_u32_e32 v6, vcc, v6, v7 @@ -215,7 +215,7 @@ ; GFX9-NEXT: v_addc_co_u32_e32 v10, vcc, v13, v14, vcc ; GFX9-NEXT: v_mul_lo_u32 v14, v5, v11 ; GFX9-NEXT: v_mul_hi_u32 v11, v5, v11 -; GFX9-NEXT: v_add_co_u32_e32 v9, vcc, v14, v9 +; GFX9-NEXT: v_add_co_u32_e32 v9, vcc, v9, v14 ; GFX9-NEXT: v_addc_co_u32_e32 v9, vcc, v10, v11, vcc ; GFX9-NEXT: v_addc_co_u32_e32 v10, vcc, v15, v12, vcc ; GFX9-NEXT: v_add_co_u32_e32 v8, vcc, v9, v8 @@ -237,7 +237,7 @@ ; GFX9-NEXT: v_mul_hi_u32 v11, v8, v6 ; GFX9-NEXT: v_mul_lo_u32 v6, v8, v6 ; GFX9-NEXT: v_addc_co_u32_e32 v15, vcc, v13, v15, vcc -; GFX9-NEXT: v_add_co_u32_e32 v6, vcc, v6, v10 +; GFX9-NEXT: v_add_co_u32_e32 v6, vcc, v10, v6 ; GFX9-NEXT: v_addc_co_u32_e32 v6, vcc, v15, v11, vcc ; GFX9-NEXT: v_addc_co_u32_e32 v8, vcc, v14, v12, vcc ; GFX9-NEXT: v_add_co_u32_e32 v6, vcc, v6, v7 @@ -254,7 +254,7 @@ ; GFX9-NEXT: v_addc_co_u32_e32 v7, vcc, v13, v8, vcc ; GFX9-NEXT: v_mul_lo_u32 v8, v1, v4 ; GFX9-NEXT: v_mul_hi_u32 v4, v1, v4 -; GFX9-NEXT: v_add_co_u32_e32 v6, vcc, v8, v6 +; GFX9-NEXT: v_add_co_u32_e32 v6, vcc, v6, v8 ; GFX9-NEXT: v_addc_co_u32_e32 v4, vcc, v7, v4, vcc ; GFX9-NEXT: v_addc_co_u32_e32 v6, vcc, v9, v12, vcc ; GFX9-NEXT: v_add_co_u32_e32 v4, vcc, v4, v5 @@ -376,7 +376,7 @@ ; GFX9-NEXT: v_mul_lo_u32 v13, v6, v12 ; GFX9-NEXT: v_mul_hi_u32 v12, v6, v12 ; GFX9-NEXT: v_addc_co_u32_e32 v10, vcc, v15, v10, vcc -; GFX9-NEXT: v_add_co_u32_e32 v11, vcc, v13, v11 +; GFX9-NEXT: v_add_co_u32_e32 v11, vcc, v11, v13 ; GFX9-NEXT: v_addc_co_u32_e32 v10, vcc, v10, v12, vcc ; GFX9-NEXT: v_addc_co_u32_e32 v11, vcc, v16, v14, vcc ; GFX9-NEXT: v_add_co_u32_e32 v9, vcc, v10, v9 @@ -398,7 +398,7 @@ ; GFX9-NEXT: v_mul_hi_u32 v12, v9, v7 ; GFX9-NEXT: v_mul_lo_u32 v7, v9, v7 ; GFX9-NEXT: v_addc_co_u32_e32 v16, vcc, v15, v16, vcc -; GFX9-NEXT: v_add_co_u32_e32 v7, vcc, v7, v11 +; GFX9-NEXT: v_add_co_u32_e32 v7, vcc, v11, v7 ; GFX9-NEXT: v_addc_co_u32_e32 v7, vcc, v16, v12, vcc ; GFX9-NEXT: v_addc_co_u32_e32 v9, vcc, v13, v14, vcc ; GFX9-NEXT: v_add_co_u32_e32 v7, vcc, v7, v8 @@ -420,7 +420,7 @@ ; GFX9-NEXT: v_mul_hi_u32 v4, v1, v4 ; GFX9-NEXT: v_mul_hi_u32 v12, v1, v6 ; GFX9-NEXT: v_mul_lo_u32 v6, v1, v6 -; GFX9-NEXT: v_add_co_u32_e32 v9, vcc, v11, v9 +; GFX9-NEXT: v_add_co_u32_e32 v9, vcc, v9, v11 ; GFX9-NEXT: v_addc_co_u32_e32 v4, vcc, v10, v4, vcc ; GFX9-NEXT: v_addc_co_u32_e32 v9, vcc, v12, v14, vcc ; GFX9-NEXT: v_add_co_u32_e32 v4, vcc, v4, v6 @@ -539,7 +539,7 @@ ; GFX9-NEXT: v_addc_co_u32_e32 v10, vcc, v13, v14, vcc ; GFX9-NEXT: v_mul_lo_u32 v14, v5, v11 ; GFX9-NEXT: v_mul_hi_u32 v11, v5, v11 -; GFX9-NEXT: v_add_co_u32_e32 v9, vcc, v14, v9 +; GFX9-NEXT: v_add_co_u32_e32 v9, vcc, v9, v14 ; GFX9-NEXT: v_addc_co_u32_e32 v9, vcc, v10, v11, vcc ; GFX9-NEXT: v_addc_co_u32_e32 v10, vcc, v15, v12, vcc ; GFX9-NEXT: v_add_co_u32_e32 v8, vcc, v9, v8 @@ -561,7 +561,7 @@ ; GFX9-NEXT: v_mul_hi_u32 v11, v8, v6 ; GFX9-NEXT: v_mul_lo_u32 v6, v8, v6 ; GFX9-NEXT: v_addc_co_u32_e32 v15, vcc, v13, v15, vcc -; GFX9-NEXT: v_add_co_u32_e32 v6, vcc, v6, v10 +; GFX9-NEXT: v_add_co_u32_e32 v6, vcc, v10, v6 ; GFX9-NEXT: v_addc_co_u32_e32 v6, vcc, v15, v11, vcc ; GFX9-NEXT: v_addc_co_u32_e32 v8, vcc, v14, v12, vcc ; GFX9-NEXT: v_add_co_u32_e32 v6, vcc, v6, v7 @@ -578,7 +578,7 @@ ; GFX9-NEXT: v_addc_co_u32_e32 v7, vcc, v13, v8, vcc ; GFX9-NEXT: v_mul_lo_u32 v8, v1, v4 ; GFX9-NEXT: v_mul_hi_u32 v4, v1, v4 -; GFX9-NEXT: v_add_co_u32_e32 v6, vcc, v8, v6 +; GFX9-NEXT: v_add_co_u32_e32 v6, vcc, v6, v8 ; GFX9-NEXT: v_addc_co_u32_e32 v4, vcc, v7, v4, vcc ; GFX9-NEXT: v_addc_co_u32_e32 v6, vcc, v9, v12, vcc ; GFX9-NEXT: v_add_co_u32_e32 v4, vcc, v4, v5 @@ -843,7 +843,7 @@ ; GFX9-NEXT: v_mul_lo_u32 v14, v7, v13 ; GFX9-NEXT: v_addc_co_u32_e32 v11, vcc, v16, v11, vcc ; GFX9-NEXT: v_mul_hi_u32 v13, v7, v13 -; GFX9-NEXT: v_add_co_u32_e32 v12, vcc, v14, v12 +; GFX9-NEXT: v_add_co_u32_e32 v12, vcc, v12, v14 ; GFX9-NEXT: v_mul_hi_u32 v12, v7, v10 ; GFX9-NEXT: v_mul_lo_u32 v10, v7, v10 ; GFX9-NEXT: v_addc_co_u32_e32 v11, vcc, v11, v13, vcc @@ -865,7 +865,7 @@ ; GFX9-NEXT: v_mul_hi_u32 v13, v10, v8 ; GFX9-NEXT: v_mul_lo_u32 v8, v10, v8 ; GFX9-NEXT: v_addc_co_u32_e32 v14, vcc, v16, v14, vcc -; GFX9-NEXT: v_add_co_u32_e32 v8, vcc, v8, v12 +; GFX9-NEXT: v_add_co_u32_e32 v8, vcc, v12, v8 ; GFX9-NEXT: v_mul_hi_u32 v8, v10, v9 ; GFX9-NEXT: v_mul_lo_u32 v9, v10, v9 ; GFX9-NEXT: v_addc_co_u32_e32 v12, vcc, v14, v13, vcc @@ -889,7 +889,7 @@ ; GFX9-NEXT: v_mul_hi_u32 v4, v1, v4 ; GFX9-NEXT: v_mul_hi_u32 v13, v1, v7 ; GFX9-NEXT: v_mul_lo_u32 v7, v1, v7 -; GFX9-NEXT: v_add_co_u32_e32 v10, vcc, v12, v10 +; GFX9-NEXT: v_add_co_u32_e32 v10, vcc, v10, v12 ; GFX9-NEXT: v_addc_co_u32_e32 v4, vcc, v11, v4, vcc ; GFX9-NEXT: v_addc_co_u32_e32 v10, vcc, v13, v15, vcc ; GFX9-NEXT: v_add_co_u32_e32 v4, vcc, v4, v7 @@ -1032,7 +1032,7 @@ ; GFX9-NEXT: v_addc_co_u32_e32 v10, vcc, v13, v14, vcc ; GFX9-NEXT: v_mul_lo_u32 v14, v5, v11 ; GFX9-NEXT: v_mul_hi_u32 v11, v5, v11 -; GFX9-NEXT: v_add_co_u32_e32 v9, vcc, v14, v9 +; GFX9-NEXT: v_add_co_u32_e32 v9, vcc, v9, v14 ; GFX9-NEXT: v_addc_co_u32_e32 v9, vcc, v10, v11, vcc ; GFX9-NEXT: v_addc_co_u32_e32 v10, vcc, v15, v12, vcc ; GFX9-NEXT: v_add_co_u32_e32 v8, vcc, v9, v8 @@ -1054,7 +1054,7 @@ ; GFX9-NEXT: v_mul_hi_u32 v11, v8, v6 ; GFX9-NEXT: v_mul_lo_u32 v6, v8, v6 ; GFX9-NEXT: v_addc_co_u32_e32 v15, vcc, v13, v15, vcc -; GFX9-NEXT: v_add_co_u32_e32 v6, vcc, v6, v10 +; GFX9-NEXT: v_add_co_u32_e32 v6, vcc, v10, v6 ; GFX9-NEXT: v_addc_co_u32_e32 v6, vcc, v15, v11, vcc ; GFX9-NEXT: v_addc_co_u32_e32 v8, vcc, v14, v12, vcc ; GFX9-NEXT: v_add_co_u32_e32 v6, vcc, v6, v7 @@ -1071,7 +1071,7 @@ ; GFX9-NEXT: v_addc_co_u32_e32 v7, vcc, v13, v8, vcc ; GFX9-NEXT: v_mul_lo_u32 v8, v1, v4 ; GFX9-NEXT: v_mul_hi_u32 v4, v1, v4 -; GFX9-NEXT: v_add_co_u32_e32 v6, vcc, v8, v6 +; GFX9-NEXT: v_add_co_u32_e32 v6, vcc, v6, v8 ; GFX9-NEXT: v_addc_co_u32_e32 v4, vcc, v7, v4, vcc ; GFX9-NEXT: v_addc_co_u32_e32 v6, vcc, v9, v12, vcc ; GFX9-NEXT: v_add_co_u32_e32 v4, vcc, v4, v5 diff --git a/llvm/test/CodeGen/AMDGPU/sdiv64.ll b/llvm/test/CodeGen/AMDGPU/sdiv64.ll --- a/llvm/test/CodeGen/AMDGPU/sdiv64.ll +++ b/llvm/test/CodeGen/AMDGPU/sdiv64.ll @@ -293,7 +293,7 @@ ; GCN-NEXT: v_mul_lo_u32 v13, v6, v10 ; GCN-NEXT: v_mul_hi_u32 v10, v6, v10 ; GCN-NEXT: v_addc_u32_e32 v11, vcc, v15, v11, vcc -; GCN-NEXT: v_add_i32_e32 v12, vcc, v13, v12 +; GCN-NEXT: v_add_i32_e32 v12, vcc, v12, v13 ; GCN-NEXT: v_addc_u32_e32 v10, vcc, v11, v10, vcc ; GCN-NEXT: v_addc_u32_e32 v11, vcc, v16, v14, vcc ; GCN-NEXT: v_add_i32_e32 v9, vcc, v10, v9 @@ -315,7 +315,7 @@ ; GCN-NEXT: v_mul_hi_u32 v11, v9, v8 ; GCN-NEXT: v_addc_u32_e32 v16, vcc, v15, v17, vcc ; GCN-NEXT: v_mul_lo_u32 v8, v9, v8 -; GCN-NEXT: v_add_i32_e32 v7, vcc, v7, v13 +; GCN-NEXT: v_add_i32_e32 v7, vcc, v13, v7 ; GCN-NEXT: v_addc_u32_e32 v7, vcc, v16, v12, vcc ; GCN-NEXT: v_addc_u32_e32 v9, vcc, v11, v14, vcc ; GCN-NEXT: v_add_i32_e32 v7, vcc, v7, v8 @@ -338,7 +338,7 @@ ; GCN-NEXT: v_mul_hi_u32 v5, v1, v5 ; GCN-NEXT: v_mul_hi_u32 v11, v1, v6 ; GCN-NEXT: v_mul_lo_u32 v6, v1, v6 -; GCN-NEXT: v_add_i32_e32 v8, vcc, v10, v8 +; GCN-NEXT: v_add_i32_e32 v8, vcc, v8, v10 ; GCN-NEXT: v_addc_u32_e32 v5, vcc, v9, v5, vcc ; GCN-NEXT: v_addc_u32_e32 v8, vcc, v11, v14, vcc ; GCN-NEXT: v_add_i32_e32 v5, vcc, v5, v6 @@ -1388,7 +1388,7 @@ ; GCN-NEXT: v_mul_lo_u32 v11, v4, v8 ; GCN-NEXT: v_mul_hi_u32 v8, v4, v8 ; GCN-NEXT: v_addc_u32_e32 v9, vcc, v13, v9, vcc -; GCN-NEXT: v_add_i32_e32 v10, vcc, v11, v10 +; GCN-NEXT: v_add_i32_e32 v10, vcc, v10, v11 ; GCN-NEXT: v_addc_u32_e32 v8, vcc, v9, v8, vcc ; GCN-NEXT: v_addc_u32_e32 v9, vcc, v14, v12, vcc ; GCN-NEXT: v_add_i32_e32 v7, vcc, v8, v7 @@ -1410,7 +1410,7 @@ ; GCN-NEXT: v_mul_hi_u32 v9, v7, v6 ; GCN-NEXT: v_addc_u32_e32 v14, vcc, v13, v15, vcc ; GCN-NEXT: v_mul_lo_u32 v6, v7, v6 -; GCN-NEXT: v_add_i32_e32 v5, vcc, v5, v11 +; GCN-NEXT: v_add_i32_e32 v5, vcc, v11, v5 ; GCN-NEXT: v_addc_u32_e32 v5, vcc, v14, v10, vcc ; GCN-NEXT: v_addc_u32_e32 v7, vcc, v9, v12, vcc ; GCN-NEXT: v_add_i32_e32 v5, vcc, v5, v6 @@ -1600,7 +1600,7 @@ ; GCN-NEXT: v_mul_lo_u32 v11, v4, v8 ; GCN-NEXT: v_mul_hi_u32 v8, v4, v8 ; GCN-NEXT: v_addc_u32_e32 v9, vcc, v13, v9, vcc -; GCN-NEXT: v_add_i32_e32 v10, vcc, v11, v10 +; GCN-NEXT: v_add_i32_e32 v10, vcc, v10, v11 ; GCN-NEXT: v_addc_u32_e32 v8, vcc, v9, v8, vcc ; GCN-NEXT: v_addc_u32_e32 v9, vcc, v14, v12, vcc ; GCN-NEXT: v_add_i32_e32 v7, vcc, v8, v7 @@ -1622,7 +1622,7 @@ ; GCN-NEXT: v_mul_hi_u32 v9, v7, v6 ; GCN-NEXT: v_addc_u32_e32 v14, vcc, v13, v15, vcc ; GCN-NEXT: v_mul_lo_u32 v6, v7, v6 -; GCN-NEXT: v_add_i32_e32 v5, vcc, v5, v11 +; GCN-NEXT: v_add_i32_e32 v5, vcc, v11, v5 ; GCN-NEXT: v_addc_u32_e32 v5, vcc, v14, v10, vcc ; GCN-NEXT: v_addc_u32_e32 v7, vcc, v9, v12, vcc ; GCN-NEXT: v_add_i32_e32 v5, vcc, v5, v6 diff --git a/llvm/test/CodeGen/AMDGPU/srem64.ll b/llvm/test/CodeGen/AMDGPU/srem64.ll --- a/llvm/test/CodeGen/AMDGPU/srem64.ll +++ b/llvm/test/CodeGen/AMDGPU/srem64.ll @@ -271,7 +271,7 @@ ; GCN-NEXT: v_mul_lo_u32 v12, v5, v9 ; GCN-NEXT: v_mul_hi_u32 v9, v5, v9 ; GCN-NEXT: v_addc_u32_e32 v10, vcc, v14, v10, vcc -; GCN-NEXT: v_add_i32_e32 v11, vcc, v12, v11 +; GCN-NEXT: v_add_i32_e32 v11, vcc, v11, v12 ; GCN-NEXT: v_addc_u32_e32 v9, vcc, v10, v9, vcc ; GCN-NEXT: v_addc_u32_e32 v10, vcc, v15, v13, vcc ; GCN-NEXT: v_add_i32_e32 v8, vcc, v9, v8 @@ -293,7 +293,7 @@ ; GCN-NEXT: v_mul_hi_u32 v10, v8, v7 ; GCN-NEXT: v_addc_u32_e32 v15, vcc, v14, v16, vcc ; GCN-NEXT: v_mul_lo_u32 v7, v8, v7 -; GCN-NEXT: v_add_i32_e32 v6, vcc, v6, v12 +; GCN-NEXT: v_add_i32_e32 v6, vcc, v12, v6 ; GCN-NEXT: v_addc_u32_e32 v6, vcc, v15, v11, vcc ; GCN-NEXT: v_addc_u32_e32 v8, vcc, v10, v13, vcc ; GCN-NEXT: v_add_i32_e32 v6, vcc, v6, v7 @@ -316,7 +316,7 @@ ; GCN-NEXT: v_mul_hi_u32 v4, v1, v4 ; GCN-NEXT: v_mul_hi_u32 v10, v1, v5 ; GCN-NEXT: v_mul_lo_u32 v5, v1, v5 -; GCN-NEXT: v_add_i32_e32 v7, vcc, v9, v7 +; GCN-NEXT: v_add_i32_e32 v7, vcc, v7, v9 ; GCN-NEXT: v_addc_u32_e32 v4, vcc, v8, v4, vcc ; GCN-NEXT: v_addc_u32_e32 v7, vcc, v10, v13, vcc ; GCN-NEXT: v_add_i32_e32 v4, vcc, v4, v5 @@ -1572,7 +1572,7 @@ ; GCN-NEXT: v_mul_lo_u32 v10, v3, v7 ; GCN-NEXT: v_mul_hi_u32 v7, v3, v7 ; GCN-NEXT: v_addc_u32_e32 v8, vcc, v12, v8, vcc -; GCN-NEXT: v_add_i32_e32 v9, vcc, v10, v9 +; GCN-NEXT: v_add_i32_e32 v9, vcc, v9, v10 ; GCN-NEXT: v_addc_u32_e32 v7, vcc, v8, v7, vcc ; GCN-NEXT: v_addc_u32_e32 v8, vcc, v13, v11, vcc ; GCN-NEXT: v_add_i32_e32 v6, vcc, v7, v6 @@ -1594,7 +1594,7 @@ ; GCN-NEXT: v_mul_hi_u32 v8, v6, v5 ; GCN-NEXT: v_addc_u32_e32 v13, vcc, v12, v14, vcc ; GCN-NEXT: v_mul_lo_u32 v5, v6, v5 -; GCN-NEXT: v_add_i32_e32 v4, vcc, v4, v10 +; GCN-NEXT: v_add_i32_e32 v4, vcc, v10, v4 ; GCN-NEXT: v_addc_u32_e32 v4, vcc, v13, v9, vcc ; GCN-NEXT: v_addc_u32_e32 v6, vcc, v8, v11, vcc ; GCN-NEXT: v_add_i32_e32 v4, vcc, v4, v5 @@ -1782,7 +1782,7 @@ ; GCN-NEXT: v_mul_lo_u32 v10, v3, v7 ; GCN-NEXT: v_mul_hi_u32 v7, v3, v7 ; GCN-NEXT: v_addc_u32_e32 v8, vcc, v12, v8, vcc -; GCN-NEXT: v_add_i32_e32 v9, vcc, v10, v9 +; GCN-NEXT: v_add_i32_e32 v9, vcc, v9, v10 ; GCN-NEXT: v_addc_u32_e32 v7, vcc, v8, v7, vcc ; GCN-NEXT: v_addc_u32_e32 v8, vcc, v13, v11, vcc ; GCN-NEXT: v_add_i32_e32 v6, vcc, v7, v6 @@ -1804,7 +1804,7 @@ ; GCN-NEXT: v_mul_hi_u32 v8, v6, v5 ; GCN-NEXT: v_addc_u32_e32 v13, vcc, v12, v14, vcc ; GCN-NEXT: v_mul_lo_u32 v5, v6, v5 -; GCN-NEXT: v_add_i32_e32 v4, vcc, v4, v10 +; GCN-NEXT: v_add_i32_e32 v4, vcc, v10, v4 ; GCN-NEXT: v_addc_u32_e32 v4, vcc, v13, v9, vcc ; GCN-NEXT: v_addc_u32_e32 v6, vcc, v8, v11, vcc ; GCN-NEXT: v_add_i32_e32 v4, vcc, v4, v5 diff --git a/llvm/test/CodeGen/AMDGPU/udiv64.ll b/llvm/test/CodeGen/AMDGPU/udiv64.ll --- a/llvm/test/CodeGen/AMDGPU/udiv64.ll +++ b/llvm/test/CodeGen/AMDGPU/udiv64.ll @@ -256,7 +256,7 @@ ; GCN-NEXT: v_mul_lo_u32 v12, v5, v9 ; GCN-NEXT: v_mul_hi_u32 v9, v5, v9 ; GCN-NEXT: v_addc_u32_e32 v10, vcc, v14, v10, vcc -; GCN-NEXT: v_add_i32_e32 v11, vcc, v12, v11 +; GCN-NEXT: v_add_i32_e32 v11, vcc, v11, v12 ; GCN-NEXT: v_addc_u32_e32 v9, vcc, v10, v9, vcc ; GCN-NEXT: v_addc_u32_e32 v10, vcc, v15, v13, vcc ; GCN-NEXT: v_add_i32_e32 v8, vcc, v9, v8 @@ -278,7 +278,7 @@ ; GCN-NEXT: v_mul_hi_u32 v10, v8, v7 ; GCN-NEXT: v_addc_u32_e32 v15, vcc, v14, v16, vcc ; GCN-NEXT: v_mul_lo_u32 v7, v8, v7 -; GCN-NEXT: v_add_i32_e32 v6, vcc, v6, v12 +; GCN-NEXT: v_add_i32_e32 v6, vcc, v12, v6 ; GCN-NEXT: v_addc_u32_e32 v6, vcc, v15, v11, vcc ; GCN-NEXT: v_addc_u32_e32 v8, vcc, v10, v13, vcc ; GCN-NEXT: v_add_i32_e32 v6, vcc, v6, v7 @@ -296,7 +296,7 @@ ; GCN-NEXT: v_addc_u32_e32 v7, vcc, v14, v8, vcc ; GCN-NEXT: v_mul_lo_u32 v8, v1, v4 ; GCN-NEXT: v_mul_hi_u32 v4, v1, v4 -; GCN-NEXT: v_add_i32_e32 v6, vcc, v8, v6 +; GCN-NEXT: v_add_i32_e32 v6, vcc, v6, v8 ; GCN-NEXT: v_addc_u32_e32 v4, vcc, v7, v4, vcc ; GCN-NEXT: v_addc_u32_e32 v6, vcc, v9, v13, vcc ; GCN-NEXT: v_add_i32_e32 v4, vcc, v4, v5 @@ -1174,7 +1174,7 @@ ; GCN-NEXT: v_mul_lo_u32 v10, v3, v9 ; GCN-NEXT: v_mul_hi_u32 v9, v3, v9 ; GCN-NEXT: v_addc_u32_e32 v7, vcc, v12, v7, vcc -; GCN-NEXT: v_add_i32_e32 v8, vcc, v10, v8 +; GCN-NEXT: v_add_i32_e32 v8, vcc, v8, v10 ; GCN-NEXT: v_addc_u32_e32 v7, vcc, v7, v9, vcc ; GCN-NEXT: v_addc_u32_e32 v8, vcc, v13, v11, vcc ; GCN-NEXT: v_add_i32_e32 v6, vcc, v7, v6 @@ -1196,7 +1196,7 @@ ; GCN-NEXT: v_mul_hi_u32 v8, v6, v5 ; GCN-NEXT: v_addc_u32_e32 v13, vcc, v12, v14, vcc ; GCN-NEXT: v_mul_lo_u32 v5, v6, v5 -; GCN-NEXT: v_add_i32_e32 v4, vcc, v4, v10 +; GCN-NEXT: v_add_i32_e32 v4, vcc, v10, v4 ; GCN-NEXT: v_addc_u32_e32 v4, vcc, v13, v9, vcc ; GCN-NEXT: v_addc_u32_e32 v6, vcc, v8, v11, vcc ; GCN-NEXT: v_add_i32_e32 v4, vcc, v4, v5 @@ -1682,7 +1682,7 @@ ; GCN-NEXT: v_addc_u32_e32 v5, vcc, v10, v6, vcc ; GCN-NEXT: v_mul_lo_u32 v6, v1, v2 ; GCN-NEXT: v_mul_hi_u32 v2, v1, v2 -; GCN-NEXT: v_add_i32_e32 v4, vcc, v6, v4 +; GCN-NEXT: v_add_i32_e32 v4, vcc, v4, v6 ; GCN-NEXT: v_addc_u32_e32 v2, vcc, v5, v2, vcc ; GCN-NEXT: v_addc_u32_e32 v4, vcc, v7, v9, vcc ; GCN-NEXT: v_add_i32_e32 v2, vcc, v2, v3 diff --git a/llvm/test/CodeGen/AMDGPU/urem64.ll b/llvm/test/CodeGen/AMDGPU/urem64.ll --- a/llvm/test/CodeGen/AMDGPU/urem64.ll +++ b/llvm/test/CodeGen/AMDGPU/urem64.ll @@ -266,7 +266,7 @@ ; GCN-NEXT: v_mul_lo_u32 v12, v5, v9 ; GCN-NEXT: v_mul_hi_u32 v9, v5, v9 ; GCN-NEXT: v_addc_u32_e32 v10, vcc, v14, v10, vcc -; GCN-NEXT: v_add_i32_e32 v11, vcc, v12, v11 +; GCN-NEXT: v_add_i32_e32 v11, vcc, v11, v12 ; GCN-NEXT: v_addc_u32_e32 v9, vcc, v10, v9, vcc ; GCN-NEXT: v_addc_u32_e32 v10, vcc, v15, v13, vcc ; GCN-NEXT: v_add_i32_e32 v8, vcc, v9, v8 @@ -288,7 +288,7 @@ ; GCN-NEXT: v_mul_hi_u32 v10, v8, v7 ; GCN-NEXT: v_addc_u32_e32 v15, vcc, v14, v16, vcc ; GCN-NEXT: v_mul_lo_u32 v7, v8, v7 -; GCN-NEXT: v_add_i32_e32 v6, vcc, v6, v12 +; GCN-NEXT: v_add_i32_e32 v6, vcc, v12, v6 ; GCN-NEXT: v_addc_u32_e32 v6, vcc, v15, v11, vcc ; GCN-NEXT: v_addc_u32_e32 v8, vcc, v10, v13, vcc ; GCN-NEXT: v_add_i32_e32 v6, vcc, v6, v7 @@ -306,7 +306,7 @@ ; GCN-NEXT: v_addc_u32_e32 v7, vcc, v14, v8, vcc ; GCN-NEXT: v_mul_lo_u32 v8, v1, v4 ; GCN-NEXT: v_mul_hi_u32 v4, v1, v4 -; GCN-NEXT: v_add_i32_e32 v6, vcc, v8, v6 +; GCN-NEXT: v_add_i32_e32 v6, vcc, v6, v8 ; GCN-NEXT: v_addc_u32_e32 v4, vcc, v7, v4, vcc ; GCN-NEXT: v_addc_u32_e32 v6, vcc, v9, v13, vcc ; GCN-NEXT: v_add_i32_e32 v4, vcc, v4, v5 @@ -1191,7 +1191,7 @@ ; GCN-NEXT: v_mul_lo_u32 v10, v3, v9 ; GCN-NEXT: v_mul_hi_u32 v9, v3, v9 ; GCN-NEXT: v_addc_u32_e32 v7, vcc, v12, v7, vcc -; GCN-NEXT: v_add_i32_e32 v8, vcc, v10, v8 +; GCN-NEXT: v_add_i32_e32 v8, vcc, v8, v10 ; GCN-NEXT: v_addc_u32_e32 v7, vcc, v7, v9, vcc ; GCN-NEXT: v_addc_u32_e32 v8, vcc, v13, v11, vcc ; GCN-NEXT: v_add_i32_e32 v6, vcc, v7, v6 @@ -1213,7 +1213,7 @@ ; GCN-NEXT: v_mul_hi_u32 v8, v6, v5 ; GCN-NEXT: v_addc_u32_e32 v13, vcc, v12, v14, vcc ; GCN-NEXT: v_mul_lo_u32 v5, v6, v5 -; GCN-NEXT: v_add_i32_e32 v4, vcc, v4, v10 +; GCN-NEXT: v_add_i32_e32 v4, vcc, v10, v4 ; GCN-NEXT: v_addc_u32_e32 v4, vcc, v13, v9, vcc ; GCN-NEXT: v_addc_u32_e32 v6, vcc, v8, v11, vcc ; GCN-NEXT: v_add_i32_e32 v4, vcc, v4, v5