66; CHECK-NEXT: ld [[RR:r[0-9]+]], [[RD:(X|Y|Z)]]
77; CHECK-NEXT: ldd [[RR:r[0-9]+]], [[RD]]+1
88; CHECK-NEXT: out 63, r0
9- define i16 @atomic_load16 (i16* %foo ) {
10- %val = load atomic i16 , i16* %foo unordered , align 2
9+ define i16 @atomic_load16 (ptr %foo ) {
10+ %val = load atomic i16 , ptr %foo unordered , align 2
1111 ret i16 %val
1212}
1313
1414; CHECK-LABEL: atomic_load_swap16
1515; CHECK: call __sync_lock_test_and_set_2
16- define i16 @atomic_load_swap16 (i16* %foo ) {
17- %val = atomicrmw xchg i16* %foo , i16 13 seq_cst
16+ define i16 @atomic_load_swap16 (ptr %foo ) {
17+ %val = atomicrmw xchg ptr %foo , i16 13 seq_cst
1818 ret i16 %val
1919}
2020
2121; CHECK-LABEL: atomic_load_cmp_swap16
2222; CHECK: call __sync_val_compare_and_swap_2
23- define i16 @atomic_load_cmp_swap16 (i16* %foo ) {
24- %val = cmpxchg i16* %foo , i16 5 , i16 10 acq_rel monotonic
23+ define i16 @atomic_load_cmp_swap16 (ptr %foo ) {
24+ %val = cmpxchg ptr %foo , i16 5 , i16 10 acq_rel monotonic
2525 %value_loaded = extractvalue { i16 , i1 } %val , 0
2626 ret i16 %value_loaded
2727}
@@ -36,8 +36,8 @@ define i16 @atomic_load_cmp_swap16(i16* %foo) {
3636; CHECK-NEXT: std [[RR]]+1, [[RR1H]]
3737; CHECK-NEXT: st [[RR]], [[RR1L]]
3838; CHECK-NEXT: out 63, r0
39- define i16 @atomic_load_add16 (i16* %foo ) {
40- %val = atomicrmw add i16* %foo , i16 13 seq_cst
39+ define i16 @atomic_load_add16 (ptr %foo ) {
40+ %val = atomicrmw add ptr %foo , i16 13 seq_cst
4141 ret i16 %val
4242}
4343
@@ -52,8 +52,8 @@ define i16 @atomic_load_add16(i16* %foo) {
5252; CHECK-NEXT: std [[RR]]+1, [[TMPH]]
5353; CHECK-NEXT: st [[RR]], [[TMPL]]
5454; CHECK-NEXT: out 63, r0
55- define i16 @atomic_load_sub16 (i16* %foo ) {
56- %val = atomicrmw sub i16* %foo , i16 13 seq_cst
55+ define i16 @atomic_load_sub16 (ptr %foo ) {
56+ %val = atomicrmw sub ptr %foo , i16 13 seq_cst
5757 ret i16 %val
5858}
5959
@@ -67,8 +67,8 @@ define i16 @atomic_load_sub16(i16* %foo) {
6767; CHECK-NEXT: std [[RR]]+1, [[RD1H]]
6868; CHECK-NEXT: st [[RR]], [[RD1L]]
6969; CHECK-NEXT: out 63, r0
70- define i16 @atomic_load_and16 (i16* %foo ) {
71- %val = atomicrmw and i16* %foo , i16 13 seq_cst
70+ define i16 @atomic_load_and16 (ptr %foo ) {
71+ %val = atomicrmw and ptr %foo , i16 13 seq_cst
7272 ret i16 %val
7373}
7474
@@ -82,8 +82,8 @@ define i16 @atomic_load_and16(i16* %foo) {
8282; CHECK-NEXT: std [[RR]]+1, [[RD1H]]
8383; CHECK-NEXT: st [[RR]], [[RD1L]]
8484; CHECK-NEXT: out 63, r0
85- define i16 @atomic_load_or16 (i16* %foo ) {
86- %val = atomicrmw or i16* %foo , i16 13 seq_cst
85+ define i16 @atomic_load_or16 (ptr %foo ) {
86+ %val = atomicrmw or ptr %foo , i16 13 seq_cst
8787 ret i16 %val
8888}
8989
@@ -97,42 +97,42 @@ define i16 @atomic_load_or16(i16* %foo) {
9797; CHECK-NEXT: std [[RR]]+1, [[RD1H]]
9898; CHECK-NEXT: st [[RR]], [[RD1L]]
9999; CHECK-NEXT: out 63, r0
100- define i16 @atomic_load_xor16 (i16* %foo ) {
101- %val = atomicrmw xor i16* %foo , i16 13 seq_cst
100+ define i16 @atomic_load_xor16 (ptr %foo ) {
101+ %val = atomicrmw xor ptr %foo , i16 13 seq_cst
102102 ret i16 %val
103103}
104104
105105; CHECK-LABEL: atomic_load_nand16
106106; CHECK: call __sync_fetch_and_nand_2
107- define i16 @atomic_load_nand16 (i16* %foo ) {
108- %val = atomicrmw nand i16* %foo , i16 13 seq_cst
107+ define i16 @atomic_load_nand16 (ptr %foo ) {
108+ %val = atomicrmw nand ptr %foo , i16 13 seq_cst
109109 ret i16 %val
110110}
111111
112112; CHECK-LABEL: atomic_load_max16
113113; CHECK: call __sync_fetch_and_max_2
114- define i16 @atomic_load_max16 (i16* %foo ) {
115- %val = atomicrmw max i16* %foo , i16 13 seq_cst
114+ define i16 @atomic_load_max16 (ptr %foo ) {
115+ %val = atomicrmw max ptr %foo , i16 13 seq_cst
116116 ret i16 %val
117117}
118118
119119; CHECK-LABEL: atomic_load_min16
120120; CHECK: call __sync_fetch_and_min_2
121- define i16 @atomic_load_min16 (i16* %foo ) {
122- %val = atomicrmw min i16* %foo , i16 13 seq_cst
121+ define i16 @atomic_load_min16 (ptr %foo ) {
122+ %val = atomicrmw min ptr %foo , i16 13 seq_cst
123123 ret i16 %val
124124}
125125
126126; CHECK-LABEL: atomic_load_umax16
127127; CHECK: call __sync_fetch_and_umax_2
128- define i16 @atomic_load_umax16 (i16* %foo ) {
129- %val = atomicrmw umax i16* %foo , i16 13 seq_cst
128+ define i16 @atomic_load_umax16 (ptr %foo ) {
129+ %val = atomicrmw umax ptr %foo , i16 13 seq_cst
130130 ret i16 %val
131131}
132132
133133; CHECK-LABEL: atomic_load_umin16
134134; CHECK: call __sync_fetch_and_umin_2
135- define i16 @atomic_load_umin16 (i16* %foo ) {
136- %val = atomicrmw umin i16* %foo , i16 13 seq_cst
135+ define i16 @atomic_load_umin16 (ptr %foo ) {
136+ %val = atomicrmw umin ptr %foo , i16 13 seq_cst
137137 ret i16 %val
138138}
0 commit comments