Skip to content

Commit 396dfdf

Browse files
authored
[RISCV] Remove -O0 from rv32xandesperf.ll. NFC (#154224)
Invert icmp conditions in test input to make the tests generate the expected branch instructions.
1 parent a450dc8 commit 396dfdf

File tree

1 file changed

+33
-73
lines changed

1 file changed

+33
-73
lines changed

llvm/test/CodeGen/RISCV/rv32xandesperf.ll

Lines changed: 33 additions & 73 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2-
; RUN: llc -O0 -mtriple=riscv32 -mattr=+xandesperf -verify-machineinstrs < %s \
2+
; RUN: llc -mtriple=riscv32 -mattr=+xandesperf -verify-machineinstrs < %s \
33
; RUN: | FileCheck %s
44

55
; NDS.BBC
@@ -8,15 +8,14 @@ define i32 @bbc(i32 %a) nounwind {
88
; CHECK-LABEL: bbc:
99
; CHECK: # %bb.0:
1010
; CHECK-NEXT: nds.bbc a0, 16, .LBB0_2
11-
; CHECK-NEXT: j .LBB0_1
12-
; CHECK-NEXT: .LBB0_1: # %f
13-
; CHECK-NEXT: li a0, 0
14-
; CHECK-NEXT: ret
15-
; CHECK-NEXT: .LBB0_2: # %t
11+
; CHECK-NEXT: # %bb.1: # %t
1612
; CHECK-NEXT: li a0, 1
13+
; CHECK-NEXT: ret
14+
; CHECK-NEXT: .LBB0_2: # %f
15+
; CHECK-NEXT: li a0, 0
1716
; CHECK-NEXT: ret
1817
%and = and i32 %a, 65536
19-
%tst = icmp eq i32 %and, 0
18+
%tst = icmp ne i32 %and, 0
2019
br i1 %tst, label %t, label %f
2120
f:
2221
ret i32 0
@@ -27,16 +26,11 @@ t:
2726
define i32 @select_bbc(i32 %a, i32 %b, i32 %c) nounwind {
2827
; CHECK-LABEL: select_bbc:
2928
; CHECK: # %bb.0:
30-
; CHECK-NEXT: addi sp, sp, -16
31-
; CHECK-NEXT: sw a2, 8(sp) # 4-byte Folded Spill
32-
; CHECK-NEXT: sw a1, 12(sp) # 4-byte Folded Spill
3329
; CHECK-NEXT: nds.bbc a0, 16, .LBB1_2
3430
; CHECK-NEXT: # %bb.1:
35-
; CHECK-NEXT: lw a0, 8(sp) # 4-byte Folded Reload
36-
; CHECK-NEXT: sw a0, 12(sp) # 4-byte Folded Spill
31+
; CHECK-NEXT: mv a1, a2
3732
; CHECK-NEXT: .LBB1_2:
38-
; CHECK-NEXT: lw a0, 12(sp) # 4-byte Folded Reload
39-
; CHECK-NEXT: addi sp, sp, 16
33+
; CHECK-NEXT: mv a0, a1
4034
; CHECK-NEXT: ret
4135
%and = and i32 %a, 65536
4236
%tst = icmp eq i32 %and, 0
@@ -50,15 +44,14 @@ define i32 @bbs(i32 %a) nounwind {
5044
; CHECK-LABEL: bbs:
5145
; CHECK: # %bb.0:
5246
; CHECK-NEXT: nds.bbs a0, 16, .LBB2_2
53-
; CHECK-NEXT: j .LBB2_1
54-
; CHECK-NEXT: .LBB2_1: # %f
55-
; CHECK-NEXT: li a0, 0
56-
; CHECK-NEXT: ret
57-
; CHECK-NEXT: .LBB2_2: # %t
47+
; CHECK-NEXT: # %bb.1: # %t
5848
; CHECK-NEXT: li a0, 1
49+
; CHECK-NEXT: ret
50+
; CHECK-NEXT: .LBB2_2: # %f
51+
; CHECK-NEXT: li a0, 0
5952
; CHECK-NEXT: ret
6053
%and = and i32 %a, 65536
61-
%tst = icmp ne i32 %and, 0
54+
%tst = icmp eq i32 %and, 0
6255
br i1 %tst, label %t, label %f
6356
f:
6457
ret i32 0
@@ -69,16 +62,11 @@ t:
6962
define i32 @select_bbs(i32 %a, i32 %b, i32 %c) nounwind {
7063
; CHECK-LABEL: select_bbs:
7164
; CHECK: # %bb.0:
72-
; CHECK-NEXT: addi sp, sp, -16
73-
; CHECK-NEXT: sw a2, 8(sp) # 4-byte Folded Spill
74-
; CHECK-NEXT: sw a1, 12(sp) # 4-byte Folded Spill
7565
; CHECK-NEXT: nds.bbs a0, 16, .LBB3_2
7666
; CHECK-NEXT: # %bb.1:
77-
; CHECK-NEXT: lw a0, 8(sp) # 4-byte Folded Reload
78-
; CHECK-NEXT: sw a0, 12(sp) # 4-byte Folded Spill
67+
; CHECK-NEXT: mv a1, a2
7968
; CHECK-NEXT: .LBB3_2:
80-
; CHECK-NEXT: lw a0, 12(sp) # 4-byte Folded Reload
81-
; CHECK-NEXT: addi sp, sp, 16
69+
; CHECK-NEXT: mv a0, a1
8270
; CHECK-NEXT: ret
8371
%and = and i32 %a, 65536
8472
%tst = icmp ne i32 %and, 0
@@ -92,14 +80,13 @@ define i32 @beqc(i32 %a) nounwind {
9280
; CHECK-LABEL: beqc:
9381
; CHECK: # %bb.0:
9482
; CHECK-NEXT: nds.beqc a0, 5, .LBB4_2
95-
; CHECK-NEXT: j .LBB4_1
96-
; CHECK-NEXT: .LBB4_1: # %f
97-
; CHECK-NEXT: li a0, 0
98-
; CHECK-NEXT: ret
99-
; CHECK-NEXT: .LBB4_2: # %t
83+
; CHECK-NEXT: # %bb.1: # %t
10084
; CHECK-NEXT: li a0, 1
10185
; CHECK-NEXT: ret
102-
%tst = icmp eq i32 %a, 5
86+
; CHECK-NEXT: .LBB4_2: # %f
87+
; CHECK-NEXT: li a0, 0
88+
; CHECK-NEXT: ret
89+
%tst = icmp ne i32 %a, 5
10390
br i1 %tst, label %t, label %f
10491
f:
10592
ret i32 0
@@ -110,16 +97,11 @@ t:
11097
define i32 @select_beqc(i32 %a, i32 %b, i32 %c) nounwind {
11198
; CHECK-LABEL: select_beqc:
11299
; CHECK: # %bb.0:
113-
; CHECK-NEXT: addi sp, sp, -16
114-
; CHECK-NEXT: sw a2, 8(sp) # 4-byte Folded Spill
115-
; CHECK-NEXT: sw a1, 12(sp) # 4-byte Folded Spill
116100
; CHECK-NEXT: nds.beqc a0, 5, .LBB5_2
117101
; CHECK-NEXT: # %bb.1:
118-
; CHECK-NEXT: lw a0, 8(sp) # 4-byte Folded Reload
119-
; CHECK-NEXT: sw a0, 12(sp) # 4-byte Folded Spill
102+
; CHECK-NEXT: mv a1, a2
120103
; CHECK-NEXT: .LBB5_2:
121-
; CHECK-NEXT: lw a0, 12(sp) # 4-byte Folded Reload
122-
; CHECK-NEXT: addi sp, sp, 16
104+
; CHECK-NEXT: mv a0, a1
123105
; CHECK-NEXT: ret
124106
%tst = icmp eq i32 %a, 5
125107
%ret = select i1 %tst, i32 %b, i32 %c
@@ -132,14 +114,13 @@ define i32 @bnec(i32 %a) nounwind {
132114
; CHECK-LABEL: bnec:
133115
; CHECK: # %bb.0:
134116
; CHECK-NEXT: nds.bnec a0, 5, .LBB6_2
135-
; CHECK-NEXT: j .LBB6_1
136-
; CHECK-NEXT: .LBB6_1: # %f
137-
; CHECK-NEXT: li a0, 0
138-
; CHECK-NEXT: ret
139-
; CHECK-NEXT: .LBB6_2: # %t
117+
; CHECK-NEXT: # %bb.1: # %t
140118
; CHECK-NEXT: li a0, 1
141119
; CHECK-NEXT: ret
142-
%tst = icmp ne i32 %a, 5
120+
; CHECK-NEXT: .LBB6_2: # %f
121+
; CHECK-NEXT: li a0, 0
122+
; CHECK-NEXT: ret
123+
%tst = icmp eq i32 %a, 5
143124
br i1 %tst, label %t, label %f
144125
f:
145126
ret i32 0
@@ -150,16 +131,11 @@ t:
150131
define i32 @select_bnec(i32 %a, i32 %b, i32 %c) nounwind {
151132
; CHECK-LABEL: select_bnec:
152133
; CHECK: # %bb.0:
153-
; CHECK-NEXT: addi sp, sp, -16
154-
; CHECK-NEXT: sw a2, 8(sp) # 4-byte Folded Spill
155-
; CHECK-NEXT: sw a1, 12(sp) # 4-byte Folded Spill
156134
; CHECK-NEXT: nds.bnec a0, 5, .LBB7_2
157135
; CHECK-NEXT: # %bb.1:
158-
; CHECK-NEXT: lw a0, 8(sp) # 4-byte Folded Reload
159-
; CHECK-NEXT: sw a0, 12(sp) # 4-byte Folded Spill
136+
; CHECK-NEXT: mv a1, a2
160137
; CHECK-NEXT: .LBB7_2:
161-
; CHECK-NEXT: lw a0, 12(sp) # 4-byte Folded Reload
162-
; CHECK-NEXT: addi sp, sp, 16
138+
; CHECK-NEXT: mv a0, a1
163139
; CHECK-NEXT: ret
164140
%tst = icmp ne i32 %a, 5
165141
%ret = select i1 %tst, i32 %b, i32 %c
@@ -182,7 +158,6 @@ define i32 @bfoz_from_and_i32(i32 %x) {
182158
define i64 @bfoz_from_and_i64(i64 %x) {
183159
; CHECK-LABEL: bfoz_from_and_i64:
184160
; CHECK: # %bb.0:
185-
; CHECK-NEXT: # kill: def $x11 killed $x10
186161
; CHECK-NEXT: nds.bfoz a0, a0, 11, 0
187162
; CHECK-NEXT: li a1, 0
188163
; CHECK-NEXT: ret
@@ -203,7 +178,6 @@ define i32 @bfoz_from_and_lshr_i32(i32 %x) {
203178
define i64 @bfoz_from_and_lshr_i64(i64 %x) {
204179
; CHECK-LABEL: bfoz_from_and_lshr_i64:
205180
; CHECK: # %bb.0:
206-
; CHECK-NEXT: # kill: def $x12 killed $x11
207181
; CHECK-NEXT: nds.bfoz a0, a1, 25, 14
208182
; CHECK-NEXT: li a1, 0
209183
; CHECK-NEXT: ret
@@ -225,8 +199,6 @@ define i32 @bfoz_from_lshr_and_i32(i32 %x) {
225199
define i64 @bfoz_from_lshr_and_i64(i64 %x) {
226200
; CHECK-LABEL: bfoz_from_lshr_and_i64:
227201
; CHECK: # %bb.0:
228-
; CHECK-NEXT: # kill: def $x12 killed $x11
229-
; CHECK-NEXT: # kill: def $x12 killed $x10
230202
; CHECK-NEXT: andi a1, a1, 15
231203
; CHECK-NEXT: srli a0, a0, 24
232204
; CHECK-NEXT: slli a1, a1, 8
@@ -299,7 +271,6 @@ define i32 @bfos_from_ashr_shl_i32(i32 %x) {
299271
define i32 @bfos_from_ashr_sexti8_i32(i8 %x) {
300272
; CHECK-LABEL: bfos_from_ashr_sexti8_i32:
301273
; CHECK: # %bb.0:
302-
; CHECK-NEXT: # kill: def $x11 killed $x10
303274
; CHECK-NEXT: nds.bfos a0, a0, 7, 5
304275
; CHECK-NEXT: ret
305276
%sext = sext i8 %x to i32
@@ -310,7 +281,6 @@ define i32 @bfos_from_ashr_sexti8_i32(i8 %x) {
310281
define i32 @bfos_from_ashr_sexti16_i32(i16 %x) {
311282
; CHECK-LABEL: bfos_from_ashr_sexti16_i32:
312283
; CHECK: # %bb.0:
313-
; CHECK-NEXT: # kill: def $x11 killed $x10
314284
; CHECK-NEXT: nds.bfos a0, a0, 15, 11
315285
; CHECK-NEXT: ret
316286
%sext = sext i16 %x to i32
@@ -357,7 +327,6 @@ define i32 @sexti1_i32(i32 %a) {
357327
define i32 @sexti1_i32_2(i1 %a) {
358328
; CHECK-LABEL: sexti1_i32_2:
359329
; CHECK: # %bb.0:
360-
; CHECK-NEXT: # kill: def $x11 killed $x10
361330
; CHECK-NEXT: nds.bfos a0, a0, 0, 0
362331
; CHECK-NEXT: ret
363332
%1 = sext i1 %a to i32
@@ -390,7 +359,6 @@ define i32 @sexti8_i32(i32 %a) {
390359
define i32 @sexti8_i32_2(i8 %a) {
391360
; CHECK-LABEL: sexti8_i32_2:
392361
; CHECK: # %bb.0:
393-
; CHECK-NEXT: # kill: def $x11 killed $x10
394362
; CHECK-NEXT: nds.bfos a0, a0, 7, 0
395363
; CHECK-NEXT: ret
396364
%1 = sext i8 %a to i32
@@ -410,7 +378,6 @@ define i32 @sexti16_i32(i32 %a) {
410378
define i32 @sexti16_i32_2(i16 %a) {
411379
; CHECK-LABEL: sexti16_i32_2:
412380
; CHECK: # %bb.0:
413-
; CHECK-NEXT: # kill: def $x11 killed $x10
414381
; CHECK-NEXT: nds.bfos a0, a0, 15, 0
415382
; CHECK-NEXT: ret
416383
%1 = sext i16 %a to i32
@@ -420,9 +387,8 @@ define i32 @sexti16_i32_2(i16 %a) {
420387
define i64 @sexti1_i64(i64 %a) {
421388
; CHECK-LABEL: sexti1_i64:
422389
; CHECK: # %bb.0:
423-
; CHECK-NEXT: # kill: def $x11 killed $x10
424-
; CHECK-NEXT: nds.bfos a1, a0, 0, 0
425-
; CHECK-NEXT: mv a0, a1
390+
; CHECK-NEXT: nds.bfos a0, a0, 0, 0
391+
; CHECK-NEXT: mv a1, a0
426392
; CHECK-NEXT: ret
427393
%shl = shl i64 %a, 63
428394
%shr = ashr exact i64 %shl, 63
@@ -432,9 +398,8 @@ define i64 @sexti1_i64(i64 %a) {
432398
define i64 @sexti1_i64_2(i1 %a) {
433399
; CHECK-LABEL: sexti1_i64_2:
434400
; CHECK: # %bb.0:
435-
; CHECK-NEXT: # kill: def $x11 killed $x10
436-
; CHECK-NEXT: nds.bfos a1, a0, 0, 0
437-
; CHECK-NEXT: mv a0, a1
401+
; CHECK-NEXT: nds.bfos a0, a0, 0, 0
402+
; CHECK-NEXT: mv a1, a0
438403
; CHECK-NEXT: ret
439404
%1 = sext i1 %a to i64
440405
ret i64 %1
@@ -443,7 +408,6 @@ define i64 @sexti1_i64_2(i1 %a) {
443408
define i64 @sexti8_i64(i64 %a) {
444409
; CHECK-LABEL: sexti8_i64:
445410
; CHECK: # %bb.0:
446-
; CHECK-NEXT: # kill: def $x11 killed $x10
447411
; CHECK-NEXT: nds.bfos a0, a0, 7, 0
448412
; CHECK-NEXT: srai a1, a0, 31
449413
; CHECK-NEXT: ret
@@ -455,7 +419,6 @@ define i64 @sexti8_i64(i64 %a) {
455419
define i64 @sexti8_i64_2(i8 %a) {
456420
; CHECK-LABEL: sexti8_i64_2:
457421
; CHECK: # %bb.0:
458-
; CHECK-NEXT: # kill: def $x11 killed $x10
459422
; CHECK-NEXT: nds.bfos a0, a0, 7, 0
460423
; CHECK-NEXT: srai a1, a0, 31
461424
; CHECK-NEXT: ret
@@ -466,7 +429,6 @@ define i64 @sexti8_i64_2(i8 %a) {
466429
define i64 @sexti16_i64(i64 %a) {
467430
; CHECK-LABEL: sexti16_i64:
468431
; CHECK: # %bb.0:
469-
; CHECK-NEXT: # kill: def $x11 killed $x10
470432
; CHECK-NEXT: nds.bfos a0, a0, 15, 0
471433
; CHECK-NEXT: srai a1, a0, 31
472434
; CHECK-NEXT: ret
@@ -478,7 +440,6 @@ define i64 @sexti16_i64(i64 %a) {
478440
define i64 @sexti16_i64_2(i16 %a) {
479441
; CHECK-LABEL: sexti16_i64_2:
480442
; CHECK: # %bb.0:
481-
; CHECK-NEXT: # kill: def $x11 killed $x10
482443
; CHECK-NEXT: nds.bfos a0, a0, 15, 0
483444
; CHECK-NEXT: srai a1, a0, 31
484445
; CHECK-NEXT: ret
@@ -489,7 +450,6 @@ define i64 @sexti16_i64_2(i16 %a) {
489450
define i64 @sexti32_i64(i64 %a) {
490451
; CHECK-LABEL: sexti32_i64:
491452
; CHECK: # %bb.0:
492-
; CHECK-NEXT: # kill: def $x11 killed $x10
493453
; CHECK-NEXT: srai a1, a0, 31
494454
; CHECK-NEXT: ret
495455
%shl = shl i64 %a, 32

0 commit comments

Comments
 (0)