Skip to content

Commit ad0a1ec

Browse files
fixup! fix test case to avoid beqz zero]
1 parent bbbd352 commit ad0a1ec

File tree

1 file changed

+47
-31
lines changed

1 file changed

+47
-31
lines changed

llvm/test/CodeGen/RISCV/csr-first-use-cost.ll

Lines changed: 47 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -2,23 +2,39 @@
22
; RUN: llc %s -mtriple=riscv64 -regalloc-csr-first-time-cost=0 | FileCheck %s -check-prefix=ZERO-COST
33
; RUN: llc %s -mtriple=riscv64 | FileCheck %s -check-prefix=DEFAULT-COST
44

5-
define fastcc void @Perl_sv_setnv(ptr %.str.54.3682) nounwind {
5+
define fastcc void @Perl_sv_setnv(i8 %c, ptr %.str.54.3682) nounwind {
66
; ZERO-COST-LABEL: Perl_sv_setnv:
77
; ZERO-COST: # %bb.0: # %entry
88
; ZERO-COST-NEXT: addi sp, sp, -32
99
; ZERO-COST-NEXT: sd ra, 24(sp) # 8-byte Folded Spill
1010
; ZERO-COST-NEXT: sd s0, 16(sp) # 8-byte Folded Spill
1111
; ZERO-COST-NEXT: sd s1, 8(sp) # 8-byte Folded Spill
12-
; ZERO-COST-NEXT: bnez zero, .LBB0_5
12+
; ZERO-COST-NEXT: andi a0, a0, 255
13+
; ZERO-COST-NEXT: li a2, 2
14+
; ZERO-COST-NEXT: blt a2, a0, .LBB0_3
1315
; ZERO-COST-NEXT: # %bb.1: # %entry
16+
; ZERO-COST-NEXT: beqz a0, .LBB0_4
17+
; ZERO-COST-NEXT: # %bb.2: # %entry
18+
; ZERO-COST-NEXT: mv s0, a1
1419
; ZERO-COST-NEXT: li a1, 1
15-
; ZERO-COST-NEXT: bnez a1, .LBB0_6
16-
; ZERO-COST-NEXT: .LBB0_2: # %entry
17-
; ZERO-COST-NEXT: mv s0, a0
18-
; ZERO-COST-NEXT: beqz zero, .LBB0_4
19-
; ZERO-COST-NEXT: # %bb.3: # %sw.bb34.i
20+
; ZERO-COST-NEXT: beq a0, a1, .LBB0_6
21+
; ZERO-COST-NEXT: j .LBB0_7
22+
; ZERO-COST-NEXT: .LBB0_3: # %entry
23+
; ZERO-COST-NEXT: li a2, 3
24+
; ZERO-COST-NEXT: bne a0, a2, .LBB0_5
25+
; ZERO-COST-NEXT: .LBB0_4: # %sw.bb3
26+
; ZERO-COST-NEXT: ld ra, 24(sp) # 8-byte Folded Reload
27+
; ZERO-COST-NEXT: ld s0, 16(sp) # 8-byte Folded Reload
28+
; ZERO-COST-NEXT: ld s1, 8(sp) # 8-byte Folded Reload
29+
; ZERO-COST-NEXT: addi sp, sp, 32
30+
; ZERO-COST-NEXT: ret
31+
; ZERO-COST-NEXT: .LBB0_5: # %entry
32+
; ZERO-COST-NEXT: mv s0, a1
33+
; ZERO-COST-NEXT: li a1, 12
34+
; ZERO-COST-NEXT: bne a0, a1, .LBB0_7
35+
; ZERO-COST-NEXT: .LBB0_6: # %sw.bb34.i
2036
; ZERO-COST-NEXT: li s0, 0
21-
; ZERO-COST-NEXT: .LBB0_4: # %Perl_sv_reftype.exit
37+
; ZERO-COST-NEXT: .LBB0_7: # %Perl_sv_reftype.exit
2238
; ZERO-COST-NEXT: li s1, 0
2339
; ZERO-COST-NEXT: li a0, 0
2440
; ZERO-COST-NEXT: li a1, 0
@@ -27,30 +43,37 @@ define fastcc void @Perl_sv_setnv(ptr %.str.54.3682) nounwind {
2743
; ZERO-COST-NEXT: mv a1, s0
2844
; ZERO-COST-NEXT: li a2, 0
2945
; ZERO-COST-NEXT: jalr s1
30-
; ZERO-COST-NEXT: .LBB0_5: # %entry
31-
; ZERO-COST-NEXT: beqz zero, .LBB0_2
32-
; ZERO-COST-NEXT: .LBB0_6: # %sw.bb3
33-
; ZERO-COST-NEXT: ld ra, 24(sp) # 8-byte Folded Reload
34-
; ZERO-COST-NEXT: ld s0, 16(sp) # 8-byte Folded Reload
35-
; ZERO-COST-NEXT: ld s1, 8(sp) # 8-byte Folded Reload
36-
; ZERO-COST-NEXT: addi sp, sp, 32
37-
; ZERO-COST-NEXT: ret
3846
;
3947
; DEFAULT-COST-LABEL: Perl_sv_setnv:
4048
; DEFAULT-COST: # %bb.0: # %entry
4149
; DEFAULT-COST-NEXT: addi sp, sp, -32
4250
; DEFAULT-COST-NEXT: sd ra, 24(sp) # 8-byte Folded Spill
4351
; DEFAULT-COST-NEXT: sd s0, 16(sp) # 8-byte Folded Spill
44-
; DEFAULT-COST-NEXT: bnez zero, .LBB0_5
52+
; DEFAULT-COST-NEXT: andi a0, a0, 255
53+
; DEFAULT-COST-NEXT: li a2, 2
54+
; DEFAULT-COST-NEXT: blt a2, a0, .LBB0_3
4555
; DEFAULT-COST-NEXT: # %bb.1: # %entry
56+
; DEFAULT-COST-NEXT: beqz a0, .LBB0_4
57+
; DEFAULT-COST-NEXT: # %bb.2: # %entry
58+
; DEFAULT-COST-NEXT: sd a1, 8(sp) # 8-byte Folded Spill
4659
; DEFAULT-COST-NEXT: li a1, 1
47-
; DEFAULT-COST-NEXT: bnez a1, .LBB0_6
48-
; DEFAULT-COST-NEXT: .LBB0_2: # %entry
49-
; DEFAULT-COST-NEXT: sd a0, 8(sp) # 8-byte Folded Spill
50-
; DEFAULT-COST-NEXT: beqz zero, .LBB0_4
51-
; DEFAULT-COST-NEXT: # %bb.3: # %sw.bb34.i
60+
; DEFAULT-COST-NEXT: beq a0, a1, .LBB0_6
61+
; DEFAULT-COST-NEXT: j .LBB0_7
62+
; DEFAULT-COST-NEXT: .LBB0_3: # %entry
63+
; DEFAULT-COST-NEXT: li a2, 3
64+
; DEFAULT-COST-NEXT: bne a0, a2, .LBB0_5
65+
; DEFAULT-COST-NEXT: .LBB0_4: # %sw.bb3
66+
; DEFAULT-COST-NEXT: ld ra, 24(sp) # 8-byte Folded Reload
67+
; DEFAULT-COST-NEXT: ld s0, 16(sp) # 8-byte Folded Reload
68+
; DEFAULT-COST-NEXT: addi sp, sp, 32
69+
; DEFAULT-COST-NEXT: ret
70+
; DEFAULT-COST-NEXT: .LBB0_5: # %entry
71+
; DEFAULT-COST-NEXT: sd a1, 8(sp) # 8-byte Folded Spill
72+
; DEFAULT-COST-NEXT: li a1, 12
73+
; DEFAULT-COST-NEXT: bne a0, a1, .LBB0_7
74+
; DEFAULT-COST-NEXT: .LBB0_6: # %sw.bb34.i
5275
; DEFAULT-COST-NEXT: sd zero, 8(sp) # 8-byte Folded Spill
53-
; DEFAULT-COST-NEXT: .LBB0_4: # %Perl_sv_reftype.exit
76+
; DEFAULT-COST-NEXT: .LBB0_7: # %Perl_sv_reftype.exit
5477
; DEFAULT-COST-NEXT: li s0, 0
5578
; DEFAULT-COST-NEXT: li a0, 0
5679
; DEFAULT-COST-NEXT: li a1, 0
@@ -59,15 +82,8 @@ define fastcc void @Perl_sv_setnv(ptr %.str.54.3682) nounwind {
5982
; DEFAULT-COST-NEXT: ld a1, 8(sp) # 8-byte Folded Reload
6083
; DEFAULT-COST-NEXT: li a2, 0
6184
; DEFAULT-COST-NEXT: jalr s0
62-
; DEFAULT-COST-NEXT: .LBB0_5: # %entry
63-
; DEFAULT-COST-NEXT: beqz zero, .LBB0_2
64-
; DEFAULT-COST-NEXT: .LBB0_6: # %sw.bb3
65-
; DEFAULT-COST-NEXT: ld ra, 24(sp) # 8-byte Folded Reload
66-
; DEFAULT-COST-NEXT: ld s0, 16(sp) # 8-byte Folded Reload
67-
; DEFAULT-COST-NEXT: addi sp, sp, 32
68-
; DEFAULT-COST-NEXT: ret
6985
entry:
70-
switch i8 0, label %Perl_sv_reftype.exit [
86+
switch i8 %c, label %Perl_sv_reftype.exit [
7187
i8 1, label %sw.bb4
7288
i8 12, label %sw.bb34.i
7389
i8 3, label %sw.bb3

0 commit comments

Comments
 (0)