diff options
Diffstat (limited to 'llvm/test/CodeGen/X86/vec_fptrunc.ll')
| -rw-r--r-- | llvm/test/CodeGen/X86/vec_fptrunc.ll | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/llvm/test/CodeGen/X86/vec_fptrunc.ll b/llvm/test/CodeGen/X86/vec_fptrunc.ll index e7318d9d697..bb6be6cd9e8 100644 --- a/llvm/test/CodeGen/X86/vec_fptrunc.ll +++ b/llvm/test/CodeGen/X86/vec_fptrunc.ll @@ -99,8 +99,9 @@ define void @fptrunc_frommem8(<8 x double>* %in, <8 x float>* %out) { ; X32-AVX-NEXT: movl {{[0-9]+}}(%esp), %ecx ; X32-AVX-NEXT: vcvtpd2psy (%ecx), %xmm0 ; X32-AVX-NEXT: vcvtpd2psy 32(%ecx), %xmm1 -; X32-AVX-NEXT: vmovupd %xmm1, 16(%eax) -; X32-AVX-NEXT: vmovupd %xmm0, (%eax) +; X32-AVX-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm0 +; X32-AVX-NEXT: vmovups %ymm0, (%eax) +; X32-AVX-NEXT: vzeroupper ; X32-AVX-NEXT: retl ; ; X64-SSE-LABEL: fptrunc_frommem8: @@ -119,8 +120,9 @@ define void @fptrunc_frommem8(<8 x double>* %in, <8 x float>* %out) { ; X64-AVX: # %bb.0: # %entry ; X64-AVX-NEXT: vcvtpd2psy (%rdi), %xmm0 ; X64-AVX-NEXT: vcvtpd2psy 32(%rdi), %xmm1 -; X64-AVX-NEXT: vmovupd %xmm1, 16(%rsi) -; X64-AVX-NEXT: vmovupd %xmm0, (%rsi) +; X64-AVX-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm0 +; X64-AVX-NEXT: vmovups %ymm0, (%rsi) +; X64-AVX-NEXT: vzeroupper ; X64-AVX-NEXT: retq entry: %0 = load <8 x double>, <8 x double>* %in |

