Skip to content

Commit eb19f4f

Browse files
committed
flip buildOr arguments to reduce test changes
1 parent 2b19266 commit eb19f4f

File tree

8 files changed

+142
-142
lines changed

8 files changed

+142
-142
lines changed

llvm/lib/Target/AMDGPU/AMDGPUCombinerHelper.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -526,7 +526,7 @@ void AMDGPUCombinerHelper::applyCombineOrS64S32(MachineInstr &MI,
526526
Register SrcS64Lo = UnmergeParts.getReg(0);
527527
Register SrcS64Hi = UnmergeParts.getReg(1);
528528

529-
auto Or = Builder.buildOr(LLT::scalar(32), SrcS32, SrcS64Lo).getReg(0);
529+
auto Or = Builder.buildOr(LLT::scalar(32), SrcS64Lo, SrcS32).getReg(0);
530530
Builder.buildMergeValues(DstReg, {Or, SrcS64Hi});
531531
MI.eraseFromParent();
532532
}

llvm/test/CodeGen/AMDGPU/GlobalISel/combine-and-or-s64-s32.mir

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ body: |
1313
; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $sgpr0
1414
; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $sgpr1
1515
; CHECK-NEXT: [[COPY2:%[0-9]+]]:_(s32) = COPY $sgpr2
16-
; CHECK-NEXT: [[OR:%[0-9]+]]:_(s32) = G_OR [[COPY2]], [[COPY]]
16+
; CHECK-NEXT: [[OR:%[0-9]+]]:_(s32) = G_OR [[COPY]], [[COPY2]]
1717
; CHECK-NEXT: $sgpr0 = COPY [[OR]](s32)
1818
; CHECK-NEXT: $sgpr1 = COPY [[COPY1]](s32)
1919
; CHECK-NEXT: SI_RETURN_TO_EPILOG implicit $sgpr0, implicit $sgpr1
@@ -92,7 +92,7 @@ body: |
9292
; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY $sgpr0_sgpr1
9393
; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $sgpr2
9494
; CHECK-NEXT: [[UV:%[0-9]+]]:_(s32), [[UV1:%[0-9]+]]:_(s32) = G_UNMERGE_VALUES [[COPY]](s64)
95-
; CHECK-NEXT: [[OR:%[0-9]+]]:_(s32) = G_OR [[COPY1]], [[UV]]
95+
; CHECK-NEXT: [[OR:%[0-9]+]]:_(s32) = G_OR [[UV]], [[COPY1]]
9696
; CHECK-NEXT: [[MV:%[0-9]+]]:_(s64) = G_MERGE_VALUES [[OR]](s32), [[UV1]](s32)
9797
; CHECK-NEXT: $sgpr0_sgpr1 = COPY [[MV]](s64)
9898
; CHECK-NEXT: SI_RETURN_TO_EPILOG implicit $sgpr0_sgpr1

