66; RUN: -mcpu=pwr9 -ppc-asm-full-reg-names < %s \
77; RUN: | FileCheck %s --check-prefix=CHECK-BE
88
9- define void @test_us_lwat (ptr noundef %ptr , i32 noundef %value , ptr nocapture %resp ) {
10- ; CHECK-LABEL: test_us_lwat :
9+ define void @test_lwat (ptr noundef %ptr , i32 noundef %value , ptr nocapture %resp ) {
10+ ; CHECK-LABEL: test_lwat :
1111; CHECK: # %bb.0: # %entry
1212; CHECK-NEXT: mr r7, r4
1313; CHECK-NEXT: lwat r6, r3, 0
1414; CHECK-NEXT: stw r6, 0(r5)
1515; CHECK-NEXT: blr
1616;
17- ; CHECK-BE-LABEL: test_us_lwat :
17+ ; CHECK-BE-LABEL: test_lwat :
1818; CHECK-BE: # %bb.0: # %entry
1919; CHECK-BE-NEXT: mr r7, r4
2020; CHECK-BE-NEXT: lwat r6, r3, 0
@@ -26,15 +26,15 @@ entry:
2626 ret void
2727}
2828
29- define void @test_us_ldat (ptr noundef %ptr , i64 noundef %value , ptr nocapture %resp ) {
30- ; CHECK-LABEL: test_us_ldat :
29+ define void @test_ldat (ptr noundef %ptr , i64 noundef %value , ptr nocapture %resp ) {
30+ ; CHECK-LABEL: test_ldat :
3131; CHECK: # %bb.0: # %entry
3232; CHECK-NEXT: mr r7, r4
3333; CHECK-NEXT: ldat r6, r3, 3
3434; CHECK-NEXT: std r6, 0(r5)
3535; CHECK-NEXT: blr
3636;
37- ; CHECK-BE-LABEL: test_us_ldat :
37+ ; CHECK-BE-LABEL: test_ldat :
3838; CHECK-BE: # %bb.0: # %entry
3939; CHECK-BE-NEXT: mr r7, r4
4040; CHECK-BE-NEXT: ldat r6, r3, 3
@@ -46,45 +46,5 @@ entry:
4646 ret void
4747}
4848
49- define void @test_s_lwat (ptr noundef %ptr , i32 noundef %value , ptr nocapture %resp ) {
50- ; CHECK-LABEL: test_s_lwat:
51- ; CHECK: # %bb.0: # %entry
52- ; CHECK-NEXT: mr r7, r4
53- ; CHECK-NEXT: lwat r6, r3, 0
54- ; CHECK-NEXT: stw r6, 0(r5)
55- ; CHECK-NEXT: blr
56- ;
57- ; CHECK-BE-LABEL: test_s_lwat:
58- ; CHECK-BE: # %bb.0: # %entry
59- ; CHECK-BE-NEXT: mr r7, r4
60- ; CHECK-BE-NEXT: lwat r6, r3, 0
61- ; CHECK-BE-NEXT: stw r6, 0(r5)
62- ; CHECK-BE-NEXT: blr
63- entry:
64- %0 = tail call i32 @llvm.ppc.amo.lwat (ptr %ptr , i32 %value , i32 0 )
65- store i32 %0 , ptr %resp , align 4
66- ret void
67- }
68-
69- define void @test_s_ldat (ptr noundef %ptr , i64 noundef %value , ptr nocapture %resp ) {
70- ; CHECK-LABEL: test_s_ldat:
71- ; CHECK: # %bb.0: # %entry
72- ; CHECK-NEXT: mr r7, r4
73- ; CHECK-NEXT: ldat r6, r3, 5
74- ; CHECK-NEXT: std r6, 0(r5)
75- ; CHECK-NEXT: blr
76- ;
77- ; CHECK-BE-LABEL: test_s_ldat:
78- ; CHECK-BE: # %bb.0: # %entry
79- ; CHECK-BE-NEXT: mr r7, r4
80- ; CHECK-BE-NEXT: ldat r6, r3, 5
81- ; CHECK-BE-NEXT: std r6, 0(r5)
82- ; CHECK-BE-NEXT: blr
83- entry:
84- %0 = tail call i64 @llvm.ppc.amo.ldat (ptr %ptr , i64 %value , i32 5 )
85- store i64 %0 , ptr %resp , align 8
86- ret void
87- }
88-
8949declare i64 @llvm.ppc.amo.ldat (ptr , i64 , i32 immarg)
9050declare i32 @llvm.ppc.amo.lwat (ptr , i32 , i32 immarg)
0 commit comments