@@ -48,6 +48,30 @@ uint32_t test_lwat_swap(uint32_t *ptr, uint32_t val) {
4848 return amo_lwat_swap (ptr , val );
4949}
5050
51+ int32_t test_lwat_sadd (int32_t * ptr , int32_t val ) {
52+ // CHECK-LABEL: @test_lwat_sadd
53+ // CHECK: call i32 @llvm.ppc.amo.lwat(ptr %{{.*}}, i32 %{{.*}}, i32 0)
54+ return amo_lwat_sadd (ptr , val );
55+ }
56+
57+ int32_t test_lwat_smax (int32_t * ptr , int32_t val ) {
58+ // CHECK-LABEL: @test_lwat_smax
59+ // CHECK: call i32 @llvm.ppc.amo.lwat(ptr %{{.*}}, i32 %{{.*}}, i32 5)
60+ return amo_lwat_smax (ptr , val );
61+ }
62+
63+ int32_t test_lwat_smin (int32_t * ptr , int32_t val ) {
64+ // CHECK-LABEL: @test_lwat_smin
65+ // CHECK: call i32 @llvm.ppc.amo.lwat(ptr %{{.*}}, i32 %{{.*}}, i32 7)
66+ return amo_lwat_smin (ptr , val );
67+ }
68+
69+ int32_t test_lwat_sswap (int32_t * ptr , int32_t val ) {
70+ // CHECK-LABEL: @test_lwat_sswap
71+ // CHECK: call i32 @llvm.ppc.amo.lwat(ptr %{{.*}}, i32 %{{.*}}, i32 8)
72+ return amo_lwat_sswap (ptr , val );
73+ }
74+
5175uint64_t test_ldat_add (uint64_t * ptr , uint64_t val ) {
5276 // CHECK-LABEL: @test_ldat_add
5377 // CHECK: call i64 @llvm.ppc.amo.ldat(ptr %{{.*}}, i64 %{{.*}}, i32 0)
@@ -89,3 +113,27 @@ uint64_t test_ldat_swap(uint64_t *ptr, uint64_t val) {
89113 // CHECK: call i64 @llvm.ppc.amo.ldat(ptr %{{.*}}, i64 %{{.*}}, i32 8)
90114 return amo_ldat_swap (ptr , val );
91115}
116+
117+ int64_t test_ldat_sadd (int64_t * ptr , int64_t val ) {
118+ // CHECK-LABEL: @test_ldat_sadd
119+ // CHECK: call i64 @llvm.ppc.amo.ldat(ptr %{{.*}}, i64 %{{.*}}, i32 0)
120+ return amo_ldat_sadd (ptr , val );
121+ }
122+
123+ int64_t test_ldat_smax (int64_t * ptr , int64_t val ) {
124+ // CHECK-LABEL: @test_ldat_smax
125+ // CHECK: call i64 @llvm.ppc.amo.ldat(ptr %{{.*}}, i64 %{{.*}}, i32 5)
126+ return amo_ldat_smax (ptr , val );
127+ }
128+
129+ int64_t test_ldat_smin (int64_t * ptr , int64_t val ) {
130+ // CHECK-LABEL: @test_ldat_smin
131+ // CHECK: call i64 @llvm.ppc.amo.ldat(ptr %{{.*}}, i64 %{{.*}}, i32 7)
132+ return amo_ldat_smin (ptr , val );
133+ }
134+
135+ int64_t test_ldat_sswap (int64_t * ptr , int64_t val ) {
136+ // CHECK-LABEL: @test_ldat_sswap
137+ // CHECK: call i64 @llvm.ppc.amo.ldat(ptr %{{.*}}, i64 %{{.*}}, i32 8)
138+ return amo_ldat_sswap (ptr , val );
139+ }
0 commit comments