Skip to content

Commit 1016286

Browse files
author
Leon Clark
committed
Update tests.
1 parent 753ac5e commit 1016286

File tree

3 files changed

+24
-94
lines changed

3 files changed

+24
-94
lines changed

llvm/test/CodeGen/X86/build-vector-256.ll

Lines changed: 24 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -417,18 +417,26 @@ define <32 x i8> @test_buildvector_v32i8(i8 %a0, i8 %a1, i8 %a2, i8 %a3, i8 %a4,
417417
define <4 x double> @test_buildvector_4f64_2_var(double %a0, double %a1) {
418418
; AVX-32-LABEL: test_buildvector_4f64_2_var:
419419
; AVX-32: # %bb.0:
420-
; AVX-32-NEXT: vmovups {{[0-9]+}}(%esp), %xmm0
421-
; AVX-32-NEXT: vmovsd {{.*#+}} xmm1 = mem[0],zero
422-
; AVX-32-NEXT: vmovhps {{.*#+}} xmm1 = xmm1[0,1],mem[0,1]
423-
; AVX-32-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm0
420+
; AVX-32-NEXT: vbroadcastsd {{[0-9]+}}(%esp), %ymm0
421+
; AVX-32-NEXT: vbroadcastsd {{[0-9]+}}(%esp), %ymm1
422+
; AVX-32-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5],ymm1[6,7]
424423
; AVX-32-NEXT: retl
425424
;
426-
; AVX-64-LABEL: test_buildvector_4f64_2_var:
427-
; AVX-64: # %bb.0:
428-
; AVX-64-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]
429-
; AVX-64-NEXT: vmovlhps {{.*#+}} xmm0 = xmm0[0],xmm1[0]
430-
; AVX-64-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm0
431-
; AVX-64-NEXT: retq
425+
; AVX1-64-LABEL: test_buildvector_4f64_2_var:
426+
; AVX1-64: # %bb.0:
427+
; AVX1-64-NEXT: vmovddup {{.*#+}} xmm1 = xmm1[0,0]
428+
; AVX1-64-NEXT: vinsertf128 $1, %xmm1, %ymm1, %ymm1
429+
; AVX1-64-NEXT: vmovddup {{.*#+}} xmm0 = xmm0[0,0]
430+
; AVX1-64-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm0
431+
; AVX1-64-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3,4,5],ymm0[6,7]
432+
; AVX1-64-NEXT: retq
433+
;
434+
; AVX2-64-LABEL: test_buildvector_4f64_2_var:
435+
; AVX2-64: # %bb.0:
436+
; AVX2-64-NEXT: vbroadcastsd %xmm1, %ymm1
437+
; AVX2-64-NEXT: vbroadcastsd %xmm0, %ymm0
438+
; AVX2-64-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3,4,5],ymm0[6,7]
439+
; AVX2-64-NEXT: retq
432440
%v0 = insertelement <4 x double> poison, double %a0, i32 0
433441
%v1 = insertelement <4 x double> %v0, double %a1, i32 1
434442
%v2 = insertelement <4 x double> %v1, double %a1, i32 2
@@ -441,20 +449,16 @@ define <4 x double> @test_buildvector_4f64_2_load(ptr %p0, ptr %p1) {
441449
; AVX-32: # %bb.0:
442450
; AVX-32-NEXT: movl {{[0-9]+}}(%esp), %eax
443451
; AVX-32-NEXT: movl {{[0-9]+}}(%esp), %ecx
444-
; AVX-32-NEXT: vmovsd {{.*#+}} xmm0 = mem[0],zero
445-
; AVX-32-NEXT: vmovsd {{.*#+}} xmm1 = mem[0],zero
446-
; AVX-32-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]
447-
; AVX-32-NEXT: vmovlhps {{.*#+}} xmm0 = xmm0[0],xmm1[0]
448-
; AVX-32-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm0
452+
; AVX-32-NEXT: vbroadcastsd (%ecx), %ymm0
453+
; AVX-32-NEXT: vbroadcastsd (%eax), %ymm1
454+
; AVX-32-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5],ymm1[6,7]
449455
; AVX-32-NEXT: retl
450456
;
451457
; AVX-64-LABEL: test_buildvector_4f64_2_load:
452458
; AVX-64: # %bb.0:
453-
; AVX-64-NEXT: vmovsd {{.*#+}} xmm0 = mem[0],zero
454-
; AVX-64-NEXT: vmovsd {{.*#+}} xmm1 = mem[0],zero
455-
; AVX-64-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]
456-
; AVX-64-NEXT: vmovlhps {{.*#+}} xmm0 = xmm0[0],xmm1[0]
457-
; AVX-64-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm0
459+
; AVX-64-NEXT: vbroadcastsd (%rsi), %ymm0
460+
; AVX-64-NEXT: vbroadcastsd (%rdi), %ymm1
461+
; AVX-64-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5],ymm1[6,7]
458462
; AVX-64-NEXT: retq
459463
%a0 = load double, ptr %p0
460464
%a1 = load double, ptr %p1

llvm/test/CodeGen/X86/build-vector-512.ll

Lines changed: 0 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -480,23 +480,6 @@ define <64 x i8> @test_buildvector_v64i8(i8 %a0, i8 %a1, i8 %a2, i8 %a3, i8 %a4,
480480
; build vectors of repeated elements
481481

482482
define <8 x double> @test_buildvector_8f64_2_var(double %a0, double %a1) {
483-
; AVX-32-LABEL: test_buildvector_8f64_2_var:
484-
; AVX-32: # %bb.0:
485-
; AVX-32-NEXT: vmovddup {{.*#+}} xmm0 = mem[0,0]
486-
; AVX-32-NEXT: vmovups {{[0-9]+}}(%esp), %xmm1
487-
; AVX-32-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm2
488-
; AVX-32-NEXT: vinsertf128 $1, %xmm0, %ymm1, %ymm0
489-
; AVX-32-NEXT: vinsertf64x4 $1, %ymm2, %zmm0, %zmm0
490-
; AVX-32-NEXT: retl
491-
;
492-
; AVX-64-LABEL: test_buildvector_8f64_2_var:
493-
; AVX-64: # %bb.0:
494-
; AVX-64-NEXT: vmovddup {{.*#+}} xmm0 = xmm0[0,0]
495-
; AVX-64-NEXT: vmovlhps {{.*#+}} xmm1 = xmm0[0],xmm1[0]
496-
; AVX-64-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm2
497-
; AVX-64-NEXT: vinsertf128 $1, %xmm0, %ymm1, %ymm0
498-
; AVX-64-NEXT: vinsertf64x4 $1, %ymm2, %zmm0, %zmm0
499-
; AVX-64-NEXT: retq
500483
%v0 = insertelement <8 x double> poison, double %a0, i32 0
501484
%v1 = insertelement <8 x double> %v0, double %a1, i32 1
502485
%v2 = insertelement <8 x double> %v1, double %a0, i32 2
@@ -509,25 +492,6 @@ define <8 x double> @test_buildvector_8f64_2_var(double %a0, double %a1) {
509492
}
510493

511494
define <8 x double> @test_buildvector_8f64_2_load(ptr %p0, ptr %p1) {
512-
; AVX-32-LABEL: test_buildvector_8f64_2_load:
513-
; AVX-32: # %bb.0:
514-
; AVX-32-NEXT: movl {{[0-9]+}}(%esp), %eax
515-
; AVX-32-NEXT: movl {{[0-9]+}}(%esp), %ecx
516-
; AVX-32-NEXT: vmovddup {{.*#+}} xmm0 = mem[0,0]
517-
; AVX-32-NEXT: vmovhps {{.*#+}} xmm1 = xmm0[0,1],mem[0,1]
518-
; AVX-32-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm2
519-
; AVX-32-NEXT: vinsertf128 $1, %xmm0, %ymm1, %ymm0
520-
; AVX-32-NEXT: vinsertf64x4 $1, %ymm2, %zmm0, %zmm0
521-
; AVX-32-NEXT: retl
522-
;
523-
; AVX-64-LABEL: test_buildvector_8f64_2_load:
524-
; AVX-64: # %bb.0:
525-
; AVX-64-NEXT: vmovddup {{.*#+}} xmm0 = mem[0,0]
526-
; AVX-64-NEXT: vmovhps {{.*#+}} xmm1 = xmm0[0,1],mem[0,1]
527-
; AVX-64-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm2
528-
; AVX-64-NEXT: vinsertf128 $1, %xmm0, %ymm1, %ymm0
529-
; AVX-64-NEXT: vinsertf64x4 $1, %ymm2, %zmm0, %zmm0
530-
; AVX-64-NEXT: retq
531495
%a0 = load double, ptr %p0
532496
%a1 = load double, ptr %p1
533497
%v0 = insertelement <8 x double> poison, double %a0, i32 0

llvm/test/CodeGen/X86/vector-shuffle-256-v4.ll

Lines changed: 0 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -2367,44 +2367,6 @@ define <4 x double> @unpckh_v4f64(<4 x double> %x, <4 x double> %y) {
23672367
ret <4 x double> %unpckh
23682368
}
23692369

2370-
define <4 x double> @blend_broadcasts_v4f64(ptr %p0, ptr %p1) {
2371-
; ALL-LABEL: blend_broadcasts_v4f64:
2372-
; ALL: # %bb.0:
2373-
; ALL-NEXT: vbroadcastsd (%rdi), %ymm0
2374-
; ALL-NEXT: vbroadcastsd (%rsi), %ymm1
2375-
; ALL-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3,4,5],ymm0[6,7]
2376-
; ALL-NEXT: retq
2377-
%ld0 = load <4 x double>, ptr %p0, align 32
2378-
%ld1 = load <4 x double>, ptr %p1, align 32
2379-
%bcst0 = shufflevector <4 x double> %ld0, <4 x double> poison, <4 x i32> zeroinitializer
2380-
%bcst1 = shufflevector <4 x double> %ld1, <4 x double> poison, <4 x i32> zeroinitializer
2381-
%blend = shufflevector <4 x double> %bcst0, <4 x double> %bcst1, <4 x i32> <i32 0, i32 5, i32 6, i32 3>
2382-
ret <4 x double> %blend
2383-
}
2384-
2385-
define <4 x double> @blend_broadcasts_v2f64(ptr %p0, ptr %p1) {
2386-
; AVX1OR2-LABEL: blend_broadcasts_v2f64:
2387-
; AVX1OR2: # %bb.0:
2388-
; AVX1OR2-NEXT: vbroadcastf128 {{.*#+}} ymm0 = mem[0,1,0,1]
2389-
; AVX1OR2-NEXT: vbroadcastf128 {{.*#+}} ymm1 = mem[0,1,0,1]
2390-
; AVX1OR2-NEXT: vblendps {{.*#+}} ymm2 = ymm1[0,1,2,3],ymm0[4,5,6,7]
2391-
; AVX1OR2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]
2392-
; AVX1OR2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm2[0],ymm0[2],ymm2[2]
2393-
; AVX1OR2-NEXT: retq
2394-
;
2395-
; AVX512VL-LABEL: blend_broadcasts_v2f64:
2396-
; AVX512VL: # %bb.0:
2397-
; AVX512VL-NEXT: vbroadcastf128 {{.*#+}} ymm1 = mem[0,1,0,1]
2398-
; AVX512VL-NEXT: vbroadcastf128 {{.*#+}} ymm2 = mem[0,1,0,1]
2399-
; AVX512VL-NEXT: vpmovsxbq {{.*#+}} ymm0 = [0,4,6,2]
2400-
; AVX512VL-NEXT: vpermi2pd %ymm1, %ymm2, %ymm0
2401-
; AVX512VL-NEXT: retq
2402-
%ld0 = load <2 x double>, ptr %p0, align 32
2403-
%ld1 = load <2 x double>, ptr %p1, align 32
2404-
%blend = shufflevector <2 x double> %ld0, <2 x double> %ld1, <4 x i32> <i32 0, i32 2, i32 2, i32 0>
2405-
ret <4 x double> %blend
2406-
}
2407-
24082370
define <4 x double> @blend_broadcasts_v1f64(ptr %p0, ptr %p1) {
24092371
; ALL-LABEL: blend_broadcasts_v1f64:
24102372
; ALL: # %bb.0:

0 commit comments

Comments
 (0)