Skip to content

Commit 1b74459

Browse files
committed
[RISCV][GlobalISel] Fix tests for addition, subtraction and logical instructions
Fix a bug introduced in a previous commit. Reviewed By: craig.topper Differential Revision: https://reviews.llvm.org/D156380
1 parent 5cb48f7 commit 1b74459

File tree

10 files changed

+104
-79
lines changed

10 files changed

+104
-79
lines changed

llvm/test/CodeGen/RISCV/GlobalISel/legalizer/rv32/legalize-add.mir

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,16 @@ name: add_i8
66
body: |
77
bb.0.entry:
88
; CHECK-LABEL: name: add_i8
9-
; CHECK: [[COPY:%[0-9]+]]:_(s32) = COPY $x11
10-
; CHECK-NEXT: [[ADD:%[0-9]+]]:_(s32) = G_ADD [[COPY]], [[ADD]]
9+
; CHECK: [[COPY:%[0-9]+]]:_(s32) = COPY $x10
10+
; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $x11
11+
; CHECK-NEXT: [[ADD:%[0-9]+]]:_(s32) = G_ADD [[COPY]], [[COPY1]]
1112
; CHECK-NEXT: $x10 = COPY [[ADD]](s32)
1213
; CHECK-NEXT: PseudoRET implicit $x10
1314
%0:_(s32) = COPY $x10
1415
%1:_(s32) = COPY $x11
1516
%2:_(s8) = G_TRUNC %0(s32)
1617
%3:_(s8) = G_TRUNC %1(s32)
17-
%4:_(s8) = G_ADD %3, %4
18+
%4:_(s8) = G_ADD %2, %3
1819
%5:_(s32) = G_ANYEXT %4(s8)
1920
$x10 = COPY %5(s32)
2021
PseudoRET implicit $x10
@@ -25,15 +26,16 @@ name: add_i16
2526
body: |
2627
bb.0.entry:
2728
; CHECK-LABEL: name: add_i16
28-
; CHECK: [[COPY:%[0-9]+]]:_(s32) = COPY $x11
29-
; CHECK-NEXT: [[ADD:%[0-9]+]]:_(s32) = G_ADD [[COPY]], [[ADD]]
29+
; CHECK: [[COPY:%[0-9]+]]:_(s32) = COPY $x10
30+
; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $x11
31+
; CHECK-NEXT: [[ADD:%[0-9]+]]:_(s32) = G_ADD [[COPY]], [[COPY1]]
3032
; CHECK-NEXT: $x10 = COPY [[ADD]](s32)
3133
; CHECK-NEXT: PseudoRET implicit $x10
3234
%0:_(s32) = COPY $x10
3335
%1:_(s32) = COPY $x11
3436
%2:_(s16) = G_TRUNC %0(s32)
3537
%3:_(s16) = G_TRUNC %1(s32)
36-
%4:_(s16) = G_ADD %3, %4
38+
%4:_(s16) = G_ADD %2, %3
3739
%5:_(s32) = G_ANYEXT %4(s16)
3840
$x10 = COPY %5(s32)
3941
PseudoRET implicit $x10

llvm/test/CodeGen/RISCV/GlobalISel/legalizer/rv32/legalize-and.mir

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,16 @@ name: and_i8
66
body: |
77
bb.0.entry:
88
; CHECK-LABEL: name: and_i8
9-
; CHECK: [[COPY:%[0-9]+]]:_(s32) = COPY $x11
10-
; CHECK-NEXT: [[AND:%[0-9]+]]:_(s32) = G_AND [[COPY]], [[AND]]
9+
; CHECK: [[COPY:%[0-9]+]]:_(s32) = COPY $x10
10+
; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $x11
11+
; CHECK-NEXT: [[AND:%[0-9]+]]:_(s32) = G_AND [[COPY]], [[COPY1]]
1112
; CHECK-NEXT: $x10 = COPY [[AND]](s32)
1213
; CHECK-NEXT: PseudoRET implicit $x10
1314
%0:_(s32) = COPY $x10
1415
%1:_(s32) = COPY $x11
1516
%2:_(s8) = G_TRUNC %0(s32)
1617
%3:_(s8) = G_TRUNC %1(s32)
17-
%4:_(s8) = G_AND %3, %4
18+
%4:_(s8) = G_AND %2, %3
1819
%5:_(s32) = G_ANYEXT %4(s8)
1920
$x10 = COPY %5(s32)
2021
PseudoRET implicit $x10
@@ -25,15 +26,16 @@ name: and_i16
2526
body: |
2627
bb.0.entry:
2728
; CHECK-LABEL: name: and_i16
28-
; CHECK: [[COPY:%[0-9]+]]:_(s32) = COPY $x11
29-
; CHECK-NEXT: [[AND:%[0-9]+]]:_(s32) = G_AND [[COPY]], [[AND]]
29+
; CHECK: [[COPY:%[0-9]+]]:_(s32) = COPY $x10
30+
; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $x11
31+
; CHECK-NEXT: [[AND:%[0-9]+]]:_(s32) = G_AND [[COPY]], [[COPY1]]
3032
; CHECK-NEXT: $x10 = COPY [[AND]](s32)
3133
; CHECK-NEXT: PseudoRET implicit $x10
3234
%0:_(s32) = COPY $x10
3335
%1:_(s32) = COPY $x11
3436
%2:_(s16) = G_TRUNC %0(s32)
3537
%3:_(s16) = G_TRUNC %1(s32)
36-
%4:_(s16) = G_AND %3, %4
38+
%4:_(s16) = G_AND %2, %3
3739
%5:_(s32) = G_ANYEXT %4(s16)
3840
$x10 = COPY %5(s32)
3941
PseudoRET implicit $x10

