
    e?              
       :   d dl mZ d dlZd dlZd Zd Zd Zedk(  r~ ej                         Z	 e
d ee	      z          e
d ee	      z          e
         e
d	        e
d
 ee	dd dd      z          e
d ee	dd dd      z          e
d ee	dd dd       z          e
d ee	dd dd      z          e
d ee	dd dd      z          e
d ee	dd dd      z          e
d ee	dd dd      z          e
d ee	dd dd      z          e
d ee	dd dd      z          e
d  ee	dd dd      z          e
d! ee	dd dd"      z          e
d# ee	d$d dd      z          e
d% ee	d$ddd       z          e
d& ee	d$ddd      z          e
d' ee	d$ddd      z         yy)(    )print_functionNc                 j     | d      \  }}}}t        j                  d|||      j                  d      S )Nr   IIIutf-8structpackdecode)cpu_bcds        =lib/python3.12/site-packages/archspec/vendor/cpuid/example.py
cpu_vendorr      s3    QJAq!Q;;uaA&--g66    c                 v     dj                   fdt        dd      D              }|j                  dd      d   S )N c              3   z   K   | ]2  }t        j                  d g d|z          j                  d       4 yw)IIIIl        r   Nr   ).0ir   s     r   	<genexpr>zcpu_name.<locals>.<genexpr>   s;      *( KK=Z!^)<=DDWM(s   8;          r   )joinrangesplit)r   names   ` r   cpu_namer"      s<    77 *"1a[* +D ::fa ##r   c                 .     | ||      }d|z  ||   z  ryy)z
    @param {leaf} %eax
    @param {sublead} %ecx, 0 in most cases
    @param {reg_idx} idx of [%eax, %ebx, %ecx, %edx], 0-based
    @param {bit} bit of reg selected by {reg_idx}, 0-based
    r   Yesz-- )r   leafsubleafreg_idxbitregss         r   is_setr+      s&     tWD	SDM!r   __main__zVendor ID : %szCPU name  : %szVector instructions supported:zSSE       : %sr         zSSE2      : %s   zSSE3      : %sr   zSSSE3     : %s	   zSSE4.1    : %s   zSSE4.2    : %s   zSSE4a     : %sl          zAVX       : %s   zAVX2      : %s   r   zBMI1      : %szBMI2      : %s   zL3 Monitoring : %s   zL3 Occupancy  : %szL3 Total BW   : %szL3 Local BW   : %s)
__future__r   r   cpuidr   r"   r+   __name__CPUIDr   printr%   r   r   <module>r=      s   &  7
$  z
%++-C	
Z_
,-	
Xc]
*+	G	
*+	
VCAq"5
56	
VCAq"5
56	
VCAq!4
45	
VCAq!4
45	
VCAq"5
56	
VCAq"5
56	
VCQ1=
=>	
VCAq"5
56	
VCAq!4
45	
VCAq!4
45	
VCAq!4
45	
S!Q!:
:;	
S!Q!:
:;	
S!Q!:
:;	
S!Q!:
:;- r   