gitee.com/quant1x/gox@v1.7.6/num/asm/_avx2/construct.s (about) 1 Repeat_F64_V(double*, double, unsigned long): # @Repeat_F64_V(double*, double, unsigned long) 2 testq %rsi, %rsi 3 je .LBB0_12 4 cmpq $16, %rsi 5 jae .LBB0_3 6 xorl %eax, %eax 7 jmp .LBB0_11 8 .LBB0_3: 9 movq %rsi, %rax 10 andq $-16, %rax 11 vbroadcastsd %xmm0, %ymm1 12 leaq -16(%rax), %rcx 13 movq %rcx, %rdx 14 shrq $4, %rdx 15 addq $1, %rdx 16 movl %edx, %r8d 17 andl $3, %r8d 18 cmpq $48, %rcx 19 jae .LBB0_5 20 xorl %ecx, %ecx 21 jmp .LBB0_7 22 .LBB0_5: 23 andq $-4, %rdx 24 xorl %ecx, %ecx 25 .LBB0_6: # =>This Inner Loop Header: Depth=1 26 vmovups %ymm1, (%rdi,%rcx,8) 27 vmovups %ymm1, 32(%rdi,%rcx,8) 28 vmovups %ymm1, 64(%rdi,%rcx,8) 29 vmovups %ymm1, 96(%rdi,%rcx,8) 30 vmovups %ymm1, 128(%rdi,%rcx,8) 31 vmovups %ymm1, 160(%rdi,%rcx,8) 32 vmovups %ymm1, 192(%rdi,%rcx,8) 33 vmovups %ymm1, 224(%rdi,%rcx,8) 34 vmovups %ymm1, 256(%rdi,%rcx,8) 35 vmovups %ymm1, 288(%rdi,%rcx,8) 36 vmovups %ymm1, 320(%rdi,%rcx,8) 37 vmovups %ymm1, 352(%rdi,%rcx,8) 38 vmovups %ymm1, 384(%rdi,%rcx,8) 39 vmovups %ymm1, 416(%rdi,%rcx,8) 40 vmovups %ymm1, 448(%rdi,%rcx,8) 41 vmovups %ymm1, 480(%rdi,%rcx,8) 42 addq $64, %rcx 43 addq $-4, %rdx 44 jne .LBB0_6 45 .LBB0_7: 46 testq %r8, %r8 47 je .LBB0_10 48 leaq (%rdi,%rcx,8), %rcx 49 addq $96, %rcx 50 shlq $7, %r8 51 xorl %edx, %edx 52 .LBB0_9: # =>This Inner Loop Header: Depth=1 53 vmovups %ymm1, -96(%rcx,%rdx) 54 vmovups %ymm1, -64(%rcx,%rdx) 55 vmovups %ymm1, -32(%rcx,%rdx) 56 vmovups %ymm1, (%rcx,%rdx) 57 subq $-128, %rdx 58 cmpq %rdx, %r8 59 jne .LBB0_9 60 .LBB0_10: 61 cmpq %rsi, %rax 62 je .LBB0_12 63 .LBB0_11: # =>This Inner Loop Header: Depth=1 64 vmovsd %xmm0, (%rdi,%rax,8) 65 addq $1, %rax 66 cmpq %rax, %rsi 67 jne .LBB0_11 68 .LBB0_12: 69 vzeroupper 70 retq 71 Repeat_F32_V(float*, float, unsigned long): # @Repeat_F32_V(float*, float, unsigned long) 72 testq %rsi, %rsi 73 je .LBB1_12 74 cmpq $32, %rsi 75 jae .LBB1_3 76 xorl %eax, %eax 77 jmp .LBB1_11 78 .LBB1_3: 79 movq %rsi, %rax 80 andq $-32, %rax 81 vbroadcastss %xmm0, %ymm1 82 leaq -32(%rax), %rcx 83 movq %rcx, %rdx 84 shrq $5, %rdx 85 addq $1, %rdx 86 movl %edx, %r8d 87 andl $3, %r8d 88 cmpq $96, %rcx 89 jae .LBB1_5 90 xorl %ecx, %ecx 91 jmp .LBB1_7 92 .LBB1_5: 93 andq $-4, %rdx 94 xorl %ecx, %ecx 95 .LBB1_6: # =>This Inner Loop Header: Depth=1 96 vmovups %ymm1, (%rdi,%rcx,4) 97 vmovups %ymm1, 32(%rdi,%rcx,4) 98 vmovups %ymm1, 64(%rdi,%rcx,4) 99 vmovups %ymm1, 96(%rdi,%rcx,4) 100 vmovups %ymm1, 128(%rdi,%rcx,4) 101 vmovups %ymm1, 160(%rdi,%rcx,4) 102 vmovups %ymm1, 192(%rdi,%rcx,4) 103 vmovups %ymm1, 224(%rdi,%rcx,4) 104 vmovups %ymm1, 256(%rdi,%rcx,4) 105 vmovups %ymm1, 288(%rdi,%rcx,4) 106 vmovups %ymm1, 320(%rdi,%rcx,4) 107 vmovups %ymm1, 352(%rdi,%rcx,4) 108 vmovups %ymm1, 384(%rdi,%rcx,4) 109 vmovups %ymm1, 416(%rdi,%rcx,4) 110 vmovups %ymm1, 448(%rdi,%rcx,4) 111 vmovups %ymm1, 480(%rdi,%rcx,4) 112 subq $-128, %rcx 113 addq $-4, %rdx 114 jne .LBB1_6 115 .LBB1_7: 116 testq %r8, %r8 117 je .LBB1_10 118 leaq (%rdi,%rcx,4), %rcx 119 addq $96, %rcx 120 shlq $7, %r8 121 xorl %edx, %edx 122 .LBB1_9: # =>This Inner Loop Header: Depth=1 123 vmovups %ymm1, -96(%rcx,%rdx) 124 vmovups %ymm1, -64(%rcx,%rdx) 125 vmovups %ymm1, -32(%rcx,%rdx) 126 vmovups %ymm1, (%rcx,%rdx) 127 subq $-128, %rdx 128 cmpq %rdx, %r8 129 jne .LBB1_9 130 .LBB1_10: 131 cmpq %rsi, %rax 132 je .LBB1_12 133 .LBB1_11: # =>This Inner Loop Header: Depth=1 134 vmovss %xmm0, (%rdi,%rax,4) 135 addq $1, %rax 136 cmpq %rax, %rsi 137 jne .LBB1_11 138 .LBB1_12: 139 vzeroupper 140 retq 141 .LCPI2_0: 142 .quad 0x0000000000000000 # double 0 143 .quad 0x3ff0000000000000 # double 1 144 .quad 0x4000000000000000 # double 2 145 .quad 0x4008000000000000 # double 3 146 .LCPI2_1: 147 .quad 0x4010000000000000 # double 4 148 .LCPI2_2: 149 .quad 0x4020000000000000 # double 8 150 .LCPI2_3: 151 .quad 0x4028000000000000 # double 12 152 .LCPI2_4: 153 .quad 0x4030000000000000 # double 16 154 .LCPI2_5: 155 .quad 0x4034000000000000 # double 20 156 .LCPI2_6: 157 .quad 0x4038000000000000 # double 24 158 .LCPI2_7: 159 .quad 0x403c000000000000 # double 28 160 .LCPI2_8: 161 .quad 0x4040000000000000 # double 32 162 .LCPI2_9: 163 .quad 0x3ff0000000000000 # double 1 164 Range_F64_V(double*, double, unsigned long): # @Range_F64_V(double*, double, unsigned long) 165 testq %rsi, %rsi 166 je .LBB2_13 167 cmpq $16, %rsi 168 jae .LBB2_3 169 xorl %eax, %eax 170 jmp .LBB2_11 171 .LBB2_3: 172 movq %rsi, %rax 173 andq $-16, %rax 174 vbroadcastsd %xmm0, %ymm1 175 vaddpd .LCPI2_0(%rip), %ymm1, %ymm1 176 leaq -16(%rax), %rcx 177 movq %rcx, %r8 178 shrq $4, %r8 179 addq $1, %r8 180 testq %rcx, %rcx 181 je .LBB2_4 182 movq %r8, %rdx 183 andq $-2, %rdx 184 xorl %ecx, %ecx 185 vbroadcastsd .LCPI2_1(%rip), %ymm2 # ymm2 = [4.0E+0,4.0E+0,4.0E+0,4.0E+0] 186 vbroadcastsd .LCPI2_2(%rip), %ymm3 # ymm3 = [8.0E+0,8.0E+0,8.0E+0,8.0E+0] 187 vbroadcastsd .LCPI2_3(%rip), %ymm4 # ymm4 = [1.2E+1,1.2E+1,1.2E+1,1.2E+1] 188 vbroadcastsd .LCPI2_4(%rip), %ymm5 # ymm5 = [1.6E+1,1.6E+1,1.6E+1,1.6E+1] 189 vbroadcastsd .LCPI2_5(%rip), %ymm6 # ymm6 = [2.0E+1,2.0E+1,2.0E+1,2.0E+1] 190 vbroadcastsd .LCPI2_6(%rip), %ymm7 # ymm7 = [2.4E+1,2.4E+1,2.4E+1,2.4E+1] 191 vbroadcastsd .LCPI2_7(%rip), %ymm8 # ymm8 = [2.8E+1,2.8E+1,2.8E+1,2.8E+1] 192 vbroadcastsd .LCPI2_8(%rip), %ymm9 # ymm9 = [3.2E+1,3.2E+1,3.2E+1,3.2E+1] 193 .LBB2_6: # =>This Inner Loop Header: Depth=1 194 vaddpd %ymm2, %ymm1, %ymm10 195 vaddpd %ymm3, %ymm1, %ymm11 196 vaddpd %ymm4, %ymm1, %ymm12 197 vmovupd %ymm1, (%rdi,%rcx,8) 198 vmovupd %ymm10, 32(%rdi,%rcx,8) 199 vmovupd %ymm11, 64(%rdi,%rcx,8) 200 vmovupd %ymm12, 96(%rdi,%rcx,8) 201 vaddpd %ymm5, %ymm1, %ymm10 202 vaddpd %ymm6, %ymm1, %ymm11 203 vaddpd %ymm7, %ymm1, %ymm12 204 vaddpd %ymm1, %ymm8, %ymm13 205 vmovupd %ymm10, 128(%rdi,%rcx,8) 206 vmovupd %ymm11, 160(%rdi,%rcx,8) 207 vmovupd %ymm12, 192(%rdi,%rcx,8) 208 vmovupd %ymm13, 224(%rdi,%rcx,8) 209 addq $32, %rcx 210 vaddpd %ymm1, %ymm9, %ymm1 211 addq $-2, %rdx 212 jne .LBB2_6 213 testb $1, %r8b 214 je .LBB2_9 215 .LBB2_8: 216 vbroadcastsd .LCPI2_1(%rip), %ymm2 # ymm2 = [4.0E+0,4.0E+0,4.0E+0,4.0E+0] 217 vaddpd %ymm2, %ymm1, %ymm2 218 vbroadcastsd .LCPI2_2(%rip), %ymm3 # ymm3 = [8.0E+0,8.0E+0,8.0E+0,8.0E+0] 219 vaddpd %ymm3, %ymm1, %ymm3 220 vbroadcastsd .LCPI2_3(%rip), %ymm4 # ymm4 = [1.2E+1,1.2E+1,1.2E+1,1.2E+1] 221 vaddpd %ymm4, %ymm1, %ymm4 222 vmovupd %ymm1, (%rdi,%rcx,8) 223 vmovupd %ymm2, 32(%rdi,%rcx,8) 224 vmovupd %ymm3, 64(%rdi,%rcx,8) 225 vmovupd %ymm4, 96(%rdi,%rcx,8) 226 .LBB2_9: 227 cmpq %rsi, %rax 228 je .LBB2_13 229 vcvtsi2sd %rax, %xmm14, %xmm1 230 vaddsd %xmm0, %xmm1, %xmm0 231 .LBB2_11: 232 vmovsd .LCPI2_9(%rip), %xmm1 # xmm1 = mem[0],zero 233 .LBB2_12: # =>This Inner Loop Header: Depth=1 234 vmovsd %xmm0, (%rdi,%rax,8) 235 vaddsd %xmm1, %xmm0, %xmm0 236 addq $1, %rax 237 cmpq %rax, %rsi 238 jne .LBB2_12 239 .LBB2_13: 240 vzeroupper 241 retq 242 .LBB2_4: 243 xorl %ecx, %ecx 244 testb $1, %r8b 245 jne .LBB2_8 246 jmp .LBB2_9 247 .LCPI3_0: 248 .long 0x00000000 # float 0 249 .long 0x3f800000 # float 1 250 .long 0x40000000 # float 2 251 .long 0x40400000 # float 3 252 .long 0x40800000 # float 4 253 .long 0x40a00000 # float 5 254 .long 0x40c00000 # float 6 255 .long 0x40e00000 # float 7 256 .LCPI3_1: 257 .long 0x41000000 # float 8 258 .LCPI3_2: 259 .long 0x41800000 # float 16 260 .LCPI3_3: 261 .long 0x41c00000 # float 24 262 .LCPI3_4: 263 .long 0x42000000 # float 32 264 .LCPI3_5: 265 .long 0x42200000 # float 40 266 .LCPI3_6: 267 .long 0x42400000 # float 48 268 .LCPI3_7: 269 .long 0x42600000 # float 56 270 .LCPI3_8: 271 .long 0x42800000 # float 64 272 .LCPI3_9: 273 .long 0x3f800000 # float 1 274 Range_F32_V(float*, float, unsigned long): # @Range_F32_V(float*, float, unsigned long) 275 testq %rsi, %rsi 276 je .LBB3_13 277 cmpq $32, %rsi 278 jae .LBB3_3 279 xorl %eax, %eax 280 jmp .LBB3_11 281 .LBB3_3: 282 movq %rsi, %rax 283 andq $-32, %rax 284 vbroadcastss %xmm0, %ymm1 285 vaddps .LCPI3_0(%rip), %ymm1, %ymm1 286 leaq -32(%rax), %rcx 287 movq %rcx, %r8 288 shrq $5, %r8 289 addq $1, %r8 290 testq %rcx, %rcx 291 je .LBB3_4 292 movq %r8, %rdx 293 andq $-2, %rdx 294 xorl %ecx, %ecx 295 vbroadcastss .LCPI3_1(%rip), %ymm2 # ymm2 = [8.0E+0,8.0E+0,8.0E+0,8.0E+0,8.0E+0,8.0E+0,8.0E+0,8.0E+0] 296 vbroadcastss .LCPI3_2(%rip), %ymm3 # ymm3 = [1.6E+1,1.6E+1,1.6E+1,1.6E+1,1.6E+1,1.6E+1,1.6E+1,1.6E+1] 297 vbroadcastss .LCPI3_3(%rip), %ymm4 # ymm4 = [2.4E+1,2.4E+1,2.4E+1,2.4E+1,2.4E+1,2.4E+1,2.4E+1,2.4E+1] 298 vbroadcastss .LCPI3_4(%rip), %ymm5 # ymm5 = [3.2E+1,3.2E+1,3.2E+1,3.2E+1,3.2E+1,3.2E+1,3.2E+1,3.2E+1] 299 vbroadcastss .LCPI3_5(%rip), %ymm6 # ymm6 = [4.0E+1,4.0E+1,4.0E+1,4.0E+1,4.0E+1,4.0E+1,4.0E+1,4.0E+1] 300 vbroadcastss .LCPI3_6(%rip), %ymm7 # ymm7 = [4.8E+1,4.8E+1,4.8E+1,4.8E+1,4.8E+1,4.8E+1,4.8E+1,4.8E+1] 301 vbroadcastss .LCPI3_7(%rip), %ymm8 # ymm8 = [5.6E+1,5.6E+1,5.6E+1,5.6E+1,5.6E+1,5.6E+1,5.6E+1,5.6E+1] 302 vbroadcastss .LCPI3_8(%rip), %ymm9 # ymm9 = [6.4E+1,6.4E+1,6.4E+1,6.4E+1,6.4E+1,6.4E+1,6.4E+1,6.4E+1] 303 .LBB3_6: # =>This Inner Loop Header: Depth=1 304 vaddps %ymm2, %ymm1, %ymm10 305 vaddps %ymm3, %ymm1, %ymm11 306 vaddps %ymm4, %ymm1, %ymm12 307 vmovups %ymm1, (%rdi,%rcx,4) 308 vmovups %ymm10, 32(%rdi,%rcx,4) 309 vmovups %ymm11, 64(%rdi,%rcx,4) 310 vmovups %ymm12, 96(%rdi,%rcx,4) 311 vaddps %ymm5, %ymm1, %ymm10 312 vaddps %ymm6, %ymm1, %ymm11 313 vaddps %ymm7, %ymm1, %ymm12 314 vaddps %ymm1, %ymm8, %ymm13 315 vmovups %ymm10, 128(%rdi,%rcx,4) 316 vmovups %ymm11, 160(%rdi,%rcx,4) 317 vmovups %ymm12, 192(%rdi,%rcx,4) 318 vmovups %ymm13, 224(%rdi,%rcx,4) 319 addq $64, %rcx 320 vaddps %ymm1, %ymm9, %ymm1 321 addq $-2, %rdx 322 jne .LBB3_6 323 testb $1, %r8b 324 je .LBB3_9 325 .LBB3_8: 326 vbroadcastss .LCPI3_1(%rip), %ymm2 # ymm2 = [8.0E+0,8.0E+0,8.0E+0,8.0E+0,8.0E+0,8.0E+0,8.0E+0,8.0E+0] 327 vaddps %ymm2, %ymm1, %ymm2 328 vbroadcastss .LCPI3_2(%rip), %ymm3 # ymm3 = [1.6E+1,1.6E+1,1.6E+1,1.6E+1,1.6E+1,1.6E+1,1.6E+1,1.6E+1] 329 vaddps %ymm3, %ymm1, %ymm3 330 vbroadcastss .LCPI3_3(%rip), %ymm4 # ymm4 = [2.4E+1,2.4E+1,2.4E+1,2.4E+1,2.4E+1,2.4E+1,2.4E+1,2.4E+1] 331 vaddps %ymm4, %ymm1, %ymm4 332 vmovups %ymm1, (%rdi,%rcx,4) 333 vmovups %ymm2, 32(%rdi,%rcx,4) 334 vmovups %ymm3, 64(%rdi,%rcx,4) 335 vmovups %ymm4, 96(%rdi,%rcx,4) 336 .LBB3_9: 337 cmpq %rsi, %rax 338 je .LBB3_13 339 vcvtsi2ss %rax, %xmm14, %xmm1 340 vaddss %xmm0, %xmm1, %xmm0 341 .LBB3_11: 342 vmovss .LCPI3_9(%rip), %xmm1 # xmm1 = mem[0],zero,zero,zero 343 .LBB3_12: # =>This Inner Loop Header: Depth=1 344 vmovss %xmm0, (%rdi,%rax,4) 345 vaddss %xmm1, %xmm0, %xmm0 346 addq $1, %rax 347 cmpq %rax, %rsi 348 jne .LBB3_12 349 .LBB3_13: 350 vzeroupper 351 retq 352 .LBB3_4: 353 xorl %ecx, %ecx 354 testb $1, %r8b 355 jne .LBB3_8 356 jmp .LBB3_9 357 Gather_F64_V(double*, double*, unsigned long*, unsigned long): # @Gather_F64_V(double*, double*, unsigned long*, unsigned long) 358 testq %rcx, %rcx 359 je .LBB4_7 360 cmpq $16, %rcx 361 jae .LBB4_3 362 xorl %r8d, %r8d 363 jmp .LBB4_6 364 .LBB4_3: 365 movq %rcx, %r8 366 andq $-16, %r8 367 xorl %r9d, %r9d 368 .LBB4_4: # =>This Inner Loop Header: Depth=1 369 movq (%rdx,%r9,8), %rax 370 vmovsd (%rsi,%rax,8), %xmm0 # xmm0 = mem[0],zero 371 movq 8(%rdx,%r9,8), %rax 372 vmovhps (%rsi,%rax,8), %xmm0, %xmm0 # xmm0 = xmm0[0,1],mem[0,1] 373 movq 16(%rdx,%r9,8), %rax 374 vmovsd (%rsi,%rax,8), %xmm1 # xmm1 = mem[0],zero 375 movq 24(%rdx,%r9,8), %rax 376 vmovhps (%rsi,%rax,8), %xmm1, %xmm1 # xmm1 = xmm1[0,1],mem[0,1] 377 movq 32(%rdx,%r9,8), %rax 378 vmovsd (%rsi,%rax,8), %xmm2 # xmm2 = mem[0],zero 379 movq 40(%rdx,%r9,8), %rax 380 vmovhps (%rsi,%rax,8), %xmm2, %xmm2 # xmm2 = xmm2[0,1],mem[0,1] 381 movq 48(%rdx,%r9,8), %rax 382 vmovsd (%rsi,%rax,8), %xmm3 # xmm3 = mem[0],zero 383 movq 56(%rdx,%r9,8), %rax 384 vmovhps (%rsi,%rax,8), %xmm3, %xmm3 # xmm3 = xmm3[0,1],mem[0,1] 385 movq 64(%rdx,%r9,8), %rax 386 vmovsd (%rsi,%rax,8), %xmm4 # xmm4 = mem[0],zero 387 movq 72(%rdx,%r9,8), %rax 388 vmovhps (%rsi,%rax,8), %xmm4, %xmm4 # xmm4 = xmm4[0,1],mem[0,1] 389 movq 80(%rdx,%r9,8), %rax 390 vmovsd (%rsi,%rax,8), %xmm5 # xmm5 = mem[0],zero 391 movq 88(%rdx,%r9,8), %rax 392 vmovhps (%rsi,%rax,8), %xmm5, %xmm5 # xmm5 = xmm5[0,1],mem[0,1] 393 movq 96(%rdx,%r9,8), %rax 394 vmovsd (%rsi,%rax,8), %xmm6 # xmm6 = mem[0],zero 395 movq 104(%rdx,%r9,8), %rax 396 vmovhps (%rsi,%rax,8), %xmm6, %xmm6 # xmm6 = xmm6[0,1],mem[0,1] 397 movq 112(%rdx,%r9,8), %rax 398 vmovsd (%rsi,%rax,8), %xmm7 # xmm7 = mem[0],zero 399 movq 120(%rdx,%r9,8), %rax 400 vmovhps (%rsi,%rax,8), %xmm7, %xmm7 # xmm7 = xmm7[0,1],mem[0,1] 401 vmovups %xmm1, 16(%rdi,%r9,8) 402 vmovups %xmm0, (%rdi,%r9,8) 403 vmovups %xmm3, 48(%rdi,%r9,8) 404 vmovups %xmm2, 32(%rdi,%r9,8) 405 vmovups %xmm5, 80(%rdi,%r9,8) 406 vmovups %xmm4, 64(%rdi,%r9,8) 407 vmovups %xmm7, 112(%rdi,%r9,8) 408 vmovups %xmm6, 96(%rdi,%r9,8) 409 addq $16, %r9 410 cmpq %r9, %r8 411 jne .LBB4_4 412 cmpq %rcx, %r8 413 je .LBB4_7 414 .LBB4_6: # =>This Inner Loop Header: Depth=1 415 movq (%rdx,%r8,8), %rax 416 vmovsd (%rsi,%rax,8), %xmm0 # xmm0 = mem[0],zero 417 vmovsd %xmm0, (%rdi,%r8,8) 418 addq $1, %r8 419 cmpq %r8, %rcx 420 jne .LBB4_6 421 .LBB4_7: 422 retq 423 Gather_F32_V(float*, float*, unsigned long*, unsigned long): # @Gather_F32_V(float*, float*, unsigned long*, unsigned long) 424 testq %rcx, %rcx 425 je .LBB5_7 426 cmpq $16, %rcx 427 jae .LBB5_3 428 xorl %r8d, %r8d 429 jmp .LBB5_6 430 .LBB5_3: 431 movq %rcx, %r8 432 andq $-16, %r8 433 xorl %r9d, %r9d 434 .LBB5_4: # =>This Inner Loop Header: Depth=1 435 movq (%rdx,%r9,8), %rax 436 vmovss (%rsi,%rax,4), %xmm0 # xmm0 = mem[0],zero,zero,zero 437 movq 8(%rdx,%r9,8), %rax 438 vinsertps $16, (%rsi,%rax,4), %xmm0, %xmm0 # xmm0 = xmm0[0],mem[0],xmm0[2,3] 439 movq 16(%rdx,%r9,8), %rax 440 vinsertps $32, (%rsi,%rax,4), %xmm0, %xmm0 # xmm0 = xmm0[0,1],mem[0],xmm0[3] 441 movq 24(%rdx,%r9,8), %rax 442 vinsertps $48, (%rsi,%rax,4), %xmm0, %xmm0 # xmm0 = xmm0[0,1,2],mem[0] 443 movq 32(%rdx,%r9,8), %rax 444 vmovss (%rsi,%rax,4), %xmm1 # xmm1 = mem[0],zero,zero,zero 445 movq 40(%rdx,%r9,8), %rax 446 vinsertps $16, (%rsi,%rax,4), %xmm1, %xmm1 # xmm1 = xmm1[0],mem[0],xmm1[2,3] 447 movq 48(%rdx,%r9,8), %rax 448 vinsertps $32, (%rsi,%rax,4), %xmm1, %xmm1 # xmm1 = xmm1[0,1],mem[0],xmm1[3] 449 movq 56(%rdx,%r9,8), %rax 450 vinsertps $48, (%rsi,%rax,4), %xmm1, %xmm1 # xmm1 = xmm1[0,1,2],mem[0] 451 movq 64(%rdx,%r9,8), %rax 452 vmovss (%rsi,%rax,4), %xmm2 # xmm2 = mem[0],zero,zero,zero 453 movq 72(%rdx,%r9,8), %rax 454 vinsertps $16, (%rsi,%rax,4), %xmm2, %xmm2 # xmm2 = xmm2[0],mem[0],xmm2[2,3] 455 movq 80(%rdx,%r9,8), %rax 456 vinsertps $32, (%rsi,%rax,4), %xmm2, %xmm2 # xmm2 = xmm2[0,1],mem[0],xmm2[3] 457 movq 88(%rdx,%r9,8), %rax 458 vinsertps $48, (%rsi,%rax,4), %xmm2, %xmm2 # xmm2 = xmm2[0,1,2],mem[0] 459 movq 96(%rdx,%r9,8), %rax 460 vmovss (%rsi,%rax,4), %xmm3 # xmm3 = mem[0],zero,zero,zero 461 movq 104(%rdx,%r9,8), %rax 462 vinsertps $16, (%rsi,%rax,4), %xmm3, %xmm3 # xmm3 = xmm3[0],mem[0],xmm3[2,3] 463 movq 112(%rdx,%r9,8), %rax 464 vinsertps $32, (%rsi,%rax,4), %xmm3, %xmm3 # xmm3 = xmm3[0,1],mem[0],xmm3[3] 465 movq 120(%rdx,%r9,8), %rax 466 vinsertps $48, (%rsi,%rax,4), %xmm3, %xmm3 # xmm3 = xmm3[0,1,2],mem[0] 467 vmovups %xmm0, (%rdi,%r9,4) 468 vmovups %xmm1, 16(%rdi,%r9,4) 469 vmovups %xmm2, 32(%rdi,%r9,4) 470 vmovups %xmm3, 48(%rdi,%r9,4) 471 addq $16, %r9 472 cmpq %r9, %r8 473 jne .LBB5_4 474 cmpq %rcx, %r8 475 je .LBB5_7 476 .LBB5_6: # =>This Inner Loop Header: Depth=1 477 movq (%rdx,%r8,8), %rax 478 vmovss (%rsi,%rax,4), %xmm0 # xmm0 = mem[0],zero,zero,zero 479 vmovss %xmm0, (%rdi,%r8,4) 480 addq $1, %r8 481 cmpq %r8, %rcx 482 jne .LBB5_6 483 .LBB5_7: 484 retq 485 Scatter_F64_V(double*, double*, unsigned long*, unsigned long): # @Scatter_F64_V(double*, double*, unsigned long*, unsigned long) 486 testq %rcx, %rcx 487 je .LBB6_8 488 leaq -1(%rcx), %rax 489 movl %ecx, %r8d 490 andl $3, %r8d 491 cmpq $3, %rax 492 jae .LBB6_3 493 xorl %r9d, %r9d 494 jmp .LBB6_5 495 .LBB6_3: 496 andq $-4, %rcx 497 xorl %r9d, %r9d 498 .LBB6_4: # =>This Inner Loop Header: Depth=1 499 vmovsd (%rsi,%r9,8), %xmm0 # xmm0 = mem[0],zero 500 movq (%rdx,%r9,8), %rax 501 vmovsd %xmm0, (%rdi,%rax,8) 502 vmovsd 8(%rsi,%r9,8), %xmm0 # xmm0 = mem[0],zero 503 movq 8(%rdx,%r9,8), %rax 504 vmovsd %xmm0, (%rdi,%rax,8) 505 vmovsd 16(%rsi,%r9,8), %xmm0 # xmm0 = mem[0],zero 506 movq 16(%rdx,%r9,8), %rax 507 vmovsd %xmm0, (%rdi,%rax,8) 508 vmovsd 24(%rsi,%r9,8), %xmm0 # xmm0 = mem[0],zero 509 movq 24(%rdx,%r9,8), %rax 510 vmovsd %xmm0, (%rdi,%rax,8) 511 addq $4, %r9 512 cmpq %r9, %rcx 513 jne .LBB6_4 514 .LBB6_5: 515 testq %r8, %r8 516 je .LBB6_8 517 leaq (%rdx,%r9,8), %rcx 518 leaq (%rsi,%r9,8), %rax 519 xorl %edx, %edx 520 .LBB6_7: # =>This Inner Loop Header: Depth=1 521 vmovsd (%rax,%rdx,8), %xmm0 # xmm0 = mem[0],zero 522 movq (%rcx,%rdx,8), %rsi 523 vmovsd %xmm0, (%rdi,%rsi,8) 524 addq $1, %rdx 525 cmpq %rdx, %r8 526 jne .LBB6_7 527 .LBB6_8: 528 retq 529 Scatter_F32_V(float*, float*, unsigned long*, unsigned long): # @Scatter_F32_V(float*, float*, unsigned long*, unsigned long) 530 testq %rcx, %rcx 531 je .LBB7_8 532 leaq -1(%rcx), %rax 533 movl %ecx, %r8d 534 andl $3, %r8d 535 cmpq $3, %rax 536 jae .LBB7_3 537 xorl %r9d, %r9d 538 jmp .LBB7_5 539 .LBB7_3: 540 andq $-4, %rcx 541 xorl %r9d, %r9d 542 .LBB7_4: # =>This Inner Loop Header: Depth=1 543 vmovss (%rsi,%r9,4), %xmm0 # xmm0 = mem[0],zero,zero,zero 544 movq (%rdx,%r9,8), %rax 545 vmovss %xmm0, (%rdi,%rax,4) 546 vmovss 4(%rsi,%r9,4), %xmm0 # xmm0 = mem[0],zero,zero,zero 547 movq 8(%rdx,%r9,8), %rax 548 vmovss %xmm0, (%rdi,%rax,4) 549 vmovss 8(%rsi,%r9,4), %xmm0 # xmm0 = mem[0],zero,zero,zero 550 movq 16(%rdx,%r9,8), %rax 551 vmovss %xmm0, (%rdi,%rax,4) 552 vmovss 12(%rsi,%r9,4), %xmm0 # xmm0 = mem[0],zero,zero,zero 553 movq 24(%rdx,%r9,8), %rax 554 vmovss %xmm0, (%rdi,%rax,4) 555 addq $4, %r9 556 cmpq %r9, %rcx 557 jne .LBB7_4 558 .LBB7_5: 559 testq %r8, %r8 560 je .LBB7_8 561 leaq (%rdx,%r9,8), %rcx 562 leaq (%rsi,%r9,4), %rax 563 xorl %edx, %edx 564 .LBB7_7: # =>This Inner Loop Header: Depth=1 565 vmovss (%rax,%rdx,4), %xmm0 # xmm0 = mem[0],zero,zero,zero 566 movq (%rcx,%rdx,8), %rsi 567 vmovss %xmm0, (%rdi,%rsi,4) 568 addq $1, %rdx 569 cmpq %rdx, %r8 570 jne .LBB7_7 571 .LBB7_8: 572 retq 573 .LCPI8_0: 574 .long 1 # 0x1 575 .LCPI8_1: 576 .quad 0x3ff0000000000000 # double 1 577 FromBool_F64_V(double*, bool*, unsigned long): # @FromBool_F64_V(double*, bool*, unsigned long) 578 testq %rdx, %rdx 579 je .LBB8_10 580 cmpq $16, %rdx 581 jae .LBB8_3 582 xorl %eax, %eax 583 jmp .LBB8_6 584 .LBB8_3: 585 movq %rdx, %rax 586 andq $-16, %rax 587 xorl %ecx, %ecx 588 vpxor %xmm0, %xmm0, %xmm0 589 vpcmpeqd %xmm1, %xmm1, %xmm1 590 vpbroadcastd .LCPI8_0(%rip), %xmm2 # xmm2 = [1,1,1,1] 591 .LBB8_4: # =>This Inner Loop Header: Depth=1 592 vmovd (%rsi,%rcx), %xmm3 # xmm3 = mem[0],zero,zero,zero 593 vmovd 4(%rsi,%rcx), %xmm4 # xmm4 = mem[0],zero,zero,zero 594 vmovd 8(%rsi,%rcx), %xmm5 # xmm5 = mem[0],zero,zero,zero 595 vmovd 12(%rsi,%rcx), %xmm6 # xmm6 = mem[0],zero,zero,zero 596 vpcmpeqb %xmm0, %xmm3, %xmm3 597 vpxor %xmm1, %xmm3, %xmm3 598 vpmovzxbd %xmm3, %xmm3 # xmm3 = xmm3[0],zero,zero,zero,xmm3[1],zero,zero,zero,xmm3[2],zero,zero,zero,xmm3[3],zero,zero,zero 599 vpand %xmm2, %xmm3, %xmm3 600 vcvtdq2pd %xmm3, %ymm3 601 vpcmpeqb %xmm0, %xmm4, %xmm4 602 vpxor %xmm1, %xmm4, %xmm4 603 vpmovzxbd %xmm4, %xmm4 # xmm4 = xmm4[0],zero,zero,zero,xmm4[1],zero,zero,zero,xmm4[2],zero,zero,zero,xmm4[3],zero,zero,zero 604 vpand %xmm2, %xmm4, %xmm4 605 vcvtdq2pd %xmm4, %ymm4 606 vpcmpeqb %xmm0, %xmm5, %xmm5 607 vpxor %xmm1, %xmm5, %xmm5 608 vpmovzxbd %xmm5, %xmm5 # xmm5 = xmm5[0],zero,zero,zero,xmm5[1],zero,zero,zero,xmm5[2],zero,zero,zero,xmm5[3],zero,zero,zero 609 vpand %xmm2, %xmm5, %xmm5 610 vcvtdq2pd %xmm5, %ymm5 611 vpcmpeqb %xmm0, %xmm6, %xmm6 612 vpxor %xmm1, %xmm6, %xmm6 613 vpmovzxbd %xmm6, %xmm6 # xmm6 = xmm6[0],zero,zero,zero,xmm6[1],zero,zero,zero,xmm6[2],zero,zero,zero,xmm6[3],zero,zero,zero 614 vpand %xmm2, %xmm6, %xmm6 615 vcvtdq2pd %xmm6, %ymm6 616 vmovups %ymm3, (%rdi,%rcx,8) 617 vmovups %ymm4, 32(%rdi,%rcx,8) 618 vmovups %ymm5, 64(%rdi,%rcx,8) 619 vmovups %ymm6, 96(%rdi,%rcx,8) 620 addq $16, %rcx 621 cmpq %rcx, %rax 622 jne .LBB8_4 623 cmpq %rdx, %rax 624 jne .LBB8_6 625 .LBB8_10: 626 vzeroupper 627 retq 628 .LBB8_6: 629 vmovq .LCPI8_1(%rip), %xmm0 # xmm0 = mem[0],zero 630 jmp .LBB8_7 631 .LBB8_9: # in Loop: Header=BB8_7 Depth=1 632 vmovq %xmm1, (%rdi,%rax,8) 633 addq $1, %rax 634 cmpq %rax, %rdx 635 je .LBB8_10 636 .LBB8_7: # =>This Inner Loop Header: Depth=1 637 cmpb $0, (%rsi,%rax) 638 vmovdqa %xmm0, %xmm1 639 jne .LBB8_9 640 vpxor %xmm1, %xmm1, %xmm1 641 jmp .LBB8_9 642 .LCPI9_0: 643 .long 1 # 0x1 644 .LCPI9_1: 645 .long 0x3f800000 # float 1 646 FromBool_F32_V(float*, bool*, unsigned long): # @FromBool_F32_V(float*, bool*, unsigned long) 647 testq %rdx, %rdx 648 je .LBB9_10 649 cmpq $32, %rdx 650 jae .LBB9_3 651 xorl %eax, %eax 652 jmp .LBB9_6 653 .LBB9_3: 654 movq %rdx, %rax 655 andq $-32, %rax 656 xorl %ecx, %ecx 657 vpxor %xmm0, %xmm0, %xmm0 658 vpcmpeqd %xmm1, %xmm1, %xmm1 659 vpbroadcastd .LCPI9_0(%rip), %ymm2 # ymm2 = [1,1,1,1,1,1,1,1] 660 .LBB9_4: # =>This Inner Loop Header: Depth=1 661 vmovq (%rsi,%rcx), %xmm3 # xmm3 = mem[0],zero 662 vmovq 8(%rsi,%rcx), %xmm4 # xmm4 = mem[0],zero 663 vmovq 16(%rsi,%rcx), %xmm5 # xmm5 = mem[0],zero 664 vmovq 24(%rsi,%rcx), %xmm6 # xmm6 = mem[0],zero 665 vpcmpeqb %xmm0, %xmm3, %xmm3 666 vpxor %xmm1, %xmm3, %xmm3 667 vpmovzxbd %xmm3, %ymm3 # ymm3 = xmm3[0],zero,zero,zero,xmm3[1],zero,zero,zero,xmm3[2],zero,zero,zero,xmm3[3],zero,zero,zero,xmm3[4],zero,zero,zero,xmm3[5],zero,zero,zero,xmm3[6],zero,zero,zero,xmm3[7],zero,zero,zero 668 vpand %ymm2, %ymm3, %ymm3 669 vcvtdq2ps %ymm3, %ymm3 670 vpcmpeqb %xmm0, %xmm4, %xmm4 671 vpxor %xmm1, %xmm4, %xmm4 672 vpmovzxbd %xmm4, %ymm4 # ymm4 = xmm4[0],zero,zero,zero,xmm4[1],zero,zero,zero,xmm4[2],zero,zero,zero,xmm4[3],zero,zero,zero,xmm4[4],zero,zero,zero,xmm4[5],zero,zero,zero,xmm4[6],zero,zero,zero,xmm4[7],zero,zero,zero 673 vpand %ymm2, %ymm4, %ymm4 674 vcvtdq2ps %ymm4, %ymm4 675 vpcmpeqb %xmm0, %xmm5, %xmm5 676 vpxor %xmm1, %xmm5, %xmm5 677 vpmovzxbd %xmm5, %ymm5 # ymm5 = xmm5[0],zero,zero,zero,xmm5[1],zero,zero,zero,xmm5[2],zero,zero,zero,xmm5[3],zero,zero,zero,xmm5[4],zero,zero,zero,xmm5[5],zero,zero,zero,xmm5[6],zero,zero,zero,xmm5[7],zero,zero,zero 678 vpand %ymm2, %ymm5, %ymm5 679 vcvtdq2ps %ymm5, %ymm5 680 vpcmpeqb %xmm0, %xmm6, %xmm6 681 vpxor %xmm1, %xmm6, %xmm6 682 vpmovzxbd %xmm6, %ymm6 # ymm6 = xmm6[0],zero,zero,zero,xmm6[1],zero,zero,zero,xmm6[2],zero,zero,zero,xmm6[3],zero,zero,zero,xmm6[4],zero,zero,zero,xmm6[5],zero,zero,zero,xmm6[6],zero,zero,zero,xmm6[7],zero,zero,zero 683 vpand %ymm2, %ymm6, %ymm6 684 vcvtdq2ps %ymm6, %ymm6 685 vmovups %ymm3, (%rdi,%rcx,4) 686 vmovups %ymm4, 32(%rdi,%rcx,4) 687 vmovups %ymm5, 64(%rdi,%rcx,4) 688 vmovups %ymm6, 96(%rdi,%rcx,4) 689 addq $32, %rcx 690 cmpq %rcx, %rax 691 jne .LBB9_4 692 cmpq %rdx, %rax 693 jne .LBB9_6 694 .LBB9_10: 695 vzeroupper 696 retq 697 .LBB9_6: 698 vmovd .LCPI9_1(%rip), %xmm0 # xmm0 = mem[0],zero,zero,zero 699 jmp .LBB9_7 700 .LBB9_9: # in Loop: Header=BB9_7 Depth=1 701 vmovd %xmm1, (%rdi,%rax,4) 702 addq $1, %rax 703 cmpq %rax, %rdx 704 je .LBB9_10 705 .LBB9_7: # =>This Inner Loop Header: Depth=1 706 cmpb $0, (%rsi,%rax) 707 vmovdqa %xmm0, %xmm1 708 jne .LBB9_9 709 vpxor %xmm1, %xmm1, %xmm1 710 jmp .LBB9_9 711 FromFloat32_F64_V(double*, float*, unsigned long): # @FromFloat32_F64_V(double*, float*, unsigned long) 712 testq %rdx, %rdx 713 je .LBB10_11 714 cmpq $16, %rdx 715 jae .LBB10_3 716 xorl %eax, %eax 717 jmp .LBB10_10 718 .LBB10_3: 719 movq %rdx, %rax 720 andq $-16, %rax 721 leaq -16(%rax), %rcx 722 movq %rcx, %r8 723 shrq $4, %r8 724 addq $1, %r8 725 testq %rcx, %rcx 726 je .LBB10_4 727 movq %r8, %r9 728 andq $-2, %r9 729 xorl %ecx, %ecx 730 .LBB10_6: # =>This Inner Loop Header: Depth=1 731 vcvtps2pd (%rsi,%rcx,4), %ymm0 732 vcvtps2pd 16(%rsi,%rcx,4), %ymm1 733 vcvtps2pd 32(%rsi,%rcx,4), %ymm2 734 vcvtps2pd 48(%rsi,%rcx,4), %ymm3 735 vmovups %ymm0, (%rdi,%rcx,8) 736 vmovups %ymm1, 32(%rdi,%rcx,8) 737 vmovups %ymm2, 64(%rdi,%rcx,8) 738 vmovups %ymm3, 96(%rdi,%rcx,8) 739 vcvtps2pd 64(%rsi,%rcx,4), %ymm0 740 vcvtps2pd 80(%rsi,%rcx,4), %ymm1 741 vcvtps2pd 96(%rsi,%rcx,4), %ymm2 742 vcvtps2pd 112(%rsi,%rcx,4), %ymm3 743 vmovups %ymm0, 128(%rdi,%rcx,8) 744 vmovups %ymm1, 160(%rdi,%rcx,8) 745 vmovups %ymm2, 192(%rdi,%rcx,8) 746 vmovups %ymm3, 224(%rdi,%rcx,8) 747 addq $32, %rcx 748 addq $-2, %r9 749 jne .LBB10_6 750 testb $1, %r8b 751 je .LBB10_9 752 .LBB10_8: 753 vcvtps2pd (%rsi,%rcx,4), %ymm0 754 vcvtps2pd 16(%rsi,%rcx,4), %ymm1 755 vcvtps2pd 32(%rsi,%rcx,4), %ymm2 756 vcvtps2pd 48(%rsi,%rcx,4), %ymm3 757 vmovups %ymm0, (%rdi,%rcx,8) 758 vmovups %ymm1, 32(%rdi,%rcx,8) 759 vmovups %ymm2, 64(%rdi,%rcx,8) 760 vmovups %ymm3, 96(%rdi,%rcx,8) 761 .LBB10_9: 762 cmpq %rdx, %rax 763 je .LBB10_11 764 .LBB10_10: # =>This Inner Loop Header: Depth=1 765 vmovss (%rsi,%rax,4), %xmm0 # xmm0 = mem[0],zero,zero,zero 766 vcvtss2sd %xmm0, %xmm0, %xmm0 767 vmovsd %xmm0, (%rdi,%rax,8) 768 addq $1, %rax 769 cmpq %rax, %rdx 770 jne .LBB10_10 771 .LBB10_11: 772 vzeroupper 773 retq 774 .LBB10_4: 775 xorl %ecx, %ecx 776 testb $1, %r8b 777 jne .LBB10_8 778 jmp .LBB10_9 779 FromFloat64_F32_V(float*, double*, unsigned long): # @FromFloat64_F32_V(float*, double*, unsigned long) 780 testq %rdx, %rdx 781 je .LBB11_11 782 cmpq $16, %rdx 783 jae .LBB11_3 784 xorl %eax, %eax 785 jmp .LBB11_10 786 .LBB11_3: 787 movq %rdx, %rax 788 andq $-16, %rax 789 leaq -16(%rax), %rcx 790 movq %rcx, %r8 791 shrq $4, %r8 792 addq $1, %r8 793 testq %rcx, %rcx 794 je .LBB11_4 795 movq %r8, %r9 796 andq $-2, %r9 797 xorl %ecx, %ecx 798 .LBB11_6: # =>This Inner Loop Header: Depth=1 799 vcvtpd2psy (%rsi,%rcx,8), %xmm0 800 vcvtpd2psy 32(%rsi,%rcx,8), %xmm1 801 vcvtpd2psy 64(%rsi,%rcx,8), %xmm2 802 vcvtpd2psy 96(%rsi,%rcx,8), %xmm3 803 vmovupd %xmm0, (%rdi,%rcx,4) 804 vmovupd %xmm1, 16(%rdi,%rcx,4) 805 vmovupd %xmm2, 32(%rdi,%rcx,4) 806 vmovupd %xmm3, 48(%rdi,%rcx,4) 807 vcvtpd2psy 128(%rsi,%rcx,8), %xmm0 808 vcvtpd2psy 160(%rsi,%rcx,8), %xmm1 809 vcvtpd2psy 192(%rsi,%rcx,8), %xmm2 810 vcvtpd2psy 224(%rsi,%rcx,8), %xmm3 811 vmovupd %xmm0, 64(%rdi,%rcx,4) 812 vmovupd %xmm1, 80(%rdi,%rcx,4) 813 vmovupd %xmm2, 96(%rdi,%rcx,4) 814 vmovupd %xmm3, 112(%rdi,%rcx,4) 815 addq $32, %rcx 816 addq $-2, %r9 817 jne .LBB11_6 818 testb $1, %r8b 819 je .LBB11_9 820 .LBB11_8: 821 vcvtpd2psy (%rsi,%rcx,8), %xmm0 822 vcvtpd2psy 32(%rsi,%rcx,8), %xmm1 823 vcvtpd2psy 64(%rsi,%rcx,8), %xmm2 824 vcvtpd2psy 96(%rsi,%rcx,8), %xmm3 825 vmovupd %xmm0, (%rdi,%rcx,4) 826 vmovupd %xmm1, 16(%rdi,%rcx,4) 827 vmovupd %xmm2, 32(%rdi,%rcx,4) 828 vmovupd %xmm3, 48(%rdi,%rcx,4) 829 .LBB11_9: 830 cmpq %rdx, %rax 831 je .LBB11_11 832 .LBB11_10: # =>This Inner Loop Header: Depth=1 833 vmovsd (%rsi,%rax,8), %xmm0 # xmm0 = mem[0],zero 834 vcvtsd2ss %xmm0, %xmm0, %xmm0 835 vmovss %xmm0, (%rdi,%rax,4) 836 addq $1, %rax 837 cmpq %rax, %rdx 838 jne .LBB11_10 839 .LBB11_11: 840 retq 841 .LBB11_4: 842 xorl %ecx, %ecx 843 testb $1, %r8b 844 jne .LBB11_8 845 jmp .LBB11_9 846 FromInt64_F64_V(double*, long*, unsigned long): # @FromInt64_F64_V(double*, long*, unsigned long) 847 testq %rdx, %rdx 848 je .LBB12_11 849 cmpq $16, %rdx 850 jae .LBB12_3 851 xorl %r10d, %r10d 852 jmp .LBB12_10 853 .LBB12_3: 854 movq %rdx, %r10 855 andq $-16, %r10 856 leaq -16(%r10), %rcx 857 movq %rcx, %r8 858 shrq $4, %r8 859 addq $1, %r8 860 testq %rcx, %rcx 861 je .LBB12_4 862 movq %r8, %r9 863 andq $-2, %r9 864 xorl %ecx, %ecx 865 .LBB12_6: # =>This Inner Loop Header: Depth=1 866 vmovdqu (%rsi,%rcx,8), %xmm0 867 vmovdqu 16(%rsi,%rcx,8), %xmm1 868 vpextrq $1, %xmm0, %rax 869 vcvtsi2sd %rax, %xmm11, %xmm2 870 vmovdqu 32(%rsi,%rcx,8), %xmm3 871 vmovq %xmm0, %rax 872 vcvtsi2sd %rax, %xmm11, %xmm0 873 vpextrq $1, %xmm1, %rax 874 vcvtsi2sd %rax, %xmm11, %xmm4 875 vmovdqu 48(%rsi,%rcx,8), %xmm5 876 vmovq %xmm1, %rax 877 vcvtsi2sd %rax, %xmm11, %xmm1 878 vpextrq $1, %xmm5, %rax 879 vcvtsi2sd %rax, %xmm11, %xmm6 880 vunpcklpd %xmm2, %xmm0, %xmm8 # xmm8 = xmm0[0],xmm2[0] 881 vmovq %xmm5, %rax 882 vcvtsi2sd %rax, %xmm11, %xmm2 883 vpextrq $1, %xmm3, %rax 884 vcvtsi2sd %rax, %xmm11, %xmm5 885 vunpcklpd %xmm4, %xmm1, %xmm10 # xmm10 = xmm1[0],xmm4[0] 886 vmovq %xmm3, %rax 887 vcvtsi2sd %rax, %xmm11, %xmm3 888 vunpcklpd %xmm6, %xmm2, %xmm9 # xmm9 = xmm2[0],xmm6[0] 889 vmovdqu 80(%rsi,%rcx,8), %xmm4 890 vpextrq $1, %xmm4, %rax 891 vunpcklpd %xmm5, %xmm3, %xmm3 # xmm3 = xmm3[0],xmm5[0] 892 vcvtsi2sd %rax, %xmm11, %xmm5 893 vmovq %xmm4, %rax 894 vcvtsi2sd %rax, %xmm11, %xmm4 895 vunpcklpd %xmm5, %xmm4, %xmm4 # xmm4 = xmm4[0],xmm5[0] 896 vmovdqu 64(%rsi,%rcx,8), %xmm5 897 vpextrq $1, %xmm5, %rax 898 vcvtsi2sd %rax, %xmm11, %xmm6 899 vmovq %xmm5, %rax 900 vcvtsi2sd %rax, %xmm11, %xmm5 901 vmovdqu 112(%rsi,%rcx,8), %xmm7 902 vpextrq $1, %xmm7, %rax 903 vcvtsi2sd %rax, %xmm11, %xmm0 904 vmovq %xmm7, %rax 905 vcvtsi2sd %rax, %xmm11, %xmm7 906 vmovdqu 96(%rsi,%rcx,8), %xmm2 907 vpextrq $1, %xmm2, %rax 908 vcvtsi2sd %rax, %xmm11, %xmm1 909 vunpcklpd %xmm6, %xmm5, %xmm5 # xmm5 = xmm5[0],xmm6[0] 910 vmovq %xmm2, %rax 911 vcvtsi2sd %rax, %xmm11, %xmm2 912 vunpcklpd %xmm0, %xmm7, %xmm0 # xmm0 = xmm7[0],xmm0[0] 913 vunpcklpd %xmm1, %xmm2, %xmm1 # xmm1 = xmm2[0],xmm1[0] 914 vmovupd %xmm10, 16(%rdi,%rcx,8) 915 vmovupd %xmm8, (%rdi,%rcx,8) 916 vmovupd %xmm3, 32(%rdi,%rcx,8) 917 vmovupd %xmm9, 48(%rdi,%rcx,8) 918 vmovupd %xmm5, 64(%rdi,%rcx,8) 919 vmovupd %xmm4, 80(%rdi,%rcx,8) 920 vmovupd %xmm1, 96(%rdi,%rcx,8) 921 vmovupd %xmm0, 112(%rdi,%rcx,8) 922 vmovdqu 128(%rsi,%rcx,8), %xmm0 923 vmovdqu 144(%rsi,%rcx,8), %xmm1 924 vpextrq $1, %xmm0, %rax 925 vcvtsi2sd %rax, %xmm11, %xmm2 926 vmovdqu 160(%rsi,%rcx,8), %xmm3 927 vmovq %xmm0, %rax 928 vcvtsi2sd %rax, %xmm11, %xmm0 929 vpextrq $1, %xmm1, %rax 930 vcvtsi2sd %rax, %xmm11, %xmm4 931 vmovdqu 176(%rsi,%rcx,8), %xmm5 932 vmovq %xmm1, %rax 933 vcvtsi2sd %rax, %xmm11, %xmm1 934 vpextrq $1, %xmm5, %rax 935 vcvtsi2sd %rax, %xmm11, %xmm6 936 vunpcklpd %xmm2, %xmm0, %xmm8 # xmm8 = xmm0[0],xmm2[0] 937 vmovq %xmm5, %rax 938 vcvtsi2sd %rax, %xmm11, %xmm2 939 vpextrq $1, %xmm3, %rax 940 vcvtsi2sd %rax, %xmm11, %xmm5 941 vunpcklpd %xmm4, %xmm1, %xmm10 # xmm10 = xmm1[0],xmm4[0] 942 vmovq %xmm3, %rax 943 vcvtsi2sd %rax, %xmm11, %xmm3 944 vunpcklpd %xmm6, %xmm2, %xmm9 # xmm9 = xmm2[0],xmm6[0] 945 vmovdqu 208(%rsi,%rcx,8), %xmm4 946 vpextrq $1, %xmm4, %rax 947 vunpcklpd %xmm5, %xmm3, %xmm3 # xmm3 = xmm3[0],xmm5[0] 948 vcvtsi2sd %rax, %xmm11, %xmm5 949 vmovq %xmm4, %rax 950 vcvtsi2sd %rax, %xmm11, %xmm4 951 vunpcklpd %xmm5, %xmm4, %xmm4 # xmm4 = xmm4[0],xmm5[0] 952 vmovdqu 192(%rsi,%rcx,8), %xmm5 953 vpextrq $1, %xmm5, %rax 954 vcvtsi2sd %rax, %xmm11, %xmm6 955 vmovq %xmm5, %rax 956 vcvtsi2sd %rax, %xmm11, %xmm5 957 vmovdqu 240(%rsi,%rcx,8), %xmm7 958 vpextrq $1, %xmm7, %rax 959 vcvtsi2sd %rax, %xmm11, %xmm0 960 vmovq %xmm7, %rax 961 vcvtsi2sd %rax, %xmm11, %xmm7 962 vmovdqu 224(%rsi,%rcx,8), %xmm2 963 vpextrq $1, %xmm2, %rax 964 vcvtsi2sd %rax, %xmm11, %xmm1 965 vunpcklpd %xmm6, %xmm5, %xmm5 # xmm5 = xmm5[0],xmm6[0] 966 vmovq %xmm2, %rax 967 vcvtsi2sd %rax, %xmm11, %xmm2 968 vunpcklpd %xmm0, %xmm7, %xmm0 # xmm0 = xmm7[0],xmm0[0] 969 vunpcklpd %xmm1, %xmm2, %xmm1 # xmm1 = xmm2[0],xmm1[0] 970 vmovupd %xmm10, 144(%rdi,%rcx,8) 971 vmovupd %xmm8, 128(%rdi,%rcx,8) 972 vmovupd %xmm3, 160(%rdi,%rcx,8) 973 vmovupd %xmm9, 176(%rdi,%rcx,8) 974 vmovupd %xmm5, 192(%rdi,%rcx,8) 975 vmovupd %xmm4, 208(%rdi,%rcx,8) 976 vmovupd %xmm1, 224(%rdi,%rcx,8) 977 vmovupd %xmm0, 240(%rdi,%rcx,8) 978 addq $32, %rcx 979 addq $-2, %r9 980 jne .LBB12_6 981 testb $1, %r8b 982 je .LBB12_9 983 .LBB12_8: 984 vmovdqu (%rsi,%rcx,8), %xmm0 985 vmovdqu 16(%rsi,%rcx,8), %xmm1 986 vmovdqu 32(%rsi,%rcx,8), %xmm3 987 vmovdqu 48(%rsi,%rcx,8), %xmm2 988 vpextrq $1, %xmm0, %rax 989 vcvtsi2sd %rax, %xmm11, %xmm4 990 vmovq %xmm0, %rax 991 vcvtsi2sd %rax, %xmm11, %xmm0 992 vunpcklpd %xmm4, %xmm0, %xmm8 # xmm8 = xmm0[0],xmm4[0] 993 vpextrq $1, %xmm1, %rax 994 vcvtsi2sd %rax, %xmm11, %xmm4 995 vmovq %xmm1, %rax 996 vcvtsi2sd %rax, %xmm11, %xmm1 997 vunpcklpd %xmm4, %xmm1, %xmm1 # xmm1 = xmm1[0],xmm4[0] 998 vpextrq $1, %xmm2, %rax 999 vcvtsi2sd %rax, %xmm11, %xmm4 1000 vmovq %xmm2, %rax 1001 vcvtsi2sd %rax, %xmm11, %xmm2 1002 vunpcklpd %xmm4, %xmm2, %xmm2 # xmm2 = xmm2[0],xmm4[0] 1003 vpextrq $1, %xmm3, %rax 1004 vcvtsi2sd %rax, %xmm11, %xmm4 1005 vmovq %xmm3, %rax 1006 vcvtsi2sd %rax, %xmm11, %xmm3 1007 vmovdqu 80(%rsi,%rcx,8), %xmm5 1008 vpextrq $1, %xmm5, %rax 1009 vcvtsi2sd %rax, %xmm11, %xmm6 1010 vmovq %xmm5, %rax 1011 vcvtsi2sd %rax, %xmm11, %xmm5 1012 vmovdqu 64(%rsi,%rcx,8), %xmm7 1013 vpextrq $1, %xmm7, %rax 1014 vcvtsi2sd %rax, %xmm11, %xmm0 1015 vunpcklpd %xmm4, %xmm3, %xmm3 # xmm3 = xmm3[0],xmm4[0] 1016 vmovq %xmm7, %rax 1017 vcvtsi2sd %rax, %xmm11, %xmm4 1018 vunpcklpd %xmm6, %xmm5, %xmm5 # xmm5 = xmm5[0],xmm6[0] 1019 vmovdqu 112(%rsi,%rcx,8), %xmm6 1020 vpextrq $1, %xmm6, %rax 1021 vunpcklpd %xmm0, %xmm4, %xmm0 # xmm0 = xmm4[0],xmm0[0] 1022 vcvtsi2sd %rax, %xmm11, %xmm4 1023 vmovq %xmm6, %rax 1024 vcvtsi2sd %rax, %xmm11, %xmm6 1025 vunpcklpd %xmm4, %xmm6, %xmm4 # xmm4 = xmm6[0],xmm4[0] 1026 vmovdqu 96(%rsi,%rcx,8), %xmm6 1027 vpextrq $1, %xmm6, %rax 1028 vcvtsi2sd %rax, %xmm11, %xmm7 1029 vmovq %xmm6, %rax 1030 vcvtsi2sd %rax, %xmm11, %xmm6 1031 vunpcklpd %xmm7, %xmm6, %xmm6 # xmm6 = xmm6[0],xmm7[0] 1032 vmovupd %xmm1, 16(%rdi,%rcx,8) 1033 vmovupd %xmm8, (%rdi,%rcx,8) 1034 vmovupd %xmm3, 32(%rdi,%rcx,8) 1035 vmovupd %xmm2, 48(%rdi,%rcx,8) 1036 vmovupd %xmm0, 64(%rdi,%rcx,8) 1037 vmovupd %xmm5, 80(%rdi,%rcx,8) 1038 vmovupd %xmm6, 96(%rdi,%rcx,8) 1039 vmovupd %xmm4, 112(%rdi,%rcx,8) 1040 .LBB12_9: 1041 cmpq %rdx, %r10 1042 je .LBB12_11 1043 .LBB12_10: # =>This Inner Loop Header: Depth=1 1044 vcvtsi2sdq (%rsi,%r10,8), %xmm11, %xmm0 1045 vmovsd %xmm0, (%rdi,%r10,8) 1046 addq $1, %r10 1047 cmpq %r10, %rdx 1048 jne .LBB12_10 1049 .LBB12_11: 1050 retq 1051 .LBB12_4: 1052 xorl %ecx, %ecx 1053 testb $1, %r8b 1054 jne .LBB12_8 1055 jmp .LBB12_9 1056 FromInt64_F32_V(float*, long*, unsigned long): # @FromInt64_F32_V(float*, long*, unsigned long) 1057 testq %rdx, %rdx 1058 je .LBB13_11 1059 cmpq $16, %rdx 1060 jae .LBB13_3 1061 xorl %r11d, %r11d 1062 jmp .LBB13_10 1063 .LBB13_3: 1064 movq %rdx, %r11 1065 andq $-16, %r11 1066 leaq -16(%r11), %rcx 1067 movq %rcx, %r8 1068 shrq $4, %r8 1069 addq $1, %r8 1070 testq %rcx, %rcx 1071 je .LBB13_4 1072 movq %r8, %r9 1073 andq $-2, %r9 1074 xorl %ecx, %ecx 1075 .LBB13_6: # =>This Inner Loop Header: Depth=1 1076 vmovdqu (%rsi,%rcx,8), %xmm0 1077 vpextrq $1, %xmm0, %r10 1078 vmovdqu 16(%rsi,%rcx,8), %xmm1 1079 vcvtsi2ss %r10, %xmm8, %xmm2 1080 vmovq %xmm0, %rax 1081 vcvtsi2ss %rax, %xmm8, %xmm0 1082 vmovq %xmm1, %rax 1083 vcvtsi2ss %rax, %xmm8, %xmm3 1084 vpextrq $1, %xmm1, %rax 1085 vcvtsi2ss %rax, %xmm8, %xmm1 1086 vmovdqu 32(%rsi,%rcx,8), %xmm4 1087 vpextrq $1, %xmm4, %rax 1088 vmovdqu 48(%rsi,%rcx,8), %xmm5 1089 vcvtsi2ss %rax, %xmm8, %xmm6 1090 vmovq %xmm4, %rax 1091 vcvtsi2ss %rax, %xmm8, %xmm4 1092 vmovq %xmm5, %rax 1093 vcvtsi2ss %rax, %xmm8, %xmm7 1094 vinsertps $16, %xmm2, %xmm0, %xmm0 # xmm0 = xmm0[0],xmm2[0],xmm0[2,3] 1095 vinsertps $32, %xmm3, %xmm0, %xmm0 # xmm0 = xmm0[0,1],xmm3[0],xmm0[3] 1096 vpextrq $1, %xmm5, %rax 1097 vinsertps $48, %xmm1, %xmm0, %xmm0 # xmm0 = xmm0[0,1,2],xmm1[0] 1098 vcvtsi2ss %rax, %xmm8, %xmm1 1099 vinsertps $16, %xmm6, %xmm4, %xmm2 # xmm2 = xmm4[0],xmm6[0],xmm4[2,3] 1100 vmovdqu 64(%rsi,%rcx,8), %xmm3 1101 vpextrq $1, %xmm3, %rax 1102 vcvtsi2ss %rax, %xmm8, %xmm4 1103 vmovq %xmm3, %rax 1104 vcvtsi2ss %rax, %xmm8, %xmm3 1105 vmovdqu 80(%rsi,%rcx,8), %xmm5 1106 vmovq %xmm5, %rax 1107 vcvtsi2ss %rax, %xmm8, %xmm6 1108 vinsertps $32, %xmm7, %xmm2, %xmm2 # xmm2 = xmm2[0,1],xmm7[0],xmm2[3] 1109 vinsertps $48, %xmm1, %xmm2, %xmm1 # xmm1 = xmm2[0,1,2],xmm1[0] 1110 vpextrq $1, %xmm5, %rax 1111 vinsertps $16, %xmm4, %xmm3, %xmm2 # xmm2 = xmm3[0],xmm4[0],xmm3[2,3] 1112 vcvtsi2ss %rax, %xmm8, %xmm3 1113 vinsertps $32, %xmm6, %xmm2, %xmm2 # xmm2 = xmm2[0,1],xmm6[0],xmm2[3] 1114 vmovdqu 96(%rsi,%rcx,8), %xmm4 1115 vpextrq $1, %xmm4, %rax 1116 vcvtsi2ss %rax, %xmm8, %xmm5 1117 vmovq %xmm4, %rax 1118 vcvtsi2ss %rax, %xmm8, %xmm4 1119 vmovdqu 112(%rsi,%rcx,8), %xmm6 1120 vmovq %xmm6, %rax 1121 vcvtsi2ss %rax, %xmm8, %xmm7 1122 vinsertps $48, %xmm3, %xmm2, %xmm2 # xmm2 = xmm2[0,1,2],xmm3[0] 1123 vinsertps $16, %xmm5, %xmm4, %xmm3 # xmm3 = xmm4[0],xmm5[0],xmm4[2,3] 1124 vpextrq $1, %xmm6, %rax 1125 vinsertps $32, %xmm7, %xmm3, %xmm3 # xmm3 = xmm3[0,1],xmm7[0],xmm3[3] 1126 vcvtsi2ss %rax, %xmm8, %xmm4 1127 vinsertps $48, %xmm4, %xmm3, %xmm3 # xmm3 = xmm3[0,1,2],xmm4[0] 1128 vmovups %xmm0, (%rdi,%rcx,4) 1129 vmovups %xmm1, 16(%rdi,%rcx,4) 1130 vmovups %xmm2, 32(%rdi,%rcx,4) 1131 vmovups %xmm3, 48(%rdi,%rcx,4) 1132 vmovdqu 128(%rsi,%rcx,8), %xmm0 1133 vpextrq $1, %xmm0, %rax 1134 vmovdqu 144(%rsi,%rcx,8), %xmm1 1135 vcvtsi2ss %rax, %xmm8, %xmm2 1136 vmovq %xmm0, %rax 1137 vcvtsi2ss %rax, %xmm8, %xmm0 1138 vmovq %xmm1, %rax 1139 vcvtsi2ss %rax, %xmm8, %xmm3 1140 vpextrq $1, %xmm1, %rax 1141 vcvtsi2ss %rax, %xmm8, %xmm1 1142 vmovdqu 160(%rsi,%rcx,8), %xmm4 1143 vpextrq $1, %xmm4, %rax 1144 vcvtsi2ss %rax, %xmm8, %xmm5 1145 vmovq %xmm4, %rax 1146 vcvtsi2ss %rax, %xmm8, %xmm4 1147 vinsertps $16, %xmm2, %xmm0, %xmm0 # xmm0 = xmm0[0],xmm2[0],xmm0[2,3] 1148 vmovdqu 176(%rsi,%rcx,8), %xmm2 1149 vpextrq $1, %xmm2, %r10 1150 vmovq %xmm2, %rax 1151 vcvtsi2ss %rax, %xmm8, %xmm2 1152 vinsertps $32, %xmm3, %xmm0, %xmm0 # xmm0 = xmm0[0,1],xmm3[0],xmm0[3] 1153 vcvtsi2ss %r10, %xmm8, %xmm3 1154 vinsertps $48, %xmm1, %xmm0, %xmm0 # xmm0 = xmm0[0,1,2],xmm1[0] 1155 vmovdqu 192(%rsi,%rcx,8), %xmm1 1156 vpextrq $1, %xmm1, %rax 1157 vinsertps $16, %xmm5, %xmm4, %xmm4 # xmm4 = xmm4[0],xmm5[0],xmm4[2,3] 1158 vcvtsi2ss %rax, %xmm8, %xmm5 1159 vmovq %xmm1, %rax 1160 vcvtsi2ss %rax, %xmm8, %xmm1 1161 vinsertps $32, %xmm2, %xmm4, %xmm2 # xmm2 = xmm4[0,1],xmm2[0],xmm4[3] 1162 vmovdqu 208(%rsi,%rcx,8), %xmm4 1163 vpextrq $1, %xmm4, %r10 1164 vmovq %xmm4, %rax 1165 vcvtsi2ss %rax, %xmm8, %xmm4 1166 vinsertps $48, %xmm3, %xmm2, %xmm2 # xmm2 = xmm2[0,1,2],xmm3[0] 1167 vcvtsi2ss %r10, %xmm8, %xmm3 1168 vinsertps $16, %xmm5, %xmm1, %xmm1 # xmm1 = xmm1[0],xmm5[0],xmm1[2,3] 1169 vmovdqu 224(%rsi,%rcx,8), %xmm5 1170 vpextrq $1, %xmm5, %rax 1171 vinsertps $32, %xmm4, %xmm1, %xmm1 # xmm1 = xmm1[0,1],xmm4[0],xmm1[3] 1172 vcvtsi2ss %rax, %xmm8, %xmm4 1173 vmovq %xmm5, %rax 1174 vcvtsi2ss %rax, %xmm8, %xmm5 1175 vinsertps $48, %xmm3, %xmm1, %xmm1 # xmm1 = xmm1[0,1,2],xmm3[0] 1176 vmovdqu 240(%rsi,%rcx,8), %xmm3 1177 vpextrq $1, %xmm3, %r10 1178 vmovq %xmm3, %rax 1179 vcvtsi2ss %rax, %xmm8, %xmm3 1180 vinsertps $16, %xmm4, %xmm5, %xmm4 # xmm4 = xmm5[0],xmm4[0],xmm5[2,3] 1181 vcvtsi2ss %r10, %xmm8, %xmm5 1182 vinsertps $32, %xmm3, %xmm4, %xmm3 # xmm3 = xmm4[0,1],xmm3[0],xmm4[3] 1183 vinsertps $48, %xmm5, %xmm3, %xmm3 # xmm3 = xmm3[0,1,2],xmm5[0] 1184 vmovups %xmm0, 64(%rdi,%rcx,4) 1185 vmovups %xmm2, 80(%rdi,%rcx,4) 1186 vmovups %xmm1, 96(%rdi,%rcx,4) 1187 vmovups %xmm3, 112(%rdi,%rcx,4) 1188 addq $32, %rcx 1189 addq $-2, %r9 1190 jne .LBB13_6 1191 testb $1, %r8b 1192 je .LBB13_9 1193 .LBB13_8: 1194 vmovdqu (%rsi,%rcx,8), %xmm0 1195 vpextrq $1, %xmm0, %rax 1196 vmovdqu 16(%rsi,%rcx,8), %xmm1 1197 vcvtsi2ss %rax, %xmm8, %xmm2 1198 vmovq %xmm0, %rax 1199 vcvtsi2ss %rax, %xmm8, %xmm0 1200 vmovq %xmm1, %rax 1201 vcvtsi2ss %rax, %xmm8, %xmm3 1202 vpextrq $1, %xmm1, %rax 1203 vcvtsi2ss %rax, %xmm8, %xmm1 1204 vmovdqu 32(%rsi,%rcx,8), %xmm4 1205 vmovdqu 48(%rsi,%rcx,8), %xmm5 1206 vpextrq $1, %xmm4, %rax 1207 vinsertps $16, %xmm2, %xmm0, %xmm0 # xmm0 = xmm0[0],xmm2[0],xmm0[2,3] 1208 vcvtsi2ss %rax, %xmm8, %xmm2 1209 vmovq %xmm4, %rax 1210 vcvtsi2ss %rax, %xmm8, %xmm4 1211 vmovq %xmm5, %rax 1212 vcvtsi2ss %rax, %xmm8, %xmm6 1213 vinsertps $32, %xmm3, %xmm0, %xmm0 # xmm0 = xmm0[0,1],xmm3[0],xmm0[3] 1214 vinsertps $48, %xmm1, %xmm0, %xmm0 # xmm0 = xmm0[0,1,2],xmm1[0] 1215 vpextrq $1, %xmm5, %rax 1216 vinsertps $16, %xmm2, %xmm4, %xmm1 # xmm1 = xmm4[0],xmm2[0],xmm4[2,3] 1217 vcvtsi2ss %rax, %xmm8, %xmm2 1218 vinsertps $32, %xmm6, %xmm1, %xmm1 # xmm1 = xmm1[0,1],xmm6[0],xmm1[3] 1219 vmovdqu 64(%rsi,%rcx,8), %xmm3 1220 vpextrq $1, %xmm3, %rax 1221 vcvtsi2ss %rax, %xmm8, %xmm4 1222 vmovq %xmm3, %rax 1223 vcvtsi2ss %rax, %xmm8, %xmm3 1224 vmovdqu 80(%rsi,%rcx,8), %xmm5 1225 vmovq %xmm5, %rax 1226 vcvtsi2ss %rax, %xmm8, %xmm6 1227 vinsertps $48, %xmm2, %xmm1, %xmm1 # xmm1 = xmm1[0,1,2],xmm2[0] 1228 vinsertps $16, %xmm4, %xmm3, %xmm2 # xmm2 = xmm3[0],xmm4[0],xmm3[2,3] 1229 vpextrq $1, %xmm5, %rax 1230 vinsertps $32, %xmm6, %xmm2, %xmm2 # xmm2 = xmm2[0,1],xmm6[0],xmm2[3] 1231 vcvtsi2ss %rax, %xmm8, %xmm3 1232 vinsertps $48, %xmm3, %xmm2, %xmm2 # xmm2 = xmm2[0,1,2],xmm3[0] 1233 vmovdqu 96(%rsi,%rcx,8), %xmm3 1234 vpextrq $1, %xmm3, %rax 1235 vcvtsi2ss %rax, %xmm8, %xmm4 1236 vmovq %xmm3, %rax 1237 vcvtsi2ss %rax, %xmm8, %xmm3 1238 vmovdqu 112(%rsi,%rcx,8), %xmm5 1239 vmovq %xmm5, %rax 1240 vcvtsi2ss %rax, %xmm8, %xmm6 1241 vinsertps $16, %xmm4, %xmm3, %xmm3 # xmm3 = xmm3[0],xmm4[0],xmm3[2,3] 1242 vinsertps $32, %xmm6, %xmm3, %xmm3 # xmm3 = xmm3[0,1],xmm6[0],xmm3[3] 1243 vpextrq $1, %xmm5, %rax 1244 vcvtsi2ss %rax, %xmm8, %xmm4 1245 vinsertps $48, %xmm4, %xmm3, %xmm3 # xmm3 = xmm3[0,1,2],xmm4[0] 1246 vmovups %xmm0, (%rdi,%rcx,4) 1247 vmovups %xmm1, 16(%rdi,%rcx,4) 1248 vmovups %xmm2, 32(%rdi,%rcx,4) 1249 vmovups %xmm3, 48(%rdi,%rcx,4) 1250 .LBB13_9: 1251 cmpq %rdx, %r11 1252 je .LBB13_11 1253 .LBB13_10: # =>This Inner Loop Header: Depth=1 1254 vcvtsi2ssq (%rsi,%r11,8), %xmm8, %xmm0 1255 vmovss %xmm0, (%rdi,%r11,4) 1256 addq $1, %r11 1257 cmpq %r11, %rdx 1258 jne .LBB13_10 1259 .LBB13_11: 1260 retq 1261 .LBB13_4: 1262 xorl %ecx, %ecx 1263 testb $1, %r8b 1264 jne .LBB13_8 1265 jmp .LBB13_9 1266 FromInt32_F64_V(double*, int*, unsigned long): # @FromInt32_F64_V(double*, int*, unsigned long) 1267 testq %rdx, %rdx 1268 je .LBB14_11 1269 cmpq $16, %rdx 1270 jae .LBB14_3 1271 xorl %eax, %eax 1272 jmp .LBB14_10 1273 .LBB14_3: 1274 movq %rdx, %rax 1275 andq $-16, %rax 1276 leaq -16(%rax), %rcx 1277 movq %rcx, %r8 1278 shrq $4, %r8 1279 addq $1, %r8 1280 testq %rcx, %rcx 1281 je .LBB14_4 1282 movq %r8, %r9 1283 andq $-2, %r9 1284 xorl %ecx, %ecx 1285 .LBB14_6: # =>This Inner Loop Header: Depth=1 1286 vcvtdq2pd (%rsi,%rcx,4), %ymm0 1287 vcvtdq2pd 16(%rsi,%rcx,4), %ymm1 1288 vcvtdq2pd 32(%rsi,%rcx,4), %ymm2 1289 vcvtdq2pd 48(%rsi,%rcx,4), %ymm3 1290 vmovups %ymm0, (%rdi,%rcx,8) 1291 vmovups %ymm1, 32(%rdi,%rcx,8) 1292 vmovups %ymm2, 64(%rdi,%rcx,8) 1293 vmovups %ymm3, 96(%rdi,%rcx,8) 1294 vcvtdq2pd 64(%rsi,%rcx,4), %ymm0 1295 vcvtdq2pd 80(%rsi,%rcx,4), %ymm1 1296 vcvtdq2pd 96(%rsi,%rcx,4), %ymm2 1297 vcvtdq2pd 112(%rsi,%rcx,4), %ymm3 1298 vmovupd %ymm0, 128(%rdi,%rcx,8) 1299 vmovups %ymm1, 160(%rdi,%rcx,8) 1300 vmovups %ymm2, 192(%rdi,%rcx,8) 1301 vmovups %ymm3, 224(%rdi,%rcx,8) 1302 addq $32, %rcx 1303 addq $-2, %r9 1304 jne .LBB14_6 1305 testb $1, %r8b 1306 je .LBB14_9 1307 .LBB14_8: 1308 vcvtdq2pd (%rsi,%rcx,4), %ymm0 1309 vcvtdq2pd 16(%rsi,%rcx,4), %ymm1 1310 vcvtdq2pd 32(%rsi,%rcx,4), %ymm2 1311 vcvtdq2pd 48(%rsi,%rcx,4), %ymm3 1312 vmovupd %ymm0, (%rdi,%rcx,8) 1313 vmovups %ymm1, 32(%rdi,%rcx,8) 1314 vmovups %ymm2, 64(%rdi,%rcx,8) 1315 vmovups %ymm3, 96(%rdi,%rcx,8) 1316 .LBB14_9: 1317 cmpq %rdx, %rax 1318 je .LBB14_11 1319 .LBB14_10: # =>This Inner Loop Header: Depth=1 1320 vcvtsi2sdl (%rsi,%rax,4), %xmm4, %xmm0 1321 vmovsd %xmm0, (%rdi,%rax,8) 1322 addq $1, %rax 1323 cmpq %rax, %rdx 1324 jne .LBB14_10 1325 .LBB14_11: 1326 vzeroupper 1327 retq 1328 .LBB14_4: 1329 xorl %ecx, %ecx 1330 testb $1, %r8b 1331 jne .LBB14_8 1332 jmp .LBB14_9 1333 FromInt32_F32_V(float*, int*, unsigned long): # @FromInt32_F32_V(float*, int*, unsigned long) 1334 testq %rdx, %rdx 1335 je .LBB15_11 1336 cmpq $32, %rdx 1337 jae .LBB15_3 1338 xorl %eax, %eax 1339 jmp .LBB15_10 1340 .LBB15_3: 1341 movq %rdx, %rax 1342 andq $-32, %rax 1343 leaq -32(%rax), %rcx 1344 movq %rcx, %r8 1345 shrq $5, %r8 1346 addq $1, %r8 1347 testq %rcx, %rcx 1348 je .LBB15_4 1349 movq %r8, %r9 1350 andq $-2, %r9 1351 xorl %ecx, %ecx 1352 .LBB15_6: # =>This Inner Loop Header: Depth=1 1353 vcvtdq2ps (%rsi,%rcx,4), %ymm0 1354 vcvtdq2ps 32(%rsi,%rcx,4), %ymm1 1355 vcvtdq2ps 64(%rsi,%rcx,4), %ymm2 1356 vcvtdq2ps 96(%rsi,%rcx,4), %ymm3 1357 vmovups %ymm0, (%rdi,%rcx,4) 1358 vmovups %ymm1, 32(%rdi,%rcx,4) 1359 vmovups %ymm2, 64(%rdi,%rcx,4) 1360 vmovups %ymm3, 96(%rdi,%rcx,4) 1361 vcvtdq2ps 128(%rsi,%rcx,4), %ymm0 1362 vcvtdq2ps 160(%rsi,%rcx,4), %ymm1 1363 vcvtdq2ps 192(%rsi,%rcx,4), %ymm2 1364 vcvtdq2ps 224(%rsi,%rcx,4), %ymm3 1365 vmovups %ymm0, 128(%rdi,%rcx,4) 1366 vmovups %ymm1, 160(%rdi,%rcx,4) 1367 vmovups %ymm2, 192(%rdi,%rcx,4) 1368 vmovups %ymm3, 224(%rdi,%rcx,4) 1369 addq $64, %rcx 1370 addq $-2, %r9 1371 jne .LBB15_6 1372 testb $1, %r8b 1373 je .LBB15_9 1374 .LBB15_8: 1375 vcvtdq2ps (%rsi,%rcx,4), %ymm0 1376 vcvtdq2ps 32(%rsi,%rcx,4), %ymm1 1377 vcvtdq2ps 64(%rsi,%rcx,4), %ymm2 1378 vcvtdq2ps 96(%rsi,%rcx,4), %ymm3 1379 vmovups %ymm0, (%rdi,%rcx,4) 1380 vmovups %ymm1, 32(%rdi,%rcx,4) 1381 vmovups %ymm2, 64(%rdi,%rcx,4) 1382 vmovups %ymm3, 96(%rdi,%rcx,4) 1383 .LBB15_9: 1384 cmpq %rdx, %rax 1385 je .LBB15_11 1386 .LBB15_10: # =>This Inner Loop Header: Depth=1 1387 vcvtsi2ssl (%rsi,%rax,4), %xmm4, %xmm0 1388 vmovss %xmm0, (%rdi,%rax,4) 1389 addq $1, %rax 1390 cmpq %rax, %rdx 1391 jne .LBB15_10 1392 .LBB15_11: 1393 vzeroupper 1394 retq 1395 .LBB15_4: 1396 xorl %ecx, %ecx 1397 testb $1, %r8b 1398 jne .LBB15_8 1399 jmp .LBB15_9 1400 .LCPI16_0: 1401 .byte 1 # 0x1 1402 .byte 1 # 0x1 1403 .byte 1 # 0x1 1404 .byte 1 # 0x1 1405 .zero 1 1406 .zero 1 1407 .zero 1 1408 .zero 1 1409 .zero 1 1410 .zero 1 1411 .zero 1 1412 .zero 1 1413 .zero 1 1414 .zero 1 1415 .zero 1 1416 .zero 1 1417 ToBool_F64_V(bool*, double*, unsigned long): # @ToBool_F64_V(bool*, double*, unsigned long) 1418 testq %rdx, %rdx 1419 je .LBB16_8 1420 cmpq $16, %rdx 1421 jae .LBB16_3 1422 xorl %eax, %eax 1423 jmp .LBB16_6 1424 .LBB16_3: 1425 movq %rdx, %rax 1426 andq $-16, %rax 1427 xorl %ecx, %ecx 1428 vxorpd %xmm0, %xmm0, %xmm0 1429 vmovdqa .LCPI16_0(%rip), %xmm1 # xmm1 = <1,1,1,1,u,u,u,u,u,u,u,u,u,u,u,u> 1430 .LBB16_4: # =>This Inner Loop Header: Depth=1 1431 vcmpneqpd (%rsi,%rcx,8), %ymm0, %ymm2 1432 vextractf128 $1, %ymm2, %xmm3 1433 vpackssdw %xmm3, %xmm2, %xmm2 1434 vpackssdw %xmm2, %xmm2, %xmm2 1435 vpacksswb %xmm2, %xmm2, %xmm2 1436 vcmpneqpd 32(%rsi,%rcx,8), %ymm0, %ymm3 1437 vpand %xmm1, %xmm2, %xmm2 1438 vextractf128 $1, %ymm3, %xmm4 1439 vpackssdw %xmm4, %xmm3, %xmm3 1440 vpackssdw %xmm3, %xmm3, %xmm3 1441 vpacksswb %xmm3, %xmm3, %xmm3 1442 vpand %xmm1, %xmm3, %xmm3 1443 vcmpneqpd 64(%rsi,%rcx,8), %ymm0, %ymm4 1444 vpunpckldq %xmm3, %xmm2, %xmm2 # xmm2 = xmm2[0],xmm3[0],xmm2[1],xmm3[1] 1445 vextractf128 $1, %ymm4, %xmm3 1446 vpackssdw %xmm3, %xmm4, %xmm3 1447 vpackssdw %xmm3, %xmm3, %xmm3 1448 vpacksswb %xmm3, %xmm3, %xmm3 1449 vpand %xmm1, %xmm3, %xmm3 1450 vcmpneqpd 96(%rsi,%rcx,8), %ymm0, %ymm4 1451 vextractf128 $1, %ymm4, %xmm5 1452 vpackssdw %xmm5, %xmm4, %xmm4 1453 vpackssdw %xmm4, %xmm4, %xmm4 1454 vpacksswb %xmm4, %xmm4, %xmm4 1455 vpand %xmm1, %xmm4, %xmm4 1456 vpbroadcastd %xmm4, %xmm4 1457 vpbroadcastd %xmm3, %xmm3 1458 vpunpckldq %xmm4, %xmm3, %xmm3 # xmm3 = xmm3[0],xmm4[0],xmm3[1],xmm4[1] 1459 vpblendd $12, %xmm3, %xmm2, %xmm2 # xmm2 = xmm2[0,1],xmm3[2,3] 1460 vmovdqu %xmm2, (%rdi,%rcx) 1461 addq $16, %rcx 1462 cmpq %rcx, %rax 1463 jne .LBB16_4 1464 cmpq %rdx, %rax 1465 je .LBB16_8 1466 .LBB16_6: 1467 vxorpd %xmm0, %xmm0, %xmm0 1468 .LBB16_7: # =>This Inner Loop Header: Depth=1 1469 vucomisd (%rsi,%rax,8), %xmm0 1470 setne (%rdi,%rax) 1471 addq $1, %rax 1472 cmpq %rax, %rdx 1473 jne .LBB16_7 1474 .LBB16_8: 1475 vzeroupper 1476 retq 1477 .LCPI17_0: 1478 .byte 1 # 0x1 1479 .byte 1 # 0x1 1480 .byte 1 # 0x1 1481 .byte 1 # 0x1 1482 .byte 1 # 0x1 1483 .byte 1 # 0x1 1484 .byte 1 # 0x1 1485 .byte 1 # 0x1 1486 .zero 1 1487 .zero 1 1488 .zero 1 1489 .zero 1 1490 .zero 1 1491 .zero 1 1492 .zero 1 1493 .zero 1 1494 ToBool_F32_V(bool*, float*, unsigned long): # @ToBool_F32_V(bool*, float*, unsigned long) 1495 testq %rdx, %rdx 1496 je .LBB17_8 1497 cmpq $32, %rdx 1498 jae .LBB17_3 1499 xorl %eax, %eax 1500 jmp .LBB17_6 1501 .LBB17_3: 1502 movq %rdx, %rax 1503 andq $-32, %rax 1504 xorl %ecx, %ecx 1505 vxorps %xmm0, %xmm0, %xmm0 1506 vmovdqa .LCPI17_0(%rip), %xmm1 # xmm1 = <1,1,1,1,1,1,1,1,u,u,u,u,u,u,u,u> 1507 .LBB17_4: # =>This Inner Loop Header: Depth=1 1508 vcmpneqps (%rsi,%rcx,4), %ymm0, %ymm2 1509 vextractf128 $1, %ymm2, %xmm3 1510 vpackssdw %xmm3, %xmm2, %xmm2 1511 vpacksswb %xmm2, %xmm2, %xmm2 1512 vcmpneqps 32(%rsi,%rcx,4), %ymm0, %ymm3 1513 vpand %xmm1, %xmm2, %xmm2 1514 vextractf128 $1, %ymm3, %xmm4 1515 vpackssdw %xmm4, %xmm3, %xmm3 1516 vpacksswb %xmm3, %xmm3, %xmm3 1517 vpand %xmm1, %xmm3, %xmm3 1518 vcmpneqps 64(%rsi,%rcx,4), %ymm0, %ymm4 1519 vextractf128 $1, %ymm4, %xmm5 1520 vpackssdw %xmm5, %xmm4, %xmm4 1521 vpacksswb %xmm4, %xmm4, %xmm4 1522 vcmpneqps 96(%rsi,%rcx,4), %ymm0, %ymm5 1523 vpand %xmm1, %xmm4, %xmm4 1524 vextractf128 $1, %ymm5, %xmm6 1525 vpackssdw %xmm6, %xmm5, %xmm5 1526 vpacksswb %xmm5, %xmm5, %xmm5 1527 vpand %xmm1, %xmm5, %xmm5 1528 vinserti128 $1, %xmm5, %ymm4, %ymm4 1529 vinserti128 $1, %xmm3, %ymm2, %ymm2 1530 vpunpcklqdq %ymm4, %ymm2, %ymm2 # ymm2 = ymm2[0],ymm4[0],ymm2[2],ymm4[2] 1531 vpermq $216, %ymm2, %ymm2 # ymm2 = ymm2[0,2,1,3] 1532 vmovdqu %ymm2, (%rdi,%rcx) 1533 addq $32, %rcx 1534 cmpq %rcx, %rax 1535 jne .LBB17_4 1536 cmpq %rdx, %rax 1537 je .LBB17_8 1538 .LBB17_6: 1539 vxorps %xmm0, %xmm0, %xmm0 1540 .LBB17_7: # =>This Inner Loop Header: Depth=1 1541 vucomiss (%rsi,%rax,4), %xmm0 1542 setne (%rdi,%rax) 1543 addq $1, %rax 1544 cmpq %rax, %rdx 1545 jne .LBB17_7 1546 .LBB17_8: 1547 vzeroupper 1548 retq 1549 ToInt64_F64_V(long*, double*, unsigned long): # @ToInt64_F64_V(long*, double*, unsigned long) 1550 testq %rdx, %rdx 1551 je .LBB18_8 1552 leaq -1(%rdx), %rcx 1553 movl %edx, %r8d 1554 andl $3, %r8d 1555 cmpq $3, %rcx 1556 jae .LBB18_3 1557 xorl %ecx, %ecx 1558 jmp .LBB18_5 1559 .LBB18_3: 1560 andq $-4, %rdx 1561 xorl %ecx, %ecx 1562 .LBB18_4: # =>This Inner Loop Header: Depth=1 1563 vcvttsd2si (%rsi,%rcx,8), %rax 1564 movq %rax, (%rdi,%rcx,8) 1565 vcvttsd2si 8(%rsi,%rcx,8), %rax 1566 movq %rax, 8(%rdi,%rcx,8) 1567 vcvttsd2si 16(%rsi,%rcx,8), %rax 1568 movq %rax, 16(%rdi,%rcx,8) 1569 vcvttsd2si 24(%rsi,%rcx,8), %rax 1570 movq %rax, 24(%rdi,%rcx,8) 1571 addq $4, %rcx 1572 cmpq %rcx, %rdx 1573 jne .LBB18_4 1574 .LBB18_5: 1575 testq %r8, %r8 1576 je .LBB18_8 1577 leaq (%rdi,%rcx,8), %rdx 1578 leaq (%rsi,%rcx,8), %rcx 1579 xorl %esi, %esi 1580 .LBB18_7: # =>This Inner Loop Header: Depth=1 1581 vcvttsd2si (%rcx,%rsi,8), %rax 1582 movq %rax, (%rdx,%rsi,8) 1583 addq $1, %rsi 1584 cmpq %rsi, %r8 1585 jne .LBB18_7 1586 .LBB18_8: 1587 retq 1588 ToInt64_F32_V(long*, float*, unsigned long): # @ToInt64_F32_V(long*, float*, unsigned long) 1589 testq %rdx, %rdx 1590 je .LBB19_8 1591 leaq -1(%rdx), %rcx 1592 movl %edx, %r8d 1593 andl $3, %r8d 1594 cmpq $3, %rcx 1595 jae .LBB19_3 1596 xorl %ecx, %ecx 1597 jmp .LBB19_5 1598 .LBB19_3: 1599 andq $-4, %rdx 1600 xorl %ecx, %ecx 1601 .LBB19_4: # =>This Inner Loop Header: Depth=1 1602 vcvttss2si (%rsi,%rcx,4), %rax 1603 movq %rax, (%rdi,%rcx,8) 1604 vcvttss2si 4(%rsi,%rcx,4), %rax 1605 movq %rax, 8(%rdi,%rcx,8) 1606 vcvttss2si 8(%rsi,%rcx,4), %rax 1607 movq %rax, 16(%rdi,%rcx,8) 1608 vcvttss2si 12(%rsi,%rcx,4), %rax 1609 movq %rax, 24(%rdi,%rcx,8) 1610 addq $4, %rcx 1611 cmpq %rcx, %rdx 1612 jne .LBB19_4 1613 .LBB19_5: 1614 testq %r8, %r8 1615 je .LBB19_8 1616 leaq (%rdi,%rcx,8), %rdx 1617 leaq (%rsi,%rcx,4), %rcx 1618 xorl %esi, %esi 1619 .LBB19_7: # =>This Inner Loop Header: Depth=1 1620 vcvttss2si (%rcx,%rsi,4), %rax 1621 movq %rax, (%rdx,%rsi,8) 1622 addq $1, %rsi 1623 cmpq %rsi, %r8 1624 jne .LBB19_7 1625 .LBB19_8: 1626 retq 1627 ToInt32_F64_V(int*, double*, unsigned long): # @ToInt32_F64_V(int*, double*, unsigned long) 1628 testq %rdx, %rdx 1629 je .LBB20_11 1630 cmpq $16, %rdx 1631 jae .LBB20_3 1632 xorl %eax, %eax 1633 jmp .LBB20_10 1634 .LBB20_3: 1635 movq %rdx, %rax 1636 andq $-16, %rax 1637 leaq -16(%rax), %rcx 1638 movq %rcx, %r8 1639 shrq $4, %r8 1640 addq $1, %r8 1641 testq %rcx, %rcx 1642 je .LBB20_4 1643 movq %r8, %r9 1644 andq $-2, %r9 1645 xorl %ecx, %ecx 1646 .LBB20_6: # =>This Inner Loop Header: Depth=1 1647 vcvttpd2dqy (%rsi,%rcx,8), %xmm0 1648 vcvttpd2dqy 32(%rsi,%rcx,8), %xmm1 1649 vcvttpd2dqy 64(%rsi,%rcx,8), %xmm2 1650 vcvttpd2dqy 96(%rsi,%rcx,8), %xmm3 1651 vmovupd %xmm0, (%rdi,%rcx,4) 1652 vmovupd %xmm1, 16(%rdi,%rcx,4) 1653 vmovupd %xmm2, 32(%rdi,%rcx,4) 1654 vmovupd %xmm3, 48(%rdi,%rcx,4) 1655 vcvttpd2dqy 128(%rsi,%rcx,8), %xmm0 1656 vcvttpd2dqy 160(%rsi,%rcx,8), %xmm1 1657 vcvttpd2dqy 192(%rsi,%rcx,8), %xmm2 1658 vcvttpd2dqy 224(%rsi,%rcx,8), %xmm3 1659 vmovupd %xmm0, 64(%rdi,%rcx,4) 1660 vmovupd %xmm1, 80(%rdi,%rcx,4) 1661 vmovupd %xmm2, 96(%rdi,%rcx,4) 1662 vmovupd %xmm3, 112(%rdi,%rcx,4) 1663 addq $32, %rcx 1664 addq $-2, %r9 1665 jne .LBB20_6 1666 testb $1, %r8b 1667 je .LBB20_9 1668 .LBB20_8: 1669 vcvttpd2dqy (%rsi,%rcx,8), %xmm0 1670 vcvttpd2dqy 32(%rsi,%rcx,8), %xmm1 1671 vcvttpd2dqy 64(%rsi,%rcx,8), %xmm2 1672 vcvttpd2dqy 96(%rsi,%rcx,8), %xmm3 1673 vmovupd %xmm0, (%rdi,%rcx,4) 1674 vmovupd %xmm1, 16(%rdi,%rcx,4) 1675 vmovupd %xmm2, 32(%rdi,%rcx,4) 1676 vmovupd %xmm3, 48(%rdi,%rcx,4) 1677 .LBB20_9: 1678 cmpq %rdx, %rax 1679 je .LBB20_11 1680 .LBB20_10: # =>This Inner Loop Header: Depth=1 1681 vcvttsd2si (%rsi,%rax,8), %ecx 1682 movl %ecx, (%rdi,%rax,4) 1683 addq $1, %rax 1684 cmpq %rax, %rdx 1685 jne .LBB20_10 1686 .LBB20_11: 1687 retq 1688 .LBB20_4: 1689 xorl %ecx, %ecx 1690 testb $1, %r8b 1691 jne .LBB20_8 1692 jmp .LBB20_9 1693 ToInt32_F32_V(int*, float*, unsigned long): # @ToInt32_F32_V(int*, float*, unsigned long) 1694 testq %rdx, %rdx 1695 je .LBB21_11 1696 cmpq $32, %rdx 1697 jae .LBB21_3 1698 xorl %eax, %eax 1699 jmp .LBB21_10 1700 .LBB21_3: 1701 movq %rdx, %rax 1702 andq $-32, %rax 1703 leaq -32(%rax), %rcx 1704 movq %rcx, %r8 1705 shrq $5, %r8 1706 addq $1, %r8 1707 testq %rcx, %rcx 1708 je .LBB21_4 1709 movq %r8, %r9 1710 andq $-2, %r9 1711 xorl %ecx, %ecx 1712 .LBB21_6: # =>This Inner Loop Header: Depth=1 1713 vcvttps2dq (%rsi,%rcx,4), %ymm0 1714 vcvttps2dq 32(%rsi,%rcx,4), %ymm1 1715 vcvttps2dq 64(%rsi,%rcx,4), %ymm2 1716 vcvttps2dq 96(%rsi,%rcx,4), %ymm3 1717 vmovups %ymm0, (%rdi,%rcx,4) 1718 vmovups %ymm1, 32(%rdi,%rcx,4) 1719 vmovups %ymm2, 64(%rdi,%rcx,4) 1720 vmovups %ymm3, 96(%rdi,%rcx,4) 1721 vcvttps2dq 128(%rsi,%rcx,4), %ymm0 1722 vcvttps2dq 160(%rsi,%rcx,4), %ymm1 1723 vcvttps2dq 192(%rsi,%rcx,4), %ymm2 1724 vcvttps2dq 224(%rsi,%rcx,4), %ymm3 1725 vmovups %ymm0, 128(%rdi,%rcx,4) 1726 vmovups %ymm1, 160(%rdi,%rcx,4) 1727 vmovups %ymm2, 192(%rdi,%rcx,4) 1728 vmovups %ymm3, 224(%rdi,%rcx,4) 1729 addq $64, %rcx 1730 addq $-2, %r9 1731 jne .LBB21_6 1732 testb $1, %r8b 1733 je .LBB21_9 1734 .LBB21_8: 1735 vcvttps2dq (%rsi,%rcx,4), %ymm0 1736 vcvttps2dq 32(%rsi,%rcx,4), %ymm1 1737 vcvttps2dq 64(%rsi,%rcx,4), %ymm2 1738 vcvttps2dq 96(%rsi,%rcx,4), %ymm3 1739 vmovups %ymm0, (%rdi,%rcx,4) 1740 vmovups %ymm1, 32(%rdi,%rcx,4) 1741 vmovups %ymm2, 64(%rdi,%rcx,4) 1742 vmovups %ymm3, 96(%rdi,%rcx,4) 1743 .LBB21_9: 1744 cmpq %rdx, %rax 1745 je .LBB21_11 1746 .LBB21_10: # =>This Inner Loop Header: Depth=1 1747 vcvttss2si (%rsi,%rax,4), %ecx 1748 movl %ecx, (%rdi,%rax,4) 1749 addq $1, %rax 1750 cmpq %rax, %rdx 1751 jne .LBB21_10 1752 .LBB21_11: 1753 vzeroupper 1754 retq 1755 .LBB21_4: 1756 xorl %ecx, %ecx 1757 testb $1, %r8b 1758 jne .LBB21_8 1759 jmp .LBB21_9