[56] ) { .reg .pred %p<34>; .reg .b16 %rs<9>; .reg .f32 %f<155>; .reg .b32 %r<90>; .reg .b64 %rd<35>; ld.param.v2.u32 {%r36, %r37}, [gemvKernel_vectorized_fp32_param_0+32]; ld.param.f32 %f19, [gemvKernel_vectorized_fp32_param_0+48]; ld.param.f32 %f18, [gemvKernel_vectorized_fp32_param_0+44]; ld.param.u32 %r35, [gemvKernel_vectorized_fp32_param_0+40]; ld.param.u64 %rd9, [gemvKernel_vectorized_fp32_param_0+24]; ld.param.u64 %rd8, [gemvKernel_vectorized_fp32_param_0+16]; ld.param.u64 %rd7, [gemvKernel_vectorized_fp32_param_0+8]; ld.param.u64 %rd6, [gemvKernel_vectorized_fp32_param_0]; cvta.to.global.u64 %rd1, %rd6; cvta.to.global.u64 %rd2, %rd7; mov.u32 %r38, %ntid.y; mov.u32 %r39, %ctaid.x; mov.u32 %r40, %tid.y; mad.lo.s32 %r1, %r39, %r38, %r40; setp.ge.s32 %p2, %r1, %r36; @%p2 bra $L__BB0_22; setp.lt.s32 %p3, %r35, 1; mov.f32 %f146, 0f00000000; mov.u32 %r3, %tid.x; @%p3 bra $L__BB0_18; mov.u32 %r5, WARP_SZ; mul.lo.s32 %r6, %r37, %r1; and.b32 %r7, %r35, 3; add.s32 %r42, %r35, -1; setp.lt.u32 %p4, %r42, 3; mov.f32 %f146, 0f00000000; mov.u32 %r86, 0; @%p4 bra $L__BB0_13; sub.s32 %r85, %r35, %r7; $L__BB0_4: mad.lo.s32 %r11, %r86, %r5, %r3; shl.b32 %r12, %r11, 2; setp.ge.s32 %p5, %r12, %r37; @%p5 bra $L__BB0_6; add.s32 %r44, %r12, %r6; mul.wide.s32 %rd10, %r44, 4; add.s64 %rd11, %rd1, %rd10; mul.wide.s32 %rd12, %r12, 4; add.s64 %rd13, %rd2, %rd12; ld.global.v4.f32 {%f24, %f25, %f26, %f27}, [%rd11]; ld.global.v4.f32 {%f29, %f30, %f31, %f32}, [%rd13]; fma.rn.ftz.f32 %f34, %f24, %f29, %f146; add.s32 %r45, %r12, 1; setp.lt.s32 %p6, %r45, %r37; fma.rn.ftz.f32 %f37, %f25, %f30, %f34; selp.f32 %f38, %f37, %f34, %p6; add.s32 %r46, %r12, 2; setp.lt.s32 %p7, %r46, %r37; fma.rn.ftz.f32 %f41, %f26, %f31, %f38; selp.f32 %f42, %f41, %f38, %p7; add.s32 %r47, %r12, 3; setp.lt.s32 %p8, %r47, %r37; fma.rn.ftz.f32 %f45, %f27, %f32, %f42; selp.f32 %f146, %f45, %f42, %p8; $L__BB0_6: add.s32 %r13, %r11, %r5; shl.b32 %r14, %r13, 2; setp.ge.s32 %p9, %r14, %r37; @%p9 bra $L__BB0_8; add.s32 %r48, %r14, %r6; mul.wide.s32 %rd14, %r48, 4; add.s64 %rd15, %rd1, %rd14; mul.wide.s32 %rd16, %r14, 4; add.s64 %rd17, %rd2, %rd16; ld.global.v4.f32 {%f46, %f47, %f48, %f49}, [%rd15]; ld.global.v4.f32 {%f51, %f52, %f53, %f54}, [%rd17]; fma.rn.ftz.f32 %f56, %f46, %f51, %f146; add.s32 %r49, %r14, 1; setp.lt.s32 %p10, %r49, %r37; fma.rn.ftz.f32 %f59, %f47, %f52, %f56; selp.f32 %f60, %f59, %f56, %p10; add.s32 %r50, %r14, 2; setp.lt.s32 %p11, %r50, %r37; fma.rn.ftz.f32 %f63, %f48, %f53, %f60; selp.f32 %f64, %f63, %f60, %p11; add.s32 %r51, %r14, 3; setp.lt.s32 %p12, %r51, %r37; fma.rn.ftz.f32 %f67, %f49, %f54, %f64; selp.f32 %f146, %f67, %f64, %p12; $L__BB0_8: add.s32 %r15, %r13, %r5; shl.b32 %r16, %r15, 2; setp.ge.s32 %p13, %r16, %r37; @%p13 bra $L__BB0_10; add.s32 %r52, %r16, %r6; mul.wide.s32 %rd18, %r52, 4; add.s64 %rd19, %rd1, %rd18; mul.wide.s32 %rd20, %r16, 4; add.s64 %rd21, %rd2, %rd20; ld.global.v4.f32 {%f68, %f69, %f70, %f71}, [%rd19]; ld.global.v4.f32 {%f73, %f74, %f75, %f76}, [%rd21]; fma.rn.ftz.f32 %f78, %f68, %f73, %f146; add.s32 %r53, %r16, 1; setp.lt.s32 %p14, %r53, %r37; fma.rn.ftz.f32 %f81, %f69, %f74, %f78; selp.f32 %f82, %f81, %f78, %p14; add.s32 %r54, %r16, 2; setp.lt.s32 %p15, %r54, %r37; fma.rn.ftz.f32 %f85, %f70, %f75, %f82; selp.f32 %f86, %f85, %f82, %p15; add.s32 %r55, %r16, 3; setp.lt.s32 %p16, %r55, %r37; fma.rn.ftz.f32 %f89, %f71, %f76, %f86; selp.f32 %f146, %f89, %f86, %p16; $L__BB0_10: add.s32 %r56, %r15, %r5; shl.b32 %r17, %r56, 2; setp.ge.s32 %p17, %r17, %r37; @%p17 bra $L__BB0_12; add.s32 %r57, %r17, %r6; mul.wide.s32 %rd22, %r57, 4; add.s64 %rd23, %rd1, %rd22; mul.wide.s32 %rd24, %r17, 4; add.s64 %rd25, %rd2, %rd24; ld.global.v4.f32 {%f90, %f91, %f92, %f93}, [%rd23]; ld.global.v4.f32 {%f95, %f96, %f97, %f98}, [%rd25]; fma.rn.ftz.f32 %f100, %f90, %f95, %f146; add.s32 %r58, %r17, 1; setp.lt.s32 %p18, %r58, %r37; fma.rn.ftz.f32 %f103, %f91, %f96, %f100; selp.f32 %f104, %f103, %f100, %p18; add.s32 %r59, %r17, 2; setp.lt.s32 %p19, %r59, %r37; fma.rn.ftz.f32 %f107, %f92, %f97, %f104; selp.f32 %f108, %f107, %f104, %p19; add.s32 %r60, %r17, 3; setp.lt.s32 %p20, %r60, %r37; fma.rn.ftz.f32 %f111, %f93, %f98, %f108; selp.f32 %f146, %f111, %f108, %p20; $L__BB0_12: add.s32 %r86, %r86, 4; add.s32 %r85, %r85, -4; setp.ne.s32 %p21, %r85, 0; @%p21 bra $L__BB0_4; $L__BB0_13: setp.eq.s32 %p22, %r7, 0; @%p22 bra $L__BB0_18; mul.lo.s32 %r61, %r5, %r86; shl.b32 %r62, %r61, 2; shl.b32 %r63, %r3, 2; add.s32 %r64, %r62, %r63; or.b32 %r89, %r64, 3; shl.b32 %r22, %r5, 2; add.s32 %r65, %r62, %r6; add.s32 %r88, %r65, %r63; neg.s32 %r87, %r7; $L__BB0_15: .pragma "nounroll"; add.s32 %r28, %r89, -3; setp.ge.s32 %p23, %r28, %r37; @%p23 bra $L__BB0_17; mul.wide.s32 %rd26, %r88, 4; add.s64 %rd27, %rd1, %rd26; mul.wide.s32 %rd28, %r28, 4; add.s64 %rd29, %rd2, %rd28; ld.global.v4.f32 {%f112, %f113, %f114, %f115}, [%rd27]; ld.global.v4.f32 {%f117, %f118, %f119, %f120}, [%rd29]; fma.rn.ftz.f32 %f122, %f112, %f117, %f146; add.s32 %r66, %r89, -2; setp.lt.s32 %p24, %r66, %r37; fma.rn.ftz.f32 %f125, %f113, %f118, %f122; selp.f32 %f126, %f125, %f122, %p24; add.s32 %r67, %r89, -1; setp.lt.s32 %p25, %r67, %r37; fma.rn.ftz.f32 %f129, %f114, %f119, %f126; selp.f32 %f130, %f129, %f126, %p25; fma.rn.ftz.f32 %f133, %f115, %f120, %f130; setp.lt.s32 %p26, %r89, %r37; selp.f32 %f146, %f133, %f130, %p26; $L__BB0_17: add.s32 %r89, %r89, %r22; add.s32 %r88, %r88, %r22; add.s32 %r87, %r87, 1; setp.ne.s32 %p27, %r87, 0; @%p27 bra $L__BB0_15; $L__BB0_18: mov.b32 %r68, %f146; mov.u32 %r69, 31; mov.u32 %r70, 16; mov.u32 %r71, -1; shfl.sync.bfly.b32 %r72|%p28, %r68, %r70, %r69, %r71; mov.b32 %f134, %r72; add.ftz.f32 %f135, %f146, %f134; mov.b32 %r73, %f135; mov.u32 %r74, 8; shfl.sync.bfly.b32 %r75|%p29, %r73, %r74, %r69, %r71; mov.b32 %f136, %r75; add.ftz.f32 %f137, %f135, %f136; mov.b32 %r76, %f137; mov.u32 %r77, 4; shfl.sync.bfly.b32 %r78|%p30, %r76, %r77, %r69, %r71; mov.b32 %f138, %r78; add.ftz.f32 %f139, %f137, %f138; mov.b32 %r79, %f139; mov.u32 %r80, 2; shfl.sync.bfly.b32 %r81|%p31, %r79, %r80, %r69, %r71; mov.b32 %f140, %r81; add.ftz.f32 %f16, %f139, %f140; mov.b32 %r82, %f16; mov.u32 %r83, 1; shfl.sync.bfly.b32 %r32|%p1, %r82, %r83, %r69, %r71; setp.ne.s32 %p32, %r3, 0; @%p32 bra $L__BB0_22; setp.eq.s64 %p33, %rd8, 0; mov.b32 %f141, %r32; add.ftz.f32 %f142, %f16, %f141; mul.ftz.f32 %f17, %f18, %f142; cvt.s64.s32 %rd4, %r1; cvta.to.global.u64 %rd30, %rd9; mul.wide.s32 %rd31, %r1, 4; add.s64 %rd5, %rd30, %rd31; @%p33 bra $L__BB0_21; cvta.to.global.u64 %rd32, %rd8; shl.b64 %rd33, %rd4, 2; add.s64 %rd34, %rd32, %rd33; ld.global.f32 %f143, [%rd34]; fma.rn.ftz.f32 %f144, %f19, %f143, %f17; st.global.f32 [%rd5], %f144; bra.uni $L__BB0_22; $L__BB0_21: st.global.f32 [%rd5], %f17; $L__BB0_22: ret; }