Files
lammps/lib/gpu/pppm_d_gpu_kernel.ptx

901 lines
27 KiB
Plaintext

.version 2.3
.target sm_20
.address_size 64
// compiled with /usr/local/cuda/open64/lib//be
// nvopencc 4.0 built on 2011-05-12
//-----------------------------------------------------------
// Compiling /tmp/tmpxft_0000bc69_00000000-9_pppm_gpu_kernel.cpp3.i (/home/sjplimp/ccBI#.fFsh3D)
//-----------------------------------------------------------
//-----------------------------------------------------------
// Options:
//-----------------------------------------------------------
// Target:ptx, ISA:sm_20, Endian:little, Pointer Size:64
// -O3 (Optimization level)
// -g0 (Debug level)
// -m2 (Report advisories)
//-----------------------------------------------------------
.file 1 "<command-line>"
.file 2 "/tmp/tmpxft_0000bc69_00000000-8_pppm_gpu_kernel.cudafe2.gpu"
.file 3 "/usr/lib/gcc/x86_64-redhat-linux/4.4.5/include/stddef.h"
.file 4 "/usr/local/cuda/include/crt/device_runtime.h"
.file 5 "/usr/local/cuda/include/host_defines.h"
.file 6 "/usr/local/cuda/include/builtin_types.h"
.file 7 "/usr/local/cuda/include/device_types.h"
.file 8 "/usr/local/cuda/include/driver_types.h"
.file 9 "/usr/local/cuda/include/surface_types.h"
.file 10 "/usr/local/cuda/include/texture_types.h"
.file 11 "/usr/local/cuda/include/vector_types.h"
.file 12 "/usr/local/cuda/include/device_launch_parameters.h"
.file 13 "/usr/local/cuda/include/crt/storage_class.h"
.file 14 "/usr/include/bits/types.h"
.file 15 "/usr/include/time.h"
.file 16 "/usr/local/cuda/include/sm_11_atomic_functions.h"
.file 17 "pppm_gpu_kernel.cu"
.file 18 "/usr/local/cuda/include/common_functions.h"
.file 19 "/usr/local/cuda/include/math_functions.h"
.file 20 "/usr/local/cuda/include/math_constants.h"
.file 21 "/usr/local/cuda/include/device_functions.h"
.file 22 "/usr/local/cuda/include/sm_12_atomic_functions.h"
.file 23 "/usr/local/cuda/include/sm_13_double_functions.h"
.file 24 "/usr/local/cuda/include/sm_20_atomic_functions.h"
.file 25 "/usr/local/cuda/include/sm_20_intrinsics.h"
.file 26 "/usr/local/cuda/include/surface_functions.h"
.file 27 "/usr/local/cuda/include/texture_fetch_functions.h"
.file 28 "/usr/local/cuda/include/math_functions_dbl_ptx3.h"
.global .texref pos_tex;
.global .texref q_tex;
.entry particle_map (
.param .u64 __cudaparm_particle_map_x_,
.param .u64 __cudaparm_particle_map_q_,
.param .f64 __cudaparm_particle_map_delvolinv,
.param .s32 __cudaparm_particle_map_nlocal,
.param .u64 __cudaparm_particle_map_counts,
.param .u64 __cudaparm_particle_map_ans,
.param .f64 __cudaparm_particle_map_b_lo_x,
.param .f64 __cudaparm_particle_map_b_lo_y,
.param .f64 __cudaparm_particle_map_b_lo_z,
.param .f64 __cudaparm_particle_map_delxinv,
.param .f64 __cudaparm_particle_map_delyinv,
.param .f64 __cudaparm_particle_map_delzinv,
.param .s32 __cudaparm_particle_map_nlocal_x,
.param .s32 __cudaparm_particle_map_nlocal_y,
.param .s32 __cudaparm_particle_map_nlocal_z,
.param .s32 __cudaparm_particle_map_atom_stride,
.param .s32 __cudaparm_particle_map_max_atoms,
.param .u64 __cudaparm_particle_map_error)
{
.reg .u32 %r<50>;
.reg .u64 %rd<12>;
.reg .f32 %f<14>;
.reg .f64 %fd<36>;
.reg .pred %p<11>;
.loc 17 113 0
$LDWbegin_particle_map:
mov.u32 %r1, %ntid.x;
mov.u32 %r2, %ctaid.x;
mul.lo.u32 %r3, %r2, %r1;
mov.u32 %r4, %nctaid.x;
mul.lo.u32 %r5, %r4, %r1;
mov.u32 %r6, %tid.x;
add.u32 %r7, %r6, %r3;
sub.s32 %r8, %r5, 1;
mul.lo.s32 %r9, %r7, 64;
div.s32 %r10, %r9, %r5;
mul.lo.s32 %r11, %r8, %r10;
sub.s32 %r12, %r9, %r11;
ld.param.s32 %r13, [__cudaparm_particle_map_nlocal];
setp.le.s32 %p1, %r13, %r12;
@%p1 bra $Lt_0_7426;
.loc 17 125 0
mov.u32 %r14, %r12;
mov.s32 %r15, 0;
mov.u32 %r16, %r15;
mov.s32 %r17, 0;
mov.u32 %r18, %r17;
mov.s32 %r19, 0;
mov.u32 %r20, %r19;
tex.1d.v4.f32.s32 {%f1,%f2,%f3,%f4},[pos_tex,{%r14,%r16,%r18,%r20}];
mov.f32 %f5, %f1;
mov.f32 %f6, %f2;
mov.f32 %f7, %f3;
.loc 17 127 0
mov.u32 %r21, %r12;
mov.s32 %r22, 0;
mov.u32 %r23, %r22;
mov.s32 %r24, 0;
mov.u32 %r25, %r24;
mov.s32 %r26, 0;
mov.u32 %r27, %r26;
tex.1d.v4.f32.s32 {%f8,%f9,%f10,%f11},[q_tex,{%r21,%r23,%r25,%r27}];
mov.f32 %f12, %f8;
cvt.ftz.f64.f32 %fd1, %f12;
ld.param.f64 %fd2, [__cudaparm_particle_map_delvolinv];
mul.f64 %fd3, %fd1, %fd2;
mov.f64 %fd4, 0d0000000000000000; // 0
setp.neu.f64 %p2, %fd3, %fd4;
@!%p2 bra $Lt_0_7426;
.loc 17 130 0
ld.param.f64 %fd5, [__cudaparm_particle_map_delxinv];
cvt.ftz.f64.f32 %fd6, %f5;
ld.param.f64 %fd7, [__cudaparm_particle_map_b_lo_x];
sub.f64 %fd8, %fd6, %fd7;
mul.f64 %fd9, %fd5, %fd8;
mov.f64 %fd10, 0d0000000000000000; // 0
setp.lt.f64 %p3, %fd9, %fd10;
@%p3 bra $Lt_0_8706;
ld.param.f64 %fd11, [__cudaparm_particle_map_delyinv];
cvt.ftz.f64.f32 %fd12, %f6;
ld.param.f64 %fd13, [__cudaparm_particle_map_b_lo_y];
sub.f64 %fd14, %fd12, %fd13;
mul.f64 %fd15, %fd11, %fd14;
mov.f64 %fd16, 0d0000000000000000; // 0
setp.lt.f64 %p4, %fd15, %fd16;
@%p4 bra $Lt_0_8706;
ld.param.f64 %fd17, [__cudaparm_particle_map_delzinv];
cvt.ftz.f64.f32 %fd18, %f7;
ld.param.f64 %fd19, [__cudaparm_particle_map_b_lo_z];
sub.f64 %fd20, %fd18, %fd19;
mul.f64 %fd21, %fd17, %fd20;
mov.f64 %fd22, 0d0000000000000000; // 0
setp.lt.f64 %p5, %fd21, %fd22;
@%p5 bra $Lt_0_8706;
cvt.rzi.s32.f64 %r28, %fd9;
ld.param.s32 %r29, [__cudaparm_particle_map_nlocal_x];
setp.ge.s32 %p6, %r28, %r29;
@%p6 bra $Lt_0_8706;
cvt.rzi.s32.f64 %r30, %fd15;
ld.param.s32 %r31, [__cudaparm_particle_map_nlocal_y];
setp.ge.s32 %p7, %r30, %r31;
@%p7 bra $Lt_0_8706;
cvt.rzi.s32.f64 %r32, %fd21;
ld.param.s32 %r33, [__cudaparm_particle_map_nlocal_z];
setp.gt.s32 %p8, %r33, %r32;
@%p8 bra $L_0_4866;
$Lt_0_8706:
$L_0_5122:
.loc 17 139 0
mov.s32 %r34, 1;
ld.param.u64 %rd1, [__cudaparm_particle_map_error];
st.global.s32 [%rd1+0], %r34;
bra.uni $Lt_0_7426;
$L_0_4866:
.loc 17 146 0
mul.lo.s32 %r35, %r32, %r31;
add.s32 %r36, %r30, %r35;
mul.lo.s32 %r37, %r36, %r29;
add.s32 %r38, %r28, %r37;
ld.param.u64 %rd2, [__cudaparm_particle_map_counts];
cvt.s64.s32 %rd3, %r38;
mul.wide.s32 %rd4, %r38, 4;
add.u64 %rd5, %rd2, %rd4;
mov.s32 %r39, 1;
atom.global.add.s32 %r40, [%rd5], %r39;
mov.s32 %r41, %r40;
ld.param.s32 %r42, [__cudaparm_particle_map_max_atoms];
setp.gt.s32 %p9, %r42, %r41;
@%p9 bra $Lt_0_7682;
.loc 17 148 0
mov.s32 %r43, 2;
ld.param.u64 %rd6, [__cudaparm_particle_map_error];
st.global.s32 [%rd6+0], %r43;
.loc 16 118 0
mov.s32 %r44, -1;
atom.global.add.s32 %r45, [%rd5], %r44;
bra.uni $Lt_0_7426;
$Lt_0_7682:
.loc 17 151 0
ld.param.u64 %rd7, [__cudaparm_particle_map_ans];
ld.param.s32 %r46, [__cudaparm_particle_map_atom_stride];
mul.lo.s32 %r47, %r46, %r41;
add.s32 %r48, %r38, %r47;
cvt.s64.s32 %rd8, %r48;
mul.wide.s32 %rd9, %r48, 32;
add.u64 %rd10, %rd7, %rd9;
cvt.rn.f64.s32 %fd23, %r28;
mov.f64 %fd24, 0d3fe0000000000000; // 0.5
add.f64 %fd25, %fd23, %fd24;
sub.f64 %fd26, %fd25, %fd9;
cvt.rn.f64.s32 %fd27, %r30;
mov.f64 %fd28, 0d3fe0000000000000; // 0.5
add.f64 %fd29, %fd27, %fd28;
sub.f64 %fd30, %fd29, %fd15;
st.global.v2.f64 [%rd10+0], {%fd26,%fd30};
cvt.rn.f64.s32 %fd31, %r32;
mov.f64 %fd32, 0d3fe0000000000000; // 0.5
add.f64 %fd33, %fd31, %fd32;
sub.f64 %fd34, %fd33, %fd21;
st.global.v2.f64 [%rd10+16], {%fd34,%fd3};
$Lt_0_7426:
$L_0_4610:
$Lt_0_6914:
$Lt_0_6402:
.loc 17 155 0
exit;
$LDWend_particle_map:
} // particle_map
.entry make_rho (
.param .u64 __cudaparm_make_rho_counts,
.param .u64 __cudaparm_make_rho_atoms,
.param .u64 __cudaparm_make_rho_brick,
.param .u64 __cudaparm_make_rho__rho_coeff,
.param .s32 __cudaparm_make_rho_atom_stride,
.param .s32 __cudaparm_make_rho_npts_x,
.param .s32 __cudaparm_make_rho_npts_y,
.param .s32 __cudaparm_make_rho_npts_z,
.param .s32 __cudaparm_make_rho_nlocal_x,
.param .s32 __cudaparm_make_rho_nlocal_y,
.param .s32 __cudaparm_make_rho_nlocal_z,
.param .s32 __cudaparm_make_rho_order_m_1,
.param .s32 __cudaparm_make_rho_order,
.param .s32 __cudaparm_make_rho_order2)
{
.reg .u32 %r<119>;
.reg .u64 %rd<57>;
.reg .f64 %fd<26>;
.reg .pred %p<27>;
.shared .align 8 .b8 __cuda___cuda_local_var_32531_34_non_const_rho_coeff200[512];
.shared .align 8 .b8 __cuda___cuda_local_var_32532_34_non_const_front712[640];
.shared .align 8 .b8 __cuda___cuda_local_var_32533_34_non_const_ans1352[4096];
.loc 17 164 0
$LDWbegin_make_rho:
ld.param.s32 %r1, [__cudaparm_make_rho_order2];
ld.param.s32 %r2, [__cudaparm_make_rho_order];
add.s32 %r3, %r1, %r2;
cvt.s32.u32 %r4, %tid.x;
setp.le.s32 %p1, %r3, %r4;
@%p1 bra $Lt_1_16898;
.loc 17 171 0
mov.u64 %rd1, __cuda___cuda_local_var_32531_34_non_const_rho_coeff200;
cvt.s64.s32 %rd2, %r4;
mul.wide.s32 %rd3, %r4, 8;
ld.param.u64 %rd4, [__cudaparm_make_rho__rho_coeff];
add.u64 %rd5, %rd4, %rd3;
ld.global.f64 %fd1, [%rd5+0];
add.u64 %rd6, %rd3, %rd1;
st.shared.f64 [%rd6+0], %fd1;
$Lt_1_16898:
mov.u64 %rd1, __cuda___cuda_local_var_32531_34_non_const_rho_coeff200;
shr.s32 %r5, %r4, 31;
mov.s32 %r6, 31;
and.b32 %r7, %r5, %r6;
add.s32 %r8, %r7, %r4;
shr.s32 %r9, %r8, 5;
mul.lo.s32 %r10, %r9, 32;
sub.s32 %r11, %r4, %r10;
setp.lt.s32 %p2, %r11, %r2;
@!%p2 bra $Lt_1_17410;
.loc 17 177 0
mov.u64 %rd7, __cuda___cuda_local_var_32532_34_non_const_front712;
mov.f64 %fd2, 0d0000000000000000; // 0
cvt.s64.s32 %rd8, %r11;
shr.s32 %r12, %r4, 31;
mov.s32 %r13, 31;
and.b32 %r14, %r12, %r13;
add.s32 %r15, %r14, %r4;
shr.s32 %r16, %r15, 5;
cvt.s64.s32 %rd9, %r16;
mul.wide.s32 %rd10, %r16, 40;
add.u64 %rd11, %rd8, %rd10;
mul.lo.u64 %rd12, %rd11, 8;
add.u64 %rd13, %rd7, %rd12;
st.shared.f64 [%rd13+256], %fd2;
$Lt_1_17410:
mov.u64 %rd7, __cuda___cuda_local_var_32532_34_non_const_front712;
.loc 17 179 0
bar.sync 0;
ld.param.s32 %r17, [__cudaparm_make_rho_npts_x];
shr.s32 %r18, %r17, 31;
mov.s32 %r19, 31;
and.b32 %r20, %r18, %r19;
add.s32 %r21, %r20, %r17;
shr.s32 %r22, %r21, 5;
add.s32 %r23, %r22, 1;
mov.u32 %r24, 0;
setp.le.s32 %p3, %r23, %r24;
@%p3 bra $Lt_1_17922;
shr.s32 %r25, %r4, 31;
mov.s32 %r26, 31;
and.b32 %r27, %r25, %r26;
add.s32 %r28, %r27, %r4;
shr.s32 %r29, %r28, 5;
add.s32 %r30, %r11, 32;
ld.param.s32 %r31, [__cudaparm_make_rho_nlocal_y];
ld.param.s32 %r32, [__cudaparm_make_rho_nlocal_x];
mul.lo.s32 %r33, %r31, %r32;
mov.u32 %r34, %ctaid.x;
mul.lo.u32 %r35, %r34, 2;
add.u32 %r36, %r29, %r35;
ld.param.s32 %r37, [__cudaparm_make_rho_npts_y];
div.s32 %r38, %r36, %r37;
ld.param.s32 %r39, [__cudaparm_make_rho_order_m_1];
setp.lt.s32 %p4, %r38, %r39;
sub.s32 %r40, %r39, %r38;
mov.s32 %r41, 0;
selp.s32 %r42, %r40, %r41, %p4;
ld.param.s32 %r43, [__cudaparm_make_rho_nlocal_z];
setp.ge.s32 %p5, %r38, %r43;
sub.s32 %r44, %r43, %r38;
add.s32 %r45, %r44, %r2;
sub.s32 %r46, %r45, 1;
selp.s32 %r47, %r46, %r2, %p5;
rem.s32 %r48, %r36, %r37;
setp.lt.s32 %p6, %r48, %r39;
sub.s32 %r49, %r39, %r48;
mov.s32 %r50, 0;
selp.s32 %r51, %r49, %r50, %p6;
setp.ge.s32 %p7, %r48, %r31;
sub.s32 %r52, %r31, %r48;
add.s32 %r53, %r52, %r2;
sub.s32 %r54, %r53, 1;
selp.s32 %r55, %r54, %r2, %p7;
mov.s32 %r56, %r23;
mov.s32 %r57, 0;
setp.gt.s32 %p8, %r2, %r57;
mov.s32 %r58, 0;
cvt.s64.s32 %rd14, %r11;
cvt.s64.s32 %rd15, %r29;
mul.lo.s32 %r59, %r23, 32;
mul.wide.s32 %rd16, %r29, 40;
add.u64 %rd17, %rd14, %rd16;
ld.param.s32 %r60, [__cudaparm_make_rho_npts_z];
setp.gt.s32 %p9, %r60, %r38;
mul.lo.u64 %rd18, %rd17, 8;
selp.s32 %r61, 1, 0, %p9;
add.u64 %rd19, %rd18, %rd7;
mov.u64 %rd20, __cuda___cuda_local_var_32533_34_non_const_ans1352;
mov.s32 %r62, %r56;
$Lt_1_18434:
//<loop> Loop body line 179, nesting depth: 1, estimated iterations: unknown
@!%p8 bra $Lt_1_18690;
mov.s32 %r63, %r2;
cvt.s64.s32 %rd21, %r4;
mul.wide.s32 %rd22, %r4, 8;
add.u64 %rd23, %rd20, %rd22;
mov.s32 %r64, 0;
mov.s32 %r65, %r63;
$Lt_1_19202:
//<loop> Loop body line 179, nesting depth: 2, estimated iterations: unknown
.loc 17 203 0
mov.f64 %fd3, 0d0000000000000000; // 0
st.shared.f64 [%rd23+0], %fd3;
add.s32 %r64, %r64, 1;
add.u64 %rd23, %rd23, 512;
setp.ne.s32 %p10, %r64, %r2;
@%p10 bra $Lt_1_19202;
$Lt_1_18690:
add.s32 %r66, %r11, %r58;
set.lt.u32.s32 %r67, %r66, %r32;
neg.s32 %r68, %r67;
and.b32 %r69, %r61, %r68;
mov.u32 %r70, 0;
setp.eq.s32 %p11, %r69, %r70;
@%p11 bra $Lt_1_20226;
.loc 17 206 0
mov.s32 %r71, %r42;
setp.ge.s32 %p12, %r42, %r47;
@%p12 bra $Lt_1_20226;
sub.s32 %r72, %r47, %r42;
setp.lt.s32 %p13, %r51, %r55;
mov.s32 %r73, %r72;
$Lt_1_20738:
//<loop> Loop body line 206, nesting depth: 2, estimated iterations: unknown
.loc 17 208 0
mov.s32 %r74, %r51;
@!%p13 bra $Lt_1_20994;
sub.s32 %r75, %r55, %r51;
sub.s32 %r76, %r71, %r42;
add.s32 %r77, %r38, %r42;
add.s32 %r78, %r48, %r51;
sub.s32 %r79, %r77, %r39;
sub.s32 %r80, %r78, %r39;
add.s32 %r81, %r76, %r79;
mul.lo.s32 %r82, %r33, %r81;
ld.param.s32 %r83, [__cudaparm_make_rho_atom_stride];
ld.param.u64 %rd24, [__cudaparm_make_rho_counts];
mov.s32 %r84, %r75;
$Lt_1_21506:
//<loop> Loop body line 208, nesting depth: 3, estimated iterations: unknown
.loc 17 210 0
sub.s32 %r85, %r74, %r51;
add.s32 %r86, %r85, %r80;
mul.lo.s32 %r87, %r86, %r32;
add.s32 %r88, %r82, %r87;
add.s32 %r89, %r66, %r88;
cvt.s64.s32 %rd25, %r89;
mul.wide.s32 %rd26, %r89, 4;
add.u64 %rd27, %rd24, %rd26;
ld.global.s32 %r90, [%rd27+0];
mul.lo.s32 %r91, %r90, %r83;
.loc 17 211 0
mov.s32 %r92, %r89;
setp.ge.s32 %p14, %r89, %r91;
@%p14 bra $Lt_1_21762;
sub.s32 %r93, %r3, 1;
cvt.s64.s32 %rd28, %r83;
mul.wide.s32 %rd29, %r83, 32;
mov.s32 %r94, -1;
setp.gt.s32 %p15, %r93, %r94;
ld.param.u64 %rd30, [__cudaparm_make_rho_atoms];
mul.lo.u64 %rd31, %rd25, 32;
add.u64 %rd32, %rd30, %rd31;
$Lt_1_22274:
//<loop> Loop body line 211, nesting depth: 4, estimated iterations: unknown
.loc 17 212 0
ld.global.f64 %fd4, [%rd32+0];
@!%p15 bra $Lt_1_29954;
sub.s32 %r95, %r93, %r74;
mov.s32 %r96, -1;
sub.s32 %r97, %r96, %r74;
cvt.s64.s32 %rd33, %r2;
mul.wide.s32 %rd34, %r2, 8;
ld.global.f64 %fd5, [%rd32+8];
ld.global.f64 %fd6, [%rd32+16];
cvt.s64.s32 %rd35, %r95;
mul.wide.s32 %rd36, %r95, 8;
add.u64 %rd37, %rd1, %rd36;
sub.s32 %r98, %r93, %r71;
cvt.s64.s32 %rd38, %r98;
mul.wide.s32 %rd39, %r98, 8;
add.u64 %rd40, %rd1, %rd39;
mov.f64 %fd7, 0d0000000000000000; // 0
mov.f64 %fd8, 0d0000000000000000; // 0
$Lt_1_23042:
//<loop> Loop body line 212, nesting depth: 5, estimated iterations: unknown
.loc 17 217 0
ld.shared.f64 %fd9, [%rd37+0];
mad.rn.f64 %fd8, %fd8, %fd5, %fd9;
.loc 17 218 0
ld.shared.f64 %fd10, [%rd40+0];
mad.rn.f64 %fd7, %fd7, %fd6, %fd10;
sub.u64 %rd40, %rd40, %rd34;
sub.s32 %r95, %r95, %r2;
sub.u64 %rd37, %rd37, %rd34;
setp.gt.s32 %p16, %r95, %r97;
@%p16 bra $Lt_1_23042;
bra.uni $Lt_1_22530;
$Lt_1_29954:
mov.f64 %fd7, 0d0000000000000000; // 0
mov.f64 %fd8, 0d0000000000000000; // 0
$Lt_1_22530:
.loc 17 220 0
ld.global.f64 %fd11, [%rd32+24];
mul.f64 %fd12, %fd7, %fd8;
mul.f64 %fd13, %fd11, %fd12;
@!%p8 bra $Lt_1_23554;
mov.s32 %r99, %r2;
cvt.s64.s32 %rd41, %r4;
mul.wide.s32 %rd42, %r4, 8;
add.u64 %rd43, %rd20, %rd42;
mov.s32 %r100, 0;
mov.s32 %r101, %r99;
$Lt_1_24066:
//<loop> Loop body line 220, nesting depth: 5, estimated iterations: unknown
.loc 17 224 0
add.s32 %r102, %r100, %r1;
mov.s32 %r103, %r102;
setp.lt.s32 %p17, %r102, %r100;
@%p17 bra $Lt_1_30466;
cvt.s64.s32 %rd44, %r2;
mul.wide.s32 %rd34, %r2, 8;
cvt.s64.s32 %rd45, %r102;
mul.wide.s32 %rd46, %r102, 8;
add.u64 %rd47, %rd1, %rd46;
mov.f64 %fd14, 0d0000000000000000; // 0
$Lt_1_24834:
//<loop> Loop body line 224, nesting depth: 6, estimated iterations: unknown
.loc 17 225 0
ld.shared.f64 %fd15, [%rd47+0];
mad.rn.f64 %fd14, %fd4, %fd14, %fd15;
sub.s32 %r103, %r103, %r2;
sub.u64 %rd47, %rd47, %rd34;
setp.ge.s32 %p18, %r103, %r100;
@%p18 bra $Lt_1_24834;
bra.uni $Lt_1_24322;
$Lt_1_30466:
mov.f64 %fd14, 0d0000000000000000; // 0
$Lt_1_24322:
.loc 17 226 0
ld.shared.f64 %fd16, [%rd43+0];
mad.rn.f64 %fd17, %fd14, %fd13, %fd16;
st.shared.f64 [%rd43+0], %fd17;
add.s32 %r100, %r100, 1;
add.u64 %rd43, %rd43, 512;
setp.ne.s32 %p19, %r100, %r2;
@%p19 bra $Lt_1_24066;
$Lt_1_23554:
add.s32 %r92, %r92, %r83;
add.u64 %rd32, %rd29, %rd32;
setp.gt.s32 %p20, %r91, %r92;
@%p20 bra $Lt_1_22274;
$Lt_1_21762:
add.s32 %r74, %r74, 1;
setp.ne.s32 %p21, %r55, %r74;
@%p21 bra $Lt_1_21506;
$Lt_1_20994:
add.s32 %r71, %r71, 1;
setp.ne.s32 %p22, %r47, %r71;
@%p22 bra $Lt_1_20738;
$Lt_1_20226:
$Lt_1_19714:
.loc 17 235 0
bar.sync 0;
@!%p2 bra $Lt_1_26626;
.loc 17 237 0
ld.shared.f64 %fd18, [%rd19+256];
st.shared.f64 [%rd19+0], %fd18;
.loc 17 238 0
mov.f64 %fd19, 0d0000000000000000; // 0
st.shared.f64 [%rd19+256], %fd19;
bra.uni $Lt_1_26370;
$Lt_1_26626:
.loc 17 240 0
mov.f64 %fd20, 0d0000000000000000; // 0
st.shared.f64 [%rd19+0], %fd20;
$Lt_1_26370:
@!%p8 bra $Lt_1_26882;
mov.s32 %r104, %r2;
cvt.s64.s32 %rd48, %r4;
mov.s32 %r105, %r11;
add.s32 %r106, %r11, %r2;
mul.wide.s32 %rd49, %r4, 8;
add.u64 %rd50, %rd20, %rd49;
mov.s64 %rd51, %rd19;
mov.s32 %r107, %r104;
$Lt_1_27394:
//<loop> Loop body line 240, nesting depth: 2, estimated iterations: unknown
.loc 17 243 0
ld.shared.f64 %fd21, [%rd50+0];
ld.shared.f64 %fd22, [%rd51+0];
add.f64 %fd23, %fd21, %fd22;
st.shared.f64 [%rd51+0], %fd23;
.loc 17 244 0
bar.sync 0;
add.s32 %r105, %r105, 1;
add.u64 %rd51, %rd51, 8;
add.u64 %rd50, %rd50, 512;
setp.ne.s32 %p23, %r105, %r106;
@%p23 bra $Lt_1_27394;
$Lt_1_26882:
set.lt.u32.s32 %r108, %r66, %r17;
neg.s32 %r109, %r108;
and.b32 %r110, %r61, %r109;
mov.u32 %r111, 0;
setp.eq.s32 %p24, %r110, %r111;
@%p24 bra $Lt_1_27906;
.loc 17 248 0
ld.shared.f64 %fd24, [%rd19+0];
ld.param.u64 %rd52, [__cudaparm_make_rho_brick];
add.s32 %r112, %r11, %r58;
mul.lo.s32 %r113, %r37, %r17;
mul.lo.s32 %r114, %r38, %r113;
mul.lo.s32 %r115, %r48, %r17;
add.s32 %r116, %r114, %r115;
add.s32 %r117, %r112, %r116;
cvt.s64.s32 %rd53, %r117;
mul.wide.s32 %rd54, %r117, 8;
add.u64 %rd55, %rd52, %rd54;
st.global.f64 [%rd55+0], %fd24;
$Lt_1_27906:
add.s32 %r58, %r58, 32;
setp.ne.s32 %p25, %r58, %r59;
@%p25 bra $Lt_1_18434;
$Lt_1_17922:
.loc 17 252 0
exit;
$LDWend_make_rho:
} // make_rho
.entry interp (
.param .u64 __cudaparm_interp_x_,
.param .u64 __cudaparm_interp_q_,
.param .s32 __cudaparm_interp_nlocal,
.param .u64 __cudaparm_interp_brick,
.param .u64 __cudaparm_interp__rho_coeff,
.param .s32 __cudaparm_interp_npts_x,
.param .s32 __cudaparm_interp_npts_yx,
.param .f64 __cudaparm_interp_b_lo_x,
.param .f64 __cudaparm_interp_b_lo_y,
.param .f64 __cudaparm_interp_b_lo_z,
.param .f64 __cudaparm_interp_delxinv,
.param .f64 __cudaparm_interp_delyinv,
.param .f64 __cudaparm_interp_delzinv,
.param .s32 __cudaparm_interp_order,
.param .s32 __cudaparm_interp_order2,
.param .f64 __cudaparm_interp_qqrd2e_scale,
.param .u64 __cudaparm_interp_ans)
{
.reg .u32 %r<56>;
.reg .u64 %rd<37>;
.reg .f32 %f<19>;
.reg .f64 %fd<63>;
.reg .pred %p<14>;
.shared .align 8 .b8 __cuda___cuda_local_var_32629_34_non_const_rho_coeff5568[512];
.shared .align 8 .b8 __cuda___cuda_local_var_32630_34_non_const_rho1d_06080[4096];
.shared .align 8 .b8 __cuda___cuda_local_var_32631_34_non_const_rho1d_110176[4096];
// __cuda_local_var_32647_12_non_const_ek = 16
.loc 17 262 0
$LDWbegin_interp:
ld.param.s32 %r1, [__cudaparm_interp_order2];
ld.param.s32 %r2, [__cudaparm_interp_order];
add.s32 %r3, %r1, %r2;
cvt.s32.u32 %r4, %tid.x;
setp.le.s32 %p1, %r3, %r4;
@%p1 bra $Lt_2_8706;
.loc 17 269 0
mov.u64 %rd1, __cuda___cuda_local_var_32629_34_non_const_rho_coeff5568;
cvt.s64.s32 %rd2, %r4;
mul.wide.s32 %rd3, %r4, 8;
ld.param.u64 %rd4, [__cudaparm_interp__rho_coeff];
add.u64 %rd5, %rd4, %rd3;
ld.global.f64 %fd1, [%rd5+0];
add.u64 %rd6, %rd3, %rd1;
st.shared.f64 [%rd6+0], %fd1;
$Lt_2_8706:
mov.u64 %rd1, __cuda___cuda_local_var_32629_34_non_const_rho_coeff5568;
.loc 17 270 0
bar.sync 0;
mov.u32 %r5, %ctaid.x;
mov.u32 %r6, %ntid.x;
mul.lo.u32 %r7, %r5, %r6;
add.u32 %r8, %r4, %r7;
ld.param.s32 %r9, [__cudaparm_interp_nlocal];
setp.le.s32 %p2, %r9, %r8;
@%p2 bra $Lt_2_9218;
.loc 17 278 0
mov.u32 %r10, %r8;
mov.s32 %r11, 0;
mov.u32 %r12, %r11;
mov.s32 %r13, 0;
mov.u32 %r14, %r13;
mov.s32 %r15, 0;
mov.u32 %r16, %r15;
tex.1d.v4.f32.s32 {%f1,%f2,%f3,%f4},[pos_tex,{%r10,%r12,%r14,%r16}];
mov.f32 %f5, %f1;
mov.f32 %f6, %f2;
mov.f32 %f7, %f3;
.loc 17 279 0
mov.u32 %r17, %r8;
mov.s32 %r18, 0;
mov.u32 %r19, %r18;
mov.s32 %r20, 0;
mov.u32 %r21, %r20;
mov.s32 %r22, 0;
mov.u32 %r23, %r22;
tex.1d.v4.f32.s32 {%f8,%f9,%f10,%f11},[q_tex,{%r17,%r19,%r21,%r23}];
mov.f32 %f12, %f8;
cvt.ftz.f64.f32 %fd2, %f12;
ld.param.f64 %fd3, [__cudaparm_interp_qqrd2e_scale];
mul.f64 %fd4, %fd2, %fd3;
mov.f64 %fd5, 0d0000000000000000; // 0
setp.neu.f64 %p3, %fd4, %fd5;
@!%p3 bra $Lt_2_9986;
mov.s32 %r24, 0;
setp.gt.s32 %p4, %r2, %r24;
ld.param.f64 %fd6, [__cudaparm_interp_delxinv];
cvt.ftz.f64.f32 %fd7, %f5;
ld.param.f64 %fd8, [__cudaparm_interp_b_lo_x];
sub.f64 %fd9, %fd7, %fd8;
mul.f64 %fd10, %fd6, %fd9;
@!%p4 bra $Lt_2_16386;
mov.u64 %rd7, __cuda___cuda_local_var_32630_34_non_const_rho1d_06080;
mov.u64 %rd8, __cuda___cuda_local_var_32631_34_non_const_rho1d_110176;
cvt.rzi.s32.f64 %r25, %fd10;
cvt.rn.f64.s32 %fd11, %r25;
mov.f64 %fd12, 0d3fe0000000000000; // 0.5
add.f64 %fd13, %fd11, %fd12;
sub.f64 %fd14, %fd13, %fd10;
ld.param.f64 %fd15, [__cudaparm_interp_delyinv];
cvt.ftz.f64.f32 %fd16, %f6;
ld.param.f64 %fd17, [__cudaparm_interp_b_lo_y];
sub.f64 %fd18, %fd16, %fd17;
mul.f64 %fd19, %fd15, %fd18;
cvt.rzi.s32.f64 %r26, %fd19;
cvt.rn.f64.s32 %fd20, %r26;
mov.f64 %fd21, 0d3fe0000000000000; // 0.5
add.f64 %fd22, %fd20, %fd21;
sub.f64 %fd23, %fd22, %fd19;
mov.s32 %r27, %r2;
cvt.s64.s32 %rd9, %r4;
mov.s32 %r28, %r1;
mul.wide.s32 %rd3, %r4, 8;
add.u64 %rd10, %rd3, %rd7;
add.u64 %rd11, %rd3, %rd8;
mov.s32 %r29, 0;
mov.s32 %r30, %r27;
$Lt_2_10754:
//<loop> Loop body line 279, nesting depth: 1, estimated iterations: unknown
.loc 17 298 0
mov.f64 %fd24, 0d0000000000000000; // 0
mov.f64 %fd25, 0d0000000000000000; // 0
st.shared.f64 [%rd10+0], %fd25;
.loc 17 299 0
mov.f64 %fd26, 0d0000000000000000; // 0
mov.f64 %fd27, 0d0000000000000000; // 0
st.shared.f64 [%rd11+0], %fd27;
.loc 17 300 0
mov.s32 %r31, %r28;
setp.lt.s32 %p5, %r28, %r29;
@%p5 bra $Lt_2_11010;
cvt.s64.s32 %rd12, %r2;
mul.wide.s32 %rd13, %r2, 8;
cvt.s64.s32 %rd14, %r28;
mul.wide.s32 %rd15, %r28, 8;
add.u64 %rd16, %rd1, %rd15;
$Lt_2_11522:
//<loop> Loop body line 300, nesting depth: 2, estimated iterations: unknown
.loc 17 301 0
ld.shared.f64 %fd28, [%rd16+0];
mad.rn.f64 %fd24, %fd24, %fd14, %fd28;
st.shared.f64 [%rd10+0], %fd24;
.loc 17 302 0
mad.rn.f64 %fd26, %fd26, %fd23, %fd28;
st.shared.f64 [%rd11+0], %fd26;
sub.s32 %r31, %r31, %r2;
sub.u64 %rd16, %rd16, %rd13;
setp.ge.s32 %p6, %r31, %r29;
@%p6 bra $Lt_2_11522;
$Lt_2_11010:
add.s32 %r29, %r29, 1;
add.s32 %r28, %r28, 1;
add.u64 %rd11, %rd11, 512;
add.u64 %rd10, %rd10, 512;
setp.ne.s32 %p7, %r28, %r3;
@%p7 bra $Lt_2_10754;
bra.uni $Lt_2_10242;
$Lt_2_16386:
cvt.rzi.s32.f64 %r25, %fd10;
mov.u64 %rd8, __cuda___cuda_local_var_32631_34_non_const_rho1d_110176;
mov.u64 %rd7, __cuda___cuda_local_var_32630_34_non_const_rho1d_06080;
$Lt_2_10242:
.loc 17 306 0
ld.param.f64 %fd29, [__cudaparm_interp_delzinv];
cvt.ftz.f64.f32 %fd30, %f7;
ld.param.f64 %fd31, [__cudaparm_interp_b_lo_z];
sub.f64 %fd32, %fd30, %fd31;
mul.f64 %fd33, %fd29, %fd32;
cvt.rzi.s32.f64 %r32, %fd33;
ld.param.s32 %r33, [__cudaparm_interp_npts_yx];
mul.lo.s32 %r34, %r32, %r33;
add.s32 %r35, %r25, %r34;
@!%p4 bra $Lt_2_16898;
cvt.rn.f64.s32 %fd34, %r32;
mov.f64 %fd35, 0d3fe0000000000000; // 0.5
add.f64 %fd36, %fd34, %fd35;
sub.f64 %fd37, %fd36, %fd33;
mov.s32 %r36, %r2;
cvt.ftz.f64.f32 %fd38, %f6;
cvt.s64.s32 %rd17, %r4;
ld.param.f64 %fd39, [__cudaparm_interp_delyinv];
ld.param.f64 %fd40, [__cudaparm_interp_b_lo_y];
sub.f64 %fd41, %fd38, %fd40;
mul.f64 %fd42, %fd39, %fd41;
cvt.rzi.s32.f64 %r37, %fd42;
mul.wide.s32 %rd3, %r4, 8;
ld.param.s32 %r38, [__cudaparm_interp_npts_x];
mul.lo.s32 %r39, %r37, %r38;
add.u64 %rd18, %rd3, %rd7;
add.u64 %rd19, %rd3, %rd8;
cvt.s64.s32 %rd20, %r38;
mul.wide.s32 %rd21, %r38, 32;
add.s32 %r40, %r39, %r35;
mov.s32 %r41, %r40;
ld.param.u64 %rd22, [__cudaparm_interp_brick];
mov.s32 %r42, 0;
mov.f32 %f13, 0f00000000; // 0
mov.f32 %f14, 0f00000000; // 0
mov.f32 %f15, 0f00000000; // 0
mov.s32 %r43, %r36;
$Lt_2_12802:
//<loop> Loop body line 306, nesting depth: 1, estimated iterations: unknown
.loc 17 309 0
add.s32 %r44, %r42, %r1;
mov.s32 %r45, %r44;
setp.lt.s32 %p8, %r44, %r42;
@%p8 bra $Lt_2_17154;
cvt.s64.s32 %rd23, %r2;
mul.wide.s32 %rd13, %r2, 8;
cvt.s64.s32 %rd24, %r44;
mul.wide.s32 %rd25, %r44, 8;
add.u64 %rd26, %rd1, %rd25;
mov.f64 %fd43, 0d0000000000000000; // 0
$Lt_2_13570:
//<loop> Loop body line 309, nesting depth: 2, estimated iterations: unknown
.loc 17 310 0
ld.shared.f64 %fd44, [%rd26+0];
mad.rn.f64 %fd43, %fd37, %fd43, %fd44;
sub.s32 %r45, %r45, %r2;
sub.u64 %rd26, %rd26, %rd13;
setp.ge.s32 %p9, %r45, %r42;
@%p9 bra $Lt_2_13570;
bra.uni $Lt_2_13058;
$Lt_2_17154:
mov.f64 %fd43, 0d0000000000000000; // 0
$Lt_2_13058:
.loc 17 312 0
mov.s32 %r46, %r41;
mov.s32 %r47, %r2;
mov.s32 %r48, %r46;
mul.f64 %fd45, %fd4, %fd43;
mov.s64 %rd27, %rd19;
cvt.s64.s32 %rd28, %r46;
mul.wide.s32 %rd29, %r46, 32;
mov.s32 %r49, 0;
mov.s32 %r50, %r47;
$Lt_2_14594:
//<loop> Loop body line 312, nesting depth: 2, estimated iterations: unknown
mov.s32 %r51, %r2;
mov.s32 %r52, %r48;
add.s32 %r53, %r48, %r2;
mov.s64 %rd30, %rd18;
ld.shared.f64 %fd46, [%rd27+0];
add.u64 %rd31, %rd29, %rd22;
mul.f64 %fd47, %fd45, %fd46;
mov.s32 %r54, %r51;
$Lt_2_15362:
//<loop> Loop body line 312, nesting depth: 3, estimated iterations: unknown
.loc 17 316 0
ld.shared.f64 %fd48, [%rd30+0];
mul.f64 %fd49, %fd48, %fd47;
.loc 17 318 0
cvt.ftz.f64.f32 %fd50, %f15;
ld.global.v2.f64 {%fd51,%fd52}, [%rd31+0];
mul.f64 %fd53, %fd49, %fd51;
sub.f64 %fd54, %fd50, %fd53;
cvt.rn.ftz.f32.f64 %f15, %fd54;
.loc 17 319 0
cvt.ftz.f64.f32 %fd55, %f14;
mul.f64 %fd56, %fd49, %fd52;
sub.f64 %fd57, %fd55, %fd56;
cvt.rn.ftz.f32.f64 %f14, %fd57;
.loc 17 320 0
cvt.ftz.f64.f32 %fd58, %f13;
ld.global.f64 %fd59, [%rd31+16];
mul.f64 %fd60, %fd49, %fd59;
sub.f64 %fd61, %fd58, %fd60;
cvt.rn.ftz.f32.f64 %f13, %fd61;
add.s32 %r52, %r52, 1;
add.u64 %rd31, %rd31, 32;
add.u64 %rd30, %rd30, 512;
setp.ne.s32 %p10, %r52, %r53;
@%p10 bra $Lt_2_15362;
add.s32 %r49, %r49, 1;
add.s32 %r48, %r48, %r38;
add.u64 %rd29, %rd29, %rd21;
add.u64 %rd27, %rd27, 512;
setp.ne.s32 %p11, %r49, %r2;
@%p11 bra $Lt_2_14594;
add.s32 %r42, %r42, 1;
add.s32 %r41, %r46, %r33;
setp.ne.s32 %p12, %r42, %r2;
@%p12 bra $Lt_2_12802;
bra.uni $Lt_2_9730;
$Lt_2_16898:
mov.f32 %f13, 0f00000000; // 0
mov.f32 %f14, 0f00000000; // 0
mov.f32 %f15, 0f00000000; // 0
bra.uni $Lt_2_9730;
$Lt_2_9986:
mov.f32 %f13, 0f00000000; // 0
mov.f32 %f14, 0f00000000; // 0
mov.f32 %f15, 0f00000000; // 0
$Lt_2_9730:
.loc 17 327 0
ld.param.u64 %rd32, [__cudaparm_interp_ans];
cvt.s64.s32 %rd33, %r8;
mul.wide.s32 %rd34, %r8, 16;
add.u64 %rd35, %rd32, %rd34;
mov.f32 %f16, %f17;
st.global.v4.f32 [%rd35+0], {%f15,%f14,%f13,%f16};
$Lt_2_9218:
.loc 17 329 0
exit;
$LDWend_interp:
} // interp