diff options
Diffstat (limited to 'llvm/test/CodeGen/X86/vector-shift-shl-256.ll')
| -rw-r--r-- | llvm/test/CodeGen/X86/vector-shift-shl-256.ll | 15 |
1 files changed, 5 insertions, 10 deletions
diff --git a/llvm/test/CodeGen/X86/vector-shift-shl-256.ll b/llvm/test/CodeGen/X86/vector-shift-shl-256.ll index bc7d20cd86d..00d04063301 100644 --- a/llvm/test/CodeGen/X86/vector-shift-shl-256.ll +++ b/llvm/test/CodeGen/X86/vector-shift-shl-256.ll @@ -348,8 +348,7 @@ define <16 x i16> @splatvar_shift_v16i16(<16 x i16> %a, <16 x i16> %b) nounwind ; AVX1-LABEL: splatvar_shift_v16i16: ; AVX1: # BB#0: ; AVX1-NEXT: vextractf128 $1, %ymm0, %xmm2 -; AVX1-NEXT: vmovd %xmm1, %eax -; AVX1-NEXT: movzwl %ax, %eax +; AVX1-NEXT: vpextrw $0, %xmm1, %eax ; AVX1-NEXT: vmovd %eax, %xmm1 ; AVX1-NEXT: vpsllw %xmm1, %xmm2, %xmm2 ; AVX1-NEXT: vpsllw %xmm1, %xmm0, %xmm0 @@ -358,8 +357,7 @@ define <16 x i16> @splatvar_shift_v16i16(<16 x i16> %a, <16 x i16> %b) nounwind ; ; AVX2-LABEL: splatvar_shift_v16i16: ; AVX2: # BB#0: -; AVX2-NEXT: vmovd %xmm1, %eax -; AVX2-NEXT: movzwl %ax, %eax +; AVX2-NEXT: vpextrw $0, %xmm1, %eax ; AVX2-NEXT: vmovd %eax, %xmm1 ; AVX2-NEXT: vpsllw %xmm1, %ymm0, %ymm0 ; AVX2-NEXT: retq @@ -367,8 +365,7 @@ define <16 x i16> @splatvar_shift_v16i16(<16 x i16> %a, <16 x i16> %b) nounwind ; XOPAVX1-LABEL: splatvar_shift_v16i16: ; XOPAVX1: # BB#0: ; XOPAVX1-NEXT: vextractf128 $1, %ymm0, %xmm2 -; XOPAVX1-NEXT: vmovd %xmm1, %eax -; XOPAVX1-NEXT: movzwl %ax, %eax +; XOPAVX1-NEXT: vpextrw $0, %xmm1, %eax ; XOPAVX1-NEXT: vmovd %eax, %xmm1 ; XOPAVX1-NEXT: vpsllw %xmm1, %xmm2, %xmm2 ; XOPAVX1-NEXT: vpsllw %xmm1, %xmm0, %xmm0 @@ -377,16 +374,14 @@ define <16 x i16> @splatvar_shift_v16i16(<16 x i16> %a, <16 x i16> %b) nounwind ; ; XOPAVX2-LABEL: splatvar_shift_v16i16: ; XOPAVX2: # BB#0: -; XOPAVX2-NEXT: vmovd %xmm1, %eax -; XOPAVX2-NEXT: movzwl %ax, %eax +; XOPAVX2-NEXT: vpextrw $0, %xmm1, %eax ; XOPAVX2-NEXT: vmovd %eax, %xmm1 ; XOPAVX2-NEXT: vpsllw %xmm1, %ymm0, %ymm0 ; XOPAVX2-NEXT: retq ; ; AVX512-LABEL: splatvar_shift_v16i16: ; AVX512: ## BB#0: -; AVX512-NEXT: vmovd %xmm1, %eax -; AVX512-NEXT: movzwl %ax, %eax +; AVX512-NEXT: vpextrw $0, %xmm1, %eax ; AVX512-NEXT: vmovd %eax, %xmm1 ; AVX512-NEXT: vpsllw %xmm1, %ymm0, %ymm0 ; AVX512-NEXT: retq |

