| // RUN: %clang_cc1 -Werror -triple powerpc-unknown-unknown -emit-llvm -o - %s | \ |
| // RUN: FileCheck %s --check-prefixes=PPC,PPC32 |
| // RUN: %clang_cc1 -Werror -triple powerpc64le-unknown-linux -emit-llvm -o - %s | \ |
| // RUN: FileCheck %s --check-prefixes=PPC,PPC64 |
| // RUN: %clang_cc1 -Werror -triple powerpc64le-unknown-linux -emit-llvm -o - %s \ |
| // RUN: -target-cpu pwr8 | FileCheck %s --check-prefixes=PPC,PPC64 |
| // RUN: %clang_cc1 -Werror -triple powerpc64-unknown-aix -emit-llvm -o - %s | \ |
| // RUN: FileCheck %s --check-prefixes=PPC,AIX64 |
| // RUN: %clang_cc1 -Werror -triple powerpc64-unknown-aix -emit-llvm -o - %s \ |
| // RUN: -target-cpu pwr8 | FileCheck %s --check-prefixes=PPC,AIX64 |
| |
| // PPC: @c = global i8 0, align 1{{$}} |
| _Atomic(char) c; |
| |
| // PPC: @s = global i16 0, align 2{{$}} |
| _Atomic(short) s; |
| |
| // PPC: @i = global i32 0, align 4{{$}} |
| _Atomic(int) i; |
| |
| // PPC32: @l = global i32 0, align 4{{$}} |
| // PPC64: @l = global i64 0, align 8{{$}} |
| // AIX64: @l = global i64 0, align 8{{$}} |
| _Atomic(long) l; |
| |
| // PPC: @ll = global i64 0, align 8{{$}} |
| _Atomic(long long) ll; |
| |
| typedef struct { |
| char x[8]; |
| } O; |
| |
| // PPC32: @o = global %struct.O zeroinitializer, align 1{{$}} |
| // PPC64: @o = global %struct.O zeroinitializer, align 8{{$}} |
| // AIX64: @o = global %struct.O zeroinitializer, align 8{{$}} |
| _Atomic(O) o; |
| |
| typedef struct { |
| char x[16]; |
| } Q; |
| |
| // PPC32: @q = global %struct.Q zeroinitializer, align 1{{$}} |
| // PPC64: @q = global %struct.Q zeroinitializer, align 16{{$}} |
| // AIX64: @q = global %struct.Q zeroinitializer, align 16{{$}} |
| _Atomic(Q) q; |