summaryrefslogtreecommitdiff
path: root/test/CodeGen/X86/pr13577.ll
diff options
context:
space:
mode:
authorMichael Liao <michael.liao@intel.com>2012-08-11 23:47:06 +0000
committerMichael Liao <michael.liao@intel.com>2012-08-11 23:47:06 +0000
commit9eac20ac88b82d39aaac9838631f268f3ef69d2c (patch)
tree563c5e80b97c8b28c20ff2c1a90de82fd76f8600 /test/CodeGen/X86/pr13577.ll
parent235e2e6f0dc8b715ea5b5c005022f04778c6fcb3 (diff)
downloadllvm-9eac20ac88b82d39aaac9838631f268f3ef69d2c.tar.gz
llvm-9eac20ac88b82d39aaac9838631f268f3ef69d2c.tar.bz2
llvm-9eac20ac88b82d39aaac9838631f268f3ef69d2c.tar.xz
fix PR13577, an issue introduced by r161687
- FCMOV only supports a subset of X86 conditions. Skip boolean simplification if X86 condition is not valid for FCMOV. - add a minimal test case for PR13577. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@161732 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen/X86/pr13577.ll')
-rw-r--r--test/CodeGen/X86/pr13577.ll8
1 files changed, 8 insertions, 0 deletions
diff --git a/test/CodeGen/X86/pr13577.ll b/test/CodeGen/X86/pr13577.ll
new file mode 100644
index 0000000000..faaec262cb
--- /dev/null
+++ b/test/CodeGen/X86/pr13577.ll
@@ -0,0 +1,8 @@
+; RUN: llc < %s -march=x86-64
+
+define x86_fp80 @foo(x86_fp80 %a) {
+ %1 = tail call x86_fp80 @copysignl(x86_fp80 0xK7FFF8000000000000000, x86_fp80 %a) nounwind readnone
+ ret x86_fp80 %1
+}
+
+declare x86_fp80 @copysignl(x86_fp80, x86_fp80) nounwind readnone