ffmpeg-cuda / libavfilter /vf_bilateral_cuda.ptx
camenduru's picture
thanks to ffmpeg ❤
8ead80b
//
// Generated by NVIDIA NVVM Compiler
//
// Compiler Build ID: CL-31833905
// Cuda compilation tools, release 11.8, V11.8.89
// Based on NVVM 7.0.1
//
.version 7.8
.target sm_60
.address_size 64
// .globl Process_uchar
.visible .entry Process_uchar(
.param .u64 Process_uchar_param_0,
.param .u64 Process_uchar_param_1,
.param .u64 Process_uchar_param_2,
.param .u64 Process_uchar_param_3,
.param .u64 Process_uchar_param_4,
.param .u64 Process_uchar_param_5,
.param .u32 Process_uchar_param_6,
.param .u32 Process_uchar_param_7,
.param .u32 Process_uchar_param_8,
.param .u32 Process_uchar_param_9,
.param .u32 Process_uchar_param_10,
.param .u32 Process_uchar_param_11,
.param .u32 Process_uchar_param_12,
.param .f32 Process_uchar_param_13,
.param .f32 Process_uchar_param_14
)
{
.reg .pred %p<45>;
.reg .f32 %f<366>;
.reg .b32 %r<95>;
.reg .b64 %rd<18>;
ld.param.u64 %rd1, [Process_uchar_param_0];
ld.param.u64 %rd2, [Process_uchar_param_1];
ld.param.u64 %rd3, [Process_uchar_param_2];
ld.param.u32 %r32, [Process_uchar_param_6];
ld.param.u32 %r33, [Process_uchar_param_7];
ld.param.u32 %r35, [Process_uchar_param_9];
ld.param.u32 %r37, [Process_uchar_param_12];
ld.param.f32 %f94, [Process_uchar_param_13];
ld.param.f32 %f95, [Process_uchar_param_14];
mov.u32 %r38, %ntid.x;
mov.u32 %r39, %ctaid.x;
mov.u32 %r40, %tid.x;
mad.lo.s32 %r1, %r39, %r38, %r40;
mov.u32 %r41, %ntid.y;
mov.u32 %r42, %ctaid.y;
mov.u32 %r43, %tid.y;
mad.lo.s32 %r2, %r42, %r41, %r43;
setp.ge.s32 %p1, %r2, %r33;
setp.ge.s32 %p2, %r1, %r32;
or.pred %p3, %p2, %p1;
@%p3 bra $L__BB0_30;
shr.u32 %r44, %r37, 31;
add.s32 %r45, %r37, %r44;
shr.s32 %r3, %r45, 1;
sub.s32 %r4, %r2, %r3;
div.s32 %r5, %r32, %r35;
div.s32 %r6, %r1, %r5;
div.s32 %r7, %r2, %r5;
setp.eq.s64 %p4, %rd3, 0;
@%p4 bra $L__BB0_3;
cvt.rn.f32.s32 %f96, %r1;
cvt.rn.f32.s32 %f97, %r2;
tex.2d.v4.f32.f32 {%f312, %f98, %f99, %f100}, [%rd1, {%f96, %f97}];
cvt.rn.f32.s32 %f101, %r7;
cvt.rn.f32.s32 %f102, %r6;
tex.2d.v4.f32.f32 {%f311, %f103, %f104, %f105}, [%rd2, {%f102, %f101}];
tex.2d.v4.f32.f32 {%f313, %f106, %f107, %f108}, [%rd3, {%f102, %f101}];
bra.uni $L__BB0_4;
$L__BB0_3:
cvt.rn.f32.s32 %f109, %r6;
cvt.rn.f32.s32 %f110, %r7;
tex.2d.v4.f32.f32 {%f311, %f313, %f111, %f112}, [%rd2, {%f109, %f110}];
cvt.rn.f32.s32 %f113, %r2;
cvt.rn.f32.s32 %f114, %r1;
tex.2d.v4.f32.f32 {%f312, %f115, %f116, %f117}, [%rd1, {%f114, %f113}];
$L__BB0_4:
mul.f32 %f10, %f311, 0f437F0000;
mul.f32 %f11, %f313, 0f437F0000;
mul.f32 %f12, %f312, 0f437F0000;
setp.lt.s32 %p5, %r37, 1;
mov.f32 %f358, 0f00000000;
mov.f32 %f359, %f358;
mov.f32 %f360, %f358;
mov.f32 %f361, %f358;
@%p5 bra $L__BB0_28;
add.f32 %f126, %f94, %f94;
mul.f32 %f13, %f126, %f94;
add.f32 %f127, %f95, %f95;
mul.f32 %f14, %f127, %f95;
and.b32 %r8, %r37, 1;
sub.s32 %r9, %r37, %r8;
sub.s32 %r10, %r1, %r3;
mov.u32 %r88, 0;
$L__BB0_6:
add.s32 %r12, %r88, %r10;
sub.s32 %r47, %r1, %r12;
mul.lo.s32 %r13, %r47, %r47;
@%p4 bra $L__BB0_17;
setp.eq.s32 %p7, %r37, 1;
mov.u32 %r91, 0;
@%p7 bra $L__BB0_14;
mov.u32 %r90, %r9;
$L__BB0_9:
add.s32 %r16, %r91, %r4;
or.b32 %r50, %r16, %r12;
setp.lt.s32 %p8, %r50, 0;
setp.ge.s32 %p9, %r12, %r32;
or.pred %p10, %p9, %p8;
setp.ge.s32 %p11, %r16, %r33;
or.pred %p12, %p11, %p10;
@%p12 bra $L__BB0_11;
cvt.rn.f32.s32 %f306, %r12;
cvt.rn.f32.s32 %f129, %r16;
tex.2d.v4.f32.f32 {%f130, %f131, %f132, %f133}, [%rd1, {%f306, %f129}];
div.s32 %r51, %r12, %r5;
cvt.rn.f32.s32 %f134, %r51;
div.s32 %r52, %r16, %r5;
cvt.rn.f32.s32 %f135, %r52;
tex.2d.v4.f32.f32 {%f136, %f137, %f138, %f139}, [%rd2, {%f134, %f135}];
tex.2d.v4.f32.f32 {%f140, %f141, %f142, %f143}, [%rd3, {%f134, %f135}];
mul.f32 %f144, %f140, 0f437F0000;
mul.f32 %f145, %f136, 0f437F0000;
mul.f32 %f146, %f130, 0f437F0000;
sub.s32 %r53, %r2, %r16;
mad.lo.s32 %r54, %r53, %r53, %r13;
cvt.rn.f32.s32 %f147, %r54;
div.rn.f32 %f148, %f147, %f13;
sub.f32 %f149, %f12, %f146;
sub.f32 %f150, %f10, %f145;
sub.f32 %f151, %f11, %f144;
mul.f32 %f152, %f150, %f150;
fma.rn.f32 %f153, %f149, %f149, %f152;
fma.rn.f32 %f154, %f151, %f151, %f153;
div.rn.f32 %f155, %f154, %f14;
neg.f32 %f156, %f148;
sub.f32 %f157, %f156, %f155;
mul.f32 %f158, %f157, 0f3FB8AA3B;
ex2.approx.f32 %f159, %f158;
add.f32 %f361, %f361, %f159;
fma.rn.f32 %f358, %f146, %f159, %f358;
fma.rn.f32 %f359, %f145, %f159, %f359;
fma.rn.f32 %f360, %f144, %f159, %f360;
$L__BB0_11:
add.s32 %r17, %r16, 1;
or.b32 %r55, %r17, %r12;
setp.lt.s32 %p13, %r55, 0;
or.pred %p15, %p9, %p13;
setp.ge.s32 %p16, %r17, %r33;
or.pred %p17, %p16, %p15;
@%p17 bra $L__BB0_13;
cvt.rn.f32.s32 %f305, %r12;
cvt.rn.f32.s32 %f160, %r17;
tex.2d.v4.f32.f32 {%f161, %f162, %f163, %f164}, [%rd1, {%f305, %f160}];
div.s32 %r56, %r12, %r5;
cvt.rn.f32.s32 %f165, %r56;
div.s32 %r57, %r17, %r5;
cvt.rn.f32.s32 %f166, %r57;
tex.2d.v4.f32.f32 {%f167, %f168, %f169, %f170}, [%rd2, {%f165, %f166}];
tex.2d.v4.f32.f32 {%f171, %f172, %f173, %f174}, [%rd3, {%f165, %f166}];
mul.f32 %f175, %f171, 0f437F0000;
mul.f32 %f176, %f167, 0f437F0000;
mul.f32 %f177, %f161, 0f437F0000;
sub.s32 %r58, %r2, %r17;
mad.lo.s32 %r59, %r58, %r58, %r13;
cvt.rn.f32.s32 %f178, %r59;
div.rn.f32 %f179, %f178, %f13;
sub.f32 %f180, %f12, %f177;
sub.f32 %f181, %f10, %f176;
sub.f32 %f182, %f11, %f175;
mul.f32 %f183, %f181, %f181;
fma.rn.f32 %f184, %f180, %f180, %f183;
fma.rn.f32 %f185, %f182, %f182, %f184;
div.rn.f32 %f186, %f185, %f14;
neg.f32 %f187, %f179;
sub.f32 %f188, %f187, %f186;
mul.f32 %f189, %f188, 0f3FB8AA3B;
ex2.approx.f32 %f190, %f189;
add.f32 %f361, %f361, %f190;
fma.rn.f32 %f358, %f177, %f190, %f358;
fma.rn.f32 %f359, %f176, %f190, %f359;
fma.rn.f32 %f360, %f175, %f190, %f360;
$L__BB0_13:
add.s32 %r91, %r91, 2;
add.s32 %r90, %r90, -2;
setp.ne.s32 %p18, %r90, 0;
@%p18 bra $L__BB0_9;
$L__BB0_14:
setp.eq.s32 %p19, %r8, 0;
@%p19 bra $L__BB0_27;
setp.ge.s32 %p20, %r12, %r32;
add.s32 %r21, %r91, %r4;
or.b32 %r60, %r21, %r12;
setp.lt.s32 %p21, %r60, 0;
or.pred %p22, %p20, %p21;
setp.ge.s32 %p23, %r21, %r33;
or.pred %p24, %p23, %p22;
@%p24 bra $L__BB0_27;
cvt.rn.f32.s32 %f307, %r12;
cvt.rn.f32.s32 %f191, %r21;
tex.2d.v4.f32.f32 {%f192, %f193, %f194, %f195}, [%rd1, {%f307, %f191}];
div.s32 %r61, %r12, %r5;
cvt.rn.f32.s32 %f196, %r61;
div.s32 %r62, %r21, %r5;
cvt.rn.f32.s32 %f197, %r62;
tex.2d.v4.f32.f32 {%f198, %f199, %f200, %f201}, [%rd2, {%f196, %f197}];
tex.2d.v4.f32.f32 {%f202, %f203, %f204, %f205}, [%rd3, {%f196, %f197}];
mul.f32 %f206, %f202, 0f437F0000;
mul.f32 %f207, %f198, 0f437F0000;
mul.f32 %f208, %f192, 0f437F0000;
sub.s32 %r63, %r2, %r21;
mad.lo.s32 %r64, %r63, %r63, %r13;
cvt.rn.f32.s32 %f209, %r64;
div.rn.f32 %f210, %f209, %f13;
sub.f32 %f211, %f12, %f208;
sub.f32 %f212, %f10, %f207;
sub.f32 %f213, %f11, %f206;
mul.f32 %f214, %f212, %f212;
fma.rn.f32 %f215, %f211, %f211, %f214;
fma.rn.f32 %f216, %f213, %f213, %f215;
div.rn.f32 %f217, %f216, %f14;
neg.f32 %f218, %f210;
sub.f32 %f219, %f218, %f217;
mul.f32 %f220, %f219, 0f3FB8AA3B;
ex2.approx.f32 %f221, %f220;
add.f32 %f361, %f361, %f221;
fma.rn.f32 %f358, %f208, %f221, %f358;
fma.rn.f32 %f359, %f207, %f221, %f359;
fma.rn.f32 %f360, %f206, %f221, %f360;
bra.uni $L__BB0_27;
$L__BB0_17:
setp.eq.s32 %p25, %r37, 1;
mov.u32 %r94, 0;
@%p25 bra $L__BB0_24;
mov.u32 %r93, %r9;
$L__BB0_19:
add.s32 %r24, %r94, %r4;
or.b32 %r67, %r24, %r12;
setp.lt.s32 %p26, %r67, 0;
setp.ge.s32 %p27, %r12, %r32;
or.pred %p28, %p27, %p26;
setp.ge.s32 %p29, %r24, %r33;
or.pred %p30, %p29, %p28;
@%p30 bra $L__BB0_21;
cvt.rn.f32.s32 %f309, %r12;
div.s32 %r68, %r12, %r5;
cvt.rn.f32.s32 %f223, %r68;
div.s32 %r69, %r24, %r5;
cvt.rn.f32.s32 %f224, %r69;
tex.2d.v4.f32.f32 {%f225, %f226, %f227, %f228}, [%rd2, {%f223, %f224}];
cvt.rn.f32.s32 %f229, %r24;
tex.2d.v4.f32.f32 {%f230, %f231, %f232, %f233}, [%rd1, {%f309, %f229}];
mul.f32 %f234, %f226, 0f437F0000;
mul.f32 %f235, %f225, 0f437F0000;
mul.f32 %f236, %f230, 0f437F0000;
sub.s32 %r70, %r2, %r24;
mad.lo.s32 %r71, %r70, %r70, %r13;
cvt.rn.f32.s32 %f237, %r71;
div.rn.f32 %f238, %f237, %f13;
sub.f32 %f239, %f12, %f236;
sub.f32 %f240, %f10, %f235;
sub.f32 %f241, %f11, %f234;
mul.f32 %f242, %f240, %f240;
fma.rn.f32 %f243, %f239, %f239, %f242;
fma.rn.f32 %f244, %f241, %f241, %f243;
div.rn.f32 %f245, %f244, %f14;
neg.f32 %f246, %f238;
sub.f32 %f247, %f246, %f245;
mul.f32 %f248, %f247, 0f3FB8AA3B;
ex2.approx.f32 %f249, %f248;
add.f32 %f361, %f361, %f249;
fma.rn.f32 %f358, %f236, %f249, %f358;
fma.rn.f32 %f359, %f235, %f249, %f359;
fma.rn.f32 %f360, %f234, %f249, %f360;
$L__BB0_21:
add.s32 %r25, %r24, 1;
or.b32 %r72, %r25, %r12;
setp.lt.s32 %p31, %r72, 0;
or.pred %p33, %p27, %p31;
setp.ge.s32 %p34, %r25, %r33;
or.pred %p35, %p34, %p33;
@%p35 bra $L__BB0_23;
cvt.rn.f32.s32 %f308, %r12;
div.s32 %r73, %r12, %r5;
cvt.rn.f32.s32 %f250, %r73;
div.s32 %r74, %r25, %r5;
cvt.rn.f32.s32 %f251, %r74;
tex.2d.v4.f32.f32 {%f252, %f253, %f254, %f255}, [%rd2, {%f250, %f251}];
cvt.rn.f32.s32 %f256, %r25;
tex.2d.v4.f32.f32 {%f257, %f258, %f259, %f260}, [%rd1, {%f308, %f256}];
mul.f32 %f261, %f253, 0f437F0000;
mul.f32 %f262, %f252, 0f437F0000;
mul.f32 %f263, %f257, 0f437F0000;
sub.s32 %r75, %r2, %r25;
mad.lo.s32 %r76, %r75, %r75, %r13;
cvt.rn.f32.s32 %f264, %r76;
div.rn.f32 %f265, %f264, %f13;
sub.f32 %f266, %f12, %f263;
sub.f32 %f267, %f10, %f262;
sub.f32 %f268, %f11, %f261;
mul.f32 %f269, %f267, %f267;
fma.rn.f32 %f270, %f266, %f266, %f269;
fma.rn.f32 %f271, %f268, %f268, %f270;
div.rn.f32 %f272, %f271, %f14;
neg.f32 %f273, %f265;
sub.f32 %f274, %f273, %f272;
mul.f32 %f275, %f274, 0f3FB8AA3B;
ex2.approx.f32 %f276, %f275;
add.f32 %f361, %f361, %f276;
fma.rn.f32 %f358, %f263, %f276, %f358;
fma.rn.f32 %f359, %f262, %f276, %f359;
fma.rn.f32 %f360, %f261, %f276, %f360;
$L__BB0_23:
add.s32 %r94, %r94, 2;
add.s32 %r93, %r93, -2;
setp.ne.s32 %p36, %r93, 0;
@%p36 bra $L__BB0_19;
$L__BB0_24:
setp.eq.s32 %p37, %r8, 0;
@%p37 bra $L__BB0_27;
setp.ge.s32 %p38, %r12, %r32;
add.s32 %r29, %r94, %r4;
or.b32 %r77, %r29, %r12;
setp.lt.s32 %p39, %r77, 0;
or.pred %p40, %p38, %p39;
setp.ge.s32 %p41, %r29, %r33;
or.pred %p42, %p41, %p40;
@%p42 bra $L__BB0_27;
cvt.rn.f32.s32 %f310, %r12;
div.s32 %r78, %r12, %r5;
cvt.rn.f32.s32 %f277, %r78;
div.s32 %r79, %r29, %r5;
cvt.rn.f32.s32 %f278, %r79;
tex.2d.v4.f32.f32 {%f279, %f280, %f281, %f282}, [%rd2, {%f277, %f278}];
cvt.rn.f32.s32 %f283, %r29;
tex.2d.v4.f32.f32 {%f284, %f285, %f286, %f287}, [%rd1, {%f310, %f283}];
mul.f32 %f288, %f280, 0f437F0000;
mul.f32 %f289, %f279, 0f437F0000;
mul.f32 %f290, %f284, 0f437F0000;
sub.s32 %r80, %r2, %r29;
mad.lo.s32 %r81, %r80, %r80, %r13;
cvt.rn.f32.s32 %f291, %r81;
div.rn.f32 %f292, %f291, %f13;
sub.f32 %f293, %f12, %f290;
sub.f32 %f294, %f10, %f289;
sub.f32 %f295, %f11, %f288;
mul.f32 %f296, %f294, %f294;
fma.rn.f32 %f297, %f293, %f293, %f296;
fma.rn.f32 %f298, %f295, %f295, %f297;
div.rn.f32 %f299, %f298, %f14;
neg.f32 %f300, %f292;
sub.f32 %f301, %f300, %f299;
mul.f32 %f302, %f301, 0f3FB8AA3B;
ex2.approx.f32 %f303, %f302;
add.f32 %f361, %f361, %f303;
fma.rn.f32 %f358, %f290, %f303, %f358;
fma.rn.f32 %f359, %f289, %f303, %f359;
fma.rn.f32 %f360, %f288, %f303, %f360;
$L__BB0_27:
add.s32 %r88, %r88, 1;
setp.lt.s32 %p43, %r88, %r37;
@%p43 bra $L__BB0_6;
$L__BB0_28:
ld.param.u32 %r87, [Process_uchar_param_11];
ld.param.u64 %rd15, [Process_uchar_param_3];
ld.param.u32 %r86, [Process_uchar_param_8];
div.rn.f32 %f92, %f359, %f361;
div.rn.f32 %f93, %f360, %f361;
div.rn.f32 %f304, %f358, %f361;
cvt.rzi.u32.f32 %r82, %f304;
mad.lo.s32 %r83, %r2, %r86, %r1;
cvt.s64.s32 %rd7, %r83;
cvta.to.global.u64 %rd8, %rd15;
add.s64 %rd9, %rd8, %rd7;
st.global.u8 [%rd9], %r82;
mad.lo.s32 %r31, %r7, %r87, %r6;
@%p4 bra $L__BB0_30;
ld.param.u64 %rd17, [Process_uchar_param_5];
ld.param.u64 %rd16, [Process_uchar_param_4];
cvt.s64.s32 %rd10, %r31;
cvt.rzi.u32.f32 %r84, %f92;
cvta.to.global.u64 %rd11, %rd16;
add.s64 %rd12, %rd11, %rd10;
st.global.u8 [%rd12], %r84;
cvt.rzi.u32.f32 %r85, %f93;
cvta.to.global.u64 %rd13, %rd17;
add.s64 %rd14, %rd13, %rd10;
st.global.u8 [%rd14], %r85;
$L__BB0_30:
ret;
}
// .globl Process_uchar2
.visible .entry Process_uchar2(
.param .u64 Process_uchar2_param_0,
.param .u64 Process_uchar2_param_1,
.param .u64 Process_uchar2_param_2,
.param .u64 Process_uchar2_param_3,
.param .u64 Process_uchar2_param_4,
.param .u64 Process_uchar2_param_5,
.param .u32 Process_uchar2_param_6,
.param .u32 Process_uchar2_param_7,
.param .u32 Process_uchar2_param_8,
.param .u32 Process_uchar2_param_9,
.param .u32 Process_uchar2_param_10,
.param .u32 Process_uchar2_param_11,
.param .u32 Process_uchar2_param_12,
.param .f32 Process_uchar2_param_13,
.param .f32 Process_uchar2_param_14
)
{
.reg .pred %p<24>;
.reg .b16 %rs<3>;
.reg .f32 %f<192>;
.reg .b32 %r<69>;
.reg .b64 %rd<13>;
ld.param.u64 %rd1, [Process_uchar2_param_0];
ld.param.u64 %rd2, [Process_uchar2_param_1];
ld.param.u32 %r23, [Process_uchar2_param_6];
ld.param.u32 %r24, [Process_uchar2_param_7];
ld.param.u32 %r26, [Process_uchar2_param_9];
ld.param.u32 %r28, [Process_uchar2_param_12];
ld.param.f32 %f51, [Process_uchar2_param_13];
ld.param.f32 %f52, [Process_uchar2_param_14];
mov.u32 %r29, %ntid.x;
mov.u32 %r30, %ctaid.x;
mov.u32 %r31, %tid.x;
mad.lo.s32 %r1, %r30, %r29, %r31;
mov.u32 %r32, %ntid.y;
mov.u32 %r33, %ctaid.y;
mov.u32 %r34, %tid.y;
mad.lo.s32 %r2, %r33, %r32, %r34;
setp.ge.s32 %p1, %r2, %r24;
setp.ge.s32 %p2, %r1, %r23;
or.pred %p3, %p2, %p1;
@%p3 bra $L__BB1_15;
shr.u32 %r35, %r28, 31;
add.s32 %r36, %r28, %r35;
shr.s32 %r3, %r36, 1;
div.s32 %r4, %r23, %r26;
div.s32 %r5, %r1, %r4;
cvt.rn.f32.s32 %f57, %r5;
div.s32 %r6, %r2, %r4;
cvt.rn.f32.s32 %f58, %r6;
tex.2d.v4.f32.f32 {%f59, %f60, %f61, %f62}, [%rd2, {%f57, %f58}];
mul.f32 %f1, %f59, 0f437F0000;
mul.f32 %f2, %f60, 0f437F0000;
cvt.rn.f32.s32 %f63, %r2;
cvt.rn.f32.s32 %f64, %r1;
tex.2d.v4.f32.f32 {%f65, %f66, %f67, %f68}, [%rd1, {%f64, %f63}];
sub.s32 %r7, %r2, %r3;
mul.f32 %f3, %f65, 0f437F0000;
setp.lt.s32 %p4, %r28, 1;
mov.f32 %f168, 0f00000000;
mov.f32 %f169, %f168;
mov.f32 %f170, %f168;
mov.f32 %f171, %f168;
@%p4 bra $L__BB1_14;
add.f32 %f73, %f51, %f51;
mul.f32 %f4, %f73, %f51;
add.f32 %f74, %f52, %f52;
mul.f32 %f5, %f74, %f52;
and.b32 %r8, %r28, 1;
sub.s32 %r9, %r28, %r8;
sub.s32 %r10, %r1, %r3;
mov.u32 %r65, 0;
$L__BB1_3:
mov.u32 %r68, 0;
add.s32 %r12, %r65, %r10;
cvt.rn.f32.s32 %f10, %r12;
sub.s32 %r39, %r1, %r12;
mul.lo.s32 %r13, %r39, %r39;
setp.eq.s32 %p5, %r28, 1;
@%p5 bra $L__BB1_10;
mov.u32 %r68, 0;
mov.u32 %r67, %r9;
$L__BB1_5:
add.s32 %r16, %r68, %r7;
or.b32 %r41, %r16, %r12;
setp.lt.s32 %p6, %r41, 0;
setp.ge.s32 %p7, %r12, %r23;
or.pred %p8, %p7, %p6;
setp.ge.s32 %p9, %r16, %r24;
or.pred %p10, %p9, %p8;
@%p10 bra $L__BB1_7;
div.s32 %r42, %r12, %r4;
cvt.rn.f32.s32 %f76, %r42;
div.s32 %r43, %r16, %r4;
cvt.rn.f32.s32 %f77, %r43;
tex.2d.v4.f32.f32 {%f78, %f79, %f80, %f81}, [%rd2, {%f76, %f77}];
cvt.rn.f32.s32 %f82, %r16;
tex.2d.v4.f32.f32 {%f83, %f84, %f85, %f86}, [%rd1, {%f10, %f82}];
mul.f32 %f87, %f83, 0f437F0000;
mul.f32 %f88, %f78, 0f437F0000;
mul.f32 %f89, %f79, 0f437F0000;
sub.s32 %r44, %r2, %r16;
mad.lo.s32 %r45, %r44, %r44, %r13;
cvt.rn.f32.s32 %f90, %r45;
div.rn.f32 %f91, %f90, %f4;
sub.f32 %f92, %f3, %f87;
sub.f32 %f93, %f1, %f88;
sub.f32 %f94, %f2, %f89;
mul.f32 %f95, %f92, %f92;
fma.rn.f32 %f96, %f93, %f93, %f95;
fma.rn.f32 %f97, %f94, %f94, %f96;
div.rn.f32 %f98, %f97, %f5;
neg.f32 %f99, %f91;
sub.f32 %f100, %f99, %f98;
mul.f32 %f101, %f100, 0f3FB8AA3B;
ex2.approx.f32 %f102, %f101;
add.f32 %f171, %f171, %f102;
fma.rn.f32 %f168, %f102, %f87, %f168;
fma.rn.f32 %f169, %f88, %f102, %f169;
fma.rn.f32 %f170, %f89, %f102, %f170;
$L__BB1_7:
add.s32 %r17, %r16, 1;
or.b32 %r46, %r17, %r12;
setp.lt.s32 %p11, %r46, 0;
or.pred %p13, %p7, %p11;
setp.ge.s32 %p14, %r17, %r24;
or.pred %p15, %p14, %p13;
@%p15 bra $L__BB1_9;
div.s32 %r47, %r12, %r4;
cvt.rn.f32.s32 %f103, %r47;
div.s32 %r48, %r17, %r4;
cvt.rn.f32.s32 %f104, %r48;
tex.2d.v4.f32.f32 {%f105, %f106, %f107, %f108}, [%rd2, {%f103, %f104}];
cvt.rn.f32.s32 %f109, %r17;
tex.2d.v4.f32.f32 {%f110, %f111, %f112, %f113}, [%rd1, {%f10, %f109}];
mul.f32 %f114, %f110, 0f437F0000;
mul.f32 %f115, %f105, 0f437F0000;
mul.f32 %f116, %f106, 0f437F0000;
sub.s32 %r49, %r2, %r17;
mad.lo.s32 %r50, %r49, %r49, %r13;
cvt.rn.f32.s32 %f117, %r50;
div.rn.f32 %f118, %f117, %f4;
sub.f32 %f119, %f3, %f114;
sub.f32 %f120, %f1, %f115;
sub.f32 %f121, %f2, %f116;
mul.f32 %f122, %f119, %f119;
fma.rn.f32 %f123, %f120, %f120, %f122;
fma.rn.f32 %f124, %f121, %f121, %f123;
div.rn.f32 %f125, %f124, %f5;
neg.f32 %f126, %f118;
sub.f32 %f127, %f126, %f125;
mul.f32 %f128, %f127, 0f3FB8AA3B;
ex2.approx.f32 %f129, %f128;
add.f32 %f171, %f171, %f129;
fma.rn.f32 %f168, %f129, %f114, %f168;
fma.rn.f32 %f169, %f115, %f129, %f169;
fma.rn.f32 %f170, %f116, %f129, %f170;
$L__BB1_9:
add.s32 %r68, %r68, 2;
add.s32 %r67, %r67, -2;
setp.ne.s32 %p16, %r67, 0;
@%p16 bra $L__BB1_5;
$L__BB1_10:
and.b32 %r61, %r28, 1;
setp.eq.s32 %p17, %r61, 0;
@%p17 bra $L__BB1_13;
setp.ge.s32 %p18, %r12, %r23;
add.s32 %r21, %r68, %r7;
or.b32 %r51, %r21, %r12;
setp.lt.s32 %p19, %r51, 0;
or.pred %p20, %p18, %p19;
setp.ge.s32 %p21, %r21, %r24;
or.pred %p22, %p21, %p20;
@%p22 bra $L__BB1_13;
div.s32 %r52, %r12, %r4;
cvt.rn.f32.s32 %f130, %r52;
div.s32 %r53, %r21, %r4;
cvt.rn.f32.s32 %f131, %r53;
tex.2d.v4.f32.f32 {%f132, %f133, %f134, %f135}, [%rd2, {%f130, %f131}];
cvt.rn.f32.s32 %f136, %r21;
tex.2d.v4.f32.f32 {%f137, %f138, %f139, %f140}, [%rd1, {%f10, %f136}];
mul.f32 %f141, %f137, 0f437F0000;
mul.f32 %f142, %f132, 0f437F0000;
mul.f32 %f143, %f133, 0f437F0000;
sub.s32 %r54, %r2, %r21;
mad.lo.s32 %r55, %r54, %r54, %r13;
cvt.rn.f32.s32 %f144, %r55;
div.rn.f32 %f145, %f144, %f4;
sub.f32 %f146, %f3, %f141;
sub.f32 %f147, %f1, %f142;
sub.f32 %f148, %f2, %f143;
mul.f32 %f149, %f146, %f146;
fma.rn.f32 %f150, %f147, %f147, %f149;
fma.rn.f32 %f151, %f148, %f148, %f150;
div.rn.f32 %f152, %f151, %f5;
neg.f32 %f153, %f145;
sub.f32 %f154, %f153, %f152;
mul.f32 %f155, %f154, 0f3FB8AA3B;
ex2.approx.f32 %f156, %f155;
add.f32 %f171, %f171, %f156;
fma.rn.f32 %f168, %f156, %f141, %f168;
fma.rn.f32 %f169, %f142, %f156, %f169;
fma.rn.f32 %f170, %f143, %f156, %f170;
$L__BB1_13:
add.s32 %r65, %r65, 1;
setp.lt.s32 %p23, %r65, %r28;
@%p23 bra $L__BB1_3;
$L__BB1_14:
ld.param.u64 %rd12, [Process_uchar2_param_4];
ld.param.u32 %r63, [Process_uchar2_param_11];
ld.param.u64 %rd11, [Process_uchar2_param_3];
ld.param.u32 %r62, [Process_uchar2_param_8];
div.rn.f32 %f157, %f168, %f171;
cvt.rzi.u32.f32 %r56, %f157;
mad.lo.s32 %r57, %r2, %r62, %r1;
cvt.s64.s32 %rd5, %r57;
cvta.to.global.u64 %rd6, %rd11;
add.s64 %rd7, %rd6, %rd5;
st.global.u8 [%rd7], %r56;
mad.lo.s32 %r58, %r6, %r63, %r5;
div.rn.f32 %f158, %f169, %f171;
cvt.rzi.u32.f32 %r59, %f158;
div.rn.f32 %f159, %f170, %f171;
cvt.rzi.u32.f32 %r60, %f159;
cvta.to.global.u64 %rd8, %rd12;
mul.wide.s32 %rd9, %r58, 2;
add.s64 %rd10, %rd8, %rd9;
cvt.u16.u32 %rs1, %r60;
cvt.u16.u32 %rs2, %r59;
st.global.v2.u8 [%rd10], {%rs2, %rs1};
$L__BB1_15:
ret;
}