cuda-samples/Samples/matrixMulDynlinkJIT/extras/matrixMul_kernel_32.ptx

728 lines
23 KiB
Plaintext
Raw Normal View History

2021-10-21 19:04:49 +08:00
.version 1.4
.target sm_20, map_f64_to_f32
// compiled with C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\\bin/../open64/lib//be.exe
// nvopencc 4.0 built on 2011-02-21
//-----------------------------------------------------------
// Compiling C:/Users/EYOUNG~1.COM/AppData/Local/Temp/tmpxft_000014c0_00000000-11_matrixMul_kernel.cpp3.i (C:/Users/EYOUNG~1.COM/AppData/Local/Temp/ccBI#.a04000)
//-----------------------------------------------------------
//-----------------------------------------------------------
// Options:
//-----------------------------------------------------------
// Target:ptx, ISA:sm_20, Endian:little, Pointer Size:32
// -O3 (Optimization level)
// -g0 (Debug level)
// -m2 (Report advisories)
//-----------------------------------------------------------
.shared .align 4 .b8 __cuda_local_var_87382_38_non_const_As__6[1024];
.shared .align 4 .b8 __cuda_local_var_87386_38_non_const_Bs__7[1024];
.entry matrixMul_bs16_32bit (
.param .u32 __cudaparm_matrixMul_bs16_32bit_C,
.param .u32 __cudaparm_matrixMul_bs16_32bit_A,
.param .u32 __cudaparm_matrixMul_bs16_32bit_B,
.param .s32 __cudaparm_matrixMul_bs16_32bit_wA,
.param .s32 __cudaparm_matrixMul_bs16_32bit_wB)
{
.reg .u32 %r<57>;
.reg .f32 %f<52>;
.reg .pred %p<4>;
.loc 16 107 0
$LDWbegin_matrixMul_bs16_32bit:
.loc 16 66 0
cvt.s32.u16 %r1, %ctaid.x;
mul24.lo.s32 %r2, %r1, 16;
cvt.s32.u16 %r3, %ctaid.y;
ld.param.s32 %r4, [__cudaparm_matrixMul_bs16_32bit_wA];
mul.lo.s32 %r5, %r3, %r4;
mul.lo.s32 %r6, %r5, 16;
add.s32 %r7, %r6, %r4;
sub.s32 %r8, %r7, 1;
cvt.s32.u16 %r9, %tid.x;
cvt.s32.u16 %r10, %tid.y;
ld.param.s32 %r11, [__cudaparm_matrixMul_bs16_32bit_wB];
setp.lt.s32 %p1, %r8, %r6;
@%p1 bra $Lt_0_3330;
mov.u32 %r12, __cuda_local_var_87382_38_non_const_As__6;
mov.u32 %r13, __cuda_local_var_87386_38_non_const_Bs__7;
ld.param.s32 %r4, [__cudaparm_matrixMul_bs16_32bit_wA];
add.s32 %r14, %r4, 15;
shr.s32 %r15, %r14, 31;
mov.s32 %r16, 15;
and.b32 %r17, %r15, %r16;
add.s32 %r18, %r17, %r14;
shr.s32 %r19, %r18, 4;
ld.param.s32 %r11, [__cudaparm_matrixMul_bs16_32bit_wB];
mul.lo.s32 %r20, %r10, %r11;
mul.lo.s32 %r21, %r10, %r4;
mul24.lo.u32 %r22, %r10, 16;
mul24.lo.u32 %r23, %r10, 64;
mul24.lo.u32 %r24, %r9, 4;
mul.lo.s32 %r25, %r11, 16;
add.s32 %r26, %r20, %r2;
add.s32 %r27, %r21, %r6;
add.u32 %r28, %r9, %r22;
add.u32 %r29, %r23, %r12;
add.u32 %r30, %r24, %r13;
add.s32 %r31, %r26, %r9;
add.s32 %r32, %r27, %r9;
mul.lo.u32 %r33, %r28, 4;
mul.lo.u32 %r34, %r31, 4;
mul.lo.u32 %r35, %r25, 4;
mul.lo.u32 %r36, %r32, 4;
add.u32 %r37, %r33, %r12;
add.u32 %r38, %r33, %r13;
add.s32 %r39, %r21, %r8;
ld.param.u32 %r40, [__cudaparm_matrixMul_bs16_32bit_B];
add.u32 %r41, %r40, %r34;
ld.param.u32 %r42, [__cudaparm_matrixMul_bs16_32bit_A];
add.u32 %r43, %r36, %r42;
add.s32 %r44, %r39, %r9;
mul.lo.u32 %r45, %r44, 4;
add.u32 %r46, %r45, %r42;
mov.f32 %f1, 0f00000000; // 0
mov.s32 %r47, %r19;
$Lt_0_2818:
//<loop> Loop body line 66, nesting depth: 1, estimated iterations: unknown
.loc 16 81 0
ld.global.f32 %f2, [%r43+0];
st.shared.f32 [%r37+0], %f2;
.loc 16 82 0
ld.global.f32 %f3, [%r41+0];
st.shared.f32 [%r38+0], %f3;
.loc 16 85 0
bar.sync 0;
.loc 16 92 0
ld.shared.f32 %f4, [%r29+0];
ld.shared.f32 %f5, [%r30+0];
mad.f32 %f6, %f4, %f5, %f1;
ld.shared.f32 %f7, [%r29+4];
ld.shared.f32 %f8, [%r30+64];
mad.f32 %f9, %f7, %f8, %f6;
ld.shared.f32 %f10, [%r29+8];
ld.shared.f32 %f11, [%r30+128];
mad.f32 %f12, %f10, %f11, %f9;
ld.shared.f32 %f13, [%r29+12];
ld.shared.f32 %f14, [%r30+192];
mad.f32 %f15, %f13, %f14, %f12;
ld.shared.f32 %f16, [%r29+16];
ld.shared.f32 %f17, [%r30+256];
mad.f32 %f18, %f16, %f17, %f15;
ld.shared.f32 %f19, [%r29+20];
ld.shared.f32 %f20, [%r30+320];
mad.f32 %f21, %f19, %f20, %f18;
ld.shared.f32 %f22, [%r29+24];
ld.shared.f32 %f23, [%r30+384];
mad.f32 %f24, %f22, %f23, %f21;
ld.shared.f32 %f25, [%r29+28];
ld.shared.f32 %f26, [%r30+448];
mad.f32 %f27, %f25, %f26, %f24;
ld.shared.f32 %f28, [%r29+32];
ld.shared.f32 %f29, [%r30+512];
mad.f32 %f30, %f28, %f29, %f27;
ld.shared.f32 %f31, [%r29+36];
ld.shared.f32 %f32, [%r30+576];
mad.f32 %f33, %f31, %f32, %f30;
ld.shared.f32 %f34, [%r29+40];
ld.shared.f32 %f35, [%r30+640];
mad.f32 %f36, %f34, %f35, %f33;
ld.shared.f32 %f37, [%r29+44];
ld.shared.f32 %f38, [%r30+704];
mad.f32 %f39, %f37, %f38, %f36;
ld.shared.f32 %f40, [%r29+48];
ld.shared.f32 %f41, [%r30+768];
mad.f32 %f42, %f40, %f41, %f39;
ld.shared.f32 %f43, [%r29+52];
ld.shared.f32 %f44, [%r30+832];
mad.f32 %f45, %f43, %f44, %f42;
ld.shared.f32 %f46, [%r29+56];
ld.shared.f32 %f47, [%r30+896];
mad.f32 %f48, %f46, %f47, %f45;
ld.shared.f32 %f49, [%r29+60];
ld.shared.f32 %f50, [%r30+960];
mad.f32 %f1, %f49, %f50, %f48;
.loc 16 97 0
bar.sync 0;
.loc 16 66 0
add.u32 %r41, %r35, %r41;
add.u32 %r43, %r43, 64;
setp.le.u32 %p2, %r43, %r46;
@%p2 bra $Lt_0_2818;
bra.uni $Lt_0_2306;
$Lt_0_3330:
ld.param.s32 %r11, [__cudaparm_matrixMul_bs16_32bit_wB];
mul.lo.s32 %r20, %r10, %r11;
mov.f32 %f1, 0f00000000; // 0
$Lt_0_2306:
.loc 16 103 0
ld.param.u32 %r48, [__cudaparm_matrixMul_bs16_32bit_C];
mul.lo.s32 %r49, %r11, %r3;
add.s32 %r50, %r1, %r49;
mul.lo.s32 %r51, %r50, 16;
add.s32 %r52, %r20, %r51;
add.s32 %r53, %r9, %r52;
mul.lo.u32 %r54, %r53, 4;
add.u32 %r55, %r48, %r54;
st.global.f32 [%r55+0], %f1;
.loc 16 110 0
exit;
$LDWend_matrixMul_bs16_32bit:
} // matrixMul_bs16_32bit
.shared .align 4 .b8 __cuda_local_var_87382_38_non_const_As__4[1024];
.shared .align 4 .b8 __cuda_local_var_87386_38_non_const_Bs__5[1024];
.entry matrixMul_bs16_64bit (
.param .u32 __cudaparm_matrixMul_bs16_64bit_C,
.param .u32 __cudaparm_matrixMul_bs16_64bit_A,
.param .u32 __cudaparm_matrixMul_bs16_64bit_B,
.param .u32 __cudaparm_matrixMul_bs16_64bit_wA,
.param .u32 __cudaparm_matrixMul_bs16_64bit_wB)
{
.reg .u32 %r<54>;
.reg .f32 %f<52>;
.reg .pred %p<4>;
.loc 16 111 0
$LDWbegin_matrixMul_bs16_64bit:
.loc 16 66 0
cvt.u32.u16 %r1, %ctaid.x;
mul24.lo.u32 %r2, %r1, 16;
cvt.u32.u16 %r3, %ctaid.y;
ld.param.u32 %r4, [__cudaparm_matrixMul_bs16_64bit_wA];
mul.lo.u32 %r5, %r3, %r4;
mul.lo.u32 %r6, %r5, 16;
mov.s32 %r7, %r6;
add.u32 %r8, %r6, %r4;
sub.u32 %r9, %r8, 1;
cvt.u32.u16 %r10, %tid.x;
cvt.u32.u16 %r11, %tid.y;
ld.param.u32 %r12, [__cudaparm_matrixMul_bs16_64bit_wB];
setp.lt.u32 %p1, %r9, %r6;
@%p1 bra $Lt_1_3330;
mov.u32 %r13, __cuda_local_var_87382_38_non_const_As__4;
mov.u32 %r14, __cuda_local_var_87386_38_non_const_Bs__5;
ld.param.u32 %r4, [__cudaparm_matrixMul_bs16_64bit_wA];
add.u32 %r15, %r4, 15;
shr.s32 %r16, %r15, 31;
mov.s32 %r17, 15;
and.b32 %r18, %r16, %r17;
add.s32 %r19, %r18, %r15;
shr.s32 %r20, %r19, 4;
ld.param.u32 %r12, [__cudaparm_matrixMul_bs16_64bit_wB];
mul.lo.u32 %r21, %r11, %r12;
mul.lo.u32 %r22, %r11, %r4;
mul24.lo.u32 %r23, %r11, 16;
mul24.lo.u32 %r24, %r11, 64;
mul24.lo.u32 %r25, %r10, 4;
mul.lo.u32 %r26, %r12, 16;
add.u32 %r27, %r21, %r2;
add.u32 %r28, %r22, %r6;
add.u32 %r29, %r23, %r10;
add.u32 %r30, %r24, %r13;
add.u32 %r31, %r25, %r14;
add.u32 %r32, %r27, %r10;
add.u32 %r33, %r28, %r10;
mul.lo.u32 %r34, %r29, 4;
mul.lo.u32 %r35, %r32, 4;
mul.lo.u32 %r36, %r26, 4;
mul.lo.u32 %r37, %r33, 4;
add.u32 %r38, %r34, %r13;
add.u32 %r39, %r34, %r14;
ld.param.u32 %r40, [__cudaparm_matrixMul_bs16_64bit_B];
add.u32 %r41, %r40, %r35;
ld.param.u32 %r42, [__cudaparm_matrixMul_bs16_64bit_A];
add.u32 %r43, %r42, %r37;
mov.f32 %f1, 0f00000000; // 0
mov.s32 %r44, %r20;
$Lt_1_2818:
//<loop> Loop body line 66, nesting depth: 1, estimated iterations: unknown
.loc 16 81 0
ld.global.f32 %f2, [%r43+0];
st.shared.f32 [%r38+0], %f2;
.loc 16 82 0
ld.global.f32 %f3, [%r41+0];
st.shared.f32 [%r39+0], %f3;
.loc 16 85 0
bar.sync 0;
.loc 16 92 0
ld.shared.f32 %f4, [%r30+0];
ld.shared.f32 %f5, [%r31+0];
mad.f32 %f6, %f4, %f5, %f1;
ld.shared.f32 %f7, [%r30+4];
ld.shared.f32 %f8, [%r31+64];
mad.f32 %f9, %f7, %f8, %f6;
ld.shared.f32 %f10, [%r30+8];
ld.shared.f32 %f11, [%r31+128];
mad.f32 %f12, %f10, %f11, %f9;
ld.shared.f32 %f13, [%r30+12];
ld.shared.f32 %f14, [%r31+192];
mad.f32 %f15, %f13, %f14, %f12;
ld.shared.f32 %f16, [%r30+16];
ld.shared.f32 %f17, [%r31+256];
mad.f32 %f18, %f16, %f17, %f15;
ld.shared.f32 %f19, [%r30+20];
ld.shared.f32 %f20, [%r31+320];
mad.f32 %f21, %f19, %f20, %f18;
ld.shared.f32 %f22, [%r30+24];
ld.shared.f32 %f23, [%r31+384];
mad.f32 %f24, %f22, %f23, %f21;
ld.shared.f32 %f25, [%r30+28];
ld.shared.f32 %f26, [%r31+448];
mad.f32 %f27, %f25, %f26, %f24;
ld.shared.f32 %f28, [%r30+32];
ld.shared.f32 %f29, [%r31+512];
mad.f32 %f30, %f28, %f29, %f27;
ld.shared.f32 %f31, [%r30+36];
ld.shared.f32 %f32, [%r31+576];
mad.f32 %f33, %f31, %f32, %f30;
ld.shared.f32 %f34, [%r30+40];
ld.shared.f32 %f35, [%r31+640];
mad.f32 %f36, %f34, %f35, %f33;
ld.shared.f32 %f37, [%r30+44];
ld.shared.f32 %f38, [%r31+704];
mad.f32 %f39, %f37, %f38, %f36;
ld.shared.f32 %f40, [%r30+48];
ld.shared.f32 %f41, [%r31+768];
mad.f32 %f42, %f40, %f41, %f39;
ld.shared.f32 %f43, [%r30+52];
ld.shared.f32 %f44, [%r31+832];
mad.f32 %f45, %f43, %f44, %f42;
ld.shared.f32 %f46, [%r30+56];
ld.shared.f32 %f47, [%r31+896];
mad.f32 %f48, %f46, %f47, %f45;
ld.shared.f32 %f49, [%r30+60];
ld.shared.f32 %f50, [%r31+960];
mad.f32 %f1, %f49, %f50, %f48;
.loc 16 97 0
bar.sync 0;
.loc 16 66 0
add.u32 %r41, %r36, %r41;
add.u32 %r7, %r7, 16;
add.u32 %r43, %r43, 64;
setp.ge.u32 %p2, %r9, %r7;
@%p2 bra $Lt_1_2818;
bra.uni $Lt_1_2306;
$Lt_1_3330:
ld.param.u32 %r12, [__cudaparm_matrixMul_bs16_64bit_wB];
mul.lo.u32 %r21, %r11, %r12;
mov.f32 %f1, 0f00000000; // 0
$Lt_1_2306:
.loc 16 103 0
ld.param.u32 %r45, [__cudaparm_matrixMul_bs16_64bit_C];
mul.lo.u32 %r46, %r12, %r3;
add.u32 %r47, %r1, %r46;
mul.lo.u32 %r48, %r47, 16;
add.u32 %r49, %r21, %r48;
add.u32 %r50, %r10, %r49;
mul.lo.u32 %r51, %r50, 4;
add.u32 %r52, %r45, %r51;
st.global.f32 [%r52+0], %f1;
.loc 16 114 0
exit;
$LDWend_matrixMul_bs16_64bit:
} // matrixMul_bs16_64bit
.shared .align 4 .b8 __cuda_local_var_87382_38_non_const_As__2[4096];
.shared .align 4 .b8 __cuda_local_var_87386_38_non_const_Bs__3[4096];
.entry matrixMul_bs32_32bit (
.param .u32 __cudaparm_matrixMul_bs32_32bit_C,
.param .u32 __cudaparm_matrixMul_bs32_32bit_A,
.param .u32 __cudaparm_matrixMul_bs32_32bit_B,
.param .s32 __cudaparm_matrixMul_bs32_32bit_wA,
.param .s32 __cudaparm_matrixMul_bs32_32bit_wB)
{
.reg .u32 %r<57>;
.reg .f32 %f<100>;
.reg .pred %p<4>;
.loc 16 115 0
$LDWbegin_matrixMul_bs32_32bit:
.loc 16 66 0
cvt.s32.u16 %r1, %ctaid.x;
mul24.lo.s32 %r2, %r1, 32;
cvt.s32.u16 %r3, %ctaid.y;
ld.param.s32 %r4, [__cudaparm_matrixMul_bs32_32bit_wA];
mul.lo.s32 %r5, %r3, %r4;
mul.lo.s32 %r6, %r5, 32;
add.s32 %r7, %r6, %r4;
sub.s32 %r8, %r7, 1;
cvt.s32.u16 %r9, %tid.x;
cvt.s32.u16 %r10, %tid.y;
ld.param.s32 %r11, [__cudaparm_matrixMul_bs32_32bit_wB];
setp.lt.s32 %p1, %r8, %r6;
@%p1 bra $Lt_2_3330;
mov.u32 %r12, __cuda_local_var_87382_38_non_const_As__2;
mov.u32 %r13, __cuda_local_var_87386_38_non_const_Bs__3;
ld.param.s32 %r4, [__cudaparm_matrixMul_bs32_32bit_wA];
add.s32 %r14, %r4, 31;
shr.s32 %r15, %r14, 31;
mov.s32 %r16, 31;
and.b32 %r17, %r15, %r16;
add.s32 %r18, %r17, %r14;
shr.s32 %r19, %r18, 5;
ld.param.s32 %r11, [__cudaparm_matrixMul_bs32_32bit_wB];
mul.lo.s32 %r20, %r10, %r11;
mul.lo.s32 %r21, %r10, %r4;
mul24.lo.u32 %r22, %r10, 32;
mul24.lo.u32 %r23, %r10, 128;
mul24.lo.u32 %r24, %r9, 4;
mul.lo.s32 %r25, %r11, 32;
add.s32 %r26, %r20, %r2;
add.s32 %r27, %r21, %r6;
add.u32 %r28, %r9, %r22;
add.u32 %r29, %r23, %r12;
add.u32 %r30, %r24, %r13;
add.s32 %r31, %r26, %r9;
add.s32 %r32, %r27, %r9;
mul.lo.u32 %r33, %r28, 4;
mul.lo.u32 %r34, %r31, 4;
mul.lo.u32 %r35, %r25, 4;
mul.lo.u32 %r36, %r32, 4;
add.u32 %r37, %r33, %r12;
add.u32 %r38, %r33, %r13;
add.s32 %r39, %r21, %r8;
ld.param.u32 %r40, [__cudaparm_matrixMul_bs32_32bit_B];
add.u32 %r41, %r40, %r34;
ld.param.u32 %r42, [__cudaparm_matrixMul_bs32_32bit_A];
add.u32 %r43, %r36, %r42;
add.s32 %r44, %r39, %r9;
mul.lo.u32 %r45, %r44, 4;
add.u32 %r46, %r45, %r42;
mov.f32 %f1, 0f00000000; // 0
mov.s32 %r47, %r19;
$Lt_2_2818:
//<loop> Loop body line 66, nesting depth: 1, estimated iterations: unknown
.loc 16 81 0
ld.global.f32 %f2, [%r43+0];
st.shared.f32 [%r37+0], %f2;
.loc 16 82 0
ld.global.f32 %f3, [%r41+0];
st.shared.f32 [%r38+0], %f3;
.loc 16 85 0
bar.sync 0;
.loc 16 92 0
ld.shared.f32 %f4, [%r29+0];
ld.shared.f32 %f5, [%r30+0];
mad.f32 %f6, %f4, %f5, %f1;
ld.shared.f32 %f7, [%r29+4];
ld.shared.f32 %f8, [%r30+128];
mad.f32 %f9, %f7, %f8, %f6;
ld.shared.f32 %f10, [%r29+8];
ld.shared.f32 %f11, [%r30+256];
mad.f32 %f12, %f10, %f11, %f9;
ld.shared.f32 %f13, [%r29+12];
ld.shared.f32 %f14, [%r30+384];
mad.f32 %f15, %f13, %f14, %f12;
ld.shared.f32 %f16, [%r29+16];
ld.shared.f32 %f17, [%r30+512];
mad.f32 %f18, %f16, %f17, %f15;
ld.shared.f32 %f19, [%r29+20];
ld.shared.f32 %f20, [%r30+640];
mad.f32 %f21, %f19, %f20, %f18;
ld.shared.f32 %f22, [%r29+24];
ld.shared.f32 %f23, [%r30+768];
mad.f32 %f24, %f22, %f23, %f21;
ld.shared.f32 %f25, [%r29+28];
ld.shared.f32 %f26, [%r30+896];
mad.f32 %f27, %f25, %f26, %f24;
ld.shared.f32 %f28, [%r29+32];
ld.shared.f32 %f29, [%r30+1024];
mad.f32 %f30, %f28, %f29, %f27;
ld.shared.f32 %f31, [%r29+36];
ld.shared.f32 %f32, [%r30+1152];
mad.f32 %f33, %f31, %f32, %f30;
ld.shared.f32 %f34, [%r29+40];
ld.shared.f32 %f35, [%r30+1280];
mad.f32 %f36, %f34, %f35, %f33;
ld.shared.f32 %f37, [%r29+44];
ld.shared.f32 %f38, [%r30+1408];
mad.f32 %f39, %f37, %f38, %f36;
ld.shared.f32 %f40, [%r29+48];
ld.shared.f32 %f41, [%r30+1536];
mad.f32 %f42, %f40, %f41, %f39;
ld.shared.f32 %f43, [%r29+52];
ld.shared.f32 %f44, [%r30+1664];
mad.f32 %f45, %f43, %f44, %f42;
ld.shared.f32 %f46, [%r29+56];
ld.shared.f32 %f47, [%r30+1792];
mad.f32 %f48, %f46, %f47, %f45;
ld.shared.f32 %f49, [%r29+60];
ld.shared.f32 %f50, [%r30+1920];
mad.f32 %f51, %f49, %f50, %f48;
ld.shared.f32 %f52, [%r29+64];
ld.shared.f32 %f53, [%r30+2048];
mad.f32 %f54, %f52, %f53, %f51;
ld.shared.f32 %f55, [%r29+68];
ld.shared.f32 %f56, [%r30+2176];
mad.f32 %f57, %f55, %f56, %f54;
ld.shared.f32 %f58, [%r29+72];
ld.shared.f32 %f59, [%r30+2304];
mad.f32 %f60, %f58, %f59, %f57;
ld.shared.f32 %f61, [%r29+76];
ld.shared.f32 %f62, [%r30+2432];
mad.f32 %f63, %f61, %f62, %f60;
ld.shared.f32 %f64, [%r29+80];
ld.shared.f32 %f65, [%r30+2560];
mad.f32 %f66, %f64, %f65, %f63;
ld.shared.f32 %f67, [%r29+84];
ld.shared.f32 %f68, [%r30+2688];
mad.f32 %f69, %f67, %f68, %f66;
ld.shared.f32 %f70, [%r29+88];
ld.shared.f32 %f71, [%r30+2816];
mad.f32 %f72, %f70, %f71, %f69;
ld.shared.f32 %f73, [%r29+92];
ld.shared.f32 %f74, [%r30+2944];
mad.f32 %f75, %f73, %f74, %f72;
ld.shared.f32 %f76, [%r29+96];
ld.shared.f32 %f77, [%r30+3072];
mad.f32 %f78, %f76, %f77, %f75;
ld.shared.f32 %f79, [%r29+100];
ld.shared.f32 %f80, [%r30+3200];
mad.f32 %f81, %f79, %f80, %f78;
ld.shared.f32 %f82, [%r29+104];
ld.shared.f32 %f83, [%r30+3328];
mad.f32 %f84, %f82, %f83, %f81;
ld.shared.f32 %f85, [%r29+108];
ld.shared.f32 %f86, [%r30+3456];
mad.f32 %f87, %f85, %f86, %f84;
ld.shared.f32 %f88, [%r29+112];
ld.shared.f32 %f89, [%r30+3584];
mad.f32 %f90, %f88, %f89, %f87;
ld.shared.f32 %f91, [%r29+116];
ld.shared.f32 %f92, [%r30+3712];
mad.f32 %f93, %f91, %f92, %f90;
ld.shared.f32 %f94, [%r29+120];
ld.shared.f32 %f95, [%r30+3840];
mad.f32 %f96, %f94, %f95, %f93;
ld.shared.f32 %f97, [%r29+124];
ld.shared.f32 %f98, [%r30+3968];
mad.f32 %f1, %f97, %f98, %f96;
.loc 16 97 0
bar.sync 0;
.loc 16 66 0
add.u32 %r41, %r35, %r41;
add.u32 %r43, %r43, 128;
setp.le.u32 %p2, %r43, %r46;
@%p2 bra $Lt_2_2818;
bra.uni $Lt_2_2306;
$Lt_2_3330:
ld.param.s32 %r11, [__cudaparm_matrixMul_bs32_32bit_wB];
mul.lo.s32 %r20, %r10, %r11;
mov.f32 %f1, 0f00000000; // 0
$Lt_2_2306:
.loc 16 103 0
ld.param.u32 %r48, [__cudaparm_matrixMul_bs32_32bit_C];
mul.lo.s32 %r49, %r11, %r3;
add.s32 %r50, %r1, %r49;
mul.lo.s32 %r51, %r50, 32;
add.s32 %r52, %r20, %r51;
add.s32 %r53, %r9, %r52;
mul.lo.u32 %r54, %r53, 4;
add.u32 %r55, %r48, %r54;
st.global.f32 [%r55+0], %f1;
.loc 16 118 0
exit;
$LDWend_matrixMul_bs32_32bit:
} // matrixMul_bs32_32bit
.shared .align 4 .b8 __cuda_local_var_87382_38_non_const_As__0[4096];
.shared .align 4 .b8 __cuda_local_var_87386_38_non_const_Bs__1[4096];
.entry matrixMul_bs32_64bit (
.param .u32 __cudaparm_matrixMul_bs32_64bit_C,
.param .u32 __cudaparm_matrixMul_bs32_64bit_A,
.param .u32 __cudaparm_matrixMul_bs32_64bit_B,
.param .u32 __cudaparm_matrixMul_bs32_64bit_wA,
.param .u32 __cudaparm_matrixMul_bs32_64bit_wB)
{
.reg .u32 %r<54>;
.reg .f32 %f<100>;
.reg .pred %p<4>;
.loc 16 119 0
$LDWbegin_matrixMul_bs32_64bit:
.loc 16 66 0
cvt.u32.u16 %r1, %ctaid.x;
mul24.lo.u32 %r2, %r1, 32;
cvt.u32.u16 %r3, %ctaid.y;
ld.param.u32 %r4, [__cudaparm_matrixMul_bs32_64bit_wA];
mul.lo.u32 %r5, %r3, %r4;
mul.lo.u32 %r6, %r5, 32;
mov.s32 %r7, %r6;
add.u32 %r8, %r6, %r4;
sub.u32 %r9, %r8, 1;
cvt.u32.u16 %r10, %tid.x;
cvt.u32.u16 %r11, %tid.y;
ld.param.u32 %r12, [__cudaparm_matrixMul_bs32_64bit_wB];
setp.lt.u32 %p1, %r9, %r6;
@%p1 bra $Lt_3_3330;
mov.u32 %r13, __cuda_local_var_87382_38_non_const_As__0;
mov.u32 %r14, __cuda_local_var_87386_38_non_const_Bs__1;
ld.param.u32 %r4, [__cudaparm_matrixMul_bs32_64bit_wA];
add.u32 %r15, %r4, 31;
shr.s32 %r16, %r15, 31;
mov.s32 %r17, 31;
and.b32 %r18, %r16, %r17;
add.s32 %r19, %r18, %r15;
shr.s32 %r20, %r19, 5;
ld.param.u32 %r12, [__cudaparm_matrixMul_bs32_64bit_wB];
mul.lo.u32 %r21, %r11, %r12;
mul.lo.u32 %r22, %r11, %r4;
mul24.lo.u32 %r23, %r11, 32;
mul24.lo.u32 %r24, %r11, 128;
mul24.lo.u32 %r25, %r10, 4;
mul.lo.u32 %r26, %r12, 32;
add.u32 %r27, %r21, %r2;
add.u32 %r28, %r22, %r6;
add.u32 %r29, %r23, %r10;
add.u32 %r30, %r24, %r13;
add.u32 %r31, %r25, %r14;
add.u32 %r32, %r27, %r10;
add.u32 %r33, %r28, %r10;
mul.lo.u32 %r34, %r29, 4;
mul.lo.u32 %r35, %r32, 4;
mul.lo.u32 %r36, %r26, 4;
mul.lo.u32 %r37, %r33, 4;
add.u32 %r38, %r34, %r13;
add.u32 %r39, %r34, %r14;
ld.param.u32 %r40, [__cudaparm_matrixMul_bs32_64bit_B];
add.u32 %r41, %r40, %r35;
ld.param.u32 %r42, [__cudaparm_matrixMul_bs32_64bit_A];
add.u32 %r43, %r42, %r37;
mov.f32 %f1, 0f00000000; // 0
mov.s32 %r44, %r20;
$Lt_3_2818:
//<loop> Loop body line 66, nesting depth: 1, estimated iterations: unknown
.loc 16 81 0
ld.global.f32 %f2, [%r43+0];
st.shared.f32 [%r38+0], %f2;
.loc 16 82 0
ld.global.f32 %f3, [%r41+0];
st.shared.f32 [%r39+0], %f3;
.loc 16 85 0
bar.sync 0;
.loc 16 92 0
ld.shared.f32 %f4, [%r30+0];
ld.shared.f32 %f5, [%r31+0];
mad.f32 %f6, %f4, %f5, %f1;
ld.shared.f32 %f7, [%r30+4];
ld.shared.f32 %f8, [%r31+128];
mad.f32 %f9, %f7, %f8, %f6;
ld.shared.f32 %f10, [%r30+8];
ld.shared.f32 %f11, [%r31+256];
mad.f32 %f12, %f10, %f11, %f9;
ld.shared.f32 %f13, [%r30+12];
ld.shared.f32 %f14, [%r31+384];
mad.f32 %f15, %f13, %f14, %f12;
ld.shared.f32 %f16, [%r30+16];
ld.shared.f32 %f17, [%r31+512];
mad.f32 %f18, %f16, %f17, %f15;
ld.shared.f32 %f19, [%r30+20];
ld.shared.f32 %f20, [%r31+640];
mad.f32 %f21, %f19, %f20, %f18;
ld.shared.f32 %f22, [%r30+24];
ld.shared.f32 %f23, [%r31+768];
mad.f32 %f24, %f22, %f23, %f21;
ld.shared.f32 %f25, [%r30+28];
ld.shared.f32 %f26, [%r31+896];
mad.f32 %f27, %f25, %f26, %f24;
ld.shared.f32 %f28, [%r30+32];
ld.shared.f32 %f29, [%r31+1024];
mad.f32 %f30, %f28, %f29, %f27;
ld.shared.f32 %f31, [%r30+36];
ld.shared.f32 %f32, [%r31+1152];
mad.f32 %f33, %f31, %f32, %f30;
ld.shared.f32 %f34, [%r30+40];
ld.shared.f32 %f35, [%r31+1280];
mad.f32 %f36, %f34, %f35, %f33;
ld.shared.f32 %f37, [%r30+44];
ld.shared.f32 %f38, [%r31+1408];
mad.f32 %f39, %f37, %f38, %f36;
ld.shared.f32 %f40, [%r30+48];
ld.shared.f32 %f41, [%r31+1536];
mad.f32 %f42, %f40, %f41, %f39;
ld.shared.f32 %f43, [%r30+52];
ld.shared.f32 %f44, [%r31+1664];
mad.f32 %f45, %f43, %f44, %f42;
ld.shared.f32 %f46, [%r30+56];
ld.shared.f32 %f47, [%r31+1792];
mad.f32 %f48, %f46, %f47, %f45;
ld.shared.f32 %f49, [%r30+60];
ld.shared.f32 %f50, [%r31+1920];
mad.f32 %f51, %f49, %f50, %f48;
ld.shared.f32 %f52, [%r30+64];
ld.shared.f32 %f53, [%r31+2048];
mad.f32 %f54, %f52, %f53, %f51;
ld.shared.f32 %f55, [%r30+68];
ld.shared.f32 %f56, [%r31+2176];
mad.f32 %f57, %f55, %f56, %f54;
ld.shared.f32 %f58, [%r30+72];
ld.shared.f32 %f59, [%r31+2304];
mad.f32 %f60, %f58, %f59, %f57;
ld.shared.f32 %f61, [%r30+76];
ld.shared.f32 %f62, [%r31+2432];
mad.f32 %f63, %f61, %f62, %f60;
ld.shared.f32 %f64, [%r30+80];
ld.shared.f32 %f65, [%r31+2560];
mad.f32 %f66, %f64, %f65, %f63;
ld.shared.f32 %f67, [%r30+84];
ld.shared.f32 %f68, [%r31+2688];
mad.f32 %f69, %f67, %f68, %f66;
ld.shared.f32 %f70, [%r30+88];
ld.shared.f32 %f71, [%r31+2816];
mad.f32 %f72, %f70, %f71, %f69;
ld.shared.f32 %f73, [%r30+92];
ld.shared.f32 %f74, [%r31+2944];
mad.f32 %f75, %f73, %f74, %f72;
ld.shared.f32 %f76, [%r30+96];
ld.shared.f32 %f77, [%r31+3072];
mad.f32 %f78, %f76, %f77, %f75;
ld.shared.f32 %f79, [%r30+100];
ld.shared.f32 %f80, [%r31+3200];
mad.f32 %f81, %f79, %f80, %f78;
ld.shared.f32 %f82, [%r30+104];
ld.shared.f32 %f83, [%r31+3328];
mad.f32 %f84, %f82, %f83, %f81;
ld.shared.f32 %f85, [%r30+108];
ld.shared.f32 %f86, [%r31+3456];
mad.f32 %f87, %f85, %f86, %f84;
ld.shared.f32 %f88, [%r30+112];
ld.shared.f32 %f89, [%r31+3584];
mad.f32 %f90, %f88, %f89, %f87;
ld.shared.f32 %f91, [%r30+116];
ld.shared.f32 %f92, [%r31+3712];
mad.f32 %f93, %f91, %f92, %f90;
ld.shared.f32 %f94, [%r30+120];
ld.shared.f32 %f95, [%r31+3840];
mad.f32 %f96, %f94, %f95, %f93;
ld.shared.f32 %f97, [%r30+124];
ld.shared.f32 %f98, [%r31+3968];
mad.f32 %f1, %f97, %f98, %f96;
.loc 16 97 0
bar.sync 0;
.loc 16 66 0
add.u32 %r41, %r36, %r41;
add.u32 %r7, %r7, 32;
add.u32 %r43, %r43, 128;
setp.ge.u32 %p2, %r9, %r7;
@%p2 bra $Lt_3_2818;
bra.uni $Lt_3_2306;
$Lt_3_3330:
ld.param.u32 %r12, [__cudaparm_matrixMul_bs32_64bit_wB];
mul.lo.u32 %r21, %r11, %r12;
mov.f32 %f1, 0f00000000; // 0
$Lt_3_2306:
.loc 16 103 0
ld.param.u32 %r45, [__cudaparm_matrixMul_bs32_64bit_C];
mul.lo.u32 %r46, %r12, %r3;
add.u32 %r47, %r1, %r46;
mul.lo.u32 %r48, %r47, 32;
add.u32 %r49, %r21, %r48;
add.u32 %r50, %r10, %r49;
mul.lo.u32 %r51, %r50, 4;
add.u32 %r52, %r45, %r51;
st.global.f32 [%r52+0], %f1;
.loc 16 122 0
exit;
$LDWend_matrixMul_bs32_64bit:
} // matrixMul_bs32_64bit