Skip to content

Commit 2ba1f9c

Browse files
committed
[Test][AArch64] Move overflow add/sub tests to their own file. NFC
Differential Revision: https://reviews.llvm.org/D95323
1 parent 236b0d0 commit 2ba1f9c

File tree

7 files changed

+218
-237
lines changed

7 files changed

+218
-237
lines changed

llvm/test/CodeGen/AArch64/GlobalISel/legalize-add.mir

Lines changed: 0 additions & 99 deletions
Original file line numberDiff line numberDiff line change
@@ -73,105 +73,6 @@ body: |
7373
%5:_(s64) = G_ANYEXT %4(s8)
7474
$x0 = COPY %5(s64)
7575
76-
...
77-
---
78-
name: test_scalar_uaddo_small
79-
body: |
80-
bb.0.entry:
81-
; CHECK-LABEL: name: test_scalar_uaddo_small
82-
; CHECK: [[COPY:%[0-9]+]]:_(s64) = COPY $x0
83-
; CHECK: [[COPY1:%[0-9]+]]:_(s64) = COPY $x1
84-
; CHECK: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 255
85-
; CHECK: [[TRUNC:%[0-9]+]]:_(s32) = G_TRUNC [[COPY]](s64)
86-
; CHECK: [[AND:%[0-9]+]]:_(s32) = G_AND [[TRUNC]], [[C]]
87-
; CHECK: [[TRUNC1:%[0-9]+]]:_(s32) = G_TRUNC [[COPY1]](s64)
88-
; CHECK: [[AND1:%[0-9]+]]:_(s32) = G_AND [[TRUNC1]], [[C]]
89-
; CHECK: [[ADD:%[0-9]+]]:_(s32) = G_ADD [[AND]], [[AND1]]
90-
; CHECK: [[COPY2:%[0-9]+]]:_(s32) = COPY [[ADD]](s32)
91-
; CHECK: [[AND2:%[0-9]+]]:_(s32) = G_AND [[COPY2]], [[C]]
92-
; CHECK: [[ICMP:%[0-9]+]]:_(s32) = G_ICMP intpred(ne), [[ADD]](s32), [[AND2]]
93-
; CHECK: [[ANYEXT:%[0-9]+]]:_(s64) = G_ANYEXT [[ADD]](s32)
94-
; CHECK: [[ANYEXT1:%[0-9]+]]:_(s64) = G_ANYEXT [[ICMP]](s32)
95-
; CHECK: $x0 = COPY [[ANYEXT]](s64)
96-
; CHECK: $x1 = COPY [[ANYEXT1]](s64)
97-
%0:_(s64) = COPY $x0
98-
%1:_(s64) = COPY $x1
99-
%2:_(s8) = G_TRUNC %0(s64)
100-
%3:_(s8) = G_TRUNC %1(s64)
101-
%4:_(s8), %5:_(s1) = G_UADDO %2, %3
102-
%6:_(s64) = G_ANYEXT %4(s8)
103-
%7:_(s64) = G_ANYEXT %5(s1)
104-
$x0 = COPY %6(s64)
105-
$x1 = COPY %7(s64)
106-
107-
...
108-
---
109-
name: test_scalar_saddo_small
110-
body: |
111-
bb.0.entry:
112-
; CHECK-LABEL: name: test_scalar_saddo_small
113-
; CHECK: [[COPY:%[0-9]+]]:_(s64) = COPY $x0
114-
; CHECK: [[COPY1:%[0-9]+]]:_(s64) = COPY $x1
115-
; CHECK: [[TRUNC:%[0-9]+]]:_(s32) = G_TRUNC [[COPY]](s64)
116-
; CHECK: [[SEXT_INREG:%[0-9]+]]:_(s32) = G_SEXT_INREG [[TRUNC]], 8
117-
; CHECK: [[TRUNC1:%[0-9]+]]:_(s32) = G_TRUNC [[COPY1]](s64)
118-
; CHECK: [[SEXT_INREG1:%[0-9]+]]:_(s32) = G_SEXT_INREG [[TRUNC1]], 8
119-
; CHECK: [[ADD:%[0-9]+]]:_(s32) = G_ADD [[SEXT_INREG]], [[SEXT_INREG1]]
120-
; CHECK: [[COPY2:%[0-9]+]]:_(s32) = COPY [[ADD]](s32)
121-
; CHECK: [[SEXT_INREG2:%[0-9]+]]:_(s32) = G_SEXT_INREG [[COPY2]], 8
122-
; CHECK: [[ICMP:%[0-9]+]]:_(s32) = G_ICMP intpred(ne), [[ADD]](s32), [[SEXT_INREG2]]
123-
; CHECK: [[ANYEXT:%[0-9]+]]:_(s64) = G_ANYEXT [[ADD]](s32)
124-
; CHECK: [[ANYEXT1:%[0-9]+]]:_(s64) = G_ANYEXT [[ICMP]](s32)
125-
; CHECK: $x0 = COPY [[ANYEXT]](s64)
126-
; CHECK: $x1 = COPY [[ANYEXT1]](s64)
127-
%0:_(s64) = COPY $x0
128-
%1:_(s64) = COPY $x1
129-
%2:_(s8) = G_TRUNC %0(s64)
130-
%3:_(s8) = G_TRUNC %1(s64)
131-
%4:_(s8), %5:_(s1) = G_SADDO %2, %3
132-
%6:_(s64) = G_ANYEXT %4(s8)
133-
%7:_(s64) = G_ANYEXT %5(s1)
134-
$x0 = COPY %6(s64)
135-
$x1 = COPY %7(s64)
136-
137-
...
138-
---
139-
name: test_scalar_uaddo_32
140-
body: |
141-
bb.0.entry:
142-
; CHECK-LABEL: name: test_scalar_uaddo_32
143-
; CHECK: [[COPY:%[0-9]+]]:_(s32) = COPY $w0
144-
; CHECK: [[COPY1:%[0-9]+]]:_(s32) = COPY $w1
145-
; CHECK: [[UADDO:%[0-9]+]]:_(s32), [[UADDO1:%[0-9]+]]:_(s1) = G_UADDO [[COPY]], [[COPY1]]
146-
; CHECK: [[ANYEXT:%[0-9]+]]:_(s32) = G_ANYEXT [[UADDO1]](s1)
147-
; CHECK: $w0 = COPY [[UADDO]](s32)
148-
; CHECK: $w1 = COPY [[ANYEXT]](s32)
149-
%0:_(s32) = COPY $w0
150-
%1:_(s32) = COPY $w1
151-
%2:_(s32), %3:_(s1) = G_UADDO %0, %1
152-
%4:_(s32) = G_ANYEXT %3
153-
$w0 = COPY %2(s32)
154-
$w1 = COPY %4(s32)
155-
156-
...
157-
---
158-
name: test_scalar_saddo_32
159-
body: |
160-
bb.0.entry:
161-
; CHECK-LABEL: name: test_scalar_saddo_32
162-
; CHECK: [[COPY:%[0-9]+]]:_(s32) = COPY $w0
163-
; CHECK: [[COPY1:%[0-9]+]]:_(s32) = COPY $w1
164-
; CHECK: [[SADDO:%[0-9]+]]:_(s32), [[SADDO1:%[0-9]+]]:_(s1) = G_SADDO [[COPY]], [[COPY1]]
165-
; CHECK: [[ANYEXT:%[0-9]+]]:_(s32) = G_ANYEXT [[SADDO1]](s1)
166-
; CHECK: $w0 = COPY [[SADDO]](s32)
167-
; CHECK: $w1 = COPY [[ANYEXT]](s32)
168-
%0:_(s32) = COPY $w0
169-
%1:_(s32) = COPY $w1
170-
%2:_(s32), %3:_(s1) = G_SADDO %0, %1
171-
%4:_(s32) = G_ANYEXT %3
172-
$w0 = COPY %2(s32)
173-
$w1 = COPY %4(s32)
174-
17576
...
17677
---
17778
name: test_vector_add
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
2+
# RUN: llc -mtriple aarch64 -verify-machineinstrs -run-pass=legalizer -debugify-and-strip-all-safe %s -o - | FileCheck %s
3+
4+
---
5+
name: test_scalar_saddo_small
6+
body: |
7+
bb.0.entry:
8+
; CHECK-LABEL: name: test_scalar_saddo_small
9+
; CHECK: [[COPY:%[0-9]+]]:_(s64) = COPY $x0
10+
; CHECK: [[COPY1:%[0-9]+]]:_(s64) = COPY $x1
11+
; CHECK: [[TRUNC:%[0-9]+]]:_(s32) = G_TRUNC [[COPY]](s64)
12+
; CHECK: [[SEXT_INREG:%[0-9]+]]:_(s32) = G_SEXT_INREG [[TRUNC]], 8
13+
; CHECK: [[TRUNC1:%[0-9]+]]:_(s32) = G_TRUNC [[COPY1]](s64)
14+
; CHECK: [[SEXT_INREG1:%[0-9]+]]:_(s32) = G_SEXT_INREG [[TRUNC1]], 8
15+
; CHECK: [[ADD:%[0-9]+]]:_(s32) = G_ADD [[SEXT_INREG]], [[SEXT_INREG1]]
16+
; CHECK: [[TRUNC2:%[0-9]+]]:_(s8) = G_TRUNC [[ADD]](s32)
17+
; CHECK: [[COPY2:%[0-9]+]]:_(s32) = COPY [[ADD]](s32)
18+
; CHECK: [[SEXT_INREG2:%[0-9]+]]:_(s32) = G_SEXT_INREG [[COPY2]], 8
19+
; CHECK: [[ICMP:%[0-9]+]]:_(s32) = G_ICMP intpred(ne), [[ADD]](s32), [[SEXT_INREG2]]
20+
; CHECK: [[COPY3:%[0-9]+]]:_(s8) = COPY [[TRUNC2]](s8)
21+
; CHECK: [[ANYEXT:%[0-9]+]]:_(s64) = G_ANYEXT [[ADD]](s32)
22+
; CHECK: [[ANYEXT1:%[0-9]+]]:_(s64) = G_ANYEXT [[ICMP]](s32)
23+
; CHECK: $x0 = COPY [[ANYEXT]](s64)
24+
; CHECK: $x1 = COPY [[ANYEXT1]](s64)
25+
%0:_(s64) = COPY $x0
26+
%1:_(s64) = COPY $x1
27+
%2:_(s8) = G_TRUNC %0(s64)
28+
%3:_(s8) = G_TRUNC %1(s64)
29+
%4:_(s8), %5:_(s1) = G_SADDO %2, %3
30+
%6:_(s64) = G_ANYEXT %4(s8)
31+
%7:_(s64) = G_ANYEXT %5(s1)
32+
$x0 = COPY %6(s64)
33+
$x1 = COPY %7(s64)
34+
35+
...
36+
---
37+
name: test_scalar_saddo_32
38+
body: |
39+
bb.0.entry:
40+
; CHECK-LABEL: name: test_scalar_saddo_32
41+
; CHECK: [[COPY:%[0-9]+]]:_(s32) = COPY $w0
42+
; CHECK: [[COPY1:%[0-9]+]]:_(s32) = COPY $w1
43+
; CHECK: [[SADDO:%[0-9]+]]:_(s32), [[SADDO1:%[0-9]+]]:_(s1) = G_SADDO [[COPY]], [[COPY1]]
44+
; CHECK: [[ANYEXT:%[0-9]+]]:_(s32) = G_ANYEXT [[SADDO1]](s1)
45+
; CHECK: $w0 = COPY [[SADDO]](s32)
46+
; CHECK: $w1 = COPY [[ANYEXT]](s32)
47+
%0:_(s32) = COPY $w0
48+
%1:_(s32) = COPY $w1
49+
%2:_(s32), %3:_(s1) = G_SADDO %0, %1
50+
%4:_(s32) = G_ANYEXT %3
51+
$w0 = COPY %2(s32)
52+
$w1 = COPY %4(s32)
53+
54+
...
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
2+
# RUN: llc -mtriple aarch64 -verify-machineinstrs -run-pass=legalizer -debugify-and-strip-all-safe %s -o - | FileCheck %s
3+
4+
---
5+
name: test_scalar_ssubo_small
6+
body: |
7+
bb.0.entry:
8+
; CHECK-LABEL: name: test_scalar_ssubo_small
9+
; CHECK: [[COPY:%[0-9]+]]:_(s64) = COPY $x0
10+
; CHECK: [[COPY1:%[0-9]+]]:_(s64) = COPY $x1
11+
; CHECK: [[TRUNC:%[0-9]+]]:_(s32) = G_TRUNC [[COPY]](s64)
12+
; CHECK: [[SEXT_INREG:%[0-9]+]]:_(s32) = G_SEXT_INREG [[TRUNC]], 8
13+
; CHECK: [[TRUNC1:%[0-9]+]]:_(s32) = G_TRUNC [[COPY1]](s64)
14+
; CHECK: [[SEXT_INREG1:%[0-9]+]]:_(s32) = G_SEXT_INREG [[TRUNC1]], 8
15+
; CHECK: [[SUB:%[0-9]+]]:_(s32) = G_SUB [[SEXT_INREG]], [[SEXT_INREG1]]
16+
; CHECK: [[TRUNC2:%[0-9]+]]:_(s8) = G_TRUNC [[SUB]](s32)
17+
; CHECK: [[COPY2:%[0-9]+]]:_(s32) = COPY [[SUB]](s32)
18+
; CHECK: [[SEXT_INREG2:%[0-9]+]]:_(s32) = G_SEXT_INREG [[COPY2]], 8
19+
; CHECK: [[ICMP:%[0-9]+]]:_(s32) = G_ICMP intpred(ne), [[SUB]](s32), [[SEXT_INREG2]]
20+
; CHECK: [[COPY3:%[0-9]+]]:_(s8) = COPY [[TRUNC2]](s8)
21+
; CHECK: [[ANYEXT:%[0-9]+]]:_(s64) = G_ANYEXT [[SUB]](s32)
22+
; CHECK: [[ANYEXT1:%[0-9]+]]:_(s64) = G_ANYEXT [[ICMP]](s32)
23+
; CHECK: $x0 = COPY [[ANYEXT]](s64)
24+
; CHECK: $x1 = COPY [[ANYEXT1]](s64)
25+
%0:_(s64) = COPY $x0
26+
%1:_(s64) = COPY $x1
27+
%2:_(s8) = G_TRUNC %0(s64)
28+
%3:_(s8) = G_TRUNC %1(s64)
29+
%4:_(s8), %5:_(s1) = G_SSUBO %2, %3
30+
%6:_(s64) = G_ANYEXT %4(s8)
31+
%7:_(s64) = G_ANYEXT %5(s1)
32+
$x0 = COPY %6(s64)
33+
$x1 = COPY %7(s64)
34+
35+
...
36+
---
37+
name: test_scalar_ssubo_32
38+
body: |
39+
bb.0.entry:
40+
; CHECK-LABEL: name: test_scalar_ssubo_32
41+
; CHECK: [[COPY:%[0-9]+]]:_(s32) = COPY $w0
42+
; CHECK: [[COPY1:%[0-9]+]]:_(s32) = COPY $w1
43+
; CHECK: [[SSUBO:%[0-9]+]]:_(s32), [[SSUBO1:%[0-9]+]]:_(s1) = G_SSUBO [[COPY]], [[COPY1]]
44+
; CHECK: [[ANYEXT:%[0-9]+]]:_(s32) = G_ANYEXT [[SSUBO1]](s1)
45+
; CHECK: $w0 = COPY [[SSUBO]](s32)
46+
; CHECK: $w1 = COPY [[ANYEXT]](s32)
47+
%0:_(s32) = COPY $w0
48+
%1:_(s32) = COPY $w1
49+
%2:_(s32), %3:_(s1) = G_SSUBO %0, %1
50+
%4:_(s32) = G_ANYEXT %3
51+
$w0 = COPY %2(s32)
52+
$w1 = COPY %4(s32)
53+
54+
...

