Skip to content

Commit

Permalink
[AVX-512] Re-generate tests that were updated for r290663 without usi…
Browse files Browse the repository at this point in the history
…ng update_llc_test_checks.py so duplicate check lines weren't merged.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@290868 91177308-0d34-0410-b5e6-96231b3b80d8
  • Loading branch information
topperc committed Jan 3, 2017
1 parent 6bb8971 commit ddf520d
Show file tree
Hide file tree
Showing 4 changed files with 295 additions and 410 deletions.
197 changes: 64 additions & 133 deletions test/CodeGen/X86/avx2-vbroadcast.ll
Original file line number Diff line number Diff line change
Expand Up @@ -1105,55 +1105,30 @@ define <4 x double> @splat_concat4(double %d) {
; Those test cases exerce the latter.

define void @isel_crash_16b(i8* %cV_R.addr) {
; X32-AVX2-LABEL: isel_crash_16b:
; X32-AVX2: ## BB#0: ## %eintry
; X32-AVX2-NEXT: subl $60, %esp
; X32-AVX2-NEXT: Lcfi0:
; X32-AVX2-NEXT: .cfi_def_cfa_offset 64
; X32-AVX2-NEXT: movl {{[0-9]+}}(%esp), %eax
; X32-AVX2-NEXT: vxorps %xmm0, %xmm0, %xmm0
; X32-AVX2-NEXT: vmovaps %xmm0, (%esp)
; X32-AVX2-NEXT: vpbroadcastb (%eax), %xmm1
; X32-AVX2-NEXT: vmovaps %xmm0, {{[0-9]+}}(%esp)
; X32-AVX2-NEXT: vmovdqa %xmm1, {{[0-9]+}}(%esp)
; X32-AVX2-NEXT: addl $60, %esp
; X32-AVX2-NEXT: retl
;
; X64-AVX2-LABEL: isel_crash_16b:
; X64-AVX2: ## BB#0: ## %eintry
; X64-AVX2-NEXT: vxorps %xmm0, %xmm0, %xmm0
; X64-AVX2-NEXT: vmovaps %xmm0, -{{[0-9]+}}(%rsp)
; X64-AVX2-NEXT: movb (%rdi), %al
; X64-AVX2-NEXT: vmovd %eax, %xmm1
; X64-AVX2-NEXT: vpbroadcastb %xmm1, %xmm1
; X64-AVX2-NEXT: vmovaps %xmm0, -{{[0-9]+}}(%rsp)
; X64-AVX2-NEXT: vmovdqa %xmm1, -{{[0-9]+}}(%rsp)
; X64-AVX2-NEXT: retq
;
; X32-AVX512VL-LABEL: isel_crash_16b:
; X32-AVX512VL: ## BB#0: ## %eintry
; X32-AVX512VL-NEXT: subl $60, %esp
; X32-AVX512VL-NEXT: Lcfi0:
; X32-AVX512VL-NEXT: .cfi_def_cfa_offset 64
; X32-AVX512VL-NEXT: movl {{[0-9]+}}(%esp), %eax
; X32-AVX512VL-NEXT: vxorps %xmm0, %xmm0, %xmm0
; X32-AVX512VL-NEXT: vmovaps %xmm0, (%esp)
; X32-AVX512VL-NEXT: vpbroadcastb (%eax), %xmm1
; X32-AVX512VL-NEXT: vmovaps %xmm0, {{[0-9]+}}(%esp)
; X32-AVX512VL-NEXT: vmovdqa %xmm1, {{[0-9]+}}(%esp)
; X32-AVX512VL-NEXT: addl $60, %esp
; X32-AVX512VL-NEXT: retl
; X32-LABEL: isel_crash_16b:
; X32: ## BB#0: ## %eintry
; X32-NEXT: subl $60, %esp
; X32-NEXT: Lcfi0:
; X32-NEXT: .cfi_def_cfa_offset 64
; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
; X32-NEXT: vxorps %xmm0, %xmm0, %xmm0
; X32-NEXT: vmovaps %xmm0, (%esp)
; X32-NEXT: vpbroadcastb (%eax), %xmm1
; X32-NEXT: vmovaps %xmm0, {{[0-9]+}}(%esp)
; X32-NEXT: vmovdqa %xmm1, {{[0-9]+}}(%esp)
; X32-NEXT: addl $60, %esp
; X32-NEXT: retl
;
; X64-AVX512VL-LABEL: isel_crash_16b:
; X64-AVX512VL: ## BB#0: ## %eintry
; X64-AVX512VL-NEXT: vxorps %xmm0, %xmm0, %xmm0
; X64-AVX512VL-NEXT: vmovaps %xmm0, -{{[0-9]+}}(%rsp)
; X64-AVX512VL-NEXT: movb (%rdi), %al
; X64-AVX512VL-NEXT: vmovd %eax, %xmm1
; X64-AVX512VL-NEXT: vpbroadcastb %xmm1, %xmm1
; X64-AVX512VL-NEXT: vmovaps %xmm0, -{{[0-9]+}}(%rsp)
; X64-AVX512VL-NEXT: vmovdqa %xmm1, -{{[0-9]+}}(%rsp)
; X64-AVX512VL-NEXT: retq
; X64-LABEL: isel_crash_16b:
; X64: ## BB#0: ## %eintry
; X64-NEXT: vxorps %xmm0, %xmm0, %xmm0
; X64-NEXT: vmovaps %xmm0, -{{[0-9]+}}(%rsp)
; X64-NEXT: movb (%rdi), %al
; X64-NEXT: vmovd %eax, %xmm1
; X64-NEXT: vpbroadcastb %xmm1, %xmm1
; X64-NEXT: vmovaps %xmm0, -{{[0-9]+}}(%rsp)
; X64-NEXT: vmovdqa %xmm1, -{{[0-9]+}}(%rsp)
; X64-NEXT: retq
eintry:
%__a.addr.i = alloca <2 x i64>, align 16
%__b.addr.i = alloca <2 x i64>, align 16
Expand Down Expand Up @@ -1277,55 +1252,30 @@ eintry:
}

define void @isel_crash_8w(i16* %cV_R.addr) {
; X32-AVX2-LABEL: isel_crash_8w:
; X32-AVX2: ## BB#0: ## %entry
; X32-AVX2-NEXT: subl $60, %esp
; X32-AVX2-NEXT: Lcfi4:
; X32-AVX2-NEXT: .cfi_def_cfa_offset 64
; X32-AVX2-NEXT: movl {{[0-9]+}}(%esp), %eax
; X32-AVX2-NEXT: vxorps %xmm0, %xmm0, %xmm0
; X32-AVX2-NEXT: vmovaps %xmm0, (%esp)
; X32-AVX2-NEXT: vpbroadcastw (%eax), %xmm1
; X32-AVX2-NEXT: vmovaps %xmm0, {{[0-9]+}}(%esp)
; X32-AVX2-NEXT: vmovdqa %xmm1, {{[0-9]+}}(%esp)
; X32-AVX2-NEXT: addl $60, %esp
; X32-AVX2-NEXT: retl
;
; X64-AVX2-LABEL: isel_crash_8w:
; X64-AVX2: ## BB#0: ## %entry
; X64-AVX2-NEXT: vxorps %xmm0, %xmm0, %xmm0
; X64-AVX2-NEXT: vmovaps %xmm0, -{{[0-9]+}}(%rsp)
; X64-AVX2-NEXT: movw (%rdi), %ax
; X64-AVX2-NEXT: vmovd %eax, %xmm1
; X64-AVX2-NEXT: vpbroadcastw %xmm1, %xmm1
; X64-AVX2-NEXT: vmovaps %xmm0, -{{[0-9]+}}(%rsp)
; X64-AVX2-NEXT: vmovdqa %xmm1, -{{[0-9]+}}(%rsp)
; X64-AVX2-NEXT: retq
;
; X32-AVX512VL-LABEL: isel_crash_8w:
; X32-AVX512VL: ## BB#0: ## %entry
; X32-AVX512VL-NEXT: subl $60, %esp
; X32-AVX512VL-NEXT: Lcfi4:
; X32-AVX512VL-NEXT: .cfi_def_cfa_offset 64
; X32-AVX512VL-NEXT: movl {{[0-9]+}}(%esp), %eax
; X32-AVX512VL-NEXT: vxorps %xmm0, %xmm0, %xmm0
; X32-AVX512VL-NEXT: vmovaps %xmm0, (%esp)
; X32-AVX512VL-NEXT: vpbroadcastw (%eax), %xmm1
; X32-AVX512VL-NEXT: vmovaps %xmm0, {{[0-9]+}}(%esp)
; X32-AVX512VL-NEXT: vmovdqa %xmm1, {{[0-9]+}}(%esp)
; X32-AVX512VL-NEXT: addl $60, %esp
; X32-AVX512VL-NEXT: retl
; X32-LABEL: isel_crash_8w:
; X32: ## BB#0: ## %entry
; X32-NEXT: subl $60, %esp
; X32-NEXT: Lcfi4:
; X32-NEXT: .cfi_def_cfa_offset 64
; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
; X32-NEXT: vxorps %xmm0, %xmm0, %xmm0
; X32-NEXT: vmovaps %xmm0, (%esp)
; X32-NEXT: vpbroadcastw (%eax), %xmm1
; X32-NEXT: vmovaps %xmm0, {{[0-9]+}}(%esp)
; X32-NEXT: vmovdqa %xmm1, {{[0-9]+}}(%esp)
; X32-NEXT: addl $60, %esp
; X32-NEXT: retl
;
; X64-AVX512VL-LABEL: isel_crash_8w:
; X64-AVX512VL: ## BB#0: ## %entry
; X64-AVX512VL-NEXT: vxorps %xmm0, %xmm0, %xmm0
; X64-AVX512VL-NEXT: vmovaps %xmm0, -{{[0-9]+}}(%rsp)
; X64-AVX512VL-NEXT: movw (%rdi), %ax
; X64-AVX512VL-NEXT: vmovd %eax, %xmm1
; X64-AVX512VL-NEXT: vpbroadcastw %xmm1, %xmm1
; X64-AVX512VL-NEXT: vmovaps %xmm0, -{{[0-9]+}}(%rsp)
; X64-AVX512VL-NEXT: vmovdqa %xmm1, -{{[0-9]+}}(%rsp)
; X64-AVX512VL-NEXT: retq
; X64-LABEL: isel_crash_8w:
; X64: ## BB#0: ## %entry
; X64-NEXT: vxorps %xmm0, %xmm0, %xmm0
; X64-NEXT: vmovaps %xmm0, -{{[0-9]+}}(%rsp)
; X64-NEXT: movw (%rdi), %ax
; X64-NEXT: vmovd %eax, %xmm1
; X64-NEXT: vpbroadcastw %xmm1, %xmm1
; X64-NEXT: vmovaps %xmm0, -{{[0-9]+}}(%rsp)
; X64-NEXT: vmovdqa %xmm1, -{{[0-9]+}}(%rsp)
; X64-NEXT: retq
entry:
%__a.addr.i = alloca <2 x i64>, align 16
%__b.addr.i = alloca <2 x i64>, align 16
Expand Down Expand Up @@ -1605,24 +1555,24 @@ eintry:
}

define void @isel_crash_2q(i64* %cV_R.addr) {
; X32-AVX2-LABEL: isel_crash_2q:
; X32-AVX2: ## BB#0: ## %entry
; X32-AVX2-NEXT: subl $60, %esp
; X32-AVX2-NEXT: Lcfi12:
; X32-AVX2-NEXT: .cfi_def_cfa_offset 64
; X32-AVX2-NEXT: movl {{[0-9]+}}(%esp), %eax
; X32-AVX2-NEXT: vxorps %xmm0, %xmm0, %xmm0
; X32-AVX2-NEXT: vmovaps %xmm0, (%esp)
; X32-AVX2-NEXT: movl (%eax), %ecx
; X32-AVX2-NEXT: movl 4(%eax), %eax
; X32-AVX2-NEXT: vmovd %ecx, %xmm1
; X32-AVX2-NEXT: vpinsrd $1, %eax, %xmm1, %xmm1
; X32-AVX2-NEXT: vpinsrd $2, %ecx, %xmm1, %xmm1
; X32-AVX2-NEXT: vpinsrd $3, %eax, %xmm1, %xmm1
; X32-AVX2-NEXT: vmovaps %xmm0, {{[0-9]+}}(%esp)
; X32-AVX2-NEXT: vmovdqa %xmm1, {{[0-9]+}}(%esp)
; X32-AVX2-NEXT: addl $60, %esp
; X32-AVX2-NEXT: retl
; X32-LABEL: isel_crash_2q:
; X32: ## BB#0: ## %entry
; X32-NEXT: subl $60, %esp
; X32-NEXT: Lcfi12:
; X32-NEXT: .cfi_def_cfa_offset 64
; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
; X32-NEXT: vxorps %xmm0, %xmm0, %xmm0
; X32-NEXT: vmovaps %xmm0, (%esp)
; X32-NEXT: movl (%eax), %ecx
; X32-NEXT: movl 4(%eax), %eax
; X32-NEXT: vmovd %ecx, %xmm1
; X32-NEXT: vpinsrd $1, %eax, %xmm1, %xmm1
; X32-NEXT: vpinsrd $2, %ecx, %xmm1, %xmm1
; X32-NEXT: vpinsrd $3, %eax, %xmm1, %xmm1
; X32-NEXT: vmovaps %xmm0, {{[0-9]+}}(%esp)
; X32-NEXT: vmovdqa %xmm1, {{[0-9]+}}(%esp)
; X32-NEXT: addl $60, %esp
; X32-NEXT: retl
;
; X64-AVX2-LABEL: isel_crash_2q:
; X64-AVX2: ## BB#0: ## %entry
Expand All @@ -1635,25 +1585,6 @@ define void @isel_crash_2q(i64* %cV_R.addr) {
; X64-AVX2-NEXT: vmovdqa %xmm1, -{{[0-9]+}}(%rsp)
; X64-AVX2-NEXT: retq
;
; X32-AVX512VL-LABEL: isel_crash_2q:
; X32-AVX512VL: ## BB#0: ## %entry
; X32-AVX512VL-NEXT: subl $60, %esp
; X32-AVX512VL-NEXT: Lcfi12:
; X32-AVX512VL-NEXT: .cfi_def_cfa_offset 64
; X32-AVX512VL-NEXT: movl {{[0-9]+}}(%esp), %eax
; X32-AVX512VL-NEXT: vxorps %xmm0, %xmm0, %xmm0
; X32-AVX512VL-NEXT: vmovaps %xmm0, (%esp)
; X32-AVX512VL-NEXT: movl (%eax), %ecx
; X32-AVX512VL-NEXT: movl 4(%eax), %eax
; X32-AVX512VL-NEXT: vmovd %ecx, %xmm1
; X32-AVX512VL-NEXT: vpinsrd $1, %eax, %xmm1, %xmm1
; X32-AVX512VL-NEXT: vpinsrd $2, %ecx, %xmm1, %xmm1
; X32-AVX512VL-NEXT: vpinsrd $3, %eax, %xmm1, %xmm1
; X32-AVX512VL-NEXT: vmovaps %xmm0, {{[0-9]+}}(%esp)
; X32-AVX512VL-NEXT: vmovdqa %xmm1, {{[0-9]+}}(%esp)
; X32-AVX512VL-NEXT: addl $60, %esp
; X32-AVX512VL-NEXT: retl
;
; X64-AVX512VL-LABEL: isel_crash_2q:
; X64-AVX512VL: ## BB#0: ## %entry
; X64-AVX512VL-NEXT: vxorps %xmm0, %xmm0, %xmm0
Expand Down
105 changes: 105 additions & 0 deletions test/CodeGen/X86/subvector-broadcast.ll
Original file line number Diff line number Diff line change
Expand Up @@ -1349,6 +1349,44 @@ define <16 x i32> @test_broadcast_4i32_16i32_chain(<4 x i32>* %p0, <4 x float>*
@gb4 = global <8 x i64> zeroinitializer, align 8

define void @fallback_broadcast_v4i64_to_v8i64(<4 x i64> %a, <8 x i64> %b) {
; X32-AVX1-LABEL: fallback_broadcast_v4i64_to_v8i64:
; X32-AVX1: ## BB#0: ## %entry
; X32-AVX1-NEXT: vextractf128 $1, %ymm0, %xmm3
; X32-AVX1-NEXT: vmovaps {{.*#+}} ymm4 = [1,0,2,0,3,0,4,0]
; X32-AVX1-NEXT: vextractf128 $1, %ymm4, %xmm5
; X32-AVX1-NEXT: vpaddq %xmm5, %xmm3, %xmm3
; X32-AVX1-NEXT: vpaddq %xmm4, %xmm0, %xmm0
; X32-AVX1-NEXT: vinsertf128 $1, %xmm3, %ymm0, %ymm0
; X32-AVX1-NEXT: vextractf128 $1, %ymm2, %xmm3
; X32-AVX1-NEXT: vpaddq %xmm5, %xmm3, %xmm3
; X32-AVX1-NEXT: vpaddq %xmm4, %xmm2, %xmm2
; X32-AVX1-NEXT: vinsertf128 $1, %xmm3, %ymm2, %ymm2
; X32-AVX1-NEXT: vextractf128 $1, %ymm1, %xmm3
; X32-AVX1-NEXT: vpaddq %xmm5, %xmm3, %xmm3
; X32-AVX1-NEXT: vpaddq %xmm4, %xmm1, %xmm1
; X32-AVX1-NEXT: vinsertf128 $1, %xmm3, %ymm1, %ymm1
; X32-AVX1-NEXT: vandps %ymm4, %ymm1, %ymm1
; X32-AVX1-NEXT: vandps %ymm4, %ymm2, %ymm2
; X32-AVX1-NEXT: vmovups %ymm0, _ga4
; X32-AVX1-NEXT: vmovups %ymm2, _gb4+32
; X32-AVX1-NEXT: vmovups %ymm1, _gb4
; X32-AVX1-NEXT: vzeroupper
; X32-AVX1-NEXT: retl
;
; X32-AVX2-LABEL: fallback_broadcast_v4i64_to_v8i64:
; X32-AVX2: ## BB#0: ## %entry
; X32-AVX2-NEXT: vmovdqa {{.*#+}} ymm3 = [1,0,2,0,3,0,4,0]
; X32-AVX2-NEXT: vpaddq %ymm3, %ymm0, %ymm0
; X32-AVX2-NEXT: vpaddq %ymm3, %ymm2, %ymm2
; X32-AVX2-NEXT: vpaddq %ymm3, %ymm1, %ymm1
; X32-AVX2-NEXT: vpand %ymm3, %ymm1, %ymm1
; X32-AVX2-NEXT: vpand %ymm3, %ymm2, %ymm2
; X32-AVX2-NEXT: vmovdqu %ymm0, _ga4
; X32-AVX2-NEXT: vmovdqu %ymm2, _gb4+32
; X32-AVX2-NEXT: vmovdqu %ymm1, _gb4
; X32-AVX2-NEXT: vzeroupper
; X32-AVX2-NEXT: retl
;
; X32-AVX512-LABEL: fallback_broadcast_v4i64_to_v8i64:
; X32-AVX512: ## BB#0: ## %entry
; X32-AVX512-NEXT: vpaddq LCPI26_0, %ymm0, %ymm0
Expand All @@ -1359,6 +1397,45 @@ define void @fallback_broadcast_v4i64_to_v8i64(<4 x i64> %a, <8 x i64> %b) {
; X32-AVX512-NEXT: vmovdqu64 %zmm1, _gb4
; X32-AVX512-NEXT: retl
;
; X64-AVX1-LABEL: fallback_broadcast_v4i64_to_v8i64:
; X64-AVX1: ## BB#0: ## %entry
; X64-AVX1-NEXT: vextractf128 $1, %ymm0, %xmm3
; X64-AVX1-NEXT: vmovdqa {{.*#+}} xmm4 = [3,4]
; X64-AVX1-NEXT: vpaddq %xmm4, %xmm3, %xmm3
; X64-AVX1-NEXT: vmovdqa {{.*#+}} xmm5 = [1,2]
; X64-AVX1-NEXT: vpaddq %xmm5, %xmm0, %xmm0
; X64-AVX1-NEXT: vinsertf128 $1, %xmm3, %ymm0, %ymm0
; X64-AVX1-NEXT: vmovaps {{.*#+}} ymm3 = [1,2,3,4]
; X64-AVX1-NEXT: vextractf128 $1, %ymm2, %xmm6
; X64-AVX1-NEXT: vpaddq %xmm4, %xmm6, %xmm6
; X64-AVX1-NEXT: vpaddq %xmm5, %xmm2, %xmm2
; X64-AVX1-NEXT: vinsertf128 $1, %xmm6, %ymm2, %ymm2
; X64-AVX1-NEXT: vextractf128 $1, %ymm1, %xmm6
; X64-AVX1-NEXT: vpaddq %xmm4, %xmm6, %xmm4
; X64-AVX1-NEXT: vpaddq %xmm5, %xmm1, %xmm1
; X64-AVX1-NEXT: vinsertf128 $1, %xmm4, %ymm1, %ymm1
; X64-AVX1-NEXT: vandps %ymm3, %ymm1, %ymm1
; X64-AVX1-NEXT: vandps %ymm3, %ymm2, %ymm2
; X64-AVX1-NEXT: vmovups %ymm0, {{.*}}(%rip)
; X64-AVX1-NEXT: vmovups %ymm2, _gb4+{{.*}}(%rip)
; X64-AVX1-NEXT: vmovups %ymm1, {{.*}}(%rip)
; X64-AVX1-NEXT: vzeroupper
; X64-AVX1-NEXT: retq
;
; X64-AVX2-LABEL: fallback_broadcast_v4i64_to_v8i64:
; X64-AVX2: ## BB#0: ## %entry
; X64-AVX2-NEXT: vmovdqa {{.*#+}} ymm3 = [1,2,3,4]
; X64-AVX2-NEXT: vpaddq %ymm3, %ymm0, %ymm0
; X64-AVX2-NEXT: vpaddq %ymm3, %ymm2, %ymm2
; X64-AVX2-NEXT: vpaddq %ymm3, %ymm1, %ymm1
; X64-AVX2-NEXT: vpand %ymm3, %ymm1, %ymm1
; X64-AVX2-NEXT: vpand %ymm3, %ymm2, %ymm2
; X64-AVX2-NEXT: vmovdqu %ymm0, {{.*}}(%rip)
; X64-AVX2-NEXT: vmovdqu %ymm2, _gb4+{{.*}}(%rip)
; X64-AVX2-NEXT: vmovdqu %ymm1, {{.*}}(%rip)
; X64-AVX2-NEXT: vzeroupper
; X64-AVX2-NEXT: retq
;
; X64-AVX512-LABEL: fallback_broadcast_v4i64_to_v8i64:
; X64-AVX512: ## BB#0: ## %entry
; X64-AVX512-NEXT: vmovdqa {{.*#+}} ymm2 = [1,2,3,4]
Expand All @@ -1383,6 +1460,20 @@ entry:
@gb2 = global <8 x double> zeroinitializer, align 8

define void @fallback_broadcast_v4f64_to_v8f64(<4 x double> %a, <8 x double> %b) {
; X32-AVX-LABEL: fallback_broadcast_v4f64_to_v8f64:
; X32-AVX: ## BB#0: ## %entry
; X32-AVX-NEXT: vmovapd {{.*#+}} ymm3 = [1.000000e+00,2.000000e+00,3.000000e+00,4.000000e+00]
; X32-AVX-NEXT: vaddpd %ymm3, %ymm0, %ymm0
; X32-AVX-NEXT: vaddpd %ymm3, %ymm2, %ymm2
; X32-AVX-NEXT: vaddpd %ymm3, %ymm1, %ymm1
; X32-AVX-NEXT: vdivpd %ymm3, %ymm1, %ymm1
; X32-AVX-NEXT: vdivpd %ymm3, %ymm2, %ymm2
; X32-AVX-NEXT: vmovupd %ymm0, _ga2
; X32-AVX-NEXT: vmovupd %ymm2, _gb2+32
; X32-AVX-NEXT: vmovupd %ymm1, _gb2
; X32-AVX-NEXT: vzeroupper
; X32-AVX-NEXT: retl
;
; X32-AVX512-LABEL: fallback_broadcast_v4f64_to_v8f64:
; X32-AVX512: ## BB#0: ## %entry
; X32-AVX512-NEXT: vmovapd {{.*#+}} ymm2 = [1.000000e+00,2.000000e+00,3.000000e+00,4.000000e+00]
Expand All @@ -1394,6 +1485,20 @@ define void @fallback_broadcast_v4f64_to_v8f64(<4 x double> %a, <8 x double> %b)
; X32-AVX512-NEXT: vmovupd %zmm1, _gb2
; X32-AVX512-NEXT: retl
;
; X64-AVX-LABEL: fallback_broadcast_v4f64_to_v8f64:
; X64-AVX: ## BB#0: ## %entry
; X64-AVX-NEXT: vmovapd {{.*#+}} ymm3 = [1.000000e+00,2.000000e+00,3.000000e+00,4.000000e+00]
; X64-AVX-NEXT: vaddpd %ymm3, %ymm0, %ymm0
; X64-AVX-NEXT: vaddpd %ymm3, %ymm2, %ymm2
; X64-AVX-NEXT: vaddpd %ymm3, %ymm1, %ymm1
; X64-AVX-NEXT: vdivpd %ymm3, %ymm1, %ymm1
; X64-AVX-NEXT: vdivpd %ymm3, %ymm2, %ymm2
; X64-AVX-NEXT: vmovupd %ymm0, {{.*}}(%rip)
; X64-AVX-NEXT: vmovupd %ymm2, _gb2+{{.*}}(%rip)
; X64-AVX-NEXT: vmovupd %ymm1, {{.*}}(%rip)
; X64-AVX-NEXT: vzeroupper
; X64-AVX-NEXT: retq
;
; X64-AVX512-LABEL: fallback_broadcast_v4f64_to_v8f64:
; X64-AVX512: ## BB#0: ## %entry
; X64-AVX512-NEXT: vmovapd {{.*#+}} ymm2 = [1.000000e+00,2.000000e+00,3.000000e+00,4.000000e+00]
Expand Down
Loading

0 comments on commit ddf520d

Please sign in to comment.