1 // This file is generated by tools/cpuidgen.d 2 module libd.util._cpuid; 3 4 import libd.util.cpuid; 5 6 @trusted @nogc nothrow: 7 uint cpuidGetSteppingid() { return (g_cpuidStore.eax1_eax & 0xF) >> 0x0; } 8 uint cpuidGetModel() { return (g_cpuidStore.eax1_eax & 0xF0) >> 0x4; } 9 uint cpuidGetFamilyid() { return (g_cpuidStore.eax1_eax & 0xF00) >> 0x8; } 10 uint cpuidGetProcessortype() { return (g_cpuidStore.eax1_eax & 0x3000) >> 0xC; } 11 uint cpuidGetExtendedmodelid() { return (g_cpuidStore.eax1_eax & 0xF0000) >> 0x10; } 12 uint cpuidGetExtendedfamilyid() { return (g_cpuidStore.eax1_eax & 0xFF00000) >> 0x14; } 13 uint cpuidGetBrandindex() { return (g_cpuidStore.eax1_ebx & 0xFF) >> 0x0; } 14 uint cpuidGetClflushlinesize() { return (g_cpuidStore.eax1_ebx & 0xFF00) >> 0x8; } 15 uint cpuidGetMaxaddressableidsforlogicalprocessors() { return (g_cpuidStore.eax1_ebx & 0xFF0000) >> 0x10; } 16 uint cpuidGetLocalapicid() { return (g_cpuidStore.eax1_ebx & 0xFF000000) >> 0x18; } 17 bool cpuidHasSse3() { return (g_cpuidStore.eax1_ecx & 0x1) > 0; } 18 bool cpuidHasPclmulqdq() { return (g_cpuidStore.eax1_ecx & 0x2) > 0; } 19 bool cpuidHasDtest64() { return (g_cpuidStore.eax1_ecx & 0x4) > 0; } 20 bool cpuidHasMonitor() { return (g_cpuidStore.eax1_ecx & 0x8) > 0; } 21 bool cpuidHasDs_cpl() { return (g_cpuidStore.eax1_ecx & 0x10) > 0; } 22 bool cpuidHasVmx() { return (g_cpuidStore.eax1_ecx & 0x20) > 0; } 23 bool cpuidHasSmx() { return (g_cpuidStore.eax1_ecx & 0x40) > 0; } 24 bool cpuidHasEst() { return (g_cpuidStore.eax1_ecx & 0x80) > 0; } 25 bool cpuidHasTm2() { return (g_cpuidStore.eax1_ecx & 0x100) > 0; } 26 bool cpuidHasSsse3() { return (g_cpuidStore.eax1_ecx & 0x200) > 0; } 27 bool cpuidHasCnxt_id() { return (g_cpuidStore.eax1_ecx & 0x400) > 0; } 28 bool cpuidHasSdbg() { return (g_cpuidStore.eax1_ecx & 0x800) > 0; } 29 bool cpuidHasFma() { return (g_cpuidStore.eax1_ecx & 0x1000) > 0; } 30 bool cpuidHasCx16() { return (g_cpuidStore.eax1_ecx & 0x2000) > 0; } 31 bool cpuidHasXtpr() { return (g_cpuidStore.eax1_ecx & 0x4000) > 0; } 32 bool cpuidHasPdcm() { return (g_cpuidStore.eax1_ecx & 0x8000) > 0; } 33 bool cpuidHas_ax1cx_res1() { return (g_cpuidStore.eax1_ecx & 0x10000) > 0; } 34 bool cpuidHasPcid() { return (g_cpuidStore.eax1_ecx & 0x20000) > 0; } 35 bool cpuidHasDca() { return (g_cpuidStore.eax1_ecx & 0x40000) > 0; } 36 bool cpuidHasSse41() { return (g_cpuidStore.eax1_ecx & 0x80000) > 0; } 37 bool cpuidHasSse42() { return (g_cpuidStore.eax1_ecx & 0x100000) > 0; } 38 bool cpuidHasX2apic() { return (g_cpuidStore.eax1_ecx & 0x200000) > 0; } 39 bool cpuidHasMovbe() { return (g_cpuidStore.eax1_ecx & 0x400000) > 0; } 40 bool cpuidHasPopcnt() { return (g_cpuidStore.eax1_ecx & 0x800000) > 0; } 41 bool cpuidHasTsc_deadline() { return (g_cpuidStore.eax1_ecx & 0x1000000) > 0; } 42 bool cpuidHasAes() { return (g_cpuidStore.eax1_ecx & 0x2000000) > 0; } 43 bool cpuidHasXsave() { return (g_cpuidStore.eax1_ecx & 0x4000000) > 0; } 44 bool cpuidHasOsxsave() { return (g_cpuidStore.eax1_ecx & 0x8000000) > 0; } 45 bool cpuidHasAvx() { return (g_cpuidStore.eax1_ecx & 0x10000000) > 0; } 46 bool cpuidHasF16c() { return (g_cpuidStore.eax1_ecx & 0x20000000) > 0; } 47 bool cpuidHasRdrnd() { return (g_cpuidStore.eax1_ecx & 0x40000000) > 0; } 48 bool cpuidHasHypervisor() { return (g_cpuidStore.eax1_ecx & 0x80000000) > 0; } 49 bool cpuidHasFpu() { return (g_cpuidStore.eax1_edx & 0x1) > 0; } 50 bool cpuidHasVem() { return (g_cpuidStore.eax1_edx & 0x2) > 0; } 51 bool cpuidHasDe() { return (g_cpuidStore.eax1_edx & 0x4) > 0; } 52 bool cpuidHasPse() { return (g_cpuidStore.eax1_edx & 0x8) > 0; } 53 bool cpuidHasTsc() { return (g_cpuidStore.eax1_edx & 0x10) > 0; } 54 bool cpuidHasMsr() { return (g_cpuidStore.eax1_edx & 0x20) > 0; } 55 bool cpuidHasPae() { return (g_cpuidStore.eax1_edx & 0x40) > 0; } 56 bool cpuidHasMce() { return (g_cpuidStore.eax1_edx & 0x80) > 0; } 57 bool cpuidHasCx8() { return (g_cpuidStore.eax1_edx & 0x100) > 0; } 58 bool cpuidHasApic() { return (g_cpuidStore.eax1_edx & 0x200) > 0; } 59 bool cpuidHas_ax1dx_res1() { return (g_cpuidStore.eax1_edx & 0x400) > 0; } 60 bool cpuidHasSep() { return (g_cpuidStore.eax1_edx & 0x800) > 0; } 61 bool cpuidHasMtrr() { return (g_cpuidStore.eax1_edx & 0x1000) > 0; } 62 bool cpuidHasPge() { return (g_cpuidStore.eax1_edx & 0x2000) > 0; } 63 bool cpuidHasMca() { return (g_cpuidStore.eax1_edx & 0x4000) > 0; } 64 bool cpuidHasCmov() { return (g_cpuidStore.eax1_edx & 0x8000) > 0; } 65 bool cpuidHasPat() { return (g_cpuidStore.eax1_edx & 0x10000) > 0; } 66 bool cpuidHasPse_36() { return (g_cpuidStore.eax1_edx & 0x20000) > 0; } 67 bool cpuidHasPsn() { return (g_cpuidStore.eax1_edx & 0x40000) > 0; } 68 bool cpuidHasClfsh() { return (g_cpuidStore.eax1_edx & 0x80000) > 0; } 69 bool cpuidHas_ax1dx_res2() { return (g_cpuidStore.eax1_edx & 0x100000) > 0; } 70 bool cpuidHasDs() { return (g_cpuidStore.eax1_edx & 0x200000) > 0; } 71 bool cpuidHasAcpi() { return (g_cpuidStore.eax1_edx & 0x400000) > 0; } 72 bool cpuidHasMmx() { return (g_cpuidStore.eax1_edx & 0x800000) > 0; } 73 bool cpuidHasFxsr() { return (g_cpuidStore.eax1_edx & 0x1000000) > 0; } 74 bool cpuidHasSse() { return (g_cpuidStore.eax1_edx & 0x2000000) > 0; } 75 bool cpuidHasSse2() { return (g_cpuidStore.eax1_edx & 0x4000000) > 0; } 76 bool cpuidHasSs() { return (g_cpuidStore.eax1_edx & 0x8000000) > 0; } 77 bool cpuidHasHtt() { return (g_cpuidStore.eax1_edx & 0x10000000) > 0; } 78 bool cpuidHasTm() { return (g_cpuidStore.eax1_edx & 0x20000000) > 0; } 79 bool cpuidHasIa64() { return (g_cpuidStore.eax1_edx & 0x40000000) > 0; } 80 bool cpuidHasPbe() { return (g_cpuidStore.eax1_edx & 0x80000000) > 0; } 81 bool cpuidHasFsgsbase() { return (g_cpuidStore.eax7ecx0_ebx & 0x1) > 0; } 82 bool cpuidHasIa32_tsc_adjust() { return (g_cpuidStore.eax7ecx0_ebx & 0x2) > 0; } 83 bool cpuidHasSgx() { return (g_cpuidStore.eax7ecx0_ebx & 0x4) > 0; } 84 bool cpuidHasBmi1() { return (g_cpuidStore.eax7ecx0_ebx & 0x8) > 0; } 85 bool cpuidHasHle() { return (g_cpuidStore.eax7ecx0_ebx & 0x10) > 0; } 86 bool cpuidHasAvx2() { return (g_cpuidStore.eax7ecx0_ebx & 0x20) > 0; } 87 bool cpuidHasFdp_excptn_only() { return (g_cpuidStore.eax7ecx0_ebx & 0x40) > 0; } 88 bool cpuidHasSmep() { return (g_cpuidStore.eax7ecx0_ebx & 0x80) > 0; } 89 bool cpuidHasBmi2() { return (g_cpuidStore.eax7ecx0_ebx & 0x100) > 0; } 90 bool cpuidHasErms() { return (g_cpuidStore.eax7ecx0_ebx & 0x200) > 0; } 91 bool cpuidHasInvpcid() { return (g_cpuidStore.eax7ecx0_ebx & 0x400) > 0; } 92 bool cpuidHasRtm() { return (g_cpuidStore.eax7ecx0_ebx & 0x800) > 0; } 93 bool cpuidHasPqrn() { return (g_cpuidStore.eax7ecx0_ebx & 0x1000) > 0; } 94 bool cpuidHasCs_ds_depr() { return (g_cpuidStore.eax7ecx0_ebx & 0x2000) > 0; } 95 bool cpuidHasMpx() { return (g_cpuidStore.eax7ecx0_ebx & 0x4000) > 0; } 96 bool cpuidHasPqe() { return (g_cpuidStore.eax7ecx0_ebx & 0x8000) > 0; } 97 bool cpuidHasAvx512_f() { return (g_cpuidStore.eax7ecx0_ebx & 0x10000) > 0; } 98 bool cpuidHasAvx512_dq() { return (g_cpuidStore.eax7ecx0_ebx & 0x20000) > 0; } 99 bool cpuidHasRdseed() { return (g_cpuidStore.eax7ecx0_ebx & 0x40000) > 0; } 100 bool cpuidHasAdx() { return (g_cpuidStore.eax7ecx0_ebx & 0x80000) > 0; } 101 bool cpuidHasSmap() { return (g_cpuidStore.eax7ecx0_ebx & 0x100000) > 0; } 102 bool cpuidHasAvx512_ifma() { return (g_cpuidStore.eax7ecx0_ebx & 0x200000) > 0; } 103 bool cpuidHasPcommit() { return (g_cpuidStore.eax7ecx0_ebx & 0x400000) > 0; } 104 bool cpuidHasClflushopt() { return (g_cpuidStore.eax7ecx0_ebx & 0x800000) > 0; } 105 bool cpuidHasClwb() { return (g_cpuidStore.eax7ecx0_ebx & 0x1000000) > 0; } 106 bool cpuidHasIntel_pt() { return (g_cpuidStore.eax7ecx0_ebx & 0x2000000) > 0; } 107 bool cpuidHasAvx512_pf() { return (g_cpuidStore.eax7ecx0_ebx & 0x4000000) > 0; } 108 bool cpuidHasAvx512_er() { return (g_cpuidStore.eax7ecx0_ebx & 0x8000000) > 0; } 109 bool cpuidHasAvx512_cd() { return (g_cpuidStore.eax7ecx0_ebx & 0x10000000) > 0; } 110 bool cpuidHasSha() { return (g_cpuidStore.eax7ecx0_ebx & 0x20000000) > 0; } 111 bool cpuidHasAvx512_bw() { return (g_cpuidStore.eax7ecx0_ebx & 0x40000000) > 0; } 112 bool cpuidHasAvx512_vl() { return (g_cpuidStore.eax7ecx0_ebx & 0x80000000) > 0; } 113 bool cpuidHasPrefetchwt1() { return (g_cpuidStore.eax7ecx0_ecx & 0x1) > 0; } 114 bool cpuidHasAvx512_vbmi() { return (g_cpuidStore.eax7ecx0_ecx & 0x2) > 0; } 115 bool cpuidHasUmip() { return (g_cpuidStore.eax7ecx0_ecx & 0x4) > 0; } 116 bool cpuidHasPku() { return (g_cpuidStore.eax7ecx0_ecx & 0x8) > 0; } 117 bool cpuidHasOspke() { return (g_cpuidStore.eax7ecx0_ecx & 0x10) > 0; } 118 bool cpuidHasWaitpkg() { return (g_cpuidStore.eax7ecx0_ecx & 0x20) > 0; } 119 bool cpuidHasAvx512_vbmi2() { return (g_cpuidStore.eax7ecx0_ecx & 0x40) > 0; } 120 bool cpuidHasCet_ss() { return (g_cpuidStore.eax7ecx0_ecx & 0x80) > 0; } 121 bool cpuidHasGfni() { return (g_cpuidStore.eax7ecx0_ecx & 0x100) > 0; } 122 bool cpuidHasVaes() { return (g_cpuidStore.eax7ecx0_ecx & 0x200) > 0; } 123 bool cpuidHasVpclmulqdq() { return (g_cpuidStore.eax7ecx0_ecx & 0x400) > 0; } 124 bool cpuidHasAvx512_vnni() { return (g_cpuidStore.eax7ecx0_ecx & 0x800) > 0; } 125 bool cpuidHasAvx512_bitalg() { return (g_cpuidStore.eax7ecx0_ecx & 0x1000) > 0; } 126 bool cpuidHas_ax7cx0cx_res1() { return (g_cpuidStore.eax7ecx0_ecx & 0x2000) > 0; } 127 bool cpuidHasAvx512_vpopcntdq() { return (g_cpuidStore.eax7ecx0_ecx & 0x4000) > 0; } 128 bool cpuidHas_ax7cx0cx_res2() { return (g_cpuidStore.eax7ecx0_ecx & 0x8000) > 0; } 129 bool cpuidHasFivelevelpaging() { return (g_cpuidStore.eax7ecx0_ecx & 0x10000) > 0; } 130 uint cpuidGetMawau() { return (g_cpuidStore.eax7ecx0_ecx & 0x3E0000) >> 0x11; } 131 bool cpuidHasRdpid() { return (g_cpuidStore.eax7ecx0_ecx & 0x400000) > 0; } 132 bool cpuidHas_ax7cx0cx_res3() { return (g_cpuidStore.eax7ecx0_ecx & 0x800000) > 0; } 133 bool cpuidHas_ax7cx0cx_res4() { return (g_cpuidStore.eax7ecx0_ecx & 0x1000000) > 0; } 134 bool cpuidHasCldemote() { return (g_cpuidStore.eax7ecx0_ecx & 0x2000000) > 0; } 135 bool cpuidHas_ax7cx0cx_res5() { return (g_cpuidStore.eax7ecx0_ecx & 0x4000000) > 0; } 136 bool cpuidHasMovdiri() { return (g_cpuidStore.eax7ecx0_ecx & 0x8000000) > 0; } 137 bool cpuidHasMovdir64b() { return (g_cpuidStore.eax7ecx0_ecx & 0x10000000) > 0; } 138 bool cpuidHasEnqcmd() { return (g_cpuidStore.eax7ecx0_ecx & 0x20000000) > 0; } 139 bool cpuidHasSgx_lc() { return (g_cpuidStore.eax7ecx0_ecx & 0x40000000) > 0; } 140 bool cpuidHasPks() { return (g_cpuidStore.eax7ecx0_ecx & 0x80000000) > 0; } 141 bool cpuidHas_ax7cx0dx_res1() { return (g_cpuidStore.eax7ecx0_edx & 0x1) > 0; } 142 bool cpuidHas_ax7cx0dx_res2() { return (g_cpuidStore.eax7ecx0_edx & 0x2) > 0; } 143 bool cpuidHasAvx512_4vnniw() { return (g_cpuidStore.eax7ecx0_edx & 0x4) > 0; } 144 bool cpuidHasAvx512_4fmaps() { return (g_cpuidStore.eax7ecx0_edx & 0x8) > 0; } 145 bool cpuidHasFsrm() { return (g_cpuidStore.eax7ecx0_edx & 0x10) > 0; } 146 bool cpuidHas_ax7cx0dx_res3() { return (g_cpuidStore.eax7ecx0_edx & 0x20) > 0; } 147 bool cpuidHas_ax7cx0dx_res4() { return (g_cpuidStore.eax7ecx0_edx & 0x40) > 0; } 148 bool cpuidHas_ax7cx0dx_res5() { return (g_cpuidStore.eax7ecx0_edx & 0x80) > 0; } 149 bool cpuidHasAvx512_vp2inersect() { return (g_cpuidStore.eax7ecx0_edx & 0x100) > 0; } 150 bool cpuidHasSrdbs_ctrl() { return (g_cpuidStore.eax7ecx0_edx & 0x200) > 0; } 151 bool cpuidHasMd_clear() { return (g_cpuidStore.eax7ecx0_edx & 0x400) > 0; } 152 bool cpuidHas_ax7cx0dx_res6() { return (g_cpuidStore.eax7ecx0_edx & 0x800) > 0; } 153 bool cpuidHas_ax7cx0dx_res7() { return (g_cpuidStore.eax7ecx0_edx & 0x1000) > 0; } 154 bool cpuidHasTsx_force_abort() { return (g_cpuidStore.eax7ecx0_edx & 0x2000) > 0; } 155 bool cpuidHasSerialize() { return (g_cpuidStore.eax7ecx0_edx & 0x4000) > 0; } 156 bool cpuidHasHybrid() { return (g_cpuidStore.eax7ecx0_edx & 0x8000) > 0; } 157 bool cpuidHasTsxldtrk() { return (g_cpuidStore.eax7ecx0_edx & 0x10000) > 0; } 158 bool cpuidHas_ax7cx0dx_res8() { return (g_cpuidStore.eax7ecx0_edx & 0x20000) > 0; } 159 bool cpuidHasPconfig() { return (g_cpuidStore.eax7ecx0_edx & 0x40000) > 0; } 160 bool cpuidHasLbr() { return (g_cpuidStore.eax7ecx0_edx & 0x80000) > 0; } 161 bool cpuidHasCet_ibt() { return (g_cpuidStore.eax7ecx0_edx & 0x100000) > 0; } 162 bool cpuidHas_ax7cx0dx_res9() { return (g_cpuidStore.eax7ecx0_edx & 0x200000) > 0; } 163 bool cpuidHasAmx_bf16() { return (g_cpuidStore.eax7ecx0_edx & 0x400000) > 0; } 164 bool cpuidHasAvx512_fp16() { return (g_cpuidStore.eax7ecx0_edx & 0x800000) > 0; } 165 bool cpuidHasAmx_tile() { return (g_cpuidStore.eax7ecx0_edx & 0x1000000) > 0; } 166 bool cpuidHasAmx_int8() { return (g_cpuidStore.eax7ecx0_edx & 0x2000000) > 0; } 167 bool cpuidHasSpec_ctrl() { return (g_cpuidStore.eax7ecx0_edx & 0x4000000) > 0; } 168 bool cpuidHasStibp() { return (g_cpuidStore.eax7ecx0_edx & 0x8000000) > 0; } 169 bool cpuidHasL1d_flush() { return (g_cpuidStore.eax7ecx0_edx & 0x10000000) > 0; } 170 bool cpuidHasIa32_arch_capabilities() { return (g_cpuidStore.eax7ecx0_edx & 0x20000000) > 0; } 171 bool cpuidHasIa32_core_capabilities() { return (g_cpuidStore.eax7ecx0_edx & 0x40000000) > 0; } 172 bool cpuidHasSsbd() { return (g_cpuidStore.eax7ecx0_edx & 0x80000000) > 0; }