Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / llvm / test / CodeGen / X86 / vector-interleaved-load-i64-stride-6.ll
blob6e00c62f404e5a7855ec71efd2d9b6228c090c17
1 ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2 ; RUN: llc < %s -mtriple=x86_64-- -mattr=+sse2 | FileCheck %s --check-prefixes=SSE,FALLBACK0
3 ; RUN: llc < %s -mtriple=x86_64-- -mattr=+avx  | FileCheck %s --check-prefixes=AVX,AVX1,AVX1-ONLY,FALLBACK1
4 ; RUN: llc < %s -mtriple=x86_64-- -mattr=+avx2 | FileCheck %s --check-prefixes=AVX,AVX1,AVX2,AVX2-ONLY,AVX2-SLOW,FALLBACK2
5 ; RUN: llc < %s -mtriple=x86_64-- -mattr=+avx2,+fast-variable-crosslane-shuffle,+fast-variable-perlane-shuffle | FileCheck %s --check-prefixes=AVX,AVX1,AVX2,AVX2-ONLY,AVX2-FAST,FALLBACK3
6 ; RUN: llc < %s -mtriple=x86_64-- -mattr=+avx2,+fast-variable-perlane-shuffle | FileCheck %s --check-prefixes=AVX,AVX1,AVX2,AVX2-ONLY,AVX2-FAST-PERLANE,FALLBACK4
7 ; RUN: llc < %s -mtriple=x86_64-- -mattr=+avx512vl | FileCheck %s --check-prefixes=AVX,AVX2,AVX512,AVX512F,AVX512-SLOW,AVX512F-SLOW,AVX512F-ONLY-SLOW,FALLBACK5
8 ; RUN: llc < %s -mtriple=x86_64-- -mattr=+avx512vl,+fast-variable-crosslane-shuffle,+fast-variable-perlane-shuffle | FileCheck %s --check-prefixes=AVX,AVX2,AVX512,AVX512F,AVX512-FAST,AVX512F-FAST,AVX512F-ONLY-FAST,FALLBACK6
9 ; RUN: llc < %s -mtriple=x86_64-- -mattr=+avx512vl,+avx512dq | FileCheck %s --check-prefixes=AVX,AVX2,AVX512,AVX512F,AVX512-SLOW,AVX512F-SLOW,AVX512DQ-SLOW,FALLBACK7
10 ; RUN: llc < %s -mtriple=x86_64-- -mattr=+avx512vl,+avx512dq,+fast-variable-crosslane-shuffle,+fast-variable-perlane-shuffle | FileCheck %s --check-prefixes=AVX,AVX2,AVX512,AVX512F,AVX512-FAST,AVX512F-FAST,AVX512DQ-FAST,FALLBACK8
11 ; RUN: llc < %s -mtriple=x86_64-- -mattr=+avx512vl,+avx512bw | FileCheck %s --check-prefixes=AVX,AVX2,AVX512,AVX512BW,AVX512-SLOW,AVX512BW-SLOW,AVX512BW-ONLY-SLOW,FALLBACK9
12 ; RUN: llc < %s -mtriple=x86_64-- -mattr=+avx512vl,+avx512bw,+fast-variable-crosslane-shuffle,+fast-variable-perlane-shuffle | FileCheck %s --check-prefixes=AVX,AVX2,AVX512,AVX512BW,AVX512-FAST,AVX512BW-FAST,AVX512BW-ONLY-FAST,FALLBACK10
13 ; RUN: llc < %s -mtriple=x86_64-- -mattr=+avx512vl,+avx512dq,+avx512bw | FileCheck %s --check-prefixes=AVX,AVX2,AVX512,AVX512BW,AVX512-SLOW,AVX512BW-SLOW,AVX512DQBW-SLOW,FALLBACK11
14 ; RUN: llc < %s -mtriple=x86_64-- -mattr=+avx512vl,+avx512dq,+avx512bw,+fast-variable-crosslane-shuffle,+fast-variable-perlane-shuffle | FileCheck %s --check-prefixes=AVX,AVX2,AVX512,AVX512BW,AVX512-FAST,AVX512BW-FAST,AVX512DQBW-FAST,FALLBACK12
16 ; These patterns are produced by LoopVectorizer for interleaved loads.
18 define void @load_i64_stride6_vf2(ptr %in.vec, ptr %out.vec0, ptr %out.vec1, ptr %out.vec2, ptr %out.vec3, ptr %out.vec4, ptr %out.vec5) nounwind {
19 ; SSE-LABEL: load_i64_stride6_vf2:
20 ; SSE:       # %bb.0:
21 ; SSE-NEXT:    movq {{[0-9]+}}(%rsp), %rax
22 ; SSE-NEXT:    movaps 80(%rdi), %xmm0
23 ; SSE-NEXT:    movaps 64(%rdi), %xmm1
24 ; SSE-NEXT:    movaps (%rdi), %xmm2
25 ; SSE-NEXT:    movaps 16(%rdi), %xmm3
26 ; SSE-NEXT:    movaps 32(%rdi), %xmm4
27 ; SSE-NEXT:    movaps 48(%rdi), %xmm5
28 ; SSE-NEXT:    movaps %xmm2, %xmm6
29 ; SSE-NEXT:    movlhps {{.*#+}} xmm6 = xmm6[0],xmm5[0]
30 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm5[1]
31 ; SSE-NEXT:    movaps %xmm3, %xmm5
32 ; SSE-NEXT:    movlhps {{.*#+}} xmm5 = xmm5[0],xmm1[0]
33 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm3 = xmm3[1],xmm1[1]
34 ; SSE-NEXT:    movaps %xmm4, %xmm1
35 ; SSE-NEXT:    movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]
36 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm4 = xmm4[1],xmm0[1]
37 ; SSE-NEXT:    movaps %xmm6, (%rsi)
38 ; SSE-NEXT:    movaps %xmm2, (%rdx)
39 ; SSE-NEXT:    movaps %xmm5, (%rcx)
40 ; SSE-NEXT:    movaps %xmm3, (%r8)
41 ; SSE-NEXT:    movaps %xmm1, (%r9)
42 ; SSE-NEXT:    movaps %xmm4, (%rax)
43 ; SSE-NEXT:    retq
45 ; AVX-LABEL: load_i64_stride6_vf2:
46 ; AVX:       # %bb.0:
47 ; AVX-NEXT:    movq {{[0-9]+}}(%rsp), %rax
48 ; AVX-NEXT:    vmovaps (%rdi), %xmm0
49 ; AVX-NEXT:    vmovaps 16(%rdi), %xmm1
50 ; AVX-NEXT:    vmovaps 32(%rdi), %xmm2
51 ; AVX-NEXT:    vmovaps 48(%rdi), %xmm3
52 ; AVX-NEXT:    vmovlhps {{.*#+}} xmm4 = xmm0[0],xmm3[0]
53 ; AVX-NEXT:    vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm3[1]
54 ; AVX-NEXT:    vmovaps 64(%rdi), %xmm3
55 ; AVX-NEXT:    vmovlhps {{.*#+}} xmm5 = xmm1[0],xmm3[0]
56 ; AVX-NEXT:    vunpckhpd {{.*#+}} xmm1 = xmm1[1],xmm3[1]
57 ; AVX-NEXT:    vmovaps 80(%rdi), %xmm3
58 ; AVX-NEXT:    vmovlhps {{.*#+}} xmm6 = xmm2[0],xmm3[0]
59 ; AVX-NEXT:    vunpckhpd {{.*#+}} xmm2 = xmm2[1],xmm3[1]
60 ; AVX-NEXT:    vmovaps %xmm4, (%rsi)
61 ; AVX-NEXT:    vmovaps %xmm0, (%rdx)
62 ; AVX-NEXT:    vmovaps %xmm5, (%rcx)
63 ; AVX-NEXT:    vmovaps %xmm1, (%r8)
64 ; AVX-NEXT:    vmovaps %xmm6, (%r9)
65 ; AVX-NEXT:    vmovaps %xmm2, (%rax)
66 ; AVX-NEXT:    retq
67   %wide.vec = load <12 x i64>, ptr %in.vec, align 64
68   %strided.vec0 = shufflevector <12 x i64> %wide.vec, <12 x i64> poison, <2 x i32> <i32 0, i32 6>
69   %strided.vec1 = shufflevector <12 x i64> %wide.vec, <12 x i64> poison, <2 x i32> <i32 1, i32 7>
70   %strided.vec2 = shufflevector <12 x i64> %wide.vec, <12 x i64> poison, <2 x i32> <i32 2, i32 8>
71   %strided.vec3 = shufflevector <12 x i64> %wide.vec, <12 x i64> poison, <2 x i32> <i32 3, i32 9>
72   %strided.vec4 = shufflevector <12 x i64> %wide.vec, <12 x i64> poison, <2 x i32> <i32 4, i32 10>
73   %strided.vec5 = shufflevector <12 x i64> %wide.vec, <12 x i64> poison, <2 x i32> <i32 5, i32 11>
74   store <2 x i64> %strided.vec0, ptr %out.vec0, align 64
75   store <2 x i64> %strided.vec1, ptr %out.vec1, align 64
76   store <2 x i64> %strided.vec2, ptr %out.vec2, align 64
77   store <2 x i64> %strided.vec3, ptr %out.vec3, align 64
78   store <2 x i64> %strided.vec4, ptr %out.vec4, align 64
79   store <2 x i64> %strided.vec5, ptr %out.vec5, align 64
80   ret void
83 define void @load_i64_stride6_vf4(ptr %in.vec, ptr %out.vec0, ptr %out.vec1, ptr %out.vec2, ptr %out.vec3, ptr %out.vec4, ptr %out.vec5) nounwind {
84 ; SSE-LABEL: load_i64_stride6_vf4:
85 ; SSE:       # %bb.0:
86 ; SSE-NEXT:    movq {{[0-9]+}}(%rsp), %rax
87 ; SSE-NEXT:    movaps 80(%rdi), %xmm3
88 ; SSE-NEXT:    movaps 176(%rdi), %xmm5
89 ; SSE-NEXT:    movaps 128(%rdi), %xmm0
90 ; SSE-NEXT:    movaps 64(%rdi), %xmm6
91 ; SSE-NEXT:    movaps 160(%rdi), %xmm7
92 ; SSE-NEXT:    movaps 112(%rdi), %xmm1
93 ; SSE-NEXT:    movaps (%rdi), %xmm8
94 ; SSE-NEXT:    movaps 16(%rdi), %xmm4
95 ; SSE-NEXT:    movaps 32(%rdi), %xmm2
96 ; SSE-NEXT:    movaps 48(%rdi), %xmm9
97 ; SSE-NEXT:    movaps 144(%rdi), %xmm10
98 ; SSE-NEXT:    movaps 96(%rdi), %xmm11
99 ; SSE-NEXT:    movaps %xmm11, %xmm12
100 ; SSE-NEXT:    movlhps {{.*#+}} xmm12 = xmm12[0],xmm10[0]
101 ; SSE-NEXT:    movaps %xmm8, %xmm13
102 ; SSE-NEXT:    movlhps {{.*#+}} xmm13 = xmm13[0],xmm9[0]
103 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm11 = xmm11[1],xmm10[1]
104 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm8 = xmm8[1],xmm9[1]
105 ; SSE-NEXT:    movaps %xmm1, %xmm9
106 ; SSE-NEXT:    movlhps {{.*#+}} xmm9 = xmm9[0],xmm7[0]
107 ; SSE-NEXT:    movaps %xmm4, %xmm10
108 ; SSE-NEXT:    movlhps {{.*#+}} xmm10 = xmm10[0],xmm6[0]
109 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm7[1]
110 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm4 = xmm4[1],xmm6[1]
111 ; SSE-NEXT:    movaps %xmm0, %xmm6
112 ; SSE-NEXT:    movlhps {{.*#+}} xmm6 = xmm6[0],xmm5[0]
113 ; SSE-NEXT:    movaps %xmm2, %xmm7
114 ; SSE-NEXT:    movlhps {{.*#+}} xmm7 = xmm7[0],xmm3[0]
115 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm0 = xmm0[1],xmm5[1]
116 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm3[1]
117 ; SSE-NEXT:    movaps %xmm13, (%rsi)
118 ; SSE-NEXT:    movaps %xmm12, 16(%rsi)
119 ; SSE-NEXT:    movaps %xmm8, (%rdx)
120 ; SSE-NEXT:    movaps %xmm11, 16(%rdx)
121 ; SSE-NEXT:    movaps %xmm10, (%rcx)
122 ; SSE-NEXT:    movaps %xmm9, 16(%rcx)
123 ; SSE-NEXT:    movaps %xmm4, (%r8)
124 ; SSE-NEXT:    movaps %xmm1, 16(%r8)
125 ; SSE-NEXT:    movaps %xmm7, (%r9)
126 ; SSE-NEXT:    movaps %xmm6, 16(%r9)
127 ; SSE-NEXT:    movaps %xmm2, (%rax)
128 ; SSE-NEXT:    movaps %xmm0, 16(%rax)
129 ; SSE-NEXT:    retq
131 ; AVX1-ONLY-LABEL: load_i64_stride6_vf4:
132 ; AVX1-ONLY:       # %bb.0:
133 ; AVX1-ONLY-NEXT:    movq {{[0-9]+}}(%rsp), %rax
134 ; AVX1-ONLY-NEXT:    vmovaps 160(%rdi), %ymm0
135 ; AVX1-ONLY-NEXT:    vmovaps 96(%rdi), %ymm1
136 ; AVX1-ONLY-NEXT:    vmovaps 128(%rdi), %ymm2
137 ; AVX1-ONLY-NEXT:    vinsertf128 $1, 96(%rdi), %ymm0, %ymm3
138 ; AVX1-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm4 = ymm3[0],ymm2[0],ymm3[2],ymm2[2]
139 ; AVX1-ONLY-NEXT:    vmovaps (%rdi), %xmm5
140 ; AVX1-ONLY-NEXT:    vmovaps 16(%rdi), %xmm6
141 ; AVX1-ONLY-NEXT:    vmovaps 32(%rdi), %xmm7
142 ; AVX1-ONLY-NEXT:    vmovaps 48(%rdi), %xmm8
143 ; AVX1-ONLY-NEXT:    vmovlhps {{.*#+}} xmm9 = xmm5[0],xmm8[0]
144 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm4 = ymm9[0,1,2,3],ymm4[4,5,6,7]
145 ; AVX1-ONLY-NEXT:    vunpckhpd {{.*#+}} ymm2 = ymm3[1],ymm2[1],ymm3[3],ymm2[3]
146 ; AVX1-ONLY-NEXT:    vunpckhpd {{.*#+}} xmm3 = xmm5[1],xmm8[1]
147 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm2 = ymm3[0,1,2,3],ymm2[4,5,6,7]
148 ; AVX1-ONLY-NEXT:    vinsertf128 $1, 160(%rdi), %ymm0, %ymm3
149 ; AVX1-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm5 = ymm1[0],ymm3[0],ymm1[2],ymm3[2]
150 ; AVX1-ONLY-NEXT:    vmovaps 64(%rdi), %xmm8
151 ; AVX1-ONLY-NEXT:    vmovlhps {{.*#+}} xmm9 = xmm6[0],xmm8[0]
152 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm5 = ymm9[0,1,2,3],ymm5[4,5,6,7]
153 ; AVX1-ONLY-NEXT:    vunpckhpd {{.*#+}} ymm1 = ymm1[1],ymm3[1],ymm1[3],ymm3[3]
154 ; AVX1-ONLY-NEXT:    vunpckhpd {{.*#+}} xmm3 = xmm6[1],xmm8[1]
155 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm1 = ymm3[0,1,2,3],ymm1[4,5,6,7]
156 ; AVX1-ONLY-NEXT:    vinsertf128 $1, 128(%rdi), %ymm0, %ymm3
157 ; AVX1-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm6 = ymm3[0],ymm0[0],ymm3[2],ymm0[2]
158 ; AVX1-ONLY-NEXT:    vmovaps 80(%rdi), %xmm8
159 ; AVX1-ONLY-NEXT:    vmovlhps {{.*#+}} xmm9 = xmm7[0],xmm8[0]
160 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm6 = ymm9[0,1,2,3],ymm6[4,5,6,7]
161 ; AVX1-ONLY-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm3[1],ymm0[1],ymm3[3],ymm0[3]
162 ; AVX1-ONLY-NEXT:    vunpckhpd {{.*#+}} xmm3 = xmm7[1],xmm8[1]
163 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm3[0,1,2,3],ymm0[4,5,6,7]
164 ; AVX1-ONLY-NEXT:    vmovaps %ymm4, (%rsi)
165 ; AVX1-ONLY-NEXT:    vmovaps %ymm2, (%rdx)
166 ; AVX1-ONLY-NEXT:    vmovaps %ymm5, (%rcx)
167 ; AVX1-ONLY-NEXT:    vmovaps %ymm1, (%r8)
168 ; AVX1-ONLY-NEXT:    vmovaps %ymm6, (%r9)
169 ; AVX1-ONLY-NEXT:    vmovaps %ymm0, (%rax)
170 ; AVX1-ONLY-NEXT:    vzeroupper
171 ; AVX1-ONLY-NEXT:    retq
173 ; AVX2-ONLY-LABEL: load_i64_stride6_vf4:
174 ; AVX2-ONLY:       # %bb.0:
175 ; AVX2-ONLY-NEXT:    movq {{[0-9]+}}(%rsp), %rax
176 ; AVX2-ONLY-NEXT:    vmovaps 160(%rdi), %ymm0
177 ; AVX2-ONLY-NEXT:    vmovaps 128(%rdi), %ymm1
178 ; AVX2-ONLY-NEXT:    vmovaps 96(%rdi), %ymm2
179 ; AVX2-ONLY-NEXT:    vmovaps (%rdi), %xmm3
180 ; AVX2-ONLY-NEXT:    vmovaps 16(%rdi), %xmm4
181 ; AVX2-ONLY-NEXT:    vmovaps 32(%rdi), %xmm5
182 ; AVX2-ONLY-NEXT:    vmovaps 48(%rdi), %xmm6
183 ; AVX2-ONLY-NEXT:    vmovlhps {{.*#+}} xmm7 = xmm3[0],xmm6[0]
184 ; AVX2-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm8 = ymm2[0],ymm1[0],ymm2[2],ymm1[2]
185 ; AVX2-ONLY-NEXT:    vpermpd {{.*#+}} ymm8 = ymm8[0,1,0,3]
186 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm7 = ymm7[0,1,2,3],ymm8[4,5,6,7]
187 ; AVX2-ONLY-NEXT:    vbroadcastsd 104(%rdi), %ymm8
188 ; AVX2-ONLY-NEXT:    vunpckhpd {{.*#+}} ymm8 = ymm8[1],ymm1[1],ymm8[3],ymm1[3]
189 ; AVX2-ONLY-NEXT:    vunpckhpd {{.*#+}} xmm3 = xmm3[1],xmm6[1]
190 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3],ymm8[4,5,6,7]
191 ; AVX2-ONLY-NEXT:    vbroadcastsd 160(%rdi), %ymm6
192 ; AVX2-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm6 = ymm2[0],ymm6[0],ymm2[2],ymm6[2]
193 ; AVX2-ONLY-NEXT:    vmovaps 64(%rdi), %xmm8
194 ; AVX2-ONLY-NEXT:    vmovlhps {{.*#+}} xmm9 = xmm4[0],xmm8[0]
195 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm6 = ymm9[0,1,2,3],ymm6[4,5,6,7]
196 ; AVX2-ONLY-NEXT:    vunpckhpd {{.*#+}} xmm4 = xmm4[1],xmm8[1]
197 ; AVX2-ONLY-NEXT:    vunpckhpd {{.*#+}} ymm2 = ymm2[1],ymm0[1],ymm2[3],ymm0[3]
198 ; AVX2-ONLY-NEXT:    vpermpd {{.*#+}} ymm2 = ymm2[0,1,2,1]
199 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm2 = ymm4[0,1,2,3],ymm2[4,5,6,7]
200 ; AVX2-ONLY-NEXT:    vmovaps 80(%rdi), %xmm4
201 ; AVX2-ONLY-NEXT:    vmovlhps {{.*#+}} xmm8 = xmm5[0],xmm4[0]
202 ; AVX2-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm1 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]
203 ; AVX2-ONLY-NEXT:    vpermpd {{.*#+}} ymm1 = ymm1[0,1,0,3]
204 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm1 = ymm8[0,1,2,3],ymm1[4,5,6,7]
205 ; AVX2-ONLY-NEXT:    vbroadcastsd 136(%rdi), %ymm8
206 ; AVX2-ONLY-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm8[1],ymm0[1],ymm8[3],ymm0[3]
207 ; AVX2-ONLY-NEXT:    vunpckhpd {{.*#+}} xmm4 = xmm5[1],xmm4[1]
208 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm4[0,1,2,3],ymm0[4,5,6,7]
209 ; AVX2-ONLY-NEXT:    vmovaps %ymm7, (%rsi)
210 ; AVX2-ONLY-NEXT:    vmovaps %ymm3, (%rdx)
211 ; AVX2-ONLY-NEXT:    vmovaps %ymm6, (%rcx)
212 ; AVX2-ONLY-NEXT:    vmovaps %ymm2, (%r8)
213 ; AVX2-ONLY-NEXT:    vmovaps %ymm1, (%r9)
214 ; AVX2-ONLY-NEXT:    vmovaps %ymm0, (%rax)
215 ; AVX2-ONLY-NEXT:    vzeroupper
216 ; AVX2-ONLY-NEXT:    retq
218 ; AVX512-SLOW-LABEL: load_i64_stride6_vf4:
219 ; AVX512-SLOW:       # %bb.0:
220 ; AVX512-SLOW-NEXT:    movq {{[0-9]+}}(%rsp), %rax
221 ; AVX512-SLOW-NEXT:    vmovdqa64 (%rdi), %zmm2
222 ; AVX512-SLOW-NEXT:    vmovdqa64 64(%rdi), %zmm3
223 ; AVX512-SLOW-NEXT:    vmovdqa {{.*#+}} ymm0 = <0,6,12,u>
224 ; AVX512-SLOW-NEXT:    vpermi2q %zmm3, %zmm2, %zmm0
225 ; AVX512-SLOW-NEXT:    vpbroadcastq 144(%rdi), %ymm1
226 ; AVX512-SLOW-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]
227 ; AVX512-SLOW-NEXT:    vmovdqa {{.*#+}} ymm1 = <1,7,13,u>
228 ; AVX512-SLOW-NEXT:    vpermi2q %zmm3, %zmm2, %zmm1
229 ; AVX512-SLOW-NEXT:    vmovdqa 128(%rdi), %ymm4
230 ; AVX512-SLOW-NEXT:    vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],ymm4[6,7]
231 ; AVX512-SLOW-NEXT:    vmovdqa {{.*#+}} ymm5 = <10,0,6,u>
232 ; AVX512-SLOW-NEXT:    vpermi2q %zmm2, %zmm3, %zmm5
233 ; AVX512-SLOW-NEXT:    vmovdqa 160(%rdi), %xmm6
234 ; AVX512-SLOW-NEXT:    vpbroadcastq %xmm6, %ymm7
235 ; AVX512-SLOW-NEXT:    vpblendd {{.*#+}} ymm5 = ymm5[0,1,2,3,4,5],ymm7[6,7]
236 ; AVX512-SLOW-NEXT:    vinserti128 $1, %xmm6, %ymm0, %ymm6
237 ; AVX512-SLOW-NEXT:    vmovdqa {{.*#+}} ymm7 = <11,1,7,u>
238 ; AVX512-SLOW-NEXT:    vpermi2q %zmm2, %zmm3, %zmm7
239 ; AVX512-SLOW-NEXT:    vpblendd {{.*#+}} ymm6 = ymm7[0,1,2,3,4,5],ymm6[6,7]
240 ; AVX512-SLOW-NEXT:    vmovdqa 160(%rdi), %ymm7
241 ; AVX512-SLOW-NEXT:    vpunpcklqdq {{.*#+}} ymm4 = ymm4[0],ymm7[0],ymm4[2],ymm7[2]
242 ; AVX512-SLOW-NEXT:    vpermq {{.*#+}} ymm4 = ymm4[0,1,0,3]
243 ; AVX512-SLOW-NEXT:    vmovdqa {{.*#+}} xmm8 = [4,10]
244 ; AVX512-SLOW-NEXT:    vpermi2q %zmm3, %zmm2, %zmm8
245 ; AVX512-SLOW-NEXT:    vpblendd {{.*#+}} ymm4 = ymm8[0,1,2,3],ymm4[4,5,6,7]
246 ; AVX512-SLOW-NEXT:    vpbroadcastq 136(%rdi), %ymm8
247 ; AVX512-SLOW-NEXT:    vpunpckhqdq {{.*#+}} ymm7 = ymm8[1],ymm7[1],ymm8[3],ymm7[3]
248 ; AVX512-SLOW-NEXT:    vmovdqa {{.*#+}} xmm8 = [5,11]
249 ; AVX512-SLOW-NEXT:    vpermi2q %zmm3, %zmm2, %zmm8
250 ; AVX512-SLOW-NEXT:    vpblendd {{.*#+}} ymm2 = ymm8[0,1,2,3],ymm7[4,5,6,7]
251 ; AVX512-SLOW-NEXT:    vmovdqa %ymm0, (%rsi)
252 ; AVX512-SLOW-NEXT:    vmovdqa %ymm1, (%rdx)
253 ; AVX512-SLOW-NEXT:    vmovdqa %ymm5, (%rcx)
254 ; AVX512-SLOW-NEXT:    vmovdqa %ymm6, (%r8)
255 ; AVX512-SLOW-NEXT:    vmovdqa %ymm4, (%r9)
256 ; AVX512-SLOW-NEXT:    vmovdqa %ymm2, (%rax)
257 ; AVX512-SLOW-NEXT:    vzeroupper
258 ; AVX512-SLOW-NEXT:    retq
260 ; AVX512-FAST-LABEL: load_i64_stride6_vf4:
261 ; AVX512-FAST:       # %bb.0:
262 ; AVX512-FAST-NEXT:    movq {{[0-9]+}}(%rsp), %rax
263 ; AVX512-FAST-NEXT:    vmovdqa64 (%rdi), %zmm2
264 ; AVX512-FAST-NEXT:    vmovdqa64 64(%rdi), %zmm3
265 ; AVX512-FAST-NEXT:    vmovdqa {{.*#+}} ymm0 = <0,6,12,u>
266 ; AVX512-FAST-NEXT:    vpermi2q %zmm3, %zmm2, %zmm0
267 ; AVX512-FAST-NEXT:    vpbroadcastq 144(%rdi), %ymm1
268 ; AVX512-FAST-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]
269 ; AVX512-FAST-NEXT:    vmovdqa {{.*#+}} ymm1 = <1,7,13,u>
270 ; AVX512-FAST-NEXT:    vpermi2q %zmm3, %zmm2, %zmm1
271 ; AVX512-FAST-NEXT:    vmovdqa 128(%rdi), %ymm4
272 ; AVX512-FAST-NEXT:    vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],ymm4[6,7]
273 ; AVX512-FAST-NEXT:    vmovdqa {{.*#+}} ymm5 = <10,0,6,u>
274 ; AVX512-FAST-NEXT:    vpermi2q %zmm2, %zmm3, %zmm5
275 ; AVX512-FAST-NEXT:    vmovdqa {{.*#+}} ymm6 = [0,1,2,4]
276 ; AVX512-FAST-NEXT:    vmovdqa 160(%rdi), %ymm7
277 ; AVX512-FAST-NEXT:    vpermi2q %ymm7, %ymm5, %ymm6
278 ; AVX512-FAST-NEXT:    vinserti128 $1, 160(%rdi), %ymm0, %ymm5
279 ; AVX512-FAST-NEXT:    vmovdqa {{.*#+}} ymm8 = <11,1,7,u>
280 ; AVX512-FAST-NEXT:    vpermi2q %zmm2, %zmm3, %zmm8
281 ; AVX512-FAST-NEXT:    vpblendd {{.*#+}} ymm5 = ymm8[0,1,2,3,4,5],ymm5[6,7]
282 ; AVX512-FAST-NEXT:    vbroadcasti128 {{.*#+}} ymm8 = [0,6,0,6]
283 ; AVX512-FAST-NEXT:    # ymm8 = mem[0,1,0,1]
284 ; AVX512-FAST-NEXT:    vpermi2q %ymm7, %ymm4, %ymm8
285 ; AVX512-FAST-NEXT:    vmovdqa {{.*#+}} xmm4 = [4,10]
286 ; AVX512-FAST-NEXT:    vpermi2q %zmm3, %zmm2, %zmm4
287 ; AVX512-FAST-NEXT:    vpblendd {{.*#+}} ymm4 = ymm4[0,1,2,3],ymm8[4,5,6,7]
288 ; AVX512-FAST-NEXT:    vpbroadcastq 136(%rdi), %ymm8
289 ; AVX512-FAST-NEXT:    vpunpckhqdq {{.*#+}} ymm7 = ymm8[1],ymm7[1],ymm8[3],ymm7[3]
290 ; AVX512-FAST-NEXT:    vmovdqa {{.*#+}} xmm8 = [5,11]
291 ; AVX512-FAST-NEXT:    vpermi2q %zmm3, %zmm2, %zmm8
292 ; AVX512-FAST-NEXT:    vpblendd {{.*#+}} ymm2 = ymm8[0,1,2,3],ymm7[4,5,6,7]
293 ; AVX512-FAST-NEXT:    vmovdqa %ymm0, (%rsi)
294 ; AVX512-FAST-NEXT:    vmovdqa %ymm1, (%rdx)
295 ; AVX512-FAST-NEXT:    vmovdqa %ymm6, (%rcx)
296 ; AVX512-FAST-NEXT:    vmovdqa %ymm5, (%r8)
297 ; AVX512-FAST-NEXT:    vmovdqa %ymm4, (%r9)
298 ; AVX512-FAST-NEXT:    vmovdqa %ymm2, (%rax)
299 ; AVX512-FAST-NEXT:    vzeroupper
300 ; AVX512-FAST-NEXT:    retq
301   %wide.vec = load <24 x i64>, ptr %in.vec, align 64
302   %strided.vec0 = shufflevector <24 x i64> %wide.vec, <24 x i64> poison, <4 x i32> <i32 0, i32 6, i32 12, i32 18>
303   %strided.vec1 = shufflevector <24 x i64> %wide.vec, <24 x i64> poison, <4 x i32> <i32 1, i32 7, i32 13, i32 19>
304   %strided.vec2 = shufflevector <24 x i64> %wide.vec, <24 x i64> poison, <4 x i32> <i32 2, i32 8, i32 14, i32 20>
305   %strided.vec3 = shufflevector <24 x i64> %wide.vec, <24 x i64> poison, <4 x i32> <i32 3, i32 9, i32 15, i32 21>
306   %strided.vec4 = shufflevector <24 x i64> %wide.vec, <24 x i64> poison, <4 x i32> <i32 4, i32 10, i32 16, i32 22>
307   %strided.vec5 = shufflevector <24 x i64> %wide.vec, <24 x i64> poison, <4 x i32> <i32 5, i32 11, i32 17, i32 23>
308   store <4 x i64> %strided.vec0, ptr %out.vec0, align 64
309   store <4 x i64> %strided.vec1, ptr %out.vec1, align 64
310   store <4 x i64> %strided.vec2, ptr %out.vec2, align 64
311   store <4 x i64> %strided.vec3, ptr %out.vec3, align 64
312   store <4 x i64> %strided.vec4, ptr %out.vec4, align 64
313   store <4 x i64> %strided.vec5, ptr %out.vec5, align 64
314   ret void
317 define void @load_i64_stride6_vf8(ptr %in.vec, ptr %out.vec0, ptr %out.vec1, ptr %out.vec2, ptr %out.vec3, ptr %out.vec4, ptr %out.vec5) nounwind {
318 ; SSE-LABEL: load_i64_stride6_vf8:
319 ; SSE:       # %bb.0:
320 ; SSE-NEXT:    subq $24, %rsp
321 ; SSE-NEXT:    movaps 160(%rdi), %xmm10
322 ; SSE-NEXT:    movaps 256(%rdi), %xmm13
323 ; SSE-NEXT:    movaps 208(%rdi), %xmm5
324 ; SSE-NEXT:    movaps 352(%rdi), %xmm15
325 ; SSE-NEXT:    movaps 304(%rdi), %xmm6
326 ; SSE-NEXT:    movaps 64(%rdi), %xmm0
327 ; SSE-NEXT:    movaps (%rdi), %xmm8
328 ; SSE-NEXT:    movaps 16(%rdi), %xmm7
329 ; SSE-NEXT:    movaps 48(%rdi), %xmm1
330 ; SSE-NEXT:    movaps 144(%rdi), %xmm2
331 ; SSE-NEXT:    movaps 96(%rdi), %xmm11
332 ; SSE-NEXT:    movaps 240(%rdi), %xmm3
333 ; SSE-NEXT:    movaps 192(%rdi), %xmm12
334 ; SSE-NEXT:    movaps 336(%rdi), %xmm4
335 ; SSE-NEXT:    movaps 288(%rdi), %xmm9
336 ; SSE-NEXT:    movaps %xmm9, %xmm14
337 ; SSE-NEXT:    movlhps {{.*#+}} xmm14 = xmm14[0],xmm4[0]
338 ; SSE-NEXT:    movaps %xmm14, (%rsp) # 16-byte Spill
339 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm9 = xmm9[1],xmm4[1]
340 ; SSE-NEXT:    movaps %xmm12, %xmm4
341 ; SSE-NEXT:    movlhps {{.*#+}} xmm4 = xmm4[0],xmm3[0]
342 ; SSE-NEXT:    movaps %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
343 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm12 = xmm12[1],xmm3[1]
344 ; SSE-NEXT:    movaps %xmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
345 ; SSE-NEXT:    movaps %xmm11, %xmm3
346 ; SSE-NEXT:    movlhps {{.*#+}} xmm11 = xmm11[0],xmm2[0]
347 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm3 = xmm3[1],xmm2[1]
348 ; SSE-NEXT:    movaps %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
349 ; SSE-NEXT:    movaps %xmm8, %xmm12
350 ; SSE-NEXT:    movlhps {{.*#+}} xmm12 = xmm12[0],xmm1[0]
351 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm8 = xmm8[1],xmm1[1]
352 ; SSE-NEXT:    movaps %xmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
353 ; SSE-NEXT:    movaps %xmm7, %xmm2
354 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]
355 ; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
356 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm7 = xmm7[1],xmm0[1]
357 ; SSE-NEXT:    movaps %xmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
358 ; SSE-NEXT:    movaps %xmm6, %xmm14
359 ; SSE-NEXT:    movlhps {{.*#+}} xmm14 = xmm14[0],xmm15[0]
360 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm6 = xmm6[1],xmm15[1]
361 ; SSE-NEXT:    movaps %xmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
362 ; SSE-NEXT:    movaps %xmm5, %xmm15
363 ; SSE-NEXT:    movlhps {{.*#+}} xmm15 = xmm15[0],xmm13[0]
364 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm5 = xmm5[1],xmm13[1]
365 ; SSE-NEXT:    movaps %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
366 ; SSE-NEXT:    movaps 112(%rdi), %xmm13
367 ; SSE-NEXT:    movaps %xmm13, %xmm7
368 ; SSE-NEXT:    movlhps {{.*#+}} xmm7 = xmm7[0],xmm10[0]
369 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm13 = xmm13[1],xmm10[1]
370 ; SSE-NEXT:    movaps 80(%rdi), %xmm0
371 ; SSE-NEXT:    movaps 32(%rdi), %xmm10
372 ; SSE-NEXT:    movaps %xmm10, %xmm8
373 ; SSE-NEXT:    movlhps {{.*#+}} xmm8 = xmm8[0],xmm0[0]
374 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm10 = xmm10[1],xmm0[1]
375 ; SSE-NEXT:    movaps 368(%rdi), %xmm0
376 ; SSE-NEXT:    movaps 320(%rdi), %xmm5
377 ; SSE-NEXT:    movaps %xmm5, %xmm6
378 ; SSE-NEXT:    movlhps {{.*#+}} xmm6 = xmm6[0],xmm0[0]
379 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm5 = xmm5[1],xmm0[1]
380 ; SSE-NEXT:    movaps 272(%rdi), %xmm0
381 ; SSE-NEXT:    movaps 224(%rdi), %xmm3
382 ; SSE-NEXT:    movaps %xmm3, %xmm4
383 ; SSE-NEXT:    movlhps {{.*#+}} xmm4 = xmm4[0],xmm0[0]
384 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm3 = xmm3[1],xmm0[1]
385 ; SSE-NEXT:    movaps 176(%rdi), %xmm0
386 ; SSE-NEXT:    movaps 128(%rdi), %xmm1
387 ; SSE-NEXT:    movaps %xmm1, %xmm2
388 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]
389 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
390 ; SSE-NEXT:    movaps %xmm11, 16(%rsi)
391 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
392 ; SSE-NEXT:    movaps %xmm0, 32(%rsi)
393 ; SSE-NEXT:    movaps (%rsp), %xmm0 # 16-byte Reload
394 ; SSE-NEXT:    movaps %xmm0, 48(%rsi)
395 ; SSE-NEXT:    movaps %xmm12, (%rsi)
396 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
397 ; SSE-NEXT:    movaps %xmm0, 16(%rdx)
398 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
399 ; SSE-NEXT:    movaps %xmm0, 32(%rdx)
400 ; SSE-NEXT:    movaps %xmm9, 48(%rdx)
401 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
402 ; SSE-NEXT:    movaps %xmm0, (%rdx)
403 ; SSE-NEXT:    movaps %xmm7, 16(%rcx)
404 ; SSE-NEXT:    movaps %xmm15, 32(%rcx)
405 ; SSE-NEXT:    movaps %xmm14, 48(%rcx)
406 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
407 ; SSE-NEXT:    movaps %xmm0, (%rcx)
408 ; SSE-NEXT:    movaps %xmm13, 16(%r8)
409 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
410 ; SSE-NEXT:    movaps %xmm0, 32(%r8)
411 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
412 ; SSE-NEXT:    movaps %xmm0, 48(%r8)
413 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
414 ; SSE-NEXT:    movaps %xmm0, (%r8)
415 ; SSE-NEXT:    movaps %xmm2, 16(%r9)
416 ; SSE-NEXT:    movaps %xmm4, 32(%r9)
417 ; SSE-NEXT:    movaps %xmm6, 48(%r9)
418 ; SSE-NEXT:    movaps %xmm8, (%r9)
419 ; SSE-NEXT:    movq {{[0-9]+}}(%rsp), %rax
420 ; SSE-NEXT:    movaps %xmm1, 16(%rax)
421 ; SSE-NEXT:    movaps %xmm3, 32(%rax)
422 ; SSE-NEXT:    movaps %xmm5, 48(%rax)
423 ; SSE-NEXT:    movaps %xmm10, (%rax)
424 ; SSE-NEXT:    addq $24, %rsp
425 ; SSE-NEXT:    retq
427 ; AVX1-ONLY-LABEL: load_i64_stride6_vf8:
428 ; AVX1-ONLY:       # %bb.0:
429 ; AVX1-ONLY-NEXT:    vmovaps 352(%rdi), %ymm0
430 ; AVX1-ONLY-NEXT:    vmovaps 288(%rdi), %ymm4
431 ; AVX1-ONLY-NEXT:    vmovaps 96(%rdi), %ymm7
432 ; AVX1-ONLY-NEXT:    vmovaps 320(%rdi), %ymm5
433 ; AVX1-ONLY-NEXT:    vmovaps 128(%rdi), %ymm3
434 ; AVX1-ONLY-NEXT:    vinsertf128 $1, 96(%rdi), %ymm0, %ymm6
435 ; AVX1-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm1 = ymm6[0],ymm3[0],ymm6[2],ymm3[2]
436 ; AVX1-ONLY-NEXT:    vmovaps (%rdi), %xmm9
437 ; AVX1-ONLY-NEXT:    vmovaps 16(%rdi), %xmm8
438 ; AVX1-ONLY-NEXT:    vmovaps 48(%rdi), %xmm10
439 ; AVX1-ONLY-NEXT:    vmovlhps {{.*#+}} xmm2 = xmm9[0],xmm10[0]
440 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]
441 ; AVX1-ONLY-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
442 ; AVX1-ONLY-NEXT:    vinsertf128 $1, 288(%rdi), %ymm0, %ymm11
443 ; AVX1-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm2 = ymm11[0],ymm5[0],ymm11[2],ymm5[2]
444 ; AVX1-ONLY-NEXT:    vmovaps 240(%rdi), %xmm12
445 ; AVX1-ONLY-NEXT:    vmovaps 192(%rdi), %xmm13
446 ; AVX1-ONLY-NEXT:    vmovlhps {{.*#+}} xmm14 = xmm13[0],xmm12[0]
447 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm1 = ymm14[0,1,2,3],ymm2[4,5,6,7]
448 ; AVX1-ONLY-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
449 ; AVX1-ONLY-NEXT:    vunpckhpd {{.*#+}} ymm3 = ymm6[1],ymm3[1],ymm6[3],ymm3[3]
450 ; AVX1-ONLY-NEXT:    vunpckhpd {{.*#+}} xmm6 = xmm9[1],xmm10[1]
451 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm1 = ymm6[0,1,2,3],ymm3[4,5,6,7]
452 ; AVX1-ONLY-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
453 ; AVX1-ONLY-NEXT:    vunpckhpd {{.*#+}} ymm5 = ymm11[1],ymm5[1],ymm11[3],ymm5[3]
454 ; AVX1-ONLY-NEXT:    vunpckhpd {{.*#+}} xmm6 = xmm13[1],xmm12[1]
455 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm5 = ymm6[0,1,2,3],ymm5[4,5,6,7]
456 ; AVX1-ONLY-NEXT:    vinsertf128 $1, 160(%rdi), %ymm0, %ymm10
457 ; AVX1-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm6 = ymm7[0],ymm10[0],ymm7[2],ymm10[2]
458 ; AVX1-ONLY-NEXT:    vmovaps 64(%rdi), %xmm11
459 ; AVX1-ONLY-NEXT:    vmovlhps {{.*#+}} xmm9 = xmm8[0],xmm11[0]
460 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm6 = ymm9[0,1,2,3],ymm6[4,5,6,7]
461 ; AVX1-ONLY-NEXT:    vinsertf128 $1, 352(%rdi), %ymm0, %ymm12
462 ; AVX1-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm9 = ymm4[0],ymm12[0],ymm4[2],ymm12[2]
463 ; AVX1-ONLY-NEXT:    vmovaps 256(%rdi), %xmm13
464 ; AVX1-ONLY-NEXT:    vmovaps 208(%rdi), %xmm14
465 ; AVX1-ONLY-NEXT:    vmovlhps {{.*#+}} xmm15 = xmm14[0],xmm13[0]
466 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm9 = ymm15[0,1,2,3],ymm9[4,5,6,7]
467 ; AVX1-ONLY-NEXT:    vmovaps 160(%rdi), %ymm15
468 ; AVX1-ONLY-NEXT:    vunpckhpd {{.*#+}} ymm7 = ymm7[1],ymm10[1],ymm7[3],ymm10[3]
469 ; AVX1-ONLY-NEXT:    vmovaps 32(%rdi), %xmm10
470 ; AVX1-ONLY-NEXT:    vunpckhpd {{.*#+}} xmm8 = xmm8[1],xmm11[1]
471 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm7 = ymm8[0,1,2,3],ymm7[4,5,6,7]
472 ; AVX1-ONLY-NEXT:    vunpckhpd {{.*#+}} ymm4 = ymm4[1],ymm12[1],ymm4[3],ymm12[3]
473 ; AVX1-ONLY-NEXT:    vunpckhpd {{.*#+}} xmm8 = xmm14[1],xmm13[1]
474 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm4 = ymm8[0,1,2,3],ymm4[4,5,6,7]
475 ; AVX1-ONLY-NEXT:    vinsertf128 $1, 128(%rdi), %ymm0, %ymm8
476 ; AVX1-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm11 = ymm8[0],ymm15[0],ymm8[2],ymm15[2]
477 ; AVX1-ONLY-NEXT:    vmovaps 80(%rdi), %xmm12
478 ; AVX1-ONLY-NEXT:    vmovlhps {{.*#+}} xmm13 = xmm10[0],xmm12[0]
479 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm11 = ymm13[0,1,2,3],ymm11[4,5,6,7]
480 ; AVX1-ONLY-NEXT:    vinsertf128 $1, 320(%rdi), %ymm0, %ymm13
481 ; AVX1-ONLY-NEXT:    vmovaps %ymm0, %ymm3
482 ; AVX1-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm14 = ymm13[0],ymm0[0],ymm13[2],ymm0[2]
483 ; AVX1-ONLY-NEXT:    vmovaps 272(%rdi), %xmm1
484 ; AVX1-ONLY-NEXT:    vmovaps 224(%rdi), %xmm0
485 ; AVX1-ONLY-NEXT:    vmovlhps {{.*#+}} xmm2 = xmm0[0],xmm1[0]
486 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm14[4,5,6,7]
487 ; AVX1-ONLY-NEXT:    vunpckhpd {{.*#+}} ymm8 = ymm8[1],ymm15[1],ymm8[3],ymm15[3]
488 ; AVX1-ONLY-NEXT:    vunpckhpd {{.*#+}} xmm10 = xmm10[1],xmm12[1]
489 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm8 = ymm10[0,1,2,3],ymm8[4,5,6,7]
490 ; AVX1-ONLY-NEXT:    vunpckhpd {{.*#+}} ymm10 = ymm13[1],ymm3[1],ymm13[3],ymm3[3]
491 ; AVX1-ONLY-NEXT:    vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm1[1]
492 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm10[4,5,6,7]
493 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
494 ; AVX1-ONLY-NEXT:    vmovaps %ymm1, 32(%rsi)
495 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
496 ; AVX1-ONLY-NEXT:    vmovaps %ymm1, (%rsi)
497 ; AVX1-ONLY-NEXT:    vmovaps %ymm5, 32(%rdx)
498 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
499 ; AVX1-ONLY-NEXT:    vmovaps %ymm1, (%rdx)
500 ; AVX1-ONLY-NEXT:    vmovaps %ymm9, 32(%rcx)
501 ; AVX1-ONLY-NEXT:    vmovaps %ymm6, (%rcx)
502 ; AVX1-ONLY-NEXT:    vmovaps %ymm4, 32(%r8)
503 ; AVX1-ONLY-NEXT:    vmovaps %ymm7, (%r8)
504 ; AVX1-ONLY-NEXT:    vmovaps %ymm2, 32(%r9)
505 ; AVX1-ONLY-NEXT:    vmovaps %ymm11, (%r9)
506 ; AVX1-ONLY-NEXT:    movq {{[0-9]+}}(%rsp), %rax
507 ; AVX1-ONLY-NEXT:    vmovaps %ymm0, 32(%rax)
508 ; AVX1-ONLY-NEXT:    vmovaps %ymm8, (%rax)
509 ; AVX1-ONLY-NEXT:    vzeroupper
510 ; AVX1-ONLY-NEXT:    retq
512 ; AVX2-ONLY-LABEL: load_i64_stride6_vf8:
513 ; AVX2-ONLY:       # %bb.0:
514 ; AVX2-ONLY-NEXT:    vmovaps 352(%rdi), %ymm0
515 ; AVX2-ONLY-NEXT:    vmovaps 320(%rdi), %ymm2
516 ; AVX2-ONLY-NEXT:    vmovaps 288(%rdi), %ymm7
517 ; AVX2-ONLY-NEXT:    vmovaps 128(%rdi), %ymm5
518 ; AVX2-ONLY-NEXT:    vmovaps 96(%rdi), %ymm9
519 ; AVX2-ONLY-NEXT:    vmovaps (%rdi), %xmm4
520 ; AVX2-ONLY-NEXT:    vmovaps 16(%rdi), %xmm11
521 ; AVX2-ONLY-NEXT:    vmovaps 48(%rdi), %xmm6
522 ; AVX2-ONLY-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm4[0],xmm6[0]
523 ; AVX2-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm3 = ymm9[0],ymm5[0],ymm9[2],ymm5[2]
524 ; AVX2-ONLY-NEXT:    vpermpd {{.*#+}} ymm3 = ymm3[0,1,0,3]
525 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm3[4,5,6,7]
526 ; AVX2-ONLY-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
527 ; AVX2-ONLY-NEXT:    vmovaps 240(%rdi), %xmm8
528 ; AVX2-ONLY-NEXT:    vmovaps 192(%rdi), %xmm10
529 ; AVX2-ONLY-NEXT:    vmovlhps {{.*#+}} xmm3 = xmm10[0],xmm8[0]
530 ; AVX2-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm12 = ymm7[0],ymm2[0],ymm7[2],ymm2[2]
531 ; AVX2-ONLY-NEXT:    vpermpd {{.*#+}} ymm12 = ymm12[0,1,0,3]
532 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3],ymm12[4,5,6,7]
533 ; AVX2-ONLY-NEXT:    vbroadcastsd 104(%rdi), %ymm12
534 ; AVX2-ONLY-NEXT:    vunpckhpd {{.*#+}} ymm12 = ymm12[1],ymm5[1],ymm12[3],ymm5[3]
535 ; AVX2-ONLY-NEXT:    vunpckhpd {{.*#+}} xmm4 = xmm4[1],xmm6[1]
536 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3],ymm12[4,5,6,7]
537 ; AVX2-ONLY-NEXT:    vbroadcastsd 296(%rdi), %ymm6
538 ; AVX2-ONLY-NEXT:    vunpckhpd {{.*#+}} ymm6 = ymm6[1],ymm2[1],ymm6[3],ymm2[3]
539 ; AVX2-ONLY-NEXT:    vunpckhpd {{.*#+}} xmm8 = xmm10[1],xmm8[1]
540 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm6 = ymm8[0,1,2,3],ymm6[4,5,6,7]
541 ; AVX2-ONLY-NEXT:    vbroadcastsd 160(%rdi), %ymm8
542 ; AVX2-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm8 = ymm9[0],ymm8[0],ymm9[2],ymm8[2]
543 ; AVX2-ONLY-NEXT:    vmovaps 64(%rdi), %xmm12
544 ; AVX2-ONLY-NEXT:    vmovlhps {{.*#+}} xmm10 = xmm11[0],xmm12[0]
545 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm8 = ymm10[0,1,2,3],ymm8[4,5,6,7]
546 ; AVX2-ONLY-NEXT:    vbroadcastsd 352(%rdi), %ymm10
547 ; AVX2-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm10 = ymm7[0],ymm10[0],ymm7[2],ymm10[2]
548 ; AVX2-ONLY-NEXT:    vmovaps 256(%rdi), %xmm13
549 ; AVX2-ONLY-NEXT:    vmovaps 208(%rdi), %xmm14
550 ; AVX2-ONLY-NEXT:    vmovlhps {{.*#+}} xmm15 = xmm14[0],xmm13[0]
551 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm10 = ymm15[0,1,2,3],ymm10[4,5,6,7]
552 ; AVX2-ONLY-NEXT:    vmovaps 160(%rdi), %ymm15
553 ; AVX2-ONLY-NEXT:    vunpckhpd {{.*#+}} xmm11 = xmm11[1],xmm12[1]
554 ; AVX2-ONLY-NEXT:    vmovaps 32(%rdi), %xmm12
555 ; AVX2-ONLY-NEXT:    vunpckhpd {{.*#+}} ymm9 = ymm9[1],ymm15[1],ymm9[3],ymm15[3]
556 ; AVX2-ONLY-NEXT:    vpermpd {{.*#+}} ymm9 = ymm9[0,1,2,1]
557 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm9 = ymm11[0,1,2,3],ymm9[4,5,6,7]
558 ; AVX2-ONLY-NEXT:    vunpckhpd {{.*#+}} xmm11 = xmm14[1],xmm13[1]
559 ; AVX2-ONLY-NEXT:    vunpckhpd {{.*#+}} ymm7 = ymm7[1],ymm0[1],ymm7[3],ymm0[3]
560 ; AVX2-ONLY-NEXT:    vpermpd {{.*#+}} ymm7 = ymm7[0,1,2,1]
561 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm7 = ymm11[0,1,2,3],ymm7[4,5,6,7]
562 ; AVX2-ONLY-NEXT:    vmovaps 80(%rdi), %xmm11
563 ; AVX2-ONLY-NEXT:    vmovlhps {{.*#+}} xmm13 = xmm12[0],xmm11[0]
564 ; AVX2-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm5 = ymm5[0],ymm15[0],ymm5[2],ymm15[2]
565 ; AVX2-ONLY-NEXT:    vpermpd {{.*#+}} ymm5 = ymm5[0,1,0,3]
566 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm5 = ymm13[0,1,2,3],ymm5[4,5,6,7]
567 ; AVX2-ONLY-NEXT:    vmovaps 272(%rdi), %xmm13
568 ; AVX2-ONLY-NEXT:    vmovaps 224(%rdi), %xmm14
569 ; AVX2-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm2 = ymm2[0],ymm0[0],ymm2[2],ymm0[2]
570 ; AVX2-ONLY-NEXT:    vpermpd {{.*#+}} ymm2 = ymm2[0,1,0,3]
571 ; AVX2-ONLY-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm14[0],xmm13[0]
572 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm2[4,5,6,7]
573 ; AVX2-ONLY-NEXT:    vbroadcastsd 136(%rdi), %ymm2
574 ; AVX2-ONLY-NEXT:    vunpckhpd {{.*#+}} ymm2 = ymm2[1],ymm15[1],ymm2[3],ymm15[3]
575 ; AVX2-ONLY-NEXT:    vunpckhpd {{.*#+}} xmm11 = xmm12[1],xmm11[1]
576 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm2 = ymm11[0,1,2,3],ymm2[4,5,6,7]
577 ; AVX2-ONLY-NEXT:    vbroadcastsd 328(%rdi), %ymm11
578 ; AVX2-ONLY-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm11[1],ymm0[1],ymm11[3],ymm0[3]
579 ; AVX2-ONLY-NEXT:    vunpckhpd {{.*#+}} xmm11 = xmm14[1],xmm13[1]
580 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm11[0,1,2,3],ymm0[4,5,6,7]
581 ; AVX2-ONLY-NEXT:    vmovaps %ymm3, 32(%rsi)
582 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload
583 ; AVX2-ONLY-NEXT:    vmovaps %ymm3, (%rsi)
584 ; AVX2-ONLY-NEXT:    vmovaps %ymm6, 32(%rdx)
585 ; AVX2-ONLY-NEXT:    vmovaps %ymm4, (%rdx)
586 ; AVX2-ONLY-NEXT:    vmovaps %ymm10, 32(%rcx)
587 ; AVX2-ONLY-NEXT:    vmovaps %ymm8, (%rcx)
588 ; AVX2-ONLY-NEXT:    vmovaps %ymm7, 32(%r8)
589 ; AVX2-ONLY-NEXT:    vmovaps %ymm9, (%r8)
590 ; AVX2-ONLY-NEXT:    vmovaps %ymm1, 32(%r9)
591 ; AVX2-ONLY-NEXT:    vmovaps %ymm5, (%r9)
592 ; AVX2-ONLY-NEXT:    movq {{[0-9]+}}(%rsp), %rax
593 ; AVX2-ONLY-NEXT:    vmovaps %ymm0, 32(%rax)
594 ; AVX2-ONLY-NEXT:    vmovaps %ymm2, (%rax)
595 ; AVX2-ONLY-NEXT:    vzeroupper
596 ; AVX2-ONLY-NEXT:    retq
598 ; AVX512F-LABEL: load_i64_stride6_vf8:
599 ; AVX512F:       # %bb.0:
600 ; AVX512F-NEXT:    movq {{[0-9]+}}(%rsp), %rax
601 ; AVX512F-NEXT:    vmovdqa64 320(%rdi), %zmm6
602 ; AVX512F-NEXT:    vmovdqa64 256(%rdi), %zmm7
603 ; AVX512F-NEXT:    vmovdqa64 (%rdi), %zmm0
604 ; AVX512F-NEXT:    vmovdqa64 64(%rdi), %zmm1
605 ; AVX512F-NEXT:    vmovdqa64 128(%rdi), %zmm3
606 ; AVX512F-NEXT:    vmovdqa64 192(%rdi), %zmm4
607 ; AVX512F-NEXT:    vbroadcasti64x4 {{.*#+}} zmm5 = [0,6,0,10,0,6,0,10]
608 ; AVX512F-NEXT:    # zmm5 = mem[0,1,2,3,0,1,2,3]
609 ; AVX512F-NEXT:    vpermi2q %zmm3, %zmm4, %zmm5
610 ; AVX512F-NEXT:    vmovdqa {{.*#+}} ymm2 = <0,6,12,u>
611 ; AVX512F-NEXT:    vpermi2q %zmm1, %zmm0, %zmm2
612 ; AVX512F-NEXT:    movb $56, %dil
613 ; AVX512F-NEXT:    kmovw %edi, %k1
614 ; AVX512F-NEXT:    vmovdqa64 %zmm5, %zmm2 {%k1}
615 ; AVX512F-NEXT:    vbroadcasti32x4 {{.*#+}} zmm5 = [4,10,4,10,4,10,4,10]
616 ; AVX512F-NEXT:    # zmm5 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]
617 ; AVX512F-NEXT:    vmovdqa64 %zmm7, %zmm8
618 ; AVX512F-NEXT:    vbroadcasti64x4 {{.*#+}} zmm9 = [0,0,6,12,0,0,6,12]
619 ; AVX512F-NEXT:    # zmm9 = mem[0,1,2,3,0,1,2,3]
620 ; AVX512F-NEXT:    vpermi2q %zmm6, %zmm7, %zmm9
621 ; AVX512F-NEXT:    vbroadcasti64x4 {{.*#+}} zmm10 = [0,1,7,13,0,1,7,13]
622 ; AVX512F-NEXT:    # zmm10 = mem[0,1,2,3,0,1,2,3]
623 ; AVX512F-NEXT:    vpermi2q %zmm6, %zmm7, %zmm10
624 ; AVX512F-NEXT:    vbroadcasti64x4 {{.*#+}} zmm11 = [0,10,0,6,0,10,0,6]
625 ; AVX512F-NEXT:    # zmm11 = mem[0,1,2,3,0,1,2,3]
626 ; AVX512F-NEXT:    vpermi2q %zmm7, %zmm6, %zmm11
627 ; AVX512F-NEXT:    vbroadcasti64x4 {{.*#+}} zmm12 = [0,11,1,7,0,11,1,7]
628 ; AVX512F-NEXT:    # zmm12 = mem[0,1,2,3,0,1,2,3]
629 ; AVX512F-NEXT:    vpermi2q %zmm7, %zmm6, %zmm12
630 ; AVX512F-NEXT:    vpermt2q %zmm6, %zmm5, %zmm7
631 ; AVX512F-NEXT:    movb $-64, %dil
632 ; AVX512F-NEXT:    kmovw %edi, %k2
633 ; AVX512F-NEXT:    vmovdqa64 %zmm7, %zmm2 {%k2}
634 ; AVX512F-NEXT:    vbroadcasti64x4 {{.*#+}} zmm7 = [1,7,0,11,1,7,0,11]
635 ; AVX512F-NEXT:    # zmm7 = mem[0,1,2,3,0,1,2,3]
636 ; AVX512F-NEXT:    vpermi2q %zmm3, %zmm4, %zmm7
637 ; AVX512F-NEXT:    vmovdqa {{.*#+}} ymm13 = <1,7,13,u>
638 ; AVX512F-NEXT:    vpermi2q %zmm1, %zmm0, %zmm13
639 ; AVX512F-NEXT:    vmovdqa64 %zmm7, %zmm13 {%k1}
640 ; AVX512F-NEXT:    vbroadcasti32x4 {{.*#+}} zmm7 = [5,11,5,11,5,11,5,11]
641 ; AVX512F-NEXT:    # zmm7 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]
642 ; AVX512F-NEXT:    vpermt2q %zmm6, %zmm7, %zmm8
643 ; AVX512F-NEXT:    vmovdqa64 %zmm8, %zmm13 {%k2}
644 ; AVX512F-NEXT:    vbroadcasti32x4 {{.*#+}} zmm6 = [10,4,10,4,10,4,10,4]
645 ; AVX512F-NEXT:    # zmm6 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]
646 ; AVX512F-NEXT:    vpermi2q %zmm4, %zmm3, %zmm6
647 ; AVX512F-NEXT:    vmovdqa {{.*#+}} ymm8 = <10,0,6,u>
648 ; AVX512F-NEXT:    vpermi2q %zmm0, %zmm1, %zmm8
649 ; AVX512F-NEXT:    movb $24, %dil
650 ; AVX512F-NEXT:    kmovw %edi, %k2
651 ; AVX512F-NEXT:    vmovdqa64 %zmm6, %zmm8 {%k2}
652 ; AVX512F-NEXT:    movb $-32, %dil
653 ; AVX512F-NEXT:    kmovw %edi, %k1
654 ; AVX512F-NEXT:    vmovdqa64 %zmm9, %zmm8 {%k1}
655 ; AVX512F-NEXT:    vbroadcasti32x4 {{.*#+}} zmm6 = [11,5,11,5,11,5,11,5]
656 ; AVX512F-NEXT:    # zmm6 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]
657 ; AVX512F-NEXT:    vpermi2q %zmm4, %zmm3, %zmm6
658 ; AVX512F-NEXT:    vmovdqa {{.*#+}} ymm9 = <11,1,7,u>
659 ; AVX512F-NEXT:    vpermi2q %zmm0, %zmm1, %zmm9
660 ; AVX512F-NEXT:    vmovdqa64 %zmm6, %zmm9 {%k2}
661 ; AVX512F-NEXT:    vmovdqa64 %zmm10, %zmm9 {%k1}
662 ; AVX512F-NEXT:    vbroadcasti64x4 {{.*#+}} zmm6 = [12,0,0,6,12,0,0,6]
663 ; AVX512F-NEXT:    # zmm6 = mem[0,1,2,3,0,1,2,3]
664 ; AVX512F-NEXT:    vpermi2q %zmm4, %zmm3, %zmm6
665 ; AVX512F-NEXT:    vpermi2q %zmm1, %zmm0, %zmm5
666 ; AVX512F-NEXT:    vinserti32x4 $0, %xmm5, %zmm6, %zmm5
667 ; AVX512F-NEXT:    vmovdqa64 %zmm11, %zmm5 {%k1}
668 ; AVX512F-NEXT:    vbroadcasti64x4 {{.*#+}} zmm6 = [13,0,1,7,13,0,1,7]
669 ; AVX512F-NEXT:    # zmm6 = mem[0,1,2,3,0,1,2,3]
670 ; AVX512F-NEXT:    vpermi2q %zmm4, %zmm3, %zmm6
671 ; AVX512F-NEXT:    vpermt2q %zmm1, %zmm7, %zmm0
672 ; AVX512F-NEXT:    vinserti32x4 $0, %xmm0, %zmm6, %zmm0
673 ; AVX512F-NEXT:    vmovdqa64 %zmm12, %zmm0 {%k1}
674 ; AVX512F-NEXT:    vmovdqa64 %zmm2, (%rsi)
675 ; AVX512F-NEXT:    vmovdqa64 %zmm13, (%rdx)
676 ; AVX512F-NEXT:    vmovdqa64 %zmm8, (%rcx)
677 ; AVX512F-NEXT:    vmovdqa64 %zmm9, (%r8)
678 ; AVX512F-NEXT:    vmovdqa64 %zmm5, (%r9)
679 ; AVX512F-NEXT:    vmovdqa64 %zmm0, (%rax)
680 ; AVX512F-NEXT:    vzeroupper
681 ; AVX512F-NEXT:    retq
683 ; AVX512BW-LABEL: load_i64_stride6_vf8:
684 ; AVX512BW:       # %bb.0:
685 ; AVX512BW-NEXT:    movq {{[0-9]+}}(%rsp), %rax
686 ; AVX512BW-NEXT:    vmovdqa64 320(%rdi), %zmm6
687 ; AVX512BW-NEXT:    vmovdqa64 256(%rdi), %zmm7
688 ; AVX512BW-NEXT:    vmovdqa64 (%rdi), %zmm0
689 ; AVX512BW-NEXT:    vmovdqa64 64(%rdi), %zmm1
690 ; AVX512BW-NEXT:    vmovdqa64 128(%rdi), %zmm3
691 ; AVX512BW-NEXT:    vmovdqa64 192(%rdi), %zmm4
692 ; AVX512BW-NEXT:    vbroadcasti64x4 {{.*#+}} zmm5 = [0,6,0,10,0,6,0,10]
693 ; AVX512BW-NEXT:    # zmm5 = mem[0,1,2,3,0,1,2,3]
694 ; AVX512BW-NEXT:    vpermi2q %zmm3, %zmm4, %zmm5
695 ; AVX512BW-NEXT:    vmovdqa {{.*#+}} ymm2 = <0,6,12,u>
696 ; AVX512BW-NEXT:    vpermi2q %zmm1, %zmm0, %zmm2
697 ; AVX512BW-NEXT:    movb $56, %dil
698 ; AVX512BW-NEXT:    kmovd %edi, %k1
699 ; AVX512BW-NEXT:    vmovdqa64 %zmm5, %zmm2 {%k1}
700 ; AVX512BW-NEXT:    vbroadcasti32x4 {{.*#+}} zmm5 = [4,10,4,10,4,10,4,10]
701 ; AVX512BW-NEXT:    # zmm5 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]
702 ; AVX512BW-NEXT:    vmovdqa64 %zmm7, %zmm8
703 ; AVX512BW-NEXT:    vbroadcasti64x4 {{.*#+}} zmm9 = [0,0,6,12,0,0,6,12]
704 ; AVX512BW-NEXT:    # zmm9 = mem[0,1,2,3,0,1,2,3]
705 ; AVX512BW-NEXT:    vpermi2q %zmm6, %zmm7, %zmm9
706 ; AVX512BW-NEXT:    vbroadcasti64x4 {{.*#+}} zmm10 = [0,1,7,13,0,1,7,13]
707 ; AVX512BW-NEXT:    # zmm10 = mem[0,1,2,3,0,1,2,3]
708 ; AVX512BW-NEXT:    vpermi2q %zmm6, %zmm7, %zmm10
709 ; AVX512BW-NEXT:    vbroadcasti64x4 {{.*#+}} zmm11 = [0,10,0,6,0,10,0,6]
710 ; AVX512BW-NEXT:    # zmm11 = mem[0,1,2,3,0,1,2,3]
711 ; AVX512BW-NEXT:    vpermi2q %zmm7, %zmm6, %zmm11
712 ; AVX512BW-NEXT:    vbroadcasti64x4 {{.*#+}} zmm12 = [0,11,1,7,0,11,1,7]
713 ; AVX512BW-NEXT:    # zmm12 = mem[0,1,2,3,0,1,2,3]
714 ; AVX512BW-NEXT:    vpermi2q %zmm7, %zmm6, %zmm12
715 ; AVX512BW-NEXT:    vpermt2q %zmm6, %zmm5, %zmm7
716 ; AVX512BW-NEXT:    movb $-64, %dil
717 ; AVX512BW-NEXT:    kmovd %edi, %k2
718 ; AVX512BW-NEXT:    vmovdqa64 %zmm7, %zmm2 {%k2}
719 ; AVX512BW-NEXT:    vbroadcasti64x4 {{.*#+}} zmm7 = [1,7,0,11,1,7,0,11]
720 ; AVX512BW-NEXT:    # zmm7 = mem[0,1,2,3,0,1,2,3]
721 ; AVX512BW-NEXT:    vpermi2q %zmm3, %zmm4, %zmm7
722 ; AVX512BW-NEXT:    vmovdqa {{.*#+}} ymm13 = <1,7,13,u>
723 ; AVX512BW-NEXT:    vpermi2q %zmm1, %zmm0, %zmm13
724 ; AVX512BW-NEXT:    vmovdqa64 %zmm7, %zmm13 {%k1}
725 ; AVX512BW-NEXT:    vbroadcasti32x4 {{.*#+}} zmm7 = [5,11,5,11,5,11,5,11]
726 ; AVX512BW-NEXT:    # zmm7 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]
727 ; AVX512BW-NEXT:    vpermt2q %zmm6, %zmm7, %zmm8
728 ; AVX512BW-NEXT:    vmovdqa64 %zmm8, %zmm13 {%k2}
729 ; AVX512BW-NEXT:    vbroadcasti32x4 {{.*#+}} zmm6 = [10,4,10,4,10,4,10,4]
730 ; AVX512BW-NEXT:    # zmm6 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]
731 ; AVX512BW-NEXT:    vpermi2q %zmm4, %zmm3, %zmm6
732 ; AVX512BW-NEXT:    vmovdqa {{.*#+}} ymm8 = <10,0,6,u>
733 ; AVX512BW-NEXT:    vpermi2q %zmm0, %zmm1, %zmm8
734 ; AVX512BW-NEXT:    movb $24, %dil
735 ; AVX512BW-NEXT:    kmovd %edi, %k2
736 ; AVX512BW-NEXT:    vmovdqa64 %zmm6, %zmm8 {%k2}
737 ; AVX512BW-NEXT:    movb $-32, %dil
738 ; AVX512BW-NEXT:    kmovd %edi, %k1
739 ; AVX512BW-NEXT:    vmovdqa64 %zmm9, %zmm8 {%k1}
740 ; AVX512BW-NEXT:    vbroadcasti32x4 {{.*#+}} zmm6 = [11,5,11,5,11,5,11,5]
741 ; AVX512BW-NEXT:    # zmm6 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]
742 ; AVX512BW-NEXT:    vpermi2q %zmm4, %zmm3, %zmm6
743 ; AVX512BW-NEXT:    vmovdqa {{.*#+}} ymm9 = <11,1,7,u>
744 ; AVX512BW-NEXT:    vpermi2q %zmm0, %zmm1, %zmm9
745 ; AVX512BW-NEXT:    vmovdqa64 %zmm6, %zmm9 {%k2}
746 ; AVX512BW-NEXT:    vmovdqa64 %zmm10, %zmm9 {%k1}
747 ; AVX512BW-NEXT:    vbroadcasti64x4 {{.*#+}} zmm6 = [12,0,0,6,12,0,0,6]
748 ; AVX512BW-NEXT:    # zmm6 = mem[0,1,2,3,0,1,2,3]
749 ; AVX512BW-NEXT:    vpermi2q %zmm4, %zmm3, %zmm6
750 ; AVX512BW-NEXT:    vpermi2q %zmm1, %zmm0, %zmm5
751 ; AVX512BW-NEXT:    vinserti32x4 $0, %xmm5, %zmm6, %zmm5
752 ; AVX512BW-NEXT:    vmovdqa64 %zmm11, %zmm5 {%k1}
753 ; AVX512BW-NEXT:    vbroadcasti64x4 {{.*#+}} zmm6 = [13,0,1,7,13,0,1,7]
754 ; AVX512BW-NEXT:    # zmm6 = mem[0,1,2,3,0,1,2,3]
755 ; AVX512BW-NEXT:    vpermi2q %zmm4, %zmm3, %zmm6
756 ; AVX512BW-NEXT:    vpermt2q %zmm1, %zmm7, %zmm0
757 ; AVX512BW-NEXT:    vinserti32x4 $0, %xmm0, %zmm6, %zmm0
758 ; AVX512BW-NEXT:    vmovdqa64 %zmm12, %zmm0 {%k1}
759 ; AVX512BW-NEXT:    vmovdqa64 %zmm2, (%rsi)
760 ; AVX512BW-NEXT:    vmovdqa64 %zmm13, (%rdx)
761 ; AVX512BW-NEXT:    vmovdqa64 %zmm8, (%rcx)
762 ; AVX512BW-NEXT:    vmovdqa64 %zmm9, (%r8)
763 ; AVX512BW-NEXT:    vmovdqa64 %zmm5, (%r9)
764 ; AVX512BW-NEXT:    vmovdqa64 %zmm0, (%rax)
765 ; AVX512BW-NEXT:    vzeroupper
766 ; AVX512BW-NEXT:    retq
767   %wide.vec = load <48 x i64>, ptr %in.vec, align 64
768   %strided.vec0 = shufflevector <48 x i64> %wide.vec, <48 x i64> poison, <8 x i32> <i32 0, i32 6, i32 12, i32 18, i32 24, i32 30, i32 36, i32 42>
769   %strided.vec1 = shufflevector <48 x i64> %wide.vec, <48 x i64> poison, <8 x i32> <i32 1, i32 7, i32 13, i32 19, i32 25, i32 31, i32 37, i32 43>
770   %strided.vec2 = shufflevector <48 x i64> %wide.vec, <48 x i64> poison, <8 x i32> <i32 2, i32 8, i32 14, i32 20, i32 26, i32 32, i32 38, i32 44>
771   %strided.vec3 = shufflevector <48 x i64> %wide.vec, <48 x i64> poison, <8 x i32> <i32 3, i32 9, i32 15, i32 21, i32 27, i32 33, i32 39, i32 45>
772   %strided.vec4 = shufflevector <48 x i64> %wide.vec, <48 x i64> poison, <8 x i32> <i32 4, i32 10, i32 16, i32 22, i32 28, i32 34, i32 40, i32 46>
773   %strided.vec5 = shufflevector <48 x i64> %wide.vec, <48 x i64> poison, <8 x i32> <i32 5, i32 11, i32 17, i32 23, i32 29, i32 35, i32 41, i32 47>
774   store <8 x i64> %strided.vec0, ptr %out.vec0, align 64
775   store <8 x i64> %strided.vec1, ptr %out.vec1, align 64
776   store <8 x i64> %strided.vec2, ptr %out.vec2, align 64
777   store <8 x i64> %strided.vec3, ptr %out.vec3, align 64
778   store <8 x i64> %strided.vec4, ptr %out.vec4, align 64
779   store <8 x i64> %strided.vec5, ptr %out.vec5, align 64
780   ret void
783 define void @load_i64_stride6_vf16(ptr %in.vec, ptr %out.vec0, ptr %out.vec1, ptr %out.vec2, ptr %out.vec3, ptr %out.vec4, ptr %out.vec5) nounwind {
784 ; SSE-LABEL: load_i64_stride6_vf16:
785 ; SSE:       # %bb.0:
786 ; SSE-NEXT:    subq $408, %rsp # imm = 0x198
787 ; SSE-NEXT:    movaps (%rdi), %xmm7
788 ; SSE-NEXT:    movaps 624(%rdi), %xmm0
789 ; SSE-NEXT:    movaps 576(%rdi), %xmm8
790 ; SSE-NEXT:    movaps 240(%rdi), %xmm1
791 ; SSE-NEXT:    movaps 192(%rdi), %xmm9
792 ; SSE-NEXT:    movaps 720(%rdi), %xmm2
793 ; SSE-NEXT:    movaps 672(%rdi), %xmm10
794 ; SSE-NEXT:    movaps 336(%rdi), %xmm3
795 ; SSE-NEXT:    movaps 288(%rdi), %xmm11
796 ; SSE-NEXT:    movaps 432(%rdi), %xmm4
797 ; SSE-NEXT:    movaps 384(%rdi), %xmm13
798 ; SSE-NEXT:    movaps 528(%rdi), %xmm5
799 ; SSE-NEXT:    movaps 480(%rdi), %xmm12
800 ; SSE-NEXT:    movaps 144(%rdi), %xmm6
801 ; SSE-NEXT:    movaps 96(%rdi), %xmm14
802 ; SSE-NEXT:    movaps %xmm14, %xmm15
803 ; SSE-NEXT:    movlhps {{.*#+}} xmm15 = xmm15[0],xmm6[0]
804 ; SSE-NEXT:    movaps %xmm15, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
805 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm14 = xmm14[1],xmm6[1]
806 ; SSE-NEXT:    movaps %xmm14, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
807 ; SSE-NEXT:    movaps %xmm12, %xmm6
808 ; SSE-NEXT:    movlhps {{.*#+}} xmm6 = xmm6[0],xmm5[0]
809 ; SSE-NEXT:    movaps %xmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
810 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm12 = xmm12[1],xmm5[1]
811 ; SSE-NEXT:    movaps %xmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
812 ; SSE-NEXT:    movaps %xmm13, %xmm5
813 ; SSE-NEXT:    movlhps {{.*#+}} xmm5 = xmm5[0],xmm4[0]
814 ; SSE-NEXT:    movaps %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
815 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm13 = xmm13[1],xmm4[1]
816 ; SSE-NEXT:    movaps %xmm13, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
817 ; SSE-NEXT:    movaps %xmm11, %xmm4
818 ; SSE-NEXT:    movlhps {{.*#+}} xmm4 = xmm4[0],xmm3[0]
819 ; SSE-NEXT:    movaps %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
820 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm11 = xmm11[1],xmm3[1]
821 ; SSE-NEXT:    movaps %xmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
822 ; SSE-NEXT:    movaps %xmm10, %xmm3
823 ; SSE-NEXT:    movlhps {{.*#+}} xmm3 = xmm3[0],xmm2[0]
824 ; SSE-NEXT:    movaps %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
825 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm10 = xmm10[1],xmm2[1]
826 ; SSE-NEXT:    movaps %xmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
827 ; SSE-NEXT:    movaps %xmm9, %xmm2
828 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm1[0]
829 ; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
830 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm9 = xmm9[1],xmm1[1]
831 ; SSE-NEXT:    movaps %xmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
832 ; SSE-NEXT:    movaps %xmm8, %xmm1
833 ; SSE-NEXT:    movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]
834 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
835 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm8 = xmm8[1],xmm0[1]
836 ; SSE-NEXT:    movaps %xmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
837 ; SSE-NEXT:    movaps 48(%rdi), %xmm0
838 ; SSE-NEXT:    movaps %xmm7, %xmm1
839 ; SSE-NEXT:    movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]
840 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
841 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm7 = xmm7[1],xmm0[1]
842 ; SSE-NEXT:    movaps %xmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
843 ; SSE-NEXT:    movaps 64(%rdi), %xmm0
844 ; SSE-NEXT:    movaps 16(%rdi), %xmm1
845 ; SSE-NEXT:    movaps %xmm1, %xmm2
846 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]
847 ; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
848 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
849 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
850 ; SSE-NEXT:    movaps 160(%rdi), %xmm0
851 ; SSE-NEXT:    movaps 112(%rdi), %xmm1
852 ; SSE-NEXT:    movaps %xmm1, %xmm2
853 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]
854 ; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
855 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
856 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
857 ; SSE-NEXT:    movaps 256(%rdi), %xmm0
858 ; SSE-NEXT:    movaps 208(%rdi), %xmm1
859 ; SSE-NEXT:    movaps %xmm1, %xmm2
860 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]
861 ; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
862 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
863 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
864 ; SSE-NEXT:    movaps 352(%rdi), %xmm0
865 ; SSE-NEXT:    movaps 304(%rdi), %xmm1
866 ; SSE-NEXT:    movaps %xmm1, %xmm2
867 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]
868 ; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
869 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
870 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
871 ; SSE-NEXT:    movaps 448(%rdi), %xmm0
872 ; SSE-NEXT:    movaps 400(%rdi), %xmm1
873 ; SSE-NEXT:    movaps %xmm1, %xmm2
874 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]
875 ; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
876 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
877 ; SSE-NEXT:    movaps %xmm1, (%rsp) # 16-byte Spill
878 ; SSE-NEXT:    movaps 544(%rdi), %xmm0
879 ; SSE-NEXT:    movaps 496(%rdi), %xmm1
880 ; SSE-NEXT:    movaps %xmm1, %xmm2
881 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]
882 ; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
883 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
884 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
885 ; SSE-NEXT:    movaps 640(%rdi), %xmm0
886 ; SSE-NEXT:    movaps 592(%rdi), %xmm15
887 ; SSE-NEXT:    movaps %xmm15, %xmm1
888 ; SSE-NEXT:    movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]
889 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
890 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm15 = xmm15[1],xmm0[1]
891 ; SSE-NEXT:    movaps 736(%rdi), %xmm0
892 ; SSE-NEXT:    movaps 688(%rdi), %xmm11
893 ; SSE-NEXT:    movaps %xmm11, %xmm1
894 ; SSE-NEXT:    movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]
895 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
896 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm11 = xmm11[1],xmm0[1]
897 ; SSE-NEXT:    movaps 80(%rdi), %xmm0
898 ; SSE-NEXT:    movaps 32(%rdi), %xmm1
899 ; SSE-NEXT:    movaps %xmm1, %xmm2
900 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]
901 ; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
902 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
903 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
904 ; SSE-NEXT:    movaps 176(%rdi), %xmm0
905 ; SSE-NEXT:    movaps 128(%rdi), %xmm13
906 ; SSE-NEXT:    movaps %xmm13, %xmm1
907 ; SSE-NEXT:    movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]
908 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
909 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm13 = xmm13[1],xmm0[1]
910 ; SSE-NEXT:    movaps 272(%rdi), %xmm0
911 ; SSE-NEXT:    movaps 224(%rdi), %xmm12
912 ; SSE-NEXT:    movaps %xmm12, %xmm14
913 ; SSE-NEXT:    movlhps {{.*#+}} xmm14 = xmm14[0],xmm0[0]
914 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm12 = xmm12[1],xmm0[1]
915 ; SSE-NEXT:    movaps 368(%rdi), %xmm0
916 ; SSE-NEXT:    movaps 320(%rdi), %xmm9
917 ; SSE-NEXT:    movaps %xmm9, %xmm10
918 ; SSE-NEXT:    movlhps {{.*#+}} xmm10 = xmm10[0],xmm0[0]
919 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm9 = xmm9[1],xmm0[1]
920 ; SSE-NEXT:    movaps 464(%rdi), %xmm0
921 ; SSE-NEXT:    movaps 416(%rdi), %xmm5
922 ; SSE-NEXT:    movaps %xmm5, %xmm8
923 ; SSE-NEXT:    movlhps {{.*#+}} xmm8 = xmm8[0],xmm0[0]
924 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm5 = xmm5[1],xmm0[1]
925 ; SSE-NEXT:    movaps 560(%rdi), %xmm0
926 ; SSE-NEXT:    movaps 512(%rdi), %xmm6
927 ; SSE-NEXT:    movaps %xmm6, %xmm7
928 ; SSE-NEXT:    movlhps {{.*#+}} xmm7 = xmm7[0],xmm0[0]
929 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm6 = xmm6[1],xmm0[1]
930 ; SSE-NEXT:    movaps 656(%rdi), %xmm0
931 ; SSE-NEXT:    movaps 608(%rdi), %xmm3
932 ; SSE-NEXT:    movaps %xmm3, %xmm4
933 ; SSE-NEXT:    movlhps {{.*#+}} xmm4 = xmm4[0],xmm0[0]
934 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm3 = xmm3[1],xmm0[1]
935 ; SSE-NEXT:    movaps 752(%rdi), %xmm0
936 ; SSE-NEXT:    movaps 704(%rdi), %xmm1
937 ; SSE-NEXT:    movaps %xmm1, %xmm2
938 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]
939 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
940 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
941 ; SSE-NEXT:    movaps %xmm0, 96(%rsi)
942 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
943 ; SSE-NEXT:    movaps %xmm0, 32(%rsi)
944 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
945 ; SSE-NEXT:    movaps %xmm0, 112(%rsi)
946 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
947 ; SSE-NEXT:    movaps %xmm0, 48(%rsi)
948 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
949 ; SSE-NEXT:    movaps %xmm0, 64(%rsi)
950 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
951 ; SSE-NEXT:    movaps %xmm0, (%rsi)
952 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
953 ; SSE-NEXT:    movaps %xmm0, 80(%rsi)
954 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
955 ; SSE-NEXT:    movaps %xmm0, 16(%rsi)
956 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
957 ; SSE-NEXT:    movaps %xmm0, 96(%rdx)
958 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
959 ; SSE-NEXT:    movaps %xmm0, 32(%rdx)
960 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
961 ; SSE-NEXT:    movaps %xmm0, 112(%rdx)
962 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
963 ; SSE-NEXT:    movaps %xmm0, 48(%rdx)
964 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
965 ; SSE-NEXT:    movaps %xmm0, 64(%rdx)
966 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
967 ; SSE-NEXT:    movaps %xmm0, (%rdx)
968 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
969 ; SSE-NEXT:    movaps %xmm0, 80(%rdx)
970 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
971 ; SSE-NEXT:    movaps %xmm0, 16(%rdx)
972 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
973 ; SSE-NEXT:    movaps %xmm0, 96(%rcx)
974 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
975 ; SSE-NEXT:    movaps %xmm0, 112(%rcx)
976 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
977 ; SSE-NEXT:    movaps %xmm0, 64(%rcx)
978 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
979 ; SSE-NEXT:    movaps %xmm0, 80(%rcx)
980 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
981 ; SSE-NEXT:    movaps %xmm0, 32(%rcx)
982 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
983 ; SSE-NEXT:    movaps %xmm0, 48(%rcx)
984 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
985 ; SSE-NEXT:    movaps %xmm0, (%rcx)
986 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
987 ; SSE-NEXT:    movaps %xmm0, 16(%rcx)
988 ; SSE-NEXT:    movaps %xmm11, 112(%r8)
989 ; SSE-NEXT:    movaps %xmm15, 96(%r8)
990 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
991 ; SSE-NEXT:    movaps %xmm0, 80(%r8)
992 ; SSE-NEXT:    movaps (%rsp), %xmm0 # 16-byte Reload
993 ; SSE-NEXT:    movaps %xmm0, 64(%r8)
994 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
995 ; SSE-NEXT:    movaps %xmm0, 48(%r8)
996 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
997 ; SSE-NEXT:    movaps %xmm0, 32(%r8)
998 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
999 ; SSE-NEXT:    movaps %xmm0, 16(%r8)
1000 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
1001 ; SSE-NEXT:    movaps %xmm0, (%r8)
1002 ; SSE-NEXT:    movaps %xmm2, 112(%r9)
1003 ; SSE-NEXT:    movaps %xmm4, 96(%r9)
1004 ; SSE-NEXT:    movaps %xmm7, 80(%r9)
1005 ; SSE-NEXT:    movaps %xmm8, 64(%r9)
1006 ; SSE-NEXT:    movaps %xmm10, 48(%r9)
1007 ; SSE-NEXT:    movaps %xmm14, 32(%r9)
1008 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
1009 ; SSE-NEXT:    movaps %xmm0, 16(%r9)
1010 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
1011 ; SSE-NEXT:    movaps %xmm0, (%r9)
1012 ; SSE-NEXT:    movq {{[0-9]+}}(%rsp), %rax
1013 ; SSE-NEXT:    movaps %xmm1, 112(%rax)
1014 ; SSE-NEXT:    movaps %xmm3, 96(%rax)
1015 ; SSE-NEXT:    movaps %xmm6, 80(%rax)
1016 ; SSE-NEXT:    movaps %xmm5, 64(%rax)
1017 ; SSE-NEXT:    movaps %xmm9, 48(%rax)
1018 ; SSE-NEXT:    movaps %xmm12, 32(%rax)
1019 ; SSE-NEXT:    movaps %xmm13, 16(%rax)
1020 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
1021 ; SSE-NEXT:    movaps %xmm0, (%rax)
1022 ; SSE-NEXT:    addq $408, %rsp # imm = 0x198
1023 ; SSE-NEXT:    retq
1025 ; AVX1-ONLY-LABEL: load_i64_stride6_vf16:
1026 ; AVX1-ONLY:       # %bb.0:
1027 ; AVX1-ONLY-NEXT:    subq $552, %rsp # imm = 0x228
1028 ; AVX1-ONLY-NEXT:    vmovaps 320(%rdi), %ymm1
1029 ; AVX1-ONLY-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1030 ; AVX1-ONLY-NEXT:    vmovaps 512(%rdi), %ymm8
1031 ; AVX1-ONLY-NEXT:    vmovups %ymm8, (%rsp) # 32-byte Spill
1032 ; AVX1-ONLY-NEXT:    vmovaps 128(%rdi), %ymm2
1033 ; AVX1-ONLY-NEXT:    vinsertf128 $1, 96(%rdi), %ymm0, %ymm3
1034 ; AVX1-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm4 = ymm3[0],ymm2[0],ymm3[2],ymm2[2]
1035 ; AVX1-ONLY-NEXT:    vmovaps (%rdi), %xmm5
1036 ; AVX1-ONLY-NEXT:    vmovaps 48(%rdi), %xmm6
1037 ; AVX1-ONLY-NEXT:    vmovlhps {{.*#+}} xmm7 = xmm5[0],xmm6[0]
1038 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm7[0,1,2,3],ymm4[4,5,6,7]
1039 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1040 ; AVX1-ONLY-NEXT:    vinsertf128 $1, 480(%rdi), %ymm0, %ymm4
1041 ; AVX1-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm7 = ymm4[0],ymm8[0],ymm4[2],ymm8[2]
1042 ; AVX1-ONLY-NEXT:    vmovaps 432(%rdi), %xmm8
1043 ; AVX1-ONLY-NEXT:    vmovaps 384(%rdi), %xmm9
1044 ; AVX1-ONLY-NEXT:    vmovlhps {{.*#+}} xmm10 = xmm9[0],xmm8[0]
1045 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm10[0,1,2,3],ymm7[4,5,6,7]
1046 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1047 ; AVX1-ONLY-NEXT:    vinsertf128 $1, 288(%rdi), %ymm0, %ymm7
1048 ; AVX1-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm10 = ymm7[0],ymm1[0],ymm7[2],ymm1[2]
1049 ; AVX1-ONLY-NEXT:    vmovaps 240(%rdi), %xmm11
1050 ; AVX1-ONLY-NEXT:    vmovaps 192(%rdi), %xmm12
1051 ; AVX1-ONLY-NEXT:    vmovlhps {{.*#+}} xmm13 = xmm12[0],xmm11[0]
1052 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm13[0,1,2,3],ymm10[4,5,6,7]
1053 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1054 ; AVX1-ONLY-NEXT:    vmovaps 704(%rdi), %ymm10
1055 ; AVX1-ONLY-NEXT:    vinsertf128 $1, 672(%rdi), %ymm0, %ymm13
1056 ; AVX1-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm14 = ymm13[0],ymm10[0],ymm13[2],ymm10[2]
1057 ; AVX1-ONLY-NEXT:    vmovaps 624(%rdi), %xmm15
1058 ; AVX1-ONLY-NEXT:    vmovaps 576(%rdi), %xmm0
1059 ; AVX1-ONLY-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm0[0],xmm15[0]
1060 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm14[4,5,6,7]
1061 ; AVX1-ONLY-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1062 ; AVX1-ONLY-NEXT:    vunpckhpd {{.*#+}} ymm1 = ymm3[1],ymm2[1],ymm3[3],ymm2[3]
1063 ; AVX1-ONLY-NEXT:    vunpckhpd {{.*#+}} xmm2 = xmm5[1],xmm6[1]
1064 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]
1065 ; AVX1-ONLY-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1066 ; AVX1-ONLY-NEXT:    vunpckhpd (%rsp), %ymm4, %ymm1 # 32-byte Folded Reload
1067 ; AVX1-ONLY-NEXT:    # ymm1 = ymm4[1],mem[1],ymm4[3],mem[3]
1068 ; AVX1-ONLY-NEXT:    vunpckhpd {{.*#+}} xmm2 = xmm9[1],xmm8[1]
1069 ; AVX1-ONLY-NEXT:    vmovaps 480(%rdi), %ymm3
1070 ; AVX1-ONLY-NEXT:    vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1071 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]
1072 ; AVX1-ONLY-NEXT:    vmovups %ymm1, (%rsp) # 32-byte Spill
1073 ; AVX1-ONLY-NEXT:    vmovaps 96(%rdi), %ymm2
1074 ; AVX1-ONLY-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1075 ; AVX1-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm7, %ymm4 # 32-byte Folded Reload
1076 ; AVX1-ONLY-NEXT:    # ymm4 = ymm7[1],mem[1],ymm7[3],mem[3]
1077 ; AVX1-ONLY-NEXT:    vmovaps 16(%rdi), %xmm6
1078 ; AVX1-ONLY-NEXT:    vmovaps %xmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
1079 ; AVX1-ONLY-NEXT:    vunpckhpd {{.*#+}} xmm5 = xmm12[1],xmm11[1]
1080 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm1 = ymm5[0,1,2,3],ymm4[4,5,6,7]
1081 ; AVX1-ONLY-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1082 ; AVX1-ONLY-NEXT:    vunpckhpd {{.*#+}} ymm4 = ymm13[1],ymm10[1],ymm13[3],ymm10[3]
1083 ; AVX1-ONLY-NEXT:    vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm15[1]
1084 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm4[4,5,6,7]
1085 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1086 ; AVX1-ONLY-NEXT:    vinsertf128 $1, 160(%rdi), %ymm0, %ymm14
1087 ; AVX1-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm4 = ymm2[0],ymm14[0],ymm2[2],ymm14[2]
1088 ; AVX1-ONLY-NEXT:    vmovaps 64(%rdi), %xmm13
1089 ; AVX1-ONLY-NEXT:    vmovlhps {{.*#+}} xmm6 = xmm6[0],xmm13[0]
1090 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm6[0,1,2,3],ymm4[4,5,6,7]
1091 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1092 ; AVX1-ONLY-NEXT:    vinsertf128 $1, 544(%rdi), %ymm0, %ymm11
1093 ; AVX1-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm6 = ymm3[0],ymm11[0],ymm3[2],ymm11[2]
1094 ; AVX1-ONLY-NEXT:    vmovaps 448(%rdi), %xmm7
1095 ; AVX1-ONLY-NEXT:    vmovaps 400(%rdi), %xmm8
1096 ; AVX1-ONLY-NEXT:    vmovlhps {{.*#+}} xmm9 = xmm8[0],xmm7[0]
1097 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm9[0,1,2,3],ymm6[4,5,6,7]
1098 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1099 ; AVX1-ONLY-NEXT:    vmovaps 288(%rdi), %ymm6
1100 ; AVX1-ONLY-NEXT:    vinsertf128 $1, 352(%rdi), %ymm0, %ymm15
1101 ; AVX1-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm10 = ymm6[0],ymm15[0],ymm6[2],ymm15[2]
1102 ; AVX1-ONLY-NEXT:    vmovaps 256(%rdi), %xmm4
1103 ; AVX1-ONLY-NEXT:    vmovaps 208(%rdi), %xmm3
1104 ; AVX1-ONLY-NEXT:    vmovlhps {{.*#+}} xmm12 = xmm3[0],xmm4[0]
1105 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm12[0,1,2,3],ymm10[4,5,6,7]
1106 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1107 ; AVX1-ONLY-NEXT:    vmovaps 672(%rdi), %ymm5
1108 ; AVX1-ONLY-NEXT:    vinsertf128 $1, 736(%rdi), %ymm0, %ymm2
1109 ; AVX1-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm12 = ymm5[0],ymm2[0],ymm5[2],ymm2[2]
1110 ; AVX1-ONLY-NEXT:    vmovaps 640(%rdi), %xmm1
1111 ; AVX1-ONLY-NEXT:    vmovaps 592(%rdi), %xmm0
1112 ; AVX1-ONLY-NEXT:    vmovlhps {{.*#+}} xmm9 = xmm0[0],xmm1[0]
1113 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm9 = ymm9[0,1,2,3],ymm12[4,5,6,7]
1114 ; AVX1-ONLY-NEXT:    vmovups %ymm9, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1115 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm9 # 32-byte Reload
1116 ; AVX1-ONLY-NEXT:    vunpckhpd {{.*#+}} ymm9 = ymm9[1],ymm14[1],ymm9[3],ymm14[3]
1117 ; AVX1-ONLY-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm10 # 16-byte Reload
1118 ; AVX1-ONLY-NEXT:    vunpckhpd {{.*#+}} xmm13 = xmm10[1],xmm13[1]
1119 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm9 = ymm13[0,1,2,3],ymm9[4,5,6,7]
1120 ; AVX1-ONLY-NEXT:    vmovups %ymm9, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1121 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm9 # 32-byte Reload
1122 ; AVX1-ONLY-NEXT:    vunpckhpd {{.*#+}} ymm11 = ymm9[1],ymm11[1],ymm9[3],ymm11[3]
1123 ; AVX1-ONLY-NEXT:    vunpckhpd {{.*#+}} xmm7 = xmm8[1],xmm7[1]
1124 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm7 = ymm7[0,1,2,3],ymm11[4,5,6,7]
1125 ; AVX1-ONLY-NEXT:    vmovups %ymm7, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1126 ; AVX1-ONLY-NEXT:    vunpckhpd {{.*#+}} ymm2 = ymm5[1],ymm2[1],ymm5[3],ymm2[3]
1127 ; AVX1-ONLY-NEXT:    vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm1[1]
1128 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5,6,7]
1129 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1130 ; AVX1-ONLY-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm6[1],ymm15[1],ymm6[3],ymm15[3]
1131 ; AVX1-ONLY-NEXT:    vunpckhpd {{.*#+}} xmm1 = xmm3[1],xmm4[1]
1132 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
1133 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1134 ; AVX1-ONLY-NEXT:    vmovaps 544(%rdi), %ymm0
1135 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1136 ; AVX1-ONLY-NEXT:    vinsertf128 $1, 512(%rdi), %ymm0, %ymm1
1137 ; AVX1-ONLY-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1138 ; AVX1-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm4 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]
1139 ; AVX1-ONLY-NEXT:    vmovaps 464(%rdi), %xmm14
1140 ; AVX1-ONLY-NEXT:    vmovaps 416(%rdi), %xmm13
1141 ; AVX1-ONLY-NEXT:    vmovlhps {{.*#+}} xmm5 = xmm13[0],xmm14[0]
1142 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm5[0,1,2,3],ymm4[4,5,6,7]
1143 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1144 ; AVX1-ONLY-NEXT:    vmovaps 160(%rdi), %ymm11
1145 ; AVX1-ONLY-NEXT:    vmovaps 32(%rdi), %xmm12
1146 ; AVX1-ONLY-NEXT:    vinsertf128 $1, 128(%rdi), %ymm0, %ymm10
1147 ; AVX1-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm4 = ymm10[0],ymm11[0],ymm10[2],ymm11[2]
1148 ; AVX1-ONLY-NEXT:    vmovaps 80(%rdi), %xmm9
1149 ; AVX1-ONLY-NEXT:    vmovlhps {{.*#+}} xmm5 = xmm12[0],xmm9[0]
1150 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm5[0,1,2,3],ymm4[4,5,6,7]
1151 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1152 ; AVX1-ONLY-NEXT:    vmovaps 352(%rdi), %ymm8
1153 ; AVX1-ONLY-NEXT:    vinsertf128 $1, 320(%rdi), %ymm0, %ymm7
1154 ; AVX1-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm4 = ymm7[0],ymm8[0],ymm7[2],ymm8[2]
1155 ; AVX1-ONLY-NEXT:    vmovaps 272(%rdi), %xmm6
1156 ; AVX1-ONLY-NEXT:    vmovaps 224(%rdi), %xmm3
1157 ; AVX1-ONLY-NEXT:    vmovlhps {{.*#+}} xmm5 = xmm3[0],xmm6[0]
1158 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm5[0,1,2,3],ymm4[4,5,6,7]
1159 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1160 ; AVX1-ONLY-NEXT:    vmovaps 736(%rdi), %ymm5
1161 ; AVX1-ONLY-NEXT:    vinsertf128 $1, 704(%rdi), %ymm0, %ymm2
1162 ; AVX1-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm4 = ymm2[0],ymm5[0],ymm2[2],ymm5[2]
1163 ; AVX1-ONLY-NEXT:    vmovaps 656(%rdi), %xmm1
1164 ; AVX1-ONLY-NEXT:    vmovaps 608(%rdi), %xmm0
1165 ; AVX1-ONLY-NEXT:    vmovlhps {{.*#+}} xmm15 = xmm0[0],xmm1[0]
1166 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm4 = ymm15[0,1,2,3],ymm4[4,5,6,7]
1167 ; AVX1-ONLY-NEXT:    vunpckhpd {{.*#+}} ymm2 = ymm2[1],ymm5[1],ymm2[3],ymm5[3]
1168 ; AVX1-ONLY-NEXT:    vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm1[1]
1169 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm5 = ymm0[0,1,2,3],ymm2[4,5,6,7]
1170 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1171 ; AVX1-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload
1172 ; AVX1-ONLY-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]
1173 ; AVX1-ONLY-NEXT:    vunpckhpd {{.*#+}} xmm1 = xmm13[1],xmm14[1]
1174 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
1175 ; AVX1-ONLY-NEXT:    vunpckhpd {{.*#+}} ymm1 = ymm10[1],ymm11[1],ymm10[3],ymm11[3]
1176 ; AVX1-ONLY-NEXT:    vunpckhpd {{.*#+}} xmm2 = xmm12[1],xmm9[1]
1177 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]
1178 ; AVX1-ONLY-NEXT:    vunpckhpd {{.*#+}} ymm2 = ymm7[1],ymm8[1],ymm7[3],ymm8[3]
1179 ; AVX1-ONLY-NEXT:    vunpckhpd {{.*#+}} xmm3 = xmm3[1],xmm6[1]
1180 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm2 = ymm3[0,1,2,3],ymm2[4,5,6,7]
1181 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload
1182 ; AVX1-ONLY-NEXT:    vmovaps %ymm3, 96(%rsi)
1183 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload
1184 ; AVX1-ONLY-NEXT:    vmovaps %ymm3, 32(%rsi)
1185 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload
1186 ; AVX1-ONLY-NEXT:    vmovaps %ymm3, 64(%rsi)
1187 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload
1188 ; AVX1-ONLY-NEXT:    vmovaps %ymm3, (%rsi)
1189 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload
1190 ; AVX1-ONLY-NEXT:    vmovaps %ymm3, 96(%rdx)
1191 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload
1192 ; AVX1-ONLY-NEXT:    vmovaps %ymm3, 32(%rdx)
1193 ; AVX1-ONLY-NEXT:    vmovups (%rsp), %ymm3 # 32-byte Reload
1194 ; AVX1-ONLY-NEXT:    vmovaps %ymm3, 64(%rdx)
1195 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload
1196 ; AVX1-ONLY-NEXT:    vmovaps %ymm3, (%rdx)
1197 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload
1198 ; AVX1-ONLY-NEXT:    vmovaps %ymm3, 96(%rcx)
1199 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload
1200 ; AVX1-ONLY-NEXT:    vmovaps %ymm3, 32(%rcx)
1201 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload
1202 ; AVX1-ONLY-NEXT:    vmovaps %ymm3, 64(%rcx)
1203 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload
1204 ; AVX1-ONLY-NEXT:    vmovaps %ymm3, (%rcx)
1205 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload
1206 ; AVX1-ONLY-NEXT:    vmovaps %ymm3, 32(%r8)
1207 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload
1208 ; AVX1-ONLY-NEXT:    vmovaps %ymm3, 96(%r8)
1209 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload
1210 ; AVX1-ONLY-NEXT:    vmovaps %ymm3, 64(%r8)
1211 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload
1212 ; AVX1-ONLY-NEXT:    vmovaps %ymm3, (%r8)
1213 ; AVX1-ONLY-NEXT:    vmovaps %ymm4, 96(%r9)
1214 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload
1215 ; AVX1-ONLY-NEXT:    vmovaps %ymm3, 32(%r9)
1216 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload
1217 ; AVX1-ONLY-NEXT:    vmovaps %ymm3, (%r9)
1218 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload
1219 ; AVX1-ONLY-NEXT:    vmovaps %ymm3, 64(%r9)
1220 ; AVX1-ONLY-NEXT:    movq {{[0-9]+}}(%rsp), %rax
1221 ; AVX1-ONLY-NEXT:    vmovaps %ymm2, 32(%rax)
1222 ; AVX1-ONLY-NEXT:    vmovaps %ymm1, (%rax)
1223 ; AVX1-ONLY-NEXT:    vmovaps %ymm0, 64(%rax)
1224 ; AVX1-ONLY-NEXT:    vmovaps %ymm5, 96(%rax)
1225 ; AVX1-ONLY-NEXT:    addq $552, %rsp # imm = 0x228
1226 ; AVX1-ONLY-NEXT:    vzeroupper
1227 ; AVX1-ONLY-NEXT:    retq
1229 ; AVX2-ONLY-LABEL: load_i64_stride6_vf16:
1230 ; AVX2-ONLY:       # %bb.0:
1231 ; AVX2-ONLY-NEXT:    subq $488, %rsp # imm = 0x1E8
1232 ; AVX2-ONLY-NEXT:    vmovaps 320(%rdi), %ymm10
1233 ; AVX2-ONLY-NEXT:    vmovaps 288(%rdi), %ymm12
1234 ; AVX2-ONLY-NEXT:    vmovups %ymm12, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1235 ; AVX2-ONLY-NEXT:    vmovaps 512(%rdi), %ymm7
1236 ; AVX2-ONLY-NEXT:    vmovaps 480(%rdi), %ymm4
1237 ; AVX2-ONLY-NEXT:    vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1238 ; AVX2-ONLY-NEXT:    vmovaps 128(%rdi), %ymm0
1239 ; AVX2-ONLY-NEXT:    vmovaps 96(%rdi), %ymm3
1240 ; AVX2-ONLY-NEXT:    vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1241 ; AVX2-ONLY-NEXT:    vmovaps (%rdi), %xmm1
1242 ; AVX2-ONLY-NEXT:    vmovaps 48(%rdi), %xmm5
1243 ; AVX2-ONLY-NEXT:    vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm5[0]
1244 ; AVX2-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm3 = ymm3[0],ymm0[0],ymm3[2],ymm0[2]
1245 ; AVX2-ONLY-NEXT:    vmovaps %ymm0, %ymm15
1246 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1247 ; AVX2-ONLY-NEXT:    vpermpd {{.*#+}} ymm3 = ymm3[0,1,0,3]
1248 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm2[0,1,2,3],ymm3[4,5,6,7]
1249 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1250 ; AVX2-ONLY-NEXT:    vmovaps 432(%rdi), %xmm3
1251 ; AVX2-ONLY-NEXT:    vmovaps 384(%rdi), %xmm6
1252 ; AVX2-ONLY-NEXT:    vmovlhps {{.*#+}} xmm2 = xmm6[0],xmm3[0]
1253 ; AVX2-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm4 = ymm4[0],ymm7[0],ymm4[2],ymm7[2]
1254 ; AVX2-ONLY-NEXT:    vmovups %ymm7, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1255 ; AVX2-ONLY-NEXT:    vpermpd {{.*#+}} ymm4 = ymm4[0,1,0,3]
1256 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm2[0,1,2,3],ymm4[4,5,6,7]
1257 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1258 ; AVX2-ONLY-NEXT:    vmovaps 240(%rdi), %xmm11
1259 ; AVX2-ONLY-NEXT:    vmovaps 192(%rdi), %xmm9
1260 ; AVX2-ONLY-NEXT:    vmovlhps {{.*#+}} xmm2 = xmm9[0],xmm11[0]
1261 ; AVX2-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm8 = ymm12[0],ymm10[0],ymm12[2],ymm10[2]
1262 ; AVX2-ONLY-NEXT:    vmovaps %ymm10, %ymm4
1263 ; AVX2-ONLY-NEXT:    vmovups %ymm10, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1264 ; AVX2-ONLY-NEXT:    vpermpd {{.*#+}} ymm8 = ymm8[0,1,0,3]
1265 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm2[0,1,2,3],ymm8[4,5,6,7]
1266 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1267 ; AVX2-ONLY-NEXT:    vmovaps 704(%rdi), %ymm0
1268 ; AVX2-ONLY-NEXT:    vmovaps 672(%rdi), %ymm8
1269 ; AVX2-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm13 = ymm8[0],ymm0[0],ymm8[2],ymm0[2]
1270 ; AVX2-ONLY-NEXT:    vmovaps %ymm0, %ymm10
1271 ; AVX2-ONLY-NEXT:    vpermpd {{.*#+}} ymm13 = ymm13[0,1,0,3]
1272 ; AVX2-ONLY-NEXT:    vmovaps 624(%rdi), %xmm14
1273 ; AVX2-ONLY-NEXT:    vmovaps 576(%rdi), %xmm0
1274 ; AVX2-ONLY-NEXT:    vmovlhps {{.*#+}} xmm12 = xmm0[0],xmm14[0]
1275 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm2 = ymm12[0,1,2,3],ymm13[4,5,6,7]
1276 ; AVX2-ONLY-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1277 ; AVX2-ONLY-NEXT:    vunpckhpd {{.*#+}} xmm1 = xmm1[1],xmm5[1]
1278 ; AVX2-ONLY-NEXT:    vbroadcastsd 104(%rdi), %ymm5
1279 ; AVX2-ONLY-NEXT:    vunpckhpd {{.*#+}} ymm5 = ymm5[1],ymm15[1],ymm5[3],ymm15[3]
1280 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm5[4,5,6,7]
1281 ; AVX2-ONLY-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1282 ; AVX2-ONLY-NEXT:    vunpckhpd {{.*#+}} xmm1 = xmm6[1],xmm3[1]
1283 ; AVX2-ONLY-NEXT:    vbroadcastsd 488(%rdi), %ymm3
1284 ; AVX2-ONLY-NEXT:    vunpckhpd {{.*#+}} ymm3 = ymm3[1],ymm7[1],ymm3[3],ymm7[3]
1285 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm3[4,5,6,7]
1286 ; AVX2-ONLY-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1287 ; AVX2-ONLY-NEXT:    vunpckhpd {{.*#+}} xmm1 = xmm9[1],xmm11[1]
1288 ; AVX2-ONLY-NEXT:    vbroadcastsd 296(%rdi), %ymm3
1289 ; AVX2-ONLY-NEXT:    vunpckhpd {{.*#+}} ymm3 = ymm3[1],ymm4[1],ymm3[3],ymm4[3]
1290 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm3[4,5,6,7]
1291 ; AVX2-ONLY-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1292 ; AVX2-ONLY-NEXT:    vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm14[1]
1293 ; AVX2-ONLY-NEXT:    vbroadcastsd 680(%rdi), %ymm1
1294 ; AVX2-ONLY-NEXT:    vunpckhpd {{.*#+}} ymm1 = ymm1[1],ymm10[1],ymm1[3],ymm10[3]
1295 ; AVX2-ONLY-NEXT:    vmovaps %ymm10, %ymm14
1296 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]
1297 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1298 ; AVX2-ONLY-NEXT:    vbroadcastsd 160(%rdi), %ymm0
1299 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm10 # 32-byte Reload
1300 ; AVX2-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm10[0],ymm0[0],ymm10[2],ymm0[2]
1301 ; AVX2-ONLY-NEXT:    vmovaps 16(%rdi), %xmm7
1302 ; AVX2-ONLY-NEXT:    vmovaps 64(%rdi), %xmm3
1303 ; AVX2-ONLY-NEXT:    vmovlhps {{.*#+}} xmm4 = xmm7[0],xmm3[0]
1304 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm4[0,1,2,3],ymm0[4,5,6,7]
1305 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1306 ; AVX2-ONLY-NEXT:    vbroadcastsd 544(%rdi), %ymm0
1307 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm11 # 32-byte Reload
1308 ; AVX2-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm11[0],ymm0[0],ymm11[2],ymm0[2]
1309 ; AVX2-ONLY-NEXT:    vmovaps 448(%rdi), %xmm4
1310 ; AVX2-ONLY-NEXT:    vmovaps 400(%rdi), %xmm5
1311 ; AVX2-ONLY-NEXT:    vmovlhps {{.*#+}} xmm6 = xmm5[0],xmm4[0]
1312 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm6[0,1,2,3],ymm0[4,5,6,7]
1313 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1314 ; AVX2-ONLY-NEXT:    vbroadcastsd 352(%rdi), %ymm0
1315 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm9 # 32-byte Reload
1316 ; AVX2-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm9[0],ymm0[0],ymm9[2],ymm0[2]
1317 ; AVX2-ONLY-NEXT:    vmovaps 256(%rdi), %xmm12
1318 ; AVX2-ONLY-NEXT:    vmovaps 208(%rdi), %xmm2
1319 ; AVX2-ONLY-NEXT:    vmovlhps {{.*#+}} xmm6 = xmm2[0],xmm12[0]
1320 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm6[0,1,2,3],ymm0[4,5,6,7]
1321 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1322 ; AVX2-ONLY-NEXT:    vbroadcastsd 736(%rdi), %ymm0
1323 ; AVX2-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm8[0],ymm0[0],ymm8[2],ymm0[2]
1324 ; AVX2-ONLY-NEXT:    vmovaps 640(%rdi), %xmm13
1325 ; AVX2-ONLY-NEXT:    vmovaps 592(%rdi), %xmm1
1326 ; AVX2-ONLY-NEXT:    vmovlhps {{.*#+}} xmm6 = xmm1[0],xmm13[0]
1327 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm6[0,1,2,3],ymm0[4,5,6,7]
1328 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1329 ; AVX2-ONLY-NEXT:    vunpckhpd {{.*#+}} xmm0 = xmm7[1],xmm3[1]
1330 ; AVX2-ONLY-NEXT:    vmovaps 160(%rdi), %ymm15
1331 ; AVX2-ONLY-NEXT:    vunpckhpd {{.*#+}} ymm3 = ymm10[1],ymm15[1],ymm10[3],ymm15[3]
1332 ; AVX2-ONLY-NEXT:    vpermpd {{.*#+}} ymm3 = ymm3[0,1,2,1]
1333 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm3[4,5,6,7]
1334 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1335 ; AVX2-ONLY-NEXT:    vunpckhpd {{.*#+}} xmm0 = xmm5[1],xmm4[1]
1336 ; AVX2-ONLY-NEXT:    vmovaps 544(%rdi), %ymm10
1337 ; AVX2-ONLY-NEXT:    vunpckhpd {{.*#+}} ymm3 = ymm11[1],ymm10[1],ymm11[3],ymm10[3]
1338 ; AVX2-ONLY-NEXT:    vpermpd {{.*#+}} ymm3 = ymm3[0,1,2,1]
1339 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm3[4,5,6,7]
1340 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1341 ; AVX2-ONLY-NEXT:    vunpckhpd {{.*#+}} xmm1 = xmm1[1],xmm13[1]
1342 ; AVX2-ONLY-NEXT:    vmovaps 736(%rdi), %ymm4
1343 ; AVX2-ONLY-NEXT:    vunpckhpd {{.*#+}} ymm3 = ymm8[1],ymm4[1],ymm8[3],ymm4[3]
1344 ; AVX2-ONLY-NEXT:    vpermpd {{.*#+}} ymm3 = ymm3[0,1,2,1]
1345 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm3[4,5,6,7]
1346 ; AVX2-ONLY-NEXT:    vmovups %ymm0, (%rsp) # 32-byte Spill
1347 ; AVX2-ONLY-NEXT:    vunpckhpd {{.*#+}} xmm1 = xmm2[1],xmm12[1]
1348 ; AVX2-ONLY-NEXT:    vmovaps 352(%rdi), %ymm5
1349 ; AVX2-ONLY-NEXT:    vunpckhpd {{.*#+}} ymm2 = ymm9[1],ymm5[1],ymm9[3],ymm5[3]
1350 ; AVX2-ONLY-NEXT:    vpermpd {{.*#+}} ymm2 = ymm2[0,1,2,1]
1351 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm2[4,5,6,7]
1352 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1353 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1354 ; AVX2-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm1 = ymm0[0],ymm10[0],ymm0[2],ymm10[2]
1355 ; AVX2-ONLY-NEXT:    vpermpd {{.*#+}} ymm1 = ymm1[0,1,0,3]
1356 ; AVX2-ONLY-NEXT:    vmovaps 464(%rdi), %xmm7
1357 ; AVX2-ONLY-NEXT:    vmovaps 416(%rdi), %xmm6
1358 ; AVX2-ONLY-NEXT:    vmovlhps {{.*#+}} xmm2 = xmm6[0],xmm7[0]
1359 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm2[0,1,2,3],ymm1[4,5,6,7]
1360 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1361 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1362 ; AVX2-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm1 = ymm0[0],ymm15[0],ymm0[2],ymm15[2]
1363 ; AVX2-ONLY-NEXT:    vpermpd {{.*#+}} ymm8 = ymm1[0,1,0,3]
1364 ; AVX2-ONLY-NEXT:    vmovaps 32(%rdi), %xmm3
1365 ; AVX2-ONLY-NEXT:    vmovaps 80(%rdi), %xmm2
1366 ; AVX2-ONLY-NEXT:    vmovlhps {{.*#+}} xmm9 = xmm3[0],xmm2[0]
1367 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm13 = ymm9[0,1,2,3],ymm8[4,5,6,7]
1368 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1369 ; AVX2-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm8 = ymm0[0],ymm5[0],ymm0[2],ymm5[2]
1370 ; AVX2-ONLY-NEXT:    vpermpd {{.*#+}} ymm8 = ymm8[0,1,0,3]
1371 ; AVX2-ONLY-NEXT:    vmovaps 272(%rdi), %xmm12
1372 ; AVX2-ONLY-NEXT:    vmovaps 224(%rdi), %xmm1
1373 ; AVX2-ONLY-NEXT:    vmovlhps {{.*#+}} xmm9 = xmm1[0],xmm12[0]
1374 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm11 = ymm9[0,1,2,3],ymm8[4,5,6,7]
1375 ; AVX2-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm8 = ymm14[0],ymm4[0],ymm14[2],ymm4[2]
1376 ; AVX2-ONLY-NEXT:    vpermpd {{.*#+}} ymm8 = ymm8[0,1,0,3]
1377 ; AVX2-ONLY-NEXT:    vmovaps 656(%rdi), %xmm9
1378 ; AVX2-ONLY-NEXT:    vmovaps 608(%rdi), %xmm0
1379 ; AVX2-ONLY-NEXT:    vmovlhps {{.*#+}} xmm14 = xmm0[0],xmm9[0]
1380 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm8 = ymm14[0,1,2,3],ymm8[4,5,6,7]
1381 ; AVX2-ONLY-NEXT:    vbroadcastsd 712(%rdi), %ymm14
1382 ; AVX2-ONLY-NEXT:    vunpckhpd {{.*#+}} ymm4 = ymm14[1],ymm4[1],ymm14[3],ymm4[3]
1383 ; AVX2-ONLY-NEXT:    vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm9[1]
1384 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm9 = ymm0[0,1,2,3],ymm4[4,5,6,7]
1385 ; AVX2-ONLY-NEXT:    vbroadcastsd 520(%rdi), %ymm0
1386 ; AVX2-ONLY-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm10[1],ymm0[3],ymm10[3]
1387 ; AVX2-ONLY-NEXT:    vunpckhpd {{.*#+}} xmm4 = xmm6[1],xmm7[1]
1388 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3],ymm0[4,5,6,7]
1389 ; AVX2-ONLY-NEXT:    vbroadcastsd 136(%rdi), %ymm0
1390 ; AVX2-ONLY-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm15[1],ymm0[3],ymm15[3]
1391 ; AVX2-ONLY-NEXT:    vunpckhpd {{.*#+}} xmm2 = xmm3[1],xmm2[1]
1392 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm2[0,1,2,3],ymm0[4,5,6,7]
1393 ; AVX2-ONLY-NEXT:    vbroadcastsd 328(%rdi), %ymm2
1394 ; AVX2-ONLY-NEXT:    vunpckhpd {{.*#+}} ymm2 = ymm2[1],ymm5[1],ymm2[3],ymm5[3]
1395 ; AVX2-ONLY-NEXT:    vunpckhpd {{.*#+}} xmm1 = xmm1[1],xmm12[1]
1396 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm2[4,5,6,7]
1397 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload
1398 ; AVX2-ONLY-NEXT:    vmovaps %ymm2, 96(%rsi)
1399 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload
1400 ; AVX2-ONLY-NEXT:    vmovaps %ymm2, 32(%rsi)
1401 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload
1402 ; AVX2-ONLY-NEXT:    vmovaps %ymm2, 64(%rsi)
1403 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload
1404 ; AVX2-ONLY-NEXT:    vmovaps %ymm2, (%rsi)
1405 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload
1406 ; AVX2-ONLY-NEXT:    vmovaps %ymm2, 96(%rdx)
1407 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload
1408 ; AVX2-ONLY-NEXT:    vmovaps %ymm2, 32(%rdx)
1409 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload
1410 ; AVX2-ONLY-NEXT:    vmovaps %ymm2, 64(%rdx)
1411 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload
1412 ; AVX2-ONLY-NEXT:    vmovaps %ymm2, (%rdx)
1413 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload
1414 ; AVX2-ONLY-NEXT:    vmovaps %ymm2, 96(%rcx)
1415 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload
1416 ; AVX2-ONLY-NEXT:    vmovaps %ymm2, 32(%rcx)
1417 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload
1418 ; AVX2-ONLY-NEXT:    vmovaps %ymm2, 64(%rcx)
1419 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload
1420 ; AVX2-ONLY-NEXT:    vmovaps %ymm2, (%rcx)
1421 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload
1422 ; AVX2-ONLY-NEXT:    vmovaps %ymm2, 32(%r8)
1423 ; AVX2-ONLY-NEXT:    vmovups (%rsp), %ymm2 # 32-byte Reload
1424 ; AVX2-ONLY-NEXT:    vmovaps %ymm2, 96(%r8)
1425 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload
1426 ; AVX2-ONLY-NEXT:    vmovaps %ymm2, 64(%r8)
1427 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload
1428 ; AVX2-ONLY-NEXT:    vmovaps %ymm2, (%r8)
1429 ; AVX2-ONLY-NEXT:    vmovaps %ymm8, 96(%r9)
1430 ; AVX2-ONLY-NEXT:    vmovaps %ymm11, 32(%r9)
1431 ; AVX2-ONLY-NEXT:    vmovaps %ymm13, (%r9)
1432 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload
1433 ; AVX2-ONLY-NEXT:    vmovaps %ymm2, 64(%r9)
1434 ; AVX2-ONLY-NEXT:    movq {{[0-9]+}}(%rsp), %rax
1435 ; AVX2-ONLY-NEXT:    vmovaps %ymm1, 32(%rax)
1436 ; AVX2-ONLY-NEXT:    vmovaps %ymm0, (%rax)
1437 ; AVX2-ONLY-NEXT:    vmovaps %ymm4, 64(%rax)
1438 ; AVX2-ONLY-NEXT:    vmovaps %ymm9, 96(%rax)
1439 ; AVX2-ONLY-NEXT:    addq $488, %rsp # imm = 0x1E8
1440 ; AVX2-ONLY-NEXT:    vzeroupper
1441 ; AVX2-ONLY-NEXT:    retq
1443 ; AVX512F-LABEL: load_i64_stride6_vf16:
1444 ; AVX512F:       # %bb.0:
1445 ; AVX512F-NEXT:    movq {{[0-9]+}}(%rsp), %rax
1446 ; AVX512F-NEXT:    vmovdqa64 448(%rdi), %zmm2
1447 ; AVX512F-NEXT:    vmovdqa64 384(%rdi), %zmm1
1448 ; AVX512F-NEXT:    vmovdqa64 512(%rdi), %zmm3
1449 ; AVX512F-NEXT:    vmovdqa64 576(%rdi), %zmm5
1450 ; AVX512F-NEXT:    vmovdqa64 704(%rdi), %zmm0
1451 ; AVX512F-NEXT:    vmovdqa64 640(%rdi), %zmm4
1452 ; AVX512F-NEXT:    vmovdqa64 320(%rdi), %zmm8
1453 ; AVX512F-NEXT:    vmovdqa64 256(%rdi), %zmm12
1454 ; AVX512F-NEXT:    vmovdqa64 (%rdi), %zmm9
1455 ; AVX512F-NEXT:    vmovdqa64 64(%rdi), %zmm11
1456 ; AVX512F-NEXT:    vmovdqa64 128(%rdi), %zmm10
1457 ; AVX512F-NEXT:    vmovdqa64 192(%rdi), %zmm13
1458 ; AVX512F-NEXT:    vbroadcasti64x4 {{.*#+}} zmm14 = [0,6,0,10,0,6,0,10]
1459 ; AVX512F-NEXT:    # zmm14 = mem[0,1,2,3,0,1,2,3]
1460 ; AVX512F-NEXT:    vmovdqa64 %zmm13, %zmm15
1461 ; AVX512F-NEXT:    vpermt2q %zmm10, %zmm14, %zmm15
1462 ; AVX512F-NEXT:    vmovdqa {{.*#+}} ymm6 = <0,6,12,u>
1463 ; AVX512F-NEXT:    vmovdqa64 %zmm9, %zmm7
1464 ; AVX512F-NEXT:    vpermt2q %zmm11, %zmm6, %zmm7
1465 ; AVX512F-NEXT:    movb $56, %dil
1466 ; AVX512F-NEXT:    kmovw %edi, %k1
1467 ; AVX512F-NEXT:    vmovdqa64 %zmm15, %zmm7 {%k1}
1468 ; AVX512F-NEXT:    vbroadcasti32x4 {{.*#+}} zmm16 = [4,10,4,10,4,10,4,10]
1469 ; AVX512F-NEXT:    # zmm16 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]
1470 ; AVX512F-NEXT:    vmovdqa64 %zmm12, %zmm15
1471 ; AVX512F-NEXT:    vpermt2q %zmm8, %zmm16, %zmm15
1472 ; AVX512F-NEXT:    movb $-64, %dil
1473 ; AVX512F-NEXT:    kmovw %edi, %k2
1474 ; AVX512F-NEXT:    vmovdqa64 %zmm15, %zmm7 {%k2}
1475 ; AVX512F-NEXT:    vmovdqa64 %zmm4, %zmm15
1476 ; AVX512F-NEXT:    vpermt2q %zmm0, %zmm16, %zmm15
1477 ; AVX512F-NEXT:    vpermi2q %zmm3, %zmm5, %zmm14
1478 ; AVX512F-NEXT:    vpermi2q %zmm2, %zmm1, %zmm6
1479 ; AVX512F-NEXT:    vmovdqa64 %zmm14, %zmm6 {%k1}
1480 ; AVX512F-NEXT:    vmovdqa64 %zmm15, %zmm6 {%k2}
1481 ; AVX512F-NEXT:    vbroadcasti64x4 {{.*#+}} zmm18 = [1,7,0,11,1,7,0,11]
1482 ; AVX512F-NEXT:    # zmm18 = mem[0,1,2,3,0,1,2,3]
1483 ; AVX512F-NEXT:    vmovdqa64 %zmm13, %zmm17
1484 ; AVX512F-NEXT:    vpermt2q %zmm10, %zmm18, %zmm17
1485 ; AVX512F-NEXT:    vmovdqa {{.*#+}} ymm14 = <1,7,13,u>
1486 ; AVX512F-NEXT:    vmovdqa64 %zmm9, %zmm15
1487 ; AVX512F-NEXT:    vpermt2q %zmm11, %zmm14, %zmm15
1488 ; AVX512F-NEXT:    vmovdqa64 %zmm17, %zmm15 {%k1}
1489 ; AVX512F-NEXT:    vbroadcasti32x4 {{.*#+}} zmm17 = [5,11,5,11,5,11,5,11]
1490 ; AVX512F-NEXT:    # zmm17 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]
1491 ; AVX512F-NEXT:    vmovdqa64 %zmm12, %zmm19
1492 ; AVX512F-NEXT:    vpermt2q %zmm8, %zmm17, %zmm19
1493 ; AVX512F-NEXT:    vmovdqa64 %zmm19, %zmm15 {%k2}
1494 ; AVX512F-NEXT:    vmovdqa64 %zmm4, %zmm19
1495 ; AVX512F-NEXT:    vpermt2q %zmm0, %zmm17, %zmm19
1496 ; AVX512F-NEXT:    vpermi2q %zmm3, %zmm5, %zmm18
1497 ; AVX512F-NEXT:    vpermi2q %zmm2, %zmm1, %zmm14
1498 ; AVX512F-NEXT:    vmovdqa64 %zmm18, %zmm14 {%k1}
1499 ; AVX512F-NEXT:    vmovdqa64 %zmm19, %zmm14 {%k2}
1500 ; AVX512F-NEXT:    vbroadcasti32x4 {{.*#+}} zmm20 = [10,4,10,4,10,4,10,4]
1501 ; AVX512F-NEXT:    # zmm20 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]
1502 ; AVX512F-NEXT:    vmovdqa64 %zmm10, %zmm21
1503 ; AVX512F-NEXT:    vpermt2q %zmm13, %zmm20, %zmm21
1504 ; AVX512F-NEXT:    vmovdqa64 {{.*#+}} ymm18 = <10,0,6,u>
1505 ; AVX512F-NEXT:    vmovdqa64 %zmm11, %zmm19
1506 ; AVX512F-NEXT:    vpermt2q %zmm9, %zmm18, %zmm19
1507 ; AVX512F-NEXT:    movb $24, %dil
1508 ; AVX512F-NEXT:    kmovw %edi, %k2
1509 ; AVX512F-NEXT:    vmovdqa64 %zmm21, %zmm19 {%k2}
1510 ; AVX512F-NEXT:    vbroadcasti64x4 {{.*#+}} zmm21 = [0,0,6,12,0,0,6,12]
1511 ; AVX512F-NEXT:    # zmm21 = mem[0,1,2,3,0,1,2,3]
1512 ; AVX512F-NEXT:    vmovdqa64 %zmm12, %zmm22
1513 ; AVX512F-NEXT:    vpermt2q %zmm8, %zmm21, %zmm22
1514 ; AVX512F-NEXT:    movb $-32, %dil
1515 ; AVX512F-NEXT:    kmovw %edi, %k1
1516 ; AVX512F-NEXT:    vmovdqa64 %zmm22, %zmm19 {%k1}
1517 ; AVX512F-NEXT:    vpermi2q %zmm0, %zmm4, %zmm21
1518 ; AVX512F-NEXT:    vpermi2q %zmm5, %zmm3, %zmm20
1519 ; AVX512F-NEXT:    vpermi2q %zmm1, %zmm2, %zmm18
1520 ; AVX512F-NEXT:    vmovdqa64 %zmm20, %zmm18 {%k2}
1521 ; AVX512F-NEXT:    vmovdqa64 %zmm21, %zmm18 {%k1}
1522 ; AVX512F-NEXT:    vbroadcasti32x4 {{.*#+}} zmm22 = [11,5,11,5,11,5,11,5]
1523 ; AVX512F-NEXT:    # zmm22 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]
1524 ; AVX512F-NEXT:    vmovdqa64 %zmm10, %zmm23
1525 ; AVX512F-NEXT:    vpermt2q %zmm13, %zmm22, %zmm23
1526 ; AVX512F-NEXT:    vmovdqa64 {{.*#+}} ymm20 = <11,1,7,u>
1527 ; AVX512F-NEXT:    vmovdqa64 %zmm11, %zmm21
1528 ; AVX512F-NEXT:    vpermt2q %zmm9, %zmm20, %zmm21
1529 ; AVX512F-NEXT:    vmovdqa64 %zmm23, %zmm21 {%k2}
1530 ; AVX512F-NEXT:    vbroadcasti64x4 {{.*#+}} zmm23 = [0,1,7,13,0,1,7,13]
1531 ; AVX512F-NEXT:    # zmm23 = mem[0,1,2,3,0,1,2,3]
1532 ; AVX512F-NEXT:    vmovdqa64 %zmm12, %zmm24
1533 ; AVX512F-NEXT:    vpermt2q %zmm8, %zmm23, %zmm24
1534 ; AVX512F-NEXT:    vmovdqa64 %zmm24, %zmm21 {%k1}
1535 ; AVX512F-NEXT:    vpermi2q %zmm0, %zmm4, %zmm23
1536 ; AVX512F-NEXT:    vpermi2q %zmm5, %zmm3, %zmm22
1537 ; AVX512F-NEXT:    vpermi2q %zmm1, %zmm2, %zmm20
1538 ; AVX512F-NEXT:    vmovdqa64 %zmm22, %zmm20 {%k2}
1539 ; AVX512F-NEXT:    vmovdqa64 %zmm23, %zmm20 {%k1}
1540 ; AVX512F-NEXT:    vbroadcasti64x4 {{.*#+}} zmm22 = [0,10,0,6,0,10,0,6]
1541 ; AVX512F-NEXT:    # zmm22 = mem[0,1,2,3,0,1,2,3]
1542 ; AVX512F-NEXT:    vmovdqa64 %zmm8, %zmm23
1543 ; AVX512F-NEXT:    vpermt2q %zmm12, %zmm22, %zmm23
1544 ; AVX512F-NEXT:    vbroadcasti64x4 {{.*#+}} zmm24 = [12,0,0,6,12,0,0,6]
1545 ; AVX512F-NEXT:    # zmm24 = mem[0,1,2,3,0,1,2,3]
1546 ; AVX512F-NEXT:    vmovdqa64 %zmm10, %zmm25
1547 ; AVX512F-NEXT:    vpermt2q %zmm13, %zmm24, %zmm25
1548 ; AVX512F-NEXT:    vmovdqa64 %zmm9, %zmm26
1549 ; AVX512F-NEXT:    vpermt2q %zmm11, %zmm16, %zmm26
1550 ; AVX512F-NEXT:    vinserti32x4 $0, %xmm26, %zmm25, %zmm25
1551 ; AVX512F-NEXT:    vmovdqa64 %zmm23, %zmm25 {%k1}
1552 ; AVX512F-NEXT:    vpermi2q %zmm5, %zmm3, %zmm24
1553 ; AVX512F-NEXT:    vpermi2q %zmm2, %zmm1, %zmm16
1554 ; AVX512F-NEXT:    vinserti32x4 $0, %xmm16, %zmm24, %zmm16
1555 ; AVX512F-NEXT:    vpermi2q %zmm4, %zmm0, %zmm22
1556 ; AVX512F-NEXT:    vmovdqa64 %zmm22, %zmm16 {%k1}
1557 ; AVX512F-NEXT:    vbroadcasti64x4 {{.*#+}} zmm22 = [0,11,1,7,0,11,1,7]
1558 ; AVX512F-NEXT:    # zmm22 = mem[0,1,2,3,0,1,2,3]
1559 ; AVX512F-NEXT:    vpermt2q %zmm12, %zmm22, %zmm8
1560 ; AVX512F-NEXT:    vbroadcasti64x4 {{.*#+}} zmm12 = [13,0,1,7,13,0,1,7]
1561 ; AVX512F-NEXT:    # zmm12 = mem[0,1,2,3,0,1,2,3]
1562 ; AVX512F-NEXT:    vpermt2q %zmm13, %zmm12, %zmm10
1563 ; AVX512F-NEXT:    vpermt2q %zmm11, %zmm17, %zmm9
1564 ; AVX512F-NEXT:    vinserti32x4 $0, %xmm9, %zmm10, %zmm9
1565 ; AVX512F-NEXT:    vmovdqa64 %zmm8, %zmm9 {%k1}
1566 ; AVX512F-NEXT:    vpermt2q %zmm5, %zmm12, %zmm3
1567 ; AVX512F-NEXT:    vpermt2q %zmm2, %zmm17, %zmm1
1568 ; AVX512F-NEXT:    vinserti32x4 $0, %xmm1, %zmm3, %zmm1
1569 ; AVX512F-NEXT:    vpermt2q %zmm4, %zmm22, %zmm0
1570 ; AVX512F-NEXT:    vmovdqa64 %zmm0, %zmm1 {%k1}
1571 ; AVX512F-NEXT:    vmovdqa64 %zmm6, 64(%rsi)
1572 ; AVX512F-NEXT:    vmovdqa64 %zmm7, (%rsi)
1573 ; AVX512F-NEXT:    vmovdqa64 %zmm14, 64(%rdx)
1574 ; AVX512F-NEXT:    vmovdqa64 %zmm15, (%rdx)
1575 ; AVX512F-NEXT:    vmovdqa64 %zmm18, 64(%rcx)
1576 ; AVX512F-NEXT:    vmovdqa64 %zmm19, (%rcx)
1577 ; AVX512F-NEXT:    vmovdqa64 %zmm20, 64(%r8)
1578 ; AVX512F-NEXT:    vmovdqa64 %zmm21, (%r8)
1579 ; AVX512F-NEXT:    vmovdqa64 %zmm16, 64(%r9)
1580 ; AVX512F-NEXT:    vmovdqa64 %zmm25, (%r9)
1581 ; AVX512F-NEXT:    vmovdqa64 %zmm1, 64(%rax)
1582 ; AVX512F-NEXT:    vmovdqa64 %zmm9, (%rax)
1583 ; AVX512F-NEXT:    vzeroupper
1584 ; AVX512F-NEXT:    retq
1586 ; AVX512BW-LABEL: load_i64_stride6_vf16:
1587 ; AVX512BW:       # %bb.0:
1588 ; AVX512BW-NEXT:    movq {{[0-9]+}}(%rsp), %rax
1589 ; AVX512BW-NEXT:    vmovdqa64 448(%rdi), %zmm2
1590 ; AVX512BW-NEXT:    vmovdqa64 384(%rdi), %zmm1
1591 ; AVX512BW-NEXT:    vmovdqa64 512(%rdi), %zmm3
1592 ; AVX512BW-NEXT:    vmovdqa64 576(%rdi), %zmm5
1593 ; AVX512BW-NEXT:    vmovdqa64 704(%rdi), %zmm0
1594 ; AVX512BW-NEXT:    vmovdqa64 640(%rdi), %zmm4
1595 ; AVX512BW-NEXT:    vmovdqa64 320(%rdi), %zmm8
1596 ; AVX512BW-NEXT:    vmovdqa64 256(%rdi), %zmm12
1597 ; AVX512BW-NEXT:    vmovdqa64 (%rdi), %zmm9
1598 ; AVX512BW-NEXT:    vmovdqa64 64(%rdi), %zmm11
1599 ; AVX512BW-NEXT:    vmovdqa64 128(%rdi), %zmm10
1600 ; AVX512BW-NEXT:    vmovdqa64 192(%rdi), %zmm13
1601 ; AVX512BW-NEXT:    vbroadcasti64x4 {{.*#+}} zmm14 = [0,6,0,10,0,6,0,10]
1602 ; AVX512BW-NEXT:    # zmm14 = mem[0,1,2,3,0,1,2,3]
1603 ; AVX512BW-NEXT:    vmovdqa64 %zmm13, %zmm15
1604 ; AVX512BW-NEXT:    vpermt2q %zmm10, %zmm14, %zmm15
1605 ; AVX512BW-NEXT:    vmovdqa {{.*#+}} ymm6 = <0,6,12,u>
1606 ; AVX512BW-NEXT:    vmovdqa64 %zmm9, %zmm7
1607 ; AVX512BW-NEXT:    vpermt2q %zmm11, %zmm6, %zmm7
1608 ; AVX512BW-NEXT:    movb $56, %dil
1609 ; AVX512BW-NEXT:    kmovd %edi, %k1
1610 ; AVX512BW-NEXT:    vmovdqa64 %zmm15, %zmm7 {%k1}
1611 ; AVX512BW-NEXT:    vbroadcasti32x4 {{.*#+}} zmm16 = [4,10,4,10,4,10,4,10]
1612 ; AVX512BW-NEXT:    # zmm16 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]
1613 ; AVX512BW-NEXT:    vmovdqa64 %zmm12, %zmm15
1614 ; AVX512BW-NEXT:    vpermt2q %zmm8, %zmm16, %zmm15
1615 ; AVX512BW-NEXT:    movb $-64, %dil
1616 ; AVX512BW-NEXT:    kmovd %edi, %k2
1617 ; AVX512BW-NEXT:    vmovdqa64 %zmm15, %zmm7 {%k2}
1618 ; AVX512BW-NEXT:    vmovdqa64 %zmm4, %zmm15
1619 ; AVX512BW-NEXT:    vpermt2q %zmm0, %zmm16, %zmm15
1620 ; AVX512BW-NEXT:    vpermi2q %zmm3, %zmm5, %zmm14
1621 ; AVX512BW-NEXT:    vpermi2q %zmm2, %zmm1, %zmm6
1622 ; AVX512BW-NEXT:    vmovdqa64 %zmm14, %zmm6 {%k1}
1623 ; AVX512BW-NEXT:    vmovdqa64 %zmm15, %zmm6 {%k2}
1624 ; AVX512BW-NEXT:    vbroadcasti64x4 {{.*#+}} zmm18 = [1,7,0,11,1,7,0,11]
1625 ; AVX512BW-NEXT:    # zmm18 = mem[0,1,2,3,0,1,2,3]
1626 ; AVX512BW-NEXT:    vmovdqa64 %zmm13, %zmm17
1627 ; AVX512BW-NEXT:    vpermt2q %zmm10, %zmm18, %zmm17
1628 ; AVX512BW-NEXT:    vmovdqa {{.*#+}} ymm14 = <1,7,13,u>
1629 ; AVX512BW-NEXT:    vmovdqa64 %zmm9, %zmm15
1630 ; AVX512BW-NEXT:    vpermt2q %zmm11, %zmm14, %zmm15
1631 ; AVX512BW-NEXT:    vmovdqa64 %zmm17, %zmm15 {%k1}
1632 ; AVX512BW-NEXT:    vbroadcasti32x4 {{.*#+}} zmm17 = [5,11,5,11,5,11,5,11]
1633 ; AVX512BW-NEXT:    # zmm17 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]
1634 ; AVX512BW-NEXT:    vmovdqa64 %zmm12, %zmm19
1635 ; AVX512BW-NEXT:    vpermt2q %zmm8, %zmm17, %zmm19
1636 ; AVX512BW-NEXT:    vmovdqa64 %zmm19, %zmm15 {%k2}
1637 ; AVX512BW-NEXT:    vmovdqa64 %zmm4, %zmm19
1638 ; AVX512BW-NEXT:    vpermt2q %zmm0, %zmm17, %zmm19
1639 ; AVX512BW-NEXT:    vpermi2q %zmm3, %zmm5, %zmm18
1640 ; AVX512BW-NEXT:    vpermi2q %zmm2, %zmm1, %zmm14
1641 ; AVX512BW-NEXT:    vmovdqa64 %zmm18, %zmm14 {%k1}
1642 ; AVX512BW-NEXT:    vmovdqa64 %zmm19, %zmm14 {%k2}
1643 ; AVX512BW-NEXT:    vbroadcasti32x4 {{.*#+}} zmm20 = [10,4,10,4,10,4,10,4]
1644 ; AVX512BW-NEXT:    # zmm20 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]
1645 ; AVX512BW-NEXT:    vmovdqa64 %zmm10, %zmm21
1646 ; AVX512BW-NEXT:    vpermt2q %zmm13, %zmm20, %zmm21
1647 ; AVX512BW-NEXT:    vmovdqa64 {{.*#+}} ymm18 = <10,0,6,u>
1648 ; AVX512BW-NEXT:    vmovdqa64 %zmm11, %zmm19
1649 ; AVX512BW-NEXT:    vpermt2q %zmm9, %zmm18, %zmm19
1650 ; AVX512BW-NEXT:    movb $24, %dil
1651 ; AVX512BW-NEXT:    kmovd %edi, %k2
1652 ; AVX512BW-NEXT:    vmovdqa64 %zmm21, %zmm19 {%k2}
1653 ; AVX512BW-NEXT:    vbroadcasti64x4 {{.*#+}} zmm21 = [0,0,6,12,0,0,6,12]
1654 ; AVX512BW-NEXT:    # zmm21 = mem[0,1,2,3,0,1,2,3]
1655 ; AVX512BW-NEXT:    vmovdqa64 %zmm12, %zmm22
1656 ; AVX512BW-NEXT:    vpermt2q %zmm8, %zmm21, %zmm22
1657 ; AVX512BW-NEXT:    movb $-32, %dil
1658 ; AVX512BW-NEXT:    kmovd %edi, %k1
1659 ; AVX512BW-NEXT:    vmovdqa64 %zmm22, %zmm19 {%k1}
1660 ; AVX512BW-NEXT:    vpermi2q %zmm0, %zmm4, %zmm21
1661 ; AVX512BW-NEXT:    vpermi2q %zmm5, %zmm3, %zmm20
1662 ; AVX512BW-NEXT:    vpermi2q %zmm1, %zmm2, %zmm18
1663 ; AVX512BW-NEXT:    vmovdqa64 %zmm20, %zmm18 {%k2}
1664 ; AVX512BW-NEXT:    vmovdqa64 %zmm21, %zmm18 {%k1}
1665 ; AVX512BW-NEXT:    vbroadcasti32x4 {{.*#+}} zmm22 = [11,5,11,5,11,5,11,5]
1666 ; AVX512BW-NEXT:    # zmm22 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]
1667 ; AVX512BW-NEXT:    vmovdqa64 %zmm10, %zmm23
1668 ; AVX512BW-NEXT:    vpermt2q %zmm13, %zmm22, %zmm23
1669 ; AVX512BW-NEXT:    vmovdqa64 {{.*#+}} ymm20 = <11,1,7,u>
1670 ; AVX512BW-NEXT:    vmovdqa64 %zmm11, %zmm21
1671 ; AVX512BW-NEXT:    vpermt2q %zmm9, %zmm20, %zmm21
1672 ; AVX512BW-NEXT:    vmovdqa64 %zmm23, %zmm21 {%k2}
1673 ; AVX512BW-NEXT:    vbroadcasti64x4 {{.*#+}} zmm23 = [0,1,7,13,0,1,7,13]
1674 ; AVX512BW-NEXT:    # zmm23 = mem[0,1,2,3,0,1,2,3]
1675 ; AVX512BW-NEXT:    vmovdqa64 %zmm12, %zmm24
1676 ; AVX512BW-NEXT:    vpermt2q %zmm8, %zmm23, %zmm24
1677 ; AVX512BW-NEXT:    vmovdqa64 %zmm24, %zmm21 {%k1}
1678 ; AVX512BW-NEXT:    vpermi2q %zmm0, %zmm4, %zmm23
1679 ; AVX512BW-NEXT:    vpermi2q %zmm5, %zmm3, %zmm22
1680 ; AVX512BW-NEXT:    vpermi2q %zmm1, %zmm2, %zmm20
1681 ; AVX512BW-NEXT:    vmovdqa64 %zmm22, %zmm20 {%k2}
1682 ; AVX512BW-NEXT:    vmovdqa64 %zmm23, %zmm20 {%k1}
1683 ; AVX512BW-NEXT:    vbroadcasti64x4 {{.*#+}} zmm22 = [0,10,0,6,0,10,0,6]
1684 ; AVX512BW-NEXT:    # zmm22 = mem[0,1,2,3,0,1,2,3]
1685 ; AVX512BW-NEXT:    vmovdqa64 %zmm8, %zmm23
1686 ; AVX512BW-NEXT:    vpermt2q %zmm12, %zmm22, %zmm23
1687 ; AVX512BW-NEXT:    vbroadcasti64x4 {{.*#+}} zmm24 = [12,0,0,6,12,0,0,6]
1688 ; AVX512BW-NEXT:    # zmm24 = mem[0,1,2,3,0,1,2,3]
1689 ; AVX512BW-NEXT:    vmovdqa64 %zmm10, %zmm25
1690 ; AVX512BW-NEXT:    vpermt2q %zmm13, %zmm24, %zmm25
1691 ; AVX512BW-NEXT:    vmovdqa64 %zmm9, %zmm26
1692 ; AVX512BW-NEXT:    vpermt2q %zmm11, %zmm16, %zmm26
1693 ; AVX512BW-NEXT:    vinserti32x4 $0, %xmm26, %zmm25, %zmm25
1694 ; AVX512BW-NEXT:    vmovdqa64 %zmm23, %zmm25 {%k1}
1695 ; AVX512BW-NEXT:    vpermi2q %zmm5, %zmm3, %zmm24
1696 ; AVX512BW-NEXT:    vpermi2q %zmm2, %zmm1, %zmm16
1697 ; AVX512BW-NEXT:    vinserti32x4 $0, %xmm16, %zmm24, %zmm16
1698 ; AVX512BW-NEXT:    vpermi2q %zmm4, %zmm0, %zmm22
1699 ; AVX512BW-NEXT:    vmovdqa64 %zmm22, %zmm16 {%k1}
1700 ; AVX512BW-NEXT:    vbroadcasti64x4 {{.*#+}} zmm22 = [0,11,1,7,0,11,1,7]
1701 ; AVX512BW-NEXT:    # zmm22 = mem[0,1,2,3,0,1,2,3]
1702 ; AVX512BW-NEXT:    vpermt2q %zmm12, %zmm22, %zmm8
1703 ; AVX512BW-NEXT:    vbroadcasti64x4 {{.*#+}} zmm12 = [13,0,1,7,13,0,1,7]
1704 ; AVX512BW-NEXT:    # zmm12 = mem[0,1,2,3,0,1,2,3]
1705 ; AVX512BW-NEXT:    vpermt2q %zmm13, %zmm12, %zmm10
1706 ; AVX512BW-NEXT:    vpermt2q %zmm11, %zmm17, %zmm9
1707 ; AVX512BW-NEXT:    vinserti32x4 $0, %xmm9, %zmm10, %zmm9
1708 ; AVX512BW-NEXT:    vmovdqa64 %zmm8, %zmm9 {%k1}
1709 ; AVX512BW-NEXT:    vpermt2q %zmm5, %zmm12, %zmm3
1710 ; AVX512BW-NEXT:    vpermt2q %zmm2, %zmm17, %zmm1
1711 ; AVX512BW-NEXT:    vinserti32x4 $0, %xmm1, %zmm3, %zmm1
1712 ; AVX512BW-NEXT:    vpermt2q %zmm4, %zmm22, %zmm0
1713 ; AVX512BW-NEXT:    vmovdqa64 %zmm0, %zmm1 {%k1}
1714 ; AVX512BW-NEXT:    vmovdqa64 %zmm6, 64(%rsi)
1715 ; AVX512BW-NEXT:    vmovdqa64 %zmm7, (%rsi)
1716 ; AVX512BW-NEXT:    vmovdqa64 %zmm14, 64(%rdx)
1717 ; AVX512BW-NEXT:    vmovdqa64 %zmm15, (%rdx)
1718 ; AVX512BW-NEXT:    vmovdqa64 %zmm18, 64(%rcx)
1719 ; AVX512BW-NEXT:    vmovdqa64 %zmm19, (%rcx)
1720 ; AVX512BW-NEXT:    vmovdqa64 %zmm20, 64(%r8)
1721 ; AVX512BW-NEXT:    vmovdqa64 %zmm21, (%r8)
1722 ; AVX512BW-NEXT:    vmovdqa64 %zmm16, 64(%r9)
1723 ; AVX512BW-NEXT:    vmovdqa64 %zmm25, (%r9)
1724 ; AVX512BW-NEXT:    vmovdqa64 %zmm1, 64(%rax)
1725 ; AVX512BW-NEXT:    vmovdqa64 %zmm9, (%rax)
1726 ; AVX512BW-NEXT:    vzeroupper
1727 ; AVX512BW-NEXT:    retq
1728   %wide.vec = load <96 x i64>, ptr %in.vec, align 64
1729   %strided.vec0 = shufflevector <96 x i64> %wide.vec, <96 x i64> poison, <16 x i32> <i32 0, i32 6, i32 12, i32 18, i32 24, i32 30, i32 36, i32 42, i32 48, i32 54, i32 60, i32 66, i32 72, i32 78, i32 84, i32 90>
1730   %strided.vec1 = shufflevector <96 x i64> %wide.vec, <96 x i64> poison, <16 x i32> <i32 1, i32 7, i32 13, i32 19, i32 25, i32 31, i32 37, i32 43, i32 49, i32 55, i32 61, i32 67, i32 73, i32 79, i32 85, i32 91>
1731   %strided.vec2 = shufflevector <96 x i64> %wide.vec, <96 x i64> poison, <16 x i32> <i32 2, i32 8, i32 14, i32 20, i32 26, i32 32, i32 38, i32 44, i32 50, i32 56, i32 62, i32 68, i32 74, i32 80, i32 86, i32 92>
1732   %strided.vec3 = shufflevector <96 x i64> %wide.vec, <96 x i64> poison, <16 x i32> <i32 3, i32 9, i32 15, i32 21, i32 27, i32 33, i32 39, i32 45, i32 51, i32 57, i32 63, i32 69, i32 75, i32 81, i32 87, i32 93>
1733   %strided.vec4 = shufflevector <96 x i64> %wide.vec, <96 x i64> poison, <16 x i32> <i32 4, i32 10, i32 16, i32 22, i32 28, i32 34, i32 40, i32 46, i32 52, i32 58, i32 64, i32 70, i32 76, i32 82, i32 88, i32 94>
1734   %strided.vec5 = shufflevector <96 x i64> %wide.vec, <96 x i64> poison, <16 x i32> <i32 5, i32 11, i32 17, i32 23, i32 29, i32 35, i32 41, i32 47, i32 53, i32 59, i32 65, i32 71, i32 77, i32 83, i32 89, i32 95>
1735   store <16 x i64> %strided.vec0, ptr %out.vec0, align 64
1736   store <16 x i64> %strided.vec1, ptr %out.vec1, align 64
1737   store <16 x i64> %strided.vec2, ptr %out.vec2, align 64
1738   store <16 x i64> %strided.vec3, ptr %out.vec3, align 64
1739   store <16 x i64> %strided.vec4, ptr %out.vec4, align 64
1740   store <16 x i64> %strided.vec5, ptr %out.vec5, align 64
1741   ret void
1744 define void @load_i64_stride6_vf32(ptr %in.vec, ptr %out.vec0, ptr %out.vec1, ptr %out.vec2, ptr %out.vec3, ptr %out.vec4, ptr %out.vec5) nounwind {
1745 ; SSE-LABEL: load_i64_stride6_vf32:
1746 ; SSE:       # %bb.0:
1747 ; SSE-NEXT:    subq $1176, %rsp # imm = 0x498
1748 ; SSE-NEXT:    movaps 624(%rdi), %xmm0
1749 ; SSE-NEXT:    movaps 576(%rdi), %xmm9
1750 ; SSE-NEXT:    movaps 240(%rdi), %xmm3
1751 ; SSE-NEXT:    movaps 192(%rdi), %xmm8
1752 ; SSE-NEXT:    movaps 720(%rdi), %xmm1
1753 ; SSE-NEXT:    movaps 672(%rdi), %xmm11
1754 ; SSE-NEXT:    movaps 336(%rdi), %xmm5
1755 ; SSE-NEXT:    movaps 288(%rdi), %xmm10
1756 ; SSE-NEXT:    movaps 432(%rdi), %xmm4
1757 ; SSE-NEXT:    movaps 384(%rdi), %xmm12
1758 ; SSE-NEXT:    movaps 912(%rdi), %xmm2
1759 ; SSE-NEXT:    movaps 528(%rdi), %xmm6
1760 ; SSE-NEXT:    movaps 480(%rdi), %xmm14
1761 ; SSE-NEXT:    movaps 144(%rdi), %xmm7
1762 ; SSE-NEXT:    movaps 96(%rdi), %xmm13
1763 ; SSE-NEXT:    movaps %xmm13, %xmm15
1764 ; SSE-NEXT:    movlhps {{.*#+}} xmm15 = xmm15[0],xmm7[0]
1765 ; SSE-NEXT:    movaps %xmm15, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
1766 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm13 = xmm13[1],xmm7[1]
1767 ; SSE-NEXT:    movaps %xmm13, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
1768 ; SSE-NEXT:    movaps %xmm10, %xmm7
1769 ; SSE-NEXT:    movlhps {{.*#+}} xmm7 = xmm7[0],xmm5[0]
1770 ; SSE-NEXT:    movaps %xmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
1771 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm10 = xmm10[1],xmm5[1]
1772 ; SSE-NEXT:    movaps %xmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
1773 ; SSE-NEXT:    movaps %xmm8, %xmm5
1774 ; SSE-NEXT:    movlhps {{.*#+}} xmm5 = xmm5[0],xmm3[0]
1775 ; SSE-NEXT:    movaps %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
1776 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm8 = xmm8[1],xmm3[1]
1777 ; SSE-NEXT:    movaps %xmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
1778 ; SSE-NEXT:    movaps %xmm14, %xmm3
1779 ; SSE-NEXT:    movlhps {{.*#+}} xmm3 = xmm3[0],xmm6[0]
1780 ; SSE-NEXT:    movaps %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
1781 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm14 = xmm14[1],xmm6[1]
1782 ; SSE-NEXT:    movaps %xmm14, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
1783 ; SSE-NEXT:    movaps %xmm12, %xmm3
1784 ; SSE-NEXT:    movlhps {{.*#+}} xmm3 = xmm3[0],xmm4[0]
1785 ; SSE-NEXT:    movaps %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
1786 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm12 = xmm12[1],xmm4[1]
1787 ; SSE-NEXT:    movaps %xmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
1788 ; SSE-NEXT:    movaps %xmm11, %xmm3
1789 ; SSE-NEXT:    movlhps {{.*#+}} xmm3 = xmm3[0],xmm1[0]
1790 ; SSE-NEXT:    movaps %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
1791 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm11 = xmm11[1],xmm1[1]
1792 ; SSE-NEXT:    movaps %xmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
1793 ; SSE-NEXT:    movaps %xmm9, %xmm1
1794 ; SSE-NEXT:    movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]
1795 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
1796 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm9 = xmm9[1],xmm0[1]
1797 ; SSE-NEXT:    movaps %xmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
1798 ; SSE-NEXT:    movaps 864(%rdi), %xmm0
1799 ; SSE-NEXT:    movaps %xmm0, %xmm1
1800 ; SSE-NEXT:    movlhps {{.*#+}} xmm1 = xmm1[0],xmm2[0]
1801 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
1802 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm0 = xmm0[1],xmm2[1]
1803 ; SSE-NEXT:    movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
1804 ; SSE-NEXT:    movaps 816(%rdi), %xmm0
1805 ; SSE-NEXT:    movaps 768(%rdi), %xmm1
1806 ; SSE-NEXT:    movaps %xmm1, %xmm2
1807 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]
1808 ; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
1809 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
1810 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
1811 ; SSE-NEXT:    movaps 1104(%rdi), %xmm0
1812 ; SSE-NEXT:    movaps 1056(%rdi), %xmm1
1813 ; SSE-NEXT:    movaps %xmm1, %xmm2
1814 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]
1815 ; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
1816 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
1817 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
1818 ; SSE-NEXT:    movaps 1008(%rdi), %xmm0
1819 ; SSE-NEXT:    movaps 960(%rdi), %xmm1
1820 ; SSE-NEXT:    movaps %xmm1, %xmm2
1821 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]
1822 ; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
1823 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
1824 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
1825 ; SSE-NEXT:    movaps 1296(%rdi), %xmm0
1826 ; SSE-NEXT:    movaps 1248(%rdi), %xmm1
1827 ; SSE-NEXT:    movaps %xmm1, %xmm2
1828 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]
1829 ; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
1830 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
1831 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
1832 ; SSE-NEXT:    movaps 1200(%rdi), %xmm0
1833 ; SSE-NEXT:    movaps 1152(%rdi), %xmm1
1834 ; SSE-NEXT:    movaps %xmm1, %xmm2
1835 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]
1836 ; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
1837 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
1838 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
1839 ; SSE-NEXT:    movaps 1488(%rdi), %xmm0
1840 ; SSE-NEXT:    movaps 1440(%rdi), %xmm1
1841 ; SSE-NEXT:    movaps %xmm1, %xmm2
1842 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]
1843 ; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
1844 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
1845 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
1846 ; SSE-NEXT:    movaps 1392(%rdi), %xmm0
1847 ; SSE-NEXT:    movaps 1344(%rdi), %xmm1
1848 ; SSE-NEXT:    movaps %xmm1, %xmm2
1849 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]
1850 ; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
1851 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
1852 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
1853 ; SSE-NEXT:    movaps (%rdi), %xmm1
1854 ; SSE-NEXT:    movaps 48(%rdi), %xmm0
1855 ; SSE-NEXT:    movaps %xmm1, %xmm2
1856 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]
1857 ; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
1858 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
1859 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
1860 ; SSE-NEXT:    movaps 64(%rdi), %xmm0
1861 ; SSE-NEXT:    movaps 16(%rdi), %xmm1
1862 ; SSE-NEXT:    movaps %xmm1, %xmm2
1863 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]
1864 ; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
1865 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
1866 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
1867 ; SSE-NEXT:    movaps 160(%rdi), %xmm0
1868 ; SSE-NEXT:    movaps 112(%rdi), %xmm1
1869 ; SSE-NEXT:    movaps %xmm1, %xmm2
1870 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]
1871 ; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
1872 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
1873 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
1874 ; SSE-NEXT:    movaps 256(%rdi), %xmm0
1875 ; SSE-NEXT:    movaps 208(%rdi), %xmm1
1876 ; SSE-NEXT:    movaps %xmm1, %xmm2
1877 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]
1878 ; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
1879 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
1880 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
1881 ; SSE-NEXT:    movaps 352(%rdi), %xmm0
1882 ; SSE-NEXT:    movaps 304(%rdi), %xmm1
1883 ; SSE-NEXT:    movaps %xmm1, %xmm2
1884 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]
1885 ; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
1886 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
1887 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
1888 ; SSE-NEXT:    movaps 448(%rdi), %xmm0
1889 ; SSE-NEXT:    movaps 400(%rdi), %xmm1
1890 ; SSE-NEXT:    movaps %xmm1, %xmm2
1891 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]
1892 ; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
1893 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
1894 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
1895 ; SSE-NEXT:    movaps 544(%rdi), %xmm0
1896 ; SSE-NEXT:    movaps 496(%rdi), %xmm1
1897 ; SSE-NEXT:    movaps %xmm1, %xmm2
1898 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]
1899 ; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
1900 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
1901 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
1902 ; SSE-NEXT:    movaps 640(%rdi), %xmm0
1903 ; SSE-NEXT:    movaps 592(%rdi), %xmm1
1904 ; SSE-NEXT:    movaps %xmm1, %xmm2
1905 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]
1906 ; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
1907 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
1908 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
1909 ; SSE-NEXT:    movaps 736(%rdi), %xmm0
1910 ; SSE-NEXT:    movaps 688(%rdi), %xmm1
1911 ; SSE-NEXT:    movaps %xmm1, %xmm2
1912 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]
1913 ; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
1914 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
1915 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
1916 ; SSE-NEXT:    movaps 832(%rdi), %xmm0
1917 ; SSE-NEXT:    movaps 784(%rdi), %xmm1
1918 ; SSE-NEXT:    movaps %xmm1, %xmm2
1919 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]
1920 ; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
1921 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
1922 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
1923 ; SSE-NEXT:    movaps 928(%rdi), %xmm0
1924 ; SSE-NEXT:    movaps 880(%rdi), %xmm1
1925 ; SSE-NEXT:    movaps %xmm1, %xmm2
1926 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]
1927 ; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
1928 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
1929 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
1930 ; SSE-NEXT:    movaps 1024(%rdi), %xmm0
1931 ; SSE-NEXT:    movaps 976(%rdi), %xmm1
1932 ; SSE-NEXT:    movaps %xmm1, %xmm2
1933 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]
1934 ; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
1935 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
1936 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
1937 ; SSE-NEXT:    movaps 1120(%rdi), %xmm0
1938 ; SSE-NEXT:    movaps 1072(%rdi), %xmm1
1939 ; SSE-NEXT:    movaps %xmm1, %xmm2
1940 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]
1941 ; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
1942 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
1943 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
1944 ; SSE-NEXT:    movaps 1216(%rdi), %xmm0
1945 ; SSE-NEXT:    movaps 1168(%rdi), %xmm1
1946 ; SSE-NEXT:    movaps %xmm1, %xmm2
1947 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]
1948 ; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
1949 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
1950 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
1951 ; SSE-NEXT:    movaps 1312(%rdi), %xmm0
1952 ; SSE-NEXT:    movaps 1264(%rdi), %xmm1
1953 ; SSE-NEXT:    movaps %xmm1, %xmm2
1954 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]
1955 ; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
1956 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
1957 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
1958 ; SSE-NEXT:    movaps 1408(%rdi), %xmm0
1959 ; SSE-NEXT:    movaps 1360(%rdi), %xmm1
1960 ; SSE-NEXT:    movaps %xmm1, %xmm2
1961 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]
1962 ; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
1963 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
1964 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
1965 ; SSE-NEXT:    movaps 1504(%rdi), %xmm0
1966 ; SSE-NEXT:    movaps 1456(%rdi), %xmm1
1967 ; SSE-NEXT:    movaps %xmm1, %xmm2
1968 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]
1969 ; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
1970 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
1971 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
1972 ; SSE-NEXT:    movaps 80(%rdi), %xmm0
1973 ; SSE-NEXT:    movaps 32(%rdi), %xmm1
1974 ; SSE-NEXT:    movaps %xmm1, %xmm2
1975 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]
1976 ; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
1977 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
1978 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
1979 ; SSE-NEXT:    movaps 176(%rdi), %xmm0
1980 ; SSE-NEXT:    movaps 128(%rdi), %xmm1
1981 ; SSE-NEXT:    movaps %xmm1, %xmm2
1982 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]
1983 ; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
1984 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
1985 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
1986 ; SSE-NEXT:    movaps 272(%rdi), %xmm0
1987 ; SSE-NEXT:    movaps 224(%rdi), %xmm1
1988 ; SSE-NEXT:    movaps %xmm1, %xmm2
1989 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]
1990 ; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
1991 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
1992 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
1993 ; SSE-NEXT:    movaps 368(%rdi), %xmm0
1994 ; SSE-NEXT:    movaps 320(%rdi), %xmm1
1995 ; SSE-NEXT:    movaps %xmm1, %xmm2
1996 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]
1997 ; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
1998 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
1999 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2000 ; SSE-NEXT:    movaps 464(%rdi), %xmm0
2001 ; SSE-NEXT:    movaps 416(%rdi), %xmm1
2002 ; SSE-NEXT:    movaps %xmm1, %xmm2
2003 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]
2004 ; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2005 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
2006 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2007 ; SSE-NEXT:    movaps 560(%rdi), %xmm0
2008 ; SSE-NEXT:    movaps 512(%rdi), %xmm1
2009 ; SSE-NEXT:    movaps %xmm1, %xmm2
2010 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]
2011 ; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2012 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
2013 ; SSE-NEXT:    movaps %xmm1, (%rsp) # 16-byte Spill
2014 ; SSE-NEXT:    movaps 656(%rdi), %xmm0
2015 ; SSE-NEXT:    movaps 608(%rdi), %xmm1
2016 ; SSE-NEXT:    movaps %xmm1, %xmm2
2017 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]
2018 ; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2019 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
2020 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2021 ; SSE-NEXT:    movaps 752(%rdi), %xmm0
2022 ; SSE-NEXT:    movaps 704(%rdi), %xmm14
2023 ; SSE-NEXT:    movaps %xmm14, %xmm1
2024 ; SSE-NEXT:    movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]
2025 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2026 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm14 = xmm14[1],xmm0[1]
2027 ; SSE-NEXT:    movaps 848(%rdi), %xmm0
2028 ; SSE-NEXT:    movaps 800(%rdi), %xmm15
2029 ; SSE-NEXT:    movaps %xmm15, %xmm1
2030 ; SSE-NEXT:    movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]
2031 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2032 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm15 = xmm15[1],xmm0[1]
2033 ; SSE-NEXT:    movaps 944(%rdi), %xmm0
2034 ; SSE-NEXT:    movaps 896(%rdi), %xmm13
2035 ; SSE-NEXT:    movaps %xmm13, %xmm1
2036 ; SSE-NEXT:    movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]
2037 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2038 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm13 = xmm13[1],xmm0[1]
2039 ; SSE-NEXT:    movaps 1040(%rdi), %xmm0
2040 ; SSE-NEXT:    movaps 992(%rdi), %xmm10
2041 ; SSE-NEXT:    movaps %xmm10, %xmm12
2042 ; SSE-NEXT:    movlhps {{.*#+}} xmm12 = xmm12[0],xmm0[0]
2043 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm10 = xmm10[1],xmm0[1]
2044 ; SSE-NEXT:    movaps 1136(%rdi), %xmm0
2045 ; SSE-NEXT:    movaps 1088(%rdi), %xmm9
2046 ; SSE-NEXT:    movaps %xmm9, %xmm11
2047 ; SSE-NEXT:    movlhps {{.*#+}} xmm11 = xmm11[0],xmm0[0]
2048 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm9 = xmm9[1],xmm0[1]
2049 ; SSE-NEXT:    movaps 1232(%rdi), %xmm0
2050 ; SSE-NEXT:    movaps 1184(%rdi), %xmm7
2051 ; SSE-NEXT:    movaps %xmm7, %xmm8
2052 ; SSE-NEXT:    movlhps {{.*#+}} xmm8 = xmm8[0],xmm0[0]
2053 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm7 = xmm7[1],xmm0[1]
2054 ; SSE-NEXT:    movaps 1328(%rdi), %xmm0
2055 ; SSE-NEXT:    movaps 1280(%rdi), %xmm5
2056 ; SSE-NEXT:    movaps %xmm5, %xmm6
2057 ; SSE-NEXT:    movlhps {{.*#+}} xmm6 = xmm6[0],xmm0[0]
2058 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm5 = xmm5[1],xmm0[1]
2059 ; SSE-NEXT:    movaps 1424(%rdi), %xmm0
2060 ; SSE-NEXT:    movaps 1376(%rdi), %xmm3
2061 ; SSE-NEXT:    movaps %xmm3, %xmm4
2062 ; SSE-NEXT:    movlhps {{.*#+}} xmm4 = xmm4[0],xmm0[0]
2063 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm3 = xmm3[1],xmm0[1]
2064 ; SSE-NEXT:    movaps 1520(%rdi), %xmm0
2065 ; SSE-NEXT:    movaps 1472(%rdi), %xmm1
2066 ; SSE-NEXT:    movaps %xmm1, %xmm2
2067 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]
2068 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
2069 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2070 ; SSE-NEXT:    movaps %xmm0, 224(%rsi)
2071 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2072 ; SSE-NEXT:    movaps %xmm0, 160(%rsi)
2073 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2074 ; SSE-NEXT:    movaps %xmm0, 96(%rsi)
2075 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2076 ; SSE-NEXT:    movaps %xmm0, 32(%rsi)
2077 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2078 ; SSE-NEXT:    movaps %xmm0, 240(%rsi)
2079 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2080 ; SSE-NEXT:    movaps %xmm0, 176(%rsi)
2081 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2082 ; SSE-NEXT:    movaps %xmm0, 112(%rsi)
2083 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2084 ; SSE-NEXT:    movaps %xmm0, 48(%rsi)
2085 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2086 ; SSE-NEXT:    movaps %xmm0, 192(%rsi)
2087 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2088 ; SSE-NEXT:    movaps %xmm0, 128(%rsi)
2089 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2090 ; SSE-NEXT:    movaps %xmm0, 64(%rsi)
2091 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2092 ; SSE-NEXT:    movaps %xmm0, (%rsi)
2093 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2094 ; SSE-NEXT:    movaps %xmm0, 208(%rsi)
2095 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2096 ; SSE-NEXT:    movaps %xmm0, 144(%rsi)
2097 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2098 ; SSE-NEXT:    movaps %xmm0, 80(%rsi)
2099 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2100 ; SSE-NEXT:    movaps %xmm0, 16(%rsi)
2101 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2102 ; SSE-NEXT:    movaps %xmm0, 224(%rdx)
2103 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2104 ; SSE-NEXT:    movaps %xmm0, 240(%rdx)
2105 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2106 ; SSE-NEXT:    movaps %xmm0, 192(%rdx)
2107 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2108 ; SSE-NEXT:    movaps %xmm0, 208(%rdx)
2109 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2110 ; SSE-NEXT:    movaps %xmm0, 160(%rdx)
2111 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2112 ; SSE-NEXT:    movaps %xmm0, 176(%rdx)
2113 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2114 ; SSE-NEXT:    movaps %xmm0, 128(%rdx)
2115 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2116 ; SSE-NEXT:    movaps %xmm0, 144(%rdx)
2117 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2118 ; SSE-NEXT:    movaps %xmm0, 96(%rdx)
2119 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2120 ; SSE-NEXT:    movaps %xmm0, 112(%rdx)
2121 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2122 ; SSE-NEXT:    movaps %xmm0, 64(%rdx)
2123 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2124 ; SSE-NEXT:    movaps %xmm0, 80(%rdx)
2125 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2126 ; SSE-NEXT:    movaps %xmm0, 32(%rdx)
2127 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2128 ; SSE-NEXT:    movaps %xmm0, 48(%rdx)
2129 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2130 ; SSE-NEXT:    movaps %xmm0, (%rdx)
2131 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2132 ; SSE-NEXT:    movaps %xmm0, 16(%rdx)
2133 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2134 ; SSE-NEXT:    movaps %xmm0, 240(%rcx)
2135 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2136 ; SSE-NEXT:    movaps %xmm0, 224(%rcx)
2137 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2138 ; SSE-NEXT:    movaps %xmm0, 208(%rcx)
2139 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2140 ; SSE-NEXT:    movaps %xmm0, 192(%rcx)
2141 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2142 ; SSE-NEXT:    movaps %xmm0, 176(%rcx)
2143 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2144 ; SSE-NEXT:    movaps %xmm0, 160(%rcx)
2145 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2146 ; SSE-NEXT:    movaps %xmm0, 144(%rcx)
2147 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2148 ; SSE-NEXT:    movaps %xmm0, 128(%rcx)
2149 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2150 ; SSE-NEXT:    movaps %xmm0, 112(%rcx)
2151 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2152 ; SSE-NEXT:    movaps %xmm0, 96(%rcx)
2153 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2154 ; SSE-NEXT:    movaps %xmm0, 80(%rcx)
2155 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2156 ; SSE-NEXT:    movaps %xmm0, 64(%rcx)
2157 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2158 ; SSE-NEXT:    movaps %xmm0, 48(%rcx)
2159 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2160 ; SSE-NEXT:    movaps %xmm0, 32(%rcx)
2161 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2162 ; SSE-NEXT:    movaps %xmm0, 16(%rcx)
2163 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2164 ; SSE-NEXT:    movaps %xmm0, (%rcx)
2165 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2166 ; SSE-NEXT:    movaps %xmm0, 240(%r8)
2167 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2168 ; SSE-NEXT:    movaps %xmm0, 224(%r8)
2169 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2170 ; SSE-NEXT:    movaps %xmm0, 208(%r8)
2171 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2172 ; SSE-NEXT:    movaps %xmm0, 192(%r8)
2173 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2174 ; SSE-NEXT:    movaps %xmm0, 176(%r8)
2175 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2176 ; SSE-NEXT:    movaps %xmm0, 160(%r8)
2177 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2178 ; SSE-NEXT:    movaps %xmm0, 144(%r8)
2179 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2180 ; SSE-NEXT:    movaps %xmm0, 128(%r8)
2181 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2182 ; SSE-NEXT:    movaps %xmm0, 112(%r8)
2183 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2184 ; SSE-NEXT:    movaps %xmm0, 96(%r8)
2185 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2186 ; SSE-NEXT:    movaps %xmm0, 80(%r8)
2187 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2188 ; SSE-NEXT:    movaps %xmm0, 64(%r8)
2189 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2190 ; SSE-NEXT:    movaps %xmm0, 48(%r8)
2191 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2192 ; SSE-NEXT:    movaps %xmm0, 32(%r8)
2193 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2194 ; SSE-NEXT:    movaps %xmm0, 16(%r8)
2195 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2196 ; SSE-NEXT:    movaps %xmm0, (%r8)
2197 ; SSE-NEXT:    movaps %xmm2, 240(%r9)
2198 ; SSE-NEXT:    movaps %xmm4, 224(%r9)
2199 ; SSE-NEXT:    movaps %xmm6, 208(%r9)
2200 ; SSE-NEXT:    movaps %xmm8, 192(%r9)
2201 ; SSE-NEXT:    movaps %xmm11, 176(%r9)
2202 ; SSE-NEXT:    movaps %xmm12, 160(%r9)
2203 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2204 ; SSE-NEXT:    movaps %xmm0, 144(%r9)
2205 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2206 ; SSE-NEXT:    movaps %xmm0, 128(%r9)
2207 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2208 ; SSE-NEXT:    movaps %xmm0, 112(%r9)
2209 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2210 ; SSE-NEXT:    movaps %xmm0, 96(%r9)
2211 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2212 ; SSE-NEXT:    movaps %xmm0, 80(%r9)
2213 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2214 ; SSE-NEXT:    movaps %xmm0, 64(%r9)
2215 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2216 ; SSE-NEXT:    movaps %xmm0, 48(%r9)
2217 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2218 ; SSE-NEXT:    movaps %xmm0, 32(%r9)
2219 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2220 ; SSE-NEXT:    movaps %xmm0, 16(%r9)
2221 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2222 ; SSE-NEXT:    movaps %xmm0, (%r9)
2223 ; SSE-NEXT:    movq {{[0-9]+}}(%rsp), %rax
2224 ; SSE-NEXT:    movaps %xmm1, 240(%rax)
2225 ; SSE-NEXT:    movaps %xmm3, 224(%rax)
2226 ; SSE-NEXT:    movaps %xmm5, 208(%rax)
2227 ; SSE-NEXT:    movaps %xmm7, 192(%rax)
2228 ; SSE-NEXT:    movaps %xmm9, 176(%rax)
2229 ; SSE-NEXT:    movaps %xmm10, 160(%rax)
2230 ; SSE-NEXT:    movaps %xmm13, 144(%rax)
2231 ; SSE-NEXT:    movaps %xmm15, 128(%rax)
2232 ; SSE-NEXT:    movaps %xmm14, 112(%rax)
2233 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2234 ; SSE-NEXT:    movaps %xmm0, 96(%rax)
2235 ; SSE-NEXT:    movaps (%rsp), %xmm0 # 16-byte Reload
2236 ; SSE-NEXT:    movaps %xmm0, 80(%rax)
2237 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2238 ; SSE-NEXT:    movaps %xmm0, 64(%rax)
2239 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2240 ; SSE-NEXT:    movaps %xmm0, 48(%rax)
2241 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2242 ; SSE-NEXT:    movaps %xmm0, 32(%rax)
2243 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2244 ; SSE-NEXT:    movaps %xmm0, 16(%rax)
2245 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2246 ; SSE-NEXT:    movaps %xmm0, (%rax)
2247 ; SSE-NEXT:    addq $1176, %rsp # imm = 0x498
2248 ; SSE-NEXT:    retq
2250 ; AVX1-ONLY-LABEL: load_i64_stride6_vf32:
2251 ; AVX1-ONLY:       # %bb.0:
2252 ; AVX1-ONLY-NEXT:    subq $1624, %rsp # imm = 0x658
2253 ; AVX1-ONLY-NEXT:    vmovaps 1088(%rdi), %ymm2
2254 ; AVX1-ONLY-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
2255 ; AVX1-ONLY-NEXT:    vmovaps 704(%rdi), %ymm3
2256 ; AVX1-ONLY-NEXT:    vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
2257 ; AVX1-ONLY-NEXT:    vmovaps 320(%rdi), %ymm1
2258 ; AVX1-ONLY-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
2259 ; AVX1-ONLY-NEXT:    vinsertf128 $1, 288(%rdi), %ymm0, %ymm0
2260 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
2261 ; AVX1-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]
2262 ; AVX1-ONLY-NEXT:    vmovaps 240(%rdi), %xmm4
2263 ; AVX1-ONLY-NEXT:    vmovaps %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2264 ; AVX1-ONLY-NEXT:    vmovaps 192(%rdi), %xmm1
2265 ; AVX1-ONLY-NEXT:    vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2266 ; AVX1-ONLY-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm1[0],xmm4[0]
2267 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
2268 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
2269 ; AVX1-ONLY-NEXT:    vinsertf128 $1, 672(%rdi), %ymm0, %ymm0
2270 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
2271 ; AVX1-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm3[0],ymm0[2],ymm3[2]
2272 ; AVX1-ONLY-NEXT:    vmovaps 624(%rdi), %xmm3
2273 ; AVX1-ONLY-NEXT:    vmovaps %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2274 ; AVX1-ONLY-NEXT:    vmovaps 576(%rdi), %xmm1
2275 ; AVX1-ONLY-NEXT:    vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2276 ; AVX1-ONLY-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm1[0],xmm3[0]
2277 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
2278 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
2279 ; AVX1-ONLY-NEXT:    vinsertf128 $1, 1056(%rdi), %ymm0, %ymm0
2280 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
2281 ; AVX1-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm2[0],ymm0[2],ymm2[2]
2282 ; AVX1-ONLY-NEXT:    vmovaps 1008(%rdi), %xmm2
2283 ; AVX1-ONLY-NEXT:    vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2284 ; AVX1-ONLY-NEXT:    vmovaps 960(%rdi), %xmm1
2285 ; AVX1-ONLY-NEXT:    vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2286 ; AVX1-ONLY-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm1[0],xmm2[0]
2287 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
2288 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
2289 ; AVX1-ONLY-NEXT:    vmovaps 1472(%rdi), %ymm1
2290 ; AVX1-ONLY-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
2291 ; AVX1-ONLY-NEXT:    vinsertf128 $1, 1440(%rdi), %ymm0, %ymm0
2292 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
2293 ; AVX1-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]
2294 ; AVX1-ONLY-NEXT:    vmovaps 1392(%rdi), %xmm2
2295 ; AVX1-ONLY-NEXT:    vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2296 ; AVX1-ONLY-NEXT:    vmovaps 1344(%rdi), %xmm1
2297 ; AVX1-ONLY-NEXT:    vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2298 ; AVX1-ONLY-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm1[0],xmm2[0]
2299 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
2300 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
2301 ; AVX1-ONLY-NEXT:    vmovaps 128(%rdi), %ymm1
2302 ; AVX1-ONLY-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
2303 ; AVX1-ONLY-NEXT:    vinsertf128 $1, 96(%rdi), %ymm0, %ymm0
2304 ; AVX1-ONLY-NEXT:    vmovups %ymm0, (%rsp) # 32-byte Spill
2305 ; AVX1-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]
2306 ; AVX1-ONLY-NEXT:    vmovaps (%rdi), %xmm14
2307 ; AVX1-ONLY-NEXT:    vmovaps 48(%rdi), %xmm13
2308 ; AVX1-ONLY-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm14[0],xmm13[0]
2309 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
2310 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
2311 ; AVX1-ONLY-NEXT:    vmovaps 512(%rdi), %ymm12
2312 ; AVX1-ONLY-NEXT:    vinsertf128 $1, 480(%rdi), %ymm0, %ymm11
2313 ; AVX1-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm11[0],ymm12[0],ymm11[2],ymm12[2]
2314 ; AVX1-ONLY-NEXT:    vmovaps 432(%rdi), %xmm10
2315 ; AVX1-ONLY-NEXT:    vmovaps 384(%rdi), %xmm9
2316 ; AVX1-ONLY-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm9[0],xmm10[0]
2317 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
2318 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
2319 ; AVX1-ONLY-NEXT:    vmovaps 896(%rdi), %ymm8
2320 ; AVX1-ONLY-NEXT:    vinsertf128 $1, 864(%rdi), %ymm0, %ymm7
2321 ; AVX1-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm7[0],ymm8[0],ymm7[2],ymm8[2]
2322 ; AVX1-ONLY-NEXT:    vmovaps 816(%rdi), %xmm6
2323 ; AVX1-ONLY-NEXT:    vmovaps 768(%rdi), %xmm5
2324 ; AVX1-ONLY-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm5[0],xmm6[0]
2325 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
2326 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
2327 ; AVX1-ONLY-NEXT:    vmovaps 1280(%rdi), %ymm4
2328 ; AVX1-ONLY-NEXT:    vinsertf128 $1, 1248(%rdi), %ymm0, %ymm3
2329 ; AVX1-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm3[0],ymm4[0],ymm3[2],ymm4[2]
2330 ; AVX1-ONLY-NEXT:    vmovaps 1200(%rdi), %xmm2
2331 ; AVX1-ONLY-NEXT:    vmovaps 1152(%rdi), %xmm1
2332 ; AVX1-ONLY-NEXT:    vmovlhps {{.*#+}} xmm15 = xmm1[0],xmm2[0]
2333 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm15[0,1,2,3],ymm0[4,5,6,7]
2334 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
2335 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
2336 ; AVX1-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload
2337 ; AVX1-ONLY-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]
2338 ; AVX1-ONLY-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload
2339 ; AVX1-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm15, %xmm15 # 16-byte Folded Reload
2340 ; AVX1-ONLY-NEXT:    # xmm15 = xmm15[1],mem[1]
2341 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm15[0,1,2,3],ymm0[4,5,6,7]
2342 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
2343 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
2344 ; AVX1-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload
2345 ; AVX1-ONLY-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]
2346 ; AVX1-ONLY-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload
2347 ; AVX1-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm15, %xmm15 # 16-byte Folded Reload
2348 ; AVX1-ONLY-NEXT:    # xmm15 = xmm15[1],mem[1]
2349 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm15[0,1,2,3],ymm0[4,5,6,7]
2350 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
2351 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
2352 ; AVX1-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload
2353 ; AVX1-ONLY-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]
2354 ; AVX1-ONLY-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload
2355 ; AVX1-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm15, %xmm15 # 16-byte Folded Reload
2356 ; AVX1-ONLY-NEXT:    # xmm15 = xmm15[1],mem[1]
2357 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm15[0,1,2,3],ymm0[4,5,6,7]
2358 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
2359 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
2360 ; AVX1-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload
2361 ; AVX1-ONLY-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]
2362 ; AVX1-ONLY-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload
2363 ; AVX1-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm15, %xmm15 # 16-byte Folded Reload
2364 ; AVX1-ONLY-NEXT:    # xmm15 = xmm15[1],mem[1]
2365 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm15[0,1,2,3],ymm0[4,5,6,7]
2366 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
2367 ; AVX1-ONLY-NEXT:    vmovups (%rsp), %ymm0 # 32-byte Reload
2368 ; AVX1-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload
2369 ; AVX1-ONLY-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]
2370 ; AVX1-ONLY-NEXT:    vunpckhpd {{.*#+}} xmm13 = xmm14[1],xmm13[1]
2371 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm13[0,1,2,3],ymm0[4,5,6,7]
2372 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
2373 ; AVX1-ONLY-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm11[1],ymm12[1],ymm11[3],ymm12[3]
2374 ; AVX1-ONLY-NEXT:    vunpckhpd {{.*#+}} xmm9 = xmm9[1],xmm10[1]
2375 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm9[0,1,2,3],ymm0[4,5,6,7]
2376 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
2377 ; AVX1-ONLY-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm7[1],ymm8[1],ymm7[3],ymm8[3]
2378 ; AVX1-ONLY-NEXT:    vunpckhpd {{.*#+}} xmm5 = xmm5[1],xmm6[1]
2379 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm5[0,1,2,3],ymm0[4,5,6,7]
2380 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
2381 ; AVX1-ONLY-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm3[1],ymm4[1],ymm3[3],ymm4[3]
2382 ; AVX1-ONLY-NEXT:    vunpckhpd {{.*#+}} xmm1 = xmm1[1],xmm2[1]
2383 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
2384 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
2385 ; AVX1-ONLY-NEXT:    vmovaps 288(%rdi), %ymm1
2386 ; AVX1-ONLY-NEXT:    vmovups %ymm1, (%rsp) # 32-byte Spill
2387 ; AVX1-ONLY-NEXT:    vinsertf128 $1, 352(%rdi), %ymm0, %ymm0
2388 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
2389 ; AVX1-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]
2390 ; AVX1-ONLY-NEXT:    vmovaps 256(%rdi), %xmm2
2391 ; AVX1-ONLY-NEXT:    vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2392 ; AVX1-ONLY-NEXT:    vmovaps 208(%rdi), %xmm1
2393 ; AVX1-ONLY-NEXT:    vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2394 ; AVX1-ONLY-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm1[0],xmm2[0]
2395 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
2396 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
2397 ; AVX1-ONLY-NEXT:    vmovaps 672(%rdi), %ymm1
2398 ; AVX1-ONLY-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
2399 ; AVX1-ONLY-NEXT:    vinsertf128 $1, 736(%rdi), %ymm0, %ymm0
2400 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
2401 ; AVX1-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]
2402 ; AVX1-ONLY-NEXT:    vmovaps 640(%rdi), %xmm2
2403 ; AVX1-ONLY-NEXT:    vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2404 ; AVX1-ONLY-NEXT:    vmovaps 592(%rdi), %xmm1
2405 ; AVX1-ONLY-NEXT:    vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2406 ; AVX1-ONLY-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm1[0],xmm2[0]
2407 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
2408 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
2409 ; AVX1-ONLY-NEXT:    vmovaps 1056(%rdi), %ymm1
2410 ; AVX1-ONLY-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
2411 ; AVX1-ONLY-NEXT:    vinsertf128 $1, 1120(%rdi), %ymm0, %ymm0
2412 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
2413 ; AVX1-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]
2414 ; AVX1-ONLY-NEXT:    vmovaps 1024(%rdi), %xmm2
2415 ; AVX1-ONLY-NEXT:    vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2416 ; AVX1-ONLY-NEXT:    vmovaps 976(%rdi), %xmm1
2417 ; AVX1-ONLY-NEXT:    vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2418 ; AVX1-ONLY-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm1[0],xmm2[0]
2419 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
2420 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
2421 ; AVX1-ONLY-NEXT:    vmovaps 1440(%rdi), %ymm1
2422 ; AVX1-ONLY-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
2423 ; AVX1-ONLY-NEXT:    vinsertf128 $1, 1504(%rdi), %ymm0, %ymm0
2424 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
2425 ; AVX1-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]
2426 ; AVX1-ONLY-NEXT:    vmovaps 1408(%rdi), %xmm14
2427 ; AVX1-ONLY-NEXT:    vmovaps 1360(%rdi), %xmm12
2428 ; AVX1-ONLY-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm12[0],xmm14[0]
2429 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
2430 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
2431 ; AVX1-ONLY-NEXT:    vmovaps 96(%rdi), %ymm1
2432 ; AVX1-ONLY-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
2433 ; AVX1-ONLY-NEXT:    vmovaps 16(%rdi), %xmm2
2434 ; AVX1-ONLY-NEXT:    vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2435 ; AVX1-ONLY-NEXT:    vinsertf128 $1, 160(%rdi), %ymm0, %ymm0
2436 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
2437 ; AVX1-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]
2438 ; AVX1-ONLY-NEXT:    vmovaps 64(%rdi), %xmm1
2439 ; AVX1-ONLY-NEXT:    vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2440 ; AVX1-ONLY-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm2[0],xmm1[0]
2441 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
2442 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
2443 ; AVX1-ONLY-NEXT:    vmovaps 480(%rdi), %ymm11
2444 ; AVX1-ONLY-NEXT:    vinsertf128 $1, 544(%rdi), %ymm0, %ymm10
2445 ; AVX1-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm11[0],ymm10[0],ymm11[2],ymm10[2]
2446 ; AVX1-ONLY-NEXT:    vmovaps 448(%rdi), %xmm9
2447 ; AVX1-ONLY-NEXT:    vmovaps 400(%rdi), %xmm8
2448 ; AVX1-ONLY-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm8[0],xmm9[0]
2449 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
2450 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
2451 ; AVX1-ONLY-NEXT:    vmovaps 864(%rdi), %ymm7
2452 ; AVX1-ONLY-NEXT:    vinsertf128 $1, 928(%rdi), %ymm0, %ymm6
2453 ; AVX1-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm7[0],ymm6[0],ymm7[2],ymm6[2]
2454 ; AVX1-ONLY-NEXT:    vmovaps 832(%rdi), %xmm5
2455 ; AVX1-ONLY-NEXT:    vmovaps 784(%rdi), %xmm4
2456 ; AVX1-ONLY-NEXT:    vmovlhps {{.*#+}} xmm13 = xmm4[0],xmm5[0]
2457 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm13[0,1,2,3],ymm0[4,5,6,7]
2458 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
2459 ; AVX1-ONLY-NEXT:    vmovaps 1248(%rdi), %ymm3
2460 ; AVX1-ONLY-NEXT:    vinsertf128 $1, 1312(%rdi), %ymm0, %ymm13
2461 ; AVX1-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm3[0],ymm13[0],ymm3[2],ymm13[2]
2462 ; AVX1-ONLY-NEXT:    vmovaps 1216(%rdi), %xmm2
2463 ; AVX1-ONLY-NEXT:    vmovaps 1168(%rdi), %xmm1
2464 ; AVX1-ONLY-NEXT:    vmovlhps {{.*#+}} xmm15 = xmm1[0],xmm2[0]
2465 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm15[0,1,2,3],ymm0[4,5,6,7]
2466 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
2467 ; AVX1-ONLY-NEXT:    vmovups (%rsp), %ymm0 # 32-byte Reload
2468 ; AVX1-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload
2469 ; AVX1-ONLY-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]
2470 ; AVX1-ONLY-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload
2471 ; AVX1-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm15, %xmm15 # 16-byte Folded Reload
2472 ; AVX1-ONLY-NEXT:    # xmm15 = xmm15[1],mem[1]
2473 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm15[0,1,2,3],ymm0[4,5,6,7]
2474 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
2475 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
2476 ; AVX1-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload
2477 ; AVX1-ONLY-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]
2478 ; AVX1-ONLY-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload
2479 ; AVX1-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm15, %xmm15 # 16-byte Folded Reload
2480 ; AVX1-ONLY-NEXT:    # xmm15 = xmm15[1],mem[1]
2481 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm15[0,1,2,3],ymm0[4,5,6,7]
2482 ; AVX1-ONLY-NEXT:    vmovups %ymm0, (%rsp) # 32-byte Spill
2483 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
2484 ; AVX1-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload
2485 ; AVX1-ONLY-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]
2486 ; AVX1-ONLY-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload
2487 ; AVX1-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm15, %xmm15 # 16-byte Folded Reload
2488 ; AVX1-ONLY-NEXT:    # xmm15 = xmm15[1],mem[1]
2489 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm15[0,1,2,3],ymm0[4,5,6,7]
2490 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
2491 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
2492 ; AVX1-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload
2493 ; AVX1-ONLY-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]
2494 ; AVX1-ONLY-NEXT:    vunpckhpd {{.*#+}} xmm12 = xmm12[1],xmm14[1]
2495 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm12[0,1,2,3],ymm0[4,5,6,7]
2496 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
2497 ; AVX1-ONLY-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm3[1],ymm13[1],ymm3[3],ymm13[3]
2498 ; AVX1-ONLY-NEXT:    vunpckhpd {{.*#+}} xmm1 = xmm1[1],xmm2[1]
2499 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
2500 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
2501 ; AVX1-ONLY-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm7[1],ymm6[1],ymm7[3],ymm6[3]
2502 ; AVX1-ONLY-NEXT:    vunpckhpd {{.*#+}} xmm1 = xmm4[1],xmm5[1]
2503 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
2504 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
2505 ; AVX1-ONLY-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm11[1],ymm10[1],ymm11[3],ymm10[3]
2506 ; AVX1-ONLY-NEXT:    vunpckhpd {{.*#+}} xmm1 = xmm8[1],xmm9[1]
2507 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
2508 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
2509 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
2510 ; AVX1-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload
2511 ; AVX1-ONLY-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]
2512 ; AVX1-ONLY-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload
2513 ; AVX1-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm1 # 16-byte Folded Reload
2514 ; AVX1-ONLY-NEXT:    # xmm1 = xmm1[1],mem[1]
2515 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
2516 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
2517 ; AVX1-ONLY-NEXT:    vmovaps 160(%rdi), %ymm1
2518 ; AVX1-ONLY-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
2519 ; AVX1-ONLY-NEXT:    vmovaps 32(%rdi), %xmm2
2520 ; AVX1-ONLY-NEXT:    vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2521 ; AVX1-ONLY-NEXT:    vinsertf128 $1, 128(%rdi), %ymm0, %ymm0
2522 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
2523 ; AVX1-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]
2524 ; AVX1-ONLY-NEXT:    vmovaps 80(%rdi), %xmm1
2525 ; AVX1-ONLY-NEXT:    vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2526 ; AVX1-ONLY-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm2[0],xmm1[0]
2527 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
2528 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
2529 ; AVX1-ONLY-NEXT:    vmovaps 352(%rdi), %ymm1
2530 ; AVX1-ONLY-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
2531 ; AVX1-ONLY-NEXT:    vinsertf128 $1, 320(%rdi), %ymm0, %ymm0
2532 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
2533 ; AVX1-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]
2534 ; AVX1-ONLY-NEXT:    vmovaps 272(%rdi), %xmm2
2535 ; AVX1-ONLY-NEXT:    vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2536 ; AVX1-ONLY-NEXT:    vmovaps 224(%rdi), %xmm1
2537 ; AVX1-ONLY-NEXT:    vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2538 ; AVX1-ONLY-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm1[0],xmm2[0]
2539 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
2540 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
2541 ; AVX1-ONLY-NEXT:    vmovaps 544(%rdi), %ymm1
2542 ; AVX1-ONLY-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
2543 ; AVX1-ONLY-NEXT:    vinsertf128 $1, 512(%rdi), %ymm0, %ymm0
2544 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
2545 ; AVX1-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]
2546 ; AVX1-ONLY-NEXT:    vmovaps 464(%rdi), %xmm2
2547 ; AVX1-ONLY-NEXT:    vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2548 ; AVX1-ONLY-NEXT:    vmovaps 416(%rdi), %xmm1
2549 ; AVX1-ONLY-NEXT:    vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2550 ; AVX1-ONLY-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm1[0],xmm2[0]
2551 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
2552 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
2553 ; AVX1-ONLY-NEXT:    vmovaps 736(%rdi), %ymm1
2554 ; AVX1-ONLY-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
2555 ; AVX1-ONLY-NEXT:    vinsertf128 $1, 704(%rdi), %ymm0, %ymm0
2556 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
2557 ; AVX1-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]
2558 ; AVX1-ONLY-NEXT:    vmovaps 656(%rdi), %xmm2
2559 ; AVX1-ONLY-NEXT:    vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2560 ; AVX1-ONLY-NEXT:    vmovaps 608(%rdi), %xmm1
2561 ; AVX1-ONLY-NEXT:    vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2562 ; AVX1-ONLY-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm1[0],xmm2[0]
2563 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
2564 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
2565 ; AVX1-ONLY-NEXT:    vmovaps 928(%rdi), %ymm1
2566 ; AVX1-ONLY-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
2567 ; AVX1-ONLY-NEXT:    vinsertf128 $1, 896(%rdi), %ymm0, %ymm0
2568 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
2569 ; AVX1-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]
2570 ; AVX1-ONLY-NEXT:    vmovaps 848(%rdi), %xmm14
2571 ; AVX1-ONLY-NEXT:    vmovaps 800(%rdi), %xmm13
2572 ; AVX1-ONLY-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm13[0],xmm14[0]
2573 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
2574 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
2575 ; AVX1-ONLY-NEXT:    vmovaps 1120(%rdi), %ymm12
2576 ; AVX1-ONLY-NEXT:    vinsertf128 $1, 1088(%rdi), %ymm0, %ymm11
2577 ; AVX1-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm11[0],ymm12[0],ymm11[2],ymm12[2]
2578 ; AVX1-ONLY-NEXT:    vmovaps 1040(%rdi), %xmm10
2579 ; AVX1-ONLY-NEXT:    vmovaps 992(%rdi), %xmm9
2580 ; AVX1-ONLY-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm9[0],xmm10[0]
2581 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
2582 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
2583 ; AVX1-ONLY-NEXT:    vmovaps 1312(%rdi), %ymm8
2584 ; AVX1-ONLY-NEXT:    vinsertf128 $1, 1280(%rdi), %ymm0, %ymm7
2585 ; AVX1-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm7[0],ymm8[0],ymm7[2],ymm8[2]
2586 ; AVX1-ONLY-NEXT:    vmovaps 1232(%rdi), %xmm6
2587 ; AVX1-ONLY-NEXT:    vmovaps 1184(%rdi), %xmm5
2588 ; AVX1-ONLY-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm5[0],xmm6[0]
2589 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
2590 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
2591 ; AVX1-ONLY-NEXT:    vmovaps 1504(%rdi), %ymm4
2592 ; AVX1-ONLY-NEXT:    vinsertf128 $1, 1472(%rdi), %ymm0, %ymm3
2593 ; AVX1-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm3[0],ymm4[0],ymm3[2],ymm4[2]
2594 ; AVX1-ONLY-NEXT:    vmovaps 1424(%rdi), %xmm2
2595 ; AVX1-ONLY-NEXT:    vmovaps 1376(%rdi), %xmm1
2596 ; AVX1-ONLY-NEXT:    vmovlhps {{.*#+}} xmm15 = xmm1[0],xmm2[0]
2597 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm15[0,1,2,3],ymm0[4,5,6,7]
2598 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
2599 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
2600 ; AVX1-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload
2601 ; AVX1-ONLY-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]
2602 ; AVX1-ONLY-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload
2603 ; AVX1-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm15, %xmm15 # 16-byte Folded Reload
2604 ; AVX1-ONLY-NEXT:    # xmm15 = xmm15[1],mem[1]
2605 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm15[0,1,2,3],ymm0[4,5,6,7]
2606 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
2607 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
2608 ; AVX1-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload
2609 ; AVX1-ONLY-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]
2610 ; AVX1-ONLY-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload
2611 ; AVX1-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm15, %xmm15 # 16-byte Folded Reload
2612 ; AVX1-ONLY-NEXT:    # xmm15 = xmm15[1],mem[1]
2613 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm15[0,1,2,3],ymm0[4,5,6,7]
2614 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
2615 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
2616 ; AVX1-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload
2617 ; AVX1-ONLY-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]
2618 ; AVX1-ONLY-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload
2619 ; AVX1-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm15, %xmm15 # 16-byte Folded Reload
2620 ; AVX1-ONLY-NEXT:    # xmm15 = xmm15[1],mem[1]
2621 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm15[0,1,2,3],ymm0[4,5,6,7]
2622 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
2623 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
2624 ; AVX1-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload
2625 ; AVX1-ONLY-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]
2626 ; AVX1-ONLY-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload
2627 ; AVX1-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm15, %xmm15 # 16-byte Folded Reload
2628 ; AVX1-ONLY-NEXT:    # xmm15 = xmm15[1],mem[1]
2629 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm15 = ymm15[0,1,2,3],ymm0[4,5,6,7]
2630 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
2631 ; AVX1-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload
2632 ; AVX1-ONLY-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]
2633 ; AVX1-ONLY-NEXT:    vunpckhpd {{.*#+}} xmm13 = xmm13[1],xmm14[1]
2634 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm13 = ymm13[0,1,2,3],ymm0[4,5,6,7]
2635 ; AVX1-ONLY-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm11[1],ymm12[1],ymm11[3],ymm12[3]
2636 ; AVX1-ONLY-NEXT:    vunpckhpd {{.*#+}} xmm9 = xmm9[1],xmm10[1]
2637 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm9 = ymm9[0,1,2,3],ymm0[4,5,6,7]
2638 ; AVX1-ONLY-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm7[1],ymm8[1],ymm7[3],ymm8[3]
2639 ; AVX1-ONLY-NEXT:    vunpckhpd {{.*#+}} xmm5 = xmm5[1],xmm6[1]
2640 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm5[0,1,2,3],ymm0[4,5,6,7]
2641 ; AVX1-ONLY-NEXT:    vunpckhpd {{.*#+}} ymm3 = ymm3[1],ymm4[1],ymm3[3],ymm4[3]
2642 ; AVX1-ONLY-NEXT:    vunpckhpd {{.*#+}} xmm1 = xmm1[1],xmm2[1]
2643 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm3[4,5,6,7]
2644 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload
2645 ; AVX1-ONLY-NEXT:    vmovaps %ymm2, 192(%rsi)
2646 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload
2647 ; AVX1-ONLY-NEXT:    vmovaps %ymm2, 128(%rsi)
2648 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload
2649 ; AVX1-ONLY-NEXT:    vmovaps %ymm2, 64(%rsi)
2650 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload
2651 ; AVX1-ONLY-NEXT:    vmovaps %ymm2, (%rsi)
2652 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload
2653 ; AVX1-ONLY-NEXT:    vmovaps %ymm2, 224(%rsi)
2654 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload
2655 ; AVX1-ONLY-NEXT:    vmovaps %ymm2, 160(%rsi)
2656 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload
2657 ; AVX1-ONLY-NEXT:    vmovaps %ymm2, 96(%rsi)
2658 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload
2659 ; AVX1-ONLY-NEXT:    vmovaps %ymm2, 32(%rsi)
2660 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload
2661 ; AVX1-ONLY-NEXT:    vmovaps %ymm2, 192(%rdx)
2662 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload
2663 ; AVX1-ONLY-NEXT:    vmovaps %ymm2, 128(%rdx)
2664 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload
2665 ; AVX1-ONLY-NEXT:    vmovaps %ymm2, 64(%rdx)
2666 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload
2667 ; AVX1-ONLY-NEXT:    vmovaps %ymm2, (%rdx)
2668 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload
2669 ; AVX1-ONLY-NEXT:    vmovaps %ymm2, 224(%rdx)
2670 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload
2671 ; AVX1-ONLY-NEXT:    vmovaps %ymm2, 160(%rdx)
2672 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload
2673 ; AVX1-ONLY-NEXT:    vmovaps %ymm2, 96(%rdx)
2674 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload
2675 ; AVX1-ONLY-NEXT:    vmovaps %ymm2, 32(%rdx)
2676 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload
2677 ; AVX1-ONLY-NEXT:    vmovaps %ymm2, 192(%rcx)
2678 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload
2679 ; AVX1-ONLY-NEXT:    vmovaps %ymm2, 128(%rcx)
2680 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload
2681 ; AVX1-ONLY-NEXT:    vmovaps %ymm2, 64(%rcx)
2682 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload
2683 ; AVX1-ONLY-NEXT:    vmovaps %ymm2, (%rcx)
2684 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload
2685 ; AVX1-ONLY-NEXT:    vmovaps %ymm2, 224(%rcx)
2686 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload
2687 ; AVX1-ONLY-NEXT:    vmovaps %ymm2, 160(%rcx)
2688 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload
2689 ; AVX1-ONLY-NEXT:    vmovaps %ymm2, 96(%rcx)
2690 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload
2691 ; AVX1-ONLY-NEXT:    vmovaps %ymm2, 32(%rcx)
2692 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload
2693 ; AVX1-ONLY-NEXT:    vmovaps %ymm2, (%r8)
2694 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload
2695 ; AVX1-ONLY-NEXT:    vmovaps %ymm2, 64(%r8)
2696 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload
2697 ; AVX1-ONLY-NEXT:    vmovaps %ymm2, 128(%r8)
2698 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload
2699 ; AVX1-ONLY-NEXT:    vmovaps %ymm2, 192(%r8)
2700 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload
2701 ; AVX1-ONLY-NEXT:    vmovaps %ymm2, 224(%r8)
2702 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload
2703 ; AVX1-ONLY-NEXT:    vmovaps %ymm2, 160(%r8)
2704 ; AVX1-ONLY-NEXT:    vmovups (%rsp), %ymm2 # 32-byte Reload
2705 ; AVX1-ONLY-NEXT:    vmovaps %ymm2, 96(%r8)
2706 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload
2707 ; AVX1-ONLY-NEXT:    vmovaps %ymm2, 32(%r8)
2708 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload
2709 ; AVX1-ONLY-NEXT:    vmovaps %ymm2, 224(%r9)
2710 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload
2711 ; AVX1-ONLY-NEXT:    vmovaps %ymm2, 192(%r9)
2712 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload
2713 ; AVX1-ONLY-NEXT:    vmovaps %ymm2, 160(%r9)
2714 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload
2715 ; AVX1-ONLY-NEXT:    vmovaps %ymm2, 128(%r9)
2716 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload
2717 ; AVX1-ONLY-NEXT:    vmovaps %ymm2, 96(%r9)
2718 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload
2719 ; AVX1-ONLY-NEXT:    vmovaps %ymm2, 64(%r9)
2720 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload
2721 ; AVX1-ONLY-NEXT:    vmovaps %ymm2, 32(%r9)
2722 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload
2723 ; AVX1-ONLY-NEXT:    vmovaps %ymm2, (%r9)
2724 ; AVX1-ONLY-NEXT:    movq {{[0-9]+}}(%rsp), %rax
2725 ; AVX1-ONLY-NEXT:    vmovaps %ymm1, 224(%rax)
2726 ; AVX1-ONLY-NEXT:    vmovaps %ymm0, 192(%rax)
2727 ; AVX1-ONLY-NEXT:    vmovaps %ymm9, 160(%rax)
2728 ; AVX1-ONLY-NEXT:    vmovaps %ymm13, 128(%rax)
2729 ; AVX1-ONLY-NEXT:    vmovaps %ymm15, 96(%rax)
2730 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
2731 ; AVX1-ONLY-NEXT:    vmovaps %ymm0, 64(%rax)
2732 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
2733 ; AVX1-ONLY-NEXT:    vmovaps %ymm0, 32(%rax)
2734 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
2735 ; AVX1-ONLY-NEXT:    vmovaps %ymm0, (%rax)
2736 ; AVX1-ONLY-NEXT:    addq $1624, %rsp # imm = 0x658
2737 ; AVX1-ONLY-NEXT:    vzeroupper
2738 ; AVX1-ONLY-NEXT:    retq
2740 ; AVX2-ONLY-LABEL: load_i64_stride6_vf32:
2741 ; AVX2-ONLY:       # %bb.0:
2742 ; AVX2-ONLY-NEXT:    subq $1496, %rsp # imm = 0x5D8
2743 ; AVX2-ONLY-NEXT:    vmovaps 1088(%rdi), %ymm2
2744 ; AVX2-ONLY-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
2745 ; AVX2-ONLY-NEXT:    vmovaps 1056(%rdi), %ymm4
2746 ; AVX2-ONLY-NEXT:    vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
2747 ; AVX2-ONLY-NEXT:    vmovaps 704(%rdi), %ymm3
2748 ; AVX2-ONLY-NEXT:    vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
2749 ; AVX2-ONLY-NEXT:    vmovaps 672(%rdi), %ymm5
2750 ; AVX2-ONLY-NEXT:    vmovups %ymm5, (%rsp) # 32-byte Spill
2751 ; AVX2-ONLY-NEXT:    vmovaps 320(%rdi), %ymm1
2752 ; AVX2-ONLY-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
2753 ; AVX2-ONLY-NEXT:    vmovaps 288(%rdi), %ymm7
2754 ; AVX2-ONLY-NEXT:    vmovups %ymm7, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
2755 ; AVX2-ONLY-NEXT:    vmovaps 240(%rdi), %xmm0
2756 ; AVX2-ONLY-NEXT:    vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2757 ; AVX2-ONLY-NEXT:    vmovaps 192(%rdi), %xmm6
2758 ; AVX2-ONLY-NEXT:    vmovlhps {{.*#+}} xmm0 = xmm6[0],xmm0[0]
2759 ; AVX2-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm1 = ymm7[0],ymm1[0],ymm7[2],ymm1[2]
2760 ; AVX2-ONLY-NEXT:    vpermpd {{.*#+}} ymm1 = ymm1[0,1,0,3]
2761 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]
2762 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
2763 ; AVX2-ONLY-NEXT:    vmovaps 624(%rdi), %xmm1
2764 ; AVX2-ONLY-NEXT:    vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2765 ; AVX2-ONLY-NEXT:    vmovaps 576(%rdi), %xmm0
2766 ; AVX2-ONLY-NEXT:    vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2767 ; AVX2-ONLY-NEXT:    vmovlhps {{.*#+}} xmm0 = xmm0[0],xmm1[0]
2768 ; AVX2-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm1 = ymm5[0],ymm3[0],ymm5[2],ymm3[2]
2769 ; AVX2-ONLY-NEXT:    vpermpd {{.*#+}} ymm1 = ymm1[0,1,0,3]
2770 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]
2771 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
2772 ; AVX2-ONLY-NEXT:    vmovaps 1008(%rdi), %xmm1
2773 ; AVX2-ONLY-NEXT:    vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2774 ; AVX2-ONLY-NEXT:    vmovaps 960(%rdi), %xmm0
2775 ; AVX2-ONLY-NEXT:    vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2776 ; AVX2-ONLY-NEXT:    vmovlhps {{.*#+}} xmm0 = xmm0[0],xmm1[0]
2777 ; AVX2-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm1 = ymm4[0],ymm2[0],ymm4[2],ymm2[2]
2778 ; AVX2-ONLY-NEXT:    vpermpd {{.*#+}} ymm1 = ymm1[0,1,0,3]
2779 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]
2780 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
2781 ; AVX2-ONLY-NEXT:    vmovaps 1472(%rdi), %ymm0
2782 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
2783 ; AVX2-ONLY-NEXT:    vmovaps 1440(%rdi), %ymm1
2784 ; AVX2-ONLY-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
2785 ; AVX2-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]
2786 ; AVX2-ONLY-NEXT:    vpermpd {{.*#+}} ymm0 = ymm0[0,1,0,3]
2787 ; AVX2-ONLY-NEXT:    vmovaps 1392(%rdi), %xmm1
2788 ; AVX2-ONLY-NEXT:    vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2789 ; AVX2-ONLY-NEXT:    vmovaps 1344(%rdi), %xmm4
2790 ; AVX2-ONLY-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm4[0],xmm1[0]
2791 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
2792 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
2793 ; AVX2-ONLY-NEXT:    vmovaps 128(%rdi), %ymm15
2794 ; AVX2-ONLY-NEXT:    vmovaps 96(%rdi), %ymm0
2795 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
2796 ; AVX2-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm15[0],ymm0[2],ymm15[2]
2797 ; AVX2-ONLY-NEXT:    vmovups %ymm15, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
2798 ; AVX2-ONLY-NEXT:    vpermpd {{.*#+}} ymm0 = ymm0[0,1,0,3]
2799 ; AVX2-ONLY-NEXT:    vmovaps (%rdi), %xmm8
2800 ; AVX2-ONLY-NEXT:    vmovaps 48(%rdi), %xmm2
2801 ; AVX2-ONLY-NEXT:    vmovlhps {{.*#+}} xmm10 = xmm8[0],xmm2[0]
2802 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm10[0,1,2,3],ymm0[4,5,6,7]
2803 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
2804 ; AVX2-ONLY-NEXT:    vmovaps 512(%rdi), %ymm7
2805 ; AVX2-ONLY-NEXT:    vmovaps 480(%rdi), %ymm0
2806 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
2807 ; AVX2-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm7[0],ymm0[2],ymm7[2]
2808 ; AVX2-ONLY-NEXT:    vmovups %ymm7, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
2809 ; AVX2-ONLY-NEXT:    vpermpd {{.*#+}} ymm0 = ymm0[0,1,0,3]
2810 ; AVX2-ONLY-NEXT:    vmovaps 432(%rdi), %xmm11
2811 ; AVX2-ONLY-NEXT:    vmovaps 384(%rdi), %xmm12
2812 ; AVX2-ONLY-NEXT:    vmovlhps {{.*#+}} xmm10 = xmm12[0],xmm11[0]
2813 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm10[0,1,2,3],ymm0[4,5,6,7]
2814 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
2815 ; AVX2-ONLY-NEXT:    vmovaps 896(%rdi), %ymm5
2816 ; AVX2-ONLY-NEXT:    vmovaps 864(%rdi), %ymm0
2817 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
2818 ; AVX2-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm5[0],ymm0[2],ymm5[2]
2819 ; AVX2-ONLY-NEXT:    vmovups %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
2820 ; AVX2-ONLY-NEXT:    vpermpd {{.*#+}} ymm0 = ymm0[0,1,0,3]
2821 ; AVX2-ONLY-NEXT:    vmovaps 816(%rdi), %xmm13
2822 ; AVX2-ONLY-NEXT:    vmovaps 768(%rdi), %xmm10
2823 ; AVX2-ONLY-NEXT:    vmovlhps {{.*#+}} xmm14 = xmm10[0],xmm13[0]
2824 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm14[0,1,2,3],ymm0[4,5,6,7]
2825 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
2826 ; AVX2-ONLY-NEXT:    vmovaps 1280(%rdi), %ymm3
2827 ; AVX2-ONLY-NEXT:    vmovaps 1248(%rdi), %ymm0
2828 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
2829 ; AVX2-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm3[0],ymm0[2],ymm3[2]
2830 ; AVX2-ONLY-NEXT:    vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
2831 ; AVX2-ONLY-NEXT:    vpermpd {{.*#+}} ymm0 = ymm0[0,1,0,3]
2832 ; AVX2-ONLY-NEXT:    vmovaps 1200(%rdi), %xmm14
2833 ; AVX2-ONLY-NEXT:    vmovaps 1152(%rdi), %xmm1
2834 ; AVX2-ONLY-NEXT:    vmovlhps {{.*#+}} xmm9 = xmm1[0],xmm14[0]
2835 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm9[0,1,2,3],ymm0[4,5,6,7]
2836 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
2837 ; AVX2-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm6, %xmm0 # 16-byte Folded Reload
2838 ; AVX2-ONLY-NEXT:    # xmm0 = xmm6[1],mem[1]
2839 ; AVX2-ONLY-NEXT:    vbroadcastsd 296(%rdi), %ymm6
2840 ; AVX2-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm6, %ymm6 # 32-byte Folded Reload
2841 ; AVX2-ONLY-NEXT:    # ymm6 = ymm6[1],mem[1],ymm6[3],mem[3]
2842 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm6[4,5,6,7]
2843 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
2844 ; AVX2-ONLY-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2845 ; AVX2-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm0 # 16-byte Folded Reload
2846 ; AVX2-ONLY-NEXT:    # xmm0 = xmm0[1],mem[1]
2847 ; AVX2-ONLY-NEXT:    vbroadcastsd 680(%rdi), %ymm6
2848 ; AVX2-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm6, %ymm6 # 32-byte Folded Reload
2849 ; AVX2-ONLY-NEXT:    # ymm6 = ymm6[1],mem[1],ymm6[3],mem[3]
2850 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm6[4,5,6,7]
2851 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
2852 ; AVX2-ONLY-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2853 ; AVX2-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm0 # 16-byte Folded Reload
2854 ; AVX2-ONLY-NEXT:    # xmm0 = xmm0[1],mem[1]
2855 ; AVX2-ONLY-NEXT:    vbroadcastsd 1064(%rdi), %ymm6
2856 ; AVX2-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm6, %ymm6 # 32-byte Folded Reload
2857 ; AVX2-ONLY-NEXT:    # ymm6 = ymm6[1],mem[1],ymm6[3],mem[3]
2858 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm6[4,5,6,7]
2859 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
2860 ; AVX2-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm4, %xmm0 # 16-byte Folded Reload
2861 ; AVX2-ONLY-NEXT:    # xmm0 = xmm4[1],mem[1]
2862 ; AVX2-ONLY-NEXT:    vbroadcastsd 1448(%rdi), %ymm4
2863 ; AVX2-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm4, %ymm4 # 32-byte Folded Reload
2864 ; AVX2-ONLY-NEXT:    # ymm4 = ymm4[1],mem[1],ymm4[3],mem[3]
2865 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm4[4,5,6,7]
2866 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
2867 ; AVX2-ONLY-NEXT:    vunpckhpd {{.*#+}} xmm0 = xmm8[1],xmm2[1]
2868 ; AVX2-ONLY-NEXT:    vbroadcastsd 104(%rdi), %ymm2
2869 ; AVX2-ONLY-NEXT:    vunpckhpd {{.*#+}} ymm2 = ymm2[1],ymm15[1],ymm2[3],ymm15[3]
2870 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5,6,7]
2871 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
2872 ; AVX2-ONLY-NEXT:    vunpckhpd {{.*#+}} xmm0 = xmm12[1],xmm11[1]
2873 ; AVX2-ONLY-NEXT:    vbroadcastsd 488(%rdi), %ymm2
2874 ; AVX2-ONLY-NEXT:    vunpckhpd {{.*#+}} ymm2 = ymm2[1],ymm7[1],ymm2[3],ymm7[3]
2875 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5,6,7]
2876 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
2877 ; AVX2-ONLY-NEXT:    vunpckhpd {{.*#+}} xmm0 = xmm10[1],xmm13[1]
2878 ; AVX2-ONLY-NEXT:    vbroadcastsd 872(%rdi), %ymm2
2879 ; AVX2-ONLY-NEXT:    vunpckhpd {{.*#+}} ymm2 = ymm2[1],ymm5[1],ymm2[3],ymm5[3]
2880 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5,6,7]
2881 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
2882 ; AVX2-ONLY-NEXT:    vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm14[1]
2883 ; AVX2-ONLY-NEXT:    vbroadcastsd 1256(%rdi), %ymm1
2884 ; AVX2-ONLY-NEXT:    vunpckhpd {{.*#+}} ymm1 = ymm1[1],ymm3[1],ymm1[3],ymm3[3]
2885 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]
2886 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
2887 ; AVX2-ONLY-NEXT:    vbroadcastsd 352(%rdi), %ymm0
2888 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
2889 ; AVX2-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]
2890 ; AVX2-ONLY-NEXT:    vmovaps 256(%rdi), %xmm3
2891 ; AVX2-ONLY-NEXT:    vmovaps 208(%rdi), %xmm5
2892 ; AVX2-ONLY-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm5[0],xmm3[0]
2893 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
2894 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
2895 ; AVX2-ONLY-NEXT:    vbroadcastsd 736(%rdi), %ymm0
2896 ; AVX2-ONLY-NEXT:    vmovups (%rsp), %ymm1 # 32-byte Reload
2897 ; AVX2-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]
2898 ; AVX2-ONLY-NEXT:    vmovaps 640(%rdi), %xmm6
2899 ; AVX2-ONLY-NEXT:    vmovaps 592(%rdi), %xmm7
2900 ; AVX2-ONLY-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm7[0],xmm6[0]
2901 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
2902 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
2903 ; AVX2-ONLY-NEXT:    vbroadcastsd 1120(%rdi), %ymm0
2904 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
2905 ; AVX2-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]
2906 ; AVX2-ONLY-NEXT:    vmovaps 1024(%rdi), %xmm8
2907 ; AVX2-ONLY-NEXT:    vmovaps 976(%rdi), %xmm9
2908 ; AVX2-ONLY-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm9[0],xmm8[0]
2909 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
2910 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
2911 ; AVX2-ONLY-NEXT:    vbroadcastsd 1504(%rdi), %ymm0
2912 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
2913 ; AVX2-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]
2914 ; AVX2-ONLY-NEXT:    vmovaps 1408(%rdi), %xmm10
2915 ; AVX2-ONLY-NEXT:    vmovaps 1360(%rdi), %xmm11
2916 ; AVX2-ONLY-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm11[0],xmm10[0]
2917 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
2918 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
2919 ; AVX2-ONLY-NEXT:    vbroadcastsd 160(%rdi), %ymm0
2920 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
2921 ; AVX2-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm1 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]
2922 ; AVX2-ONLY-NEXT:    vmovaps 16(%rdi), %xmm0
2923 ; AVX2-ONLY-NEXT:    vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2924 ; AVX2-ONLY-NEXT:    vmovaps 64(%rdi), %xmm2
2925 ; AVX2-ONLY-NEXT:    vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2926 ; AVX2-ONLY-NEXT:    vmovlhps {{.*#+}} xmm4 = xmm0[0],xmm2[0]
2927 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm4[0,1,2,3],ymm1[4,5,6,7]
2928 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
2929 ; AVX2-ONLY-NEXT:    vbroadcastsd 544(%rdi), %ymm1
2930 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
2931 ; AVX2-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm12 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]
2932 ; AVX2-ONLY-NEXT:    vmovaps 448(%rdi), %xmm0
2933 ; AVX2-ONLY-NEXT:    vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2934 ; AVX2-ONLY-NEXT:    vmovaps 400(%rdi), %xmm1
2935 ; AVX2-ONLY-NEXT:    vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2936 ; AVX2-ONLY-NEXT:    vmovlhps {{.*#+}} xmm13 = xmm1[0],xmm0[0]
2937 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm13[0,1,2,3],ymm12[4,5,6,7]
2938 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
2939 ; AVX2-ONLY-NEXT:    vbroadcastsd 928(%rdi), %ymm12
2940 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload
2941 ; AVX2-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm14 = ymm4[0],ymm12[0],ymm4[2],ymm12[2]
2942 ; AVX2-ONLY-NEXT:    vmovaps 832(%rdi), %xmm12
2943 ; AVX2-ONLY-NEXT:    vmovaps 784(%rdi), %xmm13
2944 ; AVX2-ONLY-NEXT:    vmovlhps {{.*#+}} xmm15 = xmm13[0],xmm12[0]
2945 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm15[0,1,2,3],ymm14[4,5,6,7]
2946 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
2947 ; AVX2-ONLY-NEXT:    vbroadcastsd 1312(%rdi), %ymm14
2948 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
2949 ; AVX2-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm14 = ymm1[0],ymm14[0],ymm1[2],ymm14[2]
2950 ; AVX2-ONLY-NEXT:    vmovaps 1216(%rdi), %xmm15
2951 ; AVX2-ONLY-NEXT:    vmovaps 1168(%rdi), %xmm0
2952 ; AVX2-ONLY-NEXT:    vmovlhps {{.*#+}} xmm2 = xmm0[0],xmm15[0]
2953 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm14[4,5,6,7]
2954 ; AVX2-ONLY-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
2955 ; AVX2-ONLY-NEXT:    vunpckhpd {{.*#+}} xmm2 = xmm5[1],xmm3[1]
2956 ; AVX2-ONLY-NEXT:    vmovaps 352(%rdi), %ymm5
2957 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload
2958 ; AVX2-ONLY-NEXT:    vunpckhpd {{.*#+}} ymm3 = ymm3[1],ymm5[1],ymm3[3],ymm5[3]
2959 ; AVX2-ONLY-NEXT:    vmovaps %ymm5, %ymm14
2960 ; AVX2-ONLY-NEXT:    vmovups %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
2961 ; AVX2-ONLY-NEXT:    vpermpd {{.*#+}} ymm3 = ymm3[0,1,2,1]
2962 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm3[4,5,6,7]
2963 ; AVX2-ONLY-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
2964 ; AVX2-ONLY-NEXT:    vunpckhpd {{.*#+}} xmm2 = xmm7[1],xmm6[1]
2965 ; AVX2-ONLY-NEXT:    vmovaps 736(%rdi), %ymm5
2966 ; AVX2-ONLY-NEXT:    vmovups (%rsp), %ymm3 # 32-byte Reload
2967 ; AVX2-ONLY-NEXT:    vunpckhpd {{.*#+}} ymm3 = ymm3[1],ymm5[1],ymm3[3],ymm5[3]
2968 ; AVX2-ONLY-NEXT:    vmovaps %ymm5, %ymm7
2969 ; AVX2-ONLY-NEXT:    vmovups %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
2970 ; AVX2-ONLY-NEXT:    vpermpd {{.*#+}} ymm3 = ymm3[0,1,2,1]
2971 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm3[4,5,6,7]
2972 ; AVX2-ONLY-NEXT:    vmovups %ymm2, (%rsp) # 32-byte Spill
2973 ; AVX2-ONLY-NEXT:    vunpckhpd {{.*#+}} xmm2 = xmm9[1],xmm8[1]
2974 ; AVX2-ONLY-NEXT:    vmovaps 1120(%rdi), %ymm5
2975 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload
2976 ; AVX2-ONLY-NEXT:    vunpckhpd {{.*#+}} ymm3 = ymm3[1],ymm5[1],ymm3[3],ymm5[3]
2977 ; AVX2-ONLY-NEXT:    vmovaps %ymm5, %ymm6
2978 ; AVX2-ONLY-NEXT:    vmovups %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
2979 ; AVX2-ONLY-NEXT:    vpermpd {{.*#+}} ymm3 = ymm3[0,1,2,1]
2980 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm3[4,5,6,7]
2981 ; AVX2-ONLY-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
2982 ; AVX2-ONLY-NEXT:    vunpckhpd {{.*#+}} xmm2 = xmm11[1],xmm10[1]
2983 ; AVX2-ONLY-NEXT:    vmovaps 1504(%rdi), %ymm5
2984 ; AVX2-ONLY-NEXT:    vmovups %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
2985 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload
2986 ; AVX2-ONLY-NEXT:    vunpckhpd {{.*#+}} ymm3 = ymm3[1],ymm5[1],ymm3[3],ymm5[3]
2987 ; AVX2-ONLY-NEXT:    vpermpd {{.*#+}} ymm3 = ymm3[0,1,2,1]
2988 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm3[4,5,6,7]
2989 ; AVX2-ONLY-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
2990 ; AVX2-ONLY-NEXT:    vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm15[1]
2991 ; AVX2-ONLY-NEXT:    vmovaps 1312(%rdi), %ymm3
2992 ; AVX2-ONLY-NEXT:    vunpckhpd {{.*#+}} ymm2 = ymm1[1],ymm3[1],ymm1[3],ymm3[3]
2993 ; AVX2-ONLY-NEXT:    vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
2994 ; AVX2-ONLY-NEXT:    vpermpd {{.*#+}} ymm2 = ymm2[0,1,2,1]
2995 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5,6,7]
2996 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
2997 ; AVX2-ONLY-NEXT:    vunpckhpd {{.*#+}} xmm0 = xmm13[1],xmm12[1]
2998 ; AVX2-ONLY-NEXT:    vmovaps 928(%rdi), %ymm1
2999 ; AVX2-ONLY-NEXT:    vunpckhpd {{.*#+}} ymm2 = ymm4[1],ymm1[1],ymm4[3],ymm1[3]
3000 ; AVX2-ONLY-NEXT:    vmovaps %ymm1, %ymm4
3001 ; AVX2-ONLY-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
3002 ; AVX2-ONLY-NEXT:    vpermpd {{.*#+}} ymm2 = ymm2[0,1,2,1]
3003 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5,6,7]
3004 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
3005 ; AVX2-ONLY-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3006 ; AVX2-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm0 # 16-byte Folded Reload
3007 ; AVX2-ONLY-NEXT:    # xmm0 = xmm0[1],mem[1]
3008 ; AVX2-ONLY-NEXT:    vmovaps 544(%rdi), %ymm2
3009 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
3010 ; AVX2-ONLY-NEXT:    vunpckhpd {{.*#+}} ymm1 = ymm1[1],ymm2[1],ymm1[3],ymm2[3]
3011 ; AVX2-ONLY-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
3012 ; AVX2-ONLY-NEXT:    vpermpd {{.*#+}} ymm1 = ymm1[0,1,2,1]
3013 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]
3014 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
3015 ; AVX2-ONLY-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3016 ; AVX2-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm0 # 16-byte Folded Reload
3017 ; AVX2-ONLY-NEXT:    # xmm0 = xmm0[1],mem[1]
3018 ; AVX2-ONLY-NEXT:    vmovaps 160(%rdi), %ymm9
3019 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
3020 ; AVX2-ONLY-NEXT:    vunpckhpd {{.*#+}} ymm1 = ymm1[1],ymm9[1],ymm1[3],ymm9[3]
3021 ; AVX2-ONLY-NEXT:    vpermpd {{.*#+}} ymm1 = ymm1[0,1,2,1]
3022 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]
3023 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
3024 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
3025 ; AVX2-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm9[0],ymm0[2],ymm9[2]
3026 ; AVX2-ONLY-NEXT:    vpermpd {{.*#+}} ymm0 = ymm0[0,1,0,3]
3027 ; AVX2-ONLY-NEXT:    vmovaps 32(%rdi), %xmm5
3028 ; AVX2-ONLY-NEXT:    vmovaps %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3029 ; AVX2-ONLY-NEXT:    vmovaps 80(%rdi), %xmm1
3030 ; AVX2-ONLY-NEXT:    vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3031 ; AVX2-ONLY-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm5[0],xmm1[0]
3032 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
3033 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
3034 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
3035 ; AVX2-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm14[0],ymm0[2],ymm14[2]
3036 ; AVX2-ONLY-NEXT:    vpermpd {{.*#+}} ymm0 = ymm0[0,1,0,3]
3037 ; AVX2-ONLY-NEXT:    vmovaps 272(%rdi), %xmm5
3038 ; AVX2-ONLY-NEXT:    vmovaps %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3039 ; AVX2-ONLY-NEXT:    vmovaps 224(%rdi), %xmm1
3040 ; AVX2-ONLY-NEXT:    vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3041 ; AVX2-ONLY-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm1[0],xmm5[0]
3042 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
3043 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
3044 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
3045 ; AVX2-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm2[0],ymm0[2],ymm2[2]
3046 ; AVX2-ONLY-NEXT:    vpermpd {{.*#+}} ymm0 = ymm0[0,1,0,3]
3047 ; AVX2-ONLY-NEXT:    vmovaps 464(%rdi), %xmm14
3048 ; AVX2-ONLY-NEXT:    vmovaps 416(%rdi), %xmm13
3049 ; AVX2-ONLY-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm13[0],xmm14[0]
3050 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
3051 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
3052 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
3053 ; AVX2-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm7[0],ymm0[2],ymm7[2]
3054 ; AVX2-ONLY-NEXT:    vpermpd {{.*#+}} ymm0 = ymm0[0,1,0,3]
3055 ; AVX2-ONLY-NEXT:    vmovaps 656(%rdi), %xmm12
3056 ; AVX2-ONLY-NEXT:    vmovaps 608(%rdi), %xmm11
3057 ; AVX2-ONLY-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm11[0],xmm12[0]
3058 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
3059 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
3060 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
3061 ; AVX2-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm4[0],ymm0[2],ymm4[2]
3062 ; AVX2-ONLY-NEXT:    vpermpd {{.*#+}} ymm0 = ymm0[0,1,0,3]
3063 ; AVX2-ONLY-NEXT:    vmovaps 848(%rdi), %xmm10
3064 ; AVX2-ONLY-NEXT:    vmovaps 800(%rdi), %xmm7
3065 ; AVX2-ONLY-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm7[0],xmm10[0]
3066 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
3067 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
3068 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
3069 ; AVX2-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm6[0],ymm0[2],ymm6[2]
3070 ; AVX2-ONLY-NEXT:    vpermpd {{.*#+}} ymm0 = ymm0[0,1,0,3]
3071 ; AVX2-ONLY-NEXT:    vmovaps 1040(%rdi), %xmm8
3072 ; AVX2-ONLY-NEXT:    vmovaps 992(%rdi), %xmm5
3073 ; AVX2-ONLY-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm5[0],xmm8[0]
3074 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
3075 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
3076 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
3077 ; AVX2-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm3[0],ymm0[2],ymm3[2]
3078 ; AVX2-ONLY-NEXT:    vpermpd {{.*#+}} ymm0 = ymm0[0,1,0,3]
3079 ; AVX2-ONLY-NEXT:    vmovaps 1232(%rdi), %xmm6
3080 ; AVX2-ONLY-NEXT:    vmovaps 1184(%rdi), %xmm3
3081 ; AVX2-ONLY-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm3[0],xmm6[0]
3082 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
3083 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
3084 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
3085 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload
3086 ; AVX2-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm4[0],ymm0[2],ymm4[2]
3087 ; AVX2-ONLY-NEXT:    vpermpd {{.*#+}} ymm0 = ymm0[0,1,0,3]
3088 ; AVX2-ONLY-NEXT:    vmovaps 1424(%rdi), %xmm2
3089 ; AVX2-ONLY-NEXT:    vmovaps 1376(%rdi), %xmm1
3090 ; AVX2-ONLY-NEXT:    vmovlhps {{.*#+}} xmm15 = xmm1[0],xmm2[0]
3091 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm15[0,1,2,3],ymm0[4,5,6,7]
3092 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
3093 ; AVX2-ONLY-NEXT:    vbroadcastsd 136(%rdi), %ymm0
3094 ; AVX2-ONLY-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm9[1],ymm0[3],ymm9[3]
3095 ; AVX2-ONLY-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm9 # 16-byte Reload
3096 ; AVX2-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm9, %xmm9 # 16-byte Folded Reload
3097 ; AVX2-ONLY-NEXT:    # xmm9 = xmm9[1],mem[1]
3098 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm9[0,1,2,3],ymm0[4,5,6,7]
3099 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
3100 ; AVX2-ONLY-NEXT:    vbroadcastsd 328(%rdi), %ymm0
3101 ; AVX2-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload
3102 ; AVX2-ONLY-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]
3103 ; AVX2-ONLY-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm9 # 16-byte Reload
3104 ; AVX2-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm9, %xmm9 # 16-byte Folded Reload
3105 ; AVX2-ONLY-NEXT:    # xmm9 = xmm9[1],mem[1]
3106 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm15 = ymm9[0,1,2,3],ymm0[4,5,6,7]
3107 ; AVX2-ONLY-NEXT:    vbroadcastsd 520(%rdi), %ymm0
3108 ; AVX2-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload
3109 ; AVX2-ONLY-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]
3110 ; AVX2-ONLY-NEXT:    vunpckhpd {{.*#+}} xmm9 = xmm13[1],xmm14[1]
3111 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm13 = ymm9[0,1,2,3],ymm0[4,5,6,7]
3112 ; AVX2-ONLY-NEXT:    vbroadcastsd 712(%rdi), %ymm0
3113 ; AVX2-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload
3114 ; AVX2-ONLY-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]
3115 ; AVX2-ONLY-NEXT:    vunpckhpd {{.*#+}} xmm9 = xmm11[1],xmm12[1]
3116 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm9 = ymm9[0,1,2,3],ymm0[4,5,6,7]
3117 ; AVX2-ONLY-NEXT:    vbroadcastsd 904(%rdi), %ymm0
3118 ; AVX2-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload
3119 ; AVX2-ONLY-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]
3120 ; AVX2-ONLY-NEXT:    vunpckhpd {{.*#+}} xmm7 = xmm7[1],xmm10[1]
3121 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm7 = ymm7[0,1,2,3],ymm0[4,5,6,7]
3122 ; AVX2-ONLY-NEXT:    vbroadcastsd 1096(%rdi), %ymm0
3123 ; AVX2-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload
3124 ; AVX2-ONLY-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]
3125 ; AVX2-ONLY-NEXT:    vunpckhpd {{.*#+}} xmm5 = xmm5[1],xmm8[1]
3126 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm5 = ymm5[0,1,2,3],ymm0[4,5,6,7]
3127 ; AVX2-ONLY-NEXT:    vbroadcastsd 1288(%rdi), %ymm0
3128 ; AVX2-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload
3129 ; AVX2-ONLY-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]
3130 ; AVX2-ONLY-NEXT:    vunpckhpd {{.*#+}} xmm3 = xmm3[1],xmm6[1]
3131 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3],ymm0[4,5,6,7]
3132 ; AVX2-ONLY-NEXT:    vbroadcastsd 1480(%rdi), %ymm0
3133 ; AVX2-ONLY-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm4[1],ymm0[3],ymm4[3]
3134 ; AVX2-ONLY-NEXT:    vunpckhpd {{.*#+}} xmm1 = xmm1[1],xmm2[1]
3135 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
3136 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
3137 ; AVX2-ONLY-NEXT:    vmovaps %ymm1, 192(%rsi)
3138 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
3139 ; AVX2-ONLY-NEXT:    vmovaps %ymm1, 128(%rsi)
3140 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
3141 ; AVX2-ONLY-NEXT:    vmovaps %ymm1, 64(%rsi)
3142 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
3143 ; AVX2-ONLY-NEXT:    vmovaps %ymm1, (%rsi)
3144 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
3145 ; AVX2-ONLY-NEXT:    vmovaps %ymm1, 224(%rsi)
3146 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
3147 ; AVX2-ONLY-NEXT:    vmovaps %ymm1, 160(%rsi)
3148 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
3149 ; AVX2-ONLY-NEXT:    vmovaps %ymm1, 96(%rsi)
3150 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
3151 ; AVX2-ONLY-NEXT:    vmovaps %ymm1, 32(%rsi)
3152 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
3153 ; AVX2-ONLY-NEXT:    vmovaps %ymm1, 192(%rdx)
3154 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
3155 ; AVX2-ONLY-NEXT:    vmovaps %ymm1, 128(%rdx)
3156 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
3157 ; AVX2-ONLY-NEXT:    vmovaps %ymm1, 64(%rdx)
3158 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
3159 ; AVX2-ONLY-NEXT:    vmovaps %ymm1, (%rdx)
3160 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
3161 ; AVX2-ONLY-NEXT:    vmovaps %ymm1, 224(%rdx)
3162 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
3163 ; AVX2-ONLY-NEXT:    vmovaps %ymm1, 160(%rdx)
3164 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
3165 ; AVX2-ONLY-NEXT:    vmovaps %ymm1, 96(%rdx)
3166 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
3167 ; AVX2-ONLY-NEXT:    vmovaps %ymm1, 32(%rdx)
3168 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
3169 ; AVX2-ONLY-NEXT:    vmovaps %ymm1, 192(%rcx)
3170 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
3171 ; AVX2-ONLY-NEXT:    vmovaps %ymm1, 128(%rcx)
3172 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
3173 ; AVX2-ONLY-NEXT:    vmovaps %ymm1, 64(%rcx)
3174 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
3175 ; AVX2-ONLY-NEXT:    vmovaps %ymm1, (%rcx)
3176 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
3177 ; AVX2-ONLY-NEXT:    vmovaps %ymm1, 224(%rcx)
3178 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
3179 ; AVX2-ONLY-NEXT:    vmovaps %ymm1, 160(%rcx)
3180 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
3181 ; AVX2-ONLY-NEXT:    vmovaps %ymm1, 96(%rcx)
3182 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
3183 ; AVX2-ONLY-NEXT:    vmovaps %ymm1, 32(%rcx)
3184 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
3185 ; AVX2-ONLY-NEXT:    vmovaps %ymm1, (%r8)
3186 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
3187 ; AVX2-ONLY-NEXT:    vmovaps %ymm1, 64(%r8)
3188 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
3189 ; AVX2-ONLY-NEXT:    vmovaps %ymm1, 128(%r8)
3190 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
3191 ; AVX2-ONLY-NEXT:    vmovaps %ymm1, 192(%r8)
3192 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
3193 ; AVX2-ONLY-NEXT:    vmovaps %ymm1, 224(%r8)
3194 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
3195 ; AVX2-ONLY-NEXT:    vmovaps %ymm1, 160(%r8)
3196 ; AVX2-ONLY-NEXT:    vmovups (%rsp), %ymm1 # 32-byte Reload
3197 ; AVX2-ONLY-NEXT:    vmovaps %ymm1, 96(%r8)
3198 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
3199 ; AVX2-ONLY-NEXT:    vmovaps %ymm1, 32(%r8)
3200 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
3201 ; AVX2-ONLY-NEXT:    vmovaps %ymm1, 224(%r9)
3202 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
3203 ; AVX2-ONLY-NEXT:    vmovaps %ymm1, 192(%r9)
3204 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
3205 ; AVX2-ONLY-NEXT:    vmovaps %ymm1, 160(%r9)
3206 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
3207 ; AVX2-ONLY-NEXT:    vmovaps %ymm1, 128(%r9)
3208 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
3209 ; AVX2-ONLY-NEXT:    vmovaps %ymm1, 96(%r9)
3210 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
3211 ; AVX2-ONLY-NEXT:    vmovaps %ymm1, 64(%r9)
3212 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
3213 ; AVX2-ONLY-NEXT:    vmovaps %ymm1, 32(%r9)
3214 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
3215 ; AVX2-ONLY-NEXT:    vmovaps %ymm1, (%r9)
3216 ; AVX2-ONLY-NEXT:    movq {{[0-9]+}}(%rsp), %rax
3217 ; AVX2-ONLY-NEXT:    vmovaps %ymm0, 224(%rax)
3218 ; AVX2-ONLY-NEXT:    vmovaps %ymm3, 192(%rax)
3219 ; AVX2-ONLY-NEXT:    vmovaps %ymm5, 160(%rax)
3220 ; AVX2-ONLY-NEXT:    vmovaps %ymm7, 128(%rax)
3221 ; AVX2-ONLY-NEXT:    vmovaps %ymm9, 96(%rax)
3222 ; AVX2-ONLY-NEXT:    vmovaps %ymm13, 64(%rax)
3223 ; AVX2-ONLY-NEXT:    vmovaps %ymm15, 32(%rax)
3224 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
3225 ; AVX2-ONLY-NEXT:    vmovaps %ymm0, (%rax)
3226 ; AVX2-ONLY-NEXT:    addq $1496, %rsp # imm = 0x5D8
3227 ; AVX2-ONLY-NEXT:    vzeroupper
3228 ; AVX2-ONLY-NEXT:    retq
3230 ; AVX512F-LABEL: load_i64_stride6_vf32:
3231 ; AVX512F:       # %bb.0:
3232 ; AVX512F-NEXT:    subq $2632, %rsp # imm = 0xA48
3233 ; AVX512F-NEXT:    vmovdqa64 1280(%rdi), %zmm2
3234 ; AVX512F-NEXT:    vmovdqa64 1344(%rdi), %zmm21
3235 ; AVX512F-NEXT:    vmovdqa64 896(%rdi), %zmm1
3236 ; AVX512F-NEXT:    vmovdqa64 960(%rdi), %zmm19
3237 ; AVX512F-NEXT:    vmovdqa64 448(%rdi), %zmm18
3238 ; AVX512F-NEXT:    vmovdqa64 384(%rdi), %zmm3
3239 ; AVX512F-NEXT:    vmovdqa64 512(%rdi), %zmm4
3240 ; AVX512F-NEXT:    vmovdqa64 576(%rdi), %zmm0
3241 ; AVX512F-NEXT:    vmovdqa64 128(%rdi), %zmm5
3242 ; AVX512F-NEXT:    vmovdqa64 192(%rdi), %zmm25
3243 ; AVX512F-NEXT:    vbroadcasti64x4 {{.*#+}} zmm6 = [0,6,0,10,0,6,0,10]
3244 ; AVX512F-NEXT:    # zmm6 = mem[0,1,2,3,0,1,2,3]
3245 ; AVX512F-NEXT:    vmovdqa64 %zmm25, %zmm7
3246 ; AVX512F-NEXT:    vpermt2q %zmm5, %zmm6, %zmm7
3247 ; AVX512F-NEXT:    vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
3248 ; AVX512F-NEXT:    vmovdqa {{.*#+}} ymm7 = <0,6,12,u>
3249 ; AVX512F-NEXT:    vmovdqa64 %zmm0, %zmm8
3250 ; AVX512F-NEXT:    vpermt2q %zmm4, %zmm6, %zmm8
3251 ; AVX512F-NEXT:    vmovdqu64 %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
3252 ; AVX512F-NEXT:    vmovdqa64 %zmm3, %zmm8
3253 ; AVX512F-NEXT:    vpermt2q %zmm18, %zmm7, %zmm8
3254 ; AVX512F-NEXT:    vmovdqu64 %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
3255 ; AVX512F-NEXT:    vmovdqa64 %zmm19, %zmm8
3256 ; AVX512F-NEXT:    vpermt2q %zmm1, %zmm6, %zmm8
3257 ; AVX512F-NEXT:    vmovdqu64 %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
3258 ; AVX512F-NEXT:    vpermi2q %zmm2, %zmm21, %zmm6
3259 ; AVX512F-NEXT:    vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
3260 ; AVX512F-NEXT:    vbroadcasti64x4 {{.*#+}} zmm6 = [1,7,0,11,1,7,0,11]
3261 ; AVX512F-NEXT:    # zmm6 = mem[0,1,2,3,0,1,2,3]
3262 ; AVX512F-NEXT:    vmovdqa64 %zmm19, %zmm8
3263 ; AVX512F-NEXT:    vpermt2q %zmm1, %zmm6, %zmm8
3264 ; AVX512F-NEXT:    vmovdqu64 %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
3265 ; AVX512F-NEXT:    vmovdqa64 %zmm6, %zmm8
3266 ; AVX512F-NEXT:    vmovdqa64 %zmm1, %zmm6
3267 ; AVX512F-NEXT:    vmovdqa {{.*#+}} ymm10 = <1,7,13,u>
3268 ; AVX512F-NEXT:    vmovdqa64 %zmm0, %zmm1
3269 ; AVX512F-NEXT:    vpermt2q %zmm4, %zmm8, %zmm1
3270 ; AVX512F-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
3271 ; AVX512F-NEXT:    vmovdqa64 %zmm25, %zmm1
3272 ; AVX512F-NEXT:    vpermt2q %zmm5, %zmm8, %zmm1
3273 ; AVX512F-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
3274 ; AVX512F-NEXT:    vpermi2q %zmm2, %zmm21, %zmm8
3275 ; AVX512F-NEXT:    vmovdqu64 %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
3276 ; AVX512F-NEXT:    vbroadcasti32x4 {{.*#+}} zmm1 = [10,4,10,4,10,4,10,4]
3277 ; AVX512F-NEXT:    # zmm1 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]
3278 ; AVX512F-NEXT:    vmovdqa64 %zmm6, %zmm8
3279 ; AVX512F-NEXT:    vpermt2q %zmm19, %zmm1, %zmm8
3280 ; AVX512F-NEXT:    vmovdqu64 %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
3281 ; AVX512F-NEXT:    vmovdqa64 %zmm4, %zmm8
3282 ; AVX512F-NEXT:    vpermt2q %zmm0, %zmm1, %zmm8
3283 ; AVX512F-NEXT:    vmovdqu64 %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
3284 ; AVX512F-NEXT:    vmovdqa64 %zmm5, %zmm8
3285 ; AVX512F-NEXT:    vpermt2q %zmm25, %zmm1, %zmm8
3286 ; AVX512F-NEXT:    vmovdqu64 %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
3287 ; AVX512F-NEXT:    vpermi2q %zmm21, %zmm2, %zmm1
3288 ; AVX512F-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
3289 ; AVX512F-NEXT:    vbroadcasti32x4 {{.*#+}} zmm1 = [11,5,11,5,11,5,11,5]
3290 ; AVX512F-NEXT:    # zmm1 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]
3291 ; AVX512F-NEXT:    vmovdqa64 %zmm6, %zmm8
3292 ; AVX512F-NEXT:    vpermt2q %zmm19, %zmm1, %zmm8
3293 ; AVX512F-NEXT:    vmovdqu64 %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
3294 ; AVX512F-NEXT:    vmovdqa64 %zmm4, %zmm8
3295 ; AVX512F-NEXT:    vpermt2q %zmm0, %zmm1, %zmm8
3296 ; AVX512F-NEXT:    vmovdqu64 %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
3297 ; AVX512F-NEXT:    vmovdqa64 %zmm5, %zmm8
3298 ; AVX512F-NEXT:    vpermt2q %zmm25, %zmm1, %zmm8
3299 ; AVX512F-NEXT:    vmovdqu64 %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
3300 ; AVX512F-NEXT:    vpermi2q %zmm21, %zmm2, %zmm1
3301 ; AVX512F-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
3302 ; AVX512F-NEXT:    vbroadcasti64x4 {{.*#+}} zmm8 = [12,0,0,6,12,0,0,6]
3303 ; AVX512F-NEXT:    # zmm8 = mem[0,1,2,3,0,1,2,3]
3304 ; AVX512F-NEXT:    vmovdqa64 %zmm4, %zmm1
3305 ; AVX512F-NEXT:    vpermt2q %zmm0, %zmm8, %zmm1
3306 ; AVX512F-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
3307 ; AVX512F-NEXT:    vbroadcasti64x4 {{.*#+}} zmm1 = [13,0,1,7,13,0,1,7]
3308 ; AVX512F-NEXT:    # zmm1 = mem[0,1,2,3,0,1,2,3]
3309 ; AVX512F-NEXT:    vpermt2q %zmm0, %zmm1, %zmm4
3310 ; AVX512F-NEXT:    vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
3311 ; AVX512F-NEXT:    vmovdqa64 %zmm5, %zmm0
3312 ; AVX512F-NEXT:    vpermt2q %zmm25, %zmm8, %zmm0
3313 ; AVX512F-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
3314 ; AVX512F-NEXT:    vpermt2q %zmm25, %zmm1, %zmm5
3315 ; AVX512F-NEXT:    vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
3316 ; AVX512F-NEXT:    vmovdqa64 %zmm6, %zmm0
3317 ; AVX512F-NEXT:    vpermt2q %zmm19, %zmm8, %zmm0
3318 ; AVX512F-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
3319 ; AVX512F-NEXT:    vpermi2q %zmm21, %zmm2, %zmm8
3320 ; AVX512F-NEXT:    vmovdqu64 %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
3321 ; AVX512F-NEXT:    vpermt2q %zmm21, %zmm1, %zmm2
3322 ; AVX512F-NEXT:    vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
3323 ; AVX512F-NEXT:    vmovdqa64 %zmm3, %zmm0
3324 ; AVX512F-NEXT:    vpermt2q %zmm18, %zmm10, %zmm0
3325 ; AVX512F-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
3326 ; AVX512F-NEXT:    vpermt2q %zmm19, %zmm1, %zmm6
3327 ; AVX512F-NEXT:    vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
3328 ; AVX512F-NEXT:    vmovdqa {{.*#+}} ymm11 = <10,0,6,u>
3329 ; AVX512F-NEXT:    vmovdqa64 %zmm18, %zmm0
3330 ; AVX512F-NEXT:    vpermt2q %zmm3, %zmm11, %zmm0
3331 ; AVX512F-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
3332 ; AVX512F-NEXT:    vmovdqa64 {{.*#+}} ymm31 = <11,1,7,u>
3333 ; AVX512F-NEXT:    vmovdqa64 %zmm18, %zmm0
3334 ; AVX512F-NEXT:    vpermt2q %zmm3, %zmm31, %zmm0
3335 ; AVX512F-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
3336 ; AVX512F-NEXT:    vbroadcasti32x4 {{.*#+}} zmm5 = [4,10,4,10,4,10,4,10]
3337 ; AVX512F-NEXT:    # zmm5 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]
3338 ; AVX512F-NEXT:    vmovdqa64 %zmm3, %zmm0
3339 ; AVX512F-NEXT:    vpermt2q %zmm18, %zmm5, %zmm0
3340 ; AVX512F-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
3341 ; AVX512F-NEXT:    vbroadcasti32x4 {{.*#+}} zmm0 = [5,11,5,11,5,11,5,11]
3342 ; AVX512F-NEXT:    # zmm0 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]
3343 ; AVX512F-NEXT:    vpermt2q %zmm18, %zmm0, %zmm3
3344 ; AVX512F-NEXT:    vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
3345 ; AVX512F-NEXT:    vmovdqa64 (%rdi), %zmm25
3346 ; AVX512F-NEXT:    vmovdqa64 64(%rdi), %zmm1
3347 ; AVX512F-NEXT:    vmovdqa64 %zmm25, %zmm29
3348 ; AVX512F-NEXT:    vmovdqa64 %zmm7, %zmm2
3349 ; AVX512F-NEXT:    vpermt2q %zmm1, %zmm7, %zmm29
3350 ; AVX512F-NEXT:    vmovdqa64 %zmm25, %zmm3
3351 ; AVX512F-NEXT:    vpermt2q %zmm1, %zmm10, %zmm3
3352 ; AVX512F-NEXT:    vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
3353 ; AVX512F-NEXT:    vmovdqa64 %zmm1, %zmm3
3354 ; AVX512F-NEXT:    vpermt2q %zmm25, %zmm11, %zmm3
3355 ; AVX512F-NEXT:    vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
3356 ; AVX512F-NEXT:    vmovdqa64 %zmm1, %zmm3
3357 ; AVX512F-NEXT:    vpermt2q %zmm25, %zmm31, %zmm3
3358 ; AVX512F-NEXT:    vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
3359 ; AVX512F-NEXT:    vmovdqa64 %zmm25, %zmm3
3360 ; AVX512F-NEXT:    vpermt2q %zmm1, %zmm5, %zmm3
3361 ; AVX512F-NEXT:    vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
3362 ; AVX512F-NEXT:    vpermt2q %zmm1, %zmm0, %zmm25
3363 ; AVX512F-NEXT:    vmovdqa64 320(%rdi), %zmm9
3364 ; AVX512F-NEXT:    vmovdqa64 256(%rdi), %zmm27
3365 ; AVX512F-NEXT:    vmovdqa64 %zmm27, %zmm1
3366 ; AVX512F-NEXT:    vpermt2q %zmm9, %zmm5, %zmm1
3367 ; AVX512F-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
3368 ; AVX512F-NEXT:    vmovdqa64 704(%rdi), %zmm30
3369 ; AVX512F-NEXT:    vmovdqa64 640(%rdi), %zmm26
3370 ; AVX512F-NEXT:    vmovdqa64 %zmm26, %zmm1
3371 ; AVX512F-NEXT:    vpermt2q %zmm30, %zmm5, %zmm1
3372 ; AVX512F-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
3373 ; AVX512F-NEXT:    vmovdqa64 1088(%rdi), %zmm7
3374 ; AVX512F-NEXT:    vmovdqa64 1024(%rdi), %zmm20
3375 ; AVX512F-NEXT:    vmovdqa64 %zmm20, %zmm1
3376 ; AVX512F-NEXT:    vpermt2q %zmm7, %zmm5, %zmm1
3377 ; AVX512F-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
3378 ; AVX512F-NEXT:    vmovdqa64 832(%rdi), %zmm1
3379 ; AVX512F-NEXT:    vmovdqa64 768(%rdi), %zmm8
3380 ; AVX512F-NEXT:    vmovdqa64 %zmm8, %zmm15
3381 ; AVX512F-NEXT:    vpermt2q %zmm1, %zmm2, %zmm15
3382 ; AVX512F-NEXT:    vmovdqa64 1472(%rdi), %zmm6
3383 ; AVX512F-NEXT:    vmovdqa64 1408(%rdi), %zmm21
3384 ; AVX512F-NEXT:    vmovdqa64 %zmm21, %zmm3
3385 ; AVX512F-NEXT:    vpermt2q %zmm6, %zmm5, %zmm3
3386 ; AVX512F-NEXT:    vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
3387 ; AVX512F-NEXT:    vmovdqa64 1216(%rdi), %zmm19
3388 ; AVX512F-NEXT:    vmovdqa64 1152(%rdi), %zmm4
3389 ; AVX512F-NEXT:    vpermi2q %zmm19, %zmm4, %zmm2
3390 ; AVX512F-NEXT:    vmovdqu64 %zmm2, (%rsp) # 64-byte Spill
3391 ; AVX512F-NEXT:    vmovdqa64 %zmm8, %zmm12
3392 ; AVX512F-NEXT:    vpermt2q %zmm1, %zmm10, %zmm12
3393 ; AVX512F-NEXT:    vpermi2q %zmm19, %zmm4, %zmm10
3394 ; AVX512F-NEXT:    vmovdqu64 %zmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
3395 ; AVX512F-NEXT:    vmovdqa64 %zmm1, %zmm13
3396 ; AVX512F-NEXT:    vpermt2q %zmm8, %zmm11, %zmm13
3397 ; AVX512F-NEXT:    vpermi2q %zmm4, %zmm19, %zmm11
3398 ; AVX512F-NEXT:    vmovdqa64 %zmm1, %zmm14
3399 ; AVX512F-NEXT:    vpermt2q %zmm8, %zmm31, %zmm14
3400 ; AVX512F-NEXT:    vpermi2q %zmm4, %zmm19, %zmm31
3401 ; AVX512F-NEXT:    vmovdqa64 %zmm8, %zmm2
3402 ; AVX512F-NEXT:    vpermt2q %zmm1, %zmm5, %zmm2
3403 ; AVX512F-NEXT:    vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
3404 ; AVX512F-NEXT:    vpermi2q %zmm19, %zmm4, %zmm5
3405 ; AVX512F-NEXT:    vpermt2q %zmm19, %zmm0, %zmm4
3406 ; AVX512F-NEXT:    vpermt2q %zmm1, %zmm0, %zmm8
3407 ; AVX512F-NEXT:    vmovdqa64 %zmm20, %zmm19
3408 ; AVX512F-NEXT:    vpermt2q %zmm7, %zmm0, %zmm19
3409 ; AVX512F-NEXT:    vmovdqa64 %zmm26, %zmm22
3410 ; AVX512F-NEXT:    vpermt2q %zmm30, %zmm0, %zmm22
3411 ; AVX512F-NEXT:    vmovdqa64 %zmm27, %zmm17
3412 ; AVX512F-NEXT:    vpermt2q %zmm9, %zmm0, %zmm17
3413 ; AVX512F-NEXT:    vmovdqa64 %zmm21, %zmm18
3414 ; AVX512F-NEXT:    vpermt2q %zmm6, %zmm0, %zmm18
3415 ; AVX512F-NEXT:    vbroadcasti64x4 {{.*#+}} zmm1 = [0,0,6,12,0,0,6,12]
3416 ; AVX512F-NEXT:    # zmm1 = mem[0,1,2,3,0,1,2,3]
3417 ; AVX512F-NEXT:    vmovdqa64 %zmm26, %zmm24
3418 ; AVX512F-NEXT:    vpermt2q %zmm30, %zmm1, %zmm24
3419 ; AVX512F-NEXT:    vbroadcasti64x4 {{.*#+}} zmm2 = [0,1,7,13,0,1,7,13]
3420 ; AVX512F-NEXT:    # zmm2 = mem[0,1,2,3,0,1,2,3]
3421 ; AVX512F-NEXT:    vmovdqa64 %zmm26, %zmm0
3422 ; AVX512F-NEXT:    vpermt2q %zmm30, %zmm2, %zmm0
3423 ; AVX512F-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
3424 ; AVX512F-NEXT:    vbroadcasti64x4 {{.*#+}} zmm3 = [0,10,0,6,0,10,0,6]
3425 ; AVX512F-NEXT:    # zmm3 = mem[0,1,2,3,0,1,2,3]
3426 ; AVX512F-NEXT:    vmovdqa64 %zmm30, %zmm0
3427 ; AVX512F-NEXT:    vpermt2q %zmm26, %zmm3, %zmm0
3428 ; AVX512F-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
3429 ; AVX512F-NEXT:    vbroadcasti64x4 {{.*#+}} zmm0 = [0,11,1,7,0,11,1,7]
3430 ; AVX512F-NEXT:    # zmm0 = mem[0,1,2,3,0,1,2,3]
3431 ; AVX512F-NEXT:    vpermt2q %zmm26, %zmm0, %zmm30
3432 ; AVX512F-NEXT:    vmovdqa64 %zmm27, %zmm26
3433 ; AVX512F-NEXT:    vpermt2q %zmm9, %zmm1, %zmm26
3434 ; AVX512F-NEXT:    vmovdqa64 %zmm27, %zmm23
3435 ; AVX512F-NEXT:    vpermt2q %zmm9, %zmm2, %zmm23
3436 ; AVX512F-NEXT:    vmovdqa64 %zmm9, %zmm28
3437 ; AVX512F-NEXT:    vpermt2q %zmm27, %zmm3, %zmm28
3438 ; AVX512F-NEXT:    vpermt2q %zmm27, %zmm0, %zmm9
3439 ; AVX512F-NEXT:    vmovdqa64 %zmm20, %zmm27
3440 ; AVX512F-NEXT:    vpermt2q %zmm7, %zmm1, %zmm27
3441 ; AVX512F-NEXT:    vpermi2q %zmm6, %zmm21, %zmm1
3442 ; AVX512F-NEXT:    vmovdqa64 %zmm20, %zmm10
3443 ; AVX512F-NEXT:    vpermt2q %zmm7, %zmm2, %zmm10
3444 ; AVX512F-NEXT:    vpermi2q %zmm6, %zmm21, %zmm2
3445 ; AVX512F-NEXT:    vmovdqa64 %zmm7, %zmm16
3446 ; AVX512F-NEXT:    vpermt2q %zmm20, %zmm3, %zmm16
3447 ; AVX512F-NEXT:    vpermi2q %zmm21, %zmm6, %zmm3
3448 ; AVX512F-NEXT:    vpermt2q %zmm21, %zmm0, %zmm6
3449 ; AVX512F-NEXT:    vpermt2q %zmm20, %zmm0, %zmm7
3450 ; AVX512F-NEXT:    movb $56, %al
3451 ; AVX512F-NEXT:    kmovw %eax, %k1
3452 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
3453 ; AVX512F-NEXT:    vmovdqa64 %zmm0, %zmm29 {%k1}
3454 ; AVX512F-NEXT:    movb $-64, %al
3455 ; AVX512F-NEXT:    kmovw %eax, %k2
3456 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
3457 ; AVX512F-NEXT:    vmovdqa64 %zmm0, %zmm29 {%k2}
3458 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
3459 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm20 # 64-byte Reload
3460 ; AVX512F-NEXT:    vmovdqa64 %zmm20, %zmm0 {%k1}
3461 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm20 # 64-byte Reload
3462 ; AVX512F-NEXT:    vmovdqa64 %zmm20, %zmm0 {%k2}
3463 ; AVX512F-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
3464 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
3465 ; AVX512F-NEXT:    vmovdqa64 %zmm0, %zmm15 {%k1}
3466 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
3467 ; AVX512F-NEXT:    vmovdqa64 %zmm0, %zmm15 {%k2}
3468 ; AVX512F-NEXT:    vmovdqu64 (%rsp), %zmm0 # 64-byte Reload
3469 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm20 # 64-byte Reload
3470 ; AVX512F-NEXT:    vmovdqa64 %zmm20, %zmm0 {%k1}
3471 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm20 # 64-byte Reload
3472 ; AVX512F-NEXT:    vmovdqa64 %zmm20, %zmm0 {%k2}
3473 ; AVX512F-NEXT:    vmovdqa64 %zmm0, %zmm20
3474 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
3475 ; AVX512F-NEXT:    vmovdqa64 %zmm0, %zmm12 {%k1}
3476 ; AVX512F-NEXT:    vmovdqa64 %zmm19, %zmm12 {%k2}
3477 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
3478 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm21 # 64-byte Reload
3479 ; AVX512F-NEXT:    vmovdqa64 %zmm0, %zmm21 {%k1}
3480 ; AVX512F-NEXT:    vmovdqa64 %zmm22, %zmm21 {%k2}
3481 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
3482 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm19 # 64-byte Reload
3483 ; AVX512F-NEXT:    vmovdqa64 %zmm0, %zmm19 {%k1}
3484 ; AVX512F-NEXT:    vmovdqa64 %zmm17, %zmm19 {%k2}
3485 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
3486 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm17 # 64-byte Reload
3487 ; AVX512F-NEXT:    vmovdqa64 %zmm17, %zmm0 {%k1}
3488 ; AVX512F-NEXT:    vmovdqa64 %zmm18, %zmm0 {%k2}
3489 ; AVX512F-NEXT:    vmovdqa64 %zmm0, %zmm17
3490 ; AVX512F-NEXT:    movb $24, %al
3491 ; AVX512F-NEXT:    kmovw %eax, %k2
3492 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
3493 ; AVX512F-NEXT:    vmovdqa64 %zmm0, %zmm13 {%k2}
3494 ; AVX512F-NEXT:    movb $-32, %al
3495 ; AVX512F-NEXT:    kmovw %eax, %k1
3496 ; AVX512F-NEXT:    vmovdqa64 %zmm27, %zmm13 {%k1}
3497 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
3498 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm18 # 64-byte Reload
3499 ; AVX512F-NEXT:    vmovdqa64 %zmm0, %zmm18 {%k2}
3500 ; AVX512F-NEXT:    vmovdqa64 %zmm24, %zmm18 {%k1}
3501 ; AVX512F-NEXT:    vmovdqa64 %zmm18, %zmm22
3502 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
3503 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm18 # 64-byte Reload
3504 ; AVX512F-NEXT:    vmovdqa64 %zmm0, %zmm18 {%k2}
3505 ; AVX512F-NEXT:    vmovdqa64 %zmm26, %zmm18 {%k1}
3506 ; AVX512F-NEXT:    vmovdqa64 %zmm18, %zmm24
3507 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
3508 ; AVX512F-NEXT:    vmovdqa64 %zmm0, %zmm11 {%k2}
3509 ; AVX512F-NEXT:    vmovdqa64 %zmm1, %zmm11 {%k1}
3510 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
3511 ; AVX512F-NEXT:    vmovdqa64 %zmm0, %zmm14 {%k2}
3512 ; AVX512F-NEXT:    vmovdqa64 %zmm10, %zmm14 {%k1}
3513 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
3514 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload
3515 ; AVX512F-NEXT:    vmovdqa64 %zmm0, %zmm1 {%k2}
3516 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
3517 ; AVX512F-NEXT:    vmovdqa64 %zmm0, %zmm1 {%k1}
3518 ; AVX512F-NEXT:    vmovdqa64 %zmm1, %zmm18
3519 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
3520 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload
3521 ; AVX512F-NEXT:    vmovdqa64 %zmm0, %zmm1 {%k2}
3522 ; AVX512F-NEXT:    vmovdqa64 %zmm23, %zmm1 {%k1}
3523 ; AVX512F-NEXT:    vmovdqa64 %zmm1, %zmm23
3524 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
3525 ; AVX512F-NEXT:    vmovdqa64 %zmm0, %zmm31 {%k2}
3526 ; AVX512F-NEXT:    vmovdqa64 %zmm2, %zmm31 {%k1}
3527 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
3528 ; AVX512F-NEXT:    vinserti32x4 $0, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm0 # 16-byte Folded Reload
3529 ; AVX512F-NEXT:    vmovdqa64 %zmm16, %zmm0 {%k1}
3530 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload
3531 ; AVX512F-NEXT:    vinserti32x4 $0, {{[-0-9]+}}(%r{{[sb]}}p), %zmm1, %zmm1 # 16-byte Folded Reload
3532 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload
3533 ; AVX512F-NEXT:    vmovdqa64 %zmm2, %zmm1 {%k1}
3534 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload
3535 ; AVX512F-NEXT:    vinserti32x4 $0, {{[-0-9]+}}(%r{{[sb]}}p), %zmm2, %zmm2 # 16-byte Folded Reload
3536 ; AVX512F-NEXT:    vmovdqa64 %zmm28, %zmm2 {%k1}
3537 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm10 # 64-byte Reload
3538 ; AVX512F-NEXT:    vinserti32x4 $0, %xmm5, %zmm10, %zmm5
3539 ; AVX512F-NEXT:    vmovdqa64 %zmm3, %zmm5 {%k1}
3540 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload
3541 ; AVX512F-NEXT:    vinserti32x4 $0, {{[-0-9]+}}(%r{{[sb]}}p), %zmm3, %zmm3 # 16-byte Folded Reload
3542 ; AVX512F-NEXT:    vmovdqa64 %zmm30, %zmm3 {%k1}
3543 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm10 # 64-byte Reload
3544 ; AVX512F-NEXT:    vinserti32x4 $0, %xmm25, %zmm10, %zmm10
3545 ; AVX512F-NEXT:    vmovdqa64 %zmm9, %zmm10 {%k1}
3546 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm9 # 64-byte Reload
3547 ; AVX512F-NEXT:    vinserti32x4 $0, %xmm4, %zmm9, %zmm4
3548 ; AVX512F-NEXT:    vmovdqa64 %zmm6, %zmm4 {%k1}
3549 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm6 # 64-byte Reload
3550 ; AVX512F-NEXT:    vinserti32x4 $0, %xmm8, %zmm6, %zmm6
3551 ; AVX512F-NEXT:    vmovdqa64 %zmm7, %zmm6 {%k1}
3552 ; AVX512F-NEXT:    vmovdqa64 %zmm20, 192(%rsi)
3553 ; AVX512F-NEXT:    vmovdqa64 %zmm15, 128(%rsi)
3554 ; AVX512F-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload
3555 ; AVX512F-NEXT:    vmovaps %zmm7, 64(%rsi)
3556 ; AVX512F-NEXT:    vmovdqa64 %zmm29, (%rsi)
3557 ; AVX512F-NEXT:    vmovdqa64 %zmm17, 192(%rdx)
3558 ; AVX512F-NEXT:    vmovdqa64 %zmm19, (%rdx)
3559 ; AVX512F-NEXT:    vmovdqa64 %zmm21, 64(%rdx)
3560 ; AVX512F-NEXT:    vmovdqa64 %zmm12, 128(%rdx)
3561 ; AVX512F-NEXT:    vmovdqa64 %zmm11, 192(%rcx)
3562 ; AVX512F-NEXT:    vmovdqa64 %zmm24, (%rcx)
3563 ; AVX512F-NEXT:    vmovdqa64 %zmm22, 64(%rcx)
3564 ; AVX512F-NEXT:    vmovdqa64 %zmm13, 128(%rcx)
3565 ; AVX512F-NEXT:    vmovdqa64 %zmm31, 192(%r8)
3566 ; AVX512F-NEXT:    vmovdqa64 %zmm23, (%r8)
3567 ; AVX512F-NEXT:    vmovdqa64 %zmm18, 64(%r8)
3568 ; AVX512F-NEXT:    vmovdqa64 %zmm14, 128(%r8)
3569 ; AVX512F-NEXT:    vmovdqa64 %zmm5, 192(%r9)
3570 ; AVX512F-NEXT:    vmovdqa64 %zmm2, (%r9)
3571 ; AVX512F-NEXT:    vmovdqa64 %zmm1, 64(%r9)
3572 ; AVX512F-NEXT:    vmovdqa64 %zmm0, 128(%r9)
3573 ; AVX512F-NEXT:    movq {{[0-9]+}}(%rsp), %rax
3574 ; AVX512F-NEXT:    vmovdqa64 %zmm6, 128(%rax)
3575 ; AVX512F-NEXT:    vmovdqa64 %zmm4, 192(%rax)
3576 ; AVX512F-NEXT:    vmovdqa64 %zmm10, (%rax)
3577 ; AVX512F-NEXT:    vmovdqa64 %zmm3, 64(%rax)
3578 ; AVX512F-NEXT:    addq $2632, %rsp # imm = 0xA48
3579 ; AVX512F-NEXT:    vzeroupper
3580 ; AVX512F-NEXT:    retq
3582 ; AVX512BW-LABEL: load_i64_stride6_vf32:
3583 ; AVX512BW:       # %bb.0:
3584 ; AVX512BW-NEXT:    subq $2632, %rsp # imm = 0xA48
3585 ; AVX512BW-NEXT:    vmovdqa64 1280(%rdi), %zmm2
3586 ; AVX512BW-NEXT:    vmovdqa64 1344(%rdi), %zmm21
3587 ; AVX512BW-NEXT:    vmovdqa64 896(%rdi), %zmm1
3588 ; AVX512BW-NEXT:    vmovdqa64 960(%rdi), %zmm19
3589 ; AVX512BW-NEXT:    vmovdqa64 448(%rdi), %zmm18
3590 ; AVX512BW-NEXT:    vmovdqa64 384(%rdi), %zmm3
3591 ; AVX512BW-NEXT:    vmovdqa64 512(%rdi), %zmm4
3592 ; AVX512BW-NEXT:    vmovdqa64 576(%rdi), %zmm0
3593 ; AVX512BW-NEXT:    vmovdqa64 128(%rdi), %zmm5
3594 ; AVX512BW-NEXT:    vmovdqa64 192(%rdi), %zmm25
3595 ; AVX512BW-NEXT:    vbroadcasti64x4 {{.*#+}} zmm6 = [0,6,0,10,0,6,0,10]
3596 ; AVX512BW-NEXT:    # zmm6 = mem[0,1,2,3,0,1,2,3]
3597 ; AVX512BW-NEXT:    vmovdqa64 %zmm25, %zmm7
3598 ; AVX512BW-NEXT:    vpermt2q %zmm5, %zmm6, %zmm7
3599 ; AVX512BW-NEXT:    vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
3600 ; AVX512BW-NEXT:    vmovdqa {{.*#+}} ymm7 = <0,6,12,u>
3601 ; AVX512BW-NEXT:    vmovdqa64 %zmm0, %zmm8
3602 ; AVX512BW-NEXT:    vpermt2q %zmm4, %zmm6, %zmm8
3603 ; AVX512BW-NEXT:    vmovdqu64 %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
3604 ; AVX512BW-NEXT:    vmovdqa64 %zmm3, %zmm8
3605 ; AVX512BW-NEXT:    vpermt2q %zmm18, %zmm7, %zmm8
3606 ; AVX512BW-NEXT:    vmovdqu64 %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
3607 ; AVX512BW-NEXT:    vmovdqa64 %zmm19, %zmm8
3608 ; AVX512BW-NEXT:    vpermt2q %zmm1, %zmm6, %zmm8
3609 ; AVX512BW-NEXT:    vmovdqu64 %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
3610 ; AVX512BW-NEXT:    vpermi2q %zmm2, %zmm21, %zmm6
3611 ; AVX512BW-NEXT:    vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
3612 ; AVX512BW-NEXT:    vbroadcasti64x4 {{.*#+}} zmm6 = [1,7,0,11,1,7,0,11]
3613 ; AVX512BW-NEXT:    # zmm6 = mem[0,1,2,3,0,1,2,3]
3614 ; AVX512BW-NEXT:    vmovdqa64 %zmm19, %zmm8
3615 ; AVX512BW-NEXT:    vpermt2q %zmm1, %zmm6, %zmm8
3616 ; AVX512BW-NEXT:    vmovdqu64 %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
3617 ; AVX512BW-NEXT:    vmovdqa64 %zmm6, %zmm8
3618 ; AVX512BW-NEXT:    vmovdqa64 %zmm1, %zmm6
3619 ; AVX512BW-NEXT:    vmovdqa {{.*#+}} ymm10 = <1,7,13,u>
3620 ; AVX512BW-NEXT:    vmovdqa64 %zmm0, %zmm1
3621 ; AVX512BW-NEXT:    vpermt2q %zmm4, %zmm8, %zmm1
3622 ; AVX512BW-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
3623 ; AVX512BW-NEXT:    vmovdqa64 %zmm25, %zmm1
3624 ; AVX512BW-NEXT:    vpermt2q %zmm5, %zmm8, %zmm1
3625 ; AVX512BW-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
3626 ; AVX512BW-NEXT:    vpermi2q %zmm2, %zmm21, %zmm8
3627 ; AVX512BW-NEXT:    vmovdqu64 %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
3628 ; AVX512BW-NEXT:    vbroadcasti32x4 {{.*#+}} zmm1 = [10,4,10,4,10,4,10,4]
3629 ; AVX512BW-NEXT:    # zmm1 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]
3630 ; AVX512BW-NEXT:    vmovdqa64 %zmm6, %zmm8
3631 ; AVX512BW-NEXT:    vpermt2q %zmm19, %zmm1, %zmm8
3632 ; AVX512BW-NEXT:    vmovdqu64 %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
3633 ; AVX512BW-NEXT:    vmovdqa64 %zmm4, %zmm8
3634 ; AVX512BW-NEXT:    vpermt2q %zmm0, %zmm1, %zmm8
3635 ; AVX512BW-NEXT:    vmovdqu64 %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
3636 ; AVX512BW-NEXT:    vmovdqa64 %zmm5, %zmm8
3637 ; AVX512BW-NEXT:    vpermt2q %zmm25, %zmm1, %zmm8
3638 ; AVX512BW-NEXT:    vmovdqu64 %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
3639 ; AVX512BW-NEXT:    vpermi2q %zmm21, %zmm2, %zmm1
3640 ; AVX512BW-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
3641 ; AVX512BW-NEXT:    vbroadcasti32x4 {{.*#+}} zmm1 = [11,5,11,5,11,5,11,5]
3642 ; AVX512BW-NEXT:    # zmm1 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]
3643 ; AVX512BW-NEXT:    vmovdqa64 %zmm6, %zmm8
3644 ; AVX512BW-NEXT:    vpermt2q %zmm19, %zmm1, %zmm8
3645 ; AVX512BW-NEXT:    vmovdqu64 %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
3646 ; AVX512BW-NEXT:    vmovdqa64 %zmm4, %zmm8
3647 ; AVX512BW-NEXT:    vpermt2q %zmm0, %zmm1, %zmm8
3648 ; AVX512BW-NEXT:    vmovdqu64 %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
3649 ; AVX512BW-NEXT:    vmovdqa64 %zmm5, %zmm8
3650 ; AVX512BW-NEXT:    vpermt2q %zmm25, %zmm1, %zmm8
3651 ; AVX512BW-NEXT:    vmovdqu64 %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
3652 ; AVX512BW-NEXT:    vpermi2q %zmm21, %zmm2, %zmm1
3653 ; AVX512BW-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
3654 ; AVX512BW-NEXT:    vbroadcasti64x4 {{.*#+}} zmm8 = [12,0,0,6,12,0,0,6]
3655 ; AVX512BW-NEXT:    # zmm8 = mem[0,1,2,3,0,1,2,3]
3656 ; AVX512BW-NEXT:    vmovdqa64 %zmm4, %zmm1
3657 ; AVX512BW-NEXT:    vpermt2q %zmm0, %zmm8, %zmm1
3658 ; AVX512BW-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
3659 ; AVX512BW-NEXT:    vbroadcasti64x4 {{.*#+}} zmm1 = [13,0,1,7,13,0,1,7]
3660 ; AVX512BW-NEXT:    # zmm1 = mem[0,1,2,3,0,1,2,3]
3661 ; AVX512BW-NEXT:    vpermt2q %zmm0, %zmm1, %zmm4
3662 ; AVX512BW-NEXT:    vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
3663 ; AVX512BW-NEXT:    vmovdqa64 %zmm5, %zmm0
3664 ; AVX512BW-NEXT:    vpermt2q %zmm25, %zmm8, %zmm0
3665 ; AVX512BW-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
3666 ; AVX512BW-NEXT:    vpermt2q %zmm25, %zmm1, %zmm5
3667 ; AVX512BW-NEXT:    vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
3668 ; AVX512BW-NEXT:    vmovdqa64 %zmm6, %zmm0
3669 ; AVX512BW-NEXT:    vpermt2q %zmm19, %zmm8, %zmm0
3670 ; AVX512BW-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
3671 ; AVX512BW-NEXT:    vpermi2q %zmm21, %zmm2, %zmm8
3672 ; AVX512BW-NEXT:    vmovdqu64 %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
3673 ; AVX512BW-NEXT:    vpermt2q %zmm21, %zmm1, %zmm2
3674 ; AVX512BW-NEXT:    vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
3675 ; AVX512BW-NEXT:    vmovdqa64 %zmm3, %zmm0
3676 ; AVX512BW-NEXT:    vpermt2q %zmm18, %zmm10, %zmm0
3677 ; AVX512BW-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
3678 ; AVX512BW-NEXT:    vpermt2q %zmm19, %zmm1, %zmm6
3679 ; AVX512BW-NEXT:    vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
3680 ; AVX512BW-NEXT:    vmovdqa {{.*#+}} ymm11 = <10,0,6,u>
3681 ; AVX512BW-NEXT:    vmovdqa64 %zmm18, %zmm0
3682 ; AVX512BW-NEXT:    vpermt2q %zmm3, %zmm11, %zmm0
3683 ; AVX512BW-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
3684 ; AVX512BW-NEXT:    vmovdqa64 {{.*#+}} ymm31 = <11,1,7,u>
3685 ; AVX512BW-NEXT:    vmovdqa64 %zmm18, %zmm0
3686 ; AVX512BW-NEXT:    vpermt2q %zmm3, %zmm31, %zmm0
3687 ; AVX512BW-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
3688 ; AVX512BW-NEXT:    vbroadcasti32x4 {{.*#+}} zmm5 = [4,10,4,10,4,10,4,10]
3689 ; AVX512BW-NEXT:    # zmm5 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]
3690 ; AVX512BW-NEXT:    vmovdqa64 %zmm3, %zmm0
3691 ; AVX512BW-NEXT:    vpermt2q %zmm18, %zmm5, %zmm0
3692 ; AVX512BW-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
3693 ; AVX512BW-NEXT:    vbroadcasti32x4 {{.*#+}} zmm0 = [5,11,5,11,5,11,5,11]
3694 ; AVX512BW-NEXT:    # zmm0 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]
3695 ; AVX512BW-NEXT:    vpermt2q %zmm18, %zmm0, %zmm3
3696 ; AVX512BW-NEXT:    vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
3697 ; AVX512BW-NEXT:    vmovdqa64 (%rdi), %zmm25
3698 ; AVX512BW-NEXT:    vmovdqa64 64(%rdi), %zmm1
3699 ; AVX512BW-NEXT:    vmovdqa64 %zmm25, %zmm29
3700 ; AVX512BW-NEXT:    vmovdqa64 %zmm7, %zmm2
3701 ; AVX512BW-NEXT:    vpermt2q %zmm1, %zmm7, %zmm29
3702 ; AVX512BW-NEXT:    vmovdqa64 %zmm25, %zmm3
3703 ; AVX512BW-NEXT:    vpermt2q %zmm1, %zmm10, %zmm3
3704 ; AVX512BW-NEXT:    vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
3705 ; AVX512BW-NEXT:    vmovdqa64 %zmm1, %zmm3
3706 ; AVX512BW-NEXT:    vpermt2q %zmm25, %zmm11, %zmm3
3707 ; AVX512BW-NEXT:    vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
3708 ; AVX512BW-NEXT:    vmovdqa64 %zmm1, %zmm3
3709 ; AVX512BW-NEXT:    vpermt2q %zmm25, %zmm31, %zmm3
3710 ; AVX512BW-NEXT:    vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
3711 ; AVX512BW-NEXT:    vmovdqa64 %zmm25, %zmm3
3712 ; AVX512BW-NEXT:    vpermt2q %zmm1, %zmm5, %zmm3
3713 ; AVX512BW-NEXT:    vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
3714 ; AVX512BW-NEXT:    vpermt2q %zmm1, %zmm0, %zmm25
3715 ; AVX512BW-NEXT:    vmovdqa64 320(%rdi), %zmm9
3716 ; AVX512BW-NEXT:    vmovdqa64 256(%rdi), %zmm27
3717 ; AVX512BW-NEXT:    vmovdqa64 %zmm27, %zmm1
3718 ; AVX512BW-NEXT:    vpermt2q %zmm9, %zmm5, %zmm1
3719 ; AVX512BW-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
3720 ; AVX512BW-NEXT:    vmovdqa64 704(%rdi), %zmm30
3721 ; AVX512BW-NEXT:    vmovdqa64 640(%rdi), %zmm26
3722 ; AVX512BW-NEXT:    vmovdqa64 %zmm26, %zmm1
3723 ; AVX512BW-NEXT:    vpermt2q %zmm30, %zmm5, %zmm1
3724 ; AVX512BW-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
3725 ; AVX512BW-NEXT:    vmovdqa64 1088(%rdi), %zmm7
3726 ; AVX512BW-NEXT:    vmovdqa64 1024(%rdi), %zmm20
3727 ; AVX512BW-NEXT:    vmovdqa64 %zmm20, %zmm1
3728 ; AVX512BW-NEXT:    vpermt2q %zmm7, %zmm5, %zmm1
3729 ; AVX512BW-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
3730 ; AVX512BW-NEXT:    vmovdqa64 832(%rdi), %zmm1
3731 ; AVX512BW-NEXT:    vmovdqa64 768(%rdi), %zmm8
3732 ; AVX512BW-NEXT:    vmovdqa64 %zmm8, %zmm15
3733 ; AVX512BW-NEXT:    vpermt2q %zmm1, %zmm2, %zmm15
3734 ; AVX512BW-NEXT:    vmovdqa64 1472(%rdi), %zmm6
3735 ; AVX512BW-NEXT:    vmovdqa64 1408(%rdi), %zmm21
3736 ; AVX512BW-NEXT:    vmovdqa64 %zmm21, %zmm3
3737 ; AVX512BW-NEXT:    vpermt2q %zmm6, %zmm5, %zmm3
3738 ; AVX512BW-NEXT:    vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
3739 ; AVX512BW-NEXT:    vmovdqa64 1216(%rdi), %zmm19
3740 ; AVX512BW-NEXT:    vmovdqa64 1152(%rdi), %zmm4
3741 ; AVX512BW-NEXT:    vpermi2q %zmm19, %zmm4, %zmm2
3742 ; AVX512BW-NEXT:    vmovdqu64 %zmm2, (%rsp) # 64-byte Spill
3743 ; AVX512BW-NEXT:    vmovdqa64 %zmm8, %zmm12
3744 ; AVX512BW-NEXT:    vpermt2q %zmm1, %zmm10, %zmm12
3745 ; AVX512BW-NEXT:    vpermi2q %zmm19, %zmm4, %zmm10
3746 ; AVX512BW-NEXT:    vmovdqu64 %zmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
3747 ; AVX512BW-NEXT:    vmovdqa64 %zmm1, %zmm13
3748 ; AVX512BW-NEXT:    vpermt2q %zmm8, %zmm11, %zmm13
3749 ; AVX512BW-NEXT:    vpermi2q %zmm4, %zmm19, %zmm11
3750 ; AVX512BW-NEXT:    vmovdqa64 %zmm1, %zmm14
3751 ; AVX512BW-NEXT:    vpermt2q %zmm8, %zmm31, %zmm14
3752 ; AVX512BW-NEXT:    vpermi2q %zmm4, %zmm19, %zmm31
3753 ; AVX512BW-NEXT:    vmovdqa64 %zmm8, %zmm2
3754 ; AVX512BW-NEXT:    vpermt2q %zmm1, %zmm5, %zmm2
3755 ; AVX512BW-NEXT:    vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
3756 ; AVX512BW-NEXT:    vpermi2q %zmm19, %zmm4, %zmm5
3757 ; AVX512BW-NEXT:    vpermt2q %zmm19, %zmm0, %zmm4
3758 ; AVX512BW-NEXT:    vpermt2q %zmm1, %zmm0, %zmm8
3759 ; AVX512BW-NEXT:    vmovdqa64 %zmm20, %zmm19
3760 ; AVX512BW-NEXT:    vpermt2q %zmm7, %zmm0, %zmm19
3761 ; AVX512BW-NEXT:    vmovdqa64 %zmm26, %zmm22
3762 ; AVX512BW-NEXT:    vpermt2q %zmm30, %zmm0, %zmm22
3763 ; AVX512BW-NEXT:    vmovdqa64 %zmm27, %zmm17
3764 ; AVX512BW-NEXT:    vpermt2q %zmm9, %zmm0, %zmm17
3765 ; AVX512BW-NEXT:    vmovdqa64 %zmm21, %zmm18
3766 ; AVX512BW-NEXT:    vpermt2q %zmm6, %zmm0, %zmm18
3767 ; AVX512BW-NEXT:    vbroadcasti64x4 {{.*#+}} zmm1 = [0,0,6,12,0,0,6,12]
3768 ; AVX512BW-NEXT:    # zmm1 = mem[0,1,2,3,0,1,2,3]
3769 ; AVX512BW-NEXT:    vmovdqa64 %zmm26, %zmm24
3770 ; AVX512BW-NEXT:    vpermt2q %zmm30, %zmm1, %zmm24
3771 ; AVX512BW-NEXT:    vbroadcasti64x4 {{.*#+}} zmm2 = [0,1,7,13,0,1,7,13]
3772 ; AVX512BW-NEXT:    # zmm2 = mem[0,1,2,3,0,1,2,3]
3773 ; AVX512BW-NEXT:    vmovdqa64 %zmm26, %zmm0
3774 ; AVX512BW-NEXT:    vpermt2q %zmm30, %zmm2, %zmm0
3775 ; AVX512BW-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
3776 ; AVX512BW-NEXT:    vbroadcasti64x4 {{.*#+}} zmm3 = [0,10,0,6,0,10,0,6]
3777 ; AVX512BW-NEXT:    # zmm3 = mem[0,1,2,3,0,1,2,3]
3778 ; AVX512BW-NEXT:    vmovdqa64 %zmm30, %zmm0
3779 ; AVX512BW-NEXT:    vpermt2q %zmm26, %zmm3, %zmm0
3780 ; AVX512BW-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
3781 ; AVX512BW-NEXT:    vbroadcasti64x4 {{.*#+}} zmm0 = [0,11,1,7,0,11,1,7]
3782 ; AVX512BW-NEXT:    # zmm0 = mem[0,1,2,3,0,1,2,3]
3783 ; AVX512BW-NEXT:    vpermt2q %zmm26, %zmm0, %zmm30
3784 ; AVX512BW-NEXT:    vmovdqa64 %zmm27, %zmm26
3785 ; AVX512BW-NEXT:    vpermt2q %zmm9, %zmm1, %zmm26
3786 ; AVX512BW-NEXT:    vmovdqa64 %zmm27, %zmm23
3787 ; AVX512BW-NEXT:    vpermt2q %zmm9, %zmm2, %zmm23
3788 ; AVX512BW-NEXT:    vmovdqa64 %zmm9, %zmm28
3789 ; AVX512BW-NEXT:    vpermt2q %zmm27, %zmm3, %zmm28
3790 ; AVX512BW-NEXT:    vpermt2q %zmm27, %zmm0, %zmm9
3791 ; AVX512BW-NEXT:    vmovdqa64 %zmm20, %zmm27
3792 ; AVX512BW-NEXT:    vpermt2q %zmm7, %zmm1, %zmm27
3793 ; AVX512BW-NEXT:    vpermi2q %zmm6, %zmm21, %zmm1
3794 ; AVX512BW-NEXT:    vmovdqa64 %zmm20, %zmm10
3795 ; AVX512BW-NEXT:    vpermt2q %zmm7, %zmm2, %zmm10
3796 ; AVX512BW-NEXT:    vpermi2q %zmm6, %zmm21, %zmm2
3797 ; AVX512BW-NEXT:    vmovdqa64 %zmm7, %zmm16
3798 ; AVX512BW-NEXT:    vpermt2q %zmm20, %zmm3, %zmm16
3799 ; AVX512BW-NEXT:    vpermi2q %zmm21, %zmm6, %zmm3
3800 ; AVX512BW-NEXT:    vpermt2q %zmm21, %zmm0, %zmm6
3801 ; AVX512BW-NEXT:    vpermt2q %zmm20, %zmm0, %zmm7
3802 ; AVX512BW-NEXT:    movb $56, %al
3803 ; AVX512BW-NEXT:    kmovd %eax, %k1
3804 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
3805 ; AVX512BW-NEXT:    vmovdqa64 %zmm0, %zmm29 {%k1}
3806 ; AVX512BW-NEXT:    movb $-64, %al
3807 ; AVX512BW-NEXT:    kmovd %eax, %k2
3808 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
3809 ; AVX512BW-NEXT:    vmovdqa64 %zmm0, %zmm29 {%k2}
3810 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
3811 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm20 # 64-byte Reload
3812 ; AVX512BW-NEXT:    vmovdqa64 %zmm20, %zmm0 {%k1}
3813 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm20 # 64-byte Reload
3814 ; AVX512BW-NEXT:    vmovdqa64 %zmm20, %zmm0 {%k2}
3815 ; AVX512BW-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
3816 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
3817 ; AVX512BW-NEXT:    vmovdqa64 %zmm0, %zmm15 {%k1}
3818 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
3819 ; AVX512BW-NEXT:    vmovdqa64 %zmm0, %zmm15 {%k2}
3820 ; AVX512BW-NEXT:    vmovdqu64 (%rsp), %zmm0 # 64-byte Reload
3821 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm20 # 64-byte Reload
3822 ; AVX512BW-NEXT:    vmovdqa64 %zmm20, %zmm0 {%k1}
3823 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm20 # 64-byte Reload
3824 ; AVX512BW-NEXT:    vmovdqa64 %zmm20, %zmm0 {%k2}
3825 ; AVX512BW-NEXT:    vmovdqa64 %zmm0, %zmm20
3826 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
3827 ; AVX512BW-NEXT:    vmovdqa64 %zmm0, %zmm12 {%k1}
3828 ; AVX512BW-NEXT:    vmovdqa64 %zmm19, %zmm12 {%k2}
3829 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
3830 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm21 # 64-byte Reload
3831 ; AVX512BW-NEXT:    vmovdqa64 %zmm0, %zmm21 {%k1}
3832 ; AVX512BW-NEXT:    vmovdqa64 %zmm22, %zmm21 {%k2}
3833 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
3834 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm19 # 64-byte Reload
3835 ; AVX512BW-NEXT:    vmovdqa64 %zmm0, %zmm19 {%k1}
3836 ; AVX512BW-NEXT:    vmovdqa64 %zmm17, %zmm19 {%k2}
3837 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
3838 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm17 # 64-byte Reload
3839 ; AVX512BW-NEXT:    vmovdqa64 %zmm17, %zmm0 {%k1}
3840 ; AVX512BW-NEXT:    vmovdqa64 %zmm18, %zmm0 {%k2}
3841 ; AVX512BW-NEXT:    vmovdqa64 %zmm0, %zmm17
3842 ; AVX512BW-NEXT:    movb $24, %al
3843 ; AVX512BW-NEXT:    kmovd %eax, %k2
3844 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
3845 ; AVX512BW-NEXT:    vmovdqa64 %zmm0, %zmm13 {%k2}
3846 ; AVX512BW-NEXT:    movb $-32, %al
3847 ; AVX512BW-NEXT:    kmovd %eax, %k1
3848 ; AVX512BW-NEXT:    vmovdqa64 %zmm27, %zmm13 {%k1}
3849 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
3850 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm18 # 64-byte Reload
3851 ; AVX512BW-NEXT:    vmovdqa64 %zmm0, %zmm18 {%k2}
3852 ; AVX512BW-NEXT:    vmovdqa64 %zmm24, %zmm18 {%k1}
3853 ; AVX512BW-NEXT:    vmovdqa64 %zmm18, %zmm22
3854 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
3855 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm18 # 64-byte Reload
3856 ; AVX512BW-NEXT:    vmovdqa64 %zmm0, %zmm18 {%k2}
3857 ; AVX512BW-NEXT:    vmovdqa64 %zmm26, %zmm18 {%k1}
3858 ; AVX512BW-NEXT:    vmovdqa64 %zmm18, %zmm24
3859 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
3860 ; AVX512BW-NEXT:    vmovdqa64 %zmm0, %zmm11 {%k2}
3861 ; AVX512BW-NEXT:    vmovdqa64 %zmm1, %zmm11 {%k1}
3862 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
3863 ; AVX512BW-NEXT:    vmovdqa64 %zmm0, %zmm14 {%k2}
3864 ; AVX512BW-NEXT:    vmovdqa64 %zmm10, %zmm14 {%k1}
3865 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
3866 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload
3867 ; AVX512BW-NEXT:    vmovdqa64 %zmm0, %zmm1 {%k2}
3868 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
3869 ; AVX512BW-NEXT:    vmovdqa64 %zmm0, %zmm1 {%k1}
3870 ; AVX512BW-NEXT:    vmovdqa64 %zmm1, %zmm18
3871 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
3872 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload
3873 ; AVX512BW-NEXT:    vmovdqa64 %zmm0, %zmm1 {%k2}
3874 ; AVX512BW-NEXT:    vmovdqa64 %zmm23, %zmm1 {%k1}
3875 ; AVX512BW-NEXT:    vmovdqa64 %zmm1, %zmm23
3876 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
3877 ; AVX512BW-NEXT:    vmovdqa64 %zmm0, %zmm31 {%k2}
3878 ; AVX512BW-NEXT:    vmovdqa64 %zmm2, %zmm31 {%k1}
3879 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
3880 ; AVX512BW-NEXT:    vinserti32x4 $0, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm0 # 16-byte Folded Reload
3881 ; AVX512BW-NEXT:    vmovdqa64 %zmm16, %zmm0 {%k1}
3882 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload
3883 ; AVX512BW-NEXT:    vinserti32x4 $0, {{[-0-9]+}}(%r{{[sb]}}p), %zmm1, %zmm1 # 16-byte Folded Reload
3884 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload
3885 ; AVX512BW-NEXT:    vmovdqa64 %zmm2, %zmm1 {%k1}
3886 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload
3887 ; AVX512BW-NEXT:    vinserti32x4 $0, {{[-0-9]+}}(%r{{[sb]}}p), %zmm2, %zmm2 # 16-byte Folded Reload
3888 ; AVX512BW-NEXT:    vmovdqa64 %zmm28, %zmm2 {%k1}
3889 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm10 # 64-byte Reload
3890 ; AVX512BW-NEXT:    vinserti32x4 $0, %xmm5, %zmm10, %zmm5
3891 ; AVX512BW-NEXT:    vmovdqa64 %zmm3, %zmm5 {%k1}
3892 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload
3893 ; AVX512BW-NEXT:    vinserti32x4 $0, {{[-0-9]+}}(%r{{[sb]}}p), %zmm3, %zmm3 # 16-byte Folded Reload
3894 ; AVX512BW-NEXT:    vmovdqa64 %zmm30, %zmm3 {%k1}
3895 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm10 # 64-byte Reload
3896 ; AVX512BW-NEXT:    vinserti32x4 $0, %xmm25, %zmm10, %zmm10
3897 ; AVX512BW-NEXT:    vmovdqa64 %zmm9, %zmm10 {%k1}
3898 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm9 # 64-byte Reload
3899 ; AVX512BW-NEXT:    vinserti32x4 $0, %xmm4, %zmm9, %zmm4
3900 ; AVX512BW-NEXT:    vmovdqa64 %zmm6, %zmm4 {%k1}
3901 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm6 # 64-byte Reload
3902 ; AVX512BW-NEXT:    vinserti32x4 $0, %xmm8, %zmm6, %zmm6
3903 ; AVX512BW-NEXT:    vmovdqa64 %zmm7, %zmm6 {%k1}
3904 ; AVX512BW-NEXT:    vmovdqa64 %zmm20, 192(%rsi)
3905 ; AVX512BW-NEXT:    vmovdqa64 %zmm15, 128(%rsi)
3906 ; AVX512BW-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload
3907 ; AVX512BW-NEXT:    vmovaps %zmm7, 64(%rsi)
3908 ; AVX512BW-NEXT:    vmovdqa64 %zmm29, (%rsi)
3909 ; AVX512BW-NEXT:    vmovdqa64 %zmm17, 192(%rdx)
3910 ; AVX512BW-NEXT:    vmovdqa64 %zmm19, (%rdx)
3911 ; AVX512BW-NEXT:    vmovdqa64 %zmm21, 64(%rdx)
3912 ; AVX512BW-NEXT:    vmovdqa64 %zmm12, 128(%rdx)
3913 ; AVX512BW-NEXT:    vmovdqa64 %zmm11, 192(%rcx)
3914 ; AVX512BW-NEXT:    vmovdqa64 %zmm24, (%rcx)
3915 ; AVX512BW-NEXT:    vmovdqa64 %zmm22, 64(%rcx)
3916 ; AVX512BW-NEXT:    vmovdqa64 %zmm13, 128(%rcx)
3917 ; AVX512BW-NEXT:    vmovdqa64 %zmm31, 192(%r8)
3918 ; AVX512BW-NEXT:    vmovdqa64 %zmm23, (%r8)
3919 ; AVX512BW-NEXT:    vmovdqa64 %zmm18, 64(%r8)
3920 ; AVX512BW-NEXT:    vmovdqa64 %zmm14, 128(%r8)
3921 ; AVX512BW-NEXT:    vmovdqa64 %zmm5, 192(%r9)
3922 ; AVX512BW-NEXT:    vmovdqa64 %zmm2, (%r9)
3923 ; AVX512BW-NEXT:    vmovdqa64 %zmm1, 64(%r9)
3924 ; AVX512BW-NEXT:    vmovdqa64 %zmm0, 128(%r9)
3925 ; AVX512BW-NEXT:    movq {{[0-9]+}}(%rsp), %rax
3926 ; AVX512BW-NEXT:    vmovdqa64 %zmm6, 128(%rax)
3927 ; AVX512BW-NEXT:    vmovdqa64 %zmm4, 192(%rax)
3928 ; AVX512BW-NEXT:    vmovdqa64 %zmm10, (%rax)
3929 ; AVX512BW-NEXT:    vmovdqa64 %zmm3, 64(%rax)
3930 ; AVX512BW-NEXT:    addq $2632, %rsp # imm = 0xA48
3931 ; AVX512BW-NEXT:    vzeroupper
3932 ; AVX512BW-NEXT:    retq
3933   %wide.vec = load <192 x i64>, ptr %in.vec, align 64
3934   %strided.vec0 = shufflevector <192 x i64> %wide.vec, <192 x i64> poison, <32 x i32> <i32 0, i32 6, i32 12, i32 18, i32 24, i32 30, i32 36, i32 42, i32 48, i32 54, i32 60, i32 66, i32 72, i32 78, i32 84, i32 90, i32 96, i32 102, i32 108, i32 114, i32 120, i32 126, i32 132, i32 138, i32 144, i32 150, i32 156, i32 162, i32 168, i32 174, i32 180, i32 186>
3935   %strided.vec1 = shufflevector <192 x i64> %wide.vec, <192 x i64> poison, <32 x i32> <i32 1, i32 7, i32 13, i32 19, i32 25, i32 31, i32 37, i32 43, i32 49, i32 55, i32 61, i32 67, i32 73, i32 79, i32 85, i32 91, i32 97, i32 103, i32 109, i32 115, i32 121, i32 127, i32 133, i32 139, i32 145, i32 151, i32 157, i32 163, i32 169, i32 175, i32 181, i32 187>
3936   %strided.vec2 = shufflevector <192 x i64> %wide.vec, <192 x i64> poison, <32 x i32> <i32 2, i32 8, i32 14, i32 20, i32 26, i32 32, i32 38, i32 44, i32 50, i32 56, i32 62, i32 68, i32 74, i32 80, i32 86, i32 92, i32 98, i32 104, i32 110, i32 116, i32 122, i32 128, i32 134, i32 140, i32 146, i32 152, i32 158, i32 164, i32 170, i32 176, i32 182, i32 188>
3937   %strided.vec3 = shufflevector <192 x i64> %wide.vec, <192 x i64> poison, <32 x i32> <i32 3, i32 9, i32 15, i32 21, i32 27, i32 33, i32 39, i32 45, i32 51, i32 57, i32 63, i32 69, i32 75, i32 81, i32 87, i32 93, i32 99, i32 105, i32 111, i32 117, i32 123, i32 129, i32 135, i32 141, i32 147, i32 153, i32 159, i32 165, i32 171, i32 177, i32 183, i32 189>
3938   %strided.vec4 = shufflevector <192 x i64> %wide.vec, <192 x i64> poison, <32 x i32> <i32 4, i32 10, i32 16, i32 22, i32 28, i32 34, i32 40, i32 46, i32 52, i32 58, i32 64, i32 70, i32 76, i32 82, i32 88, i32 94, i32 100, i32 106, i32 112, i32 118, i32 124, i32 130, i32 136, i32 142, i32 148, i32 154, i32 160, i32 166, i32 172, i32 178, i32 184, i32 190>
3939   %strided.vec5 = shufflevector <192 x i64> %wide.vec, <192 x i64> poison, <32 x i32> <i32 5, i32 11, i32 17, i32 23, i32 29, i32 35, i32 41, i32 47, i32 53, i32 59, i32 65, i32 71, i32 77, i32 83, i32 89, i32 95, i32 101, i32 107, i32 113, i32 119, i32 125, i32 131, i32 137, i32 143, i32 149, i32 155, i32 161, i32 167, i32 173, i32 179, i32 185, i32 191>
3940   store <32 x i64> %strided.vec0, ptr %out.vec0, align 64
3941   store <32 x i64> %strided.vec1, ptr %out.vec1, align 64
3942   store <32 x i64> %strided.vec2, ptr %out.vec2, align 64
3943   store <32 x i64> %strided.vec3, ptr %out.vec3, align 64
3944   store <32 x i64> %strided.vec4, ptr %out.vec4, align 64
3945   store <32 x i64> %strided.vec5, ptr %out.vec5, align 64
3946   ret void
3949 define void @load_i64_stride6_vf64(ptr %in.vec, ptr %out.vec0, ptr %out.vec1, ptr %out.vec2, ptr %out.vec3, ptr %out.vec4, ptr %out.vec5) nounwind {
3950 ; SSE-LABEL: load_i64_stride6_vf64:
3951 ; SSE:       # %bb.0:
3952 ; SSE-NEXT:    subq $2712, %rsp # imm = 0xA98
3953 ; SSE-NEXT:    movaps 816(%rdi), %xmm0
3954 ; SSE-NEXT:    movaps 720(%rdi), %xmm1
3955 ; SSE-NEXT:    movaps 672(%rdi), %xmm8
3956 ; SSE-NEXT:    movaps 624(%rdi), %xmm2
3957 ; SSE-NEXT:    movaps 576(%rdi), %xmm9
3958 ; SSE-NEXT:    movaps 528(%rdi), %xmm3
3959 ; SSE-NEXT:    movaps 480(%rdi), %xmm10
3960 ; SSE-NEXT:    movaps 432(%rdi), %xmm4
3961 ; SSE-NEXT:    movaps 384(%rdi), %xmm11
3962 ; SSE-NEXT:    movaps 336(%rdi), %xmm5
3963 ; SSE-NEXT:    movaps 288(%rdi), %xmm12
3964 ; SSE-NEXT:    movaps 240(%rdi), %xmm6
3965 ; SSE-NEXT:    movaps 192(%rdi), %xmm13
3966 ; SSE-NEXT:    movaps 144(%rdi), %xmm7
3967 ; SSE-NEXT:    movaps 96(%rdi), %xmm14
3968 ; SSE-NEXT:    movaps %xmm14, %xmm15
3969 ; SSE-NEXT:    movlhps {{.*#+}} xmm15 = xmm15[0],xmm7[0]
3970 ; SSE-NEXT:    movaps %xmm15, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3971 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm14 = xmm14[1],xmm7[1]
3972 ; SSE-NEXT:    movaps %xmm14, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3973 ; SSE-NEXT:    movaps %xmm13, %xmm7
3974 ; SSE-NEXT:    movlhps {{.*#+}} xmm7 = xmm7[0],xmm6[0]
3975 ; SSE-NEXT:    movaps %xmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3976 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm13 = xmm13[1],xmm6[1]
3977 ; SSE-NEXT:    movaps %xmm13, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3978 ; SSE-NEXT:    movaps %xmm12, %xmm6
3979 ; SSE-NEXT:    movlhps {{.*#+}} xmm6 = xmm6[0],xmm5[0]
3980 ; SSE-NEXT:    movaps %xmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3981 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm12 = xmm12[1],xmm5[1]
3982 ; SSE-NEXT:    movaps %xmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3983 ; SSE-NEXT:    movaps %xmm11, %xmm5
3984 ; SSE-NEXT:    movlhps {{.*#+}} xmm5 = xmm5[0],xmm4[0]
3985 ; SSE-NEXT:    movaps %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3986 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm11 = xmm11[1],xmm4[1]
3987 ; SSE-NEXT:    movaps %xmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3988 ; SSE-NEXT:    movaps %xmm10, %xmm4
3989 ; SSE-NEXT:    movlhps {{.*#+}} xmm4 = xmm4[0],xmm3[0]
3990 ; SSE-NEXT:    movaps %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3991 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm10 = xmm10[1],xmm3[1]
3992 ; SSE-NEXT:    movaps %xmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3993 ; SSE-NEXT:    movaps %xmm9, %xmm3
3994 ; SSE-NEXT:    movlhps {{.*#+}} xmm3 = xmm3[0],xmm2[0]
3995 ; SSE-NEXT:    movaps %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3996 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm9 = xmm9[1],xmm2[1]
3997 ; SSE-NEXT:    movaps %xmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3998 ; SSE-NEXT:    movaps %xmm8, %xmm2
3999 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm1[0]
4000 ; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4001 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm8 = xmm8[1],xmm1[1]
4002 ; SSE-NEXT:    movaps %xmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4003 ; SSE-NEXT:    movaps 768(%rdi), %xmm1
4004 ; SSE-NEXT:    movaps %xmm1, %xmm2
4005 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]
4006 ; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4007 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
4008 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4009 ; SSE-NEXT:    movaps 912(%rdi), %xmm0
4010 ; SSE-NEXT:    movaps 864(%rdi), %xmm1
4011 ; SSE-NEXT:    movaps %xmm1, %xmm2
4012 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]
4013 ; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4014 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
4015 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4016 ; SSE-NEXT:    movaps 1008(%rdi), %xmm0
4017 ; SSE-NEXT:    movaps 960(%rdi), %xmm1
4018 ; SSE-NEXT:    movaps %xmm1, %xmm2
4019 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]
4020 ; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4021 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
4022 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4023 ; SSE-NEXT:    movaps 1104(%rdi), %xmm0
4024 ; SSE-NEXT:    movaps 1056(%rdi), %xmm1
4025 ; SSE-NEXT:    movaps %xmm1, %xmm2
4026 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]
4027 ; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4028 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
4029 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4030 ; SSE-NEXT:    movaps 1200(%rdi), %xmm0
4031 ; SSE-NEXT:    movaps 1152(%rdi), %xmm1
4032 ; SSE-NEXT:    movaps %xmm1, %xmm2
4033 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]
4034 ; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4035 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
4036 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4037 ; SSE-NEXT:    movaps 1296(%rdi), %xmm0
4038 ; SSE-NEXT:    movaps 1248(%rdi), %xmm1
4039 ; SSE-NEXT:    movaps %xmm1, %xmm2
4040 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]
4041 ; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4042 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
4043 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4044 ; SSE-NEXT:    movaps 1392(%rdi), %xmm0
4045 ; SSE-NEXT:    movaps 1344(%rdi), %xmm1
4046 ; SSE-NEXT:    movaps %xmm1, %xmm2
4047 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]
4048 ; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4049 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
4050 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4051 ; SSE-NEXT:    movaps 1488(%rdi), %xmm0
4052 ; SSE-NEXT:    movaps 1440(%rdi), %xmm1
4053 ; SSE-NEXT:    movaps %xmm1, %xmm2
4054 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]
4055 ; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4056 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
4057 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4058 ; SSE-NEXT:    movaps 1584(%rdi), %xmm0
4059 ; SSE-NEXT:    movaps 1536(%rdi), %xmm1
4060 ; SSE-NEXT:    movaps %xmm1, %xmm2
4061 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]
4062 ; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4063 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
4064 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4065 ; SSE-NEXT:    movaps 1680(%rdi), %xmm0
4066 ; SSE-NEXT:    movaps 1632(%rdi), %xmm1
4067 ; SSE-NEXT:    movaps %xmm1, %xmm2
4068 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]
4069 ; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4070 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
4071 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4072 ; SSE-NEXT:    movaps 1776(%rdi), %xmm0
4073 ; SSE-NEXT:    movaps 1728(%rdi), %xmm1
4074 ; SSE-NEXT:    movaps %xmm1, %xmm2
4075 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]
4076 ; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4077 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
4078 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4079 ; SSE-NEXT:    movaps 1872(%rdi), %xmm0
4080 ; SSE-NEXT:    movaps 1824(%rdi), %xmm1
4081 ; SSE-NEXT:    movaps %xmm1, %xmm2
4082 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]
4083 ; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4084 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
4085 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4086 ; SSE-NEXT:    movaps 1968(%rdi), %xmm0
4087 ; SSE-NEXT:    movaps 1920(%rdi), %xmm1
4088 ; SSE-NEXT:    movaps %xmm1, %xmm2
4089 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]
4090 ; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4091 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
4092 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4093 ; SSE-NEXT:    movaps 2064(%rdi), %xmm0
4094 ; SSE-NEXT:    movaps 2016(%rdi), %xmm1
4095 ; SSE-NEXT:    movaps %xmm1, %xmm2
4096 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]
4097 ; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4098 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
4099 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4100 ; SSE-NEXT:    movaps 2160(%rdi), %xmm0
4101 ; SSE-NEXT:    movaps 2112(%rdi), %xmm1
4102 ; SSE-NEXT:    movaps %xmm1, %xmm2
4103 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]
4104 ; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4105 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
4106 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4107 ; SSE-NEXT:    movaps 2256(%rdi), %xmm0
4108 ; SSE-NEXT:    movaps 2208(%rdi), %xmm1
4109 ; SSE-NEXT:    movaps %xmm1, %xmm2
4110 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]
4111 ; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4112 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
4113 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4114 ; SSE-NEXT:    movaps 2352(%rdi), %xmm0
4115 ; SSE-NEXT:    movaps 2304(%rdi), %xmm1
4116 ; SSE-NEXT:    movaps %xmm1, %xmm2
4117 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]
4118 ; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4119 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
4120 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4121 ; SSE-NEXT:    movaps 2448(%rdi), %xmm0
4122 ; SSE-NEXT:    movaps 2400(%rdi), %xmm1
4123 ; SSE-NEXT:    movaps %xmm1, %xmm2
4124 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]
4125 ; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4126 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
4127 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4128 ; SSE-NEXT:    movaps 2544(%rdi), %xmm0
4129 ; SSE-NEXT:    movaps 2496(%rdi), %xmm1
4130 ; SSE-NEXT:    movaps %xmm1, %xmm2
4131 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]
4132 ; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4133 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
4134 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4135 ; SSE-NEXT:    movaps 2640(%rdi), %xmm0
4136 ; SSE-NEXT:    movaps 2592(%rdi), %xmm1
4137 ; SSE-NEXT:    movaps %xmm1, %xmm2
4138 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]
4139 ; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4140 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
4141 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4142 ; SSE-NEXT:    movaps 2736(%rdi), %xmm0
4143 ; SSE-NEXT:    movaps 2688(%rdi), %xmm1
4144 ; SSE-NEXT:    movaps %xmm1, %xmm2
4145 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]
4146 ; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4147 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
4148 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4149 ; SSE-NEXT:    movaps 2832(%rdi), %xmm0
4150 ; SSE-NEXT:    movaps 2784(%rdi), %xmm1
4151 ; SSE-NEXT:    movaps %xmm1, %xmm2
4152 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]
4153 ; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4154 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
4155 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4156 ; SSE-NEXT:    movaps 2928(%rdi), %xmm0
4157 ; SSE-NEXT:    movaps 2880(%rdi), %xmm1
4158 ; SSE-NEXT:    movaps %xmm1, %xmm2
4159 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]
4160 ; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4161 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
4162 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4163 ; SSE-NEXT:    movaps 3024(%rdi), %xmm0
4164 ; SSE-NEXT:    movaps 2976(%rdi), %xmm1
4165 ; SSE-NEXT:    movaps %xmm1, %xmm2
4166 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]
4167 ; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4168 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
4169 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4170 ; SSE-NEXT:    movaps (%rdi), %xmm1
4171 ; SSE-NEXT:    movaps 48(%rdi), %xmm0
4172 ; SSE-NEXT:    movaps %xmm1, %xmm2
4173 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]
4174 ; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4175 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
4176 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4177 ; SSE-NEXT:    movaps 64(%rdi), %xmm0
4178 ; SSE-NEXT:    movaps 16(%rdi), %xmm1
4179 ; SSE-NEXT:    movaps %xmm1, %xmm2
4180 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]
4181 ; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4182 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
4183 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4184 ; SSE-NEXT:    movaps 160(%rdi), %xmm0
4185 ; SSE-NEXT:    movaps 112(%rdi), %xmm1
4186 ; SSE-NEXT:    movaps %xmm1, %xmm2
4187 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]
4188 ; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4189 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
4190 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4191 ; SSE-NEXT:    movaps 256(%rdi), %xmm0
4192 ; SSE-NEXT:    movaps 208(%rdi), %xmm1
4193 ; SSE-NEXT:    movaps %xmm1, %xmm2
4194 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]
4195 ; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4196 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
4197 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4198 ; SSE-NEXT:    movaps 352(%rdi), %xmm0
4199 ; SSE-NEXT:    movaps 304(%rdi), %xmm1
4200 ; SSE-NEXT:    movaps %xmm1, %xmm2
4201 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]
4202 ; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4203 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
4204 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4205 ; SSE-NEXT:    movaps 448(%rdi), %xmm0
4206 ; SSE-NEXT:    movaps 400(%rdi), %xmm1
4207 ; SSE-NEXT:    movaps %xmm1, %xmm2
4208 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]
4209 ; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4210 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
4211 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4212 ; SSE-NEXT:    movaps 544(%rdi), %xmm0
4213 ; SSE-NEXT:    movaps 496(%rdi), %xmm1
4214 ; SSE-NEXT:    movaps %xmm1, %xmm2
4215 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]
4216 ; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4217 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
4218 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4219 ; SSE-NEXT:    movaps 640(%rdi), %xmm0
4220 ; SSE-NEXT:    movaps 592(%rdi), %xmm1
4221 ; SSE-NEXT:    movaps %xmm1, %xmm2
4222 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]
4223 ; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4224 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
4225 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4226 ; SSE-NEXT:    movaps 736(%rdi), %xmm0
4227 ; SSE-NEXT:    movaps 688(%rdi), %xmm1
4228 ; SSE-NEXT:    movaps %xmm1, %xmm2
4229 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]
4230 ; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4231 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
4232 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4233 ; SSE-NEXT:    movaps 832(%rdi), %xmm0
4234 ; SSE-NEXT:    movaps 784(%rdi), %xmm1
4235 ; SSE-NEXT:    movaps %xmm1, %xmm2
4236 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]
4237 ; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4238 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
4239 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4240 ; SSE-NEXT:    movaps 928(%rdi), %xmm0
4241 ; SSE-NEXT:    movaps 880(%rdi), %xmm1
4242 ; SSE-NEXT:    movaps %xmm1, %xmm2
4243 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]
4244 ; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4245 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
4246 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4247 ; SSE-NEXT:    movaps 1024(%rdi), %xmm0
4248 ; SSE-NEXT:    movaps 976(%rdi), %xmm1
4249 ; SSE-NEXT:    movaps %xmm1, %xmm2
4250 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]
4251 ; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4252 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
4253 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4254 ; SSE-NEXT:    movaps 1120(%rdi), %xmm0
4255 ; SSE-NEXT:    movaps 1072(%rdi), %xmm1
4256 ; SSE-NEXT:    movaps %xmm1, %xmm2
4257 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]
4258 ; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4259 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
4260 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4261 ; SSE-NEXT:    movaps 1216(%rdi), %xmm0
4262 ; SSE-NEXT:    movaps 1168(%rdi), %xmm1
4263 ; SSE-NEXT:    movaps %xmm1, %xmm2
4264 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]
4265 ; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4266 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
4267 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4268 ; SSE-NEXT:    movaps 1312(%rdi), %xmm0
4269 ; SSE-NEXT:    movaps 1264(%rdi), %xmm1
4270 ; SSE-NEXT:    movaps %xmm1, %xmm2
4271 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]
4272 ; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4273 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
4274 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4275 ; SSE-NEXT:    movaps 1408(%rdi), %xmm0
4276 ; SSE-NEXT:    movaps 1360(%rdi), %xmm1
4277 ; SSE-NEXT:    movaps %xmm1, %xmm2
4278 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]
4279 ; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4280 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
4281 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4282 ; SSE-NEXT:    movaps 1504(%rdi), %xmm0
4283 ; SSE-NEXT:    movaps 1456(%rdi), %xmm1
4284 ; SSE-NEXT:    movaps %xmm1, %xmm2
4285 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]
4286 ; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4287 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
4288 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4289 ; SSE-NEXT:    movaps 1600(%rdi), %xmm0
4290 ; SSE-NEXT:    movaps 1552(%rdi), %xmm1
4291 ; SSE-NEXT:    movaps %xmm1, %xmm2
4292 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]
4293 ; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4294 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
4295 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4296 ; SSE-NEXT:    movaps 1696(%rdi), %xmm0
4297 ; SSE-NEXT:    movaps 1648(%rdi), %xmm1
4298 ; SSE-NEXT:    movaps %xmm1, %xmm2
4299 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]
4300 ; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4301 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
4302 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4303 ; SSE-NEXT:    movaps 1792(%rdi), %xmm0
4304 ; SSE-NEXT:    movaps 1744(%rdi), %xmm1
4305 ; SSE-NEXT:    movaps %xmm1, %xmm2
4306 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]
4307 ; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4308 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
4309 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4310 ; SSE-NEXT:    movaps 1888(%rdi), %xmm0
4311 ; SSE-NEXT:    movaps 1840(%rdi), %xmm1
4312 ; SSE-NEXT:    movaps %xmm1, %xmm2
4313 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]
4314 ; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4315 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
4316 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4317 ; SSE-NEXT:    movaps 1984(%rdi), %xmm0
4318 ; SSE-NEXT:    movaps 1936(%rdi), %xmm1
4319 ; SSE-NEXT:    movaps %xmm1, %xmm2
4320 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]
4321 ; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4322 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
4323 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4324 ; SSE-NEXT:    movaps 2080(%rdi), %xmm0
4325 ; SSE-NEXT:    movaps 2032(%rdi), %xmm1
4326 ; SSE-NEXT:    movaps %xmm1, %xmm2
4327 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]
4328 ; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4329 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
4330 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4331 ; SSE-NEXT:    movaps 2176(%rdi), %xmm0
4332 ; SSE-NEXT:    movaps 2128(%rdi), %xmm1
4333 ; SSE-NEXT:    movaps %xmm1, %xmm2
4334 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]
4335 ; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4336 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
4337 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4338 ; SSE-NEXT:    movaps 2272(%rdi), %xmm0
4339 ; SSE-NEXT:    movaps 2224(%rdi), %xmm1
4340 ; SSE-NEXT:    movaps %xmm1, %xmm2
4341 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]
4342 ; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4343 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
4344 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4345 ; SSE-NEXT:    movaps 2368(%rdi), %xmm0
4346 ; SSE-NEXT:    movaps 2320(%rdi), %xmm1
4347 ; SSE-NEXT:    movaps %xmm1, %xmm2
4348 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]
4349 ; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4350 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
4351 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4352 ; SSE-NEXT:    movaps 2464(%rdi), %xmm0
4353 ; SSE-NEXT:    movaps 2416(%rdi), %xmm1
4354 ; SSE-NEXT:    movaps %xmm1, %xmm2
4355 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]
4356 ; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4357 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
4358 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4359 ; SSE-NEXT:    movaps 2560(%rdi), %xmm0
4360 ; SSE-NEXT:    movaps 2512(%rdi), %xmm1
4361 ; SSE-NEXT:    movaps %xmm1, %xmm2
4362 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]
4363 ; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4364 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
4365 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4366 ; SSE-NEXT:    movaps 2656(%rdi), %xmm0
4367 ; SSE-NEXT:    movaps 2608(%rdi), %xmm1
4368 ; SSE-NEXT:    movaps %xmm1, %xmm2
4369 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]
4370 ; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4371 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
4372 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4373 ; SSE-NEXT:    movaps 2752(%rdi), %xmm0
4374 ; SSE-NEXT:    movaps 2704(%rdi), %xmm1
4375 ; SSE-NEXT:    movaps %xmm1, %xmm2
4376 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]
4377 ; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4378 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
4379 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4380 ; SSE-NEXT:    movaps 2848(%rdi), %xmm0
4381 ; SSE-NEXT:    movaps 2800(%rdi), %xmm1
4382 ; SSE-NEXT:    movaps %xmm1, %xmm2
4383 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]
4384 ; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4385 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
4386 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4387 ; SSE-NEXT:    movaps 2944(%rdi), %xmm0
4388 ; SSE-NEXT:    movaps 2896(%rdi), %xmm1
4389 ; SSE-NEXT:    movaps %xmm1, %xmm2
4390 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]
4391 ; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4392 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
4393 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4394 ; SSE-NEXT:    movaps 3040(%rdi), %xmm0
4395 ; SSE-NEXT:    movaps 2992(%rdi), %xmm1
4396 ; SSE-NEXT:    movaps %xmm1, %xmm2
4397 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]
4398 ; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4399 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
4400 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4401 ; SSE-NEXT:    movaps 80(%rdi), %xmm0
4402 ; SSE-NEXT:    movaps 32(%rdi), %xmm1
4403 ; SSE-NEXT:    movaps %xmm1, %xmm2
4404 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]
4405 ; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4406 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
4407 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4408 ; SSE-NEXT:    movaps 176(%rdi), %xmm0
4409 ; SSE-NEXT:    movaps 128(%rdi), %xmm1
4410 ; SSE-NEXT:    movaps %xmm1, %xmm2
4411 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]
4412 ; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4413 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
4414 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4415 ; SSE-NEXT:    movaps 272(%rdi), %xmm0
4416 ; SSE-NEXT:    movaps 224(%rdi), %xmm1
4417 ; SSE-NEXT:    movaps %xmm1, %xmm2
4418 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]
4419 ; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4420 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
4421 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4422 ; SSE-NEXT:    movaps 368(%rdi), %xmm0
4423 ; SSE-NEXT:    movaps 320(%rdi), %xmm1
4424 ; SSE-NEXT:    movaps %xmm1, %xmm2
4425 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]
4426 ; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4427 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
4428 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4429 ; SSE-NEXT:    movaps 464(%rdi), %xmm0
4430 ; SSE-NEXT:    movaps 416(%rdi), %xmm1
4431 ; SSE-NEXT:    movaps %xmm1, %xmm2
4432 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]
4433 ; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4434 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
4435 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4436 ; SSE-NEXT:    movaps 560(%rdi), %xmm0
4437 ; SSE-NEXT:    movaps 512(%rdi), %xmm1
4438 ; SSE-NEXT:    movaps %xmm1, %xmm2
4439 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]
4440 ; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4441 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
4442 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4443 ; SSE-NEXT:    movaps 656(%rdi), %xmm0
4444 ; SSE-NEXT:    movaps 608(%rdi), %xmm1
4445 ; SSE-NEXT:    movaps %xmm1, %xmm2
4446 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]
4447 ; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4448 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
4449 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4450 ; SSE-NEXT:    movaps 752(%rdi), %xmm0
4451 ; SSE-NEXT:    movaps 704(%rdi), %xmm1
4452 ; SSE-NEXT:    movaps %xmm1, %xmm2
4453 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]
4454 ; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4455 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
4456 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4457 ; SSE-NEXT:    movaps 848(%rdi), %xmm0
4458 ; SSE-NEXT:    movaps 800(%rdi), %xmm1
4459 ; SSE-NEXT:    movaps %xmm1, %xmm2
4460 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]
4461 ; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4462 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
4463 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4464 ; SSE-NEXT:    movaps 944(%rdi), %xmm0
4465 ; SSE-NEXT:    movaps 896(%rdi), %xmm1
4466 ; SSE-NEXT:    movaps %xmm1, %xmm2
4467 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]
4468 ; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4469 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
4470 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4471 ; SSE-NEXT:    movaps 1040(%rdi), %xmm0
4472 ; SSE-NEXT:    movaps 992(%rdi), %xmm1
4473 ; SSE-NEXT:    movaps %xmm1, %xmm2
4474 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]
4475 ; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4476 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
4477 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4478 ; SSE-NEXT:    movaps 1136(%rdi), %xmm0
4479 ; SSE-NEXT:    movaps 1088(%rdi), %xmm1
4480 ; SSE-NEXT:    movaps %xmm1, %xmm2
4481 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]
4482 ; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4483 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
4484 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4485 ; SSE-NEXT:    movaps 1232(%rdi), %xmm0
4486 ; SSE-NEXT:    movaps 1184(%rdi), %xmm1
4487 ; SSE-NEXT:    movaps %xmm1, %xmm2
4488 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]
4489 ; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4490 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
4491 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4492 ; SSE-NEXT:    movaps 1328(%rdi), %xmm0
4493 ; SSE-NEXT:    movaps 1280(%rdi), %xmm1
4494 ; SSE-NEXT:    movaps %xmm1, %xmm2
4495 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]
4496 ; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4497 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
4498 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4499 ; SSE-NEXT:    movaps 1424(%rdi), %xmm0
4500 ; SSE-NEXT:    movaps 1376(%rdi), %xmm1
4501 ; SSE-NEXT:    movaps %xmm1, %xmm2
4502 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]
4503 ; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4504 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
4505 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4506 ; SSE-NEXT:    movaps 1520(%rdi), %xmm0
4507 ; SSE-NEXT:    movaps 1472(%rdi), %xmm1
4508 ; SSE-NEXT:    movaps %xmm1, %xmm2
4509 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]
4510 ; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4511 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
4512 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4513 ; SSE-NEXT:    movaps 1616(%rdi), %xmm0
4514 ; SSE-NEXT:    movaps 1568(%rdi), %xmm1
4515 ; SSE-NEXT:    movaps %xmm1, %xmm2
4516 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]
4517 ; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4518 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
4519 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4520 ; SSE-NEXT:    movaps 1712(%rdi), %xmm0
4521 ; SSE-NEXT:    movaps 1664(%rdi), %xmm1
4522 ; SSE-NEXT:    movaps %xmm1, %xmm2
4523 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]
4524 ; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4525 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
4526 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4527 ; SSE-NEXT:    movaps 1808(%rdi), %xmm0
4528 ; SSE-NEXT:    movaps 1760(%rdi), %xmm1
4529 ; SSE-NEXT:    movaps %xmm1, %xmm2
4530 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]
4531 ; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4532 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
4533 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4534 ; SSE-NEXT:    movaps 1904(%rdi), %xmm0
4535 ; SSE-NEXT:    movaps 1856(%rdi), %xmm1
4536 ; SSE-NEXT:    movaps %xmm1, %xmm2
4537 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]
4538 ; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4539 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
4540 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4541 ; SSE-NEXT:    movaps 2000(%rdi), %xmm0
4542 ; SSE-NEXT:    movaps 1952(%rdi), %xmm1
4543 ; SSE-NEXT:    movaps %xmm1, %xmm2
4544 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]
4545 ; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4546 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
4547 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4548 ; SSE-NEXT:    movaps 2096(%rdi), %xmm0
4549 ; SSE-NEXT:    movaps 2048(%rdi), %xmm1
4550 ; SSE-NEXT:    movaps %xmm1, %xmm2
4551 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]
4552 ; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4553 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
4554 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4555 ; SSE-NEXT:    movaps 2192(%rdi), %xmm0
4556 ; SSE-NEXT:    movaps 2144(%rdi), %xmm1
4557 ; SSE-NEXT:    movaps %xmm1, %xmm2
4558 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]
4559 ; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4560 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
4561 ; SSE-NEXT:    movaps %xmm1, (%rsp) # 16-byte Spill
4562 ; SSE-NEXT:    movaps 2288(%rdi), %xmm0
4563 ; SSE-NEXT:    movaps 2240(%rdi), %xmm15
4564 ; SSE-NEXT:    movaps %xmm15, %xmm1
4565 ; SSE-NEXT:    movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]
4566 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4567 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm15 = xmm15[1],xmm0[1]
4568 ; SSE-NEXT:    movaps 2384(%rdi), %xmm0
4569 ; SSE-NEXT:    movaps 2336(%rdi), %xmm12
4570 ; SSE-NEXT:    movaps %xmm12, %xmm1
4571 ; SSE-NEXT:    movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]
4572 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4573 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm12 = xmm12[1],xmm0[1]
4574 ; SSE-NEXT:    movaps 2480(%rdi), %xmm0
4575 ; SSE-NEXT:    movaps 2432(%rdi), %xmm14
4576 ; SSE-NEXT:    movaps %xmm14, %xmm1
4577 ; SSE-NEXT:    movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]
4578 ; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4579 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm14 = xmm14[1],xmm0[1]
4580 ; SSE-NEXT:    movaps 2576(%rdi), %xmm0
4581 ; SSE-NEXT:    movaps 2528(%rdi), %xmm10
4582 ; SSE-NEXT:    movaps %xmm10, %xmm13
4583 ; SSE-NEXT:    movlhps {{.*#+}} xmm13 = xmm13[0],xmm0[0]
4584 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm10 = xmm10[1],xmm0[1]
4585 ; SSE-NEXT:    movaps 2672(%rdi), %xmm0
4586 ; SSE-NEXT:    movaps 2624(%rdi), %xmm9
4587 ; SSE-NEXT:    movaps %xmm9, %xmm11
4588 ; SSE-NEXT:    movlhps {{.*#+}} xmm11 = xmm11[0],xmm0[0]
4589 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm9 = xmm9[1],xmm0[1]
4590 ; SSE-NEXT:    movaps 2768(%rdi), %xmm0
4591 ; SSE-NEXT:    movaps 2720(%rdi), %xmm5
4592 ; SSE-NEXT:    movaps %xmm5, %xmm8
4593 ; SSE-NEXT:    movlhps {{.*#+}} xmm8 = xmm8[0],xmm0[0]
4594 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm5 = xmm5[1],xmm0[1]
4595 ; SSE-NEXT:    movaps 2864(%rdi), %xmm0
4596 ; SSE-NEXT:    movaps 2816(%rdi), %xmm6
4597 ; SSE-NEXT:    movaps %xmm6, %xmm7
4598 ; SSE-NEXT:    movlhps {{.*#+}} xmm7 = xmm7[0],xmm0[0]
4599 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm6 = xmm6[1],xmm0[1]
4600 ; SSE-NEXT:    movaps 2960(%rdi), %xmm0
4601 ; SSE-NEXT:    movaps 2912(%rdi), %xmm3
4602 ; SSE-NEXT:    movaps %xmm3, %xmm4
4603 ; SSE-NEXT:    movlhps {{.*#+}} xmm4 = xmm4[0],xmm0[0]
4604 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm3 = xmm3[1],xmm0[1]
4605 ; SSE-NEXT:    movaps 3056(%rdi), %xmm0
4606 ; SSE-NEXT:    movaps 3008(%rdi), %xmm1
4607 ; SSE-NEXT:    movaps %xmm1, %xmm2
4608 ; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]
4609 ; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
4610 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4611 ; SSE-NEXT:    movaps %xmm0, 496(%rsi)
4612 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4613 ; SSE-NEXT:    movaps %xmm0, 480(%rsi)
4614 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4615 ; SSE-NEXT:    movaps %xmm0, 464(%rsi)
4616 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4617 ; SSE-NEXT:    movaps %xmm0, 448(%rsi)
4618 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4619 ; SSE-NEXT:    movaps %xmm0, 432(%rsi)
4620 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4621 ; SSE-NEXT:    movaps %xmm0, 416(%rsi)
4622 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4623 ; SSE-NEXT:    movaps %xmm0, 400(%rsi)
4624 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4625 ; SSE-NEXT:    movaps %xmm0, 384(%rsi)
4626 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4627 ; SSE-NEXT:    movaps %xmm0, 368(%rsi)
4628 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4629 ; SSE-NEXT:    movaps %xmm0, 352(%rsi)
4630 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4631 ; SSE-NEXT:    movaps %xmm0, 336(%rsi)
4632 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4633 ; SSE-NEXT:    movaps %xmm0, 320(%rsi)
4634 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4635 ; SSE-NEXT:    movaps %xmm0, 304(%rsi)
4636 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4637 ; SSE-NEXT:    movaps %xmm0, 288(%rsi)
4638 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4639 ; SSE-NEXT:    movaps %xmm0, 272(%rsi)
4640 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4641 ; SSE-NEXT:    movaps %xmm0, 256(%rsi)
4642 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4643 ; SSE-NEXT:    movaps %xmm0, 240(%rsi)
4644 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4645 ; SSE-NEXT:    movaps %xmm0, 224(%rsi)
4646 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4647 ; SSE-NEXT:    movaps %xmm0, 208(%rsi)
4648 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4649 ; SSE-NEXT:    movaps %xmm0, 192(%rsi)
4650 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4651 ; SSE-NEXT:    movaps %xmm0, 176(%rsi)
4652 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4653 ; SSE-NEXT:    movaps %xmm0, 160(%rsi)
4654 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4655 ; SSE-NEXT:    movaps %xmm0, 144(%rsi)
4656 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4657 ; SSE-NEXT:    movaps %xmm0, 128(%rsi)
4658 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4659 ; SSE-NEXT:    movaps %xmm0, 112(%rsi)
4660 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4661 ; SSE-NEXT:    movaps %xmm0, 96(%rsi)
4662 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4663 ; SSE-NEXT:    movaps %xmm0, 80(%rsi)
4664 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4665 ; SSE-NEXT:    movaps %xmm0, 64(%rsi)
4666 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4667 ; SSE-NEXT:    movaps %xmm0, 48(%rsi)
4668 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4669 ; SSE-NEXT:    movaps %xmm0, 32(%rsi)
4670 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4671 ; SSE-NEXT:    movaps %xmm0, 16(%rsi)
4672 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4673 ; SSE-NEXT:    movaps %xmm0, (%rsi)
4674 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4675 ; SSE-NEXT:    movaps %xmm0, 496(%rdx)
4676 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4677 ; SSE-NEXT:    movaps %xmm0, 480(%rdx)
4678 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4679 ; SSE-NEXT:    movaps %xmm0, 464(%rdx)
4680 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4681 ; SSE-NEXT:    movaps %xmm0, 448(%rdx)
4682 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4683 ; SSE-NEXT:    movaps %xmm0, 432(%rdx)
4684 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4685 ; SSE-NEXT:    movaps %xmm0, 416(%rdx)
4686 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4687 ; SSE-NEXT:    movaps %xmm0, 400(%rdx)
4688 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4689 ; SSE-NEXT:    movaps %xmm0, 384(%rdx)
4690 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4691 ; SSE-NEXT:    movaps %xmm0, 368(%rdx)
4692 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4693 ; SSE-NEXT:    movaps %xmm0, 352(%rdx)
4694 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4695 ; SSE-NEXT:    movaps %xmm0, 336(%rdx)
4696 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4697 ; SSE-NEXT:    movaps %xmm0, 320(%rdx)
4698 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4699 ; SSE-NEXT:    movaps %xmm0, 304(%rdx)
4700 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4701 ; SSE-NEXT:    movaps %xmm0, 288(%rdx)
4702 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4703 ; SSE-NEXT:    movaps %xmm0, 272(%rdx)
4704 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4705 ; SSE-NEXT:    movaps %xmm0, 256(%rdx)
4706 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4707 ; SSE-NEXT:    movaps %xmm0, 240(%rdx)
4708 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4709 ; SSE-NEXT:    movaps %xmm0, 224(%rdx)
4710 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4711 ; SSE-NEXT:    movaps %xmm0, 208(%rdx)
4712 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4713 ; SSE-NEXT:    movaps %xmm0, 192(%rdx)
4714 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4715 ; SSE-NEXT:    movaps %xmm0, 176(%rdx)
4716 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4717 ; SSE-NEXT:    movaps %xmm0, 160(%rdx)
4718 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4719 ; SSE-NEXT:    movaps %xmm0, 144(%rdx)
4720 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4721 ; SSE-NEXT:    movaps %xmm0, 128(%rdx)
4722 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4723 ; SSE-NEXT:    movaps %xmm0, 112(%rdx)
4724 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4725 ; SSE-NEXT:    movaps %xmm0, 96(%rdx)
4726 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4727 ; SSE-NEXT:    movaps %xmm0, 80(%rdx)
4728 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4729 ; SSE-NEXT:    movaps %xmm0, 64(%rdx)
4730 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4731 ; SSE-NEXT:    movaps %xmm0, 48(%rdx)
4732 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4733 ; SSE-NEXT:    movaps %xmm0, 32(%rdx)
4734 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4735 ; SSE-NEXT:    movaps %xmm0, 16(%rdx)
4736 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4737 ; SSE-NEXT:    movaps %xmm0, (%rdx)
4738 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4739 ; SSE-NEXT:    movaps %xmm0, 496(%rcx)
4740 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4741 ; SSE-NEXT:    movaps %xmm0, 480(%rcx)
4742 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4743 ; SSE-NEXT:    movaps %xmm0, 464(%rcx)
4744 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4745 ; SSE-NEXT:    movaps %xmm0, 448(%rcx)
4746 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4747 ; SSE-NEXT:    movaps %xmm0, 432(%rcx)
4748 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4749 ; SSE-NEXT:    movaps %xmm0, 416(%rcx)
4750 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4751 ; SSE-NEXT:    movaps %xmm0, 400(%rcx)
4752 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4753 ; SSE-NEXT:    movaps %xmm0, 384(%rcx)
4754 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4755 ; SSE-NEXT:    movaps %xmm0, 368(%rcx)
4756 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4757 ; SSE-NEXT:    movaps %xmm0, 352(%rcx)
4758 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4759 ; SSE-NEXT:    movaps %xmm0, 336(%rcx)
4760 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4761 ; SSE-NEXT:    movaps %xmm0, 320(%rcx)
4762 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4763 ; SSE-NEXT:    movaps %xmm0, 304(%rcx)
4764 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4765 ; SSE-NEXT:    movaps %xmm0, 288(%rcx)
4766 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4767 ; SSE-NEXT:    movaps %xmm0, 272(%rcx)
4768 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4769 ; SSE-NEXT:    movaps %xmm0, 256(%rcx)
4770 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4771 ; SSE-NEXT:    movaps %xmm0, 240(%rcx)
4772 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4773 ; SSE-NEXT:    movaps %xmm0, 224(%rcx)
4774 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4775 ; SSE-NEXT:    movaps %xmm0, 208(%rcx)
4776 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4777 ; SSE-NEXT:    movaps %xmm0, 192(%rcx)
4778 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4779 ; SSE-NEXT:    movaps %xmm0, 176(%rcx)
4780 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4781 ; SSE-NEXT:    movaps %xmm0, 160(%rcx)
4782 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4783 ; SSE-NEXT:    movaps %xmm0, 144(%rcx)
4784 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4785 ; SSE-NEXT:    movaps %xmm0, 128(%rcx)
4786 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4787 ; SSE-NEXT:    movaps %xmm0, 112(%rcx)
4788 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4789 ; SSE-NEXT:    movaps %xmm0, 96(%rcx)
4790 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4791 ; SSE-NEXT:    movaps %xmm0, 80(%rcx)
4792 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4793 ; SSE-NEXT:    movaps %xmm0, 64(%rcx)
4794 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4795 ; SSE-NEXT:    movaps %xmm0, 48(%rcx)
4796 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4797 ; SSE-NEXT:    movaps %xmm0, 32(%rcx)
4798 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4799 ; SSE-NEXT:    movaps %xmm0, 16(%rcx)
4800 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4801 ; SSE-NEXT:    movaps %xmm0, (%rcx)
4802 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4803 ; SSE-NEXT:    movaps %xmm0, 496(%r8)
4804 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4805 ; SSE-NEXT:    movaps %xmm0, 480(%r8)
4806 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4807 ; SSE-NEXT:    movaps %xmm0, 464(%r8)
4808 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4809 ; SSE-NEXT:    movaps %xmm0, 448(%r8)
4810 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4811 ; SSE-NEXT:    movaps %xmm0, 432(%r8)
4812 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4813 ; SSE-NEXT:    movaps %xmm0, 416(%r8)
4814 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4815 ; SSE-NEXT:    movaps %xmm0, 400(%r8)
4816 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4817 ; SSE-NEXT:    movaps %xmm0, 384(%r8)
4818 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4819 ; SSE-NEXT:    movaps %xmm0, 368(%r8)
4820 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4821 ; SSE-NEXT:    movaps %xmm0, 352(%r8)
4822 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4823 ; SSE-NEXT:    movaps %xmm0, 336(%r8)
4824 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4825 ; SSE-NEXT:    movaps %xmm0, 320(%r8)
4826 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4827 ; SSE-NEXT:    movaps %xmm0, 304(%r8)
4828 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4829 ; SSE-NEXT:    movaps %xmm0, 288(%r8)
4830 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4831 ; SSE-NEXT:    movaps %xmm0, 272(%r8)
4832 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4833 ; SSE-NEXT:    movaps %xmm0, 256(%r8)
4834 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4835 ; SSE-NEXT:    movaps %xmm0, 240(%r8)
4836 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4837 ; SSE-NEXT:    movaps %xmm0, 224(%r8)
4838 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4839 ; SSE-NEXT:    movaps %xmm0, 208(%r8)
4840 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4841 ; SSE-NEXT:    movaps %xmm0, 192(%r8)
4842 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4843 ; SSE-NEXT:    movaps %xmm0, 176(%r8)
4844 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4845 ; SSE-NEXT:    movaps %xmm0, 160(%r8)
4846 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4847 ; SSE-NEXT:    movaps %xmm0, 144(%r8)
4848 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4849 ; SSE-NEXT:    movaps %xmm0, 128(%r8)
4850 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4851 ; SSE-NEXT:    movaps %xmm0, 112(%r8)
4852 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4853 ; SSE-NEXT:    movaps %xmm0, 96(%r8)
4854 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4855 ; SSE-NEXT:    movaps %xmm0, 80(%r8)
4856 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4857 ; SSE-NEXT:    movaps %xmm0, 64(%r8)
4858 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4859 ; SSE-NEXT:    movaps %xmm0, 48(%r8)
4860 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4861 ; SSE-NEXT:    movaps %xmm0, 32(%r8)
4862 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4863 ; SSE-NEXT:    movaps %xmm0, 16(%r8)
4864 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4865 ; SSE-NEXT:    movaps %xmm0, (%r8)
4866 ; SSE-NEXT:    movaps %xmm2, 496(%r9)
4867 ; SSE-NEXT:    movaps %xmm4, 480(%r9)
4868 ; SSE-NEXT:    movaps %xmm7, 464(%r9)
4869 ; SSE-NEXT:    movaps %xmm8, 448(%r9)
4870 ; SSE-NEXT:    movaps %xmm11, 432(%r9)
4871 ; SSE-NEXT:    movaps %xmm13, 416(%r9)
4872 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4873 ; SSE-NEXT:    movaps %xmm0, 400(%r9)
4874 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4875 ; SSE-NEXT:    movaps %xmm0, 384(%r9)
4876 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4877 ; SSE-NEXT:    movaps %xmm0, 368(%r9)
4878 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4879 ; SSE-NEXT:    movaps %xmm0, 352(%r9)
4880 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4881 ; SSE-NEXT:    movaps %xmm0, 336(%r9)
4882 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4883 ; SSE-NEXT:    movaps %xmm0, 320(%r9)
4884 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4885 ; SSE-NEXT:    movaps %xmm0, 304(%r9)
4886 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4887 ; SSE-NEXT:    movaps %xmm0, 288(%r9)
4888 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4889 ; SSE-NEXT:    movaps %xmm0, 272(%r9)
4890 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4891 ; SSE-NEXT:    movaps %xmm0, 256(%r9)
4892 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4893 ; SSE-NEXT:    movaps %xmm0, 240(%r9)
4894 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4895 ; SSE-NEXT:    movaps %xmm0, 224(%r9)
4896 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4897 ; SSE-NEXT:    movaps %xmm0, 208(%r9)
4898 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4899 ; SSE-NEXT:    movaps %xmm0, 192(%r9)
4900 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4901 ; SSE-NEXT:    movaps %xmm0, 176(%r9)
4902 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4903 ; SSE-NEXT:    movaps %xmm0, 160(%r9)
4904 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4905 ; SSE-NEXT:    movaps %xmm0, 144(%r9)
4906 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4907 ; SSE-NEXT:    movaps %xmm0, 128(%r9)
4908 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4909 ; SSE-NEXT:    movaps %xmm0, 112(%r9)
4910 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4911 ; SSE-NEXT:    movaps %xmm0, 96(%r9)
4912 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4913 ; SSE-NEXT:    movaps %xmm0, 80(%r9)
4914 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4915 ; SSE-NEXT:    movaps %xmm0, 64(%r9)
4916 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4917 ; SSE-NEXT:    movaps %xmm0, 48(%r9)
4918 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4919 ; SSE-NEXT:    movaps %xmm0, 32(%r9)
4920 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4921 ; SSE-NEXT:    movaps %xmm0, 16(%r9)
4922 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4923 ; SSE-NEXT:    movaps %xmm0, (%r9)
4924 ; SSE-NEXT:    movq {{[0-9]+}}(%rsp), %rax
4925 ; SSE-NEXT:    movaps %xmm1, 496(%rax)
4926 ; SSE-NEXT:    movaps %xmm3, 480(%rax)
4927 ; SSE-NEXT:    movaps %xmm6, 464(%rax)
4928 ; SSE-NEXT:    movaps %xmm5, 448(%rax)
4929 ; SSE-NEXT:    movaps %xmm9, 432(%rax)
4930 ; SSE-NEXT:    movaps %xmm10, 416(%rax)
4931 ; SSE-NEXT:    movaps %xmm14, 400(%rax)
4932 ; SSE-NEXT:    movaps %xmm12, 384(%rax)
4933 ; SSE-NEXT:    movaps %xmm15, 368(%rax)
4934 ; SSE-NEXT:    movaps (%rsp), %xmm0 # 16-byte Reload
4935 ; SSE-NEXT:    movaps %xmm0, 352(%rax)
4936 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4937 ; SSE-NEXT:    movaps %xmm0, 336(%rax)
4938 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4939 ; SSE-NEXT:    movaps %xmm0, 320(%rax)
4940 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4941 ; SSE-NEXT:    movaps %xmm0, 304(%rax)
4942 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4943 ; SSE-NEXT:    movaps %xmm0, 288(%rax)
4944 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4945 ; SSE-NEXT:    movaps %xmm0, 272(%rax)
4946 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4947 ; SSE-NEXT:    movaps %xmm0, 256(%rax)
4948 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4949 ; SSE-NEXT:    movaps %xmm0, 240(%rax)
4950 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4951 ; SSE-NEXT:    movaps %xmm0, 224(%rax)
4952 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4953 ; SSE-NEXT:    movaps %xmm0, 208(%rax)
4954 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4955 ; SSE-NEXT:    movaps %xmm0, 192(%rax)
4956 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4957 ; SSE-NEXT:    movaps %xmm0, 176(%rax)
4958 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4959 ; SSE-NEXT:    movaps %xmm0, 160(%rax)
4960 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4961 ; SSE-NEXT:    movaps %xmm0, 144(%rax)
4962 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4963 ; SSE-NEXT:    movaps %xmm0, 128(%rax)
4964 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4965 ; SSE-NEXT:    movaps %xmm0, 112(%rax)
4966 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4967 ; SSE-NEXT:    movaps %xmm0, 96(%rax)
4968 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4969 ; SSE-NEXT:    movaps %xmm0, 80(%rax)
4970 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4971 ; SSE-NEXT:    movaps %xmm0, 64(%rax)
4972 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4973 ; SSE-NEXT:    movaps %xmm0, 48(%rax)
4974 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4975 ; SSE-NEXT:    movaps %xmm0, 32(%rax)
4976 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4977 ; SSE-NEXT:    movaps %xmm0, 16(%rax)
4978 ; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4979 ; SSE-NEXT:    movaps %xmm0, (%rax)
4980 ; SSE-NEXT:    addq $2712, %rsp # imm = 0xA98
4981 ; SSE-NEXT:    retq
4983 ; AVX1-ONLY-LABEL: load_i64_stride6_vf64:
4984 ; AVX1-ONLY:       # %bb.0:
4985 ; AVX1-ONLY-NEXT:    subq $3768, %rsp # imm = 0xEB8
4986 ; AVX1-ONLY-NEXT:    vmovaps 1088(%rdi), %ymm2
4987 ; AVX1-ONLY-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
4988 ; AVX1-ONLY-NEXT:    vmovaps 704(%rdi), %ymm3
4989 ; AVX1-ONLY-NEXT:    vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
4990 ; AVX1-ONLY-NEXT:    vmovaps 320(%rdi), %ymm1
4991 ; AVX1-ONLY-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
4992 ; AVX1-ONLY-NEXT:    vinsertf128 $1, 288(%rdi), %ymm0, %ymm0
4993 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
4994 ; AVX1-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]
4995 ; AVX1-ONLY-NEXT:    vmovaps 240(%rdi), %xmm4
4996 ; AVX1-ONLY-NEXT:    vmovaps %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4997 ; AVX1-ONLY-NEXT:    vmovaps 192(%rdi), %xmm1
4998 ; AVX1-ONLY-NEXT:    vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4999 ; AVX1-ONLY-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm1[0],xmm4[0]
5000 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
5001 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5002 ; AVX1-ONLY-NEXT:    vinsertf128 $1, 672(%rdi), %ymm0, %ymm0
5003 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5004 ; AVX1-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm3[0],ymm0[2],ymm3[2]
5005 ; AVX1-ONLY-NEXT:    vmovaps 624(%rdi), %xmm3
5006 ; AVX1-ONLY-NEXT:    vmovaps %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
5007 ; AVX1-ONLY-NEXT:    vmovaps 576(%rdi), %xmm1
5008 ; AVX1-ONLY-NEXT:    vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
5009 ; AVX1-ONLY-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm1[0],xmm3[0]
5010 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
5011 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5012 ; AVX1-ONLY-NEXT:    vinsertf128 $1, 1056(%rdi), %ymm0, %ymm0
5013 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5014 ; AVX1-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm2[0],ymm0[2],ymm2[2]
5015 ; AVX1-ONLY-NEXT:    vmovaps 1008(%rdi), %xmm2
5016 ; AVX1-ONLY-NEXT:    vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
5017 ; AVX1-ONLY-NEXT:    vmovaps 960(%rdi), %xmm1
5018 ; AVX1-ONLY-NEXT:    vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
5019 ; AVX1-ONLY-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm1[0],xmm2[0]
5020 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
5021 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5022 ; AVX1-ONLY-NEXT:    vmovaps 1472(%rdi), %ymm1
5023 ; AVX1-ONLY-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5024 ; AVX1-ONLY-NEXT:    vinsertf128 $1, 1440(%rdi), %ymm0, %ymm0
5025 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5026 ; AVX1-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]
5027 ; AVX1-ONLY-NEXT:    vmovaps 1392(%rdi), %xmm2
5028 ; AVX1-ONLY-NEXT:    vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
5029 ; AVX1-ONLY-NEXT:    vmovaps 1344(%rdi), %xmm1
5030 ; AVX1-ONLY-NEXT:    vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
5031 ; AVX1-ONLY-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm1[0],xmm2[0]
5032 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
5033 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5034 ; AVX1-ONLY-NEXT:    vmovaps 1856(%rdi), %ymm1
5035 ; AVX1-ONLY-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5036 ; AVX1-ONLY-NEXT:    vinsertf128 $1, 1824(%rdi), %ymm0, %ymm0
5037 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5038 ; AVX1-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]
5039 ; AVX1-ONLY-NEXT:    vmovaps 1776(%rdi), %xmm2
5040 ; AVX1-ONLY-NEXT:    vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
5041 ; AVX1-ONLY-NEXT:    vmovaps 1728(%rdi), %xmm1
5042 ; AVX1-ONLY-NEXT:    vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
5043 ; AVX1-ONLY-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm1[0],xmm2[0]
5044 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
5045 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5046 ; AVX1-ONLY-NEXT:    vmovaps 2240(%rdi), %ymm1
5047 ; AVX1-ONLY-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5048 ; AVX1-ONLY-NEXT:    vinsertf128 $1, 2208(%rdi), %ymm0, %ymm0
5049 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5050 ; AVX1-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]
5051 ; AVX1-ONLY-NEXT:    vmovaps 2160(%rdi), %xmm2
5052 ; AVX1-ONLY-NEXT:    vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
5053 ; AVX1-ONLY-NEXT:    vmovaps 2112(%rdi), %xmm1
5054 ; AVX1-ONLY-NEXT:    vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
5055 ; AVX1-ONLY-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm1[0],xmm2[0]
5056 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
5057 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5058 ; AVX1-ONLY-NEXT:    vmovaps 2624(%rdi), %ymm1
5059 ; AVX1-ONLY-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5060 ; AVX1-ONLY-NEXT:    vinsertf128 $1, 2592(%rdi), %ymm0, %ymm0
5061 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5062 ; AVX1-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]
5063 ; AVX1-ONLY-NEXT:    vmovaps 2544(%rdi), %xmm2
5064 ; AVX1-ONLY-NEXT:    vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
5065 ; AVX1-ONLY-NEXT:    vmovaps 2496(%rdi), %xmm1
5066 ; AVX1-ONLY-NEXT:    vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
5067 ; AVX1-ONLY-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm1[0],xmm2[0]
5068 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
5069 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5070 ; AVX1-ONLY-NEXT:    vmovaps 3008(%rdi), %ymm1
5071 ; AVX1-ONLY-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5072 ; AVX1-ONLY-NEXT:    vinsertf128 $1, 2976(%rdi), %ymm0, %ymm0
5073 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5074 ; AVX1-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]
5075 ; AVX1-ONLY-NEXT:    vmovaps 2928(%rdi), %xmm2
5076 ; AVX1-ONLY-NEXT:    vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
5077 ; AVX1-ONLY-NEXT:    vmovaps 2880(%rdi), %xmm1
5078 ; AVX1-ONLY-NEXT:    vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
5079 ; AVX1-ONLY-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm1[0],xmm2[0]
5080 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
5081 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5082 ; AVX1-ONLY-NEXT:    vmovaps 128(%rdi), %ymm1
5083 ; AVX1-ONLY-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5084 ; AVX1-ONLY-NEXT:    vinsertf128 $1, 96(%rdi), %ymm0, %ymm0
5085 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5086 ; AVX1-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]
5087 ; AVX1-ONLY-NEXT:    vmovaps (%rdi), %xmm2
5088 ; AVX1-ONLY-NEXT:    vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
5089 ; AVX1-ONLY-NEXT:    vmovaps 48(%rdi), %xmm1
5090 ; AVX1-ONLY-NEXT:    vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
5091 ; AVX1-ONLY-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm2[0],xmm1[0]
5092 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
5093 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5094 ; AVX1-ONLY-NEXT:    vmovaps 512(%rdi), %ymm1
5095 ; AVX1-ONLY-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5096 ; AVX1-ONLY-NEXT:    vinsertf128 $1, 480(%rdi), %ymm0, %ymm0
5097 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5098 ; AVX1-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]
5099 ; AVX1-ONLY-NEXT:    vmovaps 432(%rdi), %xmm2
5100 ; AVX1-ONLY-NEXT:    vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
5101 ; AVX1-ONLY-NEXT:    vmovaps 384(%rdi), %xmm1
5102 ; AVX1-ONLY-NEXT:    vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
5103 ; AVX1-ONLY-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm1[0],xmm2[0]
5104 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
5105 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5106 ; AVX1-ONLY-NEXT:    vmovaps 896(%rdi), %ymm1
5107 ; AVX1-ONLY-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5108 ; AVX1-ONLY-NEXT:    vinsertf128 $1, 864(%rdi), %ymm0, %ymm0
5109 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5110 ; AVX1-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]
5111 ; AVX1-ONLY-NEXT:    vmovaps 816(%rdi), %xmm2
5112 ; AVX1-ONLY-NEXT:    vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
5113 ; AVX1-ONLY-NEXT:    vmovaps 768(%rdi), %xmm1
5114 ; AVX1-ONLY-NEXT:    vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
5115 ; AVX1-ONLY-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm1[0],xmm2[0]
5116 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
5117 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5118 ; AVX1-ONLY-NEXT:    vmovaps 1280(%rdi), %ymm1
5119 ; AVX1-ONLY-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5120 ; AVX1-ONLY-NEXT:    vinsertf128 $1, 1248(%rdi), %ymm0, %ymm0
5121 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5122 ; AVX1-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]
5123 ; AVX1-ONLY-NEXT:    vmovaps 1200(%rdi), %xmm2
5124 ; AVX1-ONLY-NEXT:    vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
5125 ; AVX1-ONLY-NEXT:    vmovaps 1152(%rdi), %xmm1
5126 ; AVX1-ONLY-NEXT:    vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
5127 ; AVX1-ONLY-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm1[0],xmm2[0]
5128 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
5129 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5130 ; AVX1-ONLY-NEXT:    vmovaps 1664(%rdi), %ymm1
5131 ; AVX1-ONLY-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5132 ; AVX1-ONLY-NEXT:    vinsertf128 $1, 1632(%rdi), %ymm0, %ymm0
5133 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5134 ; AVX1-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]
5135 ; AVX1-ONLY-NEXT:    vmovaps 1584(%rdi), %xmm14
5136 ; AVX1-ONLY-NEXT:    vmovaps 1536(%rdi), %xmm13
5137 ; AVX1-ONLY-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm13[0],xmm14[0]
5138 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
5139 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5140 ; AVX1-ONLY-NEXT:    vmovaps 2048(%rdi), %ymm12
5141 ; AVX1-ONLY-NEXT:    vinsertf128 $1, 2016(%rdi), %ymm0, %ymm11
5142 ; AVX1-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm11[0],ymm12[0],ymm11[2],ymm12[2]
5143 ; AVX1-ONLY-NEXT:    vmovaps 1968(%rdi), %xmm10
5144 ; AVX1-ONLY-NEXT:    vmovaps 1920(%rdi), %xmm9
5145 ; AVX1-ONLY-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm9[0],xmm10[0]
5146 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
5147 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5148 ; AVX1-ONLY-NEXT:    vmovaps 2432(%rdi), %ymm8
5149 ; AVX1-ONLY-NEXT:    vinsertf128 $1, 2400(%rdi), %ymm0, %ymm7
5150 ; AVX1-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm7[0],ymm8[0],ymm7[2],ymm8[2]
5151 ; AVX1-ONLY-NEXT:    vmovaps 2352(%rdi), %xmm6
5152 ; AVX1-ONLY-NEXT:    vmovaps 2304(%rdi), %xmm5
5153 ; AVX1-ONLY-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm5[0],xmm6[0]
5154 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
5155 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5156 ; AVX1-ONLY-NEXT:    vmovaps 2816(%rdi), %ymm4
5157 ; AVX1-ONLY-NEXT:    vinsertf128 $1, 2784(%rdi), %ymm0, %ymm3
5158 ; AVX1-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm3[0],ymm4[0],ymm3[2],ymm4[2]
5159 ; AVX1-ONLY-NEXT:    vmovaps 2736(%rdi), %xmm2
5160 ; AVX1-ONLY-NEXT:    vmovaps 2688(%rdi), %xmm1
5161 ; AVX1-ONLY-NEXT:    vmovlhps {{.*#+}} xmm15 = xmm1[0],xmm2[0]
5162 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm15[0,1,2,3],ymm0[4,5,6,7]
5163 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5164 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
5165 ; AVX1-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload
5166 ; AVX1-ONLY-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]
5167 ; AVX1-ONLY-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload
5168 ; AVX1-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm15, %xmm15 # 16-byte Folded Reload
5169 ; AVX1-ONLY-NEXT:    # xmm15 = xmm15[1],mem[1]
5170 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm15[0,1,2,3],ymm0[4,5,6,7]
5171 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5172 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
5173 ; AVX1-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload
5174 ; AVX1-ONLY-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]
5175 ; AVX1-ONLY-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload
5176 ; AVX1-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm15, %xmm15 # 16-byte Folded Reload
5177 ; AVX1-ONLY-NEXT:    # xmm15 = xmm15[1],mem[1]
5178 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm15[0,1,2,3],ymm0[4,5,6,7]
5179 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5180 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
5181 ; AVX1-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload
5182 ; AVX1-ONLY-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]
5183 ; AVX1-ONLY-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload
5184 ; AVX1-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm15, %xmm15 # 16-byte Folded Reload
5185 ; AVX1-ONLY-NEXT:    # xmm15 = xmm15[1],mem[1]
5186 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm15[0,1,2,3],ymm0[4,5,6,7]
5187 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5188 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
5189 ; AVX1-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload
5190 ; AVX1-ONLY-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]
5191 ; AVX1-ONLY-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload
5192 ; AVX1-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm15, %xmm15 # 16-byte Folded Reload
5193 ; AVX1-ONLY-NEXT:    # xmm15 = xmm15[1],mem[1]
5194 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm15[0,1,2,3],ymm0[4,5,6,7]
5195 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5196 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
5197 ; AVX1-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload
5198 ; AVX1-ONLY-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]
5199 ; AVX1-ONLY-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload
5200 ; AVX1-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm15, %xmm15 # 16-byte Folded Reload
5201 ; AVX1-ONLY-NEXT:    # xmm15 = xmm15[1],mem[1]
5202 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm15[0,1,2,3],ymm0[4,5,6,7]
5203 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5204 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
5205 ; AVX1-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload
5206 ; AVX1-ONLY-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]
5207 ; AVX1-ONLY-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload
5208 ; AVX1-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm15, %xmm15 # 16-byte Folded Reload
5209 ; AVX1-ONLY-NEXT:    # xmm15 = xmm15[1],mem[1]
5210 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm15[0,1,2,3],ymm0[4,5,6,7]
5211 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5212 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
5213 ; AVX1-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload
5214 ; AVX1-ONLY-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]
5215 ; AVX1-ONLY-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload
5216 ; AVX1-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm15, %xmm15 # 16-byte Folded Reload
5217 ; AVX1-ONLY-NEXT:    # xmm15 = xmm15[1],mem[1]
5218 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm15[0,1,2,3],ymm0[4,5,6,7]
5219 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5220 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
5221 ; AVX1-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload
5222 ; AVX1-ONLY-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]
5223 ; AVX1-ONLY-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload
5224 ; AVX1-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm15, %xmm15 # 16-byte Folded Reload
5225 ; AVX1-ONLY-NEXT:    # xmm15 = xmm15[1],mem[1]
5226 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm15[0,1,2,3],ymm0[4,5,6,7]
5227 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5228 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
5229 ; AVX1-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload
5230 ; AVX1-ONLY-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]
5231 ; AVX1-ONLY-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload
5232 ; AVX1-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm15, %xmm15 # 16-byte Folded Reload
5233 ; AVX1-ONLY-NEXT:    # xmm15 = xmm15[1],mem[1]
5234 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm15[0,1,2,3],ymm0[4,5,6,7]
5235 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5236 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
5237 ; AVX1-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload
5238 ; AVX1-ONLY-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]
5239 ; AVX1-ONLY-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload
5240 ; AVX1-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm15, %xmm15 # 16-byte Folded Reload
5241 ; AVX1-ONLY-NEXT:    # xmm15 = xmm15[1],mem[1]
5242 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm15[0,1,2,3],ymm0[4,5,6,7]
5243 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5244 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
5245 ; AVX1-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload
5246 ; AVX1-ONLY-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]
5247 ; AVX1-ONLY-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload
5248 ; AVX1-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm15, %xmm15 # 16-byte Folded Reload
5249 ; AVX1-ONLY-NEXT:    # xmm15 = xmm15[1],mem[1]
5250 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm15[0,1,2,3],ymm0[4,5,6,7]
5251 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5252 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
5253 ; AVX1-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload
5254 ; AVX1-ONLY-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]
5255 ; AVX1-ONLY-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload
5256 ; AVX1-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm15, %xmm15 # 16-byte Folded Reload
5257 ; AVX1-ONLY-NEXT:    # xmm15 = xmm15[1],mem[1]
5258 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm15[0,1,2,3],ymm0[4,5,6,7]
5259 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5260 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
5261 ; AVX1-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload
5262 ; AVX1-ONLY-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]
5263 ; AVX1-ONLY-NEXT:    vunpckhpd {{.*#+}} xmm13 = xmm13[1],xmm14[1]
5264 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm13[0,1,2,3],ymm0[4,5,6,7]
5265 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5266 ; AVX1-ONLY-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm11[1],ymm12[1],ymm11[3],ymm12[3]
5267 ; AVX1-ONLY-NEXT:    vunpckhpd {{.*#+}} xmm9 = xmm9[1],xmm10[1]
5268 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm9[0,1,2,3],ymm0[4,5,6,7]
5269 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5270 ; AVX1-ONLY-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm7[1],ymm8[1],ymm7[3],ymm8[3]
5271 ; AVX1-ONLY-NEXT:    vunpckhpd {{.*#+}} xmm5 = xmm5[1],xmm6[1]
5272 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm5[0,1,2,3],ymm0[4,5,6,7]
5273 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5274 ; AVX1-ONLY-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm3[1],ymm4[1],ymm3[3],ymm4[3]
5275 ; AVX1-ONLY-NEXT:    vunpckhpd {{.*#+}} xmm1 = xmm1[1],xmm2[1]
5276 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
5277 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5278 ; AVX1-ONLY-NEXT:    vmovaps 288(%rdi), %ymm1
5279 ; AVX1-ONLY-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5280 ; AVX1-ONLY-NEXT:    vinsertf128 $1, 352(%rdi), %ymm0, %ymm0
5281 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5282 ; AVX1-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]
5283 ; AVX1-ONLY-NEXT:    vmovaps 256(%rdi), %xmm2
5284 ; AVX1-ONLY-NEXT:    vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
5285 ; AVX1-ONLY-NEXT:    vmovaps 208(%rdi), %xmm1
5286 ; AVX1-ONLY-NEXT:    vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
5287 ; AVX1-ONLY-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm1[0],xmm2[0]
5288 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
5289 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5290 ; AVX1-ONLY-NEXT:    vmovaps 672(%rdi), %ymm1
5291 ; AVX1-ONLY-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5292 ; AVX1-ONLY-NEXT:    vinsertf128 $1, 736(%rdi), %ymm0, %ymm0
5293 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5294 ; AVX1-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]
5295 ; AVX1-ONLY-NEXT:    vmovaps 640(%rdi), %xmm2
5296 ; AVX1-ONLY-NEXT:    vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
5297 ; AVX1-ONLY-NEXT:    vmovaps 592(%rdi), %xmm1
5298 ; AVX1-ONLY-NEXT:    vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
5299 ; AVX1-ONLY-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm1[0],xmm2[0]
5300 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
5301 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5302 ; AVX1-ONLY-NEXT:    vmovaps 1056(%rdi), %ymm1
5303 ; AVX1-ONLY-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5304 ; AVX1-ONLY-NEXT:    vinsertf128 $1, 1120(%rdi), %ymm0, %ymm0
5305 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5306 ; AVX1-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]
5307 ; AVX1-ONLY-NEXT:    vmovaps 1024(%rdi), %xmm2
5308 ; AVX1-ONLY-NEXT:    vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
5309 ; AVX1-ONLY-NEXT:    vmovaps 976(%rdi), %xmm1
5310 ; AVX1-ONLY-NEXT:    vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
5311 ; AVX1-ONLY-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm1[0],xmm2[0]
5312 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
5313 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5314 ; AVX1-ONLY-NEXT:    vmovaps 1440(%rdi), %ymm1
5315 ; AVX1-ONLY-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5316 ; AVX1-ONLY-NEXT:    vinsertf128 $1, 1504(%rdi), %ymm0, %ymm0
5317 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5318 ; AVX1-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]
5319 ; AVX1-ONLY-NEXT:    vmovaps 1408(%rdi), %xmm2
5320 ; AVX1-ONLY-NEXT:    vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
5321 ; AVX1-ONLY-NEXT:    vmovaps 1360(%rdi), %xmm1
5322 ; AVX1-ONLY-NEXT:    vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
5323 ; AVX1-ONLY-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm1[0],xmm2[0]
5324 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
5325 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5326 ; AVX1-ONLY-NEXT:    vmovaps 1824(%rdi), %ymm1
5327 ; AVX1-ONLY-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5328 ; AVX1-ONLY-NEXT:    vinsertf128 $1, 1888(%rdi), %ymm0, %ymm0
5329 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5330 ; AVX1-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]
5331 ; AVX1-ONLY-NEXT:    vmovaps 1792(%rdi), %xmm2
5332 ; AVX1-ONLY-NEXT:    vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
5333 ; AVX1-ONLY-NEXT:    vmovaps 1744(%rdi), %xmm1
5334 ; AVX1-ONLY-NEXT:    vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
5335 ; AVX1-ONLY-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm1[0],xmm2[0]
5336 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
5337 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5338 ; AVX1-ONLY-NEXT:    vmovaps 2208(%rdi), %ymm1
5339 ; AVX1-ONLY-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5340 ; AVX1-ONLY-NEXT:    vinsertf128 $1, 2272(%rdi), %ymm0, %ymm0
5341 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5342 ; AVX1-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]
5343 ; AVX1-ONLY-NEXT:    vmovaps 2176(%rdi), %xmm2
5344 ; AVX1-ONLY-NEXT:    vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
5345 ; AVX1-ONLY-NEXT:    vmovaps 2128(%rdi), %xmm1
5346 ; AVX1-ONLY-NEXT:    vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
5347 ; AVX1-ONLY-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm1[0],xmm2[0]
5348 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
5349 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5350 ; AVX1-ONLY-NEXT:    vmovaps 2592(%rdi), %ymm1
5351 ; AVX1-ONLY-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5352 ; AVX1-ONLY-NEXT:    vinsertf128 $1, 2656(%rdi), %ymm0, %ymm0
5353 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5354 ; AVX1-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]
5355 ; AVX1-ONLY-NEXT:    vmovaps 2560(%rdi), %xmm2
5356 ; AVX1-ONLY-NEXT:    vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
5357 ; AVX1-ONLY-NEXT:    vmovaps 2512(%rdi), %xmm1
5358 ; AVX1-ONLY-NEXT:    vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
5359 ; AVX1-ONLY-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm1[0],xmm2[0]
5360 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
5361 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5362 ; AVX1-ONLY-NEXT:    vmovaps 2976(%rdi), %ymm1
5363 ; AVX1-ONLY-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5364 ; AVX1-ONLY-NEXT:    vinsertf128 $1, 3040(%rdi), %ymm0, %ymm0
5365 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5366 ; AVX1-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]
5367 ; AVX1-ONLY-NEXT:    vmovaps 2944(%rdi), %xmm2
5368 ; AVX1-ONLY-NEXT:    vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
5369 ; AVX1-ONLY-NEXT:    vmovaps 2896(%rdi), %xmm1
5370 ; AVX1-ONLY-NEXT:    vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
5371 ; AVX1-ONLY-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm1[0],xmm2[0]
5372 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
5373 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5374 ; AVX1-ONLY-NEXT:    vmovaps 2784(%rdi), %ymm1
5375 ; AVX1-ONLY-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5376 ; AVX1-ONLY-NEXT:    vinsertf128 $1, 2848(%rdi), %ymm0, %ymm0
5377 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5378 ; AVX1-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]
5379 ; AVX1-ONLY-NEXT:    vmovaps 2752(%rdi), %xmm2
5380 ; AVX1-ONLY-NEXT:    vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
5381 ; AVX1-ONLY-NEXT:    vmovaps 2704(%rdi), %xmm1
5382 ; AVX1-ONLY-NEXT:    vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
5383 ; AVX1-ONLY-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm1[0],xmm2[0]
5384 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
5385 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5386 ; AVX1-ONLY-NEXT:    vmovaps 2400(%rdi), %ymm1
5387 ; AVX1-ONLY-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5388 ; AVX1-ONLY-NEXT:    vinsertf128 $1, 2464(%rdi), %ymm0, %ymm0
5389 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5390 ; AVX1-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]
5391 ; AVX1-ONLY-NEXT:    vmovaps 2368(%rdi), %xmm2
5392 ; AVX1-ONLY-NEXT:    vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
5393 ; AVX1-ONLY-NEXT:    vmovaps 2320(%rdi), %xmm1
5394 ; AVX1-ONLY-NEXT:    vmovaps %xmm1, (%rsp) # 16-byte Spill
5395 ; AVX1-ONLY-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm1[0],xmm2[0]
5396 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
5397 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5398 ; AVX1-ONLY-NEXT:    vmovaps 2016(%rdi), %ymm1
5399 ; AVX1-ONLY-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5400 ; AVX1-ONLY-NEXT:    vinsertf128 $1, 2080(%rdi), %ymm0, %ymm0
5401 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5402 ; AVX1-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]
5403 ; AVX1-ONLY-NEXT:    vmovaps 1984(%rdi), %xmm2
5404 ; AVX1-ONLY-NEXT:    vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
5405 ; AVX1-ONLY-NEXT:    vmovaps 1936(%rdi), %xmm1
5406 ; AVX1-ONLY-NEXT:    vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
5407 ; AVX1-ONLY-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm1[0],xmm2[0]
5408 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
5409 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5410 ; AVX1-ONLY-NEXT:    vmovaps 1632(%rdi), %ymm1
5411 ; AVX1-ONLY-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5412 ; AVX1-ONLY-NEXT:    vinsertf128 $1, 1696(%rdi), %ymm0, %ymm0
5413 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5414 ; AVX1-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]
5415 ; AVX1-ONLY-NEXT:    vmovaps 1600(%rdi), %xmm2
5416 ; AVX1-ONLY-NEXT:    vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
5417 ; AVX1-ONLY-NEXT:    vmovaps 1552(%rdi), %xmm1
5418 ; AVX1-ONLY-NEXT:    vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
5419 ; AVX1-ONLY-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm1[0],xmm2[0]
5420 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
5421 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5422 ; AVX1-ONLY-NEXT:    vmovaps 1248(%rdi), %ymm1
5423 ; AVX1-ONLY-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5424 ; AVX1-ONLY-NEXT:    vinsertf128 $1, 1312(%rdi), %ymm0, %ymm0
5425 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5426 ; AVX1-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]
5427 ; AVX1-ONLY-NEXT:    vmovaps 1216(%rdi), %xmm12
5428 ; AVX1-ONLY-NEXT:    vmovaps 1168(%rdi), %xmm11
5429 ; AVX1-ONLY-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm11[0],xmm12[0]
5430 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
5431 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5432 ; AVX1-ONLY-NEXT:    vmovaps 864(%rdi), %ymm10
5433 ; AVX1-ONLY-NEXT:    vinsertf128 $1, 928(%rdi), %ymm0, %ymm9
5434 ; AVX1-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm10[0],ymm9[0],ymm10[2],ymm9[2]
5435 ; AVX1-ONLY-NEXT:    vmovaps 832(%rdi), %xmm8
5436 ; AVX1-ONLY-NEXT:    vmovaps 784(%rdi), %xmm7
5437 ; AVX1-ONLY-NEXT:    vmovlhps {{.*#+}} xmm15 = xmm7[0],xmm8[0]
5438 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm15[0,1,2,3],ymm0[4,5,6,7]
5439 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5440 ; AVX1-ONLY-NEXT:    vmovaps 480(%rdi), %ymm6
5441 ; AVX1-ONLY-NEXT:    vinsertf128 $1, 544(%rdi), %ymm0, %ymm15
5442 ; AVX1-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm6[0],ymm15[0],ymm6[2],ymm15[2]
5443 ; AVX1-ONLY-NEXT:    vmovaps 448(%rdi), %xmm5
5444 ; AVX1-ONLY-NEXT:    vmovaps 400(%rdi), %xmm4
5445 ; AVX1-ONLY-NEXT:    vmovlhps {{.*#+}} xmm14 = xmm4[0],xmm5[0]
5446 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm14[0,1,2,3],ymm0[4,5,6,7]
5447 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5448 ; AVX1-ONLY-NEXT:    vmovaps 96(%rdi), %ymm2
5449 ; AVX1-ONLY-NEXT:    vmovaps 16(%rdi), %xmm14
5450 ; AVX1-ONLY-NEXT:    vinsertf128 $1, 160(%rdi), %ymm0, %ymm1
5451 ; AVX1-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm3 = ymm2[0],ymm1[0],ymm2[2],ymm1[2]
5452 ; AVX1-ONLY-NEXT:    vmovaps 64(%rdi), %xmm0
5453 ; AVX1-ONLY-NEXT:    vmovlhps {{.*#+}} xmm13 = xmm14[0],xmm0[0]
5454 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm3 = ymm13[0,1,2,3],ymm3[4,5,6,7]
5455 ; AVX1-ONLY-NEXT:    vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5456 ; AVX1-ONLY-NEXT:    vunpckhpd {{.*#+}} ymm1 = ymm2[1],ymm1[1],ymm2[3],ymm1[3]
5457 ; AVX1-ONLY-NEXT:    vunpckhpd {{.*#+}} xmm0 = xmm14[1],xmm0[1]
5458 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]
5459 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5460 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
5461 ; AVX1-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload
5462 ; AVX1-ONLY-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]
5463 ; AVX1-ONLY-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload
5464 ; AVX1-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm1 # 16-byte Folded Reload
5465 ; AVX1-ONLY-NEXT:    # xmm1 = xmm1[1],mem[1]
5466 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
5467 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5468 ; AVX1-ONLY-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm6[1],ymm15[1],ymm6[3],ymm15[3]
5469 ; AVX1-ONLY-NEXT:    vunpckhpd {{.*#+}} xmm1 = xmm4[1],xmm5[1]
5470 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
5471 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5472 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
5473 ; AVX1-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload
5474 ; AVX1-ONLY-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]
5475 ; AVX1-ONLY-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload
5476 ; AVX1-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm1 # 16-byte Folded Reload
5477 ; AVX1-ONLY-NEXT:    # xmm1 = xmm1[1],mem[1]
5478 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
5479 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5480 ; AVX1-ONLY-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm10[1],ymm9[1],ymm10[3],ymm9[3]
5481 ; AVX1-ONLY-NEXT:    vunpckhpd {{.*#+}} xmm1 = xmm7[1],xmm8[1]
5482 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
5483 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5484 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
5485 ; AVX1-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload
5486 ; AVX1-ONLY-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]
5487 ; AVX1-ONLY-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload
5488 ; AVX1-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm1 # 16-byte Folded Reload
5489 ; AVX1-ONLY-NEXT:    # xmm1 = xmm1[1],mem[1]
5490 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
5491 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5492 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
5493 ; AVX1-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload
5494 ; AVX1-ONLY-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]
5495 ; AVX1-ONLY-NEXT:    vunpckhpd {{.*#+}} xmm1 = xmm11[1],xmm12[1]
5496 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
5497 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5498 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
5499 ; AVX1-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload
5500 ; AVX1-ONLY-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]
5501 ; AVX1-ONLY-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload
5502 ; AVX1-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm1 # 16-byte Folded Reload
5503 ; AVX1-ONLY-NEXT:    # xmm1 = xmm1[1],mem[1]
5504 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
5505 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5506 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
5507 ; AVX1-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload
5508 ; AVX1-ONLY-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]
5509 ; AVX1-ONLY-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload
5510 ; AVX1-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm1 # 16-byte Folded Reload
5511 ; AVX1-ONLY-NEXT:    # xmm1 = xmm1[1],mem[1]
5512 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
5513 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5514 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
5515 ; AVX1-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload
5516 ; AVX1-ONLY-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]
5517 ; AVX1-ONLY-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload
5518 ; AVX1-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm1 # 16-byte Folded Reload
5519 ; AVX1-ONLY-NEXT:    # xmm1 = xmm1[1],mem[1]
5520 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
5521 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5522 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
5523 ; AVX1-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload
5524 ; AVX1-ONLY-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]
5525 ; AVX1-ONLY-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload
5526 ; AVX1-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm1 # 16-byte Folded Reload
5527 ; AVX1-ONLY-NEXT:    # xmm1 = xmm1[1],mem[1]
5528 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
5529 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5530 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
5531 ; AVX1-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload
5532 ; AVX1-ONLY-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]
5533 ; AVX1-ONLY-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload
5534 ; AVX1-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm1 # 16-byte Folded Reload
5535 ; AVX1-ONLY-NEXT:    # xmm1 = xmm1[1],mem[1]
5536 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
5537 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5538 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
5539 ; AVX1-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload
5540 ; AVX1-ONLY-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]
5541 ; AVX1-ONLY-NEXT:    vmovaps (%rsp), %xmm1 # 16-byte Reload
5542 ; AVX1-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm1 # 16-byte Folded Reload
5543 ; AVX1-ONLY-NEXT:    # xmm1 = xmm1[1],mem[1]
5544 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
5545 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5546 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
5547 ; AVX1-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload
5548 ; AVX1-ONLY-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]
5549 ; AVX1-ONLY-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload
5550 ; AVX1-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm1 # 16-byte Folded Reload
5551 ; AVX1-ONLY-NEXT:    # xmm1 = xmm1[1],mem[1]
5552 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
5553 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5554 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
5555 ; AVX1-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload
5556 ; AVX1-ONLY-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]
5557 ; AVX1-ONLY-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload
5558 ; AVX1-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm1 # 16-byte Folded Reload
5559 ; AVX1-ONLY-NEXT:    # xmm1 = xmm1[1],mem[1]
5560 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
5561 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5562 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
5563 ; AVX1-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload
5564 ; AVX1-ONLY-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]
5565 ; AVX1-ONLY-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload
5566 ; AVX1-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm1 # 16-byte Folded Reload
5567 ; AVX1-ONLY-NEXT:    # xmm1 = xmm1[1],mem[1]
5568 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
5569 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5570 ; AVX1-ONLY-NEXT:    vmovaps 160(%rdi), %ymm1
5571 ; AVX1-ONLY-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5572 ; AVX1-ONLY-NEXT:    vmovaps 32(%rdi), %xmm2
5573 ; AVX1-ONLY-NEXT:    vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
5574 ; AVX1-ONLY-NEXT:    vinsertf128 $1, 128(%rdi), %ymm0, %ymm0
5575 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5576 ; AVX1-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]
5577 ; AVX1-ONLY-NEXT:    vmovaps 80(%rdi), %xmm1
5578 ; AVX1-ONLY-NEXT:    vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
5579 ; AVX1-ONLY-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm2[0],xmm1[0]
5580 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
5581 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5582 ; AVX1-ONLY-NEXT:    vmovaps 352(%rdi), %ymm1
5583 ; AVX1-ONLY-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5584 ; AVX1-ONLY-NEXT:    vinsertf128 $1, 320(%rdi), %ymm0, %ymm0
5585 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5586 ; AVX1-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]
5587 ; AVX1-ONLY-NEXT:    vmovaps 272(%rdi), %xmm2
5588 ; AVX1-ONLY-NEXT:    vmovaps %xmm2, (%rsp) # 16-byte Spill
5589 ; AVX1-ONLY-NEXT:    vmovaps 224(%rdi), %xmm1
5590 ; AVX1-ONLY-NEXT:    vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
5591 ; AVX1-ONLY-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm1[0],xmm2[0]
5592 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
5593 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5594 ; AVX1-ONLY-NEXT:    vmovaps 544(%rdi), %ymm1
5595 ; AVX1-ONLY-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5596 ; AVX1-ONLY-NEXT:    vinsertf128 $1, 512(%rdi), %ymm0, %ymm0
5597 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5598 ; AVX1-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]
5599 ; AVX1-ONLY-NEXT:    vmovaps 464(%rdi), %xmm2
5600 ; AVX1-ONLY-NEXT:    vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
5601 ; AVX1-ONLY-NEXT:    vmovaps 416(%rdi), %xmm1
5602 ; AVX1-ONLY-NEXT:    vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
5603 ; AVX1-ONLY-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm1[0],xmm2[0]
5604 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
5605 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5606 ; AVX1-ONLY-NEXT:    vmovaps 736(%rdi), %ymm1
5607 ; AVX1-ONLY-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5608 ; AVX1-ONLY-NEXT:    vinsertf128 $1, 704(%rdi), %ymm0, %ymm0
5609 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5610 ; AVX1-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]
5611 ; AVX1-ONLY-NEXT:    vmovaps 656(%rdi), %xmm2
5612 ; AVX1-ONLY-NEXT:    vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
5613 ; AVX1-ONLY-NEXT:    vmovaps 608(%rdi), %xmm1
5614 ; AVX1-ONLY-NEXT:    vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
5615 ; AVX1-ONLY-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm1[0],xmm2[0]
5616 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
5617 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5618 ; AVX1-ONLY-NEXT:    vmovaps 928(%rdi), %ymm1
5619 ; AVX1-ONLY-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5620 ; AVX1-ONLY-NEXT:    vinsertf128 $1, 896(%rdi), %ymm0, %ymm0
5621 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5622 ; AVX1-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]
5623 ; AVX1-ONLY-NEXT:    vmovaps 848(%rdi), %xmm2
5624 ; AVX1-ONLY-NEXT:    vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
5625 ; AVX1-ONLY-NEXT:    vmovaps 800(%rdi), %xmm1
5626 ; AVX1-ONLY-NEXT:    vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
5627 ; AVX1-ONLY-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm1[0],xmm2[0]
5628 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
5629 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5630 ; AVX1-ONLY-NEXT:    vmovaps 1120(%rdi), %ymm1
5631 ; AVX1-ONLY-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5632 ; AVX1-ONLY-NEXT:    vinsertf128 $1, 1088(%rdi), %ymm0, %ymm0
5633 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5634 ; AVX1-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]
5635 ; AVX1-ONLY-NEXT:    vmovaps 1040(%rdi), %xmm2
5636 ; AVX1-ONLY-NEXT:    vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
5637 ; AVX1-ONLY-NEXT:    vmovaps 992(%rdi), %xmm1
5638 ; AVX1-ONLY-NEXT:    vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
5639 ; AVX1-ONLY-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm1[0],xmm2[0]
5640 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
5641 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5642 ; AVX1-ONLY-NEXT:    vmovaps 1312(%rdi), %ymm1
5643 ; AVX1-ONLY-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5644 ; AVX1-ONLY-NEXT:    vinsertf128 $1, 1280(%rdi), %ymm0, %ymm0
5645 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5646 ; AVX1-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]
5647 ; AVX1-ONLY-NEXT:    vmovaps 1232(%rdi), %xmm2
5648 ; AVX1-ONLY-NEXT:    vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
5649 ; AVX1-ONLY-NEXT:    vmovaps 1184(%rdi), %xmm1
5650 ; AVX1-ONLY-NEXT:    vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
5651 ; AVX1-ONLY-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm1[0],xmm2[0]
5652 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
5653 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5654 ; AVX1-ONLY-NEXT:    vmovaps 1504(%rdi), %ymm1
5655 ; AVX1-ONLY-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5656 ; AVX1-ONLY-NEXT:    vinsertf128 $1, 1472(%rdi), %ymm0, %ymm0
5657 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5658 ; AVX1-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]
5659 ; AVX1-ONLY-NEXT:    vmovaps 1424(%rdi), %xmm2
5660 ; AVX1-ONLY-NEXT:    vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
5661 ; AVX1-ONLY-NEXT:    vmovaps 1376(%rdi), %xmm1
5662 ; AVX1-ONLY-NEXT:    vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
5663 ; AVX1-ONLY-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm1[0],xmm2[0]
5664 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
5665 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5666 ; AVX1-ONLY-NEXT:    vmovaps 1696(%rdi), %ymm1
5667 ; AVX1-ONLY-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5668 ; AVX1-ONLY-NEXT:    vinsertf128 $1, 1664(%rdi), %ymm0, %ymm0
5669 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5670 ; AVX1-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]
5671 ; AVX1-ONLY-NEXT:    vmovaps 1616(%rdi), %xmm2
5672 ; AVX1-ONLY-NEXT:    vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
5673 ; AVX1-ONLY-NEXT:    vmovaps 1568(%rdi), %xmm1
5674 ; AVX1-ONLY-NEXT:    vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
5675 ; AVX1-ONLY-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm1[0],xmm2[0]
5676 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
5677 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5678 ; AVX1-ONLY-NEXT:    vmovaps 1888(%rdi), %ymm1
5679 ; AVX1-ONLY-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5680 ; AVX1-ONLY-NEXT:    vinsertf128 $1, 1856(%rdi), %ymm0, %ymm0
5681 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5682 ; AVX1-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]
5683 ; AVX1-ONLY-NEXT:    vmovaps 1808(%rdi), %xmm2
5684 ; AVX1-ONLY-NEXT:    vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
5685 ; AVX1-ONLY-NEXT:    vmovaps 1760(%rdi), %xmm1
5686 ; AVX1-ONLY-NEXT:    vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
5687 ; AVX1-ONLY-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm1[0],xmm2[0]
5688 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
5689 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5690 ; AVX1-ONLY-NEXT:    vmovaps 2080(%rdi), %ymm1
5691 ; AVX1-ONLY-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5692 ; AVX1-ONLY-NEXT:    vinsertf128 $1, 2048(%rdi), %ymm0, %ymm0
5693 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5694 ; AVX1-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]
5695 ; AVX1-ONLY-NEXT:    vmovaps 2000(%rdi), %xmm2
5696 ; AVX1-ONLY-NEXT:    vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
5697 ; AVX1-ONLY-NEXT:    vmovaps 1952(%rdi), %xmm1
5698 ; AVX1-ONLY-NEXT:    vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
5699 ; AVX1-ONLY-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm1[0],xmm2[0]
5700 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
5701 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5702 ; AVX1-ONLY-NEXT:    vmovaps 2272(%rdi), %ymm1
5703 ; AVX1-ONLY-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5704 ; AVX1-ONLY-NEXT:    vinsertf128 $1, 2240(%rdi), %ymm0, %ymm0
5705 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5706 ; AVX1-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]
5707 ; AVX1-ONLY-NEXT:    vmovaps 2192(%rdi), %xmm2
5708 ; AVX1-ONLY-NEXT:    vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
5709 ; AVX1-ONLY-NEXT:    vmovaps 2144(%rdi), %xmm1
5710 ; AVX1-ONLY-NEXT:    vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
5711 ; AVX1-ONLY-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm1[0],xmm2[0]
5712 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
5713 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5714 ; AVX1-ONLY-NEXT:    vmovaps 2464(%rdi), %ymm1
5715 ; AVX1-ONLY-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5716 ; AVX1-ONLY-NEXT:    vinsertf128 $1, 2432(%rdi), %ymm0, %ymm0
5717 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5718 ; AVX1-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]
5719 ; AVX1-ONLY-NEXT:    vmovaps 2384(%rdi), %xmm14
5720 ; AVX1-ONLY-NEXT:    vmovaps 2336(%rdi), %xmm13
5721 ; AVX1-ONLY-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm13[0],xmm14[0]
5722 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
5723 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5724 ; AVX1-ONLY-NEXT:    vmovaps 2656(%rdi), %ymm12
5725 ; AVX1-ONLY-NEXT:    vinsertf128 $1, 2624(%rdi), %ymm0, %ymm11
5726 ; AVX1-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm11[0],ymm12[0],ymm11[2],ymm12[2]
5727 ; AVX1-ONLY-NEXT:    vmovaps 2576(%rdi), %xmm10
5728 ; AVX1-ONLY-NEXT:    vmovaps 2528(%rdi), %xmm9
5729 ; AVX1-ONLY-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm9[0],xmm10[0]
5730 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
5731 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5732 ; AVX1-ONLY-NEXT:    vmovaps 2848(%rdi), %ymm8
5733 ; AVX1-ONLY-NEXT:    vinsertf128 $1, 2816(%rdi), %ymm0, %ymm7
5734 ; AVX1-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm7[0],ymm8[0],ymm7[2],ymm8[2]
5735 ; AVX1-ONLY-NEXT:    vmovaps 2768(%rdi), %xmm6
5736 ; AVX1-ONLY-NEXT:    vmovaps 2720(%rdi), %xmm5
5737 ; AVX1-ONLY-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm5[0],xmm6[0]
5738 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
5739 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5740 ; AVX1-ONLY-NEXT:    vmovaps 3040(%rdi), %ymm4
5741 ; AVX1-ONLY-NEXT:    vinsertf128 $1, 3008(%rdi), %ymm0, %ymm3
5742 ; AVX1-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm3[0],ymm4[0],ymm3[2],ymm4[2]
5743 ; AVX1-ONLY-NEXT:    vmovaps 2960(%rdi), %xmm2
5744 ; AVX1-ONLY-NEXT:    vmovaps 2912(%rdi), %xmm1
5745 ; AVX1-ONLY-NEXT:    vmovlhps {{.*#+}} xmm15 = xmm1[0],xmm2[0]
5746 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm15[0,1,2,3],ymm0[4,5,6,7]
5747 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5748 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
5749 ; AVX1-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload
5750 ; AVX1-ONLY-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]
5751 ; AVX1-ONLY-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload
5752 ; AVX1-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm15, %xmm15 # 16-byte Folded Reload
5753 ; AVX1-ONLY-NEXT:    # xmm15 = xmm15[1],mem[1]
5754 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm15[0,1,2,3],ymm0[4,5,6,7]
5755 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5756 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
5757 ; AVX1-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload
5758 ; AVX1-ONLY-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]
5759 ; AVX1-ONLY-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload
5760 ; AVX1-ONLY-NEXT:    vunpckhpd (%rsp), %xmm15, %xmm15 # 16-byte Folded Reload
5761 ; AVX1-ONLY-NEXT:    # xmm15 = xmm15[1],mem[1]
5762 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm15[0,1,2,3],ymm0[4,5,6,7]
5763 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5764 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
5765 ; AVX1-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload
5766 ; AVX1-ONLY-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]
5767 ; AVX1-ONLY-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload
5768 ; AVX1-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm15, %xmm15 # 16-byte Folded Reload
5769 ; AVX1-ONLY-NEXT:    # xmm15 = xmm15[1],mem[1]
5770 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm15[0,1,2,3],ymm0[4,5,6,7]
5771 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5772 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
5773 ; AVX1-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload
5774 ; AVX1-ONLY-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]
5775 ; AVX1-ONLY-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload
5776 ; AVX1-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm15, %xmm15 # 16-byte Folded Reload
5777 ; AVX1-ONLY-NEXT:    # xmm15 = xmm15[1],mem[1]
5778 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm15[0,1,2,3],ymm0[4,5,6,7]
5779 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5780 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
5781 ; AVX1-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload
5782 ; AVX1-ONLY-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]
5783 ; AVX1-ONLY-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload
5784 ; AVX1-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm15, %xmm15 # 16-byte Folded Reload
5785 ; AVX1-ONLY-NEXT:    # xmm15 = xmm15[1],mem[1]
5786 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm15[0,1,2,3],ymm0[4,5,6,7]
5787 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5788 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
5789 ; AVX1-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload
5790 ; AVX1-ONLY-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]
5791 ; AVX1-ONLY-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload
5792 ; AVX1-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm15, %xmm15 # 16-byte Folded Reload
5793 ; AVX1-ONLY-NEXT:    # xmm15 = xmm15[1],mem[1]
5794 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm15[0,1,2,3],ymm0[4,5,6,7]
5795 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5796 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
5797 ; AVX1-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload
5798 ; AVX1-ONLY-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]
5799 ; AVX1-ONLY-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload
5800 ; AVX1-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm15, %xmm15 # 16-byte Folded Reload
5801 ; AVX1-ONLY-NEXT:    # xmm15 = xmm15[1],mem[1]
5802 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm15[0,1,2,3],ymm0[4,5,6,7]
5803 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5804 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
5805 ; AVX1-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload
5806 ; AVX1-ONLY-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]
5807 ; AVX1-ONLY-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload
5808 ; AVX1-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm15, %xmm15 # 16-byte Folded Reload
5809 ; AVX1-ONLY-NEXT:    # xmm15 = xmm15[1],mem[1]
5810 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm15[0,1,2,3],ymm0[4,5,6,7]
5811 ; AVX1-ONLY-NEXT:    vmovups %ymm0, (%rsp) # 32-byte Spill
5812 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
5813 ; AVX1-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload
5814 ; AVX1-ONLY-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]
5815 ; AVX1-ONLY-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload
5816 ; AVX1-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm15, %xmm15 # 16-byte Folded Reload
5817 ; AVX1-ONLY-NEXT:    # xmm15 = xmm15[1],mem[1]
5818 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm15[0,1,2,3],ymm0[4,5,6,7]
5819 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5820 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
5821 ; AVX1-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload
5822 ; AVX1-ONLY-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]
5823 ; AVX1-ONLY-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload
5824 ; AVX1-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm15, %xmm15 # 16-byte Folded Reload
5825 ; AVX1-ONLY-NEXT:    # xmm15 = xmm15[1],mem[1]
5826 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm15[0,1,2,3],ymm0[4,5,6,7]
5827 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5828 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
5829 ; AVX1-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload
5830 ; AVX1-ONLY-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]
5831 ; AVX1-ONLY-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload
5832 ; AVX1-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm15, %xmm15 # 16-byte Folded Reload
5833 ; AVX1-ONLY-NEXT:    # xmm15 = xmm15[1],mem[1]
5834 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm15[0,1,2,3],ymm0[4,5,6,7]
5835 ; AVX1-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
5836 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
5837 ; AVX1-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload
5838 ; AVX1-ONLY-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]
5839 ; AVX1-ONLY-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload
5840 ; AVX1-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm15, %xmm15 # 16-byte Folded Reload
5841 ; AVX1-ONLY-NEXT:    # xmm15 = xmm15[1],mem[1]
5842 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm15 = ymm15[0,1,2,3],ymm0[4,5,6,7]
5843 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
5844 ; AVX1-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload
5845 ; AVX1-ONLY-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]
5846 ; AVX1-ONLY-NEXT:    vunpckhpd {{.*#+}} xmm13 = xmm13[1],xmm14[1]
5847 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm13 = ymm13[0,1,2,3],ymm0[4,5,6,7]
5848 ; AVX1-ONLY-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm11[1],ymm12[1],ymm11[3],ymm12[3]
5849 ; AVX1-ONLY-NEXT:    vunpckhpd {{.*#+}} xmm9 = xmm9[1],xmm10[1]
5850 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm9[0,1,2,3],ymm0[4,5,6,7]
5851 ; AVX1-ONLY-NEXT:    vunpckhpd {{.*#+}} ymm7 = ymm7[1],ymm8[1],ymm7[3],ymm8[3]
5852 ; AVX1-ONLY-NEXT:    vunpckhpd {{.*#+}} xmm5 = xmm5[1],xmm6[1]
5853 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm5 = ymm5[0,1,2,3],ymm7[4,5,6,7]
5854 ; AVX1-ONLY-NEXT:    vunpckhpd {{.*#+}} ymm3 = ymm3[1],ymm4[1],ymm3[3],ymm4[3]
5855 ; AVX1-ONLY-NEXT:    vunpckhpd {{.*#+}} xmm1 = xmm1[1],xmm2[1]
5856 ; AVX1-ONLY-NEXT:    vblendps {{.*#+}} ymm4 = ymm1[0,1,2,3],ymm3[4,5,6,7]
5857 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
5858 ; AVX1-ONLY-NEXT:    vmovaps %ymm1, 448(%rsi)
5859 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
5860 ; AVX1-ONLY-NEXT:    vmovaps %ymm1, 384(%rsi)
5861 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
5862 ; AVX1-ONLY-NEXT:    vmovaps %ymm1, 320(%rsi)
5863 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
5864 ; AVX1-ONLY-NEXT:    vmovaps %ymm1, 256(%rsi)
5865 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
5866 ; AVX1-ONLY-NEXT:    vmovaps %ymm1, 192(%rsi)
5867 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
5868 ; AVX1-ONLY-NEXT:    vmovaps %ymm1, 128(%rsi)
5869 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
5870 ; AVX1-ONLY-NEXT:    vmovaps %ymm1, 64(%rsi)
5871 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
5872 ; AVX1-ONLY-NEXT:    vmovaps %ymm1, (%rsi)
5873 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
5874 ; AVX1-ONLY-NEXT:    vmovaps %ymm1, 480(%rsi)
5875 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
5876 ; AVX1-ONLY-NEXT:    vmovaps %ymm1, 416(%rsi)
5877 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
5878 ; AVX1-ONLY-NEXT:    vmovaps %ymm1, 352(%rsi)
5879 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
5880 ; AVX1-ONLY-NEXT:    vmovaps %ymm1, 288(%rsi)
5881 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
5882 ; AVX1-ONLY-NEXT:    vmovaps %ymm1, 224(%rsi)
5883 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
5884 ; AVX1-ONLY-NEXT:    vmovaps %ymm1, 160(%rsi)
5885 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
5886 ; AVX1-ONLY-NEXT:    vmovaps %ymm1, 96(%rsi)
5887 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
5888 ; AVX1-ONLY-NEXT:    vmovaps %ymm1, 32(%rsi)
5889 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
5890 ; AVX1-ONLY-NEXT:    vmovaps %ymm1, 448(%rdx)
5891 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
5892 ; AVX1-ONLY-NEXT:    vmovaps %ymm1, 384(%rdx)
5893 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
5894 ; AVX1-ONLY-NEXT:    vmovaps %ymm1, 320(%rdx)
5895 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
5896 ; AVX1-ONLY-NEXT:    vmovaps %ymm1, 256(%rdx)
5897 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
5898 ; AVX1-ONLY-NEXT:    vmovaps %ymm1, 192(%rdx)
5899 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
5900 ; AVX1-ONLY-NEXT:    vmovaps %ymm1, 128(%rdx)
5901 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
5902 ; AVX1-ONLY-NEXT:    vmovaps %ymm1, 64(%rdx)
5903 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
5904 ; AVX1-ONLY-NEXT:    vmovaps %ymm1, (%rdx)
5905 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
5906 ; AVX1-ONLY-NEXT:    vmovaps %ymm1, 480(%rdx)
5907 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
5908 ; AVX1-ONLY-NEXT:    vmovaps %ymm1, 416(%rdx)
5909 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
5910 ; AVX1-ONLY-NEXT:    vmovaps %ymm1, 352(%rdx)
5911 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
5912 ; AVX1-ONLY-NEXT:    vmovaps %ymm1, 288(%rdx)
5913 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
5914 ; AVX1-ONLY-NEXT:    vmovaps %ymm1, 224(%rdx)
5915 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
5916 ; AVX1-ONLY-NEXT:    vmovaps %ymm1, 160(%rdx)
5917 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
5918 ; AVX1-ONLY-NEXT:    vmovaps %ymm1, 96(%rdx)
5919 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
5920 ; AVX1-ONLY-NEXT:    vmovaps %ymm1, 32(%rdx)
5921 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
5922 ; AVX1-ONLY-NEXT:    vmovaps %ymm1, (%rcx)
5923 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
5924 ; AVX1-ONLY-NEXT:    vmovaps %ymm1, 64(%rcx)
5925 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
5926 ; AVX1-ONLY-NEXT:    vmovaps %ymm1, 128(%rcx)
5927 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
5928 ; AVX1-ONLY-NEXT:    vmovaps %ymm1, 192(%rcx)
5929 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
5930 ; AVX1-ONLY-NEXT:    vmovaps %ymm1, 256(%rcx)
5931 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
5932 ; AVX1-ONLY-NEXT:    vmovaps %ymm1, 320(%rcx)
5933 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
5934 ; AVX1-ONLY-NEXT:    vmovaps %ymm1, 384(%rcx)
5935 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
5936 ; AVX1-ONLY-NEXT:    vmovaps %ymm1, 448(%rcx)
5937 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
5938 ; AVX1-ONLY-NEXT:    vmovaps %ymm1, 480(%rcx)
5939 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
5940 ; AVX1-ONLY-NEXT:    vmovaps %ymm1, 416(%rcx)
5941 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
5942 ; AVX1-ONLY-NEXT:    vmovaps %ymm1, 352(%rcx)
5943 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
5944 ; AVX1-ONLY-NEXT:    vmovaps %ymm1, 288(%rcx)
5945 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
5946 ; AVX1-ONLY-NEXT:    vmovaps %ymm1, 224(%rcx)
5947 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
5948 ; AVX1-ONLY-NEXT:    vmovaps %ymm1, 160(%rcx)
5949 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
5950 ; AVX1-ONLY-NEXT:    vmovaps %ymm1, 96(%rcx)
5951 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
5952 ; AVX1-ONLY-NEXT:    vmovaps %ymm1, 32(%rcx)
5953 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
5954 ; AVX1-ONLY-NEXT:    vmovaps %ymm1, 480(%r8)
5955 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
5956 ; AVX1-ONLY-NEXT:    vmovaps %ymm1, 448(%r8)
5957 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
5958 ; AVX1-ONLY-NEXT:    vmovaps %ymm1, 416(%r8)
5959 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
5960 ; AVX1-ONLY-NEXT:    vmovaps %ymm1, 384(%r8)
5961 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
5962 ; AVX1-ONLY-NEXT:    vmovaps %ymm1, 352(%r8)
5963 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
5964 ; AVX1-ONLY-NEXT:    vmovaps %ymm1, 320(%r8)
5965 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
5966 ; AVX1-ONLY-NEXT:    vmovaps %ymm1, 288(%r8)
5967 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
5968 ; AVX1-ONLY-NEXT:    vmovaps %ymm1, 256(%r8)
5969 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
5970 ; AVX1-ONLY-NEXT:    vmovaps %ymm1, 224(%r8)
5971 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
5972 ; AVX1-ONLY-NEXT:    vmovaps %ymm1, 192(%r8)
5973 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
5974 ; AVX1-ONLY-NEXT:    vmovaps %ymm1, 160(%r8)
5975 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
5976 ; AVX1-ONLY-NEXT:    vmovaps %ymm1, 128(%r8)
5977 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
5978 ; AVX1-ONLY-NEXT:    vmovaps %ymm1, 96(%r8)
5979 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
5980 ; AVX1-ONLY-NEXT:    vmovaps %ymm1, 64(%r8)
5981 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
5982 ; AVX1-ONLY-NEXT:    vmovaps %ymm1, 32(%r8)
5983 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
5984 ; AVX1-ONLY-NEXT:    vmovaps %ymm1, (%r8)
5985 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
5986 ; AVX1-ONLY-NEXT:    vmovaps %ymm1, 480(%r9)
5987 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
5988 ; AVX1-ONLY-NEXT:    vmovaps %ymm1, 448(%r9)
5989 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
5990 ; AVX1-ONLY-NEXT:    vmovaps %ymm1, 416(%r9)
5991 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
5992 ; AVX1-ONLY-NEXT:    vmovaps %ymm1, 384(%r9)
5993 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
5994 ; AVX1-ONLY-NEXT:    vmovaps %ymm1, 352(%r9)
5995 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
5996 ; AVX1-ONLY-NEXT:    vmovaps %ymm1, 320(%r9)
5997 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
5998 ; AVX1-ONLY-NEXT:    vmovaps %ymm1, 288(%r9)
5999 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
6000 ; AVX1-ONLY-NEXT:    vmovaps %ymm1, 256(%r9)
6001 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
6002 ; AVX1-ONLY-NEXT:    vmovaps %ymm1, 224(%r9)
6003 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
6004 ; AVX1-ONLY-NEXT:    vmovaps %ymm1, 192(%r9)
6005 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
6006 ; AVX1-ONLY-NEXT:    vmovaps %ymm1, 160(%r9)
6007 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
6008 ; AVX1-ONLY-NEXT:    vmovaps %ymm1, 128(%r9)
6009 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
6010 ; AVX1-ONLY-NEXT:    vmovaps %ymm1, 96(%r9)
6011 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
6012 ; AVX1-ONLY-NEXT:    vmovaps %ymm1, 64(%r9)
6013 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
6014 ; AVX1-ONLY-NEXT:    vmovaps %ymm1, 32(%r9)
6015 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
6016 ; AVX1-ONLY-NEXT:    vmovaps %ymm1, (%r9)
6017 ; AVX1-ONLY-NEXT:    movq {{[0-9]+}}(%rsp), %rax
6018 ; AVX1-ONLY-NEXT:    vmovaps %ymm4, 480(%rax)
6019 ; AVX1-ONLY-NEXT:    vmovaps %ymm5, 448(%rax)
6020 ; AVX1-ONLY-NEXT:    vmovaps %ymm0, 416(%rax)
6021 ; AVX1-ONLY-NEXT:    vmovaps %ymm13, 384(%rax)
6022 ; AVX1-ONLY-NEXT:    vmovaps %ymm15, 352(%rax)
6023 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
6024 ; AVX1-ONLY-NEXT:    vmovaps %ymm0, 320(%rax)
6025 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
6026 ; AVX1-ONLY-NEXT:    vmovaps %ymm0, 288(%rax)
6027 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
6028 ; AVX1-ONLY-NEXT:    vmovaps %ymm0, 256(%rax)
6029 ; AVX1-ONLY-NEXT:    vmovups (%rsp), %ymm0 # 32-byte Reload
6030 ; AVX1-ONLY-NEXT:    vmovaps %ymm0, 224(%rax)
6031 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
6032 ; AVX1-ONLY-NEXT:    vmovaps %ymm0, 192(%rax)
6033 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
6034 ; AVX1-ONLY-NEXT:    vmovaps %ymm0, 160(%rax)
6035 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
6036 ; AVX1-ONLY-NEXT:    vmovaps %ymm0, 128(%rax)
6037 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
6038 ; AVX1-ONLY-NEXT:    vmovaps %ymm0, 96(%rax)
6039 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
6040 ; AVX1-ONLY-NEXT:    vmovaps %ymm0, 64(%rax)
6041 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
6042 ; AVX1-ONLY-NEXT:    vmovaps %ymm0, 32(%rax)
6043 ; AVX1-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
6044 ; AVX1-ONLY-NEXT:    vmovaps %ymm0, (%rax)
6045 ; AVX1-ONLY-NEXT:    addq $3768, %rsp # imm = 0xEB8
6046 ; AVX1-ONLY-NEXT:    vzeroupper
6047 ; AVX1-ONLY-NEXT:    retq
6049 ; AVX2-ONLY-LABEL: load_i64_stride6_vf64:
6050 ; AVX2-ONLY:       # %bb.0:
6051 ; AVX2-ONLY-NEXT:    subq $3432, %rsp # imm = 0xD68
6052 ; AVX2-ONLY-NEXT:    vmovaps 1088(%rdi), %ymm2
6053 ; AVX2-ONLY-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6054 ; AVX2-ONLY-NEXT:    vmovaps 1056(%rdi), %ymm4
6055 ; AVX2-ONLY-NEXT:    vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6056 ; AVX2-ONLY-NEXT:    vmovaps 704(%rdi), %ymm3
6057 ; AVX2-ONLY-NEXT:    vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6058 ; AVX2-ONLY-NEXT:    vmovaps 672(%rdi), %ymm5
6059 ; AVX2-ONLY-NEXT:    vmovups %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6060 ; AVX2-ONLY-NEXT:    vmovaps 320(%rdi), %ymm1
6061 ; AVX2-ONLY-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6062 ; AVX2-ONLY-NEXT:    vmovaps 288(%rdi), %ymm6
6063 ; AVX2-ONLY-NEXT:    vmovups %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6064 ; AVX2-ONLY-NEXT:    vmovaps 240(%rdi), %xmm7
6065 ; AVX2-ONLY-NEXT:    vmovaps %xmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
6066 ; AVX2-ONLY-NEXT:    vmovaps 192(%rdi), %xmm0
6067 ; AVX2-ONLY-NEXT:    vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
6068 ; AVX2-ONLY-NEXT:    vmovlhps {{.*#+}} xmm0 = xmm0[0],xmm7[0]
6069 ; AVX2-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm1 = ymm6[0],ymm1[0],ymm6[2],ymm1[2]
6070 ; AVX2-ONLY-NEXT:    vpermpd {{.*#+}} ymm1 = ymm1[0,1,0,3]
6071 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]
6072 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6073 ; AVX2-ONLY-NEXT:    vmovaps 624(%rdi), %xmm1
6074 ; AVX2-ONLY-NEXT:    vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
6075 ; AVX2-ONLY-NEXT:    vmovaps 576(%rdi), %xmm0
6076 ; AVX2-ONLY-NEXT:    vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
6077 ; AVX2-ONLY-NEXT:    vmovlhps {{.*#+}} xmm0 = xmm0[0],xmm1[0]
6078 ; AVX2-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm1 = ymm5[0],ymm3[0],ymm5[2],ymm3[2]
6079 ; AVX2-ONLY-NEXT:    vpermpd {{.*#+}} ymm1 = ymm1[0,1,0,3]
6080 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]
6081 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6082 ; AVX2-ONLY-NEXT:    vmovaps 1008(%rdi), %xmm1
6083 ; AVX2-ONLY-NEXT:    vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
6084 ; AVX2-ONLY-NEXT:    vmovaps 960(%rdi), %xmm0
6085 ; AVX2-ONLY-NEXT:    vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
6086 ; AVX2-ONLY-NEXT:    vmovlhps {{.*#+}} xmm0 = xmm0[0],xmm1[0]
6087 ; AVX2-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm1 = ymm4[0],ymm2[0],ymm4[2],ymm2[2]
6088 ; AVX2-ONLY-NEXT:    vpermpd {{.*#+}} ymm1 = ymm1[0,1,0,3]
6089 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]
6090 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6091 ; AVX2-ONLY-NEXT:    vmovaps 1472(%rdi), %ymm0
6092 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6093 ; AVX2-ONLY-NEXT:    vmovaps 1440(%rdi), %ymm1
6094 ; AVX2-ONLY-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6095 ; AVX2-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]
6096 ; AVX2-ONLY-NEXT:    vpermpd {{.*#+}} ymm0 = ymm0[0,1,0,3]
6097 ; AVX2-ONLY-NEXT:    vmovaps 1392(%rdi), %xmm2
6098 ; AVX2-ONLY-NEXT:    vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
6099 ; AVX2-ONLY-NEXT:    vmovaps 1344(%rdi), %xmm1
6100 ; AVX2-ONLY-NEXT:    vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
6101 ; AVX2-ONLY-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm1[0],xmm2[0]
6102 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
6103 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6104 ; AVX2-ONLY-NEXT:    vmovaps 1856(%rdi), %ymm0
6105 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6106 ; AVX2-ONLY-NEXT:    vmovaps 1824(%rdi), %ymm1
6107 ; AVX2-ONLY-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6108 ; AVX2-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]
6109 ; AVX2-ONLY-NEXT:    vpermpd {{.*#+}} ymm0 = ymm0[0,1,0,3]
6110 ; AVX2-ONLY-NEXT:    vmovaps 1776(%rdi), %xmm2
6111 ; AVX2-ONLY-NEXT:    vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
6112 ; AVX2-ONLY-NEXT:    vmovaps 1728(%rdi), %xmm1
6113 ; AVX2-ONLY-NEXT:    vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
6114 ; AVX2-ONLY-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm1[0],xmm2[0]
6115 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
6116 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6117 ; AVX2-ONLY-NEXT:    vmovaps 2240(%rdi), %ymm0
6118 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6119 ; AVX2-ONLY-NEXT:    vmovaps 2208(%rdi), %ymm1
6120 ; AVX2-ONLY-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6121 ; AVX2-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]
6122 ; AVX2-ONLY-NEXT:    vpermpd {{.*#+}} ymm0 = ymm0[0,1,0,3]
6123 ; AVX2-ONLY-NEXT:    vmovaps 2160(%rdi), %xmm2
6124 ; AVX2-ONLY-NEXT:    vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
6125 ; AVX2-ONLY-NEXT:    vmovaps 2112(%rdi), %xmm1
6126 ; AVX2-ONLY-NEXT:    vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
6127 ; AVX2-ONLY-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm1[0],xmm2[0]
6128 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
6129 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6130 ; AVX2-ONLY-NEXT:    vmovaps 2624(%rdi), %ymm0
6131 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6132 ; AVX2-ONLY-NEXT:    vmovaps 2592(%rdi), %ymm1
6133 ; AVX2-ONLY-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6134 ; AVX2-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]
6135 ; AVX2-ONLY-NEXT:    vpermpd {{.*#+}} ymm0 = ymm0[0,1,0,3]
6136 ; AVX2-ONLY-NEXT:    vmovaps 2544(%rdi), %xmm2
6137 ; AVX2-ONLY-NEXT:    vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
6138 ; AVX2-ONLY-NEXT:    vmovaps 2496(%rdi), %xmm1
6139 ; AVX2-ONLY-NEXT:    vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
6140 ; AVX2-ONLY-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm1[0],xmm2[0]
6141 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
6142 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6143 ; AVX2-ONLY-NEXT:    vmovaps 3008(%rdi), %ymm0
6144 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6145 ; AVX2-ONLY-NEXT:    vmovaps 2976(%rdi), %ymm1
6146 ; AVX2-ONLY-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6147 ; AVX2-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]
6148 ; AVX2-ONLY-NEXT:    vpermpd {{.*#+}} ymm0 = ymm0[0,1,0,3]
6149 ; AVX2-ONLY-NEXT:    vmovaps 2928(%rdi), %xmm2
6150 ; AVX2-ONLY-NEXT:    vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
6151 ; AVX2-ONLY-NEXT:    vmovaps 2880(%rdi), %xmm1
6152 ; AVX2-ONLY-NEXT:    vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
6153 ; AVX2-ONLY-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm1[0],xmm2[0]
6154 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
6155 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6156 ; AVX2-ONLY-NEXT:    vmovaps 128(%rdi), %ymm0
6157 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6158 ; AVX2-ONLY-NEXT:    vmovaps 96(%rdi), %ymm1
6159 ; AVX2-ONLY-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6160 ; AVX2-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]
6161 ; AVX2-ONLY-NEXT:    vpermpd {{.*#+}} ymm0 = ymm0[0,1,0,3]
6162 ; AVX2-ONLY-NEXT:    vmovaps (%rdi), %xmm2
6163 ; AVX2-ONLY-NEXT:    vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
6164 ; AVX2-ONLY-NEXT:    vmovaps 48(%rdi), %xmm1
6165 ; AVX2-ONLY-NEXT:    vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
6166 ; AVX2-ONLY-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm2[0],xmm1[0]
6167 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
6168 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6169 ; AVX2-ONLY-NEXT:    vmovaps 512(%rdi), %ymm0
6170 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6171 ; AVX2-ONLY-NEXT:    vmovaps 480(%rdi), %ymm1
6172 ; AVX2-ONLY-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6173 ; AVX2-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]
6174 ; AVX2-ONLY-NEXT:    vpermpd {{.*#+}} ymm0 = ymm0[0,1,0,3]
6175 ; AVX2-ONLY-NEXT:    vmovaps 432(%rdi), %xmm1
6176 ; AVX2-ONLY-NEXT:    vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
6177 ; AVX2-ONLY-NEXT:    vmovaps 384(%rdi), %xmm13
6178 ; AVX2-ONLY-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm13[0],xmm1[0]
6179 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
6180 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6181 ; AVX2-ONLY-NEXT:    vmovaps 896(%rdi), %ymm0
6182 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6183 ; AVX2-ONLY-NEXT:    vmovaps 864(%rdi), %ymm1
6184 ; AVX2-ONLY-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6185 ; AVX2-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]
6186 ; AVX2-ONLY-NEXT:    vpermpd {{.*#+}} ymm0 = ymm0[0,1,0,3]
6187 ; AVX2-ONLY-NEXT:    vmovaps 816(%rdi), %xmm1
6188 ; AVX2-ONLY-NEXT:    vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
6189 ; AVX2-ONLY-NEXT:    vmovaps 768(%rdi), %xmm11
6190 ; AVX2-ONLY-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm11[0],xmm1[0]
6191 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
6192 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6193 ; AVX2-ONLY-NEXT:    vmovaps 1280(%rdi), %ymm0
6194 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6195 ; AVX2-ONLY-NEXT:    vmovaps 1248(%rdi), %ymm1
6196 ; AVX2-ONLY-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6197 ; AVX2-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]
6198 ; AVX2-ONLY-NEXT:    vpermpd {{.*#+}} ymm0 = ymm0[0,1,0,3]
6199 ; AVX2-ONLY-NEXT:    vmovaps 1200(%rdi), %xmm1
6200 ; AVX2-ONLY-NEXT:    vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
6201 ; AVX2-ONLY-NEXT:    vmovaps 1152(%rdi), %xmm9
6202 ; AVX2-ONLY-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm9[0],xmm1[0]
6203 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
6204 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6205 ; AVX2-ONLY-NEXT:    vmovaps 1664(%rdi), %ymm0
6206 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6207 ; AVX2-ONLY-NEXT:    vmovaps 1632(%rdi), %ymm1
6208 ; AVX2-ONLY-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6209 ; AVX2-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]
6210 ; AVX2-ONLY-NEXT:    vpermpd {{.*#+}} ymm0 = ymm0[0,1,0,3]
6211 ; AVX2-ONLY-NEXT:    vmovaps 1584(%rdi), %xmm14
6212 ; AVX2-ONLY-NEXT:    vmovaps 1536(%rdi), %xmm7
6213 ; AVX2-ONLY-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm7[0],xmm14[0]
6214 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
6215 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6216 ; AVX2-ONLY-NEXT:    vmovaps 2048(%rdi), %ymm12
6217 ; AVX2-ONLY-NEXT:    vmovaps 2016(%rdi), %ymm0
6218 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6219 ; AVX2-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm12[0],ymm0[2],ymm12[2]
6220 ; AVX2-ONLY-NEXT:    vmovups %ymm12, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6221 ; AVX2-ONLY-NEXT:    vpermpd {{.*#+}} ymm0 = ymm0[0,1,0,3]
6222 ; AVX2-ONLY-NEXT:    vmovaps 1968(%rdi), %xmm10
6223 ; AVX2-ONLY-NEXT:    vmovaps 1920(%rdi), %xmm5
6224 ; AVX2-ONLY-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm5[0],xmm10[0]
6225 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
6226 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6227 ; AVX2-ONLY-NEXT:    vmovaps 2432(%rdi), %ymm8
6228 ; AVX2-ONLY-NEXT:    vmovaps 2400(%rdi), %ymm0
6229 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6230 ; AVX2-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm8[0],ymm0[2],ymm8[2]
6231 ; AVX2-ONLY-NEXT:    vmovups %ymm8, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6232 ; AVX2-ONLY-NEXT:    vpermpd {{.*#+}} ymm0 = ymm0[0,1,0,3]
6233 ; AVX2-ONLY-NEXT:    vmovaps 2352(%rdi), %xmm6
6234 ; AVX2-ONLY-NEXT:    vmovaps 2304(%rdi), %xmm3
6235 ; AVX2-ONLY-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm3[0],xmm6[0]
6236 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
6237 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6238 ; AVX2-ONLY-NEXT:    vmovaps 2816(%rdi), %ymm4
6239 ; AVX2-ONLY-NEXT:    vmovaps 2784(%rdi), %ymm0
6240 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6241 ; AVX2-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm4[0],ymm0[2],ymm4[2]
6242 ; AVX2-ONLY-NEXT:    vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6243 ; AVX2-ONLY-NEXT:    vpermpd {{.*#+}} ymm0 = ymm0[0,1,0,3]
6244 ; AVX2-ONLY-NEXT:    vmovaps 2736(%rdi), %xmm2
6245 ; AVX2-ONLY-NEXT:    vmovaps 2688(%rdi), %xmm1
6246 ; AVX2-ONLY-NEXT:    vmovlhps {{.*#+}} xmm15 = xmm1[0],xmm2[0]
6247 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm15[0,1,2,3],ymm0[4,5,6,7]
6248 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6249 ; AVX2-ONLY-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
6250 ; AVX2-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm0 # 16-byte Folded Reload
6251 ; AVX2-ONLY-NEXT:    # xmm0 = xmm0[1],mem[1]
6252 ; AVX2-ONLY-NEXT:    vbroadcastsd 296(%rdi), %ymm15
6253 ; AVX2-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15, %ymm15 # 32-byte Folded Reload
6254 ; AVX2-ONLY-NEXT:    # ymm15 = ymm15[1],mem[1],ymm15[3],mem[3]
6255 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm15[4,5,6,7]
6256 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6257 ; AVX2-ONLY-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
6258 ; AVX2-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm0 # 16-byte Folded Reload
6259 ; AVX2-ONLY-NEXT:    # xmm0 = xmm0[1],mem[1]
6260 ; AVX2-ONLY-NEXT:    vbroadcastsd 680(%rdi), %ymm15
6261 ; AVX2-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15, %ymm15 # 32-byte Folded Reload
6262 ; AVX2-ONLY-NEXT:    # ymm15 = ymm15[1],mem[1],ymm15[3],mem[3]
6263 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm15[4,5,6,7]
6264 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6265 ; AVX2-ONLY-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
6266 ; AVX2-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm0 # 16-byte Folded Reload
6267 ; AVX2-ONLY-NEXT:    # xmm0 = xmm0[1],mem[1]
6268 ; AVX2-ONLY-NEXT:    vbroadcastsd 1064(%rdi), %ymm15
6269 ; AVX2-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15, %ymm15 # 32-byte Folded Reload
6270 ; AVX2-ONLY-NEXT:    # ymm15 = ymm15[1],mem[1],ymm15[3],mem[3]
6271 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm15[4,5,6,7]
6272 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6273 ; AVX2-ONLY-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
6274 ; AVX2-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm0 # 16-byte Folded Reload
6275 ; AVX2-ONLY-NEXT:    # xmm0 = xmm0[1],mem[1]
6276 ; AVX2-ONLY-NEXT:    vbroadcastsd 1448(%rdi), %ymm15
6277 ; AVX2-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15, %ymm15 # 32-byte Folded Reload
6278 ; AVX2-ONLY-NEXT:    # ymm15 = ymm15[1],mem[1],ymm15[3],mem[3]
6279 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm15[4,5,6,7]
6280 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6281 ; AVX2-ONLY-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
6282 ; AVX2-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm0 # 16-byte Folded Reload
6283 ; AVX2-ONLY-NEXT:    # xmm0 = xmm0[1],mem[1]
6284 ; AVX2-ONLY-NEXT:    vbroadcastsd 1832(%rdi), %ymm15
6285 ; AVX2-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15, %ymm15 # 32-byte Folded Reload
6286 ; AVX2-ONLY-NEXT:    # ymm15 = ymm15[1],mem[1],ymm15[3],mem[3]
6287 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm15[4,5,6,7]
6288 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6289 ; AVX2-ONLY-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
6290 ; AVX2-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm0 # 16-byte Folded Reload
6291 ; AVX2-ONLY-NEXT:    # xmm0 = xmm0[1],mem[1]
6292 ; AVX2-ONLY-NEXT:    vbroadcastsd 2216(%rdi), %ymm15
6293 ; AVX2-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15, %ymm15 # 32-byte Folded Reload
6294 ; AVX2-ONLY-NEXT:    # ymm15 = ymm15[1],mem[1],ymm15[3],mem[3]
6295 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm15[4,5,6,7]
6296 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6297 ; AVX2-ONLY-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
6298 ; AVX2-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm0 # 16-byte Folded Reload
6299 ; AVX2-ONLY-NEXT:    # xmm0 = xmm0[1],mem[1]
6300 ; AVX2-ONLY-NEXT:    vbroadcastsd 2600(%rdi), %ymm15
6301 ; AVX2-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15, %ymm15 # 32-byte Folded Reload
6302 ; AVX2-ONLY-NEXT:    # ymm15 = ymm15[1],mem[1],ymm15[3],mem[3]
6303 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm15[4,5,6,7]
6304 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6305 ; AVX2-ONLY-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
6306 ; AVX2-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm0 # 16-byte Folded Reload
6307 ; AVX2-ONLY-NEXT:    # xmm0 = xmm0[1],mem[1]
6308 ; AVX2-ONLY-NEXT:    vbroadcastsd 2984(%rdi), %ymm15
6309 ; AVX2-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15, %ymm15 # 32-byte Folded Reload
6310 ; AVX2-ONLY-NEXT:    # ymm15 = ymm15[1],mem[1],ymm15[3],mem[3]
6311 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm15[4,5,6,7]
6312 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6313 ; AVX2-ONLY-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
6314 ; AVX2-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm0 # 16-byte Folded Reload
6315 ; AVX2-ONLY-NEXT:    # xmm0 = xmm0[1],mem[1]
6316 ; AVX2-ONLY-NEXT:    vbroadcastsd 104(%rdi), %ymm15
6317 ; AVX2-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15, %ymm15 # 32-byte Folded Reload
6318 ; AVX2-ONLY-NEXT:    # ymm15 = ymm15[1],mem[1],ymm15[3],mem[3]
6319 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm15[4,5,6,7]
6320 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6321 ; AVX2-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm13, %xmm0 # 16-byte Folded Reload
6322 ; AVX2-ONLY-NEXT:    # xmm0 = xmm13[1],mem[1]
6323 ; AVX2-ONLY-NEXT:    vbroadcastsd 488(%rdi), %ymm13
6324 ; AVX2-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm13, %ymm13 # 32-byte Folded Reload
6325 ; AVX2-ONLY-NEXT:    # ymm13 = ymm13[1],mem[1],ymm13[3],mem[3]
6326 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm13[4,5,6,7]
6327 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6328 ; AVX2-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm11, %xmm0 # 16-byte Folded Reload
6329 ; AVX2-ONLY-NEXT:    # xmm0 = xmm11[1],mem[1]
6330 ; AVX2-ONLY-NEXT:    vbroadcastsd 872(%rdi), %ymm11
6331 ; AVX2-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm11, %ymm11 # 32-byte Folded Reload
6332 ; AVX2-ONLY-NEXT:    # ymm11 = ymm11[1],mem[1],ymm11[3],mem[3]
6333 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm11[4,5,6,7]
6334 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6335 ; AVX2-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm9, %xmm0 # 16-byte Folded Reload
6336 ; AVX2-ONLY-NEXT:    # xmm0 = xmm9[1],mem[1]
6337 ; AVX2-ONLY-NEXT:    vbroadcastsd 1256(%rdi), %ymm9
6338 ; AVX2-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm9, %ymm9 # 32-byte Folded Reload
6339 ; AVX2-ONLY-NEXT:    # ymm9 = ymm9[1],mem[1],ymm9[3],mem[3]
6340 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm9[4,5,6,7]
6341 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6342 ; AVX2-ONLY-NEXT:    vunpckhpd {{.*#+}} xmm0 = xmm7[1],xmm14[1]
6343 ; AVX2-ONLY-NEXT:    vbroadcastsd 1640(%rdi), %ymm7
6344 ; AVX2-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm7, %ymm7 # 32-byte Folded Reload
6345 ; AVX2-ONLY-NEXT:    # ymm7 = ymm7[1],mem[1],ymm7[3],mem[3]
6346 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm7[4,5,6,7]
6347 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6348 ; AVX2-ONLY-NEXT:    vunpckhpd {{.*#+}} xmm0 = xmm5[1],xmm10[1]
6349 ; AVX2-ONLY-NEXT:    vbroadcastsd 2024(%rdi), %ymm5
6350 ; AVX2-ONLY-NEXT:    vunpckhpd {{.*#+}} ymm5 = ymm5[1],ymm12[1],ymm5[3],ymm12[3]
6351 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm5[4,5,6,7]
6352 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6353 ; AVX2-ONLY-NEXT:    vunpckhpd {{.*#+}} xmm0 = xmm3[1],xmm6[1]
6354 ; AVX2-ONLY-NEXT:    vbroadcastsd 2408(%rdi), %ymm3
6355 ; AVX2-ONLY-NEXT:    vunpckhpd {{.*#+}} ymm3 = ymm3[1],ymm8[1],ymm3[3],ymm8[3]
6356 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm3[4,5,6,7]
6357 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6358 ; AVX2-ONLY-NEXT:    vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm2[1]
6359 ; AVX2-ONLY-NEXT:    vbroadcastsd 2792(%rdi), %ymm1
6360 ; AVX2-ONLY-NEXT:    vunpckhpd {{.*#+}} ymm1 = ymm1[1],ymm4[1],ymm1[3],ymm4[3]
6361 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]
6362 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6363 ; AVX2-ONLY-NEXT:    vbroadcastsd 352(%rdi), %ymm0
6364 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
6365 ; AVX2-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]
6366 ; AVX2-ONLY-NEXT:    vmovaps 256(%rdi), %xmm2
6367 ; AVX2-ONLY-NEXT:    vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
6368 ; AVX2-ONLY-NEXT:    vmovaps 208(%rdi), %xmm1
6369 ; AVX2-ONLY-NEXT:    vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
6370 ; AVX2-ONLY-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm1[0],xmm2[0]
6371 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
6372 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6373 ; AVX2-ONLY-NEXT:    vbroadcastsd 736(%rdi), %ymm0
6374 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
6375 ; AVX2-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]
6376 ; AVX2-ONLY-NEXT:    vmovaps 640(%rdi), %xmm2
6377 ; AVX2-ONLY-NEXT:    vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
6378 ; AVX2-ONLY-NEXT:    vmovaps 592(%rdi), %xmm1
6379 ; AVX2-ONLY-NEXT:    vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
6380 ; AVX2-ONLY-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm1[0],xmm2[0]
6381 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
6382 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6383 ; AVX2-ONLY-NEXT:    vbroadcastsd 1120(%rdi), %ymm0
6384 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
6385 ; AVX2-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]
6386 ; AVX2-ONLY-NEXT:    vmovaps 1024(%rdi), %xmm2
6387 ; AVX2-ONLY-NEXT:    vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
6388 ; AVX2-ONLY-NEXT:    vmovaps 976(%rdi), %xmm1
6389 ; AVX2-ONLY-NEXT:    vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
6390 ; AVX2-ONLY-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm1[0],xmm2[0]
6391 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
6392 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6393 ; AVX2-ONLY-NEXT:    vbroadcastsd 1504(%rdi), %ymm0
6394 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
6395 ; AVX2-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]
6396 ; AVX2-ONLY-NEXT:    vmovaps 1408(%rdi), %xmm2
6397 ; AVX2-ONLY-NEXT:    vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
6398 ; AVX2-ONLY-NEXT:    vmovaps 1360(%rdi), %xmm1
6399 ; AVX2-ONLY-NEXT:    vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
6400 ; AVX2-ONLY-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm1[0],xmm2[0]
6401 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
6402 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6403 ; AVX2-ONLY-NEXT:    vbroadcastsd 1888(%rdi), %ymm0
6404 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
6405 ; AVX2-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]
6406 ; AVX2-ONLY-NEXT:    vmovaps 1792(%rdi), %xmm2
6407 ; AVX2-ONLY-NEXT:    vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
6408 ; AVX2-ONLY-NEXT:    vmovaps 1744(%rdi), %xmm1
6409 ; AVX2-ONLY-NEXT:    vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
6410 ; AVX2-ONLY-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm1[0],xmm2[0]
6411 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
6412 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6413 ; AVX2-ONLY-NEXT:    vbroadcastsd 2272(%rdi), %ymm0
6414 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
6415 ; AVX2-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]
6416 ; AVX2-ONLY-NEXT:    vmovaps 2176(%rdi), %xmm2
6417 ; AVX2-ONLY-NEXT:    vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
6418 ; AVX2-ONLY-NEXT:    vmovaps 2128(%rdi), %xmm1
6419 ; AVX2-ONLY-NEXT:    vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
6420 ; AVX2-ONLY-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm1[0],xmm2[0]
6421 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
6422 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6423 ; AVX2-ONLY-NEXT:    vbroadcastsd 2656(%rdi), %ymm0
6424 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
6425 ; AVX2-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]
6426 ; AVX2-ONLY-NEXT:    vmovaps 2560(%rdi), %xmm2
6427 ; AVX2-ONLY-NEXT:    vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
6428 ; AVX2-ONLY-NEXT:    vmovaps 2512(%rdi), %xmm1
6429 ; AVX2-ONLY-NEXT:    vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
6430 ; AVX2-ONLY-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm1[0],xmm2[0]
6431 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
6432 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6433 ; AVX2-ONLY-NEXT:    vbroadcastsd 3040(%rdi), %ymm0
6434 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
6435 ; AVX2-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]
6436 ; AVX2-ONLY-NEXT:    vmovaps 2944(%rdi), %xmm2
6437 ; AVX2-ONLY-NEXT:    vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
6438 ; AVX2-ONLY-NEXT:    vmovaps 2896(%rdi), %xmm1
6439 ; AVX2-ONLY-NEXT:    vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
6440 ; AVX2-ONLY-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm1[0],xmm2[0]
6441 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
6442 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6443 ; AVX2-ONLY-NEXT:    vbroadcastsd 2848(%rdi), %ymm0
6444 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
6445 ; AVX2-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]
6446 ; AVX2-ONLY-NEXT:    vmovaps 2752(%rdi), %xmm2
6447 ; AVX2-ONLY-NEXT:    vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
6448 ; AVX2-ONLY-NEXT:    vmovaps 2704(%rdi), %xmm1
6449 ; AVX2-ONLY-NEXT:    vmovaps %xmm1, (%rsp) # 16-byte Spill
6450 ; AVX2-ONLY-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm1[0],xmm2[0]
6451 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
6452 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6453 ; AVX2-ONLY-NEXT:    vbroadcastsd 2464(%rdi), %ymm0
6454 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
6455 ; AVX2-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]
6456 ; AVX2-ONLY-NEXT:    vmovaps 2368(%rdi), %xmm2
6457 ; AVX2-ONLY-NEXT:    vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
6458 ; AVX2-ONLY-NEXT:    vmovaps 2320(%rdi), %xmm1
6459 ; AVX2-ONLY-NEXT:    vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
6460 ; AVX2-ONLY-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm1[0],xmm2[0]
6461 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
6462 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6463 ; AVX2-ONLY-NEXT:    vbroadcastsd 2080(%rdi), %ymm0
6464 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
6465 ; AVX2-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]
6466 ; AVX2-ONLY-NEXT:    vmovaps 1984(%rdi), %xmm2
6467 ; AVX2-ONLY-NEXT:    vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
6468 ; AVX2-ONLY-NEXT:    vmovaps 1936(%rdi), %xmm1
6469 ; AVX2-ONLY-NEXT:    vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
6470 ; AVX2-ONLY-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm1[0],xmm2[0]
6471 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
6472 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6473 ; AVX2-ONLY-NEXT:    vbroadcastsd 1696(%rdi), %ymm0
6474 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
6475 ; AVX2-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]
6476 ; AVX2-ONLY-NEXT:    vmovaps 1600(%rdi), %xmm12
6477 ; AVX2-ONLY-NEXT:    vmovaps 1552(%rdi), %xmm11
6478 ; AVX2-ONLY-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm11[0],xmm12[0]
6479 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
6480 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6481 ; AVX2-ONLY-NEXT:    vbroadcastsd 1312(%rdi), %ymm0
6482 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm10 # 32-byte Reload
6483 ; AVX2-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm10[0],ymm0[0],ymm10[2],ymm0[2]
6484 ; AVX2-ONLY-NEXT:    vmovaps 1216(%rdi), %xmm9
6485 ; AVX2-ONLY-NEXT:    vmovaps 1168(%rdi), %xmm8
6486 ; AVX2-ONLY-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm8[0],xmm9[0]
6487 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
6488 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6489 ; AVX2-ONLY-NEXT:    vbroadcastsd 928(%rdi), %ymm0
6490 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm7 # 32-byte Reload
6491 ; AVX2-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm7[0],ymm0[0],ymm7[2],ymm0[2]
6492 ; AVX2-ONLY-NEXT:    vmovaps 832(%rdi), %xmm6
6493 ; AVX2-ONLY-NEXT:    vmovaps 784(%rdi), %xmm5
6494 ; AVX2-ONLY-NEXT:    vmovlhps {{.*#+}} xmm13 = xmm5[0],xmm6[0]
6495 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm13[0,1,2,3],ymm0[4,5,6,7]
6496 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6497 ; AVX2-ONLY-NEXT:    vbroadcastsd 544(%rdi), %ymm0
6498 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload
6499 ; AVX2-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm4[0],ymm0[0],ymm4[2],ymm0[2]
6500 ; AVX2-ONLY-NEXT:    vmovaps 448(%rdi), %xmm13
6501 ; AVX2-ONLY-NEXT:    vmovaps 400(%rdi), %xmm3
6502 ; AVX2-ONLY-NEXT:    vmovlhps {{.*#+}} xmm15 = xmm3[0],xmm13[0]
6503 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm15[0,1,2,3],ymm0[4,5,6,7]
6504 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6505 ; AVX2-ONLY-NEXT:    vbroadcastsd 160(%rdi), %ymm0
6506 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload
6507 ; AVX2-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm1 = ymm2[0],ymm0[0],ymm2[2],ymm0[2]
6508 ; AVX2-ONLY-NEXT:    vmovaps 16(%rdi), %xmm15
6509 ; AVX2-ONLY-NEXT:    vmovaps 64(%rdi), %xmm0
6510 ; AVX2-ONLY-NEXT:    vmovlhps {{.*#+}} xmm14 = xmm15[0],xmm0[0]
6511 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm1 = ymm14[0,1,2,3],ymm1[4,5,6,7]
6512 ; AVX2-ONLY-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6513 ; AVX2-ONLY-NEXT:    vunpckhpd {{.*#+}} xmm0 = xmm15[1],xmm0[1]
6514 ; AVX2-ONLY-NEXT:    vmovaps 160(%rdi), %ymm14
6515 ; AVX2-ONLY-NEXT:    vunpckhpd {{.*#+}} ymm1 = ymm2[1],ymm14[1],ymm2[3],ymm14[3]
6516 ; AVX2-ONLY-NEXT:    vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6517 ; AVX2-ONLY-NEXT:    vpermpd {{.*#+}} ymm1 = ymm1[0,1,2,1]
6518 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]
6519 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6520 ; AVX2-ONLY-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
6521 ; AVX2-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm0 # 16-byte Folded Reload
6522 ; AVX2-ONLY-NEXT:    # xmm0 = xmm0[1],mem[1]
6523 ; AVX2-ONLY-NEXT:    vmovaps 352(%rdi), %ymm2
6524 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
6525 ; AVX2-ONLY-NEXT:    vunpckhpd {{.*#+}} ymm1 = ymm1[1],ymm2[1],ymm1[3],ymm2[3]
6526 ; AVX2-ONLY-NEXT:    vmovaps %ymm2, %ymm15
6527 ; AVX2-ONLY-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6528 ; AVX2-ONLY-NEXT:    vpermpd {{.*#+}} ymm1 = ymm1[0,1,2,1]
6529 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]
6530 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6531 ; AVX2-ONLY-NEXT:    vunpckhpd {{.*#+}} xmm0 = xmm3[1],xmm13[1]
6532 ; AVX2-ONLY-NEXT:    vmovaps 544(%rdi), %ymm2
6533 ; AVX2-ONLY-NEXT:    vunpckhpd {{.*#+}} ymm1 = ymm4[1],ymm2[1],ymm4[3],ymm2[3]
6534 ; AVX2-ONLY-NEXT:    vmovaps %ymm2, %ymm3
6535 ; AVX2-ONLY-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6536 ; AVX2-ONLY-NEXT:    vpermpd {{.*#+}} ymm1 = ymm1[0,1,2,1]
6537 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]
6538 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6539 ; AVX2-ONLY-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
6540 ; AVX2-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm0 # 16-byte Folded Reload
6541 ; AVX2-ONLY-NEXT:    # xmm0 = xmm0[1],mem[1]
6542 ; AVX2-ONLY-NEXT:    vmovaps 736(%rdi), %ymm2
6543 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
6544 ; AVX2-ONLY-NEXT:    vunpckhpd {{.*#+}} ymm1 = ymm1[1],ymm2[1],ymm1[3],ymm2[3]
6545 ; AVX2-ONLY-NEXT:    vmovaps %ymm2, %ymm4
6546 ; AVX2-ONLY-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6547 ; AVX2-ONLY-NEXT:    vpermpd {{.*#+}} ymm1 = ymm1[0,1,2,1]
6548 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]
6549 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6550 ; AVX2-ONLY-NEXT:    vunpckhpd {{.*#+}} xmm0 = xmm5[1],xmm6[1]
6551 ; AVX2-ONLY-NEXT:    vmovaps 928(%rdi), %ymm2
6552 ; AVX2-ONLY-NEXT:    vunpckhpd {{.*#+}} ymm1 = ymm7[1],ymm2[1],ymm7[3],ymm2[3]
6553 ; AVX2-ONLY-NEXT:    vmovaps %ymm2, %ymm5
6554 ; AVX2-ONLY-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6555 ; AVX2-ONLY-NEXT:    vpermpd {{.*#+}} ymm1 = ymm1[0,1,2,1]
6556 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]
6557 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6558 ; AVX2-ONLY-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
6559 ; AVX2-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm0 # 16-byte Folded Reload
6560 ; AVX2-ONLY-NEXT:    # xmm0 = xmm0[1],mem[1]
6561 ; AVX2-ONLY-NEXT:    vmovaps 1120(%rdi), %ymm2
6562 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
6563 ; AVX2-ONLY-NEXT:    vunpckhpd {{.*#+}} ymm1 = ymm1[1],ymm2[1],ymm1[3],ymm2[3]
6564 ; AVX2-ONLY-NEXT:    vmovaps %ymm2, %ymm6
6565 ; AVX2-ONLY-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6566 ; AVX2-ONLY-NEXT:    vpermpd {{.*#+}} ymm1 = ymm1[0,1,2,1]
6567 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]
6568 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6569 ; AVX2-ONLY-NEXT:    vunpckhpd {{.*#+}} xmm0 = xmm8[1],xmm9[1]
6570 ; AVX2-ONLY-NEXT:    vmovaps 1312(%rdi), %ymm2
6571 ; AVX2-ONLY-NEXT:    vunpckhpd {{.*#+}} ymm1 = ymm10[1],ymm2[1],ymm10[3],ymm2[3]
6572 ; AVX2-ONLY-NEXT:    vmovaps %ymm2, %ymm7
6573 ; AVX2-ONLY-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6574 ; AVX2-ONLY-NEXT:    vpermpd {{.*#+}} ymm1 = ymm1[0,1,2,1]
6575 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]
6576 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6577 ; AVX2-ONLY-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
6578 ; AVX2-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm0 # 16-byte Folded Reload
6579 ; AVX2-ONLY-NEXT:    # xmm0 = xmm0[1],mem[1]
6580 ; AVX2-ONLY-NEXT:    vmovaps 1504(%rdi), %ymm2
6581 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
6582 ; AVX2-ONLY-NEXT:    vunpckhpd {{.*#+}} ymm1 = ymm1[1],ymm2[1],ymm1[3],ymm2[3]
6583 ; AVX2-ONLY-NEXT:    vmovaps %ymm2, %ymm8
6584 ; AVX2-ONLY-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6585 ; AVX2-ONLY-NEXT:    vpermpd {{.*#+}} ymm1 = ymm1[0,1,2,1]
6586 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]
6587 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6588 ; AVX2-ONLY-NEXT:    vunpckhpd {{.*#+}} xmm0 = xmm11[1],xmm12[1]
6589 ; AVX2-ONLY-NEXT:    vmovaps 1696(%rdi), %ymm2
6590 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
6591 ; AVX2-ONLY-NEXT:    vunpckhpd {{.*#+}} ymm1 = ymm1[1],ymm2[1],ymm1[3],ymm2[3]
6592 ; AVX2-ONLY-NEXT:    vmovaps %ymm2, %ymm9
6593 ; AVX2-ONLY-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6594 ; AVX2-ONLY-NEXT:    vpermpd {{.*#+}} ymm1 = ymm1[0,1,2,1]
6595 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]
6596 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6597 ; AVX2-ONLY-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
6598 ; AVX2-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm0 # 16-byte Folded Reload
6599 ; AVX2-ONLY-NEXT:    # xmm0 = xmm0[1],mem[1]
6600 ; AVX2-ONLY-NEXT:    vmovaps 1888(%rdi), %ymm2
6601 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
6602 ; AVX2-ONLY-NEXT:    vunpckhpd {{.*#+}} ymm1 = ymm1[1],ymm2[1],ymm1[3],ymm2[3]
6603 ; AVX2-ONLY-NEXT:    vmovaps %ymm2, %ymm10
6604 ; AVX2-ONLY-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6605 ; AVX2-ONLY-NEXT:    vpermpd {{.*#+}} ymm1 = ymm1[0,1,2,1]
6606 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]
6607 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6608 ; AVX2-ONLY-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
6609 ; AVX2-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm0 # 16-byte Folded Reload
6610 ; AVX2-ONLY-NEXT:    # xmm0 = xmm0[1],mem[1]
6611 ; AVX2-ONLY-NEXT:    vmovaps 2080(%rdi), %ymm2
6612 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
6613 ; AVX2-ONLY-NEXT:    vunpckhpd {{.*#+}} ymm1 = ymm1[1],ymm2[1],ymm1[3],ymm2[3]
6614 ; AVX2-ONLY-NEXT:    vmovaps %ymm2, %ymm11
6615 ; AVX2-ONLY-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6616 ; AVX2-ONLY-NEXT:    vpermpd {{.*#+}} ymm1 = ymm1[0,1,2,1]
6617 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]
6618 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6619 ; AVX2-ONLY-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
6620 ; AVX2-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm0 # 16-byte Folded Reload
6621 ; AVX2-ONLY-NEXT:    # xmm0 = xmm0[1],mem[1]
6622 ; AVX2-ONLY-NEXT:    vmovaps 2272(%rdi), %ymm2
6623 ; AVX2-ONLY-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6624 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
6625 ; AVX2-ONLY-NEXT:    vunpckhpd {{.*#+}} ymm1 = ymm1[1],ymm2[1],ymm1[3],ymm2[3]
6626 ; AVX2-ONLY-NEXT:    vpermpd {{.*#+}} ymm1 = ymm1[0,1,2,1]
6627 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]
6628 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6629 ; AVX2-ONLY-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
6630 ; AVX2-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm0 # 16-byte Folded Reload
6631 ; AVX2-ONLY-NEXT:    # xmm0 = xmm0[1],mem[1]
6632 ; AVX2-ONLY-NEXT:    vmovaps 2464(%rdi), %ymm2
6633 ; AVX2-ONLY-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6634 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
6635 ; AVX2-ONLY-NEXT:    vunpckhpd {{.*#+}} ymm1 = ymm1[1],ymm2[1],ymm1[3],ymm2[3]
6636 ; AVX2-ONLY-NEXT:    vpermpd {{.*#+}} ymm1 = ymm1[0,1,2,1]
6637 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]
6638 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6639 ; AVX2-ONLY-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
6640 ; AVX2-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm0 # 16-byte Folded Reload
6641 ; AVX2-ONLY-NEXT:    # xmm0 = xmm0[1],mem[1]
6642 ; AVX2-ONLY-NEXT:    vmovaps 2656(%rdi), %ymm2
6643 ; AVX2-ONLY-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6644 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
6645 ; AVX2-ONLY-NEXT:    vunpckhpd {{.*#+}} ymm1 = ymm1[1],ymm2[1],ymm1[3],ymm2[3]
6646 ; AVX2-ONLY-NEXT:    vpermpd {{.*#+}} ymm1 = ymm1[0,1,2,1]
6647 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]
6648 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6649 ; AVX2-ONLY-NEXT:    vmovaps (%rsp), %xmm0 # 16-byte Reload
6650 ; AVX2-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm0 # 16-byte Folded Reload
6651 ; AVX2-ONLY-NEXT:    # xmm0 = xmm0[1],mem[1]
6652 ; AVX2-ONLY-NEXT:    vmovaps 2848(%rdi), %ymm2
6653 ; AVX2-ONLY-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6654 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
6655 ; AVX2-ONLY-NEXT:    vunpckhpd {{.*#+}} ymm1 = ymm1[1],ymm2[1],ymm1[3],ymm2[3]
6656 ; AVX2-ONLY-NEXT:    vpermpd {{.*#+}} ymm1 = ymm1[0,1,2,1]
6657 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]
6658 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6659 ; AVX2-ONLY-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
6660 ; AVX2-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm0 # 16-byte Folded Reload
6661 ; AVX2-ONLY-NEXT:    # xmm0 = xmm0[1],mem[1]
6662 ; AVX2-ONLY-NEXT:    vmovaps 3040(%rdi), %ymm2
6663 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
6664 ; AVX2-ONLY-NEXT:    vunpckhpd {{.*#+}} ymm1 = ymm1[1],ymm2[1],ymm1[3],ymm2[3]
6665 ; AVX2-ONLY-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6666 ; AVX2-ONLY-NEXT:    vpermpd {{.*#+}} ymm1 = ymm1[0,1,2,1]
6667 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]
6668 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6669 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
6670 ; AVX2-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm14[0],ymm0[2],ymm14[2]
6671 ; AVX2-ONLY-NEXT:    vpermpd {{.*#+}} ymm0 = ymm0[0,1,0,3]
6672 ; AVX2-ONLY-NEXT:    vmovaps 32(%rdi), %xmm12
6673 ; AVX2-ONLY-NEXT:    vmovaps %xmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
6674 ; AVX2-ONLY-NEXT:    vmovaps 80(%rdi), %xmm1
6675 ; AVX2-ONLY-NEXT:    vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
6676 ; AVX2-ONLY-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm12[0],xmm1[0]
6677 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
6678 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6679 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
6680 ; AVX2-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm15[0],ymm0[2],ymm15[2]
6681 ; AVX2-ONLY-NEXT:    vpermpd {{.*#+}} ymm0 = ymm0[0,1,0,3]
6682 ; AVX2-ONLY-NEXT:    vmovaps 272(%rdi), %xmm12
6683 ; AVX2-ONLY-NEXT:    vmovaps %xmm12, (%rsp) # 16-byte Spill
6684 ; AVX2-ONLY-NEXT:    vmovaps 224(%rdi), %xmm1
6685 ; AVX2-ONLY-NEXT:    vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
6686 ; AVX2-ONLY-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm1[0],xmm12[0]
6687 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
6688 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6689 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
6690 ; AVX2-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm3[0],ymm0[2],ymm3[2]
6691 ; AVX2-ONLY-NEXT:    vpermpd {{.*#+}} ymm0 = ymm0[0,1,0,3]
6692 ; AVX2-ONLY-NEXT:    vmovaps 464(%rdi), %xmm3
6693 ; AVX2-ONLY-NEXT:    vmovaps %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
6694 ; AVX2-ONLY-NEXT:    vmovaps 416(%rdi), %xmm1
6695 ; AVX2-ONLY-NEXT:    vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
6696 ; AVX2-ONLY-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm1[0],xmm3[0]
6697 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
6698 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6699 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
6700 ; AVX2-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm4[0],ymm0[2],ymm4[2]
6701 ; AVX2-ONLY-NEXT:    vpermpd {{.*#+}} ymm0 = ymm0[0,1,0,3]
6702 ; AVX2-ONLY-NEXT:    vmovaps 656(%rdi), %xmm3
6703 ; AVX2-ONLY-NEXT:    vmovaps %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
6704 ; AVX2-ONLY-NEXT:    vmovaps 608(%rdi), %xmm1
6705 ; AVX2-ONLY-NEXT:    vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
6706 ; AVX2-ONLY-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm1[0],xmm3[0]
6707 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
6708 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6709 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
6710 ; AVX2-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm5[0],ymm0[2],ymm5[2]
6711 ; AVX2-ONLY-NEXT:    vpermpd {{.*#+}} ymm0 = ymm0[0,1,0,3]
6712 ; AVX2-ONLY-NEXT:    vmovaps 848(%rdi), %xmm3
6713 ; AVX2-ONLY-NEXT:    vmovaps %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
6714 ; AVX2-ONLY-NEXT:    vmovaps 800(%rdi), %xmm1
6715 ; AVX2-ONLY-NEXT:    vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
6716 ; AVX2-ONLY-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm1[0],xmm3[0]
6717 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
6718 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6719 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
6720 ; AVX2-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm6[0],ymm0[2],ymm6[2]
6721 ; AVX2-ONLY-NEXT:    vpermpd {{.*#+}} ymm0 = ymm0[0,1,0,3]
6722 ; AVX2-ONLY-NEXT:    vmovaps 1040(%rdi), %xmm3
6723 ; AVX2-ONLY-NEXT:    vmovaps %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
6724 ; AVX2-ONLY-NEXT:    vmovaps 992(%rdi), %xmm1
6725 ; AVX2-ONLY-NEXT:    vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
6726 ; AVX2-ONLY-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm1[0],xmm3[0]
6727 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
6728 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6729 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
6730 ; AVX2-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm7[0],ymm0[2],ymm7[2]
6731 ; AVX2-ONLY-NEXT:    vpermpd {{.*#+}} ymm0 = ymm0[0,1,0,3]
6732 ; AVX2-ONLY-NEXT:    vmovaps 1232(%rdi), %xmm3
6733 ; AVX2-ONLY-NEXT:    vmovaps %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
6734 ; AVX2-ONLY-NEXT:    vmovaps 1184(%rdi), %xmm1
6735 ; AVX2-ONLY-NEXT:    vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
6736 ; AVX2-ONLY-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm1[0],xmm3[0]
6737 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
6738 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6739 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
6740 ; AVX2-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm8[0],ymm0[2],ymm8[2]
6741 ; AVX2-ONLY-NEXT:    vpermpd {{.*#+}} ymm0 = ymm0[0,1,0,3]
6742 ; AVX2-ONLY-NEXT:    vmovaps 1424(%rdi), %xmm3
6743 ; AVX2-ONLY-NEXT:    vmovaps %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
6744 ; AVX2-ONLY-NEXT:    vmovaps 1376(%rdi), %xmm1
6745 ; AVX2-ONLY-NEXT:    vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
6746 ; AVX2-ONLY-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm1[0],xmm3[0]
6747 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
6748 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6749 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
6750 ; AVX2-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm9[0],ymm0[2],ymm9[2]
6751 ; AVX2-ONLY-NEXT:    vpermpd {{.*#+}} ymm0 = ymm0[0,1,0,3]
6752 ; AVX2-ONLY-NEXT:    vmovaps 1616(%rdi), %xmm3
6753 ; AVX2-ONLY-NEXT:    vmovaps %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
6754 ; AVX2-ONLY-NEXT:    vmovaps 1568(%rdi), %xmm1
6755 ; AVX2-ONLY-NEXT:    vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
6756 ; AVX2-ONLY-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm1[0],xmm3[0]
6757 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
6758 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6759 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
6760 ; AVX2-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm10[0],ymm0[2],ymm10[2]
6761 ; AVX2-ONLY-NEXT:    vpermpd {{.*#+}} ymm0 = ymm0[0,1,0,3]
6762 ; AVX2-ONLY-NEXT:    vmovaps 1808(%rdi), %xmm1
6763 ; AVX2-ONLY-NEXT:    vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
6764 ; AVX2-ONLY-NEXT:    vmovaps 1760(%rdi), %xmm13
6765 ; AVX2-ONLY-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm13[0],xmm1[0]
6766 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
6767 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6768 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
6769 ; AVX2-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm11[0],ymm0[2],ymm11[2]
6770 ; AVX2-ONLY-NEXT:    vpermpd {{.*#+}} ymm0 = ymm0[0,1,0,3]
6771 ; AVX2-ONLY-NEXT:    vmovaps 2000(%rdi), %xmm1
6772 ; AVX2-ONLY-NEXT:    vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
6773 ; AVX2-ONLY-NEXT:    vmovaps 1952(%rdi), %xmm11
6774 ; AVX2-ONLY-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm11[0],xmm1[0]
6775 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
6776 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6777 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
6778 ; AVX2-ONLY-NEXT:    vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload
6779 ; AVX2-ONLY-NEXT:    # ymm0 = ymm0[0],mem[0],ymm0[2],mem[2]
6780 ; AVX2-ONLY-NEXT:    vpermpd {{.*#+}} ymm0 = ymm0[0,1,0,3]
6781 ; AVX2-ONLY-NEXT:    vmovaps 2192(%rdi), %xmm1
6782 ; AVX2-ONLY-NEXT:    vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
6783 ; AVX2-ONLY-NEXT:    vmovaps 2144(%rdi), %xmm9
6784 ; AVX2-ONLY-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm9[0],xmm1[0]
6785 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
6786 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6787 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
6788 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm14 # 32-byte Reload
6789 ; AVX2-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm14[0],ymm0[2],ymm14[2]
6790 ; AVX2-ONLY-NEXT:    vpermpd {{.*#+}} ymm0 = ymm0[0,1,0,3]
6791 ; AVX2-ONLY-NEXT:    vmovaps 2384(%rdi), %xmm12
6792 ; AVX2-ONLY-NEXT:    vmovaps 2336(%rdi), %xmm7
6793 ; AVX2-ONLY-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm7[0],xmm12[0]
6794 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
6795 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6796 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
6797 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm10 # 32-byte Reload
6798 ; AVX2-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm10[0],ymm0[2],ymm10[2]
6799 ; AVX2-ONLY-NEXT:    vpermpd {{.*#+}} ymm0 = ymm0[0,1,0,3]
6800 ; AVX2-ONLY-NEXT:    vmovaps 2576(%rdi), %xmm8
6801 ; AVX2-ONLY-NEXT:    vmovaps 2528(%rdi), %xmm5
6802 ; AVX2-ONLY-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm5[0],xmm8[0]
6803 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
6804 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6805 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
6806 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm6 # 32-byte Reload
6807 ; AVX2-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm6[0],ymm0[2],ymm6[2]
6808 ; AVX2-ONLY-NEXT:    vpermpd {{.*#+}} ymm0 = ymm0[0,1,0,3]
6809 ; AVX2-ONLY-NEXT:    vmovaps 2768(%rdi), %xmm4
6810 ; AVX2-ONLY-NEXT:    vmovaps 2720(%rdi), %xmm3
6811 ; AVX2-ONLY-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm3[0],xmm4[0]
6812 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
6813 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6814 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
6815 ; AVX2-ONLY-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm2[0],ymm0[2],ymm2[2]
6816 ; AVX2-ONLY-NEXT:    vpermpd {{.*#+}} ymm0 = ymm0[0,1,0,3]
6817 ; AVX2-ONLY-NEXT:    vmovaps 2960(%rdi), %xmm2
6818 ; AVX2-ONLY-NEXT:    vmovaps 2912(%rdi), %xmm1
6819 ; AVX2-ONLY-NEXT:    vmovlhps {{.*#+}} xmm15 = xmm1[0],xmm2[0]
6820 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm15[0,1,2,3],ymm0[4,5,6,7]
6821 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6822 ; AVX2-ONLY-NEXT:    vbroadcastsd 136(%rdi), %ymm0
6823 ; AVX2-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload
6824 ; AVX2-ONLY-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]
6825 ; AVX2-ONLY-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload
6826 ; AVX2-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm15, %xmm15 # 16-byte Folded Reload
6827 ; AVX2-ONLY-NEXT:    # xmm15 = xmm15[1],mem[1]
6828 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm15[0,1,2,3],ymm0[4,5,6,7]
6829 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6830 ; AVX2-ONLY-NEXT:    vbroadcastsd 328(%rdi), %ymm0
6831 ; AVX2-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload
6832 ; AVX2-ONLY-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]
6833 ; AVX2-ONLY-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload
6834 ; AVX2-ONLY-NEXT:    vunpckhpd (%rsp), %xmm15, %xmm15 # 16-byte Folded Reload
6835 ; AVX2-ONLY-NEXT:    # xmm15 = xmm15[1],mem[1]
6836 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm15[0,1,2,3],ymm0[4,5,6,7]
6837 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6838 ; AVX2-ONLY-NEXT:    vbroadcastsd 520(%rdi), %ymm0
6839 ; AVX2-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload
6840 ; AVX2-ONLY-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]
6841 ; AVX2-ONLY-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload
6842 ; AVX2-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm15, %xmm15 # 16-byte Folded Reload
6843 ; AVX2-ONLY-NEXT:    # xmm15 = xmm15[1],mem[1]
6844 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm15[0,1,2,3],ymm0[4,5,6,7]
6845 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6846 ; AVX2-ONLY-NEXT:    vbroadcastsd 712(%rdi), %ymm0
6847 ; AVX2-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload
6848 ; AVX2-ONLY-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]
6849 ; AVX2-ONLY-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload
6850 ; AVX2-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm15, %xmm15 # 16-byte Folded Reload
6851 ; AVX2-ONLY-NEXT:    # xmm15 = xmm15[1],mem[1]
6852 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm15[0,1,2,3],ymm0[4,5,6,7]
6853 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6854 ; AVX2-ONLY-NEXT:    vbroadcastsd 904(%rdi), %ymm0
6855 ; AVX2-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload
6856 ; AVX2-ONLY-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]
6857 ; AVX2-ONLY-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload
6858 ; AVX2-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm15, %xmm15 # 16-byte Folded Reload
6859 ; AVX2-ONLY-NEXT:    # xmm15 = xmm15[1],mem[1]
6860 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm15[0,1,2,3],ymm0[4,5,6,7]
6861 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6862 ; AVX2-ONLY-NEXT:    vbroadcastsd 1096(%rdi), %ymm0
6863 ; AVX2-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload
6864 ; AVX2-ONLY-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]
6865 ; AVX2-ONLY-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload
6866 ; AVX2-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm15, %xmm15 # 16-byte Folded Reload
6867 ; AVX2-ONLY-NEXT:    # xmm15 = xmm15[1],mem[1]
6868 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm15[0,1,2,3],ymm0[4,5,6,7]
6869 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6870 ; AVX2-ONLY-NEXT:    vbroadcastsd 1288(%rdi), %ymm0
6871 ; AVX2-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload
6872 ; AVX2-ONLY-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]
6873 ; AVX2-ONLY-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload
6874 ; AVX2-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm15, %xmm15 # 16-byte Folded Reload
6875 ; AVX2-ONLY-NEXT:    # xmm15 = xmm15[1],mem[1]
6876 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm15[0,1,2,3],ymm0[4,5,6,7]
6877 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6878 ; AVX2-ONLY-NEXT:    vbroadcastsd 1480(%rdi), %ymm0
6879 ; AVX2-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload
6880 ; AVX2-ONLY-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]
6881 ; AVX2-ONLY-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload
6882 ; AVX2-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm15, %xmm15 # 16-byte Folded Reload
6883 ; AVX2-ONLY-NEXT:    # xmm15 = xmm15[1],mem[1]
6884 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm15[0,1,2,3],ymm0[4,5,6,7]
6885 ; AVX2-ONLY-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
6886 ; AVX2-ONLY-NEXT:    vbroadcastsd 1672(%rdi), %ymm0
6887 ; AVX2-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload
6888 ; AVX2-ONLY-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]
6889 ; AVX2-ONLY-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload
6890 ; AVX2-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm15, %xmm15 # 16-byte Folded Reload
6891 ; AVX2-ONLY-NEXT:    # xmm15 = xmm15[1],mem[1]
6892 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm15 = ymm15[0,1,2,3],ymm0[4,5,6,7]
6893 ; AVX2-ONLY-NEXT:    vbroadcastsd 1864(%rdi), %ymm0
6894 ; AVX2-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload
6895 ; AVX2-ONLY-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]
6896 ; AVX2-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm13, %xmm13 # 16-byte Folded Reload
6897 ; AVX2-ONLY-NEXT:    # xmm13 = xmm13[1],mem[1]
6898 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm13 = ymm13[0,1,2,3],ymm0[4,5,6,7]
6899 ; AVX2-ONLY-NEXT:    vbroadcastsd 2056(%rdi), %ymm0
6900 ; AVX2-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload
6901 ; AVX2-ONLY-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]
6902 ; AVX2-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm11, %xmm11 # 16-byte Folded Reload
6903 ; AVX2-ONLY-NEXT:    # xmm11 = xmm11[1],mem[1]
6904 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm11 = ymm11[0,1,2,3],ymm0[4,5,6,7]
6905 ; AVX2-ONLY-NEXT:    vbroadcastsd 2248(%rdi), %ymm0
6906 ; AVX2-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload
6907 ; AVX2-ONLY-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]
6908 ; AVX2-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm9, %xmm9 # 16-byte Folded Reload
6909 ; AVX2-ONLY-NEXT:    # xmm9 = xmm9[1],mem[1]
6910 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm9 = ymm9[0,1,2,3],ymm0[4,5,6,7]
6911 ; AVX2-ONLY-NEXT:    vbroadcastsd 2440(%rdi), %ymm0
6912 ; AVX2-ONLY-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm14[1],ymm0[3],ymm14[3]
6913 ; AVX2-ONLY-NEXT:    vunpckhpd {{.*#+}} xmm7 = xmm7[1],xmm12[1]
6914 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm7 = ymm7[0,1,2,3],ymm0[4,5,6,7]
6915 ; AVX2-ONLY-NEXT:    vbroadcastsd 2632(%rdi), %ymm0
6916 ; AVX2-ONLY-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm10[1],ymm0[3],ymm10[3]
6917 ; AVX2-ONLY-NEXT:    vunpckhpd {{.*#+}} xmm5 = xmm5[1],xmm8[1]
6918 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm5 = ymm5[0,1,2,3],ymm0[4,5,6,7]
6919 ; AVX2-ONLY-NEXT:    vbroadcastsd 2824(%rdi), %ymm0
6920 ; AVX2-ONLY-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm6[1],ymm0[3],ymm6[3]
6921 ; AVX2-ONLY-NEXT:    vunpckhpd {{.*#+}} xmm3 = xmm3[1],xmm4[1]
6922 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3],ymm0[4,5,6,7]
6923 ; AVX2-ONLY-NEXT:    vbroadcastsd 3016(%rdi), %ymm0
6924 ; AVX2-ONLY-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload
6925 ; AVX2-ONLY-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]
6926 ; AVX2-ONLY-NEXT:    vunpckhpd {{.*#+}} xmm1 = xmm1[1],xmm2[1]
6927 ; AVX2-ONLY-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
6928 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
6929 ; AVX2-ONLY-NEXT:    vmovaps %ymm1, 448(%rsi)
6930 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
6931 ; AVX2-ONLY-NEXT:    vmovaps %ymm1, 384(%rsi)
6932 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
6933 ; AVX2-ONLY-NEXT:    vmovaps %ymm1, 320(%rsi)
6934 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
6935 ; AVX2-ONLY-NEXT:    vmovaps %ymm1, 256(%rsi)
6936 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
6937 ; AVX2-ONLY-NEXT:    vmovaps %ymm1, 192(%rsi)
6938 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
6939 ; AVX2-ONLY-NEXT:    vmovaps %ymm1, 128(%rsi)
6940 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
6941 ; AVX2-ONLY-NEXT:    vmovaps %ymm1, 64(%rsi)
6942 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
6943 ; AVX2-ONLY-NEXT:    vmovaps %ymm1, (%rsi)
6944 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
6945 ; AVX2-ONLY-NEXT:    vmovaps %ymm1, 480(%rsi)
6946 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
6947 ; AVX2-ONLY-NEXT:    vmovaps %ymm1, 416(%rsi)
6948 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
6949 ; AVX2-ONLY-NEXT:    vmovaps %ymm1, 352(%rsi)
6950 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
6951 ; AVX2-ONLY-NEXT:    vmovaps %ymm1, 288(%rsi)
6952 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
6953 ; AVX2-ONLY-NEXT:    vmovaps %ymm1, 224(%rsi)
6954 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
6955 ; AVX2-ONLY-NEXT:    vmovaps %ymm1, 160(%rsi)
6956 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
6957 ; AVX2-ONLY-NEXT:    vmovaps %ymm1, 96(%rsi)
6958 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
6959 ; AVX2-ONLY-NEXT:    vmovaps %ymm1, 32(%rsi)
6960 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
6961 ; AVX2-ONLY-NEXT:    vmovaps %ymm1, 448(%rdx)
6962 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
6963 ; AVX2-ONLY-NEXT:    vmovaps %ymm1, 384(%rdx)
6964 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
6965 ; AVX2-ONLY-NEXT:    vmovaps %ymm1, 320(%rdx)
6966 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
6967 ; AVX2-ONLY-NEXT:    vmovaps %ymm1, 256(%rdx)
6968 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
6969 ; AVX2-ONLY-NEXT:    vmovaps %ymm1, 192(%rdx)
6970 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
6971 ; AVX2-ONLY-NEXT:    vmovaps %ymm1, 128(%rdx)
6972 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
6973 ; AVX2-ONLY-NEXT:    vmovaps %ymm1, 64(%rdx)
6974 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
6975 ; AVX2-ONLY-NEXT:    vmovaps %ymm1, (%rdx)
6976 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
6977 ; AVX2-ONLY-NEXT:    vmovaps %ymm1, 480(%rdx)
6978 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
6979 ; AVX2-ONLY-NEXT:    vmovaps %ymm1, 416(%rdx)
6980 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
6981 ; AVX2-ONLY-NEXT:    vmovaps %ymm1, 352(%rdx)
6982 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
6983 ; AVX2-ONLY-NEXT:    vmovaps %ymm1, 288(%rdx)
6984 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
6985 ; AVX2-ONLY-NEXT:    vmovaps %ymm1, 224(%rdx)
6986 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
6987 ; AVX2-ONLY-NEXT:    vmovaps %ymm1, 160(%rdx)
6988 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
6989 ; AVX2-ONLY-NEXT:    vmovaps %ymm1, 96(%rdx)
6990 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
6991 ; AVX2-ONLY-NEXT:    vmovaps %ymm1, 32(%rdx)
6992 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
6993 ; AVX2-ONLY-NEXT:    vmovaps %ymm1, (%rcx)
6994 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
6995 ; AVX2-ONLY-NEXT:    vmovaps %ymm1, 64(%rcx)
6996 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
6997 ; AVX2-ONLY-NEXT:    vmovaps %ymm1, 128(%rcx)
6998 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
6999 ; AVX2-ONLY-NEXT:    vmovaps %ymm1, 192(%rcx)
7000 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
7001 ; AVX2-ONLY-NEXT:    vmovaps %ymm1, 256(%rcx)
7002 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
7003 ; AVX2-ONLY-NEXT:    vmovaps %ymm1, 320(%rcx)
7004 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
7005 ; AVX2-ONLY-NEXT:    vmovaps %ymm1, 384(%rcx)
7006 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
7007 ; AVX2-ONLY-NEXT:    vmovaps %ymm1, 448(%rcx)
7008 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
7009 ; AVX2-ONLY-NEXT:    vmovaps %ymm1, 480(%rcx)
7010 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
7011 ; AVX2-ONLY-NEXT:    vmovaps %ymm1, 416(%rcx)
7012 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
7013 ; AVX2-ONLY-NEXT:    vmovaps %ymm1, 352(%rcx)
7014 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
7015 ; AVX2-ONLY-NEXT:    vmovaps %ymm1, 288(%rcx)
7016 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
7017 ; AVX2-ONLY-NEXT:    vmovaps %ymm1, 224(%rcx)
7018 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
7019 ; AVX2-ONLY-NEXT:    vmovaps %ymm1, 160(%rcx)
7020 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
7021 ; AVX2-ONLY-NEXT:    vmovaps %ymm1, 96(%rcx)
7022 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
7023 ; AVX2-ONLY-NEXT:    vmovaps %ymm1, 32(%rcx)
7024 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
7025 ; AVX2-ONLY-NEXT:    vmovaps %ymm1, 480(%r8)
7026 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
7027 ; AVX2-ONLY-NEXT:    vmovaps %ymm1, 448(%r8)
7028 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
7029 ; AVX2-ONLY-NEXT:    vmovaps %ymm1, 416(%r8)
7030 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
7031 ; AVX2-ONLY-NEXT:    vmovaps %ymm1, 384(%r8)
7032 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
7033 ; AVX2-ONLY-NEXT:    vmovaps %ymm1, 352(%r8)
7034 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
7035 ; AVX2-ONLY-NEXT:    vmovaps %ymm1, 320(%r8)
7036 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
7037 ; AVX2-ONLY-NEXT:    vmovaps %ymm1, 288(%r8)
7038 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
7039 ; AVX2-ONLY-NEXT:    vmovaps %ymm1, 256(%r8)
7040 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
7041 ; AVX2-ONLY-NEXT:    vmovaps %ymm1, 224(%r8)
7042 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
7043 ; AVX2-ONLY-NEXT:    vmovaps %ymm1, 192(%r8)
7044 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
7045 ; AVX2-ONLY-NEXT:    vmovaps %ymm1, 160(%r8)
7046 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
7047 ; AVX2-ONLY-NEXT:    vmovaps %ymm1, 128(%r8)
7048 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
7049 ; AVX2-ONLY-NEXT:    vmovaps %ymm1, 96(%r8)
7050 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
7051 ; AVX2-ONLY-NEXT:    vmovaps %ymm1, 64(%r8)
7052 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
7053 ; AVX2-ONLY-NEXT:    vmovaps %ymm1, 32(%r8)
7054 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
7055 ; AVX2-ONLY-NEXT:    vmovaps %ymm1, (%r8)
7056 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
7057 ; AVX2-ONLY-NEXT:    vmovaps %ymm1, 480(%r9)
7058 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
7059 ; AVX2-ONLY-NEXT:    vmovaps %ymm1, 448(%r9)
7060 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
7061 ; AVX2-ONLY-NEXT:    vmovaps %ymm1, 416(%r9)
7062 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
7063 ; AVX2-ONLY-NEXT:    vmovaps %ymm1, 384(%r9)
7064 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
7065 ; AVX2-ONLY-NEXT:    vmovaps %ymm1, 352(%r9)
7066 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
7067 ; AVX2-ONLY-NEXT:    vmovaps %ymm1, 320(%r9)
7068 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
7069 ; AVX2-ONLY-NEXT:    vmovaps %ymm1, 288(%r9)
7070 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
7071 ; AVX2-ONLY-NEXT:    vmovaps %ymm1, 256(%r9)
7072 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
7073 ; AVX2-ONLY-NEXT:    vmovaps %ymm1, 224(%r9)
7074 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
7075 ; AVX2-ONLY-NEXT:    vmovaps %ymm1, 192(%r9)
7076 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
7077 ; AVX2-ONLY-NEXT:    vmovaps %ymm1, 160(%r9)
7078 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
7079 ; AVX2-ONLY-NEXT:    vmovaps %ymm1, 128(%r9)
7080 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
7081 ; AVX2-ONLY-NEXT:    vmovaps %ymm1, 96(%r9)
7082 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
7083 ; AVX2-ONLY-NEXT:    vmovaps %ymm1, 64(%r9)
7084 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
7085 ; AVX2-ONLY-NEXT:    vmovaps %ymm1, 32(%r9)
7086 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
7087 ; AVX2-ONLY-NEXT:    vmovaps %ymm1, (%r9)
7088 ; AVX2-ONLY-NEXT:    movq {{[0-9]+}}(%rsp), %rax
7089 ; AVX2-ONLY-NEXT:    vmovaps %ymm0, 480(%rax)
7090 ; AVX2-ONLY-NEXT:    vmovaps %ymm3, 448(%rax)
7091 ; AVX2-ONLY-NEXT:    vmovaps %ymm5, 416(%rax)
7092 ; AVX2-ONLY-NEXT:    vmovaps %ymm7, 384(%rax)
7093 ; AVX2-ONLY-NEXT:    vmovaps %ymm9, 352(%rax)
7094 ; AVX2-ONLY-NEXT:    vmovaps %ymm11, 320(%rax)
7095 ; AVX2-ONLY-NEXT:    vmovaps %ymm13, 288(%rax)
7096 ; AVX2-ONLY-NEXT:    vmovaps %ymm15, 256(%rax)
7097 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
7098 ; AVX2-ONLY-NEXT:    vmovaps %ymm0, 224(%rax)
7099 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
7100 ; AVX2-ONLY-NEXT:    vmovaps %ymm0, 192(%rax)
7101 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
7102 ; AVX2-ONLY-NEXT:    vmovaps %ymm0, 160(%rax)
7103 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
7104 ; AVX2-ONLY-NEXT:    vmovaps %ymm0, 128(%rax)
7105 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
7106 ; AVX2-ONLY-NEXT:    vmovaps %ymm0, 96(%rax)
7107 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
7108 ; AVX2-ONLY-NEXT:    vmovaps %ymm0, 64(%rax)
7109 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
7110 ; AVX2-ONLY-NEXT:    vmovaps %ymm0, 32(%rax)
7111 ; AVX2-ONLY-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
7112 ; AVX2-ONLY-NEXT:    vmovaps %ymm0, (%rax)
7113 ; AVX2-ONLY-NEXT:    addq $3432, %rsp # imm = 0xD68
7114 ; AVX2-ONLY-NEXT:    vzeroupper
7115 ; AVX2-ONLY-NEXT:    retq
7117 ; AVX512F-LABEL: load_i64_stride6_vf64:
7118 ; AVX512F:       # %bb.0:
7119 ; AVX512F-NEXT:    subq $7240, %rsp # imm = 0x1C48
7120 ; AVX512F-NEXT:    vmovdqa64 2048(%rdi), %zmm3
7121 ; AVX512F-NEXT:    vmovdqa64 1280(%rdi), %zmm4
7122 ; AVX512F-NEXT:    vmovdqa64 1344(%rdi), %zmm0
7123 ; AVX512F-NEXT:    vmovdqa64 896(%rdi), %zmm5
7124 ; AVX512F-NEXT:    vmovdqa64 960(%rdi), %zmm26
7125 ; AVX512F-NEXT:    vmovdqa64 512(%rdi), %zmm2
7126 ; AVX512F-NEXT:    vmovdqa64 576(%rdi), %zmm1
7127 ; AVX512F-NEXT:    vmovdqa64 128(%rdi), %zmm6
7128 ; AVX512F-NEXT:    vmovdqa64 192(%rdi), %zmm29
7129 ; AVX512F-NEXT:    vbroadcasti64x4 {{.*#+}} zmm7 = [0,6,0,10,0,6,0,10]
7130 ; AVX512F-NEXT:    # zmm7 = mem[0,1,2,3,0,1,2,3]
7131 ; AVX512F-NEXT:    vmovdqa64 %zmm29, %zmm8
7132 ; AVX512F-NEXT:    vpermt2q %zmm6, %zmm7, %zmm8
7133 ; AVX512F-NEXT:    vmovdqu64 %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7134 ; AVX512F-NEXT:    vmovdqa64 %zmm1, %zmm8
7135 ; AVX512F-NEXT:    vpermt2q %zmm2, %zmm7, %zmm8
7136 ; AVX512F-NEXT:    vmovdqu64 %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7137 ; AVX512F-NEXT:    vmovdqa64 %zmm26, %zmm8
7138 ; AVX512F-NEXT:    vpermt2q %zmm5, %zmm7, %zmm8
7139 ; AVX512F-NEXT:    vmovdqu64 %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7140 ; AVX512F-NEXT:    vmovdqa64 %zmm0, %zmm8
7141 ; AVX512F-NEXT:    vpermt2q %zmm4, %zmm7, %zmm8
7142 ; AVX512F-NEXT:    vmovdqu64 %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7143 ; AVX512F-NEXT:    vbroadcasti64x4 {{.*#+}} zmm8 = [1,7,0,11,1,7,0,11]
7144 ; AVX512F-NEXT:    # zmm8 = mem[0,1,2,3,0,1,2,3]
7145 ; AVX512F-NEXT:    vmovdqa64 %zmm1, %zmm9
7146 ; AVX512F-NEXT:    vpermt2q %zmm2, %zmm8, %zmm9
7147 ; AVX512F-NEXT:    vmovdqu64 %zmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7148 ; AVX512F-NEXT:    vmovdqa64 %zmm29, %zmm9
7149 ; AVX512F-NEXT:    vpermt2q %zmm6, %zmm8, %zmm9
7150 ; AVX512F-NEXT:    vmovdqu64 %zmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7151 ; AVX512F-NEXT:    vmovdqa64 %zmm0, %zmm9
7152 ; AVX512F-NEXT:    vpermt2q %zmm4, %zmm8, %zmm9
7153 ; AVX512F-NEXT:    vmovdqu64 %zmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7154 ; AVX512F-NEXT:    vmovdqa64 %zmm26, %zmm9
7155 ; AVX512F-NEXT:    vpermt2q %zmm5, %zmm8, %zmm9
7156 ; AVX512F-NEXT:    vmovdqu64 %zmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7157 ; AVX512F-NEXT:    vbroadcasti32x4 {{.*#+}} zmm9 = [10,4,10,4,10,4,10,4]
7158 ; AVX512F-NEXT:    # zmm9 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]
7159 ; AVX512F-NEXT:    vmovdqa64 %zmm2, %zmm10
7160 ; AVX512F-NEXT:    vpermt2q %zmm1, %zmm9, %zmm10
7161 ; AVX512F-NEXT:    vmovdqu64 %zmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7162 ; AVX512F-NEXT:    vmovdqa64 %zmm6, %zmm10
7163 ; AVX512F-NEXT:    vpermt2q %zmm29, %zmm9, %zmm10
7164 ; AVX512F-NEXT:    vmovdqu64 %zmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7165 ; AVX512F-NEXT:    vmovdqa64 %zmm4, %zmm10
7166 ; AVX512F-NEXT:    vpermt2q %zmm0, %zmm9, %zmm10
7167 ; AVX512F-NEXT:    vmovdqu64 %zmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7168 ; AVX512F-NEXT:    vmovdqa64 %zmm5, %zmm10
7169 ; AVX512F-NEXT:    vpermt2q %zmm26, %zmm9, %zmm10
7170 ; AVX512F-NEXT:    vmovdqu64 %zmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7171 ; AVX512F-NEXT:    vbroadcasti32x4 {{.*#+}} zmm10 = [11,5,11,5,11,5,11,5]
7172 ; AVX512F-NEXT:    # zmm10 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]
7173 ; AVX512F-NEXT:    vmovdqa64 %zmm2, %zmm11
7174 ; AVX512F-NEXT:    vpermt2q %zmm1, %zmm10, %zmm11
7175 ; AVX512F-NEXT:    vmovdqu64 %zmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7176 ; AVX512F-NEXT:    vmovdqa64 %zmm6, %zmm11
7177 ; AVX512F-NEXT:    vpermt2q %zmm29, %zmm10, %zmm11
7178 ; AVX512F-NEXT:    vmovdqu64 %zmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7179 ; AVX512F-NEXT:    vmovdqa64 %zmm4, %zmm11
7180 ; AVX512F-NEXT:    vpermt2q %zmm0, %zmm10, %zmm11
7181 ; AVX512F-NEXT:    vmovdqu64 %zmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7182 ; AVX512F-NEXT:    vmovdqa64 %zmm5, %zmm11
7183 ; AVX512F-NEXT:    vpermt2q %zmm26, %zmm10, %zmm11
7184 ; AVX512F-NEXT:    vmovdqu64 %zmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7185 ; AVX512F-NEXT:    vbroadcasti64x4 {{.*#+}} zmm11 = [12,0,0,6,12,0,0,6]
7186 ; AVX512F-NEXT:    # zmm11 = mem[0,1,2,3,0,1,2,3]
7187 ; AVX512F-NEXT:    vmovdqa64 %zmm2, %zmm13
7188 ; AVX512F-NEXT:    vmovdqa64 %zmm2, %zmm12
7189 ; AVX512F-NEXT:    vpermt2q %zmm1, %zmm11, %zmm13
7190 ; AVX512F-NEXT:    vmovdqu64 %zmm13, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7191 ; AVX512F-NEXT:    vbroadcasti64x4 {{.*#+}} zmm2 = [13,0,1,7,13,0,1,7]
7192 ; AVX512F-NEXT:    # zmm2 = mem[0,1,2,3,0,1,2,3]
7193 ; AVX512F-NEXT:    vpermt2q %zmm1, %zmm2, %zmm12
7194 ; AVX512F-NEXT:    vmovdqu64 %zmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7195 ; AVX512F-NEXT:    vmovdqa64 %zmm6, %zmm1
7196 ; AVX512F-NEXT:    vpermt2q %zmm29, %zmm11, %zmm1
7197 ; AVX512F-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7198 ; AVX512F-NEXT:    vpermt2q %zmm29, %zmm2, %zmm6
7199 ; AVX512F-NEXT:    vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7200 ; AVX512F-NEXT:    vmovdqa64 %zmm4, %zmm1
7201 ; AVX512F-NEXT:    vpermt2q %zmm0, %zmm11, %zmm1
7202 ; AVX512F-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7203 ; AVX512F-NEXT:    vpermt2q %zmm0, %zmm2, %zmm4
7204 ; AVX512F-NEXT:    vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7205 ; AVX512F-NEXT:    vmovdqa64 %zmm5, %zmm0
7206 ; AVX512F-NEXT:    vpermt2q %zmm26, %zmm11, %zmm0
7207 ; AVX512F-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7208 ; AVX512F-NEXT:    vpermt2q %zmm26, %zmm2, %zmm5
7209 ; AVX512F-NEXT:    vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7210 ; AVX512F-NEXT:    vmovdqa64 2112(%rdi), %zmm0
7211 ; AVX512F-NEXT:    vmovdqa64 %zmm0, %zmm1
7212 ; AVX512F-NEXT:    vpermt2q %zmm3, %zmm7, %zmm1
7213 ; AVX512F-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7214 ; AVX512F-NEXT:    vmovdqa64 %zmm0, %zmm1
7215 ; AVX512F-NEXT:    vpermt2q %zmm3, %zmm8, %zmm1
7216 ; AVX512F-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7217 ; AVX512F-NEXT:    vmovdqa64 %zmm3, %zmm1
7218 ; AVX512F-NEXT:    vpermt2q %zmm0, %zmm9, %zmm1
7219 ; AVX512F-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7220 ; AVX512F-NEXT:    vmovdqa64 %zmm3, %zmm1
7221 ; AVX512F-NEXT:    vpermt2q %zmm0, %zmm10, %zmm1
7222 ; AVX512F-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7223 ; AVX512F-NEXT:    vmovdqa64 %zmm3, %zmm1
7224 ; AVX512F-NEXT:    vpermt2q %zmm0, %zmm11, %zmm1
7225 ; AVX512F-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7226 ; AVX512F-NEXT:    vpermt2q %zmm0, %zmm2, %zmm3
7227 ; AVX512F-NEXT:    vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7228 ; AVX512F-NEXT:    vmovdqa64 1664(%rdi), %zmm1
7229 ; AVX512F-NEXT:    vmovdqa64 1728(%rdi), %zmm0
7230 ; AVX512F-NEXT:    vmovdqa64 %zmm0, %zmm3
7231 ; AVX512F-NEXT:    vpermt2q %zmm1, %zmm7, %zmm3
7232 ; AVX512F-NEXT:    vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7233 ; AVX512F-NEXT:    vmovdqa64 %zmm0, %zmm3
7234 ; AVX512F-NEXT:    vpermt2q %zmm1, %zmm8, %zmm3
7235 ; AVX512F-NEXT:    vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7236 ; AVX512F-NEXT:    vmovdqa64 %zmm1, %zmm3
7237 ; AVX512F-NEXT:    vpermt2q %zmm0, %zmm9, %zmm3
7238 ; AVX512F-NEXT:    vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7239 ; AVX512F-NEXT:    vmovdqa64 %zmm1, %zmm3
7240 ; AVX512F-NEXT:    vpermt2q %zmm0, %zmm10, %zmm3
7241 ; AVX512F-NEXT:    vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7242 ; AVX512F-NEXT:    vmovdqa64 %zmm1, %zmm3
7243 ; AVX512F-NEXT:    vpermt2q %zmm0, %zmm11, %zmm3
7244 ; AVX512F-NEXT:    vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7245 ; AVX512F-NEXT:    vpermt2q %zmm0, %zmm2, %zmm1
7246 ; AVX512F-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7247 ; AVX512F-NEXT:    vmovdqa64 2432(%rdi), %zmm3
7248 ; AVX512F-NEXT:    vmovdqa64 2496(%rdi), %zmm0
7249 ; AVX512F-NEXT:    vmovdqa64 %zmm0, %zmm1
7250 ; AVX512F-NEXT:    vpermt2q %zmm3, %zmm7, %zmm1
7251 ; AVX512F-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7252 ; AVX512F-NEXT:    vmovdqa64 2816(%rdi), %zmm4
7253 ; AVX512F-NEXT:    vmovdqa64 2880(%rdi), %zmm1
7254 ; AVX512F-NEXT:    vpermi2q %zmm4, %zmm1, %zmm7
7255 ; AVX512F-NEXT:    vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7256 ; AVX512F-NEXT:    vmovdqa64 %zmm0, %zmm5
7257 ; AVX512F-NEXT:    vpermt2q %zmm3, %zmm8, %zmm5
7258 ; AVX512F-NEXT:    vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7259 ; AVX512F-NEXT:    vpermi2q %zmm4, %zmm1, %zmm8
7260 ; AVX512F-NEXT:    vmovdqu64 %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7261 ; AVX512F-NEXT:    vmovdqa64 %zmm3, %zmm5
7262 ; AVX512F-NEXT:    vpermt2q %zmm0, %zmm9, %zmm5
7263 ; AVX512F-NEXT:    vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7264 ; AVX512F-NEXT:    vpermi2q %zmm1, %zmm4, %zmm9
7265 ; AVX512F-NEXT:    vmovdqu64 %zmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7266 ; AVX512F-NEXT:    vmovdqa64 %zmm3, %zmm5
7267 ; AVX512F-NEXT:    vpermt2q %zmm0, %zmm10, %zmm5
7268 ; AVX512F-NEXT:    vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7269 ; AVX512F-NEXT:    vpermi2q %zmm1, %zmm4, %zmm10
7270 ; AVX512F-NEXT:    vmovdqu64 %zmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7271 ; AVX512F-NEXT:    vmovdqa64 %zmm3, %zmm5
7272 ; AVX512F-NEXT:    vpermt2q %zmm0, %zmm11, %zmm5
7273 ; AVX512F-NEXT:    vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7274 ; AVX512F-NEXT:    vpermi2q %zmm1, %zmm4, %zmm11
7275 ; AVX512F-NEXT:    vmovdqu64 %zmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7276 ; AVX512F-NEXT:    vpermt2q %zmm1, %zmm2, %zmm4
7277 ; AVX512F-NEXT:    vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7278 ; AVX512F-NEXT:    vpermt2q %zmm0, %zmm2, %zmm3
7279 ; AVX512F-NEXT:    vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7280 ; AVX512F-NEXT:    vmovdqa64 448(%rdi), %zmm1
7281 ; AVX512F-NEXT:    vmovdqa64 384(%rdi), %zmm2
7282 ; AVX512F-NEXT:    vmovdqa {{.*#+}} ymm8 = <0,6,12,u>
7283 ; AVX512F-NEXT:    vmovdqa64 %zmm2, %zmm0
7284 ; AVX512F-NEXT:    vpermt2q %zmm1, %zmm8, %zmm0
7285 ; AVX512F-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7286 ; AVX512F-NEXT:    vmovdqa {{.*#+}} ymm9 = <1,7,13,u>
7287 ; AVX512F-NEXT:    vmovdqa64 %zmm2, %zmm0
7288 ; AVX512F-NEXT:    vpermt2q %zmm1, %zmm9, %zmm0
7289 ; AVX512F-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7290 ; AVX512F-NEXT:    vmovdqa {{.*#+}} ymm10 = <10,0,6,u>
7291 ; AVX512F-NEXT:    vmovdqa64 %zmm1, %zmm0
7292 ; AVX512F-NEXT:    vpermt2q %zmm2, %zmm10, %zmm0
7293 ; AVX512F-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7294 ; AVX512F-NEXT:    vmovdqa {{.*#+}} ymm11 = <11,1,7,u>
7295 ; AVX512F-NEXT:    vmovdqa64 %zmm1, %zmm0
7296 ; AVX512F-NEXT:    vpermt2q %zmm2, %zmm11, %zmm0
7297 ; AVX512F-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7298 ; AVX512F-NEXT:    vbroadcasti32x4 {{.*#+}} zmm4 = [4,10,4,10,4,10,4,10]
7299 ; AVX512F-NEXT:    # zmm4 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]
7300 ; AVX512F-NEXT:    vmovdqa64 %zmm2, %zmm0
7301 ; AVX512F-NEXT:    vpermt2q %zmm1, %zmm4, %zmm0
7302 ; AVX512F-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7303 ; AVX512F-NEXT:    vbroadcasti32x4 {{.*#+}} zmm0 = [5,11,5,11,5,11,5,11]
7304 ; AVX512F-NEXT:    # zmm0 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]
7305 ; AVX512F-NEXT:    vpermt2q %zmm1, %zmm0, %zmm2
7306 ; AVX512F-NEXT:    vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7307 ; AVX512F-NEXT:    vmovdqa64 (%rdi), %zmm2
7308 ; AVX512F-NEXT:    vmovdqa64 64(%rdi), %zmm1
7309 ; AVX512F-NEXT:    vmovdqa64 %zmm2, %zmm3
7310 ; AVX512F-NEXT:    vpermt2q %zmm1, %zmm8, %zmm3
7311 ; AVX512F-NEXT:    vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7312 ; AVX512F-NEXT:    vmovdqa64 %zmm2, %zmm3
7313 ; AVX512F-NEXT:    vpermt2q %zmm1, %zmm9, %zmm3
7314 ; AVX512F-NEXT:    vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7315 ; AVX512F-NEXT:    vmovdqa64 %zmm1, %zmm3
7316 ; AVX512F-NEXT:    vpermt2q %zmm2, %zmm10, %zmm3
7317 ; AVX512F-NEXT:    vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7318 ; AVX512F-NEXT:    vmovdqa64 %zmm1, %zmm3
7319 ; AVX512F-NEXT:    vpermt2q %zmm2, %zmm11, %zmm3
7320 ; AVX512F-NEXT:    vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7321 ; AVX512F-NEXT:    vmovdqa64 %zmm2, %zmm3
7322 ; AVX512F-NEXT:    vpermt2q %zmm1, %zmm4, %zmm3
7323 ; AVX512F-NEXT:    vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7324 ; AVX512F-NEXT:    vpermt2q %zmm1, %zmm0, %zmm2
7325 ; AVX512F-NEXT:    vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7326 ; AVX512F-NEXT:    vmovdqa64 1216(%rdi), %zmm1
7327 ; AVX512F-NEXT:    vmovdqa64 1152(%rdi), %zmm2
7328 ; AVX512F-NEXT:    vmovdqa64 %zmm2, %zmm3
7329 ; AVX512F-NEXT:    vpermt2q %zmm1, %zmm8, %zmm3
7330 ; AVX512F-NEXT:    vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7331 ; AVX512F-NEXT:    vmovdqa64 %zmm2, %zmm3
7332 ; AVX512F-NEXT:    vpermt2q %zmm1, %zmm9, %zmm3
7333 ; AVX512F-NEXT:    vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7334 ; AVX512F-NEXT:    vmovdqa64 %zmm1, %zmm3
7335 ; AVX512F-NEXT:    vpermt2q %zmm2, %zmm10, %zmm3
7336 ; AVX512F-NEXT:    vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7337 ; AVX512F-NEXT:    vmovdqa64 %zmm1, %zmm3
7338 ; AVX512F-NEXT:    vpermt2q %zmm2, %zmm11, %zmm3
7339 ; AVX512F-NEXT:    vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7340 ; AVX512F-NEXT:    vmovdqa64 %zmm2, %zmm3
7341 ; AVX512F-NEXT:    vpermt2q %zmm1, %zmm4, %zmm3
7342 ; AVX512F-NEXT:    vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7343 ; AVX512F-NEXT:    vpermt2q %zmm1, %zmm0, %zmm2
7344 ; AVX512F-NEXT:    vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7345 ; AVX512F-NEXT:    vmovdqa64 832(%rdi), %zmm1
7346 ; AVX512F-NEXT:    vmovdqa64 768(%rdi), %zmm2
7347 ; AVX512F-NEXT:    vmovdqa64 %zmm2, %zmm3
7348 ; AVX512F-NEXT:    vpermt2q %zmm1, %zmm8, %zmm3
7349 ; AVX512F-NEXT:    vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7350 ; AVX512F-NEXT:    vmovdqa64 %zmm2, %zmm3
7351 ; AVX512F-NEXT:    vpermt2q %zmm1, %zmm9, %zmm3
7352 ; AVX512F-NEXT:    vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7353 ; AVX512F-NEXT:    vmovdqa64 %zmm1, %zmm3
7354 ; AVX512F-NEXT:    vpermt2q %zmm2, %zmm10, %zmm3
7355 ; AVX512F-NEXT:    vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7356 ; AVX512F-NEXT:    vmovdqa64 %zmm1, %zmm3
7357 ; AVX512F-NEXT:    vpermt2q %zmm2, %zmm11, %zmm3
7358 ; AVX512F-NEXT:    vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7359 ; AVX512F-NEXT:    vmovdqa64 %zmm2, %zmm3
7360 ; AVX512F-NEXT:    vpermt2q %zmm1, %zmm4, %zmm3
7361 ; AVX512F-NEXT:    vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7362 ; AVX512F-NEXT:    vpermt2q %zmm1, %zmm0, %zmm2
7363 ; AVX512F-NEXT:    vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7364 ; AVX512F-NEXT:    vmovdqa64 1984(%rdi), %zmm1
7365 ; AVX512F-NEXT:    vmovdqa64 1920(%rdi), %zmm2
7366 ; AVX512F-NEXT:    vmovdqa64 %zmm2, %zmm3
7367 ; AVX512F-NEXT:    vpermt2q %zmm1, %zmm8, %zmm3
7368 ; AVX512F-NEXT:    vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7369 ; AVX512F-NEXT:    vmovdqa64 %zmm2, %zmm3
7370 ; AVX512F-NEXT:    vpermt2q %zmm1, %zmm9, %zmm3
7371 ; AVX512F-NEXT:    vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7372 ; AVX512F-NEXT:    vmovdqa64 %zmm1, %zmm3
7373 ; AVX512F-NEXT:    vpermt2q %zmm2, %zmm10, %zmm3
7374 ; AVX512F-NEXT:    vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7375 ; AVX512F-NEXT:    vmovdqa64 %zmm1, %zmm3
7376 ; AVX512F-NEXT:    vpermt2q %zmm2, %zmm11, %zmm3
7377 ; AVX512F-NEXT:    vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7378 ; AVX512F-NEXT:    vmovdqa64 %zmm2, %zmm3
7379 ; AVX512F-NEXT:    vpermt2q %zmm1, %zmm4, %zmm3
7380 ; AVX512F-NEXT:    vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7381 ; AVX512F-NEXT:    vpermt2q %zmm1, %zmm0, %zmm2
7382 ; AVX512F-NEXT:    vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7383 ; AVX512F-NEXT:    vmovdqa64 1600(%rdi), %zmm1
7384 ; AVX512F-NEXT:    vmovdqa64 1536(%rdi), %zmm30
7385 ; AVX512F-NEXT:    vmovdqa64 %zmm30, %zmm2
7386 ; AVX512F-NEXT:    vpermt2q %zmm1, %zmm8, %zmm2
7387 ; AVX512F-NEXT:    vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7388 ; AVX512F-NEXT:    vmovdqa64 %zmm30, %zmm2
7389 ; AVX512F-NEXT:    vpermt2q %zmm1, %zmm9, %zmm2
7390 ; AVX512F-NEXT:    vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7391 ; AVX512F-NEXT:    vmovdqa64 %zmm1, %zmm2
7392 ; AVX512F-NEXT:    vpermt2q %zmm30, %zmm10, %zmm2
7393 ; AVX512F-NEXT:    vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7394 ; AVX512F-NEXT:    vmovdqa64 %zmm1, %zmm2
7395 ; AVX512F-NEXT:    vpermt2q %zmm30, %zmm11, %zmm2
7396 ; AVX512F-NEXT:    vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7397 ; AVX512F-NEXT:    vmovdqa64 %zmm30, %zmm2
7398 ; AVX512F-NEXT:    vpermt2q %zmm1, %zmm4, %zmm2
7399 ; AVX512F-NEXT:    vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7400 ; AVX512F-NEXT:    vpermt2q %zmm1, %zmm0, %zmm30
7401 ; AVX512F-NEXT:    vmovdqa64 320(%rdi), %zmm26
7402 ; AVX512F-NEXT:    vmovdqa64 256(%rdi), %zmm18
7403 ; AVX512F-NEXT:    vmovdqa64 %zmm18, %zmm1
7404 ; AVX512F-NEXT:    vpermt2q %zmm26, %zmm4, %zmm1
7405 ; AVX512F-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7406 ; AVX512F-NEXT:    vmovdqa64 704(%rdi), %zmm21
7407 ; AVX512F-NEXT:    vmovdqa64 640(%rdi), %zmm13
7408 ; AVX512F-NEXT:    vmovdqa64 %zmm13, %zmm1
7409 ; AVX512F-NEXT:    vpermt2q %zmm21, %zmm4, %zmm1
7410 ; AVX512F-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7411 ; AVX512F-NEXT:    vmovdqa64 1088(%rdi), %zmm24
7412 ; AVX512F-NEXT:    vmovdqa64 1024(%rdi), %zmm19
7413 ; AVX512F-NEXT:    vmovdqa64 %zmm19, %zmm1
7414 ; AVX512F-NEXT:    vpermt2q %zmm24, %zmm4, %zmm1
7415 ; AVX512F-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7416 ; AVX512F-NEXT:    vmovdqa64 1472(%rdi), %zmm28
7417 ; AVX512F-NEXT:    vmovdqa64 1408(%rdi), %zmm16
7418 ; AVX512F-NEXT:    vmovdqa64 %zmm16, %zmm1
7419 ; AVX512F-NEXT:    vpermt2q %zmm28, %zmm4, %zmm1
7420 ; AVX512F-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7421 ; AVX512F-NEXT:    vmovdqa64 1856(%rdi), %zmm25
7422 ; AVX512F-NEXT:    vmovdqa64 1792(%rdi), %zmm7
7423 ; AVX512F-NEXT:    vmovdqa64 %zmm7, %zmm1
7424 ; AVX512F-NEXT:    vpermt2q %zmm25, %zmm4, %zmm1
7425 ; AVX512F-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7426 ; AVX512F-NEXT:    vmovdqa64 2240(%rdi), %zmm23
7427 ; AVX512F-NEXT:    vmovdqa64 2176(%rdi), %zmm17
7428 ; AVX512F-NEXT:    vmovdqa64 %zmm17, %zmm1
7429 ; AVX512F-NEXT:    vpermt2q %zmm23, %zmm4, %zmm1
7430 ; AVX512F-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7431 ; AVX512F-NEXT:    vmovdqa64 2624(%rdi), %zmm20
7432 ; AVX512F-NEXT:    vmovdqa64 2560(%rdi), %zmm5
7433 ; AVX512F-NEXT:    vmovdqa64 %zmm5, %zmm1
7434 ; AVX512F-NEXT:    vpermt2q %zmm20, %zmm4, %zmm1
7435 ; AVX512F-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7436 ; AVX512F-NEXT:    vmovdqa64 2368(%rdi), %zmm1
7437 ; AVX512F-NEXT:    vmovdqa64 2304(%rdi), %zmm22
7438 ; AVX512F-NEXT:    vmovdqa64 %zmm22, %zmm29
7439 ; AVX512F-NEXT:    vpermt2q %zmm1, %zmm8, %zmm29
7440 ; AVX512F-NEXT:    vmovdqa64 3008(%rdi), %zmm14
7441 ; AVX512F-NEXT:    vmovdqa64 2944(%rdi), %zmm31
7442 ; AVX512F-NEXT:    vmovdqa64 %zmm31, %zmm2
7443 ; AVX512F-NEXT:    vpermt2q %zmm14, %zmm4, %zmm2
7444 ; AVX512F-NEXT:    vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7445 ; AVX512F-NEXT:    vmovdqa64 2752(%rdi), %zmm2
7446 ; AVX512F-NEXT:    vmovdqa64 2688(%rdi), %zmm12
7447 ; AVX512F-NEXT:    vpermi2q %zmm2, %zmm12, %zmm8
7448 ; AVX512F-NEXT:    vmovdqa64 %zmm22, %zmm3
7449 ; AVX512F-NEXT:    vpermt2q %zmm1, %zmm9, %zmm3
7450 ; AVX512F-NEXT:    vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7451 ; AVX512F-NEXT:    vpermi2q %zmm2, %zmm12, %zmm9
7452 ; AVX512F-NEXT:    vmovdqa64 %zmm1, %zmm3
7453 ; AVX512F-NEXT:    vpermt2q %zmm22, %zmm10, %zmm3
7454 ; AVX512F-NEXT:    vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7455 ; AVX512F-NEXT:    vpermi2q %zmm12, %zmm2, %zmm10
7456 ; AVX512F-NEXT:    vmovdqa64 %zmm1, %zmm3
7457 ; AVX512F-NEXT:    vpermt2q %zmm22, %zmm11, %zmm3
7458 ; AVX512F-NEXT:    vmovdqu64 %zmm3, (%rsp) # 64-byte Spill
7459 ; AVX512F-NEXT:    vpermi2q %zmm12, %zmm2, %zmm11
7460 ; AVX512F-NEXT:    vmovdqa64 %zmm22, %zmm3
7461 ; AVX512F-NEXT:    vpermt2q %zmm1, %zmm4, %zmm3
7462 ; AVX512F-NEXT:    vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7463 ; AVX512F-NEXT:    vpermi2q %zmm2, %zmm12, %zmm4
7464 ; AVX512F-NEXT:    vpermt2q %zmm2, %zmm0, %zmm12
7465 ; AVX512F-NEXT:    vpermt2q %zmm1, %zmm0, %zmm22
7466 ; AVX512F-NEXT:    vmovdqa64 %zmm5, %zmm1
7467 ; AVX512F-NEXT:    vpermt2q %zmm20, %zmm0, %zmm1
7468 ; AVX512F-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7469 ; AVX512F-NEXT:    vmovdqa64 %zmm13, %zmm1
7470 ; AVX512F-NEXT:    vpermt2q %zmm21, %zmm0, %zmm1
7471 ; AVX512F-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7472 ; AVX512F-NEXT:    vmovdqa64 %zmm18, %zmm1
7473 ; AVX512F-NEXT:    vpermt2q %zmm26, %zmm0, %zmm1
7474 ; AVX512F-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7475 ; AVX512F-NEXT:    vmovdqa64 %zmm16, %zmm1
7476 ; AVX512F-NEXT:    vpermt2q %zmm28, %zmm0, %zmm1
7477 ; AVX512F-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7478 ; AVX512F-NEXT:    vmovdqa64 %zmm19, %zmm1
7479 ; AVX512F-NEXT:    vpermt2q %zmm24, %zmm0, %zmm1
7480 ; AVX512F-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7481 ; AVX512F-NEXT:    vmovdqa64 %zmm17, %zmm1
7482 ; AVX512F-NEXT:    vpermt2q %zmm23, %zmm0, %zmm1
7483 ; AVX512F-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7484 ; AVX512F-NEXT:    vmovdqa64 %zmm7, %zmm1
7485 ; AVX512F-NEXT:    vpermt2q %zmm25, %zmm0, %zmm1
7486 ; AVX512F-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7487 ; AVX512F-NEXT:    vmovdqa64 %zmm31, %zmm1
7488 ; AVX512F-NEXT:    vpermt2q %zmm14, %zmm0, %zmm1
7489 ; AVX512F-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7490 ; AVX512F-NEXT:    vbroadcasti64x4 {{.*#+}} zmm1 = [0,0,6,12,0,0,6,12]
7491 ; AVX512F-NEXT:    # zmm1 = mem[0,1,2,3,0,1,2,3]
7492 ; AVX512F-NEXT:    vmovdqa64 %zmm13, %zmm0
7493 ; AVX512F-NEXT:    vpermt2q %zmm21, %zmm1, %zmm0
7494 ; AVX512F-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7495 ; AVX512F-NEXT:    vbroadcasti64x4 {{.*#+}} zmm2 = [0,1,7,13,0,1,7,13]
7496 ; AVX512F-NEXT:    # zmm2 = mem[0,1,2,3,0,1,2,3]
7497 ; AVX512F-NEXT:    vmovdqa64 %zmm13, %zmm0
7498 ; AVX512F-NEXT:    vpermt2q %zmm21, %zmm2, %zmm0
7499 ; AVX512F-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7500 ; AVX512F-NEXT:    vbroadcasti64x4 {{.*#+}} zmm3 = [0,10,0,6,0,10,0,6]
7501 ; AVX512F-NEXT:    # zmm3 = mem[0,1,2,3,0,1,2,3]
7502 ; AVX512F-NEXT:    vmovdqa64 %zmm21, %zmm0
7503 ; AVX512F-NEXT:    vpermt2q %zmm13, %zmm3, %zmm0
7504 ; AVX512F-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7505 ; AVX512F-NEXT:    vbroadcasti64x4 {{.*#+}} zmm0 = [0,11,1,7,0,11,1,7]
7506 ; AVX512F-NEXT:    # zmm0 = mem[0,1,2,3,0,1,2,3]
7507 ; AVX512F-NEXT:    vpermt2q %zmm13, %zmm0, %zmm21
7508 ; AVX512F-NEXT:    vmovdqa64 %zmm18, %zmm6
7509 ; AVX512F-NEXT:    vpermt2q %zmm26, %zmm1, %zmm6
7510 ; AVX512F-NEXT:    vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7511 ; AVX512F-NEXT:    vmovdqa64 %zmm18, %zmm6
7512 ; AVX512F-NEXT:    vpermt2q %zmm26, %zmm2, %zmm6
7513 ; AVX512F-NEXT:    vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7514 ; AVX512F-NEXT:    vmovdqa64 %zmm26, %zmm6
7515 ; AVX512F-NEXT:    vpermt2q %zmm18, %zmm3, %zmm6
7516 ; AVX512F-NEXT:    vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7517 ; AVX512F-NEXT:    vpermt2q %zmm18, %zmm0, %zmm26
7518 ; AVX512F-NEXT:    vmovdqa64 %zmm16, %zmm27
7519 ; AVX512F-NEXT:    vpermt2q %zmm28, %zmm1, %zmm27
7520 ; AVX512F-NEXT:    vmovdqa64 %zmm16, %zmm6
7521 ; AVX512F-NEXT:    vpermt2q %zmm28, %zmm2, %zmm6
7522 ; AVX512F-NEXT:    vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7523 ; AVX512F-NEXT:    vmovdqa64 %zmm28, %zmm6
7524 ; AVX512F-NEXT:    vpermt2q %zmm16, %zmm3, %zmm6
7525 ; AVX512F-NEXT:    vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7526 ; AVX512F-NEXT:    vpermt2q %zmm16, %zmm0, %zmm28
7527 ; AVX512F-NEXT:    vmovdqa64 %zmm19, %zmm18
7528 ; AVX512F-NEXT:    vpermt2q %zmm24, %zmm1, %zmm18
7529 ; AVX512F-NEXT:    vmovdqa64 %zmm19, %zmm6
7530 ; AVX512F-NEXT:    vpermt2q %zmm24, %zmm2, %zmm6
7531 ; AVX512F-NEXT:    vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7532 ; AVX512F-NEXT:    vmovdqa64 %zmm24, %zmm6
7533 ; AVX512F-NEXT:    vpermt2q %zmm19, %zmm3, %zmm6
7534 ; AVX512F-NEXT:    vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7535 ; AVX512F-NEXT:    vpermt2q %zmm19, %zmm0, %zmm24
7536 ; AVX512F-NEXT:    vmovdqa64 %zmm17, %zmm15
7537 ; AVX512F-NEXT:    vpermt2q %zmm23, %zmm1, %zmm15
7538 ; AVX512F-NEXT:    vmovdqa64 %zmm17, %zmm19
7539 ; AVX512F-NEXT:    vpermt2q %zmm23, %zmm2, %zmm19
7540 ; AVX512F-NEXT:    vmovdqa64 %zmm23, %zmm6
7541 ; AVX512F-NEXT:    vpermt2q %zmm17, %zmm3, %zmm6
7542 ; AVX512F-NEXT:    vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7543 ; AVX512F-NEXT:    vpermt2q %zmm17, %zmm0, %zmm23
7544 ; AVX512F-NEXT:    vmovdqa64 %zmm7, %zmm13
7545 ; AVX512F-NEXT:    vpermt2q %zmm25, %zmm1, %zmm13
7546 ; AVX512F-NEXT:    vmovdqa64 %zmm7, %zmm17
7547 ; AVX512F-NEXT:    vpermt2q %zmm25, %zmm2, %zmm17
7548 ; AVX512F-NEXT:    vmovdqa64 %zmm25, %zmm6
7549 ; AVX512F-NEXT:    vpermt2q %zmm7, %zmm3, %zmm6
7550 ; AVX512F-NEXT:    vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7551 ; AVX512F-NEXT:    vpermt2q %zmm7, %zmm0, %zmm25
7552 ; AVX512F-NEXT:    vmovdqa64 %zmm5, %zmm6
7553 ; AVX512F-NEXT:    vpermt2q %zmm20, %zmm1, %zmm6
7554 ; AVX512F-NEXT:    vpermi2q %zmm14, %zmm31, %zmm1
7555 ; AVX512F-NEXT:    vmovdqa64 %zmm5, %zmm7
7556 ; AVX512F-NEXT:    vpermt2q %zmm20, %zmm2, %zmm7
7557 ; AVX512F-NEXT:    vpermi2q %zmm14, %zmm31, %zmm2
7558 ; AVX512F-NEXT:    vmovdqa64 %zmm20, %zmm16
7559 ; AVX512F-NEXT:    vpermt2q %zmm5, %zmm3, %zmm16
7560 ; AVX512F-NEXT:    vpermi2q %zmm31, %zmm14, %zmm3
7561 ; AVX512F-NEXT:    vpermt2q %zmm31, %zmm0, %zmm14
7562 ; AVX512F-NEXT:    vpermt2q %zmm5, %zmm0, %zmm20
7563 ; AVX512F-NEXT:    movb $56, %al
7564 ; AVX512F-NEXT:    kmovw %eax, %k1
7565 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
7566 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm5 # 64-byte Reload
7567 ; AVX512F-NEXT:    vmovdqa64 %zmm0, %zmm5 {%k1}
7568 ; AVX512F-NEXT:    movb $-64, %al
7569 ; AVX512F-NEXT:    kmovw %eax, %k2
7570 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
7571 ; AVX512F-NEXT:    vmovdqa64 %zmm0, %zmm5 {%k2}
7572 ; AVX512F-NEXT:    vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7573 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
7574 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm5 # 64-byte Reload
7575 ; AVX512F-NEXT:    vmovdqa64 %zmm0, %zmm5 {%k1}
7576 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
7577 ; AVX512F-NEXT:    vmovdqa64 %zmm0, %zmm5 {%k2}
7578 ; AVX512F-NEXT:    vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7579 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
7580 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm5 # 64-byte Reload
7581 ; AVX512F-NEXT:    vmovdqa64 %zmm0, %zmm5 {%k1}
7582 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
7583 ; AVX512F-NEXT:    vmovdqa64 %zmm0, %zmm5 {%k2}
7584 ; AVX512F-NEXT:    vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7585 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
7586 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm5 # 64-byte Reload
7587 ; AVX512F-NEXT:    vmovdqa64 %zmm0, %zmm5 {%k1}
7588 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
7589 ; AVX512F-NEXT:    vmovdqa64 %zmm0, %zmm5 {%k2}
7590 ; AVX512F-NEXT:    vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7591 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
7592 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm5 # 64-byte Reload
7593 ; AVX512F-NEXT:    vmovdqa64 %zmm0, %zmm5 {%k1}
7594 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
7595 ; AVX512F-NEXT:    vmovdqa64 %zmm0, %zmm5 {%k2}
7596 ; AVX512F-NEXT:    vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7597 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
7598 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm5 # 64-byte Reload
7599 ; AVX512F-NEXT:    vmovdqa64 %zmm0, %zmm5 {%k1}
7600 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
7601 ; AVX512F-NEXT:    vmovdqa64 %zmm0, %zmm5 {%k2}
7602 ; AVX512F-NEXT:    vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7603 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
7604 ; AVX512F-NEXT:    vmovdqa64 %zmm0, %zmm29 {%k1}
7605 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
7606 ; AVX512F-NEXT:    vmovdqa64 %zmm0, %zmm29 {%k2}
7607 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
7608 ; AVX512F-NEXT:    vmovdqa64 %zmm0, %zmm8 {%k1}
7609 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
7610 ; AVX512F-NEXT:    vmovdqa64 %zmm0, %zmm8 {%k2}
7611 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
7612 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm5 # 64-byte Reload
7613 ; AVX512F-NEXT:    vmovdqa64 %zmm0, %zmm5 {%k1}
7614 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
7615 ; AVX512F-NEXT:    vmovdqa64 %zmm0, %zmm5 {%k2}
7616 ; AVX512F-NEXT:    vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7617 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
7618 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm5 # 64-byte Reload
7619 ; AVX512F-NEXT:    vmovdqa64 %zmm0, %zmm5 {%k1}
7620 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
7621 ; AVX512F-NEXT:    vmovdqa64 %zmm0, %zmm5 {%k2}
7622 ; AVX512F-NEXT:    vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7623 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
7624 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm5 # 64-byte Reload
7625 ; AVX512F-NEXT:    vmovdqa64 %zmm0, %zmm5 {%k1}
7626 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
7627 ; AVX512F-NEXT:    vmovdqa64 %zmm0, %zmm5 {%k2}
7628 ; AVX512F-NEXT:    vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7629 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
7630 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm5 # 64-byte Reload
7631 ; AVX512F-NEXT:    vmovdqa64 %zmm0, %zmm5 {%k1}
7632 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
7633 ; AVX512F-NEXT:    vmovdqa64 %zmm0, %zmm5 {%k2}
7634 ; AVX512F-NEXT:    vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7635 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
7636 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm5 # 64-byte Reload
7637 ; AVX512F-NEXT:    vmovdqa64 %zmm0, %zmm5 {%k1}
7638 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
7639 ; AVX512F-NEXT:    vmovdqa64 %zmm0, %zmm5 {%k2}
7640 ; AVX512F-NEXT:    vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7641 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
7642 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm5 # 64-byte Reload
7643 ; AVX512F-NEXT:    vmovdqa64 %zmm0, %zmm5 {%k1}
7644 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
7645 ; AVX512F-NEXT:    vmovdqa64 %zmm0, %zmm5 {%k2}
7646 ; AVX512F-NEXT:    vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7647 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
7648 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm5 # 64-byte Reload
7649 ; AVX512F-NEXT:    vmovdqa64 %zmm0, %zmm5 {%k1}
7650 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
7651 ; AVX512F-NEXT:    vmovdqa64 %zmm0, %zmm5 {%k2}
7652 ; AVX512F-NEXT:    vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7653 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
7654 ; AVX512F-NEXT:    vmovdqa64 %zmm0, %zmm9 {%k1}
7655 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
7656 ; AVX512F-NEXT:    vmovdqa64 %zmm0, %zmm9 {%k2}
7657 ; AVX512F-NEXT:    movb $24, %al
7658 ; AVX512F-NEXT:    kmovw %eax, %k2
7659 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
7660 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm5 # 64-byte Reload
7661 ; AVX512F-NEXT:    vmovdqa64 %zmm0, %zmm5 {%k2}
7662 ; AVX512F-NEXT:    movb $-32, %al
7663 ; AVX512F-NEXT:    kmovw %eax, %k1
7664 ; AVX512F-NEXT:    vmovdqa64 %zmm6, %zmm5 {%k1}
7665 ; AVX512F-NEXT:    vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7666 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
7667 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm5 # 64-byte Reload
7668 ; AVX512F-NEXT:    vmovdqa64 %zmm0, %zmm5 {%k2}
7669 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
7670 ; AVX512F-NEXT:    vmovdqa64 %zmm0, %zmm5 {%k1}
7671 ; AVX512F-NEXT:    vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7672 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
7673 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm5 # 64-byte Reload
7674 ; AVX512F-NEXT:    vmovdqa64 %zmm0, %zmm5 {%k2}
7675 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
7676 ; AVX512F-NEXT:    vmovdqa64 %zmm0, %zmm5 {%k1}
7677 ; AVX512F-NEXT:    vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7678 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
7679 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm5 # 64-byte Reload
7680 ; AVX512F-NEXT:    vmovdqa64 %zmm0, %zmm5 {%k2}
7681 ; AVX512F-NEXT:    vmovdqa64 %zmm27, %zmm5 {%k1}
7682 ; AVX512F-NEXT:    vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7683 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
7684 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm5 # 64-byte Reload
7685 ; AVX512F-NEXT:    vmovdqa64 %zmm0, %zmm5 {%k2}
7686 ; AVX512F-NEXT:    vmovdqa64 %zmm18, %zmm5 {%k1}
7687 ; AVX512F-NEXT:    vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7688 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
7689 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm5 # 64-byte Reload
7690 ; AVX512F-NEXT:    vmovdqa64 %zmm0, %zmm5 {%k2}
7691 ; AVX512F-NEXT:    vmovdqa64 %zmm15, %zmm5 {%k1}
7692 ; AVX512F-NEXT:    vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7693 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
7694 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm5 # 64-byte Reload
7695 ; AVX512F-NEXT:    vmovdqa64 %zmm0, %zmm5 {%k2}
7696 ; AVX512F-NEXT:    vmovdqa64 %zmm13, %zmm5 {%k1}
7697 ; AVX512F-NEXT:    vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7698 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
7699 ; AVX512F-NEXT:    vmovdqa64 %zmm0, %zmm10 {%k2}
7700 ; AVX512F-NEXT:    vmovdqa64 %zmm1, %zmm10 {%k1}
7701 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
7702 ; AVX512F-NEXT:    vmovdqu64 (%rsp), %zmm1 # 64-byte Reload
7703 ; AVX512F-NEXT:    vmovdqa64 %zmm0, %zmm1 {%k2}
7704 ; AVX512F-NEXT:    vmovdqa64 %zmm7, %zmm1 {%k1}
7705 ; AVX512F-NEXT:    vmovdqu64 %zmm1, (%rsp) # 64-byte Spill
7706 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
7707 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload
7708 ; AVX512F-NEXT:    vmovdqa64 %zmm0, %zmm1 {%k2}
7709 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
7710 ; AVX512F-NEXT:    vmovdqa64 %zmm0, %zmm1 {%k1}
7711 ; AVX512F-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7712 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
7713 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload
7714 ; AVX512F-NEXT:    vmovdqa64 %zmm0, %zmm1 {%k2}
7715 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
7716 ; AVX512F-NEXT:    vmovdqa64 %zmm0, %zmm1 {%k1}
7717 ; AVX512F-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7718 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
7719 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload
7720 ; AVX512F-NEXT:    vmovdqa64 %zmm0, %zmm1 {%k2}
7721 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
7722 ; AVX512F-NEXT:    vmovdqa64 %zmm0, %zmm1 {%k1}
7723 ; AVX512F-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7724 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
7725 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload
7726 ; AVX512F-NEXT:    vmovdqa64 %zmm0, %zmm1 {%k2}
7727 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
7728 ; AVX512F-NEXT:    vmovdqa64 %zmm0, %zmm1 {%k1}
7729 ; AVX512F-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7730 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
7731 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm31 # 64-byte Reload
7732 ; AVX512F-NEXT:    vmovdqa64 %zmm0, %zmm31 {%k2}
7733 ; AVX512F-NEXT:    vmovdqa64 %zmm19, %zmm31 {%k1}
7734 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
7735 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm27 # 64-byte Reload
7736 ; AVX512F-NEXT:    vmovdqa64 %zmm0, %zmm27 {%k2}
7737 ; AVX512F-NEXT:    vmovdqa64 %zmm17, %zmm27 {%k1}
7738 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
7739 ; AVX512F-NEXT:    vmovdqa64 %zmm0, %zmm11 {%k2}
7740 ; AVX512F-NEXT:    vmovdqa64 %zmm2, %zmm11 {%k1}
7741 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
7742 ; AVX512F-NEXT:    vinserti32x4 $0, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm0 # 16-byte Folded Reload
7743 ; AVX512F-NEXT:    vmovdqa64 %zmm16, %zmm0 {%k1}
7744 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload
7745 ; AVX512F-NEXT:    vinserti32x4 $0, {{[-0-9]+}}(%r{{[sb]}}p), %zmm1, %zmm1 # 16-byte Folded Reload
7746 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload
7747 ; AVX512F-NEXT:    vmovdqa64 %zmm2, %zmm1 {%k1}
7748 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload
7749 ; AVX512F-NEXT:    vinserti32x4 $0, {{[-0-9]+}}(%r{{[sb]}}p), %zmm2, %zmm5 # 16-byte Folded Reload
7750 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload
7751 ; AVX512F-NEXT:    vmovdqa64 %zmm2, %zmm5 {%k1}
7752 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload
7753 ; AVX512F-NEXT:    vinserti32x4 $0, {{[-0-9]+}}(%r{{[sb]}}p), %zmm2, %zmm6 # 16-byte Folded Reload
7754 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload
7755 ; AVX512F-NEXT:    vmovdqa64 %zmm2, %zmm6 {%k1}
7756 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload
7757 ; AVX512F-NEXT:    vinserti32x4 $0, {{[-0-9]+}}(%r{{[sb]}}p), %zmm2, %zmm7 # 16-byte Folded Reload
7758 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload
7759 ; AVX512F-NEXT:    vmovdqa64 %zmm2, %zmm7 {%k1}
7760 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload
7761 ; AVX512F-NEXT:    vinserti32x4 $0, {{[-0-9]+}}(%r{{[sb]}}p), %zmm2, %zmm13 # 16-byte Folded Reload
7762 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload
7763 ; AVX512F-NEXT:    vmovdqa64 %zmm2, %zmm13 {%k1}
7764 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload
7765 ; AVX512F-NEXT:    vinserti32x4 $0, {{[-0-9]+}}(%r{{[sb]}}p), %zmm2, %zmm15 # 16-byte Folded Reload
7766 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload
7767 ; AVX512F-NEXT:    vmovdqa64 %zmm2, %zmm15 {%k1}
7768 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload
7769 ; AVX512F-NEXT:    vinserti32x4 $0, %xmm4, %zmm2, %zmm4
7770 ; AVX512F-NEXT:    vmovdqa64 %zmm3, %zmm4 {%k1}
7771 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload
7772 ; AVX512F-NEXT:    vinserti32x4 $0, {{[-0-9]+}}(%r{{[sb]}}p), %zmm2, %zmm2 # 16-byte Folded Reload
7773 ; AVX512F-NEXT:    vmovdqa64 %zmm21, %zmm2 {%k1}
7774 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload
7775 ; AVX512F-NEXT:    vinserti32x4 $0, {{[-0-9]+}}(%r{{[sb]}}p), %zmm3, %zmm3 # 16-byte Folded Reload
7776 ; AVX512F-NEXT:    vmovdqa64 %zmm26, %zmm3 {%k1}
7777 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm16 # 64-byte Reload
7778 ; AVX512F-NEXT:    vinserti32x4 $0, {{[-0-9]+}}(%r{{[sb]}}p), %zmm16, %zmm16 # 16-byte Folded Reload
7779 ; AVX512F-NEXT:    vmovdqa64 %zmm28, %zmm16 {%k1}
7780 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm17 # 64-byte Reload
7781 ; AVX512F-NEXT:    vinserti32x4 $0, {{[-0-9]+}}(%r{{[sb]}}p), %zmm17, %zmm17 # 16-byte Folded Reload
7782 ; AVX512F-NEXT:    vmovdqa64 %zmm24, %zmm17 {%k1}
7783 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm18 # 64-byte Reload
7784 ; AVX512F-NEXT:    vinserti32x4 $0, {{[-0-9]+}}(%r{{[sb]}}p), %zmm18, %zmm18 # 16-byte Folded Reload
7785 ; AVX512F-NEXT:    vmovdqa64 %zmm23, %zmm18 {%k1}
7786 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm19 # 64-byte Reload
7787 ; AVX512F-NEXT:    vinserti32x4 $0, %xmm30, %zmm19, %zmm19
7788 ; AVX512F-NEXT:    vmovdqa64 %zmm25, %zmm19 {%k1}
7789 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm21 # 64-byte Reload
7790 ; AVX512F-NEXT:    vinserti32x4 $0, %xmm12, %zmm21, %zmm12
7791 ; AVX512F-NEXT:    vmovdqa64 %zmm14, %zmm12 {%k1}
7792 ; AVX512F-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm14 # 64-byte Reload
7793 ; AVX512F-NEXT:    vinserti32x4 $0, %xmm22, %zmm14, %zmm14
7794 ; AVX512F-NEXT:    vmovdqa64 %zmm20, %zmm14 {%k1}
7795 ; AVX512F-NEXT:    vmovdqa64 %zmm8, 448(%rsi)
7796 ; AVX512F-NEXT:    vmovdqa64 %zmm29, 384(%rsi)
7797 ; AVX512F-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload
7798 ; AVX512F-NEXT:    vmovaps %zmm8, 320(%rsi)
7799 ; AVX512F-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload
7800 ; AVX512F-NEXT:    vmovaps %zmm8, 256(%rsi)
7801 ; AVX512F-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload
7802 ; AVX512F-NEXT:    vmovaps %zmm8, 192(%rsi)
7803 ; AVX512F-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload
7804 ; AVX512F-NEXT:    vmovaps %zmm8, 128(%rsi)
7805 ; AVX512F-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload
7806 ; AVX512F-NEXT:    vmovaps %zmm8, 64(%rsi)
7807 ; AVX512F-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload
7808 ; AVX512F-NEXT:    vmovaps %zmm8, (%rsi)
7809 ; AVX512F-NEXT:    vmovdqa64 %zmm9, 448(%rdx)
7810 ; AVX512F-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload
7811 ; AVX512F-NEXT:    vmovaps %zmm8, 256(%rdx)
7812 ; AVX512F-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload
7813 ; AVX512F-NEXT:    vmovaps %zmm8, 320(%rdx)
7814 ; AVX512F-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload
7815 ; AVX512F-NEXT:    vmovaps %zmm8, 128(%rdx)
7816 ; AVX512F-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload
7817 ; AVX512F-NEXT:    vmovaps %zmm8, 192(%rdx)
7818 ; AVX512F-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload
7819 ; AVX512F-NEXT:    vmovaps %zmm8, (%rdx)
7820 ; AVX512F-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload
7821 ; AVX512F-NEXT:    vmovaps %zmm8, 64(%rdx)
7822 ; AVX512F-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload
7823 ; AVX512F-NEXT:    vmovaps %zmm8, 384(%rdx)
7824 ; AVX512F-NEXT:    vmovdqa64 %zmm10, 448(%rcx)
7825 ; AVX512F-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload
7826 ; AVX512F-NEXT:    vmovaps %zmm8, 256(%rcx)
7827 ; AVX512F-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload
7828 ; AVX512F-NEXT:    vmovaps %zmm8, 320(%rcx)
7829 ; AVX512F-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload
7830 ; AVX512F-NEXT:    vmovaps %zmm8, 128(%rcx)
7831 ; AVX512F-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload
7832 ; AVX512F-NEXT:    vmovaps %zmm8, 192(%rcx)
7833 ; AVX512F-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload
7834 ; AVX512F-NEXT:    vmovaps %zmm8, (%rcx)
7835 ; AVX512F-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload
7836 ; AVX512F-NEXT:    vmovaps %zmm8, 64(%rcx)
7837 ; AVX512F-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload
7838 ; AVX512F-NEXT:    vmovaps %zmm8, 384(%rcx)
7839 ; AVX512F-NEXT:    vmovdqa64 %zmm11, 448(%r8)
7840 ; AVX512F-NEXT:    vmovdqa64 %zmm27, 256(%r8)
7841 ; AVX512F-NEXT:    vmovdqa64 %zmm31, 320(%r8)
7842 ; AVX512F-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload
7843 ; AVX512F-NEXT:    vmovaps %zmm8, 128(%r8)
7844 ; AVX512F-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload
7845 ; AVX512F-NEXT:    vmovaps %zmm8, 192(%r8)
7846 ; AVX512F-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload
7847 ; AVX512F-NEXT:    vmovaps %zmm8, (%r8)
7848 ; AVX512F-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload
7849 ; AVX512F-NEXT:    vmovaps %zmm8, 64(%r8)
7850 ; AVX512F-NEXT:    vmovups (%rsp), %zmm8 # 64-byte Reload
7851 ; AVX512F-NEXT:    vmovaps %zmm8, 384(%r8)
7852 ; AVX512F-NEXT:    vmovdqa64 %zmm4, 448(%r9)
7853 ; AVX512F-NEXT:    vmovdqa64 %zmm15, 256(%r9)
7854 ; AVX512F-NEXT:    vmovdqa64 %zmm13, 320(%r9)
7855 ; AVX512F-NEXT:    vmovdqa64 %zmm7, 128(%r9)
7856 ; AVX512F-NEXT:    vmovdqa64 %zmm6, 192(%r9)
7857 ; AVX512F-NEXT:    vmovdqa64 %zmm5, (%r9)
7858 ; AVX512F-NEXT:    vmovdqa64 %zmm1, 64(%r9)
7859 ; AVX512F-NEXT:    vmovdqa64 %zmm0, 384(%r9)
7860 ; AVX512F-NEXT:    movq {{[0-9]+}}(%rsp), %rax
7861 ; AVX512F-NEXT:    vmovdqa64 %zmm14, 384(%rax)
7862 ; AVX512F-NEXT:    vmovdqa64 %zmm12, 448(%rax)
7863 ; AVX512F-NEXT:    vmovdqa64 %zmm19, 256(%rax)
7864 ; AVX512F-NEXT:    vmovdqa64 %zmm18, 320(%rax)
7865 ; AVX512F-NEXT:    vmovdqa64 %zmm17, 128(%rax)
7866 ; AVX512F-NEXT:    vmovdqa64 %zmm16, 192(%rax)
7867 ; AVX512F-NEXT:    vmovdqa64 %zmm3, (%rax)
7868 ; AVX512F-NEXT:    vmovdqa64 %zmm2, 64(%rax)
7869 ; AVX512F-NEXT:    addq $7240, %rsp # imm = 0x1C48
7870 ; AVX512F-NEXT:    vzeroupper
7871 ; AVX512F-NEXT:    retq
7873 ; AVX512BW-LABEL: load_i64_stride6_vf64:
7874 ; AVX512BW:       # %bb.0:
7875 ; AVX512BW-NEXT:    subq $7240, %rsp # imm = 0x1C48
7876 ; AVX512BW-NEXT:    vmovdqa64 2048(%rdi), %zmm3
7877 ; AVX512BW-NEXT:    vmovdqa64 1280(%rdi), %zmm4
7878 ; AVX512BW-NEXT:    vmovdqa64 1344(%rdi), %zmm0
7879 ; AVX512BW-NEXT:    vmovdqa64 896(%rdi), %zmm5
7880 ; AVX512BW-NEXT:    vmovdqa64 960(%rdi), %zmm26
7881 ; AVX512BW-NEXT:    vmovdqa64 512(%rdi), %zmm2
7882 ; AVX512BW-NEXT:    vmovdqa64 576(%rdi), %zmm1
7883 ; AVX512BW-NEXT:    vmovdqa64 128(%rdi), %zmm6
7884 ; AVX512BW-NEXT:    vmovdqa64 192(%rdi), %zmm29
7885 ; AVX512BW-NEXT:    vbroadcasti64x4 {{.*#+}} zmm7 = [0,6,0,10,0,6,0,10]
7886 ; AVX512BW-NEXT:    # zmm7 = mem[0,1,2,3,0,1,2,3]
7887 ; AVX512BW-NEXT:    vmovdqa64 %zmm29, %zmm8
7888 ; AVX512BW-NEXT:    vpermt2q %zmm6, %zmm7, %zmm8
7889 ; AVX512BW-NEXT:    vmovdqu64 %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7890 ; AVX512BW-NEXT:    vmovdqa64 %zmm1, %zmm8
7891 ; AVX512BW-NEXT:    vpermt2q %zmm2, %zmm7, %zmm8
7892 ; AVX512BW-NEXT:    vmovdqu64 %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7893 ; AVX512BW-NEXT:    vmovdqa64 %zmm26, %zmm8
7894 ; AVX512BW-NEXT:    vpermt2q %zmm5, %zmm7, %zmm8
7895 ; AVX512BW-NEXT:    vmovdqu64 %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7896 ; AVX512BW-NEXT:    vmovdqa64 %zmm0, %zmm8
7897 ; AVX512BW-NEXT:    vpermt2q %zmm4, %zmm7, %zmm8
7898 ; AVX512BW-NEXT:    vmovdqu64 %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7899 ; AVX512BW-NEXT:    vbroadcasti64x4 {{.*#+}} zmm8 = [1,7,0,11,1,7,0,11]
7900 ; AVX512BW-NEXT:    # zmm8 = mem[0,1,2,3,0,1,2,3]
7901 ; AVX512BW-NEXT:    vmovdqa64 %zmm1, %zmm9
7902 ; AVX512BW-NEXT:    vpermt2q %zmm2, %zmm8, %zmm9
7903 ; AVX512BW-NEXT:    vmovdqu64 %zmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7904 ; AVX512BW-NEXT:    vmovdqa64 %zmm29, %zmm9
7905 ; AVX512BW-NEXT:    vpermt2q %zmm6, %zmm8, %zmm9
7906 ; AVX512BW-NEXT:    vmovdqu64 %zmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7907 ; AVX512BW-NEXT:    vmovdqa64 %zmm0, %zmm9
7908 ; AVX512BW-NEXT:    vpermt2q %zmm4, %zmm8, %zmm9
7909 ; AVX512BW-NEXT:    vmovdqu64 %zmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7910 ; AVX512BW-NEXT:    vmovdqa64 %zmm26, %zmm9
7911 ; AVX512BW-NEXT:    vpermt2q %zmm5, %zmm8, %zmm9
7912 ; AVX512BW-NEXT:    vmovdqu64 %zmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7913 ; AVX512BW-NEXT:    vbroadcasti32x4 {{.*#+}} zmm9 = [10,4,10,4,10,4,10,4]
7914 ; AVX512BW-NEXT:    # zmm9 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]
7915 ; AVX512BW-NEXT:    vmovdqa64 %zmm2, %zmm10
7916 ; AVX512BW-NEXT:    vpermt2q %zmm1, %zmm9, %zmm10
7917 ; AVX512BW-NEXT:    vmovdqu64 %zmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7918 ; AVX512BW-NEXT:    vmovdqa64 %zmm6, %zmm10
7919 ; AVX512BW-NEXT:    vpermt2q %zmm29, %zmm9, %zmm10
7920 ; AVX512BW-NEXT:    vmovdqu64 %zmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7921 ; AVX512BW-NEXT:    vmovdqa64 %zmm4, %zmm10
7922 ; AVX512BW-NEXT:    vpermt2q %zmm0, %zmm9, %zmm10
7923 ; AVX512BW-NEXT:    vmovdqu64 %zmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7924 ; AVX512BW-NEXT:    vmovdqa64 %zmm5, %zmm10
7925 ; AVX512BW-NEXT:    vpermt2q %zmm26, %zmm9, %zmm10
7926 ; AVX512BW-NEXT:    vmovdqu64 %zmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7927 ; AVX512BW-NEXT:    vbroadcasti32x4 {{.*#+}} zmm10 = [11,5,11,5,11,5,11,5]
7928 ; AVX512BW-NEXT:    # zmm10 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]
7929 ; AVX512BW-NEXT:    vmovdqa64 %zmm2, %zmm11
7930 ; AVX512BW-NEXT:    vpermt2q %zmm1, %zmm10, %zmm11
7931 ; AVX512BW-NEXT:    vmovdqu64 %zmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7932 ; AVX512BW-NEXT:    vmovdqa64 %zmm6, %zmm11
7933 ; AVX512BW-NEXT:    vpermt2q %zmm29, %zmm10, %zmm11
7934 ; AVX512BW-NEXT:    vmovdqu64 %zmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7935 ; AVX512BW-NEXT:    vmovdqa64 %zmm4, %zmm11
7936 ; AVX512BW-NEXT:    vpermt2q %zmm0, %zmm10, %zmm11
7937 ; AVX512BW-NEXT:    vmovdqu64 %zmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7938 ; AVX512BW-NEXT:    vmovdqa64 %zmm5, %zmm11
7939 ; AVX512BW-NEXT:    vpermt2q %zmm26, %zmm10, %zmm11
7940 ; AVX512BW-NEXT:    vmovdqu64 %zmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7941 ; AVX512BW-NEXT:    vbroadcasti64x4 {{.*#+}} zmm11 = [12,0,0,6,12,0,0,6]
7942 ; AVX512BW-NEXT:    # zmm11 = mem[0,1,2,3,0,1,2,3]
7943 ; AVX512BW-NEXT:    vmovdqa64 %zmm2, %zmm13
7944 ; AVX512BW-NEXT:    vmovdqa64 %zmm2, %zmm12
7945 ; AVX512BW-NEXT:    vpermt2q %zmm1, %zmm11, %zmm13
7946 ; AVX512BW-NEXT:    vmovdqu64 %zmm13, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7947 ; AVX512BW-NEXT:    vbroadcasti64x4 {{.*#+}} zmm2 = [13,0,1,7,13,0,1,7]
7948 ; AVX512BW-NEXT:    # zmm2 = mem[0,1,2,3,0,1,2,3]
7949 ; AVX512BW-NEXT:    vpermt2q %zmm1, %zmm2, %zmm12
7950 ; AVX512BW-NEXT:    vmovdqu64 %zmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7951 ; AVX512BW-NEXT:    vmovdqa64 %zmm6, %zmm1
7952 ; AVX512BW-NEXT:    vpermt2q %zmm29, %zmm11, %zmm1
7953 ; AVX512BW-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7954 ; AVX512BW-NEXT:    vpermt2q %zmm29, %zmm2, %zmm6
7955 ; AVX512BW-NEXT:    vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7956 ; AVX512BW-NEXT:    vmovdqa64 %zmm4, %zmm1
7957 ; AVX512BW-NEXT:    vpermt2q %zmm0, %zmm11, %zmm1
7958 ; AVX512BW-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7959 ; AVX512BW-NEXT:    vpermt2q %zmm0, %zmm2, %zmm4
7960 ; AVX512BW-NEXT:    vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7961 ; AVX512BW-NEXT:    vmovdqa64 %zmm5, %zmm0
7962 ; AVX512BW-NEXT:    vpermt2q %zmm26, %zmm11, %zmm0
7963 ; AVX512BW-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7964 ; AVX512BW-NEXT:    vpermt2q %zmm26, %zmm2, %zmm5
7965 ; AVX512BW-NEXT:    vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7966 ; AVX512BW-NEXT:    vmovdqa64 2112(%rdi), %zmm0
7967 ; AVX512BW-NEXT:    vmovdqa64 %zmm0, %zmm1
7968 ; AVX512BW-NEXT:    vpermt2q %zmm3, %zmm7, %zmm1
7969 ; AVX512BW-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7970 ; AVX512BW-NEXT:    vmovdqa64 %zmm0, %zmm1
7971 ; AVX512BW-NEXT:    vpermt2q %zmm3, %zmm8, %zmm1
7972 ; AVX512BW-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7973 ; AVX512BW-NEXT:    vmovdqa64 %zmm3, %zmm1
7974 ; AVX512BW-NEXT:    vpermt2q %zmm0, %zmm9, %zmm1
7975 ; AVX512BW-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7976 ; AVX512BW-NEXT:    vmovdqa64 %zmm3, %zmm1
7977 ; AVX512BW-NEXT:    vpermt2q %zmm0, %zmm10, %zmm1
7978 ; AVX512BW-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7979 ; AVX512BW-NEXT:    vmovdqa64 %zmm3, %zmm1
7980 ; AVX512BW-NEXT:    vpermt2q %zmm0, %zmm11, %zmm1
7981 ; AVX512BW-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7982 ; AVX512BW-NEXT:    vpermt2q %zmm0, %zmm2, %zmm3
7983 ; AVX512BW-NEXT:    vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7984 ; AVX512BW-NEXT:    vmovdqa64 1664(%rdi), %zmm1
7985 ; AVX512BW-NEXT:    vmovdqa64 1728(%rdi), %zmm0
7986 ; AVX512BW-NEXT:    vmovdqa64 %zmm0, %zmm3
7987 ; AVX512BW-NEXT:    vpermt2q %zmm1, %zmm7, %zmm3
7988 ; AVX512BW-NEXT:    vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7989 ; AVX512BW-NEXT:    vmovdqa64 %zmm0, %zmm3
7990 ; AVX512BW-NEXT:    vpermt2q %zmm1, %zmm8, %zmm3
7991 ; AVX512BW-NEXT:    vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7992 ; AVX512BW-NEXT:    vmovdqa64 %zmm1, %zmm3
7993 ; AVX512BW-NEXT:    vpermt2q %zmm0, %zmm9, %zmm3
7994 ; AVX512BW-NEXT:    vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7995 ; AVX512BW-NEXT:    vmovdqa64 %zmm1, %zmm3
7996 ; AVX512BW-NEXT:    vpermt2q %zmm0, %zmm10, %zmm3
7997 ; AVX512BW-NEXT:    vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
7998 ; AVX512BW-NEXT:    vmovdqa64 %zmm1, %zmm3
7999 ; AVX512BW-NEXT:    vpermt2q %zmm0, %zmm11, %zmm3
8000 ; AVX512BW-NEXT:    vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
8001 ; AVX512BW-NEXT:    vpermt2q %zmm0, %zmm2, %zmm1
8002 ; AVX512BW-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
8003 ; AVX512BW-NEXT:    vmovdqa64 2432(%rdi), %zmm3
8004 ; AVX512BW-NEXT:    vmovdqa64 2496(%rdi), %zmm0
8005 ; AVX512BW-NEXT:    vmovdqa64 %zmm0, %zmm1
8006 ; AVX512BW-NEXT:    vpermt2q %zmm3, %zmm7, %zmm1
8007 ; AVX512BW-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
8008 ; AVX512BW-NEXT:    vmovdqa64 2816(%rdi), %zmm4
8009 ; AVX512BW-NEXT:    vmovdqa64 2880(%rdi), %zmm1
8010 ; AVX512BW-NEXT:    vpermi2q %zmm4, %zmm1, %zmm7
8011 ; AVX512BW-NEXT:    vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
8012 ; AVX512BW-NEXT:    vmovdqa64 %zmm0, %zmm5
8013 ; AVX512BW-NEXT:    vpermt2q %zmm3, %zmm8, %zmm5
8014 ; AVX512BW-NEXT:    vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
8015 ; AVX512BW-NEXT:    vpermi2q %zmm4, %zmm1, %zmm8
8016 ; AVX512BW-NEXT:    vmovdqu64 %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
8017 ; AVX512BW-NEXT:    vmovdqa64 %zmm3, %zmm5
8018 ; AVX512BW-NEXT:    vpermt2q %zmm0, %zmm9, %zmm5
8019 ; AVX512BW-NEXT:    vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
8020 ; AVX512BW-NEXT:    vpermi2q %zmm1, %zmm4, %zmm9
8021 ; AVX512BW-NEXT:    vmovdqu64 %zmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
8022 ; AVX512BW-NEXT:    vmovdqa64 %zmm3, %zmm5
8023 ; AVX512BW-NEXT:    vpermt2q %zmm0, %zmm10, %zmm5
8024 ; AVX512BW-NEXT:    vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
8025 ; AVX512BW-NEXT:    vpermi2q %zmm1, %zmm4, %zmm10
8026 ; AVX512BW-NEXT:    vmovdqu64 %zmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
8027 ; AVX512BW-NEXT:    vmovdqa64 %zmm3, %zmm5
8028 ; AVX512BW-NEXT:    vpermt2q %zmm0, %zmm11, %zmm5
8029 ; AVX512BW-NEXT:    vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
8030 ; AVX512BW-NEXT:    vpermi2q %zmm1, %zmm4, %zmm11
8031 ; AVX512BW-NEXT:    vmovdqu64 %zmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
8032 ; AVX512BW-NEXT:    vpermt2q %zmm1, %zmm2, %zmm4
8033 ; AVX512BW-NEXT:    vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
8034 ; AVX512BW-NEXT:    vpermt2q %zmm0, %zmm2, %zmm3
8035 ; AVX512BW-NEXT:    vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
8036 ; AVX512BW-NEXT:    vmovdqa64 448(%rdi), %zmm1
8037 ; AVX512BW-NEXT:    vmovdqa64 384(%rdi), %zmm2
8038 ; AVX512BW-NEXT:    vmovdqa {{.*#+}} ymm8 = <0,6,12,u>
8039 ; AVX512BW-NEXT:    vmovdqa64 %zmm2, %zmm0
8040 ; AVX512BW-NEXT:    vpermt2q %zmm1, %zmm8, %zmm0
8041 ; AVX512BW-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
8042 ; AVX512BW-NEXT:    vmovdqa {{.*#+}} ymm9 = <1,7,13,u>
8043 ; AVX512BW-NEXT:    vmovdqa64 %zmm2, %zmm0
8044 ; AVX512BW-NEXT:    vpermt2q %zmm1, %zmm9, %zmm0
8045 ; AVX512BW-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
8046 ; AVX512BW-NEXT:    vmovdqa {{.*#+}} ymm10 = <10,0,6,u>
8047 ; AVX512BW-NEXT:    vmovdqa64 %zmm1, %zmm0
8048 ; AVX512BW-NEXT:    vpermt2q %zmm2, %zmm10, %zmm0
8049 ; AVX512BW-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
8050 ; AVX512BW-NEXT:    vmovdqa {{.*#+}} ymm11 = <11,1,7,u>
8051 ; AVX512BW-NEXT:    vmovdqa64 %zmm1, %zmm0
8052 ; AVX512BW-NEXT:    vpermt2q %zmm2, %zmm11, %zmm0
8053 ; AVX512BW-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
8054 ; AVX512BW-NEXT:    vbroadcasti32x4 {{.*#+}} zmm4 = [4,10,4,10,4,10,4,10]
8055 ; AVX512BW-NEXT:    # zmm4 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]
8056 ; AVX512BW-NEXT:    vmovdqa64 %zmm2, %zmm0
8057 ; AVX512BW-NEXT:    vpermt2q %zmm1, %zmm4, %zmm0
8058 ; AVX512BW-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
8059 ; AVX512BW-NEXT:    vbroadcasti32x4 {{.*#+}} zmm0 = [5,11,5,11,5,11,5,11]
8060 ; AVX512BW-NEXT:    # zmm0 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]
8061 ; AVX512BW-NEXT:    vpermt2q %zmm1, %zmm0, %zmm2
8062 ; AVX512BW-NEXT:    vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
8063 ; AVX512BW-NEXT:    vmovdqa64 (%rdi), %zmm2
8064 ; AVX512BW-NEXT:    vmovdqa64 64(%rdi), %zmm1
8065 ; AVX512BW-NEXT:    vmovdqa64 %zmm2, %zmm3
8066 ; AVX512BW-NEXT:    vpermt2q %zmm1, %zmm8, %zmm3
8067 ; AVX512BW-NEXT:    vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
8068 ; AVX512BW-NEXT:    vmovdqa64 %zmm2, %zmm3
8069 ; AVX512BW-NEXT:    vpermt2q %zmm1, %zmm9, %zmm3
8070 ; AVX512BW-NEXT:    vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
8071 ; AVX512BW-NEXT:    vmovdqa64 %zmm1, %zmm3
8072 ; AVX512BW-NEXT:    vpermt2q %zmm2, %zmm10, %zmm3
8073 ; AVX512BW-NEXT:    vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
8074 ; AVX512BW-NEXT:    vmovdqa64 %zmm1, %zmm3
8075 ; AVX512BW-NEXT:    vpermt2q %zmm2, %zmm11, %zmm3
8076 ; AVX512BW-NEXT:    vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
8077 ; AVX512BW-NEXT:    vmovdqa64 %zmm2, %zmm3
8078 ; AVX512BW-NEXT:    vpermt2q %zmm1, %zmm4, %zmm3
8079 ; AVX512BW-NEXT:    vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
8080 ; AVX512BW-NEXT:    vpermt2q %zmm1, %zmm0, %zmm2
8081 ; AVX512BW-NEXT:    vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
8082 ; AVX512BW-NEXT:    vmovdqa64 1216(%rdi), %zmm1
8083 ; AVX512BW-NEXT:    vmovdqa64 1152(%rdi), %zmm2
8084 ; AVX512BW-NEXT:    vmovdqa64 %zmm2, %zmm3
8085 ; AVX512BW-NEXT:    vpermt2q %zmm1, %zmm8, %zmm3
8086 ; AVX512BW-NEXT:    vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
8087 ; AVX512BW-NEXT:    vmovdqa64 %zmm2, %zmm3
8088 ; AVX512BW-NEXT:    vpermt2q %zmm1, %zmm9, %zmm3
8089 ; AVX512BW-NEXT:    vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
8090 ; AVX512BW-NEXT:    vmovdqa64 %zmm1, %zmm3
8091 ; AVX512BW-NEXT:    vpermt2q %zmm2, %zmm10, %zmm3
8092 ; AVX512BW-NEXT:    vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
8093 ; AVX512BW-NEXT:    vmovdqa64 %zmm1, %zmm3
8094 ; AVX512BW-NEXT:    vpermt2q %zmm2, %zmm11, %zmm3
8095 ; AVX512BW-NEXT:    vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
8096 ; AVX512BW-NEXT:    vmovdqa64 %zmm2, %zmm3
8097 ; AVX512BW-NEXT:    vpermt2q %zmm1, %zmm4, %zmm3
8098 ; AVX512BW-NEXT:    vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
8099 ; AVX512BW-NEXT:    vpermt2q %zmm1, %zmm0, %zmm2
8100 ; AVX512BW-NEXT:    vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
8101 ; AVX512BW-NEXT:    vmovdqa64 832(%rdi), %zmm1
8102 ; AVX512BW-NEXT:    vmovdqa64 768(%rdi), %zmm2
8103 ; AVX512BW-NEXT:    vmovdqa64 %zmm2, %zmm3
8104 ; AVX512BW-NEXT:    vpermt2q %zmm1, %zmm8, %zmm3
8105 ; AVX512BW-NEXT:    vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
8106 ; AVX512BW-NEXT:    vmovdqa64 %zmm2, %zmm3
8107 ; AVX512BW-NEXT:    vpermt2q %zmm1, %zmm9, %zmm3
8108 ; AVX512BW-NEXT:    vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
8109 ; AVX512BW-NEXT:    vmovdqa64 %zmm1, %zmm3
8110 ; AVX512BW-NEXT:    vpermt2q %zmm2, %zmm10, %zmm3
8111 ; AVX512BW-NEXT:    vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
8112 ; AVX512BW-NEXT:    vmovdqa64 %zmm1, %zmm3
8113 ; AVX512BW-NEXT:    vpermt2q %zmm2, %zmm11, %zmm3
8114 ; AVX512BW-NEXT:    vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
8115 ; AVX512BW-NEXT:    vmovdqa64 %zmm2, %zmm3
8116 ; AVX512BW-NEXT:    vpermt2q %zmm1, %zmm4, %zmm3
8117 ; AVX512BW-NEXT:    vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
8118 ; AVX512BW-NEXT:    vpermt2q %zmm1, %zmm0, %zmm2
8119 ; AVX512BW-NEXT:    vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
8120 ; AVX512BW-NEXT:    vmovdqa64 1984(%rdi), %zmm1
8121 ; AVX512BW-NEXT:    vmovdqa64 1920(%rdi), %zmm2
8122 ; AVX512BW-NEXT:    vmovdqa64 %zmm2, %zmm3
8123 ; AVX512BW-NEXT:    vpermt2q %zmm1, %zmm8, %zmm3
8124 ; AVX512BW-NEXT:    vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
8125 ; AVX512BW-NEXT:    vmovdqa64 %zmm2, %zmm3
8126 ; AVX512BW-NEXT:    vpermt2q %zmm1, %zmm9, %zmm3
8127 ; AVX512BW-NEXT:    vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
8128 ; AVX512BW-NEXT:    vmovdqa64 %zmm1, %zmm3
8129 ; AVX512BW-NEXT:    vpermt2q %zmm2, %zmm10, %zmm3
8130 ; AVX512BW-NEXT:    vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
8131 ; AVX512BW-NEXT:    vmovdqa64 %zmm1, %zmm3
8132 ; AVX512BW-NEXT:    vpermt2q %zmm2, %zmm11, %zmm3
8133 ; AVX512BW-NEXT:    vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
8134 ; AVX512BW-NEXT:    vmovdqa64 %zmm2, %zmm3
8135 ; AVX512BW-NEXT:    vpermt2q %zmm1, %zmm4, %zmm3
8136 ; AVX512BW-NEXT:    vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
8137 ; AVX512BW-NEXT:    vpermt2q %zmm1, %zmm0, %zmm2
8138 ; AVX512BW-NEXT:    vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
8139 ; AVX512BW-NEXT:    vmovdqa64 1600(%rdi), %zmm1
8140 ; AVX512BW-NEXT:    vmovdqa64 1536(%rdi), %zmm30
8141 ; AVX512BW-NEXT:    vmovdqa64 %zmm30, %zmm2
8142 ; AVX512BW-NEXT:    vpermt2q %zmm1, %zmm8, %zmm2
8143 ; AVX512BW-NEXT:    vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
8144 ; AVX512BW-NEXT:    vmovdqa64 %zmm30, %zmm2
8145 ; AVX512BW-NEXT:    vpermt2q %zmm1, %zmm9, %zmm2
8146 ; AVX512BW-NEXT:    vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
8147 ; AVX512BW-NEXT:    vmovdqa64 %zmm1, %zmm2
8148 ; AVX512BW-NEXT:    vpermt2q %zmm30, %zmm10, %zmm2
8149 ; AVX512BW-NEXT:    vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
8150 ; AVX512BW-NEXT:    vmovdqa64 %zmm1, %zmm2
8151 ; AVX512BW-NEXT:    vpermt2q %zmm30, %zmm11, %zmm2
8152 ; AVX512BW-NEXT:    vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
8153 ; AVX512BW-NEXT:    vmovdqa64 %zmm30, %zmm2
8154 ; AVX512BW-NEXT:    vpermt2q %zmm1, %zmm4, %zmm2
8155 ; AVX512BW-NEXT:    vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
8156 ; AVX512BW-NEXT:    vpermt2q %zmm1, %zmm0, %zmm30
8157 ; AVX512BW-NEXT:    vmovdqa64 320(%rdi), %zmm26
8158 ; AVX512BW-NEXT:    vmovdqa64 256(%rdi), %zmm18
8159 ; AVX512BW-NEXT:    vmovdqa64 %zmm18, %zmm1
8160 ; AVX512BW-NEXT:    vpermt2q %zmm26, %zmm4, %zmm1
8161 ; AVX512BW-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
8162 ; AVX512BW-NEXT:    vmovdqa64 704(%rdi), %zmm21
8163 ; AVX512BW-NEXT:    vmovdqa64 640(%rdi), %zmm13
8164 ; AVX512BW-NEXT:    vmovdqa64 %zmm13, %zmm1
8165 ; AVX512BW-NEXT:    vpermt2q %zmm21, %zmm4, %zmm1
8166 ; AVX512BW-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
8167 ; AVX512BW-NEXT:    vmovdqa64 1088(%rdi), %zmm24
8168 ; AVX512BW-NEXT:    vmovdqa64 1024(%rdi), %zmm19
8169 ; AVX512BW-NEXT:    vmovdqa64 %zmm19, %zmm1
8170 ; AVX512BW-NEXT:    vpermt2q %zmm24, %zmm4, %zmm1
8171 ; AVX512BW-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
8172 ; AVX512BW-NEXT:    vmovdqa64 1472(%rdi), %zmm28
8173 ; AVX512BW-NEXT:    vmovdqa64 1408(%rdi), %zmm16
8174 ; AVX512BW-NEXT:    vmovdqa64 %zmm16, %zmm1
8175 ; AVX512BW-NEXT:    vpermt2q %zmm28, %zmm4, %zmm1
8176 ; AVX512BW-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
8177 ; AVX512BW-NEXT:    vmovdqa64 1856(%rdi), %zmm25
8178 ; AVX512BW-NEXT:    vmovdqa64 1792(%rdi), %zmm7
8179 ; AVX512BW-NEXT:    vmovdqa64 %zmm7, %zmm1
8180 ; AVX512BW-NEXT:    vpermt2q %zmm25, %zmm4, %zmm1
8181 ; AVX512BW-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
8182 ; AVX512BW-NEXT:    vmovdqa64 2240(%rdi), %zmm23
8183 ; AVX512BW-NEXT:    vmovdqa64 2176(%rdi), %zmm17
8184 ; AVX512BW-NEXT:    vmovdqa64 %zmm17, %zmm1
8185 ; AVX512BW-NEXT:    vpermt2q %zmm23, %zmm4, %zmm1
8186 ; AVX512BW-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
8187 ; AVX512BW-NEXT:    vmovdqa64 2624(%rdi), %zmm20
8188 ; AVX512BW-NEXT:    vmovdqa64 2560(%rdi), %zmm5
8189 ; AVX512BW-NEXT:    vmovdqa64 %zmm5, %zmm1
8190 ; AVX512BW-NEXT:    vpermt2q %zmm20, %zmm4, %zmm1
8191 ; AVX512BW-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
8192 ; AVX512BW-NEXT:    vmovdqa64 2368(%rdi), %zmm1
8193 ; AVX512BW-NEXT:    vmovdqa64 2304(%rdi), %zmm22
8194 ; AVX512BW-NEXT:    vmovdqa64 %zmm22, %zmm29
8195 ; AVX512BW-NEXT:    vpermt2q %zmm1, %zmm8, %zmm29
8196 ; AVX512BW-NEXT:    vmovdqa64 3008(%rdi), %zmm14
8197 ; AVX512BW-NEXT:    vmovdqa64 2944(%rdi), %zmm31
8198 ; AVX512BW-NEXT:    vmovdqa64 %zmm31, %zmm2
8199 ; AVX512BW-NEXT:    vpermt2q %zmm14, %zmm4, %zmm2
8200 ; AVX512BW-NEXT:    vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
8201 ; AVX512BW-NEXT:    vmovdqa64 2752(%rdi), %zmm2
8202 ; AVX512BW-NEXT:    vmovdqa64 2688(%rdi), %zmm12
8203 ; AVX512BW-NEXT:    vpermi2q %zmm2, %zmm12, %zmm8
8204 ; AVX512BW-NEXT:    vmovdqa64 %zmm22, %zmm3
8205 ; AVX512BW-NEXT:    vpermt2q %zmm1, %zmm9, %zmm3
8206 ; AVX512BW-NEXT:    vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
8207 ; AVX512BW-NEXT:    vpermi2q %zmm2, %zmm12, %zmm9
8208 ; AVX512BW-NEXT:    vmovdqa64 %zmm1, %zmm3
8209 ; AVX512BW-NEXT:    vpermt2q %zmm22, %zmm10, %zmm3
8210 ; AVX512BW-NEXT:    vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
8211 ; AVX512BW-NEXT:    vpermi2q %zmm12, %zmm2, %zmm10
8212 ; AVX512BW-NEXT:    vmovdqa64 %zmm1, %zmm3
8213 ; AVX512BW-NEXT:    vpermt2q %zmm22, %zmm11, %zmm3
8214 ; AVX512BW-NEXT:    vmovdqu64 %zmm3, (%rsp) # 64-byte Spill
8215 ; AVX512BW-NEXT:    vpermi2q %zmm12, %zmm2, %zmm11
8216 ; AVX512BW-NEXT:    vmovdqa64 %zmm22, %zmm3
8217 ; AVX512BW-NEXT:    vpermt2q %zmm1, %zmm4, %zmm3
8218 ; AVX512BW-NEXT:    vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
8219 ; AVX512BW-NEXT:    vpermi2q %zmm2, %zmm12, %zmm4
8220 ; AVX512BW-NEXT:    vpermt2q %zmm2, %zmm0, %zmm12
8221 ; AVX512BW-NEXT:    vpermt2q %zmm1, %zmm0, %zmm22
8222 ; AVX512BW-NEXT:    vmovdqa64 %zmm5, %zmm1
8223 ; AVX512BW-NEXT:    vpermt2q %zmm20, %zmm0, %zmm1
8224 ; AVX512BW-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
8225 ; AVX512BW-NEXT:    vmovdqa64 %zmm13, %zmm1
8226 ; AVX512BW-NEXT:    vpermt2q %zmm21, %zmm0, %zmm1
8227 ; AVX512BW-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
8228 ; AVX512BW-NEXT:    vmovdqa64 %zmm18, %zmm1
8229 ; AVX512BW-NEXT:    vpermt2q %zmm26, %zmm0, %zmm1
8230 ; AVX512BW-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
8231 ; AVX512BW-NEXT:    vmovdqa64 %zmm16, %zmm1
8232 ; AVX512BW-NEXT:    vpermt2q %zmm28, %zmm0, %zmm1
8233 ; AVX512BW-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
8234 ; AVX512BW-NEXT:    vmovdqa64 %zmm19, %zmm1
8235 ; AVX512BW-NEXT:    vpermt2q %zmm24, %zmm0, %zmm1
8236 ; AVX512BW-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
8237 ; AVX512BW-NEXT:    vmovdqa64 %zmm17, %zmm1
8238 ; AVX512BW-NEXT:    vpermt2q %zmm23, %zmm0, %zmm1
8239 ; AVX512BW-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
8240 ; AVX512BW-NEXT:    vmovdqa64 %zmm7, %zmm1
8241 ; AVX512BW-NEXT:    vpermt2q %zmm25, %zmm0, %zmm1
8242 ; AVX512BW-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
8243 ; AVX512BW-NEXT:    vmovdqa64 %zmm31, %zmm1
8244 ; AVX512BW-NEXT:    vpermt2q %zmm14, %zmm0, %zmm1
8245 ; AVX512BW-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
8246 ; AVX512BW-NEXT:    vbroadcasti64x4 {{.*#+}} zmm1 = [0,0,6,12,0,0,6,12]
8247 ; AVX512BW-NEXT:    # zmm1 = mem[0,1,2,3,0,1,2,3]
8248 ; AVX512BW-NEXT:    vmovdqa64 %zmm13, %zmm0
8249 ; AVX512BW-NEXT:    vpermt2q %zmm21, %zmm1, %zmm0
8250 ; AVX512BW-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
8251 ; AVX512BW-NEXT:    vbroadcasti64x4 {{.*#+}} zmm2 = [0,1,7,13,0,1,7,13]
8252 ; AVX512BW-NEXT:    # zmm2 = mem[0,1,2,3,0,1,2,3]
8253 ; AVX512BW-NEXT:    vmovdqa64 %zmm13, %zmm0
8254 ; AVX512BW-NEXT:    vpermt2q %zmm21, %zmm2, %zmm0
8255 ; AVX512BW-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
8256 ; AVX512BW-NEXT:    vbroadcasti64x4 {{.*#+}} zmm3 = [0,10,0,6,0,10,0,6]
8257 ; AVX512BW-NEXT:    # zmm3 = mem[0,1,2,3,0,1,2,3]
8258 ; AVX512BW-NEXT:    vmovdqa64 %zmm21, %zmm0
8259 ; AVX512BW-NEXT:    vpermt2q %zmm13, %zmm3, %zmm0
8260 ; AVX512BW-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
8261 ; AVX512BW-NEXT:    vbroadcasti64x4 {{.*#+}} zmm0 = [0,11,1,7,0,11,1,7]
8262 ; AVX512BW-NEXT:    # zmm0 = mem[0,1,2,3,0,1,2,3]
8263 ; AVX512BW-NEXT:    vpermt2q %zmm13, %zmm0, %zmm21
8264 ; AVX512BW-NEXT:    vmovdqa64 %zmm18, %zmm6
8265 ; AVX512BW-NEXT:    vpermt2q %zmm26, %zmm1, %zmm6
8266 ; AVX512BW-NEXT:    vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
8267 ; AVX512BW-NEXT:    vmovdqa64 %zmm18, %zmm6
8268 ; AVX512BW-NEXT:    vpermt2q %zmm26, %zmm2, %zmm6
8269 ; AVX512BW-NEXT:    vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
8270 ; AVX512BW-NEXT:    vmovdqa64 %zmm26, %zmm6
8271 ; AVX512BW-NEXT:    vpermt2q %zmm18, %zmm3, %zmm6
8272 ; AVX512BW-NEXT:    vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
8273 ; AVX512BW-NEXT:    vpermt2q %zmm18, %zmm0, %zmm26
8274 ; AVX512BW-NEXT:    vmovdqa64 %zmm16, %zmm27
8275 ; AVX512BW-NEXT:    vpermt2q %zmm28, %zmm1, %zmm27
8276 ; AVX512BW-NEXT:    vmovdqa64 %zmm16, %zmm6
8277 ; AVX512BW-NEXT:    vpermt2q %zmm28, %zmm2, %zmm6
8278 ; AVX512BW-NEXT:    vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
8279 ; AVX512BW-NEXT:    vmovdqa64 %zmm28, %zmm6
8280 ; AVX512BW-NEXT:    vpermt2q %zmm16, %zmm3, %zmm6
8281 ; AVX512BW-NEXT:    vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
8282 ; AVX512BW-NEXT:    vpermt2q %zmm16, %zmm0, %zmm28
8283 ; AVX512BW-NEXT:    vmovdqa64 %zmm19, %zmm18
8284 ; AVX512BW-NEXT:    vpermt2q %zmm24, %zmm1, %zmm18
8285 ; AVX512BW-NEXT:    vmovdqa64 %zmm19, %zmm6
8286 ; AVX512BW-NEXT:    vpermt2q %zmm24, %zmm2, %zmm6
8287 ; AVX512BW-NEXT:    vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
8288 ; AVX512BW-NEXT:    vmovdqa64 %zmm24, %zmm6
8289 ; AVX512BW-NEXT:    vpermt2q %zmm19, %zmm3, %zmm6
8290 ; AVX512BW-NEXT:    vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
8291 ; AVX512BW-NEXT:    vpermt2q %zmm19, %zmm0, %zmm24
8292 ; AVX512BW-NEXT:    vmovdqa64 %zmm17, %zmm15
8293 ; AVX512BW-NEXT:    vpermt2q %zmm23, %zmm1, %zmm15
8294 ; AVX512BW-NEXT:    vmovdqa64 %zmm17, %zmm19
8295 ; AVX512BW-NEXT:    vpermt2q %zmm23, %zmm2, %zmm19
8296 ; AVX512BW-NEXT:    vmovdqa64 %zmm23, %zmm6
8297 ; AVX512BW-NEXT:    vpermt2q %zmm17, %zmm3, %zmm6
8298 ; AVX512BW-NEXT:    vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
8299 ; AVX512BW-NEXT:    vpermt2q %zmm17, %zmm0, %zmm23
8300 ; AVX512BW-NEXT:    vmovdqa64 %zmm7, %zmm13
8301 ; AVX512BW-NEXT:    vpermt2q %zmm25, %zmm1, %zmm13
8302 ; AVX512BW-NEXT:    vmovdqa64 %zmm7, %zmm17
8303 ; AVX512BW-NEXT:    vpermt2q %zmm25, %zmm2, %zmm17
8304 ; AVX512BW-NEXT:    vmovdqa64 %zmm25, %zmm6
8305 ; AVX512BW-NEXT:    vpermt2q %zmm7, %zmm3, %zmm6
8306 ; AVX512BW-NEXT:    vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
8307 ; AVX512BW-NEXT:    vpermt2q %zmm7, %zmm0, %zmm25
8308 ; AVX512BW-NEXT:    vmovdqa64 %zmm5, %zmm6
8309 ; AVX512BW-NEXT:    vpermt2q %zmm20, %zmm1, %zmm6
8310 ; AVX512BW-NEXT:    vpermi2q %zmm14, %zmm31, %zmm1
8311 ; AVX512BW-NEXT:    vmovdqa64 %zmm5, %zmm7
8312 ; AVX512BW-NEXT:    vpermt2q %zmm20, %zmm2, %zmm7
8313 ; AVX512BW-NEXT:    vpermi2q %zmm14, %zmm31, %zmm2
8314 ; AVX512BW-NEXT:    vmovdqa64 %zmm20, %zmm16
8315 ; AVX512BW-NEXT:    vpermt2q %zmm5, %zmm3, %zmm16
8316 ; AVX512BW-NEXT:    vpermi2q %zmm31, %zmm14, %zmm3
8317 ; AVX512BW-NEXT:    vpermt2q %zmm31, %zmm0, %zmm14
8318 ; AVX512BW-NEXT:    vpermt2q %zmm5, %zmm0, %zmm20
8319 ; AVX512BW-NEXT:    movb $56, %al
8320 ; AVX512BW-NEXT:    kmovd %eax, %k1
8321 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
8322 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm5 # 64-byte Reload
8323 ; AVX512BW-NEXT:    vmovdqa64 %zmm0, %zmm5 {%k1}
8324 ; AVX512BW-NEXT:    movb $-64, %al
8325 ; AVX512BW-NEXT:    kmovd %eax, %k2
8326 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
8327 ; AVX512BW-NEXT:    vmovdqa64 %zmm0, %zmm5 {%k2}
8328 ; AVX512BW-NEXT:    vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
8329 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
8330 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm5 # 64-byte Reload
8331 ; AVX512BW-NEXT:    vmovdqa64 %zmm0, %zmm5 {%k1}
8332 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
8333 ; AVX512BW-NEXT:    vmovdqa64 %zmm0, %zmm5 {%k2}
8334 ; AVX512BW-NEXT:    vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
8335 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
8336 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm5 # 64-byte Reload
8337 ; AVX512BW-NEXT:    vmovdqa64 %zmm0, %zmm5 {%k1}
8338 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
8339 ; AVX512BW-NEXT:    vmovdqa64 %zmm0, %zmm5 {%k2}
8340 ; AVX512BW-NEXT:    vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
8341 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
8342 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm5 # 64-byte Reload
8343 ; AVX512BW-NEXT:    vmovdqa64 %zmm0, %zmm5 {%k1}
8344 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
8345 ; AVX512BW-NEXT:    vmovdqa64 %zmm0, %zmm5 {%k2}
8346 ; AVX512BW-NEXT:    vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
8347 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
8348 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm5 # 64-byte Reload
8349 ; AVX512BW-NEXT:    vmovdqa64 %zmm0, %zmm5 {%k1}
8350 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
8351 ; AVX512BW-NEXT:    vmovdqa64 %zmm0, %zmm5 {%k2}
8352 ; AVX512BW-NEXT:    vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
8353 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
8354 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm5 # 64-byte Reload
8355 ; AVX512BW-NEXT:    vmovdqa64 %zmm0, %zmm5 {%k1}
8356 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
8357 ; AVX512BW-NEXT:    vmovdqa64 %zmm0, %zmm5 {%k2}
8358 ; AVX512BW-NEXT:    vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
8359 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
8360 ; AVX512BW-NEXT:    vmovdqa64 %zmm0, %zmm29 {%k1}
8361 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
8362 ; AVX512BW-NEXT:    vmovdqa64 %zmm0, %zmm29 {%k2}
8363 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
8364 ; AVX512BW-NEXT:    vmovdqa64 %zmm0, %zmm8 {%k1}
8365 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
8366 ; AVX512BW-NEXT:    vmovdqa64 %zmm0, %zmm8 {%k2}
8367 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
8368 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm5 # 64-byte Reload
8369 ; AVX512BW-NEXT:    vmovdqa64 %zmm0, %zmm5 {%k1}
8370 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
8371 ; AVX512BW-NEXT:    vmovdqa64 %zmm0, %zmm5 {%k2}
8372 ; AVX512BW-NEXT:    vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
8373 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
8374 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm5 # 64-byte Reload
8375 ; AVX512BW-NEXT:    vmovdqa64 %zmm0, %zmm5 {%k1}
8376 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
8377 ; AVX512BW-NEXT:    vmovdqa64 %zmm0, %zmm5 {%k2}
8378 ; AVX512BW-NEXT:    vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
8379 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
8380 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm5 # 64-byte Reload
8381 ; AVX512BW-NEXT:    vmovdqa64 %zmm0, %zmm5 {%k1}
8382 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
8383 ; AVX512BW-NEXT:    vmovdqa64 %zmm0, %zmm5 {%k2}
8384 ; AVX512BW-NEXT:    vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
8385 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
8386 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm5 # 64-byte Reload
8387 ; AVX512BW-NEXT:    vmovdqa64 %zmm0, %zmm5 {%k1}
8388 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
8389 ; AVX512BW-NEXT:    vmovdqa64 %zmm0, %zmm5 {%k2}
8390 ; AVX512BW-NEXT:    vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
8391 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
8392 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm5 # 64-byte Reload
8393 ; AVX512BW-NEXT:    vmovdqa64 %zmm0, %zmm5 {%k1}
8394 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
8395 ; AVX512BW-NEXT:    vmovdqa64 %zmm0, %zmm5 {%k2}
8396 ; AVX512BW-NEXT:    vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
8397 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
8398 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm5 # 64-byte Reload
8399 ; AVX512BW-NEXT:    vmovdqa64 %zmm0, %zmm5 {%k1}
8400 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
8401 ; AVX512BW-NEXT:    vmovdqa64 %zmm0, %zmm5 {%k2}
8402 ; AVX512BW-NEXT:    vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
8403 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
8404 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm5 # 64-byte Reload
8405 ; AVX512BW-NEXT:    vmovdqa64 %zmm0, %zmm5 {%k1}
8406 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
8407 ; AVX512BW-NEXT:    vmovdqa64 %zmm0, %zmm5 {%k2}
8408 ; AVX512BW-NEXT:    vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
8409 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
8410 ; AVX512BW-NEXT:    vmovdqa64 %zmm0, %zmm9 {%k1}
8411 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
8412 ; AVX512BW-NEXT:    vmovdqa64 %zmm0, %zmm9 {%k2}
8413 ; AVX512BW-NEXT:    movb $24, %al
8414 ; AVX512BW-NEXT:    kmovd %eax, %k2
8415 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
8416 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm5 # 64-byte Reload
8417 ; AVX512BW-NEXT:    vmovdqa64 %zmm0, %zmm5 {%k2}
8418 ; AVX512BW-NEXT:    movb $-32, %al
8419 ; AVX512BW-NEXT:    kmovd %eax, %k1
8420 ; AVX512BW-NEXT:    vmovdqa64 %zmm6, %zmm5 {%k1}
8421 ; AVX512BW-NEXT:    vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
8422 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
8423 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm5 # 64-byte Reload
8424 ; AVX512BW-NEXT:    vmovdqa64 %zmm0, %zmm5 {%k2}
8425 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
8426 ; AVX512BW-NEXT:    vmovdqa64 %zmm0, %zmm5 {%k1}
8427 ; AVX512BW-NEXT:    vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
8428 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
8429 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm5 # 64-byte Reload
8430 ; AVX512BW-NEXT:    vmovdqa64 %zmm0, %zmm5 {%k2}
8431 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
8432 ; AVX512BW-NEXT:    vmovdqa64 %zmm0, %zmm5 {%k1}
8433 ; AVX512BW-NEXT:    vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
8434 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
8435 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm5 # 64-byte Reload
8436 ; AVX512BW-NEXT:    vmovdqa64 %zmm0, %zmm5 {%k2}
8437 ; AVX512BW-NEXT:    vmovdqa64 %zmm27, %zmm5 {%k1}
8438 ; AVX512BW-NEXT:    vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
8439 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
8440 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm5 # 64-byte Reload
8441 ; AVX512BW-NEXT:    vmovdqa64 %zmm0, %zmm5 {%k2}
8442 ; AVX512BW-NEXT:    vmovdqa64 %zmm18, %zmm5 {%k1}
8443 ; AVX512BW-NEXT:    vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
8444 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
8445 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm5 # 64-byte Reload
8446 ; AVX512BW-NEXT:    vmovdqa64 %zmm0, %zmm5 {%k2}
8447 ; AVX512BW-NEXT:    vmovdqa64 %zmm15, %zmm5 {%k1}
8448 ; AVX512BW-NEXT:    vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
8449 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
8450 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm5 # 64-byte Reload
8451 ; AVX512BW-NEXT:    vmovdqa64 %zmm0, %zmm5 {%k2}
8452 ; AVX512BW-NEXT:    vmovdqa64 %zmm13, %zmm5 {%k1}
8453 ; AVX512BW-NEXT:    vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
8454 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
8455 ; AVX512BW-NEXT:    vmovdqa64 %zmm0, %zmm10 {%k2}
8456 ; AVX512BW-NEXT:    vmovdqa64 %zmm1, %zmm10 {%k1}
8457 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
8458 ; AVX512BW-NEXT:    vmovdqu64 (%rsp), %zmm1 # 64-byte Reload
8459 ; AVX512BW-NEXT:    vmovdqa64 %zmm0, %zmm1 {%k2}
8460 ; AVX512BW-NEXT:    vmovdqa64 %zmm7, %zmm1 {%k1}
8461 ; AVX512BW-NEXT:    vmovdqu64 %zmm1, (%rsp) # 64-byte Spill
8462 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
8463 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload
8464 ; AVX512BW-NEXT:    vmovdqa64 %zmm0, %zmm1 {%k2}
8465 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
8466 ; AVX512BW-NEXT:    vmovdqa64 %zmm0, %zmm1 {%k1}
8467 ; AVX512BW-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
8468 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
8469 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload
8470 ; AVX512BW-NEXT:    vmovdqa64 %zmm0, %zmm1 {%k2}
8471 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
8472 ; AVX512BW-NEXT:    vmovdqa64 %zmm0, %zmm1 {%k1}
8473 ; AVX512BW-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
8474 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
8475 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload
8476 ; AVX512BW-NEXT:    vmovdqa64 %zmm0, %zmm1 {%k2}
8477 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
8478 ; AVX512BW-NEXT:    vmovdqa64 %zmm0, %zmm1 {%k1}
8479 ; AVX512BW-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
8480 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
8481 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload
8482 ; AVX512BW-NEXT:    vmovdqa64 %zmm0, %zmm1 {%k2}
8483 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
8484 ; AVX512BW-NEXT:    vmovdqa64 %zmm0, %zmm1 {%k1}
8485 ; AVX512BW-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
8486 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
8487 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm31 # 64-byte Reload
8488 ; AVX512BW-NEXT:    vmovdqa64 %zmm0, %zmm31 {%k2}
8489 ; AVX512BW-NEXT:    vmovdqa64 %zmm19, %zmm31 {%k1}
8490 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
8491 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm27 # 64-byte Reload
8492 ; AVX512BW-NEXT:    vmovdqa64 %zmm0, %zmm27 {%k2}
8493 ; AVX512BW-NEXT:    vmovdqa64 %zmm17, %zmm27 {%k1}
8494 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
8495 ; AVX512BW-NEXT:    vmovdqa64 %zmm0, %zmm11 {%k2}
8496 ; AVX512BW-NEXT:    vmovdqa64 %zmm2, %zmm11 {%k1}
8497 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
8498 ; AVX512BW-NEXT:    vinserti32x4 $0, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm0 # 16-byte Folded Reload
8499 ; AVX512BW-NEXT:    vmovdqa64 %zmm16, %zmm0 {%k1}
8500 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload
8501 ; AVX512BW-NEXT:    vinserti32x4 $0, {{[-0-9]+}}(%r{{[sb]}}p), %zmm1, %zmm1 # 16-byte Folded Reload
8502 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload
8503 ; AVX512BW-NEXT:    vmovdqa64 %zmm2, %zmm1 {%k1}
8504 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload
8505 ; AVX512BW-NEXT:    vinserti32x4 $0, {{[-0-9]+}}(%r{{[sb]}}p), %zmm2, %zmm5 # 16-byte Folded Reload
8506 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload
8507 ; AVX512BW-NEXT:    vmovdqa64 %zmm2, %zmm5 {%k1}
8508 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload
8509 ; AVX512BW-NEXT:    vinserti32x4 $0, {{[-0-9]+}}(%r{{[sb]}}p), %zmm2, %zmm6 # 16-byte Folded Reload
8510 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload
8511 ; AVX512BW-NEXT:    vmovdqa64 %zmm2, %zmm6 {%k1}
8512 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload
8513 ; AVX512BW-NEXT:    vinserti32x4 $0, {{[-0-9]+}}(%r{{[sb]}}p), %zmm2, %zmm7 # 16-byte Folded Reload
8514 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload
8515 ; AVX512BW-NEXT:    vmovdqa64 %zmm2, %zmm7 {%k1}
8516 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload
8517 ; AVX512BW-NEXT:    vinserti32x4 $0, {{[-0-9]+}}(%r{{[sb]}}p), %zmm2, %zmm13 # 16-byte Folded Reload
8518 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload
8519 ; AVX512BW-NEXT:    vmovdqa64 %zmm2, %zmm13 {%k1}
8520 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload
8521 ; AVX512BW-NEXT:    vinserti32x4 $0, {{[-0-9]+}}(%r{{[sb]}}p), %zmm2, %zmm15 # 16-byte Folded Reload
8522 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload
8523 ; AVX512BW-NEXT:    vmovdqa64 %zmm2, %zmm15 {%k1}
8524 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload
8525 ; AVX512BW-NEXT:    vinserti32x4 $0, %xmm4, %zmm2, %zmm4
8526 ; AVX512BW-NEXT:    vmovdqa64 %zmm3, %zmm4 {%k1}
8527 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload
8528 ; AVX512BW-NEXT:    vinserti32x4 $0, {{[-0-9]+}}(%r{{[sb]}}p), %zmm2, %zmm2 # 16-byte Folded Reload
8529 ; AVX512BW-NEXT:    vmovdqa64 %zmm21, %zmm2 {%k1}
8530 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload
8531 ; AVX512BW-NEXT:    vinserti32x4 $0, {{[-0-9]+}}(%r{{[sb]}}p), %zmm3, %zmm3 # 16-byte Folded Reload
8532 ; AVX512BW-NEXT:    vmovdqa64 %zmm26, %zmm3 {%k1}
8533 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm16 # 64-byte Reload
8534 ; AVX512BW-NEXT:    vinserti32x4 $0, {{[-0-9]+}}(%r{{[sb]}}p), %zmm16, %zmm16 # 16-byte Folded Reload
8535 ; AVX512BW-NEXT:    vmovdqa64 %zmm28, %zmm16 {%k1}
8536 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm17 # 64-byte Reload
8537 ; AVX512BW-NEXT:    vinserti32x4 $0, {{[-0-9]+}}(%r{{[sb]}}p), %zmm17, %zmm17 # 16-byte Folded Reload
8538 ; AVX512BW-NEXT:    vmovdqa64 %zmm24, %zmm17 {%k1}
8539 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm18 # 64-byte Reload
8540 ; AVX512BW-NEXT:    vinserti32x4 $0, {{[-0-9]+}}(%r{{[sb]}}p), %zmm18, %zmm18 # 16-byte Folded Reload
8541 ; AVX512BW-NEXT:    vmovdqa64 %zmm23, %zmm18 {%k1}
8542 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm19 # 64-byte Reload
8543 ; AVX512BW-NEXT:    vinserti32x4 $0, %xmm30, %zmm19, %zmm19
8544 ; AVX512BW-NEXT:    vmovdqa64 %zmm25, %zmm19 {%k1}
8545 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm21 # 64-byte Reload
8546 ; AVX512BW-NEXT:    vinserti32x4 $0, %xmm12, %zmm21, %zmm12
8547 ; AVX512BW-NEXT:    vmovdqa64 %zmm14, %zmm12 {%k1}
8548 ; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm14 # 64-byte Reload
8549 ; AVX512BW-NEXT:    vinserti32x4 $0, %xmm22, %zmm14, %zmm14
8550 ; AVX512BW-NEXT:    vmovdqa64 %zmm20, %zmm14 {%k1}
8551 ; AVX512BW-NEXT:    vmovdqa64 %zmm8, 448(%rsi)
8552 ; AVX512BW-NEXT:    vmovdqa64 %zmm29, 384(%rsi)
8553 ; AVX512BW-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload
8554 ; AVX512BW-NEXT:    vmovaps %zmm8, 320(%rsi)
8555 ; AVX512BW-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload
8556 ; AVX512BW-NEXT:    vmovaps %zmm8, 256(%rsi)
8557 ; AVX512BW-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload
8558 ; AVX512BW-NEXT:    vmovaps %zmm8, 192(%rsi)
8559 ; AVX512BW-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload
8560 ; AVX512BW-NEXT:    vmovaps %zmm8, 128(%rsi)
8561 ; AVX512BW-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload
8562 ; AVX512BW-NEXT:    vmovaps %zmm8, 64(%rsi)
8563 ; AVX512BW-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload
8564 ; AVX512BW-NEXT:    vmovaps %zmm8, (%rsi)
8565 ; AVX512BW-NEXT:    vmovdqa64 %zmm9, 448(%rdx)
8566 ; AVX512BW-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload
8567 ; AVX512BW-NEXT:    vmovaps %zmm8, 256(%rdx)
8568 ; AVX512BW-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload
8569 ; AVX512BW-NEXT:    vmovaps %zmm8, 320(%rdx)
8570 ; AVX512BW-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload
8571 ; AVX512BW-NEXT:    vmovaps %zmm8, 128(%rdx)
8572 ; AVX512BW-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload
8573 ; AVX512BW-NEXT:    vmovaps %zmm8, 192(%rdx)
8574 ; AVX512BW-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload
8575 ; AVX512BW-NEXT:    vmovaps %zmm8, (%rdx)
8576 ; AVX512BW-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload
8577 ; AVX512BW-NEXT:    vmovaps %zmm8, 64(%rdx)
8578 ; AVX512BW-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload
8579 ; AVX512BW-NEXT:    vmovaps %zmm8, 384(%rdx)
8580 ; AVX512BW-NEXT:    vmovdqa64 %zmm10, 448(%rcx)
8581 ; AVX512BW-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload
8582 ; AVX512BW-NEXT:    vmovaps %zmm8, 256(%rcx)
8583 ; AVX512BW-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload
8584 ; AVX512BW-NEXT:    vmovaps %zmm8, 320(%rcx)
8585 ; AVX512BW-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload
8586 ; AVX512BW-NEXT:    vmovaps %zmm8, 128(%rcx)
8587 ; AVX512BW-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload
8588 ; AVX512BW-NEXT:    vmovaps %zmm8, 192(%rcx)
8589 ; AVX512BW-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload
8590 ; AVX512BW-NEXT:    vmovaps %zmm8, (%rcx)
8591 ; AVX512BW-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload
8592 ; AVX512BW-NEXT:    vmovaps %zmm8, 64(%rcx)
8593 ; AVX512BW-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload
8594 ; AVX512BW-NEXT:    vmovaps %zmm8, 384(%rcx)
8595 ; AVX512BW-NEXT:    vmovdqa64 %zmm11, 448(%r8)
8596 ; AVX512BW-NEXT:    vmovdqa64 %zmm27, 256(%r8)
8597 ; AVX512BW-NEXT:    vmovdqa64 %zmm31, 320(%r8)
8598 ; AVX512BW-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload
8599 ; AVX512BW-NEXT:    vmovaps %zmm8, 128(%r8)
8600 ; AVX512BW-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload
8601 ; AVX512BW-NEXT:    vmovaps %zmm8, 192(%r8)
8602 ; AVX512BW-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload
8603 ; AVX512BW-NEXT:    vmovaps %zmm8, (%r8)
8604 ; AVX512BW-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload
8605 ; AVX512BW-NEXT:    vmovaps %zmm8, 64(%r8)
8606 ; AVX512BW-NEXT:    vmovups (%rsp), %zmm8 # 64-byte Reload
8607 ; AVX512BW-NEXT:    vmovaps %zmm8, 384(%r8)
8608 ; AVX512BW-NEXT:    vmovdqa64 %zmm4, 448(%r9)
8609 ; AVX512BW-NEXT:    vmovdqa64 %zmm15, 256(%r9)
8610 ; AVX512BW-NEXT:    vmovdqa64 %zmm13, 320(%r9)
8611 ; AVX512BW-NEXT:    vmovdqa64 %zmm7, 128(%r9)
8612 ; AVX512BW-NEXT:    vmovdqa64 %zmm6, 192(%r9)
8613 ; AVX512BW-NEXT:    vmovdqa64 %zmm5, (%r9)
8614 ; AVX512BW-NEXT:    vmovdqa64 %zmm1, 64(%r9)
8615 ; AVX512BW-NEXT:    vmovdqa64 %zmm0, 384(%r9)
8616 ; AVX512BW-NEXT:    movq {{[0-9]+}}(%rsp), %rax
8617 ; AVX512BW-NEXT:    vmovdqa64 %zmm14, 384(%rax)
8618 ; AVX512BW-NEXT:    vmovdqa64 %zmm12, 448(%rax)
8619 ; AVX512BW-NEXT:    vmovdqa64 %zmm19, 256(%rax)
8620 ; AVX512BW-NEXT:    vmovdqa64 %zmm18, 320(%rax)
8621 ; AVX512BW-NEXT:    vmovdqa64 %zmm17, 128(%rax)
8622 ; AVX512BW-NEXT:    vmovdqa64 %zmm16, 192(%rax)
8623 ; AVX512BW-NEXT:    vmovdqa64 %zmm3, (%rax)
8624 ; AVX512BW-NEXT:    vmovdqa64 %zmm2, 64(%rax)
8625 ; AVX512BW-NEXT:    addq $7240, %rsp # imm = 0x1C48
8626 ; AVX512BW-NEXT:    vzeroupper
8627 ; AVX512BW-NEXT:    retq
8628   %wide.vec = load <384 x i64>, ptr %in.vec, align 64
8629   %strided.vec0 = shufflevector <384 x i64> %wide.vec, <384 x i64> poison, <64 x i32> <i32 0, i32 6, i32 12, i32 18, i32 24, i32 30, i32 36, i32 42, i32 48, i32 54, i32 60, i32 66, i32 72, i32 78, i32 84, i32 90, i32 96, i32 102, i32 108, i32 114, i32 120, i32 126, i32 132, i32 138, i32 144, i32 150, i32 156, i32 162, i32 168, i32 174, i32 180, i32 186, i32 192, i32 198, i32 204, i32 210, i32 216, i32 222, i32 228, i32 234, i32 240, i32 246, i32 252, i32 258, i32 264, i32 270, i32 276, i32 282, i32 288, i32 294, i32 300, i32 306, i32 312, i32 318, i32 324, i32 330, i32 336, i32 342, i32 348, i32 354, i32 360, i32 366, i32 372, i32 378>
8630   %strided.vec1 = shufflevector <384 x i64> %wide.vec, <384 x i64> poison, <64 x i32> <i32 1, i32 7, i32 13, i32 19, i32 25, i32 31, i32 37, i32 43, i32 49, i32 55, i32 61, i32 67, i32 73, i32 79, i32 85, i32 91, i32 97, i32 103, i32 109, i32 115, i32 121, i32 127, i32 133, i32 139, i32 145, i32 151, i32 157, i32 163, i32 169, i32 175, i32 181, i32 187, i32 193, i32 199, i32 205, i32 211, i32 217, i32 223, i32 229, i32 235, i32 241, i32 247, i32 253, i32 259, i32 265, i32 271, i32 277, i32 283, i32 289, i32 295, i32 301, i32 307, i32 313, i32 319, i32 325, i32 331, i32 337, i32 343, i32 349, i32 355, i32 361, i32 367, i32 373, i32 379>
8631   %strided.vec2 = shufflevector <384 x i64> %wide.vec, <384 x i64> poison, <64 x i32> <i32 2, i32 8, i32 14, i32 20, i32 26, i32 32, i32 38, i32 44, i32 50, i32 56, i32 62, i32 68, i32 74, i32 80, i32 86, i32 92, i32 98, i32 104, i32 110, i32 116, i32 122, i32 128, i32 134, i32 140, i32 146, i32 152, i32 158, i32 164, i32 170, i32 176, i32 182, i32 188, i32 194, i32 200, i32 206, i32 212, i32 218, i32 224, i32 230, i32 236, i32 242, i32 248, i32 254, i32 260, i32 266, i32 272, i32 278, i32 284, i32 290, i32 296, i32 302, i32 308, i32 314, i32 320, i32 326, i32 332, i32 338, i32 344, i32 350, i32 356, i32 362, i32 368, i32 374, i32 380>
8632   %strided.vec3 = shufflevector <384 x i64> %wide.vec, <384 x i64> poison, <64 x i32> <i32 3, i32 9, i32 15, i32 21, i32 27, i32 33, i32 39, i32 45, i32 51, i32 57, i32 63, i32 69, i32 75, i32 81, i32 87, i32 93, i32 99, i32 105, i32 111, i32 117, i32 123, i32 129, i32 135, i32 141, i32 147, i32 153, i32 159, i32 165, i32 171, i32 177, i32 183, i32 189, i32 195, i32 201, i32 207, i32 213, i32 219, i32 225, i32 231, i32 237, i32 243, i32 249, i32 255, i32 261, i32 267, i32 273, i32 279, i32 285, i32 291, i32 297, i32 303, i32 309, i32 315, i32 321, i32 327, i32 333, i32 339, i32 345, i32 351, i32 357, i32 363, i32 369, i32 375, i32 381>
8633   %strided.vec4 = shufflevector <384 x i64> %wide.vec, <384 x i64> poison, <64 x i32> <i32 4, i32 10, i32 16, i32 22, i32 28, i32 34, i32 40, i32 46, i32 52, i32 58, i32 64, i32 70, i32 76, i32 82, i32 88, i32 94, i32 100, i32 106, i32 112, i32 118, i32 124, i32 130, i32 136, i32 142, i32 148, i32 154, i32 160, i32 166, i32 172, i32 178, i32 184, i32 190, i32 196, i32 202, i32 208, i32 214, i32 220, i32 226, i32 232, i32 238, i32 244, i32 250, i32 256, i32 262, i32 268, i32 274, i32 280, i32 286, i32 292, i32 298, i32 304, i32 310, i32 316, i32 322, i32 328, i32 334, i32 340, i32 346, i32 352, i32 358, i32 364, i32 370, i32 376, i32 382>
8634   %strided.vec5 = shufflevector <384 x i64> %wide.vec, <384 x i64> poison, <64 x i32> <i32 5, i32 11, i32 17, i32 23, i32 29, i32 35, i32 41, i32 47, i32 53, i32 59, i32 65, i32 71, i32 77, i32 83, i32 89, i32 95, i32 101, i32 107, i32 113, i32 119, i32 125, i32 131, i32 137, i32 143, i32 149, i32 155, i32 161, i32 167, i32 173, i32 179, i32 185, i32 191, i32 197, i32 203, i32 209, i32 215, i32 221, i32 227, i32 233, i32 239, i32 245, i32 251, i32 257, i32 263, i32 269, i32 275, i32 281, i32 287, i32 293, i32 299, i32 305, i32 311, i32 317, i32 323, i32 329, i32 335, i32 341, i32 347, i32 353, i32 359, i32 365, i32 371, i32 377, i32 383>
8635   store <64 x i64> %strided.vec0, ptr %out.vec0, align 64
8636   store <64 x i64> %strided.vec1, ptr %out.vec1, align 64
8637   store <64 x i64> %strided.vec2, ptr %out.vec2, align 64
8638   store <64 x i64> %strided.vec3, ptr %out.vec3, align 64
8639   store <64 x i64> %strided.vec4, ptr %out.vec4, align 64
8640   store <64 x i64> %strided.vec5, ptr %out.vec5, align 64
8641   ret void
8643 ;; NOTE: These prefixes are unused and the list is autogenerated. Do not add tests below this line:
8644 ; AVX1: {{.*}}
8645 ; AVX2: {{.*}}
8646 ; AVX2-FAST: {{.*}}
8647 ; AVX2-FAST-PERLANE: {{.*}}
8648 ; AVX2-SLOW: {{.*}}
8649 ; AVX512: {{.*}}
8650 ; AVX512BW-FAST: {{.*}}
8651 ; AVX512BW-ONLY-FAST: {{.*}}
8652 ; AVX512BW-ONLY-SLOW: {{.*}}
8653 ; AVX512BW-SLOW: {{.*}}
8654 ; AVX512DQ-FAST: {{.*}}
8655 ; AVX512DQ-SLOW: {{.*}}
8656 ; AVX512DQBW-FAST: {{.*}}
8657 ; AVX512DQBW-SLOW: {{.*}}
8658 ; AVX512F-FAST: {{.*}}
8659 ; AVX512F-ONLY-FAST: {{.*}}
8660 ; AVX512F-ONLY-SLOW: {{.*}}
8661 ; AVX512F-SLOW: {{.*}}
8662 ; FALLBACK0: {{.*}}
8663 ; FALLBACK1: {{.*}}
8664 ; FALLBACK10: {{.*}}
8665 ; FALLBACK11: {{.*}}
8666 ; FALLBACK12: {{.*}}
8667 ; FALLBACK2: {{.*}}
8668 ; FALLBACK3: {{.*}}
8669 ; FALLBACK4: {{.*}}
8670 ; FALLBACK5: {{.*}}
8671 ; FALLBACK6: {{.*}}
8672 ; FALLBACK7: {{.*}}
8673 ; FALLBACK8: {{.*}}
8674 ; FALLBACK9: {{.*}}