Skip to content

Commit 7e53171

Browse files
authored
[PowerPC] Pre-commit tests for PR130742. NFC. (#135606)
Needed by #130742.
1 parent 35f4cdb commit 7e53171

File tree

5 files changed

+160
-149
lines changed

5 files changed

+160
-149
lines changed

llvm/test/CodeGen/PowerPC/loop-instr-form-non-inc.ll

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,21 +2,22 @@
22
; RUN: llc -verify-machineinstrs -mtriple=powerpc-unknown-linux-gnu \
33
; RUN: -mcpu=pwr9 < %s | FileCheck %s
44

5-
define dso_local void @test_no_inc(i32 signext %a) local_unnamed_addr nounwind align 2 {
5+
define dso_local void @test_no_inc(i32 signext %a, ptr %p) local_unnamed_addr nounwind align 2 {
66
; CHECK-LABEL: test_no_inc:
77
; CHECK: # %bb.0: # %entry
8-
; CHECK-NEXT: srawi 4, 3, 31
8+
; CHECK-NEXT: srawi 5, 3, 31
99
; CHECK-NEXT: cmpwi 3, 0
1010
; CHECK-NEXT: li 6, 1
1111
; CHECK-NEXT: li 7, 0
12-
; CHECK-NEXT: andc 4, 3, 4
13-
; CHECK-NEXT: addi 5, 4, 1
12+
; CHECK-NEXT: andc 5, 3, 5
13+
; CHECK-NEXT: add 4, 5, 4
14+
; CHECK-NEXT: addi 4, 4, 1
1415
; CHECK-NEXT: b .LBB0_2
1516
; CHECK-NEXT: .p2align 5
1617
; CHECK-NEXT: .LBB0_1: # %for.cond.cleanup
1718
; CHECK-NEXT: #
18-
; CHECK-NEXT: stb 7, 0(5)
19-
; CHECK-NEXT: add 5, 5, 4
19+
; CHECK-NEXT: stb 7, 0(4)
20+
; CHECK-NEXT: add 4, 4, 5
2021
; CHECK-NEXT: .LBB0_2: # %for.cond
2122
; CHECK-NEXT: #
2223
; CHECK-NEXT: bc 4, 1, .LBB0_1
@@ -38,7 +39,7 @@ for.body.preheader: ; preds = %for.cond
3839

3940
for.cond.cleanup: ; preds = %for.body.preheader, %for.cond
4041
%g.1.lcssa = phi i32 [ %g.0, %for.cond ], [ %0, %for.body.preheader ]
41-
%arrayidx5 = getelementptr inbounds i8, ptr null, i32 %g.1.lcssa
42+
%arrayidx5 = getelementptr inbounds i8, ptr %p, i32 %g.1.lcssa
4243
store i8 0, ptr %arrayidx5, align 1
4344
br label %for.cond
4445
}

llvm/test/CodeGen/PowerPC/p10-spill-crgt.ll

Lines changed: 44 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
; bit of any CR field is spilled. We need to test the spilling of a CR bit
1616
; other than the LT bit. Hence this test case is rather complex.
1717

18-
define dso_local fastcc void @P10_Spill_CR_GT() unnamed_addr {
18+
define dso_local fastcc void @P10_Spill_CR_GT(ptr %p) unnamed_addr {
1919
; CHECK-LABEL: P10_Spill_CR_GT:
2020
; CHECK: # %bb.0: # %bb
2121
; CHECK-NEXT: mfcr r12
@@ -25,32 +25,35 @@ define dso_local fastcc void @P10_Spill_CR_GT() unnamed_addr {
2525
; CHECK-NEXT: stdu r1, -64(r1)
2626
; CHECK-NEXT: .cfi_def_cfa_offset 64
2727
; CHECK-NEXT: .cfi_offset lr, 16
28+
; CHECK-NEXT: .cfi_offset r28, -32
2829
; CHECK-NEXT: .cfi_offset r29, -24
2930
; CHECK-NEXT: .cfi_offset r30, -16
3031
; CHECK-NEXT: .cfi_offset cr2, 8
3132
; CHECK-NEXT: .cfi_offset cr3, 8
3233
; CHECK-NEXT: .cfi_offset cr4, 8
33-
; CHECK-NEXT: lwz r3, 0(r3)
34-
; CHECK-NEXT: std r29, 40(r1) # 8-byte Folded Spill
34+
; CHECK-NEXT: lwz r4, 0(r3)
3535
; CHECK-NEXT: std r30, 48(r1) # 8-byte Folded Spill
36+
; CHECK-NEXT: addi r30, r3, -1
37+
; CHECK-NEXT: li r3, 0
38+
; CHECK-NEXT: std r28, 32(r1) # 8-byte Folded Spill
39+
; CHECK-NEXT: std r29, 40(r1) # 8-byte Folded Spill
3640
; CHECK-NEXT: crxor 4*cr2+eq, 4*cr2+eq, 4*cr2+eq
37-
; CHECK-NEXT: paddi r29, 0, .LJTI0_0@PCREL, 1
38-
; CHECK-NEXT: srwi r4, r3, 4
39-
; CHECK-NEXT: srwi r3, r3, 5
41+
; CHECK-NEXT: paddi r28, 0, .LJTI0_0@PCREL, 1
42+
; CHECK-NEXT: sldi r29, r3, 2
43+
; CHECK-NEXT: srwi r5, r4, 4
44+
; CHECK-NEXT: srwi r4, r4, 5
45+
; CHECK-NEXT: andi. r5, r5, 1
46+
; CHECK-NEXT: crmove 4*cr2+gt, gt
4047
; CHECK-NEXT: andi. r4, r4, 1
4148
; CHECK-NEXT: li r4, 0
42-
; CHECK-NEXT: crmove 4*cr2+gt, gt
43-
; CHECK-NEXT: andi. r3, r3, 1
44-
; CHECK-NEXT: li r3, 0
4549
; CHECK-NEXT: crmove 4*cr2+lt, gt
46-
; CHECK-NEXT: sldi r30, r3, 2
4750
; CHECK-NEXT: b .LBB0_2
4851
; CHECK-NEXT: .LBB0_1: # %bb43
4952
; CHECK-NEXT: #
5053
; CHECK-NEXT: bl call_1@notoc
51-
; CHECK-NEXT: setnbc r3, 4*cr3+eq
52-
; CHECK-NEXT: li r4, 0
53-
; CHECK-NEXT: stb r4, 0(r3)
54+
; CHECK-NEXT: li r3, 0
55+
; CHECK-NEXT: isel r4, r30, r3, 4*cr3+eq
56+
; CHECK-NEXT: stb r3, 0(r4)
5457
; CHECK-NEXT: li r4, 0
5558
; CHECK-NEXT: .p2align 4
5659
; CHECK-NEXT: .LBB0_2: # %bb5
@@ -65,8 +68,8 @@ define dso_local fastcc void @P10_Spill_CR_GT() unnamed_addr {
6568
; CHECK-NEXT: lwz r5, 0(r3)
6669
; CHECK-NEXT: rlwinm r4, r5, 0, 21, 22
6770
; CHECK-NEXT: cmpwi cr3, r4, 512
68-
; CHECK-NEXT: lwax r4, r29, r30
69-
; CHECK-NEXT: add r4, r29, r4
71+
; CHECK-NEXT: lwax r4, r28, r29
72+
; CHECK-NEXT: add r4, r28, r4
7073
; CHECK-NEXT: mtctr r4
7174
; CHECK-NEXT: li r4, 0
7275
; CHECK-NEXT: bctr
@@ -177,6 +180,7 @@ define dso_local fastcc void @P10_Spill_CR_GT() unnamed_addr {
177180
; CHECK-NEXT: .LBB0_31: # %bb9
178181
; CHECK-NEXT: ld r30, 48(r1) # 8-byte Folded Reload
179182
; CHECK-NEXT: ld r29, 40(r1) # 8-byte Folded Reload
183+
; CHECK-NEXT: ld r28, 32(r1) # 8-byte Folded Reload
180184
; CHECK-NEXT: addi r1, r1, 64
181185
; CHECK-NEXT: ld r0, 16(r1)
182186
; CHECK-NEXT: lwz r12, 8(r1)
@@ -187,10 +191,10 @@ define dso_local fastcc void @P10_Spill_CR_GT() unnamed_addr {
187191
; CHECK-NEXT: blr
188192
; CHECK-NEXT: .LBB0_32: # %bb29
189193
; CHECK-NEXT: crmove eq, 4*cr3+eq
194+
; CHECK-NEXT: li r29, 0
190195
; CHECK-NEXT: cmpwi cr3, r5, 366
191196
; CHECK-NEXT: cmpwi cr4, r3, 0
192-
; CHECK-NEXT: li r29, 0
193-
; CHECK-NEXT: setnbc r30, eq
197+
; CHECK-NEXT: iseleq r30, r30, r29
194198
; CHECK-NEXT: bc 12, 4*cr2+lt, .LBB0_36
195199
; CHECK-NEXT: .p2align 5
196200
; CHECK-NEXT: .LBB0_33: # %bb36
@@ -216,34 +220,37 @@ define dso_local fastcc void @P10_Spill_CR_GT() unnamed_addr {
216220
; CHECK-BE-NEXT: stdu r1, -144(r1)
217221
; CHECK-BE-NEXT: .cfi_def_cfa_offset 144
218222
; CHECK-BE-NEXT: .cfi_offset lr, 16
223+
; CHECK-BE-NEXT: .cfi_offset r28, -32
219224
; CHECK-BE-NEXT: .cfi_offset r29, -24
220225
; CHECK-BE-NEXT: .cfi_offset r30, -16
221226
; CHECK-BE-NEXT: .cfi_offset cr2, 8
222227
; CHECK-BE-NEXT: .cfi_offset cr2, 8
223228
; CHECK-BE-NEXT: .cfi_offset cr2, 8
224-
; CHECK-BE-NEXT: lwz r3, 0(r3)
225-
; CHECK-BE-NEXT: std r29, 120(r1) # 8-byte Folded Spill
229+
; CHECK-BE-NEXT: lwz r4, 0(r3)
226230
; CHECK-BE-NEXT: std r30, 128(r1) # 8-byte Folded Spill
231+
; CHECK-BE-NEXT: addi r30, r3, -1
232+
; CHECK-BE-NEXT: li r3, 0
233+
; CHECK-BE-NEXT: std r28, 112(r1) # 8-byte Folded Spill
234+
; CHECK-BE-NEXT: std r29, 120(r1) # 8-byte Folded Spill
227235
; CHECK-BE-NEXT: crxor 4*cr2+eq, 4*cr2+eq, 4*cr2+eq
228-
; CHECK-BE-NEXT: srwi r4, r3, 4
229-
; CHECK-BE-NEXT: srwi r3, r3, 5
236+
; CHECK-BE-NEXT: sldi r29, r3, 2
237+
; CHECK-BE-NEXT: addis r3, r2, .LC0@toc@ha
238+
; CHECK-BE-NEXT: ld r28, .LC0@toc@l(r3)
239+
; CHECK-BE-NEXT: srwi r5, r4, 4
240+
; CHECK-BE-NEXT: srwi r4, r4, 5
241+
; CHECK-BE-NEXT: andi. r5, r5, 1
242+
; CHECK-BE-NEXT: crmove 4*cr2+gt, gt
230243
; CHECK-BE-NEXT: andi. r4, r4, 1
231244
; CHECK-BE-NEXT: li r4, 0
232-
; CHECK-BE-NEXT: crmove 4*cr2+gt, gt
233-
; CHECK-BE-NEXT: andi. r3, r3, 1
234-
; CHECK-BE-NEXT: li r3, 0
235245
; CHECK-BE-NEXT: crmove 4*cr2+lt, gt
236-
; CHECK-BE-NEXT: sldi r30, r3, 2
237-
; CHECK-BE-NEXT: addis r3, r2, .LC0@toc@ha
238-
; CHECK-BE-NEXT: ld r29, .LC0@toc@l(r3)
239246
; CHECK-BE-NEXT: b .LBB0_2
240247
; CHECK-BE-NEXT: .LBB0_1: # %bb43
241248
; CHECK-BE-NEXT: #
242249
; CHECK-BE-NEXT: bl call_1
243250
; CHECK-BE-NEXT: nop
244-
; CHECK-BE-NEXT: setnbc r3, 4*cr3+eq
245-
; CHECK-BE-NEXT: li r4, 0
246-
; CHECK-BE-NEXT: stb r4, 0(r3)
251+
; CHECK-BE-NEXT: li r3, 0
252+
; CHECK-BE-NEXT: isel r4, r30, r3, 4*cr3+eq
253+
; CHECK-BE-NEXT: stb r3, 0(r4)
247254
; CHECK-BE-NEXT: li r4, 0
248255
; CHECK-BE-NEXT: .p2align 4
249256
; CHECK-BE-NEXT: .LBB0_2: # %bb5
@@ -258,8 +265,8 @@ define dso_local fastcc void @P10_Spill_CR_GT() unnamed_addr {
258265
; CHECK-BE-NEXT: lwz r5, 0(r3)
259266
; CHECK-BE-NEXT: rlwinm r4, r5, 0, 21, 22
260267
; CHECK-BE-NEXT: cmpwi cr3, r4, 512
261-
; CHECK-BE-NEXT: lwax r4, r29, r30
262-
; CHECK-BE-NEXT: add r4, r29, r4
268+
; CHECK-BE-NEXT: lwax r4, r28, r29
269+
; CHECK-BE-NEXT: add r4, r28, r4
263270
; CHECK-BE-NEXT: mtctr r4
264271
; CHECK-BE-NEXT: li r4, 0
265272
; CHECK-BE-NEXT: bctr
@@ -370,6 +377,7 @@ define dso_local fastcc void @P10_Spill_CR_GT() unnamed_addr {
370377
; CHECK-BE-NEXT: .LBB0_31: # %bb9
371378
; CHECK-BE-NEXT: ld r30, 128(r1) # 8-byte Folded Reload
372379
; CHECK-BE-NEXT: ld r29, 120(r1) # 8-byte Folded Reload
380+
; CHECK-BE-NEXT: ld r28, 112(r1) # 8-byte Folded Reload
373381
; CHECK-BE-NEXT: addi r1, r1, 144
374382
; CHECK-BE-NEXT: ld r0, 16(r1)
375383
; CHECK-BE-NEXT: lwz r12, 8(r1)
@@ -380,10 +388,10 @@ define dso_local fastcc void @P10_Spill_CR_GT() unnamed_addr {
380388
; CHECK-BE-NEXT: blr
381389
; CHECK-BE-NEXT: .LBB0_32: # %bb29
382390
; CHECK-BE-NEXT: crmove eq, 4*cr3+eq
391+
; CHECK-BE-NEXT: li r29, 0
383392
; CHECK-BE-NEXT: cmpwi cr3, r5, 366
384393
; CHECK-BE-NEXT: cmpwi cr4, r3, 0
385-
; CHECK-BE-NEXT: li r29, 0
386-
; CHECK-BE-NEXT: setnbc r30, eq
394+
; CHECK-BE-NEXT: iseleq r30, r30, r29
387395
; CHECK-BE-NEXT: bc 12, 4*cr2+lt, .LBB0_36
388396
; CHECK-BE-NEXT: .p2align 4
389397
; CHECK-BE-NEXT: .LBB0_33: # %bb36
@@ -528,7 +536,7 @@ bb32: ; preds = %bb40, %bb29
528536
br i1 %tmp7, label %bb33, label %bb36
529537

530538
bb33: ; preds = %bb32
531-
%tmp34 = getelementptr inbounds i8, ptr null, i64 -1
539+
%tmp34 = getelementptr inbounds i8, ptr %p, i64 -1
532540
%tmp35 = select i1 %tmp12, ptr %tmp34, ptr null
533541
store i8 0, ptr %tmp35, align 1
534542
br label %bb36
@@ -558,7 +566,7 @@ bb42: ; preds = %bb42, %bb41
558566

559567
bb43: ; preds = %bb10, %bb10
560568
call void @call_1()
561-
%tmp44 = getelementptr inbounds i8, ptr null, i64 -1
569+
%tmp44 = getelementptr inbounds i8, ptr %p, i64 -1
562570
%tmp45 = select i1 %tmp12, ptr %tmp44, ptr null
563571
store i8 0, ptr %tmp45, align 1
564572
br label %bb63

llvm/test/CodeGen/PowerPC/sms-cpy-1.ll

Lines changed: 53 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -4,78 +4,77 @@
44

55
@.str.28 = external unnamed_addr constant [69 x i8], align 1
66

7-
define void @print_res() nounwind {
7+
define void @print_res(ptr %p) nounwind {
88
; CHECK-LABEL: print_res:
99
; CHECK: # %bb.0:
10-
; CHECK-NEXT: lwz 3, 0(3)
11-
; CHECK-NEXT: mflr 0
12-
; CHECK-NEXT: addi 3, 3, -1
13-
; CHECK-NEXT: clrldi 4, 3, 32
14-
; CHECK-NEXT: cmplwi 3, 3
15-
; CHECK-NEXT: li 3, 3
16-
; CHECK-NEXT: isellt 3, 4, 3
17-
; CHECK-NEXT: li 4, 1
18-
; CHECK-NEXT: cmpldi 3, 1
19-
; CHECK-NEXT: iselgt 3, 3, 4
20-
; CHECK-NEXT: li 4, 0
21-
; CHECK-NEXT: mtctr 3
22-
; CHECK-NEXT: stdu 1, -128(1)
10+
; CHECK-NEXT: lwz 4, 0(3)
11+
; CHECK-NEXT: addi 4, 4, -1
12+
; CHECK-NEXT: clrldi 5, 4, 32
13+
; CHECK-NEXT: cmplwi 4, 3
14+
; CHECK-NEXT: li 4, 3
15+
; CHECK-NEXT: isellt 4, 5, 4
16+
; CHECK-NEXT: li 5, 1
17+
; CHECK-NEXT: cmpldi 4, 1
18+
; CHECK-NEXT: iselgt 4, 4, 5
2319
; CHECK-NEXT: li 5, 0
24-
; CHECK-NEXT: std 0, 144(1)
25-
; CHECK-NEXT: li 3, 1
26-
; CHECK-NEXT: li 7, -1
27-
; CHECK-NEXT: lbz 5, 0(5)
20+
; CHECK-NEXT: mtctr 4
21+
; CHECK-NEXT: li 8, -1
22+
; CHECK-NEXT: lbz 6, 0(3)
23+
; CHECK-NEXT: li 4, 1
2824
; CHECK-NEXT: bdz .LBB0_6
2925
; CHECK-NEXT: # %bb.1:
30-
; CHECK-NEXT: xori 6, 5, 84
31-
; CHECK-NEXT: clrldi 5, 7, 32
32-
; CHECK-NEXT: addi 3, 3, 1
33-
; CHECK-NEXT: addi 8, 7, -1
34-
; CHECK-NEXT: lbz 5, 0(5)
26+
; CHECK-NEXT: xori 7, 6, 84
27+
; CHECK-NEXT: clrldi 6, 8, 32
28+
; CHECK-NEXT: addi 4, 4, 1
29+
; CHECK-NEXT: addi 9, 8, -1
30+
; CHECK-NEXT: lbzx 6, 3, 6
3531
; CHECK-NEXT: bdz .LBB0_5
3632
; CHECK-NEXT: # %bb.2:
37-
; CHECK-NEXT: cntlzw 6, 6
38-
; CHECK-NEXT: addi 3, 3, 1
39-
; CHECK-NEXT: srwi 7, 6, 5
40-
; CHECK-NEXT: xori 6, 5, 84
41-
; CHECK-NEXT: clrldi 5, 8, 32
42-
; CHECK-NEXT: addi 8, 8, -1
43-
; CHECK-NEXT: lbz 5, 0(5)
33+
; CHECK-NEXT: cntlzw 7, 7
34+
; CHECK-NEXT: addi 4, 4, 1
35+
; CHECK-NEXT: srwi 8, 7, 5
36+
; CHECK-NEXT: xori 7, 6, 84
37+
; CHECK-NEXT: clrldi 6, 9, 32
38+
; CHECK-NEXT: addi 9, 9, -1
39+
; CHECK-NEXT: lbzx 6, 3, 6
4440
; CHECK-NEXT: bdz .LBB0_4
4541
; CHECK-NEXT: .p2align 4
4642
; CHECK-NEXT: .LBB0_3:
47-
; CHECK-NEXT: clrldi 10, 8, 32
48-
; CHECK-NEXT: cntlzw 9, 6
49-
; CHECK-NEXT: xori 6, 5, 84
50-
; CHECK-NEXT: addi 8, 8, -1
51-
; CHECK-NEXT: lbz 5, 0(10)
52-
; CHECK-NEXT: addi 3, 3, 1
53-
; CHECK-NEXT: add 4, 4, 7
54-
; CHECK-NEXT: srwi 7, 9, 5
43+
; CHECK-NEXT: clrldi 11, 9, 32
44+
; CHECK-NEXT: cntlzw 10, 7
45+
; CHECK-NEXT: xori 7, 6, 84
46+
; CHECK-NEXT: addi 9, 9, -1
47+
; CHECK-NEXT: lbzx 6, 3, 11
48+
; CHECK-NEXT: addi 4, 4, 1
49+
; CHECK-NEXT: add 5, 5, 8
50+
; CHECK-NEXT: srwi 8, 10, 5
5551
; CHECK-NEXT: bdnz .LBB0_3
5652
; CHECK-NEXT: .LBB0_4:
57-
; CHECK-NEXT: add 4, 4, 7
53+
; CHECK-NEXT: add 5, 5, 8
5854
; CHECK-NEXT: .LBB0_5:
59-
; CHECK-NEXT: cntlzw 6, 6
60-
; CHECK-NEXT: srwi 6, 6, 5
61-
; CHECK-NEXT: add 4, 4, 6
55+
; CHECK-NEXT: cntlzw 3, 7
56+
; CHECK-NEXT: srwi 3, 3, 5
57+
; CHECK-NEXT: add 5, 5, 3
6258
; CHECK-NEXT: .LBB0_6:
63-
; CHECK-NEXT: xori 5, 5, 84
64-
; CHECK-NEXT: clrldi 3, 3, 32
65-
; CHECK-NEXT: li 7, 0
66-
; CHECK-NEXT: li 8, 3
67-
; CHECK-NEXT: std 3, 104(1)
68-
; CHECK-NEXT: cntlzw 5, 5
59+
; CHECK-NEXT: xori 3, 6, 84
60+
; CHECK-NEXT: mflr 0
61+
; CHECK-NEXT: cntlzw 3, 3
62+
; CHECK-NEXT: srwi 3, 3, 5
63+
; CHECK-NEXT: add 3, 5, 3
64+
; CHECK-NEXT: stdu 1, -128(1)
65+
; CHECK-NEXT: clrldi 6, 3, 32
6966
; CHECK-NEXT: addis 3, 2, .LC0@toc@ha
70-
; CHECK-NEXT: li 10, 0
71-
; CHECK-NEXT: ld 3, .LC0@toc@l(3)
72-
; CHECK-NEXT: srwi 5, 5, 5
73-
; CHECK-NEXT: add 4, 4, 5
7467
; CHECK-NEXT: li 5, 0
68+
; CHECK-NEXT: std 0, 144(1)
69+
; CHECK-NEXT: ld 3, .LC0@toc@l(3)
7570
; CHECK-NEXT: std 5, 120(1)
7671
; CHECK-NEXT: li 5, 3
77-
; CHECK-NEXT: clrldi 6, 4, 32
72+
; CHECK-NEXT: clrldi 4, 4, 32
73+
; CHECK-NEXT: std 4, 104(1)
7874
; CHECK-NEXT: li 4, 3
75+
; CHECK-NEXT: li 7, 0
76+
; CHECK-NEXT: li 8, 3
77+
; CHECK-NEXT: li 10, 0
7978
; CHECK-NEXT: std 5, 96(1)
8079
; CHECK-NEXT: li 5, 0
8180
; CHECK-NEXT: bl printf
@@ -92,7 +91,7 @@ define void @print_res() nounwind {
9291
%8 = trunc i64 %6 to i32
9392
%9 = sub i32 0, %8
9493
%10 = zext i32 %9 to i64
95-
%11 = getelementptr inbounds i8, ptr null, i64 %10
94+
%11 = getelementptr inbounds i8, ptr %p, i64 %10
9695
%12 = load i8, ptr %11, align 1
9796
%13 = icmp eq i8 %12, 84
9897
%14 = zext i1 %13 to i32

llvm/test/CodeGen/PowerPC/sms-phi.ll

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
; RUN: llc < %s -mtriple=powerpc64le-unknown-linux-gnu -verify-machineinstrs\
33
; RUN: -mcpu=pwr9 --ppc-enable-pipeliner -debug-only=pipeliner 2>&1 \
44
; RUN: >/dev/null | FileCheck %s
5-
define dso_local void @sha512() #0 {
5+
define dso_local void @sha512(ptr %p) #0 {
66
;CHECK: prolog:
77
;CHECK: %{{[0-9]+}}:g8rc = ADD8 %{{[0-9]+}}:g8rc, %{{[0-9]+}}:g8rc
88
;CHECK: epilog:
@@ -15,7 +15,7 @@ define dso_local void @sha512() #0 {
1515
%2 = phi i64 [ 0, %0 ], [ %12, %1 ]
1616
%3 = phi i64 [ undef, %0 ], [ %11, %1 ]
1717
%4 = phi i64 [ undef, %0 ], [ %3, %1 ]
18-
%5 = getelementptr inbounds [80 x i64], ptr null, i64 0, i64 %2
18+
%5 = getelementptr inbounds [80 x i64], ptr %p, i64 0, i64 %2
1919
%6 = load i64, ptr %5, align 8
2020
%7 = add i64 0, %6
2121
%8 = and i64 %3, %4

0 commit comments

Comments
 (0)