diff options
author | Michael Liao <michael.liao@intel.com> | 2012-11-12 06:49:17 +0000 |
---|---|---|
committer | Michael Liao <michael.liao@intel.com> | 2012-11-12 06:49:17 +0000 |
commit | dd3383fd09b93a1b2d0cebb57f22e5aaf3eaa740 (patch) | |
tree | d8bb3d8bc8434f678f931f77e49b510143f26cde /test/CodeGen/X86/pr14314.ll | |
parent | 8ee3963409097ba9f7717c325ae6ebd821bc965b (diff) | |
download | external_llvm-dd3383fd09b93a1b2d0cebb57f22e5aaf3eaa740.zip external_llvm-dd3383fd09b93a1b2d0cebb57f22e5aaf3eaa740.tar.gz external_llvm-dd3383fd09b93a1b2d0cebb57f22e5aaf3eaa740.tar.bz2 |
Fix PR14314
- Fix operand order for atomic sub, where the minuend is the value
loaded from memory and the subtrahend is the parameter specified.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167718 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen/X86/pr14314.ll')
-rw-r--r-- | test/CodeGen/X86/pr14314.ll | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/test/CodeGen/X86/pr14314.ll b/test/CodeGen/X86/pr14314.ll new file mode 100644 index 0000000..5388a4b --- /dev/null +++ b/test/CodeGen/X86/pr14314.ll @@ -0,0 +1,13 @@ +; RUN: llc < %s -mtriple=i386-pc-linux -mcpu=corei7 | FileCheck %s + +define i64 @atomicSub(i64* %a, i64 %b) nounwind { +entry: + %0 = atomicrmw sub i64* %a, i64 %b seq_cst + ret i64 %0 +; CHECK: atomicSub +; movl %eax, %ebx +; subl {{%[a-z]+}}, %ebx +; movl %edx, %ecx +; sbbl {{%[a-z]+}}, %ecx +; CHECK: ret +} |