lammps/lib/gpu/crml_gpu_ptx.h

829 lines
26 KiB
C

const char * crml_gpu_kernel =
" .version 1.4\n"
" .target sm_13\n"
" .tex .u64 pos_tex;\n"
" .tex .u64 q_tex;\n"
" .entry kernel_pair (\n"
" .param .u64 __cudaparm_kernel_pair_x_,\n"
" .param .u64 __cudaparm_kernel_pair_lj1,\n"
" .param .s32 __cudaparm_kernel_pair_lj_types,\n"
" .param .u64 __cudaparm_kernel_pair_sp_lj_in,\n"
" .param .u64 __cudaparm_kernel_pair_dev_nbor,\n"
" .param .u64 __cudaparm_kernel_pair_ans,\n"
" .param .u64 __cudaparm_kernel_pair_engv,\n"
" .param .s32 __cudaparm_kernel_pair_eflag,\n"
" .param .s32 __cudaparm_kernel_pair_vflag,\n"
" .param .s32 __cudaparm_kernel_pair_inum,\n"
" .param .s32 __cudaparm_kernel_pair_nall,\n"
" .param .s32 __cudaparm_kernel_pair_nbor_pitch,\n"
" .param .u64 __cudaparm_kernel_pair_q_,\n"
" .param .f32 __cudaparm_kernel_pair_cut_coulsq,\n"
" .param .f32 __cudaparm_kernel_pair_qqrd2e,\n"
" .param .f32 __cudaparm_kernel_pair_g_ewald,\n"
" .param .f32 __cudaparm_kernel_pair_denom_lj,\n"
" .param .f32 __cudaparm_kernel_pair_cut_bothsq,\n"
" .param .f32 __cudaparm_kernel_pair_cut_ljsq,\n"
" .param .f32 __cudaparm_kernel_pair_cut_lj_innersq)\n"
" {\n"
" .reg .u32 %r<47>;\n"
" .reg .u64 %rd<37>;\n"
" .reg .f32 %f<170>;\n"
" .reg .pred %p<12>;\n"
" .shared .align 4 .b8 __cuda_sp_lj116[32];\n"
" .loc 14 109 0\n"
"$LBB1_kernel_pair:\n"
" .loc 14 114 0\n"
" ld.param.u64 %rd1, [__cudaparm_kernel_pair_sp_lj_in];\n"
" ld.global.f32 %f1, [%rd1+0];\n"
" st.shared.f32 [__cuda_sp_lj116+0], %f1;\n"
" .loc 14 115 0\n"
" ld.global.f32 %f2, [%rd1+4];\n"
" st.shared.f32 [__cuda_sp_lj116+4], %f2;\n"
" .loc 14 116 0\n"
" ld.global.f32 %f3, [%rd1+8];\n"
" st.shared.f32 [__cuda_sp_lj116+8], %f3;\n"
" .loc 14 117 0\n"
" ld.global.f32 %f4, [%rd1+12];\n"
" st.shared.f32 [__cuda_sp_lj116+12], %f4;\n"
" .loc 14 118 0\n"
" ld.global.f32 %f5, [%rd1+16];\n"
" st.shared.f32 [__cuda_sp_lj116+16], %f5;\n"
" .loc 14 119 0\n"
" ld.global.f32 %f6, [%rd1+20];\n"
" st.shared.f32 [__cuda_sp_lj116+20], %f6;\n"
" .loc 14 120 0\n"
" ld.global.f32 %f7, [%rd1+24];\n"
" st.shared.f32 [__cuda_sp_lj116+24], %f7;\n"
" .loc 14 121 0\n"
" ld.global.f32 %f8, [%rd1+28];\n"
" st.shared.f32 [__cuda_sp_lj116+28], %f8;\n"
" cvt.s32.u16 %r1, %ctaid.x;\n"
" cvt.s32.u16 %r2, %ntid.x;\n"
" mul24.lo.s32 %r3, %r1, %r2;\n"
" cvt.u32.u16 %r4, %tid.x;\n"
" add.u32 %r5, %r3, %r4;\n"
" ld.param.s32 %r6, [__cudaparm_kernel_pair_inum];\n"
" setp.le.s32 %p1, %r6, %r5;\n"
" @%p1 bra $Lt_0_11778;\n"
" .loc 14 132 0\n"
" mov.f32 %f9, 0f00000000; \n"
" mov.f32 %f10, %f9;\n"
" mov.f32 %f11, 0f00000000; \n"
" mov.f32 %f12, %f11;\n"
" mov.f32 %f13, 0f00000000; \n"
" mov.f32 %f14, %f13;\n"
" mov.f32 %f15, 0f00000000; \n"
" mov.f32 %f16, %f15;\n"
" mov.f32 %f17, 0f00000000; \n"
" mov.f32 %f18, %f17;\n"
" mov.f32 %f19, 0f00000000; \n"
" mov.f32 %f20, %f19;\n"
" .loc 14 135 0\n"
" cvt.u64.s32 %rd2, %r5;\n"
" mul.lo.u64 %rd3, %rd2, 4;\n"
" ld.param.u64 %rd4, [__cudaparm_kernel_pair_dev_nbor];\n"
" add.u64 %rd5, %rd4, %rd3;\n"
" ld.global.s32 %r7, [%rd5+0];\n"
" .loc 14 137 0\n"
" ld.param.s32 %r8, [__cudaparm_kernel_pair_nbor_pitch];\n"
" cvt.u64.s32 %rd6, %r8;\n"
" mul.lo.u64 %rd7, %rd6, 4;\n"
" add.u64 %rd8, %rd5, %rd7;\n"
" ld.global.s32 %r9, [%rd8+0];\n"
" .loc 14 138 0\n"
" add.u64 %rd9, %rd8, %rd7;\n"
" mov.s64 %rd10, %rd9;\n"
" mov.s32 %r10, %r7;\n"
" mov.s32 %r11, 0;\n"
" mov.s32 %r12, 0;\n"
" mov.s32 %r13, 0;\n"
" tex.1d.v4.f32.s32 {%f21,%f22,%f23,%f24},[pos_tex,{%r10,%r11,%r12,%r13}];\n"
" .loc 14 141 0\n"
" mov.f32 %f25, %f21;\n"
" mov.f32 %f26, %f22;\n"
" mov.f32 %f27, %f23;\n"
" mov.f32 %f28, %f24;\n"
" mov.s32 %r14, %r7;\n"
" mov.s32 %r15, 0;\n"
" mov.s32 %r16, 0;\n"
" mov.s32 %r17, 0;\n"
" tex.1d.v4.f32.s32 {%f29,%f30,%f31,%f32},[q_tex,{%r14,%r15,%r16,%r17}];\n"
" .loc 14 142 0\n"
" mov.f32 %f33, %f29;\n"
" mul24.lo.s32 %r18, %r9, %r8;\n"
" cvt.s64.s32 %rd11, %r18;\n"
" mul.lo.u64 %rd12, %rd11, 4;\n"
" add.u64 %rd13, %rd9, %rd12;\n"
" ld.param.s32 %r19, [__cudaparm_kernel_pair_vflag];\n"
" ld.param.s32 %r20, [__cudaparm_kernel_pair_eflag];\n"
" setp.ge.u64 %p2, %rd9, %rd13;\n"
" mov.f32 %f34, 0f00000000; \n"
" mov.f32 %f35, 0f00000000; \n"
" mov.f32 %f36, 0f00000000; \n"
" mov.f32 %f37, 0f00000000; \n"
" mov.f32 %f38, 0f00000000; \n"
" @%p2 bra $Lt_0_17922;\n"
" mov.s32 %r21, 0;\n"
" setp.gt.s32 %p3, %r20, %r21;\n"
" mov.s32 %r22, 0;\n"
" setp.gt.s32 %p4, %r19, %r22;\n"
" ld.param.f32 %f39, [__cudaparm_kernel_pair_cut_bothsq];\n"
" mov.u64 %rd14, __cuda_sp_lj116;\n"
"$Lt_0_12802:\n"
" .loc 14 146 0\n"
" ld.global.s32 %r23, [%rd10+0];\n"
" .loc 14 149 0\n"
" shr.s32 %r24, %r23, 30;\n"
" cvt.s64.s32 %rd15, %r24;\n"
" and.b64 %rd16, %rd15, 3;\n"
" mul.lo.u64 %rd17, %rd16, 4;\n"
" add.u64 %rd18, %rd14, %rd17;\n"
" ld.shared.f32 %f40, [%rd18+0];\n"
" .loc 14 150 0\n"
" mov.f32 %f41, 0f3f800000; \n"
" ld.shared.f32 %f42, [%rd18+16];\n"
" sub.f32 %f43, %f41, %f42;\n"
" and.b32 %r25, %r23, 1073741823;\n"
" mov.s32 %r26, %r25;\n"
" mov.s32 %r27, 0;\n"
" mov.s32 %r28, 0;\n"
" mov.s32 %r29, 0;\n"
" tex.1d.v4.f32.s32 {%f44,%f45,%f46,%f47},[pos_tex,{%r26,%r27,%r28,%r29}];\n"
" .loc 14 153 0\n"
" mov.f32 %f48, %f44;\n"
" mov.f32 %f49, %f45;\n"
" mov.f32 %f50, %f46;\n"
" mov.f32 %f51, %f47;\n"
" sub.f32 %f52, %f26, %f49;\n"
" sub.f32 %f53, %f25, %f48;\n"
" sub.f32 %f54, %f27, %f50;\n"
" mul.f32 %f55, %f52, %f52;\n"
" mad.f32 %f56, %f53, %f53, %f55;\n"
" mad.f32 %f57, %f54, %f54, %f56;\n"
" setp.lt.f32 %p5, %f57, %f39;\n"
" @!%p5 bra $Lt_0_16130;\n"
" ld.param.f32 %f58, [__cudaparm_kernel_pair_cut_ljsq];\n"
" setp.lt.f32 %p6, %f57, %f58;\n"
" rcp.approx.f32 %f59, %f57;\n"
" @!%p6 bra $Lt_0_13826;\n"
" .loc 14 168 0\n"
" mul.f32 %f60, %f59, %f59;\n"
" mul.f32 %f61, %f59, %f60;\n"
" mov.f32 %f62, %f61;\n"
" .loc 14 169 0\n"
" cvt.rzi.s32.f32 %r30, %f51;\n"
" cvt.rzi.s32.f32 %r31, %f28;\n"
" ld.param.u64 %rd19, [__cudaparm_kernel_pair_lj1];\n"
" ld.param.s32 %r32, [__cudaparm_kernel_pair_lj_types];\n"
" mul.lo.s32 %r33, %r32, %r31;\n"
" add.s32 %r34, %r30, %r33;\n"
" cvt.u64.s32 %rd20, %r34;\n"
" mul.lo.u64 %rd21, %rd20, 16;\n"
" add.u64 %rd22, %rd19, %rd21;\n"
" .loc 14 149 0\n"
" ld.shared.f32 %f40, [%rd18+0];\n"
" .loc 14 169 0\n"
" mul.f32 %f63, %f61, %f40;\n"
" ld.global.v2.f32 {%f64,%f65}, [%rd22+0];\n"
" mul.f32 %f66, %f64, %f61;\n"
" sub.f32 %f67, %f66, %f65;\n"
" mul.f32 %f68, %f63, %f67;\n"
" ld.param.f32 %f69, [__cudaparm_kernel_pair_cut_lj_innersq];\n"
" setp.gt.f32 %p7, %f57, %f69;\n"
" @!%p7 bra $Lt_0_13570;\n"
" .loc 14 175 0\n"
" add.f32 %f70, %f57, %f57;\n"
" sub.f32 %f71, %f58, %f57;\n"
" add.f32 %f72, %f70, %f58;\n"
" mul.f32 %f73, %f71, %f71;\n"
" mov.f32 %f74, 0f40400000; \n"
" mul.f32 %f75, %f74, %f69;\n"
" sub.f32 %f76, %f72, %f75;\n"
" ld.param.f32 %f77, [__cudaparm_kernel_pair_denom_lj];\n"
" div.approx.f32 %f78, %f76, %f77;\n"
" mul.f32 %f79, %f73, %f78;\n"
" mov.f32 %f80, %f79;\n"
" .loc 14 178 0\n"
" mov.f32 %f81, 0f41400000; \n"
" mul.f32 %f82, %f57, %f81;\n"
" mul.f32 %f83, %f71, %f82;\n"
" sub.f32 %f84, %f57, %f69;\n"
" mul.f32 %f85, %f83, %f84;\n"
" div.approx.f32 %f86, %f85, %f77;\n"
" ld.global.v2.f32 {%f87,%f88}, [%rd22+8];\n"
" mul.f32 %f89, %f87, %f61;\n"
" sub.f32 %f90, %f89, %f88;\n"
" mul.f32 %f91, %f61, %f90;\n"
" mul.f32 %f92, %f86, %f91;\n"
" mad.f32 %f68, %f68, %f79, %f92;\n"
" bra.uni $Lt_0_13570;\n"
"$Lt_0_13826:\n"
" .loc 14 181 0\n"
" mov.f32 %f68, 0f00000000; \n"
"$Lt_0_13570:\n"
" ld.param.f32 %f93, [__cudaparm_kernel_pair_cut_coulsq];\n"
" setp.gt.f32 %p8, %f93, %f57;\n"
" @!%p8 bra $Lt_0_14850;\n"
" .loc 14 188 0\n"
" sqrt.approx.f32 %f94, %f57;\n"
" ld.param.f32 %f95, [__cudaparm_kernel_pair_g_ewald];\n"
" mul.f32 %f96, %f95, %f94;\n"
" mul.f32 %f97, %f96, %f96;\n"
" mov.f32 %f98, 0f3f800000; \n"
" mov.f32 %f99, 0f3ea7ba05; \n"
" mad.f32 %f100, %f99, %f96, %f98;\n"
" neg.f32 %f101, %f97;\n"
" rcp.approx.f32 %f102, %f100;\n"
" mov.f32 %f103, 0f3fb8aa3b; \n"
" mul.f32 %f104, %f101, %f103;\n"
" ex2.approx.f32 %f105, %f104;\n"
" mov.f32 %f106, 0f3e827906; \n"
" mov.f32 %f107, 0fbe91a98e; \n"
" mov.f32 %f108, 0f3fb5f0e3; \n"
" mov.f32 %f109, 0fbfba00e3; \n"
" mov.f32 %f110, 0f3f87dc22; \n"
" mad.f32 %f111, %f110, %f102, %f109;\n"
" mad.f32 %f112, %f102, %f111, %f108;\n"
" mad.f32 %f113, %f102, %f112, %f107;\n"
" mad.f32 %f114, %f102, %f113, %f106;\n"
" mul.f32 %f115, %f102, %f114;\n"
" mul.f32 %f116, %f105, %f115;\n"
" mov.f32 %f117, %f116;\n"
" mov.s32 %r35, %r25;\n"
" mov.s32 %r36, 0;\n"
" mov.s32 %r37, 0;\n"
" mov.s32 %r38, 0;\n"
" tex.1d.v4.f32.s32 {%f118,%f119,%f120,%f121},[q_tex,{%r35,%r36,%r37,%r38}];\n"
" .loc 14 189 0\n"
" mov.f32 %f122, %f118;\n"
" ld.param.f32 %f123, [__cudaparm_kernel_pair_qqrd2e];\n"
" mul.f32 %f124, %f123, %f33;\n"
" mul.f32 %f125, %f124, %f122;\n"
" div.approx.f32 %f126, %f125, %f94;\n"
" mov.f32 %f127, %f126;\n"
" .loc 14 190 0\n"
" mov.f32 %f128, 0f3f906ebb; \n"
" mul.f32 %f129, %f96, %f128;\n"
" mad.f32 %f130, %f105, %f129, %f116;\n"
" sub.f32 %f131, %f130, %f43;\n"
" mul.f32 %f132, %f126, %f131;\n"
" bra.uni $Lt_0_14594;\n"
"$Lt_0_14850:\n"
" .loc 14 193 0\n"
" mov.f32 %f127, 0f00000000; \n"
" mov.f32 %f132, 0f00000000; \n"
"$Lt_0_14594:\n"
" .loc 14 198 0\n"
" add.f32 %f133, %f132, %f68;\n"
" mul.f32 %f134, %f133, %f59;\n"
" mad.f32 %f36, %f53, %f134, %f36;\n"
" .loc 14 199 0\n"
" mad.f32 %f35, %f52, %f134, %f35;\n"
" .loc 14 200 0\n"
" mad.f32 %f34, %f54, %f134, %f34;\n"
" @!%p3 bra $Lt_0_15618;\n"
" .loc 14 203 0\n"
" mov.f32 %f135, %f117;\n"
" sub.f32 %f136, %f135, %f43;\n"
" mad.f32 %f37, %f127, %f136, %f37;\n"
" @!%p6 bra $Lt_0_15618;\n"
" .loc 14 205 0\n"
" cvt.rzi.s32.f32 %r39, %f51;\n"
" cvt.rzi.s32.f32 %r40, %f28;\n"
" ld.param.u64 %rd23, [__cudaparm_kernel_pair_lj1];\n"
" ld.param.s32 %r41, [__cudaparm_kernel_pair_lj_types];\n"
" mul.lo.s32 %r42, %r41, %r40;\n"
" add.s32 %r43, %r39, %r42;\n"
" cvt.u64.s32 %rd24, %r43;\n"
" mul.lo.u64 %rd25, %rd24, 16;\n"
" add.u64 %rd22, %rd23, %rd25;\n"
" mov.f32 %f137, %f62;\n"
" ld.global.v2.f32 {%f138,%f139}, [%rd22+8];\n"
" mul.f32 %f140, %f138, %f137;\n"
" sub.f32 %f141, %f140, %f139;\n"
" mul.f32 %f142, %f137, %f141;\n"
" mov.f32 %f143, %f80;\n"
" mul.f32 %f144, %f143, %f142;\n"
" ld.param.f32 %f145, [__cudaparm_kernel_pair_cut_lj_innersq];\n"
" setp.lt.f32 %p9, %f145, %f57;\n"
" selp.f32 %f142, %f144, %f142, %p9;\n"
" .loc 14 149 0\n"
" ld.shared.f32 %f40, [%rd18+0];\n"
" .loc 14 208 0\n"
" mad.f32 %f38, %f40, %f142, %f38;\n"
"$Lt_0_15618:\n"
"$Lt_0_15106:\n"
" @!%p4 bra $Lt_0_16130;\n"
" .loc 14 212 0\n"
" mov.f32 %f146, %f10;\n"
" mul.f32 %f147, %f53, %f53;\n"
" mad.f32 %f148, %f134, %f147, %f146;\n"
" mov.f32 %f10, %f148;\n"
" .loc 14 213 0\n"
" mov.f32 %f149, %f12;\n"
" mad.f32 %f150, %f134, %f55, %f149;\n"
" mov.f32 %f12, %f150;\n"
" .loc 14 214 0\n"
" mov.f32 %f151, %f14;\n"
" mul.f32 %f152, %f54, %f54;\n"
" mad.f32 %f153, %f134, %f152, %f151;\n"
" mov.f32 %f14, %f153;\n"
" .loc 14 215 0\n"
" mov.f32 %f154, %f16;\n"
" mul.f32 %f155, %f52, %f53;\n"
" mad.f32 %f156, %f134, %f155, %f154;\n"
" mov.f32 %f16, %f156;\n"
" .loc 14 216 0\n"
" mov.f32 %f157, %f18;\n"
" mul.f32 %f158, %f53, %f54;\n"
" mad.f32 %f159, %f134, %f158, %f157;\n"
" mov.f32 %f18, %f159;\n"
" .loc 14 217 0\n"
" mul.f32 %f160, %f52, %f54;\n"
" mad.f32 %f19, %f134, %f160, %f19;\n"
" mov.f32 %f161, %f19;\n"
"$Lt_0_16130:\n"
"$Lt_0_13058:\n"
" .loc 14 145 0\n"
" add.u64 %rd10, %rd7, %rd10;\n"
" setp.gt.u64 %p10, %rd13, %rd10;\n"
" @%p10 bra $Lt_0_12802;\n"
" bra.uni $Lt_0_12290;\n"
"$Lt_0_17922:\n"
" mov.s32 %r44, 0;\n"
" setp.gt.s32 %p3, %r20, %r44;\n"
" mov.s32 %r45, 0;\n"
" setp.gt.s32 %p4, %r19, %r45;\n"
"$Lt_0_12290:\n"
" .loc 14 224 0\n"
" ld.param.u64 %rd26, [__cudaparm_kernel_pair_engv];\n"
" add.u64 %rd27, %rd26, %rd3;\n"
" @!%p3 bra $Lt_0_16898;\n"
" .loc 14 226 0\n"
" st.global.f32 [%rd27+0], %f38;\n"
" .loc 14 227 0\n"
" cvt.u64.s32 %rd28, %r6;\n"
" mul.lo.u64 %rd29, %rd28, 4;\n"
" add.u64 %rd27, %rd29, %rd27;\n"
" .loc 14 228 0\n"
" st.global.f32 [%rd27+0], %f37;\n"
" .loc 14 229 0\n"
" add.u64 %rd27, %rd29, %rd27;\n"
"$Lt_0_16898:\n"
" @!%p4 bra $Lt_0_17410;\n"
" .loc 14 233 0\n"
" mov.f32 %f162, %f10;\n"
" st.global.f32 [%rd27+0], %f162;\n"
" .loc 14 234 0\n"
" cvt.u64.s32 %rd30, %r6;\n"
" mul.lo.u64 %rd31, %rd30, 4;\n"
" add.u64 %rd27, %rd31, %rd27;\n"
" .loc 14 233 0\n"
" mov.f32 %f163, %f12;\n"
" st.global.f32 [%rd27+0], %f163;\n"
" .loc 14 234 0\n"
" add.u64 %rd27, %rd31, %rd27;\n"
" .loc 14 233 0\n"
" mov.f32 %f164, %f14;\n"
" st.global.f32 [%rd27+0], %f164;\n"
" .loc 14 234 0\n"
" add.u64 %rd27, %rd31, %rd27;\n"
" .loc 14 233 0\n"
" mov.f32 %f165, %f16;\n"
" st.global.f32 [%rd27+0], %f165;\n"
" .loc 14 234 0\n"
" add.u64 %rd27, %rd31, %rd27;\n"
" .loc 14 233 0\n"
" mov.f32 %f166, %f18;\n"
" st.global.f32 [%rd27+0], %f166;\n"
" add.u64 %rd32, %rd31, %rd27;\n"
" st.global.f32 [%rd32+0], %f19;\n"
"$Lt_0_17410:\n"
" .loc 14 237 0\n"
" ld.param.u64 %rd33, [__cudaparm_kernel_pair_ans];\n"
" mul.lo.u64 %rd34, %rd2, 16;\n"
" add.u64 %rd35, %rd33, %rd34;\n"
" mov.f32 %f167, %f168;\n"
" st.global.v4.f32 [%rd35+0], {%f36,%f35,%f34,%f167};\n"
"$Lt_0_11778:\n"
" .loc 14 239 0\n"
" exit;\n"
"$LDWend_kernel_pair:\n"
" }\n"
" .entry kernel_pair_fast (\n"
" .param .u64 __cudaparm_kernel_pair_fast_x_,\n"
" .param .u64 __cudaparm_kernel_pair_fast_ljd_in,\n"
" .param .u64 __cudaparm_kernel_pair_fast_sp_lj_in,\n"
" .param .u64 __cudaparm_kernel_pair_fast_dev_nbor,\n"
" .param .u64 __cudaparm_kernel_pair_fast_ans,\n"
" .param .u64 __cudaparm_kernel_pair_fast_engv,\n"
" .param .s32 __cudaparm_kernel_pair_fast_eflag,\n"
" .param .s32 __cudaparm_kernel_pair_fast_vflag,\n"
" .param .s32 __cudaparm_kernel_pair_fast_inum,\n"
" .param .s32 __cudaparm_kernel_pair_fast_nall,\n"
" .param .s32 __cudaparm_kernel_pair_fast_nbor_pitch,\n"
" .param .u64 __cudaparm_kernel_pair_fast_q_,\n"
" .param .f32 __cudaparm_kernel_pair_fast_cut_coulsq,\n"
" .param .f32 __cudaparm_kernel_pair_fast_qqrd2e,\n"
" .param .f32 __cudaparm_kernel_pair_fast_g_ewald,\n"
" .param .f32 __cudaparm_kernel_pair_fast_denom_lj,\n"
" .param .f32 __cudaparm_kernel_pair_fast_cut_bothsq,\n"
" .param .f32 __cudaparm_kernel_pair_fast_cut_ljsq,\n"
" .param .f32 __cudaparm_kernel_pair_fast_cut_lj_innersq)\n"
" {\n"
" .reg .u32 %r<40>;\n"
" .reg .u64 %rd<45>;\n"
" .reg .f32 %f<177>;\n"
" .reg .pred %p<13>;\n"
" .shared .align 4 .b8 __cuda_sp_lj260[32];\n"
" .shared .align 8 .b8 __cuda_ljd296[1024];\n"
" .loc 14 250 0\n"
"$LBB1_kernel_pair_fast:\n"
" cvt.s32.u16 %r1, %tid.x;\n"
" cvt.u64.s32 %rd1, %r1;\n"
" mov.u32 %r2, 7;\n"
" setp.gt.s32 %p1, %r1, %r2;\n"
" @%p1 bra $Lt_1_12546;\n"
" .loc 14 256 0\n"
" mov.u64 %rd2, __cuda_sp_lj260;\n"
" mul.lo.u64 %rd3, %rd1, 4;\n"
" ld.param.u64 %rd4, [__cudaparm_kernel_pair_fast_sp_lj_in];\n"
" add.u64 %rd5, %rd4, %rd3;\n"
" ld.global.f32 %f1, [%rd5+0];\n"
" add.u64 %rd6, %rd3, %rd2;\n"
" st.shared.f32 [%rd6+0], %f1;\n"
"$Lt_1_12546:\n"
" mov.u64 %rd7, __cuda_ljd296;\n"
" mov.u64 %rd2, __cuda_sp_lj260;\n"
" .loc 14 257 0\n"
" mul.lo.u64 %rd8, %rd1, 8;\n"
" ld.param.u64 %rd9, [__cudaparm_kernel_pair_fast_ljd_in];\n"
" add.u64 %rd10, %rd9, %rd8;\n"
" add.u64 %rd11, %rd8, %rd7;\n"
" ld.global.v2.f32 {%f2,%f3}, [%rd10+0];\n"
" st.shared.f32 [%rd11+0], %f2;\n"
" st.shared.f32 [%rd11+4], %f3;\n"
" ld.global.v2.f32 {%f4,%f5}, [%rd10+512];\n"
" .loc 14 258 0\n"
" st.shared.f32 [%rd11+512], %f4;\n"
" st.shared.f32 [%rd11+516], %f5;\n"
" .loc 14 261 0\n"
" bar.sync 0;\n"
" cvt.s32.u16 %r3, %ctaid.x;\n"
" cvt.s32.u16 %r4, %ntid.x;\n"
" mul24.lo.s32 %r5, %r3, %r4;\n"
" add.s32 %r6, %r5, %r1;\n"
" ld.param.s32 %r7, [__cudaparm_kernel_pair_fast_inum];\n"
" setp.ge.s32 %p2, %r6, %r7;\n"
" @%p2 bra $Lt_1_13058;\n"
" .loc 14 273 0\n"
" mov.f32 %f6, 0f00000000; \n"
" mov.f32 %f7, %f6;\n"
" mov.f32 %f8, 0f00000000; \n"
" mov.f32 %f9, %f8;\n"
" mov.f32 %f10, 0f00000000; \n"
" mov.f32 %f11, %f10;\n"
" mov.f32 %f12, 0f00000000; \n"
" mov.f32 %f13, %f12;\n"
" mov.f32 %f14, 0f00000000; \n"
" mov.f32 %f15, %f14;\n"
" mov.f32 %f16, 0f00000000; \n"
" mov.f32 %f17, %f16;\n"
" .loc 14 276 0\n"
" cvt.u64.s32 %rd12, %r6;\n"
" mul.lo.u64 %rd13, %rd12, 4;\n"
" ld.param.u64 %rd14, [__cudaparm_kernel_pair_fast_dev_nbor];\n"
" add.u64 %rd15, %rd14, %rd13;\n"
" ld.global.s32 %r8, [%rd15+0];\n"
" .loc 14 278 0\n"
" ld.param.s32 %r9, [__cudaparm_kernel_pair_fast_nbor_pitch];\n"
" cvt.u64.s32 %rd16, %r9;\n"
" mul.lo.u64 %rd17, %rd16, 4;\n"
" add.u64 %rd18, %rd15, %rd17;\n"
" ld.global.s32 %r10, [%rd18+0];\n"
" .loc 14 279 0\n"
" add.u64 %rd19, %rd18, %rd17;\n"
" mov.s64 %rd20, %rd19;\n"
" mov.s32 %r11, %r8;\n"
" mov.s32 %r12, 0;\n"
" mov.s32 %r13, 0;\n"
" mov.s32 %r14, 0;\n"
" tex.1d.v4.f32.s32 {%f18,%f19,%f20,%f21},[pos_tex,{%r11,%r12,%r13,%r14}];\n"
" .loc 14 282 0\n"
" mov.f32 %f22, %f18;\n"
" mov.f32 %f23, %f19;\n"
" mov.f32 %f24, %f20;\n"
" mov.f32 %f25, %f21;\n"
" mov.s32 %r15, %r8;\n"
" mov.s32 %r16, 0;\n"
" mov.s32 %r17, 0;\n"
" mov.s32 %r18, 0;\n"
" tex.1d.v4.f32.s32 {%f26,%f27,%f28,%f29},[q_tex,{%r15,%r16,%r17,%r18}];\n"
" .loc 14 283 0\n"
" mov.f32 %f30, %f26;\n"
" mul24.lo.s32 %r19, %r10, %r9;\n"
" cvt.s64.s32 %rd21, %r19;\n"
" mul.lo.u64 %rd22, %rd21, 4;\n"
" add.u64 %rd23, %rd19, %rd22;\n"
" ld.param.s32 %r20, [__cudaparm_kernel_pair_fast_vflag];\n"
" ld.param.s32 %r21, [__cudaparm_kernel_pair_fast_eflag];\n"
" setp.ge.u64 %p3, %rd19, %rd23;\n"
" mov.f32 %f31, 0f00000000; \n"
" mov.f32 %f32, 0f00000000; \n"
" mov.f32 %f33, 0f00000000; \n"
" mov.f32 %f34, 0f00000000; \n"
" mov.f32 %f35, 0f00000000; \n"
" @%p3 bra $Lt_1_19202;\n"
" cvt.rzi.s32.f32 %r22, %f25;\n"
" mov.s32 %r23, 0;\n"
" setp.gt.s32 %p4, %r21, %r23;\n"
" mov.s32 %r24, 0;\n"
" setp.gt.s32 %p5, %r20, %r24;\n"
" ld.param.f32 %f36, [__cudaparm_kernel_pair_fast_cut_bothsq];\n"
"$Lt_1_14082:\n"
" .loc 14 287 0\n"
" ld.global.s32 %r25, [%rd20+0];\n"
" .loc 14 290 0\n"
" shr.s32 %r26, %r25, 30;\n"
" cvt.s64.s32 %rd24, %r26;\n"
" and.b64 %rd25, %rd24, 3;\n"
" mul.lo.u64 %rd26, %rd25, 4;\n"
" add.u64 %rd27, %rd2, %rd26;\n"
" ld.shared.f32 %f37, [%rd27+0];\n"
" .loc 14 291 0\n"
" mov.f32 %f38, 0f3f800000; \n"
" ld.shared.f32 %f39, [%rd27+16];\n"
" sub.f32 %f40, %f38, %f39;\n"
" and.b32 %r27, %r25, 1073741823;\n"
" mov.s32 %r28, %r27;\n"
" mov.s32 %r29, 0;\n"
" mov.s32 %r30, 0;\n"
" mov.s32 %r31, 0;\n"
" tex.1d.v4.f32.s32 {%f41,%f42,%f43,%f44},[pos_tex,{%r28,%r29,%r30,%r31}];\n"
" .loc 14 294 0\n"
" mov.f32 %f45, %f41;\n"
" mov.f32 %f46, %f42;\n"
" mov.f32 %f47, %f43;\n"
" mov.f32 %f48, %f44;\n"
" sub.f32 %f49, %f23, %f46;\n"
" sub.f32 %f50, %f22, %f45;\n"
" sub.f32 %f51, %f24, %f47;\n"
" mul.f32 %f52, %f49, %f49;\n"
" mad.f32 %f53, %f50, %f50, %f52;\n"
" mad.f32 %f54, %f51, %f51, %f53;\n"
" setp.lt.f32 %p6, %f54, %f36;\n"
" @!%p6 bra $Lt_1_17410;\n"
" ld.param.f32 %f55, [__cudaparm_kernel_pair_fast_cut_ljsq];\n"
" setp.lt.f32 %p7, %f54, %f55;\n"
" rcp.approx.f32 %f56, %f54;\n"
" @!%p7 bra $Lt_1_15106;\n"
" .loc 14 309 0\n"
" cvt.rzi.s32.f32 %r32, %f48;\n"
" cvt.u64.s32 %rd28, %r22;\n"
" mul.lo.u64 %rd29, %rd28, 8;\n"
" add.u64 %rd30, %rd7, %rd29;\n"
" cvt.u64.s32 %rd31, %r32;\n"
" mul.lo.u64 %rd32, %rd31, 8;\n"
" add.u64 %rd33, %rd7, %rd32;\n"
" ld.shared.f32 %f57, [%rd30+0];\n"
" ld.shared.f32 %f58, [%rd33+0];\n"
" mul.f32 %f59, %f57, %f58;\n"
" .loc 14 310 0\n"
" ld.shared.f32 %f60, [%rd30+4];\n"
" ld.shared.f32 %f61, [%rd33+4];\n"
" add.f32 %f62, %f60, %f61;\n"
" mov.f32 %f63, 0f3f000000; \n"
" mul.f32 %f64, %f62, %f63;\n"
" .loc 14 314 0\n"
" mul.f32 %f65, %f64, %f64;\n"
" sqrt.approx.f32 %f66, %f59;\n"
" mov.f32 %f67, 0f40800000; \n"
" mul.f32 %f68, %f66, %f67;\n"
" mul.f32 %f69, %f65, %f56;\n"
" mul.f32 %f70, %f69, %f69;\n"
" mul.f32 %f71, %f69, %f70;\n"
" mul.f32 %f72, %f68, %f71;\n"
" mov.f32 %f73, %f72;\n"
" .loc 14 315 0\n"
" mul.f32 %f74, %f71, %f72;\n"
" mov.f32 %f75, %f74;\n"
" .loc 14 316 0\n"
" mov.f32 %f76, 0f40c00000; \n"
" mul.f32 %f77, %f72, %f76;\n"
" mov.f32 %f78, 0f41400000; \n"
" mul.f32 %f79, %f78, %f74;\n"
" sub.f32 %f80, %f79, %f77;\n"
" .loc 14 290 0\n"
" ld.shared.f32 %f37, [%rd27+0];\n"
" .loc 14 316 0\n"
" mul.f32 %f81, %f37, %f80;\n"
" ld.param.f32 %f82, [__cudaparm_kernel_pair_fast_cut_lj_innersq];\n"
" setp.gt.f32 %p8, %f54, %f82;\n"
" @!%p8 bra $Lt_1_14850;\n"
" .loc 14 322 0\n"
" add.f32 %f83, %f54, %f54;\n"
" sub.f32 %f84, %f55, %f54;\n"
" add.f32 %f85, %f83, %f55;\n"
" mul.f32 %f86, %f84, %f84;\n"
" mov.f32 %f87, 0f40400000; \n"
" mul.f32 %f88, %f87, %f82;\n"
" sub.f32 %f89, %f85, %f88;\n"
" ld.param.f32 %f90, [__cudaparm_kernel_pair_fast_denom_lj];\n"
" div.approx.f32 %f91, %f89, %f90;\n"
" mul.f32 %f92, %f86, %f91;\n"
" mov.f32 %f93, %f92;\n"
" .loc 14 325 0\n"
" mov.f32 %f94, 0f41400000; \n"
" mul.f32 %f95, %f54, %f94;\n"
" mul.f32 %f96, %f84, %f95;\n"
" sub.f32 %f97, %f54, %f82;\n"
" mul.f32 %f98, %f96, %f97;\n"
" div.approx.f32 %f99, %f98, %f90;\n"
" sub.f32 %f100, %f74, %f72;\n"
" mul.f32 %f101, %f99, %f100;\n"
" mad.f32 %f81, %f81, %f92, %f101;\n"
" bra.uni $Lt_1_14850;\n"
"$Lt_1_15106:\n"
" .loc 14 328 0\n"
" mov.f32 %f81, 0f00000000; \n"
"$Lt_1_14850:\n"
" ld.param.f32 %f102, [__cudaparm_kernel_pair_fast_cut_coulsq];\n"
" setp.gt.f32 %p9, %f102, %f54;\n"
" @!%p9 bra $Lt_1_16130;\n"
" .loc 14 335 0\n"
" sqrt.approx.f32 %f103, %f54;\n"
" ld.param.f32 %f104, [__cudaparm_kernel_pair_fast_g_ewald];\n"
" mul.f32 %f105, %f104, %f103;\n"
" mul.f32 %f106, %f105, %f105;\n"
" mov.f32 %f107, 0f3f800000; \n"
" mov.f32 %f108, 0f3ea7ba05; \n"
" mad.f32 %f109, %f108, %f105, %f107;\n"
" neg.f32 %f110, %f106;\n"
" rcp.approx.f32 %f111, %f109;\n"
" mov.f32 %f112, 0f3fb8aa3b; \n"
" mul.f32 %f113, %f110, %f112;\n"
" ex2.approx.f32 %f114, %f113;\n"
" mov.f32 %f115, 0f3e827906; \n"
" mov.f32 %f116, 0fbe91a98e; \n"
" mov.f32 %f117, 0f3fb5f0e3; \n"
" mov.f32 %f118, 0fbfba00e3; \n"
" mov.f32 %f119, 0f3f87dc22; \n"
" mad.f32 %f120, %f119, %f111, %f118;\n"
" mad.f32 %f121, %f111, %f120, %f117;\n"
" mad.f32 %f122, %f111, %f121, %f116;\n"
" mad.f32 %f123, %f111, %f122, %f115;\n"
" mul.f32 %f124, %f111, %f123;\n"
" mul.f32 %f125, %f114, %f124;\n"
" mov.f32 %f126, %f125;\n"
" mov.s32 %r33, %r27;\n"
" mov.s32 %r34, 0;\n"
" mov.s32 %r35, 0;\n"
" mov.s32 %r36, 0;\n"
" tex.1d.v4.f32.s32 {%f127,%f128,%f129,%f130},[q_tex,{%r33,%r34,%r35,%r36}];\n"
" .loc 14 336 0\n"
" mov.f32 %f131, %f127;\n"
" ld.param.f32 %f132, [__cudaparm_kernel_pair_fast_qqrd2e];\n"
" mul.f32 %f133, %f132, %f30;\n"
" mul.f32 %f134, %f133, %f131;\n"
" div.approx.f32 %f135, %f134, %f103;\n"
" mov.f32 %f136, %f135;\n"
" .loc 14 337 0\n"
" mov.f32 %f137, 0f3f906ebb; \n"
" mul.f32 %f138, %f105, %f137;\n"
" mad.f32 %f139, %f114, %f138, %f125;\n"
" sub.f32 %f140, %f139, %f40;\n"
" mul.f32 %f141, %f135, %f140;\n"
" bra.uni $Lt_1_15874;\n"
"$Lt_1_16130:\n"
" .loc 14 340 0\n"
" mov.f32 %f136, 0f00000000; \n"
" mov.f32 %f141, 0f00000000; \n"
"$Lt_1_15874:\n"
" .loc 14 345 0\n"
" add.f32 %f142, %f141, %f81;\n"
" mul.f32 %f143, %f142, %f56;\n"
" mad.f32 %f33, %f50, %f143, %f33;\n"
" .loc 14 346 0\n"
" mad.f32 %f32, %f49, %f143, %f32;\n"
" .loc 14 347 0\n"
" mad.f32 %f31, %f51, %f143, %f31;\n"
" @!%p4 bra $Lt_1_16898;\n"
" .loc 14 350 0\n"
" mov.f32 %f144, %f126;\n"
" sub.f32 %f145, %f144, %f40;\n"
" mad.f32 %f34, %f136, %f145, %f34;\n"
" @!%p7 bra $Lt_1_16898;\n"
" .loc 14 355 0\n"
" mov.f32 %f146, %f75;\n"
" mov.f32 %f147, %f73;\n"
" sub.f32 %f148, %f146, %f147;\n"
" mov.f32 %f149, %f93;\n"
" mul.f32 %f150, %f149, %f148;\n"
" ld.param.f32 %f151, [__cudaparm_kernel_pair_fast_cut_lj_innersq];\n"
" setp.lt.f32 %p10, %f151, %f54;\n"
" selp.f32 %f152, %f150, %f148, %p10;\n"
" .loc 14 290 0\n"
" ld.shared.f32 %f37, [%rd27+0];\n"
" .loc 14 355 0\n"
" mad.f32 %f35, %f37, %f152, %f35;\n"
"$Lt_1_16898:\n"
"$Lt_1_16386:\n"
" @!%p5 bra $Lt_1_17410;\n"
" .loc 14 359 0\n"
" mov.f32 %f153, %f7;\n"
" mul.f32 %f154, %f50, %f50;\n"
" mad.f32 %f155, %f143, %f154, %f153;\n"
" mov.f32 %f7, %f155;\n"
" .loc 14 360 0\n"
" mov.f32 %f156, %f9;\n"
" mad.f32 %f157, %f143, %f52, %f156;\n"
" mov.f32 %f9, %f157;\n"
" .loc 14 361 0\n"
" mov.f32 %f158, %f11;\n"
" mul.f32 %f159, %f51, %f51;\n"
" mad.f32 %f160, %f143, %f159, %f158;\n"
" mov.f32 %f11, %f160;\n"
" .loc 14 362 0\n"
" mov.f32 %f161, %f13;\n"
" mul.f32 %f162, %f49, %f50;\n"
" mad.f32 %f163, %f143, %f162, %f161;\n"
" mov.f32 %f13, %f163;\n"
" .loc 14 363 0\n"
" mov.f32 %f164, %f15;\n"
" mul.f32 %f165, %f50, %f51;\n"
" mad.f32 %f166, %f143, %f165, %f164;\n"
" mov.f32 %f15, %f166;\n"
" .loc 14 364 0\n"
" mul.f32 %f167, %f49, %f51;\n"
" mad.f32 %f16, %f143, %f167, %f16;\n"
" mov.f32 %f168, %f16;\n"
"$Lt_1_17410:\n"
"$Lt_1_14338:\n"
" .loc 14 286 0\n"
" add.u64 %rd20, %rd17, %rd20;\n"
" setp.gt.u64 %p11, %rd23, %rd20;\n"
" @%p11 bra $Lt_1_14082;\n"
" bra.uni $Lt_1_13570;\n"
"$Lt_1_19202:\n"
" mov.s32 %r37, 0;\n"
" setp.gt.s32 %p4, %r21, %r37;\n"
" mov.s32 %r38, 0;\n"
" setp.gt.s32 %p5, %r20, %r38;\n"
"$Lt_1_13570:\n"
" .loc 14 371 0\n"
" ld.param.u64 %rd34, [__cudaparm_kernel_pair_fast_engv];\n"
" add.u64 %rd35, %rd34, %rd13;\n"
" @!%p4 bra $Lt_1_18178;\n"
" .loc 14 373 0\n"
" st.global.f32 [%rd35+0], %f35;\n"
" .loc 14 374 0\n"
" cvt.u64.s32 %rd36, %r7;\n"
" mul.lo.u64 %rd37, %rd36, 4;\n"
" add.u64 %rd35, %rd37, %rd35;\n"
" .loc 14 375 0\n"
" st.global.f32 [%rd35+0], %f34;\n"
" .loc 14 376 0\n"
" add.u64 %rd35, %rd37, %rd35;\n"
"$Lt_1_18178:\n"
" @!%p5 bra $Lt_1_18690;\n"
" .loc 14 380 0\n"
" mov.f32 %f169, %f7;\n"
" st.global.f32 [%rd35+0], %f169;\n"
" .loc 14 381 0\n"
" cvt.u64.s32 %rd38, %r7;\n"
" mul.lo.u64 %rd39, %rd38, 4;\n"
" add.u64 %rd35, %rd39, %rd35;\n"
" .loc 14 380 0\n"
" mov.f32 %f170, %f9;\n"
" st.global.f32 [%rd35+0], %f170;\n"
" .loc 14 381 0\n"
" add.u64 %rd35, %rd39, %rd35;\n"
" .loc 14 380 0\n"
" mov.f32 %f171, %f11;\n"
" st.global.f32 [%rd35+0], %f171;\n"
" .loc 14 381 0\n"
" add.u64 %rd35, %rd39, %rd35;\n"
" .loc 14 380 0\n"
" mov.f32 %f172, %f13;\n"
" st.global.f32 [%rd35+0], %f172;\n"
" .loc 14 381 0\n"
" add.u64 %rd35, %rd39, %rd35;\n"
" .loc 14 380 0\n"
" mov.f32 %f173, %f15;\n"
" st.global.f32 [%rd35+0], %f173;\n"
" add.u64 %rd40, %rd39, %rd35;\n"
" st.global.f32 [%rd40+0], %f16;\n"
"$Lt_1_18690:\n"
" .loc 14 384 0\n"
" ld.param.u64 %rd41, [__cudaparm_kernel_pair_fast_ans];\n"
" mul.lo.u64 %rd42, %rd12, 16;\n"
" add.u64 %rd43, %rd41, %rd42;\n"
" mov.f32 %f174, %f175;\n"
" st.global.v4.f32 [%rd43+0], {%f33,%f32,%f31,%f174};\n"
"$Lt_1_13058:\n"
" .loc 14 386 0\n"
" exit;\n"
"$LDWend_kernel_pair_fast:\n"
" }\n"
;