773 lines
24 KiB
C
773 lines
24 KiB
C
const char * pair_gpu_build_kernel =
|
|
" .version 2.3\n"
|
|
" .target sm_20\n"
|
|
" .address_size 64\n"
|
|
" .entry transpose (\n"
|
|
" .param .u64 __cudaparm_transpose_out,\n"
|
|
" .param .u64 __cudaparm_transpose_in,\n"
|
|
" .param .s32 __cudaparm_transpose_columns_in,\n"
|
|
" .param .s32 __cudaparm_transpose_rows_in)\n"
|
|
" {\n"
|
|
" .reg .u32 %r<32>;\n"
|
|
" .reg .u64 %rd<23>;\n"
|
|
" .reg .f32 %f<4>;\n"
|
|
" .reg .pred %p<4>;\n"
|
|
" .shared .align 4 .b8 __cuda___cuda_local_var_32483_32_non_const_block24[288];\n"
|
|
" .loc 16 64 0\n"
|
|
"$LDWbegin_transpose:\n"
|
|
" mov.u32 %r1, %ctaid.x;\n"
|
|
" mul.lo.u32 %r2, %r1, 8;\n"
|
|
" mov.u32 %r3, %ctaid.y;\n"
|
|
" mul.lo.u32 %r4, %r3, 8;\n"
|
|
" mov.u32 %r5, %tid.x;\n"
|
|
" add.u32 %r6, %r2, %r5;\n"
|
|
" mov.u32 %r7, %tid.y;\n"
|
|
" add.u32 %r8, %r4, %r7;\n"
|
|
" ld.param.s32 %r9, [__cudaparm_transpose_rows_in];\n"
|
|
" ld.param.s32 %r10, [__cudaparm_transpose_columns_in];\n"
|
|
" set.gt.u32.u32 %r11, %r9, %r8;\n"
|
|
" neg.s32 %r12, %r11;\n"
|
|
" set.gt.u32.u32 %r13, %r10, %r6;\n"
|
|
" neg.s32 %r14, %r13;\n"
|
|
" and.b32 %r15, %r12, %r14;\n"
|
|
" mov.u32 %r16, 0;\n"
|
|
" setp.eq.s32 %p1, %r15, %r16;\n"
|
|
" @%p1 bra $Lt_0_2306;\n"
|
|
" .loc 16 76 0\n"
|
|
" mov.u64 %rd1, __cuda___cuda_local_var_32483_32_non_const_block24;\n"
|
|
" ld.param.u64 %rd2, [__cudaparm_transpose_in];\n"
|
|
" mul.lo.u32 %r17, %r10, %r8;\n"
|
|
" add.u32 %r18, %r6, %r17;\n"
|
|
" cvt.u64.u32 %rd3, %r18;\n"
|
|
" mul.wide.u32 %rd4, %r18, 4;\n"
|
|
" add.u64 %rd5, %rd2, %rd4;\n"
|
|
" ld.global.s32 %r19, [%rd5+0];\n"
|
|
" cvt.rn.f32.s32 %f1, %r19;\n"
|
|
" cvt.u64.u32 %rd6, %r5;\n"
|
|
" cvt.u64.u32 %rd7, %r7;\n"
|
|
" mul.wide.u32 %rd8, %r7, 9;\n"
|
|
" add.u64 %rd9, %rd6, %rd8;\n"
|
|
" mul.lo.u64 %rd10, %rd9, 4;\n"
|
|
" add.u64 %rd11, %rd1, %rd10;\n"
|
|
" st.shared.f32 [%rd11+0], %f1;\n"
|
|
"$Lt_0_2306:\n"
|
|
" mov.u64 %rd1, __cuda___cuda_local_var_32483_32_non_const_block24;\n"
|
|
" .loc 16 78 0\n"
|
|
" bar.sync 0;\n"
|
|
" add.u32 %r20, %r2, %r7;\n"
|
|
" add.u32 %r21, %r4, %r5;\n"
|
|
" set.gt.u32.u32 %r22, %r9, %r21;\n"
|
|
" neg.s32 %r23, %r22;\n"
|
|
" set.gt.u32.u32 %r24, %r10, %r20;\n"
|
|
" neg.s32 %r25, %r24;\n"
|
|
" and.b32 %r26, %r23, %r25;\n"
|
|
" mov.u32 %r27, 0;\n"
|
|
" setp.eq.s32 %p2, %r26, %r27;\n"
|
|
" @%p2 bra $Lt_0_2818;\n"
|
|
" .loc 16 83 0\n"
|
|
" cvt.u64.u32 %rd12, %r7;\n"
|
|
" cvt.u64.u32 %rd13, %r5;\n"
|
|
" mul.wide.u32 %rd14, %r5, 9;\n"
|
|
" add.u64 %rd15, %rd12, %rd14;\n"
|
|
" mul.lo.u64 %rd16, %rd15, 4;\n"
|
|
" add.u64 %rd17, %rd1, %rd16;\n"
|
|
" ld.shared.f32 %f2, [%rd17+0];\n"
|
|
" cvt.rzi.ftz.s32.f32 %r28, %f2;\n"
|
|
" ld.param.u64 %rd18, [__cudaparm_transpose_out];\n"
|
|
" mul.lo.u32 %r29, %r9, %r20;\n"
|
|
" add.u32 %r30, %r21, %r29;\n"
|
|
" cvt.u64.u32 %rd19, %r30;\n"
|
|
" mul.wide.u32 %rd20, %r30, 4;\n"
|
|
" add.u64 %rd21, %rd18, %rd20;\n"
|
|
" st.global.s32 [%rd21+0], %r28;\n"
|
|
"$Lt_0_2818:\n"
|
|
" .loc 16 84 0\n"
|
|
" exit;\n"
|
|
"$LDWend_transpose:\n"
|
|
" }\n"
|
|
" .global .texref neigh_tex;\n"
|
|
" .entry calc_cell_id (\n"
|
|
" .param .u64 __cudaparm_calc_cell_id_pos,\n"
|
|
" .param .u64 __cudaparm_calc_cell_id_cell_id,\n"
|
|
" .param .u64 __cudaparm_calc_cell_id_particle_id,\n"
|
|
" .param .f32 __cudaparm_calc_cell_id_boxlo0,\n"
|
|
" .param .f32 __cudaparm_calc_cell_id_boxlo1,\n"
|
|
" .param .f32 __cudaparm_calc_cell_id_boxlo2,\n"
|
|
" .param .f32 __cudaparm_calc_cell_id_boxhi0,\n"
|
|
" .param .f32 __cudaparm_calc_cell_id_boxhi1,\n"
|
|
" .param .f32 __cudaparm_calc_cell_id_boxhi2,\n"
|
|
" .param .f32 __cudaparm_calc_cell_id_cell_size,\n"
|
|
" .param .s32 __cudaparm_calc_cell_id_ncellx,\n"
|
|
" .param .s32 __cudaparm_calc_cell_id_ncelly,\n"
|
|
" .param .s32 __cudaparm_calc_cell_id_nall)\n"
|
|
" {\n"
|
|
" .reg .u32 %r<25>;\n"
|
|
" .reg .u64 %rd<8>;\n"
|
|
" .reg .f32 %f<35>;\n"
|
|
" .reg .f64 %fd<11>;\n"
|
|
" .reg .pred %p<3>;\n"
|
|
" .loc 16 90 0\n"
|
|
"$LDWbegin_calc_cell_id:\n"
|
|
" mov.u32 %r1, %tid.x;\n"
|
|
" mov.u32 %r2, %ctaid.x;\n"
|
|
" mov.u32 %r3, %ntid.x;\n"
|
|
" mul.lo.u32 %r4, %r2, %r3;\n"
|
|
" add.u32 %r5, %r1, %r4;\n"
|
|
" ld.param.s32 %r6, [__cudaparm_calc_cell_id_nall];\n"
|
|
" setp.le.s32 %p1, %r6, %r5;\n"
|
|
" @%p1 bra $Lt_1_1026;\n"
|
|
" .loc 16 94 0\n"
|
|
" mov.u32 %r7, %r5;\n"
|
|
" mov.s32 %r8, 0;\n"
|
|
" mov.u32 %r9, %r8;\n"
|
|
" mov.s32 %r10, 0;\n"
|
|
" mov.u32 %r11, %r10;\n"
|
|
" mov.s32 %r12, 0;\n"
|
|
" mov.u32 %r13, %r12;\n"
|
|
" tex.1d.v4.f32.s32 {%f1,%f2,%f3,%f4},[neigh_tex,{%r7,%r9,%r11,%r13}];\n"
|
|
" mov.f32 %f5, %f1;\n"
|
|
" mov.f32 %f6, %f2;\n"
|
|
" mov.f32 %f7, %f3;\n"
|
|
" .loc 16 107 0\n"
|
|
" ld.param.f32 %f8, [__cudaparm_calc_cell_id_cell_size];\n"
|
|
" neg.ftz.f32 %f9, %f8;\n"
|
|
" ld.param.f32 %f10, [__cudaparm_calc_cell_id_boxlo0];\n"
|
|
" ld.param.f32 %f11, [__cudaparm_calc_cell_id_boxlo2];\n"
|
|
" ld.param.f32 %f12, [__cudaparm_calc_cell_id_boxlo1];\n"
|
|
" ld.param.s32 %r14, [__cudaparm_calc_cell_id_ncellx];\n"
|
|
" ld.param.s32 %r15, [__cudaparm_calc_cell_id_ncelly];\n"
|
|
" ld.param.f32 %f13, [__cudaparm_calc_cell_id_boxhi2];\n"
|
|
" sub.ftz.f32 %f14, %f13, %f11;\n"
|
|
" add.ftz.f32 %f15, %f8, %f14;\n"
|
|
" sub.ftz.f32 %f16, %f7, %f11;\n"
|
|
" max.ftz.f32 %f17, %f9, %f16;\n"
|
|
" min.ftz.f32 %f18, %f15, %f17;\n"
|
|
" div.approx.ftz.f32 %f19, %f18, %f8;\n"
|
|
" cvt.ftz.f64.f32 %fd1, %f19;\n"
|
|
" mov.f64 %fd2, 0d3ff0000000000000; \n"
|
|
" add.f64 %fd3, %fd1, %fd2;\n"
|
|
" cvt.rzi.u32.f64 %r16, %fd3;\n"
|
|
" mul.lo.u32 %r17, %r14, %r16;\n"
|
|
" mul.lo.u32 %r18, %r15, %r17;\n"
|
|
" ld.param.f32 %f20, [__cudaparm_calc_cell_id_boxhi1];\n"
|
|
" sub.ftz.f32 %f21, %f20, %f12;\n"
|
|
" add.ftz.f32 %f22, %f8, %f21;\n"
|
|
" sub.ftz.f32 %f23, %f6, %f12;\n"
|
|
" max.ftz.f32 %f24, %f9, %f23;\n"
|
|
" min.ftz.f32 %f25, %f22, %f24;\n"
|
|
" div.approx.ftz.f32 %f26, %f25, %f8;\n"
|
|
" cvt.ftz.f64.f32 %fd4, %f26;\n"
|
|
" mov.f64 %fd5, 0d3ff0000000000000; \n"
|
|
" add.f64 %fd6, %fd4, %fd5;\n"
|
|
" cvt.rzi.u32.f64 %r19, %fd6;\n"
|
|
" mul.lo.u32 %r20, %r14, %r19;\n"
|
|
" add.u32 %r21, %r18, %r20;\n"
|
|
" ld.param.f32 %f27, [__cudaparm_calc_cell_id_boxhi0];\n"
|
|
" sub.ftz.f32 %f28, %f27, %f10;\n"
|
|
" add.ftz.f32 %f29, %f8, %f28;\n"
|
|
" sub.ftz.f32 %f30, %f5, %f10;\n"
|
|
" max.ftz.f32 %f31, %f9, %f30;\n"
|
|
" min.ftz.f32 %f32, %f29, %f31;\n"
|
|
" div.approx.ftz.f32 %f33, %f32, %f8;\n"
|
|
" cvt.ftz.f64.f32 %fd7, %f33;\n"
|
|
" mov.f64 %fd8, 0d3ff0000000000000; \n"
|
|
" add.f64 %fd9, %fd7, %fd8;\n"
|
|
" cvt.rzi.u32.f64 %r22, %fd9;\n"
|
|
" add.u32 %r23, %r21, %r22;\n"
|
|
" .loc 16 111 0\n"
|
|
" cvt.s64.s32 %rd1, %r5;\n"
|
|
" mul.wide.s32 %rd2, %r5, 4;\n"
|
|
" ld.param.u64 %rd3, [__cudaparm_calc_cell_id_cell_id];\n"
|
|
" add.u64 %rd4, %rd3, %rd2;\n"
|
|
" st.global.u32 [%rd4+0], %r23;\n"
|
|
" .loc 16 112 0\n"
|
|
" ld.param.u64 %rd5, [__cudaparm_calc_cell_id_particle_id];\n"
|
|
" add.u64 %rd6, %rd5, %rd2;\n"
|
|
" st.global.s32 [%rd6+0], %r5;\n"
|
|
"$Lt_1_1026:\n"
|
|
" .loc 16 114 0\n"
|
|
" exit;\n"
|
|
"$LDWend_calc_cell_id:\n"
|
|
" }\n"
|
|
" .entry kernel_calc_cell_counts (\n"
|
|
" .param .u64 __cudaparm_kernel_calc_cell_counts_cell_id,\n"
|
|
" .param .u64 __cudaparm_kernel_calc_cell_counts_cell_counts,\n"
|
|
" .param .s32 __cudaparm_kernel_calc_cell_counts_nall,\n"
|
|
" .param .s32 __cudaparm_kernel_calc_cell_counts_ncell)\n"
|
|
" {\n"
|
|
" .reg .u32 %r<33>;\n"
|
|
" .reg .u64 %rd<15>;\n"
|
|
" .reg .pred %p<13>;\n"
|
|
" .loc 16 117 0\n"
|
|
"$LDWbegin_kernel_calc_cell_counts:\n"
|
|
" mov.u32 %r1, %ctaid.x;\n"
|
|
" mov.u32 %r2, %ntid.x;\n"
|
|
" mul.lo.u32 %r3, %r1, %r2;\n"
|
|
" mov.u32 %r4, %tid.x;\n"
|
|
" add.u32 %r5, %r4, %r3;\n"
|
|
" ld.param.s32 %r6, [__cudaparm_kernel_calc_cell_counts_nall];\n"
|
|
" setp.gt.s32 %p1, %r6, %r5;\n"
|
|
" @!%p1 bra $Lt_2_7426;\n"
|
|
" .loc 16 120 0\n"
|
|
" ld.param.u64 %rd1, [__cudaparm_kernel_calc_cell_counts_cell_id];\n"
|
|
" cvt.s64.s32 %rd2, %r5;\n"
|
|
" mul.wide.s32 %rd3, %r5, 4;\n"
|
|
" add.u64 %rd4, %rd1, %rd3;\n"
|
|
" ld.global.u32 %r7, [%rd4+0];\n"
|
|
" mov.u32 %r8, 0;\n"
|
|
" setp.ne.s32 %p2, %r5, %r8;\n"
|
|
" @%p2 bra $Lt_2_7938;\n"
|
|
" add.s32 %r9, %r7, 1;\n"
|
|
" mov.u32 %r10, 0;\n"
|
|
" setp.le.s32 %p3, %r9, %r10;\n"
|
|
" @%p3 bra $Lt_2_8450;\n"
|
|
" mov.s32 %r11, %r9;\n"
|
|
" ld.param.u64 %rd5, [__cudaparm_kernel_calc_cell_counts_cell_counts];\n"
|
|
" mov.s32 %r12, 0;\n"
|
|
" mov.s32 %r13, %r11;\n"
|
|
"$Lt_2_8962:\n"
|
|
" .loc 16 125 0\n"
|
|
" mov.s32 %r14, 0;\n"
|
|
" st.global.s32 [%rd5+0], %r14;\n"
|
|
" add.s32 %r12, %r12, 1;\n"
|
|
" add.u64 %rd5, %rd5, 4;\n"
|
|
" setp.ne.s32 %p4, %r9, %r12;\n"
|
|
" @%p4 bra $Lt_2_8962;\n"
|
|
"$Lt_2_8450:\n"
|
|
"$Lt_2_7938:\n"
|
|
" sub.s32 %r15, %r6, 1;\n"
|
|
" setp.ne.s32 %p5, %r5, %r15;\n"
|
|
" @%p5 bra $Lt_2_9474;\n"
|
|
" .loc 16 128 0\n"
|
|
" add.s32 %r9, %r7, 1;\n"
|
|
" mov.s32 %r16, %r9;\n"
|
|
" ld.param.s32 %r17, [__cudaparm_kernel_calc_cell_counts_ncell];\n"
|
|
" setp.gt.s32 %p6, %r9, %r17;\n"
|
|
" @%p6 bra $Lt_2_9986;\n"
|
|
" sub.s32 %r18, %r17, %r7;\n"
|
|
" add.s32 %r19, %r17, 1;\n"
|
|
" ld.param.u64 %rd6, [__cudaparm_kernel_calc_cell_counts_cell_counts];\n"
|
|
" cvt.s64.s32 %rd7, %r9;\n"
|
|
" mul.wide.s32 %rd8, %r9, 4;\n"
|
|
" add.u64 %rd9, %rd6, %rd8;\n"
|
|
" mov.s32 %r20, %r18;\n"
|
|
"$Lt_2_10498:\n"
|
|
" .loc 16 129 0\n"
|
|
" st.global.s32 [%rd9+0], %r6;\n"
|
|
" add.s32 %r16, %r16, 1;\n"
|
|
" add.u64 %rd9, %rd9, 4;\n"
|
|
" setp.ne.s32 %p7, %r19, %r16;\n"
|
|
" @%p7 bra $Lt_2_10498;\n"
|
|
"$Lt_2_9986:\n"
|
|
"$Lt_2_9474:\n"
|
|
" selp.s32 %r21, 1, 0, %p1;\n"
|
|
" mov.s32 %r22, 0;\n"
|
|
" set.gt.u32.s32 %r23, %r5, %r22;\n"
|
|
" neg.s32 %r24, %r23;\n"
|
|
" and.b32 %r25, %r21, %r24;\n"
|
|
" mov.u32 %r26, 0;\n"
|
|
" setp.eq.s32 %p8, %r25, %r26;\n"
|
|
" @%p8 bra $Lt_2_11010;\n"
|
|
" .loc 16 133 0\n"
|
|
" ld.global.u32 %r27, [%rd4+-4];\n"
|
|
" setp.eq.s32 %p9, %r7, %r27;\n"
|
|
" @%p9 bra $Lt_2_11522;\n"
|
|
" .loc 16 135 0\n"
|
|
" add.s32 %r28, %r27, 1;\n"
|
|
" mov.s32 %r29, %r28;\n"
|
|
" setp.gt.s32 %p10, %r28, %r7;\n"
|
|
" @%p10 bra $Lt_2_12034;\n"
|
|
" sub.s32 %r30, %r7, %r27;\n"
|
|
" add.s32 %r9, %r7, 1;\n"
|
|
" ld.param.u64 %rd10, [__cudaparm_kernel_calc_cell_counts_cell_counts];\n"
|
|
" cvt.s64.s32 %rd11, %r28;\n"
|
|
" mul.wide.s32 %rd12, %r28, 4;\n"
|
|
" add.u64 %rd13, %rd10, %rd12;\n"
|
|
" mov.s32 %r31, %r30;\n"
|
|
"$Lt_2_12546:\n"
|
|
" .loc 16 136 0\n"
|
|
" st.global.s32 [%rd13+0], %r5;\n"
|
|
" add.s32 %r29, %r29, 1;\n"
|
|
" add.u64 %rd13, %rd13, 4;\n"
|
|
" setp.ne.s32 %p11, %r9, %r29;\n"
|
|
" @%p11 bra $Lt_2_12546;\n"
|
|
"$Lt_2_12034:\n"
|
|
"$Lt_2_11522:\n"
|
|
"$Lt_2_11010:\n"
|
|
"$Lt_2_7426:\n"
|
|
" .loc 16 140 0\n"
|
|
" exit;\n"
|
|
"$LDWend_kernel_calc_cell_counts:\n"
|
|
" }\n"
|
|
" .entry calc_neigh_list_cell (\n"
|
|
" .param .u64 __cudaparm_calc_neigh_list_cell_pos,\n"
|
|
" .param .u64 __cudaparm_calc_neigh_list_cell_cell_particle_id,\n"
|
|
" .param .u64 __cudaparm_calc_neigh_list_cell_cell_counts,\n"
|
|
" .param .u64 __cudaparm_calc_neigh_list_cell_nbor_list,\n"
|
|
" .param .u64 __cudaparm_calc_neigh_list_cell_host_nbor_list,\n"
|
|
" .param .u64 __cudaparm_calc_neigh_list_cell_host_numj,\n"
|
|
" .param .s32 __cudaparm_calc_neigh_list_cell_neigh_bin_size,\n"
|
|
" .param .f32 __cudaparm_calc_neigh_list_cell_cell_size,\n"
|
|
" .param .s32 __cudaparm_calc_neigh_list_cell_ncellx,\n"
|
|
" .param .s32 __cudaparm_calc_neigh_list_cell_ncelly,\n"
|
|
" .param .s32 __cudaparm_calc_neigh_list_cell_ncellz,\n"
|
|
" .param .s32 __cudaparm_calc_neigh_list_cell_inum,\n"
|
|
" .param .s32 __cudaparm_calc_neigh_list_cell_nt,\n"
|
|
" .param .s32 __cudaparm_calc_neigh_list_cell_nall)\n"
|
|
" {\n"
|
|
" .reg .u32 %r<106>;\n"
|
|
" .reg .u64 %rd<46>;\n"
|
|
" .reg .f32 %f<43>;\n"
|
|
" .reg .f64 %fd<4>;\n"
|
|
" .reg .pred %p<22>;\n"
|
|
" .shared .align 4 .b8 __cuda___cuda_local_var_32577_31_non_const_cell_list_sh480[512];\n"
|
|
" .shared .align 16 .b8 __cuda___cuda_local_var_32578_34_non_const_pos_sh992[2048];\n"
|
|
" .loc 16 151 0\n"
|
|
"$LDWbegin_calc_neigh_list_cell:\n"
|
|
" .loc 16 163 0\n"
|
|
" ld.param.s32 %r1, [__cudaparm_calc_neigh_list_cell_ncelly];\n"
|
|
" mov.u32 %r2, %ctaid.y;\n"
|
|
" rem.u32 %r3, %r2, %r1;\n"
|
|
" div.u32 %r4, %r2, %r1;\n"
|
|
" ld.param.s32 %r5, [__cudaparm_calc_neigh_list_cell_ncellx];\n"
|
|
" mul.lo.s32 %r6, %r5, %r3;\n"
|
|
" mul.lo.s32 %r7, %r5, %r4;\n"
|
|
" mul.lo.s32 %r8, %r7, %r1;\n"
|
|
" cvt.s32.u32 %r9, %ctaid.x;\n"
|
|
" ld.param.u64 %rd1, [__cudaparm_calc_neigh_list_cell_cell_counts];\n"
|
|
" add.s32 %r10, %r6, %r8;\n"
|
|
" add.s32 %r11, %r9, %r10;\n"
|
|
" cvt.s64.s32 %rd2, %r11;\n"
|
|
" mul.wide.s32 %rd3, %r11, 4;\n"
|
|
" add.u64 %rd4, %rd1, %rd3;\n"
|
|
" ldu.global.s32 %r12, [%rd4+0];\n"
|
|
" .loc 16 164 0\n"
|
|
" ldu.global.s32 %r13, [%rd4+4];\n"
|
|
" .loc 16 172 0\n"
|
|
" sub.s32 %r14, %r13, %r12;\n"
|
|
" mov.u32 %r15, %ntid.x;\n"
|
|
" cvt.rn.f32.u32 %f1, %r15;\n"
|
|
" cvt.rn.f32.s32 %f2, %r14;\n"
|
|
" div.approx.ftz.f32 %f3, %f2, %f1;\n"
|
|
" cvt.rpi.ftz.f32.f32 %f4, %f3;\n"
|
|
" mov.f32 %f5, 0f00000000; \n"
|
|
" setp.gt.ftz.f32 %p1, %f4, %f5;\n"
|
|
" @!%p1 bra $Lt_3_13314;\n"
|
|
" sub.s32 %r16, %r3, 1;\n"
|
|
" mov.s32 %r17, 0;\n"
|
|
" max.s32 %r18, %r16, %r17;\n"
|
|
" sub.s32 %r19, %r1, 1;\n"
|
|
" add.s32 %r20, %r3, 1;\n"
|
|
" min.s32 %r21, %r19, %r20;\n"
|
|
" ld.param.s32 %r22, [__cudaparm_calc_neigh_list_cell_ncellz];\n"
|
|
" sub.s32 %r23, %r22, 1;\n"
|
|
" add.s32 %r24, %r4, 1;\n"
|
|
" min.s32 %r25, %r23, %r24;\n"
|
|
" sub.s32 %r26, %r9, 1;\n"
|
|
" mov.s32 %r27, 0;\n"
|
|
" max.s32 %r28, %r26, %r27;\n"
|
|
" add.s32 %r29, %r9, 1;\n"
|
|
" sub.s32 %r30, %r5, 1;\n"
|
|
" min.s32 %r31, %r29, %r30;\n"
|
|
" cvt.s32.u32 %r32, %tid.x;\n"
|
|
" add.s32 %r33, %r12, %r32;\n"
|
|
" mov.u32 %r34, 0;\n"
|
|
" ld.param.s32 %r35, [__cudaparm_calc_neigh_list_cell_inum];\n"
|
|
" cvt.s64.s32 %rd5, %r35;\n"
|
|
" sub.s32 %r36, %r4, 1;\n"
|
|
" mov.s32 %r37, %r33;\n"
|
|
" mul.wide.s32 %rd6, %r35, 4;\n"
|
|
" mov.s32 %r38, 0;\n"
|
|
" max.s32 %r39, %r36, %r38;\n"
|
|
" setp.ge.s32 %p2, %r25, %r39;\n"
|
|
" ld.param.s32 %r40, [__cudaparm_calc_neigh_list_cell_nt];\n"
|
|
" ld.param.s32 %r41, [__cudaparm_calc_neigh_list_cell_nall];\n"
|
|
" mov.s32 %r42, 0;\n"
|
|
" mov.u64 %rd7, __cuda___cuda_local_var_32577_31_non_const_cell_list_sh480;\n"
|
|
" mov.u64 %rd8, __cuda___cuda_local_var_32578_34_non_const_pos_sh992;\n"
|
|
"$Lt_3_13826:\n"
|
|
" .loc 16 174 0\n"
|
|
" mov.s32 %r43, %r41;\n"
|
|
" setp.ge.s32 %p3, %r37, %r13;\n"
|
|
" @%p3 bra $Lt_3_14082;\n"
|
|
" .loc 16 180 0\n"
|
|
" ld.param.u64 %rd9, [__cudaparm_calc_neigh_list_cell_cell_particle_id];\n"
|
|
" add.u32 %r44, %r33, %r34;\n"
|
|
" cvt.s64.s32 %rd10, %r44;\n"
|
|
" mul.wide.s32 %rd11, %r44, 4;\n"
|
|
" add.u64 %rd12, %rd9, %rd11;\n"
|
|
" ld.global.s32 %r43, [%rd12+0];\n"
|
|
"$Lt_3_14082:\n"
|
|
" setp.lt.s32 %p4, %r43, %r40;\n"
|
|
" @!%p4 bra $Lt_3_14594;\n"
|
|
" .loc 16 183 0\n"
|
|
" mov.u32 %r45, %r43;\n"
|
|
" mov.s32 %r46, 0;\n"
|
|
" mov.u32 %r47, %r46;\n"
|
|
" mov.s32 %r48, 0;\n"
|
|
" mov.u32 %r49, %r48;\n"
|
|
" mov.s32 %r50, 0;\n"
|
|
" mov.u32 %r51, %r50;\n"
|
|
" tex.1d.v4.f32.s32 {%f6,%f7,%f8,%f9},[neigh_tex,{%r45,%r47,%r49,%r51}];\n"
|
|
" mov.f32 %f10, %f6;\n"
|
|
" mov.f32 %f11, %f7;\n"
|
|
" mov.f32 %f12, %f8;\n"
|
|
" mov.f32 %f13, %f10;\n"
|
|
" mov.f32 %f14, %f11;\n"
|
|
" mov.f32 %f15, %f12;\n"
|
|
"$Lt_3_14594:\n"
|
|
" cvt.s64.s32 %rd13, %r43;\n"
|
|
" mul.wide.s32 %rd14, %r43, 4;\n"
|
|
" setp.ge.s32 %p5, %r43, %r35;\n"
|
|
" @%p5 bra $Lt_3_15362;\n"
|
|
" .loc 16 186 0\n"
|
|
" mov.s32 %r52, %r35;\n"
|
|
" .loc 16 187 0\n"
|
|
" ld.param.u64 %rd15, [__cudaparm_calc_neigh_list_cell_nbor_list];\n"
|
|
" add.u64 %rd16, %rd13, %rd5;\n"
|
|
" mul.lo.u64 %rd17, %rd16, 4;\n"
|
|
" add.u64 %rd18, %rd15, %rd17;\n"
|
|
" mov.s64 %rd19, %rd18;\n"
|
|
" .loc 16 188 0\n"
|
|
" add.u64 %rd20, %rd6, %rd18;\n"
|
|
" .loc 16 189 0\n"
|
|
" add.u64 %rd21, %rd14, %rd15;\n"
|
|
" st.global.s32 [%rd21+0], %r43;\n"
|
|
" bra.uni $Lt_3_15106;\n"
|
|
"$Lt_3_15362:\n"
|
|
" .loc 16 192 0\n"
|
|
" ld.param.u64 %rd22, [__cudaparm_calc_neigh_list_cell_host_numj];\n"
|
|
" add.u64 %rd23, %rd22, %rd14;\n"
|
|
" sub.u64 %rd19, %rd23, %rd6;\n"
|
|
" .loc 16 193 0\n"
|
|
" ld.param.u64 %rd24, [__cudaparm_calc_neigh_list_cell_host_nbor_list];\n"
|
|
" ld.param.s32 %r53, [__cudaparm_calc_neigh_list_cell_neigh_bin_size];\n"
|
|
" sub.s32 %r54, %r43, %r35;\n"
|
|
" mul.lo.s32 %r55, %r53, %r54;\n"
|
|
" cvt.s64.s32 %rd25, %r55;\n"
|
|
" mul.wide.s32 %rd26, %r55, 4;\n"
|
|
" add.u64 %rd20, %rd24, %rd26;\n"
|
|
" mov.s32 %r52, 1;\n"
|
|
"$Lt_3_15106:\n"
|
|
" .loc 16 198 0\n"
|
|
" mov.s32 %r56, %r39;\n"
|
|
" @!%p2 bra $Lt_3_23298;\n"
|
|
" sub.s32 %r57, %r25, %r39;\n"
|
|
" add.s32 %r58, %r57, 1;\n"
|
|
" setp.le.s32 %p6, %r18, %r21;\n"
|
|
" add.s32 %r59, %r25, 1;\n"
|
|
" mov.s32 %r60, 0;\n"
|
|
" mov.s32 %r61, %r58;\n"
|
|
"$Lt_3_16130:\n"
|
|
" .loc 16 199 0\n"
|
|
" mov.s32 %r62, %r18;\n"
|
|
" @!%p6 bra $Lt_3_16386;\n"
|
|
" sub.s32 %r63, %r21, %r18;\n"
|
|
" add.s32 %r64, %r63, 1;\n"
|
|
" setp.ge.s32 %p7, %r31, %r28;\n"
|
|
" add.s32 %r65, %r21, 1;\n"
|
|
" mov.s32 %r66, %r64;\n"
|
|
"$Lt_3_16898:\n"
|
|
" @!%p7 bra $Lt_3_17154;\n"
|
|
" sub.s32 %r67, %r31, %r28;\n"
|
|
" add.s32 %r68, %r67, 1;\n"
|
|
" mul.lo.s32 %r69, %r62, %r5;\n"
|
|
" mul.lo.s32 %r70, %r56, %r5;\n"
|
|
" mul.lo.s32 %r71, %r70, %r1;\n"
|
|
" add.s32 %r72, %r31, 1;\n"
|
|
" add.s32 %r73, %r69, %r71;\n"
|
|
" add.s32 %r74, %r73, %r28;\n"
|
|
" add.s32 %r75, %r72, %r73;\n"
|
|
" cvt.s64.s32 %rd27, %r74;\n"
|
|
" mul.wide.s32 %rd28, %r74, 4;\n"
|
|
" add.u64 %rd29, %rd1, %rd28;\n"
|
|
" mov.s32 %r76, %r68;\n"
|
|
"$Lt_3_17666:\n"
|
|
" .loc 16 204 0\n"
|
|
" ld.global.s32 %r77, [%rd29+0];\n"
|
|
" .loc 16 205 0\n"
|
|
" ld.global.s32 %r78, [%rd29+4];\n"
|
|
" .loc 16 209 0\n"
|
|
" sub.s32 %r79, %r78, %r77;\n"
|
|
" cvt.rn.f32.s32 %f16, %r79;\n"
|
|
" mov.f32 %f17, 0f43000000; \n"
|
|
" div.approx.ftz.f32 %f18, %f16, %f17;\n"
|
|
" cvt.rpi.ftz.f32.f32 %f19, %f18;\n"
|
|
" cvt.rzi.ftz.s32.f32 %r80, %f19;\n"
|
|
" mov.u32 %r81, 0;\n"
|
|
" setp.le.s32 %p8, %r80, %r81;\n"
|
|
" @%p8 bra $Lt_3_17922;\n"
|
|
" mov.s32 %r82, %r80;\n"
|
|
" mov.s32 %r83, 0;\n"
|
|
" setp.lt.s32 %p9, %r43, %r40;\n"
|
|
" mul.lo.s32 %r84, %r80, 128;\n"
|
|
" mov.s32 %r85, %r82;\n"
|
|
"$Lt_3_18434:\n"
|
|
" sub.s32 %r86, %r79, %r83;\n"
|
|
" mov.s32 %r87, 128;\n"
|
|
" min.s32 %r88, %r86, %r87;\n"
|
|
" setp.le.s32 %p10, %r88, %r32;\n"
|
|
" @%p10 bra $Lt_3_18690;\n"
|
|
" .loc 16 215 0\n"
|
|
" ld.param.u64 %rd30, [__cudaparm_calc_neigh_list_cell_cell_particle_id];\n"
|
|
" add.s32 %r89, %r83, %r32;\n"
|
|
" add.s32 %r90, %r77, %r89;\n"
|
|
" cvt.s64.s32 %rd31, %r90;\n"
|
|
" mul.wide.s32 %rd32, %r90, 4;\n"
|
|
" add.u64 %rd33, %rd30, %rd32;\n"
|
|
" ld.global.s32 %r91, [%rd33+0];\n"
|
|
" .loc 16 216 0\n"
|
|
" cvt.s64.s32 %rd34, %r32;\n"
|
|
" mul.wide.s32 %rd35, %r32, 4;\n"
|
|
" add.u64 %rd36, %rd7, %rd35;\n"
|
|
" st.shared.s32 [%rd36+0], %r91;\n"
|
|
" .loc 16 217 0\n"
|
|
" mov.u32 %r92, %r91;\n"
|
|
" mov.s32 %r93, 0;\n"
|
|
" mov.u32 %r94, %r93;\n"
|
|
" mov.s32 %r95, 0;\n"
|
|
" mov.u32 %r96, %r95;\n"
|
|
" mov.s32 %r97, 0;\n"
|
|
" mov.u32 %r98, %r97;\n"
|
|
" tex.1d.v4.f32.s32 {%f20,%f21,%f22,%f23},[neigh_tex,{%r92,%r94,%r96,%r98}];\n"
|
|
" mov.f32 %f24, %f20;\n"
|
|
" mov.f32 %f25, %f21;\n"
|
|
" mov.f32 %f26, %f22;\n"
|
|
" .loc 16 218 0\n"
|
|
" mul.lo.u64 %rd37, %rd34, 16;\n"
|
|
" add.u64 %rd38, %rd8, %rd37;\n"
|
|
" st.shared.v2.f32 [%rd38+0], {%f24,%f25};\n"
|
|
" .loc 16 220 0\n"
|
|
" st.shared.f32 [%rd38+8], %f26;\n"
|
|
"$Lt_3_18690:\n"
|
|
" .loc 16 222 0\n"
|
|
" bar.sync 0;\n"
|
|
" @!%p9 bra $Lt_3_19714;\n"
|
|
" mov.u32 %r99, 0;\n"
|
|
" setp.le.s32 %p11, %r88, %r99;\n"
|
|
" @%p11 bra $Lt_3_19714;\n"
|
|
" mov.s32 %r100, %r88;\n"
|
|
" mov.s64 %rd39, 0;\n"
|
|
" ld.param.f32 %f27, [__cudaparm_calc_neigh_list_cell_cell_size];\n"
|
|
" mul.ftz.f32 %f28, %f27, %f27;\n"
|
|
" mov.s64 %rd40, %rd8;\n"
|
|
" mov.f32 %f29, %f15;\n"
|
|
" mov.f32 %f30, %f14;\n"
|
|
" mov.f32 %f31, %f13;\n"
|
|
" mov.s32 %r101, 0;\n"
|
|
" mov.s32 %r102, %r100;\n"
|
|
"$Lt_3_20226:\n"
|
|
" ld.shared.v4.f32 {%f32,%f33,%f34,_}, [%rd40+0];\n"
|
|
" .loc 16 228 0\n"
|
|
" sub.ftz.f32 %f35, %f31, %f32;\n"
|
|
" .loc 16 229 0\n"
|
|
" sub.ftz.f32 %f36, %f30, %f33;\n"
|
|
" .loc 16 230 0\n"
|
|
" sub.ftz.f32 %f37, %f29, %f34;\n"
|
|
" .loc 16 227 0\n"
|
|
" mul.ftz.f32 %f38, %f36, %f36;\n"
|
|
" fma.rn.ftz.f32 %f39, %f35, %f35, %f38;\n"
|
|
" fma.rn.ftz.f32 %f40, %f37, %f37, %f39;\n"
|
|
" setp.gt.ftz.f32 %p12, %f28, %f40;\n"
|
|
" @!%p12 bra $Lt_3_24578;\n"
|
|
" cvt.ftz.f64.f32 %fd1, %f40;\n"
|
|
" mov.f64 %fd2, 0d3ee4f8b588e368f1; \n"
|
|
" setp.gt.f64 %p13, %fd1, %fd2;\n"
|
|
" @!%p13 bra $Lt_3_24578;\n"
|
|
" ld.param.s32 %r103, [__cudaparm_calc_neigh_list_cell_neigh_bin_size];\n"
|
|
" setp.le.s32 %p14, %r103, %r60;\n"
|
|
" @%p14 bra $Lt_3_20482;\n"
|
|
" .loc 16 235 0\n"
|
|
" mul.lo.u64 %rd41, %rd39, 4;\n"
|
|
" add.u64 %rd42, %rd7, %rd41;\n"
|
|
" ld.shared.s32 %r104, [%rd42+0];\n"
|
|
" st.global.s32 [%rd20+0], %r104;\n"
|
|
" .loc 16 236 0\n"
|
|
" cvt.s64.s32 %rd43, %r52;\n"
|
|
" mul.wide.s32 %rd44, %r52, 4;\n"
|
|
" add.u64 %rd20, %rd20, %rd44;\n"
|
|
"$Lt_3_20482:\n"
|
|
" .loc 16 238 0\n"
|
|
" add.s32 %r60, %r60, 1;\n"
|
|
"$Lt_3_24578:\n"
|
|
"$L_3_12802:\n"
|
|
" add.s32 %r101, %r101, 1;\n"
|
|
" add.s64 %rd39, %rd39, 1;\n"
|
|
" add.u64 %rd40, %rd40, 16;\n"
|
|
" setp.ne.s32 %p15, %r88, %r101;\n"
|
|
" @%p15 bra $Lt_3_20226;\n"
|
|
"$Lt_3_19714:\n"
|
|
"$Lt_3_19202:\n"
|
|
" .loc 16 242 0\n"
|
|
" bar.sync 0;\n"
|
|
" add.s32 %r83, %r83, 128;\n"
|
|
" setp.ne.s32 %p16, %r83, %r84;\n"
|
|
" @%p16 bra $Lt_3_18434;\n"
|
|
"$Lt_3_17922:\n"
|
|
" add.s32 %r74, %r74, 1;\n"
|
|
" add.u64 %rd29, %rd29, 4;\n"
|
|
" setp.ne.s32 %p17, %r74, %r75;\n"
|
|
" @%p17 bra $Lt_3_17666;\n"
|
|
"$Lt_3_17154:\n"
|
|
" add.s32 %r62, %r62, 1;\n"
|
|
" setp.ne.s32 %p18, %r65, %r62;\n"
|
|
" @%p18 bra $Lt_3_16898;\n"
|
|
"$Lt_3_16386:\n"
|
|
" add.s32 %r56, %r56, 1;\n"
|
|
" setp.ne.s32 %p19, %r59, %r56;\n"
|
|
" @%p19 bra $Lt_3_16130;\n"
|
|
" bra.uni $Lt_3_15618;\n"
|
|
"$Lt_3_23298:\n"
|
|
" mov.s32 %r60, 0;\n"
|
|
"$Lt_3_15618:\n"
|
|
" @!%p4 bra $Lt_3_22274;\n"
|
|
" .loc 16 248 0\n"
|
|
" st.global.s32 [%rd19+0], %r60;\n"
|
|
"$Lt_3_22274:\n"
|
|
" .loc 16 172 0\n"
|
|
" add.s32 %r42, %r42, 1;\n"
|
|
" add.u32 %r34, %r34, %r15;\n"
|
|
" add.s32 %r37, %r37, %r15;\n"
|
|
" cvt.rn.f32.s32 %f41, %r42;\n"
|
|
" setp.lt.ftz.f32 %p20, %f41, %f4;\n"
|
|
" @%p20 bra $Lt_3_13826;\n"
|
|
"$Lt_3_13314:\n"
|
|
" .loc 16 250 0\n"
|
|
" exit;\n"
|
|
"$LDWend_calc_neigh_list_cell:\n"
|
|
" }\n"
|
|
" .entry kernel_special (\n"
|
|
" .param .u64 __cudaparm_kernel_special_dev_nbor,\n"
|
|
" .param .u64 __cudaparm_kernel_special_host_nbor_list,\n"
|
|
" .param .u64 __cudaparm_kernel_special_host_numj,\n"
|
|
" .param .u64 __cudaparm_kernel_special_tag,\n"
|
|
" .param .u64 __cudaparm_kernel_special_nspecial,\n"
|
|
" .param .u64 __cudaparm_kernel_special_special,\n"
|
|
" .param .s32 __cudaparm_kernel_special_inum,\n"
|
|
" .param .s32 __cudaparm_kernel_special_nt,\n"
|
|
" .param .s32 __cudaparm_kernel_special_max_nbors)\n"
|
|
" {\n"
|
|
" .reg .u32 %r<34>;\n"
|
|
" .reg .u64 %rd<36>;\n"
|
|
" .reg .pred %p<11>;\n"
|
|
" .loc 16 256 0\n"
|
|
"$LDWbegin_kernel_special:\n"
|
|
" mov.u32 %r1, %ctaid.x;\n"
|
|
" mov.u32 %r2, %ntid.x;\n"
|
|
" mul.lo.u32 %r3, %r1, %r2;\n"
|
|
" mov.u32 %r4, %tid.x;\n"
|
|
" add.u32 %r5, %r4, %r3;\n"
|
|
" ld.param.s32 %r6, [__cudaparm_kernel_special_nt];\n"
|
|
" setp.le.s32 %p1, %r6, %r5;\n"
|
|
" @%p1 bra $Lt_4_6146;\n"
|
|
" .loc 16 264 0\n"
|
|
" ld.param.u64 %rd1, [__cudaparm_kernel_special_nspecial];\n"
|
|
" mul.lo.s32 %r7, %r5, 3;\n"
|
|
" cvt.s64.s32 %rd2, %r7;\n"
|
|
" mul.wide.s32 %rd3, %r7, 4;\n"
|
|
" add.u64 %rd4, %rd1, %rd3;\n"
|
|
" ld.global.s32 %r8, [%rd4+0];\n"
|
|
" .loc 16 265 0\n"
|
|
" ld.global.s32 %r9, [%rd4+4];\n"
|
|
" .loc 16 266 0\n"
|
|
" ld.global.s32 %r10, [%rd4+8];\n"
|
|
" ld.param.s32 %r11, [__cudaparm_kernel_special_inum];\n"
|
|
" setp.le.s32 %p2, %r11, %r5;\n"
|
|
" @%p2 bra $Lt_4_6914;\n"
|
|
" .loc 16 270 0\n"
|
|
" mov.s32 %r12, %r11;\n"
|
|
" .loc 16 272 0\n"
|
|
" cvt.s64.s32 %rd5, %r11;\n"
|
|
" ld.param.u64 %rd6, [__cudaparm_kernel_special_dev_nbor];\n"
|
|
" cvt.s64.s32 %rd7, %r5;\n"
|
|
" add.u64 %rd8, %rd7, %rd5;\n"
|
|
" mul.lo.u64 %rd9, %rd8, 4;\n"
|
|
" add.u64 %rd10, %rd6, %rd9;\n"
|
|
" ld.global.s32 %r13, [%rd10+0];\n"
|
|
" .loc 16 273 0\n"
|
|
" mul.wide.s32 %rd11, %r11, 4;\n"
|
|
" add.u64 %rd12, %rd10, %rd11;\n"
|
|
" bra.uni $Lt_4_6658;\n"
|
|
"$Lt_4_6914:\n"
|
|
" .loc 16 276 0\n"
|
|
" sub.s32 %r14, %r5, %r11;\n"
|
|
" ld.param.u64 %rd13, [__cudaparm_kernel_special_host_nbor_list];\n"
|
|
" ld.param.s32 %r15, [__cudaparm_kernel_special_max_nbors];\n"
|
|
" mul.lo.s32 %r16, %r15, %r14;\n"
|
|
" cvt.s64.s32 %rd14, %r16;\n"
|
|
" mul.wide.s32 %rd15, %r16, 4;\n"
|
|
" add.u64 %rd12, %rd13, %rd15;\n"
|
|
" .loc 16 277 0\n"
|
|
" ld.param.u64 %rd16, [__cudaparm_kernel_special_host_numj];\n"
|
|
" cvt.s64.s32 %rd17, %r14;\n"
|
|
" mul.wide.s32 %rd18, %r14, 4;\n"
|
|
" add.u64 %rd19, %rd16, %rd18;\n"
|
|
" ld.global.s32 %r13, [%rd19+0];\n"
|
|
" mov.s32 %r12, 1;\n"
|
|
"$Lt_4_6658:\n"
|
|
" .loc 16 279 0\n"
|
|
" mul.lo.s32 %r17, %r13, %r12;\n"
|
|
" cvt.s64.s32 %rd20, %r17;\n"
|
|
" mul.wide.s32 %rd21, %r17, 4;\n"
|
|
" add.u64 %rd22, %rd12, %rd21;\n"
|
|
" setp.le.u64 %p3, %rd22, %rd12;\n"
|
|
" @%p3 bra $Lt_4_7170;\n"
|
|
" mov.s32 %r18, 0;\n"
|
|
" setp.gt.s32 %p4, %r10, %r18;\n"
|
|
" cvt.s64.s32 %rd23, %r12;\n"
|
|
" ld.param.u64 %rd24, [__cudaparm_kernel_special_tag];\n"
|
|
"$Lt_4_7682:\n"
|
|
" .loc 16 282 0\n"
|
|
" ld.global.s32 %r19, [%rd12+0];\n"
|
|
" .loc 16 283 0\n"
|
|
" cvt.s64.s32 %rd25, %r19;\n"
|
|
" mul.wide.s32 %rd26, %r19, 4;\n"
|
|
" add.u64 %rd27, %rd24, %rd26;\n"
|
|
" ld.global.s32 %r20, [%rd27+0];\n"
|
|
" @!%p4 bra $Lt_4_7938;\n"
|
|
" mov.s32 %r21, %r10;\n"
|
|
" cvt.s64.s32 %rd28, %r5;\n"
|
|
" cvt.s64.s32 %rd29, %r6;\n"
|
|
" mul.wide.s32 %rd30, %r6, 4;\n"
|
|
" ld.param.u64 %rd31, [__cudaparm_kernel_special_special];\n"
|
|
" mul.wide.s32 %rd32, %r5, 4;\n"
|
|
" add.u64 %rd33, %rd31, %rd32;\n"
|
|
" mov.s32 %r22, 0;\n"
|
|
" mov.s32 %r23, %r21;\n"
|
|
"$Lt_4_8450:\n"
|
|
" ld.global.s32 %r24, [%rd33+0];\n"
|
|
" setp.ne.s32 %p5, %r24, %r20;\n"
|
|
" @%p5 bra $Lt_4_8706;\n"
|
|
" .loc 16 293 0\n"
|
|
" setp.le.s32 %p6, %r8, %r22;\n"
|
|
" mov.s32 %r25, 3;\n"
|
|
" mov.s32 %r26, 2;\n"
|
|
" selp.s32 %r27, %r25, %r26, %p6;\n"
|
|
" mov.s32 %r28, 2;\n"
|
|
" mov.s32 %r29, 1;\n"
|
|
" selp.s32 %r30, %r28, %r29, %p6;\n"
|
|
" setp.le.s32 %p7, %r9, %r22;\n"
|
|
" selp.s32 %r31, %r27, %r30, %p7;\n"
|
|
" shl.b32 %r32, %r31, 30;\n"
|
|
" xor.b32 %r19, %r19, %r32;\n"
|
|
" .loc 16 294 0\n"
|
|
" st.global.s32 [%rd12+0], %r19;\n"
|
|
"$Lt_4_8706:\n"
|
|
" add.s32 %r22, %r22, 1;\n"
|
|
" add.u64 %rd33, %rd30, %rd33;\n"
|
|
" setp.ne.s32 %p8, %r10, %r22;\n"
|
|
" @%p8 bra $Lt_4_8450;\n"
|
|
"$Lt_4_7938:\n"
|
|
" .loc 16 281 0\n"
|
|
" mul.lo.u64 %rd34, %rd23, 4;\n"
|
|
" add.u64 %rd12, %rd12, %rd34;\n"
|
|
" setp.gt.u64 %p9, %rd22, %rd12;\n"
|
|
" @%p9 bra $Lt_4_7682;\n"
|
|
"$Lt_4_7170:\n"
|
|
"$Lt_4_6146:\n"
|
|
" .loc 16 300 0\n"
|
|
" exit;\n"
|
|
"$LDWend_kernel_special:\n"
|
|
" }\n"
|
|
;
|