summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen/X86/avx512-intrinsics-fast-isel.ll
diff options
context:
space:
mode:
authorSanjay Patel <spatel@rotateright.com>2019-03-10 18:56:21 +0000
committerSanjay Patel <spatel@rotateright.com>2019-03-10 18:56:21 +0000
commit26e06e859e218e395a87208c00b55d36274a09ae (patch)
tree8d16c9cecf0e559fe724602d0aa5a3773c1d9e3b /llvm/test/CodeGen/X86/avx512-intrinsics-fast-isel.ll
parent7d8260feb602883bae48e792e26c9d9897f249a0 (diff)
downloadbcm5719-llvm-26e06e859e218e395a87208c00b55d36274a09ae.tar.gz
bcm5719-llvm-26e06e859e218e395a87208c00b55d36274a09ae.zip
[x86] add x86-specific opcodes to extractelement scalarization list
llvm-svn: 355792
Diffstat (limited to 'llvm/test/CodeGen/X86/avx512-intrinsics-fast-isel.ll')
-rw-r--r--llvm/test/CodeGen/X86/avx512-intrinsics-fast-isel.ll40
1 files changed, 20 insertions, 20 deletions
diff --git a/llvm/test/CodeGen/X86/avx512-intrinsics-fast-isel.ll b/llvm/test/CodeGen/X86/avx512-intrinsics-fast-isel.ll
index 5b2c0a749c0..e222c0e1ae2 100644
--- a/llvm/test/CodeGen/X86/avx512-intrinsics-fast-isel.ll
+++ b/llvm/test/CodeGen/X86/avx512-intrinsics-fast-isel.ll
@@ -7787,8 +7787,8 @@ define double @test_mm512_reduce_max_pd(<8 x double> %__W) {
; X86-NEXT: vextractf128 $1, %ymm0, %xmm1
; X86-NEXT: vmaxpd %xmm1, %xmm0, %xmm0
; X86-NEXT: vpermilpd {{.*#+}} xmm1 = xmm0[1,0]
-; X86-NEXT: vmaxpd %xmm1, %xmm0, %xmm0
-; X86-NEXT: vmovlpd %xmm0, (%esp)
+; X86-NEXT: vmaxsd %xmm1, %xmm0, %xmm0
+; X86-NEXT: vmovsd %xmm0, (%esp)
; X86-NEXT: fldl (%esp)
; X86-NEXT: movl %ebp, %esp
; X86-NEXT: popl %ebp
@@ -7803,7 +7803,7 @@ define double @test_mm512_reduce_max_pd(<8 x double> %__W) {
; X64-NEXT: vextractf128 $1, %ymm0, %xmm1
; X64-NEXT: vmaxpd %xmm1, %xmm0, %xmm0
; X64-NEXT: vpermilpd {{.*#+}} xmm1 = xmm0[1,0]
-; X64-NEXT: vmaxpd %xmm1, %xmm0, %xmm0
+; X64-NEXT: vmaxsd %xmm1, %xmm0, %xmm0
; X64-NEXT: vzeroupper
; X64-NEXT: retq
entry:
@@ -7912,8 +7912,8 @@ define double @test_mm512_reduce_min_pd(<8 x double> %__W) {
; X86-NEXT: vextractf128 $1, %ymm0, %xmm1
; X86-NEXT: vminpd %xmm1, %xmm0, %xmm0
; X86-NEXT: vpermilpd {{.*#+}} xmm1 = xmm0[1,0]
-; X86-NEXT: vminpd %xmm1, %xmm0, %xmm0
-; X86-NEXT: vmovlpd %xmm0, (%esp)
+; X86-NEXT: vminsd %xmm1, %xmm0, %xmm0
+; X86-NEXT: vmovsd %xmm0, (%esp)
; X86-NEXT: fldl (%esp)
; X86-NEXT: movl %ebp, %esp
; X86-NEXT: popl %ebp
@@ -7928,7 +7928,7 @@ define double @test_mm512_reduce_min_pd(<8 x double> %__W) {
; X64-NEXT: vextractf128 $1, %ymm0, %xmm1
; X64-NEXT: vminpd %xmm1, %xmm0, %xmm0
; X64-NEXT: vpermilpd {{.*#+}} xmm1 = xmm0[1,0]
-; X64-NEXT: vminpd %xmm1, %xmm0, %xmm0
+; X64-NEXT: vminsd %xmm1, %xmm0, %xmm0
; X64-NEXT: vzeroupper
; X64-NEXT: retq
entry:
@@ -8057,8 +8057,8 @@ define double @test_mm512_mask_reduce_max_pd(i8 zeroext %__M, <8 x double> %__W)
; X86-NEXT: vextractf128 $1, %ymm0, %xmm1
; X86-NEXT: vmaxpd %xmm1, %xmm0, %xmm0
; X86-NEXT: vpermilpd {{.*#+}} xmm1 = xmm0[1,0]
-; X86-NEXT: vmaxpd %xmm1, %xmm0, %xmm0
-; X86-NEXT: vmovlpd %xmm0, (%esp)
+; X86-NEXT: vmaxsd %xmm1, %xmm0, %xmm0
+; X86-NEXT: vmovsd %xmm0, (%esp)
; X86-NEXT: fldl (%esp)
; X86-NEXT: movl %ebp, %esp
; X86-NEXT: popl %ebp
@@ -8076,7 +8076,7 @@ define double @test_mm512_mask_reduce_max_pd(i8 zeroext %__M, <8 x double> %__W)
; X64-NEXT: vextractf128 $1, %ymm0, %xmm1
; X64-NEXT: vmaxpd %xmm1, %xmm0, %xmm0
; X64-NEXT: vpermilpd {{.*#+}} xmm1 = xmm0[1,0]
-; X64-NEXT: vmaxpd %xmm1, %xmm0, %xmm0
+; X64-NEXT: vmaxsd %xmm1, %xmm0, %xmm0
; X64-NEXT: vzeroupper
; X64-NEXT: retq
entry:
@@ -8209,8 +8209,8 @@ define double @test_mm512_mask_reduce_min_pd(i8 zeroext %__M, <8 x double> %__W)
; X86-NEXT: vextractf128 $1, %ymm0, %xmm1
; X86-NEXT: vminpd %xmm1, %xmm0, %xmm0
; X86-NEXT: vpermilpd {{.*#+}} xmm1 = xmm0[1,0]
-; X86-NEXT: vminpd %xmm1, %xmm0, %xmm0
-; X86-NEXT: vmovlpd %xmm0, (%esp)
+; X86-NEXT: vminsd %xmm1, %xmm0, %xmm0
+; X86-NEXT: vmovsd %xmm0, (%esp)
; X86-NEXT: fldl (%esp)
; X86-NEXT: movl %ebp, %esp
; X86-NEXT: popl %ebp
@@ -8228,7 +8228,7 @@ define double @test_mm512_mask_reduce_min_pd(i8 zeroext %__M, <8 x double> %__W)
; X64-NEXT: vextractf128 $1, %ymm0, %xmm1
; X64-NEXT: vminpd %xmm1, %xmm0, %xmm0
; X64-NEXT: vpermilpd {{.*#+}} xmm1 = xmm0[1,0]
-; X64-NEXT: vminpd %xmm1, %xmm0, %xmm0
+; X64-NEXT: vminsd %xmm1, %xmm0, %xmm0
; X64-NEXT: vzeroupper
; X64-NEXT: retq
entry:
@@ -8334,7 +8334,7 @@ define float @test_mm512_reduce_max_ps(<16 x float> %__W) {
; X86-NEXT: vpermilpd {{.*#+}} xmm1 = xmm0[1,0]
; X86-NEXT: vmaxps %xmm1, %xmm0, %xmm0
; X86-NEXT: vpermilps {{.*#+}} xmm1 = xmm0[1,0,3,2]
-; X86-NEXT: vmaxps %xmm1, %xmm0, %xmm0
+; X86-NEXT: vmaxss %xmm1, %xmm0, %xmm0
; X86-NEXT: vmovss %xmm0, (%esp)
; X86-NEXT: flds (%esp)
; X86-NEXT: popl %eax
@@ -8351,7 +8351,7 @@ define float @test_mm512_reduce_max_ps(<16 x float> %__W) {
; X64-NEXT: vpermilpd {{.*#+}} xmm1 = xmm0[1,0]
; X64-NEXT: vmaxps %xmm1, %xmm0, %xmm0
; X64-NEXT: vpermilps {{.*#+}} xmm1 = xmm0[1,0,3,2]
-; X64-NEXT: vmaxps %xmm1, %xmm0, %xmm0
+; X64-NEXT: vmaxss %xmm1, %xmm0, %xmm0
; X64-NEXT: vzeroupper
; X64-NEXT: retq
entry:
@@ -8460,7 +8460,7 @@ define float @test_mm512_reduce_min_ps(<16 x float> %__W) {
; X86-NEXT: vpermilpd {{.*#+}} xmm1 = xmm0[1,0]
; X86-NEXT: vminps %xmm1, %xmm0, %xmm0
; X86-NEXT: vpermilps {{.*#+}} xmm1 = xmm0[1,0,3,2]
-; X86-NEXT: vminps %xmm1, %xmm0, %xmm0
+; X86-NEXT: vminss %xmm1, %xmm0, %xmm0
; X86-NEXT: vmovss %xmm0, (%esp)
; X86-NEXT: flds (%esp)
; X86-NEXT: popl %eax
@@ -8477,7 +8477,7 @@ define float @test_mm512_reduce_min_ps(<16 x float> %__W) {
; X64-NEXT: vpermilpd {{.*#+}} xmm1 = xmm0[1,0]
; X64-NEXT: vminps %xmm1, %xmm0, %xmm0
; X64-NEXT: vpermilps {{.*#+}} xmm1 = xmm0[1,0,3,2]
-; X64-NEXT: vminps %xmm1, %xmm0, %xmm0
+; X64-NEXT: vminss %xmm1, %xmm0, %xmm0
; X64-NEXT: vzeroupper
; X64-NEXT: retq
entry:
@@ -8638,7 +8638,7 @@ define float @test_mm512_mask_reduce_max_ps(i16 zeroext %__M, <16 x float> %__W)
; X86-NEXT: vpermilpd {{.*#+}} xmm1 = xmm0[1,0]
; X86-NEXT: vmaxps %xmm1, %xmm0, %xmm0
; X86-NEXT: vpermilps {{.*#+}} xmm1 = xmm0[1,0,3,2]
-; X86-NEXT: vmaxps %xmm1, %xmm0, %xmm0
+; X86-NEXT: vmaxss %xmm1, %xmm0, %xmm0
; X86-NEXT: vmovss %xmm0, (%esp)
; X86-NEXT: flds (%esp)
; X86-NEXT: popl %eax
@@ -8658,7 +8658,7 @@ define float @test_mm512_mask_reduce_max_ps(i16 zeroext %__M, <16 x float> %__W)
; X64-NEXT: vpermilpd {{.*#+}} xmm1 = xmm0[1,0]
; X64-NEXT: vmaxps %xmm1, %xmm0, %xmm0
; X64-NEXT: vpermilps {{.*#+}} xmm1 = xmm0[1,0,3,2]
-; X64-NEXT: vmaxps %xmm1, %xmm0, %xmm0
+; X64-NEXT: vmaxss %xmm1, %xmm0, %xmm0
; X64-NEXT: vzeroupper
; X64-NEXT: retq
entry:
@@ -8823,7 +8823,7 @@ define float @test_mm512_mask_reduce_min_ps(i16 zeroext %__M, <16 x float> %__W)
; X86-NEXT: vpermilpd {{.*#+}} xmm1 = xmm0[1,0]
; X86-NEXT: vminps %xmm1, %xmm0, %xmm0
; X86-NEXT: vpermilps {{.*#+}} xmm1 = xmm0[1,0,3,2]
-; X86-NEXT: vminps %xmm1, %xmm0, %xmm0
+; X86-NEXT: vminss %xmm1, %xmm0, %xmm0
; X86-NEXT: vmovss %xmm0, (%esp)
; X86-NEXT: flds (%esp)
; X86-NEXT: popl %eax
@@ -8843,7 +8843,7 @@ define float @test_mm512_mask_reduce_min_ps(i16 zeroext %__M, <16 x float> %__W)
; X64-NEXT: vpermilpd {{.*#+}} xmm1 = xmm0[1,0]
; X64-NEXT: vminps %xmm1, %xmm0, %xmm0
; X64-NEXT: vpermilps {{.*#+}} xmm1 = xmm0[1,0,3,2]
-; X64-NEXT: vminps %xmm1, %xmm0, %xmm0
+; X64-NEXT: vminss %xmm1, %xmm0, %xmm0
; X64-NEXT: vzeroupper
; X64-NEXT: retq
entry:
OpenPOWER on IntegriCloud