Files
lammps/lib/gpu/ljc_cut_gpu_kernel.ptx

1147 lines
33 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_0000be65_00000000-9_ljc_cut_gpu_kernel.cpp3.i (/home/sjplimp/ccBI#.y5QnHe)
//-----------------------------------------------------------
//-----------------------------------------------------------
// 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_0000be65_00000000-8_ljc_cut_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 "ljc_cut_gpu_kernel.cu"
.file 17 "/usr/local/cuda/include/common_functions.h"
.file 18 "/usr/local/cuda/include/math_functions.h"
.file 19 "/usr/local/cuda/include/math_constants.h"
.file 20 "/usr/local/cuda/include/device_functions.h"
.file 21 "/usr/local/cuda/include/sm_11_atomic_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 kernel_pair (
.param .u64 __cudaparm_kernel_pair_x_,
.param .u64 __cudaparm_kernel_pair_lj1,
.param .u64 __cudaparm_kernel_pair_lj3,
.param .s32 __cudaparm_kernel_pair_lj_types,
.param .u64 __cudaparm_kernel_pair_sp_lj_in,
.param .u64 __cudaparm_kernel_pair_dev_nbor,
.param .u64 __cudaparm_kernel_pair_dev_packed,
.param .u64 __cudaparm_kernel_pair_ans,
.param .u64 __cudaparm_kernel_pair_engv,
.param .s32 __cudaparm_kernel_pair_eflag,
.param .s32 __cudaparm_kernel_pair_vflag,
.param .s32 __cudaparm_kernel_pair_inum,
.param .s32 __cudaparm_kernel_pair_nbor_pitch,
.param .u64 __cudaparm_kernel_pair_q_,
.param .u64 __cudaparm_kernel_pair_cutsq,
.param .f32 __cudaparm_kernel_pair_qqrd2e,
.param .s32 __cudaparm_kernel_pair_t_per_atom)
{
.reg .u32 %r<86>;
.reg .u64 %rd<66>;
.reg .f32 %f<130>;
.reg .pred %p<21>;
.shared .align 16 .b8 __cuda___cuda_local_var_32498_33_non_const_sp_lj112[32];
.shared .align 4 .b8 __cuda___cuda_local_var_32603_35_non_const_red_acc144[3072];
// __cuda_local_var_32510_10_non_const_f = 48
// __cuda_local_var_32514_9_non_const_virial = 16
// __cuda_local_var_32562_43_non_const_r6inv = 40
.loc 16 100 0
$LDWbegin_kernel_pair:
.loc 16 107 0
ld.param.u64 %rd1, [__cudaparm_kernel_pair_sp_lj_in];
ldu.global.f32 %f1, [%rd1+0];
.loc 16 108 0
ld.global.f32 %f2, [%rd1+4];
.loc 16 109 0
ld.global.f32 %f3, [%rd1+8];
.loc 16 110 0
ld.global.f32 %f4, [%rd1+12];
st.shared.v4.f32 [__cuda___cuda_local_var_32498_33_non_const_sp_lj112+0], {%f1,%f2,%f3,%f4};
.loc 16 111 0
ld.global.f32 %f5, [%rd1+16];
.loc 16 112 0
ld.global.f32 %f6, [%rd1+20];
.loc 16 113 0
ld.global.f32 %f7, [%rd1+24];
.loc 16 114 0
ld.global.f32 %f8, [%rd1+28];
st.shared.v4.f32 [__cuda___cuda_local_var_32498_33_non_const_sp_lj112+16], {%f5,%f6,%f7,%f8};
.loc 16 124 0
mov.f32 %f9, 0f00000000; // 0
mov.f32 %f10, %f9;
mov.f32 %f11, 0f00000000; // 0
mov.f32 %f12, %f11;
mov.f32 %f13, 0f00000000; // 0
mov.f32 %f14, %f13;
mov.f32 %f15, 0f00000000; // 0
mov.f32 %f16, %f15;
mov.f32 %f17, 0f00000000; // 0
mov.f32 %f18, %f17;
mov.f32 %f19, 0f00000000; // 0
mov.f32 %f20, %f19;
ld.param.s32 %r1, [__cudaparm_kernel_pair_t_per_atom];
cvt.s32.u32 %r2, %tid.x;
div.s32 %r3, %r2, %r1;
cvt.s32.u32 %r4, %ntid.x;
div.s32 %r5, %r4, %r1;
rem.s32 %r6, %r2, %r1;
cvt.s32.u32 %r7, %ctaid.x;
mul.lo.s32 %r8, %r7, %r5;
add.s32 %r9, %r3, %r8;
ld.param.s32 %r10, [__cudaparm_kernel_pair_inum];
setp.lt.s32 %p1, %r9, %r10;
@!%p1 bra $Lt_0_21506;
.loc 16 128 0
cvt.s64.s32 %rd2, %r9;
mul.wide.s32 %rd3, %r9, 4;
ld.param.u64 %rd4, [__cudaparm_kernel_pair_dev_nbor];
add.u64 %rd5, %rd3, %rd4;
ld.global.s32 %r11, [%rd5+0];
.loc 16 130 0
ld.param.s32 %r12, [__cudaparm_kernel_pair_nbor_pitch];
cvt.s64.s32 %rd6, %r12;
mul.wide.s32 %rd7, %r12, 4;
add.u64 %rd8, %rd7, %rd5;
ld.global.s32 %r13, [%rd8+0];
add.u64 %rd9, %rd7, %rd8;
ld.param.u64 %rd10, [__cudaparm_kernel_pair_dev_packed];
setp.ne.u64 %p2, %rd10, %rd4;
@%p2 bra $Lt_0_22018;
.loc 16 136 0
cvt.s32.s64 %r14, %rd6;
mul.lo.s32 %r15, %r14, %r13;
cvt.s64.s32 %rd11, %r15;
mul.wide.s32 %rd12, %r15, 4;
add.u64 %rd13, %rd9, %rd12;
.loc 16 137 0
mul.lo.s32 %r16, %r6, %r14;
cvt.s64.s32 %rd14, %r16;
mul.wide.s32 %rd15, %r16, 4;
add.u64 %rd16, %rd9, %rd15;
.loc 16 138 0
mul.lo.s32 %r17, %r14, %r1;
bra.uni $Lt_0_21762;
$Lt_0_22018:
.loc 16 140 0
ld.global.s32 %r18, [%rd9+0];
cvt.s64.s32 %rd17, %r18;
mul.wide.s32 %rd18, %r18, 4;
add.u64 %rd19, %rd10, %rd18;
.loc 16 141 0
cvt.s64.s32 %rd20, %r13;
mul.wide.s32 %rd21, %r13, 4;
add.u64 %rd13, %rd19, %rd21;
.loc 16 142 0
mov.s32 %r17, %r1;
.loc 16 143 0
cvt.s64.s32 %rd22, %r6;
mul.wide.s32 %rd23, %r6, 4;
add.u64 %rd16, %rd19, %rd23;
$Lt_0_21762:
.loc 16 146 0
mov.u32 %r19, %r11;
mov.s32 %r20, 0;
mov.u32 %r21, %r20;
mov.s32 %r22, 0;
mov.u32 %r23, %r22;
mov.s32 %r24, 0;
mov.u32 %r25, %r24;
tex.1d.v4.f32.s32 {%f21,%f22,%f23,%f24},[pos_tex,{%r19,%r21,%r23,%r25}];
mov.f32 %f25, %f21;
mov.f32 %f26, %f22;
mov.f32 %f27, %f23;
mov.f32 %f28, %f24;
.loc 16 147 0
mov.u32 %r26, %r11;
mov.s32 %r27, 0;
mov.u32 %r28, %r27;
mov.s32 %r29, 0;
mov.u32 %r30, %r29;
mov.s32 %r31, 0;
mov.u32 %r32, %r31;
tex.1d.v4.f32.s32 {%f29,%f30,%f31,%f32},[q_tex,{%r26,%r28,%r30,%r32}];
mov.f32 %f33, %f29;
setp.ge.u64 %p3, %rd16, %rd13;
@%p3 bra $Lt_0_32002;
cvt.rzi.ftz.s32.f32 %r33, %f28;
cvt.s64.s32 %rd24, %r17;
ld.param.s32 %r34, [__cudaparm_kernel_pair_lj_types];
mul.lo.s32 %r35, %r34, %r33;
ld.param.u64 %rd25, [__cudaparm_kernel_pair_cutsq];
mov.f32 %f34, 0f00000000; // 0
mov.f32 %f35, 0f00000000; // 0
mov.f32 %f36, 0f00000000; // 0
mov.f32 %f37, 0f00000000; // 0
mov.f32 %f38, 0f00000000; // 0
mov.u64 %rd26, __cuda___cuda_local_var_32498_33_non_const_sp_lj112;
$Lt_0_22786:
//<loop> Loop body line 147, nesting depth: 1, estimated iterations: unknown
.loc 16 151 0
ld.global.s32 %r36, [%rd16+0];
.loc 16 154 0
shr.s32 %r37, %r36, 30;
and.b32 %r38, %r37, 3;
cvt.s64.s32 %rd27, %r38;
mul.wide.s32 %rd28, %r38, 4;
add.u64 %rd29, %rd26, %rd28;
ld.shared.f32 %f39, [%rd29+0];
.loc 16 158 0
and.b32 %r39, %r36, 1073741823;
mov.u32 %r40, %r39;
mov.s32 %r41, 0;
mov.u32 %r42, %r41;
mov.s32 %r43, 0;
mov.u32 %r44, %r43;
mov.s32 %r45, 0;
mov.u32 %r46, %r45;
tex.1d.v4.f32.s32 {%f40,%f41,%f42,%f43},[pos_tex,{%r40,%r42,%r44,%r46}];
mov.f32 %f44, %f40;
mov.f32 %f45, %f41;
mov.f32 %f46, %f42;
mov.f32 %f47, %f43;
cvt.rzi.ftz.s32.f32 %r47, %f47;
sub.ftz.f32 %f48, %f26, %f45;
sub.ftz.f32 %f49, %f25, %f44;
sub.ftz.f32 %f50, %f27, %f46;
mul.ftz.f32 %f51, %f48, %f48;
fma.rn.ftz.f32 %f52, %f49, %f49, %f51;
add.s32 %r48, %r47, %r35;
cvt.s64.s32 %rd30, %r48;
fma.rn.ftz.f32 %f53, %f50, %f50, %f52;
mul.wide.s32 %rd31, %r48, 4;
add.u64 %rd32, %rd25, %rd31;
ld.global.f32 %f54, [%rd32+0];
setp.gt.ftz.f32 %p4, %f54, %f53;
@!%p4 bra $Lt_0_25602;
mul.lo.u64 %rd33, %rd30, 16;
rcp.approx.ftz.f32 %f55, %f53;
ld.param.u64 %rd34, [__cudaparm_kernel_pair_lj1];
add.u64 %rd35, %rd34, %rd33;
ld.global.f32 %f56, [%rd35+8];
setp.lt.ftz.f32 %p5, %f53, %f56;
@!%p5 bra $Lt_0_23810;
.loc 16 173 0
mul.ftz.f32 %f57, %f55, %f55;
mul.ftz.f32 %f58, %f55, %f57;
mov.f32 %f59, %f58;
.loc 16 174 0
mul.ftz.f32 %f60, %f58, %f39;
ld.global.v2.f32 {%f61,%f62}, [%rd35+0];
mul.ftz.f32 %f63, %f61, %f58;
sub.ftz.f32 %f64, %f63, %f62;
mul.ftz.f32 %f65, %f60, %f64;
bra.uni $Lt_0_23554;
$Lt_0_23810:
.loc 16 176 0
mov.f32 %f65, 0f00000000; // 0
$Lt_0_23554:
ld.global.f32 %f66, [%rd35+12];
setp.gt.ftz.f32 %p6, %f66, %f53;
@!%p6 bra $Lt_0_24322;
.loc 16 179 0
mov.u32 %r49, %r39;
mov.s32 %r50, 0;
mov.u32 %r51, %r50;
mov.s32 %r52, 0;
mov.u32 %r53, %r52;
mov.s32 %r54, 0;
mov.u32 %r55, %r54;
tex.1d.v4.f32.s32 {%f67,%f68,%f69,%f70},[q_tex,{%r49,%r51,%r53,%r55}];
mov.f32 %f71, %f67;
ld.shared.f32 %f72, [%rd29+16];
ld.param.f32 %f73, [__cudaparm_kernel_pair_qqrd2e];
mul.ftz.f32 %f74, %f73, %f33;
mul.ftz.f32 %f75, %f71, %f74;
sqrt.approx.ftz.f32 %f76, %f55;
mul.ftz.f32 %f77, %f75, %f76;
mul.ftz.f32 %f78, %f72, %f77;
bra.uni $Lt_0_24066;
$Lt_0_24322:
.loc 16 181 0
mov.f32 %f78, 0f00000000; // 0
$Lt_0_24066:
.loc 16 185 0
add.ftz.f32 %f79, %f78, %f65;
mul.ftz.f32 %f80, %f79, %f55;
fma.rn.ftz.f32 %f36, %f49, %f80, %f36;
.loc 16 186 0
fma.rn.ftz.f32 %f35, %f48, %f80, %f35;
.loc 16 187 0
fma.rn.ftz.f32 %f34, %f50, %f80, %f34;
ld.param.s32 %r56, [__cudaparm_kernel_pair_eflag];
mov.u32 %r57, 0;
setp.le.s32 %p7, %r56, %r57;
@%p7 bra $Lt_0_25090;
.loc 16 190 0
add.ftz.f32 %f37, %f78, %f37;
@!%p5 bra $Lt_0_25090;
.loc 16 193 0
ld.param.u64 %rd36, [__cudaparm_kernel_pair_lj3];
add.u64 %rd37, %rd36, %rd33;
mov.f32 %f81, %f59;
ld.global.v4.f32 {%f82,%f83,%f84,_}, [%rd37+0];
mul.ftz.f32 %f85, %f82, %f81;
sub.ftz.f32 %f86, %f85, %f83;
mul.ftz.f32 %f87, %f81, %f86;
sub.ftz.f32 %f88, %f87, %f84;
fma.rn.ftz.f32 %f38, %f39, %f88, %f38;
$Lt_0_25090:
$Lt_0_24578:
ld.param.s32 %r58, [__cudaparm_kernel_pair_vflag];
mov.u32 %r59, 0;
setp.le.s32 %p8, %r58, %r59;
@%p8 bra $Lt_0_25602;
.loc 16 197 0
mov.f32 %f89, %f10;
mul.ftz.f32 %f90, %f49, %f49;
fma.rn.ftz.f32 %f91, %f80, %f90, %f89;
mov.f32 %f10, %f91;
.loc 16 198 0
mov.f32 %f92, %f12;
fma.rn.ftz.f32 %f93, %f80, %f51, %f92;
mov.f32 %f12, %f93;
.loc 16 199 0
mov.f32 %f94, %f14;
mul.ftz.f32 %f95, %f50, %f50;
fma.rn.ftz.f32 %f96, %f80, %f95, %f94;
mov.f32 %f14, %f96;
.loc 16 200 0
mov.f32 %f97, %f16;
mul.ftz.f32 %f98, %f48, %f49;
fma.rn.ftz.f32 %f99, %f80, %f98, %f97;
mov.f32 %f16, %f99;
.loc 16 201 0
mov.f32 %f100, %f18;
mul.ftz.f32 %f101, %f49, %f50;
fma.rn.ftz.f32 %f102, %f80, %f101, %f100;
mov.f32 %f18, %f102;
.loc 16 202 0
mul.ftz.f32 %f103, %f48, %f50;
fma.rn.ftz.f32 %f19, %f80, %f103, %f19;
mov.f32 %f20, %f19;
$Lt_0_25602:
$Lt_0_23042:
.loc 16 150 0
mul.lo.u64 %rd38, %rd24, 4;
add.u64 %rd16, %rd16, %rd38;
setp.lt.u64 %p9, %rd16, %rd13;
@%p9 bra $Lt_0_22786;
bra.uni $Lt_0_21250;
$Lt_0_32002:
mov.f32 %f34, 0f00000000; // 0
mov.f32 %f35, 0f00000000; // 0
mov.f32 %f36, 0f00000000; // 0
mov.f32 %f37, 0f00000000; // 0
mov.f32 %f38, 0f00000000; // 0
bra.uni $Lt_0_21250;
$Lt_0_21506:
mov.f32 %f34, 0f00000000; // 0
mov.f32 %f35, 0f00000000; // 0
mov.f32 %f36, 0f00000000; // 0
mov.f32 %f37, 0f00000000; // 0
mov.f32 %f38, 0f00000000; // 0
$Lt_0_21250:
mov.u32 %r60, 1;
setp.le.s32 %p10, %r1, %r60;
@%p10 bra $Lt_0_28418;
.loc 16 213 0
mov.u64 %rd39, __cuda___cuda_local_var_32603_35_non_const_red_acc144;
cvt.s64.s32 %rd40, %r2;
mul.wide.s32 %rd41, %r2, 4;
add.u64 %rd42, %rd39, %rd41;
mov.f32 %f104, %f36;
st.shared.f32 [%rd42+0], %f104;
.loc 16 214 0
mov.f32 %f105, %f35;
st.shared.f32 [%rd42+512], %f105;
.loc 16 215 0
mov.f32 %f106, %f34;
st.shared.f32 [%rd42+1024], %f106;
.loc 16 216 0
mov.f32 %f107, %f38;
st.shared.f32 [%rd42+1536], %f107;
.loc 16 217 0
mov.f32 %f108, %f37;
st.shared.f32 [%rd42+2048], %f108;
.loc 16 219 0
shr.s32 %r61, %r1, 31;
mov.s32 %r62, 1;
and.b32 %r63, %r61, %r62;
add.s32 %r64, %r63, %r1;
shr.s32 %r65, %r64, 1;
mov.s32 %r66, %r65;
mov.u32 %r67, 0;
setp.ne.u32 %p11, %r65, %r67;
@!%p11 bra $Lt_0_26882;
$Lt_0_27394:
setp.ge.u32 %p12, %r6, %r66;
@%p12 bra $Lt_0_27650;
.loc 16 222 0
add.u32 %r68, %r2, %r66;
cvt.u64.u32 %rd43, %r68;
mul.wide.u32 %rd44, %r68, 4;
add.u64 %rd45, %rd39, %rd44;
ld.shared.f32 %f109, [%rd45+0];
add.ftz.f32 %f104, %f109, %f104;
st.shared.f32 [%rd42+0], %f104;
ld.shared.f32 %f110, [%rd45+512];
add.ftz.f32 %f105, %f110, %f105;
st.shared.f32 [%rd42+512], %f105;
ld.shared.f32 %f111, [%rd45+1024];
add.ftz.f32 %f106, %f111, %f106;
st.shared.f32 [%rd42+1024], %f106;
ld.shared.f32 %f112, [%rd45+1536];
add.ftz.f32 %f107, %f112, %f107;
st.shared.f32 [%rd42+1536], %f107;
ld.shared.f32 %f113, [%rd45+2048];
add.ftz.f32 %f108, %f113, %f108;
st.shared.f32 [%rd42+2048], %f108;
$Lt_0_27650:
.loc 16 219 0
shr.u32 %r66, %r66, 1;
mov.u32 %r69, 0;
setp.ne.u32 %p13, %r66, %r69;
@%p13 bra $Lt_0_27394;
$Lt_0_26882:
.loc 16 226 0
mov.f32 %f36, %f104;
.loc 16 227 0
mov.f32 %f35, %f105;
.loc 16 228 0
mov.f32 %f34, %f106;
.loc 16 229 0
mov.f32 %f38, %f107;
.loc 16 230 0
mov.f32 %f37, %f108;
ld.param.s32 %r70, [__cudaparm_kernel_pair_vflag];
mov.u32 %r71, 0;
setp.le.s32 %p14, %r70, %r71;
@%p14 bra $Lt_0_28418;
.loc 16 234 0
mov.f32 %f104, %f10;
st.shared.f32 [%rd42+0], %f104;
mov.f32 %f105, %f12;
st.shared.f32 [%rd42+512], %f105;
mov.f32 %f106, %f14;
st.shared.f32 [%rd42+1024], %f106;
mov.f32 %f107, %f16;
st.shared.f32 [%rd42+1536], %f107;
mov.f32 %f108, %f18;
st.shared.f32 [%rd42+2048], %f108;
mov.f32 %f114, %f20;
st.shared.f32 [%rd42+2560], %f114;
.loc 16 236 0
mov.s32 %r72, %r65;
@!%p11 bra $Lt_0_28930;
$Lt_0_29442:
setp.ge.u32 %p15, %r6, %r72;
@%p15 bra $Lt_0_29698;
.loc 16 239 0
add.u32 %r73, %r2, %r72;
cvt.u64.u32 %rd46, %r73;
mul.wide.u32 %rd47, %r73, 4;
add.u64 %rd48, %rd39, %rd47;
ld.shared.f32 %f115, [%rd48+0];
add.ftz.f32 %f104, %f115, %f104;
st.shared.f32 [%rd42+0], %f104;
ld.shared.f32 %f116, [%rd48+512];
add.ftz.f32 %f105, %f116, %f105;
st.shared.f32 [%rd42+512], %f105;
ld.shared.f32 %f117, [%rd48+1024];
add.ftz.f32 %f106, %f117, %f106;
st.shared.f32 [%rd42+1024], %f106;
ld.shared.f32 %f118, [%rd48+1536];
add.ftz.f32 %f107, %f118, %f107;
st.shared.f32 [%rd42+1536], %f107;
ld.shared.f32 %f119, [%rd48+2048];
add.ftz.f32 %f108, %f119, %f108;
st.shared.f32 [%rd42+2048], %f108;
ld.shared.f32 %f120, [%rd48+2560];
add.ftz.f32 %f114, %f120, %f114;
st.shared.f32 [%rd42+2560], %f114;
$Lt_0_29698:
.loc 16 236 0
shr.u32 %r72, %r72, 1;
mov.u32 %r74, 0;
setp.ne.u32 %p16, %r72, %r74;
@%p16 bra $Lt_0_29442;
$Lt_0_28930:
.loc 16 244 0
mov.f32 %f10, %f104;
mov.f32 %f12, %f105;
mov.f32 %f14, %f106;
mov.f32 %f16, %f107;
mov.f32 %f18, %f108;
mov.f32 %f20, %f114;
$Lt_0_28418:
$Lt_0_26370:
selp.s32 %r75, 1, 0, %p1;
mov.s32 %r76, 0;
set.eq.u32.s32 %r77, %r6, %r76;
neg.s32 %r78, %r77;
and.b32 %r79, %r75, %r78;
mov.u32 %r80, 0;
setp.eq.s32 %p17, %r79, %r80;
@%p17 bra $Lt_0_30466;
.loc 16 250 0
cvt.s64.s32 %rd49, %r9;
ld.param.u64 %rd50, [__cudaparm_kernel_pair_engv];
mul.wide.s32 %rd51, %r9, 4;
add.u64 %rd52, %rd50, %rd51;
ld.param.s32 %r81, [__cudaparm_kernel_pair_eflag];
mov.u32 %r82, 0;
setp.le.s32 %p18, %r81, %r82;
@%p18 bra $Lt_0_30978;
.loc 16 252 0
st.global.f32 [%rd52+0], %f38;
.loc 16 253 0
cvt.s64.s32 %rd53, %r10;
mul.wide.s32 %rd54, %r10, 4;
add.u64 %rd55, %rd54, %rd52;
.loc 16 254 0
st.global.f32 [%rd55+0], %f37;
.loc 16 255 0
add.u64 %rd52, %rd54, %rd55;
$Lt_0_30978:
ld.param.s32 %r83, [__cudaparm_kernel_pair_vflag];
mov.u32 %r84, 0;
setp.le.s32 %p19, %r83, %r84;
@%p19 bra $Lt_0_31490;
.loc 16 259 0
mov.f32 %f121, %f10;
st.global.f32 [%rd52+0], %f121;
.loc 16 260 0
cvt.s64.s32 %rd56, %r10;
mul.wide.s32 %rd57, %r10, 4;
add.u64 %rd58, %rd57, %rd52;
.loc 16 259 0
mov.f32 %f122, %f12;
st.global.f32 [%rd58+0], %f122;
.loc 16 260 0
add.u64 %rd59, %rd57, %rd58;
.loc 16 259 0
mov.f32 %f123, %f14;
st.global.f32 [%rd59+0], %f123;
.loc 16 260 0
add.u64 %rd60, %rd57, %rd59;
.loc 16 259 0
mov.f32 %f124, %f16;
st.global.f32 [%rd60+0], %f124;
.loc 16 260 0
add.u64 %rd52, %rd57, %rd60;
.loc 16 259 0
mov.f32 %f125, %f18;
st.global.f32 [%rd52+0], %f125;
mov.f32 %f126, %f20;
add.u64 %rd61, %rd57, %rd52;
st.global.f32 [%rd61+0], %f126;
$Lt_0_31490:
.loc 16 263 0
ld.param.u64 %rd62, [__cudaparm_kernel_pair_ans];
mul.lo.u64 %rd63, %rd49, 16;
add.u64 %rd64, %rd62, %rd63;
mov.f32 %f127, %f128;
st.global.v4.f32 [%rd64+0], {%f36,%f35,%f34,%f127};
$Lt_0_30466:
.loc 16 265 0
exit;
$LDWend_kernel_pair:
} // kernel_pair
.entry kernel_pair_fast (
.param .u64 __cudaparm_kernel_pair_fast_x_,
.param .u64 __cudaparm_kernel_pair_fast_lj1_in,
.param .u64 __cudaparm_kernel_pair_fast_lj3_in,
.param .u64 __cudaparm_kernel_pair_fast_sp_lj_in,
.param .u64 __cudaparm_kernel_pair_fast_dev_nbor,
.param .u64 __cudaparm_kernel_pair_fast_dev_packed,
.param .u64 __cudaparm_kernel_pair_fast_ans,
.param .u64 __cudaparm_kernel_pair_fast_engv,
.param .s32 __cudaparm_kernel_pair_fast_eflag,
.param .s32 __cudaparm_kernel_pair_fast_vflag,
.param .s32 __cudaparm_kernel_pair_fast_inum,
.param .s32 __cudaparm_kernel_pair_fast_nbor_pitch,
.param .u64 __cudaparm_kernel_pair_fast_q_,
.param .u64 __cudaparm_kernel_pair_fast__cutsq,
.param .f32 __cudaparm_kernel_pair_fast_qqrd2e,
.param .s32 __cudaparm_kernel_pair_fast_t_per_atom)
{
.reg .u32 %r<88>;
.reg .u64 %rd<82>;
.reg .f32 %f<134>;
.reg .pred %p<24>;
.shared .align 4 .b8 __cuda___cuda_local_var_32676_33_non_const_sp_lj3320[32];
.shared .align 16 .b8 __cuda___cuda_local_var_32673_34_non_const_lj13360[1936];
.shared .align 4 .b8 __cuda___cuda_local_var_32675_33_non_const_cutsq5296[484];
.shared .align 16 .b8 __cuda___cuda_local_var_32674_34_non_const_lj35792[1936];
.shared .align 4 .b8 __cuda___cuda_local_var_32783_35_non_const_red_acc7728[3072];
// __cuda_local_var_32688_10_non_const_f = 48
// __cuda_local_var_32692_9_non_const_virial = 16
// __cuda_local_var_32742_43_non_const_r6inv = 40
.loc 16 275 0
$LDWbegin_kernel_pair_fast:
cvt.s32.u32 %r1, %tid.x;
mov.u32 %r2, 7;
setp.gt.s32 %p1, %r1, %r2;
@%p1 bra $Lt_1_23554;
.loc 16 286 0
mov.u64 %rd1, __cuda___cuda_local_var_32676_33_non_const_sp_lj3320;
cvt.s64.s32 %rd2, %r1;
mul.wide.s32 %rd3, %r1, 4;
ld.param.u64 %rd4, [__cudaparm_kernel_pair_fast_sp_lj_in];
add.u64 %rd5, %rd4, %rd3;
ld.global.f32 %f1, [%rd5+0];
add.u64 %rd6, %rd3, %rd1;
st.shared.f32 [%rd6+0], %f1;
$Lt_1_23554:
mov.u64 %rd1, __cuda___cuda_local_var_32676_33_non_const_sp_lj3320;
mov.u32 %r3, 120;
setp.gt.s32 %p2, %r1, %r3;
@%p2 bra $Lt_1_24066;
.loc 16 288 0
mov.u64 %rd7, __cuda___cuda_local_var_32673_34_non_const_lj13360;
mov.u64 %rd8, __cuda___cuda_local_var_32675_33_non_const_cutsq5296;
cvt.s64.s32 %rd9, %r1;
mul.wide.s32 %rd10, %r1, 16;
ld.param.u64 %rd11, [__cudaparm_kernel_pair_fast_lj1_in];
add.u64 %rd12, %rd11, %rd10;
add.u64 %rd13, %rd10, %rd7;
ld.global.v4.f32 {%f2,%f3,%f4,%f5}, [%rd12+0];
st.shared.v4.f32 [%rd13+0], {%f2,%f3,%f4,%f5};
.loc 16 289 0
mul.wide.s32 %rd14, %r1, 4;
ld.param.u64 %rd15, [__cudaparm_kernel_pair_fast__cutsq];
add.u64 %rd16, %rd15, %rd14;
ld.global.f32 %f6, [%rd16+0];
add.u64 %rd17, %rd14, %rd8;
st.shared.f32 [%rd17+0], %f6;
ld.param.s32 %r4, [__cudaparm_kernel_pair_fast_eflag];
mov.u32 %r5, 0;
setp.le.s32 %p3, %r4, %r5;
@%p3 bra $Lt_1_24578;
.loc 16 291 0
mov.u64 %rd18, __cuda___cuda_local_var_32674_34_non_const_lj35792;
ld.param.u64 %rd19, [__cudaparm_kernel_pair_fast_lj3_in];
add.u64 %rd20, %rd19, %rd10;
add.u64 %rd21, %rd10, %rd18;
ld.global.v4.f32 {%f7,%f8,%f9,%f10}, [%rd20+0];
st.shared.v4.f32 [%rd21+0], {%f7,%f8,%f9,%f10};
$Lt_1_24578:
mov.u64 %rd18, __cuda___cuda_local_var_32674_34_non_const_lj35792;
$Lt_1_24066:
mov.u64 %rd18, __cuda___cuda_local_var_32674_34_non_const_lj35792;
mov.u64 %rd7, __cuda___cuda_local_var_32673_34_non_const_lj13360;
mov.u64 %rd8, __cuda___cuda_local_var_32675_33_non_const_cutsq5296;
.loc 16 302 0
mov.f32 %f11, 0f00000000; // 0
mov.f32 %f12, %f11;
mov.f32 %f13, 0f00000000; // 0
mov.f32 %f14, %f13;
mov.f32 %f15, 0f00000000; // 0
mov.f32 %f16, %f15;
mov.f32 %f17, 0f00000000; // 0
mov.f32 %f18, %f17;
mov.f32 %f19, 0f00000000; // 0
mov.f32 %f20, %f19;
mov.f32 %f21, 0f00000000; // 0
mov.f32 %f22, %f21;
.loc 16 304 0
bar.sync 0;
ld.param.s32 %r6, [__cudaparm_kernel_pair_fast_t_per_atom];
div.s32 %r7, %r1, %r6;
cvt.s32.u32 %r8, %ntid.x;
div.s32 %r9, %r8, %r6;
rem.s32 %r10, %r1, %r6;
cvt.s32.u32 %r11, %ctaid.x;
mul.lo.s32 %r12, %r11, %r9;
add.s32 %r13, %r7, %r12;
ld.param.s32 %r14, [__cudaparm_kernel_pair_fast_inum];
setp.lt.s32 %p4, %r13, %r14;
@!%p4 bra $Lt_1_25346;
.loc 16 308 0
cvt.s64.s32 %rd22, %r13;
mul.wide.s32 %rd23, %r13, 4;
ld.param.u64 %rd24, [__cudaparm_kernel_pair_fast_dev_nbor];
add.u64 %rd25, %rd23, %rd24;
ld.global.s32 %r15, [%rd25+0];
.loc 16 310 0
ld.param.s32 %r16, [__cudaparm_kernel_pair_fast_nbor_pitch];
cvt.s64.s32 %rd26, %r16;
mul.wide.s32 %rd27, %r16, 4;
add.u64 %rd28, %rd27, %rd25;
ld.global.s32 %r17, [%rd28+0];
add.u64 %rd29, %rd27, %rd28;
ld.param.u64 %rd30, [__cudaparm_kernel_pair_fast_dev_packed];
setp.ne.u64 %p5, %rd30, %rd24;
@%p5 bra $Lt_1_25858;
.loc 16 316 0
cvt.s32.s64 %r18, %rd26;
mul.lo.s32 %r19, %r18, %r17;
cvt.s64.s32 %rd31, %r19;
mul.wide.s32 %rd32, %r19, 4;
add.u64 %rd33, %rd29, %rd32;
.loc 16 317 0
mul.lo.s32 %r20, %r10, %r18;
cvt.s64.s32 %rd34, %r20;
mul.wide.s32 %rd35, %r20, 4;
add.u64 %rd36, %rd29, %rd35;
.loc 16 318 0
mul.lo.s32 %r21, %r18, %r6;
bra.uni $Lt_1_25602;
$Lt_1_25858:
.loc 16 320 0
ld.global.s32 %r22, [%rd29+0];
cvt.s64.s32 %rd37, %r22;
mul.wide.s32 %rd38, %r22, 4;
add.u64 %rd39, %rd30, %rd38;
.loc 16 321 0
cvt.s64.s32 %rd40, %r17;
mul.wide.s32 %rd41, %r17, 4;
add.u64 %rd33, %rd39, %rd41;
.loc 16 322 0
mov.s32 %r21, %r6;
.loc 16 323 0
cvt.s64.s32 %rd42, %r10;
mul.wide.s32 %rd43, %r10, 4;
add.u64 %rd36, %rd39, %rd43;
$Lt_1_25602:
.loc 16 326 0
mov.u32 %r23, %r15;
mov.s32 %r24, 0;
mov.u32 %r25, %r24;
mov.s32 %r26, 0;
mov.u32 %r27, %r26;
mov.s32 %r28, 0;
mov.u32 %r29, %r28;
tex.1d.v4.f32.s32 {%f23,%f24,%f25,%f26},[pos_tex,{%r23,%r25,%r27,%r29}];
mov.f32 %f27, %f23;
mov.f32 %f28, %f24;
mov.f32 %f29, %f25;
mov.f32 %f30, %f26;
.loc 16 327 0
mov.u32 %r30, %r15;
mov.s32 %r31, 0;
mov.u32 %r32, %r31;
mov.s32 %r33, 0;
mov.u32 %r34, %r33;
mov.s32 %r35, 0;
mov.u32 %r36, %r35;
tex.1d.v4.f32.s32 {%f31,%f32,%f33,%f34},[q_tex,{%r30,%r32,%r34,%r36}];
mov.f32 %f35, %f31;
setp.ge.u64 %p6, %rd36, %rd33;
@%p6 bra $Lt_1_35842;
cvt.rzi.ftz.s32.f32 %r37, %f30;
cvt.s64.s32 %rd44, %r21;
mul.lo.s32 %r38, %r37, 11;
cvt.rn.f32.s32 %f36, %r38;
mov.f32 %f37, 0f00000000; // 0
mov.f32 %f38, 0f00000000; // 0
mov.f32 %f39, 0f00000000; // 0
mov.f32 %f40, 0f00000000; // 0
mov.f32 %f41, 0f00000000; // 0
$Lt_1_26626:
//<loop> Loop body line 327, nesting depth: 1, estimated iterations: unknown
.loc 16 332 0
ld.global.s32 %r39, [%rd36+0];
.loc 16 335 0
shr.s32 %r40, %r39, 30;
and.b32 %r41, %r40, 3;
cvt.s64.s32 %rd45, %r41;
mul.wide.s32 %rd46, %r41, 4;
add.u64 %rd47, %rd1, %rd46;
ld.shared.f32 %f42, [%rd47+0];
.loc 16 339 0
and.b32 %r42, %r39, 1073741823;
mov.u32 %r43, %r42;
mov.s32 %r44, 0;
mov.u32 %r45, %r44;
mov.s32 %r46, 0;
mov.u32 %r47, %r46;
mov.s32 %r48, 0;
mov.u32 %r49, %r48;
tex.1d.v4.f32.s32 {%f43,%f44,%f45,%f46},[pos_tex,{%r43,%r45,%r47,%r49}];
mov.f32 %f47, %f43;
mov.f32 %f48, %f44;
mov.f32 %f49, %f45;
mov.f32 %f50, %f46;
sub.ftz.f32 %f51, %f28, %f48;
sub.ftz.f32 %f52, %f27, %f47;
sub.ftz.f32 %f53, %f29, %f49;
mul.ftz.f32 %f54, %f51, %f51;
fma.rn.ftz.f32 %f55, %f52, %f52, %f54;
fma.rn.ftz.f32 %f56, %f53, %f53, %f55;
add.ftz.f32 %f57, %f36, %f50;
cvt.rzi.ftz.s32.f32 %r50, %f57;
cvt.s64.s32 %rd48, %r50;
mul.wide.s32 %rd49, %r50, 4;
add.u64 %rd50, %rd8, %rd49;
ld.shared.f32 %f58, [%rd50+0];
setp.gt.ftz.f32 %p7, %f58, %f56;
@!%p7 bra $Lt_1_29442;
rcp.approx.ftz.f32 %f59, %f56;
mul.lo.u64 %rd51, %rd48, 16;
add.u64 %rd52, %rd51, %rd7;
ld.shared.f32 %f60, [%rd52+8];
setp.lt.ftz.f32 %p8, %f56, %f60;
@!%p8 bra $Lt_1_27650;
.loc 16 353 0
mul.ftz.f32 %f61, %f59, %f59;
mul.ftz.f32 %f62, %f59, %f61;
mov.f32 %f63, %f62;
.loc 16 354 0
mul.ftz.f32 %f64, %f62, %f42;
ld.shared.v2.f32 {%f65,%f66}, [%rd52+0];
mul.ftz.f32 %f67, %f65, %f62;
sub.ftz.f32 %f68, %f67, %f66;
mul.ftz.f32 %f69, %f64, %f68;
bra.uni $Lt_1_27394;
$Lt_1_27650:
.loc 16 356 0
mov.f32 %f69, 0f00000000; // 0
$Lt_1_27394:
ld.shared.f32 %f70, [%rd52+12];
setp.gt.ftz.f32 %p9, %f70, %f56;
@!%p9 bra $Lt_1_28162;
.loc 16 359 0
mov.u32 %r51, %r42;
mov.s32 %r52, 0;
mov.u32 %r53, %r52;
mov.s32 %r54, 0;
mov.u32 %r55, %r54;
mov.s32 %r56, 0;
mov.u32 %r57, %r56;
tex.1d.v4.f32.s32 {%f71,%f72,%f73,%f74},[q_tex,{%r51,%r53,%r55,%r57}];
mov.f32 %f75, %f71;
ld.shared.f32 %f76, [%rd47+16];
ld.param.f32 %f77, [__cudaparm_kernel_pair_fast_qqrd2e];
mul.ftz.f32 %f78, %f77, %f35;
mul.ftz.f32 %f79, %f75, %f78;
sqrt.approx.ftz.f32 %f80, %f59;
mul.ftz.f32 %f81, %f79, %f80;
mul.ftz.f32 %f82, %f76, %f81;
bra.uni $Lt_1_27906;
$Lt_1_28162:
.loc 16 361 0
mov.f32 %f82, 0f00000000; // 0
$Lt_1_27906:
.loc 16 365 0
add.ftz.f32 %f83, %f82, %f69;
mul.ftz.f32 %f84, %f83, %f59;
fma.rn.ftz.f32 %f39, %f52, %f84, %f39;
.loc 16 366 0
fma.rn.ftz.f32 %f38, %f51, %f84, %f38;
.loc 16 367 0
fma.rn.ftz.f32 %f37, %f53, %f84, %f37;
ld.param.s32 %r58, [__cudaparm_kernel_pair_fast_eflag];
mov.u32 %r59, 0;
setp.le.s32 %p10, %r58, %r59;
@%p10 bra $Lt_1_28930;
.loc 16 370 0
add.ftz.f32 %f40, %f82, %f40;
@!%p8 bra $Lt_1_28930;
.loc 16 372 0
add.u64 %rd53, %rd51, %rd18;
mov.f32 %f85, %f63;
ld.shared.v4.f32 {%f86,%f87,%f88,_}, [%rd53+0];
mul.ftz.f32 %f89, %f86, %f85;
sub.ftz.f32 %f90, %f89, %f87;
mul.ftz.f32 %f91, %f85, %f90;
.loc 16 373 0
sub.ftz.f32 %f92, %f91, %f88;
fma.rn.ftz.f32 %f41, %f42, %f92, %f41;
$Lt_1_28930:
$Lt_1_28418:
ld.param.s32 %r60, [__cudaparm_kernel_pair_fast_vflag];
mov.u32 %r61, 0;
setp.le.s32 %p11, %r60, %r61;
@%p11 bra $Lt_1_29442;
.loc 16 377 0
mov.f32 %f93, %f12;
mul.ftz.f32 %f94, %f52, %f52;
fma.rn.ftz.f32 %f95, %f84, %f94, %f93;
mov.f32 %f12, %f95;
.loc 16 378 0
mov.f32 %f96, %f14;
fma.rn.ftz.f32 %f97, %f84, %f54, %f96;
mov.f32 %f14, %f97;
.loc 16 379 0
mov.f32 %f98, %f16;
mul.ftz.f32 %f99, %f53, %f53;
fma.rn.ftz.f32 %f100, %f84, %f99, %f98;
mov.f32 %f16, %f100;
.loc 16 380 0
mov.f32 %f101, %f18;
mul.ftz.f32 %f102, %f51, %f52;
fma.rn.ftz.f32 %f103, %f84, %f102, %f101;
mov.f32 %f18, %f103;
.loc 16 381 0
mov.f32 %f104, %f20;
mul.ftz.f32 %f105, %f52, %f53;
fma.rn.ftz.f32 %f106, %f84, %f105, %f104;
mov.f32 %f20, %f106;
.loc 16 382 0
mul.ftz.f32 %f107, %f51, %f53;
fma.rn.ftz.f32 %f21, %f84, %f107, %f21;
mov.f32 %f22, %f21;
$Lt_1_29442:
$Lt_1_26882:
.loc 16 331 0
mul.lo.u64 %rd54, %rd44, 4;
add.u64 %rd36, %rd36, %rd54;
setp.lt.u64 %p12, %rd36, %rd33;
@%p12 bra $Lt_1_26626;
bra.uni $Lt_1_25090;
$Lt_1_35842:
mov.f32 %f37, 0f00000000; // 0
mov.f32 %f38, 0f00000000; // 0
mov.f32 %f39, 0f00000000; // 0
mov.f32 %f40, 0f00000000; // 0
mov.f32 %f41, 0f00000000; // 0
bra.uni $Lt_1_25090;
$Lt_1_25346:
mov.f32 %f37, 0f00000000; // 0
mov.f32 %f38, 0f00000000; // 0
mov.f32 %f39, 0f00000000; // 0
mov.f32 %f40, 0f00000000; // 0
mov.f32 %f41, 0f00000000; // 0
$Lt_1_25090:
mov.u32 %r62, 1;
setp.le.s32 %p13, %r6, %r62;
@%p13 bra $Lt_1_32258;
.loc 16 393 0
mov.u64 %rd55, __cuda___cuda_local_var_32783_35_non_const_red_acc7728;
cvt.s64.s32 %rd56, %r1;
mul.wide.s32 %rd57, %r1, 4;
add.u64 %rd58, %rd55, %rd57;
mov.f32 %f108, %f39;
st.shared.f32 [%rd58+0], %f108;
.loc 16 394 0
mov.f32 %f109, %f38;
st.shared.f32 [%rd58+512], %f109;
.loc 16 395 0
mov.f32 %f110, %f37;
st.shared.f32 [%rd58+1024], %f110;
.loc 16 396 0
mov.f32 %f111, %f41;
st.shared.f32 [%rd58+1536], %f111;
.loc 16 397 0
mov.f32 %f112, %f40;
st.shared.f32 [%rd58+2048], %f112;
.loc 16 399 0
shr.s32 %r63, %r6, 31;
mov.s32 %r64, 1;
and.b32 %r65, %r63, %r64;
add.s32 %r66, %r65, %r6;
shr.s32 %r67, %r66, 1;
mov.s32 %r68, %r67;
mov.u32 %r69, 0;
setp.ne.u32 %p14, %r67, %r69;
@!%p14 bra $Lt_1_30722;
$Lt_1_31234:
setp.ge.u32 %p15, %r10, %r68;
@%p15 bra $Lt_1_31490;
.loc 16 402 0
add.u32 %r70, %r1, %r68;
cvt.u64.u32 %rd59, %r70;
mul.wide.u32 %rd60, %r70, 4;
add.u64 %rd61, %rd55, %rd60;
ld.shared.f32 %f113, [%rd61+0];
add.ftz.f32 %f108, %f113, %f108;
st.shared.f32 [%rd58+0], %f108;
ld.shared.f32 %f114, [%rd61+512];
add.ftz.f32 %f109, %f114, %f109;
st.shared.f32 [%rd58+512], %f109;
ld.shared.f32 %f115, [%rd61+1024];
add.ftz.f32 %f110, %f115, %f110;
st.shared.f32 [%rd58+1024], %f110;
ld.shared.f32 %f116, [%rd61+1536];
add.ftz.f32 %f111, %f116, %f111;
st.shared.f32 [%rd58+1536], %f111;
ld.shared.f32 %f117, [%rd61+2048];
add.ftz.f32 %f112, %f117, %f112;
st.shared.f32 [%rd58+2048], %f112;
$Lt_1_31490:
.loc 16 399 0
shr.u32 %r68, %r68, 1;
mov.u32 %r71, 0;
setp.ne.u32 %p16, %r68, %r71;
@%p16 bra $Lt_1_31234;
$Lt_1_30722:
.loc 16 406 0
mov.f32 %f39, %f108;
.loc 16 407 0
mov.f32 %f38, %f109;
.loc 16 408 0
mov.f32 %f37, %f110;
.loc 16 409 0
mov.f32 %f41, %f111;
.loc 16 410 0
mov.f32 %f40, %f112;
ld.param.s32 %r72, [__cudaparm_kernel_pair_fast_vflag];
mov.u32 %r73, 0;
setp.le.s32 %p17, %r72, %r73;
@%p17 bra $Lt_1_32258;
.loc 16 414 0
mov.f32 %f108, %f12;
st.shared.f32 [%rd58+0], %f108;
mov.f32 %f109, %f14;
st.shared.f32 [%rd58+512], %f109;
mov.f32 %f110, %f16;
st.shared.f32 [%rd58+1024], %f110;
mov.f32 %f111, %f18;
st.shared.f32 [%rd58+1536], %f111;
mov.f32 %f112, %f20;
st.shared.f32 [%rd58+2048], %f112;
mov.f32 %f118, %f22;
st.shared.f32 [%rd58+2560], %f118;
.loc 16 416 0
mov.s32 %r74, %r67;
@!%p14 bra $Lt_1_32770;
$Lt_1_33282:
setp.ge.u32 %p18, %r10, %r74;
@%p18 bra $Lt_1_33538;
.loc 16 419 0
add.u32 %r75, %r1, %r74;
cvt.u64.u32 %rd62, %r75;
mul.wide.u32 %rd63, %r75, 4;
add.u64 %rd64, %rd55, %rd63;
ld.shared.f32 %f119, [%rd64+0];
add.ftz.f32 %f108, %f119, %f108;
st.shared.f32 [%rd58+0], %f108;
ld.shared.f32 %f120, [%rd64+512];
add.ftz.f32 %f109, %f120, %f109;
st.shared.f32 [%rd58+512], %f109;
ld.shared.f32 %f121, [%rd64+1024];
add.ftz.f32 %f110, %f121, %f110;
st.shared.f32 [%rd58+1024], %f110;
ld.shared.f32 %f122, [%rd64+1536];
add.ftz.f32 %f111, %f122, %f111;
st.shared.f32 [%rd58+1536], %f111;
ld.shared.f32 %f123, [%rd64+2048];
add.ftz.f32 %f112, %f123, %f112;
st.shared.f32 [%rd58+2048], %f112;
ld.shared.f32 %f124, [%rd64+2560];
add.ftz.f32 %f118, %f124, %f118;
st.shared.f32 [%rd58+2560], %f118;
$Lt_1_33538:
.loc 16 416 0
shr.u32 %r74, %r74, 1;
mov.u32 %r76, 0;
setp.ne.u32 %p19, %r74, %r76;
@%p19 bra $Lt_1_33282;
$Lt_1_32770:
.loc 16 424 0
mov.f32 %f12, %f108;
mov.f32 %f14, %f109;
mov.f32 %f16, %f110;
mov.f32 %f18, %f111;
mov.f32 %f20, %f112;
mov.f32 %f22, %f118;
$Lt_1_32258:
$Lt_1_30210:
selp.s32 %r77, 1, 0, %p4;
mov.s32 %r78, 0;
set.eq.u32.s32 %r79, %r10, %r78;
neg.s32 %r80, %r79;
and.b32 %r81, %r77, %r80;
mov.u32 %r82, 0;
setp.eq.s32 %p20, %r81, %r82;
@%p20 bra $Lt_1_34306;
.loc 16 430 0
cvt.s64.s32 %rd65, %r13;
ld.param.u64 %rd66, [__cudaparm_kernel_pair_fast_engv];
mul.wide.s32 %rd67, %r13, 4;
add.u64 %rd68, %rd66, %rd67;
ld.param.s32 %r83, [__cudaparm_kernel_pair_fast_eflag];
mov.u32 %r84, 0;
setp.le.s32 %p21, %r83, %r84;
@%p21 bra $Lt_1_34818;
.loc 16 432 0
st.global.f32 [%rd68+0], %f41;
.loc 16 433 0
cvt.s64.s32 %rd69, %r14;
mul.wide.s32 %rd70, %r14, 4;
add.u64 %rd71, %rd70, %rd68;
.loc 16 434 0
st.global.f32 [%rd71+0], %f40;
.loc 16 435 0
add.u64 %rd68, %rd70, %rd71;
$Lt_1_34818:
ld.param.s32 %r85, [__cudaparm_kernel_pair_fast_vflag];
mov.u32 %r86, 0;
setp.le.s32 %p22, %r85, %r86;
@%p22 bra $Lt_1_35330;
.loc 16 439 0
mov.f32 %f125, %f12;
st.global.f32 [%rd68+0], %f125;
.loc 16 440 0
cvt.s64.s32 %rd72, %r14;
mul.wide.s32 %rd73, %r14, 4;
add.u64 %rd74, %rd73, %rd68;
.loc 16 439 0
mov.f32 %f126, %f14;
st.global.f32 [%rd74+0], %f126;
.loc 16 440 0
add.u64 %rd75, %rd73, %rd74;
.loc 16 439 0
mov.f32 %f127, %f16;
st.global.f32 [%rd75+0], %f127;
.loc 16 440 0
add.u64 %rd76, %rd73, %rd75;
.loc 16 439 0
mov.f32 %f128, %f18;
st.global.f32 [%rd76+0], %f128;
.loc 16 440 0
add.u64 %rd68, %rd73, %rd76;
.loc 16 439 0
mov.f32 %f129, %f20;
st.global.f32 [%rd68+0], %f129;
mov.f32 %f130, %f22;
add.u64 %rd77, %rd73, %rd68;
st.global.f32 [%rd77+0], %f130;
$Lt_1_35330:
.loc 16 443 0
ld.param.u64 %rd78, [__cudaparm_kernel_pair_fast_ans];
mul.lo.u64 %rd79, %rd65, 16;
add.u64 %rd80, %rd78, %rd79;
mov.f32 %f131, %f132;
st.global.v4.f32 [%rd80+0], {%f39,%f38,%f37,%f131};
$Lt_1_34306:
.loc 16 445 0
exit;
$LDWend_kernel_pair_fast:
} // kernel_pair_fast