llvm/test/CodeGen/AMDGPU/GlobalISel/fshl.ll

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -4959,15 +4959,15 @@ define amdgpu_ps i64 @s_fshl_i64_5(i64 inreg %lhs, i64 inreg %rhs) {
49594959
; GCN: ; %bb.0:
49604960
; GCN-NEXT: s_lshl_b64 s[0:1], s[0:1], 5
49614961
; GCN-NEXT: s_lshr_b32 s2, s3, 27
4962-
; GCN-NEXT: s_or_b32 s0, s2, s0
4962+
; GCN-NEXT: s_or_b32 s0, s0, s2
49634963
; GCN-NEXT: ; return to shader part epilog
49644964
;
49654965
; GFX11-LABEL: s_fshl_i64_5:
49664966
; GFX11: ; %bb.0:
49674967
; GFX11-NEXT: s_lshl_b64 s[0:1], s[0:1], 5
49684968
; GFX11-NEXT: s_lshr_b32 s2, s3, 27
49694969
; GFX11-NEXT: s_delay_alu instid0(SALU_CYCLE_1)
4970-
; GFX11-NEXT: s_or_b32 s0, s2, s0
4970+
; GFX11-NEXT: s_or_b32 s0, s0, s2
49714971
; GFX11-NEXT: ; return to shader part epilog
49724972
%result = call i64 @llvm.fshl.i64(i64 %lhs, i64 %rhs, i64 5)
49734973
ret i64 %result
@@ -5088,31 +5088,31 @@ define i64 @v_fshl_i64_5(i64 %lhs, i64 %rhs) {
50885088
; GFX6-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
50895089
; GFX6-NEXT: v_lshl_b64 v[0:1], v[0:1], 5
50905090
; GFX6-NEXT: v_lshrrev_b32_e32 v2, 27, v3
5091-
; GFX6-NEXT: v_or_b32_e32 v0, v2, v0
5091+
; GFX6-NEXT: v_or_b32_e32 v0, v0, v2
50925092
; GFX6-NEXT: s_setpc_b64 s[30:31]
50935093
;
50945094
; GFX8-LABEL: v_fshl_i64_5:
50955095
; GFX8: ; %bb.0:
50965096
; GFX8-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
50975097
; GFX8-NEXT: v_lshlrev_b64 v[0:1], 5, v[0:1]
50985098
; GFX8-NEXT: v_lshrrev_b32_e32 v2, 27, v3
5099-
; GFX8-NEXT: v_or_b32_e32 v0, v2, v0
5099+
; GFX8-NEXT: v_or_b32_e32 v0, v0, v2
51005100
; GFX8-NEXT: s_setpc_b64 s[30:31]
51015101
;
51025102
; GFX9-LABEL: v_fshl_i64_5:
51035103
; GFX9: ; %bb.0:
51045104
; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
51055105
; GFX9-NEXT: v_lshlrev_b64 v[0:1], 5, v[0:1]
51065106
; GFX9-NEXT: v_lshrrev_b32_e32 v2, 27, v3
5107-
; GFX9-NEXT: v_or_b32_e32 v0, v2, v0
5107+
; GFX9-NEXT: v_or_b32_e32 v0, v0, v2
51085108
; GFX9-NEXT: s_setpc_b64 s[30:31]
51095109
;
51105110
; GFX10-LABEL: v_fshl_i64_5:
51115111
; GFX10: ; %bb.0:
51125112
; GFX10-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
51135113
; GFX10-NEXT: v_lshlrev_b64 v[0:1], 5, v[0:1]
51145114
; GFX10-NEXT: v_lshrrev_b32_e32 v2, 27, v3
5115-
; GFX10-NEXT: v_or_b32_e32 v0, v2, v0
5115+
; GFX10-NEXT: v_or_b32_e32 v0, v0, v2
51165116
; GFX10-NEXT: s_setpc_b64 s[30:31]
51175117
;
51185118
; GFX11-LABEL: v_fshl_i64_5:
@@ -5121,7 +5121,7 @@ define i64 @v_fshl_i64_5(i64 %lhs, i64 %rhs) {
51215121
; GFX11-NEXT: v_lshlrev_b64 v[0:1], 5, v[0:1]
51225122
; GFX11-NEXT: v_lshrrev_b32_e32 v2, 27, v3
51235123
; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_1)
5124-
; GFX11-NEXT: v_or_b32_e32 v0, v2, v0
5124+
; GFX11-NEXT: v_or_b32_e32 v0, v0, v2
51255125
; GFX11-NEXT: s_setpc_b64 s[30:31]
51265126
%result = call i64 @llvm.fshl.i64(i64 %lhs, i64 %rhs, i64 5)
51275127
ret i64 %result
@@ -6872,7 +6872,7 @@ define amdgpu_ps i128 @s_fshl_i128_65(i128 inreg %lhs, i128 inreg %rhs) {
68726872
; GFX6-NEXT: s_lshl_b64 s[4:5], s[6:7], 1
68736873
; GFX6-NEXT: s_or_b64 s[0:1], s[0:1], s[4:5]
68746874
; GFX6-NEXT: s_lshr_b32 s4, s7, 31
6875-
; GFX6-NEXT: s_or_b32 s2, s4, s2
6875+
; GFX6-NEXT: s_or_b32 s2, s2, s4
68766876
; GFX6-NEXT: ; return to shader part epilog
68776877
;
68786878
; GFX8-LABEL: s_fshl_i128_65:
@@ -6883,7 +6883,7 @@ define amdgpu_ps i128 @s_fshl_i128_65(i128 inreg %lhs, i128 inreg %rhs) {
68836883
; GFX8-NEXT: s_lshl_b64 s[4:5], s[6:7], 1
68846884
; GFX8-NEXT: s_or_b64 s[0:1], s[0:1], s[4:5]
68856885
; GFX8-NEXT: s_lshr_b32 s4, s7, 31
6886-
; GFX8-NEXT: s_or_b32 s2, s4, s2
6886+
; GFX8-NEXT: s_or_b32 s2, s2, s4
68876887
; GFX8-NEXT: ; return to shader part epilog
68886888
;
68896889
; GFX9-LABEL: s_fshl_i128_65:
@@ -6894,7 +6894,7 @@ define amdgpu_ps i128 @s_fshl_i128_65(i128 inreg %lhs, i128 inreg %rhs) {
68946894
; GFX9-NEXT: s_lshl_b64 s[4:5], s[6:7], 1
68956895
; GFX9-NEXT: s_or_b64 s[0:1], s[0:1], s[4:5]
68966896
; GFX9-NEXT: s_lshr_b32 s4, s7, 31
6897-
; GFX9-NEXT: s_or_b32 s2, s4, s2
6897+
; GFX9-NEXT: s_or_b32 s2, s2, s4
68986898
; GFX9-NEXT: ; return to shader part epilog
68996899
;
69006900
; GFX10-LABEL: s_fshl_i128_65:
@@ -6905,7 +6905,7 @@ define amdgpu_ps i128 @s_fshl_i128_65(i128 inreg %lhs, i128 inreg %rhs) {
69056905
; GFX10-NEXT: s_lshl_b64 s[4:5], s[6:7], 1
69066906
; GFX10-NEXT: s_lshr_b32 s6, s7, 31
69076907
; GFX10-NEXT: s_or_b64 s[0:1], s[0:1], s[4:5]
6908-
; GFX10-NEXT: s_or_b32 s2, s6, s2
6908+
; GFX10-NEXT: s_or_b32 s2, s2, s6
69096909
; GFX10-NEXT: ; return to shader part epilog
69106910
;
69116911
; GFX11-LABEL: s_fshl_i128_65:
@@ -6916,7 +6916,7 @@ define amdgpu_ps i128 @s_fshl_i128_65(i128 inreg %lhs, i128 inreg %rhs) {
69166916
; GFX11-NEXT: s_lshl_b64 s[4:5], s[6:7], 1
69176917
; GFX11-NEXT: s_lshr_b32 s6, s7, 31
69186918
; GFX11-NEXT: s_or_b64 s[0:1], s[0:1], s[4:5]
6919-
; GFX11-NEXT: s_or_b32 s2, s6, s2
6919+
; GFX11-NEXT: s_or_b32 s2, s2, s6
69206920
; GFX11-NEXT: ; return to shader part epilog
69216921
%result = call i128 @llvm.fshl.i128(i128 %lhs, i128 %rhs, i128 65)
69226922
ret i128 %result
@@ -6931,7 +6931,7 @@ define i128 @v_fshl_i128_65(i128 %lhs, i128 %rhs) {
69316931
; GFX6-NEXT: v_lshrrev_b32_e32 v4, 31, v5
69326932
; GFX6-NEXT: v_or_b32_e32 v0, v4, v0
69336933
; GFX6-NEXT: v_lshrrev_b32_e32 v4, 31, v7
6934-
; GFX6-NEXT: v_or_b32_e32 v2, v4, v2
6934+
; GFX6-NEXT: v_or_b32_e32 v2, v2, v4
69356935
; GFX6-NEXT: s_setpc_b64 s[30:31]
69366936
;
69376937
; GFX8-LABEL: v_fshl_i128_65:
@@ -6942,7 +6942,7 @@ define i128 @v_fshl_i128_65(i128 %lhs, i128 %rhs) {
69426942
; GFX8-NEXT: v_lshrrev_b32_e32 v4, 31, v5
69436943
; GFX8-NEXT: v_or_b32_e32 v0, v4, v0
69446944
; GFX8-NEXT: v_lshrrev_b32_e32 v4, 31, v7
6945-
; GFX8-NEXT: v_or_b32_e32 v2, v4, v2
6945+
; GFX8-NEXT: v_or_b32_e32 v2, v2, v4
69466946
; GFX8-NEXT: s_setpc_b64 s[30:31]
69476947
;
69486948
; GFX9-LABEL: v_fshl_i128_65:
@@ -6953,7 +6953,7 @@ define i128 @v_fshl_i128_65(i128 %lhs, i128 %rhs) {
69536953
; GFX9-NEXT: v_lshrrev_b32_e32 v4, 31, v5
69546954
; GFX9-NEXT: v_or_b32_e32 v0, v4, v0
69556955
; GFX9-NEXT: v_lshrrev_b32_e32 v4, 31, v7
6956-
; GFX9-NEXT: v_or_b32_e32 v2, v4, v2
6956+
; GFX9-NEXT: v_or_b32_e32 v2, v2, v4
69576957
; GFX9-NEXT: s_setpc_b64 s[30:31]
69586958
;
69596959
; GFX10-LABEL: v_fshl_i128_65:
@@ -6964,7 +6964,7 @@ define i128 @v_fshl_i128_65(i128 %lhs, i128 %rhs) {
69646964
; GFX10-NEXT: v_lshrrev_b32_e32 v4, 31, v5
69656965
; GFX10-NEXT: v_lshrrev_b32_e32 v5, 31, v7
69666966
; GFX10-NEXT: v_or_b32_e32 v0, v4, v0
6967-
; GFX10-NEXT: v_or_b32_e32 v2, v5, v2
6967+
; GFX10-NEXT: v_or_b32_e32 v2, v2, v5
69686968
; GFX10-NEXT: s_setpc_b64 s[30:31]
69696969
;
69706970
; GFX11-LABEL: v_fshl_i128_65:
@@ -6976,7 +6976,7 @@ define i128 @v_fshl_i128_65(i128 %lhs, i128 %rhs) {
69766976
; GFX11-NEXT: v_lshrrev_b32_e32 v5, 31, v7
69776977
; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_2) | instskip(NEXT) | instid1(VALU_DEP_2)
69786978
; GFX11-NEXT: v_or_b32_e32 v0, v4, v0
6979-
; GFX11-NEXT: v_or_b32_e32 v2, v5, v2
6979+
; GFX11-NEXT: v_or_b32_e32 v2, v2, v5
69806980
; GFX11-NEXT: s_setpc_b64 s[30:31]
69816981
%result = call i128 @llvm.fshl.i128(i128 %lhs, i128 %rhs, i128 65)
69826982
ret i128 %result

0 commit comments

Comments
 (0)