819 lines
26 KiB
C
819 lines
26 KiB
C
const char * pppm_f_gpu_kernel =
|
|
" .version 2.3\n"
|
|
" .target sm_20\n"
|
|
" .address_size 64\n"
|
|
" .global .texref pos_tex;\n"
|
|
" .global .texref q_tex;\n"
|
|
" .entry particle_map (\n"
|
|
" .param .u64 __cudaparm_particle_map_x_,\n"
|
|
" .param .u64 __cudaparm_particle_map_q_,\n"
|
|
" .param .f32 __cudaparm_particle_map_delvolinv,\n"
|
|
" .param .s32 __cudaparm_particle_map_nlocal,\n"
|
|
" .param .u64 __cudaparm_particle_map_counts,\n"
|
|
" .param .u64 __cudaparm_particle_map_ans,\n"
|
|
" .param .f32 __cudaparm_particle_map_b_lo_x,\n"
|
|
" .param .f32 __cudaparm_particle_map_b_lo_y,\n"
|
|
" .param .f32 __cudaparm_particle_map_b_lo_z,\n"
|
|
" .param .f32 __cudaparm_particle_map_delxinv,\n"
|
|
" .param .f32 __cudaparm_particle_map_delyinv,\n"
|
|
" .param .f32 __cudaparm_particle_map_delzinv,\n"
|
|
" .param .s32 __cudaparm_particle_map_nlocal_x,\n"
|
|
" .param .s32 __cudaparm_particle_map_nlocal_y,\n"
|
|
" .param .s32 __cudaparm_particle_map_nlocal_z,\n"
|
|
" .param .s32 __cudaparm_particle_map_atom_stride,\n"
|
|
" .param .s32 __cudaparm_particle_map_max_atoms,\n"
|
|
" .param .u64 __cudaparm_particle_map_error)\n"
|
|
" {\n"
|
|
" .reg .u32 %r<50>;\n"
|
|
" .reg .u64 %rd<12>;\n"
|
|
" .reg .f32 %f<44>;\n"
|
|
" .reg .pred %p<11>;\n"
|
|
" .loc 17 113 0\n"
|
|
"$LDWbegin_particle_map:\n"
|
|
" mov.u32 %r1, %ntid.x;\n"
|
|
" mov.u32 %r2, %ctaid.x;\n"
|
|
" mul.lo.u32 %r3, %r2, %r1;\n"
|
|
" mov.u32 %r4, %nctaid.x;\n"
|
|
" mul.lo.u32 %r5, %r4, %r1;\n"
|
|
" mov.u32 %r6, %tid.x;\n"
|
|
" add.u32 %r7, %r6, %r3;\n"
|
|
" sub.s32 %r8, %r5, 1;\n"
|
|
" mul.lo.s32 %r9, %r7, 64;\n"
|
|
" div.s32 %r10, %r9, %r5;\n"
|
|
" mul.lo.s32 %r11, %r8, %r10;\n"
|
|
" sub.s32 %r12, %r9, %r11;\n"
|
|
" ld.param.s32 %r13, [__cudaparm_particle_map_nlocal];\n"
|
|
" setp.le.s32 %p1, %r13, %r12;\n"
|
|
" @%p1 bra $Lt_0_7426;\n"
|
|
" .loc 17 125 0\n"
|
|
" mov.u32 %r14, %r12;\n"
|
|
" mov.s32 %r15, 0;\n"
|
|
" mov.u32 %r16, %r15;\n"
|
|
" mov.s32 %r17, 0;\n"
|
|
" mov.u32 %r18, %r17;\n"
|
|
" mov.s32 %r19, 0;\n"
|
|
" mov.u32 %r20, %r19;\n"
|
|
" tex.1d.v4.f32.s32 {%f1,%f2,%f3,%f4},[pos_tex,{%r14,%r16,%r18,%r20}];\n"
|
|
" mov.f32 %f5, %f1;\n"
|
|
" mov.f32 %f6, %f2;\n"
|
|
" mov.f32 %f7, %f3;\n"
|
|
" .loc 17 127 0\n"
|
|
" mov.u32 %r21, %r12;\n"
|
|
" mov.s32 %r22, 0;\n"
|
|
" mov.u32 %r23, %r22;\n"
|
|
" mov.s32 %r24, 0;\n"
|
|
" mov.u32 %r25, %r24;\n"
|
|
" mov.s32 %r26, 0;\n"
|
|
" mov.u32 %r27, %r26;\n"
|
|
" tex.1d.v4.f32.s32 {%f8,%f9,%f10,%f11},[q_tex,{%r21,%r23,%r25,%r27}];\n"
|
|
" mov.f32 %f12, %f8;\n"
|
|
" ld.param.f32 %f13, [__cudaparm_particle_map_delvolinv];\n"
|
|
" mul.ftz.f32 %f14, %f13, %f12;\n"
|
|
" mov.f32 %f15, 0f00000000; \n"
|
|
" setp.neu.ftz.f32 %p2, %f14, %f15;\n"
|
|
" @!%p2 bra $Lt_0_7426;\n"
|
|
" .loc 17 130 0\n"
|
|
" ld.param.f32 %f16, [__cudaparm_particle_map_b_lo_x];\n"
|
|
" sub.ftz.f32 %f17, %f5, %f16;\n"
|
|
" ld.param.f32 %f18, [__cudaparm_particle_map_delxinv];\n"
|
|
" mul.ftz.f32 %f19, %f18, %f17;\n"
|
|
" mov.f32 %f20, 0f00000000; \n"
|
|
" setp.lt.ftz.f32 %p3, %f19, %f20;\n"
|
|
" @%p3 bra $Lt_0_8706;\n"
|
|
" ld.param.f32 %f21, [__cudaparm_particle_map_b_lo_y];\n"
|
|
" sub.ftz.f32 %f22, %f6, %f21;\n"
|
|
" ld.param.f32 %f23, [__cudaparm_particle_map_delyinv];\n"
|
|
" mul.ftz.f32 %f24, %f23, %f22;\n"
|
|
" mov.f32 %f25, 0f00000000; \n"
|
|
" setp.lt.ftz.f32 %p4, %f24, %f25;\n"
|
|
" @%p4 bra $Lt_0_8706;\n"
|
|
" ld.param.f32 %f26, [__cudaparm_particle_map_b_lo_z];\n"
|
|
" sub.ftz.f32 %f27, %f7, %f26;\n"
|
|
" ld.param.f32 %f28, [__cudaparm_particle_map_delzinv];\n"
|
|
" mul.ftz.f32 %f29, %f28, %f27;\n"
|
|
" mov.f32 %f30, 0f00000000; \n"
|
|
" setp.lt.ftz.f32 %p5, %f29, %f30;\n"
|
|
" @%p5 bra $Lt_0_8706;\n"
|
|
" cvt.rzi.ftz.s32.f32 %r28, %f19;\n"
|
|
" ld.param.s32 %r29, [__cudaparm_particle_map_nlocal_x];\n"
|
|
" setp.ge.s32 %p6, %r28, %r29;\n"
|
|
" @%p6 bra $Lt_0_8706;\n"
|
|
" cvt.rzi.ftz.s32.f32 %r30, %f24;\n"
|
|
" ld.param.s32 %r31, [__cudaparm_particle_map_nlocal_y];\n"
|
|
" setp.ge.s32 %p7, %r30, %r31;\n"
|
|
" @%p7 bra $Lt_0_8706;\n"
|
|
" cvt.rzi.ftz.s32.f32 %r32, %f29;\n"
|
|
" ld.param.s32 %r33, [__cudaparm_particle_map_nlocal_z];\n"
|
|
" setp.gt.s32 %p8, %r33, %r32;\n"
|
|
" @%p8 bra $L_0_4866;\n"
|
|
"$Lt_0_8706:\n"
|
|
"$L_0_5122:\n"
|
|
" .loc 17 139 0\n"
|
|
" mov.s32 %r34, 1;\n"
|
|
" ld.param.u64 %rd1, [__cudaparm_particle_map_error];\n"
|
|
" st.global.s32 [%rd1+0], %r34;\n"
|
|
" bra.uni $Lt_0_7426;\n"
|
|
"$L_0_4866:\n"
|
|
" .loc 17 146 0\n"
|
|
" mul.lo.s32 %r35, %r32, %r31;\n"
|
|
" add.s32 %r36, %r30, %r35;\n"
|
|
" mul.lo.s32 %r37, %r36, %r29;\n"
|
|
" add.s32 %r38, %r28, %r37;\n"
|
|
" ld.param.u64 %rd2, [__cudaparm_particle_map_counts];\n"
|
|
" cvt.s64.s32 %rd3, %r38;\n"
|
|
" mul.wide.s32 %rd4, %r38, 4;\n"
|
|
" add.u64 %rd5, %rd2, %rd4;\n"
|
|
" mov.s32 %r39, 1;\n"
|
|
" atom.global.add.s32 %r40, [%rd5], %r39;\n"
|
|
" mov.s32 %r41, %r40;\n"
|
|
" ld.param.s32 %r42, [__cudaparm_particle_map_max_atoms];\n"
|
|
" setp.gt.s32 %p9, %r42, %r41;\n"
|
|
" @%p9 bra $Lt_0_7682;\n"
|
|
" .loc 17 148 0\n"
|
|
" mov.s32 %r43, 2;\n"
|
|
" ld.param.u64 %rd6, [__cudaparm_particle_map_error];\n"
|
|
" st.global.s32 [%rd6+0], %r43;\n"
|
|
" .loc 16 118 0\n"
|
|
" mov.s32 %r44, -1;\n"
|
|
" atom.global.add.s32 %r45, [%rd5], %r44;\n"
|
|
" bra.uni $Lt_0_7426;\n"
|
|
"$Lt_0_7682:\n"
|
|
" .loc 17 151 0\n"
|
|
" ld.param.u64 %rd7, [__cudaparm_particle_map_ans];\n"
|
|
" ld.param.s32 %r46, [__cudaparm_particle_map_atom_stride];\n"
|
|
" mul.lo.s32 %r47, %r46, %r41;\n"
|
|
" add.s32 %r48, %r38, %r47;\n"
|
|
" cvt.s64.s32 %rd8, %r48;\n"
|
|
" mul.wide.s32 %rd9, %r48, 16;\n"
|
|
" add.u64 %rd10, %rd7, %rd9;\n"
|
|
" cvt.rn.f32.s32 %f31, %r28;\n"
|
|
" mov.f32 %f32, 0f3f000000; \n"
|
|
" add.ftz.f32 %f33, %f31, %f32;\n"
|
|
" sub.ftz.f32 %f34, %f33, %f19;\n"
|
|
" cvt.rn.f32.s32 %f35, %r30;\n"
|
|
" mov.f32 %f36, 0f3f000000; \n"
|
|
" add.ftz.f32 %f37, %f35, %f36;\n"
|
|
" sub.ftz.f32 %f38, %f37, %f24;\n"
|
|
" cvt.rn.f32.s32 %f39, %r32;\n"
|
|
" mov.f32 %f40, 0f3f000000; \n"
|
|
" add.ftz.f32 %f41, %f39, %f40;\n"
|
|
" sub.ftz.f32 %f42, %f41, %f29;\n"
|
|
" st.global.v4.f32 [%rd10+0], {%f34,%f38,%f42,%f14};\n"
|
|
"$Lt_0_7426:\n"
|
|
"$L_0_4610:\n"
|
|
"$Lt_0_6914:\n"
|
|
"$Lt_0_6402:\n"
|
|
" .loc 17 155 0\n"
|
|
" exit;\n"
|
|
"$LDWend_particle_map:\n"
|
|
" }\n"
|
|
" .entry make_rho (\n"
|
|
" .param .u64 __cudaparm_make_rho_counts,\n"
|
|
" .param .u64 __cudaparm_make_rho_atoms,\n"
|
|
" .param .u64 __cudaparm_make_rho_brick,\n"
|
|
" .param .u64 __cudaparm_make_rho__rho_coeff,\n"
|
|
" .param .s32 __cudaparm_make_rho_atom_stride,\n"
|
|
" .param .s32 __cudaparm_make_rho_npts_x,\n"
|
|
" .param .s32 __cudaparm_make_rho_npts_y,\n"
|
|
" .param .s32 __cudaparm_make_rho_npts_z,\n"
|
|
" .param .s32 __cudaparm_make_rho_nlocal_x,\n"
|
|
" .param .s32 __cudaparm_make_rho_nlocal_y,\n"
|
|
" .param .s32 __cudaparm_make_rho_nlocal_z,\n"
|
|
" .param .s32 __cudaparm_make_rho_order_m_1,\n"
|
|
" .param .s32 __cudaparm_make_rho_order,\n"
|
|
" .param .s32 __cudaparm_make_rho_order2)\n"
|
|
" {\n"
|
|
" .reg .u32 %r<119>;\n"
|
|
" .reg .u64 %rd<57>;\n"
|
|
" .reg .f32 %f<26>;\n"
|
|
" .reg .pred %p<27>;\n"
|
|
" .shared .align 4 .b8 __cuda___cuda_local_var_32531_33_non_const_rho_coeff168[256];\n"
|
|
" .shared .align 4 .b8 __cuda___cuda_local_var_32532_33_non_const_front424[320];\n"
|
|
" .shared .align 4 .b8 __cuda___cuda_local_var_32533_33_non_const_ans744[2048];\n"
|
|
" .loc 17 164 0\n"
|
|
"$LDWbegin_make_rho:\n"
|
|
" ld.param.s32 %r1, [__cudaparm_make_rho_order2];\n"
|
|
" ld.param.s32 %r2, [__cudaparm_make_rho_order];\n"
|
|
" add.s32 %r3, %r1, %r2;\n"
|
|
" cvt.s32.u32 %r4, %tid.x;\n"
|
|
" setp.le.s32 %p1, %r3, %r4;\n"
|
|
" @%p1 bra $Lt_1_16898;\n"
|
|
" .loc 17 171 0\n"
|
|
" mov.u64 %rd1, __cuda___cuda_local_var_32531_33_non_const_rho_coeff168;\n"
|
|
" cvt.s64.s32 %rd2, %r4;\n"
|
|
" mul.wide.s32 %rd3, %r4, 4;\n"
|
|
" ld.param.u64 %rd4, [__cudaparm_make_rho__rho_coeff];\n"
|
|
" add.u64 %rd5, %rd4, %rd3;\n"
|
|
" ld.global.f32 %f1, [%rd5+0];\n"
|
|
" add.u64 %rd6, %rd3, %rd1;\n"
|
|
" st.shared.f32 [%rd6+0], %f1;\n"
|
|
"$Lt_1_16898:\n"
|
|
" mov.u64 %rd1, __cuda___cuda_local_var_32531_33_non_const_rho_coeff168;\n"
|
|
" shr.s32 %r5, %r4, 31;\n"
|
|
" mov.s32 %r6, 31;\n"
|
|
" and.b32 %r7, %r5, %r6;\n"
|
|
" add.s32 %r8, %r7, %r4;\n"
|
|
" shr.s32 %r9, %r8, 5;\n"
|
|
" mul.lo.s32 %r10, %r9, 32;\n"
|
|
" sub.s32 %r11, %r4, %r10;\n"
|
|
" setp.lt.s32 %p2, %r11, %r2;\n"
|
|
" @!%p2 bra $Lt_1_17410;\n"
|
|
" .loc 17 177 0\n"
|
|
" mov.u64 %rd7, __cuda___cuda_local_var_32532_33_non_const_front424;\n"
|
|
" mov.f32 %f2, 0f00000000; \n"
|
|
" cvt.s64.s32 %rd8, %r11;\n"
|
|
" shr.s32 %r12, %r4, 31;\n"
|
|
" mov.s32 %r13, 31;\n"
|
|
" and.b32 %r14, %r12, %r13;\n"
|
|
" add.s32 %r15, %r14, %r4;\n"
|
|
" shr.s32 %r16, %r15, 5;\n"
|
|
" cvt.s64.s32 %rd9, %r16;\n"
|
|
" mul.wide.s32 %rd10, %r16, 40;\n"
|
|
" add.u64 %rd11, %rd8, %rd10;\n"
|
|
" mul.lo.u64 %rd12, %rd11, 4;\n"
|
|
" add.u64 %rd13, %rd7, %rd12;\n"
|
|
" st.shared.f32 [%rd13+128], %f2;\n"
|
|
"$Lt_1_17410:\n"
|
|
" mov.u64 %rd7, __cuda___cuda_local_var_32532_33_non_const_front424;\n"
|
|
" .loc 17 179 0\n"
|
|
" bar.sync 0;\n"
|
|
" ld.param.s32 %r17, [__cudaparm_make_rho_npts_x];\n"
|
|
" shr.s32 %r18, %r17, 31;\n"
|
|
" mov.s32 %r19, 31;\n"
|
|
" and.b32 %r20, %r18, %r19;\n"
|
|
" add.s32 %r21, %r20, %r17;\n"
|
|
" shr.s32 %r22, %r21, 5;\n"
|
|
" add.s32 %r23, %r22, 1;\n"
|
|
" mov.u32 %r24, 0;\n"
|
|
" setp.le.s32 %p3, %r23, %r24;\n"
|
|
" @%p3 bra $Lt_1_17922;\n"
|
|
" shr.s32 %r25, %r4, 31;\n"
|
|
" mov.s32 %r26, 31;\n"
|
|
" and.b32 %r27, %r25, %r26;\n"
|
|
" add.s32 %r28, %r27, %r4;\n"
|
|
" shr.s32 %r29, %r28, 5;\n"
|
|
" add.s32 %r30, %r11, 32;\n"
|
|
" ld.param.s32 %r31, [__cudaparm_make_rho_nlocal_y];\n"
|
|
" ld.param.s32 %r32, [__cudaparm_make_rho_nlocal_x];\n"
|
|
" mul.lo.s32 %r33, %r31, %r32;\n"
|
|
" mov.u32 %r34, %ctaid.x;\n"
|
|
" mul.lo.u32 %r35, %r34, 2;\n"
|
|
" add.u32 %r36, %r29, %r35;\n"
|
|
" ld.param.s32 %r37, [__cudaparm_make_rho_npts_y];\n"
|
|
" div.s32 %r38, %r36, %r37;\n"
|
|
" ld.param.s32 %r39, [__cudaparm_make_rho_order_m_1];\n"
|
|
" setp.lt.s32 %p4, %r38, %r39;\n"
|
|
" sub.s32 %r40, %r39, %r38;\n"
|
|
" mov.s32 %r41, 0;\n"
|
|
" selp.s32 %r42, %r40, %r41, %p4;\n"
|
|
" ld.param.s32 %r43, [__cudaparm_make_rho_nlocal_z];\n"
|
|
" setp.ge.s32 %p5, %r38, %r43;\n"
|
|
" sub.s32 %r44, %r43, %r38;\n"
|
|
" add.s32 %r45, %r44, %r2;\n"
|
|
" sub.s32 %r46, %r45, 1;\n"
|
|
" selp.s32 %r47, %r46, %r2, %p5;\n"
|
|
" rem.s32 %r48, %r36, %r37;\n"
|
|
" setp.lt.s32 %p6, %r48, %r39;\n"
|
|
" sub.s32 %r49, %r39, %r48;\n"
|
|
" mov.s32 %r50, 0;\n"
|
|
" selp.s32 %r51, %r49, %r50, %p6;\n"
|
|
" setp.ge.s32 %p7, %r48, %r31;\n"
|
|
" sub.s32 %r52, %r31, %r48;\n"
|
|
" add.s32 %r53, %r52, %r2;\n"
|
|
" sub.s32 %r54, %r53, 1;\n"
|
|
" selp.s32 %r55, %r54, %r2, %p7;\n"
|
|
" mov.s32 %r56, %r23;\n"
|
|
" mov.s32 %r57, 0;\n"
|
|
" setp.gt.s32 %p8, %r2, %r57;\n"
|
|
" mov.s32 %r58, 0;\n"
|
|
" cvt.s64.s32 %rd14, %r11;\n"
|
|
" cvt.s64.s32 %rd15, %r29;\n"
|
|
" mul.lo.s32 %r59, %r23, 32;\n"
|
|
" mul.wide.s32 %rd16, %r29, 40;\n"
|
|
" add.u64 %rd17, %rd14, %rd16;\n"
|
|
" ld.param.s32 %r60, [__cudaparm_make_rho_npts_z];\n"
|
|
" setp.gt.s32 %p9, %r60, %r38;\n"
|
|
" mul.lo.u64 %rd18, %rd17, 4;\n"
|
|
" selp.s32 %r61, 1, 0, %p9;\n"
|
|
" add.u64 %rd19, %rd18, %rd7;\n"
|
|
" mov.u64 %rd20, __cuda___cuda_local_var_32533_33_non_const_ans744;\n"
|
|
" mov.s32 %r62, %r56;\n"
|
|
"$Lt_1_18434:\n"
|
|
" @!%p8 bra $Lt_1_18690;\n"
|
|
" mov.s32 %r63, %r2;\n"
|
|
" cvt.s64.s32 %rd21, %r4;\n"
|
|
" mul.wide.s32 %rd22, %r4, 4;\n"
|
|
" add.u64 %rd23, %rd20, %rd22;\n"
|
|
" mov.s32 %r64, 0;\n"
|
|
" mov.s32 %r65, %r63;\n"
|
|
"$Lt_1_19202:\n"
|
|
" .loc 17 203 0\n"
|
|
" mov.f32 %f3, 0f00000000; \n"
|
|
" st.shared.f32 [%rd23+0], %f3;\n"
|
|
" add.s32 %r64, %r64, 1;\n"
|
|
" add.u64 %rd23, %rd23, 256;\n"
|
|
" setp.ne.s32 %p10, %r64, %r2;\n"
|
|
" @%p10 bra $Lt_1_19202;\n"
|
|
"$Lt_1_18690:\n"
|
|
" add.s32 %r66, %r11, %r58;\n"
|
|
" set.lt.u32.s32 %r67, %r66, %r32;\n"
|
|
" neg.s32 %r68, %r67;\n"
|
|
" and.b32 %r69, %r61, %r68;\n"
|
|
" mov.u32 %r70, 0;\n"
|
|
" setp.eq.s32 %p11, %r69, %r70;\n"
|
|
" @%p11 bra $Lt_1_20226;\n"
|
|
" .loc 17 206 0\n"
|
|
" mov.s32 %r71, %r42;\n"
|
|
" setp.ge.s32 %p12, %r42, %r47;\n"
|
|
" @%p12 bra $Lt_1_20226;\n"
|
|
" sub.s32 %r72, %r47, %r42;\n"
|
|
" setp.lt.s32 %p13, %r51, %r55;\n"
|
|
" mov.s32 %r73, %r72;\n"
|
|
"$Lt_1_20738:\n"
|
|
" .loc 17 208 0\n"
|
|
" mov.s32 %r74, %r51;\n"
|
|
" @!%p13 bra $Lt_1_20994;\n"
|
|
" sub.s32 %r75, %r55, %r51;\n"
|
|
" sub.s32 %r76, %r71, %r42;\n"
|
|
" add.s32 %r77, %r38, %r42;\n"
|
|
" add.s32 %r78, %r48, %r51;\n"
|
|
" sub.s32 %r79, %r77, %r39;\n"
|
|
" sub.s32 %r80, %r78, %r39;\n"
|
|
" add.s32 %r81, %r76, %r79;\n"
|
|
" mul.lo.s32 %r82, %r33, %r81;\n"
|
|
" ld.param.s32 %r83, [__cudaparm_make_rho_atom_stride];\n"
|
|
" ld.param.u64 %rd24, [__cudaparm_make_rho_counts];\n"
|
|
" mov.s32 %r84, %r75;\n"
|
|
"$Lt_1_21506:\n"
|
|
" .loc 17 210 0\n"
|
|
" sub.s32 %r85, %r74, %r51;\n"
|
|
" add.s32 %r86, %r85, %r80;\n"
|
|
" mul.lo.s32 %r87, %r86, %r32;\n"
|
|
" add.s32 %r88, %r82, %r87;\n"
|
|
" add.s32 %r89, %r66, %r88;\n"
|
|
" cvt.s64.s32 %rd25, %r89;\n"
|
|
" mul.wide.s32 %rd26, %r89, 4;\n"
|
|
" add.u64 %rd27, %rd24, %rd26;\n"
|
|
" ld.global.s32 %r90, [%rd27+0];\n"
|
|
" mul.lo.s32 %r91, %r90, %r83;\n"
|
|
" .loc 17 211 0\n"
|
|
" mov.s32 %r92, %r89;\n"
|
|
" setp.ge.s32 %p14, %r89, %r91;\n"
|
|
" @%p14 bra $Lt_1_21762;\n"
|
|
" sub.s32 %r93, %r3, 1;\n"
|
|
" cvt.s64.s32 %rd28, %r83;\n"
|
|
" mul.wide.s32 %rd29, %r83, 16;\n"
|
|
" mov.s32 %r94, -1;\n"
|
|
" setp.gt.s32 %p15, %r93, %r94;\n"
|
|
" ld.param.u64 %rd30, [__cudaparm_make_rho_atoms];\n"
|
|
" mul.lo.u64 %rd31, %rd25, 16;\n"
|
|
" add.u64 %rd32, %rd30, %rd31;\n"
|
|
"$Lt_1_22274:\n"
|
|
" .loc 17 212 0\n"
|
|
" ld.global.f32 %f4, [%rd32+0];\n"
|
|
" @!%p15 bra $Lt_1_29954;\n"
|
|
" sub.s32 %r95, %r93, %r74;\n"
|
|
" mov.s32 %r96, -1;\n"
|
|
" sub.s32 %r97, %r96, %r74;\n"
|
|
" cvt.s64.s32 %rd33, %r2;\n"
|
|
" mul.wide.s32 %rd34, %r2, 4;\n"
|
|
" ld.global.f32 %f5, [%rd32+4];\n"
|
|
" ld.global.f32 %f6, [%rd32+8];\n"
|
|
" cvt.s64.s32 %rd35, %r95;\n"
|
|
" mul.wide.s32 %rd36, %r95, 4;\n"
|
|
" add.u64 %rd37, %rd1, %rd36;\n"
|
|
" sub.s32 %r98, %r93, %r71;\n"
|
|
" cvt.s64.s32 %rd38, %r98;\n"
|
|
" mul.wide.s32 %rd39, %r98, 4;\n"
|
|
" add.u64 %rd40, %rd1, %rd39;\n"
|
|
" mov.f32 %f7, 0f00000000; \n"
|
|
" mov.f32 %f8, 0f00000000; \n"
|
|
"$Lt_1_23042:\n"
|
|
" .loc 17 217 0\n"
|
|
" ld.shared.f32 %f9, [%rd37+0];\n"
|
|
" fma.rn.ftz.f32 %f8, %f8, %f5, %f9;\n"
|
|
" .loc 17 218 0\n"
|
|
" ld.shared.f32 %f10, [%rd40+0];\n"
|
|
" fma.rn.ftz.f32 %f7, %f7, %f6, %f10;\n"
|
|
" sub.u64 %rd40, %rd40, %rd34;\n"
|
|
" sub.s32 %r95, %r95, %r2;\n"
|
|
" sub.u64 %rd37, %rd37, %rd34;\n"
|
|
" setp.gt.s32 %p16, %r95, %r97;\n"
|
|
" @%p16 bra $Lt_1_23042;\n"
|
|
" bra.uni $Lt_1_22530;\n"
|
|
"$Lt_1_29954:\n"
|
|
" mov.f32 %f7, 0f00000000; \n"
|
|
" mov.f32 %f8, 0f00000000; \n"
|
|
"$Lt_1_22530:\n"
|
|
" .loc 17 220 0\n"
|
|
" ld.global.f32 %f11, [%rd32+12];\n"
|
|
" mul.ftz.f32 %f12, %f7, %f8;\n"
|
|
" mul.ftz.f32 %f13, %f11, %f12;\n"
|
|
" @!%p8 bra $Lt_1_23554;\n"
|
|
" mov.s32 %r99, %r2;\n"
|
|
" cvt.s64.s32 %rd41, %r4;\n"
|
|
" mul.wide.s32 %rd42, %r4, 4;\n"
|
|
" add.u64 %rd43, %rd20, %rd42;\n"
|
|
" mov.s32 %r100, 0;\n"
|
|
" mov.s32 %r101, %r99;\n"
|
|
"$Lt_1_24066:\n"
|
|
" .loc 17 224 0\n"
|
|
" add.s32 %r102, %r100, %r1;\n"
|
|
" mov.s32 %r103, %r102;\n"
|
|
" setp.lt.s32 %p17, %r102, %r100;\n"
|
|
" @%p17 bra $Lt_1_30466;\n"
|
|
" cvt.s64.s32 %rd44, %r2;\n"
|
|
" mul.wide.s32 %rd34, %r2, 4;\n"
|
|
" cvt.s64.s32 %rd45, %r102;\n"
|
|
" mul.wide.s32 %rd46, %r102, 4;\n"
|
|
" add.u64 %rd47, %rd1, %rd46;\n"
|
|
" mov.f32 %f14, 0f00000000; \n"
|
|
"$Lt_1_24834:\n"
|
|
" .loc 17 225 0\n"
|
|
" ld.shared.f32 %f15, [%rd47+0];\n"
|
|
" fma.rn.ftz.f32 %f14, %f4, %f14, %f15;\n"
|
|
" sub.s32 %r103, %r103, %r2;\n"
|
|
" sub.u64 %rd47, %rd47, %rd34;\n"
|
|
" setp.ge.s32 %p18, %r103, %r100;\n"
|
|
" @%p18 bra $Lt_1_24834;\n"
|
|
" bra.uni $Lt_1_24322;\n"
|
|
"$Lt_1_30466:\n"
|
|
" mov.f32 %f14, 0f00000000; \n"
|
|
"$Lt_1_24322:\n"
|
|
" .loc 17 226 0\n"
|
|
" ld.shared.f32 %f16, [%rd43+0];\n"
|
|
" fma.rn.ftz.f32 %f17, %f14, %f13, %f16;\n"
|
|
" st.shared.f32 [%rd43+0], %f17;\n"
|
|
" add.s32 %r100, %r100, 1;\n"
|
|
" add.u64 %rd43, %rd43, 256;\n"
|
|
" setp.ne.s32 %p19, %r100, %r2;\n"
|
|
" @%p19 bra $Lt_1_24066;\n"
|
|
"$Lt_1_23554:\n"
|
|
" add.s32 %r92, %r92, %r83;\n"
|
|
" add.u64 %rd32, %rd29, %rd32;\n"
|
|
" setp.gt.s32 %p20, %r91, %r92;\n"
|
|
" @%p20 bra $Lt_1_22274;\n"
|
|
"$Lt_1_21762:\n"
|
|
" add.s32 %r74, %r74, 1;\n"
|
|
" setp.ne.s32 %p21, %r55, %r74;\n"
|
|
" @%p21 bra $Lt_1_21506;\n"
|
|
"$Lt_1_20994:\n"
|
|
" add.s32 %r71, %r71, 1;\n"
|
|
" setp.ne.s32 %p22, %r47, %r71;\n"
|
|
" @%p22 bra $Lt_1_20738;\n"
|
|
"$Lt_1_20226:\n"
|
|
"$Lt_1_19714:\n"
|
|
" .loc 17 235 0\n"
|
|
" bar.sync 0;\n"
|
|
" @!%p2 bra $Lt_1_26626;\n"
|
|
" .loc 17 237 0\n"
|
|
" ld.shared.f32 %f18, [%rd19+128];\n"
|
|
" st.shared.f32 [%rd19+0], %f18;\n"
|
|
" .loc 17 238 0\n"
|
|
" mov.f32 %f19, 0f00000000; \n"
|
|
" st.shared.f32 [%rd19+128], %f19;\n"
|
|
" bra.uni $Lt_1_26370;\n"
|
|
"$Lt_1_26626:\n"
|
|
" .loc 17 240 0\n"
|
|
" mov.f32 %f20, 0f00000000; \n"
|
|
" st.shared.f32 [%rd19+0], %f20;\n"
|
|
"$Lt_1_26370:\n"
|
|
" @!%p8 bra $Lt_1_26882;\n"
|
|
" mov.s32 %r104, %r2;\n"
|
|
" cvt.s64.s32 %rd48, %r4;\n"
|
|
" mov.s32 %r105, %r11;\n"
|
|
" add.s32 %r106, %r11, %r2;\n"
|
|
" mul.wide.s32 %rd49, %r4, 4;\n"
|
|
" add.u64 %rd50, %rd20, %rd49;\n"
|
|
" mov.s64 %rd51, %rd19;\n"
|
|
" mov.s32 %r107, %r104;\n"
|
|
"$Lt_1_27394:\n"
|
|
" .loc 17 243 0\n"
|
|
" ld.shared.f32 %f21, [%rd50+0];\n"
|
|
" ld.shared.f32 %f22, [%rd51+0];\n"
|
|
" add.ftz.f32 %f23, %f21, %f22;\n"
|
|
" st.shared.f32 [%rd51+0], %f23;\n"
|
|
" .loc 17 244 0\n"
|
|
" bar.sync 0;\n"
|
|
" add.s32 %r105, %r105, 1;\n"
|
|
" add.u64 %rd51, %rd51, 4;\n"
|
|
" add.u64 %rd50, %rd50, 256;\n"
|
|
" setp.ne.s32 %p23, %r105, %r106;\n"
|
|
" @%p23 bra $Lt_1_27394;\n"
|
|
"$Lt_1_26882:\n"
|
|
" set.lt.u32.s32 %r108, %r66, %r17;\n"
|
|
" neg.s32 %r109, %r108;\n"
|
|
" and.b32 %r110, %r61, %r109;\n"
|
|
" mov.u32 %r111, 0;\n"
|
|
" setp.eq.s32 %p24, %r110, %r111;\n"
|
|
" @%p24 bra $Lt_1_27906;\n"
|
|
" .loc 17 248 0\n"
|
|
" ld.shared.f32 %f24, [%rd19+0];\n"
|
|
" ld.param.u64 %rd52, [__cudaparm_make_rho_brick];\n"
|
|
" add.s32 %r112, %r11, %r58;\n"
|
|
" mul.lo.s32 %r113, %r37, %r17;\n"
|
|
" mul.lo.s32 %r114, %r38, %r113;\n"
|
|
" mul.lo.s32 %r115, %r48, %r17;\n"
|
|
" add.s32 %r116, %r114, %r115;\n"
|
|
" add.s32 %r117, %r112, %r116;\n"
|
|
" cvt.s64.s32 %rd53, %r117;\n"
|
|
" mul.wide.s32 %rd54, %r117, 4;\n"
|
|
" add.u64 %rd55, %rd52, %rd54;\n"
|
|
" st.global.f32 [%rd55+0], %f24;\n"
|
|
"$Lt_1_27906:\n"
|
|
" add.s32 %r58, %r58, 32;\n"
|
|
" setp.ne.s32 %p25, %r58, %r59;\n"
|
|
" @%p25 bra $Lt_1_18434;\n"
|
|
"$Lt_1_17922:\n"
|
|
" .loc 17 252 0\n"
|
|
" exit;\n"
|
|
"$LDWend_make_rho:\n"
|
|
" }\n"
|
|
" .entry interp (\n"
|
|
" .param .u64 __cudaparm_interp_x_,\n"
|
|
" .param .u64 __cudaparm_interp_q_,\n"
|
|
" .param .s32 __cudaparm_interp_nlocal,\n"
|
|
" .param .u64 __cudaparm_interp_brick,\n"
|
|
" .param .u64 __cudaparm_interp__rho_coeff,\n"
|
|
" .param .s32 __cudaparm_interp_npts_x,\n"
|
|
" .param .s32 __cudaparm_interp_npts_yx,\n"
|
|
" .param .f32 __cudaparm_interp_b_lo_x,\n"
|
|
" .param .f32 __cudaparm_interp_b_lo_y,\n"
|
|
" .param .f32 __cudaparm_interp_b_lo_z,\n"
|
|
" .param .f32 __cudaparm_interp_delxinv,\n"
|
|
" .param .f32 __cudaparm_interp_delyinv,\n"
|
|
" .param .f32 __cudaparm_interp_delzinv,\n"
|
|
" .param .s32 __cudaparm_interp_order,\n"
|
|
" .param .s32 __cudaparm_interp_order2,\n"
|
|
" .param .f32 __cudaparm_interp_qqrd2e_scale,\n"
|
|
" .param .u64 __cudaparm_interp_ans)\n"
|
|
" {\n"
|
|
" .reg .u32 %r<56>;\n"
|
|
" .reg .u64 %rd<37>;\n"
|
|
" .reg .f32 %f<69>;\n"
|
|
" .reg .pred %p<14>;\n"
|
|
" .shared .align 4 .b8 __cuda___cuda_local_var_32629_33_non_const_rho_coeff2888[256];\n"
|
|
" .shared .align 4 .b8 __cuda___cuda_local_var_32630_33_non_const_rho1d_03144[2048];\n"
|
|
" .shared .align 4 .b8 __cuda___cuda_local_var_32631_33_non_const_rho1d_15192[2048];\n"
|
|
" .loc 17 262 0\n"
|
|
"$LDWbegin_interp:\n"
|
|
" ld.param.s32 %r1, [__cudaparm_interp_order2];\n"
|
|
" ld.param.s32 %r2, [__cudaparm_interp_order];\n"
|
|
" add.s32 %r3, %r1, %r2;\n"
|
|
" cvt.s32.u32 %r4, %tid.x;\n"
|
|
" setp.le.s32 %p1, %r3, %r4;\n"
|
|
" @%p1 bra $Lt_2_8706;\n"
|
|
" .loc 17 269 0\n"
|
|
" mov.u64 %rd1, __cuda___cuda_local_var_32629_33_non_const_rho_coeff2888;\n"
|
|
" cvt.s64.s32 %rd2, %r4;\n"
|
|
" mul.wide.s32 %rd3, %r4, 4;\n"
|
|
" ld.param.u64 %rd4, [__cudaparm_interp__rho_coeff];\n"
|
|
" add.u64 %rd5, %rd4, %rd3;\n"
|
|
" ld.global.f32 %f1, [%rd5+0];\n"
|
|
" add.u64 %rd6, %rd3, %rd1;\n"
|
|
" st.shared.f32 [%rd6+0], %f1;\n"
|
|
"$Lt_2_8706:\n"
|
|
" mov.u64 %rd1, __cuda___cuda_local_var_32629_33_non_const_rho_coeff2888;\n"
|
|
" .loc 17 270 0\n"
|
|
" bar.sync 0;\n"
|
|
" mov.u32 %r5, %ctaid.x;\n"
|
|
" mov.u32 %r6, %ntid.x;\n"
|
|
" mul.lo.u32 %r7, %r5, %r6;\n"
|
|
" add.u32 %r8, %r4, %r7;\n"
|
|
" ld.param.s32 %r9, [__cudaparm_interp_nlocal];\n"
|
|
" setp.le.s32 %p2, %r9, %r8;\n"
|
|
" @%p2 bra $Lt_2_9218;\n"
|
|
" .loc 17 278 0\n"
|
|
" mov.u32 %r10, %r8;\n"
|
|
" mov.s32 %r11, 0;\n"
|
|
" mov.u32 %r12, %r11;\n"
|
|
" mov.s32 %r13, 0;\n"
|
|
" mov.u32 %r14, %r13;\n"
|
|
" mov.s32 %r15, 0;\n"
|
|
" mov.u32 %r16, %r15;\n"
|
|
" tex.1d.v4.f32.s32 {%f2,%f3,%f4,%f5},[pos_tex,{%r10,%r12,%r14,%r16}];\n"
|
|
" mov.f32 %f6, %f2;\n"
|
|
" mov.f32 %f7, %f3;\n"
|
|
" mov.f32 %f8, %f4;\n"
|
|
" .loc 17 279 0\n"
|
|
" mov.u32 %r17, %r8;\n"
|
|
" mov.s32 %r18, 0;\n"
|
|
" mov.u32 %r19, %r18;\n"
|
|
" mov.s32 %r20, 0;\n"
|
|
" mov.u32 %r21, %r20;\n"
|
|
" mov.s32 %r22, 0;\n"
|
|
" mov.u32 %r23, %r22;\n"
|
|
" tex.1d.v4.f32.s32 {%f9,%f10,%f11,%f12},[q_tex,{%r17,%r19,%r21,%r23}];\n"
|
|
" mov.f32 %f13, %f9;\n"
|
|
" ld.param.f32 %f14, [__cudaparm_interp_qqrd2e_scale];\n"
|
|
" mul.ftz.f32 %f15, %f14, %f13;\n"
|
|
" mov.f32 %f16, 0f00000000; \n"
|
|
" setp.neu.ftz.f32 %p3, %f15, %f16;\n"
|
|
" @!%p3 bra $Lt_2_9986;\n"
|
|
" mov.s32 %r24, 0;\n"
|
|
" setp.gt.s32 %p4, %r2, %r24;\n"
|
|
" ld.param.f32 %f17, [__cudaparm_interp_b_lo_x];\n"
|
|
" sub.ftz.f32 %f18, %f6, %f17;\n"
|
|
" ld.param.f32 %f19, [__cudaparm_interp_delxinv];\n"
|
|
" mul.ftz.f32 %f20, %f19, %f18;\n"
|
|
" @!%p4 bra $Lt_2_16386;\n"
|
|
" mov.u64 %rd7, __cuda___cuda_local_var_32630_33_non_const_rho1d_03144;\n"
|
|
" mov.u64 %rd8, __cuda___cuda_local_var_32631_33_non_const_rho1d_15192;\n"
|
|
" cvt.rzi.ftz.s32.f32 %r25, %f20;\n"
|
|
" cvt.rn.f32.s32 %f21, %r25;\n"
|
|
" mov.f32 %f22, 0f3f000000; \n"
|
|
" add.ftz.f32 %f23, %f21, %f22;\n"
|
|
" sub.ftz.f32 %f24, %f23, %f20;\n"
|
|
" ld.param.f32 %f25, [__cudaparm_interp_b_lo_y];\n"
|
|
" sub.ftz.f32 %f26, %f7, %f25;\n"
|
|
" ld.param.f32 %f27, [__cudaparm_interp_delyinv];\n"
|
|
" mul.ftz.f32 %f28, %f27, %f26;\n"
|
|
" cvt.rzi.ftz.s32.f32 %r26, %f28;\n"
|
|
" cvt.rn.f32.s32 %f29, %r26;\n"
|
|
" mov.f32 %f30, 0f3f000000; \n"
|
|
" add.ftz.f32 %f31, %f29, %f30;\n"
|
|
" sub.ftz.f32 %f32, %f31, %f28;\n"
|
|
" mov.s32 %r27, %r2;\n"
|
|
" cvt.s64.s32 %rd9, %r4;\n"
|
|
" mov.s32 %r28, %r1;\n"
|
|
" mul.wide.s32 %rd3, %r4, 4;\n"
|
|
" add.u64 %rd10, %rd3, %rd7;\n"
|
|
" add.u64 %rd11, %rd3, %rd8;\n"
|
|
" mov.s32 %r29, 0;\n"
|
|
" mov.s32 %r30, %r27;\n"
|
|
"$Lt_2_10754:\n"
|
|
" .loc 17 298 0\n"
|
|
" mov.f32 %f33, 0f00000000; \n"
|
|
" mov.f32 %f34, 0f00000000; \n"
|
|
" st.shared.f32 [%rd10+0], %f34;\n"
|
|
" .loc 17 299 0\n"
|
|
" mov.f32 %f35, 0f00000000; \n"
|
|
" mov.f32 %f36, 0f00000000; \n"
|
|
" st.shared.f32 [%rd11+0], %f36;\n"
|
|
" .loc 17 300 0\n"
|
|
" mov.s32 %r31, %r28;\n"
|
|
" setp.lt.s32 %p5, %r28, %r29;\n"
|
|
" @%p5 bra $Lt_2_11010;\n"
|
|
" cvt.s64.s32 %rd12, %r2;\n"
|
|
" mul.wide.s32 %rd13, %r2, 4;\n"
|
|
" cvt.s64.s32 %rd14, %r28;\n"
|
|
" mul.wide.s32 %rd15, %r28, 4;\n"
|
|
" add.u64 %rd16, %rd1, %rd15;\n"
|
|
"$Lt_2_11522:\n"
|
|
" .loc 17 301 0\n"
|
|
" ld.shared.f32 %f37, [%rd16+0];\n"
|
|
" fma.rn.ftz.f32 %f33, %f33, %f24, %f37;\n"
|
|
" st.shared.f32 [%rd10+0], %f33;\n"
|
|
" .loc 17 302 0\n"
|
|
" fma.rn.ftz.f32 %f35, %f35, %f32, %f37;\n"
|
|
" st.shared.f32 [%rd11+0], %f35;\n"
|
|
" sub.s32 %r31, %r31, %r2;\n"
|
|
" sub.u64 %rd16, %rd16, %rd13;\n"
|
|
" setp.ge.s32 %p6, %r31, %r29;\n"
|
|
" @%p6 bra $Lt_2_11522;\n"
|
|
"$Lt_2_11010:\n"
|
|
" add.s32 %r29, %r29, 1;\n"
|
|
" add.s32 %r28, %r28, 1;\n"
|
|
" add.u64 %rd11, %rd11, 256;\n"
|
|
" add.u64 %rd10, %rd10, 256;\n"
|
|
" setp.ne.s32 %p7, %r28, %r3;\n"
|
|
" @%p7 bra $Lt_2_10754;\n"
|
|
" bra.uni $Lt_2_10242;\n"
|
|
"$Lt_2_16386:\n"
|
|
" cvt.rzi.ftz.s32.f32 %r25, %f20;\n"
|
|
" mov.u64 %rd8, __cuda___cuda_local_var_32631_33_non_const_rho1d_15192;\n"
|
|
" mov.u64 %rd7, __cuda___cuda_local_var_32630_33_non_const_rho1d_03144;\n"
|
|
"$Lt_2_10242:\n"
|
|
" .loc 17 306 0\n"
|
|
" ld.param.f32 %f38, [__cudaparm_interp_b_lo_z];\n"
|
|
" sub.ftz.f32 %f39, %f8, %f38;\n"
|
|
" ld.param.f32 %f40, [__cudaparm_interp_delzinv];\n"
|
|
" mul.ftz.f32 %f41, %f40, %f39;\n"
|
|
" cvt.rzi.ftz.s32.f32 %r32, %f41;\n"
|
|
" ld.param.s32 %r33, [__cudaparm_interp_npts_yx];\n"
|
|
" mul.lo.s32 %r34, %r32, %r33;\n"
|
|
" add.s32 %r35, %r25, %r34;\n"
|
|
" @!%p4 bra $Lt_2_16898;\n"
|
|
" cvt.rn.f32.s32 %f42, %r32;\n"
|
|
" mov.f32 %f43, 0f3f000000; \n"
|
|
" add.ftz.f32 %f44, %f42, %f43;\n"
|
|
" sub.ftz.f32 %f45, %f44, %f41;\n"
|
|
" mov.s32 %r36, %r2;\n"
|
|
" ld.param.f32 %f46, [__cudaparm_interp_b_lo_y];\n"
|
|
" sub.ftz.f32 %f47, %f7, %f46;\n"
|
|
" cvt.s64.s32 %rd17, %r4;\n"
|
|
" ld.param.f32 %f48, [__cudaparm_interp_delyinv];\n"
|
|
" mul.ftz.f32 %f49, %f48, %f47;\n"
|
|
" cvt.rzi.ftz.s32.f32 %r37, %f49;\n"
|
|
" ld.param.s32 %r38, [__cudaparm_interp_npts_x];\n"
|
|
" mul.lo.s32 %r39, %r37, %r38;\n"
|
|
" mul.wide.s32 %rd3, %r4, 4;\n"
|
|
" add.s32 %r40, %r39, %r35;\n"
|
|
" add.u64 %rd18, %rd3, %rd7;\n"
|
|
" add.u64 %rd19, %rd3, %rd8;\n"
|
|
" cvt.s64.s32 %rd20, %r38;\n"
|
|
" mul.wide.s32 %rd21, %r38, 16;\n"
|
|
" mov.s32 %r41, %r40;\n"
|
|
" ld.param.u64 %rd22, [__cudaparm_interp_brick];\n"
|
|
" mov.s32 %r42, 0;\n"
|
|
" mov.f32 %f50, 0f00000000; \n"
|
|
" mov.f32 %f51, 0f00000000; \n"
|
|
" mov.f32 %f52, 0f00000000; \n"
|
|
" mov.s32 %r43, %r36;\n"
|
|
"$Lt_2_12802:\n"
|
|
" .loc 17 309 0\n"
|
|
" add.s32 %r44, %r42, %r1;\n"
|
|
" mov.s32 %r45, %r44;\n"
|
|
" setp.lt.s32 %p8, %r44, %r42;\n"
|
|
" @%p8 bra $Lt_2_17154;\n"
|
|
" cvt.s64.s32 %rd23, %r2;\n"
|
|
" mul.wide.s32 %rd13, %r2, 4;\n"
|
|
" cvt.s64.s32 %rd24, %r44;\n"
|
|
" mul.wide.s32 %rd25, %r44, 4;\n"
|
|
" add.u64 %rd26, %rd1, %rd25;\n"
|
|
" mov.f32 %f53, 0f00000000; \n"
|
|
"$Lt_2_13570:\n"
|
|
" .loc 17 310 0\n"
|
|
" ld.shared.f32 %f54, [%rd26+0];\n"
|
|
" fma.rn.ftz.f32 %f53, %f45, %f53, %f54;\n"
|
|
" sub.s32 %r45, %r45, %r2;\n"
|
|
" sub.u64 %rd26, %rd26, %rd13;\n"
|
|
" setp.ge.s32 %p9, %r45, %r42;\n"
|
|
" @%p9 bra $Lt_2_13570;\n"
|
|
" bra.uni $Lt_2_13058;\n"
|
|
"$Lt_2_17154:\n"
|
|
" mov.f32 %f53, 0f00000000; \n"
|
|
"$Lt_2_13058:\n"
|
|
" .loc 17 312 0\n"
|
|
" mov.s32 %r46, %r41;\n"
|
|
" mov.s32 %r47, %r2;\n"
|
|
" mul.ftz.f32 %f55, %f15, %f53;\n"
|
|
" mov.s32 %r48, %r46;\n"
|
|
" mov.s64 %rd27, %rd19;\n"
|
|
" cvt.s64.s32 %rd28, %r46;\n"
|
|
" mul.wide.s32 %rd29, %r46, 16;\n"
|
|
" mov.s32 %r49, 0;\n"
|
|
" mov.s32 %r50, %r47;\n"
|
|
"$Lt_2_14594:\n"
|
|
" mov.s32 %r51, %r2;\n"
|
|
" mov.s32 %r52, %r48;\n"
|
|
" add.s32 %r53, %r48, %r2;\n"
|
|
" mov.s64 %rd30, %rd18;\n"
|
|
" ld.shared.f32 %f56, [%rd27+0];\n"
|
|
" add.u64 %rd31, %rd29, %rd22;\n"
|
|
" mul.ftz.f32 %f57, %f55, %f56;\n"
|
|
" mov.s32 %r54, %r51;\n"
|
|
"$Lt_2_15362:\n"
|
|
" .loc 17 316 0\n"
|
|
" ld.shared.f32 %f58, [%rd30+0];\n"
|
|
" mul.ftz.f32 %f59, %f58, %f57;\n"
|
|
" ld.global.v4.f32 {%f60,%f61,%f62,_}, [%rd31+0];\n"
|
|
" .loc 17 318 0\n"
|
|
" mul.ftz.f32 %f63, %f59, %f60;\n"
|
|
" sub.ftz.f32 %f52, %f52, %f63;\n"
|
|
" .loc 17 319 0\n"
|
|
" mul.ftz.f32 %f64, %f59, %f61;\n"
|
|
" sub.ftz.f32 %f51, %f51, %f64;\n"
|
|
" .loc 17 320 0\n"
|
|
" mul.ftz.f32 %f65, %f59, %f62;\n"
|
|
" sub.ftz.f32 %f50, %f50, %f65;\n"
|
|
" add.s32 %r52, %r52, 1;\n"
|
|
" add.u64 %rd31, %rd31, 16;\n"
|
|
" add.u64 %rd30, %rd30, 256;\n"
|
|
" setp.ne.s32 %p10, %r52, %r53;\n"
|
|
" @%p10 bra $Lt_2_15362;\n"
|
|
" add.s32 %r49, %r49, 1;\n"
|
|
" add.s32 %r48, %r48, %r38;\n"
|
|
" add.u64 %rd29, %rd29, %rd21;\n"
|
|
" add.u64 %rd27, %rd27, 256;\n"
|
|
" setp.ne.s32 %p11, %r49, %r2;\n"
|
|
" @%p11 bra $Lt_2_14594;\n"
|
|
" add.s32 %r42, %r42, 1;\n"
|
|
" add.s32 %r41, %r46, %r33;\n"
|
|
" setp.ne.s32 %p12, %r42, %r2;\n"
|
|
" @%p12 bra $Lt_2_12802;\n"
|
|
" bra.uni $Lt_2_9730;\n"
|
|
"$Lt_2_16898:\n"
|
|
" mov.f32 %f50, 0f00000000; \n"
|
|
" mov.f32 %f51, 0f00000000; \n"
|
|
" mov.f32 %f52, 0f00000000; \n"
|
|
" bra.uni $Lt_2_9730;\n"
|
|
"$Lt_2_9986:\n"
|
|
" mov.f32 %f50, 0f00000000; \n"
|
|
" mov.f32 %f51, 0f00000000; \n"
|
|
" mov.f32 %f52, 0f00000000; \n"
|
|
"$Lt_2_9730:\n"
|
|
" .loc 17 327 0\n"
|
|
" ld.param.u64 %rd32, [__cudaparm_interp_ans];\n"
|
|
" cvt.s64.s32 %rd33, %r8;\n"
|
|
" mul.wide.s32 %rd34, %r8, 16;\n"
|
|
" add.u64 %rd35, %rd32, %rd34;\n"
|
|
" mov.f32 %f66, %f67;\n"
|
|
" st.global.v4.f32 [%rd35+0], {%f52,%f51,%f50,%f66};\n"
|
|
"$Lt_2_9218:\n"
|
|
" .loc 17 329 0\n"
|
|
" exit;\n"
|
|
"$LDWend_interp:\n"
|
|
" }\n"
|
|
;
|