Lines Matching defs:PS

279 typedef struct { short x, y, z; } PS;
280 _Atomic PS testPromotedStructGlobal = (PS){1, 2, 3};
282 void testPromotedStruct(_Atomic(PS) *fp) {
285 // CHECK-NEXT: [[F:%.*]] = alloca [[PS:%.*]], align 2
289 // CHECK-NEXT: [[TMP2:%.*]] = alloca %struct.PS, align 2
296 // CHECK-NEXT: [[T1:%.*]] = getelementptr inbounds nuw [[PS]], ptr [[T0]], i32 0, i32 0
298 // CHECK-NEXT: [[T1:%.*]] = getelementptr inbounds nuw [[PS]], ptr [[T0]], i32 0, i32 1
300 // CHECK-NEXT: [[T1:%.*]] = getelementptr inbounds nuw [[PS]], ptr [[T0]], i32 0, i32 2
302 __c11_atomic_init(fp, (PS){1,2,3});
306 // CHECK-NEXT: [[T1:%.*]] = getelementptr inbounds nuw [[PS]], ptr [[T0]], i32 0, i32 0
308 // CHECK-NEXT: [[T1:%.*]] = getelementptr inbounds nuw [[PS]], ptr [[T0]], i32 0, i32 1
310 // CHECK-NEXT: [[T1:%.*]] = getelementptr inbounds nuw [[PS]], ptr [[T0]], i32 0, i32 2
312 _Atomic(PS) x = (PS){1,2,3};
318 PS f = *fp;
331 // CHECK-NEXT: [[T0:%.*]] = getelementptr inbounds nuw %struct.PS, ptr [[TMP2]], i32 0, i32 0
335 int a = ((PS)*fp).x;
340 PS test_promoted_load(_Atomic(PS) *addr) {
341 // CHECK-LABEL: @test_promoted_load(ptr dead_on_unwind noalias writable sret(%struct.PS) align 2 %agg.result, ptr noundef %addr)
343 // CHECK: [[ATOMIC_RES:%.*]] = alloca { %struct.PS, [2 x i8] }, align 8
352 void test_promoted_store(_Atomic(PS) *addr, PS *val) {
356 // CHECK: [[NONATOMIC_TMP:%.*]] = alloca %struct.PS, align 2
357 // CHECK: [[ATOMIC_VAL:%.*]] = alloca { %struct.PS, [2 x i8] }, align 8
369 PS test_promoted_exchange(_Atomic(PS) *addr, PS *val) {
370 // CHECK-LABEL: @test_promoted_exchange(ptr dead_on_unwind noalias writable sret(%struct.PS) align 2 %agg.result, ptr noundef %addr, ptr noundef %val)
373 // CHECK: [[NONATOMIC_TMP:%.*]] = alloca %struct.PS, align 2
374 // CHECK: [[ATOMIC_VAL:%.*]] = alloca { %struct.PS, [2 x i8] }, align 8
375 // CHECK: [[ATOMIC_RES:%.*]] = alloca { %struct.PS, [2 x i8] }, align 8
389 _Bool test_promoted_cmpxchg(_Atomic(PS) *addr, PS *desired, PS *new) {
394 // CHECK: [[NONATOMIC_TMP:%.*]] = alloca %struct.PS, align 2
395 // CHECK: [[ATOMIC_DESIRED:%.*]] = alloca { %struct.PS, [2 x i8] }, align 8
396 // CHECK: [[ATOMIC_NEW:%.*]] = alloca { %struct.PS, [2 x i8] }, align 8