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