@@ -2400,34 +2400,32 @@ define void @D107009(ptr %input, ptr %output) {
2400
2400
;
2401
2401
; AVX1-LABEL: D107009:
2402
2402
; AVX1: # %bb.0:
2403
- ; AVX1-NEXT: vmovups 96(%rdi), %ymm0
2404
- ; AVX1-NEXT: vmovups 128(%rdi), %ymm1
2405
- ; AVX1-NEXT: vmovups 224(%rdi), %ymm2
2406
- ; AVX1-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm2[0],mem[0],ymm2[2],mem[2]
2407
- ; AVX1-NEXT: vunpcklps {{.*#+}} ymm1 = ymm1[0],mem[0],ymm1[1],mem[1],ymm1[4],mem[4],ymm1[5],mem[5]
2408
- ; AVX1-NEXT: vshufps {{.*#+}} ymm1 = ymm1[0,1],ymm2[2,0],ymm1[4,5],ymm2[6,4]
2409
- ; AVX1-NEXT: vmovdqa 16(%rdi), %xmm2
2410
- ; AVX1-NEXT: vpunpckldq {{.*#+}} xmm2 = xmm2[0],mem[0],xmm2[1],mem[1]
2411
- ; AVX1-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm0[0],mem[0],ymm0[2],mem[2]
2412
- ; AVX1-NEXT: vshufps {{.*#+}} ymm0 = ymm0[0,1,2,0,4,5,6,4]
2403
+ ; AVX1-NEXT: vmovups 128(%rdi), %ymm0
2404
+ ; AVX1-NEXT: vmovups 224(%rdi), %ymm1
2405
+ ; AVX1-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm1[0],mem[0],ymm1[2],mem[2]
2406
+ ; AVX1-NEXT: vunpcklps {{.*#+}} ymm0 = ymm0[0],mem[0],ymm0[1],mem[1],ymm0[4],mem[4],ymm0[5],mem[5]
2407
+ ; AVX1-NEXT: vshufps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,0],ymm0[4,5],ymm1[6,4]
2408
+ ; AVX1-NEXT: vmovaps 112(%rdi), %xmm1
2409
+ ; AVX1-NEXT: vunpcklpd {{.*#+}} xmm1 = xmm1[0],mem[0]
2410
+ ; AVX1-NEXT: vmovaps 16(%rdi), %xmm2
2411
+ ; AVX1-NEXT: vunpcklps {{.*#+}} xmm2 = xmm2[0],mem[0],xmm2[1],mem[1]
2412
+ ; AVX1-NEXT: vshufps {{.*#+}} xmm1 = xmm2[0,1],xmm1[2,0]
2413
+ ; AVX1-NEXT: vpsrld $16, %xmm1, %xmm1
2413
2414
; AVX1-NEXT: vextractf128 $1, %ymm0, %xmm0
2414
- ; AVX1-NEXT: vpblendw {{.*#+}} xmm0 = xmm2[0,1,2,3],xmm0[4,5,6,7]
2415
2415
; AVX1-NEXT: vpsrld $16, %xmm0, %xmm0
2416
- ; AVX1-NEXT: vextractf128 $1, %ymm1, %xmm1
2417
- ; AVX1-NEXT: vpsrld $16, %xmm1, %xmm1
2418
- ; AVX1-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm1
2419
- ; AVX1-NEXT: vpshufd {{.*#+}} xmm2 = xmm0[0,1,1,3]
2420
- ; AVX1-NEXT: vpshufd {{.*#+}} xmm3 = xmm0[2,1,3,3]
2416
+ ; AVX1-NEXT: vinsertf128 $1, %xmm0, %ymm1, %ymm0
2417
+ ; AVX1-NEXT: vpshufd {{.*#+}} xmm2 = xmm1[0,1,1,3]
2418
+ ; AVX1-NEXT: vpshufd {{.*#+}} xmm3 = xmm1[2,1,3,3]
2421
2419
; AVX1-NEXT: vinsertf128 $1, %xmm3, %ymm2, %ymm2
2422
- ; AVX1-NEXT: vshufps {{.*#+}} ymm3 = ymm1 [3,3,3,3,7,7,7,7]
2423
- ; AVX1-NEXT: vshufpd {{.*#+}} ymm4 = ymm1 [0,0,3,2]
2424
- ; AVX1-NEXT: vmovshdup {{.*#+}} ymm5 = ymm1 [1,1,3,3,5,5,7,7]
2425
- ; AVX1-NEXT: vpshufd {{.*#+}} xmm6 = xmm0 [3,3,3,3]
2426
- ; AVX1-NEXT: vpshufd {{.*#+}} xmm7 = xmm0 [1,1,1,1]
2427
- ; AVX1-NEXT: vmovdqa %xmm0 , 16(%rsi)
2420
+ ; AVX1-NEXT: vshufps {{.*#+}} ymm3 = ymm0 [3,3,3,3,7,7,7,7]
2421
+ ; AVX1-NEXT: vshufpd {{.*#+}} ymm4 = ymm0 [0,0,3,2]
2422
+ ; AVX1-NEXT: vmovshdup {{.*#+}} ymm5 = ymm0 [1,1,3,3,5,5,7,7]
2423
+ ; AVX1-NEXT: vpshufd {{.*#+}} xmm6 = xmm1 [3,3,3,3]
2424
+ ; AVX1-NEXT: vpshufd {{.*#+}} xmm7 = xmm1 [1,1,1,1]
2425
+ ; AVX1-NEXT: vmovdqa %xmm1 , 16(%rsi)
2428
2426
; AVX1-NEXT: vmovdqa %xmm7, 48(%rsi)
2429
2427
; AVX1-NEXT: vmovdqa %xmm6, 112(%rsi)
2430
- ; AVX1-NEXT: vmovups %ymm1 , 128(%rsi)
2428
+ ; AVX1-NEXT: vmovups %ymm0 , 128(%rsi)
2431
2429
; AVX1-NEXT: vmovups %ymm5, 160(%rsi)
2432
2430
; AVX1-NEXT: vmovupd %ymm4, 192(%rsi)
2433
2431
; AVX1-NEXT: vmovupd %ymm3, 224(%rsi)
@@ -2470,34 +2468,32 @@ define void @D107009(ptr %input, ptr %output) {
2470
2468
;
2471
2469
; XOP-LABEL: D107009:
2472
2470
; XOP: # %bb.0:
2473
- ; XOP-NEXT: vmovups 96(%rdi), %ymm0
2474
- ; XOP-NEXT: vmovups 128(%rdi), %ymm1
2475
- ; XOP-NEXT: vmovups 224(%rdi), %ymm2
2476
- ; XOP-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm2[0],mem[0],ymm2[2],mem[2]
2477
- ; XOP-NEXT: vunpcklps {{.*#+}} ymm1 = ymm1[0],mem[0],ymm1[1],mem[1],ymm1[4],mem[4],ymm1[5],mem[5]
2478
- ; XOP-NEXT: vshufps {{.*#+}} ymm1 = ymm1[0,1],ymm2[2,0],ymm1[4,5],ymm2[6,4]
2479
- ; XOP-NEXT: vmovdqa 16(%rdi), %xmm2
2480
- ; XOP-NEXT: vpunpckldq {{.*#+}} xmm2 = xmm2[0],mem[0],xmm2[1],mem[1]
2481
- ; XOP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm0[0],mem[0],ymm0[2],mem[2]
2482
- ; XOP-NEXT: vshufps {{.*#+}} ymm0 = ymm0[0,1,2,0,4,5,6,4]
2471
+ ; XOP-NEXT: vmovups 128(%rdi), %ymm0
2472
+ ; XOP-NEXT: vmovups 224(%rdi), %ymm1
2473
+ ; XOP-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm1[0],mem[0],ymm1[2],mem[2]
2474
+ ; XOP-NEXT: vunpcklps {{.*#+}} ymm0 = ymm0[0],mem[0],ymm0[1],mem[1],ymm0[4],mem[4],ymm0[5],mem[5]
2475
+ ; XOP-NEXT: vshufps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,0],ymm0[4,5],ymm1[6,4]
2476
+ ; XOP-NEXT: vmovaps 112(%rdi), %xmm1
2477
+ ; XOP-NEXT: vunpcklpd {{.*#+}} xmm1 = xmm1[0],mem[0]
2478
+ ; XOP-NEXT: vmovaps 16(%rdi), %xmm2
2479
+ ; XOP-NEXT: vunpcklps {{.*#+}} xmm2 = xmm2[0],mem[0],xmm2[1],mem[1]
2480
+ ; XOP-NEXT: vshufps {{.*#+}} xmm1 = xmm2[0,1],xmm1[2,0]
2481
+ ; XOP-NEXT: vpsrld $16, %xmm1, %xmm1
2483
2482
; XOP-NEXT: vextractf128 $1, %ymm0, %xmm0
2484
- ; XOP-NEXT: vpblendw {{.*#+}} xmm0 = xmm2[0,1,2,3],xmm0[4,5,6,7]
2485
2483
; XOP-NEXT: vpsrld $16, %xmm0, %xmm0
2486
- ; XOP-NEXT: vextractf128 $1, %ymm1, %xmm1
2487
- ; XOP-NEXT: vpsrld $16, %xmm1, %xmm1
2488
- ; XOP-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm1
2489
- ; XOP-NEXT: vpshufd {{.*#+}} xmm2 = xmm0[0,1,1,3]
2490
- ; XOP-NEXT: vpshufd {{.*#+}} xmm3 = xmm0[2,1,3,3]
2484
+ ; XOP-NEXT: vinsertf128 $1, %xmm0, %ymm1, %ymm0
2485
+ ; XOP-NEXT: vpshufd {{.*#+}} xmm2 = xmm1[0,1,1,3]
2486
+ ; XOP-NEXT: vpshufd {{.*#+}} xmm3 = xmm1[2,1,3,3]
2491
2487
; XOP-NEXT: vinsertf128 $1, %xmm3, %ymm2, %ymm2
2492
- ; XOP-NEXT: vshufps {{.*#+}} ymm3 = ymm1 [3,3,3,3,7,7,7,7]
2493
- ; XOP-NEXT: vshufpd {{.*#+}} ymm4 = ymm1 [0,0,3,2]
2494
- ; XOP-NEXT: vmovshdup {{.*#+}} ymm5 = ymm1 [1,1,3,3,5,5,7,7]
2495
- ; XOP-NEXT: vpshufd {{.*#+}} xmm6 = xmm0 [3,3,3,3]
2496
- ; XOP-NEXT: vpshufd {{.*#+}} xmm7 = xmm0 [1,1,1,1]
2497
- ; XOP-NEXT: vmovdqa %xmm0 , 16(%rsi)
2488
+ ; XOP-NEXT: vshufps {{.*#+}} ymm3 = ymm0 [3,3,3,3,7,7,7,7]
2489
+ ; XOP-NEXT: vshufpd {{.*#+}} ymm4 = ymm0 [0,0,3,2]
2490
+ ; XOP-NEXT: vmovshdup {{.*#+}} ymm5 = ymm0 [1,1,3,3,5,5,7,7]
2491
+ ; XOP-NEXT: vpshufd {{.*#+}} xmm6 = xmm1 [3,3,3,3]
2492
+ ; XOP-NEXT: vpshufd {{.*#+}} xmm7 = xmm1 [1,1,1,1]
2493
+ ; XOP-NEXT: vmovdqa %xmm1 , 16(%rsi)
2498
2494
; XOP-NEXT: vmovdqa %xmm7, 48(%rsi)
2499
2495
; XOP-NEXT: vmovdqa %xmm6, 112(%rsi)
2500
- ; XOP-NEXT: vmovups %ymm1 , 128(%rsi)
2496
+ ; XOP-NEXT: vmovups %ymm0 , 128(%rsi)
2501
2497
; XOP-NEXT: vmovups %ymm5, 160(%rsi)
2502
2498
; XOP-NEXT: vmovupd %ymm4, 192(%rsi)
2503
2499
; XOP-NEXT: vmovupd %ymm3, 224(%rsi)
0 commit comments