Changeset View
Changeset View
Standalone View
Standalone View
llvm/trunk/test/CodeGen/X86/oddsubvector.ll
Show First 20 Lines • Show All 110 Lines • ▼ Show 20 Lines | |||||
; SSE-NEXT: movaps %xmm3, (%rsi) | ; SSE-NEXT: movaps %xmm3, (%rsi) | ||||
; SSE-NEXT: movaps %xmm2, 16(%rsi) | ; SSE-NEXT: movaps %xmm2, 16(%rsi) | ||||
; SSE-NEXT: movaps %xmm1, 32(%rsi) | ; SSE-NEXT: movaps %xmm1, 32(%rsi) | ||||
; SSE-NEXT: movaps %xmm0, 48(%rsi) | ; SSE-NEXT: movaps %xmm0, 48(%rsi) | ||||
; SSE-NEXT: retq | ; SSE-NEXT: retq | ||||
; | ; | ||||
; AVX-LABEL: PR40815: | ; AVX-LABEL: PR40815: | ||||
; AVX: # %bb.0: | ; AVX: # %bb.0: | ||||
; AVX-NEXT: vmovaps 16(%rdi), %xmm0 | ; AVX-NEXT: vmovaps (%rdi), %xmm0 | ||||
; AVX-NEXT: vmovaps 48(%rdi), %xmm1 | ; AVX-NEXT: vmovaps 16(%rdi), %xmm1 | ||||
; AVX-NEXT: vinsertf128 $1, 32(%rdi), %ymm1, %ymm1 | ; AVX-NEXT: vmovaps 32(%rdi), %xmm2 | ||||
; AVX-NEXT: vinsertf128 $1, (%rdi), %ymm0, %ymm0 | ; AVX-NEXT: vmovaps 48(%rdi), %xmm3 | ||||
; AVX-NEXT: vmovups %ymm1, (%rsi) | ; AVX-NEXT: vmovaps %xmm2, 16(%rsi) | ||||
; AVX-NEXT: vmovups %ymm0, 32(%rsi) | ; AVX-NEXT: vmovaps %xmm3, (%rsi) | ||||
; AVX-NEXT: vzeroupper | ; AVX-NEXT: vmovaps %xmm0, 48(%rsi) | ||||
; AVX-NEXT: vmovaps %xmm1, 32(%rsi) | |||||
; AVX-NEXT: retq | ; AVX-NEXT: retq | ||||
; | ; | ||||
; AVX512-LABEL: PR40815: | ; AVX512-LABEL: PR40815: | ||||
; AVX512: # %bb.0: | ; AVX512: # %bb.0: | ||||
; AVX512-NEXT: vmovaps 16(%rdi), %xmm0 | ; AVX512-NEXT: vmovaps 16(%rdi), %xmm0 | ||||
; AVX512-NEXT: vmovaps 48(%rdi), %xmm1 | ; AVX512-NEXT: vmovaps 48(%rdi), %xmm1 | ||||
; AVX512-NEXT: vinsertf128 $1, (%rdi), %ymm0, %ymm0 | ; AVX512-NEXT: vinsertf128 $1, (%rdi), %ymm0, %ymm0 | ||||
; AVX512-NEXT: vinsertf128 $1, 32(%rdi), %ymm1, %ymm1 | ; AVX512-NEXT: vinsertf128 $1, 32(%rdi), %ymm1, %ymm1 | ||||
Show All 26 Lines |