Please use GitHub pull requests for new patches. Avoid migrating existing patches. Phabricator shutdown timeline
Changeset View
Changeset View
Standalone View
Standalone View
test/CodeGen/X86/bitcast-setcc-512.ll
Show First 20 Lines • Show All 200 Lines • ▼ Show 20 Lines | |||||
; AVX512F-NEXT: vpinsrb $15, %eax, %xmm0, %xmm0 | ; AVX512F-NEXT: vpinsrb $15, %eax, %xmm0, %xmm0 | ||||
; AVX512F-NEXT: vpmovsxbd %xmm0, %zmm0 | ; AVX512F-NEXT: vpmovsxbd %xmm0, %zmm0 | ||||
; AVX512F-NEXT: vpslld $31, %zmm0, %zmm0 | ; AVX512F-NEXT: vpslld $31, %zmm0, %zmm0 | ||||
; AVX512F-NEXT: vptestmd %zmm0, %zmm0, %k0 | ; AVX512F-NEXT: vptestmd %zmm0, %zmm0, %k0 | ||||
; AVX512F-NEXT: kmovw %k0, (%rsp) | ; AVX512F-NEXT: kmovw %k0, (%rsp) | ||||
; AVX512F-NEXT: movl (%rsp), %eax | ; AVX512F-NEXT: movl (%rsp), %eax | ||||
; AVX512F-NEXT: movq %rbp, %rsp | ; AVX512F-NEXT: movq %rbp, %rsp | ||||
; AVX512F-NEXT: popq %rbp | ; AVX512F-NEXT: popq %rbp | ||||
; AVX512F-NEXT: .Lcfi3: | |||||
; AVX512F-NEXT: .cfi_def_cfa %rsp, 8 | |||||
; AVX512F-NEXT: vzeroupper | ; AVX512F-NEXT: vzeroupper | ||||
; AVX512F-NEXT: retq | ; AVX512F-NEXT: retq | ||||
; | ; | ||||
; AVX512BW-LABEL: v32i16: | ; AVX512BW-LABEL: v32i16: | ||||
; AVX512BW: # BB#0: | ; AVX512BW: # BB#0: | ||||
; AVX512BW-NEXT: vpcmpgtw %zmm1, %zmm0, %k0 | ; AVX512BW-NEXT: vpcmpgtw %zmm1, %zmm0, %k0 | ||||
; AVX512BW-NEXT: kmovd %k0, %eax | ; AVX512BW-NEXT: kmovd %k0, %eax | ||||
; AVX512BW-NEXT: vzeroupper | ; AVX512BW-NEXT: vzeroupper | ||||
▲ Show 20 Lines • Show All 553 Lines • ▼ Show 20 Lines | |||||
; AVX1-NEXT: andb $1, %al | ; AVX1-NEXT: andb $1, %al | ||||
; AVX1-NEXT: movb %al, {{[0-9]+}}(%rsp) | ; AVX1-NEXT: movb %al, {{[0-9]+}}(%rsp) | ||||
; AVX1-NEXT: movl (%rsp), %ecx | ; AVX1-NEXT: movl (%rsp), %ecx | ||||
; AVX1-NEXT: movl {{[0-9]+}}(%rsp), %eax | ; AVX1-NEXT: movl {{[0-9]+}}(%rsp), %eax | ||||
; AVX1-NEXT: shlq $32, %rax | ; AVX1-NEXT: shlq $32, %rax | ||||
; AVX1-NEXT: orq %rcx, %rax | ; AVX1-NEXT: orq %rcx, %rax | ||||
; AVX1-NEXT: movq %rbp, %rsp | ; AVX1-NEXT: movq %rbp, %rsp | ||||
; AVX1-NEXT: popq %rbp | ; AVX1-NEXT: popq %rbp | ||||
; AVX1-NEXT: .Lcfi3: | |||||
; AVX1-NEXT: .cfi_def_cfa %rsp, 8 | |||||
; AVX1-NEXT: vzeroupper | ; AVX1-NEXT: vzeroupper | ||||
; AVX1-NEXT: retq | ; AVX1-NEXT: retq | ||||
; | ; | ||||
; AVX2-LABEL: v64i8: | ; AVX2-LABEL: v64i8: | ||||
; AVX2: # BB#0: | ; AVX2: # BB#0: | ||||
; AVX2-NEXT: pushq %rbp | ; AVX2-NEXT: pushq %rbp | ||||
; AVX2-NEXT: .Lcfi0: | ; AVX2-NEXT: .Lcfi0: | ||||
; AVX2-NEXT: .cfi_def_cfa_offset 16 | ; AVX2-NEXT: .cfi_def_cfa_offset 16 | ||||
▲ Show 20 Lines • Show All 201 Lines • ▼ Show 20 Lines | |||||
; AVX2-NEXT: andb $1, %al | ; AVX2-NEXT: andb $1, %al | ||||
; AVX2-NEXT: movb %al, {{[0-9]+}}(%rsp) | ; AVX2-NEXT: movb %al, {{[0-9]+}}(%rsp) | ||||
; AVX2-NEXT: movl (%rsp), %ecx | ; AVX2-NEXT: movl (%rsp), %ecx | ||||
; AVX2-NEXT: movl {{[0-9]+}}(%rsp), %eax | ; AVX2-NEXT: movl {{[0-9]+}}(%rsp), %eax | ||||
; AVX2-NEXT: shlq $32, %rax | ; AVX2-NEXT: shlq $32, %rax | ||||
; AVX2-NEXT: orq %rcx, %rax | ; AVX2-NEXT: orq %rcx, %rax | ||||
; AVX2-NEXT: movq %rbp, %rsp | ; AVX2-NEXT: movq %rbp, %rsp | ||||
; AVX2-NEXT: popq %rbp | ; AVX2-NEXT: popq %rbp | ||||
; AVX2-NEXT: .Lcfi3: | |||||
; AVX2-NEXT: .cfi_def_cfa %rsp, 8 | |||||
; AVX2-NEXT: vzeroupper | ; AVX2-NEXT: vzeroupper | ||||
; AVX2-NEXT: retq | ; AVX2-NEXT: retq | ||||
; | ; | ||||
; AVX512F-LABEL: v64i8: | ; AVX512F-LABEL: v64i8: | ||||
; AVX512F: # BB#0: | ; AVX512F: # BB#0: | ||||
; AVX512F-NEXT: pushq %rbp | ; AVX512F-NEXT: pushq %rbp | ||||
; AVX512F-NEXT: .Lcfi3: | |||||
; AVX512F-NEXT: .cfi_def_cfa_offset 16 | |||||
; AVX512F-NEXT: .Lcfi4: | ; AVX512F-NEXT: .Lcfi4: | ||||
; AVX512F-NEXT: .cfi_def_cfa_offset 16 | |||||
; AVX512F-NEXT: .Lcfi5: | |||||
; AVX512F-NEXT: .cfi_offset %rbp, -16 | ; AVX512F-NEXT: .cfi_offset %rbp, -16 | ||||
; AVX512F-NEXT: movq %rsp, %rbp | ; AVX512F-NEXT: movq %rsp, %rbp | ||||
; AVX512F-NEXT: .Lcfi5: | ; AVX512F-NEXT: .Lcfi6: | ||||
; AVX512F-NEXT: .cfi_def_cfa_register %rbp | ; AVX512F-NEXT: .cfi_def_cfa_register %rbp | ||||
; AVX512F-NEXT: andq $-32, %rsp | ; AVX512F-NEXT: andq $-32, %rsp | ||||
; AVX512F-NEXT: subq $64, %rsp | ; AVX512F-NEXT: subq $64, %rsp | ||||
; AVX512F-NEXT: vpcmpgtb %ymm2, %ymm0, %ymm0 | ; AVX512F-NEXT: vpcmpgtb %ymm2, %ymm0, %ymm0 | ||||
; AVX512F-NEXT: vextracti128 $1, %ymm0, %xmm2 | ; AVX512F-NEXT: vextracti128 $1, %ymm0, %xmm2 | ||||
; AVX512F-NEXT: vpmovsxbd %xmm2, %zmm2 | ; AVX512F-NEXT: vpmovsxbd %xmm2, %zmm2 | ||||
; AVX512F-NEXT: vpslld $31, %zmm2, %zmm2 | ; AVX512F-NEXT: vpslld $31, %zmm2, %zmm2 | ||||
; AVX512F-NEXT: vptestmd %zmm2, %zmm2, %k0 | ; AVX512F-NEXT: vptestmd %zmm2, %zmm2, %k0 | ||||
Show All 13 Lines | |||||
; AVX512F-NEXT: vptestmd %zmm0, %zmm0, %k0 | ; AVX512F-NEXT: vptestmd %zmm0, %zmm0, %k0 | ||||
; AVX512F-NEXT: kmovw %k0, {{[0-9]+}}(%rsp) | ; AVX512F-NEXT: kmovw %k0, {{[0-9]+}}(%rsp) | ||||
; AVX512F-NEXT: movl (%rsp), %ecx | ; AVX512F-NEXT: movl (%rsp), %ecx | ||||
; AVX512F-NEXT: movl {{[0-9]+}}(%rsp), %eax | ; AVX512F-NEXT: movl {{[0-9]+}}(%rsp), %eax | ||||
; AVX512F-NEXT: shlq $32, %rax | ; AVX512F-NEXT: shlq $32, %rax | ||||
; AVX512F-NEXT: orq %rcx, %rax | ; AVX512F-NEXT: orq %rcx, %rax | ||||
; AVX512F-NEXT: movq %rbp, %rsp | ; AVX512F-NEXT: movq %rbp, %rsp | ||||
; AVX512F-NEXT: popq %rbp | ; AVX512F-NEXT: popq %rbp | ||||
; AVX512F-NEXT: .Lcfi7: | |||||
; AVX512F-NEXT: .cfi_def_cfa %rsp, 8 | |||||
; AVX512F-NEXT: vzeroupper | ; AVX512F-NEXT: vzeroupper | ||||
; AVX512F-NEXT: retq | ; AVX512F-NEXT: retq | ||||
; | ; | ||||
; AVX512BW-LABEL: v64i8: | ; AVX512BW-LABEL: v64i8: | ||||
; AVX512BW: # BB#0: | ; AVX512BW: # BB#0: | ||||
; AVX512BW-NEXT: vpcmpgtb %zmm1, %zmm0, %k0 | ; AVX512BW-NEXT: vpcmpgtb %zmm1, %zmm0, %k0 | ||||
; AVX512BW-NEXT: kmovq %k0, %rax | ; AVX512BW-NEXT: kmovq %k0, %rax | ||||
; AVX512BW-NEXT: vzeroupper | ; AVX512BW-NEXT: vzeroupper | ||||
▲ Show 20 Lines • Show All 137 Lines • Show Last 20 Lines |