diff options
Diffstat (limited to 'llvm/test/CodeGen/X86/half.ll')
| -rw-r--r-- | llvm/test/CodeGen/X86/half.ll | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/llvm/test/CodeGen/X86/half.ll b/llvm/test/CodeGen/X86/half.ll index b6a4a12eb0fa..542cc76d56c0 100644 --- a/llvm/test/CodeGen/X86/half.ll +++ b/llvm/test/CodeGen/X86/half.ll @@ -1251,23 +1251,21 @@ define <8 x half> @select(i1 %c, <8 x half> %x, <8 x half> %y) { define <8 x half> @shuffle(ptr %p) { ; CHECK-LIBCALL-LABEL: shuffle: ; CHECK-LIBCALL: # %bb.0: -; CHECK-LIBCALL-NEXT: movdqu (%rdi), %xmm0 -; CHECK-LIBCALL-NEXT: pshufhw {{.*#+}} xmm0 = xmm0[0,1,2,3,4,4,4,4] -; CHECK-LIBCALL-NEXT: pshufd {{.*#+}} xmm0 = xmm0[2,3,2,3] +; CHECK-LIBCALL-NEXT: pinsrw $0, 8(%rdi), %xmm0 +; CHECK-LIBCALL-NEXT: pshuflw {{.*#+}} xmm0 = xmm0[0,0,0,0,4,5,6,7] ; CHECK-LIBCALL-NEXT: retq ; ; BWON-F16C-LABEL: shuffle: ; BWON-F16C: # %bb.0: -; BWON-F16C-NEXT: vpshufhw {{.*#+}} xmm0 = mem[0,1,2,3,4,4,4,4] -; BWON-F16C-NEXT: vpshufd {{.*#+}} xmm0 = xmm0[2,3,2,3] +; BWON-F16C-NEXT: vpinsrw $0, 8(%rdi), %xmm0, %xmm0 +; BWON-F16C-NEXT: vpshuflw {{.*#+}} xmm0 = xmm0[0,0,0,0,4,5,6,7] ; BWON-F16C-NEXT: retq ; ; CHECK-I686-LABEL: shuffle: ; CHECK-I686: # %bb.0: ; CHECK-I686-NEXT: movl {{[0-9]+}}(%esp), %eax -; CHECK-I686-NEXT: movdqu (%eax), %xmm0 -; CHECK-I686-NEXT: pshufhw {{.*#+}} xmm0 = xmm0[0,1,2,3,4,4,4,4] -; CHECK-I686-NEXT: pshufd {{.*#+}} xmm0 = xmm0[2,3,2,3] +; CHECK-I686-NEXT: pinsrw $0, 8(%eax), %xmm0 +; CHECK-I686-NEXT: pshuflw {{.*#+}} xmm0 = xmm0[0,0,0,0,4,5,6,7] ; CHECK-I686-NEXT: retl %1 = load <8 x half>, ptr %p, align 8 %2 = shufflevector <8 x half> %1, <8 x half> poison, <8 x i32> <i32 4, i32 4, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef> |