llvm/test/CodeGen/RISCV/GlobalISel/legalizer/rv32/legalize-or.mir

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,16 @@ name: or_i8
66
body: |
77
bb.0.entry:
88
; CHECK-LABEL: name: or_i8
9-
; CHECK: [[COPY:%[0-9]+]]:_(s32) = COPY $x11
10-
; CHECK-NEXT: [[OR:%[0-9]+]]:_(s32) = G_OR [[COPY]], [[OR]]
9+
; CHECK: [[COPY:%[0-9]+]]:_(s32) = COPY $x10
10+
; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $x11
11+
; CHECK-NEXT: [[OR:%[0-9]+]]:_(s32) = G_OR [[COPY]], [[COPY1]]
1112
; CHECK-NEXT: $x10 = COPY [[OR]](s32)
1213
; CHECK-NEXT: PseudoRET implicit $x10
1314
%0:_(s32) = COPY $x10
1415
%1:_(s32) = COPY $x11
1516
%2:_(s8) = G_TRUNC %0(s32)
1617
%3:_(s8) = G_TRUNC %1(s32)
17-
%4:_(s8) = G_OR %3, %4
18+
%4:_(s8) = G_OR %2, %3
1819
%5:_(s32) = G_ANYEXT %4(s8)
1920
$x10 = COPY %5(s32)
2021
PseudoRET implicit $x10
@@ -25,15 +26,16 @@ name: or_i16
2526
body: |
2627
bb.0.entry:
2728
; CHECK-LABEL: name: or_i16
28-
; CHECK: [[COPY:%[0-9]+]]:_(s32) = COPY $x11
29-
; CHECK-NEXT: [[OR:%[0-9]+]]:_(s32) = G_OR [[COPY]], [[OR]]
29+
; CHECK: [[COPY:%[0-9]+]]:_(s32) = COPY $x10
30+
; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $x11
31+
; CHECK-NEXT: [[OR:%[0-9]+]]:_(s32) = G_OR [[COPY]], [[COPY1]]
3032
; CHECK-NEXT: $x10 = COPY [[OR]](s32)
3133
; CHECK-NEXT: PseudoRET implicit $x10
3234
%0:_(s32) = COPY $x10
3335
%1:_(s32) = COPY $x11
3436
%2:_(s16) = G_TRUNC %0(s32)
3537
%3:_(s16) = G_TRUNC %1(s32)
36-
%4:_(s16) = G_OR %3, %4
38+
%4:_(s16) = G_OR %2, %3
3739
%5:_(s32) = G_ANYEXT %4(s16)
3840
$x10 = COPY %5(s32)
3941
PseudoRET implicit $x10
@@ -57,10 +59,10 @@ body: |
5759
5860
...
5961
---
60-
name: and_i64
62+
name: or_i64
6163
body: |
6264
bb.0.entry:
63-
; CHECK-LABEL: name: and_i64
65+
; CHECK-LABEL: name: or_i64
6466
; CHECK: %hi1:_(s32) = COPY $x10
6567
; CHECK-NEXT: %lo1:_(s32) = COPY $x11
6668
; CHECK-NEXT: %hi2:_(s32) = COPY $x12
@@ -84,10 +86,10 @@ body: |
8486
8587
...
8688
---
87-
name: and_i96
89+
name: or_i96
8890
body: |
8991
bb.0.entry:
90-
; CHECK-LABEL: name: and_i96
92+
; CHECK-LABEL: name: or_i96
9193
; CHECK: %hi1:_(s32) = COPY $x10
9294
; CHECK-NEXT: %mid1:_(s32) = COPY $x11
9395
; CHECK-NEXT: %lo1:_(s32) = COPY $x12

