diff options
| author | Craig Topper <craig.topper@intel.com> | 2018-07-02 17:01:54 +0000 |
|---|---|---|
| committer | Craig Topper <craig.topper@intel.com> | 2018-07-02 17:01:54 +0000 |
| commit | 56440b974539dea36431e1b2a0da33d462367a09 (patch) | |
| tree | 726f96ff5f97079e96ae8a3b6e2c35bb66dc5ce5 /llvm/test/CodeGen/X86 | |
| parent | 846f2436e8cdebc963c5920a0579dd8af643513f (diff) | |
| download | bcm5719-llvm-56440b974539dea36431e1b2a0da33d462367a09.tar.gz bcm5719-llvm-56440b974539dea36431e1b2a0da33d462367a09.zip | |
[X86] Don't use aligned load/store instructions for fp128 if the load/store isn't aligned.
Similarily, don't fold fp128 loads into SSE instructions if the load isn't aligned. Unless we're targeting an AMD CPU that doesn't check alignment on arithmetic instructions.
Should fix PR38001
llvm-svn: 336121
Diffstat (limited to 'llvm/test/CodeGen/X86')
| -rw-r--r-- | llvm/test/CodeGen/X86/extract-store.ll | 4 | ||||
| -rw-r--r-- | llvm/test/CodeGen/X86/fp128-select.ll | 2 |
2 files changed, 3 insertions, 3 deletions
diff --git a/llvm/test/CodeGen/X86/extract-store.ll b/llvm/test/CodeGen/X86/extract-store.ll index 871d66d6e84..41c2f5c495b 100644 --- a/llvm/test/CodeGen/X86/extract-store.ll +++ b/llvm/test/CodeGen/X86/extract-store.ll @@ -554,7 +554,7 @@ define void @extract_f128_0(fp128* nocapture %dst, <2 x fp128> %foo) nounwind { ; ; SSE-F128-LABEL: extract_f128_0: ; SSE-F128: # %bb.0: -; SSE-F128-NEXT: movaps %xmm0, (%rdi) +; SSE-F128-NEXT: movups %xmm0, (%rdi) ; SSE-F128-NEXT: retq %vecext = extractelement <2 x fp128> %foo, i32 0 store fp128 %vecext, fp128* %dst, align 1 @@ -606,7 +606,7 @@ define void @extract_f128_1(fp128* nocapture %dst, <2 x fp128> %foo) nounwind { ; ; SSE-F128-LABEL: extract_f128_1: ; SSE-F128: # %bb.0: -; SSE-F128-NEXT: movaps %xmm1, (%rdi) +; SSE-F128-NEXT: movups %xmm1, (%rdi) ; SSE-F128-NEXT: retq %vecext = extractelement <2 x fp128> %foo, i32 1 store fp128 %vecext, fp128* %dst, align 1 diff --git a/llvm/test/CodeGen/X86/fp128-select.ll b/llvm/test/CodeGen/X86/fp128-select.ll index 85f7d97c985..503c7a9291e 100644 --- a/llvm/test/CodeGen/X86/fp128-select.ll +++ b/llvm/test/CodeGen/X86/fp128-select.ll @@ -18,7 +18,7 @@ define void @test_select(fp128* %p, fp128* %q, i1 zeroext %c) { ; MMX-NEXT: movaps %xmm0, (%rsi) ; MMX-NEXT: retq ; MMX-NEXT: .LBB0_1: -; MMX-NEXT: movaps (%rdi), %xmm0 +; MMX-NEXT: movups (%rdi), %xmm0 ; MMX-NEXT: movaps %xmm0, (%rsi) ; MMX-NEXT: retq ; |

