Changeset View
Changeset View
Standalone View
Standalone View
llvm/trunk/test/CodeGen/X86/nontemporal-2.ll
Show First 20 Lines • Show All 1,055 Lines • ▼ Show 20 Lines | |||||
; SSE-NEXT: paddd %xmm2, %xmm0 | ; SSE-NEXT: paddd %xmm2, %xmm0 | ||||
; SSE-NEXT: paddd %xmm3, %xmm1 | ; SSE-NEXT: paddd %xmm3, %xmm1 | ||||
; SSE-NEXT: movntdq %xmm1, 16(%rdi) | ; SSE-NEXT: movntdq %xmm1, 16(%rdi) | ||||
; SSE-NEXT: movntdq %xmm0, (%rdi) | ; SSE-NEXT: movntdq %xmm0, (%rdi) | ||||
; SSE-NEXT: retq | ; SSE-NEXT: retq | ||||
; | ; | ||||
; AVX1-LABEL: test_op_v8i32: | ; AVX1-LABEL: test_op_v8i32: | ||||
; AVX1: # %bb.0: | ; AVX1: # %bb.0: | ||||
; AVX1-NEXT: vextractf128 $1, %ymm1, %xmm2 | ; AVX1-NEXT: vpaddd %xmm1, %xmm0, %xmm2 | ||||
; AVX1-NEXT: vextractf128 $1, %ymm0, %xmm3 | ; AVX1-NEXT: vextractf128 $1, %ymm1, %xmm1 | ||||
; AVX1-NEXT: vpaddd %xmm2, %xmm3, %xmm2 | ; AVX1-NEXT: vextractf128 $1, %ymm0, %xmm0 | ||||
; AVX1-NEXT: vpaddd %xmm1, %xmm0, %xmm0 | ; AVX1-NEXT: vpaddd %xmm1, %xmm0, %xmm0 | ||||
; AVX1-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm0 | ; AVX1-NEXT: vmovntdq %xmm0, 16(%rdi) | ||||
; AVX1-NEXT: vmovntps %ymm0, (%rdi) | ; AVX1-NEXT: vmovntdq %xmm2, (%rdi) | ||||
; AVX1-NEXT: vzeroupper | ; AVX1-NEXT: vzeroupper | ||||
; AVX1-NEXT: retq | ; AVX1-NEXT: retq | ||||
; | ; | ||||
; AVX2-LABEL: test_op_v8i32: | ; AVX2-LABEL: test_op_v8i32: | ||||
; AVX2: # %bb.0: | ; AVX2: # %bb.0: | ||||
; AVX2-NEXT: vpaddd %ymm1, %ymm0, %ymm0 | ; AVX2-NEXT: vpaddd %ymm1, %ymm0, %ymm0 | ||||
; AVX2-NEXT: vmovntdq %ymm0, (%rdi) | ; AVX2-NEXT: vmovntdq %ymm0, (%rdi) | ||||
; AVX2-NEXT: vzeroupper | ; AVX2-NEXT: vzeroupper | ||||
▲ Show 20 Lines • Show All 43 Lines • ▼ Show 20 Lines | |||||
; SSE-NEXT: paddq %xmm2, %xmm0 | ; SSE-NEXT: paddq %xmm2, %xmm0 | ||||
; SSE-NEXT: paddq %xmm3, %xmm1 | ; SSE-NEXT: paddq %xmm3, %xmm1 | ||||
; SSE-NEXT: movntdq %xmm1, 16(%rdi) | ; SSE-NEXT: movntdq %xmm1, 16(%rdi) | ||||
; SSE-NEXT: movntdq %xmm0, (%rdi) | ; SSE-NEXT: movntdq %xmm0, (%rdi) | ||||
; SSE-NEXT: retq | ; SSE-NEXT: retq | ||||
; | ; | ||||
; AVX1-LABEL: test_op_v4i64: | ; AVX1-LABEL: test_op_v4i64: | ||||
; AVX1: # %bb.0: | ; AVX1: # %bb.0: | ||||
; AVX1-NEXT: vextractf128 $1, %ymm1, %xmm2 | ; AVX1-NEXT: vpaddq %xmm1, %xmm0, %xmm2 | ||||
; AVX1-NEXT: vextractf128 $1, %ymm0, %xmm3 | ; AVX1-NEXT: vextractf128 $1, %ymm1, %xmm1 | ||||
; AVX1-NEXT: vpaddq %xmm2, %xmm3, %xmm2 | ; AVX1-NEXT: vextractf128 $1, %ymm0, %xmm0 | ||||
; AVX1-NEXT: vpaddq %xmm1, %xmm0, %xmm0 | ; AVX1-NEXT: vpaddq %xmm1, %xmm0, %xmm0 | ||||
; AVX1-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm0 | ; AVX1-NEXT: vmovntdq %xmm0, 16(%rdi) | ||||
; AVX1-NEXT: vmovntps %ymm0, (%rdi) | ; AVX1-NEXT: vmovntdq %xmm2, (%rdi) | ||||
; AVX1-NEXT: vzeroupper | ; AVX1-NEXT: vzeroupper | ||||
; AVX1-NEXT: retq | ; AVX1-NEXT: retq | ||||
; | ; | ||||
; AVX2-LABEL: test_op_v4i64: | ; AVX2-LABEL: test_op_v4i64: | ||||
; AVX2: # %bb.0: | ; AVX2: # %bb.0: | ||||
; AVX2-NEXT: vpaddq %ymm1, %ymm0, %ymm0 | ; AVX2-NEXT: vpaddq %ymm1, %ymm0, %ymm0 | ||||
; AVX2-NEXT: vmovntdq %ymm0, (%rdi) | ; AVX2-NEXT: vmovntdq %ymm0, (%rdi) | ||||
; AVX2-NEXT: vzeroupper | ; AVX2-NEXT: vzeroupper | ||||
Show All 16 Lines | |||||
; SSE-NEXT: paddw %xmm2, %xmm0 | ; SSE-NEXT: paddw %xmm2, %xmm0 | ||||
; SSE-NEXT: paddw %xmm3, %xmm1 | ; SSE-NEXT: paddw %xmm3, %xmm1 | ||||
; SSE-NEXT: movntdq %xmm1, 16(%rdi) | ; SSE-NEXT: movntdq %xmm1, 16(%rdi) | ||||
; SSE-NEXT: movntdq %xmm0, (%rdi) | ; SSE-NEXT: movntdq %xmm0, (%rdi) | ||||
; SSE-NEXT: retq | ; SSE-NEXT: retq | ||||
; | ; | ||||
; AVX1-LABEL: test_op_v16i16: | ; AVX1-LABEL: test_op_v16i16: | ||||
; AVX1: # %bb.0: | ; AVX1: # %bb.0: | ||||
; AVX1-NEXT: vextractf128 $1, %ymm1, %xmm2 | ; AVX1-NEXT: vpaddw %xmm1, %xmm0, %xmm2 | ||||
; AVX1-NEXT: vextractf128 $1, %ymm0, %xmm3 | ; AVX1-NEXT: vextractf128 $1, %ymm1, %xmm1 | ||||
; AVX1-NEXT: vpaddw %xmm2, %xmm3, %xmm2 | ; AVX1-NEXT: vextractf128 $1, %ymm0, %xmm0 | ||||
; AVX1-NEXT: vpaddw %xmm1, %xmm0, %xmm0 | ; AVX1-NEXT: vpaddw %xmm1, %xmm0, %xmm0 | ||||
; AVX1-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm0 | ; AVX1-NEXT: vmovntdq %xmm0, 16(%rdi) | ||||
; AVX1-NEXT: vmovntps %ymm0, (%rdi) | ; AVX1-NEXT: vmovntdq %xmm2, (%rdi) | ||||
; AVX1-NEXT: vzeroupper | ; AVX1-NEXT: vzeroupper | ||||
; AVX1-NEXT: retq | ; AVX1-NEXT: retq | ||||
; | ; | ||||
; AVX2-LABEL: test_op_v16i16: | ; AVX2-LABEL: test_op_v16i16: | ||||
; AVX2: # %bb.0: | ; AVX2: # %bb.0: | ||||
; AVX2-NEXT: vpaddw %ymm1, %ymm0, %ymm0 | ; AVX2-NEXT: vpaddw %ymm1, %ymm0, %ymm0 | ||||
; AVX2-NEXT: vmovntdq %ymm0, (%rdi) | ; AVX2-NEXT: vmovntdq %ymm0, (%rdi) | ||||
; AVX2-NEXT: vzeroupper | ; AVX2-NEXT: vzeroupper | ||||
Show All 16 Lines | |||||
; SSE-NEXT: paddb %xmm2, %xmm0 | ; SSE-NEXT: paddb %xmm2, %xmm0 | ||||
; SSE-NEXT: paddb %xmm3, %xmm1 | ; SSE-NEXT: paddb %xmm3, %xmm1 | ||||
; SSE-NEXT: movntdq %xmm1, 16(%rdi) | ; SSE-NEXT: movntdq %xmm1, 16(%rdi) | ||||
; SSE-NEXT: movntdq %xmm0, (%rdi) | ; SSE-NEXT: movntdq %xmm0, (%rdi) | ||||
; SSE-NEXT: retq | ; SSE-NEXT: retq | ||||
; | ; | ||||
; AVX1-LABEL: test_op_v32i8: | ; AVX1-LABEL: test_op_v32i8: | ||||
; AVX1: # %bb.0: | ; AVX1: # %bb.0: | ||||
; AVX1-NEXT: vextractf128 $1, %ymm1, %xmm2 | ; AVX1-NEXT: vpaddb %xmm1, %xmm0, %xmm2 | ||||
; AVX1-NEXT: vextractf128 $1, %ymm0, %xmm3 | ; AVX1-NEXT: vextractf128 $1, %ymm1, %xmm1 | ||||
; AVX1-NEXT: vpaddb %xmm2, %xmm3, %xmm2 | ; AVX1-NEXT: vextractf128 $1, %ymm0, %xmm0 | ||||
; AVX1-NEXT: vpaddb %xmm1, %xmm0, %xmm0 | ; AVX1-NEXT: vpaddb %xmm1, %xmm0, %xmm0 | ||||
; AVX1-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm0 | ; AVX1-NEXT: vmovntdq %xmm0, 16(%rdi) | ||||
; AVX1-NEXT: vmovntps %ymm0, (%rdi) | ; AVX1-NEXT: vmovntdq %xmm2, (%rdi) | ||||
; AVX1-NEXT: vzeroupper | ; AVX1-NEXT: vzeroupper | ||||
; AVX1-NEXT: retq | ; AVX1-NEXT: retq | ||||
; | ; | ||||
; AVX2-LABEL: test_op_v32i8: | ; AVX2-LABEL: test_op_v32i8: | ||||
; AVX2: # %bb.0: | ; AVX2: # %bb.0: | ||||
; AVX2-NEXT: vpaddb %ymm1, %ymm0, %ymm0 | ; AVX2-NEXT: vpaddb %ymm1, %ymm0, %ymm0 | ||||
; AVX2-NEXT: vmovntdq %ymm0, (%rdi) | ; AVX2-NEXT: vmovntdq %ymm0, (%rdi) | ||||
; AVX2-NEXT: vzeroupper | ; AVX2-NEXT: vzeroupper | ||||
▲ Show 20 Lines • Show All 45 Lines • Show Last 20 Lines |