diff options
author | Douglas Katzman <dougk@google.com> | 2016-11-09 15:43:51 +0000 |
---|---|---|
committer | Douglas Katzman <dougk@google.com> | 2016-11-09 15:43:51 +0000 |
commit | 13f4a91a1fe9341812bf698f4fa6b5cb2a37ebd0 (patch) | |
tree | 8716a93473b0ed332f6a90b6fcc94fc960c688e7 /clang/test | |
parent | dfa7af1edd028913f6b62f55afd7f23ba6ca1d4f (diff) | |
download | bcm5719-llvm-13f4a91a1fe9341812bf698f4fa6b5cb2a37ebd0.tar.gz bcm5719-llvm-13f4a91a1fe9341812bf698f4fa6b5cb2a37ebd0.zip |
[Sparc] LLONG is not lock-free atomic on v8
Differential Revision: https://reviews.llvm.org/D26286
llvm-svn: 286376
Diffstat (limited to 'clang/test')
-rw-r--r-- | clang/test/CodeGen/atomics-inlining.c | 13 | ||||
-rw-r--r-- | clang/test/Preprocessor/init.c | 1 |
2 files changed, 9 insertions, 5 deletions
diff --git a/clang/test/CodeGen/atomics-inlining.c b/clang/test/CodeGen/atomics-inlining.c index 4974f22e3a4..907774626c7 100644 --- a/clang/test/CodeGen/atomics-inlining.c +++ b/clang/test/CodeGen/atomics-inlining.c @@ -3,7 +3,8 @@ // RUN: %clang_cc1 -triple powerpc64-linux-gnu -emit-llvm %s -o - | FileCheck %s -check-prefix=PPC64 // RUN: %clang_cc1 -triple mipsel-linux-gnu -emit-llvm %s -o - | FileCheck %s -check-prefix=MIPS32 // RUN: %clang_cc1 -triple mips64el-linux-gnu -emit-llvm %s -o - | FileCheck %s -check-prefix=MIPS64 -// RUN: %clang_cc1 -triple sparc-unknown-eabi -emit-llvm %s -o - | FileCheck %s -check-prefix=SPARC +// RUN: %clang_cc1 -triple sparc-unknown-eabi -emit-llvm %s -o - | FileCheck %s -check-prefix=SPARCV8 -check-prefix=SPARC +// RUN: %clang_cc1 -triple sparcv9-unknown-eabi -emit-llvm %s -o - | FileCheck %s -check-prefix=SPARCV9 -check-prefix=SPARC unsigned char c1, c2; unsigned short s1, s2; @@ -99,8 +100,10 @@ void test1(void) { // SPARC: store atomic i16 {{.*}}, i16* @s1 seq_cst // SPARC: = load atomic i32, i32* @i1 seq_cst // SPARC: store atomic i32 {{.*}}, i32* @i1 seq_cst -// SPARC: = load atomic i64, i64* @ll1 seq_cst -// SPARC: store atomic i64 {{.*}}, i64* @ll1 seq_cst -// SPARC: call void @__atomic_load(i32 100, i8* getelementptr inbounds ([100 x i8], [100 x i8]* @a1, i32 0, i32 0), i8* getelementptr inbounds ([100 x i8], [100 x i8]* @a2, i32 0, i32 0) -// SPARC: call void @__atomic_store(i32 100, i8* getelementptr inbounds ([100 x i8], [100 x i8]* @a1, i32 0, i32 0), i8* getelementptr inbounds ([100 x i8], [100 x i8]* @a2, i32 0, i32 0) +// SPARCV8: call i64 @__atomic_load_8(i8* bitcast (i64* @ll1 to i8*) +// SPARCV8: call void @__atomic_store_8(i8* bitcast (i64* @ll1 to i8*), i64 +// SPARCV9: load atomic i64, i64* @ll1 seq_cst, align 8 +// SPARCV9: store atomic i64 %7, i64* @ll1 seq_cst, align 8 +// SPARCV8: call void @__atomic_load(i32 100, i8* getelementptr inbounds ([100 x i8], [100 x i8]* @a1, i32 0, i32 0), i8* getelementptr inbounds ([100 x i8], [100 x i8]* @a2, i32 0, i32 0) +// SPARCV8: call void @__atomic_store(i32 100, i8* getelementptr inbounds ([100 x i8], [100 x i8]* @a1, i32 0, i32 0), i8* getelementptr inbounds ([100 x i8], [100 x i8]* @a2, i32 0, i32 0) } diff --git a/clang/test/Preprocessor/init.c b/clang/test/Preprocessor/init.c index c541faa7ccd..1fe239cdaed 100644 --- a/clang/test/Preprocessor/init.c +++ b/clang/test/Preprocessor/init.c @@ -6913,6 +6913,7 @@ // SPARC:#define __FLT_MIN_EXP__ (-125) // SPARC:#define __FLT_MIN__ 1.17549435e-38F // SPARC:#define __FLT_RADIX__ 2 +// SPARC:#define __GCC_ATOMIC_LLONG_LOCK_FREE 1 // SPARC:#define __INT16_C_SUFFIX__ // SPARC:#define __INT16_FMTd__ "hd" // SPARC:#define __INT16_FMTi__ "hi" |