
    wg                         d dl mZ d dlmZ d dlmZmZ d dlmZ  ed       G d de             Ze	dk(  r ej                          y	y	)
    )ir)nvvm)unittestContextResettingTestCase)skip_on_cudasimz*Inline PTX cannot be used in the simulatorc                       e Zd Zd Zy)TestCudaInlineAsmc                    t        j                  t              }d|_        t	        j
                  |       t        j                  t        j                         t        j                  t        j                               g      }t        j                  ||d      }t        j                  |j                  d            }t        j                  t        j                         t        j                         g      }t        j                  |ddd      }|j                  |j                  d         }|j!                  ||g      }|j#                  ||j                  d          |j%                          t	        j&                         j(                  |_        t	        j*                  |       t-        |      }	t	        j.                  |	      }
| j1                  d	t-        |
      v        y )
Nznvptx64-nvidia-cudacu_rsqrtentryzrsqrt.approx.f32 $0, $1;z=f,fT)side_effectr   zrsqrt.approx.f32)r   Module__name__tripler   add_ir_versionFunctionTypeVoidTypePointerType	FloatTypeFunction	IRBuilderappend_basic_block	InlineAsmloadargscallstoreret_voidNVVMdata_layoutset_cuda_kernelstr
compile_ir
assertTrue)selfmodfntyfnbldrrsqrt_approx_fnty	inlineasmvalresnvvmirptxs              m/home/mcse/projects/flask/flask-venv/lib/python3.12/site-packages/numba/cuda/tests/cudadrv/test_inline_ptx.pytest_inline_rsqrtz#TestCudaInlineAsm.test_inline_rsqrt
   sJ   ii!*
C r{{}r~~blln/M.NO[[dJ/||B11':;OOBLLNR\\^<LMLL!2!;!'T;	 ii
#ii	C5)

3
# ))+11R Soof%*c#h67    N)r   
__module____qualname__r1    r2   r0   r	   r	      s    8r2   r	   __main__N)llvmliter   numba.cuda.cudadrvr   numba.cuda.testingr   r   r   r	   r   mainr5   r2   r0   <module>r;      sM     # A . =>80 8 ?86 zHMMO r2   