diff options
author | Sanjay Patel <spatel@rotateright.com> | 2015-09-23 18:19:07 +0000 |
---|---|---|
committer | Sanjay Patel <spatel@rotateright.com> | 2015-09-23 18:19:07 +0000 |
commit | aba37553c43c691421279836eb4a524ff7f03ab5 (patch) | |
tree | dfe5a182054d162bdfa123570f35dc61ceea9ba0 /llvm/test/CodeGen/X86/fp-logic.ll | |
parent | e75405b4ea9d73a7f193126387287dd4b8e59d40 (diff) | |
download | bcm5719-llvm-aba37553c43c691421279836eb4a524ff7f03ab5.tar.gz bcm5719-llvm-aba37553c43c691421279836eb4a524ff7f03ab5.zip |
[x86] replace integer 'or' ops with packed SSE FP 'or' ops when operating on FP scalars
Turn this:
movd %xmm0, %eax
movd %xmm1, %ecx
orl %eax, %ecx
movd %ecx, %xmm0
into this:
orps %xmm1, %xmm0
This is related to, but does not solve:
https://llvm.org/bugs/show_bug.cgi?id=22428
This is an extension of:
http://reviews.llvm.org/rL248395
llvm-svn: 248409
Diffstat (limited to 'llvm/test/CodeGen/X86/fp-logic.ll')
-rw-r--r-- | llvm/test/CodeGen/X86/fp-logic.ll | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/llvm/test/CodeGen/X86/fp-logic.ll b/llvm/test/CodeGen/X86/fp-logic.ll index 0b714ffe36f..95f15789789 100644 --- a/llvm/test/CodeGen/X86/fp-logic.ll +++ b/llvm/test/CodeGen/X86/fp-logic.ll @@ -170,10 +170,7 @@ define float @f10(float %x, float %y) { define float @or(float %x, float %y) { ; CHECK-LABEL: or: ; CHECK: # BB#0: -; CHECK-NEXT: movd %xmm0, %eax -; CHECK-NEXT: movd %xmm1, %ecx -; CHECK-NEXT: orl %eax, %ecx -; CHECK-NEXT: movd %ecx, %xmm0 +; CHECK-NEXT: orps %xmm1, %xmm0 ; CHECK-NEXT: retq %bc1 = bitcast float %x to i32 |