llvm/test/CodeGen/AArch64/GlobalISel/legalize-sub.mir

Lines changed: 0 additions & 99 deletions
Original file line numberDiff line numberDiff line change
@@ -75,102 +75,3 @@ body: |
7575
$x0 = COPY %5(s64)
7676
7777
...
78-
---
79-
name: test_scalar_usubo_32
80-
body: |
81-
bb.0.entry:
82-
; CHECK-LABEL: name: test_scalar_usubo_32
83-
; CHECK: [[COPY:%[0-9]+]]:_(s32) = COPY $w0
84-
; CHECK: [[COPY1:%[0-9]+]]:_(s32) = COPY $w1
85-
; CHECK: [[USUBO:%[0-9]+]]:_(s32), [[USUBO1:%[0-9]+]]:_(s1) = G_USUBO [[COPY]], [[COPY1]]
86-
; CHECK: [[ANYEXT:%[0-9]+]]:_(s32) = G_ANYEXT [[USUBO1]](s1)
87-
; CHECK: $w0 = COPY [[USUBO]](s32)
88-
; CHECK: $w1 = COPY [[ANYEXT]](s32)
89-
%0:_(s32) = COPY $w0
90-
%1:_(s32) = COPY $w1
91-
%2:_(s32), %3:_(s1) = G_USUBO %0, %1
92-
%4:_(s32) = G_ANYEXT %3
93-
$w0 = COPY %2(s32)
94-
$w1 = COPY %4(s32)
95-
96-
...
97-
---
98-
name: test_scalar_usubo_small
99-
body: |
100-
bb.0.entry:
101-
; CHECK-LABEL: name: test_scalar_usubo_small
102-
; CHECK: [[COPY:%[0-9]+]]:_(s64) = COPY $x0
103-
; CHECK: [[COPY1:%[0-9]+]]:_(s64) = COPY $x1
104-
; CHECK: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 255
105-
; CHECK: [[TRUNC:%[0-9]+]]:_(s32) = G_TRUNC [[COPY]](s64)
106-
; CHECK: [[AND:%[0-9]+]]:_(s32) = G_AND [[TRUNC]], [[C]]
107-
; CHECK: [[TRUNC1:%[0-9]+]]:_(s32) = G_TRUNC [[COPY1]](s64)
108-
; CHECK: [[AND1:%[0-9]+]]:_(s32) = G_AND [[TRUNC1]], [[C]]
109-
; CHECK: [[ADD:%[0-9]+]]:_(s32) = G_ADD [[AND]], [[AND1]]
110-
; CHECK: [[COPY2:%[0-9]+]]:_(s32) = COPY [[ADD]](s32)
111-
; CHECK: [[AND2:%[0-9]+]]:_(s32) = G_AND [[COPY2]], [[C]]
112-
; CHECK: [[ICMP:%[0-9]+]]:_(s32) = G_ICMP intpred(ne), [[ADD]](s32), [[AND2]]
113-
; CHECK: [[ANYEXT:%[0-9]+]]:_(s64) = G_ANYEXT [[ADD]](s32)
114-
; CHECK: [[ANYEXT1:%[0-9]+]]:_(s64) = G_ANYEXT [[ICMP]](s32)
115-
; CHECK: $x0 = COPY [[ANYEXT]](s64)
116-
; CHECK: $x1 = COPY [[ANYEXT1]](s64)
117-
%0:_(s64) = COPY $x0
118-
%1:_(s64) = COPY $x1
119-
%2:_(s8) = G_TRUNC %0(s64)
120-
%3:_(s8) = G_TRUNC %1(s64)
121-
%4:_(s8), %5:_(s1) = G_UADDO %2, %3
122-
%6:_(s64) = G_ANYEXT %4(s8)
123-
%7:_(s64) = G_ANYEXT %5(s1)
124-
$x0 = COPY %6(s64)
125-
$x1 = COPY %7(s64)
126-
127-
...
128-
---
129-
name: test_scalar_ssubo_small
130-
body: |
131-
bb.0.entry:
132-
; CHECK-LABEL: name: test_scalar_ssubo_small
133-
; CHECK: [[COPY:%[0-9]+]]:_(s64) = COPY $x0
134-
; CHECK: [[COPY1:%[0-9]+]]:_(s64) = COPY $x1
135-
; CHECK: [[TRUNC:%[0-9]+]]:_(s32) = G_TRUNC [[COPY]](s64)
136-
; CHECK: [[SEXT_INREG:%[0-9]+]]:_(s32) = G_SEXT_INREG [[TRUNC]], 8
137-
; CHECK: [[TRUNC1:%[0-9]+]]:_(s32) = G_TRUNC [[COPY1]](s64)
138-
; CHECK: [[SEXT_INREG1:%[0-9]+]]:_(s32) = G_SEXT_INREG [[TRUNC1]], 8
139-
; CHECK: [[ADD:%[0-9]+]]:_(s32) = G_ADD [[SEXT_INREG]], [[SEXT_INREG1]]
140-
; CHECK: [[COPY2:%[0-9]+]]:_(s32) = COPY [[ADD]](s32)
141-
; CHECK: [[SEXT_INREG2:%[0-9]+]]:_(s32) = G_SEXT_INREG [[COPY2]], 8
142-
; CHECK: [[ICMP:%[0-9]+]]:_(s32) = G_ICMP intpred(ne), [[ADD]](s32), [[SEXT_INREG2]]
143-
; CHECK: [[ANYEXT:%[0-9]+]]:_(s64) = G_ANYEXT [[ADD]](s32)
144-
; CHECK: [[ANYEXT1:%[0-9]+]]:_(s64) = G_ANYEXT [[ICMP]](s32)
145-
; CHECK: $x0 = COPY [[ANYEXT]](s64)
146-
; CHECK: $x1 = COPY [[ANYEXT1]](s64)
147-
%0:_(s64) = COPY $x0
148-
%1:_(s64) = COPY $x1
149-
%2:_(s8) = G_TRUNC %0(s64)
150-
%3:_(s8) = G_TRUNC %1(s64)
151-
%4:_(s8), %5:_(s1) = G_SADDO %2, %3
152-
%6:_(s64) = G_ANYEXT %4(s8)
153-
%7:_(s64) = G_ANYEXT %5(s1)
154-
$x0 = COPY %6(s64)
155-
$x1 = COPY %7(s64)
156-
157-
...
158-
---
159-
name: test_scalar_ssubo_32
160-
body: |
161-
bb.0.entry:
162-
; CHECK-LABEL: name: test_scalar_ssubo_32
163-
; CHECK: [[COPY:%[0-9]+]]:_(s32) = COPY $w0
164-
; CHECK: [[COPY1:%[0-9]+]]:_(s32) = COPY $w1
165-
; CHECK: [[SSUBO:%[0-9]+]]:_(s32), [[SSUBO1:%[0-9]+]]:_(s1) = G_SSUBO [[COPY]], [[COPY1]]
166-
; CHECK: [[ANYEXT:%[0-9]+]]:_(s32) = G_ANYEXT [[SSUBO1]](s1)
167-
; CHECK: $w0 = COPY [[SSUBO]](s32)
168-
; CHECK: $w1 = COPY [[ANYEXT]](s32)
169-
%0:_(s32) = COPY $w0
170-
%1:_(s32) = COPY $w1
171-
%2:_(s32), %3:_(s1) = G_SSUBO %0, %1
172-
%4:_(s32) = G_ANYEXT %3
173-
$w0 = COPY %2(s32)
174-
$w1 = COPY %4(s32)
175-
176-
...
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
2+
# RUN: llc -mtriple aarch64 -verify-machineinstrs -run-pass=legalizer -debugify-and-strip-all-safe %s -o - | FileCheck %s
3+
4+
---
5+
name: test_scalar_uaddo_small
6+
body: |
7+
bb.0.entry:
8+
; CHECK-LABEL: name: test_scalar_uaddo_small
9+
; CHECK: [[COPY:%[0-9]+]]:_(s64) = COPY $x0
10+
; CHECK: [[COPY1:%[0-9]+]]:_(s64) = COPY $x1
11+
; CHECK: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 255
12+
; CHECK: [[TRUNC:%[0-9]+]]:_(s32) = G_TRUNC [[COPY]](s64)
13+
; CHECK: [[AND:%[0-9]+]]:_(s32) = G_AND [[TRUNC]], [[C]]
14+
; CHECK: [[TRUNC1:%[0-9]+]]:_(s32) = G_TRUNC [[COPY1]](s64)
15+
; CHECK: [[AND1:%[0-9]+]]:_(s32) = G_AND [[TRUNC1]], [[C]]
16+
; CHECK: [[ADD:%[0-9]+]]:_(s32) = G_ADD [[AND]], [[AND1]]
17+
; CHECK: [[TRUNC2:%[0-9]+]]:_(s8) = G_TRUNC [[ADD]](s32)
18+
; CHECK: [[COPY2:%[0-9]+]]:_(s32) = COPY [[ADD]](s32)
19+
; CHECK: [[AND2:%[0-9]+]]:_(s32) = G_AND [[COPY2]], [[C]]
20+
; CHECK: [[ICMP:%[0-9]+]]:_(s32) = G_ICMP intpred(ne), [[ADD]](s32), [[AND2]]
21+
; CHECK: [[COPY3:%[0-9]+]]:_(s8) = COPY [[TRUNC2]](s8)
22+
; CHECK: [[ANYEXT:%[0-9]+]]:_(s64) = G_ANYEXT [[ADD]](s32)
23+
; CHECK: [[ANYEXT1:%[0-9]+]]:_(s64) = G_ANYEXT [[ICMP]](s32)
24+
; CHECK: $x0 = COPY [[ANYEXT]](s64)
25+
; CHECK: $x1 = COPY [[ANYEXT1]](s64)
26+
%0:_(s64) = COPY $x0
27+
%1:_(s64) = COPY $x1
28+
%2:_(s8) = G_TRUNC %0(s64)
29+
%3:_(s8) = G_TRUNC %1(s64)
30+
%4:_(s8), %5:_(s1) = G_UADDO %2, %3
31+
%6:_(s64) = G_ANYEXT %4(s8)
32+
%7:_(s64) = G_ANYEXT %5(s1)
33+
$x0 = COPY %6(s64)
34+
$x1 = COPY %7(s64)
35+
36+
...
37+
---
38+
name: test_scalar_uaddo_32
39+
body: |
40+
bb.0.entry:
41+
; CHECK-LABEL: name: test_scalar_uaddo_32
42+
; CHECK: [[COPY:%[0-9]+]]:_(s32) = COPY $w0
43+
; CHECK: [[COPY1:%[0-9]+]]:_(s32) = COPY $w1
44+
; CHECK: [[UADDO:%[0-9]+]]:_(s32), [[UADDO1:%[0-9]+]]:_(s1) = G_UADDO [[COPY]], [[COPY1]]
45+
; CHECK: [[ANYEXT:%[0-9]+]]:_(s32) = G_ANYEXT [[UADDO1]](s1)
46+
; CHECK: $w0 = COPY [[UADDO]](s32)
47+
; CHECK: $w1 = COPY [[ANYEXT]](s32)
48+
%0:_(s32) = COPY $w0
49+
%1:_(s32) = COPY $w1
50+
%2:_(s32), %3:_(s1) = G_UADDO %0, %1
51+
%4:_(s32) = G_ANYEXT %3
52+
$w0 = COPY %2(s32)
53+
$w1 = COPY %4(s32)
54+
55+
...

0 commit comments

Comments
 (0)