§
    ƒnócB  ã                  ód   — d dl mZ ddlmZmZmZ ddlmZ ddlmZmZ  G d„ de¦  «        Z	d	„ Z
d
S )é    )Úannotationsé   )ÚmesonlibÚ	compilersÚmlog)Úbuildé   )ÚExtensionModuleÚ
ModuleInfoc                  ó@   ‡ — e Zd Z eddd¬¦  «        Zˆ fd„Zd„ Zˆ xZS )Ú
SimdModuleÚSIMDz0.42.0T)Úunstablec                óš   •— t          ¦   «                              |¦  «         d| _        | j                             d| j        i¦  «         d S )N)
ÚmmxÚsseÚsse2Ússe3Ússse3Ússe41Ússe42ÚavxÚavx2ÚneonÚcheck)ÚsuperÚ__init__ÚisetsÚmethodsÚupdater   )ÚselfÚinterpreterÚ	__class__s     €ú9/usr/lib/python3/dist-packages/mesonbuild/modules/simd.pyr   zSimdModule.__init__   sV   ø€ Ý‰Œ×Ò˜Ñ%Ô%Ð%ð
ˆŒ
ð 	Œ×ÒØ�T”Zð
ñ 	ô 	ð 	ð 	ð 	ó    c                ó  — g }t          |¦  «        dk    rt          j        d¦  «        ‚|d         }t          |t          ¦  «        st          j        d¦  «        ‚d|vrt          j        d¦  «        ‚d|v rt          j        d¦  «        ‚i }|                     ¦   «         D ]\  }}|| j        vr|dk    r|||<   Œ|d         }	t          |	t          j        j        ¦  «        st          j        d	¦  «        ‚t          j
        ¦   «         }
| j        D �]u}||vrŒ||         }|	                     |¦  «        }|€+t          j        d
|z  t          j        d¦  «        ¦  «         ŒR|rL|	                     ||j        ¦  «        d         s+t          j        d
|z  t          j        d¦  «        ¦  «         Œ t          j        d
|z  t          j        d¦  «        ¦  «         dd|z  f|
j        d|                     ¦   «         z   <   |dz   |z   }d|i}|                     |¦  «         |	                     ¦   «         dz   }t          j        ||¦  «        }||z   }|||<   |                     | j                             d |g|¦  «        ¦  «         �Œw||
gS )Nr	   z6Check requires one argument, a name prefix for checks.r   zArgument must be a string.ÚcompilerzMust specify compiler keywordÚsourcesz2SIMD module does not support the "sources" keywordz,Compiler argument must be a compiler object.zCompiler supports %s:ÚNOÚYESÚ1zCompiler supports %s.ÚHAVE_Ú_Ú_args)Úlenr   ÚMesonExceptionÚ
isinstanceÚstrÚitemsr   r   ÚCompilerr   ÚConfigurationDataÚget_instruction_set_argsr   ÚlogÚredÚhas_multi_argumentsÚenvironmentÚgreenÚvaluesÚupperr    Úget_languageÚextract_as_listÚappendr"   Úfunc_static_lib)r!   ÚstateÚargsÚkwargsÚresultÚprefixÚbasic_kwargsÚkeyÚvaluer'   ÚconfÚisetÚ
iset_fnameÚlibnameÚ
lib_kwargsÚlangarg_keyÚold_lang_argsÚall_lang_argss                     r$   r   zSimdModule.check+   s¬  € ØˆÝˆt‰9Œ9˜Š>ˆ>ÝÔ)Ð*bÑcÔcÐcØ�a”ˆÝ˜&¥#Ñ&Ô&ð 	HÝÔ)Ð*FÑGÔGÐGØ˜VÐ#Ð#ÝÔ)Ð*IÑJÔJÐJØ˜ÐÐÝÔ)Ð*^Ñ_Ô_Ð_ØˆØ Ÿ,š,™.œ.ð 	*ð 	*‰JˆC�Ø˜$œ*Ð$Ð$¨°
Ò):Ð):Ø$)�˜SÑ!øØ˜*Ô%ˆÝ˜(¥IÔ$7Ô$@ÑAÔAð 	ZÝÔ)Ð*XÑYÔYÐYÝÔ&Ñ(Ô(ˆØ”Jð 	Yñ 	YˆDØ˜6Ð!Ð!ØØ œˆJØ×4Ò4°TÑ:Ô:ˆDØˆ|Ý”Ð0°4Ñ7½¼À$¹¼ÑHÔHÐHØØð Ø×3Ò3°D¸%Ô:KÑLÔLÈQÔOð Ý”HÐ4°tÑ;½T¼XÀd¹^¼^ÑLÔLÐLØÝŒHÐ,¨tÑ3µT´ZÀÑ5FÔ5FÑGÔGÐGØ36Ð8OÐRVÑ8VÐ2WˆDŒK˜ $§*¢*¡,¤,Ñ.Ñ/Ø˜s‘l TÑ)ˆGØ# Zð ˆJà×Ò˜lÑ+Ô+Ð+Ø"×/Ò/Ñ1Ô1°GÑ;ˆKÝ$Ô4°ZÀÑMÔMˆMØ)¨DÑ0ˆMØ&3ˆJ�{Ñ#Ø�MŠM˜$Ô*×:Ò:¸4À'ÀÈJÑWÔWÑXÔXÐXÑXØ˜ˆ~Ðr%   )Ú__name__Ú
__module__Ú__qualname__r   ÚINFOr   r   Ú__classcell__)r#   s   @r$   r   r      s]   ø€ € € € € àˆ:�f˜h°Ð6Ñ6Ô6€Dðð ð ð ð ð$*ð *ð *ð *ð *ð *ð *r%   r   c                 ó   — t          | i |¤ŽS )N)r   )rC   rD   s     r$   Ú
initializerX   W   s   € Ý�tÐ&˜vÐ&Ð&Ð&r%   N)Ú
__future__r   Ú r   r   r   r   r
   r   r   rX   © r%   r$   ú<module>r\      s­   ðð #Ð "Ð "Ð "Ð "Ð "à (Ð (Ð (Ð (Ð (Ð (Ð (Ð (Ð (Ð (Ø Ð Ð Ð Ð Ð à )Ð )Ð )Ð )Ð )Ð )Ð )Ð )ð@ð @ð @ð @ð @�ñ @ô @ð @ðD'ð 'ð 'ð 'ð 'r%   