Home | History | Annotate | Download | only in CodeGen

Lines Matching refs:addr

9 int test_ldrex(char *addr, long long *addr64, float *addrfloat) {
13 sum += __builtin_arm_ldrex(addr);
14 // CHECK: [[INTRES:%.*]] = call i32 @llvm.arm.ldrex.p0i8(i8* %addr)
17 // CHECK-ARM64: [[INTRES:%.*]] = call i64 @llvm.aarch64.ldxr.p0i8(i8* %addr)
20 sum += __builtin_arm_ldrex((short *)addr);
21 // CHECK: [[ADDR16:%.*]] = bitcast i8* %addr to i16*
25 // CHECK-ARM64: [[ADDR16:%.*]] = bitcast i8* %addr to i16*
29 sum += __builtin_arm_ldrex((int *)addr);
30 // CHECK: [[ADDR32:%.*]] = bitcast i8* %addr to i32*
33 // CHECK-ARM64: [[ADDR32:%.*]] = bitcast i8* %addr to i32*
37 sum += __builtin_arm_ldrex((long long *)addr);
38 // CHECK: [[TMP4:%.*]] = bitcast i8* %addr to i64*
42 // CHECK-ARM64: [[ADDR64:%.*]] = bitcast i8* %addr to i64*
61 sum += __builtin_arm_ldrex((double *)addr);
62 // CHECK: [[TMP4:%.*]] = bitcast i8* %addr to double*
73 // CHECK-ARM64: [[TMP4:%.*]] = bitcast i8* %addr to double*
78 sum += *__builtin_arm_ldrex((int **)addr);
79 // CHECK: [[TMP4:%.*]] = bitcast i8* %addr to i32**
84 // CHECK-ARM64: [[TMP4:%.*]] = bitcast i8* %addr to i32**
89 sum += __builtin_arm_ldrex((struct Simple **)addr)->a;
90 // CHECK: [[TMP4:%.*]] = bitcast i8* %addr to %struct.Simple**
95 // CHECK-ARM64: [[TMP4:%.*]] = bitcast i8* %addr to %struct.Simple**
102 int test_ldaex(char *addr, long long *addr64, float *addrfloat) {
106 sum += __builtin_arm_ldaex(addr);
107 // CHECK: [[INTRES:%.*]] = call i32 @llvm.arm.ldaex.p0i8(i8* %addr)
110 // CHECK-ARM64: [[INTRES:%.*]] = call i64 @llvm.aarch64.ldaxr.p0i8(i8* %addr)
113 sum += __builtin_arm_ldaex((short *)addr);
114 // CHECK: [[ADDR16:%.*]] = bitcast i8* %addr to i16*
118 // CHECK-ARM64: [[ADDR16:%.*]] = bitcast i8* %addr to i16*
122 sum += __builtin_arm_ldaex((int *)addr);
123 // CHECK: [[ADDR32:%.*]] = bitcast i8* %addr to i32*
126 // CHECK-ARM64: [[ADDR32:%.*]] = bitcast i8* %addr to i32*
130 sum += __builtin_arm_ldaex((long long *)addr);
131 // CHECK: [[TMP4:%.*]] = bitcast i8* %addr to i64*
135 // CHECK-ARM64: [[ADDR64:%.*]] = bitcast i8* %addr to i64*
154 sum += __builtin_arm_ldaex((double *)addr);
155 // CHECK: [[TMP4:%.*]] = bitcast i8* %addr to double*
166 // CHECK-ARM64: [[TMP4:%.*]] = bitcast i8* %addr to double*
171 sum += *__builtin_arm_ldaex((int **)addr);
172 // CHECK: [[TMP4:%.*]] = bitcast i8* %addr to i32**
177 // CHECK-ARM64: [[TMP4:%.*]] = bitcast i8* %addr to i32**
182 sum += __builtin_arm_ldaex((struct Simple **)addr)->a;
183 // CHECK: [[TMP4:%.*]] = bitcast i8* %addr to %struct.Simple**
188 // CHECK-ARM64: [[TMP4:%.*]] = bitcast i8* %addr to %struct.Simple**
195 int test_strex(char *addr) {
200 res |= __builtin_arm_strex(4, addr);
201 // CHECK: call i32 @llvm.arm.strex.p0i8(i32 4, i8* %addr)
203 // CHECK-ARM64: call i32 @llvm.aarch64.stxr.p0i8(i64 4, i8* %addr)
205 res |= __builtin_arm_strex(42, (short *)addr);
206 // CHECK: [[ADDR16:%.*]] = bitcast i8* %addr to i16*
209 // CHECK-ARM64: [[ADDR16:%.*]] = bitcast i8* %addr to i16*
212 res |= __builtin_arm_strex(42, (int *)addr);
213 // CHECK: [[ADDR32:%.*]] = bitcast i8* %addr to i32*
216 // CHECK-ARM64: [[ADDR32:%.*]] = bitcast i8* %addr to i32*
219 res |= __builtin_arm_strex(42, (long long *)addr);
225 // CHECK: [[TMP4:%.*]] = bitcast i8* %addr to i64*
229 // CHECK-ARM64: [[ADDR64:%.*]] = bitcast i8* %addr to i64*
232 res |= __builtin_arm_strex(2.71828f, (float *)addr);
233 // CHECK: [[TMP4:%.*]] = bitcast i8* %addr to float*
237 // CHECK-ARM64: [[TMP4:%.*]] = bitcast i8* %addr to float*
241 res |= __builtin_arm_strex(3.14159, (double *)addr);
247 // CHECK: [[TMP4:%.*]] = bitcast i8* %addr to double*
251 // CHECK-ARM64: [[TMP4:%.*]] = bitcast i8* %addr to double*
255 res |= __builtin_arm_strex(&var, (struct Simple **)addr);
256 // CHECK: [[TMP4:%.*]] = bitcast i8* %addr to %struct.Simple**
261 // CHECK-ARM64: [[TMP4:%.*]] = bitcast i8* %addr to %struct.Simple**
269 int test_stlex(char *addr) {
274 res |= __builtin_arm_stlex(4, addr);
275 // CHECK: call i32 @llvm.arm.stlex.p0i8(i32 4, i8* %addr)
277 // CHECK-ARM64: call i32 @llvm.aarch64.stlxr.p0i8(i64 4, i8* %addr)
279 res |= __builtin_arm_stlex(42, (short *)addr);
280 // CHECK: [[ADDR16:%.*]] = bitcast i8* %addr to i16*
283 // CHECK-ARM64: [[ADDR16:%.*]] = bitcast i8* %addr to i16*
286 res |= __builtin_arm_stlex(42, (int *)addr);
287 // CHECK: [[ADDR32:%.*]] = bitcast i8* %addr to i32*
290 // CHECK-ARM64: [[ADDR32:%.*]] = bitcast i8* %addr to i32*
293 res |= __builtin_arm_stlex(42, (long long *)addr);
299 // CHECK: [[TMP4:%.*]] = bitcast i8* %addr to i64*
303 // CHECK-ARM64: [[ADDR64:%.*]] = bitcast i8* %addr to i64*
306 res |= __builtin_arm_stlex(2.71828f, (float *)addr);
307 // CHECK: [[TMP4:%.*]] = bitcast i8* %addr to float*
311 // CHECK-ARM64: [[TMP4:%.*]] = bitcast i8* %addr to float*
315 res |= __builtin_arm_stlex(3.14159, (double *)addr);
321 // CHECK: [[TMP4:%.*]] = bitcast i8* %addr to double*
325 // CHECK-ARM64: [[TMP4:%.*]] = bitcast i8* %addr to double*
329 res |= __builtin_arm_stlex(&var, (struct Simple **)addr);
330 // CHECK: [[TMP4:%.*]] = bitcast i8* %addr to %struct.Simple**
335 // CHECK-ARM64: [[TMP4:%.*]] = bitcast i8* %addr to %struct.Simple**
355 __int128 test_ldrex_128(__int128 *addr) {
358 return __builtin_arm_ldrex(addr);
359 // CHECK-ARM64: [[ADDR8:%.*]] = bitcast i128* %addr to i8*
370 int test_strex_128(__int128 *addr, __int128 val) {
373 return __builtin_arm_strex(val, addr);
379 // CHECK-ARM64: [[ADDR8:%.*]] = bitcast i128* %addr to i8*
383 __int128 test_ldaex_128(__int128 *addr) {
386 return __builtin_arm_ldaex(addr);
387 // CHECK-ARM64: [[ADDR8:%.*]] = bitcast i128* %addr to i8*
398 int test_stlex_128(__int128 *addr, __int128 val) {
401 return __builtin_arm_stlex(val, addr);
407 // CHECK-ARM64: [[ADDR8:%.*]] = bitcast i128* %addr to i8*