-
-
Save MaskRay/23f0db50e136127fda1b4f83db2488da to your computer and use it in GitHub Desktop.
https://reviews.llvm.org/D115462 SLPVectorizer miscompile
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
.text | |
.file "isa.c" | |
.file 0 "workspace" "cpuinfo/src/x86/isa.c" md5 0x1f066767a48d692a7df3bd0b30681f63 | |
.file 1 "cpuinfo/include" "cpuinfo.h" md5 0xb2d9902226e7212a1e7a8aecca87c8f4 | |
.file 2 "glibc/include/bits" "types.h" md5 0x25679ba19d359e314e48661b21f5aa1f | |
.file 3 "glibc/include/bits" "stdint-uintn.h" md5 0x9754ebe022edbe8d7928fa709e442f0d | |
.section .rodata.cst16,"aM",@progbits,16 | |
.p2align 4 # -- Begin function cpuinfo_x86_detect_isa | |
.LCPI0_0: | |
.quad 6 # 0x6 | |
.quad 230 # 0xe6 | |
.LCPI0_1: | |
.byte 0 # 0x0 | |
.byte 1 # 0x1 | |
.byte 0 # 0x0 | |
.byte 1 # 0x1 | |
.byte 0 # 0x0 | |
.byte 1 # 0x1 | |
.byte 0 # 0x0 | |
.byte 1 # 0x1 | |
.byte 0 # 0x0 | |
.byte 1 # 0x1 | |
.byte 0 # 0x0 | |
.byte 1 # 0x1 | |
.byte 8 # 0x8 | |
.byte 9 # 0x9 | |
.byte 8 # 0x8 | |
.byte 9 # 0x9 | |
.LCPI0_8: | |
.long 12288 # 0x3000 | |
.long 3072 # 0xc00 | |
.long 768 # 0x300 | |
.long 192 # 0xc0 | |
.section .rodata.cst32,"aM",@progbits,32 | |
.p2align 5 | |
.LCPI0_2: | |
.long 0 # 0x0 | |
.long 0 # 0x0 | |
.long 1 # 0x1 | |
.long 1 # 0x1 | |
.long 0 # 0x0 | |
.long 2 # 0x2 | |
.long 2 # 0x2 | |
.long 2 # 0x2 | |
.LCPI0_3: | |
.long 268435456 # 0x10000000 | |
.long 4096 # 0x1000 | |
.long 65536 # 0x10000 | |
.long 2048 # 0x800 | |
.long 536870912 # 0x20000000 | |
.long 32 # 0x20 | |
.long 65536 # 0x10000 | |
.long 67108864 # 0x4000000 | |
.section .rodata,"a",@progbits | |
.p2align 1 | |
.LCPI0_4: | |
.short 1 # 0x1 | |
.LCPI0_5: | |
.byte 1 # 0x1 | |
.LCPI0_6: | |
.byte 8 # 0x8 | |
.LCPI0_7: | |
.byte 128 # 0x80 | |
.text | |
.hidden cpuinfo_x86_detect_isa | |
.globl cpuinfo_x86_detect_isa | |
.type cpuinfo_x86_detect_isa,@function | |
cpuinfo_x86_detect_isa: # @cpuinfo_x86_detect_isa | |
.Lfunc_begin0: | |
.loc 0 42 0 # cpuinfo/src/x86/isa.c:42:0 | |
.cfi_sections .debug_frame | |
.cfi_startproc | |
# %bb.0: # %entry | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:basic_info <- [DW_OP_LLVM_fragment 0 64] $rsi | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:extended_info <- [DW_OP_LLVM_fragment 0 64] $rcx | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:max_base_index <- $r9d | |
pushq %rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset %rbp, -16 | |
movq %rsp, %rbp | |
.cfi_def_cfa_register %rbp | |
pushq %r15 | |
pushq %r14 | |
pushq %r13 | |
pushq %r12 | |
pushq %rbx | |
subq $88, %rsp | |
.cfi_offset %rbx, -56 | |
.cfi_offset %r12, -48 | |
.cfi_offset %r13, -40 | |
.cfi_offset %r14, -32 | |
.cfi_offset %r15, -24 | |
.Ltmp0: | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:max_extended_index <- [DW_OP_plus_uconst 16] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:vendor <- [DW_OP_plus_uconst 24] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:uarch <- [DW_OP_plus_uconst 32] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:isa <- [$rdi+0] | |
movl %r9d, %r12d | |
movq %r8, -48(%rbp) # 8-byte Spill | |
movq %rdx, %r13 | |
movq %rdi, %rbx | |
.Ltmp1: | |
.loc 0 0 0 is_stmt 0 # cpuinfo/src/x86/isa.c:0:0 | |
movq __msan_param_tls@GOTTPOFF(%rip), %rax | |
movq %fs:(%rax), %r15 | |
movq %fs:16(%rax), %r14 | |
movq %fs:32(%rax), %rax | |
.Ltmp2: | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:basic_info <- [DW_OP_LLVM_fragment 64 32] $r13d | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:basic_info <- [DW_OP_LLVM_convert 64 7, DW_OP_LLVM_convert 32 7, DW_OP_stack_value, DW_OP_LLVM_fragment 96 32] undef | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:extended_info <- [DW_OP_constu 48, DW_OP_minus, DW_OP_LLVM_fragment 64 32] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:extended_info <- [DW_OP_LLVM_fragment 96 32] undef | |
movq %rax, -56(%rbp) # 8-byte Spill | |
xorl %eax, %eax | |
movq %rax, -72(%rbp) # 8-byte Spill | |
.loc 0 43 25 prologue_end is_stmt 1 # cpuinfo/src/x86/isa.c:43:25 | |
movl $74, %edx | |
xorl %esi, %esi | |
.Ltmp3: | |
callq __msan_memset@PLT | |
.Ltmp4: | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:isa <- [$rbx+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:max_base_index <- $r12d | |
.loc 0 46 19 # cpuinfo/src/x86/isa.c:46:19 | |
cmpl $7, %r12d | |
.loc 0 46 3 is_stmt 0 # cpuinfo/src/x86/isa.c:46:3 | |
jb .LBB0_1 | |
.Ltmp5: | |
# %bb.2: # %cond.true2 | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:max_base_index <- $r12d | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:max_extended_index <- [DW_OP_plus_uconst 16] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:vendor <- [DW_OP_plus_uconst 24] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:uarch <- [DW_OP_plus_uconst 32] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:isa <- [$rbx+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:basic_info <- [DW_OP_LLVM_fragment 64 32] $r13d | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:extended_info <- [DW_OP_constu 48, DW_OP_minus, DW_OP_LLVM_fragment 64 32] [$rbp+0] | |
#DEBUG_VALUE: cpuidex:eax <- 7 | |
#DEBUG_VALUE: cpuidex:ecx <- 0 | |
.file 4 "cpuinfo/src/x86" "cpuid.h" md5 0xf9e451aa7a48009ba003a034c14f0ac3 | |
.loc 4 56 5 is_stmt 1 # cpuinfo/src/x86/cpuid.h:56:5 | |
xorl %ecx, %ecx | |
movl $7, %eax | |
#APP | |
xchgq %rbx, %r10 | |
cpuid | |
xchgq %rbx, %r10 | |
#NO_APP | |
# kill: def $edx killed $edx def $rdx | |
.Ltmp6: | |
#DEBUG_VALUE: cpuidex:regs <- [DW_OP_LLVM_fragment 32 32] $r10d | |
#DEBUG_VALUE: cpuidex:regs <- [DW_OP_LLVM_fragment 64 32] $ecx | |
#DEBUG_VALUE: cpuidex:regs <- [DW_OP_LLVM_fragment 96 32] $edx | |
#DEBUG_VALUE: cpuidex:regs <- [DW_OP_LLVM_fragment 0 32] undef | |
.loc 4 65 4 # cpuinfo/src/x86/cpuid.h:65:4 | |
shlq $32, %r10 | |
.Ltmp7: | |
shlq $32, %rdx | |
.Ltmp8: | |
movl %ecx, %eax | |
orq %rdx, %rax | |
.Ltmp9: | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:structured_feature_info0 <- [DW_OP_LLVM_fragment 64 64] undef | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:structured_feature_info0 <- [DW_OP_LLVM_fragment 0 64] undef | |
#DEBUG_VALUE: cpuidex:eax <- 7 | |
#DEBUG_VALUE: cpuidex:ecx <- 1 | |
.loc 4 0 4 is_stmt 0 # cpuinfo/src/x86/cpuid.h:0:4 | |
movq %rax, -72(%rbp) # 8-byte Spill | |
.Ltmp10: | |
.loc 4 56 5 is_stmt 1 # cpuinfo/src/x86/cpuid.h:56:5 | |
movl $7, %eax | |
movl $1, %ecx | |
.Ltmp11: | |
#APP | |
xchgq %rbx, %rsi | |
cpuid | |
xchgq %rbx, %rsi | |
#NO_APP | |
movl %eax, %esi | |
.Ltmp12: | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:structured_feature_info1 <- [DW_OP_LLVM_arg 0, DW_OP_constu 32, DW_OP_shl, DW_OP_LLVM_arg 1, DW_OP_LLVM_convert 32 7, DW_OP_LLVM_convert 64 7, DW_OP_or, DW_OP_stack_value, DW_OP_LLVM_fragment 0 64] 0, $esi | |
#DEBUG_VALUE: cpuidex:regs <- [DW_OP_LLVM_fragment 0 32] $eax | |
#DEBUG_VALUE: cpuidex:regs <- [DW_OP_LLVM_fragment 32 32] undef | |
#DEBUG_VALUE: cpuidex:regs <- [DW_OP_LLVM_fragment 64 32] undef | |
#DEBUG_VALUE: cpuidex:regs <- [DW_OP_LLVM_fragment 96 32] undef | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:structured_feature_info1 <- [DW_OP_LLVM_fragment 64 64] undef | |
.loc 0 48 3 # cpuinfo/src/x86/isa.c:48:3 | |
shrb $5, %sil | |
.Ltmp13: | |
andb $1, %sil | |
jmp .LBB0_3 | |
.Ltmp14: | |
.LBB0_1: | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:max_base_index <- $r12d | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:max_extended_index <- [DW_OP_plus_uconst 16] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:vendor <- [DW_OP_plus_uconst 24] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:uarch <- [DW_OP_plus_uconst 32] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:isa <- [$rbx+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:basic_info <- [DW_OP_LLVM_fragment 64 32] $r13d | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:extended_info <- [DW_OP_constu 48, DW_OP_minus, DW_OP_LLVM_fragment 64 32] [$rbp+0] | |
.loc 0 0 3 is_stmt 0 # cpuinfo/src/x86/isa.c:0:3 | |
xorl %r10d, %r10d | |
xorl %esi, %esi | |
.Ltmp15: | |
.LBB0_3: # %cond.end9 | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:max_base_index <- $r12d | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:max_extended_index <- [DW_OP_plus_uconst 16] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:vendor <- [DW_OP_plus_uconst 24] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:uarch <- [DW_OP_plus_uconst 32] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:isa <- [$rbx+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:basic_info <- [DW_OP_LLVM_fragment 64 32] $r13d | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:extended_info <- [DW_OP_constu 48, DW_OP_minus, DW_OP_LLVM_fragment 64 32] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:structured_feature_info1 <- [DW_OP_LLVM_fragment 0 64] undef | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:processor_capacity_info_index <- -2147483640 | |
.loc 0 52 23 is_stmt 1 # cpuinfo/src/x86/isa.c:52:23 | |
cmpl $-2147483640, 16(%rbp) # imm = 0x80000008 | |
.loc 0 52 3 is_stmt 0 # cpuinfo/src/x86/isa.c:52:3 | |
jb .LBB0_4 | |
.Ltmp16: | |
# %bb.5: # %cond.true11 | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:max_base_index <- $r12d | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:max_extended_index <- [DW_OP_plus_uconst 16] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:vendor <- [DW_OP_plus_uconst 24] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:uarch <- [DW_OP_plus_uconst 32] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:isa <- [$rbx+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:basic_info <- [DW_OP_LLVM_fragment 64 32] $r13d | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:extended_info <- [DW_OP_constu 48, DW_OP_minus, DW_OP_LLVM_fragment 64 32] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:processor_capacity_info_index <- -2147483640 | |
#DEBUG_VALUE: cpuid:eax <- -2147483640 | |
.loc 4 30 5 is_stmt 1 # cpuinfo/src/x86/cpuid.h:30:5 | |
movl $-2147483640, %eax # imm = 0x80000008 | |
#APP | |
xchgq %rbx, %rdx | |
cpuid | |
xchgq %rbx, %rdx | |
#NO_APP | |
.Ltmp17: | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:processor_capacity_info <- [DW_OP_LLVM_arg 0, DW_OP_LLVM_convert 32 7, DW_OP_LLVM_convert 64 7, DW_OP_constu 32, DW_OP_shl, DW_OP_LLVM_arg 1, DW_OP_LLVM_convert 32 7, DW_OP_LLVM_convert 64 7, DW_OP_or, DW_OP_stack_value, DW_OP_LLVM_fragment 0 64] undef, undef | |
#DEBUG_VALUE: cpuid:regs <- [DW_OP_LLVM_fragment 32 32] $edx | |
#DEBUG_VALUE: cpuid:regs <- [DW_OP_LLVM_fragment 0 32] undef | |
#DEBUG_VALUE: cpuid:regs <- [DW_OP_LLVM_fragment 64 32] undef | |
#DEBUG_VALUE: cpuid:regs <- [DW_OP_LLVM_fragment 96 32] undef | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:processor_capacity_info <- [DW_OP_LLVM_fragment 64 64] undef | |
.loc 0 52 3 # cpuinfo/src/x86/isa.c:52:3 | |
andb $1, %dl | |
jmp .LBB0_6 | |
.Ltmp18: | |
.LBB0_4: | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:max_base_index <- $r12d | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:max_extended_index <- [DW_OP_plus_uconst 16] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:vendor <- [DW_OP_plus_uconst 24] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:uarch <- [DW_OP_plus_uconst 32] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:isa <- [$rbx+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:basic_info <- [DW_OP_LLVM_fragment 64 32] $r13d | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:extended_info <- [DW_OP_constu 48, DW_OP_minus, DW_OP_LLVM_fragment 64 32] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:processor_capacity_info_index <- -2147483640 | |
.loc 0 0 3 is_stmt 0 # cpuinfo/src/x86/isa.c:0:3 | |
xorl %edx, %edx | |
.Ltmp19: | |
.LBB0_6: # %cond.end18 | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:max_base_index <- $r12d | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:max_extended_index <- [DW_OP_plus_uconst 16] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:vendor <- [DW_OP_plus_uconst 24] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:uarch <- [DW_OP_plus_uconst 32] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:isa <- [$rbx+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:basic_info <- [DW_OP_LLVM_fragment 64 32] $r13d | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:extended_info <- [DW_OP_constu 48, DW_OP_minus, DW_OP_LLVM_fragment 64 32] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:processor_capacity_info_index <- -2147483640 | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:processor_capacity_info <- [DW_OP_LLVM_fragment 0 64] undef | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:avx_regs <- 0 | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:avx512_regs <- 0 | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:mpx_regs <- 0 | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:osxsave_mask <- 201326592 | |
movl $201326592, %ecx # imm = 0xC000000 | |
.Ltmp20: | |
.loc 0 62 22 is_stmt 1 # cpuinfo/src/x86/isa.c:62:22 | |
movl %r13d, %eax | |
andl %ecx, %eax | |
.loc 0 62 38 is_stmt 0 # cpuinfo/src/x86/isa.c:62:38 | |
testl $201326592, %r14d # imm = 0xC000000 | |
.Ltmp21: | |
.loc 0 62 6 # cpuinfo/src/x86/isa.c:62:6 | |
je .LBB0_8 | |
.Ltmp22: | |
# %bb.7: # %cond.end18 | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:max_base_index <- $r12d | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:max_extended_index <- [DW_OP_plus_uconst 16] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:vendor <- [DW_OP_plus_uconst 24] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:uarch <- [DW_OP_plus_uconst 32] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:isa <- [$rbx+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:basic_info <- [DW_OP_LLVM_fragment 64 32] $r13d | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:extended_info <- [DW_OP_constu 48, DW_OP_minus, DW_OP_LLVM_fragment 64 32] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:processor_capacity_info_index <- -2147483640 | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:avx_regs <- 0 | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:avx512_regs <- 0 | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:mpx_regs <- 0 | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:osxsave_mask <- 201326592 | |
.loc 0 0 0 # cpuinfo/src/x86/isa.c:0:0 | |
xorl %eax, %ecx | |
andnl %ecx, %r14d, %ecx | |
.loc 0 62 6 # cpuinfo/src/x86/isa.c:62:6 | |
je .LBB0_25 | |
.Ltmp23: | |
.LBB0_8: | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:max_base_index <- $r12d | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:max_extended_index <- [DW_OP_plus_uconst 16] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:vendor <- [DW_OP_plus_uconst 24] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:uarch <- [DW_OP_plus_uconst 32] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:isa <- [$rbx+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:basic_info <- [DW_OP_LLVM_fragment 64 32] $r13d | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:extended_info <- [DW_OP_constu 48, DW_OP_minus, DW_OP_LLVM_fragment 64 32] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:processor_capacity_info_index <- -2147483640 | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:avx_regs <- 0 | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:avx512_regs <- 0 | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:mpx_regs <- 0 | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:osxsave_mask <- 201326592 | |
.loc 0 62 38 # cpuinfo/src/x86/isa.c:62:38 | |
cmpl $201326592, %eax # imm = 0xC000000 | |
movq %rsi, -104(%rbp) # 8-byte Spill | |
.Ltmp24: | |
.loc 0 62 6 # cpuinfo/src/x86/isa.c:62:6 | |
jne .LBB0_9 | |
.Ltmp25: | |
# %bb.10: # %if.then | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:max_base_index <- $r12d | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:max_extended_index <- [DW_OP_plus_uconst 16] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:vendor <- [DW_OP_plus_uconst 24] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:uarch <- [DW_OP_plus_uconst 32] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:isa <- [$rbx+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:basic_info <- [DW_OP_LLVM_fragment 64 32] $r13d | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:extended_info <- [DW_OP_constu 48, DW_OP_minus, DW_OP_LLVM_fragment 64 32] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:processor_capacity_info_index <- -2147483640 | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:avx_regs <- 0 | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:avx512_regs <- 0 | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:mpx_regs <- 0 | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:osxsave_mask <- 201326592 | |
#DEBUG_VALUE: xcr0_valid_bits <- 0 | |
.loc 0 0 6 # cpuinfo/src/x86/isa.c:0:6 | |
movl %edx, %r8d | |
xorl %esi, %esi | |
.Ltmp26: | |
.loc 0 64 22 is_stmt 1 # cpuinfo/src/x86/isa.c:64:22 | |
cmpl $13, %r12d | |
.Ltmp27: | |
.loc 0 64 7 is_stmt 0 # cpuinfo/src/x86/isa.c:64:7 | |
jb .LBB0_12 | |
.Ltmp28: | |
# %bb.11: # %if.then22 | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:max_base_index <- $r12d | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:max_extended_index <- [DW_OP_plus_uconst 16] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:vendor <- [DW_OP_plus_uconst 24] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:uarch <- [DW_OP_plus_uconst 32] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:isa <- [$rbx+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:basic_info <- [DW_OP_LLVM_fragment 64 32] $r13d | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:extended_info <- [DW_OP_constu 48, DW_OP_minus, DW_OP_LLVM_fragment 64 32] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:processor_capacity_info_index <- -2147483640 | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:avx_regs <- 0 | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:avx512_regs <- 0 | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:mpx_regs <- 0 | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:osxsave_mask <- 201326592 | |
#DEBUG_VALUE: xcr0_valid_bits <- 0 | |
#DEBUG_VALUE: cpuidex:eax <- 13 | |
#DEBUG_VALUE: cpuidex:ecx <- 0 | |
.loc 4 56 5 is_stmt 1 # cpuinfo/src/x86/cpuid.h:56:5 | |
movl $13, %eax | |
xorl %ecx, %ecx | |
#APP | |
xchgq %rbx, %rsi | |
cpuid | |
xchgq %rbx, %rsi | |
#NO_APP | |
.Ltmp29: | |
#DEBUG_VALUE: cpuidex:regs <- [DW_OP_LLVM_fragment 0 32] $eax | |
#DEBUG_VALUE: cpuidex:regs <- [DW_OP_LLVM_fragment 32 32] undef | |
#DEBUG_VALUE: cpuidex:regs <- [DW_OP_LLVM_fragment 64 32] undef | |
#DEBUG_VALUE: cpuidex:regs <- [DW_OP_LLVM_fragment 96 32] undef | |
.loc 4 65 4 # cpuinfo/src/x86/cpuid.h:65:4 | |
movl %eax, %esi | |
.Ltmp30: | |
#DEBUG_VALUE: regs <- [DW_OP_LLVM_arg 0, DW_OP_LLVM_arg 1, DW_OP_LLVM_convert 32 7, DW_OP_LLVM_convert 64 7, DW_OP_or, DW_OP_stack_value, DW_OP_LLVM_fragment 64 64] undef, undef | |
#DEBUG_VALUE: regs <- [DW_OP_LLVM_arg 0, DW_OP_LLVM_convert 32 7, DW_OP_LLVM_convert 64 7, DW_OP_constu 32, DW_OP_shl, DW_OP_LLVM_arg 1, DW_OP_or, DW_OP_stack_value, DW_OP_LLVM_fragment 0 64] undef, undef | |
#DEBUG_VALUE: xcr0_valid_bits <- $eax | |
.LBB0_12: # %if.end | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:max_base_index <- $r12d | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:max_extended_index <- [DW_OP_plus_uconst 16] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:vendor <- [DW_OP_plus_uconst 24] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:uarch <- [DW_OP_plus_uconst 32] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:isa <- [$rbx+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:basic_info <- [DW_OP_LLVM_fragment 64 32] $r13d | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:extended_info <- [DW_OP_constu 48, DW_OP_minus, DW_OP_LLVM_fragment 64 32] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:processor_capacity_info_index <- -2147483640 | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:avx_regs <- 0 | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:avx512_regs <- 0 | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:mpx_regs <- 0 | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:osxsave_mask <- 201326592 | |
#DEBUG_VALUE: xcr0_valid_bits <- $rsi | |
#DEBUG_VALUE: xgetbv:ext_ctrl_reg <- 0 | |
.loc 4 75 3 # cpuinfo/src/x86/cpuid.h:75:3 | |
xorl %ecx, %ecx | |
#APP | |
.byte 15 | |
.byte 1 | |
.byte 208 | |
#NO_APP | |
.Ltmp31: | |
.loc 0 77 7 # cpuinfo/src/x86/isa.c:77:7 | |
vmovd %eax, %xmm0 | |
.Ltmp32: | |
#DEBUG_VALUE: xgetbv:lo <- $eax | |
#DEBUG_VALUE: xgetbv:hi <- undef | |
.loc 4 76 34 # cpuinfo/src/x86/cpuid.h:76:34 | |
notl %eax | |
.Ltmp33: | |
#DEBUG_VALUE: avx_regs_mask <- 6 | |
#DEBUG_VALUE: xfeature_enabled_mask <- [DW_OP_LLVM_arg 0, DW_OP_constu 32, DW_OP_shl, DW_OP_LLVM_arg 1, DW_OP_or, DW_OP_stack_value] undef | |
.loc 0 77 24 # cpuinfo/src/x86/isa.c:77:24 | |
movl %esi, %ecx | |
notl %ecx | |
.Ltmp34: | |
.loc 0 100 41 # cpuinfo/src/x86/isa.c:100:41 | |
orl %eax, %ecx | |
.Ltmp35: | |
.loc 0 77 24 # cpuinfo/src/x86/isa.c:77:24 | |
vmovq %rsi, %xmm1 | |
vpbroadcastq %xmm1, %xmm1 | |
vmovdqa .LCPI0_0(%rip), %xmm2 # xmm2 = [6,230] | |
vpand %xmm2, %xmm1, %xmm1 | |
.Ltmp36: | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:avx_regs <- undef | |
#DEBUG_VALUE: avx512_regs_mask <- 230 | |
.loc 0 77 41 is_stmt 0 # cpuinfo/src/x86/isa.c:77:41 | |
vpcmpeqq %xmm2, %xmm1, %xmm1 | |
.Ltmp37: | |
.loc 0 77 7 # cpuinfo/src/x86/isa.c:77:7 | |
vpbroadcastd %xmm0, %xmm0 | |
vpand %xmm2, %xmm0, %xmm0 | |
vpcmpeqq %xmm2, %xmm0, %xmm0 | |
vpand %xmm0, %xmm1, %xmm0 | |
.Ltmp38: | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:avx512_regs <- undef | |
#DEBUG_VALUE: mpx_regs_mask <- 24 | |
.loc 0 100 7 is_stmt 1 # cpuinfo/src/x86/isa.c:100:7 | |
testb $24, %cl | |
sete %al | |
.Ltmp39: | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:mpx_regs <- undef | |
.loc 0 0 7 is_stmt 0 # cpuinfo/src/x86/isa.c:0:7 | |
movl %eax, -60(%rbp) # 4-byte Spill | |
movl %r8d, %edx | |
jmp .LBB0_13 | |
.Ltmp40: | |
.LBB0_9: | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:max_base_index <- $r12d | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:max_extended_index <- [DW_OP_plus_uconst 16] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:vendor <- [DW_OP_plus_uconst 24] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:uarch <- [DW_OP_plus_uconst 32] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:isa <- [$rbx+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:basic_info <- [DW_OP_LLVM_fragment 64 32] $r13d | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:extended_info <- [DW_OP_constu 48, DW_OP_minus, DW_OP_LLVM_fragment 64 32] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:processor_capacity_info_index <- -2147483640 | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:avx_regs <- 0 | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:avx512_regs <- 0 | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:mpx_regs <- 0 | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:osxsave_mask <- 201326592 | |
vpxor %xmm0, %xmm0, %xmm0 | |
movl $0, -60(%rbp) # 4-byte Folded Spill | |
.Ltmp41: | |
.LBB0_13: # %if.end54 | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:max_base_index <- $r12d | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:max_extended_index <- [DW_OP_plus_uconst 16] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:vendor <- [DW_OP_plus_uconst 24] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:uarch <- [DW_OP_plus_uconst 32] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:isa <- [$rbx+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:basic_info <- [DW_OP_LLVM_fragment 64 32] $r13d | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:extended_info <- [DW_OP_constu 48, DW_OP_minus, DW_OP_LLVM_fragment 64 32] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:processor_capacity_info_index <- -2147483640 | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:osxsave_mask <- 201326592 | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:avx_regs <- undef | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:avx512_regs <- undef | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:mpx_regs <- undef | |
.loc 0 118 15 is_stmt 1 # cpuinfo/src/x86/isa.c:118:15 | |
testq %r15, %r15 | |
jne .LBB0_26 | |
.Ltmp42: | |
# %bb.14: | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:max_base_index <- $r12d | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:max_extended_index <- [DW_OP_plus_uconst 16] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:vendor <- [DW_OP_plus_uconst 24] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:uarch <- [DW_OP_plus_uconst 32] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:isa <- [$rbx+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:basic_info <- [DW_OP_LLVM_fragment 64 32] $r13d | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:extended_info <- [DW_OP_constu 48, DW_OP_minus, DW_OP_LLVM_fragment 64 32] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:processor_capacity_info_index <- -2147483640 | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:osxsave_mask <- 201326592 | |
.loc 0 0 15 is_stmt 0 # cpuinfo/src/x86/isa.c:0:15 | |
movq -56(%rbp), %r15 # 8-byte Reload | |
movq %r15, %r12 | |
.Ltmp43: | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:max_base_index <- [DW_OP_LLVM_entry_value 1] $r9d | |
shrq $32, %r12 | |
movq -48(%rbp), %r9 # 8-byte Reload | |
shrq $32, %r9 | |
.Ltmp44: | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:extended_info <- [DW_OP_LLVM_fragment 96 32] $r9d | |
movq %r14, %rax | |
shrq $32, %rax | |
movq %r13, %rdi | |
shrq $32, %rdi | |
.Ltmp45: | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:basic_info <- [DW_OP_LLVM_convert 64 7, DW_OP_LLVM_convert 32 7, DW_OP_stack_value, DW_OP_LLVM_fragment 96 32] $rdi | |
leaq 2(%rbx), %rcx | |
movq %r14, %rsi | |
shrq $43, %rsi | |
andb $1, %sil | |
movabsq $87960930222080, %r8 # imm = 0x500000000000 | |
.loc 0 118 15 # cpuinfo/src/x86/isa.c:118:15 | |
xorq %r8, %rcx | |
movb %sil, (%rcx) | |
movq %r13, %rcx | |
shrq $43, %rcx | |
andb $1, %cl | |
movb %cl, 2(%rbx) | |
.loc 0 133 31 is_stmt 1 # cpuinfo/src/x86/isa.c:133:31 | |
movl %r9d, %ecx | |
notl %ecx | |
andnl %r12d, %edi, %esi | |
orl %r12d, %ecx | |
andl %ecx, %eax | |
orl %esi, %eax | |
movl %eax, %r11d | |
orq %r9, %rdi | |
.Ltmp46: | |
.loc 0 133 6 is_stmt 0 # cpuinfo/src/x86/isa.c:133:6 | |
leaq 3(%rbx), %rsi | |
.loc 0 133 10 # cpuinfo/src/x86/isa.c:133:10 | |
shrb $5, %al | |
andb $1, %al | |
xorq %r8, %rsi | |
movb %al, (%rsi) | |
movl %edi, %eax | |
shrb $5, %al | |
andb $1, %al | |
movb %al, 3(%rbx) | |
.loc 0 139 6 is_stmt 1 # cpuinfo/src/x86/isa.c:139:6 | |
leaq 4(%rbx), %rax | |
.loc 0 139 13 is_stmt 0 # cpuinfo/src/x86/isa.c:139:13 | |
xorq %r8, %rax | |
xorl %ecx, %ecx | |
movb %cl, (%rax) | |
movb %dl, 4(%rbx) | |
.loc 0 145 6 is_stmt 1 # cpuinfo/src/x86/isa.c:145:6 | |
leaq 5(%rbx), %rax | |
.loc 0 145 14 is_stmt 0 # cpuinfo/src/x86/isa.c:145:14 | |
movq %r14, %rsi | |
shrq $51, %rsi | |
andb $1, %sil | |
xorq %r8, %rax | |
movb %sil, (%rax) | |
movq %r13, %rax | |
shrq $51, %rax | |
andb $1, %al | |
movb %al, 5(%rbx) | |
.loc 0 151 6 is_stmt 1 # cpuinfo/src/x86/isa.c:151:6 | |
leaq 6(%rbx), %rax | |
.loc 0 151 17 is_stmt 0 # cpuinfo/src/x86/isa.c:151:17 | |
movq %r10, %rsi | |
shrq $55, %rsi | |
andb $1, %sil | |
xorq %r8, %rax | |
movb %cl, (%rax) | |
movb %sil, 6(%rbx) | |
.loc 0 157 6 is_stmt 1 # cpuinfo/src/x86/isa.c:157:6 | |
leaq 7(%rbx), %rax | |
.loc 0 157 12 is_stmt 0 # cpuinfo/src/x86/isa.c:157:12 | |
movl %r14d, %ecx | |
shrb $3, %cl | |
movl %r13d, %edx | |
shrb $3, %dl | |
andb $1, %cl | |
andb $1, %dl | |
xorq %r8, %rax | |
movb %cl, (%rax) | |
movb %dl, 7(%rbx) | |
.loc 0 163 6 is_stmt 1 # cpuinfo/src/x86/isa.c:163:6 | |
leaq 8(%rbx), %rax | |
.loc 0 163 13 is_stmt 0 # cpuinfo/src/x86/isa.c:163:13 | |
movl %r15d, %ecx | |
shrl $29, %ecx | |
andb $1, %cl | |
xorq %r8, %rax | |
movb %cl, (%rax) | |
.loc 0 133 31 is_stmt 1 # cpuinfo/src/x86/isa.c:133:31 | |
shrl $24, %r11d | |
movq -48(%rbp), %rsi # 8-byte Reload | |
.loc 0 163 13 # cpuinfo/src/x86/isa.c:163:13 | |
movl %esi, %eax | |
shrl $29, %eax | |
andb $1, %al | |
movb %al, 8(%rbx) | |
.Ltmp47: | |
.loc 0 178 8 # cpuinfo/src/x86/isa.c:178:8 | |
leaq 9(%rbx), %rax | |
.loc 0 178 15 is_stmt 0 # cpuinfo/src/x86/isa.c:178:15 | |
andb $1, %r11b | |
xorq %r8, %rax | |
movb %r11b, (%rax) | |
shrq $24, %rdi | |
andb $1, %dil | |
movb %dil, 9(%rbx) | |
movq %r9, %rdi | |
.Ltmp48: | |
.loc 0 186 6 is_stmt 1 # cpuinfo/src/x86/isa.c:186:6 | |
leaq 10(%rbx), %rax | |
movq %r14, %r9 | |
.Ltmp49: | |
.loc 0 186 12 is_stmt 0 # cpuinfo/src/x86/isa.c:186:12 | |
movl %r14d, %ecx | |
shrl $26, %ecx | |
andb $1, %cl | |
xorq %r8, %rax | |
movb %cl, (%rax) | |
movq %r10, %rdx | |
movq %r13, %r11 | |
movl %r13d, %eax | |
shrl $26, %eax | |
andb $1, %al | |
movb %al, 10(%rbx) | |
.loc 0 215 6 is_stmt 1 # cpuinfo/src/x86/isa.c:215:6 | |
leaq 11(%rbx), %rax | |
.loc 0 215 18 is_stmt 0 # cpuinfo/src/x86/isa.c:215:18 | |
shrq $63, %r15 | |
xorq %r8, %rax | |
movb %r15b, (%rax) | |
movq %rsi, %rax | |
shrq $63, %rax | |
movb %al, 11(%rbx) | |
.loc 0 221 6 is_stmt 1 # cpuinfo/src/x86/isa.c:221:6 | |
leaq 12(%rbx), %rax | |
.loc 0 221 23 is_stmt 0 # cpuinfo/src/x86/isa.c:221:23 | |
movl %r12d, %ecx | |
shrl $30, %ecx | |
andb $1, %cl | |
xorq %r8, %rax | |
movb %cl, (%rax) | |
movl 24(%rbp), %r10d | |
vpshufb .LCPI0_1(%rip), %xmm0, %xmm1 # xmm1 = xmm0[0,1,0,1,0,1,0,1,0,1,0,1,8,9,8,9] | |
movl %edi, %eax | |
shrl $30, %eax | |
andb $1, %al | |
movb %al, 12(%rbx) | |
movq %rdx, -96(%rbp) # 8-byte Spill | |
.loc 0 151 47 is_stmt 1 # cpuinfo/src/x86/isa.c:151:47 | |
movq %rdx, %r15 | |
shrq $32, %r15 | |
.loc 0 239 2 # cpuinfo/src/x86/isa.c:239:2 | |
cmpl $1, %r10d | |
je .LBB0_15 | |
.Ltmp50: | |
# %bb.16: | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:max_base_index <- [DW_OP_LLVM_entry_value 1] $r9d | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:max_extended_index <- [DW_OP_plus_uconst 16] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:vendor <- [DW_OP_plus_uconst 24] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:uarch <- [DW_OP_plus_uconst 32] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:isa <- [$rbx+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:basic_info <- [DW_OP_LLVM_fragment 64 32] $r13d | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:extended_info <- [DW_OP_LLVM_fragment 64 32] $esi | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:extended_info <- [DW_OP_LLVM_fragment 96 32] $edi | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:processor_capacity_info_index <- -2147483640 | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:osxsave_mask <- 201326592 | |
cmpl $16, %r10d | |
je .LBB0_18 | |
.Ltmp51: | |
# %bb.17: | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:max_base_index <- [DW_OP_LLVM_entry_value 1] $r9d | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:max_extended_index <- [DW_OP_plus_uconst 16] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:vendor <- [DW_OP_plus_uconst 24] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:uarch <- [DW_OP_plus_uconst 32] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:isa <- [$rbx+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:basic_info <- [DW_OP_LLVM_fragment 64 32] $r13d | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:extended_info <- [DW_OP_LLVM_fragment 64 32] $esi | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:extended_info <- [DW_OP_LLVM_fragment 96 32] $edi | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:processor_capacity_info_index <- -2147483640 | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:osxsave_mask <- 201326592 | |
cmpl $2, %r10d | |
jne .LBB0_19 | |
.Ltmp52: | |
.LBB0_18: # %sw.bb | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:max_base_index <- [DW_OP_LLVM_entry_value 1] $r9d | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:max_extended_index <- [DW_OP_plus_uconst 16] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:vendor <- [DW_OP_plus_uconst 24] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:uarch <- [DW_OP_plus_uconst 32] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:isa <- [$rbx+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:basic_info <- [DW_OP_LLVM_fragment 64 32] $r13d | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:extended_info <- [DW_OP_LLVM_fragment 64 32] $esi | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:extended_info <- [DW_OP_LLVM_fragment 96 32] $edi | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:processor_capacity_info_index <- -2147483640 | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:osxsave_mask <- 201326592 | |
.loc 0 0 2 is_stmt 0 # cpuinfo/src/x86/isa.c:0:2 | |
movl $256, %eax # imm = 0x100 | |
movq -56(%rbp), %rcx # 8-byte Reload | |
# kill: def $ecx killed $ecx killed $rcx | |
.Ltmp53: | |
.loc 0 248 41 is_stmt 1 # cpuinfo/src/x86/isa.c:248:41 | |
andl %eax, %ecx | |
andl -48(%rbp), %eax # 4-byte Folded Reload | |
movl $-536870912, %edx # imm = 0xE0000000 | |
.loc 0 248 86 is_stmt 0 # cpuinfo/src/x86/isa.c:248:86 | |
movl %r12d, %esi | |
.Ltmp54: | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:extended_info <- [DW_OP_constu 48, DW_OP_minus, DW_OP_LLVM_fragment 64 32] [$rbp+0] | |
andl %edx, %esi | |
.loc 0 248 65 # cpuinfo/src/x86/isa.c:248:65 | |
orl %ecx, %esi | |
.loc 0 248 86 # cpuinfo/src/x86/isa.c:248:86 | |
andl %edi, %edx | |
.loc 0 248 65 # cpuinfo/src/x86/isa.c:248:65 | |
orl %eax, %edx | |
.loc 0 248 20 # cpuinfo/src/x86/isa.c:248:20 | |
testl %esi, %esi | |
setne %cl | |
andnl %edx, %esi, %eax | |
sete %al | |
andb %cl, %al | |
testl %edx, %edx | |
setne %cl | |
jmp .LBB0_20 | |
.Ltmp55: | |
.LBB0_15: | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:max_base_index <- [DW_OP_LLVM_entry_value 1] $r9d | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:max_extended_index <- [DW_OP_plus_uconst 16] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:vendor <- [DW_OP_plus_uconst 24] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:uarch <- [DW_OP_plus_uconst 32] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:isa <- [$rbx+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:basic_info <- [DW_OP_LLVM_fragment 64 32] $r13d | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:extended_info <- [DW_OP_LLVM_fragment 64 32] $esi | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:extended_info <- [DW_OP_LLVM_fragment 96 32] $edi | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:processor_capacity_info_index <- -2147483640 | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:osxsave_mask <- 201326592 | |
.loc 0 0 20 # cpuinfo/src/x86/isa.c:0:20 | |
movl $-1073741824, %eax # imm = 0xC0000000 | |
jmp .LBB0_21 | |
.Ltmp56: | |
.LBB0_19: # %sw.default132 | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:max_base_index <- [DW_OP_LLVM_entry_value 1] $r9d | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:max_extended_index <- [DW_OP_plus_uconst 16] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:vendor <- [DW_OP_plus_uconst 24] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:uarch <- [DW_OP_plus_uconst 32] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:isa <- [$rbx+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:basic_info <- [DW_OP_LLVM_fragment 64 32] $r13d | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:extended_info <- [DW_OP_LLVM_fragment 64 32] $esi | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:extended_info <- [DW_OP_LLVM_fragment 96 32] $edi | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:processor_capacity_info_index <- -2147483640 | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:osxsave_mask <- 201326592 | |
.loc 0 255 20 is_stmt 1 # cpuinfo/src/x86/isa.c:255:20 | |
andnl %edi, %r12d, %eax | |
movl $1073741824, %ecx # imm = 0x40000000 | |
cmpl %ecx, %eax | |
setae %dl | |
movl %edi, %eax | |
orl %r12d, %eax | |
cmpl %ecx, %eax | |
setae %al | |
xorb %dl, %al | |
cmpl %ecx, %edi | |
setae %cl | |
.Ltmp57: | |
.LBB0_20: # %sw.epilog140 | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:max_base_index <- [DW_OP_LLVM_entry_value 1] $r9d | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:max_extended_index <- [DW_OP_plus_uconst 16] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:vendor <- [DW_OP_plus_uconst 24] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:uarch <- [DW_OP_plus_uconst 32] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:isa <- [$rbx+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:basic_info <- [DW_OP_LLVM_fragment 64 32] $r13d | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:extended_info <- [DW_OP_constu 48, DW_OP_minus, DW_OP_LLVM_fragment 64 32] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:extended_info <- [DW_OP_LLVM_fragment 96 32] $edi | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:processor_capacity_info_index <- -2147483640 | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:osxsave_mask <- 201326592 | |
.loc 0 0 0 is_stmt 0 # cpuinfo/src/x86/isa.c:0:0 | |
leaq 13(%rbx), %rdx | |
xorq %r8, %rdx | |
movb %al, (%rdx) | |
movb %cl, 13(%rbx) | |
.Ltmp58: | |
.loc 0 267 2 is_stmt 1 # cpuinfo/src/x86/isa.c:267:2 | |
xorl %ecx, %ecx | |
cmpl $16, %r10d | |
sete %cl | |
orl $-2, %ecx | |
shll $29, %ecx | |
cmpl $2, %r10d | |
movl $-536870912, %eax # imm = 0xE0000000 | |
cmovnel %ecx, %eax | |
.Ltmp59: | |
.LBB0_21: # %sw.epilog162 | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:max_base_index <- [DW_OP_LLVM_entry_value 1] $r9d | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:max_extended_index <- [DW_OP_plus_uconst 16] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:vendor <- [DW_OP_plus_uconst 24] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:uarch <- [DW_OP_plus_uconst 32] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:isa <- [$rbx+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:basic_info <- [DW_OP_LLVM_fragment 64 32] $r13d | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:extended_info <- [DW_OP_constu 48, DW_OP_minus, DW_OP_LLVM_fragment 64 32] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:extended_info <- [DW_OP_LLVM_fragment 96 32] $edi | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:processor_capacity_info_index <- -2147483640 | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:osxsave_mask <- 201326592 | |
.loc 0 0 0 is_stmt 0 # cpuinfo/src/x86/isa.c:0:0 | |
movl %eax, %ecx | |
movq %r12, -120(%rbp) # 8-byte Spill | |
andl %r12d, %ecx | |
movq %rdi, -112(%rbp) # 8-byte Spill | |
.Ltmp60: | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:extended_info <- [DW_OP_constu 112, DW_OP_minus, DW_OP_LLVM_fragment 96 32] [$rbp+0] | |
andl %edi, %eax | |
movl %eax, %edx | |
notl %edx | |
orl %ecx, %edx | |
movq -56(%rbp), %r14 # 8-byte Reload | |
andl %r14d, %edx | |
movl $256, %r10d # imm = 0x100 | |
movq -48(%rbp), %rsi # 8-byte Reload | |
movl %esi, %edi | |
movq %rsi, %r12 | |
andl %r10d, %edi | |
andnl %ecx, %edi, %ecx | |
andl %r10d, %edx | |
orl %ecx, %edx | |
orl %eax, %edi | |
testl %edx, %edx | |
setne %al | |
andnl %edi, %edx, %ecx | |
sete %cl | |
andb %al, %cl | |
leaq 14(%rbx), %rax | |
xorq %r8, %rax | |
testl %edi, %edi | |
movb %cl, (%rax) | |
setne 14(%rbx) | |
.Ltmp61: | |
.loc 0 282 6 is_stmt 1 # cpuinfo/src/x86/isa.c:282:6 | |
leaq 15(%rbx), %rax | |
movq -72(%rbp), %r10 # 8-byte Reload | |
.loc 0 282 18 is_stmt 0 # cpuinfo/src/x86/isa.c:282:18 | |
movl %r10d, %ecx | |
andb $1, %cl | |
xorq %r8, %rax | |
xorl %edi, %edi | |
movb %dil, (%rax) | |
movb %cl, 15(%rbx) | |
.loc 0 302 6 is_stmt 1 # cpuinfo/src/x86/isa.c:302:6 | |
leaq 16(%rbx), %rax | |
movq %r9, %r13 | |
.Ltmp62: | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:basic_info <- [DW_OP_LLVM_fragment 64 32] $r11d | |
.loc 0 302 11 is_stmt 0 # cpuinfo/src/x86/isa.c:302:11 | |
movl %r13d, %ecx | |
andb $1, %cl | |
movq %r11, %r8 | |
movl %r8d, %edx | |
andb $1, %dl | |
movabsq $87960930222080, %rsi # imm = 0x500000000000 | |
xorq %rsi, %rax | |
movb %cl, (%rax) | |
movb %dl, 16(%rbx) | |
.loc 0 334 6 is_stmt 1 # cpuinfo/src/x86/isa.c:334:6 | |
leaq 17(%rbx), %rax | |
.loc 0 334 12 is_stmt 0 # cpuinfo/src/x86/isa.c:334:12 | |
movq %r9, %rcx | |
shrq $9, %rcx | |
movq %r11, %rdx | |
shrq $9, %rdx | |
andb $1, %cl | |
andb $1, %dl | |
movabsq $87960930222080, %rsi # imm = 0x500000000000 | |
xorq %rsi, %rax | |
movb %cl, (%rax) | |
movb %dl, 17(%rbx) | |
.loc 0 341 6 is_stmt 1 # cpuinfo/src/x86/isa.c:341:6 | |
leaq 18(%rbx), %rax | |
.loc 0 341 13 is_stmt 0 # cpuinfo/src/x86/isa.c:341:13 | |
movq %r9, %rcx | |
shrq $19, %rcx | |
movq %r11, %rdx | |
shrq $19, %rdx | |
andb $1, %cl | |
andb $1, %dl | |
movabsq $87960930222080, %rsi # imm = 0x500000000000 | |
xorq %rsi, %rax | |
movb %cl, (%rax) | |
movb %dl, 18(%rbx) | |
.loc 0 347 6 is_stmt 1 # cpuinfo/src/x86/isa.c:347:6 | |
leaq 19(%rbx), %rax | |
.loc 0 347 13 is_stmt 0 # cpuinfo/src/x86/isa.c:347:13 | |
movq %r9, %rcx | |
shrq $20, %rcx | |
movq %r11, %rdx | |
shrq $20, %rdx | |
andb $1, %cl | |
andb $1, %dl | |
movabsq $87960930222080, %rsi # imm = 0x500000000000 | |
xorq %rsi, %rax | |
movb %cl, (%rax) | |
movb %dl, 19(%rbx) | |
.loc 0 353 6 is_stmt 1 # cpuinfo/src/x86/isa.c:353:6 | |
leaq 20(%rbx), %rax | |
.loc 0 353 12 is_stmt 0 # cpuinfo/src/x86/isa.c:353:12 | |
movl %r14d, %ecx | |
shrb $6, %cl | |
movl %r12d, %edx | |
shrb $6, %dl | |
andb $1, %cl | |
andb $1, %dl | |
movabsq $87960930222080, %rsi # imm = 0x500000000000 | |
xorq %rsi, %rax | |
movb %cl, (%rax) | |
movb %dl, 20(%rbx) | |
.loc 0 359 6 is_stmt 1 # cpuinfo/src/x86/isa.c:359:6 | |
leaq 21(%rbx), %rax | |
.loc 0 359 21 is_stmt 0 # cpuinfo/src/x86/isa.c:359:21 | |
movl %r14d, %ecx | |
shrb $7, %cl | |
movl %r12d, %edx | |
shrb $7, %dl | |
movabsq $87960930222080, %rsi # imm = 0x500000000000 | |
xorq %rsi, %rax | |
movb %cl, (%rax) | |
movb %dl, 21(%rbx) | |
.loc 0 365 21 is_stmt 1 # cpuinfo/src/x86/isa.c:365:21 | |
vmovd %r13d, %xmm2 | |
vpinsrd $1, %r14d, %xmm2, %xmm2 | |
vmovd %r8d, %xmm3 | |
vpinsrd $1, %r12d, %xmm3, %xmm3 | |
vpinsrd $2, %r15d, %xmm3, %xmm3 | |
vmovq %xmm2, %xmm2 # xmm2 = xmm2[0],zero | |
vmovdqa .LCPI0_2(%rip), %ymm4 # ymm4 = [0,0,1,1,0,2,2,2] | |
vpermd %ymm2, %ymm4, %ymm2 | |
vpermd %ymm3, %ymm4, %ymm3 | |
vmovdqa .LCPI0_3(%rip), %ymm4 # ymm4 = [268435456,4096,65536,2048,536870912,32,65536,67108864] | |
vpand %ymm4, %ymm2, %ymm2 | |
vpand %ymm4, %ymm3, %ymm3 | |
.loc 0 365 6 is_stmt 0 # cpuinfo/src/x86/isa.c:365:6 | |
leaq 22(%rbx), %rax | |
.loc 0 365 21 # cpuinfo/src/x86/isa.c:365:21 | |
vpcmpeqd %ymm4, %ymm2, %ymm5 | |
vpxor %xmm6, %xmm6, %xmm6 | |
vpandn %ymm3, %ymm2, %ymm2 | |
vpcmpeqd %ymm6, %ymm2, %ymm2 | |
vpand %ymm2, %ymm5, %ymm2 | |
vextracti128 $1, %ymm2, %xmm5 | |
vpackssdw %xmm5, %xmm2, %xmm2 | |
vpcmpeqd %ymm4, %ymm3, %ymm3 | |
vextracti128 $1, %ymm3, %xmm4 | |
vpbroadcastw .LCPI0_4(%rip), %xmm5 # xmm5 = [1,1,1,1,1,1,1,1] | |
vpackssdw %xmm4, %xmm3, %xmm3 | |
vpand %xmm2, %xmm1, %xmm2 | |
vpand %xmm5, %xmm2, %xmm2 | |
vpand %xmm3, %xmm1, %xmm1 | |
vpand %xmm5, %xmm1, %xmm1 | |
.loc 0 365 10 # cpuinfo/src/x86/isa.c:365:10 | |
vpackuswb %xmm2, %xmm2, %xmm2 | |
vpackuswb %xmm1, %xmm1, %xmm1 | |
movabsq $87960930222080, %rcx # imm = 0x500000000000 | |
xorq %rcx, %rax | |
vmovq %xmm2, (%rax) | |
vmovq %xmm1, 22(%rbx) | |
.loc 0 413 29 is_stmt 1 # cpuinfo/src/x86/isa.c:413:29 | |
movl %r15d, %eax | |
shrl $27, %eax | |
vpextrb $8, %xmm0, %ecx | |
andl %ecx, %eax | |
movl %ecx, %esi | |
movl %ecx, -76(%rbp) # 4-byte Spill | |
andl $1, %eax | |
.loc 0 413 6 is_stmt 0 # cpuinfo/src/x86/isa.c:413:6 | |
leaq 30(%rbx), %rdx | |
.loc 0 413 15 # cpuinfo/src/x86/isa.c:413:15 | |
movabsq $87960930222080, %rcx # imm = 0x500000000000 | |
xorq %rcx, %rdx | |
movb %dil, (%rdx) | |
movb %al, 30(%rbx) | |
.loc 0 419 29 is_stmt 1 # cpuinfo/src/x86/isa.c:419:29 | |
movl %r15d, %eax | |
shrl $28, %eax | |
andl %esi, %eax | |
andl $1, %eax | |
.loc 0 419 6 is_stmt 0 # cpuinfo/src/x86/isa.c:419:6 | |
leaq 31(%rbx), %rdx | |
.loc 0 419 15 # cpuinfo/src/x86/isa.c:419:15 | |
movabsq $87960930222080, %rcx # imm = 0x500000000000 | |
xorq %rcx, %rdx | |
movb %dil, (%rdx) | |
movb %al, 31(%rbx) | |
movq -96(%rbp), %r14 # 8-byte Reload | |
.loc 0 425 29 is_stmt 1 # cpuinfo/src/x86/isa.c:425:29 | |
movq %r14, %rdx | |
shrq $49, %rdx | |
.loc 0 425 6 is_stmt 0 # cpuinfo/src/x86/isa.c:425:6 | |
leaq 32(%rbx), %rdi | |
.loc 0 431 29 is_stmt 1 # cpuinfo/src/x86/isa.c:431:29 | |
movl %r15d, %esi | |
shrl $30, %esi | |
.loc 0 425 29 # cpuinfo/src/x86/isa.c:425:29 | |
vmovd %edx, %xmm2 | |
.loc 0 543 17 # cpuinfo/src/x86/isa.c:543:17 | |
vpbroadcastb .LCPI0_5(%rip), %xmm1 # xmm1 = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1] | |
.loc 0 425 29 # cpuinfo/src/x86/isa.c:425:29 | |
vpinsrb $1, %esi, %xmm2, %xmm2 | |
vpand %xmm1, %xmm2, %xmm2 | |
.loc 0 437 29 # cpuinfo/src/x86/isa.c:437:29 | |
movl %r15d, %edx | |
shrl $31, %edx | |
.loc 0 443 31 # cpuinfo/src/x86/isa.c:443:31 | |
movq %r14, %rsi | |
shrq $53, %rsi | |
andb $1, %sil | |
.loc 0 449 31 # cpuinfo/src/x86/isa.c:449:31 | |
movl %r10d, %ecx | |
shrb %cl | |
andb $1, %cl | |
.loc 0 455 32 # cpuinfo/src/x86/isa.c:455:32 | |
movl %r10d, %eax | |
shrb $6, %al | |
andb $1, %al | |
.loc 0 425 29 # cpuinfo/src/x86/isa.c:425:29 | |
vpinsrb $2, %edx, %xmm2, %xmm2 | |
.loc 0 461 33 # cpuinfo/src/x86/isa.c:461:33 | |
movq %r10, %rdx | |
shrq $12, %rdx | |
.loc 0 425 29 # cpuinfo/src/x86/isa.c:425:29 | |
movzbl %sil, %esi | |
vpinsrb $3, %esi, %xmm2, %xmm2 | |
.loc 0 461 33 # cpuinfo/src/x86/isa.c:461:33 | |
andb $1, %dl | |
.loc 0 425 29 # cpuinfo/src/x86/isa.c:425:29 | |
movzbl %cl, %ecx | |
vpinsrb $4, %ecx, %xmm2, %xmm3 | |
.loc 0 467 36 # cpuinfo/src/x86/isa.c:467:36 | |
movq %r10, %rcx | |
shrq $14, %rcx | |
.loc 0 425 29 # cpuinfo/src/x86/isa.c:425:29 | |
vpbroadcastb .LCPI0_6(%rip), %xmm2 # xmm2 = [8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8] | |
.loc 0 467 36 # cpuinfo/src/x86/isa.c:467:36 | |
andb $1, %cl | |
.loc 0 425 29 # cpuinfo/src/x86/isa.c:425:29 | |
movzbl %al, %eax | |
vpinsrb $5, %eax, %xmm3, %xmm3 | |
movzbl %dl, %eax | |
vpinsrb $6, %eax, %xmm3, %xmm3 | |
movzbl %cl, %eax | |
vpinsrb $7, %eax, %xmm3, %xmm3 | |
.loc 0 425 15 is_stmt 0 # cpuinfo/src/x86/isa.c:425:15 | |
movabsq $87960930222080, %rax # imm = 0x500000000000 | |
xorq %rax, %rdi | |
movq $0, (%rdi) | |
.loc 0 473 31 is_stmt 1 # cpuinfo/src/x86/isa.c:473:31 | |
movq %r10, %rax | |
shrq $11, %rax | |
andb $1, %al | |
.loc 0 473 6 is_stmt 0 # cpuinfo/src/x86/isa.c:473:6 | |
leaq 40(%rbx), %r11 | |
.Ltmp63: | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:basic_info <- [DW_OP_LLVM_fragment 64 32] $r8d | |
.loc 0 473 17 # cpuinfo/src/x86/isa.c:473:17 | |
movabsq $87960930222080, %rcx # imm = 0x500000000000 | |
xorq %rcx, %r11 | |
.loc 0 479 34 is_stmt 1 # cpuinfo/src/x86/isa.c:479:34 | |
movq %r10, %rsi | |
shrq $34, %rsi | |
andb $1, %sil | |
.loc 0 479 6 is_stmt 0 # cpuinfo/src/x86/isa.c:479:6 | |
leaq 43(%rbx), %r12 | |
.loc 0 479 20 # cpuinfo/src/x86/isa.c:479:20 | |
movabsq $87960930222080, %rcx # imm = 0x500000000000 | |
xorq %rcx, %r12 | |
.loc 0 485 34 is_stmt 1 # cpuinfo/src/x86/isa.c:485:34 | |
movq %r10, %rcx | |
shrq $35, %rcx | |
andb $1, %cl | |
movq %r15, -88(%rbp) # 8-byte Spill | |
.loc 0 485 6 is_stmt 0 # cpuinfo/src/x86/isa.c:485:6 | |
leaq 44(%rbx), %r15 | |
.loc 0 485 20 # cpuinfo/src/x86/isa.c:485:20 | |
movabsq $87960930222080, %rdi # imm = 0x500000000000 | |
xorq %rdi, %r15 | |
.loc 0 491 39 is_stmt 1 # cpuinfo/src/x86/isa.c:491:39 | |
shrq $40, %r10 | |
andb $1, %r10b | |
.loc 0 491 6 is_stmt 0 # cpuinfo/src/x86/isa.c:491:6 | |
leaq 42(%rbx), %r9 | |
.loc 0 491 25 # cpuinfo/src/x86/isa.c:491:25 | |
movabsq $87960930222080, %rdx # imm = 0x500000000000 | |
xorq %rdx, %r9 | |
.loc 0 473 31 is_stmt 1 # cpuinfo/src/x86/isa.c:473:31 | |
testb $1, -76(%rbp) # 1-byte Folded Reload | |
.loc 0 365 10 # cpuinfo/src/x86/isa.c:365:10 | |
vpxor %xmm4, %xmm4, %xmm4 | |
.loc 0 425 29 # cpuinfo/src/x86/isa.c:425:29 | |
vpshufb %xmm2, %xmm0, %xmm0 | |
vpsllw $7, %xmm0, %xmm0 | |
vpbroadcastb .LCPI0_7(%rip), %xmm2 # xmm2 = [128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128] | |
vpand %xmm2, %xmm0, %xmm0 | |
vpcmpgtb %xmm0, %xmm4, %xmm0 | |
vpand %xmm3, %xmm0, %xmm0 | |
.loc 0 425 15 is_stmt 0 # cpuinfo/src/x86/isa.c:425:15 | |
vmovq %xmm0, 32(%rbx) | |
movl $0, %edx | |
.loc 0 473 17 is_stmt 1 # cpuinfo/src/x86/isa.c:473:17 | |
movb %dl, (%r11) | |
.loc 0 473 31 is_stmt 0 # cpuinfo/src/x86/isa.c:473:31 | |
movzbl %al, %eax | |
cmovel %edx, %eax | |
.loc 0 473 17 # cpuinfo/src/x86/isa.c:473:17 | |
movb %al, 40(%rbx) | |
.loc 0 479 34 is_stmt 1 # cpuinfo/src/x86/isa.c:479:34 | |
movzbl %sil, %eax | |
cmovel %edx, %eax | |
.loc 0 479 20 is_stmt 0 # cpuinfo/src/x86/isa.c:479:20 | |
movb %dl, (%r12) | |
.loc 0 485 34 is_stmt 1 # cpuinfo/src/x86/isa.c:485:34 | |
movzbl %cl, %ecx | |
cmovel %edx, %ecx | |
.loc 0 479 20 # cpuinfo/src/x86/isa.c:479:20 | |
movb %al, 43(%rbx) | |
.loc 0 485 20 # cpuinfo/src/x86/isa.c:485:20 | |
movb %dl, (%r15) | |
movb %cl, 44(%rbx) | |
.loc 0 491 39 # cpuinfo/src/x86/isa.c:491:39 | |
movzbl %r10b, %eax | |
cmovel %edx, %eax | |
.loc 0 491 25 is_stmt 0 # cpuinfo/src/x86/isa.c:491:25 | |
movb %dl, (%r9) | |
movb %al, 42(%rbx) | |
.loc 0 497 31 is_stmt 1 # cpuinfo/src/x86/isa.c:497:31 | |
movzbl -104(%rbp), %r9d # 1-byte Folded Reload | |
cmovel %edx, %r9d | |
.loc 0 497 6 is_stmt 0 # cpuinfo/src/x86/isa.c:497:6 | |
leaq 41(%rbx), %rax | |
.loc 0 497 17 # cpuinfo/src/x86/isa.c:497:17 | |
movabsq $87960930222080, %rcx # imm = 0x500000000000 | |
xorq %rcx, %rax | |
movb %dl, (%rax) | |
.loc 0 503 6 is_stmt 1 # cpuinfo/src/x86/isa.c:503:6 | |
leaq 45(%rbx), %r11 | |
.loc 0 503 10 is_stmt 0 # cpuinfo/src/x86/isa.c:503:10 | |
movq %r14, %rcx | |
shrq $36, %rcx | |
movl %ecx, %r15d | |
andb $1, %r15b | |
movabsq $87960930222080, %rax # imm = 0x500000000000 | |
xorq %rax, %r11 | |
.loc 0 509 6 is_stmt 1 # cpuinfo/src/x86/isa.c:509:6 | |
leaq 46(%rbx), %rsi | |
movq -88(%rbp), %rax # 8-byte Reload | |
# kill: def $eax killed $eax killed $rax | |
.loc 0 509 10 is_stmt 0 # cpuinfo/src/x86/isa.c:509:10 | |
shrl $11, %eax | |
andl $1, %eax | |
movabsq $87960930222080, %rdx # imm = 0x500000000000 | |
xorq %rdx, %rsi | |
.loc 0 515 22 is_stmt 1 # cpuinfo/src/x86/isa.c:515:22 | |
orb %al, %cl | |
.loc 0 515 12 is_stmt 0 # cpuinfo/src/x86/isa.c:515:12 | |
andb $1, %cl | |
.loc 0 515 6 # cpuinfo/src/x86/isa.c:515:6 | |
leaq 47(%rbx), %r12 | |
.loc 0 515 12 # cpuinfo/src/x86/isa.c:515:12 | |
movabsq $87960930222080, %rdx # imm = 0x500000000000 | |
xorq %rdx, %r12 | |
.loc 0 521 21 is_stmt 1 # cpuinfo/src/x86/isa.c:521:21 | |
movq %r14, %rdi | |
shrq $46, %rdi | |
andb $1, %dil | |
cmpb $0, -60(%rbp) # 1-byte Folded Reload | |
movzbl %dil, %r10d | |
movl $0, %edx | |
cmovel %edx, %r10d | |
.loc 0 543 17 # cpuinfo/src/x86/isa.c:543:17 | |
movl %r13d, %edi | |
shrl $13, %edi | |
movzbl %dil, %edi | |
vmovd %edi, %xmm0 | |
movl %r13d, %edi | |
shrl $22, %edi | |
vpinsrb $2, %edi, %xmm0, %xmm0 | |
movq -56(%rbp), %rdi # 8-byte Reload | |
vpinsrb $3, %edi, %xmm0, %xmm0 | |
.loc 0 576 12 # cpuinfo/src/x86/isa.c:576:12 | |
movl %edi, %edx | |
shrb $5, %dl | |
.loc 0 543 17 # cpuinfo/src/x86/isa.c:543:17 | |
movzbl %dl, %edx | |
vpinsrb $5, %edx, %xmm0, %xmm0 | |
.loc 0 497 17 # cpuinfo/src/x86/isa.c:497:17 | |
movb %r9b, 41(%rbx) | |
.loc 0 543 17 # cpuinfo/src/x86/isa.c:543:17 | |
movl %r13d, %edx | |
shrl $23, %edx | |
vpinsrb $6, %edx, %xmm0, %xmm0 | |
.loc 0 503 10 # cpuinfo/src/x86/isa.c:503:10 | |
xorl %edx, %edx | |
movb %dl, (%r11) | |
xorl %r11d, %r11d | |
.loc 0 543 17 # cpuinfo/src/x86/isa.c:543:17 | |
movl %edi, %edx | |
shrl $21, %edx | |
vpinsrb $7, %edx, %xmm0, %xmm0 | |
.loc 0 612 10 # cpuinfo/src/x86/isa.c:612:10 | |
movl %r13d, %edx | |
shrl $25, %edx | |
.loc 0 543 17 # cpuinfo/src/x86/isa.c:543:17 | |
vpinsrb $11, %edx, %xmm0, %xmm0 | |
.loc 0 624 16 # cpuinfo/src/x86/isa.c:624:16 | |
movl %r13d, %edx | |
shrb %dl | |
.loc 0 543 17 # cpuinfo/src/x86/isa.c:543:17 | |
movzbl %dl, %edx | |
vpinsrb $13, %edx, %xmm0, %xmm0 | |
movq %r8, %rdx | |
shrq $13, %rdx | |
vmovd %edx, %xmm2 | |
.loc 0 549 11 # cpuinfo/src/x86/isa.c:549:11 | |
movq %r14, %rdx | |
shrq $56, %rdx | |
.loc 0 543 17 # cpuinfo/src/x86/isa.c:543:17 | |
vpinsrb $1, %edx, %xmm2, %xmm2 | |
movl %r8d, %edx | |
shrl $22, %edx | |
vpinsrb $2, %edx, %xmm2, %xmm2 | |
movq -48(%rbp), %rdi # 8-byte Reload | |
.loc 0 576 12 # cpuinfo/src/x86/isa.c:576:12 | |
movl %edi, %edx | |
shrb $5, %dl | |
.loc 0 543 17 # cpuinfo/src/x86/isa.c:543:17 | |
vpinsrb $3, %edi, %xmm2, %xmm2 | |
movq -88(%rbp), %r9 # 8-byte Reload | |
vpinsrb $4, %r9d, %xmm2, %xmm2 | |
movzbl %dl, %edx | |
vpinsrb $5, %edx, %xmm2, %xmm2 | |
.loc 0 503 10 # cpuinfo/src/x86/isa.c:503:10 | |
movb %r15b, 45(%rbx) | |
movq -72(%rbp), %r15 # 8-byte Reload | |
.loc 0 509 10 # cpuinfo/src/x86/isa.c:509:10 | |
movb %r11b, (%rsi) | |
.loc 0 543 17 # cpuinfo/src/x86/isa.c:543:17 | |
movl %r8d, %edx | |
shrl $23, %edx | |
vpinsrb $6, %edx, %xmm2, %xmm2 | |
.loc 0 509 10 # cpuinfo/src/x86/isa.c:509:10 | |
movb %al, 46(%rbx) | |
.loc 0 543 17 # cpuinfo/src/x86/isa.c:543:17 | |
movl %edi, %eax | |
shrl $21, %eax | |
vpinsrb $7, %eax, %xmm2, %xmm2 | |
xorl %edx, %edx | |
.loc 0 515 12 # cpuinfo/src/x86/isa.c:515:12 | |
movb %dl, (%r12) | |
.loc 0 594 10 # cpuinfo/src/x86/isa.c:594:10 | |
movq %r14, %rax | |
shrq $35, %rax | |
.loc 0 543 17 # cpuinfo/src/x86/isa.c:543:17 | |
vpinsrb $8, %eax, %xmm2, %xmm2 | |
.loc 0 515 12 # cpuinfo/src/x86/isa.c:515:12 | |
movb %cl, 47(%rbx) | |
.loc 0 600 11 # cpuinfo/src/x86/isa.c:600:11 | |
movq %r14, %rax | |
shrq $40, %rax | |
.loc 0 543 17 # cpuinfo/src/x86/isa.c:543:17 | |
vpinsrb $9, %eax, %xmm2, %xmm2 | |
.loc 0 606 10 # cpuinfo/src/x86/isa.c:606:10 | |
movq %r14, %rax | |
shrq $51, %rax | |
.loc 0 543 17 # cpuinfo/src/x86/isa.c:543:17 | |
vpinsrb $10, %eax, %xmm2, %xmm2 | |
.loc 0 612 10 # cpuinfo/src/x86/isa.c:612:10 | |
movl %r8d, %eax | |
shrl $25, %eax | |
.loc 0 543 17 # cpuinfo/src/x86/isa.c:543:17 | |
vpinsrb $11, %eax, %xmm2, %xmm2 | |
.loc 0 521 6 # cpuinfo/src/x86/isa.c:521:6 | |
leaq 48(%rbx), %rax | |
.loc 0 521 10 is_stmt 0 # cpuinfo/src/x86/isa.c:521:10 | |
movabsq $87960930222080, %rcx # imm = 0x500000000000 | |
xorq %rcx, %rax | |
movb %dl, (%rax) | |
xorl %edx, %edx | |
.loc 0 543 17 is_stmt 1 # cpuinfo/src/x86/isa.c:543:17 | |
movl %r15d, %eax | |
shrl $9, %eax | |
vpinsrb $12, %eax, %xmm2, %xmm2 | |
.loc 0 624 16 # cpuinfo/src/x86/isa.c:624:16 | |
movl %r8d, %eax | |
shrb %al | |
.loc 0 543 17 # cpuinfo/src/x86/isa.c:543:17 | |
movzbl %al, %eax | |
vpinsrb $13, %eax, %xmm2, %xmm2 | |
.loc 0 521 10 # cpuinfo/src/x86/isa.c:521:10 | |
movb %r10b, 48(%rbx) | |
.loc 0 543 17 # cpuinfo/src/x86/isa.c:543:17 | |
movl %r15d, %eax | |
shrl $10, %eax | |
vpinsrb $14, %eax, %xmm2, %xmm2 | |
movl %r15d, %eax | |
shrl $8, %eax | |
vpinsrb $15, %eax, %xmm2, %xmm2 | |
.loc 0 543 6 is_stmt 0 # cpuinfo/src/x86/isa.c:543:6 | |
leaq 49(%rbx), %rax | |
.loc 0 543 17 # cpuinfo/src/x86/isa.c:543:17 | |
vpand %xmm1, %xmm0, %xmm0 | |
movabsq $87960930222080, %rcx # imm = 0x500000000000 | |
xorq %rcx, %rax | |
vmovdqu %xmm0, (%rax) | |
vpand %xmm1, %xmm2, %xmm0 | |
vmovdqu %xmm0, 49(%rbx) | |
.loc 0 642 6 is_stmt 1 # cpuinfo/src/x86/isa.c:642:6 | |
leaq 65(%rbx), %rax | |
.loc 0 642 13 is_stmt 0 # cpuinfo/src/x86/isa.c:642:13 | |
shrl $30, %r13d | |
andb $1, %r13b | |
movabsq $87960930222080, %rcx # imm = 0x500000000000 | |
xorq %rcx, %rax | |
movb %r13b, (%rax) | |
shrl $30, %r8d | |
.Ltmp64: | |
andb $1, %r8b | |
movb %r8b, 65(%rbx) | |
movabsq $87960930222080, %r8 # imm = 0x500000000000 | |
.loc 0 648 6 is_stmt 1 # cpuinfo/src/x86/isa.c:648:6 | |
leaq 66(%rbx), %rax | |
.loc 0 648 13 is_stmt 0 # cpuinfo/src/x86/isa.c:648:13 | |
xorq %r8, %rax | |
movb %dl, (%rax) | |
shrq $50, %r14 | |
andb $1, %r14b | |
movb %r14b, 66(%rbx) | |
.loc 0 654 6 is_stmt 1 # cpuinfo/src/x86/isa.c:654:6 | |
leaq 67(%rbx), %rax | |
.loc 0 654 10 is_stmt 0 # cpuinfo/src/x86/isa.c:654:10 | |
xorq %r8, %rax | |
movb %dl, (%rax) | |
movq %r9, %rax | |
shrl $29, %eax | |
andb $1, %al | |
movb %al, 67(%rbx) | |
.Ltmp65: | |
.loc 0 656 13 is_stmt 1 # cpuinfo/src/x86/isa.c:656:13 | |
cmpl $11, 24(%rbp) | |
.Ltmp66: | |
.loc 0 656 6 is_stmt 0 # cpuinfo/src/x86/isa.c:656:6 | |
jne .LBB0_24 | |
.Ltmp67: | |
# %bb.22: # %if.then578 | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:max_base_index <- [DW_OP_LLVM_entry_value 1] $r9d | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:max_extended_index <- [DW_OP_plus_uconst 16] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:vendor <- [DW_OP_plus_uconst 24] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:uarch <- [DW_OP_plus_uconst 32] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:isa <- [$rbx+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:extended_info <- [DW_OP_LLVM_fragment 64 32] $edi | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:extended_info <- [DW_OP_constu 112, DW_OP_minus, DW_OP_LLVM_fragment 96 32] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:processor_capacity_info_index <- -2147483640 | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:osxsave_mask <- 201326592 | |
#DEBUG_VALUE: cpuid:eax <- -1073741824 | |
.loc 4 30 5 is_stmt 1 # cpuinfo/src/x86/cpuid.h:30:5 | |
movl $-1073741824, %eax # imm = 0xC0000000 | |
#APP | |
xchgq %rbx, %rsi | |
cpuid | |
xchgq %rbx, %rsi | |
#NO_APP | |
.Ltmp68: | |
#DEBUG_VALUE: padlock_meta_info <- [DW_OP_LLVM_arg 0, DW_OP_LLVM_arg 1, DW_OP_LLVM_convert 32 7, DW_OP_LLVM_convert 64 7, DW_OP_or, DW_OP_stack_value, DW_OP_LLVM_fragment 0 64] 0, $eax | |
#DEBUG_VALUE: cpuid:regs <- [DW_OP_LLVM_fragment 0 32] $eax | |
#DEBUG_VALUE: max_padlock_index <- $eax | |
#DEBUG_VALUE: cpuid:regs <- [DW_OP_LLVM_fragment 32 32] undef | |
#DEBUG_VALUE: cpuid:regs <- [DW_OP_LLVM_fragment 64 32] undef | |
#DEBUG_VALUE: cpuid:regs <- [DW_OP_LLVM_fragment 96 32] undef | |
#DEBUG_VALUE: padlock_meta_info <- [DW_OP_LLVM_fragment 64 64] undef | |
#DEBUG_VALUE: padlock_info_index <- -1073741823 | |
.loc 0 660 25 # cpuinfo/src/x86/isa.c:660:25 | |
cmpl $-1073741823, %eax # imm = 0xC0000001 | |
.Ltmp69: | |
.loc 0 660 7 is_stmt 0 # cpuinfo/src/x86/isa.c:660:7 | |
jb .LBB0_24 | |
.Ltmp70: | |
# %bb.23: # %if.then583 | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:max_base_index <- [DW_OP_LLVM_entry_value 1] $r9d | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:max_extended_index <- [DW_OP_plus_uconst 16] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:vendor <- [DW_OP_plus_uconst 24] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:uarch <- [DW_OP_plus_uconst 32] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:isa <- [$rbx+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:extended_info <- [DW_OP_LLVM_fragment 64 32] $edi | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:extended_info <- [DW_OP_constu 112, DW_OP_minus, DW_OP_LLVM_fragment 96 32] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:processor_capacity_info_index <- -2147483640 | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:osxsave_mask <- 201326592 | |
#DEBUG_VALUE: max_padlock_index <- $eax | |
#DEBUG_VALUE: padlock_info_index <- -1073741823 | |
#DEBUG_VALUE: cpuid:eax <- -1073741823 | |
.loc 4 30 5 is_stmt 1 # cpuinfo/src/x86/cpuid.h:30:5 | |
movl $-1073741823, %eax # imm = 0xC0000001 | |
.Ltmp71: | |
#APP | |
xchgq %rbx, %rsi | |
cpuid | |
xchgq %rbx, %rsi | |
#NO_APP | |
.Ltmp72: | |
#DEBUG_VALUE: padlock_info <- [DW_OP_LLVM_arg 0, DW_OP_LLVM_convert 32 7, DW_OP_LLVM_convert 64 7, DW_OP_constu 32, DW_OP_shl, DW_OP_LLVM_arg 1, DW_OP_LLVM_convert 32 7, DW_OP_LLVM_convert 64 7, DW_OP_or, DW_OP_stack_value, DW_OP_LLVM_fragment 64 64] undef, undef | |
#DEBUG_VALUE: cpuid:regs <- [DW_OP_LLVM_fragment 96 32] $edx | |
#DEBUG_VALUE: cpuid:regs <- [DW_OP_LLVM_fragment 0 32] undef | |
#DEBUG_VALUE: cpuid:regs <- [DW_OP_LLVM_fragment 32 32] undef | |
#DEBUG_VALUE: cpuid:regs <- [DW_OP_LLVM_fragment 64 32] undef | |
#DEBUG_VALUE: padlock_info <- [DW_OP_LLVM_fragment 0 64] undef | |
#DEBUG_VALUE: padlock_rng_mask <- 12 | |
.loc 0 669 52 # cpuinfo/src/x86/isa.c:669:52 | |
movl %edx, %ecx | |
notl %ecx | |
.loc 0 669 8 is_stmt 0 # cpuinfo/src/x86/isa.c:669:8 | |
leaq 68(%rbx), %rsi | |
.loc 0 669 12 # cpuinfo/src/x86/isa.c:669:12 | |
xorq %r8, %rsi | |
xorl %r9d, %r9d | |
.loc 0 669 52 # cpuinfo/src/x86/isa.c:669:52 | |
testb $12, %cl | |
.loc 0 669 12 # cpuinfo/src/x86/isa.c:669:12 | |
movb %r9b, (%rsi) | |
sete 68(%rbx) | |
.Ltmp73: | |
#DEBUG_VALUE: padlock_ace_mask <- 192 | |
.loc 0 701 32 is_stmt 1 # cpuinfo/src/x86/isa.c:701:32 | |
vmovd %edx, %xmm0 | |
.loc 0 677 8 # cpuinfo/src/x86/isa.c:677:8 | |
leaq 69(%rbx), %r14 | |
.Ltmp74: | |
#DEBUG_VALUE: padlock_ace2_mask <- 768 | |
.loc 0 685 8 # cpuinfo/src/x86/isa.c:685:8 | |
leaq 70(%rbx), %r11 | |
.Ltmp75: | |
#DEBUG_VALUE: padlock_phe_mask <- 3072 | |
.loc 0 693 8 # cpuinfo/src/x86/isa.c:693:8 | |
leaq 71(%rbx), %r10 | |
.Ltmp76: | |
#DEBUG_VALUE: padlock_pmm_mask <- 12288 | |
.loc 0 701 32 # cpuinfo/src/x86/isa.c:701:32 | |
vpbroadcastd %xmm0, %xmm0 | |
vmovdqa .LCPI0_8(%rip), %xmm1 # xmm1 = [12288,3072,768,192] | |
vpand %xmm1, %xmm0, %xmm0 | |
.loc 0 701 52 is_stmt 0 # cpuinfo/src/x86/isa.c:701:52 | |
vpcmpeqd %xmm1, %xmm0, %xmm0 | |
vmovmskps %xmm0, %esi | |
movl %esi, %eax | |
andb $2, %al | |
shrb %al | |
movl %esi, %edx | |
andb $4, %dl | |
shrb $2, %dl | |
movl %esi, %ecx | |
shrb $3, %cl | |
.loc 0 677 12 is_stmt 1 # cpuinfo/src/x86/isa.c:677:12 | |
xorq %r8, %r14 | |
movb %r9b, (%r14) | |
movb %cl, 69(%rbx) | |
.loc 0 685 13 # cpuinfo/src/x86/isa.c:685:13 | |
xorq %r8, %r11 | |
movb %r9b, (%r11) | |
movb %dl, 70(%rbx) | |
.loc 0 693 12 # cpuinfo/src/x86/isa.c:693:12 | |
xorq %r8, %r10 | |
movb %r9b, (%r10) | |
movb %al, 71(%rbx) | |
.loc 0 701 8 # cpuinfo/src/x86/isa.c:701:8 | |
leaq 72(%rbx), %rax | |
.loc 0 701 12 is_stmt 0 # cpuinfo/src/x86/isa.c:701:12 | |
andb $1, %sil | |
xorq %r8, %rax | |
movb %r9b, (%rax) | |
movb %sil, 72(%rbx) | |
.Ltmp77: | |
.LBB0_24: # %if.end611 | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:max_base_index <- [DW_OP_LLVM_entry_value 1] $r9d | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:max_extended_index <- [DW_OP_plus_uconst 16] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:vendor <- [DW_OP_plus_uconst 24] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:uarch <- [DW_OP_plus_uconst 32] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:isa <- [$rbx+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:extended_info <- [DW_OP_LLVM_fragment 64 32] $edi | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:extended_info <- [DW_OP_constu 112, DW_OP_minus, DW_OP_LLVM_fragment 96 32] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:processor_capacity_info_index <- -2147483640 | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:osxsave_mask <- 201326592 | |
.loc 0 709 6 is_stmt 1 # cpuinfo/src/x86/isa.c:709:6 | |
leaq 73(%rbx), %rax | |
movq -56(%rbp), %rdx # 8-byte Reload | |
.loc 0 709 10 is_stmt 0 # cpuinfo/src/x86/isa.c:709:10 | |
shrq $15, %rdx | |
movq -48(%rbp), %rcx # 8-byte Reload | |
shrq $15, %rcx | |
andb $1, %dl | |
andb $1, %cl | |
xorq %r8, %rax | |
movb %dl, (%rax) | |
movb %cl, 73(%rbx) | |
movq -120(%rbp), %rcx # 8-byte Reload | |
.loc 0 715 13 is_stmt 1 # cpuinfo/src/x86/isa.c:715:13 | |
shrl $27, %ecx | |
movq -112(%rbp), %rdx # 8-byte Reload | |
shrl $27, %edx | |
andb $1, %cl | |
andb $1, %dl | |
movq %rbx, %rax | |
xorq %r8, %rax | |
movb %cl, (%rax) | |
movb %dl, (%rbx) | |
.loc 0 721 6 # cpuinfo/src/x86/isa.c:721:6 | |
leaq 1(%rbx), %rax | |
.loc 0 721 12 is_stmt 0 # cpuinfo/src/x86/isa.c:721:12 | |
shrq $22, %r15 | |
andb $1, %r15b | |
xorq %r8, %rax | |
movb $0, (%rax) | |
movb %r15b, 1(%rbx) | |
.loc 0 724 1 is_stmt 1 # cpuinfo/src/x86/isa.c:724:1 | |
movq %rbx, %rax | |
addq $88, %rsp | |
popq %rbx | |
.Ltmp78: | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:isa <- [$rax+0] | |
popq %r12 | |
popq %r13 | |
popq %r14 | |
popq %r15 | |
popq %rbp | |
.cfi_def_cfa %rsp, 8 | |
vzeroupper | |
retq | |
.Ltmp79: | |
.LBB0_25: | |
.cfi_def_cfa %rbp, 16 | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:max_base_index <- $r12d | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:max_extended_index <- [DW_OP_plus_uconst 16] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:vendor <- [DW_OP_plus_uconst 24] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:uarch <- [DW_OP_plus_uconst 32] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:isa <- [$rbx+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:basic_info <- [DW_OP_LLVM_fragment 64 32] $r13d | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:extended_info <- [DW_OP_constu 48, DW_OP_minus, DW_OP_LLVM_fragment 64 32] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:processor_capacity_info_index <- -2147483640 | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:avx_regs <- 0 | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:avx512_regs <- 0 | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:mpx_regs <- 0 | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:osxsave_mask <- 201326592 | |
.loc 0 62 6 # cpuinfo/src/x86/isa.c:62:6 | |
xorl %edi, %edi | |
callq __msan_warning_with_origin_noreturn@PLT | |
.Ltmp80: | |
.LBB0_26: | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:max_base_index <- $r12d | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:max_extended_index <- [DW_OP_plus_uconst 16] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:vendor <- [DW_OP_plus_uconst 24] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:uarch <- [DW_OP_plus_uconst 32] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:isa <- [$rbx+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:basic_info <- [DW_OP_LLVM_fragment 64 32] $r13d | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:extended_info <- [DW_OP_constu 48, DW_OP_minus, DW_OP_LLVM_fragment 64 32] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:processor_capacity_info_index <- -2147483640 | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:osxsave_mask <- 201326592 | |
.loc 0 118 15 # cpuinfo/src/x86/isa.c:118:15 | |
xorl %edi, %edi | |
callq __msan_warning_with_origin_noreturn@PLT | |
.Ltmp81: | |
.Lfunc_end0: | |
.size cpuinfo_x86_detect_isa, .Lfunc_end0-cpuinfo_x86_detect_isa | |
.cfi_endproc | |
.file 5 "cpuinfo/src/x86" "api.h" md5 0x27c8ee589f06b55198de5debd23b68da | |
# -- End function | |
.section .text.msan.module_ctor,"axR",@progbits | |
.p2align 4, 0x90 # -- Begin function msan.module_ctor | |
.type msan.module_ctor,@function | |
msan.module_ctor: # @msan.module_ctor | |
.Lfunc_begin1: | |
.cfi_startproc | |
# %bb.0: | |
pushq %rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset %rbp, -16 | |
movq %rsp, %rbp | |
.cfi_def_cfa_register %rbp | |
callq __msan_init@PLT | |
popq %rbp | |
.cfi_def_cfa %rsp, 8 | |
retq | |
.Lfunc_end1: | |
.size msan.module_ctor, .Lfunc_end1-msan.module_ctor | |
.cfi_endproc | |
# -- End function | |
.section .init_array.0,"aw",@init_array | |
.p2align 3 | |
.quad msan.module_ctor | |
.section .debug_loclists,"",@progbits | |
.long .Ldebug_list_header_end0-.Ldebug_list_header_start0 # Length | |
.Ldebug_list_header_start0: | |
.short 5 # Version | |
.byte 8 # Address size | |
.byte 0 # Segment selector size | |
.long 25 # Offset entry count | |
.Lloclists_table_base0: | |
.long .Ldebug_loc0-.Lloclists_table_base0 | |
.long .Ldebug_loc1-.Lloclists_table_base0 | |
.long .Ldebug_loc2-.Lloclists_table_base0 | |
.long .Ldebug_loc3-.Lloclists_table_base0 | |
.long .Ldebug_loc4-.Lloclists_table_base0 | |
.long .Ldebug_loc5-.Lloclists_table_base0 | |
.long .Ldebug_loc6-.Lloclists_table_base0 | |
.long .Ldebug_loc7-.Lloclists_table_base0 | |
.long .Ldebug_loc8-.Lloclists_table_base0 | |
.long .Ldebug_loc9-.Lloclists_table_base0 | |
.long .Ldebug_loc10-.Lloclists_table_base0 | |
.long .Ldebug_loc11-.Lloclists_table_base0 | |
.long .Ldebug_loc12-.Lloclists_table_base0 | |
.long .Ldebug_loc13-.Lloclists_table_base0 | |
.long .Ldebug_loc14-.Lloclists_table_base0 | |
.long .Ldebug_loc15-.Lloclists_table_base0 | |
.long .Ldebug_loc16-.Lloclists_table_base0 | |
.long .Ldebug_loc17-.Lloclists_table_base0 | |
.long .Ldebug_loc18-.Lloclists_table_base0 | |
.long .Ldebug_loc19-.Lloclists_table_base0 | |
.long .Ldebug_loc20-.Lloclists_table_base0 | |
.long .Ldebug_loc21-.Lloclists_table_base0 | |
.long .Ldebug_loc22-.Lloclists_table_base0 | |
.long .Ldebug_loc23-.Lloclists_table_base0 | |
.long .Ldebug_loc24-.Lloclists_table_base0 | |
.Ldebug_loc0: | |
.byte 4 # DW_LLE_offset_pair | |
.uleb128 .Lfunc_begin0-.Lfunc_begin0 # starting offset | |
.uleb128 .Ltmp2-.Lfunc_begin0 # ending offset | |
.byte 3 # Loc expr size | |
.byte 84 # DW_OP_reg4 | |
.byte 147 # DW_OP_piece | |
.byte 8 # 8 | |
.byte 4 # DW_LLE_offset_pair | |
.uleb128 .Ltmp2-.Lfunc_begin0 # starting offset | |
.uleb128 .Ltmp3-.Lfunc_begin0 # ending offset | |
.byte 6 # Loc expr size | |
.byte 84 # DW_OP_reg4 | |
.byte 147 # DW_OP_piece | |
.byte 8 # 8 | |
.byte 93 # super-register DW_OP_reg13 | |
.byte 147 # DW_OP_piece | |
.byte 4 # 4 | |
.byte 4 # DW_LLE_offset_pair | |
.uleb128 .Ltmp3-.Lfunc_begin0 # starting offset | |
.uleb128 .Ltmp45-.Lfunc_begin0 # ending offset | |
.byte 5 # Loc expr size | |
.byte 147 # DW_OP_piece | |
.byte 8 # 8 | |
.byte 93 # super-register DW_OP_reg13 | |
.byte 147 # DW_OP_piece | |
.byte 4 # 4 | |
.byte 4 # DW_LLE_offset_pair | |
.uleb128 .Ltmp45-.Lfunc_begin0 # starting offset | |
.uleb128 .Ltmp46-.Lfunc_begin0 # ending offset | |
.byte 20 # Loc expr size | |
.byte 147 # DW_OP_piece | |
.byte 8 # 8 | |
.byte 93 # super-register DW_OP_reg13 | |
.byte 147 # DW_OP_piece | |
.byte 4 # 4 | |
.byte 117 # DW_OP_breg5 | |
.byte 0 # 0 | |
.byte 168 # DW_OP_convert | |
.asciz "\253\200\200" # | |
.byte 168 # DW_OP_convert | |
.asciz "\257\200\200" # | |
.byte 159 # DW_OP_stack_value | |
.byte 147 # DW_OP_piece | |
.byte 4 # 4 | |
.byte 4 # DW_LLE_offset_pair | |
.uleb128 .Ltmp46-.Lfunc_begin0 # starting offset | |
.uleb128 .Ltmp62-.Lfunc_begin0 # ending offset | |
.byte 5 # Loc expr size | |
.byte 147 # DW_OP_piece | |
.byte 8 # 8 | |
.byte 93 # super-register DW_OP_reg13 | |
.byte 147 # DW_OP_piece | |
.byte 4 # 4 | |
.byte 4 # DW_LLE_offset_pair | |
.uleb128 .Ltmp62-.Lfunc_begin0 # starting offset | |
.uleb128 .Ltmp63-.Lfunc_begin0 # ending offset | |
.byte 5 # Loc expr size | |
.byte 147 # DW_OP_piece | |
.byte 8 # 8 | |
.byte 91 # super-register DW_OP_reg11 | |
.byte 147 # DW_OP_piece | |
.byte 4 # 4 | |
.byte 4 # DW_LLE_offset_pair | |
.uleb128 .Ltmp63-.Lfunc_begin0 # starting offset | |
.uleb128 .Ltmp64-.Lfunc_begin0 # ending offset | |
.byte 5 # Loc expr size | |
.byte 147 # DW_OP_piece | |
.byte 8 # 8 | |
.byte 88 # super-register DW_OP_reg8 | |
.byte 147 # DW_OP_piece | |
.byte 4 # 4 | |
.byte 4 # DW_LLE_offset_pair | |
.uleb128 .Ltmp79-.Lfunc_begin0 # starting offset | |
.uleb128 .Lfunc_end0-.Lfunc_begin0 # ending offset | |
.byte 5 # Loc expr size | |
.byte 147 # DW_OP_piece | |
.byte 8 # 8 | |
.byte 93 # super-register DW_OP_reg13 | |
.byte 147 # DW_OP_piece | |
.byte 4 # 4 | |
.byte 0 # DW_LLE_end_of_list | |
.Ldebug_loc1: | |
.byte 4 # DW_LLE_offset_pair | |
.uleb128 .Lfunc_begin0-.Lfunc_begin0 # starting offset | |
.uleb128 .Ltmp2-.Lfunc_begin0 # ending offset | |
.byte 3 # Loc expr size | |
.byte 82 # DW_OP_reg2 | |
.byte 147 # DW_OP_piece | |
.byte 8 # 8 | |
.byte 4 # DW_LLE_offset_pair | |
.uleb128 .Ltmp2-.Lfunc_begin0 # starting offset | |
.uleb128 .Ltmp4-.Lfunc_begin0 # ending offset | |
.byte 7 # Loc expr size | |
.byte 82 # DW_OP_reg2 | |
.byte 147 # DW_OP_piece | |
.byte 8 # 8 | |
.byte 118 # DW_OP_breg6 | |
.byte 80 # -48 | |
.byte 147 # DW_OP_piece | |
.byte 4 # 4 | |
.byte 4 # DW_LLE_offset_pair | |
.uleb128 .Ltmp4-.Lfunc_begin0 # starting offset | |
.uleb128 .Ltmp44-.Lfunc_begin0 # ending offset | |
.byte 6 # Loc expr size | |
.byte 147 # DW_OP_piece | |
.byte 8 # 8 | |
.byte 118 # DW_OP_breg6 | |
.byte 80 # -48 | |
.byte 147 # DW_OP_piece | |
.byte 4 # 4 | |
.byte 4 # DW_LLE_offset_pair | |
.uleb128 .Ltmp44-.Lfunc_begin0 # starting offset | |
.uleb128 .Ltmp49-.Lfunc_begin0 # ending offset | |
.byte 9 # Loc expr size | |
.byte 147 # DW_OP_piece | |
.byte 8 # 8 | |
.byte 118 # DW_OP_breg6 | |
.byte 80 # -48 | |
.byte 147 # DW_OP_piece | |
.byte 4 # 4 | |
.byte 89 # super-register DW_OP_reg9 | |
.byte 147 # DW_OP_piece | |
.byte 4 # 4 | |
.byte 4 # DW_LLE_offset_pair | |
.uleb128 .Ltmp49-.Lfunc_begin0 # starting offset | |
.uleb128 .Ltmp50-.Lfunc_begin0 # ending offset | |
.byte 6 # Loc expr size | |
.byte 147 # DW_OP_piece | |
.byte 8 # 8 | |
.byte 118 # DW_OP_breg6 | |
.byte 80 # -48 | |
.byte 147 # DW_OP_piece | |
.byte 4 # 4 | |
.byte 4 # DW_LLE_offset_pair | |
.uleb128 .Ltmp50-.Lfunc_begin0 # starting offset | |
.uleb128 .Ltmp54-.Lfunc_begin0 # ending offset | |
.byte 8 # Loc expr size | |
.byte 147 # DW_OP_piece | |
.byte 8 # 8 | |
.byte 84 # super-register DW_OP_reg4 | |
.byte 147 # DW_OP_piece | |
.byte 4 # 4 | |
.byte 85 # super-register DW_OP_reg5 | |
.byte 147 # DW_OP_piece | |
.byte 4 # 4 | |
.byte 4 # DW_LLE_offset_pair | |
.uleb128 .Ltmp54-.Lfunc_begin0 # starting offset | |
.uleb128 .Ltmp55-.Lfunc_begin0 # ending offset | |
.byte 9 # Loc expr size | |
.byte 147 # DW_OP_piece | |
.byte 8 # 8 | |
.byte 118 # DW_OP_breg6 | |
.byte 80 # -48 | |
.byte 147 # DW_OP_piece | |
.byte 4 # 4 | |
.byte 85 # super-register DW_OP_reg5 | |
.byte 147 # DW_OP_piece | |
.byte 4 # 4 | |
.byte 4 # DW_LLE_offset_pair | |
.uleb128 .Ltmp55-.Lfunc_begin0 # starting offset | |
.uleb128 .Ltmp57-.Lfunc_begin0 # ending offset | |
.byte 8 # Loc expr size | |
.byte 147 # DW_OP_piece | |
.byte 8 # 8 | |
.byte 84 # super-register DW_OP_reg4 | |
.byte 147 # DW_OP_piece | |
.byte 4 # 4 | |
.byte 85 # super-register DW_OP_reg5 | |
.byte 147 # DW_OP_piece | |
.byte 4 # 4 | |
.byte 4 # DW_LLE_offset_pair | |
.uleb128 .Ltmp57-.Lfunc_begin0 # starting offset | |
.uleb128 .Ltmp60-.Lfunc_begin0 # ending offset | |
.byte 9 # Loc expr size | |
.byte 147 # DW_OP_piece | |
.byte 8 # 8 | |
.byte 118 # DW_OP_breg6 | |
.byte 80 # -48 | |
.byte 147 # DW_OP_piece | |
.byte 4 # 4 | |
.byte 85 # super-register DW_OP_reg5 | |
.byte 147 # DW_OP_piece | |
.byte 4 # 4 | |
.byte 4 # DW_LLE_offset_pair | |
.uleb128 .Ltmp60-.Lfunc_begin0 # starting offset | |
.uleb128 .Ltmp67-.Lfunc_begin0 # ending offset | |
.byte 11 # Loc expr size | |
.byte 147 # DW_OP_piece | |
.byte 8 # 8 | |
.byte 118 # DW_OP_breg6 | |
.byte 80 # -48 | |
.byte 147 # DW_OP_piece | |
.byte 4 # 4 | |
.byte 118 # DW_OP_breg6 | |
.byte 144 # -112 | |
.byte 127 # | |
.byte 147 # DW_OP_piece | |
.byte 4 # 4 | |
.byte 4 # DW_LLE_offset_pair | |
.uleb128 .Ltmp67-.Lfunc_begin0 # starting offset | |
.uleb128 .Ltmp79-.Lfunc_begin0 # ending offset | |
.byte 10 # Loc expr size | |
.byte 147 # DW_OP_piece | |
.byte 8 # 8 | |
.byte 85 # super-register DW_OP_reg5 | |
.byte 147 # DW_OP_piece | |
.byte 4 # 4 | |
.byte 118 # DW_OP_breg6 | |
.byte 144 # -112 | |
.byte 127 # | |
.byte 147 # DW_OP_piece | |
.byte 4 # 4 | |
.byte 4 # DW_LLE_offset_pair | |
.uleb128 .Ltmp79-.Lfunc_begin0 # starting offset | |
.uleb128 .Lfunc_end0-.Lfunc_begin0 # ending offset | |
.byte 6 # Loc expr size | |
.byte 147 # DW_OP_piece | |
.byte 8 # 8 | |
.byte 118 # DW_OP_breg6 | |
.byte 80 # -48 | |
.byte 147 # DW_OP_piece | |
.byte 4 # 4 | |
.byte 0 # DW_LLE_end_of_list | |
.Ldebug_loc2: | |
.byte 4 # DW_LLE_offset_pair | |
.uleb128 .Lfunc_begin0-.Lfunc_begin0 # starting offset | |
.uleb128 .Ltmp4-.Lfunc_begin0 # ending offset | |
.byte 1 # Loc expr size | |
.byte 89 # super-register DW_OP_reg9 | |
.byte 4 # DW_LLE_offset_pair | |
.uleb128 .Ltmp4-.Lfunc_begin0 # starting offset | |
.uleb128 .Ltmp43-.Lfunc_begin0 # ending offset | |
.byte 1 # Loc expr size | |
.byte 92 # super-register DW_OP_reg12 | |
.byte 4 # DW_LLE_offset_pair | |
.uleb128 .Ltmp43-.Lfunc_begin0 # starting offset | |
.uleb128 .Ltmp79-.Lfunc_begin0 # ending offset | |
.byte 4 # Loc expr size | |
.byte 163 # DW_OP_entry_value | |
.byte 1 # 1 | |
.byte 89 # super-register DW_OP_reg9 | |
.byte 159 # DW_OP_stack_value | |
.byte 4 # DW_LLE_offset_pair | |
.uleb128 .Ltmp79-.Lfunc_begin0 # starting offset | |
.uleb128 .Lfunc_end0-.Lfunc_begin0 # ending offset | |
.byte 1 # Loc expr size | |
.byte 92 # super-register DW_OP_reg12 | |
.byte 0 # DW_LLE_end_of_list | |
.Ldebug_loc3: | |
.byte 4 # DW_LLE_offset_pair | |
.uleb128 .Ltmp0-.Lfunc_begin0 # starting offset | |
.uleb128 .Ltmp4-.Lfunc_begin0 # ending offset | |
.byte 2 # Loc expr size | |
.byte 117 # DW_OP_breg5 | |
.byte 0 # 0 | |
.byte 4 # DW_LLE_offset_pair | |
.uleb128 .Ltmp4-.Lfunc_begin0 # starting offset | |
.uleb128 .Ltmp78-.Lfunc_begin0 # ending offset | |
.byte 2 # Loc expr size | |
.byte 115 # DW_OP_breg3 | |
.byte 0 # 0 | |
.byte 4 # DW_LLE_offset_pair | |
.uleb128 .Ltmp78-.Lfunc_begin0 # starting offset | |
.uleb128 .Ltmp79-.Lfunc_begin0 # ending offset | |
.byte 2 # Loc expr size | |
.byte 112 # DW_OP_breg0 | |
.byte 0 # 0 | |
.byte 4 # DW_LLE_offset_pair | |
.uleb128 .Ltmp79-.Lfunc_begin0 # starting offset | |
.uleb128 .Lfunc_end0-.Lfunc_begin0 # ending offset | |
.byte 2 # Loc expr size | |
.byte 115 # DW_OP_breg3 | |
.byte 0 # 0 | |
.byte 0 # DW_LLE_end_of_list | |
.Ldebug_loc4: | |
.byte 4 # DW_LLE_offset_pair | |
.uleb128 .Ltmp6-.Lfunc_begin0 # starting offset | |
.uleb128 .Ltmp7-.Lfunc_begin0 # ending offset | |
.byte 11 # Loc expr size | |
.byte 147 # DW_OP_piece | |
.byte 4 # 4 | |
.byte 90 # super-register DW_OP_reg10 | |
.byte 147 # DW_OP_piece | |
.byte 4 # 4 | |
.byte 82 # super-register DW_OP_reg2 | |
.byte 147 # DW_OP_piece | |
.byte 4 # 4 | |
.byte 81 # super-register DW_OP_reg1 | |
.byte 147 # DW_OP_piece | |
.byte 4 # 4 | |
.byte 4 # DW_LLE_offset_pair | |
.uleb128 .Ltmp7-.Lfunc_begin0 # starting offset | |
.uleb128 .Ltmp8-.Lfunc_begin0 # ending offset | |
.byte 8 # Loc expr size | |
.byte 147 # DW_OP_piece | |
.byte 8 # 8 | |
.byte 82 # super-register DW_OP_reg2 | |
.byte 147 # DW_OP_piece | |
.byte 4 # 4 | |
.byte 81 # super-register DW_OP_reg1 | |
.byte 147 # DW_OP_piece | |
.byte 4 # 4 | |
.byte 4 # DW_LLE_offset_pair | |
.uleb128 .Ltmp8-.Lfunc_begin0 # starting offset | |
.uleb128 .Ltmp11-.Lfunc_begin0 # ending offset | |
.byte 5 # Loc expr size | |
.byte 147 # DW_OP_piece | |
.byte 8 # 8 | |
.byte 82 # super-register DW_OP_reg2 | |
.byte 147 # DW_OP_piece | |
.byte 4 # 4 | |
.byte 0 # DW_LLE_end_of_list | |
.Ldebug_loc5: | |
.byte 4 # DW_LLE_offset_pair | |
.uleb128 .Ltmp12-.Lfunc_begin0 # starting offset | |
.uleb128 .Ltmp13-.Lfunc_begin0 # ending offset | |
.byte 27 # Loc expr size | |
.byte 48 # DW_OP_lit0 | |
.byte 16 # DW_OP_constu | |
.byte 32 # 32 | |
.byte 36 # DW_OP_shl | |
.byte 116 # DW_OP_breg4 | |
.byte 0 # 0 | |
.byte 16 # DW_OP_constu | |
.byte 255 # 4294967295 | |
.byte 255 # | |
.byte 255 # | |
.byte 255 # | |
.byte 15 # | |
.byte 26 # DW_OP_and | |
.byte 168 # DW_OP_convert | |
.asciz "\257\200\200" # | |
.byte 168 # DW_OP_convert | |
.asciz "\253\200\200" # | |
.byte 33 # DW_OP_or | |
.byte 159 # DW_OP_stack_value | |
.byte 147 # DW_OP_piece | |
.byte 4 # 4 | |
.byte 0 # DW_LLE_end_of_list | |
.Ldebug_loc6: | |
.byte 4 # DW_LLE_offset_pair | |
.uleb128 .Ltmp15-.Lfunc_begin0 # starting offset | |
.uleb128 .Lfunc_end0-.Lfunc_begin0 # ending offset | |
.byte 12 # Loc expr size | |
.byte 16 # DW_OP_constu | |
.byte 136 # 18446744071562067976 | |
.byte 128 # | |
.byte 128 # | |
.byte 128 # | |
.byte 248 # | |
.byte 255 # | |
.byte 255 # | |
.byte 255 # | |
.byte 255 # | |
.byte 1 # | |
.byte 159 # DW_OP_stack_value | |
.byte 0 # DW_LLE_end_of_list | |
.Ldebug_loc7: | |
.byte 4 # DW_LLE_offset_pair | |
.uleb128 .Ltmp19-.Lfunc_begin0 # starting offset | |
.uleb128 .Ltmp36-.Lfunc_begin0 # ending offset | |
.byte 2 # Loc expr size | |
.byte 48 # DW_OP_lit0 | |
.byte 159 # DW_OP_stack_value | |
.byte 4 # DW_LLE_offset_pair | |
.uleb128 .Ltmp40-.Lfunc_begin0 # starting offset | |
.uleb128 .Ltmp41-.Lfunc_begin0 # ending offset | |
.byte 2 # Loc expr size | |
.byte 48 # DW_OP_lit0 | |
.byte 159 # DW_OP_stack_value | |
.byte 4 # DW_LLE_offset_pair | |
.uleb128 .Ltmp79-.Lfunc_begin0 # starting offset | |
.uleb128 .Ltmp80-.Lfunc_begin0 # ending offset | |
.byte 2 # Loc expr size | |
.byte 48 # DW_OP_lit0 | |
.byte 159 # DW_OP_stack_value | |
.byte 0 # DW_LLE_end_of_list | |
.Ldebug_loc8: | |
.byte 4 # DW_LLE_offset_pair | |
.uleb128 .Ltmp19-.Lfunc_begin0 # starting offset | |
.uleb128 .Ltmp38-.Lfunc_begin0 # ending offset | |
.byte 2 # Loc expr size | |
.byte 48 # DW_OP_lit0 | |
.byte 159 # DW_OP_stack_value | |
.byte 4 # DW_LLE_offset_pair | |
.uleb128 .Ltmp40-.Lfunc_begin0 # starting offset | |
.uleb128 .Ltmp41-.Lfunc_begin0 # ending offset | |
.byte 2 # Loc expr size | |
.byte 48 # DW_OP_lit0 | |
.byte 159 # DW_OP_stack_value | |
.byte 4 # DW_LLE_offset_pair | |
.uleb128 .Ltmp79-.Lfunc_begin0 # starting offset | |
.uleb128 .Ltmp80-.Lfunc_begin0 # ending offset | |
.byte 2 # Loc expr size | |
.byte 48 # DW_OP_lit0 | |
.byte 159 # DW_OP_stack_value | |
.byte 0 # DW_LLE_end_of_list | |
.Ldebug_loc9: | |
.byte 4 # DW_LLE_offset_pair | |
.uleb128 .Ltmp19-.Lfunc_begin0 # starting offset | |
.uleb128 .Ltmp39-.Lfunc_begin0 # ending offset | |
.byte 2 # Loc expr size | |
.byte 48 # DW_OP_lit0 | |
.byte 159 # DW_OP_stack_value | |
.byte 4 # DW_LLE_offset_pair | |
.uleb128 .Ltmp40-.Lfunc_begin0 # starting offset | |
.uleb128 .Ltmp41-.Lfunc_begin0 # ending offset | |
.byte 2 # Loc expr size | |
.byte 48 # DW_OP_lit0 | |
.byte 159 # DW_OP_stack_value | |
.byte 4 # DW_LLE_offset_pair | |
.uleb128 .Ltmp79-.Lfunc_begin0 # starting offset | |
.uleb128 .Ltmp80-.Lfunc_begin0 # ending offset | |
.byte 2 # Loc expr size | |
.byte 48 # DW_OP_lit0 | |
.byte 159 # DW_OP_stack_value | |
.byte 0 # DW_LLE_end_of_list | |
.Ldebug_loc10: | |
.byte 4 # DW_LLE_offset_pair | |
.uleb128 .Ltmp19-.Lfunc_begin0 # starting offset | |
.uleb128 .Lfunc_end0-.Lfunc_begin0 # ending offset | |
.byte 6 # Loc expr size | |
.byte 16 # DW_OP_constu | |
.byte 128 # 201326592 | |
.byte 128 # | |
.byte 128 # | |
.byte 96 # | |
.byte 159 # DW_OP_stack_value | |
.byte 0 # DW_LLE_end_of_list | |
.Ldebug_loc11: | |
.byte 4 # DW_LLE_offset_pair | |
.uleb128 .Ltmp25-.Lfunc_begin0 # starting offset | |
.uleb128 .Ltmp30-.Lfunc_begin0 # ending offset | |
.byte 2 # Loc expr size | |
.byte 48 # DW_OP_lit0 | |
.byte 159 # DW_OP_stack_value | |
.byte 4 # DW_LLE_offset_pair | |
.uleb128 .Ltmp30-.Lfunc_begin0 # starting offset | |
.uleb128 .Ltmp40-.Lfunc_begin0 # ending offset | |
.byte 1 # Loc expr size | |
.byte 84 # DW_OP_reg4 | |
.byte 0 # DW_LLE_end_of_list | |
.Ldebug_loc12: | |
.byte 4 # DW_LLE_offset_pair | |
.uleb128 .Ltmp29-.Lfunc_begin0 # starting offset | |
.uleb128 .Ltmp30-.Lfunc_begin0 # ending offset | |
.byte 3 # Loc expr size | |
.byte 80 # super-register DW_OP_reg0 | |
.byte 147 # DW_OP_piece | |
.byte 4 # 4 | |
.byte 0 # DW_LLE_end_of_list | |
.Ldebug_loc13: | |
.byte 4 # DW_LLE_offset_pair | |
.uleb128 .Ltmp32-.Lfunc_begin0 # starting offset | |
.uleb128 .Ltmp33-.Lfunc_begin0 # ending offset | |
.byte 1 # Loc expr size | |
.byte 80 # super-register DW_OP_reg0 | |
.byte 0 # DW_LLE_end_of_list | |
.Ldebug_loc14: | |
.byte 4 # DW_LLE_offset_pair | |
.uleb128 .Ltmp33-.Lfunc_begin0 # starting offset | |
.uleb128 .Ltmp40-.Lfunc_begin0 # ending offset | |
.byte 2 # Loc expr size | |
.byte 54 # DW_OP_lit6 | |
.byte 159 # DW_OP_stack_value | |
.byte 0 # DW_LLE_end_of_list | |
.Ldebug_loc15: | |
.byte 4 # DW_LLE_offset_pair | |
.uleb128 .Ltmp36-.Lfunc_begin0 # starting offset | |
.uleb128 .Ltmp40-.Lfunc_begin0 # ending offset | |
.byte 4 # Loc expr size | |
.byte 16 # DW_OP_constu | |
.byte 230 # 230 | |
.byte 1 # | |
.byte 159 # DW_OP_stack_value | |
.byte 0 # DW_LLE_end_of_list | |
.Ldebug_loc16: | |
.byte 4 # DW_LLE_offset_pair | |
.uleb128 .Ltmp38-.Lfunc_begin0 # starting offset | |
.uleb128 .Ltmp40-.Lfunc_begin0 # ending offset | |
.byte 2 # Loc expr size | |
.byte 72 # DW_OP_lit24 | |
.byte 159 # DW_OP_stack_value | |
.byte 0 # DW_LLE_end_of_list | |
.Ldebug_loc17: | |
.byte 4 # DW_LLE_offset_pair | |
.uleb128 .Ltmp68-.Lfunc_begin0 # starting offset | |
.uleb128 .Ltmp70-.Lfunc_begin0 # ending offset | |
.byte 24 # Loc expr size | |
.byte 48 # DW_OP_lit0 | |
.byte 112 # DW_OP_breg0 | |
.byte 0 # 0 | |
.byte 16 # DW_OP_constu | |
.byte 255 # 4294967295 | |
.byte 255 # | |
.byte 255 # | |
.byte 255 # | |
.byte 15 # | |
.byte 26 # DW_OP_and | |
.byte 168 # DW_OP_convert | |
.asciz "\257\200\200" # | |
.byte 168 # DW_OP_convert | |
.asciz "\253\200\200" # | |
.byte 33 # DW_OP_or | |
.byte 159 # DW_OP_stack_value | |
.byte 147 # DW_OP_piece | |
.byte 4 # 4 | |
.byte 0 # DW_LLE_end_of_list | |
.Ldebug_loc18: | |
.byte 4 # DW_LLE_offset_pair | |
.uleb128 .Ltmp68-.Lfunc_begin0 # starting offset | |
.uleb128 .Ltmp71-.Lfunc_begin0 # ending offset | |
.byte 1 # Loc expr size | |
.byte 80 # super-register DW_OP_reg0 | |
.byte 0 # DW_LLE_end_of_list | |
.Ldebug_loc19: | |
.byte 4 # DW_LLE_offset_pair | |
.uleb128 .Ltmp68-.Lfunc_begin0 # starting offset | |
.uleb128 .Ltmp77-.Lfunc_begin0 # ending offset | |
.byte 12 # Loc expr size | |
.byte 16 # DW_OP_constu | |
.byte 129 # 18446744072635809793 | |
.byte 128 # | |
.byte 128 # | |
.byte 128 # | |
.byte 252 # | |
.byte 255 # | |
.byte 255 # | |
.byte 255 # | |
.byte 255 # | |
.byte 1 # | |
.byte 159 # DW_OP_stack_value | |
.byte 0 # DW_LLE_end_of_list | |
.Ldebug_loc20: | |
.byte 4 # DW_LLE_offset_pair | |
.uleb128 .Ltmp72-.Lfunc_begin0 # starting offset | |
.uleb128 .Ltmp77-.Lfunc_begin0 # ending offset | |
.byte 2 # Loc expr size | |
.byte 60 # DW_OP_lit12 | |
.byte 159 # DW_OP_stack_value | |
.byte 0 # DW_LLE_end_of_list | |
.Ldebug_loc21: | |
.byte 4 # DW_LLE_offset_pair | |
.uleb128 .Ltmp73-.Lfunc_begin0 # starting offset | |
.uleb128 .Ltmp77-.Lfunc_begin0 # ending offset | |
.byte 4 # Loc expr size | |
.byte 16 # DW_OP_constu | |
.byte 192 # 192 | |
.byte 1 # | |
.byte 159 # DW_OP_stack_value | |
.byte 0 # DW_LLE_end_of_list | |
.Ldebug_loc22: | |
.byte 4 # DW_LLE_offset_pair | |
.uleb128 .Ltmp74-.Lfunc_begin0 # starting offset | |
.uleb128 .Ltmp77-.Lfunc_begin0 # ending offset | |
.byte 4 # Loc expr size | |
.byte 16 # DW_OP_constu | |
.byte 128 # 768 | |
.byte 6 # | |
.byte 159 # DW_OP_stack_value | |
.byte 0 # DW_LLE_end_of_list | |
.Ldebug_loc23: | |
.byte 4 # DW_LLE_offset_pair | |
.uleb128 .Ltmp75-.Lfunc_begin0 # starting offset | |
.uleb128 .Ltmp77-.Lfunc_begin0 # ending offset | |
.byte 4 # Loc expr size | |
.byte 16 # DW_OP_constu | |
.byte 128 # 3072 | |
.byte 24 # | |
.byte 159 # DW_OP_stack_value | |
.byte 0 # DW_LLE_end_of_list | |
.Ldebug_loc24: | |
.byte 4 # DW_LLE_offset_pair | |
.uleb128 .Ltmp76-.Lfunc_begin0 # starting offset | |
.uleb128 .Ltmp77-.Lfunc_begin0 # ending offset | |
.byte 4 # Loc expr size | |
.byte 16 # DW_OP_constu | |
.byte 128 # 12288 | |
.byte 96 # | |
.byte 159 # DW_OP_stack_value | |
.byte 0 # DW_LLE_end_of_list | |
.Ldebug_list_header_end0: | |
.section .debug_abbrev,"",@progbits | |
.byte 1 # Abbreviation Code | |
.byte 17 # DW_TAG_compile_unit | |
.byte 1 # DW_CHILDREN_yes | |
.byte 37 # DW_AT_producer | |
.byte 37 # DW_FORM_strx1 | |
.byte 19 # DW_AT_language | |
.byte 5 # DW_FORM_data2 | |
.byte 3 # DW_AT_name | |
.byte 37 # DW_FORM_strx1 | |
.byte 114 # DW_AT_str_offsets_base | |
.byte 23 # DW_FORM_sec_offset | |
.byte 16 # DW_AT_stmt_list | |
.byte 23 # DW_FORM_sec_offset | |
.byte 27 # DW_AT_comp_dir | |
.byte 37 # DW_FORM_strx1 | |
.byte 17 # DW_AT_low_pc | |
.byte 27 # DW_FORM_addrx | |
.byte 18 # DW_AT_high_pc | |
.byte 6 # DW_FORM_data4 | |
.byte 115 # DW_AT_addr_base | |
.byte 23 # DW_FORM_sec_offset | |
.byte 116 # DW_AT_rnglists_base | |
.byte 23 # DW_FORM_sec_offset | |
.ascii "\214\001" # DW_AT_loclists_base | |
.byte 23 # DW_FORM_sec_offset | |
.byte 0 # EOM(1) | |
.byte 0 # EOM(2) | |
.byte 2 # Abbreviation Code | |
.byte 36 # DW_TAG_base_type | |
.byte 0 # DW_CHILDREN_no | |
.byte 3 # DW_AT_name | |
.byte 37 # DW_FORM_strx1 | |
.byte 62 # DW_AT_encoding | |
.byte 11 # DW_FORM_data1 | |
.byte 11 # DW_AT_byte_size | |
.byte 11 # DW_FORM_data1 | |
.byte 0 # EOM(1) | |
.byte 0 # EOM(2) | |
.byte 3 # Abbreviation Code | |
.byte 4 # DW_TAG_enumeration_type | |
.byte 1 # DW_CHILDREN_yes | |
.byte 73 # DW_AT_type | |
.byte 19 # DW_FORM_ref4 | |
.byte 3 # DW_AT_name | |
.byte 37 # DW_FORM_strx1 | |
.byte 11 # DW_AT_byte_size | |
.byte 11 # DW_FORM_data1 | |
.byte 58 # DW_AT_decl_file | |
.byte 11 # DW_FORM_data1 | |
.byte 59 # DW_AT_decl_line | |
.byte 11 # DW_FORM_data1 | |
.byte 0 # EOM(1) | |
.byte 0 # EOM(2) | |
.byte 4 # Abbreviation Code | |
.byte 40 # DW_TAG_enumerator | |
.byte 0 # DW_CHILDREN_no | |
.byte 3 # DW_AT_name | |
.byte 37 # DW_FORM_strx1 | |
.byte 28 # DW_AT_const_value | |
.byte 15 # DW_FORM_udata | |
.byte 0 # EOM(1) | |
.byte 0 # EOM(2) | |
.byte 5 # Abbreviation Code | |
.byte 4 # DW_TAG_enumeration_type | |
.byte 1 # DW_CHILDREN_yes | |
.byte 73 # DW_AT_type | |
.byte 19 # DW_FORM_ref4 | |
.byte 3 # DW_AT_name | |
.byte 37 # DW_FORM_strx1 | |
.byte 11 # DW_AT_byte_size | |
.byte 11 # DW_FORM_data1 | |
.byte 58 # DW_AT_decl_file | |
.byte 11 # DW_FORM_data1 | |
.byte 59 # DW_AT_decl_line | |
.byte 5 # DW_FORM_data2 | |
.byte 0 # EOM(1) | |
.byte 0 # EOM(2) | |
.byte 6 # Abbreviation Code | |
.byte 22 # DW_TAG_typedef | |
.byte 0 # DW_CHILDREN_no | |
.byte 73 # DW_AT_type | |
.byte 19 # DW_FORM_ref4 | |
.byte 3 # DW_AT_name | |
.byte 37 # DW_FORM_strx1 | |
.byte 58 # DW_AT_decl_file | |
.byte 11 # DW_FORM_data1 | |
.byte 59 # DW_AT_decl_line | |
.byte 11 # DW_FORM_data1 | |
.byte 0 # EOM(1) | |
.byte 0 # EOM(2) | |
.byte 7 # Abbreviation Code | |
.byte 46 # DW_TAG_subprogram | |
.byte 1 # DW_CHILDREN_yes | |
.byte 3 # DW_AT_name | |
.byte 37 # DW_FORM_strx1 | |
.byte 58 # DW_AT_decl_file | |
.byte 11 # DW_FORM_data1 | |
.byte 59 # DW_AT_decl_line | |
.byte 11 # DW_FORM_data1 | |
.byte 39 # DW_AT_prototyped | |
.byte 25 # DW_FORM_flag_present | |
.byte 73 # DW_AT_type | |
.byte 19 # DW_FORM_ref4 | |
.byte 32 # DW_AT_inline | |
.byte 33 # DW_FORM_implicit_const | |
.byte 1 | |
.byte 0 # EOM(1) | |
.byte 0 # EOM(2) | |
.byte 8 # Abbreviation Code | |
.byte 5 # DW_TAG_formal_parameter | |
.byte 0 # DW_CHILDREN_no | |
.byte 3 # DW_AT_name | |
.byte 37 # DW_FORM_strx1 | |
.byte 58 # DW_AT_decl_file | |
.byte 11 # DW_FORM_data1 | |
.byte 59 # DW_AT_decl_line | |
.byte 11 # DW_FORM_data1 | |
.byte 73 # DW_AT_type | |
.byte 19 # DW_FORM_ref4 | |
.byte 0 # EOM(1) | |
.byte 0 # EOM(2) | |
.byte 9 # Abbreviation Code | |
.byte 52 # DW_TAG_variable | |
.byte 0 # DW_CHILDREN_no | |
.byte 3 # DW_AT_name | |
.byte 37 # DW_FORM_strx1 | |
.byte 58 # DW_AT_decl_file | |
.byte 11 # DW_FORM_data1 | |
.byte 59 # DW_AT_decl_line | |
.byte 11 # DW_FORM_data1 | |
.byte 73 # DW_AT_type | |
.byte 19 # DW_FORM_ref4 | |
.byte 0 # EOM(1) | |
.byte 0 # EOM(2) | |
.byte 10 # Abbreviation Code | |
.byte 19 # DW_TAG_structure_type | |
.byte 1 # DW_CHILDREN_yes | |
.byte 3 # DW_AT_name | |
.byte 37 # DW_FORM_strx1 | |
.byte 11 # DW_AT_byte_size | |
.byte 11 # DW_FORM_data1 | |
.byte 58 # DW_AT_decl_file | |
.byte 11 # DW_FORM_data1 | |
.byte 59 # DW_AT_decl_line | |
.byte 11 # DW_FORM_data1 | |
.byte 0 # EOM(1) | |
.byte 0 # EOM(2) | |
.byte 11 # Abbreviation Code | |
.byte 13 # DW_TAG_member | |
.byte 0 # DW_CHILDREN_no | |
.byte 3 # DW_AT_name | |
.byte 37 # DW_FORM_strx1 | |
.byte 73 # DW_AT_type | |
.byte 19 # DW_FORM_ref4 | |
.byte 58 # DW_AT_decl_file | |
.byte 11 # DW_FORM_data1 | |
.byte 59 # DW_AT_decl_line | |
.byte 11 # DW_FORM_data1 | |
.byte 56 # DW_AT_data_member_location | |
.byte 11 # DW_FORM_data1 | |
.byte 0 # EOM(1) | |
.byte 0 # EOM(2) | |
.byte 12 # Abbreviation Code | |
.byte 46 # DW_TAG_subprogram | |
.byte 1 # DW_CHILDREN_yes | |
.byte 3 # DW_AT_name | |
.byte 37 # DW_FORM_strx1 | |
.byte 58 # DW_AT_decl_file | |
.byte 11 # DW_FORM_data1 | |
.byte 59 # DW_AT_decl_line | |
.byte 11 # DW_FORM_data1 | |
.byte 39 # DW_AT_prototyped | |
.byte 25 # DW_FORM_flag_present | |
.byte 54 # DW_AT_calling_convention | |
.byte 11 # DW_FORM_data1 | |
.byte 73 # DW_AT_type | |
.byte 19 # DW_FORM_ref4 | |
.byte 32 # DW_AT_inline | |
.byte 33 # DW_FORM_implicit_const | |
.byte 1 | |
.byte 0 # EOM(1) | |
.byte 0 # EOM(2) | |
.byte 13 # Abbreviation Code | |
.byte 46 # DW_TAG_subprogram | |
.byte 1 # DW_CHILDREN_yes | |
.byte 17 # DW_AT_low_pc | |
.byte 27 # DW_FORM_addrx | |
.byte 18 # DW_AT_high_pc | |
.byte 6 # DW_FORM_data4 | |
.byte 64 # DW_AT_frame_base | |
.byte 24 # DW_FORM_exprloc | |
.byte 122 # DW_AT_call_all_calls | |
.byte 25 # DW_FORM_flag_present | |
.byte 3 # DW_AT_name | |
.byte 37 # DW_FORM_strx1 | |
.byte 58 # DW_AT_decl_file | |
.byte 11 # DW_FORM_data1 | |
.byte 59 # DW_AT_decl_line | |
.byte 11 # DW_FORM_data1 | |
.byte 39 # DW_AT_prototyped | |
.byte 25 # DW_FORM_flag_present | |
.byte 73 # DW_AT_type | |
.byte 19 # DW_FORM_ref4 | |
.byte 63 # DW_AT_external | |
.byte 25 # DW_FORM_flag_present | |
.byte 0 # EOM(1) | |
.byte 0 # EOM(2) | |
.byte 14 # Abbreviation Code | |
.byte 5 # DW_TAG_formal_parameter | |
.byte 0 # DW_CHILDREN_no | |
.byte 2 # DW_AT_location | |
.byte 34 # DW_FORM_loclistx | |
.byte 3 # DW_AT_name | |
.byte 37 # DW_FORM_strx1 | |
.byte 58 # DW_AT_decl_file | |
.byte 11 # DW_FORM_data1 | |
.byte 59 # DW_AT_decl_line | |
.byte 11 # DW_FORM_data1 | |
.byte 73 # DW_AT_type | |
.byte 19 # DW_FORM_ref4 | |
.byte 0 # EOM(1) | |
.byte 0 # EOM(2) | |
.byte 15 # Abbreviation Code | |
.byte 5 # DW_TAG_formal_parameter | |
.byte 0 # DW_CHILDREN_no | |
.byte 2 # DW_AT_location | |
.byte 24 # DW_FORM_exprloc | |
.byte 3 # DW_AT_name | |
.byte 37 # DW_FORM_strx1 | |
.byte 58 # DW_AT_decl_file | |
.byte 11 # DW_FORM_data1 | |
.byte 59 # DW_AT_decl_line | |
.byte 11 # DW_FORM_data1 | |
.byte 73 # DW_AT_type | |
.byte 19 # DW_FORM_ref4 | |
.byte 0 # EOM(1) | |
.byte 0 # EOM(2) | |
.byte 16 # Abbreviation Code | |
.byte 52 # DW_TAG_variable | |
.byte 0 # DW_CHILDREN_no | |
.byte 2 # DW_AT_location | |
.byte 34 # DW_FORM_loclistx | |
.byte 3 # DW_AT_name | |
.byte 37 # DW_FORM_strx1 | |
.byte 58 # DW_AT_decl_file | |
.byte 11 # DW_FORM_data1 | |
.byte 59 # DW_AT_decl_line | |
.byte 11 # DW_FORM_data1 | |
.byte 73 # DW_AT_type | |
.byte 19 # DW_FORM_ref4 | |
.byte 0 # EOM(1) | |
.byte 0 # EOM(2) | |
.byte 17 # Abbreviation Code | |
.byte 52 # DW_TAG_variable | |
.byte 0 # DW_CHILDREN_no | |
.byte 3 # DW_AT_name | |
.byte 38 # DW_FORM_strx2 | |
.byte 58 # DW_AT_decl_file | |
.byte 11 # DW_FORM_data1 | |
.byte 59 # DW_AT_decl_line | |
.byte 11 # DW_FORM_data1 | |
.byte 73 # DW_AT_type | |
.byte 19 # DW_FORM_ref4 | |
.byte 0 # EOM(1) | |
.byte 0 # EOM(2) | |
.byte 18 # Abbreviation Code | |
.byte 52 # DW_TAG_variable | |
.byte 0 # DW_CHILDREN_no | |
.byte 2 # DW_AT_location | |
.byte 34 # DW_FORM_loclistx | |
.byte 3 # DW_AT_name | |
.byte 38 # DW_FORM_strx2 | |
.byte 58 # DW_AT_decl_file | |
.byte 11 # DW_FORM_data1 | |
.byte 59 # DW_AT_decl_line | |
.byte 11 # DW_FORM_data1 | |
.byte 73 # DW_AT_type | |
.byte 19 # DW_FORM_ref4 | |
.byte 0 # EOM(1) | |
.byte 0 # EOM(2) | |
.byte 19 # Abbreviation Code | |
.byte 29 # DW_TAG_inlined_subroutine | |
.byte 1 # DW_CHILDREN_yes | |
.byte 49 # DW_AT_abstract_origin | |
.byte 19 # DW_FORM_ref4 | |
.byte 17 # DW_AT_low_pc | |
.byte 27 # DW_FORM_addrx | |
.byte 18 # DW_AT_high_pc | |
.byte 6 # DW_FORM_data4 | |
.byte 88 # DW_AT_call_file | |
.byte 11 # DW_FORM_data1 | |
.byte 89 # DW_AT_call_line | |
.byte 11 # DW_FORM_data1 | |
.byte 87 # DW_AT_call_column | |
.byte 11 # DW_FORM_data1 | |
.byte 0 # EOM(1) | |
.byte 0 # EOM(2) | |
.byte 20 # Abbreviation Code | |
.byte 5 # DW_TAG_formal_parameter | |
.byte 0 # DW_CHILDREN_no | |
.byte 28 # DW_AT_const_value | |
.byte 15 # DW_FORM_udata | |
.byte 49 # DW_AT_abstract_origin | |
.byte 19 # DW_FORM_ref4 | |
.byte 0 # EOM(1) | |
.byte 0 # EOM(2) | |
.byte 21 # Abbreviation Code | |
.byte 52 # DW_TAG_variable | |
.byte 0 # DW_CHILDREN_no | |
.byte 2 # DW_AT_location | |
.byte 34 # DW_FORM_loclistx | |
.byte 49 # DW_AT_abstract_origin | |
.byte 19 # DW_FORM_ref4 | |
.byte 0 # EOM(1) | |
.byte 0 # EOM(2) | |
.byte 22 # Abbreviation Code | |
.byte 11 # DW_TAG_lexical_block | |
.byte 1 # DW_CHILDREN_yes | |
.byte 17 # DW_AT_low_pc | |
.byte 27 # DW_FORM_addrx | |
.byte 18 # DW_AT_high_pc | |
.byte 6 # DW_FORM_data4 | |
.byte 0 # EOM(1) | |
.byte 0 # EOM(2) | |
.byte 23 # Abbreviation Code | |
.byte 29 # DW_TAG_inlined_subroutine | |
.byte 1 # DW_CHILDREN_yes | |
.byte 49 # DW_AT_abstract_origin | |
.byte 19 # DW_FORM_ref4 | |
.byte 85 # DW_AT_ranges | |
.byte 35 # DW_FORM_rnglistx | |
.byte 88 # DW_AT_call_file | |
.byte 11 # DW_FORM_data1 | |
.byte 89 # DW_AT_call_line | |
.byte 11 # DW_FORM_data1 | |
.byte 87 # DW_AT_call_column | |
.byte 11 # DW_FORM_data1 | |
.byte 0 # EOM(1) | |
.byte 0 # EOM(2) | |
.byte 24 # Abbreviation Code | |
.byte 52 # DW_TAG_variable | |
.byte 0 # DW_CHILDREN_no | |
.byte 2 # DW_AT_location | |
.byte 34 # DW_FORM_loclistx | |
.byte 3 # DW_AT_name | |
.byte 38 # DW_FORM_strx2 | |
.byte 58 # DW_AT_decl_file | |
.byte 11 # DW_FORM_data1 | |
.byte 59 # DW_AT_decl_line | |
.byte 5 # DW_FORM_data2 | |
.byte 73 # DW_AT_type | |
.byte 19 # DW_FORM_ref4 | |
.byte 0 # EOM(1) | |
.byte 0 # EOM(2) | |
.byte 25 # Abbreviation Code | |
.byte 29 # DW_TAG_inlined_subroutine | |
.byte 1 # DW_CHILDREN_yes | |
.byte 49 # DW_AT_abstract_origin | |
.byte 19 # DW_FORM_ref4 | |
.byte 17 # DW_AT_low_pc | |
.byte 27 # DW_FORM_addrx | |
.byte 18 # DW_AT_high_pc | |
.byte 6 # DW_FORM_data4 | |
.byte 88 # DW_AT_call_file | |
.byte 11 # DW_FORM_data1 | |
.byte 89 # DW_AT_call_line | |
.byte 5 # DW_FORM_data2 | |
.byte 87 # DW_AT_call_column | |
.byte 11 # DW_FORM_data1 | |
.byte 0 # EOM(1) | |
.byte 0 # EOM(2) | |
.byte 26 # Abbreviation Code | |
.byte 52 # DW_TAG_variable | |
.byte 0 # DW_CHILDREN_no | |
.byte 3 # DW_AT_name | |
.byte 38 # DW_FORM_strx2 | |
.byte 58 # DW_AT_decl_file | |
.byte 11 # DW_FORM_data1 | |
.byte 59 # DW_AT_decl_line | |
.byte 5 # DW_FORM_data2 | |
.byte 73 # DW_AT_type | |
.byte 19 # DW_FORM_ref4 | |
.byte 0 # EOM(1) | |
.byte 0 # EOM(2) | |
.byte 27 # Abbreviation Code | |
.byte 19 # DW_TAG_structure_type | |
.byte 1 # DW_CHILDREN_yes | |
.byte 3 # DW_AT_name | |
.byte 37 # DW_FORM_strx1 | |
.byte 11 # DW_AT_byte_size | |
.byte 11 # DW_FORM_data1 | |
.byte 58 # DW_AT_decl_file | |
.byte 11 # DW_FORM_data1 | |
.byte 59 # DW_AT_decl_line | |
.byte 5 # DW_FORM_data2 | |
.byte 0 # EOM(1) | |
.byte 0 # EOM(2) | |
.byte 28 # Abbreviation Code | |
.byte 13 # DW_TAG_member | |
.byte 0 # DW_CHILDREN_no | |
.byte 3 # DW_AT_name | |
.byte 37 # DW_FORM_strx1 | |
.byte 73 # DW_AT_type | |
.byte 19 # DW_FORM_ref4 | |
.byte 58 # DW_AT_decl_file | |
.byte 11 # DW_FORM_data1 | |
.byte 59 # DW_AT_decl_line | |
.byte 5 # DW_FORM_data2 | |
.byte 56 # DW_AT_data_member_location | |
.byte 11 # DW_FORM_data1 | |
.byte 0 # EOM(1) | |
.byte 0 # EOM(2) | |
.byte 29 # Abbreviation Code | |
.byte 38 # DW_TAG_const_type | |
.byte 0 # DW_CHILDREN_no | |
.byte 73 # DW_AT_type | |
.byte 19 # DW_FORM_ref4 | |
.byte 0 # EOM(1) | |
.byte 0 # EOM(2) | |
.byte 0 # EOM(3) | |
.section .debug_info,"",@progbits | |
.Lcu_begin0: | |
.long .Ldebug_info_end0-.Ldebug_info_start0 # Length of Unit | |
.Ldebug_info_start0: | |
.short 5 # DWARF version number | |
.byte 1 # DWARF Unit Type | |
.byte 8 # Address Size (in bytes) | |
.long .debug_abbrev # Offset Into Abbrev. Section | |
.byte 1 # Abbrev [1] 0xc:0x8f5 DW_TAG_compile_unit | |
.byte 0 # DW_AT_producer | |
.short 12 # DW_AT_language | |
.byte 1 # DW_AT_name | |
.long .Lstr_offsets_base0 # DW_AT_str_offsets_base | |
.long .Lline_table_start0 # DW_AT_stmt_list | |
.byte 2 # DW_AT_comp_dir | |
.byte 0 # DW_AT_low_pc | |
.long .Lfunc_end0-.Lfunc_begin0 # DW_AT_high_pc | |
.long .Laddr_table_base0 # DW_AT_addr_base | |
.long .Lrnglists_table_base0 # DW_AT_rnglists_base | |
.long .Lloclists_table_base0 # DW_AT_loclists_base | |
.byte 2 # Abbrev [2] 0x2b:0x4 DW_TAG_base_type | |
.byte 169 # DW_AT_name | |
.byte 7 # DW_AT_encoding | |
.byte 8 # DW_AT_byte_size | |
.byte 2 # Abbrev [2] 0x2f:0x4 DW_TAG_base_type | |
.byte 168 # DW_AT_name | |
.byte 7 # DW_AT_encoding | |
.byte 4 # DW_AT_byte_size | |
.byte 3 # Abbrev [3] 0x33:0x64 DW_TAG_enumeration_type | |
.long 151 # DW_AT_type | |
.byte 34 # DW_AT_name | |
.byte 4 # DW_AT_byte_size | |
.byte 1 # DW_AT_decl_file | |
.byte 137 # DW_AT_decl_line | |
.byte 4 # Abbrev [4] 0x3c:0x3 DW_TAG_enumerator | |
.byte 4 # DW_AT_name | |
.byte 0 # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x3f:0x3 DW_TAG_enumerator | |
.byte 5 # DW_AT_name | |
.byte 1 # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x42:0x3 DW_TAG_enumerator | |
.byte 6 # DW_AT_name | |
.byte 2 # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x45:0x3 DW_TAG_enumerator | |
.byte 7 # DW_AT_name | |
.byte 3 # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x48:0x3 DW_TAG_enumerator | |
.byte 8 # DW_AT_name | |
.byte 4 # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x4b:0x3 DW_TAG_enumerator | |
.byte 9 # DW_AT_name | |
.byte 5 # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x4e:0x3 DW_TAG_enumerator | |
.byte 10 # DW_AT_name | |
.byte 6 # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x51:0x3 DW_TAG_enumerator | |
.byte 11 # DW_AT_name | |
.byte 7 # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x54:0x3 DW_TAG_enumerator | |
.byte 12 # DW_AT_name | |
.byte 8 # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x57:0x3 DW_TAG_enumerator | |
.byte 13 # DW_AT_name | |
.byte 9 # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x5a:0x3 DW_TAG_enumerator | |
.byte 14 # DW_AT_name | |
.byte 10 # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x5d:0x3 DW_TAG_enumerator | |
.byte 15 # DW_AT_name | |
.byte 11 # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x60:0x3 DW_TAG_enumerator | |
.byte 16 # DW_AT_name | |
.byte 12 # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x63:0x3 DW_TAG_enumerator | |
.byte 17 # DW_AT_name | |
.byte 13 # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x66:0x3 DW_TAG_enumerator | |
.byte 18 # DW_AT_name | |
.byte 14 # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x69:0x3 DW_TAG_enumerator | |
.byte 19 # DW_AT_name | |
.byte 15 # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x6c:0x3 DW_TAG_enumerator | |
.byte 20 # DW_AT_name | |
.byte 16 # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x6f:0x3 DW_TAG_enumerator | |
.byte 21 # DW_AT_name | |
.byte 30 # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x72:0x3 DW_TAG_enumerator | |
.byte 22 # DW_AT_name | |
.byte 31 # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x75:0x3 DW_TAG_enumerator | |
.byte 23 # DW_AT_name | |
.byte 32 # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x78:0x3 DW_TAG_enumerator | |
.byte 24 # DW_AT_name | |
.byte 33 # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x7b:0x3 DW_TAG_enumerator | |
.byte 25 # DW_AT_name | |
.byte 34 # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x7e:0x3 DW_TAG_enumerator | |
.byte 26 # DW_AT_name | |
.byte 50 # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x81:0x3 DW_TAG_enumerator | |
.byte 27 # DW_AT_name | |
.byte 51 # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x84:0x3 DW_TAG_enumerator | |
.byte 28 # DW_AT_name | |
.byte 52 # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x87:0x3 DW_TAG_enumerator | |
.byte 29 # DW_AT_name | |
.byte 53 # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x8a:0x3 DW_TAG_enumerator | |
.byte 30 # DW_AT_name | |
.byte 54 # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x8d:0x3 DW_TAG_enumerator | |
.byte 31 # DW_AT_name | |
.byte 55 # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x90:0x3 DW_TAG_enumerator | |
.byte 32 # DW_AT_name | |
.byte 56 # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x93:0x3 DW_TAG_enumerator | |
.byte 33 # DW_AT_name | |
.byte 57 # DW_AT_const_value | |
.byte 0 # End Of Children Mark | |
.byte 2 # Abbrev [2] 0x97:0x4 DW_TAG_base_type | |
.byte 3 # DW_AT_name | |
.byte 7 # DW_AT_encoding | |
.byte 4 # DW_AT_byte_size | |
.byte 5 # Abbrev [5] 0x9b:0x29c DW_TAG_enumeration_type | |
.long 151 # DW_AT_type | |
.byte 150 # DW_AT_name | |
.byte 4 # DW_AT_byte_size | |
.byte 1 # DW_AT_decl_file | |
.short 266 # DW_AT_decl_line | |
.byte 4 # Abbrev [4] 0xa5:0x3 DW_TAG_enumerator | |
.byte 35 # DW_AT_name | |
.byte 0 # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0xa8:0x5 DW_TAG_enumerator | |
.byte 36 # DW_AT_name | |
.ascii "\200\202@" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0xad:0x5 DW_TAG_enumerator | |
.byte 37 # DW_AT_name | |
.ascii "\201\202@" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0xb2:0x5 DW_TAG_enumerator | |
.byte 38 # DW_AT_name | |
.ascii "\200\204@" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0xb7:0x5 DW_TAG_enumerator | |
.byte 39 # DW_AT_name | |
.ascii "\201\204@" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0xbc:0x5 DW_TAG_enumerator | |
.byte 40 # DW_AT_name | |
.ascii "\202\204@" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0xc1:0x5 DW_TAG_enumerator | |
.byte 41 # DW_AT_name | |
.ascii "\203\204@" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0xc6:0x5 DW_TAG_enumerator | |
.byte 42 # DW_AT_name | |
.ascii "\204\204@" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0xcb:0x5 DW_TAG_enumerator | |
.byte 43 # DW_AT_name | |
.ascii "\205\204@" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0xd0:0x5 DW_TAG_enumerator | |
.byte 44 # DW_AT_name | |
.ascii "\206\204@" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0xd5:0x5 DW_TAG_enumerator | |
.byte 45 # DW_AT_name | |
.ascii "\207\204@" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0xda:0x5 DW_TAG_enumerator | |
.byte 46 # DW_AT_name | |
.ascii "\210\204@" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0xdf:0x5 DW_TAG_enumerator | |
.byte 47 # DW_AT_name | |
.ascii "\211\204@" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0xe4:0x5 DW_TAG_enumerator | |
.byte 48 # DW_AT_name | |
.ascii "\212\204@" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0xe9:0x5 DW_TAG_enumerator | |
.byte 49 # DW_AT_name | |
.ascii "\212\204@" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0xee:0x5 DW_TAG_enumerator | |
.byte 50 # DW_AT_name | |
.ascii "\213\204@" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0xf3:0x5 DW_TAG_enumerator | |
.byte 51 # DW_AT_name | |
.ascii "\214\204@" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0xf8:0x5 DW_TAG_enumerator | |
.byte 52 # DW_AT_name | |
.ascii "\200\206@" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0xfd:0x5 DW_TAG_enumerator | |
.byte 53 # DW_AT_name | |
.ascii "\201\206@" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x102:0x5 DW_TAG_enumerator | |
.byte 54 # DW_AT_name | |
.ascii "\200\210@" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x107:0x5 DW_TAG_enumerator | |
.byte 55 # DW_AT_name | |
.ascii "\201\210@" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x10c:0x5 DW_TAG_enumerator | |
.byte 56 # DW_AT_name | |
.ascii "\202\210@" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x111:0x5 DW_TAG_enumerator | |
.byte 57 # DW_AT_name | |
.ascii "\203\210@" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x116:0x5 DW_TAG_enumerator | |
.byte 58 # DW_AT_name | |
.ascii "\204\210@" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x11b:0x5 DW_TAG_enumerator | |
.byte 59 # DW_AT_name | |
.ascii "\205\210@" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x120:0x5 DW_TAG_enumerator | |
.byte 60 # DW_AT_name | |
.ascii "\200\212@" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x125:0x5 DW_TAG_enumerator | |
.byte 61 # DW_AT_name | |
.ascii "\201\212@" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x12a:0x5 DW_TAG_enumerator | |
.byte 62 # DW_AT_name | |
.ascii "\202\212@" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x12f:0x5 DW_TAG_enumerator | |
.byte 63 # DW_AT_name | |
.ascii "\203\212@" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x134:0x5 DW_TAG_enumerator | |
.byte 64 # DW_AT_name | |
.ascii "\204\212@" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x139:0x5 DW_TAG_enumerator | |
.byte 65 # DW_AT_name | |
.ascii "\200\214@" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x13e:0x6 DW_TAG_enumerator | |
.byte 66 # DW_AT_name | |
.ascii "\200\202\200\001" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x144:0x6 DW_TAG_enumerator | |
.byte 67 # DW_AT_name | |
.ascii "\201\202\200\001" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x14a:0x6 DW_TAG_enumerator | |
.byte 68 # DW_AT_name | |
.ascii "\202\202\200\001" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x150:0x6 DW_TAG_enumerator | |
.byte 69 # DW_AT_name | |
.ascii "\203\202\200\001" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x156:0x6 DW_TAG_enumerator | |
.byte 70 # DW_AT_name | |
.ascii "\204\202\200\001" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x15c:0x6 DW_TAG_enumerator | |
.byte 71 # DW_AT_name | |
.ascii "\205\202\200\001" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x162:0x6 DW_TAG_enumerator | |
.byte 72 # DW_AT_name | |
.ascii "\206\202\200\001" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x168:0x6 DW_TAG_enumerator | |
.byte 73 # DW_AT_name | |
.ascii "\207\202\200\001" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x16e:0x6 DW_TAG_enumerator | |
.byte 74 # DW_AT_name | |
.ascii "\210\202\200\001" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x174:0x6 DW_TAG_enumerator | |
.byte 75 # DW_AT_name | |
.ascii "\211\202\200\001" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x17a:0x6 DW_TAG_enumerator | |
.byte 76 # DW_AT_name | |
.ascii "\212\202\200\001" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x180:0x6 DW_TAG_enumerator | |
.byte 77 # DW_AT_name | |
.ascii "\213\202\200\001" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x186:0x6 DW_TAG_enumerator | |
.byte 78 # DW_AT_name | |
.ascii "\200\204\200\001" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x18c:0x6 DW_TAG_enumerator | |
.byte 79 # DW_AT_name | |
.ascii "\201\204\200\001" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x192:0x6 DW_TAG_enumerator | |
.byte 80 # DW_AT_name | |
.ascii "\202\204\200\001" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x198:0x6 DW_TAG_enumerator | |
.byte 81 # DW_AT_name | |
.ascii "\203\204\200\001" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x19e:0x6 DW_TAG_enumerator | |
.byte 82 # DW_AT_name | |
.ascii "\200\202\300\001" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x1a4:0x6 DW_TAG_enumerator | |
.byte 83 # DW_AT_name | |
.ascii "\201\202\300\001" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x1aa:0x6 DW_TAG_enumerator | |
.byte 84 # DW_AT_name | |
.ascii "\202\202\300\001" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x1b0:0x6 DW_TAG_enumerator | |
.byte 85 # DW_AT_name | |
.ascii "\205\204\300\001" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x1b6:0x6 DW_TAG_enumerator | |
.byte 86 # DW_AT_name | |
.ascii "\207\204\300\001" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x1bc:0x6 DW_TAG_enumerator | |
.byte 87 # DW_AT_name | |
.ascii "\210\204\300\001" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x1c2:0x6 DW_TAG_enumerator | |
.byte 88 # DW_AT_name | |
.ascii "\211\204\300\001" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x1c8:0x6 DW_TAG_enumerator | |
.byte 89 # DW_AT_name | |
.ascii "\222\204\300\001" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x1ce:0x6 DW_TAG_enumerator | |
.byte 90 # DW_AT_name | |
.ascii "\225\204\300\001" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x1d4:0x6 DW_TAG_enumerator | |
.byte 91 # DW_AT_name | |
.ascii "\227\204\300\001" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x1da:0x6 DW_TAG_enumerator | |
.byte 92 # DW_AT_name | |
.ascii "\262\206\300\001" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x1e0:0x6 DW_TAG_enumerator | |
.byte 93 # DW_AT_name | |
.ascii "\265\206\300\001" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x1e6:0x6 DW_TAG_enumerator | |
.byte 94 # DW_AT_name | |
.ascii "\323\206\300\001" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x1ec:0x6 DW_TAG_enumerator | |
.byte 95 # DW_AT_name | |
.ascii "\324\206\300\001" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x1f2:0x6 DW_TAG_enumerator | |
.byte 96 # DW_AT_name | |
.ascii "\325\206\300\001" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x1f8:0x6 DW_TAG_enumerator | |
.byte 97 # DW_AT_name | |
.ascii "\327\206\300\001" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x1fe:0x6 DW_TAG_enumerator | |
.byte 98 # DW_AT_name | |
.ascii "\345\206\300\001" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x204:0x6 DW_TAG_enumerator | |
.byte 99 # DW_AT_name | |
.ascii "\362\206\300\001" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x20a:0x6 DW_TAG_enumerator | |
.byte 100 # DW_AT_name | |
.ascii "\363\206\300\001" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x210:0x6 DW_TAG_enumerator | |
.byte 101 # DW_AT_name | |
.ascii "\365\206\300\001" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x216:0x6 DW_TAG_enumerator | |
.byte 102 # DW_AT_name | |
.ascii "\366\206\300\001" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x21c:0x6 DW_TAG_enumerator | |
.byte 103 # DW_AT_name | |
.ascii "\367\206\300\001" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x222:0x6 DW_TAG_enumerator | |
.byte 104 # DW_AT_name | |
.ascii "\370\206\300\001" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x228:0x6 DW_TAG_enumerator | |
.byte 105 # DW_AT_name | |
.ascii "\200\210\300\001" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x22e:0x6 DW_TAG_enumerator | |
.byte 106 # DW_AT_name | |
.ascii "\201\210\300\001" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x234:0x6 DW_TAG_enumerator | |
.byte 107 # DW_AT_name | |
.ascii "\200\212\300\001" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x23a:0x6 DW_TAG_enumerator | |
.byte 108 # DW_AT_name | |
.ascii "\202\212\300\001" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x240:0x6 DW_TAG_enumerator | |
.byte 109 # DW_AT_name | |
.ascii "\321\212\300\001" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x246:0x6 DW_TAG_enumerator | |
.byte 110 # DW_AT_name | |
.ascii "\361\212\300\001" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x24c:0x6 DW_TAG_enumerator | |
.byte 111 # DW_AT_name | |
.ascii "\200\202\200\002" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x252:0x6 DW_TAG_enumerator | |
.byte 112 # DW_AT_name | |
.ascii "\201\202\200\002" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x258:0x6 DW_TAG_enumerator | |
.byte 113 # DW_AT_name | |
.ascii "\202\202\200\002" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x25e:0x6 DW_TAG_enumerator | |
.byte 114 # DW_AT_name | |
.ascii "\203\202\200\002" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x264:0x6 DW_TAG_enumerator | |
.byte 115 # DW_AT_name | |
.ascii "\204\202\200\002" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x26a:0x6 DW_TAG_enumerator | |
.byte 116 # DW_AT_name | |
.ascii "\200\202\300\002" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x270:0x6 DW_TAG_enumerator | |
.byte 117 # DW_AT_name | |
.ascii "\201\202\300\002" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x276:0x6 DW_TAG_enumerator | |
.byte 118 # DW_AT_name | |
.ascii "\202\202\300\002" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x27c:0x6 DW_TAG_enumerator | |
.byte 119 # DW_AT_name | |
.ascii "\200\202\200\003" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x282:0x6 DW_TAG_enumerator | |
.byte 120 # DW_AT_name | |
.ascii "\201\202\200\003" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x288:0x6 DW_TAG_enumerator | |
.byte 121 # DW_AT_name | |
.ascii "\202\202\200\003" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x28e:0x6 DW_TAG_enumerator | |
.byte 122 # DW_AT_name | |
.ascii "\203\202\200\003" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x294:0x6 DW_TAG_enumerator | |
.byte 123 # DW_AT_name | |
.ascii "\204\202\200\003" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x29a:0x6 DW_TAG_enumerator | |
.byte 124 # DW_AT_name | |
.ascii "\366\206\300\001" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x2a0:0x6 DW_TAG_enumerator | |
.byte 125 # DW_AT_name | |
.ascii "\200\202\200\003" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x2a6:0x6 DW_TAG_enumerator | |
.byte 126 # DW_AT_name | |
.ascii "\201\202\200\003" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x2ac:0x6 DW_TAG_enumerator | |
.byte 127 # DW_AT_name | |
.ascii "\202\202\200\003" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x2b2:0x6 DW_TAG_enumerator | |
.byte 128 # DW_AT_name | |
.ascii "\203\202\200\003" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x2b8:0x6 DW_TAG_enumerator | |
.byte 129 # DW_AT_name | |
.ascii "\200\202\300\003" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x2be:0x6 DW_TAG_enumerator | |
.byte 130 # DW_AT_name | |
.ascii "\201\202\300\003" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x2c4:0x6 DW_TAG_enumerator | |
.byte 131 # DW_AT_name | |
.ascii "\202\202\300\003" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x2ca:0x6 DW_TAG_enumerator | |
.byte 132 # DW_AT_name | |
.ascii "\203\202\300\003" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x2d0:0x6 DW_TAG_enumerator | |
.byte 133 # DW_AT_name | |
.ascii "\204\202\300\003" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x2d6:0x6 DW_TAG_enumerator | |
.byte 134 # DW_AT_name | |
.ascii "\205\202\300\003" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x2dc:0x6 DW_TAG_enumerator | |
.byte 135 # DW_AT_name | |
.ascii "\206\202\300\003" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x2e2:0x6 DW_TAG_enumerator | |
.byte 136 # DW_AT_name | |
.ascii "\207\202\300\003" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x2e8:0x6 DW_TAG_enumerator | |
.byte 137 # DW_AT_name | |
.ascii "\210\202\300\003" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x2ee:0x6 DW_TAG_enumerator | |
.byte 138 # DW_AT_name | |
.ascii "\211\202\300\003" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x2f4:0x6 DW_TAG_enumerator | |
.byte 139 # DW_AT_name | |
.ascii "\212\202\300\003" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x2fa:0x6 DW_TAG_enumerator | |
.byte 140 # DW_AT_name | |
.ascii "\213\202\300\003" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x300:0x6 DW_TAG_enumerator | |
.byte 141 # DW_AT_name | |
.ascii "\214\202\300\003" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x306:0x6 DW_TAG_enumerator | |
.byte 142 # DW_AT_name | |
.ascii "\200\202\200\004" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x30c:0x6 DW_TAG_enumerator | |
.byte 143 # DW_AT_name | |
.ascii "\200\204\200\004" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x312:0x6 DW_TAG_enumerator | |
.byte 144 # DW_AT_name | |
.ascii "\200\202\300\004" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x318:0x6 DW_TAG_enumerator | |
.byte 145 # DW_AT_name | |
.ascii "\200\202\200\005" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x31e:0x6 DW_TAG_enumerator | |
.byte 146 # DW_AT_name | |
.ascii "\201\202\200\005" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x324:0x6 DW_TAG_enumerator | |
.byte 147 # DW_AT_name | |
.ascii "\200\202\300\005" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x32a:0x6 DW_TAG_enumerator | |
.byte 148 # DW_AT_name | |
.ascii "\200\202\200\b" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x330:0x6 DW_TAG_enumerator | |
.byte 149 # DW_AT_name | |
.ascii "\200\202\200\006" # DW_AT_const_value | |
.byte 0 # End Of Children Mark | |
.byte 6 # Abbrev [6] 0x337:0x8 DW_TAG_typedef | |
.long 831 # DW_AT_type | |
.byte 153 # DW_AT_name | |
.byte 3 # DW_AT_decl_file | |
.byte 27 # DW_AT_decl_line | |
.byte 6 # Abbrev [6] 0x33f:0x8 DW_TAG_typedef | |
.long 839 # DW_AT_type | |
.byte 152 # DW_AT_name | |
.byte 2 # DW_AT_decl_file | |
.byte 44 # DW_AT_decl_line | |
.byte 2 # Abbrev [2] 0x347:0x4 DW_TAG_base_type | |
.byte 151 # DW_AT_name | |
.byte 7 # DW_AT_encoding | |
.byte 8 # DW_AT_byte_size | |
.byte 7 # Abbrev [7] 0x34b:0x21 DW_TAG_subprogram | |
.byte 154 # DW_AT_name | |
.byte 4 # DW_AT_decl_file | |
.byte 43 # DW_AT_decl_line | |
# DW_AT_prototyped | |
.long 876 # DW_AT_type | |
# DW_AT_inline | |
.byte 8 # Abbrev [8] 0x353:0x8 DW_TAG_formal_parameter | |
.byte 155 # DW_AT_name | |
.byte 4 # DW_AT_decl_file | |
.byte 43 # DW_AT_decl_line | |
.long 918 # DW_AT_type | |
.byte 8 # Abbrev [8] 0x35b:0x8 DW_TAG_formal_parameter | |
.byte 159 # DW_AT_name | |
.byte 4 # DW_AT_decl_file | |
.byte 43 # DW_AT_decl_line | |
.long 918 # DW_AT_type | |
.byte 9 # Abbrev [9] 0x363:0x8 DW_TAG_variable | |
.byte 162 # DW_AT_name | |
.byte 4 # DW_AT_decl_file | |
.byte 54 # DW_AT_decl_line | |
.long 876 # DW_AT_type | |
.byte 0 # End Of Children Mark | |
.byte 10 # Abbrev [10] 0x36c:0x2a DW_TAG_structure_type | |
.byte 161 # DW_AT_name | |
.byte 16 # DW_AT_byte_size | |
.byte 5 # DW_AT_decl_file | |
.byte 10 # DW_AT_decl_line | |
.byte 11 # Abbrev [11] 0x371:0x9 DW_TAG_member | |
.byte 155 # DW_AT_name | |
.long 918 # DW_AT_type | |
.byte 5 # DW_AT_decl_file | |
.byte 11 # DW_AT_decl_line | |
.byte 0 # DW_AT_data_member_location | |
.byte 11 # Abbrev [11] 0x37a:0x9 DW_TAG_member | |
.byte 158 # DW_AT_name | |
.long 918 # DW_AT_type | |
.byte 5 # DW_AT_decl_file | |
.byte 12 # DW_AT_decl_line | |
.byte 4 # DW_AT_data_member_location | |
.byte 11 # Abbrev [11] 0x383:0x9 DW_TAG_member | |
.byte 159 # DW_AT_name | |
.long 918 # DW_AT_type | |
.byte 5 # DW_AT_decl_file | |
.byte 13 # DW_AT_decl_line | |
.byte 8 # DW_AT_data_member_location | |
.byte 11 # Abbrev [11] 0x38c:0x9 DW_TAG_member | |
.byte 160 # DW_AT_name | |
.long 918 # DW_AT_type | |
.byte 5 # DW_AT_decl_file | |
.byte 14 # DW_AT_decl_line | |
.byte 12 # DW_AT_data_member_location | |
.byte 0 # End Of Children Mark | |
.byte 6 # Abbrev [6] 0x396:0x8 DW_TAG_typedef | |
.long 926 # DW_AT_type | |
.byte 157 # DW_AT_name | |
.byte 3 # DW_AT_decl_file | |
.byte 26 # DW_AT_decl_line | |
.byte 6 # Abbrev [6] 0x39e:0x8 DW_TAG_typedef | |
.long 151 # DW_AT_type | |
.byte 156 # DW_AT_name | |
.byte 2 # DW_AT_decl_file | |
.byte 41 # DW_AT_decl_line | |
.byte 7 # Abbrev [7] 0x3a6:0x19 DW_TAG_subprogram | |
.byte 163 # DW_AT_name | |
.byte 4 # DW_AT_decl_file | |
.byte 17 # DW_AT_decl_line | |
# DW_AT_prototyped | |
.long 876 # DW_AT_type | |
# DW_AT_inline | |
.byte 8 # Abbrev [8] 0x3ae:0x8 DW_TAG_formal_parameter | |
.byte 155 # DW_AT_name | |
.byte 4 # DW_AT_decl_file | |
.byte 17 # DW_AT_decl_line | |
.long 918 # DW_AT_type | |
.byte 9 # Abbrev [9] 0x3b6:0x8 DW_TAG_variable | |
.byte 162 # DW_AT_name | |
.byte 4 # DW_AT_decl_file | |
.byte 28 # DW_AT_decl_line | |
.long 876 # DW_AT_type | |
.byte 0 # End Of Children Mark | |
.byte 12 # Abbrev [12] 0x3bf:0x22 DW_TAG_subprogram | |
.byte 164 # DW_AT_name | |
.byte 4 # DW_AT_decl_file | |
.byte 70 # DW_AT_decl_line | |
# DW_AT_prototyped | |
.byte 3 # DW_AT_calling_convention | |
.long 823 # DW_AT_type | |
# DW_AT_inline | |
.byte 8 # Abbrev [8] 0x3c8:0x8 DW_TAG_formal_parameter | |
.byte 165 # DW_AT_name | |
.byte 4 # DW_AT_decl_file | |
.byte 70 # DW_AT_decl_line | |
.long 918 # DW_AT_type | |
.byte 9 # Abbrev [9] 0x3d0:0x8 DW_TAG_variable | |
.byte 166 # DW_AT_name | |
.byte 4 # DW_AT_decl_file | |
.byte 74 # DW_AT_decl_line | |
.long 918 # DW_AT_type | |
.byte 9 # Abbrev [9] 0x3d8:0x8 DW_TAG_variable | |
.byte 167 # DW_AT_name | |
.byte 4 # DW_AT_decl_file | |
.byte 74 # DW_AT_decl_line | |
.long 918 # DW_AT_type | |
.byte 0 # End Of Children Mark | |
.byte 13 # Abbrev [13] 0x3e1:0x221 DW_TAG_subprogram | |
.byte 0 # DW_AT_low_pc | |
.long .Lfunc_end0-.Lfunc_begin0 # DW_AT_high_pc | |
.byte 1 # DW_AT_frame_base | |
.byte 86 | |
# DW_AT_call_all_calls | |
.byte 170 # DW_AT_name | |
.byte 0 # DW_AT_decl_file | |
.byte 38 # DW_AT_decl_line | |
# DW_AT_prototyped | |
.long 1538 # DW_AT_type | |
# DW_AT_external | |
.byte 14 # Abbrev [14] 0x3f0:0x9 DW_TAG_formal_parameter | |
.byte 0 # DW_AT_location | |
.byte 247 # DW_AT_name | |
.byte 0 # DW_AT_decl_file | |
.byte 39 # DW_AT_decl_line | |
.long 2289 # DW_AT_type | |
.byte 14 # Abbrev [14] 0x3f9:0x9 DW_TAG_formal_parameter | |
.byte 1 # DW_AT_location | |
.byte 248 # DW_AT_name | |
.byte 0 # DW_AT_decl_file | |
.byte 39 # DW_AT_decl_line | |
.long 2289 # DW_AT_type | |
.byte 14 # Abbrev [14] 0x402:0x9 DW_TAG_formal_parameter | |
.byte 2 # DW_AT_location | |
.byte 249 # DW_AT_name | |
.byte 0 # DW_AT_decl_file | |
.byte 40 # DW_AT_decl_line | |
.long 918 # DW_AT_type | |
.byte 15 # Abbrev [15] 0x40b:0xb DW_TAG_formal_parameter | |
.byte 2 # DW_AT_location | |
.byte 145 | |
.byte 16 | |
.byte 250 # DW_AT_name | |
.byte 0 # DW_AT_decl_file | |
.byte 40 # DW_AT_decl_line | |
.long 918 # DW_AT_type | |
.byte 15 # Abbrev [15] 0x416:0xb DW_TAG_formal_parameter | |
.byte 2 # DW_AT_location | |
.byte 145 | |
.byte 24 | |
.byte 251 # DW_AT_name | |
.byte 0 # DW_AT_decl_file | |
.byte 41 # DW_AT_decl_line | |
.long 51 # DW_AT_type | |
.byte 15 # Abbrev [15] 0x421:0xb DW_TAG_formal_parameter | |
.byte 2 # DW_AT_location | |
.byte 145 | |
.byte 32 | |
.byte 252 # DW_AT_name | |
.byte 0 # DW_AT_decl_file | |
.byte 41 # DW_AT_decl_line | |
.long 155 # DW_AT_type | |
.byte 16 # Abbrev [16] 0x42c:0x9 DW_TAG_variable | |
.byte 3 # DW_AT_location | |
.byte 253 # DW_AT_name | |
.byte 0 # DW_AT_decl_file | |
.byte 43 # DW_AT_decl_line | |
.long 1538 # DW_AT_type | |
.byte 16 # Abbrev [16] 0x435:0x9 DW_TAG_variable | |
.byte 5 # DW_AT_location | |
.byte 254 # DW_AT_name | |
.byte 0 # DW_AT_decl_file | |
.byte 47 # DW_AT_decl_line | |
.long 2289 # DW_AT_type | |
.byte 16 # Abbrev [16] 0x43e:0x9 DW_TAG_variable | |
.byte 6 # DW_AT_location | |
.byte 255 # DW_AT_name | |
.byte 0 # DW_AT_decl_file | |
.byte 50 # DW_AT_decl_line | |
.long 2294 # DW_AT_type | |
.byte 17 # Abbrev [17] 0x447:0x9 DW_TAG_variable | |
.short 256 # DW_AT_name | |
.byte 0 # DW_AT_decl_file | |
.byte 51 # DW_AT_decl_line | |
.long 2289 # DW_AT_type | |
.byte 18 # Abbrev [18] 0x450:0xa DW_TAG_variable | |
.byte 7 # DW_AT_location | |
.short 257 # DW_AT_name | |
.byte 0 # DW_AT_decl_file | |
.byte 55 # DW_AT_decl_line | |
.long 2285 # DW_AT_type | |
.byte 18 # Abbrev [18] 0x45a:0xa DW_TAG_variable | |
.byte 8 # DW_AT_location | |
.short 258 # DW_AT_name | |
.byte 0 # DW_AT_decl_file | |
.byte 55 # DW_AT_decl_line | |
.long 2285 # DW_AT_type | |
.byte 18 # Abbrev [18] 0x464:0xa DW_TAG_variable | |
.byte 9 # DW_AT_location | |
.short 259 # DW_AT_name | |
.byte 0 # DW_AT_decl_file | |
.byte 55 # DW_AT_decl_line | |
.long 2285 # DW_AT_type | |
.byte 18 # Abbrev [18] 0x46e:0xa DW_TAG_variable | |
.byte 10 # DW_AT_location | |
.short 260 # DW_AT_name | |
.byte 0 # DW_AT_decl_file | |
.byte 61 # DW_AT_decl_line | |
.long 2294 # DW_AT_type | |
.byte 17 # Abbrev [17] 0x478:0x9 DW_TAG_variable | |
.short 274 # DW_AT_name | |
.byte 0 # DW_AT_decl_file | |
.byte 45 # DW_AT_decl_line | |
.long 2289 # DW_AT_type | |
.byte 19 # Abbrev [19] 0x481:0x20 DW_TAG_inlined_subroutine | |
.long 843 # DW_AT_abstract_origin | |
.byte 1 # DW_AT_low_pc | |
.long .Ltmp10-.Ltmp5 # DW_AT_high_pc | |
.byte 0 # DW_AT_call_file | |
.byte 46 # DW_AT_call_line | |
.byte 27 # DW_AT_call_column | |
.byte 20 # Abbrev [20] 0x48e:0x6 DW_TAG_formal_parameter | |
.byte 7 # DW_AT_const_value | |
.long 851 # DW_AT_abstract_origin | |
.byte 20 # Abbrev [20] 0x494:0x6 DW_TAG_formal_parameter | |
.byte 0 # DW_AT_const_value | |
.long 859 # DW_AT_abstract_origin | |
.byte 21 # Abbrev [21] 0x49a:0x6 DW_TAG_variable | |
.byte 4 # DW_AT_location | |
.long 867 # DW_AT_abstract_origin | |
.byte 0 # End Of Children Mark | |
.byte 19 # Abbrev [19] 0x4a1:0x1a DW_TAG_inlined_subroutine | |
.long 843 # DW_AT_abstract_origin | |
.byte 2 # DW_AT_low_pc | |
.long .Ltmp12-.Ltmp10 # DW_AT_high_pc | |
.byte 0 # DW_AT_call_file | |
.byte 48 # DW_AT_call_line | |
.byte 27 # DW_AT_call_column | |
.byte 20 # Abbrev [20] 0x4ae:0x6 DW_TAG_formal_parameter | |
.byte 7 # DW_AT_const_value | |
.long 851 # DW_AT_abstract_origin | |
.byte 20 # Abbrev [20] 0x4b4:0x6 DW_TAG_formal_parameter | |
.byte 1 # DW_AT_const_value | |
.long 859 # DW_AT_abstract_origin | |
.byte 0 # End Of Children Mark | |
.byte 19 # Abbrev [19] 0x4bb:0x1d DW_TAG_inlined_subroutine | |
.long 934 # DW_AT_abstract_origin | |
.byte 3 # DW_AT_low_pc | |
.long .Ltmp17-.Ltmp16 # DW_AT_high_pc | |
.byte 0 # DW_AT_call_file | |
.byte 53 # DW_AT_call_line | |
.byte 4 # DW_AT_call_column | |
.byte 20 # Abbrev [20] 0x4c8:0xf DW_TAG_formal_parameter | |
.ascii "\210\200\200\200\370\377\377\377\377\001" # DW_AT_const_value | |
.long 942 # DW_AT_abstract_origin | |
.byte 0 # End Of Children Mark | |
.byte 22 # Abbrev [22] 0x4d8:0x7d DW_TAG_lexical_block | |
.byte 4 # DW_AT_low_pc | |
.long .Ltmp40-.Ltmp26 # DW_AT_high_pc | |
.byte 18 # Abbrev [18] 0x4de:0xa DW_TAG_variable | |
.byte 11 # DW_AT_location | |
.short 261 # DW_AT_name | |
.byte 0 # DW_AT_decl_file | |
.byte 63 # DW_AT_decl_line | |
.long 823 # DW_AT_type | |
.byte 18 # Abbrev [18] 0x4e8:0xa DW_TAG_variable | |
.byte 14 # DW_AT_location | |
.short 262 # DW_AT_name | |
.byte 0 # DW_AT_decl_file | |
.byte 76 # DW_AT_decl_line | |
.long 2299 # DW_AT_type | |
.byte 18 # Abbrev [18] 0x4f2:0xa DW_TAG_variable | |
.byte 15 # DW_AT_location | |
.short 263 # DW_AT_name | |
.byte 0 # DW_AT_decl_file | |
.byte 89 # DW_AT_decl_line | |
.long 2299 # DW_AT_type | |
.byte 18 # Abbrev [18] 0x4fc:0xa DW_TAG_variable | |
.byte 16 # DW_AT_location | |
.short 264 # DW_AT_name | |
.byte 0 # DW_AT_decl_file | |
.byte 99 # DW_AT_decl_line | |
.long 2299 # DW_AT_type | |
.byte 17 # Abbrev [17] 0x506:0x9 DW_TAG_variable | |
.short 275 # DW_AT_name | |
.byte 0 # DW_AT_decl_file | |
.byte 69 # DW_AT_decl_line | |
.long 2299 # DW_AT_type | |
.byte 22 # Abbrev [22] 0x50f:0x2f DW_TAG_lexical_block | |
.byte 5 # DW_AT_low_pc | |
.long .Ltmp30-.Ltmp28 # DW_AT_high_pc | |
.byte 9 # Abbrev [9] 0x515:0x8 DW_TAG_variable | |
.byte 162 # DW_AT_name | |
.byte 0 # DW_AT_decl_file | |
.byte 65 # DW_AT_decl_line | |
.long 2289 # DW_AT_type | |
.byte 19 # Abbrev [19] 0x51d:0x20 DW_TAG_inlined_subroutine | |
.long 843 # DW_AT_abstract_origin | |
.byte 5 # DW_AT_low_pc | |
.long .Ltmp30-.Ltmp28 # DW_AT_high_pc | |
.byte 0 # DW_AT_call_file | |
.byte 65 # DW_AT_call_line | |
.byte 35 # DW_AT_call_column | |
.byte 20 # Abbrev [20] 0x52a:0x6 DW_TAG_formal_parameter | |
.byte 13 # DW_AT_const_value | |
.long 851 # DW_AT_abstract_origin | |
.byte 20 # Abbrev [20] 0x530:0x6 DW_TAG_formal_parameter | |
.byte 0 # DW_AT_const_value | |
.long 859 # DW_AT_abstract_origin | |
.byte 21 # Abbrev [21] 0x536:0x6 DW_TAG_variable | |
.byte 12 # DW_AT_location | |
.long 867 # DW_AT_abstract_origin | |
.byte 0 # End Of Children Mark | |
.byte 0 # End Of Children Mark | |
.byte 23 # Abbrev [23] 0x53e:0x16 DW_TAG_inlined_subroutine | |
.long 959 # DW_AT_abstract_origin | |
.byte 0 # DW_AT_ranges | |
.byte 0 # DW_AT_call_file | |
.byte 69 # DW_AT_call_line | |
.byte 42 # DW_AT_call_column | |
.byte 20 # Abbrev [20] 0x547:0x6 DW_TAG_formal_parameter | |
.byte 0 # DW_AT_const_value | |
.long 968 # DW_AT_abstract_origin | |
.byte 21 # Abbrev [21] 0x54d:0x6 DW_TAG_variable | |
.byte 13 # DW_AT_location | |
.long 976 # DW_AT_abstract_origin | |
.byte 0 # End Of Children Mark | |
.byte 0 # End Of Children Mark | |
.byte 22 # Abbrev [22] 0x555:0xac DW_TAG_lexical_block | |
.byte 6 # DW_AT_low_pc | |
.long .Ltmp77-.Ltmp67 # DW_AT_high_pc | |
.byte 24 # Abbrev [24] 0x55b:0xb DW_TAG_variable | |
.byte 17 # DW_AT_location | |
.short 265 # DW_AT_name | |
.byte 0 # DW_AT_decl_file | |
.short 657 # DW_AT_decl_line | |
.long 2289 # DW_AT_type | |
.byte 24 # Abbrev [24] 0x566:0xb DW_TAG_variable | |
.byte 18 # DW_AT_location | |
.short 266 # DW_AT_name | |
.byte 0 # DW_AT_decl_file | |
.short 658 # DW_AT_decl_line | |
.long 2294 # DW_AT_type | |
.byte 24 # Abbrev [24] 0x571:0xb DW_TAG_variable | |
.byte 19 # DW_AT_location | |
.short 267 # DW_AT_name | |
.byte 0 # DW_AT_decl_file | |
.short 659 # DW_AT_decl_line | |
.long 2294 # DW_AT_type | |
.byte 25 # Abbrev [25] 0x57c:0x1e DW_TAG_inlined_subroutine | |
.long 934 # DW_AT_abstract_origin | |
.byte 6 # DW_AT_low_pc | |
.long .Ltmp68-.Ltmp67 # DW_AT_high_pc | |
.byte 0 # DW_AT_call_file | |
.short 657 # DW_AT_call_line | |
.byte 47 # DW_AT_call_column | |
.byte 20 # Abbrev [20] 0x58a:0xf DW_TAG_formal_parameter | |
.ascii "\200\200\200\200\374\377\377\377\377\001" # DW_AT_const_value | |
.long 942 # DW_AT_abstract_origin | |
.byte 0 # End Of Children Mark | |
.byte 22 # Abbrev [22] 0x59a:0x66 DW_TAG_lexical_block | |
.byte 7 # DW_AT_low_pc | |
.long .Ltmp77-.Ltmp70 # DW_AT_high_pc | |
.byte 26 # Abbrev [26] 0x5a0:0xa DW_TAG_variable | |
.short 268 # DW_AT_name | |
.byte 0 # DW_AT_decl_file | |
.short 661 # DW_AT_decl_line | |
.long 2289 # DW_AT_type | |
.byte 24 # Abbrev [24] 0x5aa:0xb DW_TAG_variable | |
.byte 20 # DW_AT_location | |
.short 269 # DW_AT_name | |
.byte 0 # DW_AT_decl_file | |
.short 668 # DW_AT_decl_line | |
.long 2294 # DW_AT_type | |
.byte 24 # Abbrev [24] 0x5b5:0xb DW_TAG_variable | |
.byte 21 # DW_AT_location | |
.short 270 # DW_AT_name | |
.byte 0 # DW_AT_decl_file | |
.short 676 # DW_AT_decl_line | |
.long 2294 # DW_AT_type | |
.byte 24 # Abbrev [24] 0x5c0:0xb DW_TAG_variable | |
.byte 22 # DW_AT_location | |
.short 271 # DW_AT_name | |
.byte 0 # DW_AT_decl_file | |
.short 684 # DW_AT_decl_line | |
.long 2294 # DW_AT_type | |
.byte 24 # Abbrev [24] 0x5cb:0xb DW_TAG_variable | |
.byte 23 # DW_AT_location | |
.short 272 # DW_AT_name | |
.byte 0 # DW_AT_decl_file | |
.short 692 # DW_AT_decl_line | |
.long 2294 # DW_AT_type | |
.byte 24 # Abbrev [24] 0x5d6:0xb DW_TAG_variable | |
.byte 24 # DW_AT_location | |
.short 273 # DW_AT_name | |
.byte 0 # DW_AT_decl_file | |
.short 700 # DW_AT_decl_line | |
.long 2294 # DW_AT_type | |
.byte 25 # Abbrev [25] 0x5e1:0x1e DW_TAG_inlined_subroutine | |
.long 934 # DW_AT_abstract_origin | |
.byte 7 # DW_AT_low_pc | |
.long .Ltmp72-.Ltmp70 # DW_AT_high_pc | |
.byte 0 # DW_AT_call_file | |
.short 661 # DW_AT_call_line | |
.byte 43 # DW_AT_call_column | |
.byte 20 # Abbrev [20] 0x5ef:0xf DW_TAG_formal_parameter | |
.ascii "\201\200\200\200\374\377\377\377\377\001" # DW_AT_const_value | |
.long 942 # DW_AT_abstract_origin | |
.byte 0 # End Of Children Mark | |
.byte 0 # End Of Children Mark | |
.byte 0 # End Of Children Mark | |
.byte 0 # End Of Children Mark | |
.byte 27 # Abbrev [27] 0x602:0x2eb DW_TAG_structure_type | |
.byte 246 # DW_AT_name | |
.byte 74 # DW_AT_byte_size | |
.byte 1 # DW_AT_decl_file | |
.short 670 # DW_AT_decl_line | |
.byte 28 # Abbrev [28] 0x608:0xa DW_TAG_member | |
.byte 171 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 674 # DW_AT_decl_line | |
.byte 0 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x612:0xa DW_TAG_member | |
.byte 173 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 675 # DW_AT_decl_line | |
.byte 1 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x61c:0xa DW_TAG_member | |
.byte 174 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 676 # DW_AT_decl_line | |
.byte 2 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x626:0xa DW_TAG_member | |
.byte 175 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 680 # DW_AT_decl_line | |
.byte 3 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x630:0xa DW_TAG_member | |
.byte 176 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 681 # DW_AT_decl_line | |
.byte 4 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x63a:0xa DW_TAG_member | |
.byte 177 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 682 # DW_AT_decl_line | |
.byte 5 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x644:0xa DW_TAG_member | |
.byte 178 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 683 # DW_AT_decl_line | |
.byte 6 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x64e:0xa DW_TAG_member | |
.byte 179 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 684 # DW_AT_decl_line | |
.byte 7 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x658:0xa DW_TAG_member | |
.byte 180 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 685 # DW_AT_decl_line | |
.byte 8 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x662:0xa DW_TAG_member | |
.byte 181 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 689 # DW_AT_decl_line | |
.byte 9 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x66c:0xa DW_TAG_member | |
.byte 182 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 690 # DW_AT_decl_line | |
.byte 10 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x676:0xa DW_TAG_member | |
.byte 183 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 696 # DW_AT_decl_line | |
.byte 11 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x680:0xa DW_TAG_member | |
.byte 184 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 697 # DW_AT_decl_line | |
.byte 12 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x68a:0xa DW_TAG_member | |
.byte 185 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 701 # DW_AT_decl_line | |
.byte 13 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x694:0xa DW_TAG_member | |
.byte 186 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 702 # DW_AT_decl_line | |
.byte 14 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x69e:0xa DW_TAG_member | |
.byte 187 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 703 # DW_AT_decl_line | |
.byte 15 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x6a8:0xa DW_TAG_member | |
.byte 188 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 709 # DW_AT_decl_line | |
.byte 16 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x6b2:0xa DW_TAG_member | |
.byte 189 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 710 # DW_AT_decl_line | |
.byte 17 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x6bc:0xa DW_TAG_member | |
.byte 190 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 711 # DW_AT_decl_line | |
.byte 18 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x6c6:0xa DW_TAG_member | |
.byte 191 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 712 # DW_AT_decl_line | |
.byte 19 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x6d0:0xa DW_TAG_member | |
.byte 192 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 713 # DW_AT_decl_line | |
.byte 20 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x6da:0xa DW_TAG_member | |
.byte 193 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 714 # DW_AT_decl_line | |
.byte 21 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x6e4:0xa DW_TAG_member | |
.byte 194 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 715 # DW_AT_decl_line | |
.byte 22 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x6ee:0xa DW_TAG_member | |
.byte 195 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 716 # DW_AT_decl_line | |
.byte 23 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x6f8:0xa DW_TAG_member | |
.byte 196 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 717 # DW_AT_decl_line | |
.byte 24 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x702:0xa DW_TAG_member | |
.byte 197 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 718 # DW_AT_decl_line | |
.byte 25 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x70c:0xa DW_TAG_member | |
.byte 198 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 719 # DW_AT_decl_line | |
.byte 26 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x716:0xa DW_TAG_member | |
.byte 199 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 720 # DW_AT_decl_line | |
.byte 27 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x720:0xa DW_TAG_member | |
.byte 200 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 721 # DW_AT_decl_line | |
.byte 28 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x72a:0xa DW_TAG_member | |
.byte 201 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 722 # DW_AT_decl_line | |
.byte 29 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x734:0xa DW_TAG_member | |
.byte 202 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 723 # DW_AT_decl_line | |
.byte 30 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x73e:0xa DW_TAG_member | |
.byte 203 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 724 # DW_AT_decl_line | |
.byte 31 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x748:0xa DW_TAG_member | |
.byte 204 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 725 # DW_AT_decl_line | |
.byte 32 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x752:0xa DW_TAG_member | |
.byte 205 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 726 # DW_AT_decl_line | |
.byte 33 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x75c:0xa DW_TAG_member | |
.byte 206 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 727 # DW_AT_decl_line | |
.byte 34 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x766:0xa DW_TAG_member | |
.byte 207 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 728 # DW_AT_decl_line | |
.byte 35 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x770:0xa DW_TAG_member | |
.byte 208 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 729 # DW_AT_decl_line | |
.byte 36 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x77a:0xa DW_TAG_member | |
.byte 209 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 730 # DW_AT_decl_line | |
.byte 37 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x784:0xa DW_TAG_member | |
.byte 210 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 731 # DW_AT_decl_line | |
.byte 38 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x78e:0xa DW_TAG_member | |
.byte 211 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 732 # DW_AT_decl_line | |
.byte 39 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x798:0xa DW_TAG_member | |
.byte 212 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 733 # DW_AT_decl_line | |
.byte 40 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x7a2:0xa DW_TAG_member | |
.byte 213 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 734 # DW_AT_decl_line | |
.byte 41 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x7ac:0xa DW_TAG_member | |
.byte 214 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 735 # DW_AT_decl_line | |
.byte 42 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x7b6:0xa DW_TAG_member | |
.byte 215 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 736 # DW_AT_decl_line | |
.byte 43 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x7c0:0xa DW_TAG_member | |
.byte 216 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 737 # DW_AT_decl_line | |
.byte 44 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x7ca:0xa DW_TAG_member | |
.byte 217 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 738 # DW_AT_decl_line | |
.byte 45 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x7d4:0xa DW_TAG_member | |
.byte 218 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 739 # DW_AT_decl_line | |
.byte 46 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x7de:0xa DW_TAG_member | |
.byte 219 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 740 # DW_AT_decl_line | |
.byte 47 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x7e8:0xa DW_TAG_member | |
.byte 220 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 741 # DW_AT_decl_line | |
.byte 48 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x7f2:0xa DW_TAG_member | |
.byte 221 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 746 # DW_AT_decl_line | |
.byte 49 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x7fc:0xa DW_TAG_member | |
.byte 222 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 747 # DW_AT_decl_line | |
.byte 50 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x806:0xa DW_TAG_member | |
.byte 223 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 748 # DW_AT_decl_line | |
.byte 51 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x810:0xa DW_TAG_member | |
.byte 224 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 750 # DW_AT_decl_line | |
.byte 52 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x81a:0xa DW_TAG_member | |
.byte 225 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 752 # DW_AT_decl_line | |
.byte 53 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x824:0xa DW_TAG_member | |
.byte 226 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 753 # DW_AT_decl_line | |
.byte 54 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x82e:0xa DW_TAG_member | |
.byte 227 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 754 # DW_AT_decl_line | |
.byte 55 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x838:0xa DW_TAG_member | |
.byte 228 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 755 # DW_AT_decl_line | |
.byte 56 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x842:0xa DW_TAG_member | |
.byte 229 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 756 # DW_AT_decl_line | |
.byte 57 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x84c:0xa DW_TAG_member | |
.byte 230 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 757 # DW_AT_decl_line | |
.byte 58 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x856:0xa DW_TAG_member | |
.byte 231 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 758 # DW_AT_decl_line | |
.byte 59 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x860:0xa DW_TAG_member | |
.byte 232 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 759 # DW_AT_decl_line | |
.byte 60 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x86a:0xa DW_TAG_member | |
.byte 233 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 760 # DW_AT_decl_line | |
.byte 61 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x874:0xa DW_TAG_member | |
.byte 234 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 761 # DW_AT_decl_line | |
.byte 62 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x87e:0xa DW_TAG_member | |
.byte 235 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 762 # DW_AT_decl_line | |
.byte 63 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x888:0xa DW_TAG_member | |
.byte 236 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 763 # DW_AT_decl_line | |
.byte 64 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x892:0xa DW_TAG_member | |
.byte 237 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 764 # DW_AT_decl_line | |
.byte 65 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x89c:0xa DW_TAG_member | |
.byte 238 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 765 # DW_AT_decl_line | |
.byte 66 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x8a6:0xa DW_TAG_member | |
.byte 239 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 766 # DW_AT_decl_line | |
.byte 67 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x8b0:0xa DW_TAG_member | |
.byte 240 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 767 # DW_AT_decl_line | |
.byte 68 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x8ba:0xa DW_TAG_member | |
.byte 241 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 768 # DW_AT_decl_line | |
.byte 69 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x8c4:0xa DW_TAG_member | |
.byte 242 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 769 # DW_AT_decl_line | |
.byte 70 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x8ce:0xa DW_TAG_member | |
.byte 243 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 770 # DW_AT_decl_line | |
.byte 71 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x8d8:0xa DW_TAG_member | |
.byte 244 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 771 # DW_AT_decl_line | |
.byte 72 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x8e2:0xa DW_TAG_member | |
.byte 245 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 772 # DW_AT_decl_line | |
.byte 73 # DW_AT_data_member_location | |
.byte 0 # End Of Children Mark | |
.byte 2 # Abbrev [2] 0x8ed:0x4 DW_TAG_base_type | |
.byte 172 # DW_AT_name | |
.byte 2 # DW_AT_encoding | |
.byte 1 # DW_AT_byte_size | |
.byte 29 # Abbrev [29] 0x8f1:0x5 DW_TAG_const_type | |
.long 876 # DW_AT_type | |
.byte 29 # Abbrev [29] 0x8f6:0x5 DW_TAG_const_type | |
.long 918 # DW_AT_type | |
.byte 29 # Abbrev [29] 0x8fb:0x5 DW_TAG_const_type | |
.long 823 # DW_AT_type | |
.byte 0 # End Of Children Mark | |
.Ldebug_info_end0: | |
.section .debug_rnglists,"",@progbits | |
.long .Ldebug_list_header_end1-.Ldebug_list_header_start1 # Length | |
.Ldebug_list_header_start1: | |
.short 5 # Version | |
.byte 8 # Address size | |
.byte 0 # Segment selector size | |
.long 1 # Offset entry count | |
.Lrnglists_table_base0: | |
.long .Ldebug_ranges0-.Lrnglists_table_base0 | |
.Ldebug_ranges0: | |
.byte 4 # DW_RLE_offset_pair | |
.uleb128 .Ltmp30-.Lfunc_begin0 # starting offset | |
.uleb128 .Ltmp31-.Lfunc_begin0 # ending offset | |
.byte 4 # DW_RLE_offset_pair | |
.uleb128 .Ltmp32-.Lfunc_begin0 # starting offset | |
.uleb128 .Ltmp33-.Lfunc_begin0 # ending offset | |
.byte 0 # DW_RLE_end_of_list | |
.Ldebug_list_header_end1: | |
.section .debug_str_offsets,"",@progbits | |
.long 1108 # Length of String Offsets Set | |
.short 5 | |
.short 0 | |
.Lstr_offsets_base0: | |
.section .debug_str,"MS",@progbits,1 | |
.Linfo_string0: | |
.asciz "clang version 0fe13b5f84abe1716f5991da057c801dc548a9ab" # string offset=0 | |
.Linfo_string1: | |
.asciz "cpuinfo/src/x86/isa.c" # string offset=55 | |
.Linfo_string2: | |
.asciz "workspace" # string offset=77 | |
.Linfo_string3: | |
.asciz "unsigned int" # string offset=87 | |
.Linfo_string4: | |
.asciz "cpuinfo_vendor_unknown" # string offset=100 | |
.Linfo_string5: | |
.asciz "cpuinfo_vendor_intel" # string offset=123 | |
.Linfo_string6: | |
.asciz "cpuinfo_vendor_amd" # string offset=144 | |
.Linfo_string7: | |
.asciz "cpuinfo_vendor_arm" # string offset=163 | |
.Linfo_string8: | |
.asciz "cpuinfo_vendor_qualcomm" # string offset=182 | |
.Linfo_string9: | |
.asciz "cpuinfo_vendor_apple" # string offset=206 | |
.Linfo_string10: | |
.asciz "cpuinfo_vendor_samsung" # string offset=227 | |
.Linfo_string11: | |
.asciz "cpuinfo_vendor_nvidia" # string offset=250 | |
.Linfo_string12: | |
.asciz "cpuinfo_vendor_mips" # string offset=272 | |
.Linfo_string13: | |
.asciz "cpuinfo_vendor_ibm" # string offset=292 | |
.Linfo_string14: | |
.asciz "cpuinfo_vendor_ingenic" # string offset=311 | |
.Linfo_string15: | |
.asciz "cpuinfo_vendor_via" # string offset=334 | |
.Linfo_string16: | |
.asciz "cpuinfo_vendor_cavium" # string offset=353 | |
.Linfo_string17: | |
.asciz "cpuinfo_vendor_broadcom" # string offset=375 | |
.Linfo_string18: | |
.asciz "cpuinfo_vendor_apm" # string offset=399 | |
.Linfo_string19: | |
.asciz "cpuinfo_vendor_huawei" # string offset=418 | |
.Linfo_string20: | |
.asciz "cpuinfo_vendor_hygon" # string offset=440 | |
.Linfo_string21: | |
.asciz "cpuinfo_vendor_texas_instruments" # string offset=461 | |
.Linfo_string22: | |
.asciz "cpuinfo_vendor_marvell" # string offset=494 | |
.Linfo_string23: | |
.asciz "cpuinfo_vendor_rdc" # string offset=517 | |
.Linfo_string24: | |
.asciz "cpuinfo_vendor_dmp" # string offset=536 | |
.Linfo_string25: | |
.asciz "cpuinfo_vendor_motorola" # string offset=555 | |
.Linfo_string26: | |
.asciz "cpuinfo_vendor_transmeta" # string offset=579 | |
.Linfo_string27: | |
.asciz "cpuinfo_vendor_cyrix" # string offset=604 | |
.Linfo_string28: | |
.asciz "cpuinfo_vendor_rise" # string offset=625 | |
.Linfo_string29: | |
.asciz "cpuinfo_vendor_nsc" # string offset=645 | |
.Linfo_string30: | |
.asciz "cpuinfo_vendor_sis" # string offset=664 | |
.Linfo_string31: | |
.asciz "cpuinfo_vendor_nexgen" # string offset=683 | |
.Linfo_string32: | |
.asciz "cpuinfo_vendor_umc" # string offset=705 | |
.Linfo_string33: | |
.asciz "cpuinfo_vendor_dec" # string offset=724 | |
.Linfo_string34: | |
.asciz "cpuinfo_vendor" # string offset=743 | |
.Linfo_string35: | |
.asciz "cpuinfo_uarch_unknown" # string offset=758 | |
.Linfo_string36: | |
.asciz "cpuinfo_uarch_p5" # string offset=780 | |
.Linfo_string37: | |
.asciz "cpuinfo_uarch_quark" # string offset=797 | |
.Linfo_string38: | |
.asciz "cpuinfo_uarch_p6" # string offset=817 | |
.Linfo_string39: | |
.asciz "cpuinfo_uarch_dothan" # string offset=834 | |
.Linfo_string40: | |
.asciz "cpuinfo_uarch_yonah" # string offset=855 | |
.Linfo_string41: | |
.asciz "cpuinfo_uarch_conroe" # string offset=875 | |
.Linfo_string42: | |
.asciz "cpuinfo_uarch_penryn" # string offset=896 | |
.Linfo_string43: | |
.asciz "cpuinfo_uarch_nehalem" # string offset=917 | |
.Linfo_string44: | |
.asciz "cpuinfo_uarch_sandy_bridge" # string offset=939 | |
.Linfo_string45: | |
.asciz "cpuinfo_uarch_ivy_bridge" # string offset=966 | |
.Linfo_string46: | |
.asciz "cpuinfo_uarch_haswell" # string offset=991 | |
.Linfo_string47: | |
.asciz "cpuinfo_uarch_broadwell" # string offset=1013 | |
.Linfo_string48: | |
.asciz "cpuinfo_uarch_sky_lake" # string offset=1037 | |
.Linfo_string49: | |
.asciz "cpuinfo_uarch_kaby_lake" # string offset=1060 | |
.Linfo_string50: | |
.asciz "cpuinfo_uarch_palm_cove" # string offset=1084 | |
.Linfo_string51: | |
.asciz "cpuinfo_uarch_sunny_cove" # string offset=1108 | |
.Linfo_string52: | |
.asciz "cpuinfo_uarch_willamette" # string offset=1133 | |
.Linfo_string53: | |
.asciz "cpuinfo_uarch_prescott" # string offset=1158 | |
.Linfo_string54: | |
.asciz "cpuinfo_uarch_bonnell" # string offset=1181 | |
.Linfo_string55: | |
.asciz "cpuinfo_uarch_saltwell" # string offset=1203 | |
.Linfo_string56: | |
.asciz "cpuinfo_uarch_silvermont" # string offset=1226 | |
.Linfo_string57: | |
.asciz "cpuinfo_uarch_airmont" # string offset=1251 | |
.Linfo_string58: | |
.asciz "cpuinfo_uarch_goldmont" # string offset=1273 | |
.Linfo_string59: | |
.asciz "cpuinfo_uarch_goldmont_plus" # string offset=1296 | |
.Linfo_string60: | |
.asciz "cpuinfo_uarch_knights_ferry" # string offset=1324 | |
.Linfo_string61: | |
.asciz "cpuinfo_uarch_knights_corner" # string offset=1352 | |
.Linfo_string62: | |
.asciz "cpuinfo_uarch_knights_landing" # string offset=1381 | |
.Linfo_string63: | |
.asciz "cpuinfo_uarch_knights_hill" # string offset=1411 | |
.Linfo_string64: | |
.asciz "cpuinfo_uarch_knights_mill" # string offset=1438 | |
.Linfo_string65: | |
.asciz "cpuinfo_uarch_xscale" # string offset=1465 | |
.Linfo_string66: | |
.asciz "cpuinfo_uarch_k5" # string offset=1486 | |
.Linfo_string67: | |
.asciz "cpuinfo_uarch_k6" # string offset=1503 | |
.Linfo_string68: | |
.asciz "cpuinfo_uarch_k7" # string offset=1520 | |
.Linfo_string69: | |
.asciz "cpuinfo_uarch_k8" # string offset=1537 | |
.Linfo_string70: | |
.asciz "cpuinfo_uarch_k10" # string offset=1554 | |
.Linfo_string71: | |
.asciz "cpuinfo_uarch_bulldozer" # string offset=1572 | |
.Linfo_string72: | |
.asciz "cpuinfo_uarch_piledriver" # string offset=1596 | |
.Linfo_string73: | |
.asciz "cpuinfo_uarch_steamroller" # string offset=1621 | |
.Linfo_string74: | |
.asciz "cpuinfo_uarch_excavator" # string offset=1647 | |
.Linfo_string75: | |
.asciz "cpuinfo_uarch_zen" # string offset=1671 | |
.Linfo_string76: | |
.asciz "cpuinfo_uarch_zen2" # string offset=1689 | |
.Linfo_string77: | |
.asciz "cpuinfo_uarch_zen3" # string offset=1708 | |
.Linfo_string78: | |
.asciz "cpuinfo_uarch_geode" # string offset=1727 | |
.Linfo_string79: | |
.asciz "cpuinfo_uarch_bobcat" # string offset=1747 | |
.Linfo_string80: | |
.asciz "cpuinfo_uarch_jaguar" # string offset=1768 | |
.Linfo_string81: | |
.asciz "cpuinfo_uarch_puma" # string offset=1789 | |
.Linfo_string82: | |
.asciz "cpuinfo_uarch_arm7" # string offset=1808 | |
.Linfo_string83: | |
.asciz "cpuinfo_uarch_arm9" # string offset=1827 | |
.Linfo_string84: | |
.asciz "cpuinfo_uarch_arm11" # string offset=1846 | |
.Linfo_string85: | |
.asciz "cpuinfo_uarch_cortex_a5" # string offset=1866 | |
.Linfo_string86: | |
.asciz "cpuinfo_uarch_cortex_a7" # string offset=1890 | |
.Linfo_string87: | |
.asciz "cpuinfo_uarch_cortex_a8" # string offset=1914 | |
.Linfo_string88: | |
.asciz "cpuinfo_uarch_cortex_a9" # string offset=1938 | |
.Linfo_string89: | |
.asciz "cpuinfo_uarch_cortex_a12" # string offset=1962 | |
.Linfo_string90: | |
.asciz "cpuinfo_uarch_cortex_a15" # string offset=1987 | |
.Linfo_string91: | |
.asciz "cpuinfo_uarch_cortex_a17" # string offset=2012 | |
.Linfo_string92: | |
.asciz "cpuinfo_uarch_cortex_a32" # string offset=2037 | |
.Linfo_string93: | |
.asciz "cpuinfo_uarch_cortex_a35" # string offset=2062 | |
.Linfo_string94: | |
.asciz "cpuinfo_uarch_cortex_a53" # string offset=2087 | |
.Linfo_string95: | |
.asciz "cpuinfo_uarch_cortex_a55r0" # string offset=2112 | |
.Linfo_string96: | |
.asciz "cpuinfo_uarch_cortex_a55" # string offset=2139 | |
.Linfo_string97: | |
.asciz "cpuinfo_uarch_cortex_a57" # string offset=2164 | |
.Linfo_string98: | |
.asciz "cpuinfo_uarch_cortex_a65" # string offset=2189 | |
.Linfo_string99: | |
.asciz "cpuinfo_uarch_cortex_a72" # string offset=2214 | |
.Linfo_string100: | |
.asciz "cpuinfo_uarch_cortex_a73" # string offset=2239 | |
.Linfo_string101: | |
.asciz "cpuinfo_uarch_cortex_a75" # string offset=2264 | |
.Linfo_string102: | |
.asciz "cpuinfo_uarch_cortex_a76" # string offset=2289 | |
.Linfo_string103: | |
.asciz "cpuinfo_uarch_cortex_a77" # string offset=2314 | |
.Linfo_string104: | |
.asciz "cpuinfo_uarch_cortex_a78" # string offset=2339 | |
.Linfo_string105: | |
.asciz "cpuinfo_uarch_neoverse_n1" # string offset=2364 | |
.Linfo_string106: | |
.asciz "cpuinfo_uarch_neoverse_e1" # string offset=2390 | |
.Linfo_string107: | |
.asciz "cpuinfo_uarch_cortex_x1" # string offset=2416 | |
.Linfo_string108: | |
.asciz "cpuinfo_uarch_cortex_x2" # string offset=2440 | |
.Linfo_string109: | |
.asciz "cpuinfo_uarch_cortex_a510" # string offset=2464 | |
.Linfo_string110: | |
.asciz "cpuinfo_uarch_cortex_a710" # string offset=2490 | |
.Linfo_string111: | |
.asciz "cpuinfo_uarch_scorpion" # string offset=2516 | |
.Linfo_string112: | |
.asciz "cpuinfo_uarch_krait" # string offset=2539 | |
.Linfo_string113: | |
.asciz "cpuinfo_uarch_kryo" # string offset=2559 | |
.Linfo_string114: | |
.asciz "cpuinfo_uarch_falkor" # string offset=2578 | |
.Linfo_string115: | |
.asciz "cpuinfo_uarch_saphira" # string offset=2599 | |
.Linfo_string116: | |
.asciz "cpuinfo_uarch_denver" # string offset=2621 | |
.Linfo_string117: | |
.asciz "cpuinfo_uarch_denver2" # string offset=2642 | |
.Linfo_string118: | |
.asciz "cpuinfo_uarch_carmel" # string offset=2664 | |
.Linfo_string119: | |
.asciz "cpuinfo_uarch_exynos_m1" # string offset=2685 | |
.Linfo_string120: | |
.asciz "cpuinfo_uarch_exynos_m2" # string offset=2709 | |
.Linfo_string121: | |
.asciz "cpuinfo_uarch_exynos_m3" # string offset=2733 | |
.Linfo_string122: | |
.asciz "cpuinfo_uarch_exynos_m4" # string offset=2757 | |
.Linfo_string123: | |
.asciz "cpuinfo_uarch_exynos_m5" # string offset=2781 | |
.Linfo_string124: | |
.asciz "cpuinfo_uarch_cortex_a76ae" # string offset=2805 | |
.Linfo_string125: | |
.asciz "cpuinfo_uarch_mongoose_m1" # string offset=2832 | |
.Linfo_string126: | |
.asciz "cpuinfo_uarch_mongoose_m2" # string offset=2858 | |
.Linfo_string127: | |
.asciz "cpuinfo_uarch_meerkat_m3" # string offset=2884 | |
.Linfo_string128: | |
.asciz "cpuinfo_uarch_meerkat_m4" # string offset=2909 | |
.Linfo_string129: | |
.asciz "cpuinfo_uarch_swift" # string offset=2934 | |
.Linfo_string130: | |
.asciz "cpuinfo_uarch_cyclone" # string offset=2954 | |
.Linfo_string131: | |
.asciz "cpuinfo_uarch_typhoon" # string offset=2976 | |
.Linfo_string132: | |
.asciz "cpuinfo_uarch_twister" # string offset=2998 | |
.Linfo_string133: | |
.asciz "cpuinfo_uarch_hurricane" # string offset=3020 | |
.Linfo_string134: | |
.asciz "cpuinfo_uarch_monsoon" # string offset=3044 | |
.Linfo_string135: | |
.asciz "cpuinfo_uarch_mistral" # string offset=3066 | |
.Linfo_string136: | |
.asciz "cpuinfo_uarch_vortex" # string offset=3088 | |
.Linfo_string137: | |
.asciz "cpuinfo_uarch_tempest" # string offset=3109 | |
.Linfo_string138: | |
.asciz "cpuinfo_uarch_lightning" # string offset=3131 | |
.Linfo_string139: | |
.asciz "cpuinfo_uarch_thunder" # string offset=3155 | |
.Linfo_string140: | |
.asciz "cpuinfo_uarch_firestorm" # string offset=3177 | |
.Linfo_string141: | |
.asciz "cpuinfo_uarch_icestorm" # string offset=3201 | |
.Linfo_string142: | |
.asciz "cpuinfo_uarch_thunderx" # string offset=3224 | |
.Linfo_string143: | |
.asciz "cpuinfo_uarch_thunderx2" # string offset=3247 | |
.Linfo_string144: | |
.asciz "cpuinfo_uarch_pj4" # string offset=3271 | |
.Linfo_string145: | |
.asciz "cpuinfo_uarch_brahma_b15" # string offset=3289 | |
.Linfo_string146: | |
.asciz "cpuinfo_uarch_brahma_b53" # string offset=3314 | |
.Linfo_string147: | |
.asciz "cpuinfo_uarch_xgene" # string offset=3339 | |
.Linfo_string148: | |
.asciz "cpuinfo_uarch_dhyana" # string offset=3359 | |
.Linfo_string149: | |
.asciz "cpuinfo_uarch_taishan_v110" # string offset=3380 | |
.Linfo_string150: | |
.asciz "cpuinfo_uarch" # string offset=3407 | |
.Linfo_string151: | |
.asciz "unsigned long" # string offset=3421 | |
.Linfo_string152: | |
.asciz "__uint64_t" # string offset=3435 | |
.Linfo_string153: | |
.asciz "uint64_t" # string offset=3446 | |
.Linfo_string154: | |
.asciz "cpuidex" # string offset=3455 | |
.Linfo_string155: | |
.asciz "eax" # string offset=3463 | |
.Linfo_string156: | |
.asciz "__uint32_t" # string offset=3467 | |
.Linfo_string157: | |
.asciz "uint32_t" # string offset=3478 | |
.Linfo_string158: | |
.asciz "ebx" # string offset=3487 | |
.Linfo_string159: | |
.asciz "ecx" # string offset=3491 | |
.Linfo_string160: | |
.asciz "edx" # string offset=3495 | |
.Linfo_string161: | |
.asciz "cpuid_regs" # string offset=3499 | |
.Linfo_string162: | |
.asciz "regs" # string offset=3510 | |
.Linfo_string163: | |
.asciz "cpuid" # string offset=3515 | |
.Linfo_string164: | |
.asciz "xgetbv" # string offset=3521 | |
.Linfo_string165: | |
.asciz "ext_ctrl_reg" # string offset=3528 | |
.Linfo_string166: | |
.asciz "lo" # string offset=3541 | |
.Linfo_string167: | |
.asciz "hi" # string offset=3544 | |
.Linfo_string168: | |
.asciz "DW_ATE_unsigned_32" # string offset=3547 | |
.Linfo_string169: | |
.asciz "DW_ATE_unsigned_64" # string offset=3566 | |
.Linfo_string170: | |
.asciz "cpuinfo_x86_detect_isa" # string offset=3585 | |
.Linfo_string171: | |
.asciz "rdtscp" # string offset=3608 | |
.Linfo_string172: | |
.asciz "_Bool" # string offset=3615 | |
.Linfo_string173: | |
.asciz "rdpid" # string offset=3621 | |
.Linfo_string174: | |
.asciz "sysenter" # string offset=3627 | |
.Linfo_string175: | |
.asciz "msr" # string offset=3636 | |
.Linfo_string176: | |
.asciz "clzero" # string offset=3640 | |
.Linfo_string177: | |
.asciz "clflush" # string offset=3647 | |
.Linfo_string178: | |
.asciz "clflushopt" # string offset=3655 | |
.Linfo_string179: | |
.asciz "mwait" # string offset=3666 | |
.Linfo_string180: | |
.asciz "mwaitx" # string offset=3672 | |
.Linfo_string181: | |
.asciz "fxsave" # string offset=3679 | |
.Linfo_string182: | |
.asciz "xsave" # string offset=3686 | |
.Linfo_string183: | |
.asciz "three_d_now" # string offset=3692 | |
.Linfo_string184: | |
.asciz "three_d_now_plus" # string offset=3704 | |
.Linfo_string185: | |
.asciz "prefetch" # string offset=3721 | |
.Linfo_string186: | |
.asciz "prefetchw" # string offset=3730 | |
.Linfo_string187: | |
.asciz "prefetchwt1" # string offset=3740 | |
.Linfo_string188: | |
.asciz "sse3" # string offset=3752 | |
.Linfo_string189: | |
.asciz "ssse3" # string offset=3757 | |
.Linfo_string190: | |
.asciz "sse4_1" # string offset=3763 | |
.Linfo_string191: | |
.asciz "sse4_2" # string offset=3770 | |
.Linfo_string192: | |
.asciz "sse4a" # string offset=3777 | |
.Linfo_string193: | |
.asciz "misaligned_sse" # string offset=3783 | |
.Linfo_string194: | |
.asciz "avx" # string offset=3798 | |
.Linfo_string195: | |
.asciz "fma3" # string offset=3802 | |
.Linfo_string196: | |
.asciz "fma4" # string offset=3807 | |
.Linfo_string197: | |
.asciz "xop" # string offset=3812 | |
.Linfo_string198: | |
.asciz "f16c" # string offset=3816 | |
.Linfo_string199: | |
.asciz "avx2" # string offset=3821 | |
.Linfo_string200: | |
.asciz "avx512f" # string offset=3826 | |
.Linfo_string201: | |
.asciz "avx512pf" # string offset=3834 | |
.Linfo_string202: | |
.asciz "avx512er" # string offset=3843 | |
.Linfo_string203: | |
.asciz "avx512cd" # string offset=3852 | |
.Linfo_string204: | |
.asciz "avx512dq" # string offset=3861 | |
.Linfo_string205: | |
.asciz "avx512bw" # string offset=3870 | |
.Linfo_string206: | |
.asciz "avx512vl" # string offset=3879 | |
.Linfo_string207: | |
.asciz "avx512ifma" # string offset=3888 | |
.Linfo_string208: | |
.asciz "avx512vbmi" # string offset=3899 | |
.Linfo_string209: | |
.asciz "avx512vbmi2" # string offset=3910 | |
.Linfo_string210: | |
.asciz "avx512bitalg" # string offset=3922 | |
.Linfo_string211: | |
.asciz "avx512vpopcntdq" # string offset=3935 | |
.Linfo_string212: | |
.asciz "avx512vnni" # string offset=3951 | |
.Linfo_string213: | |
.asciz "avx512bf16" # string offset=3962 | |
.Linfo_string214: | |
.asciz "avx512vp2intersect" # string offset=3973 | |
.Linfo_string215: | |
.asciz "avx512_4vnniw" # string offset=3992 | |
.Linfo_string216: | |
.asciz "avx512_4fmaps" # string offset=4006 | |
.Linfo_string217: | |
.asciz "hle" # string offset=4020 | |
.Linfo_string218: | |
.asciz "rtm" # string offset=4024 | |
.Linfo_string219: | |
.asciz "xtest" # string offset=4028 | |
.Linfo_string220: | |
.asciz "mpx" # string offset=4034 | |
.Linfo_string221: | |
.asciz "cmpxchg16b" # string offset=4038 | |
.Linfo_string222: | |
.asciz "clwb" # string offset=4049 | |
.Linfo_string223: | |
.asciz "movbe" # string offset=4054 | |
.Linfo_string224: | |
.asciz "lahf_sahf" # string offset=4060 | |
.Linfo_string225: | |
.asciz "fs_gs_base" # string offset=4070 | |
.Linfo_string226: | |
.asciz "lzcnt" # string offset=4081 | |
.Linfo_string227: | |
.asciz "popcnt" # string offset=4087 | |
.Linfo_string228: | |
.asciz "tbm" # string offset=4094 | |
.Linfo_string229: | |
.asciz "bmi" # string offset=4098 | |
.Linfo_string230: | |
.asciz "bmi2" # string offset=4102 | |
.Linfo_string231: | |
.asciz "adx" # string offset=4107 | |
.Linfo_string232: | |
.asciz "aes" # string offset=4111 | |
.Linfo_string233: | |
.asciz "vaes" # string offset=4115 | |
.Linfo_string234: | |
.asciz "pclmulqdq" # string offset=4120 | |
.Linfo_string235: | |
.asciz "vpclmulqdq" # string offset=4130 | |
.Linfo_string236: | |
.asciz "gfni" # string offset=4141 | |
.Linfo_string237: | |
.asciz "rdrand" # string offset=4146 | |
.Linfo_string238: | |
.asciz "rdseed" # string offset=4153 | |
.Linfo_string239: | |
.asciz "sha" # string offset=4160 | |
.Linfo_string240: | |
.asciz "rng" # string offset=4164 | |
.Linfo_string241: | |
.asciz "ace" # string offset=4168 | |
.Linfo_string242: | |
.asciz "ace2" # string offset=4172 | |
.Linfo_string243: | |
.asciz "phe" # string offset=4177 | |
.Linfo_string244: | |
.asciz "pmm" # string offset=4181 | |
.Linfo_string245: | |
.asciz "lwp" # string offset=4185 | |
.Linfo_string246: | |
.asciz "cpuinfo_x86_isa" # string offset=4189 | |
.Linfo_string247: | |
.asciz "basic_info" # string offset=4205 | |
.Linfo_string248: | |
.asciz "extended_info" # string offset=4216 | |
.Linfo_string249: | |
.asciz "max_base_index" # string offset=4230 | |
.Linfo_string250: | |
.asciz "max_extended_index" # string offset=4245 | |
.Linfo_string251: | |
.asciz "vendor" # string offset=4264 | |
.Linfo_string252: | |
.asciz "uarch" # string offset=4271 | |
.Linfo_string253: | |
.asciz "isa" # string offset=4277 | |
.Linfo_string254: | |
.asciz "structured_feature_info1" # string offset=4281 | |
.Linfo_string255: | |
.asciz "processor_capacity_info_index" # string offset=4306 | |
.Linfo_string256: | |
.asciz "processor_capacity_info" # string offset=4336 | |
.Linfo_string257: | |
.asciz "avx_regs" # string offset=4360 | |
.Linfo_string258: | |
.asciz "avx512_regs" # string offset=4369 | |
.Linfo_string259: | |
.asciz "mpx_regs" # string offset=4381 | |
.Linfo_string260: | |
.asciz "osxsave_mask" # string offset=4390 | |
.Linfo_string261: | |
.asciz "xcr0_valid_bits" # string offset=4403 | |
.Linfo_string262: | |
.asciz "avx_regs_mask" # string offset=4419 | |
.Linfo_string263: | |
.asciz "avx512_regs_mask" # string offset=4433 | |
.Linfo_string264: | |
.asciz "mpx_regs_mask" # string offset=4450 | |
.Linfo_string265: | |
.asciz "padlock_meta_info" # string offset=4464 | |
.Linfo_string266: | |
.asciz "max_padlock_index" # string offset=4482 | |
.Linfo_string267: | |
.asciz "padlock_info_index" # string offset=4500 | |
.Linfo_string268: | |
.asciz "padlock_info" # string offset=4519 | |
.Linfo_string269: | |
.asciz "padlock_rng_mask" # string offset=4532 | |
.Linfo_string270: | |
.asciz "padlock_ace_mask" # string offset=4549 | |
.Linfo_string271: | |
.asciz "padlock_ace2_mask" # string offset=4566 | |
.Linfo_string272: | |
.asciz "padlock_phe_mask" # string offset=4584 | |
.Linfo_string273: | |
.asciz "padlock_pmm_mask" # string offset=4601 | |
.Linfo_string274: | |
.asciz "structured_feature_info0" # string offset=4618 | |
.Linfo_string275: | |
.asciz "xfeature_enabled_mask" # string offset=4643 | |
.section .debug_str_offsets,"",@progbits | |
.long .Linfo_string0 | |
.long .Linfo_string1 | |
.long .Linfo_string2 | |
.long .Linfo_string3 | |
.long .Linfo_string4 | |
.long .Linfo_string5 | |
.long .Linfo_string6 | |
.long .Linfo_string7 | |
.long .Linfo_string8 | |
.long .Linfo_string9 | |
.long .Linfo_string10 | |
.long .Linfo_string11 | |
.long .Linfo_string12 | |
.long .Linfo_string13 | |
.long .Linfo_string14 | |
.long .Linfo_string15 | |
.long .Linfo_string16 | |
.long .Linfo_string17 | |
.long .Linfo_string18 | |
.long .Linfo_string19 | |
.long .Linfo_string20 | |
.long .Linfo_string21 | |
.long .Linfo_string22 | |
.long .Linfo_string23 | |
.long .Linfo_string24 | |
.long .Linfo_string25 | |
.long .Linfo_string26 | |
.long .Linfo_string27 | |
.long .Linfo_string28 | |
.long .Linfo_string29 | |
.long .Linfo_string30 | |
.long .Linfo_string31 | |
.long .Linfo_string32 | |
.long .Linfo_string33 | |
.long .Linfo_string34 | |
.long .Linfo_string35 | |
.long .Linfo_string36 | |
.long .Linfo_string37 | |
.long .Linfo_string38 | |
.long .Linfo_string39 | |
.long .Linfo_string40 | |
.long .Linfo_string41 | |
.long .Linfo_string42 | |
.long .Linfo_string43 | |
.long .Linfo_string44 | |
.long .Linfo_string45 | |
.long .Linfo_string46 | |
.long .Linfo_string47 | |
.long .Linfo_string48 | |
.long .Linfo_string49 | |
.long .Linfo_string50 | |
.long .Linfo_string51 | |
.long .Linfo_string52 | |
.long .Linfo_string53 | |
.long .Linfo_string54 | |
.long .Linfo_string55 | |
.long .Linfo_string56 | |
.long .Linfo_string57 | |
.long .Linfo_string58 | |
.long .Linfo_string59 | |
.long .Linfo_string60 | |
.long .Linfo_string61 | |
.long .Linfo_string62 | |
.long .Linfo_string63 | |
.long .Linfo_string64 | |
.long .Linfo_string65 | |
.long .Linfo_string66 | |
.long .Linfo_string67 | |
.long .Linfo_string68 | |
.long .Linfo_string69 | |
.long .Linfo_string70 | |
.long .Linfo_string71 | |
.long .Linfo_string72 | |
.long .Linfo_string73 | |
.long .Linfo_string74 | |
.long .Linfo_string75 | |
.long .Linfo_string76 | |
.long .Linfo_string77 | |
.long .Linfo_string78 | |
.long .Linfo_string79 | |
.long .Linfo_string80 | |
.long .Linfo_string81 | |
.long .Linfo_string82 | |
.long .Linfo_string83 | |
.long .Linfo_string84 | |
.long .Linfo_string85 | |
.long .Linfo_string86 | |
.long .Linfo_string87 | |
.long .Linfo_string88 | |
.long .Linfo_string89 | |
.long .Linfo_string90 | |
.long .Linfo_string91 | |
.long .Linfo_string92 | |
.long .Linfo_string93 | |
.long .Linfo_string94 | |
.long .Linfo_string95 | |
.long .Linfo_string96 | |
.long .Linfo_string97 | |
.long .Linfo_string98 | |
.long .Linfo_string99 | |
.long .Linfo_string100 | |
.long .Linfo_string101 | |
.long .Linfo_string102 | |
.long .Linfo_string103 | |
.long .Linfo_string104 | |
.long .Linfo_string105 | |
.long .Linfo_string106 | |
.long .Linfo_string107 | |
.long .Linfo_string108 | |
.long .Linfo_string109 | |
.long .Linfo_string110 | |
.long .Linfo_string111 | |
.long .Linfo_string112 | |
.long .Linfo_string113 | |
.long .Linfo_string114 | |
.long .Linfo_string115 | |
.long .Linfo_string116 | |
.long .Linfo_string117 | |
.long .Linfo_string118 | |
.long .Linfo_string119 | |
.long .Linfo_string120 | |
.long .Linfo_string121 | |
.long .Linfo_string122 | |
.long .Linfo_string123 | |
.long .Linfo_string124 | |
.long .Linfo_string125 | |
.long .Linfo_string126 | |
.long .Linfo_string127 | |
.long .Linfo_string128 | |
.long .Linfo_string129 | |
.long .Linfo_string130 | |
.long .Linfo_string131 | |
.long .Linfo_string132 | |
.long .Linfo_string133 | |
.long .Linfo_string134 | |
.long .Linfo_string135 | |
.long .Linfo_string136 | |
.long .Linfo_string137 | |
.long .Linfo_string138 | |
.long .Linfo_string139 | |
.long .Linfo_string140 | |
.long .Linfo_string141 | |
.long .Linfo_string142 | |
.long .Linfo_string143 | |
.long .Linfo_string144 | |
.long .Linfo_string145 | |
.long .Linfo_string146 | |
.long .Linfo_string147 | |
.long .Linfo_string148 | |
.long .Linfo_string149 | |
.long .Linfo_string150 | |
.long .Linfo_string151 | |
.long .Linfo_string152 | |
.long .Linfo_string153 | |
.long .Linfo_string154 | |
.long .Linfo_string155 | |
.long .Linfo_string156 | |
.long .Linfo_string157 | |
.long .Linfo_string158 | |
.long .Linfo_string159 | |
.long .Linfo_string160 | |
.long .Linfo_string161 | |
.long .Linfo_string162 | |
.long .Linfo_string163 | |
.long .Linfo_string164 | |
.long .Linfo_string165 | |
.long .Linfo_string166 | |
.long .Linfo_string167 | |
.long .Linfo_string168 | |
.long .Linfo_string169 | |
.long .Linfo_string170 | |
.long .Linfo_string171 | |
.long .Linfo_string172 | |
.long .Linfo_string173 | |
.long .Linfo_string174 | |
.long .Linfo_string175 | |
.long .Linfo_string176 | |
.long .Linfo_string177 | |
.long .Linfo_string178 | |
.long .Linfo_string179 | |
.long .Linfo_string180 | |
.long .Linfo_string181 | |
.long .Linfo_string182 | |
.long .Linfo_string183 | |
.long .Linfo_string184 | |
.long .Linfo_string185 | |
.long .Linfo_string186 | |
.long .Linfo_string187 | |
.long .Linfo_string188 | |
.long .Linfo_string189 | |
.long .Linfo_string190 | |
.long .Linfo_string191 | |
.long .Linfo_string192 | |
.long .Linfo_string193 | |
.long .Linfo_string194 | |
.long .Linfo_string195 | |
.long .Linfo_string196 | |
.long .Linfo_string197 | |
.long .Linfo_string198 | |
.long .Linfo_string199 | |
.long .Linfo_string200 | |
.long .Linfo_string201 | |
.long .Linfo_string202 | |
.long .Linfo_string203 | |
.long .Linfo_string204 | |
.long .Linfo_string205 | |
.long .Linfo_string206 | |
.long .Linfo_string207 | |
.long .Linfo_string208 | |
.long .Linfo_string209 | |
.long .Linfo_string210 | |
.long .Linfo_string211 | |
.long .Linfo_string212 | |
.long .Linfo_string213 | |
.long .Linfo_string214 | |
.long .Linfo_string215 | |
.long .Linfo_string216 | |
.long .Linfo_string217 | |
.long .Linfo_string218 | |
.long .Linfo_string219 | |
.long .Linfo_string220 | |
.long .Linfo_string221 | |
.long .Linfo_string222 | |
.long .Linfo_string223 | |
.long .Linfo_string224 | |
.long .Linfo_string225 | |
.long .Linfo_string226 | |
.long .Linfo_string227 | |
.long .Linfo_string228 | |
.long .Linfo_string229 | |
.long .Linfo_string230 | |
.long .Linfo_string231 | |
.long .Linfo_string232 | |
.long .Linfo_string233 | |
.long .Linfo_string234 | |
.long .Linfo_string235 | |
.long .Linfo_string236 | |
.long .Linfo_string237 | |
.long .Linfo_string238 | |
.long .Linfo_string239 | |
.long .Linfo_string240 | |
.long .Linfo_string241 | |
.long .Linfo_string242 | |
.long .Linfo_string243 | |
.long .Linfo_string244 | |
.long .Linfo_string245 | |
.long .Linfo_string246 | |
.long .Linfo_string247 | |
.long .Linfo_string248 | |
.long .Linfo_string249 | |
.long .Linfo_string250 | |
.long .Linfo_string251 | |
.long .Linfo_string252 | |
.long .Linfo_string253 | |
.long .Linfo_string254 | |
.long .Linfo_string255 | |
.long .Linfo_string256 | |
.long .Linfo_string257 | |
.long .Linfo_string258 | |
.long .Linfo_string259 | |
.long .Linfo_string260 | |
.long .Linfo_string261 | |
.long .Linfo_string262 | |
.long .Linfo_string263 | |
.long .Linfo_string264 | |
.long .Linfo_string265 | |
.long .Linfo_string266 | |
.long .Linfo_string267 | |
.long .Linfo_string268 | |
.long .Linfo_string269 | |
.long .Linfo_string270 | |
.long .Linfo_string271 | |
.long .Linfo_string272 | |
.long .Linfo_string273 | |
.long .Linfo_string274 | |
.long .Linfo_string275 | |
.section .debug_addr,"",@progbits | |
.long .Ldebug_addr_end0-.Ldebug_addr_start0 # Length of contribution | |
.Ldebug_addr_start0: | |
.short 5 # DWARF version number | |
.byte 8 # Address size | |
.byte 0 # Segment selector size | |
.Laddr_table_base0: | |
.quad .Lfunc_begin0 | |
.quad .Ltmp5 | |
.quad .Ltmp10 | |
.quad .Ltmp16 | |
.quad .Ltmp26 | |
.quad .Ltmp28 | |
.quad .Ltmp67 | |
.quad .Ltmp70 | |
.Ldebug_addr_end0: | |
.ident "clang version 0fe13b5f84abe1716f5991da057c801dc548a9ab" | |
.section ".note.GNU-stack","",@progbits | |
.section .debug_line,"",@progbits | |
.Lline_table_start0: |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
.text | |
.file "isa.c" | |
.file 0 "workspace" "cpuinfo/src/x86/isa.c" md5 0x1f066767a48d692a7df3bd0b30681f63 | |
.file 1 "cpuinfo/include" "cpuinfo.h" md5 0xb2d9902226e7212a1e7a8aecca87c8f4 | |
.file 2 "glibc/include/bits" "types.h" md5 0x25679ba19d359e314e48661b21f5aa1f | |
.file 3 "glibc/include/bits" "stdint-uintn.h" md5 0x9754ebe022edbe8d7928fa709e442f0d | |
.section .rodata.cst16,"aM",@progbits,16 | |
.p2align 4 # -- Begin function cpuinfo_x86_detect_isa | |
.LCPI0_0: | |
.quad 6 # 0x6 | |
.quad 230 # 0xe6 | |
.LCPI0_1: | |
.byte 0 # 0x0 | |
.byte 1 # 0x1 | |
.byte 0 # 0x0 | |
.byte 1 # 0x1 | |
.byte 0 # 0x0 | |
.byte 1 # 0x1 | |
.byte 0 # 0x0 | |
.byte 1 # 0x1 | |
.byte 0 # 0x0 | |
.byte 1 # 0x1 | |
.byte 0 # 0x0 | |
.byte 1 # 0x1 | |
.byte 8 # 0x8 | |
.byte 9 # 0x9 | |
.byte 8 # 0x8 | |
.byte 9 # 0x9 | |
.LCPI0_6: | |
.quad 12 # 0xc | |
.quad 14 # 0xe | |
.LCPI0_9: | |
.quad 35 # 0x23 | |
.quad 40 # 0x28 | |
.LCPI0_10: | |
.quad 10 # 0xa | |
.quad 8 # 0x8 | |
.LCPI0_11: | |
.byte 0 # 0x0 | |
.byte 8 # 0x8 | |
.zero 1 | |
.zero 1 | |
.zero 1 | |
.zero 1 | |
.zero 1 | |
.zero 1 | |
.zero 1 | |
.zero 1 | |
.zero 1 | |
.zero 1 | |
.zero 1 | |
.zero 1 | |
.zero 1 | |
.zero 1 | |
.LCPI0_12: | |
.zero 1 | |
.zero 1 | |
.zero 1 | |
.zero 1 | |
.zero 1 | |
.zero 1 | |
.zero 1 | |
.zero 1 | |
.zero 1 | |
.zero 1 | |
.zero 1 | |
.zero 1 | |
.zero 1 | |
.zero 1 | |
.byte 0 # 0x0 | |
.byte 8 # 0x8 | |
.LCPI0_13: | |
.long 12288 # 0x3000 | |
.long 3072 # 0xc00 | |
.long 768 # 0x300 | |
.long 192 # 0xc0 | |
.section .rodata.cst32,"aM",@progbits,32 | |
.p2align 5 | |
.LCPI0_2: | |
.long 0 # 0x0 | |
.long 0 # 0x0 | |
.long 1 # 0x1 | |
.long 1 # 0x1 | |
.long 0 # 0x0 | |
.long 2 # 0x2 | |
.long 2 # 0x2 | |
.long 2 # 0x2 | |
.LCPI0_3: | |
.long 268435456 # 0x10000000 | |
.long 4096 # 0x1000 | |
.long 65536 # 0x10000 | |
.long 2048 # 0x800 | |
.long 536870912 # 0x20000000 | |
.long 32 # 0x20 | |
.long 65536 # 0x10000 | |
.long 67108864 # 0x4000000 | |
.section .rodata,"a",@progbits | |
.p2align 1 | |
.LCPI0_4: | |
.short 1 # 0x1 | |
.LCPI0_5: | |
.byte 1 # 0x1 | |
.LCPI0_7: | |
.byte 8 # 0x8 | |
.LCPI0_8: | |
.byte 128 # 0x80 | |
.text | |
.hidden cpuinfo_x86_detect_isa | |
.globl cpuinfo_x86_detect_isa | |
.type cpuinfo_x86_detect_isa,@function | |
cpuinfo_x86_detect_isa: # @cpuinfo_x86_detect_isa | |
.Lfunc_begin0: | |
.loc 0 42 0 # cpuinfo/src/x86/isa.c:42:0 | |
.cfi_sections .debug_frame | |
.cfi_startproc | |
# %bb.0: # %entry | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:basic_info <- [DW_OP_LLVM_fragment 0 64] $rsi | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:extended_info <- [DW_OP_LLVM_fragment 0 64] $rcx | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:max_base_index <- $r9d | |
pushq %rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset %rbp, -16 | |
movq %rsp, %rbp | |
.cfi_def_cfa_register %rbp | |
pushq %r15 | |
pushq %r14 | |
pushq %r13 | |
pushq %r12 | |
pushq %rbx | |
subq $72, %rsp | |
.cfi_offset %rbx, -56 | |
.cfi_offset %r12, -48 | |
.cfi_offset %r13, -40 | |
.cfi_offset %r14, -32 | |
.cfi_offset %r15, -24 | |
.Ltmp0: | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:max_extended_index <- [DW_OP_plus_uconst 16] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:vendor <- [DW_OP_plus_uconst 24] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:uarch <- [DW_OP_plus_uconst 32] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:isa <- [$rdi+0] | |
movl %r9d, %r12d | |
movq %r8, -64(%rbp) # 8-byte Spill | |
movq %rdx, %r15 | |
movq %rdi, %r13 | |
.Ltmp1: | |
.loc 0 0 0 is_stmt 0 # cpuinfo/src/x86/isa.c:0:0 | |
movq __msan_param_tls@GOTTPOFF(%rip), %rax | |
movq %fs:(%rax), %rcx | |
.Ltmp2: | |
movq %rcx, -48(%rbp) # 8-byte Spill | |
movq %fs:16(%rax), %r14 | |
movq %fs:32(%rax), %rax | |
.Ltmp3: | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:basic_info <- [DW_OP_LLVM_fragment 64 32] $r15d | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:basic_info <- [DW_OP_LLVM_convert 64 7, DW_OP_LLVM_convert 32 7, DW_OP_stack_value, DW_OP_LLVM_fragment 96 32] undef | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:extended_info <- [DW_OP_constu 64, DW_OP_minus, DW_OP_LLVM_fragment 64 32] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:extended_info <- [DW_OP_LLVM_fragment 96 32] undef | |
movq %rax, -56(%rbp) # 8-byte Spill | |
xorl %ebx, %ebx | |
.loc 0 43 25 prologue_end is_stmt 1 # cpuinfo/src/x86/isa.c:43:25 | |
movl $74, %edx | |
xorl %esi, %esi | |
.Ltmp4: | |
callq __msan_memset@PLT | |
.Ltmp5: | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:isa <- [$r13+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:max_base_index <- $r12d | |
.loc 0 46 19 # cpuinfo/src/x86/isa.c:46:19 | |
cmpl $7, %r12d | |
.loc 0 46 3 is_stmt 0 # cpuinfo/src/x86/isa.c:46:3 | |
jb .LBB0_1 | |
.Ltmp6: | |
# %bb.2: # %cond.true2 | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:max_base_index <- $r12d | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:max_extended_index <- [DW_OP_plus_uconst 16] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:vendor <- [DW_OP_plus_uconst 24] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:uarch <- [DW_OP_plus_uconst 32] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:isa <- [$r13+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:basic_info <- [DW_OP_LLVM_fragment 64 32] $r15d | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:extended_info <- [DW_OP_constu 64, DW_OP_minus, DW_OP_LLVM_fragment 64 32] [$rbp+0] | |
#DEBUG_VALUE: cpuidex:eax <- 7 | |
#DEBUG_VALUE: cpuidex:ecx <- 0 | |
.file 4 "cpuinfo/src/x86" "cpuid.h" md5 0xf9e451aa7a48009ba003a034c14f0ac3 | |
.loc 4 56 5 is_stmt 1 # cpuinfo/src/x86/cpuid.h:56:5 | |
xorl %ecx, %ecx | |
movl $7, %eax | |
#APP | |
xchgq %rbx, %r9 | |
cpuid | |
xchgq %rbx, %r9 | |
#NO_APP | |
# kill: def $edx killed $edx def $rdx | |
.Ltmp7: | |
#DEBUG_VALUE: cpuidex:regs <- [DW_OP_LLVM_fragment 32 32] $r9d | |
#DEBUG_VALUE: cpuidex:regs <- [DW_OP_LLVM_fragment 64 32] $ecx | |
#DEBUG_VALUE: cpuidex:regs <- [DW_OP_LLVM_fragment 96 32] $edx | |
#DEBUG_VALUE: cpuidex:regs <- [DW_OP_LLVM_fragment 0 32] undef | |
.loc 4 65 4 # cpuinfo/src/x86/cpuid.h:65:4 | |
shlq $32, %r9 | |
.Ltmp8: | |
shlq $32, %rdx | |
.Ltmp9: | |
movl %ecx, %ebx | |
.Ltmp10: | |
#DEBUG_VALUE: cpuidex:regs <- [DW_OP_LLVM_fragment 64 32] $ebx | |
#DEBUG_VALUE: cpuidex:regs <- [DW_OP_LLVM_fragment 64 32] $ebx | |
orq %rdx, %rbx | |
.Ltmp11: | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:structured_feature_info0 <- [DW_OP_LLVM_fragment 64 64] undef | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:structured_feature_info0 <- [DW_OP_LLVM_fragment 0 64] undef | |
#DEBUG_VALUE: cpuidex:eax <- 7 | |
#DEBUG_VALUE: cpuidex:ecx <- 1 | |
.loc 4 56 5 # cpuinfo/src/x86/cpuid.h:56:5 | |
movl $7, %eax | |
movl $1, %ecx | |
#APP | |
xchgq %rbx, %rsi | |
cpuid | |
xchgq %rbx, %rsi | |
#NO_APP | |
movl %eax, %esi | |
.Ltmp12: | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:structured_feature_info1 <- [DW_OP_LLVM_arg 0, DW_OP_constu 32, DW_OP_shl, DW_OP_LLVM_arg 1, DW_OP_LLVM_convert 32 7, DW_OP_LLVM_convert 64 7, DW_OP_or, DW_OP_stack_value, DW_OP_LLVM_fragment 0 64] 0, $esi | |
#DEBUG_VALUE: cpuidex:regs <- [DW_OP_LLVM_fragment 0 32] $eax | |
#DEBUG_VALUE: cpuidex:regs <- [DW_OP_LLVM_fragment 32 32] undef | |
#DEBUG_VALUE: cpuidex:regs <- [DW_OP_LLVM_fragment 64 32] undef | |
#DEBUG_VALUE: cpuidex:regs <- [DW_OP_LLVM_fragment 96 32] undef | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:structured_feature_info1 <- [DW_OP_LLVM_fragment 64 64] undef | |
.loc 0 48 3 # cpuinfo/src/x86/isa.c:48:3 | |
shrb $5, %sil | |
.Ltmp13: | |
andb $1, %sil | |
jmp .LBB0_3 | |
.Ltmp14: | |
.LBB0_1: | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:max_base_index <- $r12d | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:max_extended_index <- [DW_OP_plus_uconst 16] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:vendor <- [DW_OP_plus_uconst 24] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:uarch <- [DW_OP_plus_uconst 32] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:isa <- [$r13+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:basic_info <- [DW_OP_LLVM_fragment 64 32] $r15d | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:extended_info <- [DW_OP_constu 64, DW_OP_minus, DW_OP_LLVM_fragment 64 32] [$rbp+0] | |
.loc 0 0 3 is_stmt 0 # cpuinfo/src/x86/isa.c:0:3 | |
xorl %r9d, %r9d | |
xorl %esi, %esi | |
.Ltmp15: | |
.LBB0_3: # %cond.end9 | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:max_base_index <- $r12d | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:max_extended_index <- [DW_OP_plus_uconst 16] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:vendor <- [DW_OP_plus_uconst 24] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:uarch <- [DW_OP_plus_uconst 32] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:isa <- [$r13+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:basic_info <- [DW_OP_LLVM_fragment 64 32] $r15d | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:extended_info <- [DW_OP_constu 64, DW_OP_minus, DW_OP_LLVM_fragment 64 32] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:structured_feature_info1 <- [DW_OP_LLVM_fragment 0 64] undef | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:processor_capacity_info_index <- -2147483640 | |
.loc 0 52 23 is_stmt 1 # cpuinfo/src/x86/isa.c:52:23 | |
cmpl $-2147483640, 16(%rbp) # imm = 0x80000008 | |
.loc 0 52 3 is_stmt 0 # cpuinfo/src/x86/isa.c:52:3 | |
jb .LBB0_4 | |
.Ltmp16: | |
# %bb.5: # %cond.true11 | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:max_base_index <- $r12d | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:max_extended_index <- [DW_OP_plus_uconst 16] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:vendor <- [DW_OP_plus_uconst 24] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:uarch <- [DW_OP_plus_uconst 32] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:isa <- [$r13+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:basic_info <- [DW_OP_LLVM_fragment 64 32] $r15d | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:extended_info <- [DW_OP_constu 64, DW_OP_minus, DW_OP_LLVM_fragment 64 32] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:processor_capacity_info_index <- -2147483640 | |
#DEBUG_VALUE: cpuid:eax <- -2147483640 | |
.loc 4 30 5 is_stmt 1 # cpuinfo/src/x86/cpuid.h:30:5 | |
movl $-2147483640, %eax # imm = 0x80000008 | |
#APP | |
xchgq %rbx, %rdx | |
cpuid | |
xchgq %rbx, %rdx | |
#NO_APP | |
.Ltmp17: | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:processor_capacity_info <- [DW_OP_LLVM_arg 0, DW_OP_LLVM_convert 32 7, DW_OP_LLVM_convert 64 7, DW_OP_constu 32, DW_OP_shl, DW_OP_LLVM_arg 1, DW_OP_LLVM_convert 32 7, DW_OP_LLVM_convert 64 7, DW_OP_or, DW_OP_stack_value, DW_OP_LLVM_fragment 0 64] undef, undef | |
#DEBUG_VALUE: cpuid:regs <- [DW_OP_LLVM_fragment 32 32] $edx | |
#DEBUG_VALUE: cpuid:regs <- [DW_OP_LLVM_fragment 0 32] undef | |
#DEBUG_VALUE: cpuid:regs <- [DW_OP_LLVM_fragment 64 32] undef | |
#DEBUG_VALUE: cpuid:regs <- [DW_OP_LLVM_fragment 96 32] undef | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:processor_capacity_info <- [DW_OP_LLVM_fragment 64 64] undef | |
.loc 0 52 3 # cpuinfo/src/x86/isa.c:52:3 | |
andb $1, %dl | |
jmp .LBB0_6 | |
.Ltmp18: | |
.LBB0_4: | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:max_base_index <- $r12d | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:max_extended_index <- [DW_OP_plus_uconst 16] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:vendor <- [DW_OP_plus_uconst 24] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:uarch <- [DW_OP_plus_uconst 32] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:isa <- [$r13+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:basic_info <- [DW_OP_LLVM_fragment 64 32] $r15d | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:extended_info <- [DW_OP_constu 64, DW_OP_minus, DW_OP_LLVM_fragment 64 32] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:processor_capacity_info_index <- -2147483640 | |
.loc 0 0 3 is_stmt 0 # cpuinfo/src/x86/isa.c:0:3 | |
xorl %edx, %edx | |
.Ltmp19: | |
.LBB0_6: # %cond.end18 | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:max_base_index <- $r12d | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:max_extended_index <- [DW_OP_plus_uconst 16] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:vendor <- [DW_OP_plus_uconst 24] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:uarch <- [DW_OP_plus_uconst 32] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:isa <- [$r13+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:basic_info <- [DW_OP_LLVM_fragment 64 32] $r15d | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:extended_info <- [DW_OP_constu 64, DW_OP_minus, DW_OP_LLVM_fragment 64 32] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:processor_capacity_info_index <- -2147483640 | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:processor_capacity_info <- [DW_OP_LLVM_fragment 0 64] undef | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:avx_regs <- 0 | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:avx512_regs <- 0 | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:mpx_regs <- 0 | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:osxsave_mask <- 201326592 | |
movl $201326592, %ecx # imm = 0xC000000 | |
.Ltmp20: | |
.loc 0 62 22 is_stmt 1 # cpuinfo/src/x86/isa.c:62:22 | |
movl %r15d, %eax | |
andl %ecx, %eax | |
.loc 0 62 38 is_stmt 0 # cpuinfo/src/x86/isa.c:62:38 | |
testl $201326592, %r14d # imm = 0xC000000 | |
.Ltmp21: | |
.loc 0 62 6 # cpuinfo/src/x86/isa.c:62:6 | |
je .LBB0_8 | |
.Ltmp22: | |
# %bb.7: # %cond.end18 | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:max_base_index <- $r12d | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:max_extended_index <- [DW_OP_plus_uconst 16] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:vendor <- [DW_OP_plus_uconst 24] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:uarch <- [DW_OP_plus_uconst 32] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:isa <- [$r13+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:basic_info <- [DW_OP_LLVM_fragment 64 32] $r15d | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:extended_info <- [DW_OP_constu 64, DW_OP_minus, DW_OP_LLVM_fragment 64 32] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:processor_capacity_info_index <- -2147483640 | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:avx_regs <- 0 | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:avx512_regs <- 0 | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:mpx_regs <- 0 | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:osxsave_mask <- 201326592 | |
.loc 0 0 0 # cpuinfo/src/x86/isa.c:0:0 | |
xorl %eax, %ecx | |
andnl %ecx, %r14d, %ecx | |
.loc 0 62 6 # cpuinfo/src/x86/isa.c:62:6 | |
je .LBB0_25 | |
.Ltmp23: | |
.LBB0_8: | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:max_base_index <- $r12d | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:max_extended_index <- [DW_OP_plus_uconst 16] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:vendor <- [DW_OP_plus_uconst 24] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:uarch <- [DW_OP_plus_uconst 32] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:isa <- [$r13+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:basic_info <- [DW_OP_LLVM_fragment 64 32] $r15d | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:extended_info <- [DW_OP_constu 64, DW_OP_minus, DW_OP_LLVM_fragment 64 32] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:processor_capacity_info_index <- -2147483640 | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:avx_regs <- 0 | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:avx512_regs <- 0 | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:mpx_regs <- 0 | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:osxsave_mask <- 201326592 | |
.loc 0 62 38 # cpuinfo/src/x86/isa.c:62:38 | |
cmpl $201326592, %eax # imm = 0xC000000 | |
movq %rsi, -88(%rbp) # 8-byte Spill | |
.Ltmp24: | |
.loc 0 62 6 # cpuinfo/src/x86/isa.c:62:6 | |
jne .LBB0_9 | |
.Ltmp25: | |
# %bb.10: # %if.then | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:max_base_index <- $r12d | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:max_extended_index <- [DW_OP_plus_uconst 16] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:vendor <- [DW_OP_plus_uconst 24] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:uarch <- [DW_OP_plus_uconst 32] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:isa <- [$r13+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:basic_info <- [DW_OP_LLVM_fragment 64 32] $r15d | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:extended_info <- [DW_OP_constu 64, DW_OP_minus, DW_OP_LLVM_fragment 64 32] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:processor_capacity_info_index <- -2147483640 | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:avx_regs <- 0 | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:avx512_regs <- 0 | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:mpx_regs <- 0 | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:osxsave_mask <- 201326592 | |
#DEBUG_VALUE: xcr0_valid_bits <- 0 | |
.loc 0 0 6 # cpuinfo/src/x86/isa.c:0:6 | |
movl %edx, %edi | |
xorl %esi, %esi | |
.Ltmp26: | |
.loc 0 64 22 is_stmt 1 # cpuinfo/src/x86/isa.c:64:22 | |
cmpl $13, %r12d | |
.Ltmp27: | |
.loc 0 64 7 is_stmt 0 # cpuinfo/src/x86/isa.c:64:7 | |
jb .LBB0_12 | |
.Ltmp28: | |
# %bb.11: # %if.then22 | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:max_base_index <- $r12d | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:max_extended_index <- [DW_OP_plus_uconst 16] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:vendor <- [DW_OP_plus_uconst 24] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:uarch <- [DW_OP_plus_uconst 32] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:isa <- [$r13+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:basic_info <- [DW_OP_LLVM_fragment 64 32] $r15d | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:extended_info <- [DW_OP_constu 64, DW_OP_minus, DW_OP_LLVM_fragment 64 32] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:processor_capacity_info_index <- -2147483640 | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:avx_regs <- 0 | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:avx512_regs <- 0 | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:mpx_regs <- 0 | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:osxsave_mask <- 201326592 | |
#DEBUG_VALUE: xcr0_valid_bits <- 0 | |
#DEBUG_VALUE: cpuidex:eax <- 13 | |
#DEBUG_VALUE: cpuidex:ecx <- 0 | |
.loc 4 56 5 is_stmt 1 # cpuinfo/src/x86/cpuid.h:56:5 | |
movl $13, %eax | |
xorl %ecx, %ecx | |
#APP | |
xchgq %rbx, %rsi | |
cpuid | |
xchgq %rbx, %rsi | |
#NO_APP | |
.Ltmp29: | |
#DEBUG_VALUE: cpuidex:regs <- [DW_OP_LLVM_fragment 0 32] $eax | |
#DEBUG_VALUE: cpuidex:regs <- [DW_OP_LLVM_fragment 32 32] undef | |
#DEBUG_VALUE: cpuidex:regs <- [DW_OP_LLVM_fragment 64 32] undef | |
#DEBUG_VALUE: cpuidex:regs <- [DW_OP_LLVM_fragment 96 32] undef | |
.loc 4 65 4 # cpuinfo/src/x86/cpuid.h:65:4 | |
movl %eax, %esi | |
.Ltmp30: | |
#DEBUG_VALUE: regs <- [DW_OP_LLVM_arg 0, DW_OP_LLVM_arg 1, DW_OP_LLVM_convert 32 7, DW_OP_LLVM_convert 64 7, DW_OP_or, DW_OP_stack_value, DW_OP_LLVM_fragment 64 64] undef, undef | |
#DEBUG_VALUE: regs <- [DW_OP_LLVM_arg 0, DW_OP_LLVM_convert 32 7, DW_OP_LLVM_convert 64 7, DW_OP_constu 32, DW_OP_shl, DW_OP_LLVM_arg 1, DW_OP_or, DW_OP_stack_value, DW_OP_LLVM_fragment 0 64] undef, undef | |
#DEBUG_VALUE: xcr0_valid_bits <- $eax | |
.LBB0_12: # %if.end | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:max_base_index <- $r12d | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:max_extended_index <- [DW_OP_plus_uconst 16] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:vendor <- [DW_OP_plus_uconst 24] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:uarch <- [DW_OP_plus_uconst 32] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:isa <- [$r13+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:basic_info <- [DW_OP_LLVM_fragment 64 32] $r15d | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:extended_info <- [DW_OP_constu 64, DW_OP_minus, DW_OP_LLVM_fragment 64 32] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:processor_capacity_info_index <- -2147483640 | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:avx_regs <- 0 | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:avx512_regs <- 0 | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:mpx_regs <- 0 | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:osxsave_mask <- 201326592 | |
#DEBUG_VALUE: xcr0_valid_bits <- $rsi | |
#DEBUG_VALUE: xgetbv:ext_ctrl_reg <- 0 | |
.loc 4 75 3 # cpuinfo/src/x86/cpuid.h:75:3 | |
xorl %ecx, %ecx | |
#APP | |
.byte 15 | |
.byte 1 | |
.byte 208 | |
#NO_APP | |
.Ltmp31: | |
.loc 0 77 7 # cpuinfo/src/x86/isa.c:77:7 | |
vmovd %eax, %xmm0 | |
.Ltmp32: | |
#DEBUG_VALUE: xgetbv:lo <- $eax | |
#DEBUG_VALUE: xgetbv:hi <- undef | |
.loc 4 76 34 # cpuinfo/src/x86/cpuid.h:76:34 | |
notl %eax | |
.Ltmp33: | |
#DEBUG_VALUE: avx_regs_mask <- 6 | |
#DEBUG_VALUE: xfeature_enabled_mask <- [DW_OP_LLVM_arg 0, DW_OP_constu 32, DW_OP_shl, DW_OP_LLVM_arg 1, DW_OP_or, DW_OP_stack_value] undef | |
.loc 0 77 24 # cpuinfo/src/x86/isa.c:77:24 | |
movl %esi, %ecx | |
notl %ecx | |
.Ltmp34: | |
.loc 0 100 41 # cpuinfo/src/x86/isa.c:100:41 | |
orl %eax, %ecx | |
.Ltmp35: | |
.loc 0 77 24 # cpuinfo/src/x86/isa.c:77:24 | |
vmovq %rsi, %xmm1 | |
vpbroadcastq %xmm1, %xmm1 | |
vmovdqa .LCPI0_0(%rip), %xmm2 # xmm2 = [6,230] | |
vpand %xmm2, %xmm1, %xmm1 | |
.Ltmp36: | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:avx_regs <- undef | |
#DEBUG_VALUE: avx512_regs_mask <- 230 | |
.loc 0 77 41 is_stmt 0 # cpuinfo/src/x86/isa.c:77:41 | |
vpcmpeqq %xmm2, %xmm1, %xmm1 | |
.Ltmp37: | |
.loc 0 77 7 # cpuinfo/src/x86/isa.c:77:7 | |
vpbroadcastd %xmm0, %xmm0 | |
vpand %xmm2, %xmm0, %xmm0 | |
vpcmpeqq %xmm2, %xmm0, %xmm0 | |
vpand %xmm0, %xmm1, %xmm0 | |
.Ltmp38: | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:avx512_regs <- undef | |
#DEBUG_VALUE: mpx_regs_mask <- 24 | |
.loc 0 100 7 is_stmt 1 # cpuinfo/src/x86/isa.c:100:7 | |
testb $24, %cl | |
sete %al | |
.Ltmp39: | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:mpx_regs <- undef | |
.loc 0 0 7 is_stmt 0 # cpuinfo/src/x86/isa.c:0:7 | |
movl %eax, -68(%rbp) # 4-byte Spill | |
movl %edi, %edx | |
jmp .LBB0_13 | |
.Ltmp40: | |
.LBB0_9: | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:max_base_index <- $r12d | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:max_extended_index <- [DW_OP_plus_uconst 16] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:vendor <- [DW_OP_plus_uconst 24] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:uarch <- [DW_OP_plus_uconst 32] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:isa <- [$r13+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:basic_info <- [DW_OP_LLVM_fragment 64 32] $r15d | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:extended_info <- [DW_OP_constu 64, DW_OP_minus, DW_OP_LLVM_fragment 64 32] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:processor_capacity_info_index <- -2147483640 | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:avx_regs <- 0 | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:avx512_regs <- 0 | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:mpx_regs <- 0 | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:osxsave_mask <- 201326592 | |
vpxor %xmm0, %xmm0, %xmm0 | |
movl $0, -68(%rbp) # 4-byte Folded Spill | |
.Ltmp41: | |
.LBB0_13: # %if.end54 | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:max_base_index <- $r12d | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:max_extended_index <- [DW_OP_plus_uconst 16] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:vendor <- [DW_OP_plus_uconst 24] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:uarch <- [DW_OP_plus_uconst 32] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:isa <- [$r13+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:basic_info <- [DW_OP_LLVM_fragment 64 32] $r15d | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:extended_info <- [DW_OP_constu 64, DW_OP_minus, DW_OP_LLVM_fragment 64 32] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:processor_capacity_info_index <- -2147483640 | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:osxsave_mask <- 201326592 | |
movq -48(%rbp), %rax # 8-byte Reload | |
.Ltmp42: | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:avx_regs <- undef | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:avx512_regs <- undef | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:mpx_regs <- undef | |
movq %rbx, -48(%rbp) # 8-byte Spill | |
.loc 0 118 15 is_stmt 1 # cpuinfo/src/x86/isa.c:118:15 | |
testq %rax, %rax | |
jne .LBB0_26 | |
.Ltmp43: | |
# %bb.14: | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:max_base_index <- $r12d | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:max_extended_index <- [DW_OP_plus_uconst 16] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:vendor <- [DW_OP_plus_uconst 24] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:uarch <- [DW_OP_plus_uconst 32] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:isa <- [$r13+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:basic_info <- [DW_OP_LLVM_fragment 64 32] $r15d | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:extended_info <- [DW_OP_constu 64, DW_OP_minus, DW_OP_LLVM_fragment 64 32] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:processor_capacity_info_index <- -2147483640 | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:osxsave_mask <- 201326592 | |
.loc 0 0 15 is_stmt 0 # cpuinfo/src/x86/isa.c:0:15 | |
movq -56(%rbp), %r8 # 8-byte Reload | |
movq %r8, %rbx | |
shrq $32, %rbx | |
movq -64(%rbp), %r12 # 8-byte Reload | |
.Ltmp44: | |
shrq $32, %r12 | |
.Ltmp45: | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:extended_info <- [DW_OP_LLVM_fragment 96 32] $r12d | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:max_base_index <- [DW_OP_LLVM_entry_value 1] $r9d | |
movq %r14, %rax | |
shrq $32, %rax | |
movq %r15, %rdi | |
shrq $32, %rdi | |
.Ltmp46: | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:basic_info <- [DW_OP_LLVM_convert 64 7, DW_OP_LLVM_convert 32 7, DW_OP_stack_value, DW_OP_LLVM_fragment 96 32] $rdi | |
leaq 2(%r13), %rcx | |
movq %r14, %rsi | |
shrq $43, %rsi | |
andb $1, %sil | |
movabsq $87960930222080, %r11 # imm = 0x500000000000 | |
.loc 0 118 15 # cpuinfo/src/x86/isa.c:118:15 | |
xorq %r11, %rcx | |
movb %sil, (%rcx) | |
movq %r15, %rcx | |
shrq $43, %rcx | |
andb $1, %cl | |
movb %cl, 2(%r13) | |
.loc 0 133 31 is_stmt 1 # cpuinfo/src/x86/isa.c:133:31 | |
movl %r12d, %ecx | |
notl %ecx | |
andnl %ebx, %edi, %esi | |
orl %ebx, %ecx | |
andl %ecx, %eax | |
orl %esi, %eax | |
movl %eax, %r10d | |
orq %r12, %rdi | |
.Ltmp47: | |
.loc 0 133 6 is_stmt 0 # cpuinfo/src/x86/isa.c:133:6 | |
leaq 3(%r13), %rsi | |
.loc 0 133 10 # cpuinfo/src/x86/isa.c:133:10 | |
shrb $5, %al | |
andb $1, %al | |
xorq %r11, %rsi | |
movb %al, (%rsi) | |
movl %edi, %eax | |
shrb $5, %al | |
andb $1, %al | |
movb %al, 3(%r13) | |
.loc 0 139 6 is_stmt 1 # cpuinfo/src/x86/isa.c:139:6 | |
leaq 4(%r13), %rax | |
.loc 0 139 13 is_stmt 0 # cpuinfo/src/x86/isa.c:139:13 | |
xorq %r11, %rax | |
xorl %ecx, %ecx | |
movb %cl, (%rax) | |
movb %dl, 4(%r13) | |
.loc 0 145 6 is_stmt 1 # cpuinfo/src/x86/isa.c:145:6 | |
leaq 5(%r13), %rax | |
.loc 0 145 14 is_stmt 0 # cpuinfo/src/x86/isa.c:145:14 | |
movq %r14, %rsi | |
shrq $51, %rsi | |
andb $1, %sil | |
xorq %r11, %rax | |
movb %sil, (%rax) | |
movq %r15, %rax | |
shrq $51, %rax | |
andb $1, %al | |
movb %al, 5(%r13) | |
.loc 0 151 6 is_stmt 1 # cpuinfo/src/x86/isa.c:151:6 | |
leaq 6(%r13), %rax | |
.loc 0 151 17 is_stmt 0 # cpuinfo/src/x86/isa.c:151:17 | |
movq %r9, %rsi | |
shrq $55, %rsi | |
andb $1, %sil | |
xorq %r11, %rax | |
movb %cl, (%rax) | |
movb %sil, 6(%r13) | |
.loc 0 157 6 is_stmt 1 # cpuinfo/src/x86/isa.c:157:6 | |
leaq 7(%r13), %rax | |
.loc 0 157 12 is_stmt 0 # cpuinfo/src/x86/isa.c:157:12 | |
movl %r14d, %ecx | |
shrb $3, %cl | |
movl %r15d, %edx | |
shrb $3, %dl | |
andb $1, %cl | |
andb $1, %dl | |
xorq %r11, %rax | |
movb %cl, (%rax) | |
movb %dl, 7(%r13) | |
.loc 0 163 6 is_stmt 1 # cpuinfo/src/x86/isa.c:163:6 | |
leaq 8(%r13), %rax | |
.loc 0 163 13 is_stmt 0 # cpuinfo/src/x86/isa.c:163:13 | |
movl %r8d, %ecx | |
shrl $29, %ecx | |
andb $1, %cl | |
xorq %r11, %rax | |
movb %cl, (%rax) | |
.loc 0 133 31 is_stmt 1 # cpuinfo/src/x86/isa.c:133:31 | |
shrl $24, %r10d | |
movq -64(%rbp), %rdx # 8-byte Reload | |
.loc 0 163 13 # cpuinfo/src/x86/isa.c:163:13 | |
movl %edx, %eax | |
shrl $29, %eax | |
andb $1, %al | |
movb %al, 8(%r13) | |
.Ltmp48: | |
.loc 0 178 8 # cpuinfo/src/x86/isa.c:178:8 | |
leaq 9(%r13), %rax | |
.loc 0 178 15 is_stmt 0 # cpuinfo/src/x86/isa.c:178:15 | |
andb $1, %r10b | |
xorq %r11, %rax | |
movb %r10b, (%rax) | |
shrq $24, %rdi | |
andb $1, %dil | |
movb %dil, 9(%r13) | |
.Ltmp49: | |
.loc 0 186 6 is_stmt 1 # cpuinfo/src/x86/isa.c:186:6 | |
leaq 10(%r13), %rax | |
movq %r14, -96(%rbp) # 8-byte Spill | |
.loc 0 186 12 is_stmt 0 # cpuinfo/src/x86/isa.c:186:12 | |
movl %r14d, %ecx | |
shrl $26, %ecx | |
andb $1, %cl | |
xorq %r11, %rax | |
movb %cl, (%rax) | |
movq %r15, %r10 | |
movl %r15d, %eax | |
shrl $26, %eax | |
andb $1, %al | |
movb %al, 10(%r13) | |
.loc 0 215 6 is_stmt 1 # cpuinfo/src/x86/isa.c:215:6 | |
leaq 11(%r13), %rax | |
.loc 0 215 18 is_stmt 0 # cpuinfo/src/x86/isa.c:215:18 | |
movq %r8, %rcx | |
movq %r11, %r8 | |
shrq $63, %rcx | |
xorq %r11, %rax | |
movb %cl, (%rax) | |
movq %rdx, %rax | |
shrq $63, %rax | |
movb %al, 11(%r13) | |
.loc 0 221 6 is_stmt 1 # cpuinfo/src/x86/isa.c:221:6 | |
leaq 12(%r13), %rax | |
.loc 0 221 23 is_stmt 0 # cpuinfo/src/x86/isa.c:221:23 | |
movl %ebx, %ecx | |
shrl $30, %ecx | |
andb $1, %cl | |
xorq %r11, %rax | |
movb %cl, (%rax) | |
movl 24(%rbp), %edi | |
vpshufb .LCPI0_1(%rip), %xmm0, %xmm1 # xmm1 = xmm0[0,1,0,1,0,1,0,1,0,1,0,1,8,9,8,9] | |
movl %r12d, %eax | |
shrl $30, %eax | |
andb $1, %al | |
movb %al, 12(%r13) | |
movq %r9, -80(%rbp) # 8-byte Spill | |
.loc 0 151 47 is_stmt 1 # cpuinfo/src/x86/isa.c:151:47 | |
shrq $32, %r9 | |
movq %r9, %r14 | |
.loc 0 239 2 # cpuinfo/src/x86/isa.c:239:2 | |
cmpl $1, %edi | |
je .LBB0_15 | |
.Ltmp50: | |
# %bb.16: | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:max_base_index <- [DW_OP_LLVM_entry_value 1] $r9d | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:max_extended_index <- [DW_OP_plus_uconst 16] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:vendor <- [DW_OP_plus_uconst 24] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:uarch <- [DW_OP_plus_uconst 32] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:isa <- [$r13+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:basic_info <- [DW_OP_LLVM_fragment 64 32] $r15d | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:extended_info <- [DW_OP_LLVM_fragment 64 32] $edx | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:extended_info <- [DW_OP_LLVM_fragment 96 32] $r12d | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:processor_capacity_info_index <- -2147483640 | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:osxsave_mask <- 201326592 | |
cmpl $16, %edi | |
je .LBB0_18 | |
.Ltmp51: | |
# %bb.17: | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:max_base_index <- [DW_OP_LLVM_entry_value 1] $r9d | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:max_extended_index <- [DW_OP_plus_uconst 16] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:vendor <- [DW_OP_plus_uconst 24] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:uarch <- [DW_OP_plus_uconst 32] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:isa <- [$r13+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:basic_info <- [DW_OP_LLVM_fragment 64 32] $r15d | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:extended_info <- [DW_OP_LLVM_fragment 64 32] $edx | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:extended_info <- [DW_OP_LLVM_fragment 96 32] $r12d | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:processor_capacity_info_index <- -2147483640 | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:osxsave_mask <- 201326592 | |
cmpl $2, %edi | |
jne .LBB0_19 | |
.Ltmp52: | |
.LBB0_18: # %sw.bb | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:max_base_index <- [DW_OP_LLVM_entry_value 1] $r9d | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:max_extended_index <- [DW_OP_plus_uconst 16] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:vendor <- [DW_OP_plus_uconst 24] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:uarch <- [DW_OP_plus_uconst 32] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:isa <- [$r13+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:basic_info <- [DW_OP_LLVM_fragment 64 32] $r15d | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:extended_info <- [DW_OP_LLVM_fragment 64 32] $edx | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:extended_info <- [DW_OP_LLVM_fragment 96 32] $r12d | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:processor_capacity_info_index <- -2147483640 | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:osxsave_mask <- 201326592 | |
.loc 0 0 2 is_stmt 0 # cpuinfo/src/x86/isa.c:0:2 | |
movl $256, %eax # imm = 0x100 | |
movq -56(%rbp), %rcx # 8-byte Reload | |
# kill: def $ecx killed $ecx killed $rcx | |
.Ltmp53: | |
.loc 0 248 41 is_stmt 1 # cpuinfo/src/x86/isa.c:248:41 | |
andl %eax, %ecx | |
andl -64(%rbp), %eax # 4-byte Folded Reload | |
movl $-536870912, %edx # imm = 0xE0000000 | |
.Ltmp54: | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:extended_info <- [DW_OP_constu 64, DW_OP_minus, DW_OP_LLVM_fragment 64 32] [$rbp+0] | |
.loc 0 248 86 is_stmt 0 # cpuinfo/src/x86/isa.c:248:86 | |
movl %ebx, %esi | |
andl %edx, %esi | |
.loc 0 248 65 # cpuinfo/src/x86/isa.c:248:65 | |
orl %ecx, %esi | |
.loc 0 248 86 # cpuinfo/src/x86/isa.c:248:86 | |
andl %r12d, %edx | |
.loc 0 248 65 # cpuinfo/src/x86/isa.c:248:65 | |
orl %eax, %edx | |
.loc 0 248 20 # cpuinfo/src/x86/isa.c:248:20 | |
testl %esi, %esi | |
setne %cl | |
andnl %edx, %esi, %eax | |
sete %al | |
andb %cl, %al | |
testl %edx, %edx | |
setne %cl | |
jmp .LBB0_20 | |
.Ltmp55: | |
.LBB0_15: | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:max_base_index <- [DW_OP_LLVM_entry_value 1] $r9d | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:max_extended_index <- [DW_OP_plus_uconst 16] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:vendor <- [DW_OP_plus_uconst 24] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:uarch <- [DW_OP_plus_uconst 32] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:isa <- [$r13+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:basic_info <- [DW_OP_LLVM_fragment 64 32] $r15d | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:extended_info <- [DW_OP_LLVM_fragment 64 32] $edx | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:extended_info <- [DW_OP_LLVM_fragment 96 32] $r12d | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:processor_capacity_info_index <- -2147483640 | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:osxsave_mask <- 201326592 | |
.loc 0 0 20 # cpuinfo/src/x86/isa.c:0:20 | |
movl $-1073741824, %eax # imm = 0xC0000000 | |
jmp .LBB0_21 | |
.Ltmp56: | |
.LBB0_19: # %sw.default132 | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:max_base_index <- [DW_OP_LLVM_entry_value 1] $r9d | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:max_extended_index <- [DW_OP_plus_uconst 16] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:vendor <- [DW_OP_plus_uconst 24] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:uarch <- [DW_OP_plus_uconst 32] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:isa <- [$r13+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:basic_info <- [DW_OP_LLVM_fragment 64 32] $r15d | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:extended_info <- [DW_OP_LLVM_fragment 64 32] $edx | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:extended_info <- [DW_OP_LLVM_fragment 96 32] $r12d | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:processor_capacity_info_index <- -2147483640 | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:osxsave_mask <- 201326592 | |
.loc 0 255 20 is_stmt 1 # cpuinfo/src/x86/isa.c:255:20 | |
andnl %r12d, %ebx, %eax | |
movl $1073741824, %ecx # imm = 0x40000000 | |
cmpl %ecx, %eax | |
setae %dl | |
.Ltmp57: | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:extended_info <- [DW_OP_constu 64, DW_OP_minus, DW_OP_LLVM_fragment 64 32] [$rbp+0] | |
movl %r12d, %eax | |
orl %ebx, %eax | |
cmpl %ecx, %eax | |
setae %al | |
xorb %dl, %al | |
cmpl %ecx, %r12d | |
setae %cl | |
.Ltmp58: | |
.LBB0_20: # %sw.epilog140 | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:max_base_index <- [DW_OP_LLVM_entry_value 1] $r9d | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:max_extended_index <- [DW_OP_plus_uconst 16] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:vendor <- [DW_OP_plus_uconst 24] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:uarch <- [DW_OP_plus_uconst 32] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:isa <- [$r13+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:basic_info <- [DW_OP_LLVM_fragment 64 32] $r15d | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:extended_info <- [DW_OP_constu 64, DW_OP_minus, DW_OP_LLVM_fragment 64 32] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:extended_info <- [DW_OP_LLVM_fragment 96 32] $r12d | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:processor_capacity_info_index <- -2147483640 | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:osxsave_mask <- 201326592 | |
.loc 0 0 0 is_stmt 0 # cpuinfo/src/x86/isa.c:0:0 | |
leaq 13(%r13), %rdx | |
xorq %r8, %rdx | |
movb %al, (%rdx) | |
movb %cl, 13(%r13) | |
.Ltmp59: | |
.loc 0 267 2 is_stmt 1 # cpuinfo/src/x86/isa.c:267:2 | |
xorl %ecx, %ecx | |
cmpl $16, %edi | |
sete %cl | |
orl $-2, %ecx | |
shll $29, %ecx | |
cmpl $2, %edi | |
movl $-536870912, %eax # imm = 0xE0000000 | |
cmovnel %ecx, %eax | |
.Ltmp60: | |
.LBB0_21: # %sw.epilog162 | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:max_base_index <- [DW_OP_LLVM_entry_value 1] $r9d | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:max_extended_index <- [DW_OP_plus_uconst 16] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:vendor <- [DW_OP_plus_uconst 24] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:uarch <- [DW_OP_plus_uconst 32] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:isa <- [$r13+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:basic_info <- [DW_OP_LLVM_fragment 64 32] $r15d | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:extended_info <- [DW_OP_constu 64, DW_OP_minus, DW_OP_LLVM_fragment 64 32] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:extended_info <- [DW_OP_LLVM_fragment 96 32] $r12d | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:processor_capacity_info_index <- -2147483640 | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:osxsave_mask <- 201326592 | |
.loc 0 0 0 is_stmt 0 # cpuinfo/src/x86/isa.c:0:0 | |
movl %eax, %ecx | |
movq %rbx, -112(%rbp) # 8-byte Spill | |
andl %ebx, %ecx | |
movq %r12, -104(%rbp) # 8-byte Spill | |
.Ltmp61: | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:extended_info <- [DW_OP_constu 104, DW_OP_minus, DW_OP_LLVM_fragment 96 32] [$rbp+0] | |
andl %r12d, %eax | |
movl %eax, %edx | |
notl %edx | |
orl %ecx, %edx | |
movq -56(%rbp), %r15 # 8-byte Reload | |
.Ltmp62: | |
andl %r15d, %edx | |
movl $256, %esi # imm = 0x100 | |
movq -64(%rbp), %rbx # 8-byte Reload | |
movl %ebx, %edi | |
andl %esi, %edi | |
andnl %ecx, %edi, %ecx | |
andl %esi, %edx | |
orl %ecx, %edx | |
orl %eax, %edi | |
testl %edx, %edx | |
setne %al | |
andnl %edi, %edx, %ecx | |
sete %cl | |
andb %al, %cl | |
leaq 14(%r13), %rax | |
xorq %r8, %rax | |
testl %edi, %edi | |
movb %cl, (%rax) | |
setne 14(%r13) | |
.Ltmp63: | |
.loc 0 282 6 is_stmt 1 # cpuinfo/src/x86/isa.c:282:6 | |
leaq 15(%r13), %rax | |
movq -48(%rbp), %r9 # 8-byte Reload | |
.loc 0 282 18 is_stmt 0 # cpuinfo/src/x86/isa.c:282:18 | |
movl %r9d, %ecx | |
andb $1, %cl | |
xorq %r8, %rax | |
xorl %r12d, %r12d | |
movb %r12b, (%rax) | |
movb %cl, 15(%r13) | |
.loc 0 302 6 is_stmt 1 # cpuinfo/src/x86/isa.c:302:6 | |
leaq 16(%r13), %rax | |
movq -96(%rbp), %r11 # 8-byte Reload | |
.loc 0 302 11 is_stmt 0 # cpuinfo/src/x86/isa.c:302:11 | |
movl %r11d, %ecx | |
andb $1, %cl | |
movq %r10, %r8 | |
movl %r8d, %edx | |
andb $1, %dl | |
movabsq $87960930222080, %rsi # imm = 0x500000000000 | |
xorq %rsi, %rax | |
movb %cl, (%rax) | |
movb %dl, 16(%r13) | |
.loc 0 334 6 is_stmt 1 # cpuinfo/src/x86/isa.c:334:6 | |
leaq 17(%r13), %rax | |
.loc 0 334 12 is_stmt 0 # cpuinfo/src/x86/isa.c:334:12 | |
movq %r11, %rcx | |
shrq $9, %rcx | |
movq %r10, %rdx | |
shrq $9, %rdx | |
andb $1, %cl | |
andb $1, %dl | |
movabsq $87960930222080, %rsi # imm = 0x500000000000 | |
xorq %rsi, %rax | |
movb %cl, (%rax) | |
movb %dl, 17(%r13) | |
.loc 0 341 6 is_stmt 1 # cpuinfo/src/x86/isa.c:341:6 | |
leaq 18(%r13), %rax | |
.loc 0 341 13 is_stmt 0 # cpuinfo/src/x86/isa.c:341:13 | |
movq %r11, %rcx | |
shrq $19, %rcx | |
movq %r10, %rdx | |
shrq $19, %rdx | |
andb $1, %cl | |
andb $1, %dl | |
movabsq $87960930222080, %rsi # imm = 0x500000000000 | |
xorq %rsi, %rax | |
movb %cl, (%rax) | |
movb %dl, 18(%r13) | |
.loc 0 347 6 is_stmt 1 # cpuinfo/src/x86/isa.c:347:6 | |
leaq 19(%r13), %rax | |
.loc 0 347 13 is_stmt 0 # cpuinfo/src/x86/isa.c:347:13 | |
movq %r11, %rcx | |
shrq $20, %rcx | |
movq %r10, %rdx | |
shrq $20, %rdx | |
andb $1, %cl | |
andb $1, %dl | |
movabsq $87960930222080, %rsi # imm = 0x500000000000 | |
xorq %rsi, %rax | |
movb %cl, (%rax) | |
movb %dl, 19(%r13) | |
.loc 0 353 6 is_stmt 1 # cpuinfo/src/x86/isa.c:353:6 | |
leaq 20(%r13), %rax | |
.loc 0 353 12 is_stmt 0 # cpuinfo/src/x86/isa.c:353:12 | |
movl %r15d, %ecx | |
shrb $6, %cl | |
movl %ebx, %edx | |
shrb $6, %dl | |
andb $1, %cl | |
andb $1, %dl | |
movabsq $87960930222080, %rsi # imm = 0x500000000000 | |
xorq %rsi, %rax | |
movb %cl, (%rax) | |
movb %dl, 20(%r13) | |
.loc 0 359 6 is_stmt 1 # cpuinfo/src/x86/isa.c:359:6 | |
leaq 21(%r13), %rax | |
.loc 0 359 21 is_stmt 0 # cpuinfo/src/x86/isa.c:359:21 | |
movl %r15d, %ecx | |
shrb $7, %cl | |
movl %ebx, %edx | |
shrb $7, %dl | |
movabsq $87960930222080, %rsi # imm = 0x500000000000 | |
xorq %rsi, %rax | |
movb %cl, (%rax) | |
movb %dl, 21(%r13) | |
.loc 0 365 21 is_stmt 1 # cpuinfo/src/x86/isa.c:365:21 | |
vmovd %r11d, %xmm2 | |
vpinsrd $1, %r15d, %xmm2, %xmm2 | |
vmovd %r8d, %xmm3 | |
vpinsrd $1, %ebx, %xmm3, %xmm3 | |
vpinsrd $2, %r14d, %xmm3, %xmm3 | |
vmovq %xmm2, %xmm2 # xmm2 = xmm2[0],zero | |
vmovdqa .LCPI0_2(%rip), %ymm4 # ymm4 = [0,0,1,1,0,2,2,2] | |
vpermd %ymm2, %ymm4, %ymm2 | |
vpermd %ymm3, %ymm4, %ymm3 | |
vmovdqa .LCPI0_3(%rip), %ymm4 # ymm4 = [268435456,4096,65536,2048,536870912,32,65536,67108864] | |
vpand %ymm4, %ymm2, %ymm2 | |
vpand %ymm4, %ymm3, %ymm3 | |
.loc 0 365 6 is_stmt 0 # cpuinfo/src/x86/isa.c:365:6 | |
leaq 22(%r13), %rax | |
.loc 0 365 21 # cpuinfo/src/x86/isa.c:365:21 | |
vpcmpeqd %ymm4, %ymm2, %ymm5 | |
vpxor %xmm6, %xmm6, %xmm6 | |
vpandn %ymm3, %ymm2, %ymm2 | |
vpcmpeqd %ymm6, %ymm2, %ymm2 | |
vpand %ymm2, %ymm5, %ymm2 | |
vextracti128 $1, %ymm2, %xmm5 | |
vpackssdw %xmm5, %xmm2, %xmm2 | |
vpcmpeqd %ymm4, %ymm3, %ymm3 | |
vextracti128 $1, %ymm3, %xmm4 | |
vpbroadcastw .LCPI0_4(%rip), %xmm5 # xmm5 = [1,1,1,1,1,1,1,1] | |
vpackssdw %xmm4, %xmm3, %xmm3 | |
vpand %xmm2, %xmm1, %xmm2 | |
vpand %xmm5, %xmm2, %xmm2 | |
vpand %xmm3, %xmm1, %xmm1 | |
vpand %xmm5, %xmm1, %xmm1 | |
.loc 0 365 10 # cpuinfo/src/x86/isa.c:365:10 | |
vpackuswb %xmm2, %xmm2, %xmm2 | |
vpackuswb %xmm1, %xmm1, %xmm1 | |
movabsq $87960930222080, %rcx # imm = 0x500000000000 | |
xorq %rcx, %rax | |
vmovq %xmm2, (%rax) | |
vmovq %xmm1, 22(%r13) | |
.loc 0 413 29 is_stmt 1 # cpuinfo/src/x86/isa.c:413:29 | |
movl %r14d, %eax | |
shrl $27, %eax | |
vpextrb $8, %xmm0, %ecx | |
andl %ecx, %eax | |
movl %ecx, -72(%rbp) # 4-byte Spill | |
andl $1, %eax | |
.loc 0 413 6 is_stmt 0 # cpuinfo/src/x86/isa.c:413:6 | |
leaq 30(%r13), %rdx | |
.loc 0 413 15 # cpuinfo/src/x86/isa.c:413:15 | |
movabsq $87960930222080, %rsi # imm = 0x500000000000 | |
xorq %rsi, %rdx | |
movb %r12b, (%rdx) | |
movb %al, 30(%r13) | |
.loc 0 419 29 is_stmt 1 # cpuinfo/src/x86/isa.c:419:29 | |
movl %r14d, %eax | |
shrl $28, %eax | |
andl %ecx, %eax | |
andl $1, %eax | |
.loc 0 419 6 is_stmt 0 # cpuinfo/src/x86/isa.c:419:6 | |
leaq 31(%r13), %rdx | |
.loc 0 419 15 # cpuinfo/src/x86/isa.c:419:15 | |
movabsq $87960930222080, %rsi # imm = 0x500000000000 | |
xorq %rsi, %rdx | |
movq -80(%rbp), %r15 # 8-byte Reload | |
.loc 0 425 29 is_stmt 1 # cpuinfo/src/x86/isa.c:425:29 | |
movq %r15, %rsi | |
shrq $49, %rsi | |
.loc 0 431 29 # cpuinfo/src/x86/isa.c:431:29 | |
movl %r14d, %edi | |
shrl $30, %edi | |
.loc 0 425 29 # cpuinfo/src/x86/isa.c:425:29 | |
vmovd %esi, %xmm1 | |
vpinsrb $1, %edi, %xmm1, %xmm2 | |
.loc 0 419 15 # cpuinfo/src/x86/isa.c:419:15 | |
movb %r12b, (%rdx) | |
.loc 0 543 17 # cpuinfo/src/x86/isa.c:543:17 | |
vpbroadcastb .LCPI0_5(%rip), %xmm1 # xmm1 = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1] | |
.loc 0 419 15 # cpuinfo/src/x86/isa.c:419:15 | |
movb %al, 31(%r13) | |
.loc 0 425 29 # cpuinfo/src/x86/isa.c:425:29 | |
vpand %xmm1, %xmm2, %xmm3 | |
.loc 0 437 29 # cpuinfo/src/x86/isa.c:437:29 | |
movl %r14d, %esi | |
shrl $31, %esi | |
.loc 0 443 31 # cpuinfo/src/x86/isa.c:443:31 | |
movq %r15, %rdx | |
.loc 0 449 31 # cpuinfo/src/x86/isa.c:449:31 | |
movl %r9d, %eax | |
shrb %al | |
movq -48(%rbp), %rdi # 8-byte Reload | |
.loc 0 455 32 # cpuinfo/src/x86/isa.c:455:32 | |
movl %edi, %ebx | |
.loc 0 461 33 # cpuinfo/src/x86/isa.c:461:33 | |
vmovq -48(%rbp), %xmm2 # 8-byte Folded Reload | |
# xmm2 = mem[0],zero | |
vpbroadcastq %xmm2, %xmm2 | |
vpsrlvq .LCPI0_6(%rip), %xmm2, %xmm4 | |
.loc 0 449 31 # cpuinfo/src/x86/isa.c:449:31 | |
movzbl %al, %eax | |
vmovd %eax, %xmm5 | |
.loc 0 461 33 # cpuinfo/src/x86/isa.c:461:33 | |
vpextrb $8, %xmm4, %eax | |
.loc 0 455 32 # cpuinfo/src/x86/isa.c:455:32 | |
shrb $6, %bl | |
.loc 0 449 31 # cpuinfo/src/x86/isa.c:449:31 | |
movzbl %bl, %edi | |
vpinsrb $1, %edi, %xmm5, %xmm5 | |
.loc 0 443 31 # cpuinfo/src/x86/isa.c:443:31 | |
shrq $53, %rdx | |
.loc 0 461 33 # cpuinfo/src/x86/isa.c:461:33 | |
vmovd %xmm4, %edi | |
.loc 0 449 31 # cpuinfo/src/x86/isa.c:449:31 | |
vpinsrb $2, %edi, %xmm5, %xmm4 | |
vpinsrb $3, %eax, %xmm4, %xmm4 | |
.loc 0 425 29 # cpuinfo/src/x86/isa.c:425:29 | |
vpinsrb $2, %esi, %xmm3, %xmm3 | |
.loc 0 443 31 # cpuinfo/src/x86/isa.c:443:31 | |
andb $1, %dl | |
.loc 0 425 29 # cpuinfo/src/x86/isa.c:425:29 | |
movzbl %dl, %eax | |
vpinsrb $3, %eax, %xmm3, %xmm5 | |
.loc 0 425 6 is_stmt 0 # cpuinfo/src/x86/isa.c:425:6 | |
leaq 32(%r13), %rax | |
.loc 0 425 15 # cpuinfo/src/x86/isa.c:425:15 | |
movabsq $87960930222080, %rdx # imm = 0x500000000000 | |
xorq %rdx, %rax | |
movq $0, (%rax) | |
movq -48(%rbp), %rax # 8-byte Reload | |
.loc 0 473 31 is_stmt 1 # cpuinfo/src/x86/isa.c:473:31 | |
shrq $11, %rax | |
andb $1, %al | |
.loc 0 473 6 is_stmt 0 # cpuinfo/src/x86/isa.c:473:6 | |
leaq 40(%r13), %rdx | |
.loc 0 473 17 # cpuinfo/src/x86/isa.c:473:17 | |
movabsq $87960930222080, %rsi # imm = 0x500000000000 | |
xorq %rsi, %rdx | |
movq -48(%rbp), %rsi # 8-byte Reload | |
.loc 0 479 34 is_stmt 1 # cpuinfo/src/x86/isa.c:479:34 | |
shrq $34, %rsi | |
andb $1, %sil | |
.loc 0 479 6 is_stmt 0 # cpuinfo/src/x86/isa.c:479:6 | |
leaq 43(%r13), %r10 | |
.loc 0 479 20 # cpuinfo/src/x86/isa.c:479:20 | |
movabsq $87960930222080, %rdi # imm = 0x500000000000 | |
xorq %rdi, %r10 | |
movq -48(%rbp), %r9 # 8-byte Reload | |
.loc 0 485 34 is_stmt 1 # cpuinfo/src/x86/isa.c:485:34 | |
shrq $35, %r9 | |
andb $1, %r9b | |
.loc 0 485 6 is_stmt 0 # cpuinfo/src/x86/isa.c:485:6 | |
leaq 44(%r13), %rdi | |
.loc 0 485 20 # cpuinfo/src/x86/isa.c:485:20 | |
movabsq $87960930222080, %rbx # imm = 0x500000000000 | |
xorq %rbx, %rdi | |
movq -48(%rbp), %rbx # 8-byte Reload | |
.loc 0 491 39 is_stmt 1 # cpuinfo/src/x86/isa.c:491:39 | |
shrq $40, %rbx | |
andb $1, %bl | |
.loc 0 491 6 is_stmt 0 # cpuinfo/src/x86/isa.c:491:6 | |
leaq 42(%r13), %r12 | |
.loc 0 491 25 # cpuinfo/src/x86/isa.c:491:25 | |
movabsq $87960930222080, %rcx # imm = 0x500000000000 | |
xorq %rcx, %r12 | |
.loc 0 473 31 is_stmt 1 # cpuinfo/src/x86/isa.c:473:31 | |
testb $1, -72(%rbp) # 1-byte Folded Reload | |
.loc 0 365 10 # cpuinfo/src/x86/isa.c:365:10 | |
vpxor %xmm3, %xmm3, %xmm3 | |
.loc 0 425 29 # cpuinfo/src/x86/isa.c:425:29 | |
vpbroadcastb .LCPI0_7(%rip), %xmm6 # xmm6 = [8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8] | |
vpshufb %xmm6, %xmm0, %xmm0 | |
vpbroadcastb .LCPI0_8(%rip), %xmm6 # xmm6 = [128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128] | |
.loc 0 449 31 # cpuinfo/src/x86/isa.c:449:31 | |
vpand %xmm1, %xmm4, %xmm4 | |
.loc 0 425 29 # cpuinfo/src/x86/isa.c:425:29 | |
vpsllw $7, %xmm0, %xmm0 | |
vpand %xmm6, %xmm0, %xmm0 | |
vpcmpgtb %xmm0, %xmm3, %xmm0 | |
vpunpckldq %xmm4, %xmm5, %xmm4 # xmm4 = xmm5[0],xmm4[0],xmm5[1],xmm4[1] | |
vpand %xmm4, %xmm0, %xmm0 | |
.loc 0 425 15 is_stmt 0 # cpuinfo/src/x86/isa.c:425:15 | |
vmovq %xmm0, 32(%r13) | |
movl $0, %ecx | |
.loc 0 473 17 is_stmt 1 # cpuinfo/src/x86/isa.c:473:17 | |
movb %cl, (%rdx) | |
.loc 0 473 31 is_stmt 0 # cpuinfo/src/x86/isa.c:473:31 | |
movzbl %al, %eax | |
cmovel %ecx, %eax | |
.loc 0 473 17 # cpuinfo/src/x86/isa.c:473:17 | |
movb %al, 40(%r13) | |
.loc 0 479 34 is_stmt 1 # cpuinfo/src/x86/isa.c:479:34 | |
movzbl %sil, %eax | |
cmovel %ecx, %eax | |
.loc 0 479 20 is_stmt 0 # cpuinfo/src/x86/isa.c:479:20 | |
movb %cl, (%r10) | |
movb %al, 43(%r13) | |
.loc 0 485 20 is_stmt 1 # cpuinfo/src/x86/isa.c:485:20 | |
movb %cl, (%rdi) | |
.loc 0 485 34 is_stmt 0 # cpuinfo/src/x86/isa.c:485:34 | |
movzbl %r9b, %eax | |
cmovel %ecx, %eax | |
.loc 0 485 20 # cpuinfo/src/x86/isa.c:485:20 | |
movb %al, 44(%r13) | |
.loc 0 491 39 is_stmt 1 # cpuinfo/src/x86/isa.c:491:39 | |
movzbl %bl, %eax | |
cmovel %ecx, %eax | |
.loc 0 491 25 is_stmt 0 # cpuinfo/src/x86/isa.c:491:25 | |
movb %cl, (%r12) | |
movq -64(%rbp), %r12 # 8-byte Reload | |
movb %al, 42(%r13) | |
.loc 0 497 31 is_stmt 1 # cpuinfo/src/x86/isa.c:497:31 | |
movzbl -88(%rbp), %eax # 1-byte Folded Reload | |
cmovel %ecx, %eax | |
xorl %r9d, %r9d | |
.loc 0 497 6 is_stmt 0 # cpuinfo/src/x86/isa.c:497:6 | |
leaq 41(%r13), %rcx | |
.loc 0 497 17 # cpuinfo/src/x86/isa.c:497:17 | |
movabsq $87960930222080, %rdx # imm = 0x500000000000 | |
xorq %rdx, %rcx | |
movb %r9b, (%rcx) | |
movb %al, 41(%r13) | |
.loc 0 503 6 is_stmt 1 # cpuinfo/src/x86/isa.c:503:6 | |
leaq 45(%r13), %rax | |
.loc 0 503 10 is_stmt 0 # cpuinfo/src/x86/isa.c:503:10 | |
movq %r15, %rdx | |
shrq $36, %rdx | |
movl %edx, %ecx | |
andb $1, %cl | |
movabsq $87960930222080, %rsi # imm = 0x500000000000 | |
xorq %rsi, %rax | |
movb %r9b, (%rax) | |
movb %cl, 45(%r13) | |
.loc 0 509 6 is_stmt 1 # cpuinfo/src/x86/isa.c:509:6 | |
leaq 46(%r13), %rcx | |
.loc 0 509 10 is_stmt 0 # cpuinfo/src/x86/isa.c:509:10 | |
movl %r14d, %eax | |
shrl $11, %eax | |
andl $1, %eax | |
movabsq $87960930222080, %rsi # imm = 0x500000000000 | |
xorq %rsi, %rcx | |
movb %r9b, (%rcx) | |
.loc 0 515 22 is_stmt 1 # cpuinfo/src/x86/isa.c:515:22 | |
orb %al, %dl | |
.loc 0 515 6 is_stmt 0 # cpuinfo/src/x86/isa.c:515:6 | |
leaq 47(%r13), %rsi | |
.loc 0 515 12 # cpuinfo/src/x86/isa.c:515:12 | |
andb $1, %dl | |
movabsq $87960930222080, %rcx # imm = 0x500000000000 | |
xorq %rcx, %rsi | |
.loc 0 521 21 is_stmt 1 # cpuinfo/src/x86/isa.c:521:21 | |
movq %r15, %rcx | |
shrq $46, %rcx | |
andb $1, %cl | |
movzbl %cl, %r10d | |
cmpb $0, -68(%rbp) # 1-byte Folded Reload | |
cmovel %r9d, %r10d | |
.loc 0 543 17 # cpuinfo/src/x86/isa.c:543:17 | |
movl %r11d, %edi | |
shrl $13, %edi | |
movzbl %dil, %edi | |
vmovd %edi, %xmm0 | |
movl %r11d, %edi | |
shrl $22, %edi | |
vpinsrb $2, %edi, %xmm0, %xmm0 | |
movq -56(%rbp), %rdi # 8-byte Reload | |
.loc 0 576 12 # cpuinfo/src/x86/isa.c:576:12 | |
movl %edi, %ebx | |
.loc 0 543 17 # cpuinfo/src/x86/isa.c:543:17 | |
vpinsrb $3, %edi, %xmm0, %xmm0 | |
movq %rdi, %rcx | |
.loc 0 576 12 # cpuinfo/src/x86/isa.c:576:12 | |
shrb $5, %bl | |
.loc 0 543 17 # cpuinfo/src/x86/isa.c:543:17 | |
movzbl %bl, %edi | |
movq -48(%rbp), %rbx # 8-byte Reload | |
vpinsrb $5, %edi, %xmm0, %xmm0 | |
.loc 0 509 10 # cpuinfo/src/x86/isa.c:509:10 | |
movb %al, 46(%r13) | |
.loc 0 543 17 # cpuinfo/src/x86/isa.c:543:17 | |
movl %r11d, %eax | |
shrl $23, %eax | |
vpinsrb $6, %eax, %xmm0, %xmm0 | |
.loc 0 515 12 # cpuinfo/src/x86/isa.c:515:12 | |
movb %r9b, (%rsi) | |
.loc 0 543 17 # cpuinfo/src/x86/isa.c:543:17 | |
movl %ecx, %eax | |
shrl $21, %eax | |
vpinsrb $7, %eax, %xmm0, %xmm0 | |
.loc 0 515 12 # cpuinfo/src/x86/isa.c:515:12 | |
movb %dl, 47(%r13) | |
.loc 0 543 17 # cpuinfo/src/x86/isa.c:543:17 | |
movq %r8, %rax | |
shrq $13, %rax | |
vmovd %eax, %xmm4 | |
.loc 0 549 11 # cpuinfo/src/x86/isa.c:549:11 | |
movq %r15, %rax | |
shrq $56, %rax | |
.loc 0 543 17 # cpuinfo/src/x86/isa.c:543:17 | |
vpinsrb $1, %eax, %xmm4, %xmm4 | |
.loc 0 521 6 # cpuinfo/src/x86/isa.c:521:6 | |
leaq 48(%r13), %rax | |
.loc 0 521 10 is_stmt 0 # cpuinfo/src/x86/isa.c:521:10 | |
movabsq $87960930222080, %rdx # imm = 0x500000000000 | |
xorq %rdx, %rax | |
movb %r9b, (%rax) | |
.loc 0 543 17 is_stmt 1 # cpuinfo/src/x86/isa.c:543:17 | |
movl %r8d, %eax | |
shrl $22, %eax | |
vpinsrb $2, %eax, %xmm4, %xmm4 | |
.loc 0 576 12 # cpuinfo/src/x86/isa.c:576:12 | |
movl %r12d, %eax | |
.loc 0 594 10 # cpuinfo/src/x86/isa.c:594:10 | |
vmovq %r15, %xmm5 | |
vpbroadcastq %xmm5, %xmm5 | |
vpsrlvq .LCPI0_9(%rip), %xmm5, %xmm5 | |
.loc 0 543 17 # cpuinfo/src/x86/isa.c:543:17 | |
vpinsrb $3, %r12d, %xmm4, %xmm4 | |
vpinsrb $4, %r14d, %xmm4, %xmm4 | |
.loc 0 576 12 # cpuinfo/src/x86/isa.c:576:12 | |
shrb $5, %al | |
.loc 0 543 17 # cpuinfo/src/x86/isa.c:543:17 | |
movzbl %al, %eax | |
vpinsrb $5, %eax, %xmm4, %xmm4 | |
movl %r8d, %eax | |
shrl $23, %eax | |
vpinsrb $6, %eax, %xmm4, %xmm4 | |
movl %r12d, %eax | |
shrl $21, %eax | |
vpinsrb $7, %eax, %xmm4, %xmm4 | |
.loc 0 606 10 # cpuinfo/src/x86/isa.c:606:10 | |
movq %r15, %rax | |
.loc 0 543 17 # cpuinfo/src/x86/isa.c:543:17 | |
vpshufb .LCPI0_11(%rip), %xmm5, %xmm5 # xmm5 = xmm5[0,8,u,u,u,u,u,u,u,u,u,u,u,u,u,u] | |
.loc 0 606 10 # cpuinfo/src/x86/isa.c:606:10 | |
shrq $51, %rax | |
.loc 0 543 17 # cpuinfo/src/x86/isa.c:543:17 | |
vpunpcklqdq %xmm5, %xmm4, %xmm4 # xmm4 = xmm4[0],xmm5[0] | |
vpinsrb $10, %eax, %xmm4, %xmm4 | |
.loc 0 612 10 # cpuinfo/src/x86/isa.c:612:10 | |
movl %r11d, %eax | |
shrl $25, %eax | |
.loc 0 543 17 # cpuinfo/src/x86/isa.c:543:17 | |
vmovq %xmm0, %xmm0 # xmm0 = xmm0[0],zero | |
vpinsrb $11, %eax, %xmm0, %xmm0 | |
.loc 0 612 10 # cpuinfo/src/x86/isa.c:612:10 | |
movl %r8d, %eax | |
shrl $25, %eax | |
.loc 0 543 17 # cpuinfo/src/x86/isa.c:543:17 | |
vpinsrb $11, %eax, %xmm4, %xmm4 | |
movl %ebx, %eax | |
shrl $9, %eax | |
vpinsrb $12, %eax, %xmm4, %xmm4 | |
.loc 0 624 16 # cpuinfo/src/x86/isa.c:624:16 | |
movl %r11d, %eax | |
.loc 0 543 17 # cpuinfo/src/x86/isa.c:543:17 | |
vpinsrb $12, %r9d, %xmm0, %xmm0 | |
.loc 0 624 16 # cpuinfo/src/x86/isa.c:624:16 | |
shrb %al | |
.loc 0 543 17 # cpuinfo/src/x86/isa.c:543:17 | |
movzbl %al, %eax | |
vpinsrb $13, %eax, %xmm0, %xmm0 | |
.loc 0 624 16 # cpuinfo/src/x86/isa.c:624:16 | |
movl %r8d, %eax | |
shrb %al | |
.loc 0 543 17 # cpuinfo/src/x86/isa.c:543:17 | |
movzbl %al, %eax | |
vpinsrb $13, %eax, %xmm4, %xmm4 | |
.loc 0 521 10 # cpuinfo/src/x86/isa.c:521:10 | |
movb %r10b, 48(%r13) | |
.loc 0 543 6 # cpuinfo/src/x86/isa.c:543:6 | |
leaq 49(%r13), %rax | |
.loc 0 630 17 # cpuinfo/src/x86/isa.c:630:17 | |
vpsrlvq .LCPI0_10(%rip), %xmm2, %xmm2 | |
.loc 0 543 17 # cpuinfo/src/x86/isa.c:543:17 | |
vpblendw $128, %xmm3, %xmm0, %xmm0 # xmm0 = xmm0[0,1,2,3,4,5,6],xmm3[7] | |
vpshufb .LCPI0_12(%rip), %xmm2, %xmm2 # xmm2 = xmm2[u,u,u,u,u,u,u,u,u,u,u,u,u,u,0,8] | |
vpblendw $128, %xmm2, %xmm4, %xmm2 # xmm2 = xmm4[0,1,2,3,4,5,6],xmm2[7] | |
vpand %xmm1, %xmm0, %xmm0 | |
movabsq $87960930222080, %rcx # imm = 0x500000000000 | |
xorq %rcx, %rax | |
vmovdqu %xmm0, (%rax) | |
vpand %xmm1, %xmm2, %xmm0 | |
vmovdqu %xmm0, 49(%r13) | |
.loc 0 642 6 # cpuinfo/src/x86/isa.c:642:6 | |
leaq 65(%r13), %rax | |
.loc 0 642 13 is_stmt 0 # cpuinfo/src/x86/isa.c:642:13 | |
shrl $30, %r11d | |
andb $1, %r11b | |
movabsq $87960930222080, %rcx # imm = 0x500000000000 | |
xorq %rcx, %rax | |
movb %r11b, (%rax) | |
shrl $30, %r8d | |
andb $1, %r8b | |
movb %r8b, 65(%r13) | |
movabsq $87960930222080, %rdi # imm = 0x500000000000 | |
.loc 0 648 6 is_stmt 1 # cpuinfo/src/x86/isa.c:648:6 | |
leaq 66(%r13), %rax | |
.loc 0 648 13 is_stmt 0 # cpuinfo/src/x86/isa.c:648:13 | |
xorq %rdi, %rax | |
movb %r9b, (%rax) | |
shrq $50, %r15 | |
andb $1, %r15b | |
movb %r15b, 66(%r13) | |
.loc 0 654 6 is_stmt 1 # cpuinfo/src/x86/isa.c:654:6 | |
leaq 67(%r13), %rax | |
.loc 0 654 10 is_stmt 0 # cpuinfo/src/x86/isa.c:654:10 | |
xorq %rdi, %rax | |
movb %r9b, (%rax) | |
shrl $29, %r14d | |
andb $1, %r14b | |
movb %r14b, 67(%r13) | |
.Ltmp64: | |
.loc 0 656 13 is_stmt 1 # cpuinfo/src/x86/isa.c:656:13 | |
cmpl $11, 24(%rbp) | |
.Ltmp65: | |
.loc 0 656 6 is_stmt 0 # cpuinfo/src/x86/isa.c:656:6 | |
jne .LBB0_24 | |
.Ltmp66: | |
# %bb.22: # %if.then578 | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:max_base_index <- [DW_OP_LLVM_entry_value 1] $r9d | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:max_extended_index <- [DW_OP_plus_uconst 16] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:vendor <- [DW_OP_plus_uconst 24] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:uarch <- [DW_OP_plus_uconst 32] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:isa <- [$r13+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:extended_info <- [DW_OP_LLVM_fragment 64 32] $r12d | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:extended_info <- [DW_OP_constu 104, DW_OP_minus, DW_OP_LLVM_fragment 96 32] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:processor_capacity_info_index <- -2147483640 | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:osxsave_mask <- 201326592 | |
#DEBUG_VALUE: cpuid:eax <- -1073741824 | |
.loc 4 30 5 is_stmt 1 # cpuinfo/src/x86/cpuid.h:30:5 | |
movl $-1073741824, %eax # imm = 0xC0000000 | |
#APP | |
xchgq %rbx, %rsi | |
cpuid | |
xchgq %rbx, %rsi | |
#NO_APP | |
.Ltmp67: | |
#DEBUG_VALUE: padlock_meta_info <- [DW_OP_LLVM_arg 0, DW_OP_LLVM_arg 1, DW_OP_LLVM_convert 32 7, DW_OP_LLVM_convert 64 7, DW_OP_or, DW_OP_stack_value, DW_OP_LLVM_fragment 0 64] 0, $eax | |
#DEBUG_VALUE: cpuid:regs <- [DW_OP_LLVM_fragment 0 32] $eax | |
#DEBUG_VALUE: max_padlock_index <- $eax | |
#DEBUG_VALUE: cpuid:regs <- [DW_OP_LLVM_fragment 32 32] undef | |
#DEBUG_VALUE: cpuid:regs <- [DW_OP_LLVM_fragment 64 32] undef | |
#DEBUG_VALUE: cpuid:regs <- [DW_OP_LLVM_fragment 96 32] undef | |
#DEBUG_VALUE: padlock_meta_info <- [DW_OP_LLVM_fragment 64 64] undef | |
#DEBUG_VALUE: padlock_info_index <- -1073741823 | |
.loc 0 660 25 # cpuinfo/src/x86/isa.c:660:25 | |
cmpl $-1073741823, %eax # imm = 0xC0000001 | |
.Ltmp68: | |
.loc 0 660 7 is_stmt 0 # cpuinfo/src/x86/isa.c:660:7 | |
jb .LBB0_24 | |
.Ltmp69: | |
# %bb.23: # %if.then583 | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:max_base_index <- [DW_OP_LLVM_entry_value 1] $r9d | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:max_extended_index <- [DW_OP_plus_uconst 16] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:vendor <- [DW_OP_plus_uconst 24] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:uarch <- [DW_OP_plus_uconst 32] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:isa <- [$r13+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:extended_info <- [DW_OP_LLVM_fragment 64 32] $r12d | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:extended_info <- [DW_OP_constu 104, DW_OP_minus, DW_OP_LLVM_fragment 96 32] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:processor_capacity_info_index <- -2147483640 | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:osxsave_mask <- 201326592 | |
#DEBUG_VALUE: max_padlock_index <- $eax | |
#DEBUG_VALUE: padlock_info_index <- -1073741823 | |
#DEBUG_VALUE: cpuid:eax <- -1073741823 | |
.loc 4 30 5 is_stmt 1 # cpuinfo/src/x86/cpuid.h:30:5 | |
movl $-1073741823, %eax # imm = 0xC0000001 | |
.Ltmp70: | |
#APP | |
xchgq %rbx, %rsi | |
cpuid | |
xchgq %rbx, %rsi | |
#NO_APP | |
.Ltmp71: | |
#DEBUG_VALUE: padlock_info <- [DW_OP_LLVM_arg 0, DW_OP_LLVM_convert 32 7, DW_OP_LLVM_convert 64 7, DW_OP_constu 32, DW_OP_shl, DW_OP_LLVM_arg 1, DW_OP_LLVM_convert 32 7, DW_OP_LLVM_convert 64 7, DW_OP_or, DW_OP_stack_value, DW_OP_LLVM_fragment 64 64] undef, undef | |
#DEBUG_VALUE: cpuid:regs <- [DW_OP_LLVM_fragment 96 32] $edx | |
#DEBUG_VALUE: cpuid:regs <- [DW_OP_LLVM_fragment 0 32] undef | |
#DEBUG_VALUE: cpuid:regs <- [DW_OP_LLVM_fragment 32 32] undef | |
#DEBUG_VALUE: cpuid:regs <- [DW_OP_LLVM_fragment 64 32] undef | |
#DEBUG_VALUE: padlock_info <- [DW_OP_LLVM_fragment 0 64] undef | |
#DEBUG_VALUE: padlock_rng_mask <- 12 | |
.loc 0 669 52 # cpuinfo/src/x86/isa.c:669:52 | |
movl %edx, %ecx | |
notl %ecx | |
.loc 0 669 8 is_stmt 0 # cpuinfo/src/x86/isa.c:669:8 | |
leaq 68(%r13), %rsi | |
.loc 0 669 12 # cpuinfo/src/x86/isa.c:669:12 | |
xorq %rdi, %rsi | |
xorl %r9d, %r9d | |
.loc 0 669 52 # cpuinfo/src/x86/isa.c:669:52 | |
testb $12, %cl | |
.loc 0 669 12 # cpuinfo/src/x86/isa.c:669:12 | |
movb %r9b, (%rsi) | |
sete 68(%r13) | |
.Ltmp72: | |
#DEBUG_VALUE: padlock_ace_mask <- 192 | |
.loc 0 701 32 is_stmt 1 # cpuinfo/src/x86/isa.c:701:32 | |
vmovd %edx, %xmm0 | |
.loc 0 677 8 # cpuinfo/src/x86/isa.c:677:8 | |
leaq 69(%r13), %rsi | |
.Ltmp73: | |
#DEBUG_VALUE: padlock_ace2_mask <- 768 | |
.loc 0 685 8 # cpuinfo/src/x86/isa.c:685:8 | |
leaq 70(%r13), %r8 | |
.Ltmp74: | |
#DEBUG_VALUE: padlock_phe_mask <- 3072 | |
.loc 0 693 8 # cpuinfo/src/x86/isa.c:693:8 | |
leaq 71(%r13), %r10 | |
.Ltmp75: | |
#DEBUG_VALUE: padlock_pmm_mask <- 12288 | |
.loc 0 701 32 # cpuinfo/src/x86/isa.c:701:32 | |
vpbroadcastd %xmm0, %xmm0 | |
vmovdqa .LCPI0_13(%rip), %xmm1 # xmm1 = [12288,3072,768,192] | |
vpand %xmm1, %xmm0, %xmm0 | |
.loc 0 701 52 is_stmt 0 # cpuinfo/src/x86/isa.c:701:52 | |
vpcmpeqd %xmm1, %xmm0, %xmm0 | |
vmovmskps %xmm0, %ecx | |
movl %ecx, %ebx | |
andb $2, %bl | |
shrb %bl | |
movl %ecx, %eax | |
andb $4, %al | |
shrb $2, %al | |
movl %ecx, %edx | |
shrb $3, %dl | |
.loc 0 677 12 is_stmt 1 # cpuinfo/src/x86/isa.c:677:12 | |
xorq %rdi, %rsi | |
movb %r9b, (%rsi) | |
movb %dl, 69(%r13) | |
.loc 0 685 13 # cpuinfo/src/x86/isa.c:685:13 | |
xorq %rdi, %r8 | |
movb %r9b, (%r8) | |
movb %al, 70(%r13) | |
.loc 0 693 12 # cpuinfo/src/x86/isa.c:693:12 | |
xorq %rdi, %r10 | |
movb %r9b, (%r10) | |
movb %bl, 71(%r13) | |
movq -48(%rbp), %rbx # 8-byte Reload | |
.loc 0 701 8 # cpuinfo/src/x86/isa.c:701:8 | |
leaq 72(%r13), %rax | |
.loc 0 701 12 is_stmt 0 # cpuinfo/src/x86/isa.c:701:12 | |
andb $1, %cl | |
xorq %rdi, %rax | |
movb %r9b, (%rax) | |
movb %cl, 72(%r13) | |
.Ltmp76: | |
.LBB0_24: # %if.end611 | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:max_base_index <- [DW_OP_LLVM_entry_value 1] $r9d | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:max_extended_index <- [DW_OP_plus_uconst 16] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:vendor <- [DW_OP_plus_uconst 24] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:uarch <- [DW_OP_plus_uconst 32] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:isa <- [$r13+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:extended_info <- [DW_OP_LLVM_fragment 64 32] $r12d | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:extended_info <- [DW_OP_constu 104, DW_OP_minus, DW_OP_LLVM_fragment 96 32] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:processor_capacity_info_index <- -2147483640 | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:osxsave_mask <- 201326592 | |
.loc 0 709 6 is_stmt 1 # cpuinfo/src/x86/isa.c:709:6 | |
leaq 73(%r13), %rax | |
movq -56(%rbp), %rcx # 8-byte Reload | |
.loc 0 709 10 is_stmt 0 # cpuinfo/src/x86/isa.c:709:10 | |
shrq $15, %rcx | |
shrq $15, %r12 | |
.Ltmp77: | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:extended_info <- [DW_OP_constu 64, DW_OP_minus, DW_OP_LLVM_fragment 64 32] [$rbp+0] | |
andb $1, %cl | |
andb $1, %r12b | |
xorq %rdi, %rax | |
movb %cl, (%rax) | |
movb %r12b, 73(%r13) | |
movq -112(%rbp), %rcx # 8-byte Reload | |
.loc 0 715 13 is_stmt 1 # cpuinfo/src/x86/isa.c:715:13 | |
shrl $27, %ecx | |
movq -104(%rbp), %rdx # 8-byte Reload | |
shrl $27, %edx | |
andb $1, %cl | |
andb $1, %dl | |
movq %r13, %rax | |
xorq %rdi, %rax | |
movb %cl, (%rax) | |
movb %dl, (%r13) | |
.loc 0 721 6 # cpuinfo/src/x86/isa.c:721:6 | |
leaq 1(%r13), %rax | |
.loc 0 721 12 is_stmt 0 # cpuinfo/src/x86/isa.c:721:12 | |
shrq $22, %rbx | |
andb $1, %bl | |
xorq %rdi, %rax | |
movb $0, (%rax) | |
movb %bl, 1(%r13) | |
.loc 0 724 1 is_stmt 1 # cpuinfo/src/x86/isa.c:724:1 | |
movq %r13, %rax | |
addq $72, %rsp | |
popq %rbx | |
popq %r12 | |
popq %r13 | |
.Ltmp78: | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:isa <- [$rax+0] | |
popq %r14 | |
popq %r15 | |
popq %rbp | |
.cfi_def_cfa %rsp, 8 | |
vzeroupper | |
retq | |
.Ltmp79: | |
.LBB0_25: | |
.cfi_def_cfa %rbp, 16 | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:max_base_index <- $r12d | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:max_extended_index <- [DW_OP_plus_uconst 16] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:vendor <- [DW_OP_plus_uconst 24] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:uarch <- [DW_OP_plus_uconst 32] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:isa <- [$r13+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:basic_info <- [DW_OP_LLVM_fragment 64 32] $r15d | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:extended_info <- [DW_OP_constu 64, DW_OP_minus, DW_OP_LLVM_fragment 64 32] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:processor_capacity_info_index <- -2147483640 | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:avx_regs <- 0 | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:avx512_regs <- 0 | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:mpx_regs <- 0 | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:osxsave_mask <- 201326592 | |
.loc 0 62 6 # cpuinfo/src/x86/isa.c:62:6 | |
xorl %edi, %edi | |
callq __msan_warning_with_origin_noreturn@PLT | |
.Ltmp80: | |
.LBB0_26: | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:max_base_index <- $r12d | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:max_extended_index <- [DW_OP_plus_uconst 16] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:vendor <- [DW_OP_plus_uconst 24] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:uarch <- [DW_OP_plus_uconst 32] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:isa <- [$r13+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:basic_info <- [DW_OP_LLVM_fragment 64 32] $r15d | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:extended_info <- [DW_OP_constu 64, DW_OP_minus, DW_OP_LLVM_fragment 64 32] [$rbp+0] | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:processor_capacity_info_index <- -2147483640 | |
#DEBUG_VALUE: cpuinfo_x86_detect_isa:osxsave_mask <- 201326592 | |
.loc 0 118 15 # cpuinfo/src/x86/isa.c:118:15 | |
xorl %edi, %edi | |
callq __msan_warning_with_origin_noreturn@PLT | |
.Ltmp81: | |
.Lfunc_end0: | |
.size cpuinfo_x86_detect_isa, .Lfunc_end0-cpuinfo_x86_detect_isa | |
.cfi_endproc | |
.file 5 "cpuinfo/src/x86" "api.h" md5 0x27c8ee589f06b55198de5debd23b68da | |
# -- End function | |
.section .text.msan.module_ctor,"axR",@progbits | |
.p2align 4, 0x90 # -- Begin function msan.module_ctor | |
.type msan.module_ctor,@function | |
msan.module_ctor: # @msan.module_ctor | |
.Lfunc_begin1: | |
.cfi_startproc | |
# %bb.0: | |
pushq %rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset %rbp, -16 | |
movq %rsp, %rbp | |
.cfi_def_cfa_register %rbp | |
callq __msan_init@PLT | |
popq %rbp | |
.cfi_def_cfa %rsp, 8 | |
retq | |
.Lfunc_end1: | |
.size msan.module_ctor, .Lfunc_end1-msan.module_ctor | |
.cfi_endproc | |
# -- End function | |
.section .init_array.0,"aw",@init_array | |
.p2align 3 | |
.quad msan.module_ctor | |
.section .debug_loclists,"",@progbits | |
.long .Ldebug_list_header_end0-.Ldebug_list_header_start0 # Length | |
.Ldebug_list_header_start0: | |
.short 5 # Version | |
.byte 8 # Address size | |
.byte 0 # Segment selector size | |
.long 25 # Offset entry count | |
.Lloclists_table_base0: | |
.long .Ldebug_loc0-.Lloclists_table_base0 | |
.long .Ldebug_loc1-.Lloclists_table_base0 | |
.long .Ldebug_loc2-.Lloclists_table_base0 | |
.long .Ldebug_loc3-.Lloclists_table_base0 | |
.long .Ldebug_loc4-.Lloclists_table_base0 | |
.long .Ldebug_loc5-.Lloclists_table_base0 | |
.long .Ldebug_loc6-.Lloclists_table_base0 | |
.long .Ldebug_loc7-.Lloclists_table_base0 | |
.long .Ldebug_loc8-.Lloclists_table_base0 | |
.long .Ldebug_loc9-.Lloclists_table_base0 | |
.long .Ldebug_loc10-.Lloclists_table_base0 | |
.long .Ldebug_loc11-.Lloclists_table_base0 | |
.long .Ldebug_loc12-.Lloclists_table_base0 | |
.long .Ldebug_loc13-.Lloclists_table_base0 | |
.long .Ldebug_loc14-.Lloclists_table_base0 | |
.long .Ldebug_loc15-.Lloclists_table_base0 | |
.long .Ldebug_loc16-.Lloclists_table_base0 | |
.long .Ldebug_loc17-.Lloclists_table_base0 | |
.long .Ldebug_loc18-.Lloclists_table_base0 | |
.long .Ldebug_loc19-.Lloclists_table_base0 | |
.long .Ldebug_loc20-.Lloclists_table_base0 | |
.long .Ldebug_loc21-.Lloclists_table_base0 | |
.long .Ldebug_loc22-.Lloclists_table_base0 | |
.long .Ldebug_loc23-.Lloclists_table_base0 | |
.long .Ldebug_loc24-.Lloclists_table_base0 | |
.Ldebug_loc0: | |
.byte 4 # DW_LLE_offset_pair | |
.uleb128 .Lfunc_begin0-.Lfunc_begin0 # starting offset | |
.uleb128 .Ltmp3-.Lfunc_begin0 # ending offset | |
.byte 3 # Loc expr size | |
.byte 84 # DW_OP_reg4 | |
.byte 147 # DW_OP_piece | |
.byte 8 # 8 | |
.byte 4 # DW_LLE_offset_pair | |
.uleb128 .Ltmp3-.Lfunc_begin0 # starting offset | |
.uleb128 .Ltmp4-.Lfunc_begin0 # ending offset | |
.byte 6 # Loc expr size | |
.byte 84 # DW_OP_reg4 | |
.byte 147 # DW_OP_piece | |
.byte 8 # 8 | |
.byte 95 # super-register DW_OP_reg15 | |
.byte 147 # DW_OP_piece | |
.byte 4 # 4 | |
.byte 4 # DW_LLE_offset_pair | |
.uleb128 .Ltmp4-.Lfunc_begin0 # starting offset | |
.uleb128 .Ltmp46-.Lfunc_begin0 # ending offset | |
.byte 5 # Loc expr size | |
.byte 147 # DW_OP_piece | |
.byte 8 # 8 | |
.byte 95 # super-register DW_OP_reg15 | |
.byte 147 # DW_OP_piece | |
.byte 4 # 4 | |
.byte 4 # DW_LLE_offset_pair | |
.uleb128 .Ltmp46-.Lfunc_begin0 # starting offset | |
.uleb128 .Ltmp47-.Lfunc_begin0 # ending offset | |
.byte 20 # Loc expr size | |
.byte 147 # DW_OP_piece | |
.byte 8 # 8 | |
.byte 95 # super-register DW_OP_reg15 | |
.byte 147 # DW_OP_piece | |
.byte 4 # 4 | |
.byte 117 # DW_OP_breg5 | |
.byte 0 # 0 | |
.byte 168 # DW_OP_convert | |
.asciz "\253\200\200" # | |
.byte 168 # DW_OP_convert | |
.asciz "\257\200\200" # | |
.byte 159 # DW_OP_stack_value | |
.byte 147 # DW_OP_piece | |
.byte 4 # 4 | |
.byte 4 # DW_LLE_offset_pair | |
.uleb128 .Ltmp47-.Lfunc_begin0 # starting offset | |
.uleb128 .Ltmp62-.Lfunc_begin0 # ending offset | |
.byte 5 # Loc expr size | |
.byte 147 # DW_OP_piece | |
.byte 8 # 8 | |
.byte 95 # super-register DW_OP_reg15 | |
.byte 147 # DW_OP_piece | |
.byte 4 # 4 | |
.byte 4 # DW_LLE_offset_pair | |
.uleb128 .Ltmp79-.Lfunc_begin0 # starting offset | |
.uleb128 .Lfunc_end0-.Lfunc_begin0 # ending offset | |
.byte 5 # Loc expr size | |
.byte 147 # DW_OP_piece | |
.byte 8 # 8 | |
.byte 95 # super-register DW_OP_reg15 | |
.byte 147 # DW_OP_piece | |
.byte 4 # 4 | |
.byte 0 # DW_LLE_end_of_list | |
.Ldebug_loc1: | |
.byte 4 # DW_LLE_offset_pair | |
.uleb128 .Lfunc_begin0-.Lfunc_begin0 # starting offset | |
.uleb128 .Ltmp2-.Lfunc_begin0 # ending offset | |
.byte 3 # Loc expr size | |
.byte 82 # DW_OP_reg2 | |
.byte 147 # DW_OP_piece | |
.byte 8 # 8 | |
.byte 4 # DW_LLE_offset_pair | |
.uleb128 .Ltmp3-.Lfunc_begin0 # starting offset | |
.uleb128 .Ltmp45-.Lfunc_begin0 # ending offset | |
.byte 6 # Loc expr size | |
.byte 147 # DW_OP_piece | |
.byte 8 # 8 | |
.byte 118 # DW_OP_breg6 | |
.byte 64 # -64 | |
.byte 147 # DW_OP_piece | |
.byte 4 # 4 | |
.byte 4 # DW_LLE_offset_pair | |
.uleb128 .Ltmp45-.Lfunc_begin0 # starting offset | |
.uleb128 .Ltmp50-.Lfunc_begin0 # ending offset | |
.byte 9 # Loc expr size | |
.byte 147 # DW_OP_piece | |
.byte 8 # 8 | |
.byte 118 # DW_OP_breg6 | |
.byte 64 # -64 | |
.byte 147 # DW_OP_piece | |
.byte 4 # 4 | |
.byte 92 # super-register DW_OP_reg12 | |
.byte 147 # DW_OP_piece | |
.byte 4 # 4 | |
.byte 4 # DW_LLE_offset_pair | |
.uleb128 .Ltmp50-.Lfunc_begin0 # starting offset | |
.uleb128 .Ltmp54-.Lfunc_begin0 # ending offset | |
.byte 8 # Loc expr size | |
.byte 147 # DW_OP_piece | |
.byte 8 # 8 | |
.byte 81 # super-register DW_OP_reg1 | |
.byte 147 # DW_OP_piece | |
.byte 4 # 4 | |
.byte 92 # super-register DW_OP_reg12 | |
.byte 147 # DW_OP_piece | |
.byte 4 # 4 | |
.byte 4 # DW_LLE_offset_pair | |
.uleb128 .Ltmp54-.Lfunc_begin0 # starting offset | |
.uleb128 .Ltmp55-.Lfunc_begin0 # ending offset | |
.byte 9 # Loc expr size | |
.byte 147 # DW_OP_piece | |
.byte 8 # 8 | |
.byte 118 # DW_OP_breg6 | |
.byte 64 # -64 | |
.byte 147 # DW_OP_piece | |
.byte 4 # 4 | |
.byte 92 # super-register DW_OP_reg12 | |
.byte 147 # DW_OP_piece | |
.byte 4 # 4 | |
.byte 4 # DW_LLE_offset_pair | |
.uleb128 .Ltmp55-.Lfunc_begin0 # starting offset | |
.uleb128 .Ltmp57-.Lfunc_begin0 # ending offset | |
.byte 8 # Loc expr size | |
.byte 147 # DW_OP_piece | |
.byte 8 # 8 | |
.byte 81 # super-register DW_OP_reg1 | |
.byte 147 # DW_OP_piece | |
.byte 4 # 4 | |
.byte 92 # super-register DW_OP_reg12 | |
.byte 147 # DW_OP_piece | |
.byte 4 # 4 | |
.byte 4 # DW_LLE_offset_pair | |
.uleb128 .Ltmp57-.Lfunc_begin0 # starting offset | |
.uleb128 .Ltmp61-.Lfunc_begin0 # ending offset | |
.byte 9 # Loc expr size | |
.byte 147 # DW_OP_piece | |
.byte 8 # 8 | |
.byte 118 # DW_OP_breg6 | |
.byte 64 # -64 | |
.byte 147 # DW_OP_piece | |
.byte 4 # 4 | |
.byte 92 # super-register DW_OP_reg12 | |
.byte 147 # DW_OP_piece | |
.byte 4 # 4 | |
.byte 4 # DW_LLE_offset_pair | |
.uleb128 .Ltmp61-.Lfunc_begin0 # starting offset | |
.uleb128 .Ltmp66-.Lfunc_begin0 # ending offset | |
.byte 11 # Loc expr size | |
.byte 147 # DW_OP_piece | |
.byte 8 # 8 | |
.byte 118 # DW_OP_breg6 | |
.byte 64 # -64 | |
.byte 147 # DW_OP_piece | |
.byte 4 # 4 | |
.byte 118 # DW_OP_breg6 | |
.byte 152 # -104 | |
.byte 127 # | |
.byte 147 # DW_OP_piece | |
.byte 4 # 4 | |
.byte 4 # DW_LLE_offset_pair | |
.uleb128 .Ltmp66-.Lfunc_begin0 # starting offset | |
.uleb128 .Ltmp77-.Lfunc_begin0 # ending offset | |
.byte 10 # Loc expr size | |
.byte 147 # DW_OP_piece | |
.byte 8 # 8 | |
.byte 92 # super-register DW_OP_reg12 | |
.byte 147 # DW_OP_piece | |
.byte 4 # 4 | |
.byte 118 # DW_OP_breg6 | |
.byte 152 # -104 | |
.byte 127 # | |
.byte 147 # DW_OP_piece | |
.byte 4 # 4 | |
.byte 4 # DW_LLE_offset_pair | |
.uleb128 .Ltmp77-.Lfunc_begin0 # starting offset | |
.uleb128 .Ltmp79-.Lfunc_begin0 # ending offset | |
.byte 11 # Loc expr size | |
.byte 147 # DW_OP_piece | |
.byte 8 # 8 | |
.byte 118 # DW_OP_breg6 | |
.byte 64 # -64 | |
.byte 147 # DW_OP_piece | |
.byte 4 # 4 | |
.byte 118 # DW_OP_breg6 | |
.byte 152 # -104 | |
.byte 127 # | |
.byte 147 # DW_OP_piece | |
.byte 4 # 4 | |
.byte 4 # DW_LLE_offset_pair | |
.uleb128 .Ltmp79-.Lfunc_begin0 # starting offset | |
.uleb128 .Lfunc_end0-.Lfunc_begin0 # ending offset | |
.byte 6 # Loc expr size | |
.byte 147 # DW_OP_piece | |
.byte 8 # 8 | |
.byte 118 # DW_OP_breg6 | |
.byte 64 # -64 | |
.byte 147 # DW_OP_piece | |
.byte 4 # 4 | |
.byte 0 # DW_LLE_end_of_list | |
.Ldebug_loc2: | |
.byte 4 # DW_LLE_offset_pair | |
.uleb128 .Lfunc_begin0-.Lfunc_begin0 # starting offset | |
.uleb128 .Ltmp5-.Lfunc_begin0 # ending offset | |
.byte 1 # Loc expr size | |
.byte 89 # super-register DW_OP_reg9 | |
.byte 4 # DW_LLE_offset_pair | |
.uleb128 .Ltmp5-.Lfunc_begin0 # starting offset | |
.uleb128 .Ltmp44-.Lfunc_begin0 # ending offset | |
.byte 1 # Loc expr size | |
.byte 92 # super-register DW_OP_reg12 | |
.byte 4 # DW_LLE_offset_pair | |
.uleb128 .Ltmp45-.Lfunc_begin0 # starting offset | |
.uleb128 .Ltmp79-.Lfunc_begin0 # ending offset | |
.byte 4 # Loc expr size | |
.byte 163 # DW_OP_entry_value | |
.byte 1 # 1 | |
.byte 89 # super-register DW_OP_reg9 | |
.byte 159 # DW_OP_stack_value | |
.byte 4 # DW_LLE_offset_pair | |
.uleb128 .Ltmp79-.Lfunc_begin0 # starting offset | |
.uleb128 .Lfunc_end0-.Lfunc_begin0 # ending offset | |
.byte 1 # Loc expr size | |
.byte 92 # super-register DW_OP_reg12 | |
.byte 0 # DW_LLE_end_of_list | |
.Ldebug_loc3: | |
.byte 4 # DW_LLE_offset_pair | |
.uleb128 .Ltmp0-.Lfunc_begin0 # starting offset | |
.uleb128 .Ltmp5-.Lfunc_begin0 # ending offset | |
.byte 2 # Loc expr size | |
.byte 117 # DW_OP_breg5 | |
.byte 0 # 0 | |
.byte 4 # DW_LLE_offset_pair | |
.uleb128 .Ltmp5-.Lfunc_begin0 # starting offset | |
.uleb128 .Ltmp78-.Lfunc_begin0 # ending offset | |
.byte 2 # Loc expr size | |
.byte 125 # DW_OP_breg13 | |
.byte 0 # 0 | |
.byte 4 # DW_LLE_offset_pair | |
.uleb128 .Ltmp78-.Lfunc_begin0 # starting offset | |
.uleb128 .Ltmp79-.Lfunc_begin0 # ending offset | |
.byte 2 # Loc expr size | |
.byte 112 # DW_OP_breg0 | |
.byte 0 # 0 | |
.byte 4 # DW_LLE_offset_pair | |
.uleb128 .Ltmp79-.Lfunc_begin0 # starting offset | |
.uleb128 .Lfunc_end0-.Lfunc_begin0 # ending offset | |
.byte 2 # Loc expr size | |
.byte 125 # DW_OP_breg13 | |
.byte 0 # 0 | |
.byte 0 # DW_LLE_end_of_list | |
.Ldebug_loc4: | |
.byte 4 # DW_LLE_offset_pair | |
.uleb128 .Ltmp7-.Lfunc_begin0 # starting offset | |
.uleb128 .Ltmp8-.Lfunc_begin0 # ending offset | |
.byte 11 # Loc expr size | |
.byte 147 # DW_OP_piece | |
.byte 4 # 4 | |
.byte 89 # super-register DW_OP_reg9 | |
.byte 147 # DW_OP_piece | |
.byte 4 # 4 | |
.byte 82 # super-register DW_OP_reg2 | |
.byte 147 # DW_OP_piece | |
.byte 4 # 4 | |
.byte 81 # super-register DW_OP_reg1 | |
.byte 147 # DW_OP_piece | |
.byte 4 # 4 | |
.byte 4 # DW_LLE_offset_pair | |
.uleb128 .Ltmp8-.Lfunc_begin0 # starting offset | |
.uleb128 .Ltmp9-.Lfunc_begin0 # ending offset | |
.byte 8 # Loc expr size | |
.byte 147 # DW_OP_piece | |
.byte 8 # 8 | |
.byte 82 # super-register DW_OP_reg2 | |
.byte 147 # DW_OP_piece | |
.byte 4 # 4 | |
.byte 81 # super-register DW_OP_reg1 | |
.byte 147 # DW_OP_piece | |
.byte 4 # 4 | |
.byte 4 # DW_LLE_offset_pair | |
.uleb128 .Ltmp9-.Lfunc_begin0 # starting offset | |
.uleb128 .Ltmp10-.Lfunc_begin0 # ending offset | |
.byte 5 # Loc expr size | |
.byte 147 # DW_OP_piece | |
.byte 8 # 8 | |
.byte 82 # super-register DW_OP_reg2 | |
.byte 147 # DW_OP_piece | |
.byte 4 # 4 | |
.byte 4 # DW_LLE_offset_pair | |
.uleb128 .Ltmp10-.Lfunc_begin0 # starting offset | |
.uleb128 .Ltmp11-.Lfunc_begin0 # ending offset | |
.byte 5 # Loc expr size | |
.byte 147 # DW_OP_piece | |
.byte 8 # 8 | |
.byte 83 # super-register DW_OP_reg3 | |
.byte 147 # DW_OP_piece | |
.byte 4 # 4 | |
.byte 0 # DW_LLE_end_of_list | |
.Ldebug_loc5: | |
.byte 4 # DW_LLE_offset_pair | |
.uleb128 .Ltmp12-.Lfunc_begin0 # starting offset | |
.uleb128 .Ltmp13-.Lfunc_begin0 # ending offset | |
.byte 27 # Loc expr size | |
.byte 48 # DW_OP_lit0 | |
.byte 16 # DW_OP_constu | |
.byte 32 # 32 | |
.byte 36 # DW_OP_shl | |
.byte 116 # DW_OP_breg4 | |
.byte 0 # 0 | |
.byte 16 # DW_OP_constu | |
.byte 255 # 4294967295 | |
.byte 255 # | |
.byte 255 # | |
.byte 255 # | |
.byte 15 # | |
.byte 26 # DW_OP_and | |
.byte 168 # DW_OP_convert | |
.asciz "\257\200\200" # | |
.byte 168 # DW_OP_convert | |
.asciz "\253\200\200" # | |
.byte 33 # DW_OP_or | |
.byte 159 # DW_OP_stack_value | |
.byte 147 # DW_OP_piece | |
.byte 4 # 4 | |
.byte 0 # DW_LLE_end_of_list | |
.Ldebug_loc6: | |
.byte 4 # DW_LLE_offset_pair | |
.uleb128 .Ltmp15-.Lfunc_begin0 # starting offset | |
.uleb128 .Lfunc_end0-.Lfunc_begin0 # ending offset | |
.byte 12 # Loc expr size | |
.byte 16 # DW_OP_constu | |
.byte 136 # 18446744071562067976 | |
.byte 128 # | |
.byte 128 # | |
.byte 128 # | |
.byte 248 # | |
.byte 255 # | |
.byte 255 # | |
.byte 255 # | |
.byte 255 # | |
.byte 1 # | |
.byte 159 # DW_OP_stack_value | |
.byte 0 # DW_LLE_end_of_list | |
.Ldebug_loc7: | |
.byte 4 # DW_LLE_offset_pair | |
.uleb128 .Ltmp19-.Lfunc_begin0 # starting offset | |
.uleb128 .Ltmp36-.Lfunc_begin0 # ending offset | |
.byte 2 # Loc expr size | |
.byte 48 # DW_OP_lit0 | |
.byte 159 # DW_OP_stack_value | |
.byte 4 # DW_LLE_offset_pair | |
.uleb128 .Ltmp40-.Lfunc_begin0 # starting offset | |
.uleb128 .Ltmp41-.Lfunc_begin0 # ending offset | |
.byte 2 # Loc expr size | |
.byte 48 # DW_OP_lit0 | |
.byte 159 # DW_OP_stack_value | |
.byte 4 # DW_LLE_offset_pair | |
.uleb128 .Ltmp79-.Lfunc_begin0 # starting offset | |
.uleb128 .Ltmp80-.Lfunc_begin0 # ending offset | |
.byte 2 # Loc expr size | |
.byte 48 # DW_OP_lit0 | |
.byte 159 # DW_OP_stack_value | |
.byte 0 # DW_LLE_end_of_list | |
.Ldebug_loc8: | |
.byte 4 # DW_LLE_offset_pair | |
.uleb128 .Ltmp19-.Lfunc_begin0 # starting offset | |
.uleb128 .Ltmp38-.Lfunc_begin0 # ending offset | |
.byte 2 # Loc expr size | |
.byte 48 # DW_OP_lit0 | |
.byte 159 # DW_OP_stack_value | |
.byte 4 # DW_LLE_offset_pair | |
.uleb128 .Ltmp40-.Lfunc_begin0 # starting offset | |
.uleb128 .Ltmp41-.Lfunc_begin0 # ending offset | |
.byte 2 # Loc expr size | |
.byte 48 # DW_OP_lit0 | |
.byte 159 # DW_OP_stack_value | |
.byte 4 # DW_LLE_offset_pair | |
.uleb128 .Ltmp79-.Lfunc_begin0 # starting offset | |
.uleb128 .Ltmp80-.Lfunc_begin0 # ending offset | |
.byte 2 # Loc expr size | |
.byte 48 # DW_OP_lit0 | |
.byte 159 # DW_OP_stack_value | |
.byte 0 # DW_LLE_end_of_list | |
.Ldebug_loc9: | |
.byte 4 # DW_LLE_offset_pair | |
.uleb128 .Ltmp19-.Lfunc_begin0 # starting offset | |
.uleb128 .Ltmp39-.Lfunc_begin0 # ending offset | |
.byte 2 # Loc expr size | |
.byte 48 # DW_OP_lit0 | |
.byte 159 # DW_OP_stack_value | |
.byte 4 # DW_LLE_offset_pair | |
.uleb128 .Ltmp40-.Lfunc_begin0 # starting offset | |
.uleb128 .Ltmp41-.Lfunc_begin0 # ending offset | |
.byte 2 # Loc expr size | |
.byte 48 # DW_OP_lit0 | |
.byte 159 # DW_OP_stack_value | |
.byte 4 # DW_LLE_offset_pair | |
.uleb128 .Ltmp79-.Lfunc_begin0 # starting offset | |
.uleb128 .Ltmp80-.Lfunc_begin0 # ending offset | |
.byte 2 # Loc expr size | |
.byte 48 # DW_OP_lit0 | |
.byte 159 # DW_OP_stack_value | |
.byte 0 # DW_LLE_end_of_list | |
.Ldebug_loc10: | |
.byte 4 # DW_LLE_offset_pair | |
.uleb128 .Ltmp19-.Lfunc_begin0 # starting offset | |
.uleb128 .Lfunc_end0-.Lfunc_begin0 # ending offset | |
.byte 6 # Loc expr size | |
.byte 16 # DW_OP_constu | |
.byte 128 # 201326592 | |
.byte 128 # | |
.byte 128 # | |
.byte 96 # | |
.byte 159 # DW_OP_stack_value | |
.byte 0 # DW_LLE_end_of_list | |
.Ldebug_loc11: | |
.byte 4 # DW_LLE_offset_pair | |
.uleb128 .Ltmp25-.Lfunc_begin0 # starting offset | |
.uleb128 .Ltmp30-.Lfunc_begin0 # ending offset | |
.byte 2 # Loc expr size | |
.byte 48 # DW_OP_lit0 | |
.byte 159 # DW_OP_stack_value | |
.byte 4 # DW_LLE_offset_pair | |
.uleb128 .Ltmp30-.Lfunc_begin0 # starting offset | |
.uleb128 .Ltmp40-.Lfunc_begin0 # ending offset | |
.byte 1 # Loc expr size | |
.byte 84 # DW_OP_reg4 | |
.byte 0 # DW_LLE_end_of_list | |
.Ldebug_loc12: | |
.byte 4 # DW_LLE_offset_pair | |
.uleb128 .Ltmp29-.Lfunc_begin0 # starting offset | |
.uleb128 .Ltmp30-.Lfunc_begin0 # ending offset | |
.byte 3 # Loc expr size | |
.byte 80 # super-register DW_OP_reg0 | |
.byte 147 # DW_OP_piece | |
.byte 4 # 4 | |
.byte 0 # DW_LLE_end_of_list | |
.Ldebug_loc13: | |
.byte 4 # DW_LLE_offset_pair | |
.uleb128 .Ltmp32-.Lfunc_begin0 # starting offset | |
.uleb128 .Ltmp33-.Lfunc_begin0 # ending offset | |
.byte 1 # Loc expr size | |
.byte 80 # super-register DW_OP_reg0 | |
.byte 0 # DW_LLE_end_of_list | |
.Ldebug_loc14: | |
.byte 4 # DW_LLE_offset_pair | |
.uleb128 .Ltmp33-.Lfunc_begin0 # starting offset | |
.uleb128 .Ltmp40-.Lfunc_begin0 # ending offset | |
.byte 2 # Loc expr size | |
.byte 54 # DW_OP_lit6 | |
.byte 159 # DW_OP_stack_value | |
.byte 0 # DW_LLE_end_of_list | |
.Ldebug_loc15: | |
.byte 4 # DW_LLE_offset_pair | |
.uleb128 .Ltmp36-.Lfunc_begin0 # starting offset | |
.uleb128 .Ltmp40-.Lfunc_begin0 # ending offset | |
.byte 4 # Loc expr size | |
.byte 16 # DW_OP_constu | |
.byte 230 # 230 | |
.byte 1 # | |
.byte 159 # DW_OP_stack_value | |
.byte 0 # DW_LLE_end_of_list | |
.Ldebug_loc16: | |
.byte 4 # DW_LLE_offset_pair | |
.uleb128 .Ltmp38-.Lfunc_begin0 # starting offset | |
.uleb128 .Ltmp40-.Lfunc_begin0 # ending offset | |
.byte 2 # Loc expr size | |
.byte 72 # DW_OP_lit24 | |
.byte 159 # DW_OP_stack_value | |
.byte 0 # DW_LLE_end_of_list | |
.Ldebug_loc17: | |
.byte 4 # DW_LLE_offset_pair | |
.uleb128 .Ltmp67-.Lfunc_begin0 # starting offset | |
.uleb128 .Ltmp69-.Lfunc_begin0 # ending offset | |
.byte 24 # Loc expr size | |
.byte 48 # DW_OP_lit0 | |
.byte 112 # DW_OP_breg0 | |
.byte 0 # 0 | |
.byte 16 # DW_OP_constu | |
.byte 255 # 4294967295 | |
.byte 255 # | |
.byte 255 # | |
.byte 255 # | |
.byte 15 # | |
.byte 26 # DW_OP_and | |
.byte 168 # DW_OP_convert | |
.asciz "\257\200\200" # | |
.byte 168 # DW_OP_convert | |
.asciz "\253\200\200" # | |
.byte 33 # DW_OP_or | |
.byte 159 # DW_OP_stack_value | |
.byte 147 # DW_OP_piece | |
.byte 4 # 4 | |
.byte 0 # DW_LLE_end_of_list | |
.Ldebug_loc18: | |
.byte 4 # DW_LLE_offset_pair | |
.uleb128 .Ltmp67-.Lfunc_begin0 # starting offset | |
.uleb128 .Ltmp70-.Lfunc_begin0 # ending offset | |
.byte 1 # Loc expr size | |
.byte 80 # super-register DW_OP_reg0 | |
.byte 0 # DW_LLE_end_of_list | |
.Ldebug_loc19: | |
.byte 4 # DW_LLE_offset_pair | |
.uleb128 .Ltmp67-.Lfunc_begin0 # starting offset | |
.uleb128 .Ltmp76-.Lfunc_begin0 # ending offset | |
.byte 12 # Loc expr size | |
.byte 16 # DW_OP_constu | |
.byte 129 # 18446744072635809793 | |
.byte 128 # | |
.byte 128 # | |
.byte 128 # | |
.byte 252 # | |
.byte 255 # | |
.byte 255 # | |
.byte 255 # | |
.byte 255 # | |
.byte 1 # | |
.byte 159 # DW_OP_stack_value | |
.byte 0 # DW_LLE_end_of_list | |
.Ldebug_loc20: | |
.byte 4 # DW_LLE_offset_pair | |
.uleb128 .Ltmp71-.Lfunc_begin0 # starting offset | |
.uleb128 .Ltmp76-.Lfunc_begin0 # ending offset | |
.byte 2 # Loc expr size | |
.byte 60 # DW_OP_lit12 | |
.byte 159 # DW_OP_stack_value | |
.byte 0 # DW_LLE_end_of_list | |
.Ldebug_loc21: | |
.byte 4 # DW_LLE_offset_pair | |
.uleb128 .Ltmp72-.Lfunc_begin0 # starting offset | |
.uleb128 .Ltmp76-.Lfunc_begin0 # ending offset | |
.byte 4 # Loc expr size | |
.byte 16 # DW_OP_constu | |
.byte 192 # 192 | |
.byte 1 # | |
.byte 159 # DW_OP_stack_value | |
.byte 0 # DW_LLE_end_of_list | |
.Ldebug_loc22: | |
.byte 4 # DW_LLE_offset_pair | |
.uleb128 .Ltmp73-.Lfunc_begin0 # starting offset | |
.uleb128 .Ltmp76-.Lfunc_begin0 # ending offset | |
.byte 4 # Loc expr size | |
.byte 16 # DW_OP_constu | |
.byte 128 # 768 | |
.byte 6 # | |
.byte 159 # DW_OP_stack_value | |
.byte 0 # DW_LLE_end_of_list | |
.Ldebug_loc23: | |
.byte 4 # DW_LLE_offset_pair | |
.uleb128 .Ltmp74-.Lfunc_begin0 # starting offset | |
.uleb128 .Ltmp76-.Lfunc_begin0 # ending offset | |
.byte 4 # Loc expr size | |
.byte 16 # DW_OP_constu | |
.byte 128 # 3072 | |
.byte 24 # | |
.byte 159 # DW_OP_stack_value | |
.byte 0 # DW_LLE_end_of_list | |
.Ldebug_loc24: | |
.byte 4 # DW_LLE_offset_pair | |
.uleb128 .Ltmp75-.Lfunc_begin0 # starting offset | |
.uleb128 .Ltmp76-.Lfunc_begin0 # ending offset | |
.byte 4 # Loc expr size | |
.byte 16 # DW_OP_constu | |
.byte 128 # 12288 | |
.byte 96 # | |
.byte 159 # DW_OP_stack_value | |
.byte 0 # DW_LLE_end_of_list | |
.Ldebug_list_header_end0: | |
.section .debug_abbrev,"",@progbits | |
.byte 1 # Abbreviation Code | |
.byte 17 # DW_TAG_compile_unit | |
.byte 1 # DW_CHILDREN_yes | |
.byte 37 # DW_AT_producer | |
.byte 37 # DW_FORM_strx1 | |
.byte 19 # DW_AT_language | |
.byte 5 # DW_FORM_data2 | |
.byte 3 # DW_AT_name | |
.byte 37 # DW_FORM_strx1 | |
.byte 114 # DW_AT_str_offsets_base | |
.byte 23 # DW_FORM_sec_offset | |
.byte 16 # DW_AT_stmt_list | |
.byte 23 # DW_FORM_sec_offset | |
.byte 27 # DW_AT_comp_dir | |
.byte 37 # DW_FORM_strx1 | |
.byte 17 # DW_AT_low_pc | |
.byte 27 # DW_FORM_addrx | |
.byte 18 # DW_AT_high_pc | |
.byte 6 # DW_FORM_data4 | |
.byte 115 # DW_AT_addr_base | |
.byte 23 # DW_FORM_sec_offset | |
.byte 116 # DW_AT_rnglists_base | |
.byte 23 # DW_FORM_sec_offset | |
.ascii "\214\001" # DW_AT_loclists_base | |
.byte 23 # DW_FORM_sec_offset | |
.byte 0 # EOM(1) | |
.byte 0 # EOM(2) | |
.byte 2 # Abbreviation Code | |
.byte 36 # DW_TAG_base_type | |
.byte 0 # DW_CHILDREN_no | |
.byte 3 # DW_AT_name | |
.byte 37 # DW_FORM_strx1 | |
.byte 62 # DW_AT_encoding | |
.byte 11 # DW_FORM_data1 | |
.byte 11 # DW_AT_byte_size | |
.byte 11 # DW_FORM_data1 | |
.byte 0 # EOM(1) | |
.byte 0 # EOM(2) | |
.byte 3 # Abbreviation Code | |
.byte 4 # DW_TAG_enumeration_type | |
.byte 1 # DW_CHILDREN_yes | |
.byte 73 # DW_AT_type | |
.byte 19 # DW_FORM_ref4 | |
.byte 3 # DW_AT_name | |
.byte 37 # DW_FORM_strx1 | |
.byte 11 # DW_AT_byte_size | |
.byte 11 # DW_FORM_data1 | |
.byte 58 # DW_AT_decl_file | |
.byte 11 # DW_FORM_data1 | |
.byte 59 # DW_AT_decl_line | |
.byte 11 # DW_FORM_data1 | |
.byte 0 # EOM(1) | |
.byte 0 # EOM(2) | |
.byte 4 # Abbreviation Code | |
.byte 40 # DW_TAG_enumerator | |
.byte 0 # DW_CHILDREN_no | |
.byte 3 # DW_AT_name | |
.byte 37 # DW_FORM_strx1 | |
.byte 28 # DW_AT_const_value | |
.byte 15 # DW_FORM_udata | |
.byte 0 # EOM(1) | |
.byte 0 # EOM(2) | |
.byte 5 # Abbreviation Code | |
.byte 4 # DW_TAG_enumeration_type | |
.byte 1 # DW_CHILDREN_yes | |
.byte 73 # DW_AT_type | |
.byte 19 # DW_FORM_ref4 | |
.byte 3 # DW_AT_name | |
.byte 37 # DW_FORM_strx1 | |
.byte 11 # DW_AT_byte_size | |
.byte 11 # DW_FORM_data1 | |
.byte 58 # DW_AT_decl_file | |
.byte 11 # DW_FORM_data1 | |
.byte 59 # DW_AT_decl_line | |
.byte 5 # DW_FORM_data2 | |
.byte 0 # EOM(1) | |
.byte 0 # EOM(2) | |
.byte 6 # Abbreviation Code | |
.byte 22 # DW_TAG_typedef | |
.byte 0 # DW_CHILDREN_no | |
.byte 73 # DW_AT_type | |
.byte 19 # DW_FORM_ref4 | |
.byte 3 # DW_AT_name | |
.byte 37 # DW_FORM_strx1 | |
.byte 58 # DW_AT_decl_file | |
.byte 11 # DW_FORM_data1 | |
.byte 59 # DW_AT_decl_line | |
.byte 11 # DW_FORM_data1 | |
.byte 0 # EOM(1) | |
.byte 0 # EOM(2) | |
.byte 7 # Abbreviation Code | |
.byte 46 # DW_TAG_subprogram | |
.byte 1 # DW_CHILDREN_yes | |
.byte 3 # DW_AT_name | |
.byte 37 # DW_FORM_strx1 | |
.byte 58 # DW_AT_decl_file | |
.byte 11 # DW_FORM_data1 | |
.byte 59 # DW_AT_decl_line | |
.byte 11 # DW_FORM_data1 | |
.byte 39 # DW_AT_prototyped | |
.byte 25 # DW_FORM_flag_present | |
.byte 73 # DW_AT_type | |
.byte 19 # DW_FORM_ref4 | |
.byte 32 # DW_AT_inline | |
.byte 33 # DW_FORM_implicit_const | |
.byte 1 | |
.byte 0 # EOM(1) | |
.byte 0 # EOM(2) | |
.byte 8 # Abbreviation Code | |
.byte 5 # DW_TAG_formal_parameter | |
.byte 0 # DW_CHILDREN_no | |
.byte 3 # DW_AT_name | |
.byte 37 # DW_FORM_strx1 | |
.byte 58 # DW_AT_decl_file | |
.byte 11 # DW_FORM_data1 | |
.byte 59 # DW_AT_decl_line | |
.byte 11 # DW_FORM_data1 | |
.byte 73 # DW_AT_type | |
.byte 19 # DW_FORM_ref4 | |
.byte 0 # EOM(1) | |
.byte 0 # EOM(2) | |
.byte 9 # Abbreviation Code | |
.byte 52 # DW_TAG_variable | |
.byte 0 # DW_CHILDREN_no | |
.byte 3 # DW_AT_name | |
.byte 37 # DW_FORM_strx1 | |
.byte 58 # DW_AT_decl_file | |
.byte 11 # DW_FORM_data1 | |
.byte 59 # DW_AT_decl_line | |
.byte 11 # DW_FORM_data1 | |
.byte 73 # DW_AT_type | |
.byte 19 # DW_FORM_ref4 | |
.byte 0 # EOM(1) | |
.byte 0 # EOM(2) | |
.byte 10 # Abbreviation Code | |
.byte 19 # DW_TAG_structure_type | |
.byte 1 # DW_CHILDREN_yes | |
.byte 3 # DW_AT_name | |
.byte 37 # DW_FORM_strx1 | |
.byte 11 # DW_AT_byte_size | |
.byte 11 # DW_FORM_data1 | |
.byte 58 # DW_AT_decl_file | |
.byte 11 # DW_FORM_data1 | |
.byte 59 # DW_AT_decl_line | |
.byte 11 # DW_FORM_data1 | |
.byte 0 # EOM(1) | |
.byte 0 # EOM(2) | |
.byte 11 # Abbreviation Code | |
.byte 13 # DW_TAG_member | |
.byte 0 # DW_CHILDREN_no | |
.byte 3 # DW_AT_name | |
.byte 37 # DW_FORM_strx1 | |
.byte 73 # DW_AT_type | |
.byte 19 # DW_FORM_ref4 | |
.byte 58 # DW_AT_decl_file | |
.byte 11 # DW_FORM_data1 | |
.byte 59 # DW_AT_decl_line | |
.byte 11 # DW_FORM_data1 | |
.byte 56 # DW_AT_data_member_location | |
.byte 11 # DW_FORM_data1 | |
.byte 0 # EOM(1) | |
.byte 0 # EOM(2) | |
.byte 12 # Abbreviation Code | |
.byte 46 # DW_TAG_subprogram | |
.byte 1 # DW_CHILDREN_yes | |
.byte 3 # DW_AT_name | |
.byte 37 # DW_FORM_strx1 | |
.byte 58 # DW_AT_decl_file | |
.byte 11 # DW_FORM_data1 | |
.byte 59 # DW_AT_decl_line | |
.byte 11 # DW_FORM_data1 | |
.byte 39 # DW_AT_prototyped | |
.byte 25 # DW_FORM_flag_present | |
.byte 54 # DW_AT_calling_convention | |
.byte 11 # DW_FORM_data1 | |
.byte 73 # DW_AT_type | |
.byte 19 # DW_FORM_ref4 | |
.byte 32 # DW_AT_inline | |
.byte 33 # DW_FORM_implicit_const | |
.byte 1 | |
.byte 0 # EOM(1) | |
.byte 0 # EOM(2) | |
.byte 13 # Abbreviation Code | |
.byte 46 # DW_TAG_subprogram | |
.byte 1 # DW_CHILDREN_yes | |
.byte 17 # DW_AT_low_pc | |
.byte 27 # DW_FORM_addrx | |
.byte 18 # DW_AT_high_pc | |
.byte 6 # DW_FORM_data4 | |
.byte 64 # DW_AT_frame_base | |
.byte 24 # DW_FORM_exprloc | |
.byte 122 # DW_AT_call_all_calls | |
.byte 25 # DW_FORM_flag_present | |
.byte 3 # DW_AT_name | |
.byte 37 # DW_FORM_strx1 | |
.byte 58 # DW_AT_decl_file | |
.byte 11 # DW_FORM_data1 | |
.byte 59 # DW_AT_decl_line | |
.byte 11 # DW_FORM_data1 | |
.byte 39 # DW_AT_prototyped | |
.byte 25 # DW_FORM_flag_present | |
.byte 73 # DW_AT_type | |
.byte 19 # DW_FORM_ref4 | |
.byte 63 # DW_AT_external | |
.byte 25 # DW_FORM_flag_present | |
.byte 0 # EOM(1) | |
.byte 0 # EOM(2) | |
.byte 14 # Abbreviation Code | |
.byte 5 # DW_TAG_formal_parameter | |
.byte 0 # DW_CHILDREN_no | |
.byte 2 # DW_AT_location | |
.byte 34 # DW_FORM_loclistx | |
.byte 3 # DW_AT_name | |
.byte 37 # DW_FORM_strx1 | |
.byte 58 # DW_AT_decl_file | |
.byte 11 # DW_FORM_data1 | |
.byte 59 # DW_AT_decl_line | |
.byte 11 # DW_FORM_data1 | |
.byte 73 # DW_AT_type | |
.byte 19 # DW_FORM_ref4 | |
.byte 0 # EOM(1) | |
.byte 0 # EOM(2) | |
.byte 15 # Abbreviation Code | |
.byte 5 # DW_TAG_formal_parameter | |
.byte 0 # DW_CHILDREN_no | |
.byte 2 # DW_AT_location | |
.byte 24 # DW_FORM_exprloc | |
.byte 3 # DW_AT_name | |
.byte 37 # DW_FORM_strx1 | |
.byte 58 # DW_AT_decl_file | |
.byte 11 # DW_FORM_data1 | |
.byte 59 # DW_AT_decl_line | |
.byte 11 # DW_FORM_data1 | |
.byte 73 # DW_AT_type | |
.byte 19 # DW_FORM_ref4 | |
.byte 0 # EOM(1) | |
.byte 0 # EOM(2) | |
.byte 16 # Abbreviation Code | |
.byte 52 # DW_TAG_variable | |
.byte 0 # DW_CHILDREN_no | |
.byte 2 # DW_AT_location | |
.byte 34 # DW_FORM_loclistx | |
.byte 3 # DW_AT_name | |
.byte 37 # DW_FORM_strx1 | |
.byte 58 # DW_AT_decl_file | |
.byte 11 # DW_FORM_data1 | |
.byte 59 # DW_AT_decl_line | |
.byte 11 # DW_FORM_data1 | |
.byte 73 # DW_AT_type | |
.byte 19 # DW_FORM_ref4 | |
.byte 0 # EOM(1) | |
.byte 0 # EOM(2) | |
.byte 17 # Abbreviation Code | |
.byte 52 # DW_TAG_variable | |
.byte 0 # DW_CHILDREN_no | |
.byte 3 # DW_AT_name | |
.byte 38 # DW_FORM_strx2 | |
.byte 58 # DW_AT_decl_file | |
.byte 11 # DW_FORM_data1 | |
.byte 59 # DW_AT_decl_line | |
.byte 11 # DW_FORM_data1 | |
.byte 73 # DW_AT_type | |
.byte 19 # DW_FORM_ref4 | |
.byte 0 # EOM(1) | |
.byte 0 # EOM(2) | |
.byte 18 # Abbreviation Code | |
.byte 52 # DW_TAG_variable | |
.byte 0 # DW_CHILDREN_no | |
.byte 2 # DW_AT_location | |
.byte 34 # DW_FORM_loclistx | |
.byte 3 # DW_AT_name | |
.byte 38 # DW_FORM_strx2 | |
.byte 58 # DW_AT_decl_file | |
.byte 11 # DW_FORM_data1 | |
.byte 59 # DW_AT_decl_line | |
.byte 11 # DW_FORM_data1 | |
.byte 73 # DW_AT_type | |
.byte 19 # DW_FORM_ref4 | |
.byte 0 # EOM(1) | |
.byte 0 # EOM(2) | |
.byte 19 # Abbreviation Code | |
.byte 29 # DW_TAG_inlined_subroutine | |
.byte 1 # DW_CHILDREN_yes | |
.byte 49 # DW_AT_abstract_origin | |
.byte 19 # DW_FORM_ref4 | |
.byte 17 # DW_AT_low_pc | |
.byte 27 # DW_FORM_addrx | |
.byte 18 # DW_AT_high_pc | |
.byte 6 # DW_FORM_data4 | |
.byte 88 # DW_AT_call_file | |
.byte 11 # DW_FORM_data1 | |
.byte 89 # DW_AT_call_line | |
.byte 11 # DW_FORM_data1 | |
.byte 87 # DW_AT_call_column | |
.byte 11 # DW_FORM_data1 | |
.byte 0 # EOM(1) | |
.byte 0 # EOM(2) | |
.byte 20 # Abbreviation Code | |
.byte 5 # DW_TAG_formal_parameter | |
.byte 0 # DW_CHILDREN_no | |
.byte 28 # DW_AT_const_value | |
.byte 15 # DW_FORM_udata | |
.byte 49 # DW_AT_abstract_origin | |
.byte 19 # DW_FORM_ref4 | |
.byte 0 # EOM(1) | |
.byte 0 # EOM(2) | |
.byte 21 # Abbreviation Code | |
.byte 52 # DW_TAG_variable | |
.byte 0 # DW_CHILDREN_no | |
.byte 2 # DW_AT_location | |
.byte 34 # DW_FORM_loclistx | |
.byte 49 # DW_AT_abstract_origin | |
.byte 19 # DW_FORM_ref4 | |
.byte 0 # EOM(1) | |
.byte 0 # EOM(2) | |
.byte 22 # Abbreviation Code | |
.byte 11 # DW_TAG_lexical_block | |
.byte 1 # DW_CHILDREN_yes | |
.byte 17 # DW_AT_low_pc | |
.byte 27 # DW_FORM_addrx | |
.byte 18 # DW_AT_high_pc | |
.byte 6 # DW_FORM_data4 | |
.byte 0 # EOM(1) | |
.byte 0 # EOM(2) | |
.byte 23 # Abbreviation Code | |
.byte 29 # DW_TAG_inlined_subroutine | |
.byte 1 # DW_CHILDREN_yes | |
.byte 49 # DW_AT_abstract_origin | |
.byte 19 # DW_FORM_ref4 | |
.byte 85 # DW_AT_ranges | |
.byte 35 # DW_FORM_rnglistx | |
.byte 88 # DW_AT_call_file | |
.byte 11 # DW_FORM_data1 | |
.byte 89 # DW_AT_call_line | |
.byte 11 # DW_FORM_data1 | |
.byte 87 # DW_AT_call_column | |
.byte 11 # DW_FORM_data1 | |
.byte 0 # EOM(1) | |
.byte 0 # EOM(2) | |
.byte 24 # Abbreviation Code | |
.byte 52 # DW_TAG_variable | |
.byte 0 # DW_CHILDREN_no | |
.byte 2 # DW_AT_location | |
.byte 34 # DW_FORM_loclistx | |
.byte 3 # DW_AT_name | |
.byte 38 # DW_FORM_strx2 | |
.byte 58 # DW_AT_decl_file | |
.byte 11 # DW_FORM_data1 | |
.byte 59 # DW_AT_decl_line | |
.byte 5 # DW_FORM_data2 | |
.byte 73 # DW_AT_type | |
.byte 19 # DW_FORM_ref4 | |
.byte 0 # EOM(1) | |
.byte 0 # EOM(2) | |
.byte 25 # Abbreviation Code | |
.byte 29 # DW_TAG_inlined_subroutine | |
.byte 1 # DW_CHILDREN_yes | |
.byte 49 # DW_AT_abstract_origin | |
.byte 19 # DW_FORM_ref4 | |
.byte 17 # DW_AT_low_pc | |
.byte 27 # DW_FORM_addrx | |
.byte 18 # DW_AT_high_pc | |
.byte 6 # DW_FORM_data4 | |
.byte 88 # DW_AT_call_file | |
.byte 11 # DW_FORM_data1 | |
.byte 89 # DW_AT_call_line | |
.byte 5 # DW_FORM_data2 | |
.byte 87 # DW_AT_call_column | |
.byte 11 # DW_FORM_data1 | |
.byte 0 # EOM(1) | |
.byte 0 # EOM(2) | |
.byte 26 # Abbreviation Code | |
.byte 52 # DW_TAG_variable | |
.byte 0 # DW_CHILDREN_no | |
.byte 3 # DW_AT_name | |
.byte 38 # DW_FORM_strx2 | |
.byte 58 # DW_AT_decl_file | |
.byte 11 # DW_FORM_data1 | |
.byte 59 # DW_AT_decl_line | |
.byte 5 # DW_FORM_data2 | |
.byte 73 # DW_AT_type | |
.byte 19 # DW_FORM_ref4 | |
.byte 0 # EOM(1) | |
.byte 0 # EOM(2) | |
.byte 27 # Abbreviation Code | |
.byte 19 # DW_TAG_structure_type | |
.byte 1 # DW_CHILDREN_yes | |
.byte 3 # DW_AT_name | |
.byte 37 # DW_FORM_strx1 | |
.byte 11 # DW_AT_byte_size | |
.byte 11 # DW_FORM_data1 | |
.byte 58 # DW_AT_decl_file | |
.byte 11 # DW_FORM_data1 | |
.byte 59 # DW_AT_decl_line | |
.byte 5 # DW_FORM_data2 | |
.byte 0 # EOM(1) | |
.byte 0 # EOM(2) | |
.byte 28 # Abbreviation Code | |
.byte 13 # DW_TAG_member | |
.byte 0 # DW_CHILDREN_no | |
.byte 3 # DW_AT_name | |
.byte 37 # DW_FORM_strx1 | |
.byte 73 # DW_AT_type | |
.byte 19 # DW_FORM_ref4 | |
.byte 58 # DW_AT_decl_file | |
.byte 11 # DW_FORM_data1 | |
.byte 59 # DW_AT_decl_line | |
.byte 5 # DW_FORM_data2 | |
.byte 56 # DW_AT_data_member_location | |
.byte 11 # DW_FORM_data1 | |
.byte 0 # EOM(1) | |
.byte 0 # EOM(2) | |
.byte 29 # Abbreviation Code | |
.byte 38 # DW_TAG_const_type | |
.byte 0 # DW_CHILDREN_no | |
.byte 73 # DW_AT_type | |
.byte 19 # DW_FORM_ref4 | |
.byte 0 # EOM(1) | |
.byte 0 # EOM(2) | |
.byte 0 # EOM(3) | |
.section .debug_info,"",@progbits | |
.Lcu_begin0: | |
.long .Ldebug_info_end0-.Ldebug_info_start0 # Length of Unit | |
.Ldebug_info_start0: | |
.short 5 # DWARF version number | |
.byte 1 # DWARF Unit Type | |
.byte 8 # Address Size (in bytes) | |
.long .debug_abbrev # Offset Into Abbrev. Section | |
.byte 1 # Abbrev [1] 0xc:0x8f5 DW_TAG_compile_unit | |
.byte 0 # DW_AT_producer | |
.short 12 # DW_AT_language | |
.byte 1 # DW_AT_name | |
.long .Lstr_offsets_base0 # DW_AT_str_offsets_base | |
.long .Lline_table_start0 # DW_AT_stmt_list | |
.byte 2 # DW_AT_comp_dir | |
.byte 0 # DW_AT_low_pc | |
.long .Lfunc_end0-.Lfunc_begin0 # DW_AT_high_pc | |
.long .Laddr_table_base0 # DW_AT_addr_base | |
.long .Lrnglists_table_base0 # DW_AT_rnglists_base | |
.long .Lloclists_table_base0 # DW_AT_loclists_base | |
.byte 2 # Abbrev [2] 0x2b:0x4 DW_TAG_base_type | |
.byte 169 # DW_AT_name | |
.byte 7 # DW_AT_encoding | |
.byte 8 # DW_AT_byte_size | |
.byte 2 # Abbrev [2] 0x2f:0x4 DW_TAG_base_type | |
.byte 168 # DW_AT_name | |
.byte 7 # DW_AT_encoding | |
.byte 4 # DW_AT_byte_size | |
.byte 3 # Abbrev [3] 0x33:0x64 DW_TAG_enumeration_type | |
.long 151 # DW_AT_type | |
.byte 34 # DW_AT_name | |
.byte 4 # DW_AT_byte_size | |
.byte 1 # DW_AT_decl_file | |
.byte 137 # DW_AT_decl_line | |
.byte 4 # Abbrev [4] 0x3c:0x3 DW_TAG_enumerator | |
.byte 4 # DW_AT_name | |
.byte 0 # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x3f:0x3 DW_TAG_enumerator | |
.byte 5 # DW_AT_name | |
.byte 1 # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x42:0x3 DW_TAG_enumerator | |
.byte 6 # DW_AT_name | |
.byte 2 # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x45:0x3 DW_TAG_enumerator | |
.byte 7 # DW_AT_name | |
.byte 3 # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x48:0x3 DW_TAG_enumerator | |
.byte 8 # DW_AT_name | |
.byte 4 # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x4b:0x3 DW_TAG_enumerator | |
.byte 9 # DW_AT_name | |
.byte 5 # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x4e:0x3 DW_TAG_enumerator | |
.byte 10 # DW_AT_name | |
.byte 6 # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x51:0x3 DW_TAG_enumerator | |
.byte 11 # DW_AT_name | |
.byte 7 # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x54:0x3 DW_TAG_enumerator | |
.byte 12 # DW_AT_name | |
.byte 8 # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x57:0x3 DW_TAG_enumerator | |
.byte 13 # DW_AT_name | |
.byte 9 # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x5a:0x3 DW_TAG_enumerator | |
.byte 14 # DW_AT_name | |
.byte 10 # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x5d:0x3 DW_TAG_enumerator | |
.byte 15 # DW_AT_name | |
.byte 11 # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x60:0x3 DW_TAG_enumerator | |
.byte 16 # DW_AT_name | |
.byte 12 # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x63:0x3 DW_TAG_enumerator | |
.byte 17 # DW_AT_name | |
.byte 13 # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x66:0x3 DW_TAG_enumerator | |
.byte 18 # DW_AT_name | |
.byte 14 # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x69:0x3 DW_TAG_enumerator | |
.byte 19 # DW_AT_name | |
.byte 15 # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x6c:0x3 DW_TAG_enumerator | |
.byte 20 # DW_AT_name | |
.byte 16 # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x6f:0x3 DW_TAG_enumerator | |
.byte 21 # DW_AT_name | |
.byte 30 # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x72:0x3 DW_TAG_enumerator | |
.byte 22 # DW_AT_name | |
.byte 31 # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x75:0x3 DW_TAG_enumerator | |
.byte 23 # DW_AT_name | |
.byte 32 # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x78:0x3 DW_TAG_enumerator | |
.byte 24 # DW_AT_name | |
.byte 33 # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x7b:0x3 DW_TAG_enumerator | |
.byte 25 # DW_AT_name | |
.byte 34 # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x7e:0x3 DW_TAG_enumerator | |
.byte 26 # DW_AT_name | |
.byte 50 # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x81:0x3 DW_TAG_enumerator | |
.byte 27 # DW_AT_name | |
.byte 51 # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x84:0x3 DW_TAG_enumerator | |
.byte 28 # DW_AT_name | |
.byte 52 # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x87:0x3 DW_TAG_enumerator | |
.byte 29 # DW_AT_name | |
.byte 53 # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x8a:0x3 DW_TAG_enumerator | |
.byte 30 # DW_AT_name | |
.byte 54 # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x8d:0x3 DW_TAG_enumerator | |
.byte 31 # DW_AT_name | |
.byte 55 # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x90:0x3 DW_TAG_enumerator | |
.byte 32 # DW_AT_name | |
.byte 56 # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x93:0x3 DW_TAG_enumerator | |
.byte 33 # DW_AT_name | |
.byte 57 # DW_AT_const_value | |
.byte 0 # End Of Children Mark | |
.byte 2 # Abbrev [2] 0x97:0x4 DW_TAG_base_type | |
.byte 3 # DW_AT_name | |
.byte 7 # DW_AT_encoding | |
.byte 4 # DW_AT_byte_size | |
.byte 5 # Abbrev [5] 0x9b:0x29c DW_TAG_enumeration_type | |
.long 151 # DW_AT_type | |
.byte 150 # DW_AT_name | |
.byte 4 # DW_AT_byte_size | |
.byte 1 # DW_AT_decl_file | |
.short 266 # DW_AT_decl_line | |
.byte 4 # Abbrev [4] 0xa5:0x3 DW_TAG_enumerator | |
.byte 35 # DW_AT_name | |
.byte 0 # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0xa8:0x5 DW_TAG_enumerator | |
.byte 36 # DW_AT_name | |
.ascii "\200\202@" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0xad:0x5 DW_TAG_enumerator | |
.byte 37 # DW_AT_name | |
.ascii "\201\202@" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0xb2:0x5 DW_TAG_enumerator | |
.byte 38 # DW_AT_name | |
.ascii "\200\204@" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0xb7:0x5 DW_TAG_enumerator | |
.byte 39 # DW_AT_name | |
.ascii "\201\204@" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0xbc:0x5 DW_TAG_enumerator | |
.byte 40 # DW_AT_name | |
.ascii "\202\204@" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0xc1:0x5 DW_TAG_enumerator | |
.byte 41 # DW_AT_name | |
.ascii "\203\204@" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0xc6:0x5 DW_TAG_enumerator | |
.byte 42 # DW_AT_name | |
.ascii "\204\204@" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0xcb:0x5 DW_TAG_enumerator | |
.byte 43 # DW_AT_name | |
.ascii "\205\204@" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0xd0:0x5 DW_TAG_enumerator | |
.byte 44 # DW_AT_name | |
.ascii "\206\204@" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0xd5:0x5 DW_TAG_enumerator | |
.byte 45 # DW_AT_name | |
.ascii "\207\204@" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0xda:0x5 DW_TAG_enumerator | |
.byte 46 # DW_AT_name | |
.ascii "\210\204@" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0xdf:0x5 DW_TAG_enumerator | |
.byte 47 # DW_AT_name | |
.ascii "\211\204@" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0xe4:0x5 DW_TAG_enumerator | |
.byte 48 # DW_AT_name | |
.ascii "\212\204@" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0xe9:0x5 DW_TAG_enumerator | |
.byte 49 # DW_AT_name | |
.ascii "\212\204@" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0xee:0x5 DW_TAG_enumerator | |
.byte 50 # DW_AT_name | |
.ascii "\213\204@" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0xf3:0x5 DW_TAG_enumerator | |
.byte 51 # DW_AT_name | |
.ascii "\214\204@" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0xf8:0x5 DW_TAG_enumerator | |
.byte 52 # DW_AT_name | |
.ascii "\200\206@" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0xfd:0x5 DW_TAG_enumerator | |
.byte 53 # DW_AT_name | |
.ascii "\201\206@" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x102:0x5 DW_TAG_enumerator | |
.byte 54 # DW_AT_name | |
.ascii "\200\210@" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x107:0x5 DW_TAG_enumerator | |
.byte 55 # DW_AT_name | |
.ascii "\201\210@" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x10c:0x5 DW_TAG_enumerator | |
.byte 56 # DW_AT_name | |
.ascii "\202\210@" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x111:0x5 DW_TAG_enumerator | |
.byte 57 # DW_AT_name | |
.ascii "\203\210@" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x116:0x5 DW_TAG_enumerator | |
.byte 58 # DW_AT_name | |
.ascii "\204\210@" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x11b:0x5 DW_TAG_enumerator | |
.byte 59 # DW_AT_name | |
.ascii "\205\210@" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x120:0x5 DW_TAG_enumerator | |
.byte 60 # DW_AT_name | |
.ascii "\200\212@" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x125:0x5 DW_TAG_enumerator | |
.byte 61 # DW_AT_name | |
.ascii "\201\212@" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x12a:0x5 DW_TAG_enumerator | |
.byte 62 # DW_AT_name | |
.ascii "\202\212@" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x12f:0x5 DW_TAG_enumerator | |
.byte 63 # DW_AT_name | |
.ascii "\203\212@" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x134:0x5 DW_TAG_enumerator | |
.byte 64 # DW_AT_name | |
.ascii "\204\212@" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x139:0x5 DW_TAG_enumerator | |
.byte 65 # DW_AT_name | |
.ascii "\200\214@" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x13e:0x6 DW_TAG_enumerator | |
.byte 66 # DW_AT_name | |
.ascii "\200\202\200\001" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x144:0x6 DW_TAG_enumerator | |
.byte 67 # DW_AT_name | |
.ascii "\201\202\200\001" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x14a:0x6 DW_TAG_enumerator | |
.byte 68 # DW_AT_name | |
.ascii "\202\202\200\001" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x150:0x6 DW_TAG_enumerator | |
.byte 69 # DW_AT_name | |
.ascii "\203\202\200\001" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x156:0x6 DW_TAG_enumerator | |
.byte 70 # DW_AT_name | |
.ascii "\204\202\200\001" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x15c:0x6 DW_TAG_enumerator | |
.byte 71 # DW_AT_name | |
.ascii "\205\202\200\001" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x162:0x6 DW_TAG_enumerator | |
.byte 72 # DW_AT_name | |
.ascii "\206\202\200\001" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x168:0x6 DW_TAG_enumerator | |
.byte 73 # DW_AT_name | |
.ascii "\207\202\200\001" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x16e:0x6 DW_TAG_enumerator | |
.byte 74 # DW_AT_name | |
.ascii "\210\202\200\001" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x174:0x6 DW_TAG_enumerator | |
.byte 75 # DW_AT_name | |
.ascii "\211\202\200\001" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x17a:0x6 DW_TAG_enumerator | |
.byte 76 # DW_AT_name | |
.ascii "\212\202\200\001" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x180:0x6 DW_TAG_enumerator | |
.byte 77 # DW_AT_name | |
.ascii "\213\202\200\001" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x186:0x6 DW_TAG_enumerator | |
.byte 78 # DW_AT_name | |
.ascii "\200\204\200\001" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x18c:0x6 DW_TAG_enumerator | |
.byte 79 # DW_AT_name | |
.ascii "\201\204\200\001" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x192:0x6 DW_TAG_enumerator | |
.byte 80 # DW_AT_name | |
.ascii "\202\204\200\001" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x198:0x6 DW_TAG_enumerator | |
.byte 81 # DW_AT_name | |
.ascii "\203\204\200\001" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x19e:0x6 DW_TAG_enumerator | |
.byte 82 # DW_AT_name | |
.ascii "\200\202\300\001" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x1a4:0x6 DW_TAG_enumerator | |
.byte 83 # DW_AT_name | |
.ascii "\201\202\300\001" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x1aa:0x6 DW_TAG_enumerator | |
.byte 84 # DW_AT_name | |
.ascii "\202\202\300\001" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x1b0:0x6 DW_TAG_enumerator | |
.byte 85 # DW_AT_name | |
.ascii "\205\204\300\001" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x1b6:0x6 DW_TAG_enumerator | |
.byte 86 # DW_AT_name | |
.ascii "\207\204\300\001" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x1bc:0x6 DW_TAG_enumerator | |
.byte 87 # DW_AT_name | |
.ascii "\210\204\300\001" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x1c2:0x6 DW_TAG_enumerator | |
.byte 88 # DW_AT_name | |
.ascii "\211\204\300\001" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x1c8:0x6 DW_TAG_enumerator | |
.byte 89 # DW_AT_name | |
.ascii "\222\204\300\001" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x1ce:0x6 DW_TAG_enumerator | |
.byte 90 # DW_AT_name | |
.ascii "\225\204\300\001" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x1d4:0x6 DW_TAG_enumerator | |
.byte 91 # DW_AT_name | |
.ascii "\227\204\300\001" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x1da:0x6 DW_TAG_enumerator | |
.byte 92 # DW_AT_name | |
.ascii "\262\206\300\001" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x1e0:0x6 DW_TAG_enumerator | |
.byte 93 # DW_AT_name | |
.ascii "\265\206\300\001" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x1e6:0x6 DW_TAG_enumerator | |
.byte 94 # DW_AT_name | |
.ascii "\323\206\300\001" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x1ec:0x6 DW_TAG_enumerator | |
.byte 95 # DW_AT_name | |
.ascii "\324\206\300\001" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x1f2:0x6 DW_TAG_enumerator | |
.byte 96 # DW_AT_name | |
.ascii "\325\206\300\001" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x1f8:0x6 DW_TAG_enumerator | |
.byte 97 # DW_AT_name | |
.ascii "\327\206\300\001" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x1fe:0x6 DW_TAG_enumerator | |
.byte 98 # DW_AT_name | |
.ascii "\345\206\300\001" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x204:0x6 DW_TAG_enumerator | |
.byte 99 # DW_AT_name | |
.ascii "\362\206\300\001" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x20a:0x6 DW_TAG_enumerator | |
.byte 100 # DW_AT_name | |
.ascii "\363\206\300\001" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x210:0x6 DW_TAG_enumerator | |
.byte 101 # DW_AT_name | |
.ascii "\365\206\300\001" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x216:0x6 DW_TAG_enumerator | |
.byte 102 # DW_AT_name | |
.ascii "\366\206\300\001" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x21c:0x6 DW_TAG_enumerator | |
.byte 103 # DW_AT_name | |
.ascii "\367\206\300\001" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x222:0x6 DW_TAG_enumerator | |
.byte 104 # DW_AT_name | |
.ascii "\370\206\300\001" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x228:0x6 DW_TAG_enumerator | |
.byte 105 # DW_AT_name | |
.ascii "\200\210\300\001" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x22e:0x6 DW_TAG_enumerator | |
.byte 106 # DW_AT_name | |
.ascii "\201\210\300\001" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x234:0x6 DW_TAG_enumerator | |
.byte 107 # DW_AT_name | |
.ascii "\200\212\300\001" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x23a:0x6 DW_TAG_enumerator | |
.byte 108 # DW_AT_name | |
.ascii "\202\212\300\001" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x240:0x6 DW_TAG_enumerator | |
.byte 109 # DW_AT_name | |
.ascii "\321\212\300\001" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x246:0x6 DW_TAG_enumerator | |
.byte 110 # DW_AT_name | |
.ascii "\361\212\300\001" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x24c:0x6 DW_TAG_enumerator | |
.byte 111 # DW_AT_name | |
.ascii "\200\202\200\002" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x252:0x6 DW_TAG_enumerator | |
.byte 112 # DW_AT_name | |
.ascii "\201\202\200\002" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x258:0x6 DW_TAG_enumerator | |
.byte 113 # DW_AT_name | |
.ascii "\202\202\200\002" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x25e:0x6 DW_TAG_enumerator | |
.byte 114 # DW_AT_name | |
.ascii "\203\202\200\002" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x264:0x6 DW_TAG_enumerator | |
.byte 115 # DW_AT_name | |
.ascii "\204\202\200\002" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x26a:0x6 DW_TAG_enumerator | |
.byte 116 # DW_AT_name | |
.ascii "\200\202\300\002" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x270:0x6 DW_TAG_enumerator | |
.byte 117 # DW_AT_name | |
.ascii "\201\202\300\002" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x276:0x6 DW_TAG_enumerator | |
.byte 118 # DW_AT_name | |
.ascii "\202\202\300\002" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x27c:0x6 DW_TAG_enumerator | |
.byte 119 # DW_AT_name | |
.ascii "\200\202\200\003" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x282:0x6 DW_TAG_enumerator | |
.byte 120 # DW_AT_name | |
.ascii "\201\202\200\003" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x288:0x6 DW_TAG_enumerator | |
.byte 121 # DW_AT_name | |
.ascii "\202\202\200\003" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x28e:0x6 DW_TAG_enumerator | |
.byte 122 # DW_AT_name | |
.ascii "\203\202\200\003" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x294:0x6 DW_TAG_enumerator | |
.byte 123 # DW_AT_name | |
.ascii "\204\202\200\003" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x29a:0x6 DW_TAG_enumerator | |
.byte 124 # DW_AT_name | |
.ascii "\366\206\300\001" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x2a0:0x6 DW_TAG_enumerator | |
.byte 125 # DW_AT_name | |
.ascii "\200\202\200\003" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x2a6:0x6 DW_TAG_enumerator | |
.byte 126 # DW_AT_name | |
.ascii "\201\202\200\003" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x2ac:0x6 DW_TAG_enumerator | |
.byte 127 # DW_AT_name | |
.ascii "\202\202\200\003" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x2b2:0x6 DW_TAG_enumerator | |
.byte 128 # DW_AT_name | |
.ascii "\203\202\200\003" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x2b8:0x6 DW_TAG_enumerator | |
.byte 129 # DW_AT_name | |
.ascii "\200\202\300\003" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x2be:0x6 DW_TAG_enumerator | |
.byte 130 # DW_AT_name | |
.ascii "\201\202\300\003" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x2c4:0x6 DW_TAG_enumerator | |
.byte 131 # DW_AT_name | |
.ascii "\202\202\300\003" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x2ca:0x6 DW_TAG_enumerator | |
.byte 132 # DW_AT_name | |
.ascii "\203\202\300\003" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x2d0:0x6 DW_TAG_enumerator | |
.byte 133 # DW_AT_name | |
.ascii "\204\202\300\003" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x2d6:0x6 DW_TAG_enumerator | |
.byte 134 # DW_AT_name | |
.ascii "\205\202\300\003" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x2dc:0x6 DW_TAG_enumerator | |
.byte 135 # DW_AT_name | |
.ascii "\206\202\300\003" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x2e2:0x6 DW_TAG_enumerator | |
.byte 136 # DW_AT_name | |
.ascii "\207\202\300\003" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x2e8:0x6 DW_TAG_enumerator | |
.byte 137 # DW_AT_name | |
.ascii "\210\202\300\003" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x2ee:0x6 DW_TAG_enumerator | |
.byte 138 # DW_AT_name | |
.ascii "\211\202\300\003" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x2f4:0x6 DW_TAG_enumerator | |
.byte 139 # DW_AT_name | |
.ascii "\212\202\300\003" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x2fa:0x6 DW_TAG_enumerator | |
.byte 140 # DW_AT_name | |
.ascii "\213\202\300\003" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x300:0x6 DW_TAG_enumerator | |
.byte 141 # DW_AT_name | |
.ascii "\214\202\300\003" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x306:0x6 DW_TAG_enumerator | |
.byte 142 # DW_AT_name | |
.ascii "\200\202\200\004" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x30c:0x6 DW_TAG_enumerator | |
.byte 143 # DW_AT_name | |
.ascii "\200\204\200\004" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x312:0x6 DW_TAG_enumerator | |
.byte 144 # DW_AT_name | |
.ascii "\200\202\300\004" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x318:0x6 DW_TAG_enumerator | |
.byte 145 # DW_AT_name | |
.ascii "\200\202\200\005" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x31e:0x6 DW_TAG_enumerator | |
.byte 146 # DW_AT_name | |
.ascii "\201\202\200\005" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x324:0x6 DW_TAG_enumerator | |
.byte 147 # DW_AT_name | |
.ascii "\200\202\300\005" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x32a:0x6 DW_TAG_enumerator | |
.byte 148 # DW_AT_name | |
.ascii "\200\202\200\b" # DW_AT_const_value | |
.byte 4 # Abbrev [4] 0x330:0x6 DW_TAG_enumerator | |
.byte 149 # DW_AT_name | |
.ascii "\200\202\200\006" # DW_AT_const_value | |
.byte 0 # End Of Children Mark | |
.byte 6 # Abbrev [6] 0x337:0x8 DW_TAG_typedef | |
.long 831 # DW_AT_type | |
.byte 153 # DW_AT_name | |
.byte 3 # DW_AT_decl_file | |
.byte 27 # DW_AT_decl_line | |
.byte 6 # Abbrev [6] 0x33f:0x8 DW_TAG_typedef | |
.long 839 # DW_AT_type | |
.byte 152 # DW_AT_name | |
.byte 2 # DW_AT_decl_file | |
.byte 44 # DW_AT_decl_line | |
.byte 2 # Abbrev [2] 0x347:0x4 DW_TAG_base_type | |
.byte 151 # DW_AT_name | |
.byte 7 # DW_AT_encoding | |
.byte 8 # DW_AT_byte_size | |
.byte 7 # Abbrev [7] 0x34b:0x21 DW_TAG_subprogram | |
.byte 154 # DW_AT_name | |
.byte 4 # DW_AT_decl_file | |
.byte 43 # DW_AT_decl_line | |
# DW_AT_prototyped | |
.long 876 # DW_AT_type | |
# DW_AT_inline | |
.byte 8 # Abbrev [8] 0x353:0x8 DW_TAG_formal_parameter | |
.byte 155 # DW_AT_name | |
.byte 4 # DW_AT_decl_file | |
.byte 43 # DW_AT_decl_line | |
.long 918 # DW_AT_type | |
.byte 8 # Abbrev [8] 0x35b:0x8 DW_TAG_formal_parameter | |
.byte 159 # DW_AT_name | |
.byte 4 # DW_AT_decl_file | |
.byte 43 # DW_AT_decl_line | |
.long 918 # DW_AT_type | |
.byte 9 # Abbrev [9] 0x363:0x8 DW_TAG_variable | |
.byte 162 # DW_AT_name | |
.byte 4 # DW_AT_decl_file | |
.byte 54 # DW_AT_decl_line | |
.long 876 # DW_AT_type | |
.byte 0 # End Of Children Mark | |
.byte 10 # Abbrev [10] 0x36c:0x2a DW_TAG_structure_type | |
.byte 161 # DW_AT_name | |
.byte 16 # DW_AT_byte_size | |
.byte 5 # DW_AT_decl_file | |
.byte 10 # DW_AT_decl_line | |
.byte 11 # Abbrev [11] 0x371:0x9 DW_TAG_member | |
.byte 155 # DW_AT_name | |
.long 918 # DW_AT_type | |
.byte 5 # DW_AT_decl_file | |
.byte 11 # DW_AT_decl_line | |
.byte 0 # DW_AT_data_member_location | |
.byte 11 # Abbrev [11] 0x37a:0x9 DW_TAG_member | |
.byte 158 # DW_AT_name | |
.long 918 # DW_AT_type | |
.byte 5 # DW_AT_decl_file | |
.byte 12 # DW_AT_decl_line | |
.byte 4 # DW_AT_data_member_location | |
.byte 11 # Abbrev [11] 0x383:0x9 DW_TAG_member | |
.byte 159 # DW_AT_name | |
.long 918 # DW_AT_type | |
.byte 5 # DW_AT_decl_file | |
.byte 13 # DW_AT_decl_line | |
.byte 8 # DW_AT_data_member_location | |
.byte 11 # Abbrev [11] 0x38c:0x9 DW_TAG_member | |
.byte 160 # DW_AT_name | |
.long 918 # DW_AT_type | |
.byte 5 # DW_AT_decl_file | |
.byte 14 # DW_AT_decl_line | |
.byte 12 # DW_AT_data_member_location | |
.byte 0 # End Of Children Mark | |
.byte 6 # Abbrev [6] 0x396:0x8 DW_TAG_typedef | |
.long 926 # DW_AT_type | |
.byte 157 # DW_AT_name | |
.byte 3 # DW_AT_decl_file | |
.byte 26 # DW_AT_decl_line | |
.byte 6 # Abbrev [6] 0x39e:0x8 DW_TAG_typedef | |
.long 151 # DW_AT_type | |
.byte 156 # DW_AT_name | |
.byte 2 # DW_AT_decl_file | |
.byte 41 # DW_AT_decl_line | |
.byte 7 # Abbrev [7] 0x3a6:0x19 DW_TAG_subprogram | |
.byte 163 # DW_AT_name | |
.byte 4 # DW_AT_decl_file | |
.byte 17 # DW_AT_decl_line | |
# DW_AT_prototyped | |
.long 876 # DW_AT_type | |
# DW_AT_inline | |
.byte 8 # Abbrev [8] 0x3ae:0x8 DW_TAG_formal_parameter | |
.byte 155 # DW_AT_name | |
.byte 4 # DW_AT_decl_file | |
.byte 17 # DW_AT_decl_line | |
.long 918 # DW_AT_type | |
.byte 9 # Abbrev [9] 0x3b6:0x8 DW_TAG_variable | |
.byte 162 # DW_AT_name | |
.byte 4 # DW_AT_decl_file | |
.byte 28 # DW_AT_decl_line | |
.long 876 # DW_AT_type | |
.byte 0 # End Of Children Mark | |
.byte 12 # Abbrev [12] 0x3bf:0x22 DW_TAG_subprogram | |
.byte 164 # DW_AT_name | |
.byte 4 # DW_AT_decl_file | |
.byte 70 # DW_AT_decl_line | |
# DW_AT_prototyped | |
.byte 3 # DW_AT_calling_convention | |
.long 823 # DW_AT_type | |
# DW_AT_inline | |
.byte 8 # Abbrev [8] 0x3c8:0x8 DW_TAG_formal_parameter | |
.byte 165 # DW_AT_name | |
.byte 4 # DW_AT_decl_file | |
.byte 70 # DW_AT_decl_line | |
.long 918 # DW_AT_type | |
.byte 9 # Abbrev [9] 0x3d0:0x8 DW_TAG_variable | |
.byte 166 # DW_AT_name | |
.byte 4 # DW_AT_decl_file | |
.byte 74 # DW_AT_decl_line | |
.long 918 # DW_AT_type | |
.byte 9 # Abbrev [9] 0x3d8:0x8 DW_TAG_variable | |
.byte 167 # DW_AT_name | |
.byte 4 # DW_AT_decl_file | |
.byte 74 # DW_AT_decl_line | |
.long 918 # DW_AT_type | |
.byte 0 # End Of Children Mark | |
.byte 13 # Abbrev [13] 0x3e1:0x221 DW_TAG_subprogram | |
.byte 0 # DW_AT_low_pc | |
.long .Lfunc_end0-.Lfunc_begin0 # DW_AT_high_pc | |
.byte 1 # DW_AT_frame_base | |
.byte 86 | |
# DW_AT_call_all_calls | |
.byte 170 # DW_AT_name | |
.byte 0 # DW_AT_decl_file | |
.byte 38 # DW_AT_decl_line | |
# DW_AT_prototyped | |
.long 1538 # DW_AT_type | |
# DW_AT_external | |
.byte 14 # Abbrev [14] 0x3f0:0x9 DW_TAG_formal_parameter | |
.byte 0 # DW_AT_location | |
.byte 247 # DW_AT_name | |
.byte 0 # DW_AT_decl_file | |
.byte 39 # DW_AT_decl_line | |
.long 2289 # DW_AT_type | |
.byte 14 # Abbrev [14] 0x3f9:0x9 DW_TAG_formal_parameter | |
.byte 1 # DW_AT_location | |
.byte 248 # DW_AT_name | |
.byte 0 # DW_AT_decl_file | |
.byte 39 # DW_AT_decl_line | |
.long 2289 # DW_AT_type | |
.byte 14 # Abbrev [14] 0x402:0x9 DW_TAG_formal_parameter | |
.byte 2 # DW_AT_location | |
.byte 249 # DW_AT_name | |
.byte 0 # DW_AT_decl_file | |
.byte 40 # DW_AT_decl_line | |
.long 918 # DW_AT_type | |
.byte 15 # Abbrev [15] 0x40b:0xb DW_TAG_formal_parameter | |
.byte 2 # DW_AT_location | |
.byte 145 | |
.byte 16 | |
.byte 250 # DW_AT_name | |
.byte 0 # DW_AT_decl_file | |
.byte 40 # DW_AT_decl_line | |
.long 918 # DW_AT_type | |
.byte 15 # Abbrev [15] 0x416:0xb DW_TAG_formal_parameter | |
.byte 2 # DW_AT_location | |
.byte 145 | |
.byte 24 | |
.byte 251 # DW_AT_name | |
.byte 0 # DW_AT_decl_file | |
.byte 41 # DW_AT_decl_line | |
.long 51 # DW_AT_type | |
.byte 15 # Abbrev [15] 0x421:0xb DW_TAG_formal_parameter | |
.byte 2 # DW_AT_location | |
.byte 145 | |
.byte 32 | |
.byte 252 # DW_AT_name | |
.byte 0 # DW_AT_decl_file | |
.byte 41 # DW_AT_decl_line | |
.long 155 # DW_AT_type | |
.byte 16 # Abbrev [16] 0x42c:0x9 DW_TAG_variable | |
.byte 3 # DW_AT_location | |
.byte 253 # DW_AT_name | |
.byte 0 # DW_AT_decl_file | |
.byte 43 # DW_AT_decl_line | |
.long 1538 # DW_AT_type | |
.byte 16 # Abbrev [16] 0x435:0x9 DW_TAG_variable | |
.byte 5 # DW_AT_location | |
.byte 254 # DW_AT_name | |
.byte 0 # DW_AT_decl_file | |
.byte 47 # DW_AT_decl_line | |
.long 2289 # DW_AT_type | |
.byte 16 # Abbrev [16] 0x43e:0x9 DW_TAG_variable | |
.byte 6 # DW_AT_location | |
.byte 255 # DW_AT_name | |
.byte 0 # DW_AT_decl_file | |
.byte 50 # DW_AT_decl_line | |
.long 2294 # DW_AT_type | |
.byte 17 # Abbrev [17] 0x447:0x9 DW_TAG_variable | |
.short 256 # DW_AT_name | |
.byte 0 # DW_AT_decl_file | |
.byte 51 # DW_AT_decl_line | |
.long 2289 # DW_AT_type | |
.byte 18 # Abbrev [18] 0x450:0xa DW_TAG_variable | |
.byte 7 # DW_AT_location | |
.short 257 # DW_AT_name | |
.byte 0 # DW_AT_decl_file | |
.byte 55 # DW_AT_decl_line | |
.long 2285 # DW_AT_type | |
.byte 18 # Abbrev [18] 0x45a:0xa DW_TAG_variable | |
.byte 8 # DW_AT_location | |
.short 258 # DW_AT_name | |
.byte 0 # DW_AT_decl_file | |
.byte 55 # DW_AT_decl_line | |
.long 2285 # DW_AT_type | |
.byte 18 # Abbrev [18] 0x464:0xa DW_TAG_variable | |
.byte 9 # DW_AT_location | |
.short 259 # DW_AT_name | |
.byte 0 # DW_AT_decl_file | |
.byte 55 # DW_AT_decl_line | |
.long 2285 # DW_AT_type | |
.byte 18 # Abbrev [18] 0x46e:0xa DW_TAG_variable | |
.byte 10 # DW_AT_location | |
.short 260 # DW_AT_name | |
.byte 0 # DW_AT_decl_file | |
.byte 61 # DW_AT_decl_line | |
.long 2294 # DW_AT_type | |
.byte 17 # Abbrev [17] 0x478:0x9 DW_TAG_variable | |
.short 274 # DW_AT_name | |
.byte 0 # DW_AT_decl_file | |
.byte 45 # DW_AT_decl_line | |
.long 2289 # DW_AT_type | |
.byte 19 # Abbrev [19] 0x481:0x20 DW_TAG_inlined_subroutine | |
.long 843 # DW_AT_abstract_origin | |
.byte 1 # DW_AT_low_pc | |
.long .Ltmp11-.Ltmp6 # DW_AT_high_pc | |
.byte 0 # DW_AT_call_file | |
.byte 46 # DW_AT_call_line | |
.byte 27 # DW_AT_call_column | |
.byte 20 # Abbrev [20] 0x48e:0x6 DW_TAG_formal_parameter | |
.byte 7 # DW_AT_const_value | |
.long 851 # DW_AT_abstract_origin | |
.byte 20 # Abbrev [20] 0x494:0x6 DW_TAG_formal_parameter | |
.byte 0 # DW_AT_const_value | |
.long 859 # DW_AT_abstract_origin | |
.byte 21 # Abbrev [21] 0x49a:0x6 DW_TAG_variable | |
.byte 4 # DW_AT_location | |
.long 867 # DW_AT_abstract_origin | |
.byte 0 # End Of Children Mark | |
.byte 19 # Abbrev [19] 0x4a1:0x1a DW_TAG_inlined_subroutine | |
.long 843 # DW_AT_abstract_origin | |
.byte 2 # DW_AT_low_pc | |
.long .Ltmp12-.Ltmp11 # DW_AT_high_pc | |
.byte 0 # DW_AT_call_file | |
.byte 48 # DW_AT_call_line | |
.byte 27 # DW_AT_call_column | |
.byte 20 # Abbrev [20] 0x4ae:0x6 DW_TAG_formal_parameter | |
.byte 7 # DW_AT_const_value | |
.long 851 # DW_AT_abstract_origin | |
.byte 20 # Abbrev [20] 0x4b4:0x6 DW_TAG_formal_parameter | |
.byte 1 # DW_AT_const_value | |
.long 859 # DW_AT_abstract_origin | |
.byte 0 # End Of Children Mark | |
.byte 19 # Abbrev [19] 0x4bb:0x1d DW_TAG_inlined_subroutine | |
.long 934 # DW_AT_abstract_origin | |
.byte 3 # DW_AT_low_pc | |
.long .Ltmp17-.Ltmp16 # DW_AT_high_pc | |
.byte 0 # DW_AT_call_file | |
.byte 53 # DW_AT_call_line | |
.byte 4 # DW_AT_call_column | |
.byte 20 # Abbrev [20] 0x4c8:0xf DW_TAG_formal_parameter | |
.ascii "\210\200\200\200\370\377\377\377\377\001" # DW_AT_const_value | |
.long 942 # DW_AT_abstract_origin | |
.byte 0 # End Of Children Mark | |
.byte 22 # Abbrev [22] 0x4d8:0x7d DW_TAG_lexical_block | |
.byte 4 # DW_AT_low_pc | |
.long .Ltmp40-.Ltmp26 # DW_AT_high_pc | |
.byte 18 # Abbrev [18] 0x4de:0xa DW_TAG_variable | |
.byte 11 # DW_AT_location | |
.short 261 # DW_AT_name | |
.byte 0 # DW_AT_decl_file | |
.byte 63 # DW_AT_decl_line | |
.long 823 # DW_AT_type | |
.byte 18 # Abbrev [18] 0x4e8:0xa DW_TAG_variable | |
.byte 14 # DW_AT_location | |
.short 262 # DW_AT_name | |
.byte 0 # DW_AT_decl_file | |
.byte 76 # DW_AT_decl_line | |
.long 2299 # DW_AT_type | |
.byte 18 # Abbrev [18] 0x4f2:0xa DW_TAG_variable | |
.byte 15 # DW_AT_location | |
.short 263 # DW_AT_name | |
.byte 0 # DW_AT_decl_file | |
.byte 89 # DW_AT_decl_line | |
.long 2299 # DW_AT_type | |
.byte 18 # Abbrev [18] 0x4fc:0xa DW_TAG_variable | |
.byte 16 # DW_AT_location | |
.short 264 # DW_AT_name | |
.byte 0 # DW_AT_decl_file | |
.byte 99 # DW_AT_decl_line | |
.long 2299 # DW_AT_type | |
.byte 17 # Abbrev [17] 0x506:0x9 DW_TAG_variable | |
.short 275 # DW_AT_name | |
.byte 0 # DW_AT_decl_file | |
.byte 69 # DW_AT_decl_line | |
.long 2299 # DW_AT_type | |
.byte 22 # Abbrev [22] 0x50f:0x2f DW_TAG_lexical_block | |
.byte 5 # DW_AT_low_pc | |
.long .Ltmp30-.Ltmp28 # DW_AT_high_pc | |
.byte 9 # Abbrev [9] 0x515:0x8 DW_TAG_variable | |
.byte 162 # DW_AT_name | |
.byte 0 # DW_AT_decl_file | |
.byte 65 # DW_AT_decl_line | |
.long 2289 # DW_AT_type | |
.byte 19 # Abbrev [19] 0x51d:0x20 DW_TAG_inlined_subroutine | |
.long 843 # DW_AT_abstract_origin | |
.byte 5 # DW_AT_low_pc | |
.long .Ltmp30-.Ltmp28 # DW_AT_high_pc | |
.byte 0 # DW_AT_call_file | |
.byte 65 # DW_AT_call_line | |
.byte 35 # DW_AT_call_column | |
.byte 20 # Abbrev [20] 0x52a:0x6 DW_TAG_formal_parameter | |
.byte 13 # DW_AT_const_value | |
.long 851 # DW_AT_abstract_origin | |
.byte 20 # Abbrev [20] 0x530:0x6 DW_TAG_formal_parameter | |
.byte 0 # DW_AT_const_value | |
.long 859 # DW_AT_abstract_origin | |
.byte 21 # Abbrev [21] 0x536:0x6 DW_TAG_variable | |
.byte 12 # DW_AT_location | |
.long 867 # DW_AT_abstract_origin | |
.byte 0 # End Of Children Mark | |
.byte 0 # End Of Children Mark | |
.byte 23 # Abbrev [23] 0x53e:0x16 DW_TAG_inlined_subroutine | |
.long 959 # DW_AT_abstract_origin | |
.byte 0 # DW_AT_ranges | |
.byte 0 # DW_AT_call_file | |
.byte 69 # DW_AT_call_line | |
.byte 42 # DW_AT_call_column | |
.byte 20 # Abbrev [20] 0x547:0x6 DW_TAG_formal_parameter | |
.byte 0 # DW_AT_const_value | |
.long 968 # DW_AT_abstract_origin | |
.byte 21 # Abbrev [21] 0x54d:0x6 DW_TAG_variable | |
.byte 13 # DW_AT_location | |
.long 976 # DW_AT_abstract_origin | |
.byte 0 # End Of Children Mark | |
.byte 0 # End Of Children Mark | |
.byte 22 # Abbrev [22] 0x555:0xac DW_TAG_lexical_block | |
.byte 6 # DW_AT_low_pc | |
.long .Ltmp76-.Ltmp66 # DW_AT_high_pc | |
.byte 24 # Abbrev [24] 0x55b:0xb DW_TAG_variable | |
.byte 17 # DW_AT_location | |
.short 265 # DW_AT_name | |
.byte 0 # DW_AT_decl_file | |
.short 657 # DW_AT_decl_line | |
.long 2289 # DW_AT_type | |
.byte 24 # Abbrev [24] 0x566:0xb DW_TAG_variable | |
.byte 18 # DW_AT_location | |
.short 266 # DW_AT_name | |
.byte 0 # DW_AT_decl_file | |
.short 658 # DW_AT_decl_line | |
.long 2294 # DW_AT_type | |
.byte 24 # Abbrev [24] 0x571:0xb DW_TAG_variable | |
.byte 19 # DW_AT_location | |
.short 267 # DW_AT_name | |
.byte 0 # DW_AT_decl_file | |
.short 659 # DW_AT_decl_line | |
.long 2294 # DW_AT_type | |
.byte 25 # Abbrev [25] 0x57c:0x1e DW_TAG_inlined_subroutine | |
.long 934 # DW_AT_abstract_origin | |
.byte 6 # DW_AT_low_pc | |
.long .Ltmp67-.Ltmp66 # DW_AT_high_pc | |
.byte 0 # DW_AT_call_file | |
.short 657 # DW_AT_call_line | |
.byte 47 # DW_AT_call_column | |
.byte 20 # Abbrev [20] 0x58a:0xf DW_TAG_formal_parameter | |
.ascii "\200\200\200\200\374\377\377\377\377\001" # DW_AT_const_value | |
.long 942 # DW_AT_abstract_origin | |
.byte 0 # End Of Children Mark | |
.byte 22 # Abbrev [22] 0x59a:0x66 DW_TAG_lexical_block | |
.byte 7 # DW_AT_low_pc | |
.long .Ltmp76-.Ltmp69 # DW_AT_high_pc | |
.byte 26 # Abbrev [26] 0x5a0:0xa DW_TAG_variable | |
.short 268 # DW_AT_name | |
.byte 0 # DW_AT_decl_file | |
.short 661 # DW_AT_decl_line | |
.long 2289 # DW_AT_type | |
.byte 24 # Abbrev [24] 0x5aa:0xb DW_TAG_variable | |
.byte 20 # DW_AT_location | |
.short 269 # DW_AT_name | |
.byte 0 # DW_AT_decl_file | |
.short 668 # DW_AT_decl_line | |
.long 2294 # DW_AT_type | |
.byte 24 # Abbrev [24] 0x5b5:0xb DW_TAG_variable | |
.byte 21 # DW_AT_location | |
.short 270 # DW_AT_name | |
.byte 0 # DW_AT_decl_file | |
.short 676 # DW_AT_decl_line | |
.long 2294 # DW_AT_type | |
.byte 24 # Abbrev [24] 0x5c0:0xb DW_TAG_variable | |
.byte 22 # DW_AT_location | |
.short 271 # DW_AT_name | |
.byte 0 # DW_AT_decl_file | |
.short 684 # DW_AT_decl_line | |
.long 2294 # DW_AT_type | |
.byte 24 # Abbrev [24] 0x5cb:0xb DW_TAG_variable | |
.byte 23 # DW_AT_location | |
.short 272 # DW_AT_name | |
.byte 0 # DW_AT_decl_file | |
.short 692 # DW_AT_decl_line | |
.long 2294 # DW_AT_type | |
.byte 24 # Abbrev [24] 0x5d6:0xb DW_TAG_variable | |
.byte 24 # DW_AT_location | |
.short 273 # DW_AT_name | |
.byte 0 # DW_AT_decl_file | |
.short 700 # DW_AT_decl_line | |
.long 2294 # DW_AT_type | |
.byte 25 # Abbrev [25] 0x5e1:0x1e DW_TAG_inlined_subroutine | |
.long 934 # DW_AT_abstract_origin | |
.byte 7 # DW_AT_low_pc | |
.long .Ltmp71-.Ltmp69 # DW_AT_high_pc | |
.byte 0 # DW_AT_call_file | |
.short 661 # DW_AT_call_line | |
.byte 43 # DW_AT_call_column | |
.byte 20 # Abbrev [20] 0x5ef:0xf DW_TAG_formal_parameter | |
.ascii "\201\200\200\200\374\377\377\377\377\001" # DW_AT_const_value | |
.long 942 # DW_AT_abstract_origin | |
.byte 0 # End Of Children Mark | |
.byte 0 # End Of Children Mark | |
.byte 0 # End Of Children Mark | |
.byte 0 # End Of Children Mark | |
.byte 27 # Abbrev [27] 0x602:0x2eb DW_TAG_structure_type | |
.byte 246 # DW_AT_name | |
.byte 74 # DW_AT_byte_size | |
.byte 1 # DW_AT_decl_file | |
.short 670 # DW_AT_decl_line | |
.byte 28 # Abbrev [28] 0x608:0xa DW_TAG_member | |
.byte 171 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 674 # DW_AT_decl_line | |
.byte 0 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x612:0xa DW_TAG_member | |
.byte 173 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 675 # DW_AT_decl_line | |
.byte 1 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x61c:0xa DW_TAG_member | |
.byte 174 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 676 # DW_AT_decl_line | |
.byte 2 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x626:0xa DW_TAG_member | |
.byte 175 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 680 # DW_AT_decl_line | |
.byte 3 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x630:0xa DW_TAG_member | |
.byte 176 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 681 # DW_AT_decl_line | |
.byte 4 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x63a:0xa DW_TAG_member | |
.byte 177 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 682 # DW_AT_decl_line | |
.byte 5 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x644:0xa DW_TAG_member | |
.byte 178 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 683 # DW_AT_decl_line | |
.byte 6 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x64e:0xa DW_TAG_member | |
.byte 179 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 684 # DW_AT_decl_line | |
.byte 7 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x658:0xa DW_TAG_member | |
.byte 180 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 685 # DW_AT_decl_line | |
.byte 8 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x662:0xa DW_TAG_member | |
.byte 181 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 689 # DW_AT_decl_line | |
.byte 9 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x66c:0xa DW_TAG_member | |
.byte 182 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 690 # DW_AT_decl_line | |
.byte 10 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x676:0xa DW_TAG_member | |
.byte 183 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 696 # DW_AT_decl_line | |
.byte 11 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x680:0xa DW_TAG_member | |
.byte 184 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 697 # DW_AT_decl_line | |
.byte 12 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x68a:0xa DW_TAG_member | |
.byte 185 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 701 # DW_AT_decl_line | |
.byte 13 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x694:0xa DW_TAG_member | |
.byte 186 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 702 # DW_AT_decl_line | |
.byte 14 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x69e:0xa DW_TAG_member | |
.byte 187 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 703 # DW_AT_decl_line | |
.byte 15 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x6a8:0xa DW_TAG_member | |
.byte 188 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 709 # DW_AT_decl_line | |
.byte 16 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x6b2:0xa DW_TAG_member | |
.byte 189 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 710 # DW_AT_decl_line | |
.byte 17 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x6bc:0xa DW_TAG_member | |
.byte 190 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 711 # DW_AT_decl_line | |
.byte 18 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x6c6:0xa DW_TAG_member | |
.byte 191 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 712 # DW_AT_decl_line | |
.byte 19 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x6d0:0xa DW_TAG_member | |
.byte 192 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 713 # DW_AT_decl_line | |
.byte 20 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x6da:0xa DW_TAG_member | |
.byte 193 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 714 # DW_AT_decl_line | |
.byte 21 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x6e4:0xa DW_TAG_member | |
.byte 194 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 715 # DW_AT_decl_line | |
.byte 22 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x6ee:0xa DW_TAG_member | |
.byte 195 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 716 # DW_AT_decl_line | |
.byte 23 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x6f8:0xa DW_TAG_member | |
.byte 196 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 717 # DW_AT_decl_line | |
.byte 24 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x702:0xa DW_TAG_member | |
.byte 197 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 718 # DW_AT_decl_line | |
.byte 25 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x70c:0xa DW_TAG_member | |
.byte 198 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 719 # DW_AT_decl_line | |
.byte 26 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x716:0xa DW_TAG_member | |
.byte 199 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 720 # DW_AT_decl_line | |
.byte 27 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x720:0xa DW_TAG_member | |
.byte 200 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 721 # DW_AT_decl_line | |
.byte 28 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x72a:0xa DW_TAG_member | |
.byte 201 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 722 # DW_AT_decl_line | |
.byte 29 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x734:0xa DW_TAG_member | |
.byte 202 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 723 # DW_AT_decl_line | |
.byte 30 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x73e:0xa DW_TAG_member | |
.byte 203 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 724 # DW_AT_decl_line | |
.byte 31 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x748:0xa DW_TAG_member | |
.byte 204 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 725 # DW_AT_decl_line | |
.byte 32 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x752:0xa DW_TAG_member | |
.byte 205 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 726 # DW_AT_decl_line | |
.byte 33 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x75c:0xa DW_TAG_member | |
.byte 206 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 727 # DW_AT_decl_line | |
.byte 34 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x766:0xa DW_TAG_member | |
.byte 207 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 728 # DW_AT_decl_line | |
.byte 35 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x770:0xa DW_TAG_member | |
.byte 208 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 729 # DW_AT_decl_line | |
.byte 36 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x77a:0xa DW_TAG_member | |
.byte 209 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 730 # DW_AT_decl_line | |
.byte 37 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x784:0xa DW_TAG_member | |
.byte 210 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 731 # DW_AT_decl_line | |
.byte 38 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x78e:0xa DW_TAG_member | |
.byte 211 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 732 # DW_AT_decl_line | |
.byte 39 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x798:0xa DW_TAG_member | |
.byte 212 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 733 # DW_AT_decl_line | |
.byte 40 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x7a2:0xa DW_TAG_member | |
.byte 213 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 734 # DW_AT_decl_line | |
.byte 41 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x7ac:0xa DW_TAG_member | |
.byte 214 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 735 # DW_AT_decl_line | |
.byte 42 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x7b6:0xa DW_TAG_member | |
.byte 215 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 736 # DW_AT_decl_line | |
.byte 43 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x7c0:0xa DW_TAG_member | |
.byte 216 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 737 # DW_AT_decl_line | |
.byte 44 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x7ca:0xa DW_TAG_member | |
.byte 217 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 738 # DW_AT_decl_line | |
.byte 45 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x7d4:0xa DW_TAG_member | |
.byte 218 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 739 # DW_AT_decl_line | |
.byte 46 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x7de:0xa DW_TAG_member | |
.byte 219 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 740 # DW_AT_decl_line | |
.byte 47 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x7e8:0xa DW_TAG_member | |
.byte 220 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 741 # DW_AT_decl_line | |
.byte 48 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x7f2:0xa DW_TAG_member | |
.byte 221 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 746 # DW_AT_decl_line | |
.byte 49 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x7fc:0xa DW_TAG_member | |
.byte 222 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 747 # DW_AT_decl_line | |
.byte 50 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x806:0xa DW_TAG_member | |
.byte 223 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 748 # DW_AT_decl_line | |
.byte 51 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x810:0xa DW_TAG_member | |
.byte 224 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 750 # DW_AT_decl_line | |
.byte 52 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x81a:0xa DW_TAG_member | |
.byte 225 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 752 # DW_AT_decl_line | |
.byte 53 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x824:0xa DW_TAG_member | |
.byte 226 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 753 # DW_AT_decl_line | |
.byte 54 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x82e:0xa DW_TAG_member | |
.byte 227 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 754 # DW_AT_decl_line | |
.byte 55 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x838:0xa DW_TAG_member | |
.byte 228 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 755 # DW_AT_decl_line | |
.byte 56 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x842:0xa DW_TAG_member | |
.byte 229 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 756 # DW_AT_decl_line | |
.byte 57 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x84c:0xa DW_TAG_member | |
.byte 230 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 757 # DW_AT_decl_line | |
.byte 58 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x856:0xa DW_TAG_member | |
.byte 231 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 758 # DW_AT_decl_line | |
.byte 59 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x860:0xa DW_TAG_member | |
.byte 232 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 759 # DW_AT_decl_line | |
.byte 60 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x86a:0xa DW_TAG_member | |
.byte 233 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 760 # DW_AT_decl_line | |
.byte 61 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x874:0xa DW_TAG_member | |
.byte 234 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 761 # DW_AT_decl_line | |
.byte 62 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x87e:0xa DW_TAG_member | |
.byte 235 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 762 # DW_AT_decl_line | |
.byte 63 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x888:0xa DW_TAG_member | |
.byte 236 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 763 # DW_AT_decl_line | |
.byte 64 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x892:0xa DW_TAG_member | |
.byte 237 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 764 # DW_AT_decl_line | |
.byte 65 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x89c:0xa DW_TAG_member | |
.byte 238 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 765 # DW_AT_decl_line | |
.byte 66 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x8a6:0xa DW_TAG_member | |
.byte 239 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 766 # DW_AT_decl_line | |
.byte 67 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x8b0:0xa DW_TAG_member | |
.byte 240 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 767 # DW_AT_decl_line | |
.byte 68 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x8ba:0xa DW_TAG_member | |
.byte 241 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 768 # DW_AT_decl_line | |
.byte 69 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x8c4:0xa DW_TAG_member | |
.byte 242 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 769 # DW_AT_decl_line | |
.byte 70 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x8ce:0xa DW_TAG_member | |
.byte 243 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 770 # DW_AT_decl_line | |
.byte 71 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x8d8:0xa DW_TAG_member | |
.byte 244 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 771 # DW_AT_decl_line | |
.byte 72 # DW_AT_data_member_location | |
.byte 28 # Abbrev [28] 0x8e2:0xa DW_TAG_member | |
.byte 245 # DW_AT_name | |
.long 2285 # DW_AT_type | |
.byte 1 # DW_AT_decl_file | |
.short 772 # DW_AT_decl_line | |
.byte 73 # DW_AT_data_member_location | |
.byte 0 # End Of Children Mark | |
.byte 2 # Abbrev [2] 0x8ed:0x4 DW_TAG_base_type | |
.byte 172 # DW_AT_name | |
.byte 2 # DW_AT_encoding | |
.byte 1 # DW_AT_byte_size | |
.byte 29 # Abbrev [29] 0x8f1:0x5 DW_TAG_const_type | |
.long 876 # DW_AT_type | |
.byte 29 # Abbrev [29] 0x8f6:0x5 DW_TAG_const_type | |
.long 918 # DW_AT_type | |
.byte 29 # Abbrev [29] 0x8fb:0x5 DW_TAG_const_type | |
.long 823 # DW_AT_type | |
.byte 0 # End Of Children Mark | |
.Ldebug_info_end0: | |
.section .debug_rnglists,"",@progbits | |
.long .Ldebug_list_header_end1-.Ldebug_list_header_start1 # Length | |
.Ldebug_list_header_start1: | |
.short 5 # Version | |
.byte 8 # Address size | |
.byte 0 # Segment selector size | |
.long 1 # Offset entry count | |
.Lrnglists_table_base0: | |
.long .Ldebug_ranges0-.Lrnglists_table_base0 | |
.Ldebug_ranges0: | |
.byte 4 # DW_RLE_offset_pair | |
.uleb128 .Ltmp30-.Lfunc_begin0 # starting offset | |
.uleb128 .Ltmp31-.Lfunc_begin0 # ending offset | |
.byte 4 # DW_RLE_offset_pair | |
.uleb128 .Ltmp32-.Lfunc_begin0 # starting offset | |
.uleb128 .Ltmp33-.Lfunc_begin0 # ending offset | |
.byte 0 # DW_RLE_end_of_list | |
.Ldebug_list_header_end1: | |
.section .debug_str_offsets,"",@progbits | |
.long 1108 # Length of String Offsets Set | |
.short 5 | |
.short 0 | |
.Lstr_offsets_base0: | |
.section .debug_str,"MS",@progbits,1 | |
.Linfo_string0: | |
.asciz "clang version 0fe13b5f84abe1716f5991da057c801dc548a9ab" # string offset=0 | |
.Linfo_string1: | |
.asciz "cpuinfo/src/x86/isa.c" # string offset=55 | |
.Linfo_string2: | |
.asciz "workspace" # string offset=77 | |
.Linfo_string3: | |
.asciz "unsigned int" # string offset=87 | |
.Linfo_string4: | |
.asciz "cpuinfo_vendor_unknown" # string offset=100 | |
.Linfo_string5: | |
.asciz "cpuinfo_vendor_intel" # string offset=123 | |
.Linfo_string6: | |
.asciz "cpuinfo_vendor_amd" # string offset=144 | |
.Linfo_string7: | |
.asciz "cpuinfo_vendor_arm" # string offset=163 | |
.Linfo_string8: | |
.asciz "cpuinfo_vendor_qualcomm" # string offset=182 | |
.Linfo_string9: | |
.asciz "cpuinfo_vendor_apple" # string offset=206 | |
.Linfo_string10: | |
.asciz "cpuinfo_vendor_samsung" # string offset=227 | |
.Linfo_string11: | |
.asciz "cpuinfo_vendor_nvidia" # string offset=250 | |
.Linfo_string12: | |
.asciz "cpuinfo_vendor_mips" # string offset=272 | |
.Linfo_string13: | |
.asciz "cpuinfo_vendor_ibm" # string offset=292 | |
.Linfo_string14: | |
.asciz "cpuinfo_vendor_ingenic" # string offset=311 | |
.Linfo_string15: | |
.asciz "cpuinfo_vendor_via" # string offset=334 | |
.Linfo_string16: | |
.asciz "cpuinfo_vendor_cavium" # string offset=353 | |
.Linfo_string17: | |
.asciz "cpuinfo_vendor_broadcom" # string offset=375 | |
.Linfo_string18: | |
.asciz "cpuinfo_vendor_apm" # string offset=399 | |
.Linfo_string19: | |
.asciz "cpuinfo_vendor_huawei" # string offset=418 | |
.Linfo_string20: | |
.asciz "cpuinfo_vendor_hygon" # string offset=440 | |
.Linfo_string21: | |
.asciz "cpuinfo_vendor_texas_instruments" # string offset=461 | |
.Linfo_string22: | |
.asciz "cpuinfo_vendor_marvell" # string offset=494 | |
.Linfo_string23: | |
.asciz "cpuinfo_vendor_rdc" # string offset=517 | |
.Linfo_string24: | |
.asciz "cpuinfo_vendor_dmp" # string offset=536 | |
.Linfo_string25: | |
.asciz "cpuinfo_vendor_motorola" # string offset=555 | |
.Linfo_string26: | |
.asciz "cpuinfo_vendor_transmeta" # string offset=579 | |
.Linfo_string27: | |
.asciz "cpuinfo_vendor_cyrix" # string offset=604 | |
.Linfo_string28: | |
.asciz "cpuinfo_vendor_rise" # string offset=625 | |
.Linfo_string29: | |
.asciz "cpuinfo_vendor_nsc" # string offset=645 | |
.Linfo_string30: | |
.asciz "cpuinfo_vendor_sis" # string offset=664 | |
.Linfo_string31: | |
.asciz "cpuinfo_vendor_nexgen" # string offset=683 | |
.Linfo_string32: | |
.asciz "cpuinfo_vendor_umc" # string offset=705 | |
.Linfo_string33: | |
.asciz "cpuinfo_vendor_dec" # string offset=724 | |
.Linfo_string34: | |
.asciz "cpuinfo_vendor" # string offset=743 | |
.Linfo_string35: | |
.asciz "cpuinfo_uarch_unknown" # string offset=758 | |
.Linfo_string36: | |
.asciz "cpuinfo_uarch_p5" # string offset=780 | |
.Linfo_string37: | |
.asciz "cpuinfo_uarch_quark" # string offset=797 | |
.Linfo_string38: | |
.asciz "cpuinfo_uarch_p6" # string offset=817 | |
.Linfo_string39: | |
.asciz "cpuinfo_uarch_dothan" # string offset=834 | |
.Linfo_string40: | |
.asciz "cpuinfo_uarch_yonah" # string offset=855 | |
.Linfo_string41: | |
.asciz "cpuinfo_uarch_conroe" # string offset=875 | |
.Linfo_string42: | |
.asciz "cpuinfo_uarch_penryn" # string offset=896 | |
.Linfo_string43: | |
.asciz "cpuinfo_uarch_nehalem" # string offset=917 | |
.Linfo_string44: | |
.asciz "cpuinfo_uarch_sandy_bridge" # string offset=939 | |
.Linfo_string45: | |
.asciz "cpuinfo_uarch_ivy_bridge" # string offset=966 | |
.Linfo_string46: | |
.asciz "cpuinfo_uarch_haswell" # string offset=991 | |
.Linfo_string47: | |
.asciz "cpuinfo_uarch_broadwell" # string offset=1013 | |
.Linfo_string48: | |
.asciz "cpuinfo_uarch_sky_lake" # string offset=1037 | |
.Linfo_string49: | |
.asciz "cpuinfo_uarch_kaby_lake" # string offset=1060 | |
.Linfo_string50: | |
.asciz "cpuinfo_uarch_palm_cove" # string offset=1084 | |
.Linfo_string51: | |
.asciz "cpuinfo_uarch_sunny_cove" # string offset=1108 | |
.Linfo_string52: | |
.asciz "cpuinfo_uarch_willamette" # string offset=1133 | |
.Linfo_string53: | |
.asciz "cpuinfo_uarch_prescott" # string offset=1158 | |
.Linfo_string54: | |
.asciz "cpuinfo_uarch_bonnell" # string offset=1181 | |
.Linfo_string55: | |
.asciz "cpuinfo_uarch_saltwell" # string offset=1203 | |
.Linfo_string56: | |
.asciz "cpuinfo_uarch_silvermont" # string offset=1226 | |
.Linfo_string57: | |
.asciz "cpuinfo_uarch_airmont" # string offset=1251 | |
.Linfo_string58: | |
.asciz "cpuinfo_uarch_goldmont" # string offset=1273 | |
.Linfo_string59: | |
.asciz "cpuinfo_uarch_goldmont_plus" # string offset=1296 | |
.Linfo_string60: | |
.asciz "cpuinfo_uarch_knights_ferry" # string offset=1324 | |
.Linfo_string61: | |
.asciz "cpuinfo_uarch_knights_corner" # string offset=1352 | |
.Linfo_string62: | |
.asciz "cpuinfo_uarch_knights_landing" # string offset=1381 | |
.Linfo_string63: | |
.asciz "cpuinfo_uarch_knights_hill" # string offset=1411 | |
.Linfo_string64: | |
.asciz "cpuinfo_uarch_knights_mill" # string offset=1438 | |
.Linfo_string65: | |
.asciz "cpuinfo_uarch_xscale" # string offset=1465 | |
.Linfo_string66: | |
.asciz "cpuinfo_uarch_k5" # string offset=1486 | |
.Linfo_string67: | |
.asciz "cpuinfo_uarch_k6" # string offset=1503 | |
.Linfo_string68: | |
.asciz "cpuinfo_uarch_k7" # string offset=1520 | |
.Linfo_string69: | |
.asciz "cpuinfo_uarch_k8" # string offset=1537 | |
.Linfo_string70: | |
.asciz "cpuinfo_uarch_k10" # string offset=1554 | |
.Linfo_string71: | |
.asciz "cpuinfo_uarch_bulldozer" # string offset=1572 | |
.Linfo_string72: | |
.asciz "cpuinfo_uarch_piledriver" # string offset=1596 | |
.Linfo_string73: | |
.asciz "cpuinfo_uarch_steamroller" # string offset=1621 | |
.Linfo_string74: | |
.asciz "cpuinfo_uarch_excavator" # string offset=1647 | |
.Linfo_string75: | |
.asciz "cpuinfo_uarch_zen" # string offset=1671 | |
.Linfo_string76: | |
.asciz "cpuinfo_uarch_zen2" # string offset=1689 | |
.Linfo_string77: | |
.asciz "cpuinfo_uarch_zen3" # string offset=1708 | |
.Linfo_string78: | |
.asciz "cpuinfo_uarch_geode" # string offset=1727 | |
.Linfo_string79: | |
.asciz "cpuinfo_uarch_bobcat" # string offset=1747 | |
.Linfo_string80: | |
.asciz "cpuinfo_uarch_jaguar" # string offset=1768 | |
.Linfo_string81: | |
.asciz "cpuinfo_uarch_puma" # string offset=1789 | |
.Linfo_string82: | |
.asciz "cpuinfo_uarch_arm7" # string offset=1808 | |
.Linfo_string83: | |
.asciz "cpuinfo_uarch_arm9" # string offset=1827 | |
.Linfo_string84: | |
.asciz "cpuinfo_uarch_arm11" # string offset=1846 | |
.Linfo_string85: | |
.asciz "cpuinfo_uarch_cortex_a5" # string offset=1866 | |
.Linfo_string86: | |
.asciz "cpuinfo_uarch_cortex_a7" # string offset=1890 | |
.Linfo_string87: | |
.asciz "cpuinfo_uarch_cortex_a8" # string offset=1914 | |
.Linfo_string88: | |
.asciz "cpuinfo_uarch_cortex_a9" # string offset=1938 | |
.Linfo_string89: | |
.asciz "cpuinfo_uarch_cortex_a12" # string offset=1962 | |
.Linfo_string90: | |
.asciz "cpuinfo_uarch_cortex_a15" # string offset=1987 | |
.Linfo_string91: | |
.asciz "cpuinfo_uarch_cortex_a17" # string offset=2012 | |
.Linfo_string92: | |
.asciz "cpuinfo_uarch_cortex_a32" # string offset=2037 | |
.Linfo_string93: | |
.asciz "cpuinfo_uarch_cortex_a35" # string offset=2062 | |
.Linfo_string94: | |
.asciz "cpuinfo_uarch_cortex_a53" # string offset=2087 | |
.Linfo_string95: | |
.asciz "cpuinfo_uarch_cortex_a55r0" # string offset=2112 | |
.Linfo_string96: | |
.asciz "cpuinfo_uarch_cortex_a55" # string offset=2139 | |
.Linfo_string97: | |
.asciz "cpuinfo_uarch_cortex_a57" # string offset=2164 | |
.Linfo_string98: | |
.asciz "cpuinfo_uarch_cortex_a65" # string offset=2189 | |
.Linfo_string99: | |
.asciz "cpuinfo_uarch_cortex_a72" # string offset=2214 | |
.Linfo_string100: | |
.asciz "cpuinfo_uarch_cortex_a73" # string offset=2239 | |
.Linfo_string101: | |
.asciz "cpuinfo_uarch_cortex_a75" # string offset=2264 | |
.Linfo_string102: | |
.asciz "cpuinfo_uarch_cortex_a76" # string offset=2289 | |
.Linfo_string103: | |
.asciz "cpuinfo_uarch_cortex_a77" # string offset=2314 | |
.Linfo_string104: | |
.asciz "cpuinfo_uarch_cortex_a78" # string offset=2339 | |
.Linfo_string105: | |
.asciz "cpuinfo_uarch_neoverse_n1" # string offset=2364 | |
.Linfo_string106: | |
.asciz "cpuinfo_uarch_neoverse_e1" # string offset=2390 | |
.Linfo_string107: | |
.asciz "cpuinfo_uarch_cortex_x1" # string offset=2416 | |
.Linfo_string108: | |
.asciz "cpuinfo_uarch_cortex_x2" # string offset=2440 | |
.Linfo_string109: | |
.asciz "cpuinfo_uarch_cortex_a510" # string offset=2464 | |
.Linfo_string110: | |
.asciz "cpuinfo_uarch_cortex_a710" # string offset=2490 | |
.Linfo_string111: | |
.asciz "cpuinfo_uarch_scorpion" # string offset=2516 | |
.Linfo_string112: | |
.asciz "cpuinfo_uarch_krait" # string offset=2539 | |
.Linfo_string113: | |
.asciz "cpuinfo_uarch_kryo" # string offset=2559 | |
.Linfo_string114: | |
.asciz "cpuinfo_uarch_falkor" # string offset=2578 | |
.Linfo_string115: | |
.asciz "cpuinfo_uarch_saphira" # string offset=2599 | |
.Linfo_string116: | |
.asciz "cpuinfo_uarch_denver" # string offset=2621 | |
.Linfo_string117: | |
.asciz "cpuinfo_uarch_denver2" # string offset=2642 | |
.Linfo_string118: | |
.asciz "cpuinfo_uarch_carmel" # string offset=2664 | |
.Linfo_string119: | |
.asciz "cpuinfo_uarch_exynos_m1" # string offset=2685 | |
.Linfo_string120: | |
.asciz "cpuinfo_uarch_exynos_m2" # string offset=2709 | |
.Linfo_string121: | |
.asciz "cpuinfo_uarch_exynos_m3" # string offset=2733 | |
.Linfo_string122: | |
.asciz "cpuinfo_uarch_exynos_m4" # string offset=2757 | |
.Linfo_string123: | |
.asciz "cpuinfo_uarch_exynos_m5" # string offset=2781 | |
.Linfo_string124: | |
.asciz "cpuinfo_uarch_cortex_a76ae" # string offset=2805 | |
.Linfo_string125: | |
.asciz "cpuinfo_uarch_mongoose_m1" # string offset=2832 | |
.Linfo_string126: | |
.asciz "cpuinfo_uarch_mongoose_m2" # string offset=2858 | |
.Linfo_string127: | |
.asciz "cpuinfo_uarch_meerkat_m3" # string offset=2884 | |
.Linfo_string128: | |
.asciz "cpuinfo_uarch_meerkat_m4" # string offset=2909 | |
.Linfo_string129: | |
.asciz "cpuinfo_uarch_swift" # string offset=2934 | |
.Linfo_string130: | |
.asciz "cpuinfo_uarch_cyclone" # string offset=2954 | |
.Linfo_string131: | |
.asciz "cpuinfo_uarch_typhoon" # string offset=2976 | |
.Linfo_string132: | |
.asciz "cpuinfo_uarch_twister" # string offset=2998 | |
.Linfo_string133: | |
.asciz "cpuinfo_uarch_hurricane" # string offset=3020 | |
.Linfo_string134: | |
.asciz "cpuinfo_uarch_monsoon" # string offset=3044 | |
.Linfo_string135: | |
.asciz "cpuinfo_uarch_mistral" # string offset=3066 | |
.Linfo_string136: | |
.asciz "cpuinfo_uarch_vortex" # string offset=3088 | |
.Linfo_string137: | |
.asciz "cpuinfo_uarch_tempest" # string offset=3109 | |
.Linfo_string138: | |
.asciz "cpuinfo_uarch_lightning" # string offset=3131 | |
.Linfo_string139: | |
.asciz "cpuinfo_uarch_thunder" # string offset=3155 | |
.Linfo_string140: | |
.asciz "cpuinfo_uarch_firestorm" # string offset=3177 | |
.Linfo_string141: | |
.asciz "cpuinfo_uarch_icestorm" # string offset=3201 | |
.Linfo_string142: | |
.asciz "cpuinfo_uarch_thunderx" # string offset=3224 | |
.Linfo_string143: | |
.asciz "cpuinfo_uarch_thunderx2" # string offset=3247 | |
.Linfo_string144: | |
.asciz "cpuinfo_uarch_pj4" # string offset=3271 | |
.Linfo_string145: | |
.asciz "cpuinfo_uarch_brahma_b15" # string offset=3289 | |
.Linfo_string146: | |
.asciz "cpuinfo_uarch_brahma_b53" # string offset=3314 | |
.Linfo_string147: | |
.asciz "cpuinfo_uarch_xgene" # string offset=3339 | |
.Linfo_string148: | |
.asciz "cpuinfo_uarch_dhyana" # string offset=3359 | |
.Linfo_string149: | |
.asciz "cpuinfo_uarch_taishan_v110" # string offset=3380 | |
.Linfo_string150: | |
.asciz "cpuinfo_uarch" # string offset=3407 | |
.Linfo_string151: | |
.asciz "unsigned long" # string offset=3421 | |
.Linfo_string152: | |
.asciz "__uint64_t" # string offset=3435 | |
.Linfo_string153: | |
.asciz "uint64_t" # string offset=3446 | |
.Linfo_string154: | |
.asciz "cpuidex" # string offset=3455 | |
.Linfo_string155: | |
.asciz "eax" # string offset=3463 | |
.Linfo_string156: | |
.asciz "__uint32_t" # string offset=3467 | |
.Linfo_string157: | |
.asciz "uint32_t" # string offset=3478 | |
.Linfo_string158: | |
.asciz "ebx" # string offset=3487 | |
.Linfo_string159: | |
.asciz "ecx" # string offset=3491 | |
.Linfo_string160: | |
.asciz "edx" # string offset=3495 | |
.Linfo_string161: | |
.asciz "cpuid_regs" # string offset=3499 | |
.Linfo_string162: | |
.asciz "regs" # string offset=3510 | |
.Linfo_string163: | |
.asciz "cpuid" # string offset=3515 | |
.Linfo_string164: | |
.asciz "xgetbv" # string offset=3521 | |
.Linfo_string165: | |
.asciz "ext_ctrl_reg" # string offset=3528 | |
.Linfo_string166: | |
.asciz "lo" # string offset=3541 | |
.Linfo_string167: | |
.asciz "hi" # string offset=3544 | |
.Linfo_string168: | |
.asciz "DW_ATE_unsigned_32" # string offset=3547 | |
.Linfo_string169: | |
.asciz "DW_ATE_unsigned_64" # string offset=3566 | |
.Linfo_string170: | |
.asciz "cpuinfo_x86_detect_isa" # string offset=3585 | |
.Linfo_string171: | |
.asciz "rdtscp" # string offset=3608 | |
.Linfo_string172: | |
.asciz "_Bool" # string offset=3615 | |
.Linfo_string173: | |
.asciz "rdpid" # string offset=3621 | |
.Linfo_string174: | |
.asciz "sysenter" # string offset=3627 | |
.Linfo_string175: | |
.asciz "msr" # string offset=3636 | |
.Linfo_string176: | |
.asciz "clzero" # string offset=3640 | |
.Linfo_string177: | |
.asciz "clflush" # string offset=3647 | |
.Linfo_string178: | |
.asciz "clflushopt" # string offset=3655 | |
.Linfo_string179: | |
.asciz "mwait" # string offset=3666 | |
.Linfo_string180: | |
.asciz "mwaitx" # string offset=3672 | |
.Linfo_string181: | |
.asciz "fxsave" # string offset=3679 | |
.Linfo_string182: | |
.asciz "xsave" # string offset=3686 | |
.Linfo_string183: | |
.asciz "three_d_now" # string offset=3692 | |
.Linfo_string184: | |
.asciz "three_d_now_plus" # string offset=3704 | |
.Linfo_string185: | |
.asciz "prefetch" # string offset=3721 | |
.Linfo_string186: | |
.asciz "prefetchw" # string offset=3730 | |
.Linfo_string187: | |
.asciz "prefetchwt1" # string offset=3740 | |
.Linfo_string188: | |
.asciz "sse3" # string offset=3752 | |
.Linfo_string189: | |
.asciz "ssse3" # string offset=3757 | |
.Linfo_string190: | |
.asciz "sse4_1" # string offset=3763 | |
.Linfo_string191: | |
.asciz "sse4_2" # string offset=3770 | |
.Linfo_string192: | |
.asciz "sse4a" # string offset=3777 | |
.Linfo_string193: | |
.asciz "misaligned_sse" # string offset=3783 | |
.Linfo_string194: | |
.asciz "avx" # string offset=3798 | |
.Linfo_string195: | |
.asciz "fma3" # string offset=3802 | |
.Linfo_string196: | |
.asciz "fma4" # string offset=3807 | |
.Linfo_string197: | |
.asciz "xop" # string offset=3812 | |
.Linfo_string198: | |
.asciz "f16c" # string offset=3816 | |
.Linfo_string199: | |
.asciz "avx2" # string offset=3821 | |
.Linfo_string200: | |
.asciz "avx512f" # string offset=3826 | |
.Linfo_string201: | |
.asciz "avx512pf" # string offset=3834 | |
.Linfo_string202: | |
.asciz "avx512er" # string offset=3843 | |
.Linfo_string203: | |
.asciz "avx512cd" # string offset=3852 | |
.Linfo_string204: | |
.asciz "avx512dq" # string offset=3861 | |
.Linfo_string205: | |
.asciz "avx512bw" # string offset=3870 | |
.Linfo_string206: | |
.asciz "avx512vl" # string offset=3879 | |
.Linfo_string207: | |
.asciz "avx512ifma" # string offset=3888 | |
.Linfo_string208: | |
.asciz "avx512vbmi" # string offset=3899 | |
.Linfo_string209: | |
.asciz "avx512vbmi2" # string offset=3910 | |
.Linfo_string210: | |
.asciz "avx512bitalg" # string offset=3922 | |
.Linfo_string211: | |
.asciz "avx512vpopcntdq" # string offset=3935 | |
.Linfo_string212: | |
.asciz "avx512vnni" # string offset=3951 | |
.Linfo_string213: | |
.asciz "avx512bf16" # string offset=3962 | |
.Linfo_string214: | |
.asciz "avx512vp2intersect" # string offset=3973 | |
.Linfo_string215: | |
.asciz "avx512_4vnniw" # string offset=3992 | |
.Linfo_string216: | |
.asciz "avx512_4fmaps" # string offset=4006 | |
.Linfo_string217: | |
.asciz "hle" # string offset=4020 | |
.Linfo_string218: | |
.asciz "rtm" # string offset=4024 | |
.Linfo_string219: | |
.asciz "xtest" # string offset=4028 | |
.Linfo_string220: | |
.asciz "mpx" # string offset=4034 | |
.Linfo_string221: | |
.asciz "cmpxchg16b" # string offset=4038 | |
.Linfo_string222: | |
.asciz "clwb" # string offset=4049 | |
.Linfo_string223: | |
.asciz "movbe" # string offset=4054 | |
.Linfo_string224: | |
.asciz "lahf_sahf" # string offset=4060 | |
.Linfo_string225: | |
.asciz "fs_gs_base" # string offset=4070 | |
.Linfo_string226: | |
.asciz "lzcnt" # string offset=4081 | |
.Linfo_string227: | |
.asciz "popcnt" # string offset=4087 | |
.Linfo_string228: | |
.asciz "tbm" # string offset=4094 | |
.Linfo_string229: | |
.asciz "bmi" # string offset=4098 | |
.Linfo_string230: | |
.asciz "bmi2" # string offset=4102 | |
.Linfo_string231: | |
.asciz "adx" # string offset=4107 | |
.Linfo_string232: | |
.asciz "aes" # string offset=4111 | |
.Linfo_string233: | |
.asciz "vaes" # string offset=4115 | |
.Linfo_string234: | |
.asciz "pclmulqdq" # string offset=4120 | |
.Linfo_string235: | |
.asciz "vpclmulqdq" # string offset=4130 | |
.Linfo_string236: | |
.asciz "gfni" # string offset=4141 | |
.Linfo_string237: | |
.asciz "rdrand" # string offset=4146 | |
.Linfo_string238: | |
.asciz "rdseed" # string offset=4153 | |
.Linfo_string239: | |
.asciz "sha" # string offset=4160 | |
.Linfo_string240: | |
.asciz "rng" # string offset=4164 | |
.Linfo_string241: | |
.asciz "ace" # string offset=4168 | |
.Linfo_string242: | |
.asciz "ace2" # string offset=4172 | |
.Linfo_string243: | |
.asciz "phe" # string offset=4177 | |
.Linfo_string244: | |
.asciz "pmm" # string offset=4181 | |
.Linfo_string245: | |
.asciz "lwp" # string offset=4185 | |
.Linfo_string246: | |
.asciz "cpuinfo_x86_isa" # string offset=4189 | |
.Linfo_string247: | |
.asciz "basic_info" # string offset=4205 | |
.Linfo_string248: | |
.asciz "extended_info" # string offset=4216 | |
.Linfo_string249: | |
.asciz "max_base_index" # string offset=4230 | |
.Linfo_string250: | |
.asciz "max_extended_index" # string offset=4245 | |
.Linfo_string251: | |
.asciz "vendor" # string offset=4264 | |
.Linfo_string252: | |
.asciz "uarch" # string offset=4271 | |
.Linfo_string253: | |
.asciz "isa" # string offset=4277 | |
.Linfo_string254: | |
.asciz "structured_feature_info1" # string offset=4281 | |
.Linfo_string255: | |
.asciz "processor_capacity_info_index" # string offset=4306 | |
.Linfo_string256: | |
.asciz "processor_capacity_info" # string offset=4336 | |
.Linfo_string257: | |
.asciz "avx_regs" # string offset=4360 | |
.Linfo_string258: | |
.asciz "avx512_regs" # string offset=4369 | |
.Linfo_string259: | |
.asciz "mpx_regs" # string offset=4381 | |
.Linfo_string260: | |
.asciz "osxsave_mask" # string offset=4390 | |
.Linfo_string261: | |
.asciz "xcr0_valid_bits" # string offset=4403 | |
.Linfo_string262: | |
.asciz "avx_regs_mask" # string offset=4419 | |
.Linfo_string263: | |
.asciz "avx512_regs_mask" # string offset=4433 | |
.Linfo_string264: | |
.asciz "mpx_regs_mask" # string offset=4450 | |
.Linfo_string265: | |
.asciz "padlock_meta_info" # string offset=4464 | |
.Linfo_string266: | |
.asciz "max_padlock_index" # string offset=4482 | |
.Linfo_string267: | |
.asciz "padlock_info_index" # string offset=4500 | |
.Linfo_string268: | |
.asciz "padlock_info" # string offset=4519 | |
.Linfo_string269: | |
.asciz "padlock_rng_mask" # string offset=4532 | |
.Linfo_string270: | |
.asciz "padlock_ace_mask" # string offset=4549 | |
.Linfo_string271: | |
.asciz "padlock_ace2_mask" # string offset=4566 | |
.Linfo_string272: | |
.asciz "padlock_phe_mask" # string offset=4584 | |
.Linfo_string273: | |
.asciz "padlock_pmm_mask" # string offset=4601 | |
.Linfo_string274: | |
.asciz "structured_feature_info0" # string offset=4618 | |
.Linfo_string275: | |
.asciz "xfeature_enabled_mask" # string offset=4643 | |
.section .debug_str_offsets,"",@progbits | |
.long .Linfo_string0 | |
.long .Linfo_string1 | |
.long .Linfo_string2 | |
.long .Linfo_string3 | |
.long .Linfo_string4 | |
.long .Linfo_string5 | |
.long .Linfo_string6 | |
.long .Linfo_string7 | |
.long .Linfo_string8 | |
.long .Linfo_string9 | |
.long .Linfo_string10 | |
.long .Linfo_string11 | |
.long .Linfo_string12 | |
.long .Linfo_string13 | |
.long .Linfo_string14 | |
.long .Linfo_string15 | |
.long .Linfo_string16 | |
.long .Linfo_string17 | |
.long .Linfo_string18 | |
.long .Linfo_string19 | |
.long .Linfo_string20 | |
.long .Linfo_string21 | |
.long .Linfo_string22 | |
.long .Linfo_string23 | |
.long .Linfo_string24 | |
.long .Linfo_string25 | |
.long .Linfo_string26 | |
.long .Linfo_string27 | |
.long .Linfo_string28 | |
.long .Linfo_string29 | |
.long .Linfo_string30 | |
.long .Linfo_string31 | |
.long .Linfo_string32 | |
.long .Linfo_string33 | |
.long .Linfo_string34 | |
.long .Linfo_string35 | |
.long .Linfo_string36 | |
.long .Linfo_string37 | |
.long .Linfo_string38 | |
.long .Linfo_string39 | |
.long .Linfo_string40 | |
.long .Linfo_string41 | |
.long .Linfo_string42 | |
.long .Linfo_string43 | |
.long .Linfo_string44 | |
.long .Linfo_string45 | |
.long .Linfo_string46 | |
.long .Linfo_string47 | |
.long .Linfo_string48 | |
.long .Linfo_string49 | |
.long .Linfo_string50 | |
.long .Linfo_string51 | |
.long .Linfo_string52 | |
.long .Linfo_string53 | |
.long .Linfo_string54 | |
.long .Linfo_string55 | |
.long .Linfo_string56 | |
.long .Linfo_string57 | |
.long .Linfo_string58 | |
.long .Linfo_string59 | |
.long .Linfo_string60 | |
.long .Linfo_string61 | |
.long .Linfo_string62 | |
.long .Linfo_string63 | |
.long .Linfo_string64 | |
.long .Linfo_string65 | |
.long .Linfo_string66 | |
.long .Linfo_string67 | |
.long .Linfo_string68 | |
.long .Linfo_string69 | |
.long .Linfo_string70 | |
.long .Linfo_string71 | |
.long .Linfo_string72 | |
.long .Linfo_string73 | |
.long .Linfo_string74 | |
.long .Linfo_string75 | |
.long .Linfo_string76 | |
.long .Linfo_string77 | |
.long .Linfo_string78 | |
.long .Linfo_string79 | |
.long .Linfo_string80 | |
.long .Linfo_string81 | |
.long .Linfo_string82 | |
.long .Linfo_string83 | |
.long .Linfo_string84 | |
.long .Linfo_string85 | |
.long .Linfo_string86 | |
.long .Linfo_string87 | |
.long .Linfo_string88 | |
.long .Linfo_string89 | |
.long .Linfo_string90 | |
.long .Linfo_string91 | |
.long .Linfo_string92 | |
.long .Linfo_string93 | |
.long .Linfo_string94 | |
.long .Linfo_string95 | |
.long .Linfo_string96 | |
.long .Linfo_string97 | |
.long .Linfo_string98 | |
.long .Linfo_string99 | |
.long .Linfo_string100 | |
.long .Linfo_string101 | |
.long .Linfo_string102 | |
.long .Linfo_string103 | |
.long .Linfo_string104 | |
.long .Linfo_string105 | |
.long .Linfo_string106 | |
.long .Linfo_string107 | |
.long .Linfo_string108 | |
.long .Linfo_string109 | |
.long .Linfo_string110 | |
.long .Linfo_string111 | |
.long .Linfo_string112 | |
.long .Linfo_string113 | |
.long .Linfo_string114 | |
.long .Linfo_string115 | |
.long .Linfo_string116 | |
.long .Linfo_string117 | |
.long .Linfo_string118 | |
.long .Linfo_string119 | |
.long .Linfo_string120 | |
.long .Linfo_string121 | |
.long .Linfo_string122 | |
.long .Linfo_string123 | |
.long .Linfo_string124 | |
.long .Linfo_string125 | |
.long .Linfo_string126 | |
.long .Linfo_string127 | |
.long .Linfo_string128 | |
.long .Linfo_string129 | |
.long .Linfo_string130 | |
.long .Linfo_string131 | |
.long .Linfo_string132 | |
.long .Linfo_string133 | |
.long .Linfo_string134 | |
.long .Linfo_string135 | |
.long .Linfo_string136 | |
.long .Linfo_string137 | |
.long .Linfo_string138 | |
.long .Linfo_string139 | |
.long .Linfo_string140 | |
.long .Linfo_string141 | |
.long .Linfo_string142 | |
.long .Linfo_string143 | |
.long .Linfo_string144 | |
.long .Linfo_string145 | |
.long .Linfo_string146 | |
.long .Linfo_string147 | |
.long .Linfo_string148 | |
.long .Linfo_string149 | |
.long .Linfo_string150 | |
.long .Linfo_string151 | |
.long .Linfo_string152 | |
.long .Linfo_string153 | |
.long .Linfo_string154 | |
.long .Linfo_string155 | |
.long .Linfo_string156 | |
.long .Linfo_string157 | |
.long .Linfo_string158 | |
.long .Linfo_string159 | |
.long .Linfo_string160 | |
.long .Linfo_string161 | |
.long .Linfo_string162 | |
.long .Linfo_string163 | |
.long .Linfo_string164 | |
.long .Linfo_string165 | |
.long .Linfo_string166 | |
.long .Linfo_string167 | |
.long .Linfo_string168 | |
.long .Linfo_string169 | |
.long .Linfo_string170 | |
.long .Linfo_string171 | |
.long .Linfo_string172 | |
.long .Linfo_string173 | |
.long .Linfo_string174 | |
.long .Linfo_string175 | |
.long .Linfo_string176 | |
.long .Linfo_string177 | |
.long .Linfo_string178 | |
.long .Linfo_string179 | |
.long .Linfo_string180 | |
.long .Linfo_string181 | |
.long .Linfo_string182 | |
.long .Linfo_string183 | |
.long .Linfo_string184 | |
.long .Linfo_string185 | |
.long .Linfo_string186 | |
.long .Linfo_string187 | |
.long .Linfo_string188 | |
.long .Linfo_string189 | |
.long .Linfo_string190 | |
.long .Linfo_string191 | |
.long .Linfo_string192 | |
.long .Linfo_string193 | |
.long .Linfo_string194 | |
.long .Linfo_string195 | |
.long .Linfo_string196 | |
.long .Linfo_string197 | |
.long .Linfo_string198 | |
.long .Linfo_string199 | |
.long .Linfo_string200 | |
.long .Linfo_string201 | |
.long .Linfo_string202 | |
.long .Linfo_string203 | |
.long .Linfo_string204 | |
.long .Linfo_string205 | |
.long .Linfo_string206 | |
.long .Linfo_string207 | |
.long .Linfo_string208 | |
.long .Linfo_string209 | |
.long .Linfo_string210 | |
.long .Linfo_string211 | |
.long .Linfo_string212 | |
.long .Linfo_string213 | |
.long .Linfo_string214 | |
.long .Linfo_string215 | |
.long .Linfo_string216 | |
.long .Linfo_string217 | |
.long .Linfo_string218 | |
.long .Linfo_string219 | |
.long .Linfo_string220 | |
.long .Linfo_string221 | |
.long .Linfo_string222 | |
.long .Linfo_string223 | |
.long .Linfo_string224 | |
.long .Linfo_string225 | |
.long .Linfo_string226 | |
.long .Linfo_string227 | |
.long .Linfo_string228 | |
.long .Linfo_string229 | |
.long .Linfo_string230 | |
.long .Linfo_string231 | |
.long .Linfo_string232 | |
.long .Linfo_string233 | |
.long .Linfo_string234 | |
.long .Linfo_string235 | |
.long .Linfo_string236 | |
.long .Linfo_string237 | |
.long .Linfo_string238 | |
.long .Linfo_string239 | |
.long .Linfo_string240 | |
.long .Linfo_string241 | |
.long .Linfo_string242 | |
.long .Linfo_string243 | |
.long .Linfo_string244 | |
.long .Linfo_string245 | |
.long .Linfo_string246 | |
.long .Linfo_string247 | |
.long .Linfo_string248 | |
.long .Linfo_string249 | |
.long .Linfo_string250 | |
.long .Linfo_string251 | |
.long .Linfo_string252 | |
.long .Linfo_string253 | |
.long .Linfo_string254 | |
.long .Linfo_string255 | |
.long .Linfo_string256 | |
.long .Linfo_string257 | |
.long .Linfo_string258 | |
.long .Linfo_string259 | |
.long .Linfo_string260 | |
.long .Linfo_string261 | |
.long .Linfo_string262 | |
.long .Linfo_string263 | |
.long .Linfo_string264 | |
.long .Linfo_string265 | |
.long .Linfo_string266 | |
.long .Linfo_string267 | |
.long .Linfo_string268 | |
.long .Linfo_string269 | |
.long .Linfo_string270 | |
.long .Linfo_string271 | |
.long .Linfo_string272 | |
.long .Linfo_string273 | |
.long .Linfo_string274 | |
.long .Linfo_string275 | |
.section .debug_addr,"",@progbits | |
.long .Ldebug_addr_end0-.Ldebug_addr_start0 # Length of contribution | |
.Ldebug_addr_start0: | |
.short 5 # DWARF version number | |
.byte 8 # Address size | |
.byte 0 # Segment selector size | |
.Laddr_table_base0: | |
.quad .Lfunc_begin0 | |
.quad .Ltmp6 | |
.quad .Ltmp11 | |
.quad .Ltmp16 | |
.quad .Ltmp26 | |
.quad .Ltmp28 | |
.quad .Ltmp66 | |
.quad .Ltmp69 | |
.Ldebug_addr_end0: | |
.ident "clang version 0fe13b5f84abe1716f5991da057c801dc548a9ab" | |
.section ".note.GNU-stack","",@progbits | |
.section .debug_line,"",@progbits | |
.Lline_table_start0: |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
; ModuleID = 'cpuinfo/src/x86/isa.c' | |
source_filename = "cpuinfo/src/x86/isa.c" | |
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128" | |
target triple = "x86_64-unknown-linux-gnu" | |
%struct.cpuinfo_x86_isa = type { i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8 } | |
@llvm.used = appending global [1 x i8*] [i8* bitcast (void ()* @msan.module_ctor to i8*)], section "llvm.metadata" | |
@llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 0, void ()* @msan.module_ctor, i8* null }] | |
@__msan_param_tls = external thread_local(initialexec) global [100 x i64] | |
; Function Attrs: nounwind optsize sanitize_memory | |
define hidden void @cpuinfo_x86_detect_isa(%struct.cpuinfo_x86_isa* noalias sret(%struct.cpuinfo_x86_isa) align 1 %agg.result, i64 %basic_info.coerce0, i64 %basic_info.coerce1, i64 %extended_info.coerce0, i64 %extended_info.coerce1, i32 noundef %max_base_index, i32 noundef %max_extended_index, i32 noundef %vendor, i32 noundef %uarch) local_unnamed_addr #0 !dbg !166 { | |
entry: | |
%0 = load i64, i64* inttoptr (i64 add (i64 ptrtoint ([100 x i64]* @__msan_param_tls to i64), i64 16) to i64*), align 8, !dbg !297 | |
%1 = load i64, i64* inttoptr (i64 add (i64 ptrtoint ([100 x i64]* @__msan_param_tls to i64), i64 32) to i64*), align 8, !dbg !297 | |
%2 = load i64, i64* getelementptr inbounds ([100 x i64], [100 x i64]* @__msan_param_tls, i32 0, i32 0), align 8, !dbg !297 | |
call void @llvm.dbg.value(metadata i64 %basic_info.coerce0, metadata !257, metadata !DIExpression(DW_OP_LLVM_fragment, 0, 64)), !dbg !297 | |
%_msprop = trunc i64 %0 to i32 | |
%basic_info.sroa.1.8.extract.trunc = trunc i64 %basic_info.coerce1 to i32 | |
call void @llvm.dbg.value(metadata i32 %basic_info.sroa.1.8.extract.trunc, metadata !257, metadata !DIExpression(DW_OP_LLVM_fragment, 64, 32)), !dbg !297 | |
%3 = lshr i64 %0, 32 | |
%basic_info.sroa.18.8.extract.shift = lshr i64 %basic_info.coerce1, 32 | |
call void @llvm.dbg.value(metadata i64 %basic_info.sroa.18.8.extract.shift, metadata !257, metadata !DIExpression(DW_OP_LLVM_convert, 64, DW_ATE_unsigned, DW_OP_LLVM_convert, 32, DW_ATE_unsigned, DW_OP_stack_value, DW_OP_LLVM_fragment, 96, 32)), !dbg !297 | |
call void @llvm.dbg.value(metadata i64 %extended_info.coerce0, metadata !258, metadata !DIExpression(DW_OP_LLVM_fragment, 0, 64)), !dbg !297 | |
%_msprop939 = trunc i64 %1 to i32 | |
%extended_info.sroa.1.8.extract.trunc = trunc i64 %extended_info.coerce1 to i32 | |
call void @llvm.dbg.value(metadata i32 %extended_info.sroa.1.8.extract.trunc, metadata !258, metadata !DIExpression(DW_OP_LLVM_fragment, 64, 32)), !dbg !297 | |
%4 = lshr i64 %1, 32 | |
%extended_info.sroa.14.8.extract.shift = lshr i64 %extended_info.coerce1, 32 | |
%_msprop940 = trunc i64 %4 to i32 | |
%extended_info.sroa.14.8.extract.trunc = trunc i64 %extended_info.sroa.14.8.extract.shift to i32 | |
call void @llvm.dbg.value(metadata i32 %extended_info.sroa.14.8.extract.trunc, metadata !258, metadata !DIExpression(DW_OP_LLVM_fragment, 96, 32)), !dbg !297 | |
call void @llvm.dbg.value(metadata i32 %max_base_index, metadata !259, metadata !DIExpression()), !dbg !297 | |
call void @llvm.dbg.value(metadata i32 %max_extended_index, metadata !260, metadata !DIExpression()), !dbg !297 | |
call void @llvm.dbg.value(metadata i32 %vendor, metadata !261, metadata !DIExpression()), !dbg !297 | |
call void @llvm.dbg.value(metadata i32 %uarch, metadata !262, metadata !DIExpression()), !dbg !297 | |
call void @llvm.dbg.declare(metadata %struct.cpuinfo_x86_isa* %agg.result, metadata !263, metadata !DIExpression()), !dbg !298 | |
%5 = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 0, !dbg !298 | |
%6 = call i8* @__msan_memset(i8* %5, i32 0, i64 74), !dbg !298 | |
%7 = icmp ugt i32 %max_base_index, 6, !dbg !299 | |
br i1 false, label %8, label %9, !dbg !300, !prof !301 | |
8: ; preds = %entry | |
call void @__msan_warning_with_origin_noreturn(i32 0) #4, !dbg !300 | |
unreachable, !dbg !300 | |
9: ; preds = %entry | |
br i1 %7, label %cond.true2, label %cond.end9, !dbg !300 | |
cond.true2: ; preds = %9 | |
call void @llvm.dbg.value(metadata i32 7, metadata !302, metadata !DIExpression()) #5, !dbg !310 | |
call void @llvm.dbg.value(metadata i32 0, metadata !308, metadata !DIExpression()) #5, !dbg !310 | |
%10 = tail call { i32, i32, i32, i32 } asm " xchgq %rbx,${1:q}\0A cpuid\0A xchgq %rbx,${1:q}", "={ax},=r,={cx},={dx},0,2,~{dirflag},~{fpsr},~{flags}"(i32 7, i32 0) #6, !dbg !312, !srcloc !313 | |
%asmresult3.i = extractvalue { i32, i32, i32, i32 } %10, 1, !dbg !312 | |
%asmresult4.i = extractvalue { i32, i32, i32, i32 } %10, 2, !dbg !312 | |
%asmresult5.i = extractvalue { i32, i32, i32, i32 } %10, 3, !dbg !312 | |
call void @llvm.dbg.value(metadata i32 undef, metadata !309, metadata !DIExpression(DW_OP_LLVM_fragment, 0, 32)) #5, !dbg !310 | |
call void @llvm.dbg.value(metadata i32 %asmresult3.i, metadata !309, metadata !DIExpression(DW_OP_LLVM_fragment, 32, 32)) #5, !dbg !310 | |
call void @llvm.dbg.value(metadata i32 %asmresult4.i, metadata !309, metadata !DIExpression(DW_OP_LLVM_fragment, 64, 32)) #5, !dbg !310 | |
call void @llvm.dbg.value(metadata i32 %asmresult5.i, metadata !309, metadata !DIExpression(DW_OP_LLVM_fragment, 96, 32)) #5, !dbg !310 | |
%retval.sroa.2.0.insert.ext.i = zext i32 %asmresult3.i to i64, !dbg !314 | |
%retval.sroa.2.0.insert.shift.i = shl nuw i64 %retval.sroa.2.0.insert.ext.i, 32, !dbg !314 | |
%retval.sroa.5.8.insert.ext.i = zext i32 %asmresult5.i to i64, !dbg !314 | |
%retval.sroa.5.8.insert.shift.i = shl nuw i64 %retval.sroa.5.8.insert.ext.i, 32, !dbg !314 | |
%retval.sroa.3.8.insert.ext.i = zext i32 %asmresult4.i to i64, !dbg !314 | |
%11 = xor i64 %retval.sroa.5.8.insert.shift.i, -1, !dbg !314 | |
%12 = xor i64 %retval.sroa.3.8.insert.ext.i, -1, !dbg !314 | |
%retval.sroa.3.8.insert.insert.i = or i64 %retval.sroa.5.8.insert.shift.i, %retval.sroa.3.8.insert.ext.i, !dbg !314 | |
call void @llvm.dbg.value(metadata i64 undef, metadata !264, metadata !DIExpression(DW_OP_LLVM_fragment, 64, 64)), !dbg !297 | |
call void @llvm.dbg.value(metadata i64 undef, metadata !264, metadata !DIExpression(DW_OP_LLVM_fragment, 0, 64)), !dbg !297 | |
call void @llvm.dbg.value(metadata i32 7, metadata !302, metadata !DIExpression()) #5, !dbg !315 | |
call void @llvm.dbg.value(metadata i32 1, metadata !308, metadata !DIExpression()) #5, !dbg !315 | |
%13 = tail call { i32, i32, i32, i32 } asm " xchgq %rbx,${1:q}\0A cpuid\0A xchgq %rbx,${1:q}", "={ax},=r,={cx},={dx},0,2,~{dirflag},~{fpsr},~{flags}"(i32 7, i32 1) #6, !dbg !317, !srcloc !313 | |
%asmresult.i858 = extractvalue { i32, i32, i32, i32 } %13, 0, !dbg !317 | |
call void @llvm.dbg.value(metadata i32 %asmresult.i858, metadata !309, metadata !DIExpression(DW_OP_LLVM_fragment, 0, 32)) #5, !dbg !315 | |
call void @llvm.dbg.value(metadata i32 undef, metadata !309, metadata !DIExpression(DW_OP_LLVM_fragment, 32, 32)) #5, !dbg !315 | |
call void @llvm.dbg.value(metadata i32 undef, metadata !309, metadata !DIExpression(DW_OP_LLVM_fragment, 64, 32)) #5, !dbg !315 | |
call void @llvm.dbg.value(metadata i32 undef, metadata !309, metadata !DIExpression(DW_OP_LLVM_fragment, 96, 32)) #5, !dbg !315 | |
%retval.sroa.0.0.insert.ext.i864 = trunc i32 %asmresult.i858 to i8, !dbg !318 | |
call void @llvm.dbg.value(metadata !DIArgList(i64 0, i32 %asmresult.i858), metadata !265, metadata !DIExpression(DW_OP_LLVM_arg, 0, DW_OP_constu, 32, DW_OP_shl, DW_OP_LLVM_arg, 1, DW_OP_LLVM_convert, 32, DW_ATE_unsigned, DW_OP_LLVM_convert, 64, DW_ATE_unsigned, DW_OP_or, DW_OP_stack_value, DW_OP_LLVM_fragment, 0, 64)), !dbg !297 | |
call void @llvm.dbg.value(metadata i64 undef, metadata !265, metadata !DIExpression(DW_OP_LLVM_fragment, 64, 64)), !dbg !297 | |
%phi.bo935 = lshr i8 %retval.sroa.0.0.insert.ext.i864, 5, !dbg !319 | |
%phi.bo936 = and i8 %phi.bo935, 1, !dbg !319 | |
br label %cond.end9, !dbg !319 | |
cond.end9: ; preds = %9, %cond.true2 | |
%structured_feature_info0.sroa.25.0932 = phi i64 [ %retval.sroa.3.8.insert.insert.i, %cond.true2 ], [ 0, %9 ] | |
%structured_feature_info0.sroa.0.0930 = phi i64 [ %retval.sroa.2.0.insert.shift.i, %cond.true2 ], [ 0, %9 ] | |
%structured_feature_info1.sroa.0.0 = phi i8 [ %phi.bo936, %cond.true2 ], [ 0, %9 ] | |
call void @llvm.dbg.value(metadata i64 undef, metadata !265, metadata !DIExpression(DW_OP_LLVM_fragment, 0, 64)), !dbg !297 | |
call void @llvm.dbg.value(metadata i32 -2147483640, metadata !266, metadata !DIExpression()), !dbg !297 | |
%14 = icmp ugt i32 %max_extended_index, -2147483641, !dbg !320 | |
br i1 false, label %15, label %16, !dbg !321, !prof !301 | |
15: ; preds = %cond.end9 | |
call void @__msan_warning_with_origin_noreturn(i32 0) #4, !dbg !321 | |
unreachable, !dbg !321 | |
16: ; preds = %cond.end9 | |
br i1 %14, label %cond.true11, label %cond.end18, !dbg !321 | |
cond.true11: ; preds = %16 | |
call void @llvm.dbg.value(metadata i32 -2147483640, metadata !322, metadata !DIExpression()) #5, !dbg !328 | |
%17 = tail call { i32, i32, i32, i32 } asm " xchgq %rbx,${1:q}\0A cpuid\0A xchgq %rbx,${1:q}", "={ax},=r,={cx},={dx},0,~{dirflag},~{fpsr},~{flags}"(i32 -2147483640) #6, !dbg !330, !srcloc !331 | |
%asmresult2.i = extractvalue { i32, i32, i32, i32 } %17, 1, !dbg !330 | |
call void @llvm.dbg.value(metadata i32 undef, metadata !327, metadata !DIExpression(DW_OP_LLVM_fragment, 0, 32)) #5, !dbg !328 | |
call void @llvm.dbg.value(metadata i32 %asmresult2.i, metadata !327, metadata !DIExpression(DW_OP_LLVM_fragment, 32, 32)) #5, !dbg !328 | |
call void @llvm.dbg.value(metadata i32 undef, metadata !327, metadata !DIExpression(DW_OP_LLVM_fragment, 64, 32)) #5, !dbg !328 | |
call void @llvm.dbg.value(metadata i32 undef, metadata !327, metadata !DIExpression(DW_OP_LLVM_fragment, 96, 32)) #5, !dbg !328 | |
call void @llvm.dbg.value(metadata i64 undef, metadata !268, metadata !DIExpression(DW_OP_LLVM_fragment, 64, 64)), !dbg !297 | |
%phi.cast = trunc i32 %asmresult2.i to i8, !dbg !321 | |
call void @llvm.dbg.value(metadata !DIArgList(i32 %asmresult2.i, i32 undef), metadata !268, metadata !DIExpression(DW_OP_LLVM_arg, 0, DW_OP_LLVM_convert, 32, DW_ATE_unsigned, DW_OP_LLVM_convert, 64, DW_ATE_unsigned, DW_OP_constu, 32, DW_OP_shl, DW_OP_LLVM_arg, 1, DW_OP_LLVM_convert, 32, DW_ATE_unsigned, DW_OP_LLVM_convert, 64, DW_ATE_unsigned, DW_OP_or, DW_OP_stack_value, DW_OP_LLVM_fragment, 0, 64)), !dbg !297 | |
%phi.bo = and i8 %phi.cast, 1, !dbg !321 | |
br label %cond.end18, !dbg !321 | |
cond.end18: ; preds = %16, %cond.true11 | |
%processor_capacity_info.sroa.0.0 = phi i8 [ %phi.bo, %cond.true11 ], [ 0, %16 ] | |
call void @llvm.dbg.value(metadata i64 undef, metadata !268, metadata !DIExpression(DW_OP_LLVM_fragment, 0, 64)), !dbg !297 | |
call void @llvm.dbg.value(metadata i8 0, metadata !269, metadata !DIExpression()), !dbg !297 | |
call void @llvm.dbg.value(metadata i8 0, metadata !270, metadata !DIExpression()), !dbg !297 | |
call void @llvm.dbg.value(metadata i8 0, metadata !271, metadata !DIExpression()), !dbg !297 | |
call void @llvm.dbg.value(metadata i32 201326592, metadata !272, metadata !DIExpression()), !dbg !297 | |
%18 = and i32 %_msprop, 201326592, !dbg !332 | |
%and = and i32 %basic_info.sroa.1.8.extract.trunc, 201326592, !dbg !332 | |
%19 = xor i32 %and, 201326592, !dbg !333 | |
%20 = icmp ne i32 %18, 0, !dbg !333 | |
%21 = xor i32 %18, -1, !dbg !333 | |
%22 = and i32 %21, %19, !dbg !333 | |
%23 = icmp eq i32 %22, 0, !dbg !333 | |
%_msprop_icmp = and i1 %20, %23, !dbg !333 | |
%cmp20 = icmp eq i32 %and, 201326592, !dbg !333 | |
br i1 %_msprop_icmp, label %24, label %25, !dbg !334, !prof !301 | |
24: ; preds = %cond.end18 | |
call void @__msan_warning_with_origin_noreturn(i32 0) #4, !dbg !334 | |
unreachable, !dbg !334 | |
25: ; preds = %cond.end18 | |
br i1 %cmp20, label %if.then, label %if.end54, !dbg !334 | |
if.then: ; preds = %25 | |
call void @llvm.dbg.value(metadata i64 0, metadata !273, metadata !DIExpression()), !dbg !335 | |
%26 = icmp ugt i32 %max_base_index, 12, !dbg !336 | |
br i1 false, label %27, label %28, !dbg !337, !prof !301 | |
27: ; preds = %if.then | |
call void @__msan_warning_with_origin_noreturn(i32 0) #4, !dbg !337 | |
unreachable, !dbg !337 | |
28: ; preds = %if.then | |
br i1 %26, label %if.then22, label %if.end, !dbg !337 | |
if.then22: ; preds = %28 | |
call void @llvm.dbg.value(metadata i32 13, metadata !302, metadata !DIExpression()) #5, !dbg !338 | |
call void @llvm.dbg.value(metadata i32 0, metadata !308, metadata !DIExpression()) #5, !dbg !338 | |
%29 = tail call { i32, i32, i32, i32 } asm " xchgq %rbx,${1:q}\0A cpuid\0A xchgq %rbx,${1:q}", "={ax},=r,={cx},={dx},0,2,~{dirflag},~{fpsr},~{flags}"(i32 13, i32 0) #6, !dbg !340, !srcloc !313 | |
%asmresult.i885 = extractvalue { i32, i32, i32, i32 } %29, 0, !dbg !340 | |
call void @llvm.dbg.value(metadata i32 %asmresult.i885, metadata !309, metadata !DIExpression(DW_OP_LLVM_fragment, 0, 32)) #5, !dbg !338 | |
call void @llvm.dbg.value(metadata i32 undef, metadata !309, metadata !DIExpression(DW_OP_LLVM_fragment, 32, 32)) #5, !dbg !338 | |
call void @llvm.dbg.value(metadata i32 undef, metadata !309, metadata !DIExpression(DW_OP_LLVM_fragment, 64, 32)) #5, !dbg !338 | |
call void @llvm.dbg.value(metadata i32 undef, metadata !309, metadata !DIExpression(DW_OP_LLVM_fragment, 96, 32)) #5, !dbg !338 | |
%retval.sroa.0.0.insert.ext.i891 = zext i32 %asmresult.i885 to i64, !dbg !341 | |
call void @llvm.dbg.value(metadata !DIArgList(i32 undef, i64 %retval.sroa.0.0.insert.ext.i891), metadata !276, metadata !DIExpression(DW_OP_LLVM_arg, 0, DW_OP_LLVM_convert, 32, DW_ATE_unsigned, DW_OP_LLVM_convert, 64, DW_ATE_unsigned, DW_OP_constu, 32, DW_OP_shl, DW_OP_LLVM_arg, 1, DW_OP_or, DW_OP_stack_value, DW_OP_LLVM_fragment, 0, 64)), !dbg !342 | |
call void @llvm.dbg.value(metadata !DIArgList(i64 0, i32 undef), metadata !276, metadata !DIExpression(DW_OP_LLVM_arg, 0, DW_OP_LLVM_arg, 1, DW_OP_LLVM_convert, 32, DW_ATE_unsigned, DW_OP_LLVM_convert, 64, DW_ATE_unsigned, DW_OP_or, DW_OP_stack_value, DW_OP_LLVM_fragment, 64, 64)), !dbg !342 | |
call void @llvm.dbg.value(metadata i64 %retval.sroa.0.0.insert.ext.i891, metadata !273, metadata !DIExpression()), !dbg !335 | |
br label %if.end, !dbg !343 | |
if.end: ; preds = %if.then22, %28 | |
%xcr0_valid_bits.0 = phi i64 [ %retval.sroa.0.0.insert.ext.i891, %if.then22 ], [ 0, %28 ], !dbg !335 | |
call void @llvm.dbg.value(metadata i64 %xcr0_valid_bits.0, metadata !273, metadata !DIExpression()), !dbg !335 | |
call void @llvm.dbg.value(metadata i32 0, metadata !344, metadata !DIExpression()) #5, !dbg !351 | |
%30 = tail call { i32, i32 } asm ".byte 0x0F, 0x01, 0xD0", "={ax},={dx},{cx},~{dirflag},~{fpsr},~{flags}"(i32 0) #6, !dbg !353, !srcloc !354 | |
%asmresult.i899 = extractvalue { i32, i32 } %30, 0, !dbg !353 | |
call void @llvm.dbg.value(metadata i32 %asmresult.i899, metadata !349, metadata !DIExpression()) #5, !dbg !351 | |
call void @llvm.dbg.value(metadata i32 undef, metadata !350, metadata !DIExpression()) #5, !dbg !351 | |
%conv2.i = zext i32 %asmresult.i899 to i64, !dbg !355 | |
call void @llvm.dbg.value(metadata !DIArgList(i64 0, i64 %conv2.i), metadata !279, metadata !DIExpression(DW_OP_LLVM_arg, 0, DW_OP_constu, 32, DW_OP_shl, DW_OP_LLVM_arg, 1, DW_OP_or, DW_OP_stack_value)), !dbg !335 | |
call void @llvm.dbg.value(metadata i64 6, metadata !281, metadata !DIExpression()), !dbg !335 | |
%31 = insertelement <2 x i64> poison, i64 %xcr0_valid_bits.0, i64 0, !dbg !356 | |
%32 = shufflevector <2 x i64> %31, <2 x i64> poison, <2 x i32> zeroinitializer, !dbg !356 | |
%33 = and <2 x i64> %32, <i64 6, i64 230>, !dbg !356 | |
call void @llvm.dbg.value(metadata i8 undef, metadata !269, metadata !DIExpression()), !dbg !297 | |
call void @llvm.dbg.value(metadata i64 230, metadata !282, metadata !DIExpression()), !dbg !335 | |
%34 = xor <2 x i64> %33, <i64 6, i64 230>, !dbg !358 | |
%35 = icmp eq <2 x i64> %34, zeroinitializer, !dbg !358 | |
%36 = icmp eq <2 x i64> %33, <i64 6, i64 230>, !dbg !358 | |
%37 = insertelement <2 x i64> poison, i64 %conv2.i, i64 0, !dbg !359 | |
%38 = shufflevector <2 x i64> %37, <2 x i64> poison, <2 x i32> zeroinitializer, !dbg !359 | |
%39 = and <2 x i64> %38, <i64 6, i64 230>, !dbg !359 | |
%40 = xor <2 x i64> %39, <i64 6, i64 230>, !dbg !359 | |
%41 = icmp eq <2 x i64> %40, zeroinitializer, !dbg !359 | |
%42 = icmp eq <2 x i64> %39, <i64 6, i64 230>, !dbg !359 | |
%43 = select <2 x i1> %36, <2 x i1> %42, <2 x i1> zeroinitializer, !dbg !359 | |
call void @llvm.dbg.value(metadata i8 undef, metadata !270, metadata !DIExpression()), !dbg !297 | |
call void @llvm.dbg.value(metadata i64 24, metadata !283, metadata !DIExpression()), !dbg !335 | |
%and45 = and i64 %xcr0_valid_bits.0, 24, !dbg !360 | |
%44 = xor i64 %and45, 24, !dbg !362 | |
%45 = icmp eq i64 %44, 0, !dbg !362 | |
%cmp46 = icmp eq i64 %and45, 24, !dbg !362 | |
%and49 = and i64 %conv2.i, 24, !dbg !363 | |
%46 = xor i64 %and49, 24, !dbg !363 | |
%47 = icmp eq i64 %46, 0, !dbg !363 | |
%cmp50 = icmp eq i64 %and49, 24, !dbg !363 | |
%mpx_regs.0 = select i1 %cmp46, i1 %cmp50, i1 false, !dbg !363 | |
call void @llvm.dbg.value(metadata i8 undef, metadata !271, metadata !DIExpression()), !dbg !297 | |
br label %if.end54, !dbg !364 | |
if.end54: ; preds = %if.end, %25 | |
%mpx_regs.1 = phi i1 [ %mpx_regs.0, %if.end ], [ false, %25 ], !dbg !297 | |
%48 = phi <2 x i1> [ %43, %if.end ], [ zeroinitializer, %25 ], !dbg !297 | |
%shuffle937 = shufflevector <2 x i1> %48, <2 x i1> poison, <8 x i32> <i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 1>, !dbg !297 | |
call void @llvm.dbg.value(metadata i8 undef, metadata !269, metadata !DIExpression()), !dbg !297 | |
call void @llvm.dbg.value(metadata i8 undef, metadata !270, metadata !DIExpression()), !dbg !297 | |
call void @llvm.dbg.value(metadata i8 undef, metadata !271, metadata !DIExpression()), !dbg !297 | |
%sysenter = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 2, !dbg !365 | |
%49 = lshr i64 %0, 43, !dbg !366 | |
%and56815 = lshr i64 %basic_info.coerce1, 43, !dbg !366 | |
%_msprop959 = trunc i64 %49 to i8, !dbg !366 | |
%50 = trunc i64 %and56815 to i8, !dbg !366 | |
%51 = and i8 %_msprop959, 1, !dbg !366 | |
%52 = and i8 %50, 1, !dbg !366 | |
%_mscmp = icmp ne i64 %2, 0, !dbg !366 | |
br i1 %_mscmp, label %53, label %54, !dbg !366, !prof !301 | |
53: ; preds = %if.end54 | |
call void @__msan_warning_with_origin_noreturn(i32 0) #4, !dbg !366 | |
unreachable, !dbg !366 | |
54: ; preds = %if.end54 | |
%55 = ptrtoint i8* %sysenter to i64, !dbg !366 | |
%56 = xor i64 %55, 87960930222080, !dbg !366 | |
%57 = inttoptr i64 %56 to i8*, !dbg !366 | |
store i8 %51, i8* %57, align 1, !dbg !366 | |
store i8 %52, i8* %sysenter, align 1, !dbg !366 | |
%58 = xor i64 %extended_info.sroa.14.8.extract.shift, -1, !dbg !367 | |
%59 = xor i64 %basic_info.sroa.18.8.extract.shift, -1, !dbg !367 | |
%60 = and i64 %4, %3, !dbg !367 | |
%61 = and i64 %58, %3, !dbg !367 | |
%62 = and i64 %4, %59, !dbg !367 | |
%63 = or i64 %60, %61, !dbg !367 | |
%64 = or i64 %63, %62, !dbg !367 | |
%or61820 = or i64 %extended_info.sroa.14.8.extract.shift, %basic_info.sroa.18.8.extract.shift, !dbg !367 | |
%msr = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 3, !dbg !368 | |
%_msprop962 = trunc i64 %64 to i8, !dbg !369 | |
%65 = trunc i64 %or61820 to i8, !dbg !369 | |
%66 = lshr i8 %_msprop962, 5, !dbg !369 | |
%67 = lshr i8 %65, 5, !dbg !369 | |
%68 = and i8 %66, 1, !dbg !369 | |
%69 = and i8 %67, 1, !dbg !369 | |
br i1 false, label %70, label %71, !dbg !369, !prof !301 | |
70: ; preds = %54 | |
call void @__msan_warning_with_origin_noreturn(i32 0) #4, !dbg !369 | |
unreachable, !dbg !369 | |
71: ; preds = %54 | |
%72 = ptrtoint i8* %msr to i64, !dbg !369 | |
%73 = xor i64 %72, 87960930222080, !dbg !369 | |
%74 = inttoptr i64 %73 to i8*, !dbg !369 | |
store i8 %68, i8* %74, align 1, !dbg !369 | |
store i8 %69, i8* %msr, align 1, !dbg !369 | |
%clzero = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 4, !dbg !370 | |
br i1 false, label %75, label %76, !dbg !371, !prof !301 | |
75: ; preds = %71 | |
call void @__msan_warning_with_origin_noreturn(i32 0) #4, !dbg !371 | |
unreachable, !dbg !371 | |
76: ; preds = %71 | |
%77 = ptrtoint i8* %clzero to i64, !dbg !371 | |
%78 = xor i64 %77, 87960930222080, !dbg !371 | |
%79 = inttoptr i64 %78 to i8*, !dbg !371 | |
store i8 0, i8* %79, align 1, !dbg !371 | |
store i8 %processor_capacity_info.sroa.0.0, i8* %clzero, align 1, !dbg !371 | |
%clflush = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 5, !dbg !372 | |
%80 = lshr i64 %0, 51, !dbg !373 | |
%and74817 = lshr i64 %basic_info.coerce1, 51, !dbg !373 | |
%_msprop967 = trunc i64 %80 to i8, !dbg !373 | |
%81 = trunc i64 %and74817 to i8, !dbg !373 | |
%82 = and i8 %_msprop967, 1, !dbg !373 | |
%83 = and i8 %81, 1, !dbg !373 | |
br i1 false, label %84, label %85, !dbg !373, !prof !301 | |
84: ; preds = %76 | |
call void @__msan_warning_with_origin_noreturn(i32 0) #4, !dbg !373 | |
unreachable, !dbg !373 | |
85: ; preds = %76 | |
%86 = ptrtoint i8* %clflush to i64, !dbg !373 | |
%87 = xor i64 %86, 87960930222080, !dbg !373 | |
%88 = inttoptr i64 %87 to i8*, !dbg !373 | |
store i8 %82, i8* %88, align 1, !dbg !373 | |
store i8 %83, i8* %clflush, align 1, !dbg !373 | |
%structured_feature_info0.sroa.0.4.extract.shift = lshr exact i64 %structured_feature_info0.sroa.0.0930, 32, !dbg !374 | |
%structured_feature_info0.sroa.0.4.extract.trunc = trunc i64 %structured_feature_info0.sroa.0.4.extract.shift to i32, !dbg !374 | |
%clflushopt = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 6, !dbg !375 | |
%and80818 = lshr i64 %structured_feature_info0.sroa.0.0930, 55, !dbg !376 | |
%89 = trunc i64 %and80818 to i8, !dbg !376 | |
%90 = and i8 %89, 1, !dbg !376 | |
br i1 false, label %91, label %92, !dbg !376, !prof !301 | |
91: ; preds = %85 | |
call void @__msan_warning_with_origin_noreturn(i32 0) #4, !dbg !376 | |
unreachable, !dbg !376 | |
92: ; preds = %85 | |
%93 = ptrtoint i8* %clflushopt to i64, !dbg !376 | |
%94 = xor i64 %93, 87960930222080, !dbg !376 | |
%95 = inttoptr i64 %94 to i8*, !dbg !376 | |
store i8 0, i8* %95, align 1, !dbg !376 | |
store i8 %90, i8* %clflushopt, align 1, !dbg !376 | |
%mwait = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 7, !dbg !377 | |
%_msprop974 = trunc i64 %0 to i8, !dbg !378 | |
%96 = trunc i64 %basic_info.coerce1 to i8, !dbg !378 | |
%97 = lshr i8 %_msprop974, 3, !dbg !378 | |
%98 = lshr i8 %96, 3, !dbg !378 | |
%99 = and i8 %97, 1, !dbg !378 | |
%100 = and i8 %98, 1, !dbg !378 | |
br i1 false, label %101, label %102, !dbg !378, !prof !301 | |
101: ; preds = %92 | |
call void @__msan_warning_with_origin_noreturn(i32 0) #4, !dbg !378 | |
unreachable, !dbg !378 | |
102: ; preds = %92 | |
%103 = ptrtoint i8* %mwait to i64, !dbg !378 | |
%104 = xor i64 %103, 87960930222080, !dbg !378 | |
%105 = inttoptr i64 %104 to i8*, !dbg !378 | |
store i8 %99, i8* %105, align 1, !dbg !378 | |
store i8 %100, i8* %mwait, align 1, !dbg !378 | |
%mwaitx = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 8, !dbg !379 | |
%106 = lshr i32 %_msprop939, 29, !dbg !380 | |
%and92 = lshr i32 %extended_info.sroa.1.8.extract.trunc, 29, !dbg !380 | |
%_msprop977 = trunc i32 %106 to i8, !dbg !380 | |
%107 = trunc i32 %and92 to i8, !dbg !380 | |
%108 = and i8 %_msprop977, 1, !dbg !380 | |
%109 = and i8 %107, 1, !dbg !380 | |
br i1 false, label %110, label %111, !dbg !380, !prof !301 | |
110: ; preds = %102 | |
call void @__msan_warning_with_origin_noreturn(i32 0) #4, !dbg !380 | |
unreachable, !dbg !380 | |
111: ; preds = %102 | |
%112 = ptrtoint i8* %mwaitx to i64, !dbg !380 | |
%113 = xor i64 %112, 87960930222080, !dbg !380 | |
%114 = inttoptr i64 %113 to i8*, !dbg !380 | |
store i8 %108, i8* %114, align 1, !dbg !380 | |
store i8 %109, i8* %mwaitx, align 1, !dbg !380 | |
%fxsave = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 9, !dbg !381 | |
%115 = lshr i64 %64, 24, !dbg !383 | |
%and100821 = lshr i64 %or61820, 24, !dbg !383 | |
%_msprop980 = trunc i64 %115 to i8, !dbg !383 | |
%116 = trunc i64 %and100821 to i8, !dbg !383 | |
%117 = and i8 %_msprop980, 1, !dbg !383 | |
%118 = and i8 %116, 1, !dbg !383 | |
br i1 false, label %119, label %120, !dbg !383, !prof !301 | |
119: ; preds = %111 | |
call void @__msan_warning_with_origin_noreturn(i32 0) #4, !dbg !383 | |
unreachable, !dbg !383 | |
120: ; preds = %111 | |
%121 = ptrtoint i8* %fxsave to i64, !dbg !383 | |
%122 = xor i64 %121, 87960930222080, !dbg !383 | |
%123 = inttoptr i64 %122 to i8*, !dbg !383 | |
store i8 %117, i8* %123, align 1, !dbg !383 | |
store i8 %118, i8* %fxsave, align 1, !dbg !383 | |
%xsave = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 10, !dbg !384 | |
%124 = lshr i32 %_msprop, 26, !dbg !385 | |
%and106 = lshr i32 %basic_info.sroa.1.8.extract.trunc, 26, !dbg !385 | |
%_msprop983 = trunc i32 %124 to i8, !dbg !385 | |
%125 = trunc i32 %and106 to i8, !dbg !385 | |
%126 = and i8 %_msprop983, 1, !dbg !385 | |
%127 = and i8 %125, 1, !dbg !385 | |
br i1 false, label %128, label %129, !dbg !385, !prof !301 | |
128: ; preds = %120 | |
call void @__msan_warning_with_origin_noreturn(i32 0) #4, !dbg !385 | |
unreachable, !dbg !385 | |
129: ; preds = %120 | |
%130 = ptrtoint i8* %xsave to i64, !dbg !385 | |
%131 = xor i64 %130, 87960930222080, !dbg !385 | |
%132 = inttoptr i64 %131 to i8*, !dbg !385 | |
store i8 %126, i8* %132, align 1, !dbg !385 | |
store i8 %127, i8* %xsave, align 1, !dbg !385 | |
%three_d_now = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 11, !dbg !386 | |
%133 = lshr i64 %1, 63, !dbg !387 | |
%extended_info.coerce1.lobit = lshr i64 %extended_info.coerce1, 63, !dbg !387 | |
%_msprop986 = trunc i64 %133 to i8, !dbg !387 | |
%134 = trunc i64 %extended_info.coerce1.lobit to i8, !dbg !387 | |
br i1 false, label %135, label %136, !dbg !387, !prof !301 | |
135: ; preds = %129 | |
call void @__msan_warning_with_origin_noreturn(i32 0) #4, !dbg !387 | |
unreachable, !dbg !387 | |
136: ; preds = %129 | |
%137 = ptrtoint i8* %three_d_now to i64, !dbg !387 | |
%138 = xor i64 %137, 87960930222080, !dbg !387 | |
%139 = inttoptr i64 %138 to i8*, !dbg !387 | |
store i8 %_msprop986, i8* %139, align 1, !dbg !387 | |
store i8 %134, i8* %three_d_now, align 1, !dbg !387 | |
%three_d_now_plus = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 12, !dbg !388 | |
%140 = lshr i32 %_msprop940, 30, !dbg !389 | |
%and118 = lshr i32 %extended_info.sroa.14.8.extract.trunc, 30, !dbg !389 | |
%_msprop989 = trunc i32 %140 to i8, !dbg !389 | |
%141 = trunc i32 %and118 to i8, !dbg !389 | |
%142 = and i8 %_msprop989, 1, !dbg !389 | |
%143 = and i8 %141, 1, !dbg !389 | |
br i1 false, label %144, label %145, !dbg !389, !prof !301 | |
144: ; preds = %136 | |
call void @__msan_warning_with_origin_noreturn(i32 0) #4, !dbg !389 | |
unreachable, !dbg !389 | |
145: ; preds = %136 | |
%146 = ptrtoint i8* %three_d_now_plus to i64, !dbg !389 | |
%147 = xor i64 %146, 87960930222080, !dbg !389 | |
%148 = inttoptr i64 %147 to i8*, !dbg !389 | |
store i8 %142, i8* %148, align 1, !dbg !389 | |
store i8 %143, i8* %three_d_now_plus, align 1, !dbg !389 | |
switch i32 %vendor, label %sw.default132 [ | |
i32 16, label %sw.bb | |
i32 2, label %sw.bb | |
i32 1, label %sw.epilog162 | |
], !dbg !390 | |
sw.bb: ; preds = %145, %145 | |
%149 = and i32 %_msprop939, 256, !dbg !391 | |
%and124 = and i32 %extended_info.sroa.1.8.extract.trunc, 256, !dbg !391 | |
%150 = and i32 %_msprop940, -536870912, !dbg !393 | |
%and126 = and i32 %extended_info.sroa.14.8.extract.trunc, -536870912, !dbg !393 | |
%151 = xor i32 %and126, -1, !dbg !394 | |
%152 = xor i32 %and124, -1, !dbg !394 | |
%153 = or i32 %149, %150, !dbg !394 | |
%or127 = or i32 %and126, %and124, !dbg !394 | |
%154 = icmp ne i32 %153, 0, !dbg !395 | |
%155 = xor i32 %153, -1, !dbg !395 | |
%156 = and i32 %155, %or127, !dbg !395 | |
%157 = icmp eq i32 %156, 0, !dbg !395 | |
%_msprop_icmp1164 = and i1 %154, %157, !dbg !395 | |
%tobool128 = icmp ne i32 %or127, 0, !dbg !395 | |
br label %sw.epilog140, !dbg !396 | |
sw.default132: ; preds = %145 | |
%158 = xor i32 %_msprop940, -1, !dbg !397 | |
%159 = and i32 %extended_info.sroa.14.8.extract.trunc, %158, !dbg !397 | |
%160 = icmp ugt i32 %159, 1073741823, !dbg !397 | |
%161 = or i32 %extended_info.sroa.14.8.extract.trunc, %_msprop940, !dbg !397 | |
%162 = icmp ugt i32 %161, 1073741823, !dbg !397 | |
%163 = xor i1 %160, %162, !dbg !397 | |
%tobool135 = icmp ugt i32 %extended_info.sroa.14.8.extract.trunc, 1073741823, !dbg !397 | |
br label %sw.epilog140, !dbg !398 | |
sw.epilog140: ; preds = %sw.default132, %sw.bb | |
%_msphi_s990 = phi i1 [ %163, %sw.default132 ], [ %_msprop_icmp1164, %sw.bb ] | |
%tobool135.sink = phi i1 [ %tobool135, %sw.default132 ], [ %tobool128, %sw.bb ] | |
%prefetch138 = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 13, !dbg !399 | |
%_msprop993 = zext i1 %_msphi_s990 to i8, !dbg !399 | |
%frombool139 = zext i1 %tobool135.sink to i8, !dbg !399 | |
br i1 false, label %164, label %165, !dbg !399, !prof !301 | |
164: ; preds = %sw.epilog140 | |
call void @__msan_warning_with_origin_noreturn(i32 0) #4, !dbg !399 | |
unreachable, !dbg !399 | |
165: ; preds = %sw.epilog140 | |
%166 = ptrtoint i8* %prefetch138 to i64, !dbg !399 | |
%167 = xor i64 %166, 87960930222080, !dbg !399 | |
%168 = inttoptr i64 %167 to i8*, !dbg !399 | |
store i8 %_msprop993, i8* %168, align 1, !dbg !399 | |
store i8 %frombool139, i8* %prefetch138, align 1, !dbg !399 | |
%169 = xor i32 %vendor, 2, !dbg !400 | |
%170 = icmp eq i32 %169, 0, !dbg !400 | |
%switch.selectcmp.case1 = icmp eq i32 %vendor, 2, !dbg !400 | |
%171 = xor i32 %vendor, 16, !dbg !400 | |
%172 = icmp eq i32 %171, 0, !dbg !400 | |
%switch.selectcmp.case2 = icmp eq i32 %vendor, 16, !dbg !400 | |
%173 = xor i1 %switch.selectcmp.case1, true, !dbg !400 | |
%174 = xor i1 %switch.selectcmp.case2, true, !dbg !400 | |
%switch.selectcmp = or i1 %switch.selectcmp.case1, %switch.selectcmp.case2, !dbg !400 | |
%175 = select i1 %switch.selectcmp, i32 -536870912, i32 -1073741824, !dbg !400 | |
br label %sw.epilog162, !dbg !400 | |
sw.epilog162: ; preds = %145, %165 | |
%.sink = phi i32 [ %175, %165 ], [ -1073741824, %145 ] | |
%176 = and i32 %_msprop939, 256, !dbg !401 | |
%and153 = and i32 %extended_info.sroa.1.8.extract.trunc, 256, !dbg !401 | |
%177 = and i32 %.sink, %_msprop940, !dbg !401 | |
%and155 = and i32 %.sink, %extended_info.sroa.14.8.extract.trunc, !dbg !401 | |
%178 = xor i32 %and155, -1, !dbg !401 | |
%179 = xor i32 %and153, -1, !dbg !401 | |
%180 = and i32 %177, %176, !dbg !401 | |
%181 = and i32 %178, %176, !dbg !401 | |
%182 = and i32 %177, %179, !dbg !401 | |
%183 = or i32 %180, %181, !dbg !401 | |
%184 = or i32 %183, %182, !dbg !401 | |
%or156 = or i32 %and155, %and153, !dbg !401 | |
%185 = icmp ne i32 %184, 0, !dbg !401 | |
%186 = xor i32 %184, -1, !dbg !401 | |
%187 = and i32 %186, %or156, !dbg !401 | |
%188 = icmp eq i32 %187, 0, !dbg !401 | |
%_msprop_icmp998 = and i1 %185, %188, !dbg !401 | |
%tobool157 = icmp ne i32 %or156, 0, !dbg !401 | |
%prefetchw160 = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 14, !dbg !401 | |
%_msprop1001 = zext i1 %_msprop_icmp998 to i8, !dbg !401 | |
%frombool161 = zext i1 %tobool157 to i8, !dbg !401 | |
br i1 false, label %189, label %190, !dbg !401, !prof !301 | |
189: ; preds = %sw.epilog162 | |
call void @__msan_warning_with_origin_noreturn(i32 0) #4, !dbg !401 | |
unreachable, !dbg !401 | |
190: ; preds = %sw.epilog162 | |
%191 = ptrtoint i8* %prefetchw160 to i64, !dbg !401 | |
%192 = xor i64 %191, 87960930222080, !dbg !401 | |
%193 = inttoptr i64 %192 to i8*, !dbg !401 | |
store i8 %_msprop1001, i8* %193, align 1, !dbg !401 | |
store i8 %frombool161, i8* %prefetchw160, align 1, !dbg !401 | |
%prefetchwt1 = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 15, !dbg !403 | |
%194 = trunc i64 %structured_feature_info0.sroa.25.0932 to i8, !dbg !404 | |
%195 = and i8 %194, 1, !dbg !404 | |
br i1 false, label %196, label %197, !dbg !404, !prof !301 | |
196: ; preds = %190 | |
call void @__msan_warning_with_origin_noreturn(i32 0) #4, !dbg !404 | |
unreachable, !dbg !404 | |
197: ; preds = %190 | |
%198 = ptrtoint i8* %prefetchwt1 to i64, !dbg !404 | |
%199 = xor i64 %198, 87960930222080, !dbg !404 | |
%200 = inttoptr i64 %199 to i8*, !dbg !404 | |
store i8 0, i8* %200, align 1, !dbg !404 | |
store i8 %195, i8* %prefetchwt1, align 1, !dbg !404 | |
%sse3 = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 16, !dbg !405 | |
%201 = and i8 %_msprop974, 1, !dbg !406 | |
%202 = and i8 %96, 1, !dbg !406 | |
br i1 false, label %203, label %204, !dbg !406, !prof !301 | |
203: ; preds = %197 | |
call void @__msan_warning_with_origin_noreturn(i32 0) #4, !dbg !406 | |
unreachable, !dbg !406 | |
204: ; preds = %197 | |
%205 = ptrtoint i8* %sse3 to i64, !dbg !406 | |
%206 = xor i64 %205, 87960930222080, !dbg !406 | |
%207 = inttoptr i64 %206 to i8*, !dbg !406 | |
store i8 %201, i8* %207, align 1, !dbg !406 | |
store i8 %202, i8* %sse3, align 1, !dbg !406 | |
%ssse3 = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 17, !dbg !407 | |
%208 = lshr i64 %0, 9, !dbg !408 | |
%and176822 = lshr i64 %basic_info.coerce1, 9, !dbg !408 | |
%_msprop1009 = trunc i64 %208 to i8, !dbg !408 | |
%209 = trunc i64 %and176822 to i8, !dbg !408 | |
%210 = and i8 %_msprop1009, 1, !dbg !408 | |
%211 = and i8 %209, 1, !dbg !408 | |
br i1 false, label %212, label %213, !dbg !408, !prof !301 | |
212: ; preds = %204 | |
call void @__msan_warning_with_origin_noreturn(i32 0) #4, !dbg !408 | |
unreachable, !dbg !408 | |
213: ; preds = %204 | |
%214 = ptrtoint i8* %ssse3 to i64, !dbg !408 | |
%215 = xor i64 %214, 87960930222080, !dbg !408 | |
%216 = inttoptr i64 %215 to i8*, !dbg !408 | |
store i8 %210, i8* %216, align 1, !dbg !408 | |
store i8 %211, i8* %ssse3, align 1, !dbg !408 | |
%sse4_1 = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 18, !dbg !409 | |
%217 = lshr i64 %0, 19, !dbg !410 | |
%and182823 = lshr i64 %basic_info.coerce1, 19, !dbg !410 | |
%_msprop1012 = trunc i64 %217 to i8, !dbg !410 | |
%218 = trunc i64 %and182823 to i8, !dbg !410 | |
%219 = and i8 %_msprop1012, 1, !dbg !410 | |
%220 = and i8 %218, 1, !dbg !410 | |
br i1 false, label %221, label %222, !dbg !410, !prof !301 | |
221: ; preds = %213 | |
call void @__msan_warning_with_origin_noreturn(i32 0) #4, !dbg !410 | |
unreachable, !dbg !410 | |
222: ; preds = %213 | |
%223 = ptrtoint i8* %sse4_1 to i64, !dbg !410 | |
%224 = xor i64 %223, 87960930222080, !dbg !410 | |
%225 = inttoptr i64 %224 to i8*, !dbg !410 | |
store i8 %219, i8* %225, align 1, !dbg !410 | |
store i8 %220, i8* %sse4_1, align 1, !dbg !410 | |
%sse4_2 = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 19, !dbg !411 | |
%226 = lshr i64 %0, 20, !dbg !412 | |
%and188824 = lshr i64 %basic_info.coerce1, 20, !dbg !412 | |
%_msprop1015 = trunc i64 %226 to i8, !dbg !412 | |
%227 = trunc i64 %and188824 to i8, !dbg !412 | |
%228 = and i8 %_msprop1015, 1, !dbg !412 | |
%229 = and i8 %227, 1, !dbg !412 | |
br i1 false, label %230, label %231, !dbg !412, !prof !301 | |
230: ; preds = %222 | |
call void @__msan_warning_with_origin_noreturn(i32 0) #4, !dbg !412 | |
unreachable, !dbg !412 | |
231: ; preds = %222 | |
%232 = ptrtoint i8* %sse4_2 to i64, !dbg !412 | |
%233 = xor i64 %232, 87960930222080, !dbg !412 | |
%234 = inttoptr i64 %233 to i8*, !dbg !412 | |
store i8 %228, i8* %234, align 1, !dbg !412 | |
store i8 %229, i8* %sse4_2, align 1, !dbg !412 | |
%sse4a = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 20, !dbg !413 | |
%_msprop1018 = trunc i64 %1 to i8, !dbg !414 | |
%235 = trunc i64 %extended_info.coerce1 to i8, !dbg !414 | |
%236 = lshr i8 %_msprop1018, 6, !dbg !414 | |
%237 = lshr i8 %235, 6, !dbg !414 | |
%238 = and i8 %236, 1, !dbg !414 | |
%239 = and i8 %237, 1, !dbg !414 | |
br i1 false, label %240, label %241, !dbg !414, !prof !301 | |
240: ; preds = %231 | |
call void @__msan_warning_with_origin_noreturn(i32 0) #4, !dbg !414 | |
unreachable, !dbg !414 | |
241: ; preds = %231 | |
%242 = ptrtoint i8* %sse4a to i64, !dbg !414 | |
%243 = xor i64 %242, 87960930222080, !dbg !414 | |
%244 = inttoptr i64 %243 to i8*, !dbg !414 | |
store i8 %238, i8* %244, align 1, !dbg !414 | |
store i8 %239, i8* %sse4a, align 1, !dbg !414 | |
%misaligned_sse = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 21, !dbg !415 | |
%245 = lshr i8 %_msprop1018, 7, !dbg !416 | |
%246 = lshr i8 %235, 7, !dbg !416 | |
br i1 false, label %247, label %248, !dbg !416, !prof !301 | |
247: ; preds = %241 | |
call void @__msan_warning_with_origin_noreturn(i32 0) #4, !dbg !416 | |
unreachable, !dbg !416 | |
248: ; preds = %241 | |
%249 = ptrtoint i8* %misaligned_sse to i64, !dbg !416 | |
%250 = xor i64 %249, 87960930222080, !dbg !416 | |
%251 = inttoptr i64 %250 to i8*, !dbg !416 | |
store i8 %245, i8* %251, align 1, !dbg !416 | |
store i8 %246, i8* %misaligned_sse, align 1, !dbg !416 | |
%_msprop1021 = insertelement <8 x i32> <i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1>, i32 %_msprop, i64 0, !dbg !417 | |
%252 = insertelement <8 x i32> poison, i32 %basic_info.sroa.1.8.extract.trunc, i64 0, !dbg !417 | |
%_msprop1022 = insertelement <8 x i32> %_msprop1021, i32 %_msprop939, i64 1, !dbg !417 | |
%253 = insertelement <8 x i32> %252, i32 %extended_info.sroa.1.8.extract.trunc, i64 1, !dbg !417 | |
%_msprop1023 = insertelement <8 x i32> %_msprop1022, i32 0, i64 2, !dbg !417 | |
%254 = insertelement <8 x i32> %253, i32 %structured_feature_info0.sroa.0.4.extract.trunc, i64 2, !dbg !417 | |
%_msprop1024 = shufflevector <8 x i32> %_msprop1023, <8 x i32> <i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1>, <8 x i32> <i32 0, i32 0, i32 1, i32 1, i32 0, i32 2, i32 2, i32 2>, !dbg !417 | |
%shuffle938 = shufflevector <8 x i32> %254, <8 x i32> poison, <8 x i32> <i32 0, i32 0, i32 1, i32 1, i32 0, i32 2, i32 2, i32 2>, !dbg !417 | |
%255 = and <8 x i32> %_msprop1024, <i32 268435456, i32 4096, i32 65536, i32 2048, i32 536870912, i32 32, i32 65536, i32 67108864>, !dbg !417 | |
%256 = and <8 x i32> %shuffle938, <i32 268435456, i32 4096, i32 65536, i32 2048, i32 536870912, i32 32, i32 65536, i32 67108864>, !dbg !417 | |
%avx = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 22, !dbg !418 | |
%257 = icmp ne <8 x i32> %255, zeroinitializer, !dbg !417 | |
%258 = xor <8 x i32> %255, <i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1>, !dbg !417 | |
%259 = and <8 x i32> %258, %256, !dbg !417 | |
%260 = icmp eq <8 x i32> %259, zeroinitializer, !dbg !417 | |
%_msprop_icmp1027 = and <8 x i1> %257, %260, !dbg !417 | |
%261 = icmp ne <8 x i32> %256, zeroinitializer, !dbg !417 | |
%262 = select <8 x i1> %shuffle937, <8 x i1> %_msprop_icmp1027, <8 x i1> zeroinitializer, !dbg !417 | |
%263 = or <8 x i1> %261, %_msprop_icmp1027, !dbg !417 | |
%264 = select <8 x i1> %shuffle937, <8 x i1> %261, <8 x i1> zeroinitializer, !dbg !417 | |
%_msprop1029 = zext <8 x i1> %262 to <8 x i8>, !dbg !419 | |
%265 = zext <8 x i1> %264 to <8 x i8>, !dbg !419 | |
%266 = bitcast i8* %avx to <8 x i8>*, !dbg !419 | |
br i1 false, label %267, label %268, !dbg !419, !prof !301 | |
267: ; preds = %248 | |
call void @__msan_warning_with_origin_noreturn(i32 0) #4, !dbg !419 | |
unreachable, !dbg !419 | |
268: ; preds = %248 | |
%269 = ptrtoint <8 x i8>* %266 to i64, !dbg !419 | |
%270 = xor i64 %269, 87960930222080, !dbg !419 | |
%271 = inttoptr i64 %270 to <8 x i8>*, !dbg !419 | |
store <8 x i8> %_msprop1029, <8 x i8>* %271, align 1, !dbg !419 | |
store <8 x i8> %265, <8 x i8>* %266, align 1, !dbg !419 | |
%and287 = and i32 %structured_feature_info0.sroa.0.4.extract.trunc, 134217728, !dbg !420 | |
%272 = icmp eq i32 %and287, 0, !dbg !420 | |
%tobool288 = icmp ne i32 %and287, 0, !dbg !420 | |
%273 = extractelement <2 x i1> %48, i64 1, !dbg !420 | |
%274 = select i1 %273, i1 %tobool288, i1 false, !dbg !420 | |
%avx512er = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 30, !dbg !421 | |
%frombool292 = zext i1 %274 to i8, !dbg !422 | |
br i1 false, label %275, label %276, !dbg !422, !prof !301 | |
275: ; preds = %268 | |
call void @__msan_warning_with_origin_noreturn(i32 0) #4, !dbg !422 | |
unreachable, !dbg !422 | |
276: ; preds = %268 | |
%277 = ptrtoint i8* %avx512er to i64, !dbg !422 | |
%278 = xor i64 %277, 87960930222080, !dbg !422 | |
%279 = inttoptr i64 %278 to i8*, !dbg !422 | |
store i8 0, i8* %279, align 1, !dbg !422 | |
store i8 %frombool292, i8* %avx512er, align 1, !dbg !422 | |
%and297 = and i32 %structured_feature_info0.sroa.0.4.extract.trunc, 268435456, !dbg !423 | |
%280 = icmp eq i32 %and297, 0, !dbg !423 | |
%tobool298 = icmp ne i32 %and297, 0, !dbg !423 | |
%281 = select i1 %273, i1 %tobool298, i1 false, !dbg !423 | |
%avx512cd = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 31, !dbg !424 | |
%frombool302 = zext i1 %281 to i8, !dbg !425 | |
br i1 false, label %282, label %283, !dbg !425, !prof !301 | |
282: ; preds = %276 | |
call void @__msan_warning_with_origin_noreturn(i32 0) #4, !dbg !425 | |
unreachable, !dbg !425 | |
283: ; preds = %276 | |
%284 = ptrtoint i8* %avx512cd to i64, !dbg !425 | |
%285 = xor i64 %284, 87960930222080, !dbg !425 | |
%286 = inttoptr i64 %285 to i8*, !dbg !425 | |
store i8 0, i8* %286, align 1, !dbg !425 | |
store i8 %frombool302, i8* %avx512cd, align 1, !dbg !425 | |
%and307827 = lshr i64 %structured_feature_info0.sroa.0.0930, 49, !dbg !426 | |
%287 = trunc i64 %and307827 to i8, !dbg !426 | |
%avx512dq = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 32, !dbg !427 | |
%and317 = lshr i32 %structured_feature_info0.sroa.0.4.extract.trunc, 30, !dbg !428 | |
%288 = trunc i32 %and317 to i8, !dbg !428 | |
%289 = insertelement <2 x i8> poison, i8 %287, i64 0, !dbg !426 | |
%290 = insertelement <2 x i8> %289, i8 %288, i64 1, !dbg !426 | |
%291 = and <2 x i8> %290, <i8 1, i8 1>, !dbg !426 | |
%and327.lobit = lshr i32 %structured_feature_info0.sroa.0.4.extract.trunc, 31, !dbg !429 | |
%292 = trunc i32 %and327.lobit to i8, !dbg !429 | |
%and337828 = lshr i64 %structured_feature_info0.sroa.0.0930, 53, !dbg !430 | |
%293 = trunc i64 %and337828 to i8, !dbg !430 | |
%294 = and i8 %293, 1, !dbg !430 | |
%295 = lshr i8 %194, 1, !dbg !431 | |
%296 = and i8 %295, 1, !dbg !431 | |
%297 = lshr i8 %194, 6, !dbg !432 | |
%298 = and i8 %297, 1, !dbg !432 | |
%and367831 = lshr i64 %structured_feature_info0.sroa.25.0932, 12, !dbg !433 | |
%299 = trunc i64 %and367831 to i8, !dbg !433 | |
%300 = and i8 %299, 1, !dbg !433 | |
%and377832 = lshr i64 %structured_feature_info0.sroa.25.0932, 14, !dbg !434 | |
%301 = trunc i64 %and377832 to i8, !dbg !434 | |
%302 = and i8 %301, 1, !dbg !434 | |
%303 = shufflevector <2 x i1> %48, <2 x i1> undef, <8 x i32> <i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1>, !dbg !426 | |
%304 = shufflevector <2 x i8> %291, <2 x i8> poison, <8 x i32> <i32 0, i32 1, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>, !dbg !426 | |
%305 = insertelement <8 x i8> %304, i8 %292, i64 2, !dbg !426 | |
%306 = insertelement <8 x i8> %305, i8 %294, i64 3, !dbg !426 | |
%307 = insertelement <8 x i8> %306, i8 %296, i64 4, !dbg !426 | |
%308 = insertelement <8 x i8> %307, i8 %298, i64 5, !dbg !426 | |
%309 = insertelement <8 x i8> %308, i8 %300, i64 6, !dbg !426 | |
%310 = insertelement <8 x i8> %309, i8 %302, i64 7, !dbg !426 | |
%311 = select <8 x i1> %303, <8 x i8> %310, <8 x i8> zeroinitializer, !dbg !426 | |
%312 = bitcast i8* %avx512dq to <8 x i8>*, !dbg !435 | |
br i1 false, label %313, label %314, !dbg !435, !prof !301 | |
313: ; preds = %283 | |
call void @__msan_warning_with_origin_noreturn(i32 0) #4, !dbg !435 | |
unreachable, !dbg !435 | |
314: ; preds = %283 | |
%315 = ptrtoint <8 x i8>* %312 to i64, !dbg !435 | |
%316 = xor i64 %315, 87960930222080, !dbg !435 | |
%317 = inttoptr i64 %316 to <8 x i8>*, !dbg !435 | |
store <8 x i8> zeroinitializer, <8 x i8>* %317, align 1, !dbg !435 | |
store <8 x i8> %311, <8 x i8>* %312, align 1, !dbg !435 | |
%and387833 = lshr i64 %structured_feature_info0.sroa.25.0932, 11, !dbg !436 | |
%318 = trunc i64 %and387833 to i8, !dbg !436 | |
%319 = and i8 %318, 1, !dbg !436 | |
%320 = select i1 %273, i8 %319, i8 0, !dbg !436 | |
%avx512vnni = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 40, !dbg !437 | |
br i1 false, label %321, label %322, !dbg !438, !prof !301 | |
321: ; preds = %314 | |
call void @__msan_warning_with_origin_noreturn(i32 0) #4, !dbg !438 | |
unreachable, !dbg !438 | |
322: ; preds = %314 | |
%323 = ptrtoint i8* %avx512vnni to i64, !dbg !438 | |
%324 = xor i64 %323, 87960930222080, !dbg !438 | |
%325 = inttoptr i64 %324 to i8*, !dbg !438 | |
store i8 0, i8* %325, align 1, !dbg !438 | |
store i8 %320, i8* %avx512vnni, align 1, !dbg !438 | |
%sum.shift = lshr i64 %structured_feature_info0.sroa.25.0932, 34, !dbg !439 | |
%and397834 = trunc i64 %sum.shift to i8, !dbg !439 | |
%and397.lobit = and i8 %and397834, 1, !dbg !439 | |
%326 = select i1 %273, i8 %and397.lobit, i8 0, !dbg !439 | |
%avx512_4vnniw = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 43, !dbg !440 | |
br i1 false, label %327, label %328, !dbg !441, !prof !301 | |
327: ; preds = %322 | |
call void @__msan_warning_with_origin_noreturn(i32 0) #4, !dbg !441 | |
unreachable, !dbg !441 | |
328: ; preds = %322 | |
%329 = ptrtoint i8* %avx512_4vnniw to i64, !dbg !441 | |
%330 = xor i64 %329, 87960930222080, !dbg !441 | |
%331 = inttoptr i64 %330 to i8*, !dbg !441 | |
store i8 0, i8* %331, align 1, !dbg !441 | |
store i8 %326, i8* %avx512_4vnniw, align 1, !dbg !441 | |
%sum.shift835 = lshr i64 %structured_feature_info0.sroa.25.0932, 35, !dbg !442 | |
%and407836 = trunc i64 %sum.shift835 to i8, !dbg !442 | |
%and407.lobit = and i8 %and407836, 1, !dbg !442 | |
%332 = select i1 %273, i8 %and407.lobit, i8 0, !dbg !442 | |
%avx512_4fmaps = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 44, !dbg !443 | |
br i1 false, label %333, label %334, !dbg !444, !prof !301 | |
333: ; preds = %328 | |
call void @__msan_warning_with_origin_noreturn(i32 0) #4, !dbg !444 | |
unreachable, !dbg !444 | |
334: ; preds = %328 | |
%335 = ptrtoint i8* %avx512_4fmaps to i64, !dbg !444 | |
%336 = xor i64 %335, 87960930222080, !dbg !444 | |
%337 = inttoptr i64 %336 to i8*, !dbg !444 | |
store i8 0, i8* %337, align 1, !dbg !444 | |
store i8 %332, i8* %avx512_4fmaps, align 1, !dbg !444 | |
%sum.shift837 = lshr i64 %structured_feature_info0.sroa.25.0932, 40, !dbg !445 | |
%and417838 = trunc i64 %sum.shift837 to i8, !dbg !445 | |
%and417.lobit = and i8 %and417838, 1, !dbg !445 | |
%338 = select i1 %273, i8 %and417.lobit, i8 0, !dbg !445 | |
%avx512vp2intersect = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 42, !dbg !446 | |
br i1 false, label %339, label %340, !dbg !447, !prof !301 | |
339: ; preds = %334 | |
call void @__msan_warning_with_origin_noreturn(i32 0) #4, !dbg !447 | |
unreachable, !dbg !447 | |
340: ; preds = %334 | |
%341 = ptrtoint i8* %avx512vp2intersect to i64, !dbg !447 | |
%342 = xor i64 %341, 87960930222080, !dbg !447 | |
%343 = inttoptr i64 %342 to i8*, !dbg !447 | |
store i8 0, i8* %343, align 1, !dbg !447 | |
store i8 %338, i8* %avx512vp2intersect, align 1, !dbg !447 | |
%344 = select i1 %273, i8 %structured_feature_info1.sroa.0.0, i8 0, !dbg !448 | |
%avx512bf16 = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 41, !dbg !449 | |
br i1 false, label %345, label %346, !dbg !450, !prof !301 | |
345: ; preds = %340 | |
call void @__msan_warning_with_origin_noreturn(i32 0) #4, !dbg !450 | |
unreachable, !dbg !450 | |
346: ; preds = %340 | |
%347 = ptrtoint i8* %avx512bf16 to i64, !dbg !450 | |
%348 = xor i64 %347, 87960930222080, !dbg !450 | |
%349 = inttoptr i64 %348 to i8*, !dbg !450 | |
store i8 0, i8* %349, align 1, !dbg !450 | |
store i8 %344, i8* %avx512bf16, align 1, !dbg !450 | |
%hle = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 45, !dbg !451 | |
%and434840 = lshr i64 %structured_feature_info0.sroa.0.0930, 36, !dbg !452 | |
%350 = trunc i64 %and434840 to i8, !dbg !452 | |
%351 = and i8 %350, 1, !dbg !452 | |
br i1 false, label %352, label %353, !dbg !452, !prof !301 | |
352: ; preds = %346 | |
call void @__msan_warning_with_origin_noreturn(i32 0) #4, !dbg !452 | |
unreachable, !dbg !452 | |
353: ; preds = %346 | |
%354 = ptrtoint i8* %hle to i64, !dbg !452 | |
%355 = xor i64 %354, 87960930222080, !dbg !452 | |
%356 = inttoptr i64 %355 to i8*, !dbg !452 | |
store i8 0, i8* %356, align 1, !dbg !452 | |
store i8 %351, i8* %hle, align 1, !dbg !452 | |
%and440 = and i32 %structured_feature_info0.sroa.0.4.extract.trunc, 2048, !dbg !453 | |
%357 = icmp eq i32 %and440, 0, !dbg !454 | |
%tobool441 = icmp ne i32 %and440, 0, !dbg !454 | |
%rtm = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 46, !dbg !455 | |
%and440.lobit = lshr exact i32 %and440, 11, !dbg !456 | |
%358 = trunc i32 %and440.lobit to i8, !dbg !456 | |
br i1 false, label %359, label %360, !dbg !456, !prof !301 | |
359: ; preds = %353 | |
call void @__msan_warning_with_origin_noreturn(i32 0) #4, !dbg !456 | |
unreachable, !dbg !456 | |
360: ; preds = %353 | |
%361 = ptrtoint i8* %rtm to i64, !dbg !456 | |
%362 = xor i64 %361, 87960930222080, !dbg !456 | |
%363 = inttoptr i64 %362 to i8*, !dbg !456 | |
store i8 0, i8* %363, align 1, !dbg !456 | |
store i8 %358, i8* %rtm, align 1, !dbg !456 | |
%364 = icmp eq i8 %351, 0, !dbg !457 | |
%tobool446 = icmp ne i8 %351, 0, !dbg !457 | |
%365 = xor i1 true, %tobool441, !dbg !458 | |
%366 = select i1 %tobool446, i1 true, i1 %tobool441, !dbg !458 | |
%xtest = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 47, !dbg !459 | |
%frombool451 = zext i1 %366 to i8, !dbg !460 | |
br i1 false, label %367, label %368, !dbg !460, !prof !301 | |
367: ; preds = %360 | |
call void @__msan_warning_with_origin_noreturn(i32 0) #4, !dbg !460 | |
unreachable, !dbg !460 | |
368: ; preds = %360 | |
%369 = ptrtoint i8* %xtest to i64, !dbg !460 | |
%370 = xor i64 %369, 87960930222080, !dbg !460 | |
%371 = inttoptr i64 %370 to i8*, !dbg !460 | |
store i8 0, i8* %371, align 1, !dbg !460 | |
store i8 %frombool451, i8* %xtest, align 1, !dbg !460 | |
%and456841 = lshr i64 %structured_feature_info0.sroa.0.0930, 46, !dbg !461 | |
%372 = trunc i64 %and456841 to i8, !dbg !461 | |
%373 = and i8 %372, 1, !dbg !461 | |
%374 = select i1 %mpx_regs.1, i8 %373, i8 0, !dbg !461 | |
%mpx = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 48, !dbg !462 | |
br i1 false, label %375, label %376, !dbg !463, !prof !301 | |
375: ; preds = %368 | |
call void @__msan_warning_with_origin_noreturn(i32 0) #4, !dbg !463 | |
unreachable, !dbg !463 | |
376: ; preds = %368 | |
%377 = ptrtoint i8* %mpx to i64, !dbg !463 | |
%378 = xor i64 %377, 87960930222080, !dbg !463 | |
%379 = inttoptr i64 %378 to i8*, !dbg !463 | |
store i8 0, i8* %379, align 1, !dbg !463 | |
store i8 %374, i8* %mpx, align 1, !dbg !463 | |
%cmpxchg16b = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 49, !dbg !464 | |
%380 = lshr i64 %0, 13, !dbg !465 | |
%and463842 = lshr i64 %basic_info.coerce1, 13, !dbg !465 | |
%_msprop1097 = trunc i64 %380 to i8, !dbg !465 | |
%381 = trunc i64 %and463842 to i8, !dbg !465 | |
%and469843 = lshr i64 %structured_feature_info0.sroa.0.0930, 56, !dbg !466 | |
%382 = trunc i64 %and469843 to i8, !dbg !466 | |
%383 = lshr i64 %0, 22, !dbg !467 | |
%and475844 = lshr i64 %basic_info.coerce1, 22, !dbg !467 | |
%_msprop1099 = trunc i64 %383 to i8, !dbg !467 | |
%384 = trunc i64 %and475844 to i8, !dbg !467 | |
%385 = trunc i64 %structured_feature_info0.sroa.0.4.extract.shift to i8, !dbg !468 | |
%386 = lshr i8 %_msprop1018, 5, !dbg !469 | |
%387 = lshr i8 %235, 5, !dbg !469 | |
%388 = lshr i64 %0, 23, !dbg !470 | |
%and499846 = lshr i64 %basic_info.coerce1, 23, !dbg !470 | |
%_msprop1101 = trunc i64 %388 to i8, !dbg !470 | |
%389 = trunc i64 %and499846 to i8, !dbg !470 | |
%390 = lshr i64 %1, 21, !dbg !471 | |
%and505847 = lshr i64 %extended_info.coerce1, 21, !dbg !471 | |
%_msprop1102 = trunc i64 %390 to i8, !dbg !471 | |
%391 = trunc i64 %and505847 to i8, !dbg !471 | |
%and511848 = lshr i64 %structured_feature_info0.sroa.0.0930, 35, !dbg !472 | |
%392 = trunc i64 %and511848 to i8, !dbg !472 | |
%and517849 = lshr i64 %structured_feature_info0.sroa.0.0930, 40, !dbg !473 | |
%393 = trunc i64 %and517849 to i8, !dbg !473 | |
%and523850 = lshr i64 %structured_feature_info0.sroa.0.0930, 51, !dbg !474 | |
%394 = trunc i64 %and523850 to i8, !dbg !474 | |
%395 = lshr i32 %_msprop, 25, !dbg !475 | |
%and529 = lshr i32 %basic_info.sroa.1.8.extract.trunc, 25, !dbg !475 | |
%_msprop1106 = trunc i32 %395 to i8, !dbg !475 | |
%396 = trunc i32 %and529 to i8, !dbg !475 | |
%and535851 = lshr i64 %structured_feature_info0.sroa.25.0932, 9, !dbg !476 | |
%397 = trunc i64 %and535851 to i8, !dbg !476 | |
%398 = lshr i8 %_msprop974, 1, !dbg !477 | |
%399 = lshr i8 %96, 1, !dbg !477 | |
%and547853 = lshr i64 %structured_feature_info0.sroa.25.0932, 10, !dbg !478 | |
%400 = trunc i64 %and547853 to i8, !dbg !478 | |
%and553854 = lshr i64 %structured_feature_info0.sroa.25.0932, 8, !dbg !479 | |
%401 = trunc i64 %and553854 to i8, !dbg !479 | |
%_msprop1110 = insertelement <16 x i8> <i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1>, i8 %_msprop1097, i64 0, !dbg !465 | |
%402 = insertelement <16 x i8> poison, i8 %381, i64 0, !dbg !465 | |
%_msprop1111 = insertelement <16 x i8> %_msprop1110, i8 0, i64 1, !dbg !465 | |
%403 = insertelement <16 x i8> %402, i8 %382, i64 1, !dbg !465 | |
%_msprop1112 = insertelement <16 x i8> %_msprop1111, i8 %_msprop1099, i64 2, !dbg !465 | |
%404 = insertelement <16 x i8> %403, i8 %384, i64 2, !dbg !465 | |
%_msprop1113 = insertelement <16 x i8> %_msprop1112, i8 %_msprop1018, i64 3, !dbg !465 | |
%405 = insertelement <16 x i8> %404, i8 %235, i64 3, !dbg !465 | |
%_msprop1114 = insertelement <16 x i8> %_msprop1113, i8 0, i64 4, !dbg !465 | |
%406 = insertelement <16 x i8> %405, i8 %385, i64 4, !dbg !465 | |
%_msprop1115 = insertelement <16 x i8> %_msprop1114, i8 %386, i64 5, !dbg !465 | |
%407 = insertelement <16 x i8> %406, i8 %387, i64 5, !dbg !465 | |
%_msprop1116 = insertelement <16 x i8> %_msprop1115, i8 %_msprop1101, i64 6, !dbg !465 | |
%408 = insertelement <16 x i8> %407, i8 %389, i64 6, !dbg !465 | |
%_msprop1117 = insertelement <16 x i8> %_msprop1116, i8 %_msprop1102, i64 7, !dbg !465 | |
%409 = insertelement <16 x i8> %408, i8 %391, i64 7, !dbg !465 | |
%_msprop1118 = insertelement <16 x i8> %_msprop1117, i8 0, i64 8, !dbg !465 | |
%410 = insertelement <16 x i8> %409, i8 %392, i64 8, !dbg !465 | |
%_msprop1119 = insertelement <16 x i8> %_msprop1118, i8 0, i64 9, !dbg !465 | |
%411 = insertelement <16 x i8> %410, i8 %393, i64 9, !dbg !465 | |
%_msprop1120 = insertelement <16 x i8> %_msprop1119, i8 0, i64 10, !dbg !465 | |
%412 = insertelement <16 x i8> %411, i8 %394, i64 10, !dbg !465 | |
%_msprop1121 = insertelement <16 x i8> %_msprop1120, i8 %_msprop1106, i64 11, !dbg !465 | |
%413 = insertelement <16 x i8> %412, i8 %396, i64 11, !dbg !465 | |
%_msprop1122 = insertelement <16 x i8> %_msprop1121, i8 0, i64 12, !dbg !465 | |
%414 = insertelement <16 x i8> %413, i8 %397, i64 12, !dbg !465 | |
%_msprop1123 = insertelement <16 x i8> %_msprop1122, i8 %398, i64 13, !dbg !465 | |
%415 = insertelement <16 x i8> %414, i8 %399, i64 13, !dbg !465 | |
%_msprop1124 = insertelement <16 x i8> %_msprop1123, i8 0, i64 14, !dbg !465 | |
%416 = insertelement <16 x i8> %415, i8 %400, i64 14, !dbg !465 | |
%_msprop1125 = insertelement <16 x i8> %_msprop1124, i8 0, i64 15, !dbg !465 | |
%417 = insertelement <16 x i8> %416, i8 %401, i64 15, !dbg !465 | |
%418 = and <16 x i8> %_msprop1125, <i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1>, !dbg !465 | |
%419 = and <16 x i8> %417, <i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1>, !dbg !465 | |
%420 = bitcast i8* %cmpxchg16b to <16 x i8>*, !dbg !465 | |
br i1 false, label %421, label %422, !dbg !465, !prof !301 | |
421: ; preds = %376 | |
call void @__msan_warning_with_origin_noreturn(i32 0) #4, !dbg !465 | |
unreachable, !dbg !465 | |
422: ; preds = %376 | |
%423 = ptrtoint <16 x i8>* %420 to i64, !dbg !465 | |
%424 = xor i64 %423, 87960930222080, !dbg !465 | |
%425 = inttoptr i64 %424 to <16 x i8>*, !dbg !465 | |
store <16 x i8> %418, <16 x i8>* %425, align 1, !dbg !465 | |
store <16 x i8> %419, <16 x i8>* %420, align 1, !dbg !465 | |
%rdrand = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 65, !dbg !480 | |
%426 = lshr i32 %_msprop, 30, !dbg !481 | |
%and559 = lshr i32 %basic_info.sroa.1.8.extract.trunc, 30, !dbg !481 | |
%_msprop1128 = trunc i32 %426 to i8, !dbg !481 | |
%427 = trunc i32 %and559 to i8, !dbg !481 | |
%428 = and i8 %_msprop1128, 1, !dbg !481 | |
%429 = and i8 %427, 1, !dbg !481 | |
br i1 false, label %430, label %431, !dbg !481, !prof !301 | |
430: ; preds = %422 | |
call void @__msan_warning_with_origin_noreturn(i32 0) #4, !dbg !481 | |
unreachable, !dbg !481 | |
431: ; preds = %422 | |
%432 = ptrtoint i8* %rdrand to i64, !dbg !481 | |
%433 = xor i64 %432, 87960930222080, !dbg !481 | |
%434 = inttoptr i64 %433 to i8*, !dbg !481 | |
store i8 %428, i8* %434, align 1, !dbg !481 | |
store i8 %429, i8* %rdrand, align 1, !dbg !481 | |
%rdseed = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 66, !dbg !482 | |
%and565855 = lshr i64 %structured_feature_info0.sroa.0.0930, 50, !dbg !483 | |
%435 = trunc i64 %and565855 to i8, !dbg !483 | |
%436 = and i8 %435, 1, !dbg !483 | |
br i1 false, label %437, label %438, !dbg !483, !prof !301 | |
437: ; preds = %431 | |
call void @__msan_warning_with_origin_noreturn(i32 0) #4, !dbg !483 | |
unreachable, !dbg !483 | |
438: ; preds = %431 | |
%439 = ptrtoint i8* %rdseed to i64, !dbg !483 | |
%440 = xor i64 %439, 87960930222080, !dbg !483 | |
%441 = inttoptr i64 %440 to i8*, !dbg !483 | |
store i8 0, i8* %441, align 1, !dbg !483 | |
store i8 %436, i8* %rdseed, align 1, !dbg !483 | |
%sha = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 67, !dbg !484 | |
%and571 = lshr i32 %structured_feature_info0.sroa.0.4.extract.trunc, 29, !dbg !485 | |
%442 = trunc i32 %and571 to i8, !dbg !485 | |
%443 = and i8 %442, 1, !dbg !485 | |
br i1 false, label %444, label %445, !dbg !485, !prof !301 | |
444: ; preds = %438 | |
call void @__msan_warning_with_origin_noreturn(i32 0) #4, !dbg !485 | |
unreachable, !dbg !485 | |
445: ; preds = %438 | |
%446 = ptrtoint i8* %sha to i64, !dbg !485 | |
%447 = xor i64 %446, 87960930222080, !dbg !485 | |
%448 = inttoptr i64 %447 to i8*, !dbg !485 | |
store i8 0, i8* %448, align 1, !dbg !485 | |
store i8 %443, i8* %sha, align 1, !dbg !485 | |
%449 = xor i32 %vendor, 11, !dbg !486 | |
%450 = icmp eq i32 %449, 0, !dbg !486 | |
%cmp576 = icmp eq i32 %vendor, 11, !dbg !486 | |
br i1 false, label %451, label %452, !dbg !487, !prof !301 | |
451: ; preds = %445 | |
call void @__msan_warning_with_origin_noreturn(i32 0) #4, !dbg !487 | |
unreachable, !dbg !487 | |
452: ; preds = %445 | |
br i1 %cmp576, label %if.then578, label %if.end611, !dbg !487 | |
if.then578: ; preds = %452 | |
call void @llvm.dbg.value(metadata i32 -1073741824, metadata !322, metadata !DIExpression()) #5, !dbg !488 | |
%453 = tail call { i32, i32, i32, i32 } asm " xchgq %rbx,${1:q}\0A cpuid\0A xchgq %rbx,${1:q}", "={ax},=r,={cx},={dx},0,~{dirflag},~{fpsr},~{flags}"(i32 -1073741824) #6, !dbg !490, !srcloc !331 | |
%asmresult.i900 = extractvalue { i32, i32, i32, i32 } %453, 0, !dbg !490 | |
call void @llvm.dbg.value(metadata i32 %asmresult.i900, metadata !327, metadata !DIExpression(DW_OP_LLVM_fragment, 0, 32)) #5, !dbg !488 | |
call void @llvm.dbg.value(metadata i32 undef, metadata !327, metadata !DIExpression(DW_OP_LLVM_fragment, 32, 32)) #5, !dbg !488 | |
call void @llvm.dbg.value(metadata i32 undef, metadata !327, metadata !DIExpression(DW_OP_LLVM_fragment, 64, 32)) #5, !dbg !488 | |
call void @llvm.dbg.value(metadata i32 undef, metadata !327, metadata !DIExpression(DW_OP_LLVM_fragment, 96, 32)) #5, !dbg !488 | |
call void @llvm.dbg.value(metadata i64 undef, metadata !284, metadata !DIExpression(DW_OP_LLVM_fragment, 64, 64)), !dbg !491 | |
call void @llvm.dbg.value(metadata !DIArgList(i64 0, i32 %asmresult.i900), metadata !284, metadata !DIExpression(DW_OP_LLVM_arg, 0, DW_OP_LLVM_arg, 1, DW_OP_LLVM_convert, 32, DW_ATE_unsigned, DW_OP_LLVM_convert, 64, DW_ATE_unsigned, DW_OP_or, DW_OP_stack_value, DW_OP_LLVM_fragment, 0, 64)), !dbg !491 | |
call void @llvm.dbg.value(metadata i32 %asmresult.i900, metadata !287, metadata !DIExpression()), !dbg !491 | |
call void @llvm.dbg.value(metadata i32 -1073741823, metadata !288, metadata !DIExpression()), !dbg !491 | |
%454 = icmp ugt i32 %asmresult.i900, -1073741824, !dbg !492 | |
br i1 false, label %455, label %456, !dbg !493, !prof !301 | |
455: ; preds = %if.then578 | |
call void @__msan_warning_with_origin_noreturn(i32 0) #4, !dbg !493 | |
unreachable, !dbg !493 | |
456: ; preds = %if.then578 | |
br i1 %454, label %if.then583, label %if.end611, !dbg !493 | |
if.then583: ; preds = %456 | |
call void @llvm.dbg.value(metadata i32 -1073741823, metadata !322, metadata !DIExpression()) #5, !dbg !494 | |
%457 = tail call { i32, i32, i32, i32 } asm " xchgq %rbx,${1:q}\0A cpuid\0A xchgq %rbx,${1:q}", "={ax},=r,={cx},={dx},0,~{dirflag},~{fpsr},~{flags}"(i32 -1073741823) #6, !dbg !496, !srcloc !331 | |
%asmresult4.i917 = extractvalue { i32, i32, i32, i32 } %457, 3, !dbg !496 | |
call void @llvm.dbg.value(metadata i32 undef, metadata !327, metadata !DIExpression(DW_OP_LLVM_fragment, 0, 32)) #5, !dbg !494 | |
call void @llvm.dbg.value(metadata i32 undef, metadata !327, metadata !DIExpression(DW_OP_LLVM_fragment, 32, 32)) #5, !dbg !494 | |
call void @llvm.dbg.value(metadata i32 undef, metadata !327, metadata !DIExpression(DW_OP_LLVM_fragment, 64, 32)) #5, !dbg !494 | |
call void @llvm.dbg.value(metadata i32 %asmresult4.i917, metadata !327, metadata !DIExpression(DW_OP_LLVM_fragment, 96, 32)) #5, !dbg !494 | |
call void @llvm.dbg.value(metadata i64 undef, metadata !289, metadata !DIExpression(DW_OP_LLVM_fragment, 0, 64)), !dbg !497 | |
call void @llvm.dbg.value(metadata !DIArgList(i32 %asmresult4.i917, i32 undef), metadata !289, metadata !DIExpression(DW_OP_LLVM_arg, 0, DW_OP_LLVM_convert, 32, DW_ATE_unsigned, DW_OP_LLVM_convert, 64, DW_ATE_unsigned, DW_OP_constu, 32, DW_OP_shl, DW_OP_LLVM_arg, 1, DW_OP_LLVM_convert, 32, DW_ATE_unsigned, DW_OP_LLVM_convert, 64, DW_ATE_unsigned, DW_OP_or, DW_OP_stack_value, DW_OP_LLVM_fragment, 64, 64)), !dbg !497 | |
call void @llvm.dbg.value(metadata i32 12, metadata !292, metadata !DIExpression()), !dbg !497 | |
%and586 = and i32 %asmresult4.i917, 12, !dbg !498 | |
%458 = xor i32 %and586, 12, !dbg !499 | |
%459 = icmp eq i32 %458, 0, !dbg !499 | |
%cmp587 = icmp eq i32 %and586, 12, !dbg !499 | |
%rng = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 68, !dbg !500 | |
%frombool589 = zext i1 %cmp587 to i8, !dbg !501 | |
br i1 false, label %460, label %461, !dbg !501, !prof !301 | |
460: ; preds = %if.then583 | |
call void @__msan_warning_with_origin_noreturn(i32 0) #4, !dbg !501 | |
unreachable, !dbg !501 | |
461: ; preds = %if.then583 | |
%462 = ptrtoint i8* %rng to i64, !dbg !501 | |
%463 = xor i64 %462, 87960930222080, !dbg !501 | |
%464 = inttoptr i64 %463 to i8*, !dbg !501 | |
store i8 0, i8* %464, align 1, !dbg !501 | |
store i8 %frombool589, i8* %rng, align 1, !dbg !501 | |
call void @llvm.dbg.value(metadata i32 192, metadata !293, metadata !DIExpression()), !dbg !497 | |
%ace = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 69, !dbg !502 | |
call void @llvm.dbg.value(metadata i32 768, metadata !294, metadata !DIExpression()), !dbg !497 | |
%ace2 = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 70, !dbg !503 | |
call void @llvm.dbg.value(metadata i32 3072, metadata !295, metadata !DIExpression()), !dbg !497 | |
%phe = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 71, !dbg !504 | |
call void @llvm.dbg.value(metadata i32 12288, metadata !296, metadata !DIExpression()), !dbg !497 | |
%465 = insertelement <4 x i32> poison, i32 %asmresult4.i917, i64 0, !dbg !505 | |
%shuffle = shufflevector <4 x i32> %465, <4 x i32> poison, <4 x i32> zeroinitializer, !dbg !505 | |
%466 = and <4 x i32> %shuffle, <i32 12288, i32 3072, i32 768, i32 192>, !dbg !505 | |
%467 = xor <4 x i32> %466, <i32 12288, i32 3072, i32 768, i32 192>, !dbg !506 | |
%468 = icmp eq <4 x i32> %467, zeroinitializer, !dbg !506 | |
%469 = icmp eq <4 x i32> %466, <i32 12288, i32 3072, i32 768, i32 192>, !dbg !506 | |
%470 = extractelement <4 x i1> %469, i64 3, !dbg !507 | |
%frombool594 = zext i1 %470 to i8, !dbg !507 | |
br i1 false, label %471, label %472, !dbg !507, !prof !301 | |
471: ; preds = %461 | |
call void @__msan_warning_with_origin_noreturn(i32 0) #4, !dbg !507 | |
unreachable, !dbg !507 | |
472: ; preds = %461 | |
%473 = ptrtoint i8* %ace to i64, !dbg !507 | |
%474 = xor i64 %473, 87960930222080, !dbg !507 | |
%475 = inttoptr i64 %474 to i8*, !dbg !507 | |
store i8 0, i8* %475, align 1, !dbg !507 | |
store i8 %frombool594, i8* %ace, align 1, !dbg !507 | |
%476 = extractelement <4 x i1> %469, i64 2, !dbg !508 | |
%frombool599 = zext i1 %476 to i8, !dbg !508 | |
br i1 false, label %477, label %478, !dbg !508, !prof !301 | |
477: ; preds = %472 | |
call void @__msan_warning_with_origin_noreturn(i32 0) #4, !dbg !508 | |
unreachable, !dbg !508 | |
478: ; preds = %472 | |
%479 = ptrtoint i8* %ace2 to i64, !dbg !508 | |
%480 = xor i64 %479, 87960930222080, !dbg !508 | |
%481 = inttoptr i64 %480 to i8*, !dbg !508 | |
store i8 0, i8* %481, align 1, !dbg !508 | |
store i8 %frombool599, i8* %ace2, align 1, !dbg !508 | |
%482 = extractelement <4 x i1> %469, i64 1, !dbg !509 | |
%frombool604 = zext i1 %482 to i8, !dbg !509 | |
br i1 false, label %483, label %484, !dbg !509, !prof !301 | |
483: ; preds = %478 | |
call void @__msan_warning_with_origin_noreturn(i32 0) #4, !dbg !509 | |
unreachable, !dbg !509 | |
484: ; preds = %478 | |
%485 = ptrtoint i8* %phe to i64, !dbg !509 | |
%486 = xor i64 %485, 87960930222080, !dbg !509 | |
%487 = inttoptr i64 %486 to i8*, !dbg !509 | |
store i8 0, i8* %487, align 1, !dbg !509 | |
store i8 %frombool604, i8* %phe, align 1, !dbg !509 | |
%pmm = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 72, !dbg !510 | |
%488 = extractelement <4 x i1> %469, i64 0, !dbg !511 | |
%frombool609 = zext i1 %488 to i8, !dbg !511 | |
br i1 false, label %489, label %490, !dbg !511, !prof !301 | |
489: ; preds = %484 | |
call void @__msan_warning_with_origin_noreturn(i32 0) #4, !dbg !511 | |
unreachable, !dbg !511 | |
490: ; preds = %484 | |
%491 = ptrtoint i8* %pmm to i64, !dbg !511 | |
%492 = xor i64 %491, 87960930222080, !dbg !511 | |
%493 = inttoptr i64 %492 to i8*, !dbg !511 | |
store i8 0, i8* %493, align 1, !dbg !511 | |
store i8 %frombool609, i8* %pmm, align 1, !dbg !511 | |
br label %if.end611, !dbg !512 | |
if.end611: ; preds = %456, %490, %452 | |
%lwp = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 73, !dbg !513 | |
%494 = lshr i64 %1, 15, !dbg !514 | |
%and613856 = lshr i64 %extended_info.coerce1, 15, !dbg !514 | |
%_msprop1159 = trunc i64 %494 to i8, !dbg !514 | |
%495 = trunc i64 %and613856 to i8, !dbg !514 | |
%496 = and i8 %_msprop1159, 1, !dbg !514 | |
%497 = and i8 %495, 1, !dbg !514 | |
br i1 false, label %498, label %499, !dbg !514, !prof !301 | |
498: ; preds = %if.end611 | |
call void @__msan_warning_with_origin_noreturn(i32 0) #4, !dbg !514 | |
unreachable, !dbg !514 | |
499: ; preds = %if.end611 | |
%500 = ptrtoint i8* %lwp to i64, !dbg !514 | |
%501 = xor i64 %500, 87960930222080, !dbg !514 | |
%502 = inttoptr i64 %501 to i8*, !dbg !514 | |
store i8 %496, i8* %502, align 1, !dbg !514 | |
store i8 %497, i8* %lwp, align 1, !dbg !514 | |
%503 = lshr i32 %_msprop940, 27, !dbg !515 | |
%and619 = lshr i32 %extended_info.sroa.14.8.extract.trunc, 27, !dbg !515 | |
%_msprop1160 = trunc i32 %503 to i8, !dbg !515 | |
%504 = trunc i32 %and619 to i8, !dbg !515 | |
%505 = and i8 %_msprop1160, 1, !dbg !515 | |
%506 = and i8 %504, 1, !dbg !515 | |
br i1 false, label %507, label %508, !dbg !515, !prof !301 | |
507: ; preds = %499 | |
call void @__msan_warning_with_origin_noreturn(i32 0) #4, !dbg !515 | |
unreachable, !dbg !515 | |
508: ; preds = %499 | |
%509 = ptrtoint i8* %5 to i64, !dbg !515 | |
%510 = xor i64 %509, 87960930222080, !dbg !515 | |
%511 = inttoptr i64 %510 to i8*, !dbg !515 | |
store i8 %505, i8* %511, align 1, !dbg !515 | |
store i8 %506, i8* %5, align 1, !dbg !515 | |
%rdpid = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 1, !dbg !516 | |
%and625857 = lshr i64 %structured_feature_info0.sroa.25.0932, 22, !dbg !517 | |
%512 = trunc i64 %and625857 to i8, !dbg !517 | |
%513 = and i8 %512, 1, !dbg !517 | |
br i1 false, label %514, label %515, !dbg !517, !prof !301 | |
514: ; preds = %508 | |
call void @__msan_warning_with_origin_noreturn(i32 0) #4, !dbg !517 | |
unreachable, !dbg !517 | |
515: ; preds = %508 | |
%516 = ptrtoint i8* %rdpid to i64, !dbg !517 | |
%517 = xor i64 %516, 87960930222080, !dbg !517 | |
%518 = inttoptr i64 %517 to i8*, !dbg !517 | |
store i8 0, i8* %518, align 1, !dbg !517 | |
store i8 %513, i8* %rdpid, align 1, !dbg !517 | |
ret void, !dbg !518 | |
} | |
; Function Attrs: mustprogress nocallback nofree nosync nounwind readnone speculatable willreturn | |
declare void @llvm.dbg.declare(metadata, metadata, metadata) #1 | |
; Function Attrs: nocallback nofree nosync nounwind readnone speculatable willreturn | |
declare void @llvm.dbg.value(metadata, metadata, metadata) #2 | |
declare void @__msan_init() | |
; Function Attrs: nounwind | |
define internal void @msan.module_ctor() #3 { | |
call void @__msan_init() | |
ret void | |
} | |
declare i8* @__msan_memset(i8*, i32, i64) | |
declare void @__msan_warning_with_origin_noreturn(i32) | |
attributes #0 = { nounwind optsize sanitize_memory "frame-pointer"="all" "min-legal-vector-width"="0" "no-trapping-math"="true" "prefer-vector-width"="128" "stack-protector-buffer-size"="8" "target-cpu"="x86-64-v3" "target-features"="+aes,+avx,+avx2,+bmi,+bmi2,+crc32,+cx16,+cx8,+f16c,+fma,+fxsr,+lzcnt,+mmx,+movbe,+pclmul,+popcnt,+sahf,+sse,+sse2,+sse3,+sse4.1,+sse4.2,+ssse3,+x87,+xsave" } | |
attributes #1 = { mustprogress nocallback nofree nosync nounwind readnone speculatable willreturn } | |
attributes #2 = { nocallback nofree nosync nounwind readnone speculatable willreturn } | |
attributes #3 = { nounwind "frame-pointer"="all" } | |
attributes #4 = { nomerge } | |
attributes #5 = { nounwind } | |
attributes #6 = { nounwind readnone } | |
!llvm.dbg.cu = !{!0} | |
!llvm.module.flags = !{!160, !161, !162, !163, !164} | |
!llvm.ident = !{!165} | |
!0 = distinct !DICompileUnit(language: DW_LANG_C99, file: !1, producer: "clang version 0fe13b5f84abe1716f5991da057c801dc548a9ab", isOptimized: true, runtimeVersion: 0, emissionKind: FullDebug, enums: !2, retainedTypes: !154, nameTableKind: None) | |
!1 = !DIFile(filename: "cpuinfo/src/x86/isa.c", directory: "workspace", checksumkind: CSK_MD5, checksum: "1f066767a48d692a7df3bd0b30681f63") | |
!2 = !{!3, !37} | |
!3 = !DICompositeType(tag: DW_TAG_enumeration_type, name: "cpuinfo_vendor", file: !4, line: 137, baseType: !5, size: 32, elements: !6) | |
!4 = !DIFile(filename: "cpuinfo/include/cpuinfo.h", directory: "workspace", checksumkind: CSK_MD5, checksum: "b2d9902226e7212a1e7a8aecca87c8f4") | |
!5 = !DIBasicType(name: "unsigned int", size: 32, encoding: DW_ATE_unsigned) | |
!6 = !{!7, !8, !9, !10, !11, !12, !13, !14, !15, !16, !17, !18, !19, !20, !21, !22, !23, !24, !25, !26, !27, !28, !29, !30, !31, !32, !33, !34, !35, !36} | |
!7 = !DIEnumerator(name: "cpuinfo_vendor_unknown", value: 0) | |
!8 = !DIEnumerator(name: "cpuinfo_vendor_intel", value: 1) | |
!9 = !DIEnumerator(name: "cpuinfo_vendor_amd", value: 2) | |
!10 = !DIEnumerator(name: "cpuinfo_vendor_arm", value: 3) | |
!11 = !DIEnumerator(name: "cpuinfo_vendor_qualcomm", value: 4) | |
!12 = !DIEnumerator(name: "cpuinfo_vendor_apple", value: 5) | |
!13 = !DIEnumerator(name: "cpuinfo_vendor_samsung", value: 6) | |
!14 = !DIEnumerator(name: "cpuinfo_vendor_nvidia", value: 7) | |
!15 = !DIEnumerator(name: "cpuinfo_vendor_mips", value: 8) | |
!16 = !DIEnumerator(name: "cpuinfo_vendor_ibm", value: 9) | |
!17 = !DIEnumerator(name: "cpuinfo_vendor_ingenic", value: 10) | |
!18 = !DIEnumerator(name: "cpuinfo_vendor_via", value: 11) | |
!19 = !DIEnumerator(name: "cpuinfo_vendor_cavium", value: 12) | |
!20 = !DIEnumerator(name: "cpuinfo_vendor_broadcom", value: 13) | |
!21 = !DIEnumerator(name: "cpuinfo_vendor_apm", value: 14) | |
!22 = !DIEnumerator(name: "cpuinfo_vendor_huawei", value: 15) | |
!23 = !DIEnumerator(name: "cpuinfo_vendor_hygon", value: 16) | |
!24 = !DIEnumerator(name: "cpuinfo_vendor_texas_instruments", value: 30) | |
!25 = !DIEnumerator(name: "cpuinfo_vendor_marvell", value: 31) | |
!26 = !DIEnumerator(name: "cpuinfo_vendor_rdc", value: 32) | |
!27 = !DIEnumerator(name: "cpuinfo_vendor_dmp", value: 33) | |
!28 = !DIEnumerator(name: "cpuinfo_vendor_motorola", value: 34) | |
!29 = !DIEnumerator(name: "cpuinfo_vendor_transmeta", value: 50) | |
!30 = !DIEnumerator(name: "cpuinfo_vendor_cyrix", value: 51) | |
!31 = !DIEnumerator(name: "cpuinfo_vendor_rise", value: 52) | |
!32 = !DIEnumerator(name: "cpuinfo_vendor_nsc", value: 53) | |
!33 = !DIEnumerator(name: "cpuinfo_vendor_sis", value: 54) | |
!34 = !DIEnumerator(name: "cpuinfo_vendor_nexgen", value: 55) | |
!35 = !DIEnumerator(name: "cpuinfo_vendor_umc", value: 56) | |
!36 = !DIEnumerator(name: "cpuinfo_vendor_dec", value: 57) | |
!37 = !DICompositeType(tag: DW_TAG_enumeration_type, name: "cpuinfo_uarch", file: !4, line: 266, baseType: !5, size: 32, elements: !38) | |
!38 = !{!39, !40, !41, !42, !43, !44, !45, !46, !47, !48, !49, !50, !51, !52, !53, !54, !55, !56, !57, !58, !59, !60, !61, !62, !63, !64, !65, !66, !67, !68, !69, !70, !71, !72, !73, !74, !75, !76, !77, !78, !79, !80, !81, !82, !83, !84, !85, !86, !87, !88, !89, !90, !91, !92, !93, !94, !95, !96, !97, !98, !99, !100, !101, !102, !103, !104, !105, !106, !107, !108, !109, !110, !111, !112, !113, !114, !115, !116, !117, !118, !119, !120, !121, !122, !123, !124, !125, !126, !127, !128, !129, !130, !131, !132, !133, !134, !135, !136, !137, !138, !139, !140, !141, !142, !143, !144, !145, !146, !147, !148, !149, !150, !151, !152, !153} | |
!39 = !DIEnumerator(name: "cpuinfo_uarch_unknown", value: 0) | |
!40 = !DIEnumerator(name: "cpuinfo_uarch_p5", value: 1048832) | |
!41 = !DIEnumerator(name: "cpuinfo_uarch_quark", value: 1048833) | |
!42 = !DIEnumerator(name: "cpuinfo_uarch_p6", value: 1049088) | |
!43 = !DIEnumerator(name: "cpuinfo_uarch_dothan", value: 1049089) | |
!44 = !DIEnumerator(name: "cpuinfo_uarch_yonah", value: 1049090) | |
!45 = !DIEnumerator(name: "cpuinfo_uarch_conroe", value: 1049091) | |
!46 = !DIEnumerator(name: "cpuinfo_uarch_penryn", value: 1049092) | |
!47 = !DIEnumerator(name: "cpuinfo_uarch_nehalem", value: 1049093) | |
!48 = !DIEnumerator(name: "cpuinfo_uarch_sandy_bridge", value: 1049094) | |
!49 = !DIEnumerator(name: "cpuinfo_uarch_ivy_bridge", value: 1049095) | |
!50 = !DIEnumerator(name: "cpuinfo_uarch_haswell", value: 1049096) | |
!51 = !DIEnumerator(name: "cpuinfo_uarch_broadwell", value: 1049097) | |
!52 = !DIEnumerator(name: "cpuinfo_uarch_sky_lake", value: 1049098) | |
!53 = !DIEnumerator(name: "cpuinfo_uarch_kaby_lake", value: 1049098) | |
!54 = !DIEnumerator(name: "cpuinfo_uarch_palm_cove", value: 1049099) | |
!55 = !DIEnumerator(name: "cpuinfo_uarch_sunny_cove", value: 1049100) | |
!56 = !DIEnumerator(name: "cpuinfo_uarch_willamette", value: 1049344) | |
!57 = !DIEnumerator(name: "cpuinfo_uarch_prescott", value: 1049345) | |
!58 = !DIEnumerator(name: "cpuinfo_uarch_bonnell", value: 1049600) | |
!59 = !DIEnumerator(name: "cpuinfo_uarch_saltwell", value: 1049601) | |
!60 = !DIEnumerator(name: "cpuinfo_uarch_silvermont", value: 1049602) | |
!61 = !DIEnumerator(name: "cpuinfo_uarch_airmont", value: 1049603) | |
!62 = !DIEnumerator(name: "cpuinfo_uarch_goldmont", value: 1049604) | |
!63 = !DIEnumerator(name: "cpuinfo_uarch_goldmont_plus", value: 1049605) | |
!64 = !DIEnumerator(name: "cpuinfo_uarch_knights_ferry", value: 1049856) | |
!65 = !DIEnumerator(name: "cpuinfo_uarch_knights_corner", value: 1049857) | |
!66 = !DIEnumerator(name: "cpuinfo_uarch_knights_landing", value: 1049858) | |
!67 = !DIEnumerator(name: "cpuinfo_uarch_knights_hill", value: 1049859) | |
!68 = !DIEnumerator(name: "cpuinfo_uarch_knights_mill", value: 1049860) | |
!69 = !DIEnumerator(name: "cpuinfo_uarch_xscale", value: 1050112) | |
!70 = !DIEnumerator(name: "cpuinfo_uarch_k5", value: 2097408) | |
!71 = !DIEnumerator(name: "cpuinfo_uarch_k6", value: 2097409) | |
!72 = !DIEnumerator(name: "cpuinfo_uarch_k7", value: 2097410) | |
!73 = !DIEnumerator(name: "cpuinfo_uarch_k8", value: 2097411) | |
!74 = !DIEnumerator(name: "cpuinfo_uarch_k10", value: 2097412) | |
!75 = !DIEnumerator(name: "cpuinfo_uarch_bulldozer", value: 2097413) | |
!76 = !DIEnumerator(name: "cpuinfo_uarch_piledriver", value: 2097414) | |
!77 = !DIEnumerator(name: "cpuinfo_uarch_steamroller", value: 2097415) | |
!78 = !DIEnumerator(name: "cpuinfo_uarch_excavator", value: 2097416) | |
!79 = !DIEnumerator(name: "cpuinfo_uarch_zen", value: 2097417) | |
!80 = !DIEnumerator(name: "cpuinfo_uarch_zen2", value: 2097418) | |
!81 = !DIEnumerator(name: "cpuinfo_uarch_zen3", value: 2097419) | |
!82 = !DIEnumerator(name: "cpuinfo_uarch_geode", value: 2097664) | |
!83 = !DIEnumerator(name: "cpuinfo_uarch_bobcat", value: 2097665) | |
!84 = !DIEnumerator(name: "cpuinfo_uarch_jaguar", value: 2097666) | |
!85 = !DIEnumerator(name: "cpuinfo_uarch_puma", value: 2097667) | |
!86 = !DIEnumerator(name: "cpuinfo_uarch_arm7", value: 3145984) | |
!87 = !DIEnumerator(name: "cpuinfo_uarch_arm9", value: 3145985) | |
!88 = !DIEnumerator(name: "cpuinfo_uarch_arm11", value: 3145986) | |
!89 = !DIEnumerator(name: "cpuinfo_uarch_cortex_a5", value: 3146245) | |
!90 = !DIEnumerator(name: "cpuinfo_uarch_cortex_a7", value: 3146247) | |
!91 = !DIEnumerator(name: "cpuinfo_uarch_cortex_a8", value: 3146248) | |
!92 = !DIEnumerator(name: "cpuinfo_uarch_cortex_a9", value: 3146249) | |
!93 = !DIEnumerator(name: "cpuinfo_uarch_cortex_a12", value: 3146258) | |
!94 = !DIEnumerator(name: "cpuinfo_uarch_cortex_a15", value: 3146261) | |
!95 = !DIEnumerator(name: "cpuinfo_uarch_cortex_a17", value: 3146263) | |
!96 = !DIEnumerator(name: "cpuinfo_uarch_cortex_a32", value: 3146546) | |
!97 = !DIEnumerator(name: "cpuinfo_uarch_cortex_a35", value: 3146549) | |
!98 = !DIEnumerator(name: "cpuinfo_uarch_cortex_a53", value: 3146579) | |
!99 = !DIEnumerator(name: "cpuinfo_uarch_cortex_a55r0", value: 3146580) | |
!100 = !DIEnumerator(name: "cpuinfo_uarch_cortex_a55", value: 3146581) | |
!101 = !DIEnumerator(name: "cpuinfo_uarch_cortex_a57", value: 3146583) | |
!102 = !DIEnumerator(name: "cpuinfo_uarch_cortex_a65", value: 3146597) | |
!103 = !DIEnumerator(name: "cpuinfo_uarch_cortex_a72", value: 3146610) | |
!104 = !DIEnumerator(name: "cpuinfo_uarch_cortex_a73", value: 3146611) | |
!105 = !DIEnumerator(name: "cpuinfo_uarch_cortex_a75", value: 3146613) | |
!106 = !DIEnumerator(name: "cpuinfo_uarch_cortex_a76", value: 3146614) | |
!107 = !DIEnumerator(name: "cpuinfo_uarch_cortex_a77", value: 3146615) | |
!108 = !DIEnumerator(name: "cpuinfo_uarch_cortex_a78", value: 3146616) | |
!109 = !DIEnumerator(name: "cpuinfo_uarch_neoverse_n1", value: 3146752) | |
!110 = !DIEnumerator(name: "cpuinfo_uarch_neoverse_e1", value: 3146753) | |
!111 = !DIEnumerator(name: "cpuinfo_uarch_cortex_x1", value: 3147008) | |
!112 = !DIEnumerator(name: "cpuinfo_uarch_cortex_x2", value: 3147010) | |
!113 = !DIEnumerator(name: "cpuinfo_uarch_cortex_a510", value: 3147089) | |
!114 = !DIEnumerator(name: "cpuinfo_uarch_cortex_a710", value: 3147121) | |
!115 = !DIEnumerator(name: "cpuinfo_uarch_scorpion", value: 4194560) | |
!116 = !DIEnumerator(name: "cpuinfo_uarch_krait", value: 4194561) | |
!117 = !DIEnumerator(name: "cpuinfo_uarch_kryo", value: 4194562) | |
!118 = !DIEnumerator(name: "cpuinfo_uarch_falkor", value: 4194563) | |
!119 = !DIEnumerator(name: "cpuinfo_uarch_saphira", value: 4194564) | |
!120 = !DIEnumerator(name: "cpuinfo_uarch_denver", value: 5243136) | |
!121 = !DIEnumerator(name: "cpuinfo_uarch_denver2", value: 5243137) | |
!122 = !DIEnumerator(name: "cpuinfo_uarch_carmel", value: 5243138) | |
!123 = !DIEnumerator(name: "cpuinfo_uarch_exynos_m1", value: 6291712) | |
!124 = !DIEnumerator(name: "cpuinfo_uarch_exynos_m2", value: 6291713) | |
!125 = !DIEnumerator(name: "cpuinfo_uarch_exynos_m3", value: 6291714) | |
!126 = !DIEnumerator(name: "cpuinfo_uarch_exynos_m4", value: 6291715) | |
!127 = !DIEnumerator(name: "cpuinfo_uarch_exynos_m5", value: 6291716) | |
!128 = !DIEnumerator(name: "cpuinfo_uarch_cortex_a76ae", value: 3146614) | |
!129 = !DIEnumerator(name: "cpuinfo_uarch_mongoose_m1", value: 6291712) | |
!130 = !DIEnumerator(name: "cpuinfo_uarch_mongoose_m2", value: 6291713) | |
!131 = !DIEnumerator(name: "cpuinfo_uarch_meerkat_m3", value: 6291714) | |
!132 = !DIEnumerator(name: "cpuinfo_uarch_meerkat_m4", value: 6291715) | |
!133 = !DIEnumerator(name: "cpuinfo_uarch_swift", value: 7340288) | |
!134 = !DIEnumerator(name: "cpuinfo_uarch_cyclone", value: 7340289) | |
!135 = !DIEnumerator(name: "cpuinfo_uarch_typhoon", value: 7340290) | |
!136 = !DIEnumerator(name: "cpuinfo_uarch_twister", value: 7340291) | |
!137 = !DIEnumerator(name: "cpuinfo_uarch_hurricane", value: 7340292) | |
!138 = !DIEnumerator(name: "cpuinfo_uarch_monsoon", value: 7340293) | |
!139 = !DIEnumerator(name: "cpuinfo_uarch_mistral", value: 7340294) | |
!140 = !DIEnumerator(name: "cpuinfo_uarch_vortex", value: 7340295) | |
!141 = !DIEnumerator(name: "cpuinfo_uarch_tempest", value: 7340296) | |
!142 = !DIEnumerator(name: "cpuinfo_uarch_lightning", value: 7340297) | |
!143 = !DIEnumerator(name: "cpuinfo_uarch_thunder", value: 7340298) | |
!144 = !DIEnumerator(name: "cpuinfo_uarch_firestorm", value: 7340299) | |
!145 = !DIEnumerator(name: "cpuinfo_uarch_icestorm", value: 7340300) | |
!146 = !DIEnumerator(name: "cpuinfo_uarch_thunderx", value: 8388864) | |
!147 = !DIEnumerator(name: "cpuinfo_uarch_thunderx2", value: 8389120) | |
!148 = !DIEnumerator(name: "cpuinfo_uarch_pj4", value: 9437440) | |
!149 = !DIEnumerator(name: "cpuinfo_uarch_brahma_b15", value: 10486016) | |
!150 = !DIEnumerator(name: "cpuinfo_uarch_brahma_b53", value: 10486017) | |
!151 = !DIEnumerator(name: "cpuinfo_uarch_xgene", value: 11534592) | |
!152 = !DIEnumerator(name: "cpuinfo_uarch_dhyana", value: 16777472) | |
!153 = !DIEnumerator(name: "cpuinfo_uarch_taishan_v110", value: 12583168) | |
!154 = !{!155} | |
!155 = !DIDerivedType(tag: DW_TAG_typedef, name: "uint64_t", file: !156, line: 27, baseType: !157) | |
!156 = !DIFile(filename: "glibc/include/bits/stdint-uintn.h", directory: "workspace", checksumkind: CSK_MD5, checksum: "9754ebe022edbe8d7928fa709e442f0d") | |
!157 = !DIDerivedType(tag: DW_TAG_typedef, name: "__uint64_t", file: !158, line: 44, baseType: !159) | |
!158 = !DIFile(filename: "glibc/include/bits/types.h", directory: "workspace", checksumkind: CSK_MD5, checksum: "25679ba19d359e314e48661b21f5aa1f") | |
!159 = !DIBasicType(name: "unsigned long", size: 64, encoding: DW_ATE_unsigned) | |
!160 = !{i32 7, !"Dwarf Version", i32 5} | |
!161 = !{i32 2, !"Debug Info Version", i32 3} | |
!162 = !{i32 1, !"wchar_size", i32 4} | |
!163 = !{i32 7, !"PIC Level", i32 2} | |
!164 = !{i32 7, !"frame-pointer", i32 2} | |
!165 = !{!"clang version 0fe13b5f84abe1716f5991da057c801dc548a9ab"} | |
!166 = distinct !DISubprogram(name: "cpuinfo_x86_detect_isa", scope: !1, file: !1, line: 38, type: !167, scopeLine: 42, flags: DIFlagPrototyped | DIFlagAllCallsDescribed, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !0, retainedNodes: !256) | |
!167 = !DISubroutineType(types: !168) | |
!168 = !{!169, !246, !246, !251, !251, !3, !37} | |
!169 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "cpuinfo_x86_isa", file: !4, line: 670, size: 592, elements: !170) | |
!170 = !{!171, !173, !174, !175, !176, !177, !178, !179, !180, !181, !182, !183, !184, !185, !186, !187, !188, !189, !190, !191, !192, !193, !194, !195, !196, !197, !198, !199, !200, !201, !202, !203, !204, !205, !206, !207, !208, !209, !210, !211, !212, !213, !214, !215, !216, !217, !218, !219, !220, !221, !222, !223, !224, !225, !226, !227, !228, !229, !230, !231, !232, !233, !234, !235, !236, !237, !238, !239, !240, !241, !242, !243, !244, !245} | |
!171 = !DIDerivedType(tag: DW_TAG_member, name: "rdtscp", scope: !169, file: !4, line: 674, baseType: !172, size: 8) | |
!172 = !DIBasicType(name: "_Bool", size: 8, encoding: DW_ATE_boolean) | |
!173 = !DIDerivedType(tag: DW_TAG_member, name: "rdpid", scope: !169, file: !4, line: 675, baseType: !172, size: 8, offset: 8) | |
!174 = !DIDerivedType(tag: DW_TAG_member, name: "sysenter", scope: !169, file: !4, line: 676, baseType: !172, size: 8, offset: 16) | |
!175 = !DIDerivedType(tag: DW_TAG_member, name: "msr", scope: !169, file: !4, line: 680, baseType: !172, size: 8, offset: 24) | |
!176 = !DIDerivedType(tag: DW_TAG_member, name: "clzero", scope: !169, file: !4, line: 681, baseType: !172, size: 8, offset: 32) | |
!177 = !DIDerivedType(tag: DW_TAG_member, name: "clflush", scope: !169, file: !4, line: 682, baseType: !172, size: 8, offset: 40) | |
!178 = !DIDerivedType(tag: DW_TAG_member, name: "clflushopt", scope: !169, file: !4, line: 683, baseType: !172, size: 8, offset: 48) | |
!179 = !DIDerivedType(tag: DW_TAG_member, name: "mwait", scope: !169, file: !4, line: 684, baseType: !172, size: 8, offset: 56) | |
!180 = !DIDerivedType(tag: DW_TAG_member, name: "mwaitx", scope: !169, file: !4, line: 685, baseType: !172, size: 8, offset: 64) | |
!181 = !DIDerivedType(tag: DW_TAG_member, name: "fxsave", scope: !169, file: !4, line: 689, baseType: !172, size: 8, offset: 72) | |
!182 = !DIDerivedType(tag: DW_TAG_member, name: "xsave", scope: !169, file: !4, line: 690, baseType: !172, size: 8, offset: 80) | |
!183 = !DIDerivedType(tag: DW_TAG_member, name: "three_d_now", scope: !169, file: !4, line: 696, baseType: !172, size: 8, offset: 88) | |
!184 = !DIDerivedType(tag: DW_TAG_member, name: "three_d_now_plus", scope: !169, file: !4, line: 697, baseType: !172, size: 8, offset: 96) | |
!185 = !DIDerivedType(tag: DW_TAG_member, name: "prefetch", scope: !169, file: !4, line: 701, baseType: !172, size: 8, offset: 104) | |
!186 = !DIDerivedType(tag: DW_TAG_member, name: "prefetchw", scope: !169, file: !4, line: 702, baseType: !172, size: 8, offset: 112) | |
!187 = !DIDerivedType(tag: DW_TAG_member, name: "prefetchwt1", scope: !169, file: !4, line: 703, baseType: !172, size: 8, offset: 120) | |
!188 = !DIDerivedType(tag: DW_TAG_member, name: "sse3", scope: !169, file: !4, line: 709, baseType: !172, size: 8, offset: 128) | |
!189 = !DIDerivedType(tag: DW_TAG_member, name: "ssse3", scope: !169, file: !4, line: 710, baseType: !172, size: 8, offset: 136) | |
!190 = !DIDerivedType(tag: DW_TAG_member, name: "sse4_1", scope: !169, file: !4, line: 711, baseType: !172, size: 8, offset: 144) | |
!191 = !DIDerivedType(tag: DW_TAG_member, name: "sse4_2", scope: !169, file: !4, line: 712, baseType: !172, size: 8, offset: 152) | |
!192 = !DIDerivedType(tag: DW_TAG_member, name: "sse4a", scope: !169, file: !4, line: 713, baseType: !172, size: 8, offset: 160) | |
!193 = !DIDerivedType(tag: DW_TAG_member, name: "misaligned_sse", scope: !169, file: !4, line: 714, baseType: !172, size: 8, offset: 168) | |
!194 = !DIDerivedType(tag: DW_TAG_member, name: "avx", scope: !169, file: !4, line: 715, baseType: !172, size: 8, offset: 176) | |
!195 = !DIDerivedType(tag: DW_TAG_member, name: "fma3", scope: !169, file: !4, line: 716, baseType: !172, size: 8, offset: 184) | |
!196 = !DIDerivedType(tag: DW_TAG_member, name: "fma4", scope: !169, file: !4, line: 717, baseType: !172, size: 8, offset: 192) | |
!197 = !DIDerivedType(tag: DW_TAG_member, name: "xop", scope: !169, file: !4, line: 718, baseType: !172, size: 8, offset: 200) | |
!198 = !DIDerivedType(tag: DW_TAG_member, name: "f16c", scope: !169, file: !4, line: 719, baseType: !172, size: 8, offset: 208) | |
!199 = !DIDerivedType(tag: DW_TAG_member, name: "avx2", scope: !169, file: !4, line: 720, baseType: !172, size: 8, offset: 216) | |
!200 = !DIDerivedType(tag: DW_TAG_member, name: "avx512f", scope: !169, file: !4, line: 721, baseType: !172, size: 8, offset: 224) | |
!201 = !DIDerivedType(tag: DW_TAG_member, name: "avx512pf", scope: !169, file: !4, line: 722, baseType: !172, size: 8, offset: 232) | |
!202 = !DIDerivedType(tag: DW_TAG_member, name: "avx512er", scope: !169, file: !4, line: 723, baseType: !172, size: 8, offset: 240) | |
!203 = !DIDerivedType(tag: DW_TAG_member, name: "avx512cd", scope: !169, file: !4, line: 724, baseType: !172, size: 8, offset: 248) | |
!204 = !DIDerivedType(tag: DW_TAG_member, name: "avx512dq", scope: !169, file: !4, line: 725, baseType: !172, size: 8, offset: 256) | |
!205 = !DIDerivedType(tag: DW_TAG_member, name: "avx512bw", scope: !169, file: !4, line: 726, baseType: !172, size: 8, offset: 264) | |
!206 = !DIDerivedType(tag: DW_TAG_member, name: "avx512vl", scope: !169, file: !4, line: 727, baseType: !172, size: 8, offset: 272) | |
!207 = !DIDerivedType(tag: DW_TAG_member, name: "avx512ifma", scope: !169, file: !4, line: 728, baseType: !172, size: 8, offset: 280) | |
!208 = !DIDerivedType(tag: DW_TAG_member, name: "avx512vbmi", scope: !169, file: !4, line: 729, baseType: !172, size: 8, offset: 288) | |
!209 = !DIDerivedType(tag: DW_TAG_member, name: "avx512vbmi2", scope: !169, file: !4, line: 730, baseType: !172, size: 8, offset: 296) | |
!210 = !DIDerivedType(tag: DW_TAG_member, name: "avx512bitalg", scope: !169, file: !4, line: 731, baseType: !172, size: 8, offset: 304) | |
!211 = !DIDerivedType(tag: DW_TAG_member, name: "avx512vpopcntdq", scope: !169, file: !4, line: 732, baseType: !172, size: 8, offset: 312) | |
!212 = !DIDerivedType(tag: DW_TAG_member, name: "avx512vnni", scope: !169, file: !4, line: 733, baseType: !172, size: 8, offset: 320) | |
!213 = !DIDerivedType(tag: DW_TAG_member, name: "avx512bf16", scope: !169, file: !4, line: 734, baseType: !172, size: 8, offset: 328) | |
!214 = !DIDerivedType(tag: DW_TAG_member, name: "avx512vp2intersect", scope: !169, file: !4, line: 735, baseType: !172, size: 8, offset: 336) | |
!215 = !DIDerivedType(tag: DW_TAG_member, name: "avx512_4vnniw", scope: !169, file: !4, line: 736, baseType: !172, size: 8, offset: 344) | |
!216 = !DIDerivedType(tag: DW_TAG_member, name: "avx512_4fmaps", scope: !169, file: !4, line: 737, baseType: !172, size: 8, offset: 352) | |
!217 = !DIDerivedType(tag: DW_TAG_member, name: "hle", scope: !169, file: !4, line: 738, baseType: !172, size: 8, offset: 360) | |
!218 = !DIDerivedType(tag: DW_TAG_member, name: "rtm", scope: !169, file: !4, line: 739, baseType: !172, size: 8, offset: 368) | |
!219 = !DIDerivedType(tag: DW_TAG_member, name: "xtest", scope: !169, file: !4, line: 740, baseType: !172, size: 8, offset: 376) | |
!220 = !DIDerivedType(tag: DW_TAG_member, name: "mpx", scope: !169, file: !4, line: 741, baseType: !172, size: 8, offset: 384) | |
!221 = !DIDerivedType(tag: DW_TAG_member, name: "cmpxchg16b", scope: !169, file: !4, line: 746, baseType: !172, size: 8, offset: 392) | |
!222 = !DIDerivedType(tag: DW_TAG_member, name: "clwb", scope: !169, file: !4, line: 747, baseType: !172, size: 8, offset: 400) | |
!223 = !DIDerivedType(tag: DW_TAG_member, name: "movbe", scope: !169, file: !4, line: 748, baseType: !172, size: 8, offset: 408) | |
!224 = !DIDerivedType(tag: DW_TAG_member, name: "lahf_sahf", scope: !169, file: !4, line: 750, baseType: !172, size: 8, offset: 416) | |
!225 = !DIDerivedType(tag: DW_TAG_member, name: "fs_gs_base", scope: !169, file: !4, line: 752, baseType: !172, size: 8, offset: 424) | |
!226 = !DIDerivedType(tag: DW_TAG_member, name: "lzcnt", scope: !169, file: !4, line: 753, baseType: !172, size: 8, offset: 432) | |
!227 = !DIDerivedType(tag: DW_TAG_member, name: "popcnt", scope: !169, file: !4, line: 754, baseType: !172, size: 8, offset: 440) | |
!228 = !DIDerivedType(tag: DW_TAG_member, name: "tbm", scope: !169, file: !4, line: 755, baseType: !172, size: 8, offset: 448) | |
!229 = !DIDerivedType(tag: DW_TAG_member, name: "bmi", scope: !169, file: !4, line: 756, baseType: !172, size: 8, offset: 456) | |
!230 = !DIDerivedType(tag: DW_TAG_member, name: "bmi2", scope: !169, file: !4, line: 757, baseType: !172, size: 8, offset: 464) | |
!231 = !DIDerivedType(tag: DW_TAG_member, name: "adx", scope: !169, file: !4, line: 758, baseType: !172, size: 8, offset: 472) | |
!232 = !DIDerivedType(tag: DW_TAG_member, name: "aes", scope: !169, file: !4, line: 759, baseType: !172, size: 8, offset: 480) | |
!233 = !DIDerivedType(tag: DW_TAG_member, name: "vaes", scope: !169, file: !4, line: 760, baseType: !172, size: 8, offset: 488) | |
!234 = !DIDerivedType(tag: DW_TAG_member, name: "pclmulqdq", scope: !169, file: !4, line: 761, baseType: !172, size: 8, offset: 496) | |
!235 = !DIDerivedType(tag: DW_TAG_member, name: "vpclmulqdq", scope: !169, file: !4, line: 762, baseType: !172, size: 8, offset: 504) | |
!236 = !DIDerivedType(tag: DW_TAG_member, name: "gfni", scope: !169, file: !4, line: 763, baseType: !172, size: 8, offset: 512) | |
!237 = !DIDerivedType(tag: DW_TAG_member, name: "rdrand", scope: !169, file: !4, line: 764, baseType: !172, size: 8, offset: 520) | |
!238 = !DIDerivedType(tag: DW_TAG_member, name: "rdseed", scope: !169, file: !4, line: 765, baseType: !172, size: 8, offset: 528) | |
!239 = !DIDerivedType(tag: DW_TAG_member, name: "sha", scope: !169, file: !4, line: 766, baseType: !172, size: 8, offset: 536) | |
!240 = !DIDerivedType(tag: DW_TAG_member, name: "rng", scope: !169, file: !4, line: 767, baseType: !172, size: 8, offset: 544) | |
!241 = !DIDerivedType(tag: DW_TAG_member, name: "ace", scope: !169, file: !4, line: 768, baseType: !172, size: 8, offset: 552) | |
!242 = !DIDerivedType(tag: DW_TAG_member, name: "ace2", scope: !169, file: !4, line: 769, baseType: !172, size: 8, offset: 560) | |
!243 = !DIDerivedType(tag: DW_TAG_member, name: "phe", scope: !169, file: !4, line: 770, baseType: !172, size: 8, offset: 568) | |
!244 = !DIDerivedType(tag: DW_TAG_member, name: "pmm", scope: !169, file: !4, line: 771, baseType: !172, size: 8, offset: 576) | |
!245 = !DIDerivedType(tag: DW_TAG_member, name: "lwp", scope: !169, file: !4, line: 772, baseType: !172, size: 8, offset: 584) | |
!246 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !247) | |
!247 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "cpuid_regs", file: !248, line: 10, size: 128, elements: !249) | |
!248 = !DIFile(filename: "cpuinfo/src/x86/api.h", directory: "workspace", checksumkind: CSK_MD5, checksum: "27c8ee589f06b55198de5debd23b68da") | |
!249 = !{!250, !253, !254, !255} | |
!250 = !DIDerivedType(tag: DW_TAG_member, name: "eax", scope: !247, file: !248, line: 11, baseType: !251, size: 32) | |
!251 = !DIDerivedType(tag: DW_TAG_typedef, name: "uint32_t", file: !156, line: 26, baseType: !252) | |
!252 = !DIDerivedType(tag: DW_TAG_typedef, name: "__uint32_t", file: !158, line: 41, baseType: !5) | |
!253 = !DIDerivedType(tag: DW_TAG_member, name: "ebx", scope: !247, file: !248, line: 12, baseType: !251, size: 32, offset: 32) | |
!254 = !DIDerivedType(tag: DW_TAG_member, name: "ecx", scope: !247, file: !248, line: 13, baseType: !251, size: 32, offset: 64) | |
!255 = !DIDerivedType(tag: DW_TAG_member, name: "edx", scope: !247, file: !248, line: 14, baseType: !251, size: 32, offset: 96) | |
!256 = !{!257, !258, !259, !260, !261, !262, !263, !264, !265, !266, !268, !269, !270, !271, !272, !273, !276, !279, !281, !282, !283, !284, !287, !288, !289, !292, !293, !294, !295, !296} | |
!257 = !DILocalVariable(name: "basic_info", arg: 1, scope: !166, file: !1, line: 39, type: !246) | |
!258 = !DILocalVariable(name: "extended_info", arg: 2, scope: !166, file: !1, line: 39, type: !246) | |
!259 = !DILocalVariable(name: "max_base_index", arg: 3, scope: !166, file: !1, line: 40, type: !251) | |
!260 = !DILocalVariable(name: "max_extended_index", arg: 4, scope: !166, file: !1, line: 40, type: !251) | |
!261 = !DILocalVariable(name: "vendor", arg: 5, scope: !166, file: !1, line: 41, type: !3) | |
!262 = !DILocalVariable(name: "uarch", arg: 6, scope: !166, file: !1, line: 41, type: !37) | |
!263 = !DILocalVariable(name: "isa", scope: !166, file: !1, line: 43, type: !169) | |
!264 = !DILocalVariable(name: "structured_feature_info0", scope: !166, file: !1, line: 45, type: !246) | |
!265 = !DILocalVariable(name: "structured_feature_info1", scope: !166, file: !1, line: 47, type: !246) | |
!266 = !DILocalVariable(name: "processor_capacity_info_index", scope: !166, file: !1, line: 50, type: !267) | |
!267 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !251) | |
!268 = !DILocalVariable(name: "processor_capacity_info", scope: !166, file: !1, line: 51, type: !246) | |
!269 = !DILocalVariable(name: "avx_regs", scope: !166, file: !1, line: 55, type: !172) | |
!270 = !DILocalVariable(name: "avx512_regs", scope: !166, file: !1, line: 55, type: !172) | |
!271 = !DILocalVariable(name: "mpx_regs", scope: !166, file: !1, line: 55, type: !172) | |
!272 = !DILocalVariable(name: "osxsave_mask", scope: !166, file: !1, line: 61, type: !267) | |
!273 = !DILocalVariable(name: "xcr0_valid_bits", scope: !274, file: !1, line: 63, type: !155) | |
!274 = distinct !DILexicalBlock(scope: !275, file: !1, line: 62, column: 55) | |
!275 = distinct !DILexicalBlock(scope: !166, file: !1, line: 62, column: 6) | |
!276 = !DILocalVariable(name: "regs", scope: !277, file: !1, line: 65, type: !246) | |
!277 = distinct !DILexicalBlock(scope: !278, file: !1, line: 64, column: 30) | |
!278 = distinct !DILexicalBlock(scope: !274, file: !1, line: 64, column: 7) | |
!279 = !DILocalVariable(name: "xfeature_enabled_mask", scope: !274, file: !1, line: 69, type: !280) | |
!280 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !155) | |
!281 = !DILocalVariable(name: "avx_regs_mask", scope: !274, file: !1, line: 76, type: !280) | |
!282 = !DILocalVariable(name: "avx512_regs_mask", scope: !274, file: !1, line: 89, type: !280) | |
!283 = !DILocalVariable(name: "mpx_regs_mask", scope: !274, file: !1, line: 99, type: !280) | |
!284 = !DILocalVariable(name: "padlock_meta_info", scope: !285, file: !1, line: 657, type: !246) | |
!285 = distinct !DILexicalBlock(scope: !286, file: !1, line: 656, column: 36) | |
!286 = distinct !DILexicalBlock(scope: !166, file: !1, line: 656, column: 6) | |
!287 = !DILocalVariable(name: "max_padlock_index", scope: !285, file: !1, line: 658, type: !267) | |
!288 = !DILocalVariable(name: "padlock_info_index", scope: !285, file: !1, line: 659, type: !267) | |
!289 = !DILocalVariable(name: "padlock_info", scope: !290, file: !1, line: 661, type: !246) | |
!290 = distinct !DILexicalBlock(scope: !291, file: !1, line: 660, column: 48) | |
!291 = distinct !DILexicalBlock(scope: !285, file: !1, line: 660, column: 7) | |
!292 = !DILocalVariable(name: "padlock_rng_mask", scope: !290, file: !1, line: 668, type: !267) | |
!293 = !DILocalVariable(name: "padlock_ace_mask", scope: !290, file: !1, line: 676, type: !267) | |
!294 = !DILocalVariable(name: "padlock_ace2_mask", scope: !290, file: !1, line: 684, type: !267) | |
!295 = !DILocalVariable(name: "padlock_phe_mask", scope: !290, file: !1, line: 692, type: !267) | |
!296 = !DILocalVariable(name: "padlock_pmm_mask", scope: !290, file: !1, line: 700, type: !267) | |
!297 = !DILocation(line: 0, scope: !166) | |
!298 = !DILocation(line: 43, column: 25, scope: !166) | |
!299 = !DILocation(line: 46, column: 19, scope: !166) | |
!300 = !DILocation(line: 46, column: 3, scope: !166) | |
!301 = !{!"branch_weights", i32 1, i32 1000} | |
!302 = !DILocalVariable(name: "eax", arg: 1, scope: !303, file: !304, line: 43, type: !251) | |
!303 = distinct !DISubprogram(name: "cpuidex", scope: !304, file: !304, line: 43, type: !305, scopeLine: 43, flags: DIFlagPrototyped | DIFlagAllCallsDescribed, spFlags: DISPFlagLocalToUnit | DISPFlagDefinition | DISPFlagOptimized, unit: !0, retainedNodes: !307) | |
!304 = !DIFile(filename: "cpuinfo/src/x86/cpuid.h", directory: "workspace", checksumkind: CSK_MD5, checksum: "f9e451aa7a48009ba003a034c14f0ac3") | |
!305 = !DISubroutineType(types: !306) | |
!306 = !{!247, !251, !251} | |
!307 = !{!302, !308, !309} | |
!308 = !DILocalVariable(name: "ecx", arg: 2, scope: !303, file: !304, line: 43, type: !251) | |
!309 = !DILocalVariable(name: "regs", scope: !303, file: !304, line: 54, type: !247) | |
!310 = !DILocation(line: 0, scope: !303, inlinedAt: !311) | |
!311 = distinct !DILocation(line: 46, column: 27, scope: !166) | |
!312 = !DILocation(line: 56, column: 5, scope: !303, inlinedAt: !311) | |
!313 = !{i64 2147921615, i64 2147921651, i64 2147921675} | |
!314 = !DILocation(line: 65, column: 4, scope: !303, inlinedAt: !311) | |
!315 = !DILocation(line: 0, scope: !303, inlinedAt: !316) | |
!316 = distinct !DILocation(line: 48, column: 27, scope: !166) | |
!317 = !DILocation(line: 56, column: 5, scope: !303, inlinedAt: !316) | |
!318 = !DILocation(line: 65, column: 4, scope: !303, inlinedAt: !316) | |
!319 = !DILocation(line: 48, column: 3, scope: !166) | |
!320 = !DILocation(line: 52, column: 23, scope: !166) | |
!321 = !DILocation(line: 52, column: 3, scope: !166) | |
!322 = !DILocalVariable(name: "eax", arg: 1, scope: !323, file: !304, line: 17, type: !251) | |
!323 = distinct !DISubprogram(name: "cpuid", scope: !304, file: !304, line: 17, type: !324, scopeLine: 17, flags: DIFlagPrototyped | DIFlagAllCallsDescribed, spFlags: DISPFlagLocalToUnit | DISPFlagDefinition | DISPFlagOptimized, unit: !0, retainedNodes: !326) | |
!324 = !DISubroutineType(types: !325) | |
!325 = !{!247, !251} | |
!326 = !{!322, !327} | |
!327 = !DILocalVariable(name: "regs", scope: !323, file: !304, line: 28, type: !247) | |
!328 = !DILocation(line: 0, scope: !323, inlinedAt: !329) | |
!329 = distinct !DILocation(line: 53, column: 4, scope: !166) | |
!330 = !DILocation(line: 30, column: 5, scope: !323, inlinedAt: !329) | |
!331 = !{i64 2147921400, i64 2147921436, i64 2147921460} | |
!332 = !DILocation(line: 62, column: 22, scope: !275) | |
!333 = !DILocation(line: 62, column: 38, scope: !275) | |
!334 = !DILocation(line: 62, column: 6, scope: !166) | |
!335 = !DILocation(line: 0, scope: !274) | |
!336 = !DILocation(line: 64, column: 22, scope: !278) | |
!337 = !DILocation(line: 64, column: 7, scope: !274) | |
!338 = !DILocation(line: 0, scope: !303, inlinedAt: !339) | |
!339 = distinct !DILocation(line: 65, column: 35, scope: !277) | |
!340 = !DILocation(line: 56, column: 5, scope: !303, inlinedAt: !339) | |
!341 = !DILocation(line: 65, column: 4, scope: !303, inlinedAt: !339) | |
!342 = !DILocation(line: 0, scope: !277) | |
!343 = !DILocation(line: 67, column: 3, scope: !277) | |
!344 = !DILocalVariable(name: "ext_ctrl_reg", arg: 1, scope: !345, file: !304, line: 70, type: !251) | |
!345 = distinct !DISubprogram(name: "xgetbv", scope: !304, file: !304, line: 70, type: !346, scopeLine: 70, flags: DIFlagPrototyped | DIFlagAllCallsDescribed, spFlags: DISPFlagLocalToUnit | DISPFlagDefinition | DISPFlagOptimized, unit: !0, retainedNodes: !348) | |
!346 = !DISubroutineType(cc: DW_CC_nocall, types: !347) | |
!347 = !{!155, !251} | |
!348 = !{!344, !349, !350} | |
!349 = !DILocalVariable(name: "lo", scope: !345, file: !304, line: 74, type: !251) | |
!350 = !DILocalVariable(name: "hi", scope: !345, file: !304, line: 74, type: !251) | |
!351 = !DILocation(line: 0, scope: !345, inlinedAt: !352) | |
!352 = distinct !DILocation(line: 69, column: 42, scope: !274) | |
!353 = !DILocation(line: 75, column: 3, scope: !345, inlinedAt: !352) | |
!354 = !{i64 371123} | |
!355 = !DILocation(line: 76, column: 34, scope: !345, inlinedAt: !352) | |
!356 = !DILocation(line: 77, column: 24, scope: !357) | |
!357 = distinct !DILexicalBlock(scope: !274, file: !1, line: 77, column: 7) | |
!358 = !DILocation(line: 77, column: 41, scope: !357) | |
!359 = !DILocation(line: 77, column: 7, scope: !274) | |
!360 = !DILocation(line: 100, column: 24, scope: !361) | |
!361 = distinct !DILexicalBlock(scope: !274, file: !1, line: 100, column: 7) | |
!362 = !DILocation(line: 100, column: 41, scope: !361) | |
!363 = !DILocation(line: 100, column: 7, scope: !274) | |
!364 = !DILocation(line: 103, column: 2, scope: !274) | |
!365 = !DILocation(line: 118, column: 6, scope: !166) | |
!366 = !DILocation(line: 118, column: 15, scope: !166) | |
!367 = !DILocation(line: 133, column: 31, scope: !166) | |
!368 = !DILocation(line: 133, column: 6, scope: !166) | |
!369 = !DILocation(line: 133, column: 10, scope: !166) | |
!370 = !DILocation(line: 139, column: 6, scope: !166) | |
!371 = !DILocation(line: 139, column: 13, scope: !166) | |
!372 = !DILocation(line: 145, column: 6, scope: !166) | |
!373 = !DILocation(line: 145, column: 14, scope: !166) | |
!374 = !DILocation(line: 151, column: 47, scope: !166) | |
!375 = !DILocation(line: 151, column: 6, scope: !166) | |
!376 = !DILocation(line: 151, column: 17, scope: !166) | |
!377 = !DILocation(line: 157, column: 6, scope: !166) | |
!378 = !DILocation(line: 157, column: 12, scope: !166) | |
!379 = !DILocation(line: 163, column: 6, scope: !166) | |
!380 = !DILocation(line: 163, column: 13, scope: !166) | |
!381 = !DILocation(line: 178, column: 8, scope: !382) | |
!382 = distinct !DILexicalBlock(scope: !166, file: !1, line: 170, column: 18) | |
!383 = !DILocation(line: 178, column: 15, scope: !382) | |
!384 = !DILocation(line: 186, column: 6, scope: !166) | |
!385 = !DILocation(line: 186, column: 12, scope: !166) | |
!386 = !DILocation(line: 215, column: 6, scope: !166) | |
!387 = !DILocation(line: 215, column: 18, scope: !166) | |
!388 = !DILocation(line: 221, column: 6, scope: !166) | |
!389 = !DILocation(line: 221, column: 23, scope: !166) | |
!390 = !DILocation(line: 239, column: 2, scope: !166) | |
!391 = !DILocation(line: 248, column: 41, scope: !392) | |
!392 = distinct !DILexicalBlock(scope: !166, file: !1, line: 239, column: 18) | |
!393 = !DILocation(line: 248, column: 86, scope: !392) | |
!394 = !DILocation(line: 248, column: 65, scope: !392) | |
!395 = !DILocation(line: 248, column: 20, scope: !392) | |
!396 = !DILocation(line: 249, column: 4, scope: !392) | |
!397 = !DILocation(line: 255, column: 20, scope: !392) | |
!398 = !DILocation(line: 256, column: 4, scope: !392) | |
!399 = !DILocation(line: 0, scope: !392) | |
!400 = !DILocation(line: 267, column: 2, scope: !166) | |
!401 = !DILocation(line: 0, scope: !402) | |
!402 = distinct !DILexicalBlock(scope: !166, file: !1, line: 267, column: 18) | |
!403 = !DILocation(line: 282, column: 6, scope: !166) | |
!404 = !DILocation(line: 282, column: 18, scope: !166) | |
!405 = !DILocation(line: 302, column: 6, scope: !166) | |
!406 = !DILocation(line: 302, column: 11, scope: !166) | |
!407 = !DILocation(line: 334, column: 6, scope: !166) | |
!408 = !DILocation(line: 334, column: 12, scope: !166) | |
!409 = !DILocation(line: 341, column: 6, scope: !166) | |
!410 = !DILocation(line: 341, column: 13, scope: !166) | |
!411 = !DILocation(line: 347, column: 6, scope: !166) | |
!412 = !DILocation(line: 347, column: 13, scope: !166) | |
!413 = !DILocation(line: 353, column: 6, scope: !166) | |
!414 = !DILocation(line: 353, column: 12, scope: !166) | |
!415 = !DILocation(line: 359, column: 6, scope: !166) | |
!416 = !DILocation(line: 359, column: 21, scope: !166) | |
!417 = !DILocation(line: 365, column: 21, scope: !166) | |
!418 = !DILocation(line: 365, column: 6, scope: !166) | |
!419 = !DILocation(line: 365, column: 10, scope: !166) | |
!420 = !DILocation(line: 413, column: 29, scope: !166) | |
!421 = !DILocation(line: 413, column: 6, scope: !166) | |
!422 = !DILocation(line: 413, column: 15, scope: !166) | |
!423 = !DILocation(line: 419, column: 29, scope: !166) | |
!424 = !DILocation(line: 419, column: 6, scope: !166) | |
!425 = !DILocation(line: 419, column: 15, scope: !166) | |
!426 = !DILocation(line: 425, column: 29, scope: !166) | |
!427 = !DILocation(line: 425, column: 6, scope: !166) | |
!428 = !DILocation(line: 431, column: 29, scope: !166) | |
!429 = !DILocation(line: 437, column: 29, scope: !166) | |
!430 = !DILocation(line: 443, column: 31, scope: !166) | |
!431 = !DILocation(line: 449, column: 31, scope: !166) | |
!432 = !DILocation(line: 455, column: 32, scope: !166) | |
!433 = !DILocation(line: 461, column: 33, scope: !166) | |
!434 = !DILocation(line: 467, column: 36, scope: !166) | |
!435 = !DILocation(line: 425, column: 15, scope: !166) | |
!436 = !DILocation(line: 473, column: 31, scope: !166) | |
!437 = !DILocation(line: 473, column: 6, scope: !166) | |
!438 = !DILocation(line: 473, column: 17, scope: !166) | |
!439 = !DILocation(line: 479, column: 34, scope: !166) | |
!440 = !DILocation(line: 479, column: 6, scope: !166) | |
!441 = !DILocation(line: 479, column: 20, scope: !166) | |
!442 = !DILocation(line: 485, column: 34, scope: !166) | |
!443 = !DILocation(line: 485, column: 6, scope: !166) | |
!444 = !DILocation(line: 485, column: 20, scope: !166) | |
!445 = !DILocation(line: 491, column: 39, scope: !166) | |
!446 = !DILocation(line: 491, column: 6, scope: !166) | |
!447 = !DILocation(line: 491, column: 25, scope: !166) | |
!448 = !DILocation(line: 497, column: 31, scope: !166) | |
!449 = !DILocation(line: 497, column: 6, scope: !166) | |
!450 = !DILocation(line: 497, column: 17, scope: !166) | |
!451 = !DILocation(line: 503, column: 6, scope: !166) | |
!452 = !DILocation(line: 503, column: 10, scope: !166) | |
!453 = !DILocation(line: 509, column: 44, scope: !166) | |
!454 = !DILocation(line: 509, column: 13, scope: !166) | |
!455 = !DILocation(line: 509, column: 6, scope: !166) | |
!456 = !DILocation(line: 509, column: 10, scope: !166) | |
!457 = !DILocation(line: 515, column: 18, scope: !166) | |
!458 = !DILocation(line: 515, column: 22, scope: !166) | |
!459 = !DILocation(line: 515, column: 6, scope: !166) | |
!460 = !DILocation(line: 515, column: 12, scope: !166) | |
!461 = !DILocation(line: 521, column: 21, scope: !166) | |
!462 = !DILocation(line: 521, column: 6, scope: !166) | |
!463 = !DILocation(line: 521, column: 10, scope: !166) | |
!464 = !DILocation(line: 543, column: 6, scope: !166) | |
!465 = !DILocation(line: 543, column: 17, scope: !166) | |
!466 = !DILocation(line: 549, column: 11, scope: !166) | |
!467 = !DILocation(line: 555, column: 12, scope: !166) | |
!468 = !DILocation(line: 570, column: 17, scope: !166) | |
!469 = !DILocation(line: 576, column: 12, scope: !166) | |
!470 = !DILocation(line: 582, column: 13, scope: !166) | |
!471 = !DILocation(line: 588, column: 10, scope: !166) | |
!472 = !DILocation(line: 594, column: 10, scope: !166) | |
!473 = !DILocation(line: 600, column: 11, scope: !166) | |
!474 = !DILocation(line: 606, column: 10, scope: !166) | |
!475 = !DILocation(line: 612, column: 10, scope: !166) | |
!476 = !DILocation(line: 618, column: 11, scope: !166) | |
!477 = !DILocation(line: 624, column: 16, scope: !166) | |
!478 = !DILocation(line: 630, column: 17, scope: !166) | |
!479 = !DILocation(line: 636, column: 11, scope: !166) | |
!480 = !DILocation(line: 642, column: 6, scope: !166) | |
!481 = !DILocation(line: 642, column: 13, scope: !166) | |
!482 = !DILocation(line: 648, column: 6, scope: !166) | |
!483 = !DILocation(line: 648, column: 13, scope: !166) | |
!484 = !DILocation(line: 654, column: 6, scope: !166) | |
!485 = !DILocation(line: 654, column: 10, scope: !166) | |
!486 = !DILocation(line: 656, column: 13, scope: !286) | |
!487 = !DILocation(line: 656, column: 6, scope: !166) | |
!488 = !DILocation(line: 0, scope: !323, inlinedAt: !489) | |
!489 = distinct !DILocation(line: 657, column: 47, scope: !285) | |
!490 = !DILocation(line: 30, column: 5, scope: !323, inlinedAt: !489) | |
!491 = !DILocation(line: 0, scope: !285) | |
!492 = !DILocation(line: 660, column: 25, scope: !291) | |
!493 = !DILocation(line: 660, column: 7, scope: !285) | |
!494 = !DILocation(line: 0, scope: !323, inlinedAt: !495) | |
!495 = distinct !DILocation(line: 661, column: 43, scope: !290) | |
!496 = !DILocation(line: 30, column: 5, scope: !323, inlinedAt: !495) | |
!497 = !DILocation(line: 0, scope: !290) | |
!498 = !DILocation(line: 669, column: 32, scope: !290) | |
!499 = !DILocation(line: 669, column: 52, scope: !290) | |
!500 = !DILocation(line: 669, column: 8, scope: !290) | |
!501 = !DILocation(line: 669, column: 12, scope: !290) | |
!502 = !DILocation(line: 677, column: 8, scope: !290) | |
!503 = !DILocation(line: 685, column: 8, scope: !290) | |
!504 = !DILocation(line: 693, column: 8, scope: !290) | |
!505 = !DILocation(line: 701, column: 32, scope: !290) | |
!506 = !DILocation(line: 701, column: 52, scope: !290) | |
!507 = !DILocation(line: 677, column: 12, scope: !290) | |
!508 = !DILocation(line: 685, column: 13, scope: !290) | |
!509 = !DILocation(line: 693, column: 12, scope: !290) | |
!510 = !DILocation(line: 701, column: 8, scope: !290) | |
!511 = !DILocation(line: 701, column: 12, scope: !290) | |
!512 = !DILocation(line: 702, column: 3, scope: !290) | |
!513 = !DILocation(line: 709, column: 6, scope: !166) | |
!514 = !DILocation(line: 709, column: 10, scope: !166) | |
!515 = !DILocation(line: 715, column: 13, scope: !166) | |
!516 = !DILocation(line: 721, column: 6, scope: !166) | |
!517 = !DILocation(line: 721, column: 12, scope: !166) | |
!518 = !DILocation(line: 724, column: 1, scope: !166) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
; ModuleID = 'cpuinfo/src/x86/isa.c' | |
source_filename = "cpuinfo/src/x86/isa.c" | |
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128" | |
target triple = "x86_64-unknown-linux-gnu" | |
%struct.cpuinfo_x86_isa = type { i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8 } | |
@llvm.used = appending global [1 x i8*] [i8* bitcast (void ()* @msan.module_ctor to i8*)], section "llvm.metadata" | |
@llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 0, void ()* @msan.module_ctor, i8* null }] | |
@__msan_param_tls = external thread_local(initialexec) global [100 x i64] | |
; Function Attrs: nounwind optsize sanitize_memory | |
define hidden void @cpuinfo_x86_detect_isa(%struct.cpuinfo_x86_isa* noalias sret(%struct.cpuinfo_x86_isa) align 1 %agg.result, i64 %basic_info.coerce0, i64 %basic_info.coerce1, i64 %extended_info.coerce0, i64 %extended_info.coerce1, i32 noundef %max_base_index, i32 noundef %max_extended_index, i32 noundef %vendor, i32 noundef %uarch) local_unnamed_addr #0 !dbg !166 { | |
entry: | |
%0 = load i64, i64* inttoptr (i64 add (i64 ptrtoint ([100 x i64]* @__msan_param_tls to i64), i64 16) to i64*), align 8, !dbg !297 | |
%1 = load i64, i64* inttoptr (i64 add (i64 ptrtoint ([100 x i64]* @__msan_param_tls to i64), i64 32) to i64*), align 8, !dbg !297 | |
%2 = load i64, i64* getelementptr inbounds ([100 x i64], [100 x i64]* @__msan_param_tls, i32 0, i32 0), align 8, !dbg !297 | |
call void @llvm.dbg.value(metadata i64 %basic_info.coerce0, metadata !257, metadata !DIExpression(DW_OP_LLVM_fragment, 0, 64)), !dbg !297 | |
%_msprop = trunc i64 %0 to i32 | |
%basic_info.sroa.1.8.extract.trunc = trunc i64 %basic_info.coerce1 to i32 | |
call void @llvm.dbg.value(metadata i32 %basic_info.sroa.1.8.extract.trunc, metadata !257, metadata !DIExpression(DW_OP_LLVM_fragment, 64, 32)), !dbg !297 | |
%3 = lshr i64 %0, 32 | |
%basic_info.sroa.18.8.extract.shift = lshr i64 %basic_info.coerce1, 32 | |
call void @llvm.dbg.value(metadata i64 %basic_info.sroa.18.8.extract.shift, metadata !257, metadata !DIExpression(DW_OP_LLVM_convert, 64, DW_ATE_unsigned, DW_OP_LLVM_convert, 32, DW_ATE_unsigned, DW_OP_stack_value, DW_OP_LLVM_fragment, 96, 32)), !dbg !297 | |
call void @llvm.dbg.value(metadata i64 %extended_info.coerce0, metadata !258, metadata !DIExpression(DW_OP_LLVM_fragment, 0, 64)), !dbg !297 | |
%_msprop939 = trunc i64 %1 to i32 | |
%extended_info.sroa.1.8.extract.trunc = trunc i64 %extended_info.coerce1 to i32 | |
call void @llvm.dbg.value(metadata i32 %extended_info.sroa.1.8.extract.trunc, metadata !258, metadata !DIExpression(DW_OP_LLVM_fragment, 64, 32)), !dbg !297 | |
%4 = lshr i64 %1, 32 | |
%extended_info.sroa.14.8.extract.shift = lshr i64 %extended_info.coerce1, 32 | |
%_msprop940 = trunc i64 %4 to i32 | |
%extended_info.sroa.14.8.extract.trunc = trunc i64 %extended_info.sroa.14.8.extract.shift to i32 | |
call void @llvm.dbg.value(metadata i32 %extended_info.sroa.14.8.extract.trunc, metadata !258, metadata !DIExpression(DW_OP_LLVM_fragment, 96, 32)), !dbg !297 | |
call void @llvm.dbg.value(metadata i32 %max_base_index, metadata !259, metadata !DIExpression()), !dbg !297 | |
call void @llvm.dbg.value(metadata i32 %max_extended_index, metadata !260, metadata !DIExpression()), !dbg !297 | |
call void @llvm.dbg.value(metadata i32 %vendor, metadata !261, metadata !DIExpression()), !dbg !297 | |
call void @llvm.dbg.value(metadata i32 %uarch, metadata !262, metadata !DIExpression()), !dbg !297 | |
call void @llvm.dbg.declare(metadata %struct.cpuinfo_x86_isa* %agg.result, metadata !263, metadata !DIExpression()), !dbg !298 | |
%5 = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 0, !dbg !298 | |
%6 = call i8* @__msan_memset(i8* %5, i32 0, i64 74), !dbg !298 | |
%7 = icmp ugt i32 %max_base_index, 6, !dbg !299 | |
br i1 false, label %8, label %9, !dbg !300, !prof !301 | |
8: ; preds = %entry | |
call void @__msan_warning_with_origin_noreturn(i32 0) #4, !dbg !300 | |
unreachable, !dbg !300 | |
9: ; preds = %entry | |
br i1 %7, label %cond.true2, label %cond.end9, !dbg !300 | |
cond.true2: ; preds = %9 | |
call void @llvm.dbg.value(metadata i32 7, metadata !302, metadata !DIExpression()) #5, !dbg !310 | |
call void @llvm.dbg.value(metadata i32 0, metadata !308, metadata !DIExpression()) #5, !dbg !310 | |
%10 = tail call { i32, i32, i32, i32 } asm " xchgq %rbx,${1:q}\0A cpuid\0A xchgq %rbx,${1:q}", "={ax},=r,={cx},={dx},0,2,~{dirflag},~{fpsr},~{flags}"(i32 7, i32 0) #6, !dbg !312, !srcloc !313 | |
%asmresult3.i = extractvalue { i32, i32, i32, i32 } %10, 1, !dbg !312 | |
%asmresult4.i = extractvalue { i32, i32, i32, i32 } %10, 2, !dbg !312 | |
%asmresult5.i = extractvalue { i32, i32, i32, i32 } %10, 3, !dbg !312 | |
call void @llvm.dbg.value(metadata i32 undef, metadata !309, metadata !DIExpression(DW_OP_LLVM_fragment, 0, 32)) #5, !dbg !310 | |
call void @llvm.dbg.value(metadata i32 %asmresult3.i, metadata !309, metadata !DIExpression(DW_OP_LLVM_fragment, 32, 32)) #5, !dbg !310 | |
call void @llvm.dbg.value(metadata i32 %asmresult4.i, metadata !309, metadata !DIExpression(DW_OP_LLVM_fragment, 64, 32)) #5, !dbg !310 | |
call void @llvm.dbg.value(metadata i32 %asmresult5.i, metadata !309, metadata !DIExpression(DW_OP_LLVM_fragment, 96, 32)) #5, !dbg !310 | |
%retval.sroa.2.0.insert.ext.i = zext i32 %asmresult3.i to i64, !dbg !314 | |
%retval.sroa.2.0.insert.shift.i = shl nuw i64 %retval.sroa.2.0.insert.ext.i, 32, !dbg !314 | |
%retval.sroa.5.8.insert.ext.i = zext i32 %asmresult5.i to i64, !dbg !314 | |
%retval.sroa.5.8.insert.shift.i = shl nuw i64 %retval.sroa.5.8.insert.ext.i, 32, !dbg !314 | |
%retval.sroa.3.8.insert.ext.i = zext i32 %asmresult4.i to i64, !dbg !314 | |
%11 = xor i64 %retval.sroa.5.8.insert.shift.i, -1, !dbg !314 | |
%12 = xor i64 %retval.sroa.3.8.insert.ext.i, -1, !dbg !314 | |
%retval.sroa.3.8.insert.insert.i = or i64 %retval.sroa.5.8.insert.shift.i, %retval.sroa.3.8.insert.ext.i, !dbg !314 | |
call void @llvm.dbg.value(metadata i64 undef, metadata !264, metadata !DIExpression(DW_OP_LLVM_fragment, 64, 64)), !dbg !297 | |
call void @llvm.dbg.value(metadata i64 undef, metadata !264, metadata !DIExpression(DW_OP_LLVM_fragment, 0, 64)), !dbg !297 | |
call void @llvm.dbg.value(metadata i32 7, metadata !302, metadata !DIExpression()) #5, !dbg !315 | |
call void @llvm.dbg.value(metadata i32 1, metadata !308, metadata !DIExpression()) #5, !dbg !315 | |
%13 = tail call { i32, i32, i32, i32 } asm " xchgq %rbx,${1:q}\0A cpuid\0A xchgq %rbx,${1:q}", "={ax},=r,={cx},={dx},0,2,~{dirflag},~{fpsr},~{flags}"(i32 7, i32 1) #6, !dbg !317, !srcloc !313 | |
%asmresult.i858 = extractvalue { i32, i32, i32, i32 } %13, 0, !dbg !317 | |
call void @llvm.dbg.value(metadata i32 %asmresult.i858, metadata !309, metadata !DIExpression(DW_OP_LLVM_fragment, 0, 32)) #5, !dbg !315 | |
call void @llvm.dbg.value(metadata i32 undef, metadata !309, metadata !DIExpression(DW_OP_LLVM_fragment, 32, 32)) #5, !dbg !315 | |
call void @llvm.dbg.value(metadata i32 undef, metadata !309, metadata !DIExpression(DW_OP_LLVM_fragment, 64, 32)) #5, !dbg !315 | |
call void @llvm.dbg.value(metadata i32 undef, metadata !309, metadata !DIExpression(DW_OP_LLVM_fragment, 96, 32)) #5, !dbg !315 | |
%retval.sroa.0.0.insert.ext.i864 = trunc i32 %asmresult.i858 to i8, !dbg !318 | |
call void @llvm.dbg.value(metadata !DIArgList(i64 0, i32 %asmresult.i858), metadata !265, metadata !DIExpression(DW_OP_LLVM_arg, 0, DW_OP_constu, 32, DW_OP_shl, DW_OP_LLVM_arg, 1, DW_OP_LLVM_convert, 32, DW_ATE_unsigned, DW_OP_LLVM_convert, 64, DW_ATE_unsigned, DW_OP_or, DW_OP_stack_value, DW_OP_LLVM_fragment, 0, 64)), !dbg !297 | |
call void @llvm.dbg.value(metadata i64 undef, metadata !265, metadata !DIExpression(DW_OP_LLVM_fragment, 64, 64)), !dbg !297 | |
%phi.bo935 = lshr i8 %retval.sroa.0.0.insert.ext.i864, 5, !dbg !319 | |
%phi.bo936 = and i8 %phi.bo935, 1, !dbg !319 | |
br label %cond.end9, !dbg !319 | |
cond.end9: ; preds = %9, %cond.true2 | |
%structured_feature_info0.sroa.25.0932 = phi i64 [ %retval.sroa.3.8.insert.insert.i, %cond.true2 ], [ 0, %9 ] | |
%structured_feature_info0.sroa.0.0930 = phi i64 [ %retval.sroa.2.0.insert.shift.i, %cond.true2 ], [ 0, %9 ] | |
%structured_feature_info1.sroa.0.0 = phi i8 [ %phi.bo936, %cond.true2 ], [ 0, %9 ] | |
call void @llvm.dbg.value(metadata i64 undef, metadata !265, metadata !DIExpression(DW_OP_LLVM_fragment, 0, 64)), !dbg !297 | |
call void @llvm.dbg.value(metadata i32 -2147483640, metadata !266, metadata !DIExpression()), !dbg !297 | |
%14 = icmp ugt i32 %max_extended_index, -2147483641, !dbg !320 | |
br i1 false, label %15, label %16, !dbg !321, !prof !301 | |
15: ; preds = %cond.end9 | |
call void @__msan_warning_with_origin_noreturn(i32 0) #4, !dbg !321 | |
unreachable, !dbg !321 | |
16: ; preds = %cond.end9 | |
br i1 %14, label %cond.true11, label %cond.end18, !dbg !321 | |
cond.true11: ; preds = %16 | |
call void @llvm.dbg.value(metadata i32 -2147483640, metadata !322, metadata !DIExpression()) #5, !dbg !328 | |
%17 = tail call { i32, i32, i32, i32 } asm " xchgq %rbx,${1:q}\0A cpuid\0A xchgq %rbx,${1:q}", "={ax},=r,={cx},={dx},0,~{dirflag},~{fpsr},~{flags}"(i32 -2147483640) #6, !dbg !330, !srcloc !331 | |
%asmresult2.i = extractvalue { i32, i32, i32, i32 } %17, 1, !dbg !330 | |
call void @llvm.dbg.value(metadata i32 undef, metadata !327, metadata !DIExpression(DW_OP_LLVM_fragment, 0, 32)) #5, !dbg !328 | |
call void @llvm.dbg.value(metadata i32 %asmresult2.i, metadata !327, metadata !DIExpression(DW_OP_LLVM_fragment, 32, 32)) #5, !dbg !328 | |
call void @llvm.dbg.value(metadata i32 undef, metadata !327, metadata !DIExpression(DW_OP_LLVM_fragment, 64, 32)) #5, !dbg !328 | |
call void @llvm.dbg.value(metadata i32 undef, metadata !327, metadata !DIExpression(DW_OP_LLVM_fragment, 96, 32)) #5, !dbg !328 | |
call void @llvm.dbg.value(metadata i64 undef, metadata !268, metadata !DIExpression(DW_OP_LLVM_fragment, 64, 64)), !dbg !297 | |
%phi.cast = trunc i32 %asmresult2.i to i8, !dbg !321 | |
call void @llvm.dbg.value(metadata !DIArgList(i32 %asmresult2.i, i32 undef), metadata !268, metadata !DIExpression(DW_OP_LLVM_arg, 0, DW_OP_LLVM_convert, 32, DW_ATE_unsigned, DW_OP_LLVM_convert, 64, DW_ATE_unsigned, DW_OP_constu, 32, DW_OP_shl, DW_OP_LLVM_arg, 1, DW_OP_LLVM_convert, 32, DW_ATE_unsigned, DW_OP_LLVM_convert, 64, DW_ATE_unsigned, DW_OP_or, DW_OP_stack_value, DW_OP_LLVM_fragment, 0, 64)), !dbg !297 | |
%phi.bo = and i8 %phi.cast, 1, !dbg !321 | |
br label %cond.end18, !dbg !321 | |
cond.end18: ; preds = %16, %cond.true11 | |
%processor_capacity_info.sroa.0.0 = phi i8 [ %phi.bo, %cond.true11 ], [ 0, %16 ] | |
call void @llvm.dbg.value(metadata i64 undef, metadata !268, metadata !DIExpression(DW_OP_LLVM_fragment, 0, 64)), !dbg !297 | |
call void @llvm.dbg.value(metadata i8 0, metadata !269, metadata !DIExpression()), !dbg !297 | |
call void @llvm.dbg.value(metadata i8 0, metadata !270, metadata !DIExpression()), !dbg !297 | |
call void @llvm.dbg.value(metadata i8 0, metadata !271, metadata !DIExpression()), !dbg !297 | |
call void @llvm.dbg.value(metadata i32 201326592, metadata !272, metadata !DIExpression()), !dbg !297 | |
%18 = and i32 %_msprop, 201326592, !dbg !332 | |
%and = and i32 %basic_info.sroa.1.8.extract.trunc, 201326592, !dbg !332 | |
%19 = xor i32 %and, 201326592, !dbg !333 | |
%20 = icmp ne i32 %18, 0, !dbg !333 | |
%21 = xor i32 %18, -1, !dbg !333 | |
%22 = and i32 %21, %19, !dbg !333 | |
%23 = icmp eq i32 %22, 0, !dbg !333 | |
%_msprop_icmp = and i1 %20, %23, !dbg !333 | |
%cmp20 = icmp eq i32 %and, 201326592, !dbg !333 | |
br i1 %_msprop_icmp, label %24, label %25, !dbg !334, !prof !301 | |
24: ; preds = %cond.end18 | |
call void @__msan_warning_with_origin_noreturn(i32 0) #4, !dbg !334 | |
unreachable, !dbg !334 | |
25: ; preds = %cond.end18 | |
br i1 %cmp20, label %if.then, label %if.end54, !dbg !334 | |
if.then: ; preds = %25 | |
call void @llvm.dbg.value(metadata i64 0, metadata !273, metadata !DIExpression()), !dbg !335 | |
%26 = icmp ugt i32 %max_base_index, 12, !dbg !336 | |
br i1 false, label %27, label %28, !dbg !337, !prof !301 | |
27: ; preds = %if.then | |
call void @__msan_warning_with_origin_noreturn(i32 0) #4, !dbg !337 | |
unreachable, !dbg !337 | |
28: ; preds = %if.then | |
br i1 %26, label %if.then22, label %if.end, !dbg !337 | |
if.then22: ; preds = %28 | |
call void @llvm.dbg.value(metadata i32 13, metadata !302, metadata !DIExpression()) #5, !dbg !338 | |
call void @llvm.dbg.value(metadata i32 0, metadata !308, metadata !DIExpression()) #5, !dbg !338 | |
%29 = tail call { i32, i32, i32, i32 } asm " xchgq %rbx,${1:q}\0A cpuid\0A xchgq %rbx,${1:q}", "={ax},=r,={cx},={dx},0,2,~{dirflag},~{fpsr},~{flags}"(i32 13, i32 0) #6, !dbg !340, !srcloc !313 | |
%asmresult.i885 = extractvalue { i32, i32, i32, i32 } %29, 0, !dbg !340 | |
call void @llvm.dbg.value(metadata i32 %asmresult.i885, metadata !309, metadata !DIExpression(DW_OP_LLVM_fragment, 0, 32)) #5, !dbg !338 | |
call void @llvm.dbg.value(metadata i32 undef, metadata !309, metadata !DIExpression(DW_OP_LLVM_fragment, 32, 32)) #5, !dbg !338 | |
call void @llvm.dbg.value(metadata i32 undef, metadata !309, metadata !DIExpression(DW_OP_LLVM_fragment, 64, 32)) #5, !dbg !338 | |
call void @llvm.dbg.value(metadata i32 undef, metadata !309, metadata !DIExpression(DW_OP_LLVM_fragment, 96, 32)) #5, !dbg !338 | |
%retval.sroa.0.0.insert.ext.i891 = zext i32 %asmresult.i885 to i64, !dbg !341 | |
call void @llvm.dbg.value(metadata !DIArgList(i32 undef, i64 %retval.sroa.0.0.insert.ext.i891), metadata !276, metadata !DIExpression(DW_OP_LLVM_arg, 0, DW_OP_LLVM_convert, 32, DW_ATE_unsigned, DW_OP_LLVM_convert, 64, DW_ATE_unsigned, DW_OP_constu, 32, DW_OP_shl, DW_OP_LLVM_arg, 1, DW_OP_or, DW_OP_stack_value, DW_OP_LLVM_fragment, 0, 64)), !dbg !342 | |
call void @llvm.dbg.value(metadata !DIArgList(i64 0, i32 undef), metadata !276, metadata !DIExpression(DW_OP_LLVM_arg, 0, DW_OP_LLVM_arg, 1, DW_OP_LLVM_convert, 32, DW_ATE_unsigned, DW_OP_LLVM_convert, 64, DW_ATE_unsigned, DW_OP_or, DW_OP_stack_value, DW_OP_LLVM_fragment, 64, 64)), !dbg !342 | |
call void @llvm.dbg.value(metadata i64 %retval.sroa.0.0.insert.ext.i891, metadata !273, metadata !DIExpression()), !dbg !335 | |
br label %if.end, !dbg !343 | |
if.end: ; preds = %if.then22, %28 | |
%xcr0_valid_bits.0 = phi i64 [ %retval.sroa.0.0.insert.ext.i891, %if.then22 ], [ 0, %28 ], !dbg !335 | |
call void @llvm.dbg.value(metadata i64 %xcr0_valid_bits.0, metadata !273, metadata !DIExpression()), !dbg !335 | |
call void @llvm.dbg.value(metadata i32 0, metadata !344, metadata !DIExpression()) #5, !dbg !351 | |
%30 = tail call { i32, i32 } asm ".byte 0x0F, 0x01, 0xD0", "={ax},={dx},{cx},~{dirflag},~{fpsr},~{flags}"(i32 0) #6, !dbg !353, !srcloc !354 | |
%asmresult.i899 = extractvalue { i32, i32 } %30, 0, !dbg !353 | |
call void @llvm.dbg.value(metadata i32 %asmresult.i899, metadata !349, metadata !DIExpression()) #5, !dbg !351 | |
call void @llvm.dbg.value(metadata i32 undef, metadata !350, metadata !DIExpression()) #5, !dbg !351 | |
%conv2.i = zext i32 %asmresult.i899 to i64, !dbg !355 | |
call void @llvm.dbg.value(metadata !DIArgList(i64 0, i64 %conv2.i), metadata !279, metadata !DIExpression(DW_OP_LLVM_arg, 0, DW_OP_constu, 32, DW_OP_shl, DW_OP_LLVM_arg, 1, DW_OP_or, DW_OP_stack_value)), !dbg !335 | |
call void @llvm.dbg.value(metadata i64 6, metadata !281, metadata !DIExpression()), !dbg !335 | |
%31 = insertelement <2 x i64> poison, i64 %xcr0_valid_bits.0, i64 0, !dbg !356 | |
%32 = shufflevector <2 x i64> %31, <2 x i64> poison, <2 x i32> zeroinitializer, !dbg !356 | |
%33 = and <2 x i64> %32, <i64 6, i64 230>, !dbg !356 | |
call void @llvm.dbg.value(metadata i8 undef, metadata !269, metadata !DIExpression()), !dbg !297 | |
call void @llvm.dbg.value(metadata i64 230, metadata !282, metadata !DIExpression()), !dbg !335 | |
%34 = xor <2 x i64> %33, <i64 6, i64 230>, !dbg !358 | |
%35 = icmp eq <2 x i64> %34, zeroinitializer, !dbg !358 | |
%36 = icmp eq <2 x i64> %33, <i64 6, i64 230>, !dbg !358 | |
%37 = insertelement <2 x i64> poison, i64 %conv2.i, i64 0, !dbg !359 | |
%38 = shufflevector <2 x i64> %37, <2 x i64> poison, <2 x i32> zeroinitializer, !dbg !359 | |
%39 = and <2 x i64> %38, <i64 6, i64 230>, !dbg !359 | |
%40 = xor <2 x i64> %39, <i64 6, i64 230>, !dbg !359 | |
%41 = icmp eq <2 x i64> %40, zeroinitializer, !dbg !359 | |
%42 = icmp eq <2 x i64> %39, <i64 6, i64 230>, !dbg !359 | |
%43 = select <2 x i1> %36, <2 x i1> %42, <2 x i1> zeroinitializer, !dbg !359 | |
call void @llvm.dbg.value(metadata i8 undef, metadata !270, metadata !DIExpression()), !dbg !297 | |
call void @llvm.dbg.value(metadata i64 24, metadata !283, metadata !DIExpression()), !dbg !335 | |
%and45 = and i64 %xcr0_valid_bits.0, 24, !dbg !360 | |
%44 = xor i64 %and45, 24, !dbg !362 | |
%45 = icmp eq i64 %44, 0, !dbg !362 | |
%cmp46 = icmp eq i64 %and45, 24, !dbg !362 | |
%and49 = and i64 %conv2.i, 24, !dbg !363 | |
%46 = xor i64 %and49, 24, !dbg !363 | |
%47 = icmp eq i64 %46, 0, !dbg !363 | |
%cmp50 = icmp eq i64 %and49, 24, !dbg !363 | |
%mpx_regs.0 = select i1 %cmp46, i1 %cmp50, i1 false, !dbg !363 | |
call void @llvm.dbg.value(metadata i8 undef, metadata !271, metadata !DIExpression()), !dbg !297 | |
br label %if.end54, !dbg !364 | |
if.end54: ; preds = %if.end, %25 | |
%mpx_regs.1 = phi i1 [ %mpx_regs.0, %if.end ], [ false, %25 ], !dbg !297 | |
%48 = phi <2 x i1> [ %43, %if.end ], [ zeroinitializer, %25 ], !dbg !297 | |
%shuffle937 = shufflevector <2 x i1> %48, <2 x i1> poison, <8 x i32> <i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 1>, !dbg !297 | |
call void @llvm.dbg.value(metadata i8 undef, metadata !269, metadata !DIExpression()), !dbg !297 | |
call void @llvm.dbg.value(metadata i8 undef, metadata !270, metadata !DIExpression()), !dbg !297 | |
call void @llvm.dbg.value(metadata i8 undef, metadata !271, metadata !DIExpression()), !dbg !297 | |
%sysenter = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 2, !dbg !365 | |
%49 = lshr i64 %0, 43, !dbg !366 | |
%and56815 = lshr i64 %basic_info.coerce1, 43, !dbg !366 | |
%_msprop959 = trunc i64 %49 to i8, !dbg !366 | |
%50 = trunc i64 %and56815 to i8, !dbg !366 | |
%51 = and i8 %_msprop959, 1, !dbg !366 | |
%52 = and i8 %50, 1, !dbg !366 | |
%_mscmp = icmp ne i64 %2, 0, !dbg !366 | |
br i1 %_mscmp, label %53, label %54, !dbg !366, !prof !301 | |
53: ; preds = %if.end54 | |
call void @__msan_warning_with_origin_noreturn(i32 0) #4, !dbg !366 | |
unreachable, !dbg !366 | |
54: ; preds = %if.end54 | |
%55 = ptrtoint i8* %sysenter to i64, !dbg !366 | |
%56 = xor i64 %55, 87960930222080, !dbg !366 | |
%57 = inttoptr i64 %56 to i8*, !dbg !366 | |
store i8 %51, i8* %57, align 1, !dbg !366 | |
store i8 %52, i8* %sysenter, align 1, !dbg !366 | |
%58 = xor i64 %extended_info.sroa.14.8.extract.shift, -1, !dbg !367 | |
%59 = xor i64 %basic_info.sroa.18.8.extract.shift, -1, !dbg !367 | |
%60 = and i64 %4, %3, !dbg !367 | |
%61 = and i64 %58, %3, !dbg !367 | |
%62 = and i64 %4, %59, !dbg !367 | |
%63 = or i64 %60, %61, !dbg !367 | |
%64 = or i64 %63, %62, !dbg !367 | |
%or61820 = or i64 %extended_info.sroa.14.8.extract.shift, %basic_info.sroa.18.8.extract.shift, !dbg !367 | |
%msr = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 3, !dbg !368 | |
%_msprop962 = trunc i64 %64 to i8, !dbg !369 | |
%65 = trunc i64 %or61820 to i8, !dbg !369 | |
%66 = lshr i8 %_msprop962, 5, !dbg !369 | |
%67 = lshr i8 %65, 5, !dbg !369 | |
%68 = and i8 %66, 1, !dbg !369 | |
%69 = and i8 %67, 1, !dbg !369 | |
br i1 false, label %70, label %71, !dbg !369, !prof !301 | |
70: ; preds = %54 | |
call void @__msan_warning_with_origin_noreturn(i32 0) #4, !dbg !369 | |
unreachable, !dbg !369 | |
71: ; preds = %54 | |
%72 = ptrtoint i8* %msr to i64, !dbg !369 | |
%73 = xor i64 %72, 87960930222080, !dbg !369 | |
%74 = inttoptr i64 %73 to i8*, !dbg !369 | |
store i8 %68, i8* %74, align 1, !dbg !369 | |
store i8 %69, i8* %msr, align 1, !dbg !369 | |
%clzero = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 4, !dbg !370 | |
br i1 false, label %75, label %76, !dbg !371, !prof !301 | |
75: ; preds = %71 | |
call void @__msan_warning_with_origin_noreturn(i32 0) #4, !dbg !371 | |
unreachable, !dbg !371 | |
76: ; preds = %71 | |
%77 = ptrtoint i8* %clzero to i64, !dbg !371 | |
%78 = xor i64 %77, 87960930222080, !dbg !371 | |
%79 = inttoptr i64 %78 to i8*, !dbg !371 | |
store i8 0, i8* %79, align 1, !dbg !371 | |
store i8 %processor_capacity_info.sroa.0.0, i8* %clzero, align 1, !dbg !371 | |
%clflush = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 5, !dbg !372 | |
%80 = lshr i64 %0, 51, !dbg !373 | |
%and74817 = lshr i64 %basic_info.coerce1, 51, !dbg !373 | |
%_msprop967 = trunc i64 %80 to i8, !dbg !373 | |
%81 = trunc i64 %and74817 to i8, !dbg !373 | |
%82 = and i8 %_msprop967, 1, !dbg !373 | |
%83 = and i8 %81, 1, !dbg !373 | |
br i1 false, label %84, label %85, !dbg !373, !prof !301 | |
84: ; preds = %76 | |
call void @__msan_warning_with_origin_noreturn(i32 0) #4, !dbg !373 | |
unreachable, !dbg !373 | |
85: ; preds = %76 | |
%86 = ptrtoint i8* %clflush to i64, !dbg !373 | |
%87 = xor i64 %86, 87960930222080, !dbg !373 | |
%88 = inttoptr i64 %87 to i8*, !dbg !373 | |
store i8 %82, i8* %88, align 1, !dbg !373 | |
store i8 %83, i8* %clflush, align 1, !dbg !373 | |
%structured_feature_info0.sroa.0.4.extract.shift = lshr exact i64 %structured_feature_info0.sroa.0.0930, 32, !dbg !374 | |
%structured_feature_info0.sroa.0.4.extract.trunc = trunc i64 %structured_feature_info0.sroa.0.4.extract.shift to i32, !dbg !374 | |
%clflushopt = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 6, !dbg !375 | |
%and80818 = lshr i64 %structured_feature_info0.sroa.0.0930, 55, !dbg !376 | |
%89 = trunc i64 %and80818 to i8, !dbg !376 | |
%90 = and i8 %89, 1, !dbg !376 | |
br i1 false, label %91, label %92, !dbg !376, !prof !301 | |
91: ; preds = %85 | |
call void @__msan_warning_with_origin_noreturn(i32 0) #4, !dbg !376 | |
unreachable, !dbg !376 | |
92: ; preds = %85 | |
%93 = ptrtoint i8* %clflushopt to i64, !dbg !376 | |
%94 = xor i64 %93, 87960930222080, !dbg !376 | |
%95 = inttoptr i64 %94 to i8*, !dbg !376 | |
store i8 0, i8* %95, align 1, !dbg !376 | |
store i8 %90, i8* %clflushopt, align 1, !dbg !376 | |
%mwait = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 7, !dbg !377 | |
%_msprop974 = trunc i64 %0 to i8, !dbg !378 | |
%96 = trunc i64 %basic_info.coerce1 to i8, !dbg !378 | |
%97 = lshr i8 %_msprop974, 3, !dbg !378 | |
%98 = lshr i8 %96, 3, !dbg !378 | |
%99 = and i8 %97, 1, !dbg !378 | |
%100 = and i8 %98, 1, !dbg !378 | |
br i1 false, label %101, label %102, !dbg !378, !prof !301 | |
101: ; preds = %92 | |
call void @__msan_warning_with_origin_noreturn(i32 0) #4, !dbg !378 | |
unreachable, !dbg !378 | |
102: ; preds = %92 | |
%103 = ptrtoint i8* %mwait to i64, !dbg !378 | |
%104 = xor i64 %103, 87960930222080, !dbg !378 | |
%105 = inttoptr i64 %104 to i8*, !dbg !378 | |
store i8 %99, i8* %105, align 1, !dbg !378 | |
store i8 %100, i8* %mwait, align 1, !dbg !378 | |
%mwaitx = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 8, !dbg !379 | |
%106 = lshr i32 %_msprop939, 29, !dbg !380 | |
%and92 = lshr i32 %extended_info.sroa.1.8.extract.trunc, 29, !dbg !380 | |
%_msprop977 = trunc i32 %106 to i8, !dbg !380 | |
%107 = trunc i32 %and92 to i8, !dbg !380 | |
%108 = and i8 %_msprop977, 1, !dbg !380 | |
%109 = and i8 %107, 1, !dbg !380 | |
br i1 false, label %110, label %111, !dbg !380, !prof !301 | |
110: ; preds = %102 | |
call void @__msan_warning_with_origin_noreturn(i32 0) #4, !dbg !380 | |
unreachable, !dbg !380 | |
111: ; preds = %102 | |
%112 = ptrtoint i8* %mwaitx to i64, !dbg !380 | |
%113 = xor i64 %112, 87960930222080, !dbg !380 | |
%114 = inttoptr i64 %113 to i8*, !dbg !380 | |
store i8 %108, i8* %114, align 1, !dbg !380 | |
store i8 %109, i8* %mwaitx, align 1, !dbg !380 | |
%fxsave = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 9, !dbg !381 | |
%115 = lshr i64 %64, 24, !dbg !383 | |
%and100821 = lshr i64 %or61820, 24, !dbg !383 | |
%_msprop980 = trunc i64 %115 to i8, !dbg !383 | |
%116 = trunc i64 %and100821 to i8, !dbg !383 | |
%117 = and i8 %_msprop980, 1, !dbg !383 | |
%118 = and i8 %116, 1, !dbg !383 | |
br i1 false, label %119, label %120, !dbg !383, !prof !301 | |
119: ; preds = %111 | |
call void @__msan_warning_with_origin_noreturn(i32 0) #4, !dbg !383 | |
unreachable, !dbg !383 | |
120: ; preds = %111 | |
%121 = ptrtoint i8* %fxsave to i64, !dbg !383 | |
%122 = xor i64 %121, 87960930222080, !dbg !383 | |
%123 = inttoptr i64 %122 to i8*, !dbg !383 | |
store i8 %117, i8* %123, align 1, !dbg !383 | |
store i8 %118, i8* %fxsave, align 1, !dbg !383 | |
%xsave = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 10, !dbg !384 | |
%124 = lshr i32 %_msprop, 26, !dbg !385 | |
%and106 = lshr i32 %basic_info.sroa.1.8.extract.trunc, 26, !dbg !385 | |
%_msprop983 = trunc i32 %124 to i8, !dbg !385 | |
%125 = trunc i32 %and106 to i8, !dbg !385 | |
%126 = and i8 %_msprop983, 1, !dbg !385 | |
%127 = and i8 %125, 1, !dbg !385 | |
br i1 false, label %128, label %129, !dbg !385, !prof !301 | |
128: ; preds = %120 | |
call void @__msan_warning_with_origin_noreturn(i32 0) #4, !dbg !385 | |
unreachable, !dbg !385 | |
129: ; preds = %120 | |
%130 = ptrtoint i8* %xsave to i64, !dbg !385 | |
%131 = xor i64 %130, 87960930222080, !dbg !385 | |
%132 = inttoptr i64 %131 to i8*, !dbg !385 | |
store i8 %126, i8* %132, align 1, !dbg !385 | |
store i8 %127, i8* %xsave, align 1, !dbg !385 | |
%three_d_now = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 11, !dbg !386 | |
%133 = lshr i64 %1, 63, !dbg !387 | |
%extended_info.coerce1.lobit = lshr i64 %extended_info.coerce1, 63, !dbg !387 | |
%_msprop986 = trunc i64 %133 to i8, !dbg !387 | |
%134 = trunc i64 %extended_info.coerce1.lobit to i8, !dbg !387 | |
br i1 false, label %135, label %136, !dbg !387, !prof !301 | |
135: ; preds = %129 | |
call void @__msan_warning_with_origin_noreturn(i32 0) #4, !dbg !387 | |
unreachable, !dbg !387 | |
136: ; preds = %129 | |
%137 = ptrtoint i8* %three_d_now to i64, !dbg !387 | |
%138 = xor i64 %137, 87960930222080, !dbg !387 | |
%139 = inttoptr i64 %138 to i8*, !dbg !387 | |
store i8 %_msprop986, i8* %139, align 1, !dbg !387 | |
store i8 %134, i8* %three_d_now, align 1, !dbg !387 | |
%three_d_now_plus = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 12, !dbg !388 | |
%140 = lshr i32 %_msprop940, 30, !dbg !389 | |
%and118 = lshr i32 %extended_info.sroa.14.8.extract.trunc, 30, !dbg !389 | |
%_msprop989 = trunc i32 %140 to i8, !dbg !389 | |
%141 = trunc i32 %and118 to i8, !dbg !389 | |
%142 = and i8 %_msprop989, 1, !dbg !389 | |
%143 = and i8 %141, 1, !dbg !389 | |
br i1 false, label %144, label %145, !dbg !389, !prof !301 | |
144: ; preds = %136 | |
call void @__msan_warning_with_origin_noreturn(i32 0) #4, !dbg !389 | |
unreachable, !dbg !389 | |
145: ; preds = %136 | |
%146 = ptrtoint i8* %three_d_now_plus to i64, !dbg !389 | |
%147 = xor i64 %146, 87960930222080, !dbg !389 | |
%148 = inttoptr i64 %147 to i8*, !dbg !389 | |
store i8 %142, i8* %148, align 1, !dbg !389 | |
store i8 %143, i8* %three_d_now_plus, align 1, !dbg !389 | |
switch i32 %vendor, label %sw.default132 [ | |
i32 16, label %sw.bb | |
i32 2, label %sw.bb | |
i32 1, label %sw.epilog162 | |
], !dbg !390 | |
sw.bb: ; preds = %145, %145 | |
%149 = and i32 %_msprop939, 256, !dbg !391 | |
%and124 = and i32 %extended_info.sroa.1.8.extract.trunc, 256, !dbg !391 | |
%150 = and i32 %_msprop940, -536870912, !dbg !393 | |
%and126 = and i32 %extended_info.sroa.14.8.extract.trunc, -536870912, !dbg !393 | |
%151 = xor i32 %and126, -1, !dbg !394 | |
%152 = xor i32 %and124, -1, !dbg !394 | |
%153 = or i32 %149, %150, !dbg !394 | |
%or127 = or i32 %and126, %and124, !dbg !394 | |
%154 = icmp ne i32 %153, 0, !dbg !395 | |
%155 = xor i32 %153, -1, !dbg !395 | |
%156 = and i32 %155, %or127, !dbg !395 | |
%157 = icmp eq i32 %156, 0, !dbg !395 | |
%_msprop_icmp1167 = and i1 %154, %157, !dbg !395 | |
%tobool128 = icmp ne i32 %or127, 0, !dbg !395 | |
br label %sw.epilog140, !dbg !396 | |
sw.default132: ; preds = %145 | |
%158 = xor i32 %_msprop940, -1, !dbg !397 | |
%159 = and i32 %extended_info.sroa.14.8.extract.trunc, %158, !dbg !397 | |
%160 = icmp ugt i32 %159, 1073741823, !dbg !397 | |
%161 = or i32 %extended_info.sroa.14.8.extract.trunc, %_msprop940, !dbg !397 | |
%162 = icmp ugt i32 %161, 1073741823, !dbg !397 | |
%163 = xor i1 %160, %162, !dbg !397 | |
%tobool135 = icmp ugt i32 %extended_info.sroa.14.8.extract.trunc, 1073741823, !dbg !397 | |
br label %sw.epilog140, !dbg !398 | |
sw.epilog140: ; preds = %sw.default132, %sw.bb | |
%_msphi_s990 = phi i1 [ %163, %sw.default132 ], [ %_msprop_icmp1167, %sw.bb ] | |
%tobool135.sink = phi i1 [ %tobool135, %sw.default132 ], [ %tobool128, %sw.bb ] | |
%prefetch138 = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 13, !dbg !399 | |
%_msprop993 = zext i1 %_msphi_s990 to i8, !dbg !399 | |
%frombool139 = zext i1 %tobool135.sink to i8, !dbg !399 | |
br i1 false, label %164, label %165, !dbg !399, !prof !301 | |
164: ; preds = %sw.epilog140 | |
call void @__msan_warning_with_origin_noreturn(i32 0) #4, !dbg !399 | |
unreachable, !dbg !399 | |
165: ; preds = %sw.epilog140 | |
%166 = ptrtoint i8* %prefetch138 to i64, !dbg !399 | |
%167 = xor i64 %166, 87960930222080, !dbg !399 | |
%168 = inttoptr i64 %167 to i8*, !dbg !399 | |
store i8 %_msprop993, i8* %168, align 1, !dbg !399 | |
store i8 %frombool139, i8* %prefetch138, align 1, !dbg !399 | |
%169 = xor i32 %vendor, 2, !dbg !400 | |
%170 = icmp eq i32 %169, 0, !dbg !400 | |
%switch.selectcmp.case1 = icmp eq i32 %vendor, 2, !dbg !400 | |
%171 = xor i32 %vendor, 16, !dbg !400 | |
%172 = icmp eq i32 %171, 0, !dbg !400 | |
%switch.selectcmp.case2 = icmp eq i32 %vendor, 16, !dbg !400 | |
%173 = xor i1 %switch.selectcmp.case1, true, !dbg !400 | |
%174 = xor i1 %switch.selectcmp.case2, true, !dbg !400 | |
%switch.selectcmp = or i1 %switch.selectcmp.case1, %switch.selectcmp.case2, !dbg !400 | |
%175 = select i1 %switch.selectcmp, i32 -536870912, i32 -1073741824, !dbg !400 | |
br label %sw.epilog162, !dbg !400 | |
sw.epilog162: ; preds = %145, %165 | |
%.sink = phi i32 [ %175, %165 ], [ -1073741824, %145 ] | |
%176 = and i32 %_msprop939, 256, !dbg !401 | |
%and153 = and i32 %extended_info.sroa.1.8.extract.trunc, 256, !dbg !401 | |
%177 = and i32 %.sink, %_msprop940, !dbg !401 | |
%and155 = and i32 %.sink, %extended_info.sroa.14.8.extract.trunc, !dbg !401 | |
%178 = xor i32 %and155, -1, !dbg !401 | |
%179 = xor i32 %and153, -1, !dbg !401 | |
%180 = and i32 %177, %176, !dbg !401 | |
%181 = and i32 %178, %176, !dbg !401 | |
%182 = and i32 %177, %179, !dbg !401 | |
%183 = or i32 %180, %181, !dbg !401 | |
%184 = or i32 %183, %182, !dbg !401 | |
%or156 = or i32 %and155, %and153, !dbg !401 | |
%185 = icmp ne i32 %184, 0, !dbg !401 | |
%186 = xor i32 %184, -1, !dbg !401 | |
%187 = and i32 %186, %or156, !dbg !401 | |
%188 = icmp eq i32 %187, 0, !dbg !401 | |
%_msprop_icmp998 = and i1 %185, %188, !dbg !401 | |
%tobool157 = icmp ne i32 %or156, 0, !dbg !401 | |
%prefetchw160 = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 14, !dbg !401 | |
%_msprop1001 = zext i1 %_msprop_icmp998 to i8, !dbg !401 | |
%frombool161 = zext i1 %tobool157 to i8, !dbg !401 | |
br i1 false, label %189, label %190, !dbg !401, !prof !301 | |
189: ; preds = %sw.epilog162 | |
call void @__msan_warning_with_origin_noreturn(i32 0) #4, !dbg !401 | |
unreachable, !dbg !401 | |
190: ; preds = %sw.epilog162 | |
%191 = ptrtoint i8* %prefetchw160 to i64, !dbg !401 | |
%192 = xor i64 %191, 87960930222080, !dbg !401 | |
%193 = inttoptr i64 %192 to i8*, !dbg !401 | |
store i8 %_msprop1001, i8* %193, align 1, !dbg !401 | |
store i8 %frombool161, i8* %prefetchw160, align 1, !dbg !401 | |
%prefetchwt1 = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 15, !dbg !403 | |
%194 = trunc i64 %structured_feature_info0.sroa.25.0932 to i8, !dbg !404 | |
%195 = and i8 %194, 1, !dbg !404 | |
br i1 false, label %196, label %197, !dbg !404, !prof !301 | |
196: ; preds = %190 | |
call void @__msan_warning_with_origin_noreturn(i32 0) #4, !dbg !404 | |
unreachable, !dbg !404 | |
197: ; preds = %190 | |
%198 = ptrtoint i8* %prefetchwt1 to i64, !dbg !404 | |
%199 = xor i64 %198, 87960930222080, !dbg !404 | |
%200 = inttoptr i64 %199 to i8*, !dbg !404 | |
store i8 0, i8* %200, align 1, !dbg !404 | |
store i8 %195, i8* %prefetchwt1, align 1, !dbg !404 | |
%sse3 = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 16, !dbg !405 | |
%201 = and i8 %_msprop974, 1, !dbg !406 | |
%202 = and i8 %96, 1, !dbg !406 | |
br i1 false, label %203, label %204, !dbg !406, !prof !301 | |
203: ; preds = %197 | |
call void @__msan_warning_with_origin_noreturn(i32 0) #4, !dbg !406 | |
unreachable, !dbg !406 | |
204: ; preds = %197 | |
%205 = ptrtoint i8* %sse3 to i64, !dbg !406 | |
%206 = xor i64 %205, 87960930222080, !dbg !406 | |
%207 = inttoptr i64 %206 to i8*, !dbg !406 | |
store i8 %201, i8* %207, align 1, !dbg !406 | |
store i8 %202, i8* %sse3, align 1, !dbg !406 | |
%ssse3 = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 17, !dbg !407 | |
%208 = lshr i64 %0, 9, !dbg !408 | |
%and176822 = lshr i64 %basic_info.coerce1, 9, !dbg !408 | |
%_msprop1009 = trunc i64 %208 to i8, !dbg !408 | |
%209 = trunc i64 %and176822 to i8, !dbg !408 | |
%210 = and i8 %_msprop1009, 1, !dbg !408 | |
%211 = and i8 %209, 1, !dbg !408 | |
br i1 false, label %212, label %213, !dbg !408, !prof !301 | |
212: ; preds = %204 | |
call void @__msan_warning_with_origin_noreturn(i32 0) #4, !dbg !408 | |
unreachable, !dbg !408 | |
213: ; preds = %204 | |
%214 = ptrtoint i8* %ssse3 to i64, !dbg !408 | |
%215 = xor i64 %214, 87960930222080, !dbg !408 | |
%216 = inttoptr i64 %215 to i8*, !dbg !408 | |
store i8 %210, i8* %216, align 1, !dbg !408 | |
store i8 %211, i8* %ssse3, align 1, !dbg !408 | |
%sse4_1 = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 18, !dbg !409 | |
%217 = lshr i64 %0, 19, !dbg !410 | |
%and182823 = lshr i64 %basic_info.coerce1, 19, !dbg !410 | |
%_msprop1012 = trunc i64 %217 to i8, !dbg !410 | |
%218 = trunc i64 %and182823 to i8, !dbg !410 | |
%219 = and i8 %_msprop1012, 1, !dbg !410 | |
%220 = and i8 %218, 1, !dbg !410 | |
br i1 false, label %221, label %222, !dbg !410, !prof !301 | |
221: ; preds = %213 | |
call void @__msan_warning_with_origin_noreturn(i32 0) #4, !dbg !410 | |
unreachable, !dbg !410 | |
222: ; preds = %213 | |
%223 = ptrtoint i8* %sse4_1 to i64, !dbg !410 | |
%224 = xor i64 %223, 87960930222080, !dbg !410 | |
%225 = inttoptr i64 %224 to i8*, !dbg !410 | |
store i8 %219, i8* %225, align 1, !dbg !410 | |
store i8 %220, i8* %sse4_1, align 1, !dbg !410 | |
%sse4_2 = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 19, !dbg !411 | |
%226 = lshr i64 %0, 20, !dbg !412 | |
%and188824 = lshr i64 %basic_info.coerce1, 20, !dbg !412 | |
%_msprop1015 = trunc i64 %226 to i8, !dbg !412 | |
%227 = trunc i64 %and188824 to i8, !dbg !412 | |
%228 = and i8 %_msprop1015, 1, !dbg !412 | |
%229 = and i8 %227, 1, !dbg !412 | |
br i1 false, label %230, label %231, !dbg !412, !prof !301 | |
230: ; preds = %222 | |
call void @__msan_warning_with_origin_noreturn(i32 0) #4, !dbg !412 | |
unreachable, !dbg !412 | |
231: ; preds = %222 | |
%232 = ptrtoint i8* %sse4_2 to i64, !dbg !412 | |
%233 = xor i64 %232, 87960930222080, !dbg !412 | |
%234 = inttoptr i64 %233 to i8*, !dbg !412 | |
store i8 %228, i8* %234, align 1, !dbg !412 | |
store i8 %229, i8* %sse4_2, align 1, !dbg !412 | |
%sse4a = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 20, !dbg !413 | |
%_msprop1018 = trunc i64 %1 to i8, !dbg !414 | |
%235 = trunc i64 %extended_info.coerce1 to i8, !dbg !414 | |
%236 = lshr i8 %_msprop1018, 6, !dbg !414 | |
%237 = lshr i8 %235, 6, !dbg !414 | |
%238 = and i8 %236, 1, !dbg !414 | |
%239 = and i8 %237, 1, !dbg !414 | |
br i1 false, label %240, label %241, !dbg !414, !prof !301 | |
240: ; preds = %231 | |
call void @__msan_warning_with_origin_noreturn(i32 0) #4, !dbg !414 | |
unreachable, !dbg !414 | |
241: ; preds = %231 | |
%242 = ptrtoint i8* %sse4a to i64, !dbg !414 | |
%243 = xor i64 %242, 87960930222080, !dbg !414 | |
%244 = inttoptr i64 %243 to i8*, !dbg !414 | |
store i8 %238, i8* %244, align 1, !dbg !414 | |
store i8 %239, i8* %sse4a, align 1, !dbg !414 | |
%misaligned_sse = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 21, !dbg !415 | |
%245 = lshr i8 %_msprop1018, 7, !dbg !416 | |
%246 = lshr i8 %235, 7, !dbg !416 | |
br i1 false, label %247, label %248, !dbg !416, !prof !301 | |
247: ; preds = %241 | |
call void @__msan_warning_with_origin_noreturn(i32 0) #4, !dbg !416 | |
unreachable, !dbg !416 | |
248: ; preds = %241 | |
%249 = ptrtoint i8* %misaligned_sse to i64, !dbg !416 | |
%250 = xor i64 %249, 87960930222080, !dbg !416 | |
%251 = inttoptr i64 %250 to i8*, !dbg !416 | |
store i8 %245, i8* %251, align 1, !dbg !416 | |
store i8 %246, i8* %misaligned_sse, align 1, !dbg !416 | |
%_msprop1021 = insertelement <8 x i32> <i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1>, i32 %_msprop, i64 0, !dbg !417 | |
%252 = insertelement <8 x i32> poison, i32 %basic_info.sroa.1.8.extract.trunc, i64 0, !dbg !417 | |
%_msprop1022 = insertelement <8 x i32> %_msprop1021, i32 %_msprop939, i64 1, !dbg !417 | |
%253 = insertelement <8 x i32> %252, i32 %extended_info.sroa.1.8.extract.trunc, i64 1, !dbg !417 | |
%_msprop1023 = insertelement <8 x i32> %_msprop1022, i32 0, i64 2, !dbg !417 | |
%254 = insertelement <8 x i32> %253, i32 %structured_feature_info0.sroa.0.4.extract.trunc, i64 2, !dbg !417 | |
%_msprop1024 = shufflevector <8 x i32> %_msprop1023, <8 x i32> <i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1>, <8 x i32> <i32 0, i32 0, i32 1, i32 1, i32 0, i32 2, i32 2, i32 2>, !dbg !417 | |
%shuffle938 = shufflevector <8 x i32> %254, <8 x i32> poison, <8 x i32> <i32 0, i32 0, i32 1, i32 1, i32 0, i32 2, i32 2, i32 2>, !dbg !417 | |
%255 = and <8 x i32> %_msprop1024, <i32 268435456, i32 4096, i32 65536, i32 2048, i32 536870912, i32 32, i32 65536, i32 67108864>, !dbg !417 | |
%256 = and <8 x i32> %shuffle938, <i32 268435456, i32 4096, i32 65536, i32 2048, i32 536870912, i32 32, i32 65536, i32 67108864>, !dbg !417 | |
%avx = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 22, !dbg !418 | |
%257 = icmp ne <8 x i32> %255, zeroinitializer, !dbg !417 | |
%258 = xor <8 x i32> %255, <i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1>, !dbg !417 | |
%259 = and <8 x i32> %258, %256, !dbg !417 | |
%260 = icmp eq <8 x i32> %259, zeroinitializer, !dbg !417 | |
%_msprop_icmp1027 = and <8 x i1> %257, %260, !dbg !417 | |
%261 = icmp ne <8 x i32> %256, zeroinitializer, !dbg !417 | |
%262 = select <8 x i1> %shuffle937, <8 x i1> %_msprop_icmp1027, <8 x i1> zeroinitializer, !dbg !417 | |
%263 = or <8 x i1> %261, %_msprop_icmp1027, !dbg !417 | |
%264 = select <8 x i1> %shuffle937, <8 x i1> %261, <8 x i1> zeroinitializer, !dbg !417 | |
%_msprop1029 = zext <8 x i1> %262 to <8 x i8>, !dbg !419 | |
%265 = zext <8 x i1> %264 to <8 x i8>, !dbg !419 | |
%266 = bitcast i8* %avx to <8 x i8>*, !dbg !419 | |
br i1 false, label %267, label %268, !dbg !419, !prof !301 | |
267: ; preds = %248 | |
call void @__msan_warning_with_origin_noreturn(i32 0) #4, !dbg !419 | |
unreachable, !dbg !419 | |
268: ; preds = %248 | |
%269 = ptrtoint <8 x i8>* %266 to i64, !dbg !419 | |
%270 = xor i64 %269, 87960930222080, !dbg !419 | |
%271 = inttoptr i64 %270 to <8 x i8>*, !dbg !419 | |
store <8 x i8> %_msprop1029, <8 x i8>* %271, align 1, !dbg !419 | |
store <8 x i8> %265, <8 x i8>* %266, align 1, !dbg !419 | |
%and287 = and i32 %structured_feature_info0.sroa.0.4.extract.trunc, 134217728, !dbg !420 | |
%272 = icmp eq i32 %and287, 0, !dbg !420 | |
%tobool288 = icmp ne i32 %and287, 0, !dbg !420 | |
%273 = extractelement <2 x i1> %48, i64 1, !dbg !420 | |
%274 = select i1 %273, i1 %tobool288, i1 false, !dbg !420 | |
%avx512er = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 30, !dbg !421 | |
%frombool292 = zext i1 %274 to i8, !dbg !422 | |
br i1 false, label %275, label %276, !dbg !422, !prof !301 | |
275: ; preds = %268 | |
call void @__msan_warning_with_origin_noreturn(i32 0) #4, !dbg !422 | |
unreachable, !dbg !422 | |
276: ; preds = %268 | |
%277 = ptrtoint i8* %avx512er to i64, !dbg !422 | |
%278 = xor i64 %277, 87960930222080, !dbg !422 | |
%279 = inttoptr i64 %278 to i8*, !dbg !422 | |
store i8 0, i8* %279, align 1, !dbg !422 | |
store i8 %frombool292, i8* %avx512er, align 1, !dbg !422 | |
%and297 = and i32 %structured_feature_info0.sroa.0.4.extract.trunc, 268435456, !dbg !423 | |
%280 = icmp eq i32 %and297, 0, !dbg !423 | |
%tobool298 = icmp ne i32 %and297, 0, !dbg !423 | |
%281 = select i1 %273, i1 %tobool298, i1 false, !dbg !423 | |
%avx512cd = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 31, !dbg !424 | |
%frombool302 = zext i1 %281 to i8, !dbg !425 | |
br i1 false, label %282, label %283, !dbg !425, !prof !301 | |
282: ; preds = %276 | |
call void @__msan_warning_with_origin_noreturn(i32 0) #4, !dbg !425 | |
unreachable, !dbg !425 | |
283: ; preds = %276 | |
%284 = ptrtoint i8* %avx512cd to i64, !dbg !425 | |
%285 = xor i64 %284, 87960930222080, !dbg !425 | |
%286 = inttoptr i64 %285 to i8*, !dbg !425 | |
store i8 0, i8* %286, align 1, !dbg !425 | |
store i8 %frombool302, i8* %avx512cd, align 1, !dbg !425 | |
%and307827 = lshr i64 %structured_feature_info0.sroa.0.0930, 49, !dbg !426 | |
%287 = trunc i64 %and307827 to i8, !dbg !426 | |
%avx512dq = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 32, !dbg !427 | |
%and317 = lshr i32 %structured_feature_info0.sroa.0.4.extract.trunc, 30, !dbg !428 | |
%288 = trunc i32 %and317 to i8, !dbg !428 | |
%289 = insertelement <2 x i8> poison, i8 %287, i64 0, !dbg !426 | |
%290 = insertelement <2 x i8> %289, i8 %288, i64 1, !dbg !426 | |
%291 = and <2 x i8> %290, <i8 1, i8 1>, !dbg !426 | |
%and327.lobit = lshr i32 %structured_feature_info0.sroa.0.4.extract.trunc, 31, !dbg !429 | |
%292 = trunc i32 %and327.lobit to i8, !dbg !429 | |
%and337828 = lshr i64 %structured_feature_info0.sroa.0.0930, 53, !dbg !430 | |
%293 = trunc i64 %and337828 to i8, !dbg !430 | |
%294 = and i8 %293, 1, !dbg !430 | |
%295 = lshr i8 %194, 1, !dbg !431 | |
%296 = lshr i8 %194, 6, !dbg !432 | |
%297 = insertelement <2 x i64> poison, i64 %structured_feature_info0.sroa.25.0932, i64 0, !dbg !433 | |
%298 = shufflevector <2 x i64> %297, <2 x i64> poison, <2 x i32> zeroinitializer, !dbg !433 | |
%299 = lshr <2 x i64> %298, <i64 12, i64 14>, !dbg !433 | |
%300 = trunc <2 x i64> %299 to <2 x i8>, !dbg !433 | |
%301 = insertelement <4 x i8> poison, i8 %295, i64 0, !dbg !431 | |
%302 = insertelement <4 x i8> %301, i8 %296, i64 1, !dbg !431 | |
%303 = shufflevector <2 x i8> %300, <2 x i8> poison, <4 x i32> <i32 0, i32 1, i32 undef, i32 undef>, !dbg !431 | |
%304 = shufflevector <4 x i8> %302, <4 x i8> %303, <4 x i32> <i32 0, i32 1, i32 4, i32 5>, !dbg !431 | |
%305 = and <4 x i8> %304, <i8 1, i8 1, i8 1, i8 1>, !dbg !431 | |
%306 = shufflevector <2 x i1> %48, <2 x i1> undef, <8 x i32> <i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1>, !dbg !426 | |
%307 = shufflevector <2 x i8> %291, <2 x i8> poison, <8 x i32> <i32 0, i32 1, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>, !dbg !426 | |
%308 = insertelement <8 x i8> %307, i8 %292, i64 2, !dbg !426 | |
%309 = insertelement <8 x i8> %308, i8 %294, i64 3, !dbg !426 | |
%310 = shufflevector <4 x i8> %305, <4 x i8> poison, <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 undef, i32 undef, i32 undef, i32 undef>, !dbg !426 | |
%311 = shufflevector <8 x i8> %309, <8 x i8> %310, <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 8, i32 9, i32 10, i32 11>, !dbg !426 | |
%312 = select <8 x i1> %306, <8 x i8> %311, <8 x i8> zeroinitializer, !dbg !426 | |
%313 = bitcast i8* %avx512dq to <8 x i8>*, !dbg !434 | |
br i1 false, label %314, label %315, !dbg !434, !prof !301 | |
314: ; preds = %283 | |
call void @__msan_warning_with_origin_noreturn(i32 0) #4, !dbg !434 | |
unreachable, !dbg !434 | |
315: ; preds = %283 | |
%316 = ptrtoint <8 x i8>* %313 to i64, !dbg !434 | |
%317 = xor i64 %316, 87960930222080, !dbg !434 | |
%318 = inttoptr i64 %317 to <8 x i8>*, !dbg !434 | |
store <8 x i8> zeroinitializer, <8 x i8>* %318, align 1, !dbg !434 | |
store <8 x i8> %312, <8 x i8>* %313, align 1, !dbg !434 | |
%and387833 = lshr i64 %structured_feature_info0.sroa.25.0932, 11, !dbg !435 | |
%319 = trunc i64 %and387833 to i8, !dbg !435 | |
%320 = and i8 %319, 1, !dbg !435 | |
%321 = select i1 %273, i8 %320, i8 0, !dbg !435 | |
%avx512vnni = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 40, !dbg !436 | |
br i1 false, label %322, label %323, !dbg !437, !prof !301 | |
322: ; preds = %315 | |
call void @__msan_warning_with_origin_noreturn(i32 0) #4, !dbg !437 | |
unreachable, !dbg !437 | |
323: ; preds = %315 | |
%324 = ptrtoint i8* %avx512vnni to i64, !dbg !437 | |
%325 = xor i64 %324, 87960930222080, !dbg !437 | |
%326 = inttoptr i64 %325 to i8*, !dbg !437 | |
store i8 0, i8* %326, align 1, !dbg !437 | |
store i8 %321, i8* %avx512vnni, align 1, !dbg !437 | |
%sum.shift = lshr i64 %structured_feature_info0.sroa.25.0932, 34, !dbg !438 | |
%and397834 = trunc i64 %sum.shift to i8, !dbg !438 | |
%and397.lobit = and i8 %and397834, 1, !dbg !438 | |
%327 = select i1 %273, i8 %and397.lobit, i8 0, !dbg !438 | |
%avx512_4vnniw = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 43, !dbg !439 | |
br i1 false, label %328, label %329, !dbg !440, !prof !301 | |
328: ; preds = %323 | |
call void @__msan_warning_with_origin_noreturn(i32 0) #4, !dbg !440 | |
unreachable, !dbg !440 | |
329: ; preds = %323 | |
%330 = ptrtoint i8* %avx512_4vnniw to i64, !dbg !440 | |
%331 = xor i64 %330, 87960930222080, !dbg !440 | |
%332 = inttoptr i64 %331 to i8*, !dbg !440 | |
store i8 0, i8* %332, align 1, !dbg !440 | |
store i8 %327, i8* %avx512_4vnniw, align 1, !dbg !440 | |
%sum.shift835 = lshr i64 %structured_feature_info0.sroa.25.0932, 35, !dbg !441 | |
%and407836 = trunc i64 %sum.shift835 to i8, !dbg !441 | |
%and407.lobit = and i8 %and407836, 1, !dbg !441 | |
%333 = select i1 %273, i8 %and407.lobit, i8 0, !dbg !441 | |
%avx512_4fmaps = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 44, !dbg !442 | |
br i1 false, label %334, label %335, !dbg !443, !prof !301 | |
334: ; preds = %329 | |
call void @__msan_warning_with_origin_noreturn(i32 0) #4, !dbg !443 | |
unreachable, !dbg !443 | |
335: ; preds = %329 | |
%336 = ptrtoint i8* %avx512_4fmaps to i64, !dbg !443 | |
%337 = xor i64 %336, 87960930222080, !dbg !443 | |
%338 = inttoptr i64 %337 to i8*, !dbg !443 | |
store i8 0, i8* %338, align 1, !dbg !443 | |
store i8 %333, i8* %avx512_4fmaps, align 1, !dbg !443 | |
%sum.shift837 = lshr i64 %structured_feature_info0.sroa.25.0932, 40, !dbg !444 | |
%and417838 = trunc i64 %sum.shift837 to i8, !dbg !444 | |
%and417.lobit = and i8 %and417838, 1, !dbg !444 | |
%339 = select i1 %273, i8 %and417.lobit, i8 0, !dbg !444 | |
%avx512vp2intersect = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 42, !dbg !445 | |
br i1 false, label %340, label %341, !dbg !446, !prof !301 | |
340: ; preds = %335 | |
call void @__msan_warning_with_origin_noreturn(i32 0) #4, !dbg !446 | |
unreachable, !dbg !446 | |
341: ; preds = %335 | |
%342 = ptrtoint i8* %avx512vp2intersect to i64, !dbg !446 | |
%343 = xor i64 %342, 87960930222080, !dbg !446 | |
%344 = inttoptr i64 %343 to i8*, !dbg !446 | |
store i8 0, i8* %344, align 1, !dbg !446 | |
store i8 %339, i8* %avx512vp2intersect, align 1, !dbg !446 | |
%345 = select i1 %273, i8 %structured_feature_info1.sroa.0.0, i8 0, !dbg !447 | |
%avx512bf16 = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 41, !dbg !448 | |
br i1 false, label %346, label %347, !dbg !449, !prof !301 | |
346: ; preds = %341 | |
call void @__msan_warning_with_origin_noreturn(i32 0) #4, !dbg !449 | |
unreachable, !dbg !449 | |
347: ; preds = %341 | |
%348 = ptrtoint i8* %avx512bf16 to i64, !dbg !449 | |
%349 = xor i64 %348, 87960930222080, !dbg !449 | |
%350 = inttoptr i64 %349 to i8*, !dbg !449 | |
store i8 0, i8* %350, align 1, !dbg !449 | |
store i8 %345, i8* %avx512bf16, align 1, !dbg !449 | |
%hle = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 45, !dbg !450 | |
%and434840 = lshr i64 %structured_feature_info0.sroa.0.0930, 36, !dbg !451 | |
%351 = trunc i64 %and434840 to i8, !dbg !451 | |
%352 = and i8 %351, 1, !dbg !451 | |
br i1 false, label %353, label %354, !dbg !451, !prof !301 | |
353: ; preds = %347 | |
call void @__msan_warning_with_origin_noreturn(i32 0) #4, !dbg !451 | |
unreachable, !dbg !451 | |
354: ; preds = %347 | |
%355 = ptrtoint i8* %hle to i64, !dbg !451 | |
%356 = xor i64 %355, 87960930222080, !dbg !451 | |
%357 = inttoptr i64 %356 to i8*, !dbg !451 | |
store i8 0, i8* %357, align 1, !dbg !451 | |
store i8 %352, i8* %hle, align 1, !dbg !451 | |
%and440 = and i32 %structured_feature_info0.sroa.0.4.extract.trunc, 2048, !dbg !452 | |
%358 = icmp eq i32 %and440, 0, !dbg !453 | |
%tobool441 = icmp ne i32 %and440, 0, !dbg !453 | |
%rtm = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 46, !dbg !454 | |
%and440.lobit = lshr exact i32 %and440, 11, !dbg !455 | |
%359 = trunc i32 %and440.lobit to i8, !dbg !455 | |
br i1 false, label %360, label %361, !dbg !455, !prof !301 | |
360: ; preds = %354 | |
call void @__msan_warning_with_origin_noreturn(i32 0) #4, !dbg !455 | |
unreachable, !dbg !455 | |
361: ; preds = %354 | |
%362 = ptrtoint i8* %rtm to i64, !dbg !455 | |
%363 = xor i64 %362, 87960930222080, !dbg !455 | |
%364 = inttoptr i64 %363 to i8*, !dbg !455 | |
store i8 0, i8* %364, align 1, !dbg !455 | |
store i8 %359, i8* %rtm, align 1, !dbg !455 | |
%365 = icmp eq i8 %352, 0, !dbg !456 | |
%tobool446 = icmp ne i8 %352, 0, !dbg !456 | |
%366 = xor i1 true, %tobool441, !dbg !457 | |
%367 = select i1 %tobool446, i1 true, i1 %tobool441, !dbg !457 | |
%xtest = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 47, !dbg !458 | |
%frombool451 = zext i1 %367 to i8, !dbg !459 | |
br i1 false, label %368, label %369, !dbg !459, !prof !301 | |
368: ; preds = %361 | |
call void @__msan_warning_with_origin_noreturn(i32 0) #4, !dbg !459 | |
unreachable, !dbg !459 | |
369: ; preds = %361 | |
%370 = ptrtoint i8* %xtest to i64, !dbg !459 | |
%371 = xor i64 %370, 87960930222080, !dbg !459 | |
%372 = inttoptr i64 %371 to i8*, !dbg !459 | |
store i8 0, i8* %372, align 1, !dbg !459 | |
store i8 %frombool451, i8* %xtest, align 1, !dbg !459 | |
%and456841 = lshr i64 %structured_feature_info0.sroa.0.0930, 46, !dbg !460 | |
%373 = trunc i64 %and456841 to i8, !dbg !460 | |
%374 = and i8 %373, 1, !dbg !460 | |
%375 = select i1 %mpx_regs.1, i8 %374, i8 0, !dbg !460 | |
%mpx = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 48, !dbg !461 | |
br i1 false, label %376, label %377, !dbg !462, !prof !301 | |
376: ; preds = %369 | |
call void @__msan_warning_with_origin_noreturn(i32 0) #4, !dbg !462 | |
unreachable, !dbg !462 | |
377: ; preds = %369 | |
%378 = ptrtoint i8* %mpx to i64, !dbg !462 | |
%379 = xor i64 %378, 87960930222080, !dbg !462 | |
%380 = inttoptr i64 %379 to i8*, !dbg !462 | |
store i8 0, i8* %380, align 1, !dbg !462 | |
store i8 %375, i8* %mpx, align 1, !dbg !462 | |
%cmpxchg16b = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 49, !dbg !463 | |
%381 = lshr i64 %0, 13, !dbg !464 | |
%and463842 = lshr i64 %basic_info.coerce1, 13, !dbg !464 | |
%_msprop1100 = trunc i64 %381 to i8, !dbg !464 | |
%382 = trunc i64 %and463842 to i8, !dbg !464 | |
%and469843 = lshr i64 %structured_feature_info0.sroa.0.0930, 56, !dbg !465 | |
%383 = trunc i64 %and469843 to i8, !dbg !465 | |
%384 = lshr i64 %0, 22, !dbg !466 | |
%and475844 = lshr i64 %basic_info.coerce1, 22, !dbg !466 | |
%_msprop1102 = trunc i64 %384 to i8, !dbg !466 | |
%385 = trunc i64 %and475844 to i8, !dbg !466 | |
%386 = trunc i64 %structured_feature_info0.sroa.0.4.extract.shift to i8, !dbg !467 | |
%387 = lshr i8 %_msprop1018, 5, !dbg !468 | |
%388 = lshr i8 %235, 5, !dbg !468 | |
%389 = lshr i64 %0, 23, !dbg !469 | |
%and499846 = lshr i64 %basic_info.coerce1, 23, !dbg !469 | |
%_msprop1104 = trunc i64 %389 to i8, !dbg !469 | |
%390 = trunc i64 %and499846 to i8, !dbg !469 | |
%391 = lshr i64 %1, 21, !dbg !470 | |
%and505847 = lshr i64 %extended_info.coerce1, 21, !dbg !470 | |
%_msprop1105 = trunc i64 %391 to i8, !dbg !470 | |
%392 = trunc i64 %and505847 to i8, !dbg !470 | |
%393 = insertelement <2 x i64> poison, i64 %structured_feature_info0.sroa.0.0930, i64 0, !dbg !471 | |
%394 = shufflevector <2 x i64> %393, <2 x i64> poison, <2 x i32> zeroinitializer, !dbg !471 | |
%395 = lshr <2 x i64> %394, <i64 35, i64 40>, !dbg !471 | |
%396 = trunc <2 x i64> %395 to <2 x i8>, !dbg !471 | |
%and523850 = lshr i64 %structured_feature_info0.sroa.0.0930, 51, !dbg !472 | |
%397 = trunc i64 %and523850 to i8, !dbg !472 | |
%398 = lshr i32 %_msprop, 25, !dbg !473 | |
%and529 = lshr i32 %basic_info.sroa.1.8.extract.trunc, 25, !dbg !473 | |
%_msprop1110 = trunc i32 %398 to i8, !dbg !473 | |
%399 = trunc i32 %and529 to i8, !dbg !473 | |
%and535851 = lshr i64 %structured_feature_info0.sroa.25.0932, 9, !dbg !474 | |
%400 = trunc i64 %and535851 to i8, !dbg !474 | |
%401 = lshr i8 %_msprop974, 1, !dbg !475 | |
%402 = lshr i8 %96, 1, !dbg !475 | |
%403 = lshr <2 x i64> %298, <i64 10, i64 8>, !dbg !476 | |
%404 = trunc <2 x i64> %403 to <2 x i8>, !dbg !476 | |
%_msprop1113 = insertelement <16 x i8> <i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1>, i8 %_msprop1100, i64 0, !dbg !464 | |
%405 = insertelement <16 x i8> poison, i8 %382, i64 0, !dbg !464 | |
%_msprop1114 = insertelement <16 x i8> %_msprop1113, i8 0, i64 1, !dbg !464 | |
%406 = insertelement <16 x i8> %405, i8 %383, i64 1, !dbg !464 | |
%_msprop1115 = insertelement <16 x i8> %_msprop1114, i8 %_msprop1102, i64 2, !dbg !464 | |
%407 = insertelement <16 x i8> %406, i8 %385, i64 2, !dbg !464 | |
%_msprop1116 = insertelement <16 x i8> %_msprop1115, i8 %_msprop1018, i64 3, !dbg !464 | |
%408 = insertelement <16 x i8> %407, i8 %235, i64 3, !dbg !464 | |
%_msprop1117 = insertelement <16 x i8> %_msprop1116, i8 0, i64 4, !dbg !464 | |
%409 = insertelement <16 x i8> %408, i8 %386, i64 4, !dbg !464 | |
%_msprop1118 = insertelement <16 x i8> %_msprop1117, i8 %387, i64 5, !dbg !464 | |
%410 = insertelement <16 x i8> %409, i8 %388, i64 5, !dbg !464 | |
%_msprop1119 = insertelement <16 x i8> %_msprop1118, i8 %_msprop1104, i64 6, !dbg !464 | |
%411 = insertelement <16 x i8> %410, i8 %390, i64 6, !dbg !464 | |
%_msprop1120 = insertelement <16 x i8> %_msprop1119, i8 %_msprop1105, i64 7, !dbg !464 | |
%412 = insertelement <16 x i8> %411, i8 %392, i64 7, !dbg !464 | |
%413 = shufflevector <2 x i8> %396, <2 x i8> poison, <16 x i32> <i32 0, i32 1, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>, !dbg !464 | |
%_msprop1122 = shufflevector <16 x i8> %_msprop1120, <16 x i8> <i8 0, i8 0, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef>, <16 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 16, i32 17, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>, !dbg !464 | |
%414 = shufflevector <16 x i8> %412, <16 x i8> %413, <16 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 16, i32 17, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>, !dbg !464 | |
%_msprop1123 = insertelement <16 x i8> %_msprop1122, i8 0, i64 10, !dbg !464 | |
%415 = insertelement <16 x i8> %414, i8 %397, i64 10, !dbg !464 | |
%_msprop1124 = insertelement <16 x i8> %_msprop1123, i8 %_msprop1110, i64 11, !dbg !464 | |
%416 = insertelement <16 x i8> %415, i8 %399, i64 11, !dbg !464 | |
%_msprop1125 = insertelement <16 x i8> %_msprop1124, i8 0, i64 12, !dbg !464 | |
%417 = insertelement <16 x i8> %416, i8 %400, i64 12, !dbg !464 | |
%_msprop1126 = insertelement <16 x i8> %_msprop1125, i8 %401, i64 13, !dbg !464 | |
%418 = insertelement <16 x i8> %417, i8 %402, i64 13, !dbg !464 | |
%419 = shufflevector <2 x i8> %404, <2 x i8> poison, <16 x i32> <i32 0, i32 1, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>, !dbg !464 | |
%_msprop1128 = shufflevector <16 x i8> %_msprop1126, <16 x i8> <i8 0, i8 0, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef>, <16 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 16, i32 17>, !dbg !464 | |
%420 = shufflevector <16 x i8> %418, <16 x i8> %419, <16 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 16, i32 17>, !dbg !464 | |
%421 = and <16 x i8> %_msprop1128, <i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1>, !dbg !464 | |
%422 = and <16 x i8> %420, <i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1>, !dbg !464 | |
%423 = bitcast i8* %cmpxchg16b to <16 x i8>*, !dbg !464 | |
br i1 false, label %424, label %425, !dbg !464, !prof !301 | |
424: ; preds = %377 | |
call void @__msan_warning_with_origin_noreturn(i32 0) #4, !dbg !464 | |
unreachable, !dbg !464 | |
425: ; preds = %377 | |
%426 = ptrtoint <16 x i8>* %423 to i64, !dbg !464 | |
%427 = xor i64 %426, 87960930222080, !dbg !464 | |
%428 = inttoptr i64 %427 to <16 x i8>*, !dbg !464 | |
store <16 x i8> %421, <16 x i8>* %428, align 1, !dbg !464 | |
store <16 x i8> %422, <16 x i8>* %423, align 1, !dbg !464 | |
%rdrand = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 65, !dbg !477 | |
%429 = lshr i32 %_msprop, 30, !dbg !478 | |
%and559 = lshr i32 %basic_info.sroa.1.8.extract.trunc, 30, !dbg !478 | |
%_msprop1131 = trunc i32 %429 to i8, !dbg !478 | |
%430 = trunc i32 %and559 to i8, !dbg !478 | |
%431 = and i8 %_msprop1131, 1, !dbg !478 | |
%432 = and i8 %430, 1, !dbg !478 | |
br i1 false, label %433, label %434, !dbg !478, !prof !301 | |
433: ; preds = %425 | |
call void @__msan_warning_with_origin_noreturn(i32 0) #4, !dbg !478 | |
unreachable, !dbg !478 | |
434: ; preds = %425 | |
%435 = ptrtoint i8* %rdrand to i64, !dbg !478 | |
%436 = xor i64 %435, 87960930222080, !dbg !478 | |
%437 = inttoptr i64 %436 to i8*, !dbg !478 | |
store i8 %431, i8* %437, align 1, !dbg !478 | |
store i8 %432, i8* %rdrand, align 1, !dbg !478 | |
%rdseed = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 66, !dbg !479 | |
%and565855 = lshr i64 %structured_feature_info0.sroa.0.0930, 50, !dbg !480 | |
%438 = trunc i64 %and565855 to i8, !dbg !480 | |
%439 = and i8 %438, 1, !dbg !480 | |
br i1 false, label %440, label %441, !dbg !480, !prof !301 | |
440: ; preds = %434 | |
call void @__msan_warning_with_origin_noreturn(i32 0) #4, !dbg !480 | |
unreachable, !dbg !480 | |
441: ; preds = %434 | |
%442 = ptrtoint i8* %rdseed to i64, !dbg !480 | |
%443 = xor i64 %442, 87960930222080, !dbg !480 | |
%444 = inttoptr i64 %443 to i8*, !dbg !480 | |
store i8 0, i8* %444, align 1, !dbg !480 | |
store i8 %439, i8* %rdseed, align 1, !dbg !480 | |
%sha = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 67, !dbg !481 | |
%and571 = lshr i32 %structured_feature_info0.sroa.0.4.extract.trunc, 29, !dbg !482 | |
%445 = trunc i32 %and571 to i8, !dbg !482 | |
%446 = and i8 %445, 1, !dbg !482 | |
br i1 false, label %447, label %448, !dbg !482, !prof !301 | |
447: ; preds = %441 | |
call void @__msan_warning_with_origin_noreturn(i32 0) #4, !dbg !482 | |
unreachable, !dbg !482 | |
448: ; preds = %441 | |
%449 = ptrtoint i8* %sha to i64, !dbg !482 | |
%450 = xor i64 %449, 87960930222080, !dbg !482 | |
%451 = inttoptr i64 %450 to i8*, !dbg !482 | |
store i8 0, i8* %451, align 1, !dbg !482 | |
store i8 %446, i8* %sha, align 1, !dbg !482 | |
%452 = xor i32 %vendor, 11, !dbg !483 | |
%453 = icmp eq i32 %452, 0, !dbg !483 | |
%cmp576 = icmp eq i32 %vendor, 11, !dbg !483 | |
br i1 false, label %454, label %455, !dbg !484, !prof !301 | |
454: ; preds = %448 | |
call void @__msan_warning_with_origin_noreturn(i32 0) #4, !dbg !484 | |
unreachable, !dbg !484 | |
455: ; preds = %448 | |
br i1 %cmp576, label %if.then578, label %if.end611, !dbg !484 | |
if.then578: ; preds = %455 | |
call void @llvm.dbg.value(metadata i32 -1073741824, metadata !322, metadata !DIExpression()) #5, !dbg !485 | |
%456 = tail call { i32, i32, i32, i32 } asm " xchgq %rbx,${1:q}\0A cpuid\0A xchgq %rbx,${1:q}", "={ax},=r,={cx},={dx},0,~{dirflag},~{fpsr},~{flags}"(i32 -1073741824) #6, !dbg !487, !srcloc !331 | |
%asmresult.i900 = extractvalue { i32, i32, i32, i32 } %456, 0, !dbg !487 | |
call void @llvm.dbg.value(metadata i32 %asmresult.i900, metadata !327, metadata !DIExpression(DW_OP_LLVM_fragment, 0, 32)) #5, !dbg !485 | |
call void @llvm.dbg.value(metadata i32 undef, metadata !327, metadata !DIExpression(DW_OP_LLVM_fragment, 32, 32)) #5, !dbg !485 | |
call void @llvm.dbg.value(metadata i32 undef, metadata !327, metadata !DIExpression(DW_OP_LLVM_fragment, 64, 32)) #5, !dbg !485 | |
call void @llvm.dbg.value(metadata i32 undef, metadata !327, metadata !DIExpression(DW_OP_LLVM_fragment, 96, 32)) #5, !dbg !485 | |
call void @llvm.dbg.value(metadata i64 undef, metadata !284, metadata !DIExpression(DW_OP_LLVM_fragment, 64, 64)), !dbg !488 | |
call void @llvm.dbg.value(metadata !DIArgList(i64 0, i32 %asmresult.i900), metadata !284, metadata !DIExpression(DW_OP_LLVM_arg, 0, DW_OP_LLVM_arg, 1, DW_OP_LLVM_convert, 32, DW_ATE_unsigned, DW_OP_LLVM_convert, 64, DW_ATE_unsigned, DW_OP_or, DW_OP_stack_value, DW_OP_LLVM_fragment, 0, 64)), !dbg !488 | |
call void @llvm.dbg.value(metadata i32 %asmresult.i900, metadata !287, metadata !DIExpression()), !dbg !488 | |
call void @llvm.dbg.value(metadata i32 -1073741823, metadata !288, metadata !DIExpression()), !dbg !488 | |
%457 = icmp ugt i32 %asmresult.i900, -1073741824, !dbg !489 | |
br i1 false, label %458, label %459, !dbg !490, !prof !301 | |
458: ; preds = %if.then578 | |
call void @__msan_warning_with_origin_noreturn(i32 0) #4, !dbg !490 | |
unreachable, !dbg !490 | |
459: ; preds = %if.then578 | |
br i1 %457, label %if.then583, label %if.end611, !dbg !490 | |
if.then583: ; preds = %459 | |
call void @llvm.dbg.value(metadata i32 -1073741823, metadata !322, metadata !DIExpression()) #5, !dbg !491 | |
%460 = tail call { i32, i32, i32, i32 } asm " xchgq %rbx,${1:q}\0A cpuid\0A xchgq %rbx,${1:q}", "={ax},=r,={cx},={dx},0,~{dirflag},~{fpsr},~{flags}"(i32 -1073741823) #6, !dbg !493, !srcloc !331 | |
%asmresult4.i917 = extractvalue { i32, i32, i32, i32 } %460, 3, !dbg !493 | |
call void @llvm.dbg.value(metadata i32 undef, metadata !327, metadata !DIExpression(DW_OP_LLVM_fragment, 0, 32)) #5, !dbg !491 | |
call void @llvm.dbg.value(metadata i32 undef, metadata !327, metadata !DIExpression(DW_OP_LLVM_fragment, 32, 32)) #5, !dbg !491 | |
call void @llvm.dbg.value(metadata i32 undef, metadata !327, metadata !DIExpression(DW_OP_LLVM_fragment, 64, 32)) #5, !dbg !491 | |
call void @llvm.dbg.value(metadata i32 %asmresult4.i917, metadata !327, metadata !DIExpression(DW_OP_LLVM_fragment, 96, 32)) #5, !dbg !491 | |
call void @llvm.dbg.value(metadata i64 undef, metadata !289, metadata !DIExpression(DW_OP_LLVM_fragment, 0, 64)), !dbg !494 | |
call void @llvm.dbg.value(metadata !DIArgList(i32 %asmresult4.i917, i32 undef), metadata !289, metadata !DIExpression(DW_OP_LLVM_arg, 0, DW_OP_LLVM_convert, 32, DW_ATE_unsigned, DW_OP_LLVM_convert, 64, DW_ATE_unsigned, DW_OP_constu, 32, DW_OP_shl, DW_OP_LLVM_arg, 1, DW_OP_LLVM_convert, 32, DW_ATE_unsigned, DW_OP_LLVM_convert, 64, DW_ATE_unsigned, DW_OP_or, DW_OP_stack_value, DW_OP_LLVM_fragment, 64, 64)), !dbg !494 | |
call void @llvm.dbg.value(metadata i32 12, metadata !292, metadata !DIExpression()), !dbg !494 | |
%and586 = and i32 %asmresult4.i917, 12, !dbg !495 | |
%461 = xor i32 %and586, 12, !dbg !496 | |
%462 = icmp eq i32 %461, 0, !dbg !496 | |
%cmp587 = icmp eq i32 %and586, 12, !dbg !496 | |
%rng = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 68, !dbg !497 | |
%frombool589 = zext i1 %cmp587 to i8, !dbg !498 | |
br i1 false, label %463, label %464, !dbg !498, !prof !301 | |
463: ; preds = %if.then583 | |
call void @__msan_warning_with_origin_noreturn(i32 0) #4, !dbg !498 | |
unreachable, !dbg !498 | |
464: ; preds = %if.then583 | |
%465 = ptrtoint i8* %rng to i64, !dbg !498 | |
%466 = xor i64 %465, 87960930222080, !dbg !498 | |
%467 = inttoptr i64 %466 to i8*, !dbg !498 | |
store i8 0, i8* %467, align 1, !dbg !498 | |
store i8 %frombool589, i8* %rng, align 1, !dbg !498 | |
call void @llvm.dbg.value(metadata i32 192, metadata !293, metadata !DIExpression()), !dbg !494 | |
%ace = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 69, !dbg !499 | |
call void @llvm.dbg.value(metadata i32 768, metadata !294, metadata !DIExpression()), !dbg !494 | |
%ace2 = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 70, !dbg !500 | |
call void @llvm.dbg.value(metadata i32 3072, metadata !295, metadata !DIExpression()), !dbg !494 | |
%phe = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 71, !dbg !501 | |
call void @llvm.dbg.value(metadata i32 12288, metadata !296, metadata !DIExpression()), !dbg !494 | |
%468 = insertelement <4 x i32> poison, i32 %asmresult4.i917, i64 0, !dbg !502 | |
%shuffle = shufflevector <4 x i32> %468, <4 x i32> poison, <4 x i32> zeroinitializer, !dbg !502 | |
%469 = and <4 x i32> %shuffle, <i32 12288, i32 3072, i32 768, i32 192>, !dbg !502 | |
%470 = xor <4 x i32> %469, <i32 12288, i32 3072, i32 768, i32 192>, !dbg !503 | |
%471 = icmp eq <4 x i32> %470, zeroinitializer, !dbg !503 | |
%472 = icmp eq <4 x i32> %469, <i32 12288, i32 3072, i32 768, i32 192>, !dbg !503 | |
%473 = extractelement <4 x i1> %472, i64 3, !dbg !504 | |
%frombool594 = zext i1 %473 to i8, !dbg !504 | |
br i1 false, label %474, label %475, !dbg !504, !prof !301 | |
474: ; preds = %464 | |
call void @__msan_warning_with_origin_noreturn(i32 0) #4, !dbg !504 | |
unreachable, !dbg !504 | |
475: ; preds = %464 | |
%476 = ptrtoint i8* %ace to i64, !dbg !504 | |
%477 = xor i64 %476, 87960930222080, !dbg !504 | |
%478 = inttoptr i64 %477 to i8*, !dbg !504 | |
store i8 0, i8* %478, align 1, !dbg !504 | |
store i8 %frombool594, i8* %ace, align 1, !dbg !504 | |
%479 = extractelement <4 x i1> %472, i64 2, !dbg !505 | |
%frombool599 = zext i1 %479 to i8, !dbg !505 | |
br i1 false, label %480, label %481, !dbg !505, !prof !301 | |
480: ; preds = %475 | |
call void @__msan_warning_with_origin_noreturn(i32 0) #4, !dbg !505 | |
unreachable, !dbg !505 | |
481: ; preds = %475 | |
%482 = ptrtoint i8* %ace2 to i64, !dbg !505 | |
%483 = xor i64 %482, 87960930222080, !dbg !505 | |
%484 = inttoptr i64 %483 to i8*, !dbg !505 | |
store i8 0, i8* %484, align 1, !dbg !505 | |
store i8 %frombool599, i8* %ace2, align 1, !dbg !505 | |
%485 = extractelement <4 x i1> %472, i64 1, !dbg !506 | |
%frombool604 = zext i1 %485 to i8, !dbg !506 | |
br i1 false, label %486, label %487, !dbg !506, !prof !301 | |
486: ; preds = %481 | |
call void @__msan_warning_with_origin_noreturn(i32 0) #4, !dbg !506 | |
unreachable, !dbg !506 | |
487: ; preds = %481 | |
%488 = ptrtoint i8* %phe to i64, !dbg !506 | |
%489 = xor i64 %488, 87960930222080, !dbg !506 | |
%490 = inttoptr i64 %489 to i8*, !dbg !506 | |
store i8 0, i8* %490, align 1, !dbg !506 | |
store i8 %frombool604, i8* %phe, align 1, !dbg !506 | |
%pmm = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 72, !dbg !507 | |
%491 = extractelement <4 x i1> %472, i64 0, !dbg !508 | |
%frombool609 = zext i1 %491 to i8, !dbg !508 | |
br i1 false, label %492, label %493, !dbg !508, !prof !301 | |
492: ; preds = %487 | |
call void @__msan_warning_with_origin_noreturn(i32 0) #4, !dbg !508 | |
unreachable, !dbg !508 | |
493: ; preds = %487 | |
%494 = ptrtoint i8* %pmm to i64, !dbg !508 | |
%495 = xor i64 %494, 87960930222080, !dbg !508 | |
%496 = inttoptr i64 %495 to i8*, !dbg !508 | |
store i8 0, i8* %496, align 1, !dbg !508 | |
store i8 %frombool609, i8* %pmm, align 1, !dbg !508 | |
br label %if.end611, !dbg !509 | |
if.end611: ; preds = %459, %493, %455 | |
%lwp = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 73, !dbg !510 | |
%497 = lshr i64 %1, 15, !dbg !511 | |
%and613856 = lshr i64 %extended_info.coerce1, 15, !dbg !511 | |
%_msprop1162 = trunc i64 %497 to i8, !dbg !511 | |
%498 = trunc i64 %and613856 to i8, !dbg !511 | |
%499 = and i8 %_msprop1162, 1, !dbg !511 | |
%500 = and i8 %498, 1, !dbg !511 | |
br i1 false, label %501, label %502, !dbg !511, !prof !301 | |
501: ; preds = %if.end611 | |
call void @__msan_warning_with_origin_noreturn(i32 0) #4, !dbg !511 | |
unreachable, !dbg !511 | |
502: ; preds = %if.end611 | |
%503 = ptrtoint i8* %lwp to i64, !dbg !511 | |
%504 = xor i64 %503, 87960930222080, !dbg !511 | |
%505 = inttoptr i64 %504 to i8*, !dbg !511 | |
store i8 %499, i8* %505, align 1, !dbg !511 | |
store i8 %500, i8* %lwp, align 1, !dbg !511 | |
%506 = lshr i32 %_msprop940, 27, !dbg !512 | |
%and619 = lshr i32 %extended_info.sroa.14.8.extract.trunc, 27, !dbg !512 | |
%_msprop1163 = trunc i32 %506 to i8, !dbg !512 | |
%507 = trunc i32 %and619 to i8, !dbg !512 | |
%508 = and i8 %_msprop1163, 1, !dbg !512 | |
%509 = and i8 %507, 1, !dbg !512 | |
br i1 false, label %510, label %511, !dbg !512, !prof !301 | |
510: ; preds = %502 | |
call void @__msan_warning_with_origin_noreturn(i32 0) #4, !dbg !512 | |
unreachable, !dbg !512 | |
511: ; preds = %502 | |
%512 = ptrtoint i8* %5 to i64, !dbg !512 | |
%513 = xor i64 %512, 87960930222080, !dbg !512 | |
%514 = inttoptr i64 %513 to i8*, !dbg !512 | |
store i8 %508, i8* %514, align 1, !dbg !512 | |
store i8 %509, i8* %5, align 1, !dbg !512 | |
%rdpid = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 1, !dbg !513 | |
%and625857 = lshr i64 %structured_feature_info0.sroa.25.0932, 22, !dbg !514 | |
%515 = trunc i64 %and625857 to i8, !dbg !514 | |
%516 = and i8 %515, 1, !dbg !514 | |
br i1 false, label %517, label %518, !dbg !514, !prof !301 | |
517: ; preds = %511 | |
call void @__msan_warning_with_origin_noreturn(i32 0) #4, !dbg !514 | |
unreachable, !dbg !514 | |
518: ; preds = %511 | |
%519 = ptrtoint i8* %rdpid to i64, !dbg !514 | |
%520 = xor i64 %519, 87960930222080, !dbg !514 | |
%521 = inttoptr i64 %520 to i8*, !dbg !514 | |
store i8 0, i8* %521, align 1, !dbg !514 | |
store i8 %516, i8* %rdpid, align 1, !dbg !514 | |
ret void, !dbg !515 | |
} | |
; Function Attrs: mustprogress nocallback nofree nosync nounwind readnone speculatable willreturn | |
declare void @llvm.dbg.declare(metadata, metadata, metadata) #1 | |
; Function Attrs: nocallback nofree nosync nounwind readnone speculatable willreturn | |
declare void @llvm.dbg.value(metadata, metadata, metadata) #2 | |
declare void @__msan_init() | |
; Function Attrs: nounwind | |
define internal void @msan.module_ctor() #3 { | |
call void @__msan_init() | |
ret void | |
} | |
declare i8* @__msan_memset(i8*, i32, i64) | |
declare void @__msan_warning_with_origin_noreturn(i32) | |
attributes #0 = { nounwind optsize sanitize_memory "frame-pointer"="all" "min-legal-vector-width"="0" "no-trapping-math"="true" "prefer-vector-width"="128" "stack-protector-buffer-size"="8" "target-cpu"="x86-64-v3" "target-features"="+aes,+avx,+avx2,+bmi,+bmi2,+crc32,+cx16,+cx8,+f16c,+fma,+fxsr,+lzcnt,+mmx,+movbe,+pclmul,+popcnt,+sahf,+sse,+sse2,+sse3,+sse4.1,+sse4.2,+ssse3,+x87,+xsave" } | |
attributes #1 = { mustprogress nocallback nofree nosync nounwind readnone speculatable willreturn } | |
attributes #2 = { nocallback nofree nosync nounwind readnone speculatable willreturn } | |
attributes #3 = { nounwind "frame-pointer"="all" } | |
attributes #4 = { nomerge } | |
attributes #5 = { nounwind } | |
attributes #6 = { nounwind readnone } | |
!llvm.dbg.cu = !{!0} | |
!llvm.module.flags = !{!160, !161, !162, !163, !164} | |
!llvm.ident = !{!165} | |
!0 = distinct !DICompileUnit(language: DW_LANG_C99, file: !1, producer: "clang version 0fe13b5f84abe1716f5991da057c801dc548a9ab", isOptimized: true, runtimeVersion: 0, emissionKind: FullDebug, enums: !2, retainedTypes: !154, nameTableKind: None) | |
!1 = !DIFile(filename: "cpuinfo/src/x86/isa.c", directory: "workspace", checksumkind: CSK_MD5, checksum: "1f066767a48d692a7df3bd0b30681f63") | |
!2 = !{!3, !37} | |
!3 = !DICompositeType(tag: DW_TAG_enumeration_type, name: "cpuinfo_vendor", file: !4, line: 137, baseType: !5, size: 32, elements: !6) | |
!4 = !DIFile(filename: "cpuinfo/include/cpuinfo.h", directory: "workspace", checksumkind: CSK_MD5, checksum: "b2d9902226e7212a1e7a8aecca87c8f4") | |
!5 = !DIBasicType(name: "unsigned int", size: 32, encoding: DW_ATE_unsigned) | |
!6 = !{!7, !8, !9, !10, !11, !12, !13, !14, !15, !16, !17, !18, !19, !20, !21, !22, !23, !24, !25, !26, !27, !28, !29, !30, !31, !32, !33, !34, !35, !36} | |
!7 = !DIEnumerator(name: "cpuinfo_vendor_unknown", value: 0) | |
!8 = !DIEnumerator(name: "cpuinfo_vendor_intel", value: 1) | |
!9 = !DIEnumerator(name: "cpuinfo_vendor_amd", value: 2) | |
!10 = !DIEnumerator(name: "cpuinfo_vendor_arm", value: 3) | |
!11 = !DIEnumerator(name: "cpuinfo_vendor_qualcomm", value: 4) | |
!12 = !DIEnumerator(name: "cpuinfo_vendor_apple", value: 5) | |
!13 = !DIEnumerator(name: "cpuinfo_vendor_samsung", value: 6) | |
!14 = !DIEnumerator(name: "cpuinfo_vendor_nvidia", value: 7) | |
!15 = !DIEnumerator(name: "cpuinfo_vendor_mips", value: 8) | |
!16 = !DIEnumerator(name: "cpuinfo_vendor_ibm", value: 9) | |
!17 = !DIEnumerator(name: "cpuinfo_vendor_ingenic", value: 10) | |
!18 = !DIEnumerator(name: "cpuinfo_vendor_via", value: 11) | |
!19 = !DIEnumerator(name: "cpuinfo_vendor_cavium", value: 12) | |
!20 = !DIEnumerator(name: "cpuinfo_vendor_broadcom", value: 13) | |
!21 = !DIEnumerator(name: "cpuinfo_vendor_apm", value: 14) | |
!22 = !DIEnumerator(name: "cpuinfo_vendor_huawei", value: 15) | |
!23 = !DIEnumerator(name: "cpuinfo_vendor_hygon", value: 16) | |
!24 = !DIEnumerator(name: "cpuinfo_vendor_texas_instruments", value: 30) | |
!25 = !DIEnumerator(name: "cpuinfo_vendor_marvell", value: 31) | |
!26 = !DIEnumerator(name: "cpuinfo_vendor_rdc", value: 32) | |
!27 = !DIEnumerator(name: "cpuinfo_vendor_dmp", value: 33) | |
!28 = !DIEnumerator(name: "cpuinfo_vendor_motorola", value: 34) | |
!29 = !DIEnumerator(name: "cpuinfo_vendor_transmeta", value: 50) | |
!30 = !DIEnumerator(name: "cpuinfo_vendor_cyrix", value: 51) | |
!31 = !DIEnumerator(name: "cpuinfo_vendor_rise", value: 52) | |
!32 = !DIEnumerator(name: "cpuinfo_vendor_nsc", value: 53) | |
!33 = !DIEnumerator(name: "cpuinfo_vendor_sis", value: 54) | |
!34 = !DIEnumerator(name: "cpuinfo_vendor_nexgen", value: 55) | |
!35 = !DIEnumerator(name: "cpuinfo_vendor_umc", value: 56) | |
!36 = !DIEnumerator(name: "cpuinfo_vendor_dec", value: 57) | |
!37 = !DICompositeType(tag: DW_TAG_enumeration_type, name: "cpuinfo_uarch", file: !4, line: 266, baseType: !5, size: 32, elements: !38) | |
!38 = !{!39, !40, !41, !42, !43, !44, !45, !46, !47, !48, !49, !50, !51, !52, !53, !54, !55, !56, !57, !58, !59, !60, !61, !62, !63, !64, !65, !66, !67, !68, !69, !70, !71, !72, !73, !74, !75, !76, !77, !78, !79, !80, !81, !82, !83, !84, !85, !86, !87, !88, !89, !90, !91, !92, !93, !94, !95, !96, !97, !98, !99, !100, !101, !102, !103, !104, !105, !106, !107, !108, !109, !110, !111, !112, !113, !114, !115, !116, !117, !118, !119, !120, !121, !122, !123, !124, !125, !126, !127, !128, !129, !130, !131, !132, !133, !134, !135, !136, !137, !138, !139, !140, !141, !142, !143, !144, !145, !146, !147, !148, !149, !150, !151, !152, !153} | |
!39 = !DIEnumerator(name: "cpuinfo_uarch_unknown", value: 0) | |
!40 = !DIEnumerator(name: "cpuinfo_uarch_p5", value: 1048832) | |
!41 = !DIEnumerator(name: "cpuinfo_uarch_quark", value: 1048833) | |
!42 = !DIEnumerator(name: "cpuinfo_uarch_p6", value: 1049088) | |
!43 = !DIEnumerator(name: "cpuinfo_uarch_dothan", value: 1049089) | |
!44 = !DIEnumerator(name: "cpuinfo_uarch_yonah", value: 1049090) | |
!45 = !DIEnumerator(name: "cpuinfo_uarch_conroe", value: 1049091) | |
!46 = !DIEnumerator(name: "cpuinfo_uarch_penryn", value: 1049092) | |
!47 = !DIEnumerator(name: "cpuinfo_uarch_nehalem", value: 1049093) | |
!48 = !DIEnumerator(name: "cpuinfo_uarch_sandy_bridge", value: 1049094) | |
!49 = !DIEnumerator(name: "cpuinfo_uarch_ivy_bridge", value: 1049095) | |
!50 = !DIEnumerator(name: "cpuinfo_uarch_haswell", value: 1049096) | |
!51 = !DIEnumerator(name: "cpuinfo_uarch_broadwell", value: 1049097) | |
!52 = !DIEnumerator(name: "cpuinfo_uarch_sky_lake", value: 1049098) | |
!53 = !DIEnumerator(name: "cpuinfo_uarch_kaby_lake", value: 1049098) | |
!54 = !DIEnumerator(name: "cpuinfo_uarch_palm_cove", value: 1049099) | |
!55 = !DIEnumerator(name: "cpuinfo_uarch_sunny_cove", value: 1049100) | |
!56 = !DIEnumerator(name: "cpuinfo_uarch_willamette", value: 1049344) | |
!57 = !DIEnumerator(name: "cpuinfo_uarch_prescott", value: 1049345) | |
!58 = !DIEnumerator(name: "cpuinfo_uarch_bonnell", value: 1049600) | |
!59 = !DIEnumerator(name: "cpuinfo_uarch_saltwell", value: 1049601) | |
!60 = !DIEnumerator(name: "cpuinfo_uarch_silvermont", value: 1049602) | |
!61 = !DIEnumerator(name: "cpuinfo_uarch_airmont", value: 1049603) | |
!62 = !DIEnumerator(name: "cpuinfo_uarch_goldmont", value: 1049604) | |
!63 = !DIEnumerator(name: "cpuinfo_uarch_goldmont_plus", value: 1049605) | |
!64 = !DIEnumerator(name: "cpuinfo_uarch_knights_ferry", value: 1049856) | |
!65 = !DIEnumerator(name: "cpuinfo_uarch_knights_corner", value: 1049857) | |
!66 = !DIEnumerator(name: "cpuinfo_uarch_knights_landing", value: 1049858) | |
!67 = !DIEnumerator(name: "cpuinfo_uarch_knights_hill", value: 1049859) | |
!68 = !DIEnumerator(name: "cpuinfo_uarch_knights_mill", value: 1049860) | |
!69 = !DIEnumerator(name: "cpuinfo_uarch_xscale", value: 1050112) | |
!70 = !DIEnumerator(name: "cpuinfo_uarch_k5", value: 2097408) | |
!71 = !DIEnumerator(name: "cpuinfo_uarch_k6", value: 2097409) | |
!72 = !DIEnumerator(name: "cpuinfo_uarch_k7", value: 2097410) | |
!73 = !DIEnumerator(name: "cpuinfo_uarch_k8", value: 2097411) | |
!74 = !DIEnumerator(name: "cpuinfo_uarch_k10", value: 2097412) | |
!75 = !DIEnumerator(name: "cpuinfo_uarch_bulldozer", value: 2097413) | |
!76 = !DIEnumerator(name: "cpuinfo_uarch_piledriver", value: 2097414) | |
!77 = !DIEnumerator(name: "cpuinfo_uarch_steamroller", value: 2097415) | |
!78 = !DIEnumerator(name: "cpuinfo_uarch_excavator", value: 2097416) | |
!79 = !DIEnumerator(name: "cpuinfo_uarch_zen", value: 2097417) | |
!80 = !DIEnumerator(name: "cpuinfo_uarch_zen2", value: 2097418) | |
!81 = !DIEnumerator(name: "cpuinfo_uarch_zen3", value: 2097419) | |
!82 = !DIEnumerator(name: "cpuinfo_uarch_geode", value: 2097664) | |
!83 = !DIEnumerator(name: "cpuinfo_uarch_bobcat", value: 2097665) | |
!84 = !DIEnumerator(name: "cpuinfo_uarch_jaguar", value: 2097666) | |
!85 = !DIEnumerator(name: "cpuinfo_uarch_puma", value: 2097667) | |
!86 = !DIEnumerator(name: "cpuinfo_uarch_arm7", value: 3145984) | |
!87 = !DIEnumerator(name: "cpuinfo_uarch_arm9", value: 3145985) | |
!88 = !DIEnumerator(name: "cpuinfo_uarch_arm11", value: 3145986) | |
!89 = !DIEnumerator(name: "cpuinfo_uarch_cortex_a5", value: 3146245) | |
!90 = !DIEnumerator(name: "cpuinfo_uarch_cortex_a7", value: 3146247) | |
!91 = !DIEnumerator(name: "cpuinfo_uarch_cortex_a8", value: 3146248) | |
!92 = !DIEnumerator(name: "cpuinfo_uarch_cortex_a9", value: 3146249) | |
!93 = !DIEnumerator(name: "cpuinfo_uarch_cortex_a12", value: 3146258) | |
!94 = !DIEnumerator(name: "cpuinfo_uarch_cortex_a15", value: 3146261) | |
!95 = !DIEnumerator(name: "cpuinfo_uarch_cortex_a17", value: 3146263) | |
!96 = !DIEnumerator(name: "cpuinfo_uarch_cortex_a32", value: 3146546) | |
!97 = !DIEnumerator(name: "cpuinfo_uarch_cortex_a35", value: 3146549) | |
!98 = !DIEnumerator(name: "cpuinfo_uarch_cortex_a53", value: 3146579) | |
!99 = !DIEnumerator(name: "cpuinfo_uarch_cortex_a55r0", value: 3146580) | |
!100 = !DIEnumerator(name: "cpuinfo_uarch_cortex_a55", value: 3146581) | |
!101 = !DIEnumerator(name: "cpuinfo_uarch_cortex_a57", value: 3146583) | |
!102 = !DIEnumerator(name: "cpuinfo_uarch_cortex_a65", value: 3146597) | |
!103 = !DIEnumerator(name: "cpuinfo_uarch_cortex_a72", value: 3146610) | |
!104 = !DIEnumerator(name: "cpuinfo_uarch_cortex_a73", value: 3146611) | |
!105 = !DIEnumerator(name: "cpuinfo_uarch_cortex_a75", value: 3146613) | |
!106 = !DIEnumerator(name: "cpuinfo_uarch_cortex_a76", value: 3146614) | |
!107 = !DIEnumerator(name: "cpuinfo_uarch_cortex_a77", value: 3146615) | |
!108 = !DIEnumerator(name: "cpuinfo_uarch_cortex_a78", value: 3146616) | |
!109 = !DIEnumerator(name: "cpuinfo_uarch_neoverse_n1", value: 3146752) | |
!110 = !DIEnumerator(name: "cpuinfo_uarch_neoverse_e1", value: 3146753) | |
!111 = !DIEnumerator(name: "cpuinfo_uarch_cortex_x1", value: 3147008) | |
!112 = !DIEnumerator(name: "cpuinfo_uarch_cortex_x2", value: 3147010) | |
!113 = !DIEnumerator(name: "cpuinfo_uarch_cortex_a510", value: 3147089) | |
!114 = !DIEnumerator(name: "cpuinfo_uarch_cortex_a710", value: 3147121) | |
!115 = !DIEnumerator(name: "cpuinfo_uarch_scorpion", value: 4194560) | |
!116 = !DIEnumerator(name: "cpuinfo_uarch_krait", value: 4194561) | |
!117 = !DIEnumerator(name: "cpuinfo_uarch_kryo", value: 4194562) | |
!118 = !DIEnumerator(name: "cpuinfo_uarch_falkor", value: 4194563) | |
!119 = !DIEnumerator(name: "cpuinfo_uarch_saphira", value: 4194564) | |
!120 = !DIEnumerator(name: "cpuinfo_uarch_denver", value: 5243136) | |
!121 = !DIEnumerator(name: "cpuinfo_uarch_denver2", value: 5243137) | |
!122 = !DIEnumerator(name: "cpuinfo_uarch_carmel", value: 5243138) | |
!123 = !DIEnumerator(name: "cpuinfo_uarch_exynos_m1", value: 6291712) | |
!124 = !DIEnumerator(name: "cpuinfo_uarch_exynos_m2", value: 6291713) | |
!125 = !DIEnumerator(name: "cpuinfo_uarch_exynos_m3", value: 6291714) | |
!126 = !DIEnumerator(name: "cpuinfo_uarch_exynos_m4", value: 6291715) | |
!127 = !DIEnumerator(name: "cpuinfo_uarch_exynos_m5", value: 6291716) | |
!128 = !DIEnumerator(name: "cpuinfo_uarch_cortex_a76ae", value: 3146614) | |
!129 = !DIEnumerator(name: "cpuinfo_uarch_mongoose_m1", value: 6291712) | |
!130 = !DIEnumerator(name: "cpuinfo_uarch_mongoose_m2", value: 6291713) | |
!131 = !DIEnumerator(name: "cpuinfo_uarch_meerkat_m3", value: 6291714) | |
!132 = !DIEnumerator(name: "cpuinfo_uarch_meerkat_m4", value: 6291715) | |
!133 = !DIEnumerator(name: "cpuinfo_uarch_swift", value: 7340288) | |
!134 = !DIEnumerator(name: "cpuinfo_uarch_cyclone", value: 7340289) | |
!135 = !DIEnumerator(name: "cpuinfo_uarch_typhoon", value: 7340290) | |
!136 = !DIEnumerator(name: "cpuinfo_uarch_twister", value: 7340291) | |
!137 = !DIEnumerator(name: "cpuinfo_uarch_hurricane", value: 7340292) | |
!138 = !DIEnumerator(name: "cpuinfo_uarch_monsoon", value: 7340293) | |
!139 = !DIEnumerator(name: "cpuinfo_uarch_mistral", value: 7340294) | |
!140 = !DIEnumerator(name: "cpuinfo_uarch_vortex", value: 7340295) | |
!141 = !DIEnumerator(name: "cpuinfo_uarch_tempest", value: 7340296) | |
!142 = !DIEnumerator(name: "cpuinfo_uarch_lightning", value: 7340297) | |
!143 = !DIEnumerator(name: "cpuinfo_uarch_thunder", value: 7340298) | |
!144 = !DIEnumerator(name: "cpuinfo_uarch_firestorm", value: 7340299) | |
!145 = !DIEnumerator(name: "cpuinfo_uarch_icestorm", value: 7340300) | |
!146 = !DIEnumerator(name: "cpuinfo_uarch_thunderx", value: 8388864) | |
!147 = !DIEnumerator(name: "cpuinfo_uarch_thunderx2", value: 8389120) | |
!148 = !DIEnumerator(name: "cpuinfo_uarch_pj4", value: 9437440) | |
!149 = !DIEnumerator(name: "cpuinfo_uarch_brahma_b15", value: 10486016) | |
!150 = !DIEnumerator(name: "cpuinfo_uarch_brahma_b53", value: 10486017) | |
!151 = !DIEnumerator(name: "cpuinfo_uarch_xgene", value: 11534592) | |
!152 = !DIEnumerator(name: "cpuinfo_uarch_dhyana", value: 16777472) | |
!153 = !DIEnumerator(name: "cpuinfo_uarch_taishan_v110", value: 12583168) | |
!154 = !{!155} | |
!155 = !DIDerivedType(tag: DW_TAG_typedef, name: "uint64_t", file: !156, line: 27, baseType: !157) | |
!156 = !DIFile(filename: "glibc/include/bits/stdint-uintn.h", directory: "workspace", checksumkind: CSK_MD5, checksum: "9754ebe022edbe8d7928fa709e442f0d") | |
!157 = !DIDerivedType(tag: DW_TAG_typedef, name: "__uint64_t", file: !158, line: 44, baseType: !159) | |
!158 = !DIFile(filename: "glibc/include/bits/types.h", directory: "workspace", checksumkind: CSK_MD5, checksum: "25679ba19d359e314e48661b21f5aa1f") | |
!159 = !DIBasicType(name: "unsigned long", size: 64, encoding: DW_ATE_unsigned) | |
!160 = !{i32 7, !"Dwarf Version", i32 5} | |
!161 = !{i32 2, !"Debug Info Version", i32 3} | |
!162 = !{i32 1, !"wchar_size", i32 4} | |
!163 = !{i32 7, !"PIC Level", i32 2} | |
!164 = !{i32 7, !"frame-pointer", i32 2} | |
!165 = !{!"clang version 0fe13b5f84abe1716f5991da057c801dc548a9ab"} | |
!166 = distinct !DISubprogram(name: "cpuinfo_x86_detect_isa", scope: !1, file: !1, line: 38, type: !167, scopeLine: 42, flags: DIFlagPrototyped | DIFlagAllCallsDescribed, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !0, retainedNodes: !256) | |
!167 = !DISubroutineType(types: !168) | |
!168 = !{!169, !246, !246, !251, !251, !3, !37} | |
!169 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "cpuinfo_x86_isa", file: !4, line: 670, size: 592, elements: !170) | |
!170 = !{!171, !173, !174, !175, !176, !177, !178, !179, !180, !181, !182, !183, !184, !185, !186, !187, !188, !189, !190, !191, !192, !193, !194, !195, !196, !197, !198, !199, !200, !201, !202, !203, !204, !205, !206, !207, !208, !209, !210, !211, !212, !213, !214, !215, !216, !217, !218, !219, !220, !221, !222, !223, !224, !225, !226, !227, !228, !229, !230, !231, !232, !233, !234, !235, !236, !237, !238, !239, !240, !241, !242, !243, !244, !245} | |
!171 = !DIDerivedType(tag: DW_TAG_member, name: "rdtscp", scope: !169, file: !4, line: 674, baseType: !172, size: 8) | |
!172 = !DIBasicType(name: "_Bool", size: 8, encoding: DW_ATE_boolean) | |
!173 = !DIDerivedType(tag: DW_TAG_member, name: "rdpid", scope: !169, file: !4, line: 675, baseType: !172, size: 8, offset: 8) | |
!174 = !DIDerivedType(tag: DW_TAG_member, name: "sysenter", scope: !169, file: !4, line: 676, baseType: !172, size: 8, offset: 16) | |
!175 = !DIDerivedType(tag: DW_TAG_member, name: "msr", scope: !169, file: !4, line: 680, baseType: !172, size: 8, offset: 24) | |
!176 = !DIDerivedType(tag: DW_TAG_member, name: "clzero", scope: !169, file: !4, line: 681, baseType: !172, size: 8, offset: 32) | |
!177 = !DIDerivedType(tag: DW_TAG_member, name: "clflush", scope: !169, file: !4, line: 682, baseType: !172, size: 8, offset: 40) | |
!178 = !DIDerivedType(tag: DW_TAG_member, name: "clflushopt", scope: !169, file: !4, line: 683, baseType: !172, size: 8, offset: 48) | |
!179 = !DIDerivedType(tag: DW_TAG_member, name: "mwait", scope: !169, file: !4, line: 684, baseType: !172, size: 8, offset: 56) | |
!180 = !DIDerivedType(tag: DW_TAG_member, name: "mwaitx", scope: !169, file: !4, line: 685, baseType: !172, size: 8, offset: 64) | |
!181 = !DIDerivedType(tag: DW_TAG_member, name: "fxsave", scope: !169, file: !4, line: 689, baseType: !172, size: 8, offset: 72) | |
!182 = !DIDerivedType(tag: DW_TAG_member, name: "xsave", scope: !169, file: !4, line: 690, baseType: !172, size: 8, offset: 80) | |
!183 = !DIDerivedType(tag: DW_TAG_member, name: "three_d_now", scope: !169, file: !4, line: 696, baseType: !172, size: 8, offset: 88) | |
!184 = !DIDerivedType(tag: DW_TAG_member, name: "three_d_now_plus", scope: !169, file: !4, line: 697, baseType: !172, size: 8, offset: 96) | |
!185 = !DIDerivedType(tag: DW_TAG_member, name: "prefetch", scope: !169, file: !4, line: 701, baseType: !172, size: 8, offset: 104) | |
!186 = !DIDerivedType(tag: DW_TAG_member, name: "prefetchw", scope: !169, file: !4, line: 702, baseType: !172, size: 8, offset: 112) | |
!187 = !DIDerivedType(tag: DW_TAG_member, name: "prefetchwt1", scope: !169, file: !4, line: 703, baseType: !172, size: 8, offset: 120) | |
!188 = !DIDerivedType(tag: DW_TAG_member, name: "sse3", scope: !169, file: !4, line: 709, baseType: !172, size: 8, offset: 128) | |
!189 = !DIDerivedType(tag: DW_TAG_member, name: "ssse3", scope: !169, file: !4, line: 710, baseType: !172, size: 8, offset: 136) | |
!190 = !DIDerivedType(tag: DW_TAG_member, name: "sse4_1", scope: !169, file: !4, line: 711, baseType: !172, size: 8, offset: 144) | |
!191 = !DIDerivedType(tag: DW_TAG_member, name: "sse4_2", scope: !169, file: !4, line: 712, baseType: !172, size: 8, offset: 152) | |
!192 = !DIDerivedType(tag: DW_TAG_member, name: "sse4a", scope: !169, file: !4, line: 713, baseType: !172, size: 8, offset: 160) | |
!193 = !DIDerivedType(tag: DW_TAG_member, name: "misaligned_sse", scope: !169, file: !4, line: 714, baseType: !172, size: 8, offset: 168) | |
!194 = !DIDerivedType(tag: DW_TAG_member, name: "avx", scope: !169, file: !4, line: 715, baseType: !172, size: 8, offset: 176) | |
!195 = !DIDerivedType(tag: DW_TAG_member, name: "fma3", scope: !169, file: !4, line: 716, baseType: !172, size: 8, offset: 184) | |
!196 = !DIDerivedType(tag: DW_TAG_member, name: "fma4", scope: !169, file: !4, line: 717, baseType: !172, size: 8, offset: 192) | |
!197 = !DIDerivedType(tag: DW_TAG_member, name: "xop", scope: !169, file: !4, line: 718, baseType: !172, size: 8, offset: 200) | |
!198 = !DIDerivedType(tag: DW_TAG_member, name: "f16c", scope: !169, file: !4, line: 719, baseType: !172, size: 8, offset: 208) | |
!199 = !DIDerivedType(tag: DW_TAG_member, name: "avx2", scope: !169, file: !4, line: 720, baseType: !172, size: 8, offset: 216) | |
!200 = !DIDerivedType(tag: DW_TAG_member, name: "avx512f", scope: !169, file: !4, line: 721, baseType: !172, size: 8, offset: 224) | |
!201 = !DIDerivedType(tag: DW_TAG_member, name: "avx512pf", scope: !169, file: !4, line: 722, baseType: !172, size: 8, offset: 232) | |
!202 = !DIDerivedType(tag: DW_TAG_member, name: "avx512er", scope: !169, file: !4, line: 723, baseType: !172, size: 8, offset: 240) | |
!203 = !DIDerivedType(tag: DW_TAG_member, name: "avx512cd", scope: !169, file: !4, line: 724, baseType: !172, size: 8, offset: 248) | |
!204 = !DIDerivedType(tag: DW_TAG_member, name: "avx512dq", scope: !169, file: !4, line: 725, baseType: !172, size: 8, offset: 256) | |
!205 = !DIDerivedType(tag: DW_TAG_member, name: "avx512bw", scope: !169, file: !4, line: 726, baseType: !172, size: 8, offset: 264) | |
!206 = !DIDerivedType(tag: DW_TAG_member, name: "avx512vl", scope: !169, file: !4, line: 727, baseType: !172, size: 8, offset: 272) | |
!207 = !DIDerivedType(tag: DW_TAG_member, name: "avx512ifma", scope: !169, file: !4, line: 728, baseType: !172, size: 8, offset: 280) | |
!208 = !DIDerivedType(tag: DW_TAG_member, name: "avx512vbmi", scope: !169, file: !4, line: 729, baseType: !172, size: 8, offset: 288) | |
!209 = !DIDerivedType(tag: DW_TAG_member, name: "avx512vbmi2", scope: !169, file: !4, line: 730, baseType: !172, size: 8, offset: 296) | |
!210 = !DIDerivedType(tag: DW_TAG_member, name: "avx512bitalg", scope: !169, file: !4, line: 731, baseType: !172, size: 8, offset: 304) | |
!211 = !DIDerivedType(tag: DW_TAG_member, name: "avx512vpopcntdq", scope: !169, file: !4, line: 732, baseType: !172, size: 8, offset: 312) | |
!212 = !DIDerivedType(tag: DW_TAG_member, name: "avx512vnni", scope: !169, file: !4, line: 733, baseType: !172, size: 8, offset: 320) | |
!213 = !DIDerivedType(tag: DW_TAG_member, name: "avx512bf16", scope: !169, file: !4, line: 734, baseType: !172, size: 8, offset: 328) | |
!214 = !DIDerivedType(tag: DW_TAG_member, name: "avx512vp2intersect", scope: !169, file: !4, line: 735, baseType: !172, size: 8, offset: 336) | |
!215 = !DIDerivedType(tag: DW_TAG_member, name: "avx512_4vnniw", scope: !169, file: !4, line: 736, baseType: !172, size: 8, offset: 344) | |
!216 = !DIDerivedType(tag: DW_TAG_member, name: "avx512_4fmaps", scope: !169, file: !4, line: 737, baseType: !172, size: 8, offset: 352) | |
!217 = !DIDerivedType(tag: DW_TAG_member, name: "hle", scope: !169, file: !4, line: 738, baseType: !172, size: 8, offset: 360) | |
!218 = !DIDerivedType(tag: DW_TAG_member, name: "rtm", scope: !169, file: !4, line: 739, baseType: !172, size: 8, offset: 368) | |
!219 = !DIDerivedType(tag: DW_TAG_member, name: "xtest", scope: !169, file: !4, line: 740, baseType: !172, size: 8, offset: 376) | |
!220 = !DIDerivedType(tag: DW_TAG_member, name: "mpx", scope: !169, file: !4, line: 741, baseType: !172, size: 8, offset: 384) | |
!221 = !DIDerivedType(tag: DW_TAG_member, name: "cmpxchg16b", scope: !169, file: !4, line: 746, baseType: !172, size: 8, offset: 392) | |
!222 = !DIDerivedType(tag: DW_TAG_member, name: "clwb", scope: !169, file: !4, line: 747, baseType: !172, size: 8, offset: 400) | |
!223 = !DIDerivedType(tag: DW_TAG_member, name: "movbe", scope: !169, file: !4, line: 748, baseType: !172, size: 8, offset: 408) | |
!224 = !DIDerivedType(tag: DW_TAG_member, name: "lahf_sahf", scope: !169, file: !4, line: 750, baseType: !172, size: 8, offset: 416) | |
!225 = !DIDerivedType(tag: DW_TAG_member, name: "fs_gs_base", scope: !169, file: !4, line: 752, baseType: !172, size: 8, offset: 424) | |
!226 = !DIDerivedType(tag: DW_TAG_member, name: "lzcnt", scope: !169, file: !4, line: 753, baseType: !172, size: 8, offset: 432) | |
!227 = !DIDerivedType(tag: DW_TAG_member, name: "popcnt", scope: !169, file: !4, line: 754, baseType: !172, size: 8, offset: 440) | |
!228 = !DIDerivedType(tag: DW_TAG_member, name: "tbm", scope: !169, file: !4, line: 755, baseType: !172, size: 8, offset: 448) | |
!229 = !DIDerivedType(tag: DW_TAG_member, name: "bmi", scope: !169, file: !4, line: 756, baseType: !172, size: 8, offset: 456) | |
!230 = !DIDerivedType(tag: DW_TAG_member, name: "bmi2", scope: !169, file: !4, line: 757, baseType: !172, size: 8, offset: 464) | |
!231 = !DIDerivedType(tag: DW_TAG_member, name: "adx", scope: !169, file: !4, line: 758, baseType: !172, size: 8, offset: 472) | |
!232 = !DIDerivedType(tag: DW_TAG_member, name: "aes", scope: !169, file: !4, line: 759, baseType: !172, size: 8, offset: 480) | |
!233 = !DIDerivedType(tag: DW_TAG_member, name: "vaes", scope: !169, file: !4, line: 760, baseType: !172, size: 8, offset: 488) | |
!234 = !DIDerivedType(tag: DW_TAG_member, name: "pclmulqdq", scope: !169, file: !4, line: 761, baseType: !172, size: 8, offset: 496) | |
!235 = !DIDerivedType(tag: DW_TAG_member, name: "vpclmulqdq", scope: !169, file: !4, line: 762, baseType: !172, size: 8, offset: 504) | |
!236 = !DIDerivedType(tag: DW_TAG_member, name: "gfni", scope: !169, file: !4, line: 763, baseType: !172, size: 8, offset: 512) | |
!237 = !DIDerivedType(tag: DW_TAG_member, name: "rdrand", scope: !169, file: !4, line: 764, baseType: !172, size: 8, offset: 520) | |
!238 = !DIDerivedType(tag: DW_TAG_member, name: "rdseed", scope: !169, file: !4, line: 765, baseType: !172, size: 8, offset: 528) | |
!239 = !DIDerivedType(tag: DW_TAG_member, name: "sha", scope: !169, file: !4, line: 766, baseType: !172, size: 8, offset: 536) | |
!240 = !DIDerivedType(tag: DW_TAG_member, name: "rng", scope: !169, file: !4, line: 767, baseType: !172, size: 8, offset: 544) | |
!241 = !DIDerivedType(tag: DW_TAG_member, name: "ace", scope: !169, file: !4, line: 768, baseType: !172, size: 8, offset: 552) | |
!242 = !DIDerivedType(tag: DW_TAG_member, name: "ace2", scope: !169, file: !4, line: 769, baseType: !172, size: 8, offset: 560) | |
!243 = !DIDerivedType(tag: DW_TAG_member, name: "phe", scope: !169, file: !4, line: 770, baseType: !172, size: 8, offset: 568) | |
!244 = !DIDerivedType(tag: DW_TAG_member, name: "pmm", scope: !169, file: !4, line: 771, baseType: !172, size: 8, offset: 576) | |
!245 = !DIDerivedType(tag: DW_TAG_member, name: "lwp", scope: !169, file: !4, line: 772, baseType: !172, size: 8, offset: 584) | |
!246 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !247) | |
!247 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "cpuid_regs", file: !248, line: 10, size: 128, elements: !249) | |
!248 = !DIFile(filename: "cpuinfo/src/x86/api.h", directory: "workspace", checksumkind: CSK_MD5, checksum: "27c8ee589f06b55198de5debd23b68da") | |
!249 = !{!250, !253, !254, !255} | |
!250 = !DIDerivedType(tag: DW_TAG_member, name: "eax", scope: !247, file: !248, line: 11, baseType: !251, size: 32) | |
!251 = !DIDerivedType(tag: DW_TAG_typedef, name: "uint32_t", file: !156, line: 26, baseType: !252) | |
!252 = !DIDerivedType(tag: DW_TAG_typedef, name: "__uint32_t", file: !158, line: 41, baseType: !5) | |
!253 = !DIDerivedType(tag: DW_TAG_member, name: "ebx", scope: !247, file: !248, line: 12, baseType: !251, size: 32, offset: 32) | |
!254 = !DIDerivedType(tag: DW_TAG_member, name: "ecx", scope: !247, file: !248, line: 13, baseType: !251, size: 32, offset: 64) | |
!255 = !DIDerivedType(tag: DW_TAG_member, name: "edx", scope: !247, file: !248, line: 14, baseType: !251, size: 32, offset: 96) | |
!256 = !{!257, !258, !259, !260, !261, !262, !263, !264, !265, !266, !268, !269, !270, !271, !272, !273, !276, !279, !281, !282, !283, !284, !287, !288, !289, !292, !293, !294, !295, !296} | |
!257 = !DILocalVariable(name: "basic_info", arg: 1, scope: !166, file: !1, line: 39, type: !246) | |
!258 = !DILocalVariable(name: "extended_info", arg: 2, scope: !166, file: !1, line: 39, type: !246) | |
!259 = !DILocalVariable(name: "max_base_index", arg: 3, scope: !166, file: !1, line: 40, type: !251) | |
!260 = !DILocalVariable(name: "max_extended_index", arg: 4, scope: !166, file: !1, line: 40, type: !251) | |
!261 = !DILocalVariable(name: "vendor", arg: 5, scope: !166, file: !1, line: 41, type: !3) | |
!262 = !DILocalVariable(name: "uarch", arg: 6, scope: !166, file: !1, line: 41, type: !37) | |
!263 = !DILocalVariable(name: "isa", scope: !166, file: !1, line: 43, type: !169) | |
!264 = !DILocalVariable(name: "structured_feature_info0", scope: !166, file: !1, line: 45, type: !246) | |
!265 = !DILocalVariable(name: "structured_feature_info1", scope: !166, file: !1, line: 47, type: !246) | |
!266 = !DILocalVariable(name: "processor_capacity_info_index", scope: !166, file: !1, line: 50, type: !267) | |
!267 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !251) | |
!268 = !DILocalVariable(name: "processor_capacity_info", scope: !166, file: !1, line: 51, type: !246) | |
!269 = !DILocalVariable(name: "avx_regs", scope: !166, file: !1, line: 55, type: !172) | |
!270 = !DILocalVariable(name: "avx512_regs", scope: !166, file: !1, line: 55, type: !172) | |
!271 = !DILocalVariable(name: "mpx_regs", scope: !166, file: !1, line: 55, type: !172) | |
!272 = !DILocalVariable(name: "osxsave_mask", scope: !166, file: !1, line: 61, type: !267) | |
!273 = !DILocalVariable(name: "xcr0_valid_bits", scope: !274, file: !1, line: 63, type: !155) | |
!274 = distinct !DILexicalBlock(scope: !275, file: !1, line: 62, column: 55) | |
!275 = distinct !DILexicalBlock(scope: !166, file: !1, line: 62, column: 6) | |
!276 = !DILocalVariable(name: "regs", scope: !277, file: !1, line: 65, type: !246) | |
!277 = distinct !DILexicalBlock(scope: !278, file: !1, line: 64, column: 30) | |
!278 = distinct !DILexicalBlock(scope: !274, file: !1, line: 64, column: 7) | |
!279 = !DILocalVariable(name: "xfeature_enabled_mask", scope: !274, file: !1, line: 69, type: !280) | |
!280 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !155) | |
!281 = !DILocalVariable(name: "avx_regs_mask", scope: !274, file: !1, line: 76, type: !280) | |
!282 = !DILocalVariable(name: "avx512_regs_mask", scope: !274, file: !1, line: 89, type: !280) | |
!283 = !DILocalVariable(name: "mpx_regs_mask", scope: !274, file: !1, line: 99, type: !280) | |
!284 = !DILocalVariable(name: "padlock_meta_info", scope: !285, file: !1, line: 657, type: !246) | |
!285 = distinct !DILexicalBlock(scope: !286, file: !1, line: 656, column: 36) | |
!286 = distinct !DILexicalBlock(scope: !166, file: !1, line: 656, column: 6) | |
!287 = !DILocalVariable(name: "max_padlock_index", scope: !285, file: !1, line: 658, type: !267) | |
!288 = !DILocalVariable(name: "padlock_info_index", scope: !285, file: !1, line: 659, type: !267) | |
!289 = !DILocalVariable(name: "padlock_info", scope: !290, file: !1, line: 661, type: !246) | |
!290 = distinct !DILexicalBlock(scope: !291, file: !1, line: 660, column: 48) | |
!291 = distinct !DILexicalBlock(scope: !285, file: !1, line: 660, column: 7) | |
!292 = !DILocalVariable(name: "padlock_rng_mask", scope: !290, file: !1, line: 668, type: !267) | |
!293 = !DILocalVariable(name: "padlock_ace_mask", scope: !290, file: !1, line: 676, type: !267) | |
!294 = !DILocalVariable(name: "padlock_ace2_mask", scope: !290, file: !1, line: 684, type: !267) | |
!295 = !DILocalVariable(name: "padlock_phe_mask", scope: !290, file: !1, line: 692, type: !267) | |
!296 = !DILocalVariable(name: "padlock_pmm_mask", scope: !290, file: !1, line: 700, type: !267) | |
!297 = !DILocation(line: 0, scope: !166) | |
!298 = !DILocation(line: 43, column: 25, scope: !166) | |
!299 = !DILocation(line: 46, column: 19, scope: !166) | |
!300 = !DILocation(line: 46, column: 3, scope: !166) | |
!301 = !{!"branch_weights", i32 1, i32 1000} | |
!302 = !DILocalVariable(name: "eax", arg: 1, scope: !303, file: !304, line: 43, type: !251) | |
!303 = distinct !DISubprogram(name: "cpuidex", scope: !304, file: !304, line: 43, type: !305, scopeLine: 43, flags: DIFlagPrototyped | DIFlagAllCallsDescribed, spFlags: DISPFlagLocalToUnit | DISPFlagDefinition | DISPFlagOptimized, unit: !0, retainedNodes: !307) | |
!304 = !DIFile(filename: "cpuinfo/src/x86/cpuid.h", directory: "workspace", checksumkind: CSK_MD5, checksum: "f9e451aa7a48009ba003a034c14f0ac3") | |
!305 = !DISubroutineType(types: !306) | |
!306 = !{!247, !251, !251} | |
!307 = !{!302, !308, !309} | |
!308 = !DILocalVariable(name: "ecx", arg: 2, scope: !303, file: !304, line: 43, type: !251) | |
!309 = !DILocalVariable(name: "regs", scope: !303, file: !304, line: 54, type: !247) | |
!310 = !DILocation(line: 0, scope: !303, inlinedAt: !311) | |
!311 = distinct !DILocation(line: 46, column: 27, scope: !166) | |
!312 = !DILocation(line: 56, column: 5, scope: !303, inlinedAt: !311) | |
!313 = !{i64 2147921615, i64 2147921651, i64 2147921675} | |
!314 = !DILocation(line: 65, column: 4, scope: !303, inlinedAt: !311) | |
!315 = !DILocation(line: 0, scope: !303, inlinedAt: !316) | |
!316 = distinct !DILocation(line: 48, column: 27, scope: !166) | |
!317 = !DILocation(line: 56, column: 5, scope: !303, inlinedAt: !316) | |
!318 = !DILocation(line: 65, column: 4, scope: !303, inlinedAt: !316) | |
!319 = !DILocation(line: 48, column: 3, scope: !166) | |
!320 = !DILocation(line: 52, column: 23, scope: !166) | |
!321 = !DILocation(line: 52, column: 3, scope: !166) | |
!322 = !DILocalVariable(name: "eax", arg: 1, scope: !323, file: !304, line: 17, type: !251) | |
!323 = distinct !DISubprogram(name: "cpuid", scope: !304, file: !304, line: 17, type: !324, scopeLine: 17, flags: DIFlagPrototyped | DIFlagAllCallsDescribed, spFlags: DISPFlagLocalToUnit | DISPFlagDefinition | DISPFlagOptimized, unit: !0, retainedNodes: !326) | |
!324 = !DISubroutineType(types: !325) | |
!325 = !{!247, !251} | |
!326 = !{!322, !327} | |
!327 = !DILocalVariable(name: "regs", scope: !323, file: !304, line: 28, type: !247) | |
!328 = !DILocation(line: 0, scope: !323, inlinedAt: !329) | |
!329 = distinct !DILocation(line: 53, column: 4, scope: !166) | |
!330 = !DILocation(line: 30, column: 5, scope: !323, inlinedAt: !329) | |
!331 = !{i64 2147921400, i64 2147921436, i64 2147921460} | |
!332 = !DILocation(line: 62, column: 22, scope: !275) | |
!333 = !DILocation(line: 62, column: 38, scope: !275) | |
!334 = !DILocation(line: 62, column: 6, scope: !166) | |
!335 = !DILocation(line: 0, scope: !274) | |
!336 = !DILocation(line: 64, column: 22, scope: !278) | |
!337 = !DILocation(line: 64, column: 7, scope: !274) | |
!338 = !DILocation(line: 0, scope: !303, inlinedAt: !339) | |
!339 = distinct !DILocation(line: 65, column: 35, scope: !277) | |
!340 = !DILocation(line: 56, column: 5, scope: !303, inlinedAt: !339) | |
!341 = !DILocation(line: 65, column: 4, scope: !303, inlinedAt: !339) | |
!342 = !DILocation(line: 0, scope: !277) | |
!343 = !DILocation(line: 67, column: 3, scope: !277) | |
!344 = !DILocalVariable(name: "ext_ctrl_reg", arg: 1, scope: !345, file: !304, line: 70, type: !251) | |
!345 = distinct !DISubprogram(name: "xgetbv", scope: !304, file: !304, line: 70, type: !346, scopeLine: 70, flags: DIFlagPrototyped | DIFlagAllCallsDescribed, spFlags: DISPFlagLocalToUnit | DISPFlagDefinition | DISPFlagOptimized, unit: !0, retainedNodes: !348) | |
!346 = !DISubroutineType(cc: DW_CC_nocall, types: !347) | |
!347 = !{!155, !251} | |
!348 = !{!344, !349, !350} | |
!349 = !DILocalVariable(name: "lo", scope: !345, file: !304, line: 74, type: !251) | |
!350 = !DILocalVariable(name: "hi", scope: !345, file: !304, line: 74, type: !251) | |
!351 = !DILocation(line: 0, scope: !345, inlinedAt: !352) | |
!352 = distinct !DILocation(line: 69, column: 42, scope: !274) | |
!353 = !DILocation(line: 75, column: 3, scope: !345, inlinedAt: !352) | |
!354 = !{i64 371123} | |
!355 = !DILocation(line: 76, column: 34, scope: !345, inlinedAt: !352) | |
!356 = !DILocation(line: 77, column: 24, scope: !357) | |
!357 = distinct !DILexicalBlock(scope: !274, file: !1, line: 77, column: 7) | |
!358 = !DILocation(line: 77, column: 41, scope: !357) | |
!359 = !DILocation(line: 77, column: 7, scope: !274) | |
!360 = !DILocation(line: 100, column: 24, scope: !361) | |
!361 = distinct !DILexicalBlock(scope: !274, file: !1, line: 100, column: 7) | |
!362 = !DILocation(line: 100, column: 41, scope: !361) | |
!363 = !DILocation(line: 100, column: 7, scope: !274) | |
!364 = !DILocation(line: 103, column: 2, scope: !274) | |
!365 = !DILocation(line: 118, column: 6, scope: !166) | |
!366 = !DILocation(line: 118, column: 15, scope: !166) | |
!367 = !DILocation(line: 133, column: 31, scope: !166) | |
!368 = !DILocation(line: 133, column: 6, scope: !166) | |
!369 = !DILocation(line: 133, column: 10, scope: !166) | |
!370 = !DILocation(line: 139, column: 6, scope: !166) | |
!371 = !DILocation(line: 139, column: 13, scope: !166) | |
!372 = !DILocation(line: 145, column: 6, scope: !166) | |
!373 = !DILocation(line: 145, column: 14, scope: !166) | |
!374 = !DILocation(line: 151, column: 47, scope: !166) | |
!375 = !DILocation(line: 151, column: 6, scope: !166) | |
!376 = !DILocation(line: 151, column: 17, scope: !166) | |
!377 = !DILocation(line: 157, column: 6, scope: !166) | |
!378 = !DILocation(line: 157, column: 12, scope: !166) | |
!379 = !DILocation(line: 163, column: 6, scope: !166) | |
!380 = !DILocation(line: 163, column: 13, scope: !166) | |
!381 = !DILocation(line: 178, column: 8, scope: !382) | |
!382 = distinct !DILexicalBlock(scope: !166, file: !1, line: 170, column: 18) | |
!383 = !DILocation(line: 178, column: 15, scope: !382) | |
!384 = !DILocation(line: 186, column: 6, scope: !166) | |
!385 = !DILocation(line: 186, column: 12, scope: !166) | |
!386 = !DILocation(line: 215, column: 6, scope: !166) | |
!387 = !DILocation(line: 215, column: 18, scope: !166) | |
!388 = !DILocation(line: 221, column: 6, scope: !166) | |
!389 = !DILocation(line: 221, column: 23, scope: !166) | |
!390 = !DILocation(line: 239, column: 2, scope: !166) | |
!391 = !DILocation(line: 248, column: 41, scope: !392) | |
!392 = distinct !DILexicalBlock(scope: !166, file: !1, line: 239, column: 18) | |
!393 = !DILocation(line: 248, column: 86, scope: !392) | |
!394 = !DILocation(line: 248, column: 65, scope: !392) | |
!395 = !DILocation(line: 248, column: 20, scope: !392) | |
!396 = !DILocation(line: 249, column: 4, scope: !392) | |
!397 = !DILocation(line: 255, column: 20, scope: !392) | |
!398 = !DILocation(line: 256, column: 4, scope: !392) | |
!399 = !DILocation(line: 0, scope: !392) | |
!400 = !DILocation(line: 267, column: 2, scope: !166) | |
!401 = !DILocation(line: 0, scope: !402) | |
!402 = distinct !DILexicalBlock(scope: !166, file: !1, line: 267, column: 18) | |
!403 = !DILocation(line: 282, column: 6, scope: !166) | |
!404 = !DILocation(line: 282, column: 18, scope: !166) | |
!405 = !DILocation(line: 302, column: 6, scope: !166) | |
!406 = !DILocation(line: 302, column: 11, scope: !166) | |
!407 = !DILocation(line: 334, column: 6, scope: !166) | |
!408 = !DILocation(line: 334, column: 12, scope: !166) | |
!409 = !DILocation(line: 341, column: 6, scope: !166) | |
!410 = !DILocation(line: 341, column: 13, scope: !166) | |
!411 = !DILocation(line: 347, column: 6, scope: !166) | |
!412 = !DILocation(line: 347, column: 13, scope: !166) | |
!413 = !DILocation(line: 353, column: 6, scope: !166) | |
!414 = !DILocation(line: 353, column: 12, scope: !166) | |
!415 = !DILocation(line: 359, column: 6, scope: !166) | |
!416 = !DILocation(line: 359, column: 21, scope: !166) | |
!417 = !DILocation(line: 365, column: 21, scope: !166) | |
!418 = !DILocation(line: 365, column: 6, scope: !166) | |
!419 = !DILocation(line: 365, column: 10, scope: !166) | |
!420 = !DILocation(line: 413, column: 29, scope: !166) | |
!421 = !DILocation(line: 413, column: 6, scope: !166) | |
!422 = !DILocation(line: 413, column: 15, scope: !166) | |
!423 = !DILocation(line: 419, column: 29, scope: !166) | |
!424 = !DILocation(line: 419, column: 6, scope: !166) | |
!425 = !DILocation(line: 419, column: 15, scope: !166) | |
!426 = !DILocation(line: 425, column: 29, scope: !166) | |
!427 = !DILocation(line: 425, column: 6, scope: !166) | |
!428 = !DILocation(line: 431, column: 29, scope: !166) | |
!429 = !DILocation(line: 437, column: 29, scope: !166) | |
!430 = !DILocation(line: 443, column: 31, scope: !166) | |
!431 = !DILocation(line: 449, column: 31, scope: !166) | |
!432 = !DILocation(line: 455, column: 32, scope: !166) | |
!433 = !DILocation(line: 461, column: 33, scope: !166) | |
!434 = !DILocation(line: 425, column: 15, scope: !166) | |
!435 = !DILocation(line: 473, column: 31, scope: !166) | |
!436 = !DILocation(line: 473, column: 6, scope: !166) | |
!437 = !DILocation(line: 473, column: 17, scope: !166) | |
!438 = !DILocation(line: 479, column: 34, scope: !166) | |
!439 = !DILocation(line: 479, column: 6, scope: !166) | |
!440 = !DILocation(line: 479, column: 20, scope: !166) | |
!441 = !DILocation(line: 485, column: 34, scope: !166) | |
!442 = !DILocation(line: 485, column: 6, scope: !166) | |
!443 = !DILocation(line: 485, column: 20, scope: !166) | |
!444 = !DILocation(line: 491, column: 39, scope: !166) | |
!445 = !DILocation(line: 491, column: 6, scope: !166) | |
!446 = !DILocation(line: 491, column: 25, scope: !166) | |
!447 = !DILocation(line: 497, column: 31, scope: !166) | |
!448 = !DILocation(line: 497, column: 6, scope: !166) | |
!449 = !DILocation(line: 497, column: 17, scope: !166) | |
!450 = !DILocation(line: 503, column: 6, scope: !166) | |
!451 = !DILocation(line: 503, column: 10, scope: !166) | |
!452 = !DILocation(line: 509, column: 44, scope: !166) | |
!453 = !DILocation(line: 509, column: 13, scope: !166) | |
!454 = !DILocation(line: 509, column: 6, scope: !166) | |
!455 = !DILocation(line: 509, column: 10, scope: !166) | |
!456 = !DILocation(line: 515, column: 18, scope: !166) | |
!457 = !DILocation(line: 515, column: 22, scope: !166) | |
!458 = !DILocation(line: 515, column: 6, scope: !166) | |
!459 = !DILocation(line: 515, column: 12, scope: !166) | |
!460 = !DILocation(line: 521, column: 21, scope: !166) | |
!461 = !DILocation(line: 521, column: 6, scope: !166) | |
!462 = !DILocation(line: 521, column: 10, scope: !166) | |
!463 = !DILocation(line: 543, column: 6, scope: !166) | |
!464 = !DILocation(line: 543, column: 17, scope: !166) | |
!465 = !DILocation(line: 549, column: 11, scope: !166) | |
!466 = !DILocation(line: 555, column: 12, scope: !166) | |
!467 = !DILocation(line: 570, column: 17, scope: !166) | |
!468 = !DILocation(line: 576, column: 12, scope: !166) | |
!469 = !DILocation(line: 582, column: 13, scope: !166) | |
!470 = !DILocation(line: 588, column: 10, scope: !166) | |
!471 = !DILocation(line: 594, column: 10, scope: !166) | |
!472 = !DILocation(line: 606, column: 10, scope: !166) | |
!473 = !DILocation(line: 612, column: 10, scope: !166) | |
!474 = !DILocation(line: 618, column: 11, scope: !166) | |
!475 = !DILocation(line: 624, column: 16, scope: !166) | |
!476 = !DILocation(line: 630, column: 17, scope: !166) | |
!477 = !DILocation(line: 642, column: 6, scope: !166) | |
!478 = !DILocation(line: 642, column: 13, scope: !166) | |
!479 = !DILocation(line: 648, column: 6, scope: !166) | |
!480 = !DILocation(line: 648, column: 13, scope: !166) | |
!481 = !DILocation(line: 654, column: 6, scope: !166) | |
!482 = !DILocation(line: 654, column: 10, scope: !166) | |
!483 = !DILocation(line: 656, column: 13, scope: !286) | |
!484 = !DILocation(line: 656, column: 6, scope: !166) | |
!485 = !DILocation(line: 0, scope: !323, inlinedAt: !486) | |
!486 = distinct !DILocation(line: 657, column: 47, scope: !285) | |
!487 = !DILocation(line: 30, column: 5, scope: !323, inlinedAt: !486) | |
!488 = !DILocation(line: 0, scope: !285) | |
!489 = !DILocation(line: 660, column: 25, scope: !291) | |
!490 = !DILocation(line: 660, column: 7, scope: !285) | |
!491 = !DILocation(line: 0, scope: !323, inlinedAt: !492) | |
!492 = distinct !DILocation(line: 661, column: 43, scope: !290) | |
!493 = !DILocation(line: 30, column: 5, scope: !323, inlinedAt: !492) | |
!494 = !DILocation(line: 0, scope: !290) | |
!495 = !DILocation(line: 669, column: 32, scope: !290) | |
!496 = !DILocation(line: 669, column: 52, scope: !290) | |
!497 = !DILocation(line: 669, column: 8, scope: !290) | |
!498 = !DILocation(line: 669, column: 12, scope: !290) | |
!499 = !DILocation(line: 677, column: 8, scope: !290) | |
!500 = !DILocation(line: 685, column: 8, scope: !290) | |
!501 = !DILocation(line: 693, column: 8, scope: !290) | |
!502 = !DILocation(line: 701, column: 32, scope: !290) | |
!503 = !DILocation(line: 701, column: 52, scope: !290) | |
!504 = !DILocation(line: 677, column: 12, scope: !290) | |
!505 = !DILocation(line: 685, column: 13, scope: !290) | |
!506 = !DILocation(line: 693, column: 12, scope: !290) | |
!507 = !DILocation(line: 701, column: 8, scope: !290) | |
!508 = !DILocation(line: 701, column: 12, scope: !290) | |
!509 = !DILocation(line: 702, column: 3, scope: !290) | |
!510 = !DILocation(line: 709, column: 6, scope: !166) | |
!511 = !DILocation(line: 709, column: 10, scope: !166) | |
!512 = !DILocation(line: 715, column: 13, scope: !166) | |
!513 = !DILocation(line: 721, column: 6, scope: !166) | |
!514 = !DILocation(line: 721, column: 12, scope: !166) | |
!515 = !DILocation(line: 724, column: 1, scope: !166) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
; ModuleID = 'cpuinfo/src/x86/isa.c' | |
source_filename = "cpuinfo/src/x86/isa.c" | |
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128" | |
target triple = "x86_64-unknown-linux-gnu" | |
%struct.cpuinfo_x86_isa = type { i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8 } | |
; Function Attrs: argmemonly nounwind optsize sanitize_memory | |
define hidden void @cpuinfo_x86_detect_isa(%struct.cpuinfo_x86_isa* noalias sret(%struct.cpuinfo_x86_isa) align 1 %agg.result, i64 %basic_info.coerce0, i64 %basic_info.coerce1, i64 %extended_info.coerce0, i64 %extended_info.coerce1, i32 noundef %max_base_index, i32 noundef %max_extended_index, i32 noundef %vendor, i32 noundef %uarch) local_unnamed_addr #0 !dbg !166 { | |
entry: | |
call void @llvm.dbg.value(metadata i64 %basic_info.coerce0, metadata !257, metadata !DIExpression(DW_OP_LLVM_fragment, 0, 64)), !dbg !297 | |
%basic_info.sroa.1.8.extract.trunc = trunc i64 %basic_info.coerce1 to i32 | |
call void @llvm.dbg.value(metadata i32 %basic_info.sroa.1.8.extract.trunc, metadata !257, metadata !DIExpression(DW_OP_LLVM_fragment, 64, 32)), !dbg !297 | |
%basic_info.sroa.18.8.extract.shift = lshr i64 %basic_info.coerce1, 32 | |
call void @llvm.dbg.value(metadata i64 %basic_info.sroa.18.8.extract.shift, metadata !257, metadata !DIExpression(DW_OP_LLVM_convert, 64, DW_ATE_unsigned, DW_OP_LLVM_convert, 32, DW_ATE_unsigned, DW_OP_stack_value, DW_OP_LLVM_fragment, 96, 32)), !dbg !297 | |
call void @llvm.dbg.value(metadata i64 %extended_info.coerce0, metadata !258, metadata !DIExpression(DW_OP_LLVM_fragment, 0, 64)), !dbg !297 | |
%extended_info.sroa.1.8.extract.trunc = trunc i64 %extended_info.coerce1 to i32 | |
call void @llvm.dbg.value(metadata i32 %extended_info.sroa.1.8.extract.trunc, metadata !258, metadata !DIExpression(DW_OP_LLVM_fragment, 64, 32)), !dbg !297 | |
%extended_info.sroa.14.8.extract.shift = lshr i64 %extended_info.coerce1, 32 | |
%extended_info.sroa.14.8.extract.trunc = trunc i64 %extended_info.sroa.14.8.extract.shift to i32 | |
call void @llvm.dbg.value(metadata i32 %extended_info.sroa.14.8.extract.trunc, metadata !258, metadata !DIExpression(DW_OP_LLVM_fragment, 96, 32)), !dbg !297 | |
call void @llvm.dbg.value(metadata i32 %max_base_index, metadata !259, metadata !DIExpression()), !dbg !297 | |
call void @llvm.dbg.value(metadata i32 %max_extended_index, metadata !260, metadata !DIExpression()), !dbg !297 | |
call void @llvm.dbg.value(metadata i32 %vendor, metadata !261, metadata !DIExpression()), !dbg !297 | |
call void @llvm.dbg.value(metadata i32 %uarch, metadata !262, metadata !DIExpression()), !dbg !297 | |
call void @llvm.dbg.declare(metadata %struct.cpuinfo_x86_isa* %agg.result, metadata !263, metadata !DIExpression()), !dbg !298 | |
%0 = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 0, !dbg !298 | |
tail call void @llvm.memset.p0i8.i64(i8* noundef nonnull align 1 dereferenceable(74) %0, i8 0, i64 74, i1 false), !dbg !298 | |
%cmp = icmp ugt i32 %max_base_index, 6, !dbg !299 | |
br i1 %cmp, label %cond.true2, label %cond.end9, !dbg !300 | |
cond.true2: ; preds = %entry | |
call void @llvm.dbg.value(metadata i32 7, metadata !301, metadata !DIExpression()) #4, !dbg !309 | |
call void @llvm.dbg.value(metadata i32 0, metadata !307, metadata !DIExpression()) #4, !dbg !309 | |
%1 = tail call { i32, i32, i32, i32 } asm " xchgq %rbx,${1:q}\0A cpuid\0A xchgq %rbx,${1:q}", "={ax},=r,={cx},={dx},0,2,~{dirflag},~{fpsr},~{flags}"(i32 7, i32 0) #5, !dbg !311, !srcloc !312 | |
%asmresult3.i = extractvalue { i32, i32, i32, i32 } %1, 1, !dbg !311 | |
%asmresult4.i = extractvalue { i32, i32, i32, i32 } %1, 2, !dbg !311 | |
%asmresult5.i = extractvalue { i32, i32, i32, i32 } %1, 3, !dbg !311 | |
call void @llvm.dbg.value(metadata i32 undef, metadata !308, metadata !DIExpression(DW_OP_LLVM_fragment, 0, 32)) #4, !dbg !309 | |
call void @llvm.dbg.value(metadata i32 %asmresult3.i, metadata !308, metadata !DIExpression(DW_OP_LLVM_fragment, 32, 32)) #4, !dbg !309 | |
call void @llvm.dbg.value(metadata i32 %asmresult4.i, metadata !308, metadata !DIExpression(DW_OP_LLVM_fragment, 64, 32)) #4, !dbg !309 | |
call void @llvm.dbg.value(metadata i32 %asmresult5.i, metadata !308, metadata !DIExpression(DW_OP_LLVM_fragment, 96, 32)) #4, !dbg !309 | |
%retval.sroa.2.0.insert.ext.i = zext i32 %asmresult3.i to i64, !dbg !313 | |
%retval.sroa.2.0.insert.shift.i = shl nuw i64 %retval.sroa.2.0.insert.ext.i, 32, !dbg !313 | |
%retval.sroa.5.8.insert.ext.i = zext i32 %asmresult5.i to i64, !dbg !313 | |
%retval.sroa.5.8.insert.shift.i = shl nuw i64 %retval.sroa.5.8.insert.ext.i, 32, !dbg !313 | |
%retval.sroa.3.8.insert.ext.i = zext i32 %asmresult4.i to i64, !dbg !313 | |
%retval.sroa.3.8.insert.insert.i = or i64 %retval.sroa.5.8.insert.shift.i, %retval.sroa.3.8.insert.ext.i, !dbg !313 | |
call void @llvm.dbg.value(metadata i64 undef, metadata !264, metadata !DIExpression(DW_OP_LLVM_fragment, 64, 64)), !dbg !297 | |
call void @llvm.dbg.value(metadata i64 undef, metadata !264, metadata !DIExpression(DW_OP_LLVM_fragment, 0, 64)), !dbg !297 | |
call void @llvm.dbg.value(metadata i32 7, metadata !301, metadata !DIExpression()) #4, !dbg !314 | |
call void @llvm.dbg.value(metadata i32 1, metadata !307, metadata !DIExpression()) #4, !dbg !314 | |
%2 = tail call { i32, i32, i32, i32 } asm " xchgq %rbx,${1:q}\0A cpuid\0A xchgq %rbx,${1:q}", "={ax},=r,={cx},={dx},0,2,~{dirflag},~{fpsr},~{flags}"(i32 7, i32 1) #5, !dbg !316, !srcloc !312 | |
%asmresult.i858 = extractvalue { i32, i32, i32, i32 } %2, 0, !dbg !316 | |
call void @llvm.dbg.value(metadata i32 %asmresult.i858, metadata !308, metadata !DIExpression(DW_OP_LLVM_fragment, 0, 32)) #4, !dbg !314 | |
call void @llvm.dbg.value(metadata i32 undef, metadata !308, metadata !DIExpression(DW_OP_LLVM_fragment, 32, 32)) #4, !dbg !314 | |
call void @llvm.dbg.value(metadata i32 undef, metadata !308, metadata !DIExpression(DW_OP_LLVM_fragment, 64, 32)) #4, !dbg !314 | |
call void @llvm.dbg.value(metadata i32 undef, metadata !308, metadata !DIExpression(DW_OP_LLVM_fragment, 96, 32)) #4, !dbg !314 | |
%retval.sroa.0.0.insert.ext.i864 = trunc i32 %asmresult.i858 to i8, !dbg !317 | |
call void @llvm.dbg.value(metadata !DIArgList(i64 0, i32 %asmresult.i858), metadata !265, metadata !DIExpression(DW_OP_LLVM_arg, 0, DW_OP_constu, 32, DW_OP_shl, DW_OP_LLVM_arg, 1, DW_OP_LLVM_convert, 32, DW_ATE_unsigned, DW_OP_LLVM_convert, 64, DW_ATE_unsigned, DW_OP_or, DW_OP_stack_value, DW_OP_LLVM_fragment, 0, 64)), !dbg !297 | |
call void @llvm.dbg.value(metadata i64 undef, metadata !265, metadata !DIExpression(DW_OP_LLVM_fragment, 64, 64)), !dbg !297 | |
%phi.bo935 = lshr i8 %retval.sroa.0.0.insert.ext.i864, 5, !dbg !318 | |
%phi.bo936 = and i8 %phi.bo935, 1, !dbg !318 | |
br label %cond.end9, !dbg !318 | |
cond.end9: ; preds = %entry, %cond.true2 | |
%structured_feature_info0.sroa.25.0932 = phi i64 [ %retval.sroa.3.8.insert.insert.i, %cond.true2 ], [ 0, %entry ] | |
%structured_feature_info0.sroa.0.0930 = phi i64 [ %retval.sroa.2.0.insert.shift.i, %cond.true2 ], [ 0, %entry ] | |
%structured_feature_info1.sroa.0.0 = phi i8 [ %phi.bo936, %cond.true2 ], [ 0, %entry ] | |
call void @llvm.dbg.value(metadata i64 undef, metadata !265, metadata !DIExpression(DW_OP_LLVM_fragment, 0, 64)), !dbg !297 | |
call void @llvm.dbg.value(metadata i32 -2147483640, metadata !266, metadata !DIExpression()), !dbg !297 | |
%cmp10 = icmp ugt i32 %max_extended_index, -2147483641, !dbg !319 | |
br i1 %cmp10, label %cond.true11, label %cond.end18, !dbg !320 | |
cond.true11: ; preds = %cond.end9 | |
call void @llvm.dbg.value(metadata i32 -2147483640, metadata !321, metadata !DIExpression()) #4, !dbg !327 | |
%3 = tail call { i32, i32, i32, i32 } asm " xchgq %rbx,${1:q}\0A cpuid\0A xchgq %rbx,${1:q}", "={ax},=r,={cx},={dx},0,~{dirflag},~{fpsr},~{flags}"(i32 -2147483640) #5, !dbg !329, !srcloc !330 | |
%asmresult2.i = extractvalue { i32, i32, i32, i32 } %3, 1, !dbg !329 | |
call void @llvm.dbg.value(metadata i32 undef, metadata !326, metadata !DIExpression(DW_OP_LLVM_fragment, 0, 32)) #4, !dbg !327 | |
call void @llvm.dbg.value(metadata i32 %asmresult2.i, metadata !326, metadata !DIExpression(DW_OP_LLVM_fragment, 32, 32)) #4, !dbg !327 | |
call void @llvm.dbg.value(metadata i32 undef, metadata !326, metadata !DIExpression(DW_OP_LLVM_fragment, 64, 32)) #4, !dbg !327 | |
call void @llvm.dbg.value(metadata i32 undef, metadata !326, metadata !DIExpression(DW_OP_LLVM_fragment, 96, 32)) #4, !dbg !327 | |
call void @llvm.dbg.value(metadata i64 undef, metadata !268, metadata !DIExpression(DW_OP_LLVM_fragment, 64, 64)), !dbg !297 | |
%phi.cast = trunc i32 %asmresult2.i to i8, !dbg !320 | |
call void @llvm.dbg.value(metadata !DIArgList(i32 %asmresult2.i, i32 undef), metadata !268, metadata !DIExpression(DW_OP_LLVM_arg, 0, DW_OP_LLVM_convert, 32, DW_ATE_unsigned, DW_OP_LLVM_convert, 64, DW_ATE_unsigned, DW_OP_constu, 32, DW_OP_shl, DW_OP_LLVM_arg, 1, DW_OP_LLVM_convert, 32, DW_ATE_unsigned, DW_OP_LLVM_convert, 64, DW_ATE_unsigned, DW_OP_or, DW_OP_stack_value, DW_OP_LLVM_fragment, 0, 64)), !dbg !297 | |
%phi.bo = and i8 %phi.cast, 1, !dbg !320 | |
br label %cond.end18, !dbg !320 | |
cond.end18: ; preds = %cond.end9, %cond.true11 | |
%processor_capacity_info.sroa.0.0 = phi i8 [ %phi.bo, %cond.true11 ], [ 0, %cond.end9 ] | |
call void @llvm.dbg.value(metadata i64 undef, metadata !268, metadata !DIExpression(DW_OP_LLVM_fragment, 0, 64)), !dbg !297 | |
call void @llvm.dbg.value(metadata i8 0, metadata !269, metadata !DIExpression()), !dbg !297 | |
call void @llvm.dbg.value(metadata i8 0, metadata !270, metadata !DIExpression()), !dbg !297 | |
call void @llvm.dbg.value(metadata i8 0, metadata !271, metadata !DIExpression()), !dbg !297 | |
call void @llvm.dbg.value(metadata i32 201326592, metadata !272, metadata !DIExpression()), !dbg !297 | |
%and = and i32 %basic_info.sroa.1.8.extract.trunc, 201326592, !dbg !331 | |
%cmp20 = icmp eq i32 %and, 201326592, !dbg !332 | |
br i1 %cmp20, label %if.then, label %if.end54, !dbg !333 | |
if.then: ; preds = %cond.end18 | |
call void @llvm.dbg.value(metadata i64 0, metadata !273, metadata !DIExpression()), !dbg !334 | |
%cmp21 = icmp ugt i32 %max_base_index, 12, !dbg !335 | |
br i1 %cmp21, label %if.then22, label %if.end, !dbg !336 | |
if.then22: ; preds = %if.then | |
call void @llvm.dbg.value(metadata i32 13, metadata !301, metadata !DIExpression()) #4, !dbg !337 | |
call void @llvm.dbg.value(metadata i32 0, metadata !307, metadata !DIExpression()) #4, !dbg !337 | |
%4 = tail call { i32, i32, i32, i32 } asm " xchgq %rbx,${1:q}\0A cpuid\0A xchgq %rbx,${1:q}", "={ax},=r,={cx},={dx},0,2,~{dirflag},~{fpsr},~{flags}"(i32 13, i32 0) #5, !dbg !339, !srcloc !312 | |
%asmresult.i885 = extractvalue { i32, i32, i32, i32 } %4, 0, !dbg !339 | |
call void @llvm.dbg.value(metadata i32 %asmresult.i885, metadata !308, metadata !DIExpression(DW_OP_LLVM_fragment, 0, 32)) #4, !dbg !337 | |
call void @llvm.dbg.value(metadata i32 undef, metadata !308, metadata !DIExpression(DW_OP_LLVM_fragment, 32, 32)) #4, !dbg !337 | |
call void @llvm.dbg.value(metadata i32 undef, metadata !308, metadata !DIExpression(DW_OP_LLVM_fragment, 64, 32)) #4, !dbg !337 | |
call void @llvm.dbg.value(metadata i32 undef, metadata !308, metadata !DIExpression(DW_OP_LLVM_fragment, 96, 32)) #4, !dbg !337 | |
%retval.sroa.0.0.insert.ext.i891 = zext i32 %asmresult.i885 to i64, !dbg !340 | |
call void @llvm.dbg.value(metadata !DIArgList(i32 undef, i64 %retval.sroa.0.0.insert.ext.i891), metadata !276, metadata !DIExpression(DW_OP_LLVM_arg, 0, DW_OP_LLVM_convert, 32, DW_ATE_unsigned, DW_OP_LLVM_convert, 64, DW_ATE_unsigned, DW_OP_constu, 32, DW_OP_shl, DW_OP_LLVM_arg, 1, DW_OP_or, DW_OP_stack_value, DW_OP_LLVM_fragment, 0, 64)), !dbg !341 | |
call void @llvm.dbg.value(metadata !DIArgList(i64 0, i32 undef), metadata !276, metadata !DIExpression(DW_OP_LLVM_arg, 0, DW_OP_LLVM_arg, 1, DW_OP_LLVM_convert, 32, DW_ATE_unsigned, DW_OP_LLVM_convert, 64, DW_ATE_unsigned, DW_OP_or, DW_OP_stack_value, DW_OP_LLVM_fragment, 64, 64)), !dbg !341 | |
call void @llvm.dbg.value(metadata i64 %retval.sroa.0.0.insert.ext.i891, metadata !273, metadata !DIExpression()), !dbg !334 | |
br label %if.end, !dbg !342 | |
if.end: ; preds = %if.then22, %if.then | |
%xcr0_valid_bits.0 = phi i64 [ %retval.sroa.0.0.insert.ext.i891, %if.then22 ], [ 0, %if.then ], !dbg !334 | |
call void @llvm.dbg.value(metadata i64 %xcr0_valid_bits.0, metadata !273, metadata !DIExpression()), !dbg !334 | |
call void @llvm.dbg.value(metadata i32 0, metadata !343, metadata !DIExpression()) #4, !dbg !350 | |
%5 = tail call { i32, i32 } asm ".byte 0x0F, 0x01, 0xD0", "={ax},={dx},{cx},~{dirflag},~{fpsr},~{flags}"(i32 0) #5, !dbg !352, !srcloc !353 | |
%asmresult.i899 = extractvalue { i32, i32 } %5, 0, !dbg !352 | |
call void @llvm.dbg.value(metadata i32 %asmresult.i899, metadata !348, metadata !DIExpression()) #4, !dbg !350 | |
call void @llvm.dbg.value(metadata i32 undef, metadata !349, metadata !DIExpression()) #4, !dbg !350 | |
%conv2.i = zext i32 %asmresult.i899 to i64, !dbg !354 | |
call void @llvm.dbg.value(metadata !DIArgList(i64 0, i64 %conv2.i), metadata !279, metadata !DIExpression(DW_OP_LLVM_arg, 0, DW_OP_constu, 32, DW_OP_shl, DW_OP_LLVM_arg, 1, DW_OP_or, DW_OP_stack_value)), !dbg !334 | |
call void @llvm.dbg.value(metadata i64 6, metadata !281, metadata !DIExpression()), !dbg !334 | |
%6 = insertelement <2 x i64> poison, i64 %xcr0_valid_bits.0, i32 0, !dbg !355 | |
%7 = insertelement <2 x i64> %6, i64 %xcr0_valid_bits.0, i32 1, !dbg !355 | |
%8 = and <2 x i64> %7, <i64 6, i64 230>, !dbg !355 | |
call void @llvm.dbg.value(metadata i8 undef, metadata !269, metadata !DIExpression()), !dbg !297 | |
call void @llvm.dbg.value(metadata i64 230, metadata !282, metadata !DIExpression()), !dbg !334 | |
%9 = icmp eq <2 x i64> %8, <i64 6, i64 230>, !dbg !357 | |
%10 = insertelement <2 x i64> poison, i64 %conv2.i, i32 0, !dbg !358 | |
%11 = insertelement <2 x i64> %10, i64 %conv2.i, i32 1, !dbg !358 | |
%12 = and <2 x i64> %11, <i64 6, i64 230>, !dbg !358 | |
%13 = icmp eq <2 x i64> %12, <i64 6, i64 230>, !dbg !358 | |
%14 = select <2 x i1> %9, <2 x i1> %13, <2 x i1> zeroinitializer, !dbg !358 | |
call void @llvm.dbg.value(metadata i8 undef, metadata !270, metadata !DIExpression()), !dbg !297 | |
call void @llvm.dbg.value(metadata i64 24, metadata !283, metadata !DIExpression()), !dbg !334 | |
%and45 = and i64 %xcr0_valid_bits.0, 24, !dbg !359 | |
%cmp46 = icmp eq i64 %and45, 24, !dbg !361 | |
%and49 = and i64 %conv2.i, 24, !dbg !362 | |
%cmp50 = icmp eq i64 %and49, 24, !dbg !362 | |
%mpx_regs.0 = select i1 %cmp46, i1 %cmp50, i1 false, !dbg !362 | |
call void @llvm.dbg.value(metadata i8 undef, metadata !271, metadata !DIExpression()), !dbg !297 | |
br label %if.end54, !dbg !363 | |
if.end54: ; preds = %if.end, %cond.end18 | |
%mpx_regs.1 = phi i1 [ %mpx_regs.0, %if.end ], [ false, %cond.end18 ], !dbg !297 | |
%15 = phi <2 x i1> [ %14, %if.end ], [ zeroinitializer, %cond.end18 ], !dbg !297 | |
%shuffle937 = shufflevector <2 x i1> %15, <2 x i1> poison, <8 x i32> <i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 1>, !dbg !297 | |
call void @llvm.dbg.value(metadata i8 undef, metadata !269, metadata !DIExpression()), !dbg !297 | |
call void @llvm.dbg.value(metadata i8 undef, metadata !270, metadata !DIExpression()), !dbg !297 | |
call void @llvm.dbg.value(metadata i8 undef, metadata !271, metadata !DIExpression()), !dbg !297 | |
%sysenter = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 2, !dbg !364 | |
%and56815 = lshr i64 %basic_info.coerce1, 43, !dbg !365 | |
%16 = trunc i64 %and56815 to i8, !dbg !365 | |
%17 = and i8 %16, 1, !dbg !365 | |
store i8 %17, i8* %sysenter, align 1, !dbg !365 | |
%or61820 = or i64 %extended_info.sroa.14.8.extract.shift, %basic_info.sroa.18.8.extract.shift, !dbg !366 | |
%msr = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 3, !dbg !367 | |
%18 = trunc i64 %or61820 to i8, !dbg !368 | |
%19 = lshr i8 %18, 5, !dbg !368 | |
%20 = and i8 %19, 1, !dbg !368 | |
store i8 %20, i8* %msr, align 1, !dbg !368 | |
%clzero = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 4, !dbg !369 | |
store i8 %processor_capacity_info.sroa.0.0, i8* %clzero, align 1, !dbg !370 | |
%clflush = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 5, !dbg !371 | |
%and74817 = lshr i64 %basic_info.coerce1, 51, !dbg !372 | |
%21 = trunc i64 %and74817 to i8, !dbg !372 | |
%22 = and i8 %21, 1, !dbg !372 | |
store i8 %22, i8* %clflush, align 1, !dbg !372 | |
%structured_feature_info0.sroa.0.4.extract.shift = lshr exact i64 %structured_feature_info0.sroa.0.0930, 32, !dbg !373 | |
%structured_feature_info0.sroa.0.4.extract.trunc = trunc i64 %structured_feature_info0.sroa.0.4.extract.shift to i32, !dbg !373 | |
%clflushopt = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 6, !dbg !374 | |
%and80818 = lshr i64 %structured_feature_info0.sroa.0.0930, 55, !dbg !375 | |
%23 = trunc i64 %and80818 to i8, !dbg !375 | |
%24 = and i8 %23, 1, !dbg !375 | |
store i8 %24, i8* %clflushopt, align 1, !dbg !375 | |
%mwait = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 7, !dbg !376 | |
%25 = trunc i64 %basic_info.coerce1 to i8, !dbg !377 | |
%26 = lshr i8 %25, 3, !dbg !377 | |
%27 = and i8 %26, 1, !dbg !377 | |
store i8 %27, i8* %mwait, align 1, !dbg !377 | |
%mwaitx = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 8, !dbg !378 | |
%and92 = lshr i32 %extended_info.sroa.1.8.extract.trunc, 29, !dbg !379 | |
%28 = trunc i32 %and92 to i8, !dbg !379 | |
%29 = and i8 %28, 1, !dbg !379 | |
store i8 %29, i8* %mwaitx, align 1, !dbg !379 | |
%fxsave = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 9, !dbg !380 | |
%and100821 = lshr i64 %or61820, 24, !dbg !382 | |
%30 = trunc i64 %and100821 to i8, !dbg !382 | |
%31 = and i8 %30, 1, !dbg !382 | |
store i8 %31, i8* %fxsave, align 1, !dbg !382 | |
%xsave = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 10, !dbg !383 | |
%and106 = lshr i32 %basic_info.sroa.1.8.extract.trunc, 26, !dbg !384 | |
%32 = trunc i32 %and106 to i8, !dbg !384 | |
%33 = and i8 %32, 1, !dbg !384 | |
store i8 %33, i8* %xsave, align 1, !dbg !384 | |
%three_d_now = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 11, !dbg !385 | |
%extended_info.coerce1.lobit = lshr i64 %extended_info.coerce1, 63, !dbg !386 | |
%34 = trunc i64 %extended_info.coerce1.lobit to i8, !dbg !386 | |
store i8 %34, i8* %three_d_now, align 1, !dbg !386 | |
%three_d_now_plus = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 12, !dbg !387 | |
%and118 = lshr i32 %extended_info.sroa.14.8.extract.trunc, 30, !dbg !388 | |
%35 = trunc i32 %and118 to i8, !dbg !388 | |
%36 = and i8 %35, 1, !dbg !388 | |
store i8 %36, i8* %three_d_now_plus, align 1, !dbg !388 | |
switch i32 %vendor, label %sw.default132 [ | |
i32 16, label %sw.bb | |
i32 2, label %sw.bb | |
i32 1, label %sw.epilog162 | |
], !dbg !389 | |
sw.bb: ; preds = %if.end54, %if.end54 | |
%and124 = and i32 %extended_info.sroa.1.8.extract.trunc, 256, !dbg !390 | |
%and126 = and i32 %extended_info.sroa.14.8.extract.trunc, -536870912, !dbg !392 | |
%or127 = or i32 %and126, %and124, !dbg !393 | |
%tobool128 = icmp ne i32 %or127, 0, !dbg !394 | |
br label %sw.epilog140, !dbg !395 | |
sw.default132: ; preds = %if.end54 | |
%tobool135 = icmp ugt i32 %extended_info.sroa.14.8.extract.trunc, 1073741823, !dbg !396 | |
br label %sw.epilog140, !dbg !397 | |
sw.epilog140: ; preds = %sw.default132, %sw.bb | |
%tobool135.sink = phi i1 [ %tobool135, %sw.default132 ], [ %tobool128, %sw.bb ] | |
%prefetch138 = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 13, !dbg !398 | |
%frombool139 = zext i1 %tobool135.sink to i8, !dbg !398 | |
store i8 %frombool139, i8* %prefetch138, align 1, !dbg !398 | |
%switch.selectcmp.case1 = icmp eq i32 %vendor, 2, !dbg !399 | |
%switch.selectcmp.case2 = icmp eq i32 %vendor, 16, !dbg !399 | |
%switch.selectcmp = or i1 %switch.selectcmp.case1, %switch.selectcmp.case2, !dbg !399 | |
%37 = select i1 %switch.selectcmp, i32 -536870912, i32 -1073741824, !dbg !399 | |
br label %sw.epilog162, !dbg !399 | |
sw.epilog162: ; preds = %if.end54, %sw.epilog140 | |
%.sink = phi i32 [ %37, %sw.epilog140 ], [ -1073741824, %if.end54 ] | |
%and153 = and i32 %extended_info.sroa.1.8.extract.trunc, 256, !dbg !400 | |
%and155 = and i32 %.sink, %extended_info.sroa.14.8.extract.trunc, !dbg !400 | |
%or156 = or i32 %and155, %and153, !dbg !400 | |
%tobool157 = icmp ne i32 %or156, 0, !dbg !400 | |
%prefetchw160 = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 14, !dbg !400 | |
%frombool161 = zext i1 %tobool157 to i8, !dbg !400 | |
store i8 %frombool161, i8* %prefetchw160, align 1, !dbg !400 | |
%prefetchwt1 = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 15, !dbg !402 | |
%38 = trunc i64 %structured_feature_info0.sroa.25.0932 to i8, !dbg !403 | |
%39 = and i8 %38, 1, !dbg !403 | |
store i8 %39, i8* %prefetchwt1, align 1, !dbg !403 | |
%sse3 = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 16, !dbg !404 | |
%40 = and i8 %25, 1, !dbg !405 | |
store i8 %40, i8* %sse3, align 1, !dbg !405 | |
%ssse3 = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 17, !dbg !406 | |
%and176822 = lshr i64 %basic_info.coerce1, 9, !dbg !407 | |
%41 = trunc i64 %and176822 to i8, !dbg !407 | |
%42 = and i8 %41, 1, !dbg !407 | |
store i8 %42, i8* %ssse3, align 1, !dbg !407 | |
%sse4_1 = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 18, !dbg !408 | |
%and182823 = lshr i64 %basic_info.coerce1, 19, !dbg !409 | |
%43 = trunc i64 %and182823 to i8, !dbg !409 | |
%44 = and i8 %43, 1, !dbg !409 | |
store i8 %44, i8* %sse4_1, align 1, !dbg !409 | |
%sse4_2 = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 19, !dbg !410 | |
%and188824 = lshr i64 %basic_info.coerce1, 20, !dbg !411 | |
%45 = trunc i64 %and188824 to i8, !dbg !411 | |
%46 = and i8 %45, 1, !dbg !411 | |
store i8 %46, i8* %sse4_2, align 1, !dbg !411 | |
%sse4a = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 20, !dbg !412 | |
%47 = trunc i64 %extended_info.coerce1 to i8, !dbg !413 | |
%48 = lshr i8 %47, 6, !dbg !413 | |
%49 = and i8 %48, 1, !dbg !413 | |
store i8 %49, i8* %sse4a, align 1, !dbg !413 | |
%misaligned_sse = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 21, !dbg !414 | |
%50 = lshr i8 %47, 7, !dbg !415 | |
store i8 %50, i8* %misaligned_sse, align 1, !dbg !415 | |
%51 = insertelement <8 x i32> poison, i32 %basic_info.sroa.1.8.extract.trunc, i32 0, !dbg !416 | |
%52 = insertelement <8 x i32> %51, i32 %extended_info.sroa.1.8.extract.trunc, i32 1, !dbg !416 | |
%53 = insertelement <8 x i32> %52, i32 %structured_feature_info0.sroa.0.4.extract.trunc, i32 2, !dbg !416 | |
%shuffle938 = shufflevector <8 x i32> %53, <8 x i32> poison, <8 x i32> <i32 0, i32 0, i32 1, i32 1, i32 0, i32 2, i32 2, i32 2>, !dbg !416 | |
%54 = and <8 x i32> %shuffle938, <i32 268435456, i32 4096, i32 65536, i32 2048, i32 536870912, i32 32, i32 65536, i32 67108864>, !dbg !416 | |
%avx = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 22, !dbg !417 | |
%55 = icmp ne <8 x i32> %54, zeroinitializer, !dbg !416 | |
%56 = select <8 x i1> %shuffle937, <8 x i1> %55, <8 x i1> zeroinitializer, !dbg !416 | |
%57 = zext <8 x i1> %56 to <8 x i8>, !dbg !418 | |
%58 = bitcast i8* %avx to <8 x i8>*, !dbg !418 | |
store <8 x i8> %57, <8 x i8>* %58, align 1, !dbg !418 | |
%and287 = and i32 %structured_feature_info0.sroa.0.4.extract.trunc, 134217728, !dbg !419 | |
%tobool288 = icmp ne i32 %and287, 0, !dbg !419 | |
%59 = extractelement <8 x i1> %shuffle937, i32 6, !dbg !419 | |
%60 = select i1 %59, i1 %tobool288, i1 false, !dbg !419 | |
%avx512er = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 30, !dbg !420 | |
%frombool292 = zext i1 %60 to i8, !dbg !421 | |
store i8 %frombool292, i8* %avx512er, align 1, !dbg !421 | |
%and297 = and i32 %structured_feature_info0.sroa.0.4.extract.trunc, 268435456, !dbg !422 | |
%tobool298 = icmp ne i32 %and297, 0, !dbg !422 | |
%61 = select i1 %59, i1 %tobool298, i1 false, !dbg !422 | |
%avx512cd = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 31, !dbg !423 | |
%frombool302 = zext i1 %61 to i8, !dbg !424 | |
store i8 %frombool302, i8* %avx512cd, align 1, !dbg !424 | |
%and307827 = lshr i64 %structured_feature_info0.sroa.0.0930, 49, !dbg !425 | |
%62 = trunc i64 %and307827 to i8, !dbg !425 | |
%avx512dq = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 32, !dbg !426 | |
%and317 = lshr i32 %structured_feature_info0.sroa.0.4.extract.trunc, 30, !dbg !427 | |
%63 = trunc i32 %and317 to i8, !dbg !427 | |
%64 = insertelement <2 x i8> poison, i8 %62, i32 0, !dbg !425 | |
%65 = insertelement <2 x i8> %64, i8 %63, i32 1, !dbg !425 | |
%66 = and <2 x i8> %65, <i8 1, i8 1>, !dbg !425 | |
%and327.lobit = lshr i32 %structured_feature_info0.sroa.0.4.extract.trunc, 31, !dbg !428 | |
%67 = trunc i32 %and327.lobit to i8, !dbg !428 | |
%and337828 = lshr i64 %structured_feature_info0.sroa.0.0930, 53, !dbg !429 | |
%68 = trunc i64 %and337828 to i8, !dbg !429 | |
%69 = and i8 %68, 1, !dbg !429 | |
%70 = lshr i8 %38, 1, !dbg !430 | |
%71 = and i8 %70, 1, !dbg !430 | |
%72 = lshr i8 %38, 6, !dbg !431 | |
%73 = and i8 %72, 1, !dbg !431 | |
%and367831 = lshr i64 %structured_feature_info0.sroa.25.0932, 12, !dbg !432 | |
%74 = trunc i64 %and367831 to i8, !dbg !432 | |
%75 = and i8 %74, 1, !dbg !432 | |
%and377832 = lshr i64 %structured_feature_info0.sroa.25.0932, 14, !dbg !433 | |
%76 = trunc i64 %and377832 to i8, !dbg !433 | |
%77 = and i8 %76, 1, !dbg !433 | |
%78 = insertelement <8 x i1> poison, i1 %59, i32 0, !dbg !425 | |
%79 = insertelement <8 x i1> %78, i1 %59, i32 1, !dbg !425 | |
%80 = insertelement <8 x i1> %79, i1 %59, i32 2, !dbg !425 | |
%81 = insertelement <8 x i1> %80, i1 %59, i32 3, !dbg !425 | |
%82 = insertelement <8 x i1> %81, i1 %59, i32 4, !dbg !425 | |
%83 = insertelement <8 x i1> %82, i1 %59, i32 5, !dbg !425 | |
%84 = insertelement <8 x i1> %83, i1 %59, i32 6, !dbg !425 | |
%85 = insertelement <8 x i1> %84, i1 %59, i32 7, !dbg !425 | |
%86 = shufflevector <2 x i8> %66, <2 x i8> poison, <8 x i32> <i32 0, i32 1, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>, !dbg !425 | |
%87 = insertelement <8 x i8> %86, i8 %67, i32 2, !dbg !425 | |
%88 = insertelement <8 x i8> %87, i8 %69, i32 3, !dbg !425 | |
%89 = insertelement <8 x i8> %88, i8 %71, i32 4, !dbg !425 | |
%90 = insertelement <8 x i8> %89, i8 %73, i32 5, !dbg !425 | |
%91 = insertelement <8 x i8> %90, i8 %75, i32 6, !dbg !425 | |
%92 = insertelement <8 x i8> %91, i8 %77, i32 7, !dbg !425 | |
%93 = select <8 x i1> %85, <8 x i8> %92, <8 x i8> zeroinitializer, !dbg !425 | |
%94 = bitcast i8* %avx512dq to <8 x i8>*, !dbg !434 | |
store <8 x i8> %93, <8 x i8>* %94, align 1, !dbg !434 | |
%and387833 = lshr i64 %structured_feature_info0.sroa.25.0932, 11, !dbg !435 | |
%95 = trunc i64 %and387833 to i8, !dbg !435 | |
%96 = and i8 %95, 1, !dbg !435 | |
%97 = select i1 %59, i8 %96, i8 0, !dbg !435 | |
%avx512vnni = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 40, !dbg !436 | |
store i8 %97, i8* %avx512vnni, align 1, !dbg !437 | |
%sum.shift = lshr i64 %structured_feature_info0.sroa.25.0932, 34, !dbg !438 | |
%and397834 = trunc i64 %sum.shift to i8, !dbg !438 | |
%and397.lobit = and i8 %and397834, 1, !dbg !438 | |
%98 = select i1 %59, i8 %and397.lobit, i8 0, !dbg !438 | |
%avx512_4vnniw = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 43, !dbg !439 | |
store i8 %98, i8* %avx512_4vnniw, align 1, !dbg !440 | |
%sum.shift835 = lshr i64 %structured_feature_info0.sroa.25.0932, 35, !dbg !441 | |
%and407836 = trunc i64 %sum.shift835 to i8, !dbg !441 | |
%and407.lobit = and i8 %and407836, 1, !dbg !441 | |
%99 = select i1 %59, i8 %and407.lobit, i8 0, !dbg !441 | |
%avx512_4fmaps = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 44, !dbg !442 | |
store i8 %99, i8* %avx512_4fmaps, align 1, !dbg !443 | |
%sum.shift837 = lshr i64 %structured_feature_info0.sroa.25.0932, 40, !dbg !444 | |
%and417838 = trunc i64 %sum.shift837 to i8, !dbg !444 | |
%and417.lobit = and i8 %and417838, 1, !dbg !444 | |
%100 = select i1 %59, i8 %and417.lobit, i8 0, !dbg !444 | |
%avx512vp2intersect = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 42, !dbg !445 | |
store i8 %100, i8* %avx512vp2intersect, align 1, !dbg !446 | |
%101 = select i1 %59, i8 %structured_feature_info1.sroa.0.0, i8 0, !dbg !447 | |
%avx512bf16 = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 41, !dbg !448 | |
store i8 %101, i8* %avx512bf16, align 1, !dbg !449 | |
%hle = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 45, !dbg !450 | |
%and434840 = lshr i64 %structured_feature_info0.sroa.0.0930, 36, !dbg !451 | |
%102 = trunc i64 %and434840 to i8, !dbg !451 | |
%103 = and i8 %102, 1, !dbg !451 | |
store i8 %103, i8* %hle, align 1, !dbg !451 | |
%and440 = and i32 %structured_feature_info0.sroa.0.4.extract.trunc, 2048, !dbg !452 | |
%tobool441 = icmp ne i32 %and440, 0, !dbg !453 | |
%rtm = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 46, !dbg !454 | |
%and440.lobit = lshr exact i32 %and440, 11, !dbg !455 | |
%104 = trunc i32 %and440.lobit to i8, !dbg !455 | |
store i8 %104, i8* %rtm, align 1, !dbg !455 | |
%tobool446 = icmp ne i8 %103, 0, !dbg !456 | |
%105 = select i1 %tobool446, i1 true, i1 %tobool441, !dbg !457 | |
%xtest = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 47, !dbg !458 | |
%frombool451 = zext i1 %105 to i8, !dbg !459 | |
store i8 %frombool451, i8* %xtest, align 1, !dbg !459 | |
%and456841 = lshr i64 %structured_feature_info0.sroa.0.0930, 46, !dbg !460 | |
%106 = trunc i64 %and456841 to i8, !dbg !460 | |
%107 = and i8 %106, 1, !dbg !460 | |
%108 = select i1 %mpx_regs.1, i8 %107, i8 0, !dbg !460 | |
%mpx = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 48, !dbg !461 | |
store i8 %108, i8* %mpx, align 1, !dbg !462 | |
%cmpxchg16b = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 49, !dbg !463 | |
%and463842 = lshr i64 %basic_info.coerce1, 13, !dbg !464 | |
%109 = trunc i64 %and463842 to i8, !dbg !464 | |
%and469843 = lshr i64 %structured_feature_info0.sroa.0.0930, 56, !dbg !465 | |
%110 = trunc i64 %and469843 to i8, !dbg !465 | |
%and475844 = lshr i64 %basic_info.coerce1, 22, !dbg !466 | |
%111 = trunc i64 %and475844 to i8, !dbg !466 | |
%112 = trunc i64 %structured_feature_info0.sroa.0.4.extract.shift to i8, !dbg !467 | |
%113 = lshr i8 %47, 5, !dbg !468 | |
%and499846 = lshr i64 %basic_info.coerce1, 23, !dbg !469 | |
%114 = trunc i64 %and499846 to i8, !dbg !469 | |
%and505847 = lshr i64 %extended_info.coerce1, 21, !dbg !470 | |
%115 = trunc i64 %and505847 to i8, !dbg !470 | |
%and511848 = lshr i64 %structured_feature_info0.sroa.0.0930, 35, !dbg !471 | |
%116 = trunc i64 %and511848 to i8, !dbg !471 | |
%and517849 = lshr i64 %structured_feature_info0.sroa.0.0930, 40, !dbg !472 | |
%117 = trunc i64 %and517849 to i8, !dbg !472 | |
%and523850 = lshr i64 %structured_feature_info0.sroa.0.0930, 51, !dbg !473 | |
%118 = trunc i64 %and523850 to i8, !dbg !473 | |
%and529 = lshr i32 %basic_info.sroa.1.8.extract.trunc, 25, !dbg !474 | |
%119 = trunc i32 %and529 to i8, !dbg !474 | |
%and535851 = lshr i64 %structured_feature_info0.sroa.25.0932, 9, !dbg !475 | |
%120 = trunc i64 %and535851 to i8, !dbg !475 | |
%121 = lshr i8 %25, 1, !dbg !476 | |
%and547853 = lshr i64 %structured_feature_info0.sroa.25.0932, 10, !dbg !477 | |
%122 = trunc i64 %and547853 to i8, !dbg !477 | |
%and553854 = lshr i64 %structured_feature_info0.sroa.25.0932, 8, !dbg !478 | |
%123 = trunc i64 %and553854 to i8, !dbg !478 | |
%124 = insertelement <16 x i8> poison, i8 %109, i32 0, !dbg !464 | |
%125 = insertelement <16 x i8> %124, i8 %110, i32 1, !dbg !464 | |
%126 = insertelement <16 x i8> %125, i8 %111, i32 2, !dbg !464 | |
%127 = insertelement <16 x i8> %126, i8 %47, i32 3, !dbg !464 | |
%128 = insertelement <16 x i8> %127, i8 %112, i32 4, !dbg !464 | |
%129 = insertelement <16 x i8> %128, i8 %113, i32 5, !dbg !464 | |
%130 = insertelement <16 x i8> %129, i8 %114, i32 6, !dbg !464 | |
%131 = insertelement <16 x i8> %130, i8 %115, i32 7, !dbg !464 | |
%132 = insertelement <16 x i8> %131, i8 %116, i32 8, !dbg !464 | |
%133 = insertelement <16 x i8> %132, i8 %117, i32 9, !dbg !464 | |
%134 = insertelement <16 x i8> %133, i8 %118, i32 10, !dbg !464 | |
%135 = insertelement <16 x i8> %134, i8 %119, i32 11, !dbg !464 | |
%136 = insertelement <16 x i8> %135, i8 %120, i32 12, !dbg !464 | |
%137 = insertelement <16 x i8> %136, i8 %121, i32 13, !dbg !464 | |
%138 = insertelement <16 x i8> %137, i8 %122, i32 14, !dbg !464 | |
%139 = insertelement <16 x i8> %138, i8 %123, i32 15, !dbg !464 | |
%140 = and <16 x i8> %139, <i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1>, !dbg !464 | |
%141 = bitcast i8* %cmpxchg16b to <16 x i8>*, !dbg !464 | |
store <16 x i8> %140, <16 x i8>* %141, align 1, !dbg !464 | |
%rdrand = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 65, !dbg !479 | |
%and559 = lshr i32 %basic_info.sroa.1.8.extract.trunc, 30, !dbg !480 | |
%142 = trunc i32 %and559 to i8, !dbg !480 | |
%143 = and i8 %142, 1, !dbg !480 | |
store i8 %143, i8* %rdrand, align 1, !dbg !480 | |
%rdseed = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 66, !dbg !481 | |
%and565855 = lshr i64 %structured_feature_info0.sroa.0.0930, 50, !dbg !482 | |
%144 = trunc i64 %and565855 to i8, !dbg !482 | |
%145 = and i8 %144, 1, !dbg !482 | |
store i8 %145, i8* %rdseed, align 1, !dbg !482 | |
%sha = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 67, !dbg !483 | |
%and571 = lshr i32 %structured_feature_info0.sroa.0.4.extract.trunc, 29, !dbg !484 | |
%146 = trunc i32 %and571 to i8, !dbg !484 | |
%147 = and i8 %146, 1, !dbg !484 | |
store i8 %147, i8* %sha, align 1, !dbg !484 | |
%cmp576 = icmp eq i32 %vendor, 11, !dbg !485 | |
br i1 %cmp576, label %if.then578, label %if.end611, !dbg !486 | |
if.then578: ; preds = %sw.epilog162 | |
call void @llvm.dbg.value(metadata i32 -1073741824, metadata !321, metadata !DIExpression()) #4, !dbg !487 | |
%148 = tail call { i32, i32, i32, i32 } asm " xchgq %rbx,${1:q}\0A cpuid\0A xchgq %rbx,${1:q}", "={ax},=r,={cx},={dx},0,~{dirflag},~{fpsr},~{flags}"(i32 -1073741824) #5, !dbg !489, !srcloc !330 | |
%asmresult.i900 = extractvalue { i32, i32, i32, i32 } %148, 0, !dbg !489 | |
call void @llvm.dbg.value(metadata i32 %asmresult.i900, metadata !326, metadata !DIExpression(DW_OP_LLVM_fragment, 0, 32)) #4, !dbg !487 | |
call void @llvm.dbg.value(metadata i32 undef, metadata !326, metadata !DIExpression(DW_OP_LLVM_fragment, 32, 32)) #4, !dbg !487 | |
call void @llvm.dbg.value(metadata i32 undef, metadata !326, metadata !DIExpression(DW_OP_LLVM_fragment, 64, 32)) #4, !dbg !487 | |
call void @llvm.dbg.value(metadata i32 undef, metadata !326, metadata !DIExpression(DW_OP_LLVM_fragment, 96, 32)) #4, !dbg !487 | |
call void @llvm.dbg.value(metadata i64 undef, metadata !284, metadata !DIExpression(DW_OP_LLVM_fragment, 64, 64)), !dbg !490 | |
call void @llvm.dbg.value(metadata !DIArgList(i64 0, i32 %asmresult.i900), metadata !284, metadata !DIExpression(DW_OP_LLVM_arg, 0, DW_OP_LLVM_arg, 1, DW_OP_LLVM_convert, 32, DW_ATE_unsigned, DW_OP_LLVM_convert, 64, DW_ATE_unsigned, DW_OP_or, DW_OP_stack_value, DW_OP_LLVM_fragment, 0, 64)), !dbg !490 | |
call void @llvm.dbg.value(metadata i32 %asmresult.i900, metadata !287, metadata !DIExpression()), !dbg !490 | |
call void @llvm.dbg.value(metadata i32 -1073741823, metadata !288, metadata !DIExpression()), !dbg !490 | |
%cmp581 = icmp ugt i32 %asmresult.i900, -1073741824, !dbg !491 | |
br i1 %cmp581, label %if.then583, label %if.end611, !dbg !492 | |
if.then583: ; preds = %if.then578 | |
call void @llvm.dbg.value(metadata i32 -1073741823, metadata !321, metadata !DIExpression()) #4, !dbg !493 | |
%149 = tail call { i32, i32, i32, i32 } asm " xchgq %rbx,${1:q}\0A cpuid\0A xchgq %rbx,${1:q}", "={ax},=r,={cx},={dx},0,~{dirflag},~{fpsr},~{flags}"(i32 -1073741823) #5, !dbg !495, !srcloc !330 | |
%asmresult4.i917 = extractvalue { i32, i32, i32, i32 } %149, 3, !dbg !495 | |
call void @llvm.dbg.value(metadata i32 undef, metadata !326, metadata !DIExpression(DW_OP_LLVM_fragment, 0, 32)) #4, !dbg !493 | |
call void @llvm.dbg.value(metadata i32 undef, metadata !326, metadata !DIExpression(DW_OP_LLVM_fragment, 32, 32)) #4, !dbg !493 | |
call void @llvm.dbg.value(metadata i32 undef, metadata !326, metadata !DIExpression(DW_OP_LLVM_fragment, 64, 32)) #4, !dbg !493 | |
call void @llvm.dbg.value(metadata i32 %asmresult4.i917, metadata !326, metadata !DIExpression(DW_OP_LLVM_fragment, 96, 32)) #4, !dbg !493 | |
call void @llvm.dbg.value(metadata i64 undef, metadata !289, metadata !DIExpression(DW_OP_LLVM_fragment, 0, 64)), !dbg !496 | |
call void @llvm.dbg.value(metadata !DIArgList(i32 %asmresult4.i917, i32 undef), metadata !289, metadata !DIExpression(DW_OP_LLVM_arg, 0, DW_OP_LLVM_convert, 32, DW_ATE_unsigned, DW_OP_LLVM_convert, 64, DW_ATE_unsigned, DW_OP_constu, 32, DW_OP_shl, DW_OP_LLVM_arg, 1, DW_OP_LLVM_convert, 32, DW_ATE_unsigned, DW_OP_LLVM_convert, 64, DW_ATE_unsigned, DW_OP_or, DW_OP_stack_value, DW_OP_LLVM_fragment, 64, 64)), !dbg !496 | |
call void @llvm.dbg.value(metadata i32 12, metadata !292, metadata !DIExpression()), !dbg !496 | |
%and586 = and i32 %asmresult4.i917, 12, !dbg !497 | |
%cmp587 = icmp eq i32 %and586, 12, !dbg !498 | |
%rng = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 68, !dbg !499 | |
%frombool589 = zext i1 %cmp587 to i8, !dbg !500 | |
store i8 %frombool589, i8* %rng, align 1, !dbg !500 | |
call void @llvm.dbg.value(metadata i32 192, metadata !293, metadata !DIExpression()), !dbg !496 | |
%ace = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 69, !dbg !501 | |
call void @llvm.dbg.value(metadata i32 768, metadata !294, metadata !DIExpression()), !dbg !496 | |
%ace2 = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 70, !dbg !502 | |
call void @llvm.dbg.value(metadata i32 3072, metadata !295, metadata !DIExpression()), !dbg !496 | |
%phe = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 71, !dbg !503 | |
call void @llvm.dbg.value(metadata i32 12288, metadata !296, metadata !DIExpression()), !dbg !496 | |
%150 = insertelement <4 x i32> poison, i32 %asmresult4.i917, i32 0, !dbg !504 | |
%shuffle = shufflevector <4 x i32> %150, <4 x i32> poison, <4 x i32> zeroinitializer, !dbg !504 | |
%151 = and <4 x i32> %shuffle, <i32 12288, i32 3072, i32 768, i32 192>, !dbg !504 | |
%152 = icmp eq <4 x i32> %151, <i32 12288, i32 3072, i32 768, i32 192>, !dbg !505 | |
%153 = extractelement <4 x i1> %152, i32 3, !dbg !506 | |
%frombool594 = zext i1 %153 to i8, !dbg !506 | |
store i8 %frombool594, i8* %ace, align 1, !dbg !506 | |
%154 = extractelement <4 x i1> %152, i32 2, !dbg !507 | |
%frombool599 = zext i1 %154 to i8, !dbg !507 | |
store i8 %frombool599, i8* %ace2, align 1, !dbg !507 | |
%155 = extractelement <4 x i1> %152, i32 1, !dbg !508 | |
%frombool604 = zext i1 %155 to i8, !dbg !508 | |
store i8 %frombool604, i8* %phe, align 1, !dbg !508 | |
%pmm = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 72, !dbg !509 | |
%156 = extractelement <4 x i1> %152, i32 0, !dbg !510 | |
%frombool609 = zext i1 %156 to i8, !dbg !510 | |
store i8 %frombool609, i8* %pmm, align 1, !dbg !510 | |
br label %if.end611, !dbg !511 | |
if.end611: ; preds = %if.then578, %if.then583, %sw.epilog162 | |
%lwp = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 73, !dbg !512 | |
%and613856 = lshr i64 %extended_info.coerce1, 15, !dbg !513 | |
%157 = trunc i64 %and613856 to i8, !dbg !513 | |
%158 = and i8 %157, 1, !dbg !513 | |
store i8 %158, i8* %lwp, align 1, !dbg !513 | |
%and619 = lshr i32 %extended_info.sroa.14.8.extract.trunc, 27, !dbg !514 | |
%159 = trunc i32 %and619 to i8, !dbg !514 | |
%160 = and i8 %159, 1, !dbg !514 | |
store i8 %160, i8* %0, align 1, !dbg !514 | |
%rdpid = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 1, !dbg !515 | |
%and625857 = lshr i64 %structured_feature_info0.sroa.25.0932, 22, !dbg !516 | |
%161 = trunc i64 %and625857 to i8, !dbg !516 | |
%162 = and i8 %161, 1, !dbg !516 | |
store i8 %162, i8* %rdpid, align 1, !dbg !516 | |
ret void, !dbg !517 | |
} | |
; Function Attrs: mustprogress nocallback nofree nosync nounwind readnone speculatable willreturn | |
declare void @llvm.dbg.declare(metadata, metadata, metadata) #1 | |
; Function Attrs: argmemonly mustprogress nofree nounwind willreturn writeonly | |
declare void @llvm.memset.p0i8.i64(i8* nocapture writeonly, i8, i64, i1 immarg) #2 | |
; Function Attrs: nocallback nofree nosync nounwind readnone speculatable willreturn | |
declare void @llvm.dbg.value(metadata, metadata, metadata) #3 | |
attributes #0 = { argmemonly nounwind optsize sanitize_memory "frame-pointer"="all" "min-legal-vector-width"="0" "no-trapping-math"="true" "prefer-vector-width"="128" "stack-protector-buffer-size"="8" "target-cpu"="x86-64-v3" "target-features"="+aes,+avx,+avx2,+bmi,+bmi2,+crc32,+cx16,+cx8,+f16c,+fma,+fxsr,+lzcnt,+mmx,+movbe,+pclmul,+popcnt,+sahf,+sse,+sse2,+sse3,+sse4.1,+sse4.2,+ssse3,+x87,+xsave" } | |
attributes #1 = { mustprogress nocallback nofree nosync nounwind readnone speculatable willreturn } | |
attributes #2 = { argmemonly mustprogress nofree nounwind willreturn writeonly } | |
attributes #3 = { nocallback nofree nosync nounwind readnone speculatable willreturn } | |
attributes #4 = { nounwind } | |
attributes #5 = { nounwind readnone } | |
!llvm.dbg.cu = !{!0} | |
!llvm.module.flags = !{!160, !161, !162, !163, !164} | |
!llvm.ident = !{!165} | |
!0 = distinct !DICompileUnit(language: DW_LANG_C99, file: !1, producer: "clang version 0fe13b5f84abe1716f5991da057c801dc548a9ab", isOptimized: true, runtimeVersion: 0, emissionKind: FullDebug, enums: !2, retainedTypes: !154, nameTableKind: None) | |
!1 = !DIFile(filename: "cpuinfo/src/x86/isa.c", directory: "workspace", checksumkind: CSK_MD5, checksum: "1f066767a48d692a7df3bd0b30681f63") | |
!2 = !{!3, !37} | |
!3 = !DICompositeType(tag: DW_TAG_enumeration_type, name: "cpuinfo_vendor", file: !4, line: 137, baseType: !5, size: 32, elements: !6) | |
!4 = !DIFile(filename: "cpuinfo/include/cpuinfo.h", directory: "workspace", checksumkind: CSK_MD5, checksum: "b2d9902226e7212a1e7a8aecca87c8f4") | |
!5 = !DIBasicType(name: "unsigned int", size: 32, encoding: DW_ATE_unsigned) | |
!6 = !{!7, !8, !9, !10, !11, !12, !13, !14, !15, !16, !17, !18, !19, !20, !21, !22, !23, !24, !25, !26, !27, !28, !29, !30, !31, !32, !33, !34, !35, !36} | |
!7 = !DIEnumerator(name: "cpuinfo_vendor_unknown", value: 0) | |
!8 = !DIEnumerator(name: "cpuinfo_vendor_intel", value: 1) | |
!9 = !DIEnumerator(name: "cpuinfo_vendor_amd", value: 2) | |
!10 = !DIEnumerator(name: "cpuinfo_vendor_arm", value: 3) | |
!11 = !DIEnumerator(name: "cpuinfo_vendor_qualcomm", value: 4) | |
!12 = !DIEnumerator(name: "cpuinfo_vendor_apple", value: 5) | |
!13 = !DIEnumerator(name: "cpuinfo_vendor_samsung", value: 6) | |
!14 = !DIEnumerator(name: "cpuinfo_vendor_nvidia", value: 7) | |
!15 = !DIEnumerator(name: "cpuinfo_vendor_mips", value: 8) | |
!16 = !DIEnumerator(name: "cpuinfo_vendor_ibm", value: 9) | |
!17 = !DIEnumerator(name: "cpuinfo_vendor_ingenic", value: 10) | |
!18 = !DIEnumerator(name: "cpuinfo_vendor_via", value: 11) | |
!19 = !DIEnumerator(name: "cpuinfo_vendor_cavium", value: 12) | |
!20 = !DIEnumerator(name: "cpuinfo_vendor_broadcom", value: 13) | |
!21 = !DIEnumerator(name: "cpuinfo_vendor_apm", value: 14) | |
!22 = !DIEnumerator(name: "cpuinfo_vendor_huawei", value: 15) | |
!23 = !DIEnumerator(name: "cpuinfo_vendor_hygon", value: 16) | |
!24 = !DIEnumerator(name: "cpuinfo_vendor_texas_instruments", value: 30) | |
!25 = !DIEnumerator(name: "cpuinfo_vendor_marvell", value: 31) | |
!26 = !DIEnumerator(name: "cpuinfo_vendor_rdc", value: 32) | |
!27 = !DIEnumerator(name: "cpuinfo_vendor_dmp", value: 33) | |
!28 = !DIEnumerator(name: "cpuinfo_vendor_motorola", value: 34) | |
!29 = !DIEnumerator(name: "cpuinfo_vendor_transmeta", value: 50) | |
!30 = !DIEnumerator(name: "cpuinfo_vendor_cyrix", value: 51) | |
!31 = !DIEnumerator(name: "cpuinfo_vendor_rise", value: 52) | |
!32 = !DIEnumerator(name: "cpuinfo_vendor_nsc", value: 53) | |
!33 = !DIEnumerator(name: "cpuinfo_vendor_sis", value: 54) | |
!34 = !DIEnumerator(name: "cpuinfo_vendor_nexgen", value: 55) | |
!35 = !DIEnumerator(name: "cpuinfo_vendor_umc", value: 56) | |
!36 = !DIEnumerator(name: "cpuinfo_vendor_dec", value: 57) | |
!37 = !DICompositeType(tag: DW_TAG_enumeration_type, name: "cpuinfo_uarch", file: !4, line: 266, baseType: !5, size: 32, elements: !38) | |
!38 = !{!39, !40, !41, !42, !43, !44, !45, !46, !47, !48, !49, !50, !51, !52, !53, !54, !55, !56, !57, !58, !59, !60, !61, !62, !63, !64, !65, !66, !67, !68, !69, !70, !71, !72, !73, !74, !75, !76, !77, !78, !79, !80, !81, !82, !83, !84, !85, !86, !87, !88, !89, !90, !91, !92, !93, !94, !95, !96, !97, !98, !99, !100, !101, !102, !103, !104, !105, !106, !107, !108, !109, !110, !111, !112, !113, !114, !115, !116, !117, !118, !119, !120, !121, !122, !123, !124, !125, !126, !127, !128, !129, !130, !131, !132, !133, !134, !135, !136, !137, !138, !139, !140, !141, !142, !143, !144, !145, !146, !147, !148, !149, !150, !151, !152, !153} | |
!39 = !DIEnumerator(name: "cpuinfo_uarch_unknown", value: 0) | |
!40 = !DIEnumerator(name: "cpuinfo_uarch_p5", value: 1048832) | |
!41 = !DIEnumerator(name: "cpuinfo_uarch_quark", value: 1048833) | |
!42 = !DIEnumerator(name: "cpuinfo_uarch_p6", value: 1049088) | |
!43 = !DIEnumerator(name: "cpuinfo_uarch_dothan", value: 1049089) | |
!44 = !DIEnumerator(name: "cpuinfo_uarch_yonah", value: 1049090) | |
!45 = !DIEnumerator(name: "cpuinfo_uarch_conroe", value: 1049091) | |
!46 = !DIEnumerator(name: "cpuinfo_uarch_penryn", value: 1049092) | |
!47 = !DIEnumerator(name: "cpuinfo_uarch_nehalem", value: 1049093) | |
!48 = !DIEnumerator(name: "cpuinfo_uarch_sandy_bridge", value: 1049094) | |
!49 = !DIEnumerator(name: "cpuinfo_uarch_ivy_bridge", value: 1049095) | |
!50 = !DIEnumerator(name: "cpuinfo_uarch_haswell", value: 1049096) | |
!51 = !DIEnumerator(name: "cpuinfo_uarch_broadwell", value: 1049097) | |
!52 = !DIEnumerator(name: "cpuinfo_uarch_sky_lake", value: 1049098) | |
!53 = !DIEnumerator(name: "cpuinfo_uarch_kaby_lake", value: 1049098) | |
!54 = !DIEnumerator(name: "cpuinfo_uarch_palm_cove", value: 1049099) | |
!55 = !DIEnumerator(name: "cpuinfo_uarch_sunny_cove", value: 1049100) | |
!56 = !DIEnumerator(name: "cpuinfo_uarch_willamette", value: 1049344) | |
!57 = !DIEnumerator(name: "cpuinfo_uarch_prescott", value: 1049345) | |
!58 = !DIEnumerator(name: "cpuinfo_uarch_bonnell", value: 1049600) | |
!59 = !DIEnumerator(name: "cpuinfo_uarch_saltwell", value: 1049601) | |
!60 = !DIEnumerator(name: "cpuinfo_uarch_silvermont", value: 1049602) | |
!61 = !DIEnumerator(name: "cpuinfo_uarch_airmont", value: 1049603) | |
!62 = !DIEnumerator(name: "cpuinfo_uarch_goldmont", value: 1049604) | |
!63 = !DIEnumerator(name: "cpuinfo_uarch_goldmont_plus", value: 1049605) | |
!64 = !DIEnumerator(name: "cpuinfo_uarch_knights_ferry", value: 1049856) | |
!65 = !DIEnumerator(name: "cpuinfo_uarch_knights_corner", value: 1049857) | |
!66 = !DIEnumerator(name: "cpuinfo_uarch_knights_landing", value: 1049858) | |
!67 = !DIEnumerator(name: "cpuinfo_uarch_knights_hill", value: 1049859) | |
!68 = !DIEnumerator(name: "cpuinfo_uarch_knights_mill", value: 1049860) | |
!69 = !DIEnumerator(name: "cpuinfo_uarch_xscale", value: 1050112) | |
!70 = !DIEnumerator(name: "cpuinfo_uarch_k5", value: 2097408) | |
!71 = !DIEnumerator(name: "cpuinfo_uarch_k6", value: 2097409) | |
!72 = !DIEnumerator(name: "cpuinfo_uarch_k7", value: 2097410) | |
!73 = !DIEnumerator(name: "cpuinfo_uarch_k8", value: 2097411) | |
!74 = !DIEnumerator(name: "cpuinfo_uarch_k10", value: 2097412) | |
!75 = !DIEnumerator(name: "cpuinfo_uarch_bulldozer", value: 2097413) | |
!76 = !DIEnumerator(name: "cpuinfo_uarch_piledriver", value: 2097414) | |
!77 = !DIEnumerator(name: "cpuinfo_uarch_steamroller", value: 2097415) | |
!78 = !DIEnumerator(name: "cpuinfo_uarch_excavator", value: 2097416) | |
!79 = !DIEnumerator(name: "cpuinfo_uarch_zen", value: 2097417) | |
!80 = !DIEnumerator(name: "cpuinfo_uarch_zen2", value: 2097418) | |
!81 = !DIEnumerator(name: "cpuinfo_uarch_zen3", value: 2097419) | |
!82 = !DIEnumerator(name: "cpuinfo_uarch_geode", value: 2097664) | |
!83 = !DIEnumerator(name: "cpuinfo_uarch_bobcat", value: 2097665) | |
!84 = !DIEnumerator(name: "cpuinfo_uarch_jaguar", value: 2097666) | |
!85 = !DIEnumerator(name: "cpuinfo_uarch_puma", value: 2097667) | |
!86 = !DIEnumerator(name: "cpuinfo_uarch_arm7", value: 3145984) | |
!87 = !DIEnumerator(name: "cpuinfo_uarch_arm9", value: 3145985) | |
!88 = !DIEnumerator(name: "cpuinfo_uarch_arm11", value: 3145986) | |
!89 = !DIEnumerator(name: "cpuinfo_uarch_cortex_a5", value: 3146245) | |
!90 = !DIEnumerator(name: "cpuinfo_uarch_cortex_a7", value: 3146247) | |
!91 = !DIEnumerator(name: "cpuinfo_uarch_cortex_a8", value: 3146248) | |
!92 = !DIEnumerator(name: "cpuinfo_uarch_cortex_a9", value: 3146249) | |
!93 = !DIEnumerator(name: "cpuinfo_uarch_cortex_a12", value: 3146258) | |
!94 = !DIEnumerator(name: "cpuinfo_uarch_cortex_a15", value: 3146261) | |
!95 = !DIEnumerator(name: "cpuinfo_uarch_cortex_a17", value: 3146263) | |
!96 = !DIEnumerator(name: "cpuinfo_uarch_cortex_a32", value: 3146546) | |
!97 = !DIEnumerator(name: "cpuinfo_uarch_cortex_a35", value: 3146549) | |
!98 = !DIEnumerator(name: "cpuinfo_uarch_cortex_a53", value: 3146579) | |
!99 = !DIEnumerator(name: "cpuinfo_uarch_cortex_a55r0", value: 3146580) | |
!100 = !DIEnumerator(name: "cpuinfo_uarch_cortex_a55", value: 3146581) | |
!101 = !DIEnumerator(name: "cpuinfo_uarch_cortex_a57", value: 3146583) | |
!102 = !DIEnumerator(name: "cpuinfo_uarch_cortex_a65", value: 3146597) | |
!103 = !DIEnumerator(name: "cpuinfo_uarch_cortex_a72", value: 3146610) | |
!104 = !DIEnumerator(name: "cpuinfo_uarch_cortex_a73", value: 3146611) | |
!105 = !DIEnumerator(name: "cpuinfo_uarch_cortex_a75", value: 3146613) | |
!106 = !DIEnumerator(name: "cpuinfo_uarch_cortex_a76", value: 3146614) | |
!107 = !DIEnumerator(name: "cpuinfo_uarch_cortex_a77", value: 3146615) | |
!108 = !DIEnumerator(name: "cpuinfo_uarch_cortex_a78", value: 3146616) | |
!109 = !DIEnumerator(name: "cpuinfo_uarch_neoverse_n1", value: 3146752) | |
!110 = !DIEnumerator(name: "cpuinfo_uarch_neoverse_e1", value: 3146753) | |
!111 = !DIEnumerator(name: "cpuinfo_uarch_cortex_x1", value: 3147008) | |
!112 = !DIEnumerator(name: "cpuinfo_uarch_cortex_x2", value: 3147010) | |
!113 = !DIEnumerator(name: "cpuinfo_uarch_cortex_a510", value: 3147089) | |
!114 = !DIEnumerator(name: "cpuinfo_uarch_cortex_a710", value: 3147121) | |
!115 = !DIEnumerator(name: "cpuinfo_uarch_scorpion", value: 4194560) | |
!116 = !DIEnumerator(name: "cpuinfo_uarch_krait", value: 4194561) | |
!117 = !DIEnumerator(name: "cpuinfo_uarch_kryo", value: 4194562) | |
!118 = !DIEnumerator(name: "cpuinfo_uarch_falkor", value: 4194563) | |
!119 = !DIEnumerator(name: "cpuinfo_uarch_saphira", value: 4194564) | |
!120 = !DIEnumerator(name: "cpuinfo_uarch_denver", value: 5243136) | |
!121 = !DIEnumerator(name: "cpuinfo_uarch_denver2", value: 5243137) | |
!122 = !DIEnumerator(name: "cpuinfo_uarch_carmel", value: 5243138) | |
!123 = !DIEnumerator(name: "cpuinfo_uarch_exynos_m1", value: 6291712) | |
!124 = !DIEnumerator(name: "cpuinfo_uarch_exynos_m2", value: 6291713) | |
!125 = !DIEnumerator(name: "cpuinfo_uarch_exynos_m3", value: 6291714) | |
!126 = !DIEnumerator(name: "cpuinfo_uarch_exynos_m4", value: 6291715) | |
!127 = !DIEnumerator(name: "cpuinfo_uarch_exynos_m5", value: 6291716) | |
!128 = !DIEnumerator(name: "cpuinfo_uarch_cortex_a76ae", value: 3146614) | |
!129 = !DIEnumerator(name: "cpuinfo_uarch_mongoose_m1", value: 6291712) | |
!130 = !DIEnumerator(name: "cpuinfo_uarch_mongoose_m2", value: 6291713) | |
!131 = !DIEnumerator(name: "cpuinfo_uarch_meerkat_m3", value: 6291714) | |
!132 = !DIEnumerator(name: "cpuinfo_uarch_meerkat_m4", value: 6291715) | |
!133 = !DIEnumerator(name: "cpuinfo_uarch_swift", value: 7340288) | |
!134 = !DIEnumerator(name: "cpuinfo_uarch_cyclone", value: 7340289) | |
!135 = !DIEnumerator(name: "cpuinfo_uarch_typhoon", value: 7340290) | |
!136 = !DIEnumerator(name: "cpuinfo_uarch_twister", value: 7340291) | |
!137 = !DIEnumerator(name: "cpuinfo_uarch_hurricane", value: 7340292) | |
!138 = !DIEnumerator(name: "cpuinfo_uarch_monsoon", value: 7340293) | |
!139 = !DIEnumerator(name: "cpuinfo_uarch_mistral", value: 7340294) | |
!140 = !DIEnumerator(name: "cpuinfo_uarch_vortex", value: 7340295) | |
!141 = !DIEnumerator(name: "cpuinfo_uarch_tempest", value: 7340296) | |
!142 = !DIEnumerator(name: "cpuinfo_uarch_lightning", value: 7340297) | |
!143 = !DIEnumerator(name: "cpuinfo_uarch_thunder", value: 7340298) | |
!144 = !DIEnumerator(name: "cpuinfo_uarch_firestorm", value: 7340299) | |
!145 = !DIEnumerator(name: "cpuinfo_uarch_icestorm", value: 7340300) | |
!146 = !DIEnumerator(name: "cpuinfo_uarch_thunderx", value: 8388864) | |
!147 = !DIEnumerator(name: "cpuinfo_uarch_thunderx2", value: 8389120) | |
!148 = !DIEnumerator(name: "cpuinfo_uarch_pj4", value: 9437440) | |
!149 = !DIEnumerator(name: "cpuinfo_uarch_brahma_b15", value: 10486016) | |
!150 = !DIEnumerator(name: "cpuinfo_uarch_brahma_b53", value: 10486017) | |
!151 = !DIEnumerator(name: "cpuinfo_uarch_xgene", value: 11534592) | |
!152 = !DIEnumerator(name: "cpuinfo_uarch_dhyana", value: 16777472) | |
!153 = !DIEnumerator(name: "cpuinfo_uarch_taishan_v110", value: 12583168) | |
!154 = !{!155} | |
!155 = !DIDerivedType(tag: DW_TAG_typedef, name: "uint64_t", file: !156, line: 27, baseType: !157) | |
!156 = !DIFile(filename: "glibc/include/bits/stdint-uintn.h", directory: "workspace", checksumkind: CSK_MD5, checksum: "9754ebe022edbe8d7928fa709e442f0d") | |
!157 = !DIDerivedType(tag: DW_TAG_typedef, name: "__uint64_t", file: !158, line: 44, baseType: !159) | |
!158 = !DIFile(filename: "glibc/include/bits/types.h", directory: "workspace", checksumkind: CSK_MD5, checksum: "25679ba19d359e314e48661b21f5aa1f") | |
!159 = !DIBasicType(name: "unsigned long", size: 64, encoding: DW_ATE_unsigned) | |
!160 = !{i32 7, !"Dwarf Version", i32 5} | |
!161 = !{i32 2, !"Debug Info Version", i32 3} | |
!162 = !{i32 1, !"wchar_size", i32 4} | |
!163 = !{i32 7, !"PIC Level", i32 2} | |
!164 = !{i32 7, !"frame-pointer", i32 2} | |
!165 = !{!"clang version 0fe13b5f84abe1716f5991da057c801dc548a9ab"} | |
!166 = distinct !DISubprogram(name: "cpuinfo_x86_detect_isa", scope: !1, file: !1, line: 38, type: !167, scopeLine: 42, flags: DIFlagPrototyped | DIFlagAllCallsDescribed, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !0, retainedNodes: !256) | |
!167 = !DISubroutineType(types: !168) | |
!168 = !{!169, !246, !246, !251, !251, !3, !37} | |
!169 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "cpuinfo_x86_isa", file: !4, line: 670, size: 592, elements: !170) | |
!170 = !{!171, !173, !174, !175, !176, !177, !178, !179, !180, !181, !182, !183, !184, !185, !186, !187, !188, !189, !190, !191, !192, !193, !194, !195, !196, !197, !198, !199, !200, !201, !202, !203, !204, !205, !206, !207, !208, !209, !210, !211, !212, !213, !214, !215, !216, !217, !218, !219, !220, !221, !222, !223, !224, !225, !226, !227, !228, !229, !230, !231, !232, !233, !234, !235, !236, !237, !238, !239, !240, !241, !242, !243, !244, !245} | |
!171 = !DIDerivedType(tag: DW_TAG_member, name: "rdtscp", scope: !169, file: !4, line: 674, baseType: !172, size: 8) | |
!172 = !DIBasicType(name: "_Bool", size: 8, encoding: DW_ATE_boolean) | |
!173 = !DIDerivedType(tag: DW_TAG_member, name: "rdpid", scope: !169, file: !4, line: 675, baseType: !172, size: 8, offset: 8) | |
!174 = !DIDerivedType(tag: DW_TAG_member, name: "sysenter", scope: !169, file: !4, line: 676, baseType: !172, size: 8, offset: 16) | |
!175 = !DIDerivedType(tag: DW_TAG_member, name: "msr", scope: !169, file: !4, line: 680, baseType: !172, size: 8, offset: 24) | |
!176 = !DIDerivedType(tag: DW_TAG_member, name: "clzero", scope: !169, file: !4, line: 681, baseType: !172, size: 8, offset: 32) | |
!177 = !DIDerivedType(tag: DW_TAG_member, name: "clflush", scope: !169, file: !4, line: 682, baseType: !172, size: 8, offset: 40) | |
!178 = !DIDerivedType(tag: DW_TAG_member, name: "clflushopt", scope: !169, file: !4, line: 683, baseType: !172, size: 8, offset: 48) | |
!179 = !DIDerivedType(tag: DW_TAG_member, name: "mwait", scope: !169, file: !4, line: 684, baseType: !172, size: 8, offset: 56) | |
!180 = !DIDerivedType(tag: DW_TAG_member, name: "mwaitx", scope: !169, file: !4, line: 685, baseType: !172, size: 8, offset: 64) | |
!181 = !DIDerivedType(tag: DW_TAG_member, name: "fxsave", scope: !169, file: !4, line: 689, baseType: !172, size: 8, offset: 72) | |
!182 = !DIDerivedType(tag: DW_TAG_member, name: "xsave", scope: !169, file: !4, line: 690, baseType: !172, size: 8, offset: 80) | |
!183 = !DIDerivedType(tag: DW_TAG_member, name: "three_d_now", scope: !169, file: !4, line: 696, baseType: !172, size: 8, offset: 88) | |
!184 = !DIDerivedType(tag: DW_TAG_member, name: "three_d_now_plus", scope: !169, file: !4, line: 697, baseType: !172, size: 8, offset: 96) | |
!185 = !DIDerivedType(tag: DW_TAG_member, name: "prefetch", scope: !169, file: !4, line: 701, baseType: !172, size: 8, offset: 104) | |
!186 = !DIDerivedType(tag: DW_TAG_member, name: "prefetchw", scope: !169, file: !4, line: 702, baseType: !172, size: 8, offset: 112) | |
!187 = !DIDerivedType(tag: DW_TAG_member, name: "prefetchwt1", scope: !169, file: !4, line: 703, baseType: !172, size: 8, offset: 120) | |
!188 = !DIDerivedType(tag: DW_TAG_member, name: "sse3", scope: !169, file: !4, line: 709, baseType: !172, size: 8, offset: 128) | |
!189 = !DIDerivedType(tag: DW_TAG_member, name: "ssse3", scope: !169, file: !4, line: 710, baseType: !172, size: 8, offset: 136) | |
!190 = !DIDerivedType(tag: DW_TAG_member, name: "sse4_1", scope: !169, file: !4, line: 711, baseType: !172, size: 8, offset: 144) | |
!191 = !DIDerivedType(tag: DW_TAG_member, name: "sse4_2", scope: !169, file: !4, line: 712, baseType: !172, size: 8, offset: 152) | |
!192 = !DIDerivedType(tag: DW_TAG_member, name: "sse4a", scope: !169, file: !4, line: 713, baseType: !172, size: 8, offset: 160) | |
!193 = !DIDerivedType(tag: DW_TAG_member, name: "misaligned_sse", scope: !169, file: !4, line: 714, baseType: !172, size: 8, offset: 168) | |
!194 = !DIDerivedType(tag: DW_TAG_member, name: "avx", scope: !169, file: !4, line: 715, baseType: !172, size: 8, offset: 176) | |
!195 = !DIDerivedType(tag: DW_TAG_member, name: "fma3", scope: !169, file: !4, line: 716, baseType: !172, size: 8, offset: 184) | |
!196 = !DIDerivedType(tag: DW_TAG_member, name: "fma4", scope: !169, file: !4, line: 717, baseType: !172, size: 8, offset: 192) | |
!197 = !DIDerivedType(tag: DW_TAG_member, name: "xop", scope: !169, file: !4, line: 718, baseType: !172, size: 8, offset: 200) | |
!198 = !DIDerivedType(tag: DW_TAG_member, name: "f16c", scope: !169, file: !4, line: 719, baseType: !172, size: 8, offset: 208) | |
!199 = !DIDerivedType(tag: DW_TAG_member, name: "avx2", scope: !169, file: !4, line: 720, baseType: !172, size: 8, offset: 216) | |
!200 = !DIDerivedType(tag: DW_TAG_member, name: "avx512f", scope: !169, file: !4, line: 721, baseType: !172, size: 8, offset: 224) | |
!201 = !DIDerivedType(tag: DW_TAG_member, name: "avx512pf", scope: !169, file: !4, line: 722, baseType: !172, size: 8, offset: 232) | |
!202 = !DIDerivedType(tag: DW_TAG_member, name: "avx512er", scope: !169, file: !4, line: 723, baseType: !172, size: 8, offset: 240) | |
!203 = !DIDerivedType(tag: DW_TAG_member, name: "avx512cd", scope: !169, file: !4, line: 724, baseType: !172, size: 8, offset: 248) | |
!204 = !DIDerivedType(tag: DW_TAG_member, name: "avx512dq", scope: !169, file: !4, line: 725, baseType: !172, size: 8, offset: 256) | |
!205 = !DIDerivedType(tag: DW_TAG_member, name: "avx512bw", scope: !169, file: !4, line: 726, baseType: !172, size: 8, offset: 264) | |
!206 = !DIDerivedType(tag: DW_TAG_member, name: "avx512vl", scope: !169, file: !4, line: 727, baseType: !172, size: 8, offset: 272) | |
!207 = !DIDerivedType(tag: DW_TAG_member, name: "avx512ifma", scope: !169, file: !4, line: 728, baseType: !172, size: 8, offset: 280) | |
!208 = !DIDerivedType(tag: DW_TAG_member, name: "avx512vbmi", scope: !169, file: !4, line: 729, baseType: !172, size: 8, offset: 288) | |
!209 = !DIDerivedType(tag: DW_TAG_member, name: "avx512vbmi2", scope: !169, file: !4, line: 730, baseType: !172, size: 8, offset: 296) | |
!210 = !DIDerivedType(tag: DW_TAG_member, name: "avx512bitalg", scope: !169, file: !4, line: 731, baseType: !172, size: 8, offset: 304) | |
!211 = !DIDerivedType(tag: DW_TAG_member, name: "avx512vpopcntdq", scope: !169, file: !4, line: 732, baseType: !172, size: 8, offset: 312) | |
!212 = !DIDerivedType(tag: DW_TAG_member, name: "avx512vnni", scope: !169, file: !4, line: 733, baseType: !172, size: 8, offset: 320) | |
!213 = !DIDerivedType(tag: DW_TAG_member, name: "avx512bf16", scope: !169, file: !4, line: 734, baseType: !172, size: 8, offset: 328) | |
!214 = !DIDerivedType(tag: DW_TAG_member, name: "avx512vp2intersect", scope: !169, file: !4, line: 735, baseType: !172, size: 8, offset: 336) | |
!215 = !DIDerivedType(tag: DW_TAG_member, name: "avx512_4vnniw", scope: !169, file: !4, line: 736, baseType: !172, size: 8, offset: 344) | |
!216 = !DIDerivedType(tag: DW_TAG_member, name: "avx512_4fmaps", scope: !169, file: !4, line: 737, baseType: !172, size: 8, offset: 352) | |
!217 = !DIDerivedType(tag: DW_TAG_member, name: "hle", scope: !169, file: !4, line: 738, baseType: !172, size: 8, offset: 360) | |
!218 = !DIDerivedType(tag: DW_TAG_member, name: "rtm", scope: !169, file: !4, line: 739, baseType: !172, size: 8, offset: 368) | |
!219 = !DIDerivedType(tag: DW_TAG_member, name: "xtest", scope: !169, file: !4, line: 740, baseType: !172, size: 8, offset: 376) | |
!220 = !DIDerivedType(tag: DW_TAG_member, name: "mpx", scope: !169, file: !4, line: 741, baseType: !172, size: 8, offset: 384) | |
!221 = !DIDerivedType(tag: DW_TAG_member, name: "cmpxchg16b", scope: !169, file: !4, line: 746, baseType: !172, size: 8, offset: 392) | |
!222 = !DIDerivedType(tag: DW_TAG_member, name: "clwb", scope: !169, file: !4, line: 747, baseType: !172, size: 8, offset: 400) | |
!223 = !DIDerivedType(tag: DW_TAG_member, name: "movbe", scope: !169, file: !4, line: 748, baseType: !172, size: 8, offset: 408) | |
!224 = !DIDerivedType(tag: DW_TAG_member, name: "lahf_sahf", scope: !169, file: !4, line: 750, baseType: !172, size: 8, offset: 416) | |
!225 = !DIDerivedType(tag: DW_TAG_member, name: "fs_gs_base", scope: !169, file: !4, line: 752, baseType: !172, size: 8, offset: 424) | |
!226 = !DIDerivedType(tag: DW_TAG_member, name: "lzcnt", scope: !169, file: !4, line: 753, baseType: !172, size: 8, offset: 432) | |
!227 = !DIDerivedType(tag: DW_TAG_member, name: "popcnt", scope: !169, file: !4, line: 754, baseType: !172, size: 8, offset: 440) | |
!228 = !DIDerivedType(tag: DW_TAG_member, name: "tbm", scope: !169, file: !4, line: 755, baseType: !172, size: 8, offset: 448) | |
!229 = !DIDerivedType(tag: DW_TAG_member, name: "bmi", scope: !169, file: !4, line: 756, baseType: !172, size: 8, offset: 456) | |
!230 = !DIDerivedType(tag: DW_TAG_member, name: "bmi2", scope: !169, file: !4, line: 757, baseType: !172, size: 8, offset: 464) | |
!231 = !DIDerivedType(tag: DW_TAG_member, name: "adx", scope: !169, file: !4, line: 758, baseType: !172, size: 8, offset: 472) | |
!232 = !DIDerivedType(tag: DW_TAG_member, name: "aes", scope: !169, file: !4, line: 759, baseType: !172, size: 8, offset: 480) | |
!233 = !DIDerivedType(tag: DW_TAG_member, name: "vaes", scope: !169, file: !4, line: 760, baseType: !172, size: 8, offset: 488) | |
!234 = !DIDerivedType(tag: DW_TAG_member, name: "pclmulqdq", scope: !169, file: !4, line: 761, baseType: !172, size: 8, offset: 496) | |
!235 = !DIDerivedType(tag: DW_TAG_member, name: "vpclmulqdq", scope: !169, file: !4, line: 762, baseType: !172, size: 8, offset: 504) | |
!236 = !DIDerivedType(tag: DW_TAG_member, name: "gfni", scope: !169, file: !4, line: 763, baseType: !172, size: 8, offset: 512) | |
!237 = !DIDerivedType(tag: DW_TAG_member, name: "rdrand", scope: !169, file: !4, line: 764, baseType: !172, size: 8, offset: 520) | |
!238 = !DIDerivedType(tag: DW_TAG_member, name: "rdseed", scope: !169, file: !4, line: 765, baseType: !172, size: 8, offset: 528) | |
!239 = !DIDerivedType(tag: DW_TAG_member, name: "sha", scope: !169, file: !4, line: 766, baseType: !172, size: 8, offset: 536) | |
!240 = !DIDerivedType(tag: DW_TAG_member, name: "rng", scope: !169, file: !4, line: 767, baseType: !172, size: 8, offset: 544) | |
!241 = !DIDerivedType(tag: DW_TAG_member, name: "ace", scope: !169, file: !4, line: 768, baseType: !172, size: 8, offset: 552) | |
!242 = !DIDerivedType(tag: DW_TAG_member, name: "ace2", scope: !169, file: !4, line: 769, baseType: !172, size: 8, offset: 560) | |
!243 = !DIDerivedType(tag: DW_TAG_member, name: "phe", scope: !169, file: !4, line: 770, baseType: !172, size: 8, offset: 568) | |
!244 = !DIDerivedType(tag: DW_TAG_member, name: "pmm", scope: !169, file: !4, line: 771, baseType: !172, size: 8, offset: 576) | |
!245 = !DIDerivedType(tag: DW_TAG_member, name: "lwp", scope: !169, file: !4, line: 772, baseType: !172, size: 8, offset: 584) | |
!246 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !247) | |
!247 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "cpuid_regs", file: !248, line: 10, size: 128, elements: !249) | |
!248 = !DIFile(filename: "cpuinfo/src/x86/api.h", directory: "workspace", checksumkind: CSK_MD5, checksum: "27c8ee589f06b55198de5debd23b68da") | |
!249 = !{!250, !253, !254, !255} | |
!250 = !DIDerivedType(tag: DW_TAG_member, name: "eax", scope: !247, file: !248, line: 11, baseType: !251, size: 32) | |
!251 = !DIDerivedType(tag: DW_TAG_typedef, name: "uint32_t", file: !156, line: 26, baseType: !252) | |
!252 = !DIDerivedType(tag: DW_TAG_typedef, name: "__uint32_t", file: !158, line: 41, baseType: !5) | |
!253 = !DIDerivedType(tag: DW_TAG_member, name: "ebx", scope: !247, file: !248, line: 12, baseType: !251, size: 32, offset: 32) | |
!254 = !DIDerivedType(tag: DW_TAG_member, name: "ecx", scope: !247, file: !248, line: 13, baseType: !251, size: 32, offset: 64) | |
!255 = !DIDerivedType(tag: DW_TAG_member, name: "edx", scope: !247, file: !248, line: 14, baseType: !251, size: 32, offset: 96) | |
!256 = !{!257, !258, !259, !260, !261, !262, !263, !264, !265, !266, !268, !269, !270, !271, !272, !273, !276, !279, !281, !282, !283, !284, !287, !288, !289, !292, !293, !294, !295, !296} | |
!257 = !DILocalVariable(name: "basic_info", arg: 1, scope: !166, file: !1, line: 39, type: !246) | |
!258 = !DILocalVariable(name: "extended_info", arg: 2, scope: !166, file: !1, line: 39, type: !246) | |
!259 = !DILocalVariable(name: "max_base_index", arg: 3, scope: !166, file: !1, line: 40, type: !251) | |
!260 = !DILocalVariable(name: "max_extended_index", arg: 4, scope: !166, file: !1, line: 40, type: !251) | |
!261 = !DILocalVariable(name: "vendor", arg: 5, scope: !166, file: !1, line: 41, type: !3) | |
!262 = !DILocalVariable(name: "uarch", arg: 6, scope: !166, file: !1, line: 41, type: !37) | |
!263 = !DILocalVariable(name: "isa", scope: !166, file: !1, line: 43, type: !169) | |
!264 = !DILocalVariable(name: "structured_feature_info0", scope: !166, file: !1, line: 45, type: !246) | |
!265 = !DILocalVariable(name: "structured_feature_info1", scope: !166, file: !1, line: 47, type: !246) | |
!266 = !DILocalVariable(name: "processor_capacity_info_index", scope: !166, file: !1, line: 50, type: !267) | |
!267 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !251) | |
!268 = !DILocalVariable(name: "processor_capacity_info", scope: !166, file: !1, line: 51, type: !246) | |
!269 = !DILocalVariable(name: "avx_regs", scope: !166, file: !1, line: 55, type: !172) | |
!270 = !DILocalVariable(name: "avx512_regs", scope: !166, file: !1, line: 55, type: !172) | |
!271 = !DILocalVariable(name: "mpx_regs", scope: !166, file: !1, line: 55, type: !172) | |
!272 = !DILocalVariable(name: "osxsave_mask", scope: !166, file: !1, line: 61, type: !267) | |
!273 = !DILocalVariable(name: "xcr0_valid_bits", scope: !274, file: !1, line: 63, type: !155) | |
!274 = distinct !DILexicalBlock(scope: !275, file: !1, line: 62, column: 55) | |
!275 = distinct !DILexicalBlock(scope: !166, file: !1, line: 62, column: 6) | |
!276 = !DILocalVariable(name: "regs", scope: !277, file: !1, line: 65, type: !246) | |
!277 = distinct !DILexicalBlock(scope: !278, file: !1, line: 64, column: 30) | |
!278 = distinct !DILexicalBlock(scope: !274, file: !1, line: 64, column: 7) | |
!279 = !DILocalVariable(name: "xfeature_enabled_mask", scope: !274, file: !1, line: 69, type: !280) | |
!280 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !155) | |
!281 = !DILocalVariable(name: "avx_regs_mask", scope: !274, file: !1, line: 76, type: !280) | |
!282 = !DILocalVariable(name: "avx512_regs_mask", scope: !274, file: !1, line: 89, type: !280) | |
!283 = !DILocalVariable(name: "mpx_regs_mask", scope: !274, file: !1, line: 99, type: !280) | |
!284 = !DILocalVariable(name: "padlock_meta_info", scope: !285, file: !1, line: 657, type: !246) | |
!285 = distinct !DILexicalBlock(scope: !286, file: !1, line: 656, column: 36) | |
!286 = distinct !DILexicalBlock(scope: !166, file: !1, line: 656, column: 6) | |
!287 = !DILocalVariable(name: "max_padlock_index", scope: !285, file: !1, line: 658, type: !267) | |
!288 = !DILocalVariable(name: "padlock_info_index", scope: !285, file: !1, line: 659, type: !267) | |
!289 = !DILocalVariable(name: "padlock_info", scope: !290, file: !1, line: 661, type: !246) | |
!290 = distinct !DILexicalBlock(scope: !291, file: !1, line: 660, column: 48) | |
!291 = distinct !DILexicalBlock(scope: !285, file: !1, line: 660, column: 7) | |
!292 = !DILocalVariable(name: "padlock_rng_mask", scope: !290, file: !1, line: 668, type: !267) | |
!293 = !DILocalVariable(name: "padlock_ace_mask", scope: !290, file: !1, line: 676, type: !267) | |
!294 = !DILocalVariable(name: "padlock_ace2_mask", scope: !290, file: !1, line: 684, type: !267) | |
!295 = !DILocalVariable(name: "padlock_phe_mask", scope: !290, file: !1, line: 692, type: !267) | |
!296 = !DILocalVariable(name: "padlock_pmm_mask", scope: !290, file: !1, line: 700, type: !267) | |
!297 = !DILocation(line: 0, scope: !166) | |
!298 = !DILocation(line: 43, column: 25, scope: !166) | |
!299 = !DILocation(line: 46, column: 19, scope: !166) | |
!300 = !DILocation(line: 46, column: 3, scope: !166) | |
!301 = !DILocalVariable(name: "eax", arg: 1, scope: !302, file: !303, line: 43, type: !251) | |
!302 = distinct !DISubprogram(name: "cpuidex", scope: !303, file: !303, line: 43, type: !304, scopeLine: 43, flags: DIFlagPrototyped | DIFlagAllCallsDescribed, spFlags: DISPFlagLocalToUnit | DISPFlagDefinition | DISPFlagOptimized, unit: !0, retainedNodes: !306) | |
!303 = !DIFile(filename: "cpuinfo/src/x86/cpuid.h", directory: "workspace", checksumkind: CSK_MD5, checksum: "f9e451aa7a48009ba003a034c14f0ac3") | |
!304 = !DISubroutineType(types: !305) | |
!305 = !{!247, !251, !251} | |
!306 = !{!301, !307, !308} | |
!307 = !DILocalVariable(name: "ecx", arg: 2, scope: !302, file: !303, line: 43, type: !251) | |
!308 = !DILocalVariable(name: "regs", scope: !302, file: !303, line: 54, type: !247) | |
!309 = !DILocation(line: 0, scope: !302, inlinedAt: !310) | |
!310 = distinct !DILocation(line: 46, column: 27, scope: !166) | |
!311 = !DILocation(line: 56, column: 5, scope: !302, inlinedAt: !310) | |
!312 = !{i64 2147921615, i64 2147921651, i64 2147921675} | |
!313 = !DILocation(line: 65, column: 4, scope: !302, inlinedAt: !310) | |
!314 = !DILocation(line: 0, scope: !302, inlinedAt: !315) | |
!315 = distinct !DILocation(line: 48, column: 27, scope: !166) | |
!316 = !DILocation(line: 56, column: 5, scope: !302, inlinedAt: !315) | |
!317 = !DILocation(line: 65, column: 4, scope: !302, inlinedAt: !315) | |
!318 = !DILocation(line: 48, column: 3, scope: !166) | |
!319 = !DILocation(line: 52, column: 23, scope: !166) | |
!320 = !DILocation(line: 52, column: 3, scope: !166) | |
!321 = !DILocalVariable(name: "eax", arg: 1, scope: !322, file: !303, line: 17, type: !251) | |
!322 = distinct !DISubprogram(name: "cpuid", scope: !303, file: !303, line: 17, type: !323, scopeLine: 17, flags: DIFlagPrototyped | DIFlagAllCallsDescribed, spFlags: DISPFlagLocalToUnit | DISPFlagDefinition | DISPFlagOptimized, unit: !0, retainedNodes: !325) | |
!323 = !DISubroutineType(types: !324) | |
!324 = !{!247, !251} | |
!325 = !{!321, !326} | |
!326 = !DILocalVariable(name: "regs", scope: !322, file: !303, line: 28, type: !247) | |
!327 = !DILocation(line: 0, scope: !322, inlinedAt: !328) | |
!328 = distinct !DILocation(line: 53, column: 4, scope: !166) | |
!329 = !DILocation(line: 30, column: 5, scope: !322, inlinedAt: !328) | |
!330 = !{i64 2147921400, i64 2147921436, i64 2147921460} | |
!331 = !DILocation(line: 62, column: 22, scope: !275) | |
!332 = !DILocation(line: 62, column: 38, scope: !275) | |
!333 = !DILocation(line: 62, column: 6, scope: !166) | |
!334 = !DILocation(line: 0, scope: !274) | |
!335 = !DILocation(line: 64, column: 22, scope: !278) | |
!336 = !DILocation(line: 64, column: 7, scope: !274) | |
!337 = !DILocation(line: 0, scope: !302, inlinedAt: !338) | |
!338 = distinct !DILocation(line: 65, column: 35, scope: !277) | |
!339 = !DILocation(line: 56, column: 5, scope: !302, inlinedAt: !338) | |
!340 = !DILocation(line: 65, column: 4, scope: !302, inlinedAt: !338) | |
!341 = !DILocation(line: 0, scope: !277) | |
!342 = !DILocation(line: 67, column: 3, scope: !277) | |
!343 = !DILocalVariable(name: "ext_ctrl_reg", arg: 1, scope: !344, file: !303, line: 70, type: !251) | |
!344 = distinct !DISubprogram(name: "xgetbv", scope: !303, file: !303, line: 70, type: !345, scopeLine: 70, flags: DIFlagPrototyped | DIFlagAllCallsDescribed, spFlags: DISPFlagLocalToUnit | DISPFlagDefinition | DISPFlagOptimized, unit: !0, retainedNodes: !347) | |
!345 = !DISubroutineType(cc: DW_CC_nocall, types: !346) | |
!346 = !{!155, !251} | |
!347 = !{!343, !348, !349} | |
!348 = !DILocalVariable(name: "lo", scope: !344, file: !303, line: 74, type: !251) | |
!349 = !DILocalVariable(name: "hi", scope: !344, file: !303, line: 74, type: !251) | |
!350 = !DILocation(line: 0, scope: !344, inlinedAt: !351) | |
!351 = distinct !DILocation(line: 69, column: 42, scope: !274) | |
!352 = !DILocation(line: 75, column: 3, scope: !344, inlinedAt: !351) | |
!353 = !{i64 371123} | |
!354 = !DILocation(line: 76, column: 34, scope: !344, inlinedAt: !351) | |
!355 = !DILocation(line: 77, column: 24, scope: !356) | |
!356 = distinct !DILexicalBlock(scope: !274, file: !1, line: 77, column: 7) | |
!357 = !DILocation(line: 77, column: 41, scope: !356) | |
!358 = !DILocation(line: 77, column: 7, scope: !274) | |
!359 = !DILocation(line: 100, column: 24, scope: !360) | |
!360 = distinct !DILexicalBlock(scope: !274, file: !1, line: 100, column: 7) | |
!361 = !DILocation(line: 100, column: 41, scope: !360) | |
!362 = !DILocation(line: 100, column: 7, scope: !274) | |
!363 = !DILocation(line: 103, column: 2, scope: !274) | |
!364 = !DILocation(line: 118, column: 6, scope: !166) | |
!365 = !DILocation(line: 118, column: 15, scope: !166) | |
!366 = !DILocation(line: 133, column: 31, scope: !166) | |
!367 = !DILocation(line: 133, column: 6, scope: !166) | |
!368 = !DILocation(line: 133, column: 10, scope: !166) | |
!369 = !DILocation(line: 139, column: 6, scope: !166) | |
!370 = !DILocation(line: 139, column: 13, scope: !166) | |
!371 = !DILocation(line: 145, column: 6, scope: !166) | |
!372 = !DILocation(line: 145, column: 14, scope: !166) | |
!373 = !DILocation(line: 151, column: 47, scope: !166) | |
!374 = !DILocation(line: 151, column: 6, scope: !166) | |
!375 = !DILocation(line: 151, column: 17, scope: !166) | |
!376 = !DILocation(line: 157, column: 6, scope: !166) | |
!377 = !DILocation(line: 157, column: 12, scope: !166) | |
!378 = !DILocation(line: 163, column: 6, scope: !166) | |
!379 = !DILocation(line: 163, column: 13, scope: !166) | |
!380 = !DILocation(line: 178, column: 8, scope: !381) | |
!381 = distinct !DILexicalBlock(scope: !166, file: !1, line: 170, column: 18) | |
!382 = !DILocation(line: 178, column: 15, scope: !381) | |
!383 = !DILocation(line: 186, column: 6, scope: !166) | |
!384 = !DILocation(line: 186, column: 12, scope: !166) | |
!385 = !DILocation(line: 215, column: 6, scope: !166) | |
!386 = !DILocation(line: 215, column: 18, scope: !166) | |
!387 = !DILocation(line: 221, column: 6, scope: !166) | |
!388 = !DILocation(line: 221, column: 23, scope: !166) | |
!389 = !DILocation(line: 239, column: 2, scope: !166) | |
!390 = !DILocation(line: 248, column: 41, scope: !391) | |
!391 = distinct !DILexicalBlock(scope: !166, file: !1, line: 239, column: 18) | |
!392 = !DILocation(line: 248, column: 86, scope: !391) | |
!393 = !DILocation(line: 248, column: 65, scope: !391) | |
!394 = !DILocation(line: 248, column: 20, scope: !391) | |
!395 = !DILocation(line: 249, column: 4, scope: !391) | |
!396 = !DILocation(line: 255, column: 20, scope: !391) | |
!397 = !DILocation(line: 256, column: 4, scope: !391) | |
!398 = !DILocation(line: 0, scope: !391) | |
!399 = !DILocation(line: 267, column: 2, scope: !166) | |
!400 = !DILocation(line: 0, scope: !401) | |
!401 = distinct !DILexicalBlock(scope: !166, file: !1, line: 267, column: 18) | |
!402 = !DILocation(line: 282, column: 6, scope: !166) | |
!403 = !DILocation(line: 282, column: 18, scope: !166) | |
!404 = !DILocation(line: 302, column: 6, scope: !166) | |
!405 = !DILocation(line: 302, column: 11, scope: !166) | |
!406 = !DILocation(line: 334, column: 6, scope: !166) | |
!407 = !DILocation(line: 334, column: 12, scope: !166) | |
!408 = !DILocation(line: 341, column: 6, scope: !166) | |
!409 = !DILocation(line: 341, column: 13, scope: !166) | |
!410 = !DILocation(line: 347, column: 6, scope: !166) | |
!411 = !DILocation(line: 347, column: 13, scope: !166) | |
!412 = !DILocation(line: 353, column: 6, scope: !166) | |
!413 = !DILocation(line: 353, column: 12, scope: !166) | |
!414 = !DILocation(line: 359, column: 6, scope: !166) | |
!415 = !DILocation(line: 359, column: 21, scope: !166) | |
!416 = !DILocation(line: 365, column: 21, scope: !166) | |
!417 = !DILocation(line: 365, column: 6, scope: !166) | |
!418 = !DILocation(line: 365, column: 10, scope: !166) | |
!419 = !DILocation(line: 413, column: 29, scope: !166) | |
!420 = !DILocation(line: 413, column: 6, scope: !166) | |
!421 = !DILocation(line: 413, column: 15, scope: !166) | |
!422 = !DILocation(line: 419, column: 29, scope: !166) | |
!423 = !DILocation(line: 419, column: 6, scope: !166) | |
!424 = !DILocation(line: 419, column: 15, scope: !166) | |
!425 = !DILocation(line: 425, column: 29, scope: !166) | |
!426 = !DILocation(line: 425, column: 6, scope: !166) | |
!427 = !DILocation(line: 431, column: 29, scope: !166) | |
!428 = !DILocation(line: 437, column: 29, scope: !166) | |
!429 = !DILocation(line: 443, column: 31, scope: !166) | |
!430 = !DILocation(line: 449, column: 31, scope: !166) | |
!431 = !DILocation(line: 455, column: 32, scope: !166) | |
!432 = !DILocation(line: 461, column: 33, scope: !166) | |
!433 = !DILocation(line: 467, column: 36, scope: !166) | |
!434 = !DILocation(line: 425, column: 15, scope: !166) | |
!435 = !DILocation(line: 473, column: 31, scope: !166) | |
!436 = !DILocation(line: 473, column: 6, scope: !166) | |
!437 = !DILocation(line: 473, column: 17, scope: !166) | |
!438 = !DILocation(line: 479, column: 34, scope: !166) | |
!439 = !DILocation(line: 479, column: 6, scope: !166) | |
!440 = !DILocation(line: 479, column: 20, scope: !166) | |
!441 = !DILocation(line: 485, column: 34, scope: !166) | |
!442 = !DILocation(line: 485, column: 6, scope: !166) | |
!443 = !DILocation(line: 485, column: 20, scope: !166) | |
!444 = !DILocation(line: 491, column: 39, scope: !166) | |
!445 = !DILocation(line: 491, column: 6, scope: !166) | |
!446 = !DILocation(line: 491, column: 25, scope: !166) | |
!447 = !DILocation(line: 497, column: 31, scope: !166) | |
!448 = !DILocation(line: 497, column: 6, scope: !166) | |
!449 = !DILocation(line: 497, column: 17, scope: !166) | |
!450 = !DILocation(line: 503, column: 6, scope: !166) | |
!451 = !DILocation(line: 503, column: 10, scope: !166) | |
!452 = !DILocation(line: 509, column: 44, scope: !166) | |
!453 = !DILocation(line: 509, column: 13, scope: !166) | |
!454 = !DILocation(line: 509, column: 6, scope: !166) | |
!455 = !DILocation(line: 509, column: 10, scope: !166) | |
!456 = !DILocation(line: 515, column: 18, scope: !166) | |
!457 = !DILocation(line: 515, column: 22, scope: !166) | |
!458 = !DILocation(line: 515, column: 6, scope: !166) | |
!459 = !DILocation(line: 515, column: 12, scope: !166) | |
!460 = !DILocation(line: 521, column: 21, scope: !166) | |
!461 = !DILocation(line: 521, column: 6, scope: !166) | |
!462 = !DILocation(line: 521, column: 10, scope: !166) | |
!463 = !DILocation(line: 543, column: 6, scope: !166) | |
!464 = !DILocation(line: 543, column: 17, scope: !166) | |
!465 = !DILocation(line: 549, column: 11, scope: !166) | |
!466 = !DILocation(line: 555, column: 12, scope: !166) | |
!467 = !DILocation(line: 570, column: 17, scope: !166) | |
!468 = !DILocation(line: 576, column: 12, scope: !166) | |
!469 = !DILocation(line: 582, column: 13, scope: !166) | |
!470 = !DILocation(line: 588, column: 10, scope: !166) | |
!471 = !DILocation(line: 594, column: 10, scope: !166) | |
!472 = !DILocation(line: 600, column: 11, scope: !166) | |
!473 = !DILocation(line: 606, column: 10, scope: !166) | |
!474 = !DILocation(line: 612, column: 10, scope: !166) | |
!475 = !DILocation(line: 618, column: 11, scope: !166) | |
!476 = !DILocation(line: 624, column: 16, scope: !166) | |
!477 = !DILocation(line: 630, column: 17, scope: !166) | |
!478 = !DILocation(line: 636, column: 11, scope: !166) | |
!479 = !DILocation(line: 642, column: 6, scope: !166) | |
!480 = !DILocation(line: 642, column: 13, scope: !166) | |
!481 = !DILocation(line: 648, column: 6, scope: !166) | |
!482 = !DILocation(line: 648, column: 13, scope: !166) | |
!483 = !DILocation(line: 654, column: 6, scope: !166) | |
!484 = !DILocation(line: 654, column: 10, scope: !166) | |
!485 = !DILocation(line: 656, column: 13, scope: !286) | |
!486 = !DILocation(line: 656, column: 6, scope: !166) | |
!487 = !DILocation(line: 0, scope: !322, inlinedAt: !488) | |
!488 = distinct !DILocation(line: 657, column: 47, scope: !285) | |
!489 = !DILocation(line: 30, column: 5, scope: !322, inlinedAt: !488) | |
!490 = !DILocation(line: 0, scope: !285) | |
!491 = !DILocation(line: 660, column: 25, scope: !291) | |
!492 = !DILocation(line: 660, column: 7, scope: !285) | |
!493 = !DILocation(line: 0, scope: !322, inlinedAt: !494) | |
!494 = distinct !DILocation(line: 661, column: 43, scope: !290) | |
!495 = !DILocation(line: 30, column: 5, scope: !322, inlinedAt: !494) | |
!496 = !DILocation(line: 0, scope: !290) | |
!497 = !DILocation(line: 669, column: 32, scope: !290) | |
!498 = !DILocation(line: 669, column: 52, scope: !290) | |
!499 = !DILocation(line: 669, column: 8, scope: !290) | |
!500 = !DILocation(line: 669, column: 12, scope: !290) | |
!501 = !DILocation(line: 677, column: 8, scope: !290) | |
!502 = !DILocation(line: 685, column: 8, scope: !290) | |
!503 = !DILocation(line: 693, column: 8, scope: !290) | |
!504 = !DILocation(line: 701, column: 32, scope: !290) | |
!505 = !DILocation(line: 701, column: 52, scope: !290) | |
!506 = !DILocation(line: 677, column: 12, scope: !290) | |
!507 = !DILocation(line: 685, column: 13, scope: !290) | |
!508 = !DILocation(line: 693, column: 12, scope: !290) | |
!509 = !DILocation(line: 701, column: 8, scope: !290) | |
!510 = !DILocation(line: 701, column: 12, scope: !290) | |
!511 = !DILocation(line: 702, column: 3, scope: !290) | |
!512 = !DILocation(line: 709, column: 6, scope: !166) | |
!513 = !DILocation(line: 709, column: 10, scope: !166) | |
!514 = !DILocation(line: 715, column: 13, scope: !166) | |
!515 = !DILocation(line: 721, column: 6, scope: !166) | |
!516 = !DILocation(line: 721, column: 12, scope: !166) | |
!517 = !DILocation(line: 724, column: 1, scope: !166) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
; ModuleID = 'cpuinfo/src/x86/isa.c' | |
source_filename = "cpuinfo/src/x86/isa.c" | |
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128" | |
target triple = "x86_64-unknown-linux-gnu" | |
%struct.cpuinfo_x86_isa = type { i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8 } | |
; Function Attrs: argmemonly nounwind optsize sanitize_memory | |
define hidden void @cpuinfo_x86_detect_isa(%struct.cpuinfo_x86_isa* noalias sret(%struct.cpuinfo_x86_isa) align 1 %agg.result, i64 %basic_info.coerce0, i64 %basic_info.coerce1, i64 %extended_info.coerce0, i64 %extended_info.coerce1, i32 noundef %max_base_index, i32 noundef %max_extended_index, i32 noundef %vendor, i32 noundef %uarch) local_unnamed_addr #0 !dbg !166 { | |
entry: | |
call void @llvm.dbg.value(metadata i64 %basic_info.coerce0, metadata !257, metadata !DIExpression(DW_OP_LLVM_fragment, 0, 64)), !dbg !297 | |
%basic_info.sroa.1.8.extract.trunc = trunc i64 %basic_info.coerce1 to i32 | |
call void @llvm.dbg.value(metadata i32 %basic_info.sroa.1.8.extract.trunc, metadata !257, metadata !DIExpression(DW_OP_LLVM_fragment, 64, 32)), !dbg !297 | |
%basic_info.sroa.18.8.extract.shift = lshr i64 %basic_info.coerce1, 32 | |
call void @llvm.dbg.value(metadata i64 %basic_info.sroa.18.8.extract.shift, metadata !257, metadata !DIExpression(DW_OP_LLVM_convert, 64, DW_ATE_unsigned, DW_OP_LLVM_convert, 32, DW_ATE_unsigned, DW_OP_stack_value, DW_OP_LLVM_fragment, 96, 32)), !dbg !297 | |
call void @llvm.dbg.value(metadata i64 %extended_info.coerce0, metadata !258, metadata !DIExpression(DW_OP_LLVM_fragment, 0, 64)), !dbg !297 | |
%extended_info.sroa.1.8.extract.trunc = trunc i64 %extended_info.coerce1 to i32 | |
call void @llvm.dbg.value(metadata i32 %extended_info.sroa.1.8.extract.trunc, metadata !258, metadata !DIExpression(DW_OP_LLVM_fragment, 64, 32)), !dbg !297 | |
%extended_info.sroa.14.8.extract.shift = lshr i64 %extended_info.coerce1, 32 | |
%extended_info.sroa.14.8.extract.trunc = trunc i64 %extended_info.sroa.14.8.extract.shift to i32 | |
call void @llvm.dbg.value(metadata i32 %extended_info.sroa.14.8.extract.trunc, metadata !258, metadata !DIExpression(DW_OP_LLVM_fragment, 96, 32)), !dbg !297 | |
call void @llvm.dbg.value(metadata i32 %max_base_index, metadata !259, metadata !DIExpression()), !dbg !297 | |
call void @llvm.dbg.value(metadata i32 %max_extended_index, metadata !260, metadata !DIExpression()), !dbg !297 | |
call void @llvm.dbg.value(metadata i32 %vendor, metadata !261, metadata !DIExpression()), !dbg !297 | |
call void @llvm.dbg.value(metadata i32 %uarch, metadata !262, metadata !DIExpression()), !dbg !297 | |
call void @llvm.dbg.declare(metadata %struct.cpuinfo_x86_isa* %agg.result, metadata !263, metadata !DIExpression()), !dbg !298 | |
%0 = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 0, !dbg !298 | |
tail call void @llvm.memset.p0i8.i64(i8* noundef nonnull align 1 dereferenceable(74) %0, i8 0, i64 74, i1 false), !dbg !298 | |
%cmp = icmp ugt i32 %max_base_index, 6, !dbg !299 | |
br i1 %cmp, label %cond.true2, label %cond.end9, !dbg !300 | |
cond.true2: ; preds = %entry | |
call void @llvm.dbg.value(metadata i32 7, metadata !301, metadata !DIExpression()) #4, !dbg !309 | |
call void @llvm.dbg.value(metadata i32 0, metadata !307, metadata !DIExpression()) #4, !dbg !309 | |
%1 = tail call { i32, i32, i32, i32 } asm " xchgq %rbx,${1:q}\0A cpuid\0A xchgq %rbx,${1:q}", "={ax},=r,={cx},={dx},0,2,~{dirflag},~{fpsr},~{flags}"(i32 7, i32 0) #5, !dbg !311, !srcloc !312 | |
%asmresult3.i = extractvalue { i32, i32, i32, i32 } %1, 1, !dbg !311 | |
%asmresult4.i = extractvalue { i32, i32, i32, i32 } %1, 2, !dbg !311 | |
%asmresult5.i = extractvalue { i32, i32, i32, i32 } %1, 3, !dbg !311 | |
call void @llvm.dbg.value(metadata i32 undef, metadata !308, metadata !DIExpression(DW_OP_LLVM_fragment, 0, 32)) #4, !dbg !309 | |
call void @llvm.dbg.value(metadata i32 %asmresult3.i, metadata !308, metadata !DIExpression(DW_OP_LLVM_fragment, 32, 32)) #4, !dbg !309 | |
call void @llvm.dbg.value(metadata i32 %asmresult4.i, metadata !308, metadata !DIExpression(DW_OP_LLVM_fragment, 64, 32)) #4, !dbg !309 | |
call void @llvm.dbg.value(metadata i32 %asmresult5.i, metadata !308, metadata !DIExpression(DW_OP_LLVM_fragment, 96, 32)) #4, !dbg !309 | |
%retval.sroa.2.0.insert.ext.i = zext i32 %asmresult3.i to i64, !dbg !313 | |
%retval.sroa.2.0.insert.shift.i = shl nuw i64 %retval.sroa.2.0.insert.ext.i, 32, !dbg !313 | |
%retval.sroa.5.8.insert.ext.i = zext i32 %asmresult5.i to i64, !dbg !313 | |
%retval.sroa.5.8.insert.shift.i = shl nuw i64 %retval.sroa.5.8.insert.ext.i, 32, !dbg !313 | |
%retval.sroa.3.8.insert.ext.i = zext i32 %asmresult4.i to i64, !dbg !313 | |
%retval.sroa.3.8.insert.insert.i = or i64 %retval.sroa.5.8.insert.shift.i, %retval.sroa.3.8.insert.ext.i, !dbg !313 | |
call void @llvm.dbg.value(metadata i64 undef, metadata !264, metadata !DIExpression(DW_OP_LLVM_fragment, 64, 64)), !dbg !297 | |
call void @llvm.dbg.value(metadata i64 undef, metadata !264, metadata !DIExpression(DW_OP_LLVM_fragment, 0, 64)), !dbg !297 | |
call void @llvm.dbg.value(metadata i32 7, metadata !301, metadata !DIExpression()) #4, !dbg !314 | |
call void @llvm.dbg.value(metadata i32 1, metadata !307, metadata !DIExpression()) #4, !dbg !314 | |
%2 = tail call { i32, i32, i32, i32 } asm " xchgq %rbx,${1:q}\0A cpuid\0A xchgq %rbx,${1:q}", "={ax},=r,={cx},={dx},0,2,~{dirflag},~{fpsr},~{flags}"(i32 7, i32 1) #5, !dbg !316, !srcloc !312 | |
%asmresult.i858 = extractvalue { i32, i32, i32, i32 } %2, 0, !dbg !316 | |
call void @llvm.dbg.value(metadata i32 %asmresult.i858, metadata !308, metadata !DIExpression(DW_OP_LLVM_fragment, 0, 32)) #4, !dbg !314 | |
call void @llvm.dbg.value(metadata i32 undef, metadata !308, metadata !DIExpression(DW_OP_LLVM_fragment, 32, 32)) #4, !dbg !314 | |
call void @llvm.dbg.value(metadata i32 undef, metadata !308, metadata !DIExpression(DW_OP_LLVM_fragment, 64, 32)) #4, !dbg !314 | |
call void @llvm.dbg.value(metadata i32 undef, metadata !308, metadata !DIExpression(DW_OP_LLVM_fragment, 96, 32)) #4, !dbg !314 | |
%retval.sroa.0.0.insert.ext.i864 = trunc i32 %asmresult.i858 to i8, !dbg !317 | |
call void @llvm.dbg.value(metadata !DIArgList(i64 0, i32 %asmresult.i858), metadata !265, metadata !DIExpression(DW_OP_LLVM_arg, 0, DW_OP_constu, 32, DW_OP_shl, DW_OP_LLVM_arg, 1, DW_OP_LLVM_convert, 32, DW_ATE_unsigned, DW_OP_LLVM_convert, 64, DW_ATE_unsigned, DW_OP_or, DW_OP_stack_value, DW_OP_LLVM_fragment, 0, 64)), !dbg !297 | |
call void @llvm.dbg.value(metadata i64 undef, metadata !265, metadata !DIExpression(DW_OP_LLVM_fragment, 64, 64)), !dbg !297 | |
%phi.bo935 = lshr i8 %retval.sroa.0.0.insert.ext.i864, 5, !dbg !318 | |
%phi.bo936 = and i8 %phi.bo935, 1, !dbg !318 | |
br label %cond.end9, !dbg !318 | |
cond.end9: ; preds = %entry, %cond.true2 | |
%structured_feature_info0.sroa.25.0932 = phi i64 [ %retval.sroa.3.8.insert.insert.i, %cond.true2 ], [ 0, %entry ] | |
%structured_feature_info0.sroa.0.0930 = phi i64 [ %retval.sroa.2.0.insert.shift.i, %cond.true2 ], [ 0, %entry ] | |
%structured_feature_info1.sroa.0.0 = phi i8 [ %phi.bo936, %cond.true2 ], [ 0, %entry ] | |
call void @llvm.dbg.value(metadata i64 undef, metadata !265, metadata !DIExpression(DW_OP_LLVM_fragment, 0, 64)), !dbg !297 | |
call void @llvm.dbg.value(metadata i32 -2147483640, metadata !266, metadata !DIExpression()), !dbg !297 | |
%cmp10 = icmp ugt i32 %max_extended_index, -2147483641, !dbg !319 | |
br i1 %cmp10, label %cond.true11, label %cond.end18, !dbg !320 | |
cond.true11: ; preds = %cond.end9 | |
call void @llvm.dbg.value(metadata i32 -2147483640, metadata !321, metadata !DIExpression()) #4, !dbg !327 | |
%3 = tail call { i32, i32, i32, i32 } asm " xchgq %rbx,${1:q}\0A cpuid\0A xchgq %rbx,${1:q}", "={ax},=r,={cx},={dx},0,~{dirflag},~{fpsr},~{flags}"(i32 -2147483640) #5, !dbg !329, !srcloc !330 | |
%asmresult2.i = extractvalue { i32, i32, i32, i32 } %3, 1, !dbg !329 | |
call void @llvm.dbg.value(metadata i32 undef, metadata !326, metadata !DIExpression(DW_OP_LLVM_fragment, 0, 32)) #4, !dbg !327 | |
call void @llvm.dbg.value(metadata i32 %asmresult2.i, metadata !326, metadata !DIExpression(DW_OP_LLVM_fragment, 32, 32)) #4, !dbg !327 | |
call void @llvm.dbg.value(metadata i32 undef, metadata !326, metadata !DIExpression(DW_OP_LLVM_fragment, 64, 32)) #4, !dbg !327 | |
call void @llvm.dbg.value(metadata i32 undef, metadata !326, metadata !DIExpression(DW_OP_LLVM_fragment, 96, 32)) #4, !dbg !327 | |
call void @llvm.dbg.value(metadata i64 undef, metadata !268, metadata !DIExpression(DW_OP_LLVM_fragment, 64, 64)), !dbg !297 | |
%phi.cast = trunc i32 %asmresult2.i to i8, !dbg !320 | |
call void @llvm.dbg.value(metadata !DIArgList(i32 %asmresult2.i, i32 undef), metadata !268, metadata !DIExpression(DW_OP_LLVM_arg, 0, DW_OP_LLVM_convert, 32, DW_ATE_unsigned, DW_OP_LLVM_convert, 64, DW_ATE_unsigned, DW_OP_constu, 32, DW_OP_shl, DW_OP_LLVM_arg, 1, DW_OP_LLVM_convert, 32, DW_ATE_unsigned, DW_OP_LLVM_convert, 64, DW_ATE_unsigned, DW_OP_or, DW_OP_stack_value, DW_OP_LLVM_fragment, 0, 64)), !dbg !297 | |
%phi.bo = and i8 %phi.cast, 1, !dbg !320 | |
br label %cond.end18, !dbg !320 | |
cond.end18: ; preds = %cond.end9, %cond.true11 | |
%processor_capacity_info.sroa.0.0 = phi i8 [ %phi.bo, %cond.true11 ], [ 0, %cond.end9 ] | |
call void @llvm.dbg.value(metadata i64 undef, metadata !268, metadata !DIExpression(DW_OP_LLVM_fragment, 0, 64)), !dbg !297 | |
call void @llvm.dbg.value(metadata i8 0, metadata !269, metadata !DIExpression()), !dbg !297 | |
call void @llvm.dbg.value(metadata i8 0, metadata !270, metadata !DIExpression()), !dbg !297 | |
call void @llvm.dbg.value(metadata i8 0, metadata !271, metadata !DIExpression()), !dbg !297 | |
call void @llvm.dbg.value(metadata i32 201326592, metadata !272, metadata !DIExpression()), !dbg !297 | |
%and = and i32 %basic_info.sroa.1.8.extract.trunc, 201326592, !dbg !331 | |
%cmp20 = icmp eq i32 %and, 201326592, !dbg !332 | |
br i1 %cmp20, label %if.then, label %if.end54, !dbg !333 | |
if.then: ; preds = %cond.end18 | |
call void @llvm.dbg.value(metadata i64 0, metadata !273, metadata !DIExpression()), !dbg !334 | |
%cmp21 = icmp ugt i32 %max_base_index, 12, !dbg !335 | |
br i1 %cmp21, label %if.then22, label %if.end, !dbg !336 | |
if.then22: ; preds = %if.then | |
call void @llvm.dbg.value(metadata i32 13, metadata !301, metadata !DIExpression()) #4, !dbg !337 | |
call void @llvm.dbg.value(metadata i32 0, metadata !307, metadata !DIExpression()) #4, !dbg !337 | |
%4 = tail call { i32, i32, i32, i32 } asm " xchgq %rbx,${1:q}\0A cpuid\0A xchgq %rbx,${1:q}", "={ax},=r,={cx},={dx},0,2,~{dirflag},~{fpsr},~{flags}"(i32 13, i32 0) #5, !dbg !339, !srcloc !312 | |
%asmresult.i885 = extractvalue { i32, i32, i32, i32 } %4, 0, !dbg !339 | |
call void @llvm.dbg.value(metadata i32 %asmresult.i885, metadata !308, metadata !DIExpression(DW_OP_LLVM_fragment, 0, 32)) #4, !dbg !337 | |
call void @llvm.dbg.value(metadata i32 undef, metadata !308, metadata !DIExpression(DW_OP_LLVM_fragment, 32, 32)) #4, !dbg !337 | |
call void @llvm.dbg.value(metadata i32 undef, metadata !308, metadata !DIExpression(DW_OP_LLVM_fragment, 64, 32)) #4, !dbg !337 | |
call void @llvm.dbg.value(metadata i32 undef, metadata !308, metadata !DIExpression(DW_OP_LLVM_fragment, 96, 32)) #4, !dbg !337 | |
%retval.sroa.0.0.insert.ext.i891 = zext i32 %asmresult.i885 to i64, !dbg !340 | |
call void @llvm.dbg.value(metadata !DIArgList(i32 undef, i64 %retval.sroa.0.0.insert.ext.i891), metadata !276, metadata !DIExpression(DW_OP_LLVM_arg, 0, DW_OP_LLVM_convert, 32, DW_ATE_unsigned, DW_OP_LLVM_convert, 64, DW_ATE_unsigned, DW_OP_constu, 32, DW_OP_shl, DW_OP_LLVM_arg, 1, DW_OP_or, DW_OP_stack_value, DW_OP_LLVM_fragment, 0, 64)), !dbg !341 | |
call void @llvm.dbg.value(metadata !DIArgList(i64 0, i32 undef), metadata !276, metadata !DIExpression(DW_OP_LLVM_arg, 0, DW_OP_LLVM_arg, 1, DW_OP_LLVM_convert, 32, DW_ATE_unsigned, DW_OP_LLVM_convert, 64, DW_ATE_unsigned, DW_OP_or, DW_OP_stack_value, DW_OP_LLVM_fragment, 64, 64)), !dbg !341 | |
call void @llvm.dbg.value(metadata i64 %retval.sroa.0.0.insert.ext.i891, metadata !273, metadata !DIExpression()), !dbg !334 | |
br label %if.end, !dbg !342 | |
if.end: ; preds = %if.then22, %if.then | |
%xcr0_valid_bits.0 = phi i64 [ %retval.sroa.0.0.insert.ext.i891, %if.then22 ], [ 0, %if.then ], !dbg !334 | |
call void @llvm.dbg.value(metadata i64 %xcr0_valid_bits.0, metadata !273, metadata !DIExpression()), !dbg !334 | |
call void @llvm.dbg.value(metadata i32 0, metadata !343, metadata !DIExpression()) #4, !dbg !350 | |
%5 = tail call { i32, i32 } asm ".byte 0x0F, 0x01, 0xD0", "={ax},={dx},{cx},~{dirflag},~{fpsr},~{flags}"(i32 0) #5, !dbg !352, !srcloc !353 | |
%asmresult.i899 = extractvalue { i32, i32 } %5, 0, !dbg !352 | |
call void @llvm.dbg.value(metadata i32 %asmresult.i899, metadata !348, metadata !DIExpression()) #4, !dbg !350 | |
call void @llvm.dbg.value(metadata i32 undef, metadata !349, metadata !DIExpression()) #4, !dbg !350 | |
%conv2.i = zext i32 %asmresult.i899 to i64, !dbg !354 | |
call void @llvm.dbg.value(metadata !DIArgList(i64 0, i64 %conv2.i), metadata !279, metadata !DIExpression(DW_OP_LLVM_arg, 0, DW_OP_constu, 32, DW_OP_shl, DW_OP_LLVM_arg, 1, DW_OP_or, DW_OP_stack_value)), !dbg !334 | |
call void @llvm.dbg.value(metadata i64 6, metadata !281, metadata !DIExpression()), !dbg !334 | |
%6 = insertelement <2 x i64> poison, i64 %xcr0_valid_bits.0, i32 0, !dbg !355 | |
%7 = insertelement <2 x i64> %6, i64 %xcr0_valid_bits.0, i32 1, !dbg !355 | |
%8 = and <2 x i64> %7, <i64 6, i64 230>, !dbg !355 | |
call void @llvm.dbg.value(metadata i8 undef, metadata !269, metadata !DIExpression()), !dbg !297 | |
call void @llvm.dbg.value(metadata i64 230, metadata !282, metadata !DIExpression()), !dbg !334 | |
%9 = icmp eq <2 x i64> %8, <i64 6, i64 230>, !dbg !357 | |
%10 = insertelement <2 x i64> poison, i64 %conv2.i, i32 0, !dbg !358 | |
%11 = insertelement <2 x i64> %10, i64 %conv2.i, i32 1, !dbg !358 | |
%12 = and <2 x i64> %11, <i64 6, i64 230>, !dbg !358 | |
%13 = icmp eq <2 x i64> %12, <i64 6, i64 230>, !dbg !358 | |
%14 = select <2 x i1> %9, <2 x i1> %13, <2 x i1> zeroinitializer, !dbg !358 | |
call void @llvm.dbg.value(metadata i8 undef, metadata !270, metadata !DIExpression()), !dbg !297 | |
call void @llvm.dbg.value(metadata i64 24, metadata !283, metadata !DIExpression()), !dbg !334 | |
%and45 = and i64 %xcr0_valid_bits.0, 24, !dbg !359 | |
%cmp46 = icmp eq i64 %and45, 24, !dbg !361 | |
%and49 = and i64 %conv2.i, 24, !dbg !362 | |
%cmp50 = icmp eq i64 %and49, 24, !dbg !362 | |
%mpx_regs.0 = select i1 %cmp46, i1 %cmp50, i1 false, !dbg !362 | |
call void @llvm.dbg.value(metadata i8 undef, metadata !271, metadata !DIExpression()), !dbg !297 | |
br label %if.end54, !dbg !363 | |
if.end54: ; preds = %if.end, %cond.end18 | |
%mpx_regs.1 = phi i1 [ %mpx_regs.0, %if.end ], [ false, %cond.end18 ], !dbg !297 | |
%15 = phi <2 x i1> [ %14, %if.end ], [ zeroinitializer, %cond.end18 ], !dbg !297 | |
%shuffle937 = shufflevector <2 x i1> %15, <2 x i1> poison, <8 x i32> <i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 1>, !dbg !297 | |
call void @llvm.dbg.value(metadata i8 undef, metadata !269, metadata !DIExpression()), !dbg !297 | |
call void @llvm.dbg.value(metadata i8 undef, metadata !270, metadata !DIExpression()), !dbg !297 | |
call void @llvm.dbg.value(metadata i8 undef, metadata !271, metadata !DIExpression()), !dbg !297 | |
%sysenter = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 2, !dbg !364 | |
%and56815 = lshr i64 %basic_info.coerce1, 43, !dbg !365 | |
%16 = trunc i64 %and56815 to i8, !dbg !365 | |
%17 = and i8 %16, 1, !dbg !365 | |
store i8 %17, i8* %sysenter, align 1, !dbg !365 | |
%or61820 = or i64 %extended_info.sroa.14.8.extract.shift, %basic_info.sroa.18.8.extract.shift, !dbg !366 | |
%msr = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 3, !dbg !367 | |
%18 = trunc i64 %or61820 to i8, !dbg !368 | |
%19 = lshr i8 %18, 5, !dbg !368 | |
%20 = and i8 %19, 1, !dbg !368 | |
store i8 %20, i8* %msr, align 1, !dbg !368 | |
%clzero = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 4, !dbg !369 | |
store i8 %processor_capacity_info.sroa.0.0, i8* %clzero, align 1, !dbg !370 | |
%clflush = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 5, !dbg !371 | |
%and74817 = lshr i64 %basic_info.coerce1, 51, !dbg !372 | |
%21 = trunc i64 %and74817 to i8, !dbg !372 | |
%22 = and i8 %21, 1, !dbg !372 | |
store i8 %22, i8* %clflush, align 1, !dbg !372 | |
%structured_feature_info0.sroa.0.4.extract.shift = lshr exact i64 %structured_feature_info0.sroa.0.0930, 32, !dbg !373 | |
%structured_feature_info0.sroa.0.4.extract.trunc = trunc i64 %structured_feature_info0.sroa.0.4.extract.shift to i32, !dbg !373 | |
%clflushopt = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 6, !dbg !374 | |
%and80818 = lshr i64 %structured_feature_info0.sroa.0.0930, 55, !dbg !375 | |
%23 = trunc i64 %and80818 to i8, !dbg !375 | |
%24 = and i8 %23, 1, !dbg !375 | |
store i8 %24, i8* %clflushopt, align 1, !dbg !375 | |
%mwait = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 7, !dbg !376 | |
%25 = trunc i64 %basic_info.coerce1 to i8, !dbg !377 | |
%26 = lshr i8 %25, 3, !dbg !377 | |
%27 = and i8 %26, 1, !dbg !377 | |
store i8 %27, i8* %mwait, align 1, !dbg !377 | |
%mwaitx = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 8, !dbg !378 | |
%and92 = lshr i32 %extended_info.sroa.1.8.extract.trunc, 29, !dbg !379 | |
%28 = trunc i32 %and92 to i8, !dbg !379 | |
%29 = and i8 %28, 1, !dbg !379 | |
store i8 %29, i8* %mwaitx, align 1, !dbg !379 | |
%fxsave = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 9, !dbg !380 | |
%and100821 = lshr i64 %or61820, 24, !dbg !382 | |
%30 = trunc i64 %and100821 to i8, !dbg !382 | |
%31 = and i8 %30, 1, !dbg !382 | |
store i8 %31, i8* %fxsave, align 1, !dbg !382 | |
%xsave = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 10, !dbg !383 | |
%and106 = lshr i32 %basic_info.sroa.1.8.extract.trunc, 26, !dbg !384 | |
%32 = trunc i32 %and106 to i8, !dbg !384 | |
%33 = and i8 %32, 1, !dbg !384 | |
store i8 %33, i8* %xsave, align 1, !dbg !384 | |
%three_d_now = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 11, !dbg !385 | |
%extended_info.coerce1.lobit = lshr i64 %extended_info.coerce1, 63, !dbg !386 | |
%34 = trunc i64 %extended_info.coerce1.lobit to i8, !dbg !386 | |
store i8 %34, i8* %three_d_now, align 1, !dbg !386 | |
%three_d_now_plus = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 12, !dbg !387 | |
%and118 = lshr i32 %extended_info.sroa.14.8.extract.trunc, 30, !dbg !388 | |
%35 = trunc i32 %and118 to i8, !dbg !388 | |
%36 = and i8 %35, 1, !dbg !388 | |
store i8 %36, i8* %three_d_now_plus, align 1, !dbg !388 | |
switch i32 %vendor, label %sw.default132 [ | |
i32 16, label %sw.bb | |
i32 2, label %sw.bb | |
i32 1, label %sw.epilog162 | |
], !dbg !389 | |
sw.bb: ; preds = %if.end54, %if.end54 | |
%and124 = and i32 %extended_info.sroa.1.8.extract.trunc, 256, !dbg !390 | |
%and126 = and i32 %extended_info.sroa.14.8.extract.trunc, -536870912, !dbg !392 | |
%or127 = or i32 %and126, %and124, !dbg !393 | |
%tobool128 = icmp ne i32 %or127, 0, !dbg !394 | |
br label %sw.epilog140, !dbg !395 | |
sw.default132: ; preds = %if.end54 | |
%tobool135 = icmp ugt i32 %extended_info.sroa.14.8.extract.trunc, 1073741823, !dbg !396 | |
br label %sw.epilog140, !dbg !397 | |
sw.epilog140: ; preds = %sw.default132, %sw.bb | |
%tobool135.sink = phi i1 [ %tobool135, %sw.default132 ], [ %tobool128, %sw.bb ] | |
%prefetch138 = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 13, !dbg !398 | |
%frombool139 = zext i1 %tobool135.sink to i8, !dbg !398 | |
store i8 %frombool139, i8* %prefetch138, align 1, !dbg !398 | |
%switch.selectcmp.case1 = icmp eq i32 %vendor, 2, !dbg !399 | |
%switch.selectcmp.case2 = icmp eq i32 %vendor, 16, !dbg !399 | |
%switch.selectcmp = or i1 %switch.selectcmp.case1, %switch.selectcmp.case2, !dbg !399 | |
%37 = select i1 %switch.selectcmp, i32 -536870912, i32 -1073741824, !dbg !399 | |
br label %sw.epilog162, !dbg !399 | |
sw.epilog162: ; preds = %if.end54, %sw.epilog140 | |
%.sink = phi i32 [ %37, %sw.epilog140 ], [ -1073741824, %if.end54 ] | |
%and153 = and i32 %extended_info.sroa.1.8.extract.trunc, 256, !dbg !400 | |
%and155 = and i32 %.sink, %extended_info.sroa.14.8.extract.trunc, !dbg !400 | |
%or156 = or i32 %and155, %and153, !dbg !400 | |
%tobool157 = icmp ne i32 %or156, 0, !dbg !400 | |
%prefetchw160 = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 14, !dbg !400 | |
%frombool161 = zext i1 %tobool157 to i8, !dbg !400 | |
store i8 %frombool161, i8* %prefetchw160, align 1, !dbg !400 | |
%prefetchwt1 = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 15, !dbg !402 | |
%38 = trunc i64 %structured_feature_info0.sroa.25.0932 to i8, !dbg !403 | |
%39 = and i8 %38, 1, !dbg !403 | |
store i8 %39, i8* %prefetchwt1, align 1, !dbg !403 | |
%sse3 = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 16, !dbg !404 | |
%40 = and i8 %25, 1, !dbg !405 | |
store i8 %40, i8* %sse3, align 1, !dbg !405 | |
%ssse3 = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 17, !dbg !406 | |
%and176822 = lshr i64 %basic_info.coerce1, 9, !dbg !407 | |
%41 = trunc i64 %and176822 to i8, !dbg !407 | |
%42 = and i8 %41, 1, !dbg !407 | |
store i8 %42, i8* %ssse3, align 1, !dbg !407 | |
%sse4_1 = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 18, !dbg !408 | |
%and182823 = lshr i64 %basic_info.coerce1, 19, !dbg !409 | |
%43 = trunc i64 %and182823 to i8, !dbg !409 | |
%44 = and i8 %43, 1, !dbg !409 | |
store i8 %44, i8* %sse4_1, align 1, !dbg !409 | |
%sse4_2 = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 19, !dbg !410 | |
%and188824 = lshr i64 %basic_info.coerce1, 20, !dbg !411 | |
%45 = trunc i64 %and188824 to i8, !dbg !411 | |
%46 = and i8 %45, 1, !dbg !411 | |
store i8 %46, i8* %sse4_2, align 1, !dbg !411 | |
%sse4a = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 20, !dbg !412 | |
%47 = trunc i64 %extended_info.coerce1 to i8, !dbg !413 | |
%48 = lshr i8 %47, 6, !dbg !413 | |
%49 = and i8 %48, 1, !dbg !413 | |
store i8 %49, i8* %sse4a, align 1, !dbg !413 | |
%misaligned_sse = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 21, !dbg !414 | |
%50 = lshr i8 %47, 7, !dbg !415 | |
store i8 %50, i8* %misaligned_sse, align 1, !dbg !415 | |
%51 = insertelement <8 x i32> poison, i32 %basic_info.sroa.1.8.extract.trunc, i32 0, !dbg !416 | |
%52 = insertelement <8 x i32> %51, i32 %extended_info.sroa.1.8.extract.trunc, i32 1, !dbg !416 | |
%53 = insertelement <8 x i32> %52, i32 %structured_feature_info0.sroa.0.4.extract.trunc, i32 2, !dbg !416 | |
%shuffle938 = shufflevector <8 x i32> %53, <8 x i32> poison, <8 x i32> <i32 0, i32 0, i32 1, i32 1, i32 0, i32 2, i32 2, i32 2>, !dbg !416 | |
%54 = and <8 x i32> %shuffle938, <i32 268435456, i32 4096, i32 65536, i32 2048, i32 536870912, i32 32, i32 65536, i32 67108864>, !dbg !416 | |
%avx = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 22, !dbg !417 | |
%55 = icmp ne <8 x i32> %54, zeroinitializer, !dbg !416 | |
%56 = select <8 x i1> %shuffle937, <8 x i1> %55, <8 x i1> zeroinitializer, !dbg !416 | |
%57 = zext <8 x i1> %56 to <8 x i8>, !dbg !418 | |
%58 = bitcast i8* %avx to <8 x i8>*, !dbg !418 | |
store <8 x i8> %57, <8 x i8>* %58, align 1, !dbg !418 | |
%and287 = and i32 %structured_feature_info0.sroa.0.4.extract.trunc, 134217728, !dbg !419 | |
%tobool288 = icmp ne i32 %and287, 0, !dbg !419 | |
%59 = extractelement <8 x i1> %shuffle937, i32 6, !dbg !419 | |
%60 = select i1 %59, i1 %tobool288, i1 false, !dbg !419 | |
%avx512er = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 30, !dbg !420 | |
%frombool292 = zext i1 %60 to i8, !dbg !421 | |
store i8 %frombool292, i8* %avx512er, align 1, !dbg !421 | |
%and297 = and i32 %structured_feature_info0.sroa.0.4.extract.trunc, 268435456, !dbg !422 | |
%tobool298 = icmp ne i32 %and297, 0, !dbg !422 | |
%61 = select i1 %59, i1 %tobool298, i1 false, !dbg !422 | |
%avx512cd = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 31, !dbg !423 | |
%frombool302 = zext i1 %61 to i8, !dbg !424 | |
store i8 %frombool302, i8* %avx512cd, align 1, !dbg !424 | |
%and307827 = lshr i64 %structured_feature_info0.sroa.0.0930, 49, !dbg !425 | |
%62 = trunc i64 %and307827 to i8, !dbg !425 | |
%avx512dq = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 32, !dbg !426 | |
%and317 = lshr i32 %structured_feature_info0.sroa.0.4.extract.trunc, 30, !dbg !427 | |
%63 = trunc i32 %and317 to i8, !dbg !427 | |
%64 = insertelement <2 x i8> poison, i8 %62, i32 0, !dbg !425 | |
%65 = insertelement <2 x i8> %64, i8 %63, i32 1, !dbg !425 | |
%66 = and <2 x i8> %65, <i8 1, i8 1>, !dbg !425 | |
%and327.lobit = lshr i32 %structured_feature_info0.sroa.0.4.extract.trunc, 31, !dbg !428 | |
%67 = trunc i32 %and327.lobit to i8, !dbg !428 | |
%and337828 = lshr i64 %structured_feature_info0.sroa.0.0930, 53, !dbg !429 | |
%68 = trunc i64 %and337828 to i8, !dbg !429 | |
%69 = and i8 %68, 1, !dbg !429 | |
%70 = lshr i8 %38, 1, !dbg !430 | |
%71 = lshr i8 %38, 6, !dbg !431 | |
%72 = insertelement <2 x i64> poison, i64 %structured_feature_info0.sroa.25.0932, i32 0, !dbg !432 | |
%73 = insertelement <2 x i64> %72, i64 %structured_feature_info0.sroa.25.0932, i32 1, !dbg !432 | |
%74 = lshr <2 x i64> %73, <i64 12, i64 14>, !dbg !432 | |
%75 = trunc <2 x i64> %74 to <2 x i8>, !dbg !432 | |
%76 = insertelement <4 x i8> poison, i8 %70, i32 0, !dbg !430 | |
%77 = insertelement <4 x i8> %76, i8 %71, i32 1, !dbg !430 | |
%78 = shufflevector <2 x i8> %75, <2 x i8> poison, <4 x i32> <i32 0, i32 1, i32 undef, i32 undef>, !dbg !430 | |
%79 = shufflevector <4 x i8> %77, <4 x i8> %78, <4 x i32> <i32 0, i32 1, i32 4, i32 5>, !dbg !430 | |
%80 = and <4 x i8> %79, <i8 1, i8 1, i8 1, i8 1>, !dbg !430 | |
%81 = insertelement <8 x i1> poison, i1 %59, i32 0, !dbg !425 | |
%82 = insertelement <8 x i1> %81, i1 %59, i32 1, !dbg !425 | |
%83 = insertelement <8 x i1> %82, i1 %59, i32 2, !dbg !425 | |
%84 = insertelement <8 x i1> %83, i1 %59, i32 3, !dbg !425 | |
%85 = insertelement <8 x i1> %84, i1 %59, i32 4, !dbg !425 | |
%86 = insertelement <8 x i1> %85, i1 %59, i32 5, !dbg !425 | |
%87 = insertelement <8 x i1> %86, i1 %59, i32 6, !dbg !425 | |
%88 = insertelement <8 x i1> %87, i1 %59, i32 7, !dbg !425 | |
%89 = shufflevector <2 x i8> %66, <2 x i8> poison, <8 x i32> <i32 0, i32 1, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>, !dbg !425 | |
%90 = insertelement <8 x i8> %89, i8 %67, i32 2, !dbg !425 | |
%91 = insertelement <8 x i8> %90, i8 %69, i32 3, !dbg !425 | |
%92 = shufflevector <4 x i8> %80, <4 x i8> poison, <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 undef, i32 undef, i32 undef, i32 undef>, !dbg !425 | |
%93 = shufflevector <8 x i8> %91, <8 x i8> %92, <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 8, i32 9, i32 10, i32 11>, !dbg !425 | |
%94 = select <8 x i1> %88, <8 x i8> %93, <8 x i8> zeroinitializer, !dbg !425 | |
%95 = bitcast i8* %avx512dq to <8 x i8>*, !dbg !433 | |
store <8 x i8> %94, <8 x i8>* %95, align 1, !dbg !433 | |
%and387833 = lshr i64 %structured_feature_info0.sroa.25.0932, 11, !dbg !434 | |
%96 = trunc i64 %and387833 to i8, !dbg !434 | |
%97 = and i8 %96, 1, !dbg !434 | |
%98 = select i1 %59, i8 %97, i8 0, !dbg !434 | |
%avx512vnni = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 40, !dbg !435 | |
store i8 %98, i8* %avx512vnni, align 1, !dbg !436 | |
%sum.shift = lshr i64 %structured_feature_info0.sroa.25.0932, 34, !dbg !437 | |
%and397834 = trunc i64 %sum.shift to i8, !dbg !437 | |
%and397.lobit = and i8 %and397834, 1, !dbg !437 | |
%99 = select i1 %59, i8 %and397.lobit, i8 0, !dbg !437 | |
%avx512_4vnniw = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 43, !dbg !438 | |
store i8 %99, i8* %avx512_4vnniw, align 1, !dbg !439 | |
%sum.shift835 = lshr i64 %structured_feature_info0.sroa.25.0932, 35, !dbg !440 | |
%and407836 = trunc i64 %sum.shift835 to i8, !dbg !440 | |
%and407.lobit = and i8 %and407836, 1, !dbg !440 | |
%100 = select i1 %59, i8 %and407.lobit, i8 0, !dbg !440 | |
%avx512_4fmaps = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 44, !dbg !441 | |
store i8 %100, i8* %avx512_4fmaps, align 1, !dbg !442 | |
%sum.shift837 = lshr i64 %structured_feature_info0.sroa.25.0932, 40, !dbg !443 | |
%and417838 = trunc i64 %sum.shift837 to i8, !dbg !443 | |
%and417.lobit = and i8 %and417838, 1, !dbg !443 | |
%101 = select i1 %59, i8 %and417.lobit, i8 0, !dbg !443 | |
%avx512vp2intersect = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 42, !dbg !444 | |
store i8 %101, i8* %avx512vp2intersect, align 1, !dbg !445 | |
%102 = select i1 %59, i8 %structured_feature_info1.sroa.0.0, i8 0, !dbg !446 | |
%avx512bf16 = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 41, !dbg !447 | |
store i8 %102, i8* %avx512bf16, align 1, !dbg !448 | |
%hle = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 45, !dbg !449 | |
%and434840 = lshr i64 %structured_feature_info0.sroa.0.0930, 36, !dbg !450 | |
%103 = trunc i64 %and434840 to i8, !dbg !450 | |
%104 = and i8 %103, 1, !dbg !450 | |
store i8 %104, i8* %hle, align 1, !dbg !450 | |
%and440 = and i32 %structured_feature_info0.sroa.0.4.extract.trunc, 2048, !dbg !451 | |
%tobool441 = icmp ne i32 %and440, 0, !dbg !452 | |
%rtm = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 46, !dbg !453 | |
%and440.lobit = lshr exact i32 %and440, 11, !dbg !454 | |
%105 = trunc i32 %and440.lobit to i8, !dbg !454 | |
store i8 %105, i8* %rtm, align 1, !dbg !454 | |
%tobool446 = icmp ne i8 %104, 0, !dbg !455 | |
%106 = select i1 %tobool446, i1 true, i1 %tobool441, !dbg !456 | |
%xtest = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 47, !dbg !457 | |
%frombool451 = zext i1 %106 to i8, !dbg !458 | |
store i8 %frombool451, i8* %xtest, align 1, !dbg !458 | |
%and456841 = lshr i64 %structured_feature_info0.sroa.0.0930, 46, !dbg !459 | |
%107 = trunc i64 %and456841 to i8, !dbg !459 | |
%108 = and i8 %107, 1, !dbg !459 | |
%109 = select i1 %mpx_regs.1, i8 %108, i8 0, !dbg !459 | |
%mpx = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 48, !dbg !460 | |
store i8 %109, i8* %mpx, align 1, !dbg !461 | |
%cmpxchg16b = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 49, !dbg !462 | |
%and463842 = lshr i64 %basic_info.coerce1, 13, !dbg !463 | |
%110 = trunc i64 %and463842 to i8, !dbg !463 | |
%and469843 = lshr i64 %structured_feature_info0.sroa.0.0930, 56, !dbg !464 | |
%111 = trunc i64 %and469843 to i8, !dbg !464 | |
%and475844 = lshr i64 %basic_info.coerce1, 22, !dbg !465 | |
%112 = trunc i64 %and475844 to i8, !dbg !465 | |
%113 = trunc i64 %structured_feature_info0.sroa.0.4.extract.shift to i8, !dbg !466 | |
%114 = lshr i8 %47, 5, !dbg !467 | |
%and499846 = lshr i64 %basic_info.coerce1, 23, !dbg !468 | |
%115 = trunc i64 %and499846 to i8, !dbg !468 | |
%and505847 = lshr i64 %extended_info.coerce1, 21, !dbg !469 | |
%116 = trunc i64 %and505847 to i8, !dbg !469 | |
%117 = insertelement <2 x i64> poison, i64 %structured_feature_info0.sroa.0.0930, i32 0, !dbg !470 | |
%118 = insertelement <2 x i64> %117, i64 %structured_feature_info0.sroa.0.0930, i32 1, !dbg !470 | |
%119 = lshr <2 x i64> %118, <i64 35, i64 40>, !dbg !470 | |
%120 = trunc <2 x i64> %119 to <2 x i8>, !dbg !470 | |
%and523850 = lshr i64 %structured_feature_info0.sroa.0.0930, 51, !dbg !471 | |
%121 = trunc i64 %and523850 to i8, !dbg !471 | |
%and529 = lshr i32 %basic_info.sroa.1.8.extract.trunc, 25, !dbg !472 | |
%122 = trunc i32 %and529 to i8, !dbg !472 | |
%and535851 = lshr i64 %structured_feature_info0.sroa.25.0932, 9, !dbg !473 | |
%123 = trunc i64 %and535851 to i8, !dbg !473 | |
%124 = lshr i8 %25, 1, !dbg !474 | |
%125 = lshr <2 x i64> %73, <i64 10, i64 8>, !dbg !475 | |
%126 = trunc <2 x i64> %125 to <2 x i8>, !dbg !475 | |
%127 = insertelement <16 x i8> poison, i8 %110, i32 0, !dbg !463 | |
%128 = insertelement <16 x i8> %127, i8 %111, i32 1, !dbg !463 | |
%129 = insertelement <16 x i8> %128, i8 %112, i32 2, !dbg !463 | |
%130 = insertelement <16 x i8> %129, i8 %47, i32 3, !dbg !463 | |
%131 = insertelement <16 x i8> %130, i8 %113, i32 4, !dbg !463 | |
%132 = insertelement <16 x i8> %131, i8 %114, i32 5, !dbg !463 | |
%133 = insertelement <16 x i8> %132, i8 %115, i32 6, !dbg !463 | |
%134 = insertelement <16 x i8> %133, i8 %116, i32 7, !dbg !463 | |
%135 = shufflevector <2 x i8> %120, <2 x i8> poison, <16 x i32> <i32 0, i32 1, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>, !dbg !463 | |
%136 = shufflevector <16 x i8> %134, <16 x i8> %135, <16 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 16, i32 17, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15>, !dbg !463 | |
%137 = insertelement <16 x i8> %136, i8 %121, i32 10, !dbg !463 | |
%138 = insertelement <16 x i8> %137, i8 %122, i32 11, !dbg !463 | |
%139 = insertelement <16 x i8> %138, i8 %123, i32 12, !dbg !463 | |
%140 = insertelement <16 x i8> %139, i8 %124, i32 13, !dbg !463 | |
%141 = shufflevector <2 x i8> %126, <2 x i8> poison, <16 x i32> <i32 0, i32 1, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>, !dbg !463 | |
%142 = shufflevector <16 x i8> %140, <16 x i8> %141, <16 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 16, i32 17>, !dbg !463 | |
%143 = and <16 x i8> %142, <i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1>, !dbg !463 | |
%144 = bitcast i8* %cmpxchg16b to <16 x i8>*, !dbg !463 | |
store <16 x i8> %143, <16 x i8>* %144, align 1, !dbg !463 | |
%rdrand = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 65, !dbg !476 | |
%and559 = lshr i32 %basic_info.sroa.1.8.extract.trunc, 30, !dbg !477 | |
%145 = trunc i32 %and559 to i8, !dbg !477 | |
%146 = and i8 %145, 1, !dbg !477 | |
store i8 %146, i8* %rdrand, align 1, !dbg !477 | |
%rdseed = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 66, !dbg !478 | |
%and565855 = lshr i64 %structured_feature_info0.sroa.0.0930, 50, !dbg !479 | |
%147 = trunc i64 %and565855 to i8, !dbg !479 | |
%148 = and i8 %147, 1, !dbg !479 | |
store i8 %148, i8* %rdseed, align 1, !dbg !479 | |
%sha = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 67, !dbg !480 | |
%and571 = lshr i32 %structured_feature_info0.sroa.0.4.extract.trunc, 29, !dbg !481 | |
%149 = trunc i32 %and571 to i8, !dbg !481 | |
%150 = and i8 %149, 1, !dbg !481 | |
store i8 %150, i8* %sha, align 1, !dbg !481 | |
%cmp576 = icmp eq i32 %vendor, 11, !dbg !482 | |
br i1 %cmp576, label %if.then578, label %if.end611, !dbg !483 | |
if.then578: ; preds = %sw.epilog162 | |
call void @llvm.dbg.value(metadata i32 -1073741824, metadata !321, metadata !DIExpression()) #4, !dbg !484 | |
%151 = tail call { i32, i32, i32, i32 } asm " xchgq %rbx,${1:q}\0A cpuid\0A xchgq %rbx,${1:q}", "={ax},=r,={cx},={dx},0,~{dirflag},~{fpsr},~{flags}"(i32 -1073741824) #5, !dbg !486, !srcloc !330 | |
%asmresult.i900 = extractvalue { i32, i32, i32, i32 } %151, 0, !dbg !486 | |
call void @llvm.dbg.value(metadata i32 %asmresult.i900, metadata !326, metadata !DIExpression(DW_OP_LLVM_fragment, 0, 32)) #4, !dbg !484 | |
call void @llvm.dbg.value(metadata i32 undef, metadata !326, metadata !DIExpression(DW_OP_LLVM_fragment, 32, 32)) #4, !dbg !484 | |
call void @llvm.dbg.value(metadata i32 undef, metadata !326, metadata !DIExpression(DW_OP_LLVM_fragment, 64, 32)) #4, !dbg !484 | |
call void @llvm.dbg.value(metadata i32 undef, metadata !326, metadata !DIExpression(DW_OP_LLVM_fragment, 96, 32)) #4, !dbg !484 | |
call void @llvm.dbg.value(metadata i64 undef, metadata !284, metadata !DIExpression(DW_OP_LLVM_fragment, 64, 64)), !dbg !487 | |
call void @llvm.dbg.value(metadata !DIArgList(i64 0, i32 %asmresult.i900), metadata !284, metadata !DIExpression(DW_OP_LLVM_arg, 0, DW_OP_LLVM_arg, 1, DW_OP_LLVM_convert, 32, DW_ATE_unsigned, DW_OP_LLVM_convert, 64, DW_ATE_unsigned, DW_OP_or, DW_OP_stack_value, DW_OP_LLVM_fragment, 0, 64)), !dbg !487 | |
call void @llvm.dbg.value(metadata i32 %asmresult.i900, metadata !287, metadata !DIExpression()), !dbg !487 | |
call void @llvm.dbg.value(metadata i32 -1073741823, metadata !288, metadata !DIExpression()), !dbg !487 | |
%cmp581 = icmp ugt i32 %asmresult.i900, -1073741824, !dbg !488 | |
br i1 %cmp581, label %if.then583, label %if.end611, !dbg !489 | |
if.then583: ; preds = %if.then578 | |
call void @llvm.dbg.value(metadata i32 -1073741823, metadata !321, metadata !DIExpression()) #4, !dbg !490 | |
%152 = tail call { i32, i32, i32, i32 } asm " xchgq %rbx,${1:q}\0A cpuid\0A xchgq %rbx,${1:q}", "={ax},=r,={cx},={dx},0,~{dirflag},~{fpsr},~{flags}"(i32 -1073741823) #5, !dbg !492, !srcloc !330 | |
%asmresult4.i917 = extractvalue { i32, i32, i32, i32 } %152, 3, !dbg !492 | |
call void @llvm.dbg.value(metadata i32 undef, metadata !326, metadata !DIExpression(DW_OP_LLVM_fragment, 0, 32)) #4, !dbg !490 | |
call void @llvm.dbg.value(metadata i32 undef, metadata !326, metadata !DIExpression(DW_OP_LLVM_fragment, 32, 32)) #4, !dbg !490 | |
call void @llvm.dbg.value(metadata i32 undef, metadata !326, metadata !DIExpression(DW_OP_LLVM_fragment, 64, 32)) #4, !dbg !490 | |
call void @llvm.dbg.value(metadata i32 %asmresult4.i917, metadata !326, metadata !DIExpression(DW_OP_LLVM_fragment, 96, 32)) #4, !dbg !490 | |
call void @llvm.dbg.value(metadata i64 undef, metadata !289, metadata !DIExpression(DW_OP_LLVM_fragment, 0, 64)), !dbg !493 | |
call void @llvm.dbg.value(metadata !DIArgList(i32 %asmresult4.i917, i32 undef), metadata !289, metadata !DIExpression(DW_OP_LLVM_arg, 0, DW_OP_LLVM_convert, 32, DW_ATE_unsigned, DW_OP_LLVM_convert, 64, DW_ATE_unsigned, DW_OP_constu, 32, DW_OP_shl, DW_OP_LLVM_arg, 1, DW_OP_LLVM_convert, 32, DW_ATE_unsigned, DW_OP_LLVM_convert, 64, DW_ATE_unsigned, DW_OP_or, DW_OP_stack_value, DW_OP_LLVM_fragment, 64, 64)), !dbg !493 | |
call void @llvm.dbg.value(metadata i32 12, metadata !292, metadata !DIExpression()), !dbg !493 | |
%and586 = and i32 %asmresult4.i917, 12, !dbg !494 | |
%cmp587 = icmp eq i32 %and586, 12, !dbg !495 | |
%rng = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 68, !dbg !496 | |
%frombool589 = zext i1 %cmp587 to i8, !dbg !497 | |
store i8 %frombool589, i8* %rng, align 1, !dbg !497 | |
call void @llvm.dbg.value(metadata i32 192, metadata !293, metadata !DIExpression()), !dbg !493 | |
%ace = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 69, !dbg !498 | |
call void @llvm.dbg.value(metadata i32 768, metadata !294, metadata !DIExpression()), !dbg !493 | |
%ace2 = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 70, !dbg !499 | |
call void @llvm.dbg.value(metadata i32 3072, metadata !295, metadata !DIExpression()), !dbg !493 | |
%phe = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 71, !dbg !500 | |
call void @llvm.dbg.value(metadata i32 12288, metadata !296, metadata !DIExpression()), !dbg !493 | |
%153 = insertelement <4 x i32> poison, i32 %asmresult4.i917, i32 0, !dbg !501 | |
%shuffle = shufflevector <4 x i32> %153, <4 x i32> poison, <4 x i32> zeroinitializer, !dbg !501 | |
%154 = and <4 x i32> %shuffle, <i32 12288, i32 3072, i32 768, i32 192>, !dbg !501 | |
%155 = icmp eq <4 x i32> %154, <i32 12288, i32 3072, i32 768, i32 192>, !dbg !502 | |
%156 = extractelement <4 x i1> %155, i32 3, !dbg !503 | |
%frombool594 = zext i1 %156 to i8, !dbg !503 | |
store i8 %frombool594, i8* %ace, align 1, !dbg !503 | |
%157 = extractelement <4 x i1> %155, i32 2, !dbg !504 | |
%frombool599 = zext i1 %157 to i8, !dbg !504 | |
store i8 %frombool599, i8* %ace2, align 1, !dbg !504 | |
%158 = extractelement <4 x i1> %155, i32 1, !dbg !505 | |
%frombool604 = zext i1 %158 to i8, !dbg !505 | |
store i8 %frombool604, i8* %phe, align 1, !dbg !505 | |
%pmm = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 72, !dbg !506 | |
%159 = extractelement <4 x i1> %155, i32 0, !dbg !507 | |
%frombool609 = zext i1 %159 to i8, !dbg !507 | |
store i8 %frombool609, i8* %pmm, align 1, !dbg !507 | |
br label %if.end611, !dbg !508 | |
if.end611: ; preds = %if.then578, %if.then583, %sw.epilog162 | |
%lwp = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 73, !dbg !509 | |
%and613856 = lshr i64 %extended_info.coerce1, 15, !dbg !510 | |
%160 = trunc i64 %and613856 to i8, !dbg !510 | |
%161 = and i8 %160, 1, !dbg !510 | |
store i8 %161, i8* %lwp, align 1, !dbg !510 | |
%and619 = lshr i32 %extended_info.sroa.14.8.extract.trunc, 27, !dbg !511 | |
%162 = trunc i32 %and619 to i8, !dbg !511 | |
%163 = and i8 %162, 1, !dbg !511 | |
store i8 %163, i8* %0, align 1, !dbg !511 | |
%rdpid = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 1, !dbg !512 | |
%and625857 = lshr i64 %structured_feature_info0.sroa.25.0932, 22, !dbg !513 | |
%164 = trunc i64 %and625857 to i8, !dbg !513 | |
%165 = and i8 %164, 1, !dbg !513 | |
store i8 %165, i8* %rdpid, align 1, !dbg !513 | |
ret void, !dbg !514 | |
} | |
; Function Attrs: mustprogress nocallback nofree nosync nounwind readnone speculatable willreturn | |
declare void @llvm.dbg.declare(metadata, metadata, metadata) #1 | |
; Function Attrs: argmemonly mustprogress nofree nounwind willreturn writeonly | |
declare void @llvm.memset.p0i8.i64(i8* nocapture writeonly, i8, i64, i1 immarg) #2 | |
; Function Attrs: nocallback nofree nosync nounwind readnone speculatable willreturn | |
declare void @llvm.dbg.value(metadata, metadata, metadata) #3 | |
attributes #0 = { argmemonly nounwind optsize sanitize_memory "frame-pointer"="all" "min-legal-vector-width"="0" "no-trapping-math"="true" "prefer-vector-width"="128" "stack-protector-buffer-size"="8" "target-cpu"="x86-64-v3" "target-features"="+aes,+avx,+avx2,+bmi,+bmi2,+crc32,+cx16,+cx8,+f16c,+fma,+fxsr,+lzcnt,+mmx,+movbe,+pclmul,+popcnt,+sahf,+sse,+sse2,+sse3,+sse4.1,+sse4.2,+ssse3,+x87,+xsave" } | |
attributes #1 = { mustprogress nocallback nofree nosync nounwind readnone speculatable willreturn } | |
attributes #2 = { argmemonly mustprogress nofree nounwind willreturn writeonly } | |
attributes #3 = { nocallback nofree nosync nounwind readnone speculatable willreturn } | |
attributes #4 = { nounwind } | |
attributes #5 = { nounwind readnone } | |
!llvm.dbg.cu = !{!0} | |
!llvm.module.flags = !{!160, !161, !162, !163, !164} | |
!llvm.ident = !{!165} | |
!0 = distinct !DICompileUnit(language: DW_LANG_C99, file: !1, producer: "clang version 0fe13b5f84abe1716f5991da057c801dc548a9ab", isOptimized: true, runtimeVersion: 0, emissionKind: FullDebug, enums: !2, retainedTypes: !154, nameTableKind: None) | |
!1 = !DIFile(filename: "cpuinfo/src/x86/isa.c", directory: "workspace", checksumkind: CSK_MD5, checksum: "1f066767a48d692a7df3bd0b30681f63") | |
!2 = !{!3, !37} | |
!3 = !DICompositeType(tag: DW_TAG_enumeration_type, name: "cpuinfo_vendor", file: !4, line: 137, baseType: !5, size: 32, elements: !6) | |
!4 = !DIFile(filename: "cpuinfo/include/cpuinfo.h", directory: "workspace", checksumkind: CSK_MD5, checksum: "b2d9902226e7212a1e7a8aecca87c8f4") | |
!5 = !DIBasicType(name: "unsigned int", size: 32, encoding: DW_ATE_unsigned) | |
!6 = !{!7, !8, !9, !10, !11, !12, !13, !14, !15, !16, !17, !18, !19, !20, !21, !22, !23, !24, !25, !26, !27, !28, !29, !30, !31, !32, !33, !34, !35, !36} | |
!7 = !DIEnumerator(name: "cpuinfo_vendor_unknown", value: 0) | |
!8 = !DIEnumerator(name: "cpuinfo_vendor_intel", value: 1) | |
!9 = !DIEnumerator(name: "cpuinfo_vendor_amd", value: 2) | |
!10 = !DIEnumerator(name: "cpuinfo_vendor_arm", value: 3) | |
!11 = !DIEnumerator(name: "cpuinfo_vendor_qualcomm", value: 4) | |
!12 = !DIEnumerator(name: "cpuinfo_vendor_apple", value: 5) | |
!13 = !DIEnumerator(name: "cpuinfo_vendor_samsung", value: 6) | |
!14 = !DIEnumerator(name: "cpuinfo_vendor_nvidia", value: 7) | |
!15 = !DIEnumerator(name: "cpuinfo_vendor_mips", value: 8) | |
!16 = !DIEnumerator(name: "cpuinfo_vendor_ibm", value: 9) | |
!17 = !DIEnumerator(name: "cpuinfo_vendor_ingenic", value: 10) | |
!18 = !DIEnumerator(name: "cpuinfo_vendor_via", value: 11) | |
!19 = !DIEnumerator(name: "cpuinfo_vendor_cavium", value: 12) | |
!20 = !DIEnumerator(name: "cpuinfo_vendor_broadcom", value: 13) | |
!21 = !DIEnumerator(name: "cpuinfo_vendor_apm", value: 14) | |
!22 = !DIEnumerator(name: "cpuinfo_vendor_huawei", value: 15) | |
!23 = !DIEnumerator(name: "cpuinfo_vendor_hygon", value: 16) | |
!24 = !DIEnumerator(name: "cpuinfo_vendor_texas_instruments", value: 30) | |
!25 = !DIEnumerator(name: "cpuinfo_vendor_marvell", value: 31) | |
!26 = !DIEnumerator(name: "cpuinfo_vendor_rdc", value: 32) | |
!27 = !DIEnumerator(name: "cpuinfo_vendor_dmp", value: 33) | |
!28 = !DIEnumerator(name: "cpuinfo_vendor_motorola", value: 34) | |
!29 = !DIEnumerator(name: "cpuinfo_vendor_transmeta", value: 50) | |
!30 = !DIEnumerator(name: "cpuinfo_vendor_cyrix", value: 51) | |
!31 = !DIEnumerator(name: "cpuinfo_vendor_rise", value: 52) | |
!32 = !DIEnumerator(name: "cpuinfo_vendor_nsc", value: 53) | |
!33 = !DIEnumerator(name: "cpuinfo_vendor_sis", value: 54) | |
!34 = !DIEnumerator(name: "cpuinfo_vendor_nexgen", value: 55) | |
!35 = !DIEnumerator(name: "cpuinfo_vendor_umc", value: 56) | |
!36 = !DIEnumerator(name: "cpuinfo_vendor_dec", value: 57) | |
!37 = !DICompositeType(tag: DW_TAG_enumeration_type, name: "cpuinfo_uarch", file: !4, line: 266, baseType: !5, size: 32, elements: !38) | |
!38 = !{!39, !40, !41, !42, !43, !44, !45, !46, !47, !48, !49, !50, !51, !52, !53, !54, !55, !56, !57, !58, !59, !60, !61, !62, !63, !64, !65, !66, !67, !68, !69, !70, !71, !72, !73, !74, !75, !76, !77, !78, !79, !80, !81, !82, !83, !84, !85, !86, !87, !88, !89, !90, !91, !92, !93, !94, !95, !96, !97, !98, !99, !100, !101, !102, !103, !104, !105, !106, !107, !108, !109, !110, !111, !112, !113, !114, !115, !116, !117, !118, !119, !120, !121, !122, !123, !124, !125, !126, !127, !128, !129, !130, !131, !132, !133, !134, !135, !136, !137, !138, !139, !140, !141, !142, !143, !144, !145, !146, !147, !148, !149, !150, !151, !152, !153} | |
!39 = !DIEnumerator(name: "cpuinfo_uarch_unknown", value: 0) | |
!40 = !DIEnumerator(name: "cpuinfo_uarch_p5", value: 1048832) | |
!41 = !DIEnumerator(name: "cpuinfo_uarch_quark", value: 1048833) | |
!42 = !DIEnumerator(name: "cpuinfo_uarch_p6", value: 1049088) | |
!43 = !DIEnumerator(name: "cpuinfo_uarch_dothan", value: 1049089) | |
!44 = !DIEnumerator(name: "cpuinfo_uarch_yonah", value: 1049090) | |
!45 = !DIEnumerator(name: "cpuinfo_uarch_conroe", value: 1049091) | |
!46 = !DIEnumerator(name: "cpuinfo_uarch_penryn", value: 1049092) | |
!47 = !DIEnumerator(name: "cpuinfo_uarch_nehalem", value: 1049093) | |
!48 = !DIEnumerator(name: "cpuinfo_uarch_sandy_bridge", value: 1049094) | |
!49 = !DIEnumerator(name: "cpuinfo_uarch_ivy_bridge", value: 1049095) | |
!50 = !DIEnumerator(name: "cpuinfo_uarch_haswell", value: 1049096) | |
!51 = !DIEnumerator(name: "cpuinfo_uarch_broadwell", value: 1049097) | |
!52 = !DIEnumerator(name: "cpuinfo_uarch_sky_lake", value: 1049098) | |
!53 = !DIEnumerator(name: "cpuinfo_uarch_kaby_lake", value: 1049098) | |
!54 = !DIEnumerator(name: "cpuinfo_uarch_palm_cove", value: 1049099) | |
!55 = !DIEnumerator(name: "cpuinfo_uarch_sunny_cove", value: 1049100) | |
!56 = !DIEnumerator(name: "cpuinfo_uarch_willamette", value: 1049344) | |
!57 = !DIEnumerator(name: "cpuinfo_uarch_prescott", value: 1049345) | |
!58 = !DIEnumerator(name: "cpuinfo_uarch_bonnell", value: 1049600) | |
!59 = !DIEnumerator(name: "cpuinfo_uarch_saltwell", value: 1049601) | |
!60 = !DIEnumerator(name: "cpuinfo_uarch_silvermont", value: 1049602) | |
!61 = !DIEnumerator(name: "cpuinfo_uarch_airmont", value: 1049603) | |
!62 = !DIEnumerator(name: "cpuinfo_uarch_goldmont", value: 1049604) | |
!63 = !DIEnumerator(name: "cpuinfo_uarch_goldmont_plus", value: 1049605) | |
!64 = !DIEnumerator(name: "cpuinfo_uarch_knights_ferry", value: 1049856) | |
!65 = !DIEnumerator(name: "cpuinfo_uarch_knights_corner", value: 1049857) | |
!66 = !DIEnumerator(name: "cpuinfo_uarch_knights_landing", value: 1049858) | |
!67 = !DIEnumerator(name: "cpuinfo_uarch_knights_hill", value: 1049859) | |
!68 = !DIEnumerator(name: "cpuinfo_uarch_knights_mill", value: 1049860) | |
!69 = !DIEnumerator(name: "cpuinfo_uarch_xscale", value: 1050112) | |
!70 = !DIEnumerator(name: "cpuinfo_uarch_k5", value: 2097408) | |
!71 = !DIEnumerator(name: "cpuinfo_uarch_k6", value: 2097409) | |
!72 = !DIEnumerator(name: "cpuinfo_uarch_k7", value: 2097410) | |
!73 = !DIEnumerator(name: "cpuinfo_uarch_k8", value: 2097411) | |
!74 = !DIEnumerator(name: "cpuinfo_uarch_k10", value: 2097412) | |
!75 = !DIEnumerator(name: "cpuinfo_uarch_bulldozer", value: 2097413) | |
!76 = !DIEnumerator(name: "cpuinfo_uarch_piledriver", value: 2097414) | |
!77 = !DIEnumerator(name: "cpuinfo_uarch_steamroller", value: 2097415) | |
!78 = !DIEnumerator(name: "cpuinfo_uarch_excavator", value: 2097416) | |
!79 = !DIEnumerator(name: "cpuinfo_uarch_zen", value: 2097417) | |
!80 = !DIEnumerator(name: "cpuinfo_uarch_zen2", value: 2097418) | |
!81 = !DIEnumerator(name: "cpuinfo_uarch_zen3", value: 2097419) | |
!82 = !DIEnumerator(name: "cpuinfo_uarch_geode", value: 2097664) | |
!83 = !DIEnumerator(name: "cpuinfo_uarch_bobcat", value: 2097665) | |
!84 = !DIEnumerator(name: "cpuinfo_uarch_jaguar", value: 2097666) | |
!85 = !DIEnumerator(name: "cpuinfo_uarch_puma", value: 2097667) | |
!86 = !DIEnumerator(name: "cpuinfo_uarch_arm7", value: 3145984) | |
!87 = !DIEnumerator(name: "cpuinfo_uarch_arm9", value: 3145985) | |
!88 = !DIEnumerator(name: "cpuinfo_uarch_arm11", value: 3145986) | |
!89 = !DIEnumerator(name: "cpuinfo_uarch_cortex_a5", value: 3146245) | |
!90 = !DIEnumerator(name: "cpuinfo_uarch_cortex_a7", value: 3146247) | |
!91 = !DIEnumerator(name: "cpuinfo_uarch_cortex_a8", value: 3146248) | |
!92 = !DIEnumerator(name: "cpuinfo_uarch_cortex_a9", value: 3146249) | |
!93 = !DIEnumerator(name: "cpuinfo_uarch_cortex_a12", value: 3146258) | |
!94 = !DIEnumerator(name: "cpuinfo_uarch_cortex_a15", value: 3146261) | |
!95 = !DIEnumerator(name: "cpuinfo_uarch_cortex_a17", value: 3146263) | |
!96 = !DIEnumerator(name: "cpuinfo_uarch_cortex_a32", value: 3146546) | |
!97 = !DIEnumerator(name: "cpuinfo_uarch_cortex_a35", value: 3146549) | |
!98 = !DIEnumerator(name: "cpuinfo_uarch_cortex_a53", value: 3146579) | |
!99 = !DIEnumerator(name: "cpuinfo_uarch_cortex_a55r0", value: 3146580) | |
!100 = !DIEnumerator(name: "cpuinfo_uarch_cortex_a55", value: 3146581) | |
!101 = !DIEnumerator(name: "cpuinfo_uarch_cortex_a57", value: 3146583) | |
!102 = !DIEnumerator(name: "cpuinfo_uarch_cortex_a65", value: 3146597) | |
!103 = !DIEnumerator(name: "cpuinfo_uarch_cortex_a72", value: 3146610) | |
!104 = !DIEnumerator(name: "cpuinfo_uarch_cortex_a73", value: 3146611) | |
!105 = !DIEnumerator(name: "cpuinfo_uarch_cortex_a75", value: 3146613) | |
!106 = !DIEnumerator(name: "cpuinfo_uarch_cortex_a76", value: 3146614) | |
!107 = !DIEnumerator(name: "cpuinfo_uarch_cortex_a77", value: 3146615) | |
!108 = !DIEnumerator(name: "cpuinfo_uarch_cortex_a78", value: 3146616) | |
!109 = !DIEnumerator(name: "cpuinfo_uarch_neoverse_n1", value: 3146752) | |
!110 = !DIEnumerator(name: "cpuinfo_uarch_neoverse_e1", value: 3146753) | |
!111 = !DIEnumerator(name: "cpuinfo_uarch_cortex_x1", value: 3147008) | |
!112 = !DIEnumerator(name: "cpuinfo_uarch_cortex_x2", value: 3147010) | |
!113 = !DIEnumerator(name: "cpuinfo_uarch_cortex_a510", value: 3147089) | |
!114 = !DIEnumerator(name: "cpuinfo_uarch_cortex_a710", value: 3147121) | |
!115 = !DIEnumerator(name: "cpuinfo_uarch_scorpion", value: 4194560) | |
!116 = !DIEnumerator(name: "cpuinfo_uarch_krait", value: 4194561) | |
!117 = !DIEnumerator(name: "cpuinfo_uarch_kryo", value: 4194562) | |
!118 = !DIEnumerator(name: "cpuinfo_uarch_falkor", value: 4194563) | |
!119 = !DIEnumerator(name: "cpuinfo_uarch_saphira", value: 4194564) | |
!120 = !DIEnumerator(name: "cpuinfo_uarch_denver", value: 5243136) | |
!121 = !DIEnumerator(name: "cpuinfo_uarch_denver2", value: 5243137) | |
!122 = !DIEnumerator(name: "cpuinfo_uarch_carmel", value: 5243138) | |
!123 = !DIEnumerator(name: "cpuinfo_uarch_exynos_m1", value: 6291712) | |
!124 = !DIEnumerator(name: "cpuinfo_uarch_exynos_m2", value: 6291713) | |
!125 = !DIEnumerator(name: "cpuinfo_uarch_exynos_m3", value: 6291714) | |
!126 = !DIEnumerator(name: "cpuinfo_uarch_exynos_m4", value: 6291715) | |
!127 = !DIEnumerator(name: "cpuinfo_uarch_exynos_m5", value: 6291716) | |
!128 = !DIEnumerator(name: "cpuinfo_uarch_cortex_a76ae", value: 3146614) | |
!129 = !DIEnumerator(name: "cpuinfo_uarch_mongoose_m1", value: 6291712) | |
!130 = !DIEnumerator(name: "cpuinfo_uarch_mongoose_m2", value: 6291713) | |
!131 = !DIEnumerator(name: "cpuinfo_uarch_meerkat_m3", value: 6291714) | |
!132 = !DIEnumerator(name: "cpuinfo_uarch_meerkat_m4", value: 6291715) | |
!133 = !DIEnumerator(name: "cpuinfo_uarch_swift", value: 7340288) | |
!134 = !DIEnumerator(name: "cpuinfo_uarch_cyclone", value: 7340289) | |
!135 = !DIEnumerator(name: "cpuinfo_uarch_typhoon", value: 7340290) | |
!136 = !DIEnumerator(name: "cpuinfo_uarch_twister", value: 7340291) | |
!137 = !DIEnumerator(name: "cpuinfo_uarch_hurricane", value: 7340292) | |
!138 = !DIEnumerator(name: "cpuinfo_uarch_monsoon", value: 7340293) | |
!139 = !DIEnumerator(name: "cpuinfo_uarch_mistral", value: 7340294) | |
!140 = !DIEnumerator(name: "cpuinfo_uarch_vortex", value: 7340295) | |
!141 = !DIEnumerator(name: "cpuinfo_uarch_tempest", value: 7340296) | |
!142 = !DIEnumerator(name: "cpuinfo_uarch_lightning", value: 7340297) | |
!143 = !DIEnumerator(name: "cpuinfo_uarch_thunder", value: 7340298) | |
!144 = !DIEnumerator(name: "cpuinfo_uarch_firestorm", value: 7340299) | |
!145 = !DIEnumerator(name: "cpuinfo_uarch_icestorm", value: 7340300) | |
!146 = !DIEnumerator(name: "cpuinfo_uarch_thunderx", value: 8388864) | |
!147 = !DIEnumerator(name: "cpuinfo_uarch_thunderx2", value: 8389120) | |
!148 = !DIEnumerator(name: "cpuinfo_uarch_pj4", value: 9437440) | |
!149 = !DIEnumerator(name: "cpuinfo_uarch_brahma_b15", value: 10486016) | |
!150 = !DIEnumerator(name: "cpuinfo_uarch_brahma_b53", value: 10486017) | |
!151 = !DIEnumerator(name: "cpuinfo_uarch_xgene", value: 11534592) | |
!152 = !DIEnumerator(name: "cpuinfo_uarch_dhyana", value: 16777472) | |
!153 = !DIEnumerator(name: "cpuinfo_uarch_taishan_v110", value: 12583168) | |
!154 = !{!155} | |
!155 = !DIDerivedType(tag: DW_TAG_typedef, name: "uint64_t", file: !156, line: 27, baseType: !157) | |
!156 = !DIFile(filename: "glibc/include/bits/stdint-uintn.h", directory: "workspace", checksumkind: CSK_MD5, checksum: "9754ebe022edbe8d7928fa709e442f0d") | |
!157 = !DIDerivedType(tag: DW_TAG_typedef, name: "__uint64_t", file: !158, line: 44, baseType: !159) | |
!158 = !DIFile(filename: "glibc/include/bits/types.h", directory: "workspace", checksumkind: CSK_MD5, checksum: "25679ba19d359e314e48661b21f5aa1f") | |
!159 = !DIBasicType(name: "unsigned long", size: 64, encoding: DW_ATE_unsigned) | |
!160 = !{i32 7, !"Dwarf Version", i32 5} | |
!161 = !{i32 2, !"Debug Info Version", i32 3} | |
!162 = !{i32 1, !"wchar_size", i32 4} | |
!163 = !{i32 7, !"PIC Level", i32 2} | |
!164 = !{i32 7, !"frame-pointer", i32 2} | |
!165 = !{!"clang version 0fe13b5f84abe1716f5991da057c801dc548a9ab"} | |
!166 = distinct !DISubprogram(name: "cpuinfo_x86_detect_isa", scope: !1, file: !1, line: 38, type: !167, scopeLine: 42, flags: DIFlagPrototyped | DIFlagAllCallsDescribed, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !0, retainedNodes: !256) | |
!167 = !DISubroutineType(types: !168) | |
!168 = !{!169, !246, !246, !251, !251, !3, !37} | |
!169 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "cpuinfo_x86_isa", file: !4, line: 670, size: 592, elements: !170) | |
!170 = !{!171, !173, !174, !175, !176, !177, !178, !179, !180, !181, !182, !183, !184, !185, !186, !187, !188, !189, !190, !191, !192, !193, !194, !195, !196, !197, !198, !199, !200, !201, !202, !203, !204, !205, !206, !207, !208, !209, !210, !211, !212, !213, !214, !215, !216, !217, !218, !219, !220, !221, !222, !223, !224, !225, !226, !227, !228, !229, !230, !231, !232, !233, !234, !235, !236, !237, !238, !239, !240, !241, !242, !243, !244, !245} | |
!171 = !DIDerivedType(tag: DW_TAG_member, name: "rdtscp", scope: !169, file: !4, line: 674, baseType: !172, size: 8) | |
!172 = !DIBasicType(name: "_Bool", size: 8, encoding: DW_ATE_boolean) | |
!173 = !DIDerivedType(tag: DW_TAG_member, name: "rdpid", scope: !169, file: !4, line: 675, baseType: !172, size: 8, offset: 8) | |
!174 = !DIDerivedType(tag: DW_TAG_member, name: "sysenter", scope: !169, file: !4, line: 676, baseType: !172, size: 8, offset: 16) | |
!175 = !DIDerivedType(tag: DW_TAG_member, name: "msr", scope: !169, file: !4, line: 680, baseType: !172, size: 8, offset: 24) | |
!176 = !DIDerivedType(tag: DW_TAG_member, name: "clzero", scope: !169, file: !4, line: 681, baseType: !172, size: 8, offset: 32) | |
!177 = !DIDerivedType(tag: DW_TAG_member, name: "clflush", scope: !169, file: !4, line: 682, baseType: !172, size: 8, offset: 40) | |
!178 = !DIDerivedType(tag: DW_TAG_member, name: "clflushopt", scope: !169, file: !4, line: 683, baseType: !172, size: 8, offset: 48) | |
!179 = !DIDerivedType(tag: DW_TAG_member, name: "mwait", scope: !169, file: !4, line: 684, baseType: !172, size: 8, offset: 56) | |
!180 = !DIDerivedType(tag: DW_TAG_member, name: "mwaitx", scope: !169, file: !4, line: 685, baseType: !172, size: 8, offset: 64) | |
!181 = !DIDerivedType(tag: DW_TAG_member, name: "fxsave", scope: !169, file: !4, line: 689, baseType: !172, size: 8, offset: 72) | |
!182 = !DIDerivedType(tag: DW_TAG_member, name: "xsave", scope: !169, file: !4, line: 690, baseType: !172, size: 8, offset: 80) | |
!183 = !DIDerivedType(tag: DW_TAG_member, name: "three_d_now", scope: !169, file: !4, line: 696, baseType: !172, size: 8, offset: 88) | |
!184 = !DIDerivedType(tag: DW_TAG_member, name: "three_d_now_plus", scope: !169, file: !4, line: 697, baseType: !172, size: 8, offset: 96) | |
!185 = !DIDerivedType(tag: DW_TAG_member, name: "prefetch", scope: !169, file: !4, line: 701, baseType: !172, size: 8, offset: 104) | |
!186 = !DIDerivedType(tag: DW_TAG_member, name: "prefetchw", scope: !169, file: !4, line: 702, baseType: !172, size: 8, offset: 112) | |
!187 = !DIDerivedType(tag: DW_TAG_member, name: "prefetchwt1", scope: !169, file: !4, line: 703, baseType: !172, size: 8, offset: 120) | |
!188 = !DIDerivedType(tag: DW_TAG_member, name: "sse3", scope: !169, file: !4, line: 709, baseType: !172, size: 8, offset: 128) | |
!189 = !DIDerivedType(tag: DW_TAG_member, name: "ssse3", scope: !169, file: !4, line: 710, baseType: !172, size: 8, offset: 136) | |
!190 = !DIDerivedType(tag: DW_TAG_member, name: "sse4_1", scope: !169, file: !4, line: 711, baseType: !172, size: 8, offset: 144) | |
!191 = !DIDerivedType(tag: DW_TAG_member, name: "sse4_2", scope: !169, file: !4, line: 712, baseType: !172, size: 8, offset: 152) | |
!192 = !DIDerivedType(tag: DW_TAG_member, name: "sse4a", scope: !169, file: !4, line: 713, baseType: !172, size: 8, offset: 160) | |
!193 = !DIDerivedType(tag: DW_TAG_member, name: "misaligned_sse", scope: !169, file: !4, line: 714, baseType: !172, size: 8, offset: 168) | |
!194 = !DIDerivedType(tag: DW_TAG_member, name: "avx", scope: !169, file: !4, line: 715, baseType: !172, size: 8, offset: 176) | |
!195 = !DIDerivedType(tag: DW_TAG_member, name: "fma3", scope: !169, file: !4, line: 716, baseType: !172, size: 8, offset: 184) | |
!196 = !DIDerivedType(tag: DW_TAG_member, name: "fma4", scope: !169, file: !4, line: 717, baseType: !172, size: 8, offset: 192) | |
!197 = !DIDerivedType(tag: DW_TAG_member, name: "xop", scope: !169, file: !4, line: 718, baseType: !172, size: 8, offset: 200) | |
!198 = !DIDerivedType(tag: DW_TAG_member, name: "f16c", scope: !169, file: !4, line: 719, baseType: !172, size: 8, offset: 208) | |
!199 = !DIDerivedType(tag: DW_TAG_member, name: "avx2", scope: !169, file: !4, line: 720, baseType: !172, size: 8, offset: 216) | |
!200 = !DIDerivedType(tag: DW_TAG_member, name: "avx512f", scope: !169, file: !4, line: 721, baseType: !172, size: 8, offset: 224) | |
!201 = !DIDerivedType(tag: DW_TAG_member, name: "avx512pf", scope: !169, file: !4, line: 722, baseType: !172, size: 8, offset: 232) | |
!202 = !DIDerivedType(tag: DW_TAG_member, name: "avx512er", scope: !169, file: !4, line: 723, baseType: !172, size: 8, offset: 240) | |
!203 = !DIDerivedType(tag: DW_TAG_member, name: "avx512cd", scope: !169, file: !4, line: 724, baseType: !172, size: 8, offset: 248) | |
!204 = !DIDerivedType(tag: DW_TAG_member, name: "avx512dq", scope: !169, file: !4, line: 725, baseType: !172, size: 8, offset: 256) | |
!205 = !DIDerivedType(tag: DW_TAG_member, name: "avx512bw", scope: !169, file: !4, line: 726, baseType: !172, size: 8, offset: 264) | |
!206 = !DIDerivedType(tag: DW_TAG_member, name: "avx512vl", scope: !169, file: !4, line: 727, baseType: !172, size: 8, offset: 272) | |
!207 = !DIDerivedType(tag: DW_TAG_member, name: "avx512ifma", scope: !169, file: !4, line: 728, baseType: !172, size: 8, offset: 280) | |
!208 = !DIDerivedType(tag: DW_TAG_member, name: "avx512vbmi", scope: !169, file: !4, line: 729, baseType: !172, size: 8, offset: 288) | |
!209 = !DIDerivedType(tag: DW_TAG_member, name: "avx512vbmi2", scope: !169, file: !4, line: 730, baseType: !172, size: 8, offset: 296) | |
!210 = !DIDerivedType(tag: DW_TAG_member, name: "avx512bitalg", scope: !169, file: !4, line: 731, baseType: !172, size: 8, offset: 304) | |
!211 = !DIDerivedType(tag: DW_TAG_member, name: "avx512vpopcntdq", scope: !169, file: !4, line: 732, baseType: !172, size: 8, offset: 312) | |
!212 = !DIDerivedType(tag: DW_TAG_member, name: "avx512vnni", scope: !169, file: !4, line: 733, baseType: !172, size: 8, offset: 320) | |
!213 = !DIDerivedType(tag: DW_TAG_member, name: "avx512bf16", scope: !169, file: !4, line: 734, baseType: !172, size: 8, offset: 328) | |
!214 = !DIDerivedType(tag: DW_TAG_member, name: "avx512vp2intersect", scope: !169, file: !4, line: 735, baseType: !172, size: 8, offset: 336) | |
!215 = !DIDerivedType(tag: DW_TAG_member, name: "avx512_4vnniw", scope: !169, file: !4, line: 736, baseType: !172, size: 8, offset: 344) | |
!216 = !DIDerivedType(tag: DW_TAG_member, name: "avx512_4fmaps", scope: !169, file: !4, line: 737, baseType: !172, size: 8, offset: 352) | |
!217 = !DIDerivedType(tag: DW_TAG_member, name: "hle", scope: !169, file: !4, line: 738, baseType: !172, size: 8, offset: 360) | |
!218 = !DIDerivedType(tag: DW_TAG_member, name: "rtm", scope: !169, file: !4, line: 739, baseType: !172, size: 8, offset: 368) | |
!219 = !DIDerivedType(tag: DW_TAG_member, name: "xtest", scope: !169, file: !4, line: 740, baseType: !172, size: 8, offset: 376) | |
!220 = !DIDerivedType(tag: DW_TAG_member, name: "mpx", scope: !169, file: !4, line: 741, baseType: !172, size: 8, offset: 384) | |
!221 = !DIDerivedType(tag: DW_TAG_member, name: "cmpxchg16b", scope: !169, file: !4, line: 746, baseType: !172, size: 8, offset: 392) | |
!222 = !DIDerivedType(tag: DW_TAG_member, name: "clwb", scope: !169, file: !4, line: 747, baseType: !172, size: 8, offset: 400) | |
!223 = !DIDerivedType(tag: DW_TAG_member, name: "movbe", scope: !169, file: !4, line: 748, baseType: !172, size: 8, offset: 408) | |
!224 = !DIDerivedType(tag: DW_TAG_member, name: "lahf_sahf", scope: !169, file: !4, line: 750, baseType: !172, size: 8, offset: 416) | |
!225 = !DIDerivedType(tag: DW_TAG_member, name: "fs_gs_base", scope: !169, file: !4, line: 752, baseType: !172, size: 8, offset: 424) | |
!226 = !DIDerivedType(tag: DW_TAG_member, name: "lzcnt", scope: !169, file: !4, line: 753, baseType: !172, size: 8, offset: 432) | |
!227 = !DIDerivedType(tag: DW_TAG_member, name: "popcnt", scope: !169, file: !4, line: 754, baseType: !172, size: 8, offset: 440) | |
!228 = !DIDerivedType(tag: DW_TAG_member, name: "tbm", scope: !169, file: !4, line: 755, baseType: !172, size: 8, offset: 448) | |
!229 = !DIDerivedType(tag: DW_TAG_member, name: "bmi", scope: !169, file: !4, line: 756, baseType: !172, size: 8, offset: 456) | |
!230 = !DIDerivedType(tag: DW_TAG_member, name: "bmi2", scope: !169, file: !4, line: 757, baseType: !172, size: 8, offset: 464) | |
!231 = !DIDerivedType(tag: DW_TAG_member, name: "adx", scope: !169, file: !4, line: 758, baseType: !172, size: 8, offset: 472) | |
!232 = !DIDerivedType(tag: DW_TAG_member, name: "aes", scope: !169, file: !4, line: 759, baseType: !172, size: 8, offset: 480) | |
!233 = !DIDerivedType(tag: DW_TAG_member, name: "vaes", scope: !169, file: !4, line: 760, baseType: !172, size: 8, offset: 488) | |
!234 = !DIDerivedType(tag: DW_TAG_member, name: "pclmulqdq", scope: !169, file: !4, line: 761, baseType: !172, size: 8, offset: 496) | |
!235 = !DIDerivedType(tag: DW_TAG_member, name: "vpclmulqdq", scope: !169, file: !4, line: 762, baseType: !172, size: 8, offset: 504) | |
!236 = !DIDerivedType(tag: DW_TAG_member, name: "gfni", scope: !169, file: !4, line: 763, baseType: !172, size: 8, offset: 512) | |
!237 = !DIDerivedType(tag: DW_TAG_member, name: "rdrand", scope: !169, file: !4, line: 764, baseType: !172, size: 8, offset: 520) | |
!238 = !DIDerivedType(tag: DW_TAG_member, name: "rdseed", scope: !169, file: !4, line: 765, baseType: !172, size: 8, offset: 528) | |
!239 = !DIDerivedType(tag: DW_TAG_member, name: "sha", scope: !169, file: !4, line: 766, baseType: !172, size: 8, offset: 536) | |
!240 = !DIDerivedType(tag: DW_TAG_member, name: "rng", scope: !169, file: !4, line: 767, baseType: !172, size: 8, offset: 544) | |
!241 = !DIDerivedType(tag: DW_TAG_member, name: "ace", scope: !169, file: !4, line: 768, baseType: !172, size: 8, offset: 552) | |
!242 = !DIDerivedType(tag: DW_TAG_member, name: "ace2", scope: !169, file: !4, line: 769, baseType: !172, size: 8, offset: 560) | |
!243 = !DIDerivedType(tag: DW_TAG_member, name: "phe", scope: !169, file: !4, line: 770, baseType: !172, size: 8, offset: 568) | |
!244 = !DIDerivedType(tag: DW_TAG_member, name: "pmm", scope: !169, file: !4, line: 771, baseType: !172, size: 8, offset: 576) | |
!245 = !DIDerivedType(tag: DW_TAG_member, name: "lwp", scope: !169, file: !4, line: 772, baseType: !172, size: 8, offset: 584) | |
!246 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !247) | |
!247 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "cpuid_regs", file: !248, line: 10, size: 128, elements: !249) | |
!248 = !DIFile(filename: "cpuinfo/src/x86/api.h", directory: "workspace", checksumkind: CSK_MD5, checksum: "27c8ee589f06b55198de5debd23b68da") | |
!249 = !{!250, !253, !254, !255} | |
!250 = !DIDerivedType(tag: DW_TAG_member, name: "eax", scope: !247, file: !248, line: 11, baseType: !251, size: 32) | |
!251 = !DIDerivedType(tag: DW_TAG_typedef, name: "uint32_t", file: !156, line: 26, baseType: !252) | |
!252 = !DIDerivedType(tag: DW_TAG_typedef, name: "__uint32_t", file: !158, line: 41, baseType: !5) | |
!253 = !DIDerivedType(tag: DW_TAG_member, name: "ebx", scope: !247, file: !248, line: 12, baseType: !251, size: 32, offset: 32) | |
!254 = !DIDerivedType(tag: DW_TAG_member, name: "ecx", scope: !247, file: !248, line: 13, baseType: !251, size: 32, offset: 64) | |
!255 = !DIDerivedType(tag: DW_TAG_member, name: "edx", scope: !247, file: !248, line: 14, baseType: !251, size: 32, offset: 96) | |
!256 = !{!257, !258, !259, !260, !261, !262, !263, !264, !265, !266, !268, !269, !270, !271, !272, !273, !276, !279, !281, !282, !283, !284, !287, !288, !289, !292, !293, !294, !295, !296} | |
!257 = !DILocalVariable(name: "basic_info", arg: 1, scope: !166, file: !1, line: 39, type: !246) | |
!258 = !DILocalVariable(name: "extended_info", arg: 2, scope: !166, file: !1, line: 39, type: !246) | |
!259 = !DILocalVariable(name: "max_base_index", arg: 3, scope: !166, file: !1, line: 40, type: !251) | |
!260 = !DILocalVariable(name: "max_extended_index", arg: 4, scope: !166, file: !1, line: 40, type: !251) | |
!261 = !DILocalVariable(name: "vendor", arg: 5, scope: !166, file: !1, line: 41, type: !3) | |
!262 = !DILocalVariable(name: "uarch", arg: 6, scope: !166, file: !1, line: 41, type: !37) | |
!263 = !DILocalVariable(name: "isa", scope: !166, file: !1, line: 43, type: !169) | |
!264 = !DILocalVariable(name: "structured_feature_info0", scope: !166, file: !1, line: 45, type: !246) | |
!265 = !DILocalVariable(name: "structured_feature_info1", scope: !166, file: !1, line: 47, type: !246) | |
!266 = !DILocalVariable(name: "processor_capacity_info_index", scope: !166, file: !1, line: 50, type: !267) | |
!267 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !251) | |
!268 = !DILocalVariable(name: "processor_capacity_info", scope: !166, file: !1, line: 51, type: !246) | |
!269 = !DILocalVariable(name: "avx_regs", scope: !166, file: !1, line: 55, type: !172) | |
!270 = !DILocalVariable(name: "avx512_regs", scope: !166, file: !1, line: 55, type: !172) | |
!271 = !DILocalVariable(name: "mpx_regs", scope: !166, file: !1, line: 55, type: !172) | |
!272 = !DILocalVariable(name: "osxsave_mask", scope: !166, file: !1, line: 61, type: !267) | |
!273 = !DILocalVariable(name: "xcr0_valid_bits", scope: !274, file: !1, line: 63, type: !155) | |
!274 = distinct !DILexicalBlock(scope: !275, file: !1, line: 62, column: 55) | |
!275 = distinct !DILexicalBlock(scope: !166, file: !1, line: 62, column: 6) | |
!276 = !DILocalVariable(name: "regs", scope: !277, file: !1, line: 65, type: !246) | |
!277 = distinct !DILexicalBlock(scope: !278, file: !1, line: 64, column: 30) | |
!278 = distinct !DILexicalBlock(scope: !274, file: !1, line: 64, column: 7) | |
!279 = !DILocalVariable(name: "xfeature_enabled_mask", scope: !274, file: !1, line: 69, type: !280) | |
!280 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !155) | |
!281 = !DILocalVariable(name: "avx_regs_mask", scope: !274, file: !1, line: 76, type: !280) | |
!282 = !DILocalVariable(name: "avx512_regs_mask", scope: !274, file: !1, line: 89, type: !280) | |
!283 = !DILocalVariable(name: "mpx_regs_mask", scope: !274, file: !1, line: 99, type: !280) | |
!284 = !DILocalVariable(name: "padlock_meta_info", scope: !285, file: !1, line: 657, type: !246) | |
!285 = distinct !DILexicalBlock(scope: !286, file: !1, line: 656, column: 36) | |
!286 = distinct !DILexicalBlock(scope: !166, file: !1, line: 656, column: 6) | |
!287 = !DILocalVariable(name: "max_padlock_index", scope: !285, file: !1, line: 658, type: !267) | |
!288 = !DILocalVariable(name: "padlock_info_index", scope: !285, file: !1, line: 659, type: !267) | |
!289 = !DILocalVariable(name: "padlock_info", scope: !290, file: !1, line: 661, type: !246) | |
!290 = distinct !DILexicalBlock(scope: !291, file: !1, line: 660, column: 48) | |
!291 = distinct !DILexicalBlock(scope: !285, file: !1, line: 660, column: 7) | |
!292 = !DILocalVariable(name: "padlock_rng_mask", scope: !290, file: !1, line: 668, type: !267) | |
!293 = !DILocalVariable(name: "padlock_ace_mask", scope: !290, file: !1, line: 676, type: !267) | |
!294 = !DILocalVariable(name: "padlock_ace2_mask", scope: !290, file: !1, line: 684, type: !267) | |
!295 = !DILocalVariable(name: "padlock_phe_mask", scope: !290, file: !1, line: 692, type: !267) | |
!296 = !DILocalVariable(name: "padlock_pmm_mask", scope: !290, file: !1, line: 700, type: !267) | |
!297 = !DILocation(line: 0, scope: !166) | |
!298 = !DILocation(line: 43, column: 25, scope: !166) | |
!299 = !DILocation(line: 46, column: 19, scope: !166) | |
!300 = !DILocation(line: 46, column: 3, scope: !166) | |
!301 = !DILocalVariable(name: "eax", arg: 1, scope: !302, file: !303, line: 43, type: !251) | |
!302 = distinct !DISubprogram(name: "cpuidex", scope: !303, file: !303, line: 43, type: !304, scopeLine: 43, flags: DIFlagPrototyped | DIFlagAllCallsDescribed, spFlags: DISPFlagLocalToUnit | DISPFlagDefinition | DISPFlagOptimized, unit: !0, retainedNodes: !306) | |
!303 = !DIFile(filename: "cpuinfo/src/x86/cpuid.h", directory: "workspace", checksumkind: CSK_MD5, checksum: "f9e451aa7a48009ba003a034c14f0ac3") | |
!304 = !DISubroutineType(types: !305) | |
!305 = !{!247, !251, !251} | |
!306 = !{!301, !307, !308} | |
!307 = !DILocalVariable(name: "ecx", arg: 2, scope: !302, file: !303, line: 43, type: !251) | |
!308 = !DILocalVariable(name: "regs", scope: !302, file: !303, line: 54, type: !247) | |
!309 = !DILocation(line: 0, scope: !302, inlinedAt: !310) | |
!310 = distinct !DILocation(line: 46, column: 27, scope: !166) | |
!311 = !DILocation(line: 56, column: 5, scope: !302, inlinedAt: !310) | |
!312 = !{i64 2147921615, i64 2147921651, i64 2147921675} | |
!313 = !DILocation(line: 65, column: 4, scope: !302, inlinedAt: !310) | |
!314 = !DILocation(line: 0, scope: !302, inlinedAt: !315) | |
!315 = distinct !DILocation(line: 48, column: 27, scope: !166) | |
!316 = !DILocation(line: 56, column: 5, scope: !302, inlinedAt: !315) | |
!317 = !DILocation(line: 65, column: 4, scope: !302, inlinedAt: !315) | |
!318 = !DILocation(line: 48, column: 3, scope: !166) | |
!319 = !DILocation(line: 52, column: 23, scope: !166) | |
!320 = !DILocation(line: 52, column: 3, scope: !166) | |
!321 = !DILocalVariable(name: "eax", arg: 1, scope: !322, file: !303, line: 17, type: !251) | |
!322 = distinct !DISubprogram(name: "cpuid", scope: !303, file: !303, line: 17, type: !323, scopeLine: 17, flags: DIFlagPrototyped | DIFlagAllCallsDescribed, spFlags: DISPFlagLocalToUnit | DISPFlagDefinition | DISPFlagOptimized, unit: !0, retainedNodes: !325) | |
!323 = !DISubroutineType(types: !324) | |
!324 = !{!247, !251} | |
!325 = !{!321, !326} | |
!326 = !DILocalVariable(name: "regs", scope: !322, file: !303, line: 28, type: !247) | |
!327 = !DILocation(line: 0, scope: !322, inlinedAt: !328) | |
!328 = distinct !DILocation(line: 53, column: 4, scope: !166) | |
!329 = !DILocation(line: 30, column: 5, scope: !322, inlinedAt: !328) | |
!330 = !{i64 2147921400, i64 2147921436, i64 2147921460} | |
!331 = !DILocation(line: 62, column: 22, scope: !275) | |
!332 = !DILocation(line: 62, column: 38, scope: !275) | |
!333 = !DILocation(line: 62, column: 6, scope: !166) | |
!334 = !DILocation(line: 0, scope: !274) | |
!335 = !DILocation(line: 64, column: 22, scope: !278) | |
!336 = !DILocation(line: 64, column: 7, scope: !274) | |
!337 = !DILocation(line: 0, scope: !302, inlinedAt: !338) | |
!338 = distinct !DILocation(line: 65, column: 35, scope: !277) | |
!339 = !DILocation(line: 56, column: 5, scope: !302, inlinedAt: !338) | |
!340 = !DILocation(line: 65, column: 4, scope: !302, inlinedAt: !338) | |
!341 = !DILocation(line: 0, scope: !277) | |
!342 = !DILocation(line: 67, column: 3, scope: !277) | |
!343 = !DILocalVariable(name: "ext_ctrl_reg", arg: 1, scope: !344, file: !303, line: 70, type: !251) | |
!344 = distinct !DISubprogram(name: "xgetbv", scope: !303, file: !303, line: 70, type: !345, scopeLine: 70, flags: DIFlagPrototyped | DIFlagAllCallsDescribed, spFlags: DISPFlagLocalToUnit | DISPFlagDefinition | DISPFlagOptimized, unit: !0, retainedNodes: !347) | |
!345 = !DISubroutineType(cc: DW_CC_nocall, types: !346) | |
!346 = !{!155, !251} | |
!347 = !{!343, !348, !349} | |
!348 = !DILocalVariable(name: "lo", scope: !344, file: !303, line: 74, type: !251) | |
!349 = !DILocalVariable(name: "hi", scope: !344, file: !303, line: 74, type: !251) | |
!350 = !DILocation(line: 0, scope: !344, inlinedAt: !351) | |
!351 = distinct !DILocation(line: 69, column: 42, scope: !274) | |
!352 = !DILocation(line: 75, column: 3, scope: !344, inlinedAt: !351) | |
!353 = !{i64 371123} | |
!354 = !DILocation(line: 76, column: 34, scope: !344, inlinedAt: !351) | |
!355 = !DILocation(line: 77, column: 24, scope: !356) | |
!356 = distinct !DILexicalBlock(scope: !274, file: !1, line: 77, column: 7) | |
!357 = !DILocation(line: 77, column: 41, scope: !356) | |
!358 = !DILocation(line: 77, column: 7, scope: !274) | |
!359 = !DILocation(line: 100, column: 24, scope: !360) | |
!360 = distinct !DILexicalBlock(scope: !274, file: !1, line: 100, column: 7) | |
!361 = !DILocation(line: 100, column: 41, scope: !360) | |
!362 = !DILocation(line: 100, column: 7, scope: !274) | |
!363 = !DILocation(line: 103, column: 2, scope: !274) | |
!364 = !DILocation(line: 118, column: 6, scope: !166) | |
!365 = !DILocation(line: 118, column: 15, scope: !166) | |
!366 = !DILocation(line: 133, column: 31, scope: !166) | |
!367 = !DILocation(line: 133, column: 6, scope: !166) | |
!368 = !DILocation(line: 133, column: 10, scope: !166) | |
!369 = !DILocation(line: 139, column: 6, scope: !166) | |
!370 = !DILocation(line: 139, column: 13, scope: !166) | |
!371 = !DILocation(line: 145, column: 6, scope: !166) | |
!372 = !DILocation(line: 145, column: 14, scope: !166) | |
!373 = !DILocation(line: 151, column: 47, scope: !166) | |
!374 = !DILocation(line: 151, column: 6, scope: !166) | |
!375 = !DILocation(line: 151, column: 17, scope: !166) | |
!376 = !DILocation(line: 157, column: 6, scope: !166) | |
!377 = !DILocation(line: 157, column: 12, scope: !166) | |
!378 = !DILocation(line: 163, column: 6, scope: !166) | |
!379 = !DILocation(line: 163, column: 13, scope: !166) | |
!380 = !DILocation(line: 178, column: 8, scope: !381) | |
!381 = distinct !DILexicalBlock(scope: !166, file: !1, line: 170, column: 18) | |
!382 = !DILocation(line: 178, column: 15, scope: !381) | |
!383 = !DILocation(line: 186, column: 6, scope: !166) | |
!384 = !DILocation(line: 186, column: 12, scope: !166) | |
!385 = !DILocation(line: 215, column: 6, scope: !166) | |
!386 = !DILocation(line: 215, column: 18, scope: !166) | |
!387 = !DILocation(line: 221, column: 6, scope: !166) | |
!388 = !DILocation(line: 221, column: 23, scope: !166) | |
!389 = !DILocation(line: 239, column: 2, scope: !166) | |
!390 = !DILocation(line: 248, column: 41, scope: !391) | |
!391 = distinct !DILexicalBlock(scope: !166, file: !1, line: 239, column: 18) | |
!392 = !DILocation(line: 248, column: 86, scope: !391) | |
!393 = !DILocation(line: 248, column: 65, scope: !391) | |
!394 = !DILocation(line: 248, column: 20, scope: !391) | |
!395 = !DILocation(line: 249, column: 4, scope: !391) | |
!396 = !DILocation(line: 255, column: 20, scope: !391) | |
!397 = !DILocation(line: 256, column: 4, scope: !391) | |
!398 = !DILocation(line: 0, scope: !391) | |
!399 = !DILocation(line: 267, column: 2, scope: !166) | |
!400 = !DILocation(line: 0, scope: !401) | |
!401 = distinct !DILexicalBlock(scope: !166, file: !1, line: 267, column: 18) | |
!402 = !DILocation(line: 282, column: 6, scope: !166) | |
!403 = !DILocation(line: 282, column: 18, scope: !166) | |
!404 = !DILocation(line: 302, column: 6, scope: !166) | |
!405 = !DILocation(line: 302, column: 11, scope: !166) | |
!406 = !DILocation(line: 334, column: 6, scope: !166) | |
!407 = !DILocation(line: 334, column: 12, scope: !166) | |
!408 = !DILocation(line: 341, column: 6, scope: !166) | |
!409 = !DILocation(line: 341, column: 13, scope: !166) | |
!410 = !DILocation(line: 347, column: 6, scope: !166) | |
!411 = !DILocation(line: 347, column: 13, scope: !166) | |
!412 = !DILocation(line: 353, column: 6, scope: !166) | |
!413 = !DILocation(line: 353, column: 12, scope: !166) | |
!414 = !DILocation(line: 359, column: 6, scope: !166) | |
!415 = !DILocation(line: 359, column: 21, scope: !166) | |
!416 = !DILocation(line: 365, column: 21, scope: !166) | |
!417 = !DILocation(line: 365, column: 6, scope: !166) | |
!418 = !DILocation(line: 365, column: 10, scope: !166) | |
!419 = !DILocation(line: 413, column: 29, scope: !166) | |
!420 = !DILocation(line: 413, column: 6, scope: !166) | |
!421 = !DILocation(line: 413, column: 15, scope: !166) | |
!422 = !DILocation(line: 419, column: 29, scope: !166) | |
!423 = !DILocation(line: 419, column: 6, scope: !166) | |
!424 = !DILocation(line: 419, column: 15, scope: !166) | |
!425 = !DILocation(line: 425, column: 29, scope: !166) | |
!426 = !DILocation(line: 425, column: 6, scope: !166) | |
!427 = !DILocation(line: 431, column: 29, scope: !166) | |
!428 = !DILocation(line: 437, column: 29, scope: !166) | |
!429 = !DILocation(line: 443, column: 31, scope: !166) | |
!430 = !DILocation(line: 449, column: 31, scope: !166) | |
!431 = !DILocation(line: 455, column: 32, scope: !166) | |
!432 = !DILocation(line: 461, column: 33, scope: !166) | |
!433 = !DILocation(line: 425, column: 15, scope: !166) | |
!434 = !DILocation(line: 473, column: 31, scope: !166) | |
!435 = !DILocation(line: 473, column: 6, scope: !166) | |
!436 = !DILocation(line: 473, column: 17, scope: !166) | |
!437 = !DILocation(line: 479, column: 34, scope: !166) | |
!438 = !DILocation(line: 479, column: 6, scope: !166) | |
!439 = !DILocation(line: 479, column: 20, scope: !166) | |
!440 = !DILocation(line: 485, column: 34, scope: !166) | |
!441 = !DILocation(line: 485, column: 6, scope: !166) | |
!442 = !DILocation(line: 485, column: 20, scope: !166) | |
!443 = !DILocation(line: 491, column: 39, scope: !166) | |
!444 = !DILocation(line: 491, column: 6, scope: !166) | |
!445 = !DILocation(line: 491, column: 25, scope: !166) | |
!446 = !DILocation(line: 497, column: 31, scope: !166) | |
!447 = !DILocation(line: 497, column: 6, scope: !166) | |
!448 = !DILocation(line: 497, column: 17, scope: !166) | |
!449 = !DILocation(line: 503, column: 6, scope: !166) | |
!450 = !DILocation(line: 503, column: 10, scope: !166) | |
!451 = !DILocation(line: 509, column: 44, scope: !166) | |
!452 = !DILocation(line: 509, column: 13, scope: !166) | |
!453 = !DILocation(line: 509, column: 6, scope: !166) | |
!454 = !DILocation(line: 509, column: 10, scope: !166) | |
!455 = !DILocation(line: 515, column: 18, scope: !166) | |
!456 = !DILocation(line: 515, column: 22, scope: !166) | |
!457 = !DILocation(line: 515, column: 6, scope: !166) | |
!458 = !DILocation(line: 515, column: 12, scope: !166) | |
!459 = !DILocation(line: 521, column: 21, scope: !166) | |
!460 = !DILocation(line: 521, column: 6, scope: !166) | |
!461 = !DILocation(line: 521, column: 10, scope: !166) | |
!462 = !DILocation(line: 543, column: 6, scope: !166) | |
!463 = !DILocation(line: 543, column: 17, scope: !166) | |
!464 = !DILocation(line: 549, column: 11, scope: !166) | |
!465 = !DILocation(line: 555, column: 12, scope: !166) | |
!466 = !DILocation(line: 570, column: 17, scope: !166) | |
!467 = !DILocation(line: 576, column: 12, scope: !166) | |
!468 = !DILocation(line: 582, column: 13, scope: !166) | |
!469 = !DILocation(line: 588, column: 10, scope: !166) | |
!470 = !DILocation(line: 594, column: 10, scope: !166) | |
!471 = !DILocation(line: 606, column: 10, scope: !166) | |
!472 = !DILocation(line: 612, column: 10, scope: !166) | |
!473 = !DILocation(line: 618, column: 11, scope: !166) | |
!474 = !DILocation(line: 624, column: 16, scope: !166) | |
!475 = !DILocation(line: 630, column: 17, scope: !166) | |
!476 = !DILocation(line: 642, column: 6, scope: !166) | |
!477 = !DILocation(line: 642, column: 13, scope: !166) | |
!478 = !DILocation(line: 648, column: 6, scope: !166) | |
!479 = !DILocation(line: 648, column: 13, scope: !166) | |
!480 = !DILocation(line: 654, column: 6, scope: !166) | |
!481 = !DILocation(line: 654, column: 10, scope: !166) | |
!482 = !DILocation(line: 656, column: 13, scope: !286) | |
!483 = !DILocation(line: 656, column: 6, scope: !166) | |
!484 = !DILocation(line: 0, scope: !322, inlinedAt: !485) | |
!485 = distinct !DILocation(line: 657, column: 47, scope: !285) | |
!486 = !DILocation(line: 30, column: 5, scope: !322, inlinedAt: !485) | |
!487 = !DILocation(line: 0, scope: !285) | |
!488 = !DILocation(line: 660, column: 25, scope: !291) | |
!489 = !DILocation(line: 660, column: 7, scope: !285) | |
!490 = !DILocation(line: 0, scope: !322, inlinedAt: !491) | |
!491 = distinct !DILocation(line: 661, column: 43, scope: !290) | |
!492 = !DILocation(line: 30, column: 5, scope: !322, inlinedAt: !491) | |
!493 = !DILocation(line: 0, scope: !290) | |
!494 = !DILocation(line: 669, column: 32, scope: !290) | |
!495 = !DILocation(line: 669, column: 52, scope: !290) | |
!496 = !DILocation(line: 669, column: 8, scope: !290) | |
!497 = !DILocation(line: 669, column: 12, scope: !290) | |
!498 = !DILocation(line: 677, column: 8, scope: !290) | |
!499 = !DILocation(line: 685, column: 8, scope: !290) | |
!500 = !DILocation(line: 693, column: 8, scope: !290) | |
!501 = !DILocation(line: 701, column: 32, scope: !290) | |
!502 = !DILocation(line: 701, column: 52, scope: !290) | |
!503 = !DILocation(line: 677, column: 12, scope: !290) | |
!504 = !DILocation(line: 685, column: 13, scope: !290) | |
!505 = !DILocation(line: 693, column: 12, scope: !290) | |
!506 = !DILocation(line: 701, column: 8, scope: !290) | |
!507 = !DILocation(line: 701, column: 12, scope: !290) | |
!508 = !DILocation(line: 702, column: 3, scope: !290) | |
!509 = !DILocation(line: 709, column: 6, scope: !166) | |
!510 = !DILocation(line: 709, column: 10, scope: !166) | |
!511 = !DILocation(line: 715, column: 13, scope: !166) | |
!512 = !DILocation(line: 721, column: 6, scope: !166) | |
!513 = !DILocation(line: 721, column: 12, scope: !166) | |
!514 = !DILocation(line: 724, column: 1, scope: !166) |
This file has been truncated, but you can view the full file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
; ModuleID = 'cpuinfo/src/x86/isa.c' | |
source_filename = "cpuinfo/src/x86/isa.c" | |
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128" | |
target triple = "x86_64-unknown-linux-gnu" | |
%struct.cpuinfo_x86_isa = type { i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8 } | |
; Function Attrs: argmemonly nounwind optsize sanitize_memory | |
define hidden void @cpuinfo_x86_detect_isa(%struct.cpuinfo_x86_isa* noalias sret(%struct.cpuinfo_x86_isa) align 1 %agg.result, i64 %basic_info.coerce0, i64 %basic_info.coerce1, i64 %extended_info.coerce0, i64 %extended_info.coerce1, i32 noundef %max_base_index, i32 noundef %max_extended_index, i32 noundef %vendor, i32 noundef %uarch) local_unnamed_addr #0 !dbg !166 { | |
entry: | |
call void @llvm.dbg.value(metadata i64 %basic_info.coerce0, metadata !257, metadata !DIExpression(DW_OP_LLVM_fragment, 0, 64)), !dbg !297 | |
%basic_info.sroa.1.8.extract.trunc = trunc i64 %basic_info.coerce1 to i32 | |
call void @llvm.dbg.value(metadata i32 %basic_info.sroa.1.8.extract.trunc, metadata !257, metadata !DIExpression(DW_OP_LLVM_fragment, 64, 32)), !dbg !297 | |
%basic_info.sroa.18.8.extract.shift = lshr i64 %basic_info.coerce1, 32 | |
call void @llvm.dbg.value(metadata i64 %basic_info.sroa.18.8.extract.shift, metadata !257, metadata !DIExpression(DW_OP_LLVM_convert, 64, DW_ATE_unsigned, DW_OP_LLVM_convert, 32, DW_ATE_unsigned, DW_OP_stack_value, DW_OP_LLVM_fragment, 96, 32)), !dbg !297 | |
call void @llvm.dbg.value(metadata i64 %extended_info.coerce0, metadata !258, metadata !DIExpression(DW_OP_LLVM_fragment, 0, 64)), !dbg !297 | |
%extended_info.sroa.1.8.extract.trunc = trunc i64 %extended_info.coerce1 to i32 | |
call void @llvm.dbg.value(metadata i32 %extended_info.sroa.1.8.extract.trunc, metadata !258, metadata !DIExpression(DW_OP_LLVM_fragment, 64, 32)), !dbg !297 | |
%extended_info.sroa.14.8.extract.shift = lshr i64 %extended_info.coerce1, 32 | |
%extended_info.sroa.14.8.extract.trunc = trunc i64 %extended_info.sroa.14.8.extract.shift to i32 | |
call void @llvm.dbg.value(metadata i32 %extended_info.sroa.14.8.extract.trunc, metadata !258, metadata !DIExpression(DW_OP_LLVM_fragment, 96, 32)), !dbg !297 | |
call void @llvm.dbg.value(metadata i32 %max_base_index, metadata !259, metadata !DIExpression()), !dbg !297 | |
call void @llvm.dbg.value(metadata i32 %max_extended_index, metadata !260, metadata !DIExpression()), !dbg !297 | |
call void @llvm.dbg.value(metadata i32 %vendor, metadata !261, metadata !DIExpression()), !dbg !297 | |
call void @llvm.dbg.value(metadata i32 %uarch, metadata !262, metadata !DIExpression()), !dbg !297 | |
call void @llvm.dbg.declare(metadata %struct.cpuinfo_x86_isa* %agg.result, metadata !263, metadata !DIExpression()), !dbg !298 | |
%0 = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 0, !dbg !298 | |
tail call void @llvm.memset.p0i8.i64(i8* noundef nonnull align 1 dereferenceable(74) %0, i8 0, i64 74, i1 false), !dbg !298 | |
%cmp = icmp ugt i32 %max_base_index, 6, !dbg !299 | |
br i1 %cmp, label %cond.true2, label %cond.end9, !dbg !300 | |
cond.true2: ; preds = %entry | |
call void @llvm.dbg.value(metadata i32 7, metadata !301, metadata !DIExpression()) #4, !dbg !309 | |
call void @llvm.dbg.value(metadata i32 0, metadata !307, metadata !DIExpression()) #4, !dbg !309 | |
%1 = tail call { i32, i32, i32, i32 } asm " xchgq %rbx,${1:q}\0A cpuid\0A xchgq %rbx,${1:q}", "={ax},=r,={cx},={dx},0,2,~{dirflag},~{fpsr},~{flags}"(i32 7, i32 0) #5, !dbg !311, !srcloc !312 | |
%asmresult3.i = extractvalue { i32, i32, i32, i32 } %1, 1, !dbg !311 | |
%asmresult4.i = extractvalue { i32, i32, i32, i32 } %1, 2, !dbg !311 | |
%asmresult5.i = extractvalue { i32, i32, i32, i32 } %1, 3, !dbg !311 | |
call void @llvm.dbg.value(metadata i32 undef, metadata !308, metadata !DIExpression(DW_OP_LLVM_fragment, 0, 32)) #4, !dbg !309 | |
call void @llvm.dbg.value(metadata i32 %asmresult3.i, metadata !308, metadata !DIExpression(DW_OP_LLVM_fragment, 32, 32)) #4, !dbg !309 | |
call void @llvm.dbg.value(metadata i32 %asmresult4.i, metadata !308, metadata !DIExpression(DW_OP_LLVM_fragment, 64, 32)) #4, !dbg !309 | |
call void @llvm.dbg.value(metadata i32 %asmresult5.i, metadata !308, metadata !DIExpression(DW_OP_LLVM_fragment, 96, 32)) #4, !dbg !309 | |
%retval.sroa.2.0.insert.ext.i = zext i32 %asmresult3.i to i64, !dbg !313 | |
%retval.sroa.2.0.insert.shift.i = shl nuw i64 %retval.sroa.2.0.insert.ext.i, 32, !dbg !313 | |
%retval.sroa.5.8.insert.ext.i = zext i32 %asmresult5.i to i64, !dbg !313 | |
%retval.sroa.5.8.insert.shift.i = shl nuw i64 %retval.sroa.5.8.insert.ext.i, 32, !dbg !313 | |
%retval.sroa.3.8.insert.ext.i = zext i32 %asmresult4.i to i64, !dbg !313 | |
%retval.sroa.3.8.insert.insert.i = or i64 %retval.sroa.5.8.insert.shift.i, %retval.sroa.3.8.insert.ext.i, !dbg !313 | |
call void @llvm.dbg.value(metadata i64 undef, metadata !264, metadata !DIExpression(DW_OP_LLVM_fragment, 64, 64)), !dbg !297 | |
call void @llvm.dbg.value(metadata i64 undef, metadata !264, metadata !DIExpression(DW_OP_LLVM_fragment, 0, 64)), !dbg !297 | |
call void @llvm.dbg.value(metadata i32 7, metadata !301, metadata !DIExpression()) #4, !dbg !314 | |
call void @llvm.dbg.value(metadata i32 1, metadata !307, metadata !DIExpression()) #4, !dbg !314 | |
%2 = tail call { i32, i32, i32, i32 } asm " xchgq %rbx,${1:q}\0A cpuid\0A xchgq %rbx,${1:q}", "={ax},=r,={cx},={dx},0,2,~{dirflag},~{fpsr},~{flags}"(i32 7, i32 1) #5, !dbg !316, !srcloc !312 | |
%asmresult.i858 = extractvalue { i32, i32, i32, i32 } %2, 0, !dbg !316 | |
call void @llvm.dbg.value(metadata i32 %asmresult.i858, metadata !308, metadata !DIExpression(DW_OP_LLVM_fragment, 0, 32)) #4, !dbg !314 | |
call void @llvm.dbg.value(metadata i32 undef, metadata !308, metadata !DIExpression(DW_OP_LLVM_fragment, 32, 32)) #4, !dbg !314 | |
call void @llvm.dbg.value(metadata i32 undef, metadata !308, metadata !DIExpression(DW_OP_LLVM_fragment, 64, 32)) #4, !dbg !314 | |
call void @llvm.dbg.value(metadata i32 undef, metadata !308, metadata !DIExpression(DW_OP_LLVM_fragment, 96, 32)) #4, !dbg !314 | |
%retval.sroa.0.0.insert.ext.i864 = trunc i32 %asmresult.i858 to i8, !dbg !317 | |
call void @llvm.dbg.value(metadata !DIArgList(i64 0, i32 %asmresult.i858), metadata !265, metadata !DIExpression(DW_OP_LLVM_arg, 0, DW_OP_constu, 32, DW_OP_shl, DW_OP_LLVM_arg, 1, DW_OP_LLVM_convert, 32, DW_ATE_unsigned, DW_OP_LLVM_convert, 64, DW_ATE_unsigned, DW_OP_or, DW_OP_stack_value, DW_OP_LLVM_fragment, 0, 64)), !dbg !297 | |
call void @llvm.dbg.value(metadata i64 undef, metadata !265, metadata !DIExpression(DW_OP_LLVM_fragment, 64, 64)), !dbg !297 | |
%phi.bo935 = lshr i8 %retval.sroa.0.0.insert.ext.i864, 5, !dbg !318 | |
%phi.bo936 = and i8 %phi.bo935, 1, !dbg !318 | |
br label %cond.end9, !dbg !318 | |
cond.end9: ; preds = %entry, %cond.true2 | |
%structured_feature_info0.sroa.25.0932 = phi i64 [ %retval.sroa.3.8.insert.insert.i, %cond.true2 ], [ 0, %entry ] | |
%structured_feature_info0.sroa.0.0930 = phi i64 [ %retval.sroa.2.0.insert.shift.i, %cond.true2 ], [ 0, %entry ] | |
%structured_feature_info1.sroa.0.0 = phi i8 [ %phi.bo936, %cond.true2 ], [ 0, %entry ] | |
call void @llvm.dbg.value(metadata i64 undef, metadata !265, metadata !DIExpression(DW_OP_LLVM_fragment, 0, 64)), !dbg !297 | |
call void @llvm.dbg.value(metadata i32 -2147483640, metadata !266, metadata !DIExpression()), !dbg !297 | |
%cmp10 = icmp ugt i32 %max_extended_index, -2147483641, !dbg !319 | |
br i1 %cmp10, label %cond.true11, label %cond.end18, !dbg !320 | |
cond.true11: ; preds = %cond.end9 | |
call void @llvm.dbg.value(metadata i32 -2147483640, metadata !321, metadata !DIExpression()) #4, !dbg !327 | |
%3 = tail call { i32, i32, i32, i32 } asm " xchgq %rbx,${1:q}\0A cpuid\0A xchgq %rbx,${1:q}", "={ax},=r,={cx},={dx},0,~{dirflag},~{fpsr},~{flags}"(i32 -2147483640) #5, !dbg !329, !srcloc !330 | |
%asmresult2.i = extractvalue { i32, i32, i32, i32 } %3, 1, !dbg !329 | |
call void @llvm.dbg.value(metadata i32 undef, metadata !326, metadata !DIExpression(DW_OP_LLVM_fragment, 0, 32)) #4, !dbg !327 | |
call void @llvm.dbg.value(metadata i32 %asmresult2.i, metadata !326, metadata !DIExpression(DW_OP_LLVM_fragment, 32, 32)) #4, !dbg !327 | |
call void @llvm.dbg.value(metadata i32 undef, metadata !326, metadata !DIExpression(DW_OP_LLVM_fragment, 64, 32)) #4, !dbg !327 | |
call void @llvm.dbg.value(metadata i32 undef, metadata !326, metadata !DIExpression(DW_OP_LLVM_fragment, 96, 32)) #4, !dbg !327 | |
call void @llvm.dbg.value(metadata i64 undef, metadata !268, metadata !DIExpression(DW_OP_LLVM_fragment, 64, 64)), !dbg !297 | |
%phi.cast = trunc i32 %asmresult2.i to i8, !dbg !320 | |
call void @llvm.dbg.value(metadata !DIArgList(i32 %asmresult2.i, i32 undef), metadata !268, metadata !DIExpression(DW_OP_LLVM_arg, 0, DW_OP_LLVM_convert, 32, DW_ATE_unsigned, DW_OP_LLVM_convert, 64, DW_ATE_unsigned, DW_OP_constu, 32, DW_OP_shl, DW_OP_LLVM_arg, 1, DW_OP_LLVM_convert, 32, DW_ATE_unsigned, DW_OP_LLVM_convert, 64, DW_ATE_unsigned, DW_OP_or, DW_OP_stack_value, DW_OP_LLVM_fragment, 0, 64)), !dbg !297 | |
%phi.bo = and i8 %phi.cast, 1, !dbg !320 | |
br label %cond.end18, !dbg !320 | |
cond.end18: ; preds = %cond.end9, %cond.true11 | |
%processor_capacity_info.sroa.0.0 = phi i8 [ %phi.bo, %cond.true11 ], [ 0, %cond.end9 ] | |
call void @llvm.dbg.value(metadata i64 undef, metadata !268, metadata !DIExpression(DW_OP_LLVM_fragment, 0, 64)), !dbg !297 | |
call void @llvm.dbg.value(metadata i8 0, metadata !269, metadata !DIExpression()), !dbg !297 | |
call void @llvm.dbg.value(metadata i8 0, metadata !270, metadata !DIExpression()), !dbg !297 | |
call void @llvm.dbg.value(metadata i8 0, metadata !271, metadata !DIExpression()), !dbg !297 | |
call void @llvm.dbg.value(metadata i32 201326592, metadata !272, metadata !DIExpression()), !dbg !297 | |
%and = and i32 %basic_info.sroa.1.8.extract.trunc, 201326592, !dbg !331 | |
%cmp20 = icmp eq i32 %and, 201326592, !dbg !332 | |
br i1 %cmp20, label %if.then, label %if.end54, !dbg !333 | |
if.then: ; preds = %cond.end18 | |
call void @llvm.dbg.value(metadata i64 0, metadata !273, metadata !DIExpression()), !dbg !334 | |
%cmp21 = icmp ugt i32 %max_base_index, 12, !dbg !335 | |
br i1 %cmp21, label %if.then22, label %if.end, !dbg !336 | |
if.then22: ; preds = %if.then | |
call void @llvm.dbg.value(metadata i32 13, metadata !301, metadata !DIExpression()) #4, !dbg !337 | |
call void @llvm.dbg.value(metadata i32 0, metadata !307, metadata !DIExpression()) #4, !dbg !337 | |
%4 = tail call { i32, i32, i32, i32 } asm " xchgq %rbx,${1:q}\0A cpuid\0A xchgq %rbx,${1:q}", "={ax},=r,={cx},={dx},0,2,~{dirflag},~{fpsr},~{flags}"(i32 13, i32 0) #5, !dbg !339, !srcloc !312 | |
%asmresult.i885 = extractvalue { i32, i32, i32, i32 } %4, 0, !dbg !339 | |
call void @llvm.dbg.value(metadata i32 %asmresult.i885, metadata !308, metadata !DIExpression(DW_OP_LLVM_fragment, 0, 32)) #4, !dbg !337 | |
call void @llvm.dbg.value(metadata i32 undef, metadata !308, metadata !DIExpression(DW_OP_LLVM_fragment, 32, 32)) #4, !dbg !337 | |
call void @llvm.dbg.value(metadata i32 undef, metadata !308, metadata !DIExpression(DW_OP_LLVM_fragment, 64, 32)) #4, !dbg !337 | |
call void @llvm.dbg.value(metadata i32 undef, metadata !308, metadata !DIExpression(DW_OP_LLVM_fragment, 96, 32)) #4, !dbg !337 | |
%retval.sroa.0.0.insert.ext.i891 = zext i32 %asmresult.i885 to i64, !dbg !340 | |
call void @llvm.dbg.value(metadata !DIArgList(i32 undef, i64 %retval.sroa.0.0.insert.ext.i891), metadata !276, metadata !DIExpression(DW_OP_LLVM_arg, 0, DW_OP_LLVM_convert, 32, DW_ATE_unsigned, DW_OP_LLVM_convert, 64, DW_ATE_unsigned, DW_OP_constu, 32, DW_OP_shl, DW_OP_LLVM_arg, 1, DW_OP_or, DW_OP_stack_value, DW_OP_LLVM_fragment, 0, 64)), !dbg !341 | |
call void @llvm.dbg.value(metadata !DIArgList(i64 0, i32 undef), metadata !276, metadata !DIExpression(DW_OP_LLVM_arg, 0, DW_OP_LLVM_arg, 1, DW_OP_LLVM_convert, 32, DW_ATE_unsigned, DW_OP_LLVM_convert, 64, DW_ATE_unsigned, DW_OP_or, DW_OP_stack_value, DW_OP_LLVM_fragment, 64, 64)), !dbg !341 | |
call void @llvm.dbg.value(metadata i64 %retval.sroa.0.0.insert.ext.i891, metadata !273, metadata !DIExpression()), !dbg !334 | |
br label %if.end, !dbg !342 | |
if.end: ; preds = %if.then22, %if.then | |
%xcr0_valid_bits.0 = phi i64 [ %retval.sroa.0.0.insert.ext.i891, %if.then22 ], [ 0, %if.then ], !dbg !334 | |
call void @llvm.dbg.value(metadata i64 %xcr0_valid_bits.0, metadata !273, metadata !DIExpression()), !dbg !334 | |
call void @llvm.dbg.value(metadata i32 0, metadata !343, metadata !DIExpression()) #4, !dbg !350 | |
%5 = tail call { i32, i32 } asm ".byte 0x0F, 0x01, 0xD0", "={ax},={dx},{cx},~{dirflag},~{fpsr},~{flags}"(i32 0) #5, !dbg !352, !srcloc !353 | |
%asmresult.i899 = extractvalue { i32, i32 } %5, 0, !dbg !352 | |
call void @llvm.dbg.value(metadata i32 %asmresult.i899, metadata !348, metadata !DIExpression()) #4, !dbg !350 | |
call void @llvm.dbg.value(metadata i32 undef, metadata !349, metadata !DIExpression()) #4, !dbg !350 | |
%conv2.i = zext i32 %asmresult.i899 to i64, !dbg !354 | |
call void @llvm.dbg.value(metadata !DIArgList(i64 0, i64 %conv2.i), metadata !279, metadata !DIExpression(DW_OP_LLVM_arg, 0, DW_OP_constu, 32, DW_OP_shl, DW_OP_LLVM_arg, 1, DW_OP_or, DW_OP_stack_value)), !dbg !334 | |
call void @llvm.dbg.value(metadata i64 6, metadata !281, metadata !DIExpression()), !dbg !334 | |
%and28 = and i64 %xcr0_valid_bits.0, 6, !dbg !355 | |
%cmp29 = icmp eq i64 %and28, 6, !dbg !357 | |
%and32 = and i64 %conv2.i, 6, !dbg !358 | |
%cmp33 = icmp eq i64 %and32, 6, !dbg !358 | |
%avx_regs.0 = select i1 %cmp29, i1 %cmp33, i1 false, !dbg !358 | |
call void @llvm.dbg.value(metadata i8 undef, metadata !269, metadata !DIExpression()), !dbg !297 | |
call void @llvm.dbg.value(metadata i64 230, metadata !282, metadata !DIExpression()), !dbg !334 | |
%and36 = and i64 %xcr0_valid_bits.0, 230, !dbg !359 | |
%cmp37 = icmp eq i64 %and36, 230, !dbg !361 | |
%and40 = and i64 %conv2.i, 230, !dbg !362 | |
%cmp41 = icmp eq i64 %and40, 230, !dbg !362 | |
%avx512_regs.0 = select i1 %cmp37, i1 %cmp41, i1 false, !dbg !362 | |
call void @llvm.dbg.value(metadata i8 undef, metadata !270, metadata !DIExpression()), !dbg !297 | |
call void @llvm.dbg.value(metadata i64 24, metadata !283, metadata !DIExpression()), !dbg !334 | |
%and45 = and i64 %xcr0_valid_bits.0, 24, !dbg !363 | |
%cmp46 = icmp eq i64 %and45, 24, !dbg !365 | |
%and49 = and i64 %conv2.i, 24, !dbg !366 | |
%cmp50 = icmp eq i64 %and49, 24, !dbg !366 | |
%mpx_regs.0 = select i1 %cmp46, i1 %cmp50, i1 false, !dbg !366 | |
call void @llvm.dbg.value(metadata i8 undef, metadata !271, metadata !DIExpression()), !dbg !297 | |
br label %if.end54, !dbg !367 | |
if.end54: ; preds = %if.end, %cond.end18 | |
%mpx_regs.1 = phi i1 [ %mpx_regs.0, %if.end ], [ false, %cond.end18 ], !dbg !297 | |
%avx512_regs.1 = phi i1 [ %avx512_regs.0, %if.end ], [ false, %cond.end18 ], !dbg !297 | |
%avx_regs.1 = phi i1 [ %avx_regs.0, %if.end ], [ false, %cond.end18 ], !dbg !297 | |
call void @llvm.dbg.value(metadata i8 undef, metadata !269, metadata !DIExpression()), !dbg !297 | |
call void @llvm.dbg.value(metadata i8 undef, metadata !270, metadata !DIExpression()), !dbg !297 | |
call void @llvm.dbg.value(metadata i8 undef, metadata !271, metadata !DIExpression()), !dbg !297 | |
%sysenter = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 2, !dbg !368 | |
%and56815 = lshr i64 %basic_info.coerce1, 43, !dbg !369 | |
%6 = trunc i64 %and56815 to i8, !dbg !369 | |
%7 = and i8 %6, 1, !dbg !369 | |
store i8 %7, i8* %sysenter, align 1, !dbg !369 | |
%or61820 = or i64 %extended_info.sroa.14.8.extract.shift, %basic_info.sroa.18.8.extract.shift, !dbg !370 | |
%msr = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 3, !dbg !371 | |
%8 = trunc i64 %or61820 to i8, !dbg !372 | |
%9 = lshr i8 %8, 5, !dbg !372 | |
%10 = and i8 %9, 1, !dbg !372 | |
store i8 %10, i8* %msr, align 1, !dbg !372 | |
%clzero = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 4, !dbg !373 | |
store i8 %processor_capacity_info.sroa.0.0, i8* %clzero, align 1, !dbg !374 | |
%clflush = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 5, !dbg !375 | |
%and74817 = lshr i64 %basic_info.coerce1, 51, !dbg !376 | |
%11 = trunc i64 %and74817 to i8, !dbg !376 | |
%12 = and i8 %11, 1, !dbg !376 | |
store i8 %12, i8* %clflush, align 1, !dbg !376 | |
%structured_feature_info0.sroa.0.4.extract.shift = lshr exact i64 %structured_feature_info0.sroa.0.0930, 32, !dbg !377 | |
%structured_feature_info0.sroa.0.4.extract.trunc = trunc i64 %structured_feature_info0.sroa.0.4.extract.shift to i32, !dbg !377 | |
%clflushopt = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 6, !dbg !378 | |
%and80818 = lshr i64 %structured_feature_info0.sroa.0.0930, 55, !dbg !379 | |
%13 = trunc i64 %and80818 to i8, !dbg !379 | |
%14 = and i8 %13, 1, !dbg !379 | |
store i8 %14, i8* %clflushopt, align 1, !dbg !379 | |
%mwait = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 7, !dbg !380 | |
%15 = trunc i64 %basic_info.coerce1 to i8, !dbg !381 | |
%16 = lshr i8 %15, 3, !dbg !381 | |
%17 = and i8 %16, 1, !dbg !381 | |
store i8 %17, i8* %mwait, align 1, !dbg !381 | |
%mwaitx = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 8, !dbg !382 | |
%and92 = lshr i32 %extended_info.sroa.1.8.extract.trunc, 29, !dbg !383 | |
%18 = trunc i32 %and92 to i8, !dbg !383 | |
%19 = and i8 %18, 1, !dbg !383 | |
store i8 %19, i8* %mwaitx, align 1, !dbg !383 | |
%fxsave = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 9, !dbg !384 | |
%and100821 = lshr i64 %or61820, 24, !dbg !386 | |
%20 = trunc i64 %and100821 to i8, !dbg !386 | |
%21 = and i8 %20, 1, !dbg !386 | |
store i8 %21, i8* %fxsave, align 1, !dbg !386 | |
%xsave = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 10, !dbg !387 | |
%and106 = lshr i32 %basic_info.sroa.1.8.extract.trunc, 26, !dbg !388 | |
%22 = trunc i32 %and106 to i8, !dbg !388 | |
%23 = and i8 %22, 1, !dbg !388 | |
store i8 %23, i8* %xsave, align 1, !dbg !388 | |
%three_d_now = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 11, !dbg !389 | |
%extended_info.coerce1.lobit = lshr i64 %extended_info.coerce1, 63, !dbg !390 | |
%24 = trunc i64 %extended_info.coerce1.lobit to i8, !dbg !390 | |
store i8 %24, i8* %three_d_now, align 1, !dbg !390 | |
%three_d_now_plus = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 12, !dbg !391 | |
%and118 = lshr i32 %extended_info.sroa.14.8.extract.trunc, 30, !dbg !392 | |
%25 = trunc i32 %and118 to i8, !dbg !392 | |
%26 = and i8 %25, 1, !dbg !392 | |
store i8 %26, i8* %three_d_now_plus, align 1, !dbg !392 | |
switch i32 %vendor, label %sw.default132 [ | |
i32 16, label %sw.bb | |
i32 2, label %sw.bb | |
i32 1, label %sw.epilog162 | |
], !dbg !393 | |
sw.bb: ; preds = %if.end54, %if.end54 | |
%and124 = and i32 %extended_info.sroa.1.8.extract.trunc, 256, !dbg !394 | |
%and126 = and i32 %extended_info.sroa.14.8.extract.trunc, -536870912, !dbg !396 | |
%or127 = or i32 %and126, %and124, !dbg !397 | |
%tobool128 = icmp ne i32 %or127, 0, !dbg !398 | |
br label %sw.epilog140, !dbg !399 | |
sw.default132: ; preds = %if.end54 | |
%tobool135 = icmp ugt i32 %extended_info.sroa.14.8.extract.trunc, 1073741823, !dbg !400 | |
br label %sw.epilog140, !dbg !401 | |
sw.epilog140: ; preds = %sw.default132, %sw.bb | |
%tobool135.sink = phi i1 [ %tobool135, %sw.default132 ], [ %tobool128, %sw.bb ] | |
%prefetch138 = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 13, !dbg !402 | |
%frombool139 = zext i1 %tobool135.sink to i8, !dbg !402 | |
store i8 %frombool139, i8* %prefetch138, align 1, !dbg !402 | |
%switch.selectcmp.case1 = icmp eq i32 %vendor, 2, !dbg !403 | |
%switch.selectcmp.case2 = icmp eq i32 %vendor, 16, !dbg !403 | |
%switch.selectcmp = or i1 %switch.selectcmp.case1, %switch.selectcmp.case2, !dbg !403 | |
%27 = select i1 %switch.selectcmp, i32 -536870912, i32 -1073741824, !dbg !403 | |
br label %sw.epilog162, !dbg !403 | |
sw.epilog162: ; preds = %if.end54, %sw.epilog140 | |
%.sink = phi i32 [ %27, %sw.epilog140 ], [ -1073741824, %if.end54 ] | |
%and153 = and i32 %extended_info.sroa.1.8.extract.trunc, 256, !dbg !404 | |
%and155 = and i32 %.sink, %extended_info.sroa.14.8.extract.trunc, !dbg !404 | |
%or156 = or i32 %and155, %and153, !dbg !404 | |
%tobool157 = icmp ne i32 %or156, 0, !dbg !404 | |
%prefetchw160 = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 14, !dbg !404 | |
%frombool161 = zext i1 %tobool157 to i8, !dbg !404 | |
store i8 %frombool161, i8* %prefetchw160, align 1, !dbg !404 | |
%prefetchwt1 = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 15, !dbg !406 | |
%28 = trunc i64 %structured_feature_info0.sroa.25.0932 to i8, !dbg !407 | |
%29 = and i8 %28, 1, !dbg !407 | |
store i8 %29, i8* %prefetchwt1, align 1, !dbg !407 | |
%sse3 = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 16, !dbg !408 | |
%30 = and i8 %15, 1, !dbg !409 | |
store i8 %30, i8* %sse3, align 1, !dbg !409 | |
%ssse3 = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 17, !dbg !410 | |
%and176822 = lshr i64 %basic_info.coerce1, 9, !dbg !411 | |
%31 = trunc i64 %and176822 to i8, !dbg !411 | |
%32 = and i8 %31, 1, !dbg !411 | |
store i8 %32, i8* %ssse3, align 1, !dbg !411 | |
%sse4_1 = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 18, !dbg !412 | |
%and182823 = lshr i64 %basic_info.coerce1, 19, !dbg !413 | |
%33 = trunc i64 %and182823 to i8, !dbg !413 | |
%34 = and i8 %33, 1, !dbg !413 | |
store i8 %34, i8* %sse4_1, align 1, !dbg !413 | |
%sse4_2 = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 19, !dbg !414 | |
%and188824 = lshr i64 %basic_info.coerce1, 20, !dbg !415 | |
%35 = trunc i64 %and188824 to i8, !dbg !415 | |
%36 = and i8 %35, 1, !dbg !415 | |
store i8 %36, i8* %sse4_2, align 1, !dbg !415 | |
%sse4a = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 20, !dbg !416 | |
%37 = trunc i64 %extended_info.coerce1 to i8, !dbg !417 | |
%38 = lshr i8 %37, 6, !dbg !417 | |
%39 = and i8 %38, 1, !dbg !417 | |
store i8 %39, i8* %sse4a, align 1, !dbg !417 | |
%misaligned_sse = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 21, !dbg !418 | |
%40 = lshr i8 %37, 7, !dbg !419 | |
store i8 %40, i8* %misaligned_sse, align 1, !dbg !419 | |
%and208 = and i32 %basic_info.sroa.1.8.extract.trunc, 268435456, !dbg !420 | |
%tobool209 = icmp ne i32 %and208, 0, !dbg !420 | |
%41 = select i1 %avx_regs.1, i1 %tobool209, i1 false, !dbg !420 | |
%avx = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 22, !dbg !421 | |
%frombool212 = zext i1 %41 to i8, !dbg !422 | |
store i8 %frombool212, i8* %avx, align 1, !dbg !422 | |
%and217 = and i32 %basic_info.sroa.1.8.extract.trunc, 4096, !dbg !423 | |
%tobool218 = icmp ne i32 %and217, 0, !dbg !423 | |
%42 = select i1 %avx_regs.1, i1 %tobool218, i1 false, !dbg !423 | |
%fma3 = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 23, !dbg !424 | |
%frombool222 = zext i1 %42 to i8, !dbg !425 | |
store i8 %frombool222, i8* %fma3, align 1, !dbg !425 | |
%and227 = and i32 %extended_info.sroa.1.8.extract.trunc, 65536, !dbg !426 | |
%tobool228 = icmp ne i32 %and227, 0, !dbg !426 | |
%43 = select i1 %avx_regs.1, i1 %tobool228, i1 false, !dbg !426 | |
%fma4 = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 24, !dbg !427 | |
%frombool232 = zext i1 %43 to i8, !dbg !428 | |
store i8 %frombool232, i8* %fma4, align 1, !dbg !428 | |
%and237 = and i32 %extended_info.sroa.1.8.extract.trunc, 2048, !dbg !429 | |
%tobool238 = icmp ne i32 %and237, 0, !dbg !429 | |
%44 = select i1 %avx_regs.1, i1 %tobool238, i1 false, !dbg !429 | |
%xop = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 25, !dbg !430 | |
%frombool242 = zext i1 %44 to i8, !dbg !431 | |
store i8 %frombool242, i8* %xop, align 1, !dbg !431 | |
%and247 = and i32 %basic_info.sroa.1.8.extract.trunc, 536870912, !dbg !432 | |
%tobool248 = icmp ne i32 %and247, 0, !dbg !432 | |
%45 = select i1 %avx_regs.1, i1 %tobool248, i1 false, !dbg !432 | |
%f16c = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 26, !dbg !433 | |
%frombool252 = zext i1 %45 to i8, !dbg !434 | |
store i8 %frombool252, i8* %f16c, align 1, !dbg !434 | |
%and257 = and i32 %structured_feature_info0.sroa.0.4.extract.trunc, 32, !dbg !435 | |
%tobool258 = icmp ne i32 %and257, 0, !dbg !435 | |
%46 = select i1 %avx_regs.1, i1 %tobool258, i1 false, !dbg !435 | |
%avx2 = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 27, !dbg !436 | |
%frombool262 = zext i1 %46 to i8, !dbg !437 | |
store i8 %frombool262, i8* %avx2, align 1, !dbg !437 | |
%and267 = and i32 %structured_feature_info0.sroa.0.4.extract.trunc, 65536, !dbg !438 | |
%tobool268 = icmp ne i32 %and267, 0, !dbg !438 | |
%47 = select i1 %avx512_regs.1, i1 %tobool268, i1 false, !dbg !438 | |
%avx512f = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 28, !dbg !439 | |
%frombool272 = zext i1 %47 to i8, !dbg !440 | |
store i8 %frombool272, i8* %avx512f, align 1, !dbg !440 | |
%and277 = and i32 %structured_feature_info0.sroa.0.4.extract.trunc, 67108864, !dbg !441 | |
%tobool278 = icmp ne i32 %and277, 0, !dbg !441 | |
%48 = select i1 %avx512_regs.1, i1 %tobool278, i1 false, !dbg !441 | |
%avx512pf = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 29, !dbg !442 | |
%frombool282 = zext i1 %48 to i8, !dbg !443 | |
store i8 %frombool282, i8* %avx512pf, align 1, !dbg !443 | |
%and287 = and i32 %structured_feature_info0.sroa.0.4.extract.trunc, 134217728, !dbg !444 | |
%tobool288 = icmp ne i32 %and287, 0, !dbg !444 | |
%49 = select i1 %avx512_regs.1, i1 %tobool288, i1 false, !dbg !444 | |
%avx512er = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 30, !dbg !445 | |
%frombool292 = zext i1 %49 to i8, !dbg !446 | |
store i8 %frombool292, i8* %avx512er, align 1, !dbg !446 | |
%and297 = and i32 %structured_feature_info0.sroa.0.4.extract.trunc, 268435456, !dbg !447 | |
%tobool298 = icmp ne i32 %and297, 0, !dbg !447 | |
%50 = select i1 %avx512_regs.1, i1 %tobool298, i1 false, !dbg !447 | |
%avx512cd = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 31, !dbg !448 | |
%frombool302 = zext i1 %50 to i8, !dbg !449 | |
store i8 %frombool302, i8* %avx512cd, align 1, !dbg !449 | |
%and307827 = lshr i64 %structured_feature_info0.sroa.0.0930, 49, !dbg !450 | |
%51 = trunc i64 %and307827 to i8, !dbg !450 | |
%52 = and i8 %51, 1, !dbg !450 | |
%53 = select i1 %avx512_regs.1, i8 %52, i8 0, !dbg !450 | |
%avx512dq = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 32, !dbg !451 | |
store i8 %53, i8* %avx512dq, align 1, !dbg !452 | |
%and317 = lshr i32 %structured_feature_info0.sroa.0.4.extract.trunc, 30, !dbg !453 | |
%54 = trunc i32 %and317 to i8, !dbg !453 | |
%55 = and i8 %54, 1, !dbg !453 | |
%56 = select i1 %avx512_regs.1, i8 %55, i8 0, !dbg !453 | |
%avx512bw = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 33, !dbg !454 | |
store i8 %56, i8* %avx512bw, align 1, !dbg !455 | |
%and327.lobit = lshr i32 %structured_feature_info0.sroa.0.4.extract.trunc, 31, !dbg !456 | |
%57 = trunc i32 %and327.lobit to i8, !dbg !456 | |
%58 = select i1 %avx512_regs.1, i8 %57, i8 0, !dbg !456 | |
%avx512vl = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 34, !dbg !457 | |
store i8 %58, i8* %avx512vl, align 1, !dbg !458 | |
%and337828 = lshr i64 %structured_feature_info0.sroa.0.0930, 53, !dbg !459 | |
%59 = trunc i64 %and337828 to i8, !dbg !459 | |
%60 = and i8 %59, 1, !dbg !459 | |
%61 = select i1 %avx512_regs.1, i8 %60, i8 0, !dbg !459 | |
%avx512ifma = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 35, !dbg !460 | |
store i8 %61, i8* %avx512ifma, align 1, !dbg !461 | |
%62 = lshr i8 %28, 1, !dbg !462 | |
%63 = and i8 %62, 1, !dbg !462 | |
%64 = select i1 %avx512_regs.1, i8 %63, i8 0, !dbg !462 | |
%avx512vbmi = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 36, !dbg !463 | |
store i8 %64, i8* %avx512vbmi, align 1, !dbg !464 | |
%65 = lshr i8 %28, 6, !dbg !465 | |
%66 = and i8 %65, 1, !dbg !465 | |
%67 = select i1 %avx512_regs.1, i8 %66, i8 0, !dbg !465 | |
%avx512vbmi2 = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 37, !dbg !466 | |
store i8 %67, i8* %avx512vbmi2, align 1, !dbg !467 | |
%and367831 = lshr i64 %structured_feature_info0.sroa.25.0932, 12, !dbg !468 | |
%68 = trunc i64 %and367831 to i8, !dbg !468 | |
%69 = and i8 %68, 1, !dbg !468 | |
%70 = select i1 %avx512_regs.1, i8 %69, i8 0, !dbg !468 | |
%avx512bitalg = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 38, !dbg !469 | |
store i8 %70, i8* %avx512bitalg, align 1, !dbg !470 | |
%and377832 = lshr i64 %structured_feature_info0.sroa.25.0932, 14, !dbg !471 | |
%71 = trunc i64 %and377832 to i8, !dbg !471 | |
%72 = and i8 %71, 1, !dbg !471 | |
%73 = select i1 %avx512_regs.1, i8 %72, i8 0, !dbg !471 | |
%avx512vpopcntdq = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 39, !dbg !472 | |
store i8 %73, i8* %avx512vpopcntdq, align 1, !dbg !473 | |
%and387833 = lshr i64 %structured_feature_info0.sroa.25.0932, 11, !dbg !474 | |
%74 = trunc i64 %and387833 to i8, !dbg !474 | |
%75 = and i8 %74, 1, !dbg !474 | |
%76 = select i1 %avx512_regs.1, i8 %75, i8 0, !dbg !474 | |
%avx512vnni = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 40, !dbg !475 | |
store i8 %76, i8* %avx512vnni, align 1, !dbg !476 | |
%sum.shift = lshr i64 %structured_feature_info0.sroa.25.0932, 34, !dbg !477 | |
%and397834 = trunc i64 %sum.shift to i8, !dbg !477 | |
%and397.lobit = and i8 %and397834, 1, !dbg !477 | |
%77 = select i1 %avx512_regs.1, i8 %and397.lobit, i8 0, !dbg !477 | |
%avx512_4vnniw = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 43, !dbg !478 | |
store i8 %77, i8* %avx512_4vnniw, align 1, !dbg !479 | |
%sum.shift835 = lshr i64 %structured_feature_info0.sroa.25.0932, 35, !dbg !480 | |
%and407836 = trunc i64 %sum.shift835 to i8, !dbg !480 | |
%and407.lobit = and i8 %and407836, 1, !dbg !480 | |
%78 = select i1 %avx512_regs.1, i8 %and407.lobit, i8 0, !dbg !480 | |
%avx512_4fmaps = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 44, !dbg !481 | |
store i8 %78, i8* %avx512_4fmaps, align 1, !dbg !482 | |
%sum.shift837 = lshr i64 %structured_feature_info0.sroa.25.0932, 40, !dbg !483 | |
%and417838 = trunc i64 %sum.shift837 to i8, !dbg !483 | |
%and417.lobit = and i8 %and417838, 1, !dbg !483 | |
%79 = select i1 %avx512_regs.1, i8 %and417.lobit, i8 0, !dbg !483 | |
%avx512vp2intersect = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 42, !dbg !484 | |
store i8 %79, i8* %avx512vp2intersect, align 1, !dbg !485 | |
%80 = select i1 %avx512_regs.1, i8 %structured_feature_info1.sroa.0.0, i8 0, !dbg !486 | |
%avx512bf16 = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 41, !dbg !487 | |
store i8 %80, i8* %avx512bf16, align 1, !dbg !488 | |
%hle = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 45, !dbg !489 | |
%and434840 = lshr i64 %structured_feature_info0.sroa.0.0930, 36, !dbg !490 | |
%81 = trunc i64 %and434840 to i8, !dbg !490 | |
%82 = and i8 %81, 1, !dbg !490 | |
store i8 %82, i8* %hle, align 1, !dbg !490 | |
%and440 = and i32 %structured_feature_info0.sroa.0.4.extract.trunc, 2048, !dbg !491 | |
%tobool441 = icmp ne i32 %and440, 0, !dbg !492 | |
%rtm = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 46, !dbg !493 | |
%and440.lobit = lshr exact i32 %and440, 11, !dbg !494 | |
%83 = trunc i32 %and440.lobit to i8, !dbg !494 | |
store i8 %83, i8* %rtm, align 1, !dbg !494 | |
%tobool446 = icmp ne i8 %82, 0, !dbg !495 | |
%84 = select i1 %tobool446, i1 true, i1 %tobool441, !dbg !496 | |
%xtest = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 47, !dbg !497 | |
%frombool451 = zext i1 %84 to i8, !dbg !498 | |
store i8 %frombool451, i8* %xtest, align 1, !dbg !498 | |
%and456841 = lshr i64 %structured_feature_info0.sroa.0.0930, 46, !dbg !499 | |
%85 = trunc i64 %and456841 to i8, !dbg !499 | |
%86 = and i8 %85, 1, !dbg !499 | |
%87 = select i1 %mpx_regs.1, i8 %86, i8 0, !dbg !499 | |
%mpx = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 48, !dbg !500 | |
store i8 %87, i8* %mpx, align 1, !dbg !501 | |
%cmpxchg16b = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 49, !dbg !502 | |
%and463842 = lshr i64 %basic_info.coerce1, 13, !dbg !503 | |
%88 = trunc i64 %and463842 to i8, !dbg !503 | |
%89 = and i8 %88, 1, !dbg !503 | |
store i8 %89, i8* %cmpxchg16b, align 1, !dbg !503 | |
%clwb = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 50, !dbg !504 | |
%and469843 = lshr i64 %structured_feature_info0.sroa.0.0930, 56, !dbg !505 | |
%90 = trunc i64 %and469843 to i8, !dbg !505 | |
%91 = and i8 %90, 1, !dbg !505 | |
store i8 %91, i8* %clwb, align 1, !dbg !505 | |
%movbe = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 51, !dbg !506 | |
%and475844 = lshr i64 %basic_info.coerce1, 22, !dbg !507 | |
%92 = trunc i64 %and475844 to i8, !dbg !507 | |
%93 = and i8 %92, 1, !dbg !507 | |
store i8 %93, i8* %movbe, align 1, !dbg !507 | |
%lahf_sahf = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 52, !dbg !508 | |
%94 = and i8 %37, 1, !dbg !509 | |
store i8 %94, i8* %lahf_sahf, align 1, !dbg !509 | |
%fs_gs_base = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 53, !dbg !510 | |
%95 = trunc i64 %structured_feature_info0.sroa.0.4.extract.shift to i8, !dbg !511 | |
%96 = and i8 %95, 1, !dbg !511 | |
store i8 %96, i8* %fs_gs_base, align 1, !dbg !511 | |
%lzcnt = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 54, !dbg !512 | |
%97 = lshr i8 %37, 5, !dbg !513 | |
%98 = and i8 %97, 1, !dbg !513 | |
store i8 %98, i8* %lzcnt, align 1, !dbg !513 | |
%popcnt = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 55, !dbg !514 | |
%and499846 = lshr i64 %basic_info.coerce1, 23, !dbg !515 | |
%99 = trunc i64 %and499846 to i8, !dbg !515 | |
%100 = and i8 %99, 1, !dbg !515 | |
store i8 %100, i8* %popcnt, align 1, !dbg !515 | |
%tbm = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 56, !dbg !516 | |
%and505847 = lshr i64 %extended_info.coerce1, 21, !dbg !517 | |
%101 = trunc i64 %and505847 to i8, !dbg !517 | |
%102 = and i8 %101, 1, !dbg !517 | |
store i8 %102, i8* %tbm, align 1, !dbg !517 | |
%bmi = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 57, !dbg !518 | |
%and511848 = lshr i64 %structured_feature_info0.sroa.0.0930, 35, !dbg !519 | |
%103 = trunc i64 %and511848 to i8, !dbg !519 | |
%104 = and i8 %103, 1, !dbg !519 | |
store i8 %104, i8* %bmi, align 1, !dbg !519 | |
%bmi2 = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 58, !dbg !520 | |
%and517849 = lshr i64 %structured_feature_info0.sroa.0.0930, 40, !dbg !521 | |
%105 = trunc i64 %and517849 to i8, !dbg !521 | |
%106 = and i8 %105, 1, !dbg !521 | |
store i8 %106, i8* %bmi2, align 1, !dbg !521 | |
%adx = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 59, !dbg !522 | |
%and523850 = lshr i64 %structured_feature_info0.sroa.0.0930, 51, !dbg !523 | |
%107 = trunc i64 %and523850 to i8, !dbg !523 | |
%108 = and i8 %107, 1, !dbg !523 | |
store i8 %108, i8* %adx, align 1, !dbg !523 | |
%aes = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 60, !dbg !524 | |
%and529 = lshr i32 %basic_info.sroa.1.8.extract.trunc, 25, !dbg !525 | |
%109 = trunc i32 %and529 to i8, !dbg !525 | |
%110 = and i8 %109, 1, !dbg !525 | |
store i8 %110, i8* %aes, align 1, !dbg !525 | |
%vaes = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 61, !dbg !526 | |
%and535851 = lshr i64 %structured_feature_info0.sroa.25.0932, 9, !dbg !527 | |
%111 = trunc i64 %and535851 to i8, !dbg !527 | |
%112 = and i8 %111, 1, !dbg !527 | |
store i8 %112, i8* %vaes, align 1, !dbg !527 | |
%pclmulqdq = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 62, !dbg !528 | |
%113 = lshr i8 %15, 1, !dbg !529 | |
%114 = and i8 %113, 1, !dbg !529 | |
store i8 %114, i8* %pclmulqdq, align 1, !dbg !529 | |
%vpclmulqdq = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 63, !dbg !530 | |
%and547853 = lshr i64 %structured_feature_info0.sroa.25.0932, 10, !dbg !531 | |
%115 = trunc i64 %and547853 to i8, !dbg !531 | |
%116 = and i8 %115, 1, !dbg !531 | |
store i8 %116, i8* %vpclmulqdq, align 1, !dbg !531 | |
%gfni = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 64, !dbg !532 | |
%and553854 = lshr i64 %structured_feature_info0.sroa.25.0932, 8, !dbg !533 | |
%117 = trunc i64 %and553854 to i8, !dbg !533 | |
%118 = and i8 %117, 1, !dbg !533 | |
store i8 %118, i8* %gfni, align 1, !dbg !533 | |
%rdrand = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 65, !dbg !534 | |
%and559 = lshr i32 %basic_info.sroa.1.8.extract.trunc, 30, !dbg !535 | |
%119 = trunc i32 %and559 to i8, !dbg !535 | |
%120 = and i8 %119, 1, !dbg !535 | |
store i8 %120, i8* %rdrand, align 1, !dbg !535 | |
%rdseed = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 66, !dbg !536 | |
%and565855 = lshr i64 %structured_feature_info0.sroa.0.0930, 50, !dbg !537 | |
%121 = trunc i64 %and565855 to i8, !dbg !537 | |
%122 = and i8 %121, 1, !dbg !537 | |
store i8 %122, i8* %rdseed, align 1, !dbg !537 | |
%sha = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 67, !dbg !538 | |
%and571 = lshr i32 %structured_feature_info0.sroa.0.4.extract.trunc, 29, !dbg !539 | |
%123 = trunc i32 %and571 to i8, !dbg !539 | |
%124 = and i8 %123, 1, !dbg !539 | |
store i8 %124, i8* %sha, align 1, !dbg !539 | |
%cmp576 = icmp eq i32 %vendor, 11, !dbg !540 | |
br i1 %cmp576, label %if.then578, label %if.end611, !dbg !541 | |
if.then578: ; preds = %sw.epilog162 | |
call void @llvm.dbg.value(metadata i32 -1073741824, metadata !321, metadata !DIExpression()) #4, !dbg !542 | |
%125 = tail call { i32, i32, i32, i32 } asm " xchgq %rbx,${1:q}\0A cpuid\0A xchgq %rbx,${1:q}", "={ax},=r,={cx},={dx},0,~{dirflag},~{fpsr},~{flags}"(i32 -1073741824) #5, !dbg !544, !srcloc !330 | |
%asmresult.i900 = extractvalue { i32, i32, i32, i32 } %125, 0, !dbg !544 | |
call void @llvm.dbg.value(metadata i32 %asmresult.i900, metadata !326, metadata !DIExpression(DW_OP_LLVM_fragment, 0, 32)) #4, !dbg !542 | |
call void @llvm.dbg.value(metadata i32 undef, metadata !326, metadata !DIExpression(DW_OP_LLVM_fragment, 32, 32)) #4, !dbg !542 | |
call void @llvm.dbg.value(metadata i32 undef, metadata !326, metadata !DIExpression(DW_OP_LLVM_fragment, 64, 32)) #4, !dbg !542 | |
call void @llvm.dbg.value(metadata i32 undef, metadata !326, metadata !DIExpression(DW_OP_LLVM_fragment, 96, 32)) #4, !dbg !542 | |
call void @llvm.dbg.value(metadata i64 undef, metadata !284, metadata !DIExpression(DW_OP_LLVM_fragment, 64, 64)), !dbg !545 | |
call void @llvm.dbg.value(metadata !DIArgList(i64 0, i32 %asmresult.i900), metadata !284, metadata !DIExpression(DW_OP_LLVM_arg, 0, DW_OP_LLVM_arg, 1, DW_OP_LLVM_convert, 32, DW_ATE_unsigned, DW_OP_LLVM_convert, 64, DW_ATE_unsigned, DW_OP_or, DW_OP_stack_value, DW_OP_LLVM_fragment, 0, 64)), !dbg !545 | |
call void @llvm.dbg.value(metadata i32 %asmresult.i900, metadata !287, metadata !DIExpression()), !dbg !545 | |
call void @llvm.dbg.value(metadata i32 -1073741823, metadata !288, metadata !DIExpression()), !dbg !545 | |
%cmp581 = icmp ugt i32 %asmresult.i900, -1073741824, !dbg !546 | |
br i1 %cmp581, label %if.then583, label %if.end611, !dbg !547 | |
if.then583: ; preds = %if.then578 | |
call void @llvm.dbg.value(metadata i32 -1073741823, metadata !321, metadata !DIExpression()) #4, !dbg !548 | |
%126 = tail call { i32, i32, i32, i32 } asm " xchgq %rbx,${1:q}\0A cpuid\0A xchgq %rbx,${1:q}", "={ax},=r,={cx},={dx},0,~{dirflag},~{fpsr},~{flags}"(i32 -1073741823) #5, !dbg !550, !srcloc !330 | |
%asmresult4.i917 = extractvalue { i32, i32, i32, i32 } %126, 3, !dbg !550 | |
call void @llvm.dbg.value(metadata i32 undef, metadata !326, metadata !DIExpression(DW_OP_LLVM_fragment, 0, 32)) #4, !dbg !548 | |
call void @llvm.dbg.value(metadata i32 undef, metadata !326, metadata !DIExpression(DW_OP_LLVM_fragment, 32, 32)) #4, !dbg !548 | |
call void @llvm.dbg.value(metadata i32 undef, metadata !326, metadata !DIExpression(DW_OP_LLVM_fragment, 64, 32)) #4, !dbg !548 | |
call void @llvm.dbg.value(metadata i32 %asmresult4.i917, metadata !326, metadata !DIExpression(DW_OP_LLVM_fragment, 96, 32)) #4, !dbg !548 | |
call void @llvm.dbg.value(metadata i64 undef, metadata !289, metadata !DIExpression(DW_OP_LLVM_fragment, 0, 64)), !dbg !551 | |
call void @llvm.dbg.value(metadata !DIArgList(i32 %asmresult4.i917, i32 undef), metadata !289, metadata !DIExpression(DW_OP_LLVM_arg, 0, DW_OP_LLVM_convert, 32, DW_ATE_unsigned, DW_OP_LLVM_convert, 64, DW_ATE_unsigned, DW_OP_constu, 32, DW_OP_shl, DW_OP_LLVM_arg, 1, DW_OP_LLVM_convert, 32, DW_ATE_unsigned, DW_OP_LLVM_convert, 64, DW_ATE_unsigned, DW_OP_or, DW_OP_stack_value, DW_OP_LLVM_fragment, 64, 64)), !dbg !551 | |
call void @llvm.dbg.value(metadata i32 12, metadata !292, metadata !DIExpression()), !dbg !551 | |
%and586 = and i32 %asmresult4.i917, 12, !dbg !552 | |
%cmp587 = icmp eq i32 %and586, 12, !dbg !553 | |
%rng = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 68, !dbg !554 | |
%frombool589 = zext i1 %cmp587 to i8, !dbg !555 | |
store i8 %frombool589, i8* %rng, align 1, !dbg !555 | |
call void @llvm.dbg.value(metadata i32 192, metadata !293, metadata !DIExpression()), !dbg !551 | |
%and591 = and i32 %asmresult4.i917, 192, !dbg !556 | |
%cmp592 = icmp eq i32 %and591, 192, !dbg !557 | |
%ace = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 69, !dbg !558 | |
%frombool594 = zext i1 %cmp592 to i8, !dbg !559 | |
store i8 %frombool594, i8* %ace, align 1, !dbg !559 | |
call void @llvm.dbg.value(metadata i32 768, metadata !294, metadata !DIExpression()), !dbg !551 | |
%and596 = and i32 %asmresult4.i917, 768, !dbg !560 | |
%cmp597 = icmp eq i32 %and596, 768, !dbg !561 | |
%ace2 = getelementptr inbounds %struct.cpuinfo_x86_isa, %struct.cpuinfo_x86_isa* %agg.result, i64 0, i32 70, !dbg !562 | |
%frombool599 = zext i1 %cmp597 to i8, !dbg !563 | |
store i8 %frombool599, i8* %ace2, align 1, !dbg !563 | |
call void @llvm.dbg.value(metadata i32 3072, metadata !295, metadata !DIExpression()), ! |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
The compile command line looks like
clang -Os -fsanitize=memory -fsanitize-memory-param-retval -fsanitize-memory-use-after-dtor -march=x86-64-v3 ... isa.c
where isa.c is https://github.com/pytorch/cpuinfo/blob/master/src/x86/isa.c#L118I added
-emit-llvm -print-changed -emit-llvm -print-module-scope
and extracted the IR before and after SLPVectorizer.-march=x86-64-v2
passesasm-bad.ll
andasm-good.ll
are produced withllc -O2 asm-bad.ll
andllc -O2 asm-good.ll
. They should be similar toclang -Os -S
output.isa
is a local variable used as the return value. Its address is stored in RDI.The bad codegen (with the SLPVectorizer change) has these lines. There is a copy from RDI to RBX.
When writing to
isa
, RBX is 0 (i.e.&isa
is 0), so a null pointer dereference follows.Good codegen (
isa
is a local variable).