diff options
author | Michael Liao <michael.liao@intel.com> | 2012-09-21 03:18:52 +0000 |
---|---|---|
committer | Michael Liao <michael.liao@intel.com> | 2012-09-21 03:18:52 +0000 |
commit | fe87c302aa600fdac6d80349cde21e06337f8bfe (patch) | |
tree | dfc8fa592e7d9929d76d05f13ca492ff68088169 /test/CodeGen/X86 | |
parent | 0838249a6a327ad0e1a909d1d4e2077b23b4a272 (diff) | |
download | llvm-fe87c302aa600fdac6d80349cde21e06337f8bfe.tar.gz llvm-fe87c302aa600fdac6d80349cde21e06337f8bfe.tar.bz2 llvm-fe87c302aa600fdac6d80349cde21e06337f8bfe.tar.xz |
Add missing i8 max/min/umax/umin support
- Fix PR5145 and turn on test 8-bit atomic ops
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164358 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen/X86')
-rw-r--r-- | test/CodeGen/X86/atomic8.ll | 1 | ||||
-rw-r--r-- | test/CodeGen/X86/pr5145.ll | 35 |
2 files changed, 35 insertions, 1 deletions
diff --git a/test/CodeGen/X86/atomic8.ll b/test/CodeGen/X86/atomic8.ll index 035a28dbff..412428406d 100644 --- a/test/CodeGen/X86/atomic8.ll +++ b/test/CodeGen/X86/atomic8.ll @@ -1,6 +1,5 @@ ; RUN: llc < %s -O0 -march=x86-64 -mcpu=corei7 | FileCheck %s --check-prefix X64 ; RUN: llc < %s -O0 -march=x86 -mcpu=corei7 | FileCheck %s --check-prefix X32 -; XFAIL: * @sc8 = external global i8 diff --git a/test/CodeGen/X86/pr5145.ll b/test/CodeGen/X86/pr5145.ll new file mode 100644 index 0000000000..06ecd7a145 --- /dev/null +++ b/test/CodeGen/X86/pr5145.ll @@ -0,0 +1,35 @@ +; RUN: llc -march=x86-64 < %s | FileCheck %s +@sc8 = external global i8 + +define void @atomic_maxmin_i8() { +; CHECK: atomic_maxmin_i8 + %1 = atomicrmw max i8* @sc8, i8 5 acquire +; CHECK: [[LABEL:.LBB[0-9]+_[0-9]+]] +; CHECK: cmpb +; CHECK: cmovl +; CHECK: lock +; CHECK-NEXT: cmpxchgb +; CHECK: jne [[LABEL]] + %2 = atomicrmw min i8* @sc8, i8 6 acquire +; CHECK: [[LABEL:.LBB[0-9]+_[0-9]+]] +; CHECK: cmpb +; CHECK: cmovg +; CHECK: lock +; CHECK-NEXT: cmpxchgb +; CHECK: jne [[LABEL]] + %3 = atomicrmw umax i8* @sc8, i8 7 acquire +; CHECK: [[LABEL:.LBB[0-9]+_[0-9]+]] +; CHECK: cmpb +; CHECK: cmovb +; CHECK: lock +; CHECK-NEXT: cmpxchgb +; CHECK: jne [[LABEL]] + %4 = atomicrmw umin i8* @sc8, i8 8 acquire +; CHECK: [[LABEL:.LBB[0-9]+_[0-9]+]] +; CHECK: cmpb +; CHECK: cmova +; CHECK: lock +; CHECK-NEXT: cmpxchgb +; CHECK: jne [[LABEL]] + ret void +} |