// // Generated by NVIDIA NVVM Compiler // // Compiler Build ID: CL-31968024 // Cuda compilation tools, release 12.0, V12.0.76 // Based on NVVM 7.0.1 // .version 8.0 .target sm_52 .address_size 64 // .globl oxMain .const .align 16 .b8 params[1184]; .visible .entry oxMain() { .reg .pred %p<34>; .reg .b16 %rs<13>; .reg .f32 %f<295>; .reg .b32 %r<60>; .reg .b64 %rd<15>; mov.u32 %r1, %ctaid.x; mov.u32 %r2, %ntid.x; mov.u32 %r3, %tid.x; mad.lo.s32 %r4, %r1, %r2, %r3; mov.u32 %r5, %ntid.y; mov.u32 %r6, %ctaid.y; mov.u32 %r7, %tid.y; mad.lo.s32 %r8, %r6, %r5, %r7; ld.const.u64 %rd2, [params+160]; cvta.to.global.u64 %rd3, %rd2; ld.const.u32 %r9, [params+152]; mad.lo.s32 %r10, %r9, %r8, %r4; mul.wide.u32 %rd4, %r10, 8; add.s64 %rd5, %rd3, %rd4; ld.global.u16 %rs4, [%rd5+6]; cvt.rn.f32.u16 %f1, %rs4; ld.global.u16 %rs1, [%rd5]; // begin inline asm { cvt.f32.f16 %f35, %rs1;} // end inline asm ld.global.u16 %rs2, [%rd5+2]; // begin inline asm { cvt.f32.f16 %f36, %rs2;} // end inline asm ld.global.u16 %rs3, [%rd5+4]; // begin inline asm { cvt.f32.f16 %f37, %rs3;} // end inline asm ld.const.u64 %rd6, [params+768]; cvta.to.global.u64 %rd7, %rd6; ld.const.u32 %r11, [params+760]; mad.lo.s32 %r12, %r11, %r8, %r4; mul.wide.u32 %rd8, %r12, 4; add.s64 %rd9, %rd7, %rd8; ld.global.v4.u8 {%rs5, %rs6, %rs7, %rs8}, [%rd9]; cvt.rn.f32.u16 %f39, %rs5; div.rn.f32 %f5, %f39, 0f437F0000; cvt.rn.f32.u16 %f40, %rs6; div.rn.f32 %f6, %f40, 0f437F0000; cvt.rn.f32.u16 %f41, %rs7; div.rn.f32 %f7, %f41, 0f437F0000; mov.f32 %f42, 0f3F8CCCCD; cvt.rzi.f32.f32 %f43, %f42; add.f32 %f44, %f43, %f43; mov.f32 %f45, 0f400CCCCD; sub.f32 %f46, %f45, %f44; abs.f32 %f8, %f46; abs.f32 %f9, %f5; setp.lt.f32 %p1, %f9, 0f00800000; mul.f32 %f47, %f9, 0f4B800000; selp.f32 %f48, %f47, %f9, %p1; selp.f32 %f49, 0fC3170000, 0fC2FE0000, %p1; mov.b32 %r13, %f48; and.b32 %r14, %r13, 8388607; or.b32 %r15, %r14, 1065353216; mov.b32 %f50, %r15; shr.u32 %r16, %r13, 23; cvt.rn.f32.u32 %f51, %r16; add.f32 %f52, %f49, %f51; setp.gt.f32 %p2, %f50, 0f3FB504F3; mul.f32 %f53, %f50, 0f3F000000; add.f32 %f54, %f52, 0f3F800000; selp.f32 %f55, %f54, %f52, %p2; selp.f32 %f56, %f53, %f50, %p2; add.f32 %f57, %f56, 0fBF800000; add.f32 %f58, %f56, 0f3F800000; rcp.approx.ftz.f32 %f59, %f58; add.f32 %f60, %f57, %f57; mul.f32 %f61, %f60, %f59; mul.f32 %f62, %f61, %f61; mov.f32 %f63, 0f3C4CAF63; mov.f32 %f64, 0f3B18F0FE; fma.rn.f32 %f65, %f64, %f62, %f63; mov.f32 %f66, 0f3DAAAABD; fma.rn.f32 %f67, %f65, %f62, %f66; mul.rn.f32 %f68, %f67, %f62; mul.rn.f32 %f69, %f68, %f61; sub.f32 %f70, %f57, %f61; add.f32 %f71, %f70, %f70; neg.f32 %f72, %f61; fma.rn.f32 %f73, %f72, %f57, %f71; mul.rn.f32 %f74, %f59, %f73; add.f32 %f75, %f69, %f61; sub.f32 %f76, %f61, %f75; add.f32 %f77, %f69, %f76; add.f32 %f78, %f74, %f77; add.f32 %f79, %f75, %f78; sub.f32 %f80, %f75, %f79; add.f32 %f81, %f78, %f80; mov.f32 %f82, 0f3F317200; mul.rn.f32 %f83, %f55, %f82; mov.f32 %f84, 0f35BFBE8E; mul.rn.f32 %f85, %f55, %f84; add.f32 %f86, %f83, %f79; sub.f32 %f87, %f83, %f86; add.f32 %f88, %f79, %f87; add.f32 %f89, %f81, %f88; add.f32 %f90, %f85, %f89; add.f32 %f91, %f86, %f90; sub.f32 %f92, %f86, %f91; add.f32 %f93, %f90, %f92; mul.rn.f32 %f94, %f45, %f91; neg.f32 %f95, %f94; fma.rn.f32 %f96, %f45, %f91, %f95; fma.rn.f32 %f97, %f45, %f93, %f96; mov.f32 %f98, 0f00000000; fma.rn.f32 %f99, %f98, %f91, %f97; add.rn.f32 %f100, %f94, %f99; neg.f32 %f101, %f100; add.rn.f32 %f102, %f94, %f101; add.rn.f32 %f103, %f102, %f99; mov.b32 %r17, %f100; setp.eq.s32 %p3, %r17, 1118925336; add.s32 %r18, %r17, -1; mov.b32 %f104, %r18; add.f32 %f105, %f103, 0f37000000; selp.f32 %f10, %f105, %f103, %p3; selp.f32 %f106, %f104, %f100, %p3; mov.f32 %f107, 0f3FB8AA3B; mul.rn.f32 %f108, %f106, %f107; cvt.rzi.f32.f32 %f109, %f108; abs.f32 %f110, %f109; setp.gt.f32 %p4, %f110, 0f42FC0000; mov.b32 %r19, %f109; and.b32 %r20, %r19, -2147483648; or.b32 %r21, %r20, 1123811328; mov.b32 %f111, %r21; selp.f32 %f112, %f111, %f109, %p4; mov.f32 %f113, 0fBF317218; fma.rn.f32 %f114, %f112, %f113, %f106; mov.f32 %f115, 0f3102E308; fma.rn.f32 %f116, %f112, %f115, %f114; mul.f32 %f117, %f116, 0f3FB8AA3B; add.f32 %f118, %f112, 0f4B40007F; mov.b32 %r22, %f118; shl.b32 %r23, %r22, 23; mov.b32 %f119, %r23; ex2.approx.ftz.f32 %f120, %f117; mul.f32 %f11, %f120, %f119; setp.eq.f32 %p5, %f11, 0f7F800000; mov.f32 %f289, 0f7F800000; @%p5 bra $L__BB0_2; fma.rn.f32 %f289, %f11, %f10, %f11; $L__BB0_2: add.f32 %f121, %f5, %f5; setp.eq.f32 %p6, %f8, 0f3F800000; selp.f32 %f122, %f121, 0f00000000, %p6; setp.eq.f32 %p7, %f5, 0f00000000; selp.f32 %f290, %f122, %f289, %p7; add.f32 %f123, %f9, 0f400CCCCD; mov.b32 %r24, %f123; setp.lt.s32 %p8, %r24, 2139095040; @%p8 bra $L__BB0_7; setp.gtu.f32 %p9, %f9, 0f7F800000; @%p9 bra $L__BB0_6; bra.uni $L__BB0_4; $L__BB0_6: add.f32 %f290, %f5, 0f400CCCCD; bra.uni $L__BB0_7; $L__BB0_4: setp.neu.f32 %p10, %f9, 0f7F800000; @%p10 bra $L__BB0_7; mov.f32 %f290, 0f7F800000; $L__BB0_7: setp.eq.f32 %p11, %f5, 0f3F800000; selp.f32 %f17, 0f3F800000, %f290, %p11; abs.f32 %f18, %f6; setp.lt.f32 %p12, %f18, 0f00800000; mul.f32 %f126, %f18, 0f4B800000; selp.f32 %f127, %f126, %f18, %p12; selp.f32 %f128, 0fC3170000, 0fC2FE0000, %p12; mov.b32 %r25, %f127; and.b32 %r26, %r25, 8388607; or.b32 %r27, %r26, 1065353216; mov.b32 %f129, %r27; shr.u32 %r28, %r25, 23; cvt.rn.f32.u32 %f130, %r28; add.f32 %f131, %f128, %f130; setp.gt.f32 %p13, %f129, 0f3FB504F3; mul.f32 %f132, %f129, 0f3F000000; add.f32 %f133, %f131, 0f3F800000; selp.f32 %f134, %f133, %f131, %p13; selp.f32 %f135, %f132, %f129, %p13; add.f32 %f136, %f135, 0fBF800000; add.f32 %f137, %f135, 0f3F800000; rcp.approx.ftz.f32 %f138, %f137; add.f32 %f139, %f136, %f136; mul.f32 %f140, %f139, %f138; mul.f32 %f141, %f140, %f140; mov.f32 %f142, 0f3C4CAF63; mov.f32 %f143, 0f3B18F0FE; fma.rn.f32 %f144, %f143, %f141, %f142; mov.f32 %f145, 0f3DAAAABD; fma.rn.f32 %f146, %f144, %f141, %f145; mul.rn.f32 %f147, %f146, %f141; mul.rn.f32 %f148, %f147, %f140; sub.f32 %f149, %f136, %f140; add.f32 %f150, %f149, %f149; neg.f32 %f151, %f140; fma.rn.f32 %f152, %f151, %f136, %f150; mul.rn.f32 %f153, %f138, %f152; add.f32 %f154, %f148, %f140; sub.f32 %f155, %f140, %f154; add.f32 %f156, %f148, %f155; add.f32 %f157, %f153, %f156; add.f32 %f158, %f154, %f157; sub.f32 %f159, %f154, %f158; add.f32 %f160, %f157, %f159; mov.f32 %f161, 0f3F317200; mul.rn.f32 %f162, %f134, %f161; mov.f32 %f163, 0f35BFBE8E; mul.rn.f32 %f164, %f134, %f163; add.f32 %f165, %f162, %f158; sub.f32 %f166, %f162, %f165; add.f32 %f167, %f158, %f166; add.f32 %f168, %f160, %f167; add.f32 %f169, %f164, %f168; add.f32 %f170, %f165, %f169; sub.f32 %f171, %f165, %f170; add.f32 %f172, %f169, %f171; mov.f32 %f173, 0f400CCCCD; mul.rn.f32 %f174, %f173, %f170; neg.f32 %f175, %f174; fma.rn.f32 %f176, %f173, %f170, %f175; fma.rn.f32 %f177, %f173, %f172, %f176; mov.f32 %f178, 0f00000000; fma.rn.f32 %f179, %f178, %f170, %f177; add.rn.f32 %f180, %f174, %f179; neg.f32 %f181, %f180; add.rn.f32 %f182, %f174, %f181; add.rn.f32 %f183, %f182, %f179; mov.b32 %r29, %f180; setp.eq.s32 %p14, %r29, 1118925336; add.s32 %r30, %r29, -1; mov.b32 %f184, %r30; add.f32 %f185, %f183, 0f37000000; selp.f32 %f19, %f185, %f183, %p14; selp.f32 %f186, %f184, %f180, %p14; mov.f32 %f187, 0f3FB8AA3B; mul.rn.f32 %f188, %f186, %f187; cvt.rzi.f32.f32 %f189, %f188; abs.f32 %f190, %f189; setp.gt.f32 %p15, %f190, 0f42FC0000; mov.b32 %r31, %f189; and.b32 %r32, %r31, -2147483648; or.b32 %r33, %r32, 1123811328; mov.b32 %f191, %r33; selp.f32 %f192, %f191, %f189, %p15; mov.f32 %f193, 0fBF317218; fma.rn.f32 %f194, %f192, %f193, %f186; mov.f32 %f195, 0f3102E308; fma.rn.f32 %f196, %f192, %f195, %f194; mul.f32 %f197, %f196, 0f3FB8AA3B; add.f32 %f198, %f192, 0f4B40007F; mov.b32 %r34, %f198; shl.b32 %r35, %r34, 23; mov.b32 %f199, %r35; ex2.approx.ftz.f32 %f200, %f197; mul.f32 %f20, %f200, %f199; setp.eq.f32 %p16, %f20, 0f7F800000; mov.f32 %f291, 0f7F800000; @%p16 bra $L__BB0_9; fma.rn.f32 %f291, %f20, %f19, %f20; $L__BB0_9: add.f32 %f201, %f6, %f6; selp.f32 %f202, %f201, 0f00000000, %p6; setp.eq.f32 %p18, %f6, 0f00000000; selp.f32 %f292, %f202, %f291, %p18; add.f32 %f203, %f18, 0f400CCCCD; mov.b32 %r36, %f203; setp.lt.s32 %p19, %r36, 2139095040; @%p19 bra $L__BB0_14; setp.gtu.f32 %p20, %f18, 0f7F800000; @%p20 bra $L__BB0_13; bra.uni $L__BB0_11; $L__BB0_13: add.f32 %f292, %f6, 0f400CCCCD; bra.uni $L__BB0_14; $L__BB0_11: setp.neu.f32 %p21, %f18, 0f7F800000; @%p21 bra $L__BB0_14; mov.f32 %f292, 0f7F800000; $L__BB0_14: setp.eq.f32 %p22, %f6, 0f3F800000; selp.f32 %f26, 0f3F800000, %f292, %p22; abs.f32 %f27, %f7; setp.lt.f32 %p23, %f27, 0f00800000; mul.f32 %f206, %f27, 0f4B800000; selp.f32 %f207, %f206, %f27, %p23; selp.f32 %f208, 0fC3170000, 0fC2FE0000, %p23; mov.b32 %r37, %f207; and.b32 %r38, %r37, 8388607; or.b32 %r39, %r38, 1065353216; mov.b32 %f209, %r39; shr.u32 %r40, %r37, 23; cvt.rn.f32.u32 %f210, %r40; add.f32 %f211, %f208, %f210; setp.gt.f32 %p24, %f209, 0f3FB504F3; mul.f32 %f212, %f209, 0f3F000000; add.f32 %f213, %f211, 0f3F800000; selp.f32 %f214, %f213, %f211, %p24; selp.f32 %f215, %f212, %f209, %p24; add.f32 %f216, %f215, 0fBF800000; add.f32 %f217, %f215, 0f3F800000; rcp.approx.ftz.f32 %f218, %f217; add.f32 %f219, %f216, %f216; mul.f32 %f220, %f219, %f218; mul.f32 %f221, %f220, %f220; mov.f32 %f222, 0f3C4CAF63; mov.f32 %f223, 0f3B18F0FE; fma.rn.f32 %f224, %f223, %f221, %f222; mov.f32 %f225, 0f3DAAAABD; fma.rn.f32 %f226, %f224, %f221, %f225; mul.rn.f32 %f227, %f226, %f221; mul.rn.f32 %f228, %f227, %f220; sub.f32 %f229, %f216, %f220; add.f32 %f230, %f229, %f229; neg.f32 %f231, %f220; fma.rn.f32 %f232, %f231, %f216, %f230; mul.rn.f32 %f233, %f218, %f232; add.f32 %f234, %f228, %f220; sub.f32 %f235, %f220, %f234; add.f32 %f236, %f228, %f235; add.f32 %f237, %f233, %f236; add.f32 %f238, %f234, %f237; sub.f32 %f239, %f234, %f238; add.f32 %f240, %f237, %f239; mov.f32 %f241, 0f3F317200; mul.rn.f32 %f242, %f214, %f241; mov.f32 %f243, 0f35BFBE8E; mul.rn.f32 %f244, %f214, %f243; add.f32 %f245, %f242, %f238; sub.f32 %f246, %f242, %f245; add.f32 %f247, %f238, %f246; add.f32 %f248, %f240, %f247; add.f32 %f249, %f244, %f248; add.f32 %f250, %f245, %f249; sub.f32 %f251, %f245, %f250; add.f32 %f252, %f249, %f251; mov.f32 %f253, 0f400CCCCD; mul.rn.f32 %f254, %f253, %f250; neg.f32 %f255, %f254; fma.rn.f32 %f256, %f253, %f250, %f255; fma.rn.f32 %f257, %f253, %f252, %f256; mov.f32 %f258, 0f00000000; fma.rn.f32 %f259, %f258, %f250, %f257; add.rn.f32 %f260, %f254, %f259; neg.f32 %f261, %f260; add.rn.f32 %f262, %f254, %f261; add.rn.f32 %f263, %f262, %f259; mov.b32 %r41, %f260; setp.eq.s32 %p25, %r41, 1118925336; add.s32 %r42, %r41, -1; mov.b32 %f264, %r42; add.f32 %f265, %f263, 0f37000000; selp.f32 %f28, %f265, %f263, %p25; selp.f32 %f266, %f264, %f260, %p25; mov.f32 %f267, 0f3FB8AA3B; mul.rn.f32 %f268, %f266, %f267; cvt.rzi.f32.f32 %f269, %f268; abs.f32 %f270, %f269; setp.gt.f32 %p26, %f270, 0f42FC0000; mov.b32 %r43, %f269; and.b32 %r44, %r43, -2147483648; or.b32 %r45, %r44, 1123811328; mov.b32 %f271, %r45; selp.f32 %f272, %f271, %f269, %p26; mov.f32 %f273, 0fBF317218; fma.rn.f32 %f274, %f272, %f273, %f266; mov.f32 %f275, 0f3102E308; fma.rn.f32 %f276, %f272, %f275, %f274; mul.f32 %f277, %f276, 0f3FB8AA3B; add.f32 %f278, %f272, 0f4B40007F; mov.b32 %r46, %f278; shl.b32 %r47, %r46, 23; mov.b32 %f279, %r47; ex2.approx.ftz.f32 %f280, %f277; mul.f32 %f29, %f280, %f279; setp.eq.f32 %p27, %f29, 0f7F800000; mov.f32 %f293, 0f7F800000; @%p27 bra $L__BB0_16; fma.rn.f32 %f293, %f29, %f28, %f29; $L__BB0_16: add.f32 %f281, %f7, %f7; selp.f32 %f282, %f281, 0f00000000, %p6; setp.eq.f32 %p29, %f7, 0f00000000; selp.f32 %f294, %f282, %f293, %p29; add.f32 %f283, %f27, 0f400CCCCD; mov.b32 %r48, %f283; setp.lt.s32 %p30, %r48, 2139095040; @%p30 bra $L__BB0_21; setp.gtu.f32 %p31, %f27, 0f7F800000; @%p31 bra $L__BB0_20; bra.uni $L__BB0_18; $L__BB0_20: add.f32 %f294, %f7, 0f400CCCCD; bra.uni $L__BB0_21; $L__BB0_18: setp.neu.f32 %p32, %f27, 0f7F800000; @%p32 bra $L__BB0_21; mov.f32 %f294, 0f7F800000; $L__BB0_21: ld.const.u64 %rd14, [params+160]; mov.u32 %r59, %tid.y; mov.u32 %r58, %ntid.y; mov.u32 %r57, %ctaid.y; mov.u32 %r56, %tid.x; mov.u32 %r55, %ntid.x; mov.u32 %r54, %ctaid.x; mad.lo.s32 %r53, %r54, %r55, %r56; mad.lo.s32 %r52, %r57, %r58, %r59; ld.const.u32 %r51, [params+152]; mad.lo.s32 %r50, %r51, %r52, %r53; mul.wide.u32 %rd13, %r50, 8; cvta.to.global.u64 %rd12, %rd14; add.s64 %rd11, %rd12, %rd13; add.s64 %rd10, %rd11, 6; setp.eq.f32 %p33, %f7, 0f3F800000; selp.f32 %f288, 0f3F800000, %f294, %p33; mul.f32 %f287, %f37, %f288; mul.f32 %f285, %f35, %f17; mul.f32 %f286, %f36, %f26; cvt.rzi.u32.f32 %r49, %f1; // begin inline asm { cvt.rn.f16.f32 %rs10, %f286;} // end inline asm // begin inline asm { cvt.rn.f16.f32 %rs9, %f285;} // end inline asm // begin inline asm { cvt.rn.f16.f32 %rs11, %f287;} // end inline asm cvt.u16.u32 %rs12, %r49; st.global.v4.u16 [%rd10+-6], {%rs9, %rs10, %rs11, %rs12}; ret; }