llvm/test/CodeGen/RISCV/GlobalISel/legalizer/rv32/legalize-sub.mir

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,16 @@ name: sub_i8
66
body: |
77
bb.0.entry:
88
; CHECK-LABEL: name: sub_i8
9-
; CHECK: [[COPY:%[0-9]+]]:_(s32) = COPY $x11
10-
; CHECK-NEXT: [[SUB:%[0-9]+]]:_(s32) = G_SUB [[COPY]], [[SUB]]
9+
; CHECK: [[COPY:%[0-9]+]]:_(s32) = COPY $x10
10+
; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $x11
11+
; CHECK-NEXT: [[SUB:%[0-9]+]]:_(s32) = G_SUB [[COPY]], [[COPY1]]
1112
; CHECK-NEXT: $x10 = COPY [[SUB]](s32)
1213
; CHECK-NEXT: PseudoRET implicit $x10
1314
%0:_(s32) = COPY $x10
1415
%1:_(s32) = COPY $x11
1516
%2:_(s8) = G_TRUNC %0(s32)
1617
%3:_(s8) = G_TRUNC %1(s32)
17-
%4:_(s8) = G_SUB %3, %4
18+
%4:_(s8) = G_SUB %2, %3
1819
%5:_(s32) = G_ANYEXT %4(s8)
1920
$x10 = COPY %5(s32)
2021
PseudoRET implicit $x10
@@ -25,15 +26,16 @@ name: sub_i16
2526
body: |
2627
bb.0.entry:
2728
; CHECK-LABEL: name: sub_i16
28-
; CHECK: [[COPY:%[0-9]+]]:_(s32) = COPY $x11
29-
; CHECK-NEXT: [[SUB:%[0-9]+]]:_(s32) = G_SUB [[COPY]], [[SUB]]
29+
; CHECK: [[COPY:%[0-9]+]]:_(s32) = COPY $x10
30+
; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $x11
31+
; CHECK-NEXT: [[SUB:%[0-9]+]]:_(s32) = G_SUB [[COPY]], [[COPY1]]
3032
; CHECK-NEXT: $x10 = COPY [[SUB]](s32)
3133
; CHECK-NEXT: PseudoRET implicit $x10
3234
%0:_(s32) = COPY $x10
3335
%1:_(s32) = COPY $x11
3436
%2:_(s16) = G_TRUNC %0(s32)
3537
%3:_(s16) = G_TRUNC %1(s32)
36-
%4:_(s16) = G_SUB %3, %4
38+
%4:_(s16) = G_SUB %2, %3
3739
%5:_(s32) = G_ANYEXT %4(s16)
3840
$x10 = COPY %5(s32)
3941
PseudoRET implicit $x10

llvm/test/CodeGen/RISCV/GlobalISel/legalizer/rv32/legalize-xor.mir

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,16 @@ name: xor_i8
66
body: |
77
bb.0.entry:
88
; CHECK-LABEL: name: xor_i8
9-
; CHECK: [[COPY:%[0-9]+]]:_(s32) = COPY $x11
10-
; CHECK-NEXT: [[XOR:%[0-9]+]]:_(s32) = G_XOR [[COPY]], [[XOR]]
9+
; CHECK: [[COPY:%[0-9]+]]:_(s32) = COPY $x10
10+
; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $x11
11+
; CHECK-NEXT: [[XOR:%[0-9]+]]:_(s32) = G_XOR [[COPY]], [[COPY1]]
1112
; CHECK-NEXT: $x10 = COPY [[XOR]](s32)
1213
; CHECK-NEXT: PseudoRET implicit $x10
1314
%0:_(s32) = COPY $x10
1415
%1:_(s32) = COPY $x11
1516
%2:_(s8) = G_TRUNC %0(s32)
1617
%3:_(s8) = G_TRUNC %1(s32)
17-
%4:_(s8) = G_XOR %3, %4
18+
%4:_(s8) = G_XOR %2, %3
1819
%5:_(s32) = G_ANYEXT %4(s8)
1920
$x10 = COPY %5(s32)
2021
PseudoRET implicit $x10
@@ -25,15 +26,16 @@ name: xor_i16
2526
body: |
2627
bb.0.entry:
2728
; CHECK-LABEL: name: xor_i16
28-
; CHECK: [[COPY:%[0-9]+]]:_(s32) = COPY $x11
29-
; CHECK-NEXT: [[XOR:%[0-9]+]]:_(s32) = G_XOR [[COPY]], [[XOR]]
29+
; CHECK: [[COPY:%[0-9]+]]:_(s32) = COPY $x10
30+
; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $x11
31+
; CHECK-NEXT: [[XOR:%[0-9]+]]:_(s32) = G_XOR [[COPY]], [[COPY1]]
3032
; CHECK-NEXT: $x10 = COPY [[XOR]](s32)
3133
; CHECK-NEXT: PseudoRET implicit $x10
3234
%0:_(s32) = COPY $x10
3335
%1:_(s32) = COPY $x11
3436
%2:_(s16) = G_TRUNC %0(s32)
3537
%3:_(s16) = G_TRUNC %1(s32)
36-
%4:_(s16) = G_XOR %3, %4
38+
%4:_(s16) = G_XOR %2, %3
3739
%5:_(s32) = G_ANYEXT %4(s16)
3840
$x10 = COPY %5(s32)
3941
PseudoRET implicit $x10

llvm/test/CodeGen/RISCV/GlobalISel/legalizer/rv64/legalize-add.mir

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,16 @@ name: add_i8
66
body: |
77
bb.0.entry:
88
; CHECK-LABEL: name: add_i8
9-
; CHECK: [[COPY:%[0-9]+]]:_(s64) = COPY $x11
10-
; CHECK-NEXT: [[ADD:%[0-9]+]]:_(s64) = G_ADD [[COPY]], [[ADD]]
9+
; CHECK: [[COPY:%[0-9]+]]:_(s64) = COPY $x10
10+
; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s64) = COPY $x11
11+
; CHECK-NEXT: [[ADD:%[0-9]+]]:_(s64) = G_ADD [[COPY]], [[COPY1]]
1112
; CHECK-NEXT: $x10 = COPY [[ADD]](s64)
1213
; CHECK-NEXT: PseudoRET implicit $x10
1314
%0:_(s64) = COPY $x10
1415
%1:_(s64) = COPY $x11
1516
%2:_(s8) = G_TRUNC %0(s64)
1617
%3:_(s8) = G_TRUNC %1(s64)
17-
%4:_(s8) = G_ADD %3, %4
18+
%4:_(s8) = G_ADD %2, %3
1819
%5:_(s64) = G_ANYEXT %4(s8)
1920
$x10 = COPY %5(s64)
2021
PseudoRET implicit $x10
@@ -25,15 +26,16 @@ name: add_i16
2526
body: |
2627
bb.0.entry:
2728
; CHECK-LABEL: name: add_i16
28-
; CHECK: [[COPY:%[0-9]+]]:_(s64) = COPY $x11
29-
; CHECK-NEXT: [[ADD:%[0-9]+]]:_(s64) = G_ADD [[COPY]], [[ADD]]
29+
; CHECK: [[COPY:%[0-9]+]]:_(s64) = COPY $x10
30+
; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s64) = COPY $x11
31+
; CHECK-NEXT: [[ADD:%[0-9]+]]:_(s64) = G_ADD [[COPY]], [[COPY1]]
3032
; CHECK-NEXT: $x10 = COPY [[ADD]](s64)
3133
; CHECK-NEXT: PseudoRET implicit $x10
3234
%0:_(s64) = COPY $x10
3335
%1:_(s64) = COPY $x11
3436
%2:_(s16) = G_TRUNC %0(s64)
3537
%3:_(s16) = G_TRUNC %1(s64)
36-
%4:_(s16) = G_ADD %3, %4
38+
%4:_(s16) = G_ADD %2, %3
3739
%5:_(s64) = G_ANYEXT %4(s16)
3840
$x10 = COPY %5(s64)
3941
PseudoRET implicit $x10
@@ -44,15 +46,16 @@ name: add_i32
4446
body: |
4547
bb.0.entry:
4648
; CHECK-LABEL: name: add_i32
47-
; CHECK: [[COPY:%[0-9]+]]:_(s64) = COPY $x11
48-
; CHECK-NEXT: [[ADD:%[0-9]+]]:_(s64) = G_ADD [[COPY]], [[ADD]]
49+
; CHECK: [[COPY:%[0-9]+]]:_(s64) = COPY $x10
50+
; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s64) = COPY $x11
51+
; CHECK-NEXT: [[ADD:%[0-9]+]]:_(s64) = G_ADD [[COPY]], [[COPY1]]
4952
; CHECK-NEXT: $x10 = COPY [[ADD]](s64)
5053
; CHECK-NEXT: PseudoRET implicit $x10
5154
%0:_(s64) = COPY $x10
5255
%1:_(s64) = COPY $x11
5356
%2:_(s32) = G_TRUNC %0(s64)
5457
%3:_(s32) = G_TRUNC %1(s64)
55-
%4:_(s32) = G_ADD %3, %4
58+
%4:_(s32) = G_ADD %2, %3
5659
%5:_(s64) = G_ANYEXT %4(s32)
5760
$x10 = COPY %5(s64)
5861
PseudoRET implicit $x10

llvm/test/CodeGen/RISCV/GlobalISel/legalizer/rv64/legalize-and.mir

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,16 @@ name: and_i8
66
body: |
77
bb.0.entry:
88
; CHECK-LABEL: name: and_i8
9-
; CHECK: [[COPY:%[0-9]+]]:_(s64) = COPY $x11
10-
; CHECK-NEXT: [[AND:%[0-9]+]]:_(s64) = G_AND [[COPY]], [[AND]]
9+
; CHECK: [[COPY:%[0-9]+]]:_(s64) = COPY $x10
10+
; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s64) = COPY $x11
11+
; CHECK-NEXT: [[AND:%[0-9]+]]:_(s64) = G_AND [[COPY]], [[COPY1]]
1112
; CHECK-NEXT: $x10 = COPY [[AND]](s64)
1213
; CHECK-NEXT: PseudoRET implicit $x10
1314
%0:_(s64) = COPY $x10
1415
%1:_(s64) = COPY $x11
1516
%2:_(s8) = G_TRUNC %0(s64)
1617
%3:_(s8) = G_TRUNC %1(s64)
17-
%4:_(s8) = G_AND %3, %4
18+
%4:_(s8) = G_AND %2, %3
1819
%5:_(s64) = G_ANYEXT %4(s8)
1920
$x10 = COPY %5(s64)
2021
PseudoRET implicit $x10
@@ -25,15 +26,16 @@ name: and_i16
2526
body: |
2627
bb.0.entry:
2728
; CHECK-LABEL: name: and_i16
28-
; CHECK: [[COPY:%[0-9]+]]:_(s64) = COPY $x11
29-
; CHECK-NEXT: [[AND:%[0-9]+]]:_(s64) = G_AND [[COPY]], [[AND]]
29+
; CHECK: [[COPY:%[0-9]+]]:_(s64) = COPY $x10
30+
; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s64) = COPY $x11
31+
; CHECK-NEXT: [[AND:%[0-9]+]]:_(s64) = G_AND [[COPY]], [[COPY1]]
3032
; CHECK-NEXT: $x10 = COPY [[AND]](s64)
3133
; CHECK-NEXT: PseudoRET implicit $x10
3234
%0:_(s64) = COPY $x10
3335
%1:_(s64) = COPY $x11
3436
%2:_(s16) = G_TRUNC %0(s64)
3537
%3:_(s16) = G_TRUNC %1(s64)
36-
%4:_(s16) = G_AND %3, %4
38+
%4:_(s16) = G_AND %2, %3
3739
%5:_(s64) = G_ANYEXT %4(s16)
3840
$x10 = COPY %5(s64)
3941
PseudoRET implicit $x10
@@ -44,15 +46,16 @@ name: and_i32
4446
body: |
4547
bb.0.entry:
4648
; CHECK-LABEL: name: and_i32
47-
; CHECK: [[COPY:%[0-9]+]]:_(s64) = COPY $x11
48-
; CHECK-NEXT: [[AND:%[0-9]+]]:_(s64) = G_AND [[COPY]], [[AND]]
49+
; CHECK: [[COPY:%[0-9]+]]:_(s64) = COPY $x10
50+
; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s64) = COPY $x11
51+
; CHECK-NEXT: [[AND:%[0-9]+]]:_(s64) = G_AND [[COPY]], [[COPY1]]
4952
; CHECK-NEXT: $x10 = COPY [[AND]](s64)
5053
; CHECK-NEXT: PseudoRET implicit $x10
5154
%0:_(s64) = COPY $x10
5255
%1:_(s64) = COPY $x11
5356
%2:_(s32) = G_TRUNC %0(s64)
5457
%3:_(s32) = G_TRUNC %1(s64)
55-
%4:_(s32) = G_AND %3, %4
58+
%4:_(s32) = G_AND %2, %3
5659
%5:_(s64) = G_ANYEXT %4(s32)
5760
$x10 = COPY %5(s64)
5861
PseudoRET implicit $x10

0 commit comments

Comments
 (0)