Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //
- // Generated by NVIDIA NVVM Compiler
- // Compiler built on Sat Apr 7 09:27:48 2012 (1333783668)
- // Driver 295.41
- //
- .version 3.0
- .target sm_13, texmode_independent
- .address_size 32
- .entry butterfC(
- .param .u32 .ptr .global .align 8 butterfC_param_0,
- .param .u32 .ptr .global .align 8 butterfC_param_1,
- .param .u32 .ptr .global .align 8 butterfC_param_2,
- .param .u32 butterfC_param_3,
- .param .u32 butterfC_param_4,
- .param .u32 butterfC_param_5,
- .param .u32 butterfC_param_6,
- .param .u32 butterfC_param_7,
- .param .u32 butterfC_param_8
- )
- {
- .reg .f32 %f<257>;
- .reg .f64 %fd<244>;
- .reg .pred %p<41>;
- .reg .s32 %r<111>;
- ld.param.u32 %r1, [butterfC_param_6];
- mov.f32 %f32, 0f40800000;
- // inline asm
- abs.f32 %f31, %f32;
- // inline asm
- cvt.rn.f32.u32 %f251, %r1;
- setp.equ.f32 %p1, %f251, 0f00000000;
- @%p1 bra BB5_12;
- mov.f32 %f3, 0f7F800000;
- setp.eq.f32 %p2, %f251, 0f7F800000;
- setp.eq.f32 %p3, %f251, 0fFF800000;
- or.pred %p4, %p2, %p3;
- @%p4 bra BB5_12;
- setp.eq.f32 %p5, %f31, 0f00000000;
- @%p5 bra BB5_12;
- // inline asm
- abs.f32 %f37, %f32;
- // inline asm
- mov.b32 %r2, %f37;
- shr.u32 %r41, %r2, 23;
- and.b32 %r42, %r41, 255;
- add.s32 %r105, %r42, -127;
- setp.eq.s32 %p6, %r42, 0;
- mov.f32 %f249, %f37;
- @%p6 bra BB5_4;
- bra.uni BB5_5;
- BB5_4:
- and.b32 %r43, %r2, -2139095041;
- or.b32 %r44, %r43, 1065353216;
- mov.b32 %f39, %r44;
- add.f32 %f40, %f39, 0fBF800000;
- mov.b32 %r45, %f40;
- shr.u32 %r46, %r45, 23;
- and.b32 %r47, %r46, 255;
- add.s32 %r105, %r47, -253;
- and.b32 %r48, %r45, -2139095041;
- or.b32 %r49, %r48, 1065353216;
- mov.b32 %f249, %r49;
- BB5_5:
- mov.b32 %r50, %f249;
- and.b32 %r51, %r50, -2139095041;
- or.b32 %r52, %r51, 1065353216;
- mov.b32 %f250, %r52;
- setp.gt.f32 %p7, %f250, 0f3FB504F3;
- @%p7 bra BB5_6;
- bra.uni BB5_7;
- BB5_6:
- mov.f32 %f41, 0f3F000000;
- mul.rn.f32 %f250, %f250, %f41;
- add.s32 %r105, %r105, 1;
- BB5_7:
- add.f32 %f50, %f250, 0f3F800000;
- rcp.approx.f32 %f44, %f50;
- add.f32 %f43, %f250, 0fBF800000;
- // inline asm
- mul.rz.f32 %f42, %f43, %f44;
- // inline asm
- mov.f32 %f51, 0f40000000;
- mul.rn.f32 %f52, %f51, %f42;
- mul.rn.f32 %f53, %f52, %f52;
- mov.f32 %f54, 0f3B18F0FE;
- mul.rn.f32 %f55, %f54, %f53;
- add.f32 %f56, %f55, 0f3C4CAF63;
- mul.rn.f32 %f57, %f56, %f53;
- add.f32 %f58, %f57, 0f3DAAAABD;
- mul.rn.f32 %f59, %f58, %f53;
- mul.rn.f32 %f47, %f59, %f52;
- mov.b32 %r53, %f52;
- and.b32 %r54, %r53, -4096;
- mov.b32 %f60, %r54;
- mov.b32 %r55, %f43;
- and.b32 %r56, %r55, -4096;
- mov.b32 %f61, %r56;
- sub.f32 %f62, %f43, %f60;
- mul.rn.f32 %f63, %f51, %f62;
- sub.f32 %f64, %f43, %f61;
- mul.rn.f32 %f65, %f60, %f61;
- sub.f32 %f66, %f63, %f65;
- mul.rn.f32 %f67, %f60, %f64;
- sub.f32 %f68, %f66, %f67;
- mul.rn.f32 %f69, %f44, %f68;
- add.f32 %f70, %f60, %f69;
- sub.f32 %f71, %f70, %f60;
- sub.f32 %f72, %f69, %f71;
- add.f32 %f73, %f70, %f47;
- sub.f32 %f46, %f70, %f73;
- // inline asm
- add.rz.f32 %f45, %f46, %f47;
- // inline asm
- add.f32 %f74, %f45, %f72;
- add.f32 %f75, %f73, %f74;
- sub.f32 %f76, %f73, %f75;
- add.f32 %f77, %f76, %f74;
- cvt.rn.f32.s32 %f78, %r105;
- mov.f32 %f79, 0f3F317200;
- mul.rn.f32 %f80, %f78, %f79;
- mov.f32 %f81, 0f35BFBE8E;
- mul.rn.f32 %f82, %f78, %f81;
- add.f32 %f83, %f80, %f75;
- sub.f32 %f84, %f80, %f83;
- add.f32 %f85, %f84, %f75;
- add.f32 %f86, %f85, %f77;
- add.f32 %f87, %f86, %f82;
- add.f32 %f10, %f83, %f87;
- sub.f32 %f88, %f83, %f10;
- add.f32 %f11, %f88, %f87;
- // inline asm
- abs.f32 %f48, %f251;
- // inline asm
- setp.gt.f32 %p8, %f48, 0f77F684DF;
- @%p8 bra BB5_8;
- bra.uni BB5_9;
- BB5_8:
- mov.f32 %f89, 0f39000000;
- mul.rn.f32 %f251, %f251, %f89;
- BB5_9:
- mov.f32 %f90, 0f45800800;
- mul.rn.f32 %f91, %f10, %f90;
- sub.f32 %f92, %f10, %f91;
- add.f32 %f93, %f92, %f91;
- sub.f32 %f94, %f10, %f93;
- mul.rn.f32 %f95, %f251, %f90;
- sub.f32 %f96, %f251, %f95;
- add.f32 %f97, %f96, %f95;
- sub.f32 %f98, %f251, %f97;
- mul.rn.f32 %f99, %f93, %f97;
- mul.rn.f32 %f100, %f10, %f251;
- sub.f32 %f101, %f99, %f100;
- mul.rn.f32 %f102, %f93, %f98;
- add.f32 %f103, %f101, %f102;
- mul.rn.f32 %f104, %f94, %f97;
- add.f32 %f105, %f103, %f104;
- mul.rn.f32 %f106, %f94, %f98;
- add.f32 %f107, %f105, %f106;
- mul.rn.f32 %f108, %f11, %f251;
- add.f32 %f109, %f108, %f107;
- add.f32 %f110, %f100, %f109;
- sub.f32 %f111, %f100, %f110;
- add.f32 %f14, %f111, %f109;
- mov.f32 %f245, %f14;
- mov.f32 %f256, %f110;
- mov.b32 %r8, %f110;
- setp.eq.s32 %p9, %r8, 1118925336;
- @%p9 bra BB5_10;
- bra.uni BB5_11;
- BB5_10:
- add.s32 %r57, %r8, -1;
- mov.b32 %f112, %r57;
- add.f32 %f113, %f14, 0f37000000;
- mov.f32 %f247, %f113;
- mov.f32 %f256, %f112;
- BB5_11:
- mov.f32 %f121, 0f3FB8AA3B;
- mul.rn.f32 %f115, %f256, %f121;
- // inline asm
- cvt.rzi.f32.f32 %f114, %f115;
- // inline asm
- mul.rn.f32 %f123, %f114, %f79;
- sub.f32 %f124, %f256, %f123;
- mul.rn.f32 %f126, %f114, %f81;
- sub.f32 %f127, %f124, %f126;
- mul.rn.f32 %f117, %f127, %f121;
- // inline asm
- ex2.approx.f32 %f116, %f117;
- // inline asm
- add.f32 %f119, %f114, 0f00000000;
- // inline asm
- ex2.approx.f32 %f118, %f119;
- // inline asm
- mul.rn.f32 %f128, %f116, %f118;
- setp.lt.f32 %p10, %f256, 0fC2D20000;
- selp.f32 %f129, 0f00000000, %f128, %p10;
- setp.gt.f32 %p11, %f256, 0f42D20000;
- selp.f32 %f15, %f3, %f129, %p11;
- setp.eq.f32 %p12, %f15, %f3;
- BB5_12:
- ld.param.u32 %r104, [butterfC_param_6];
- add.s32 %r58, %r104, -1;
- cvt.rn.f32.u32 %f254, %r58;
- // inline asm
- abs.f32 %f134, %f32;
- // inline asm
- setp.equ.f32 %p13, %f254, 0f00000000;
- @%p13 bra BB5_24;
- mov.f32 %f18, 0f7F800000;
- setp.eq.f32 %p14, %f254, 0f7F800000;
- setp.eq.f32 %p15, %f254, 0fFF800000;
- or.pred %p16, %p14, %p15;
- @%p16 bra BB5_24;
- setp.eq.f32 %p17, %f134, 0f00000000;
- @%p17 bra BB5_24;
- // inline asm
- abs.f32 %f140, %f32;
- // inline asm
- mov.b32 %r9, %f140;
- shr.u32 %r59, %r9, 23;
- and.b32 %r60, %r59, 255;
- add.s32 %r106, %r60, -127;
- setp.eq.s32 %p18, %r60, 0;
- mov.f32 %f252, %f140;
- @%p18 bra BB5_16;
- bra.uni BB5_17;
- BB5_16:
- and.b32 %r61, %r9, -2139095041;
- or.b32 %r62, %r61, 1065353216;
- mov.b32 %f142, %r62;
- add.f32 %f143, %f142, 0fBF800000;
- mov.b32 %r63, %f143;
- shr.u32 %r64, %r63, 23;
- and.b32 %r65, %r64, 255;
- add.s32 %r106, %r65, -253;
- and.b32 %r66, %r63, -2139095041;
- or.b32 %r67, %r66, 1065353216;
- mov.b32 %f252, %r67;
- BB5_17:
- mov.b32 %r68, %f252;
- and.b32 %r69, %r68, -2139095041;
- or.b32 %r70, %r69, 1065353216;
- mov.b32 %f253, %r70;
- setp.gt.f32 %p19, %f253, 0f3FB504F3;
- @%p19 bra BB5_18;
- bra.uni BB5_19;
- BB5_18:
- mov.f32 %f144, 0f3F000000;
- mul.rn.f32 %f253, %f253, %f144;
- add.s32 %r106, %r106, 1;
- BB5_19:
- add.f32 %f153, %f253, 0f3F800000;
- rcp.approx.f32 %f147, %f153;
- add.f32 %f146, %f253, 0fBF800000;
- // inline asm
- mul.rz.f32 %f145, %f146, %f147;
- // inline asm
- mov.f32 %f154, 0f40000000;
- mul.rn.f32 %f155, %f154, %f145;
- mul.rn.f32 %f156, %f155, %f155;
- mov.f32 %f157, 0f3B18F0FE;
- mul.rn.f32 %f158, %f157, %f156;
- add.f32 %f159, %f158, 0f3C4CAF63;
- mul.rn.f32 %f160, %f159, %f156;
- add.f32 %f161, %f160, 0f3DAAAABD;
- mul.rn.f32 %f162, %f161, %f156;
- mul.rn.f32 %f150, %f162, %f155;
- mov.b32 %r71, %f155;
- and.b32 %r72, %r71, -4096;
- mov.b32 %f163, %r72;
- mov.b32 %r73, %f146;
- and.b32 %r74, %r73, -4096;
- mov.b32 %f164, %r74;
- sub.f32 %f165, %f146, %f163;
- mul.rn.f32 %f166, %f154, %f165;
- sub.f32 %f167, %f146, %f164;
- mul.rn.f32 %f168, %f163, %f164;
- sub.f32 %f169, %f166, %f168;
- mul.rn.f32 %f170, %f163, %f167;
- sub.f32 %f171, %f169, %f170;
- mul.rn.f32 %f172, %f147, %f171;
- add.f32 %f173, %f163, %f172;
- sub.f32 %f174, %f173, %f163;
- sub.f32 %f175, %f172, %f174;
- add.f32 %f176, %f173, %f150;
- sub.f32 %f149, %f173, %f176;
- // inline asm
- add.rz.f32 %f148, %f149, %f150;
- // inline asm
- add.f32 %f177, %f148, %f175;
- add.f32 %f178, %f176, %f177;
- sub.f32 %f179, %f176, %f178;
- add.f32 %f180, %f179, %f177;
- cvt.rn.f32.s32 %f181, %r106;
- mov.f32 %f182, 0f3F317200;
- mul.rn.f32 %f183, %f181, %f182;
- mov.f32 %f184, 0f35BFBE8E;
- mul.rn.f32 %f185, %f181, %f184;
- add.f32 %f186, %f183, %f178;
- sub.f32 %f187, %f183, %f186;
- add.f32 %f188, %f187, %f178;
- add.f32 %f189, %f188, %f180;
- add.f32 %f190, %f189, %f185;
- add.f32 %f25, %f186, %f190;
- sub.f32 %f191, %f186, %f25;
- add.f32 %f26, %f191, %f190;
- // inline asm
- abs.f32 %f151, %f254;
- // inline asm
- setp.gt.f32 %p20, %f151, 0f77F684DF;
- @%p20 bra BB5_20;
- bra.uni BB5_21;
- BB5_20:
- mov.f32 %f192, 0f39000000;
- mul.rn.f32 %f254, %f254, %f192;
- BB5_21:
- mov.f32 %f193, 0f45800800;
- mul.rn.f32 %f194, %f25, %f193;
- sub.f32 %f195, %f25, %f194;
- add.f32 %f196, %f195, %f194;
- sub.f32 %f197, %f25, %f196;
- mul.rn.f32 %f198, %f254, %f193;
- sub.f32 %f199, %f254, %f198;
- add.f32 %f200, %f199, %f198;
- sub.f32 %f201, %f254, %f200;
- mul.rn.f32 %f202, %f196, %f200;
- mul.rn.f32 %f203, %f25, %f254;
- sub.f32 %f204, %f202, %f203;
- mul.rn.f32 %f205, %f196, %f201;
- add.f32 %f206, %f204, %f205;
- mul.rn.f32 %f207, %f197, %f200;
- add.f32 %f208, %f206, %f207;
- mul.rn.f32 %f209, %f197, %f201;
- add.f32 %f210, %f208, %f209;
- mul.rn.f32 %f211, %f26, %f254;
- add.f32 %f212, %f211, %f210;
- add.f32 %f213, %f203, %f212;
- sub.f32 %f214, %f203, %f213;
- add.f32 %f29, %f214, %f212;
- mov.f32 %f239, %f29;
- mov.f32 %f255, %f213;
- mov.b32 %r15, %f213;
- setp.eq.s32 %p21, %r15, 1118925336;
- @%p21 bra BB5_22;
- bra.uni BB5_23;
- BB5_22:
- add.s32 %r75, %r15, -1;
- mov.b32 %f215, %r75;
- add.f32 %f216, %f29, 0f37000000;
- mov.f32 %f241, %f216;
- mov.f32 %f255, %f215;
- BB5_23:
- mov.f32 %f224, 0f3FB8AA3B;
- mul.rn.f32 %f218, %f255, %f224;
- // inline asm
- cvt.rzi.f32.f32 %f217, %f218;
- // inline asm
- mul.rn.f32 %f226, %f217, %f182;
- sub.f32 %f227, %f255, %f226;
- mul.rn.f32 %f229, %f217, %f184;
- sub.f32 %f230, %f227, %f229;
- mul.rn.f32 %f220, %f230, %f224;
- // inline asm
- ex2.approx.f32 %f219, %f220;
- // inline asm
- add.f32 %f222, %f217, 0f00000000;
- // inline asm
- ex2.approx.f32 %f221, %f222;
- // inline asm
- mul.rn.f32 %f231, %f219, %f221;
- setp.lt.f32 %p22, %f255, 0fC2D20000;
- selp.f32 %f232, 0f00000000, %f231, %p22;
- setp.gt.f32 %p23, %f255, 0f42D20000;
- selp.f32 %f30, %f18, %f232, %p23;
- setp.eq.f32 %p24, %f30, %f18;
- BB5_24:
- mov.f64 %fd1, 0d7FF0000000000000;
- mov.pred %p25, 0;
- @%p25 bra BB5_38;
- mov.f64 %fd2, 0dFFF0000000000000;
- neg.f64 %fd24, %fd1;
- setp.eq.f64 %p26, %fd24, 0d4000000000000000;
- @%p26 bra BB5_38;
- mov.f64 %fd241, 0d4000000000000000;
- // inline asm
- abs.f64 %fd25, %fd241;
- // inline asm
- // inline asm
- {
- .reg .b32 lo;
- mov.b64 {lo, %r76}, %fd25;
- }
- // inline asm
- // inline asm
- {
- .reg .b32 hi;
- mov.b64 {%r77, hi}, %fd25;
- }
- // inline asm
- shr.u32 %r78, %r76, 20;
- and.b32 %r109, %r78, 2047;
- setp.eq.s32 %p27, %r109, 0;
- mov.u32 %r107, %r77;
- mov.u32 %r108, %r76;
- @%p27 bra BB5_27;
- bra.uni BB5_28;
- BB5_27:
- mov.f64 %fd31, 0d4350000000000000;
- mul.rn.f64 %fd30, %fd25, %fd31;
- // inline asm
- {
- .reg .b32 lo;
- mov.b64 {lo, %r79}, %fd30;
- }
- // inline asm
- // inline asm
- {
- .reg .b32 hi;
- mov.b64 {%r80, hi}, %fd30;
- }
- // inline asm
- shr.u32 %r81, %r79, 20;
- and.b32 %r82, %r81, 2047;
- add.s32 %r109, %r82, -54;
- mov.u32 %r107, %r80;
- mov.u32 %r108, %r79;
- BB5_28:
- add.s32 %r110, %r109, -1023;
- and.b32 %r85, %r108, -2146435073;
- or.b32 %r84, %r85, 1072693248;
- // inline asm
- mov.b64 %fd32, {%r107, %r84};
- // inline asm
- setp.gt.u32 %p28, %r84, 1073127582;
- mov.f64 %fd240, %fd32;
- @%p28 bra BB5_29;
- bra.uni BB5_30;
- BB5_29:
- // inline asm
- {
- .reg .b32 hi;
- mov.b64 {%r86, hi}, %fd32;
- }
- // inline asm
- // inline asm
- {
- .reg .b32 lo;
- mov.b64 {lo, %r87}, %fd32;
- }
- // inline asm
- add.s32 %r89, %r87, -1048576;
- // inline asm
- mov.b64 %fd35, {%r86, %r89};
- // inline asm
- add.s32 %r110, %r109, -1022;
- mov.f64 %fd240, %fd35;
- BB5_30:
- add.f64 %fd114, %fd240, 0d3FF0000000000000;
- rcp.rn.f64 %fd115, %fd114;
- add.f64 %fd62, %fd240, 0dBFF0000000000000;
- mul.rn.f64 %fd116, %fd62, %fd115;
- add.f64 %fd110, %fd116, %fd116;
- mul.rn.f64 %fd58, %fd110, %fd110;
- mov.f64 %fd37, 0d3EB0F5FF7D2CAFE2;
- mov.f64 %fd39, 0d3ED0F5D241AD3B5A;
- // inline asm
- fma.rn.f64 %fd36, %fd37, %fd58, %fd39;
- // inline asm
- mov.f64 %fd43, 0d3EF3B20A75488A3F;
- // inline asm
- fma.rn.f64 %fd40, %fd36, %fd58, %fd43;
- // inline asm
- mov.f64 %fd47, 0d3F1745CDE4FAECD5;
- // inline asm
- fma.rn.f64 %fd44, %fd40, %fd58, %fd47;
- // inline asm
- mov.f64 %fd51, 0d3F3C71C7258A578B;
- // inline asm
- fma.rn.f64 %fd48, %fd44, %fd58, %fd51;
- // inline asm
- mov.f64 %fd55, 0d3F6249249242B910;
- // inline asm
- fma.rn.f64 %fd52, %fd48, %fd58, %fd55;
- // inline asm
- mov.f64 %fd59, 0d3F89999999999DFB;
- // inline asm
- fma.rn.f64 %fd56, %fd52, %fd58, %fd59;
- // inline asm
- mul.rn.f64 %fd117, %fd56, %fd58;
- sub.f64 %fd118, %fd62, %fd110;
- mul.rn.f64 %fd63, %fd241, %fd118;
- neg.f64 %fd61, %fd110;
- // inline asm
- fma.rn.f64 %fd60, %fd61, %fd62, %fd63;
- // inline asm
- mul.rn.f64 %fd106, %fd115, %fd60;
- mov.f64 %fd119, 0d3FB5555555555555;
- add.f64 %fd120, %fd117, 0d3FB5555555555555;
- sub.f64 %fd121, %fd119, %fd120;
- add.f64 %fd122, %fd121, %fd117;
- add.f64 %fd123, %fd122, 0d0000000000000000;
- add.f64 %fd124, %fd123, 0dBC46A4CB00B9E7B0;
- add.f64 %fd73, %fd120, %fd124;
- sub.f64 %fd125, %fd120, %fd73;
- add.f64 %fd77, %fd125, %fd124;
- mul.rn.f64 %fd126, %fd73, %fd110;
- neg.f64 %fd67, %fd126;
- // inline asm
- fma.rn.f64 %fd64, %fd73, %fd110, %fd67;
- // inline asm
- // inline asm
- fma.rn.f64 %fd68, %fd77, %fd106, %fd64;
- // inline asm
- // inline asm
- fma.rn.f64 %fd72, %fd73, %fd106, %fd68;
- // inline asm
- // inline asm
- fma.rn.f64 %fd76, %fd77, %fd110, %fd72;
- // inline asm
- add.f64 %fd89, %fd126, %fd76;
- sub.f64 %fd127, %fd126, %fd89;
- add.f64 %fd93, %fd127, %fd76;
- mul.rn.f64 %fd128, %fd89, %fd110;
- neg.f64 %fd83, %fd128;
- // inline asm
- fma.rn.f64 %fd80, %fd89, %fd110, %fd83;
- // inline asm
- // inline asm
- fma.rn.f64 %fd84, %fd93, %fd106, %fd80;
- // inline asm
- // inline asm
- fma.rn.f64 %fd88, %fd89, %fd106, %fd84;
- // inline asm
- // inline asm
- fma.rn.f64 %fd92, %fd93, %fd110, %fd88;
- // inline asm
- add.f64 %fd105, %fd128, %fd92;
- sub.f64 %fd129, %fd128, %fd105;
- add.f64 %fd109, %fd129, %fd92;
- mul.rn.f64 %fd130, %fd105, %fd110;
- neg.f64 %fd99, %fd130;
- // inline asm
- fma.rn.f64 %fd96, %fd105, %fd110, %fd99;
- // inline asm
- // inline asm
- fma.rn.f64 %fd100, %fd109, %fd106, %fd96;
- // inline asm
- // inline asm
- fma.rn.f64 %fd104, %fd105, %fd106, %fd100;
- // inline asm
- // inline asm
- fma.rn.f64 %fd108, %fd109, %fd110, %fd104;
- // inline asm
- add.f64 %fd131, %fd130, %fd108;
- sub.f64 %fd132, %fd130, %fd131;
- add.f64 %fd133, %fd132, %fd108;
- add.f64 %fd134, %fd110, %fd131;
- sub.f64 %fd135, %fd110, %fd134;
- add.f64 %fd136, %fd135, %fd131;
- add.f64 %fd137, %fd136, %fd133;
- add.f64 %fd138, %fd137, %fd106;
- add.f64 %fd139, %fd134, %fd138;
- sub.f64 %fd140, %fd134, %fd139;
- add.f64 %fd141, %fd140, %fd138;
- cvt.rn.f64.s32 %fd142, %r110;
- mov.f64 %fd143, 0d3FE62E42FEFA3000;
- mul.rn.f64 %fd144, %fd142, %fd143;
- mov.f64 %fd145, 0d3D53DE6AF278ECE6;
- mul.rn.f64 %fd146, %fd142, %fd145;
- add.f64 %fd147, %fd144, %fd139;
- sub.f64 %fd148, %fd144, %fd147;
- add.f64 %fd149, %fd148, %fd139;
- add.f64 %fd150, %fd149, %fd141;
- add.f64 %fd151, %fd150, %fd146;
- add.f64 %fd7, %fd147, %fd151;
- sub.f64 %fd152, %fd147, %fd7;
- add.f64 %fd8, %fd152, %fd151;
- // inline asm
- abs.f64 %fd112, %fd241;
- // inline asm
- setp.gt.f64 %p29, %fd112, 0d7F0D2A1BE4048F90;
- @%p29 bra BB5_31;
- bra.uni BB5_32;
- BB5_31:
- mov.f64 %fd154, 0d3F20000000000000;
- mov.f64 %fd155, 0d4000000000000000;
- mul.rn.f64 %fd241, %fd155, %fd154;
- BB5_32:
- mul.rn.f64 %fd165, %fd7, %fd241;
- neg.f64 %fd159, %fd165;
- // inline asm
- fma.rn.f64 %fd156, %fd7, %fd241, %fd159;
- // inline asm
- // inline asm
- fma.rn.f64 %fd160, %fd8, %fd241, %fd156;
- // inline asm
- add.f64 %fd164, %fd165, %fd160;
- // inline asm
- {
- .reg .b32 lo;
- mov.b64 {lo, %r90}, %fd164;
- }
- // inline asm
- setp.lt.u32 %p30, %r90, 1082535491;
- setp.lt.s32 %p31, %r90, -1064875759;
- or.pred %p32, %p30, %p31;
- @%p32 bra BB5_34;
- setp.lt.s32 %p33, %r90, 0;
- selp.f64 %fd167, 0d0000000000000000, %fd1, %p33;
- add.f64 %fd168, %fd164, %fd164;
- setp.nan.f64 %p34, %fd164, %fd164;
- selp.f64 %fd243, %fd168, %fd167, %p34;
- bra.uni BB5_37;
- BB5_34:
- mov.f64 %fd171, 0d3FF71547652B82FE;
- mul.rn.f64 %fd170, %fd164, %fd171;
- // inline asm
- abs.f64 %fd169, %fd170;
- // inline asm
- setp.gt.f64 %p35, %fd169, 0d4330000000000000;
- mov.f64 %fd242, %fd170;
- @%p35 bra BB5_36;
- add.f64 %fd173, %fd169, 0d3FE0000000000000;
- // inline asm
- cvt.rmi.f64.f64 %fd172, %fd173;
- // inline asm
- setp.lt.f64 %p36, %fd169, 0d3FE0000000000000;
- selp.f64 %fd176, 0d0000000000000000, %fd172, %p36;
- // inline asm
- {
- .reg .b32 lo;
- mov.b64 {lo, %r91}, %fd170;
- }
- // inline asm
- // inline asm
- {
- .reg .b32 hi;
- mov.b64 {%r92, hi}, %fd176;
- }
- // inline asm
- // inline asm
- {
- .reg .b32 lo;
- mov.b64 {lo, %r93}, %fd176;
- }
- // inline asm
- and.b32 %r96, %r91, -2147483648;
- and.b32 %r97, %r93, 2147483647;
- or.b32 %r95, %r97, %r96;
- // inline asm
- mov.b64 %fd177, {%r92, %r95};
- // inline asm
- mov.f64 %fd242, %fd177;
- BB5_36:
- mov.f64 %fd180, 0dBFE62E42FEFA39EF;
- // inline asm
- fma.rn.f64 %fd178, %fd242, %fd180, %fd164;
- // inline asm
- mov.f64 %fd184, 0dBC7ABC9E3B39803F;
- // inline asm
- fma.rn.f64 %fd182, %fd242, %fd184, %fd178;
- // inline asm
- cvt.rzi.s32.f64 %r100, %fd242;
- add.s32 %r101, %r100, 55;
- setp.lt.s32 %p37, %r100, -1020;
- selp.b32 %r102, %r101, %r100, %p37;
- selp.f64 %fd235, 0d3C90000000000000, 0d4000000000000000, %p37;
- mov.f64 %fd187, 0d3E21F07FCCF58BAD;
- mov.f64 %fd189, 0d3E5AFD81DA6C3BAF;
- // inline asm
- fma.rn.f64 %fd186, %fd187, %fd182, %fd189;
- // inline asm
- mov.f64 %fd193, 0d3E927E55F60F80E6;
- // inline asm
- fma.rn.f64 %fd190, %fd186, %fd182, %fd193;
- // inline asm
- mov.f64 %fd197, 0d3EC71DDA8F02D666;
- // inline asm
- fma.rn.f64 %fd194, %fd190, %fd182, %fd197;
- // inline asm
- mov.f64 %fd201, 0d3EFA01A013B894E0;
- // inline asm
- fma.rn.f64 %fd198, %fd194, %fd182, %fd201;
- // inline asm
- mov.f64 %fd205, 0d3F2A01A01D3AF788;
- // inline asm
- fma.rn.f64 %fd202, %fd198, %fd182, %fd205;
- // inline asm
- mov.f64 %fd209, 0d3F56C16C16C3A1EC;
- // inline asm
- fma.rn.f64 %fd206, %fd202, %fd182, %fd209;
- // inline asm
- mov.f64 %fd213, 0d3F81111111109161;
- // inline asm
- fma.rn.f64 %fd210, %fd206, %fd182, %fd213;
- // inline asm
- mov.f64 %fd217, 0d3FA55555555554C1;
- // inline asm
- fma.rn.f64 %fd214, %fd210, %fd182, %fd217;
- // inline asm
- mov.f64 %fd221, 0d3FC555555555556F;
- // inline asm
- fma.rn.f64 %fd218, %fd214, %fd182, %fd221;
- // inline asm
- mov.f64 %fd225, 0d3FE0000000000000;
- // inline asm
- fma.rn.f64 %fd222, %fd218, %fd182, %fd225;
- // inline asm
- mul.rn.f64 %fd227, %fd222, %fd182;
- // inline asm
- fma.rn.f64 %fd226, %fd227, %fd182, %fd182;
- // inline asm
- shl.b32 %r103, %r102, 20;
- add.s32 %r99, %r103, 1071644672;
- mov.u32 %r98, 0;
- // inline asm
- mov.b64 %fd230, {%r98, %r99};
- // inline asm
- // inline asm
- fma.rn.f64 %fd231, %fd226, %fd230, %fd230;
- // inline asm
- mul.rn.f64 %fd243, %fd231, %fd235;
- BB5_37:
- setp.eq.f64 %p38, %fd243, %fd2;
- setp.eq.f64 %p39, %fd243, %fd1;
- or.pred %p40, %p39, %p38;
- BB5_38:
- ret;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement