Files
FORT-BO/Assets/Editor/x64/Bakery/optix9/addDir.ptx
T
2026-08-06 18:56:32 +03:00

200 lines
5.2 KiB
Plaintext

//
// 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<5>;
.reg .b16 %rs<29>;
.reg .f32 %f<91>;
.reg .b32 %r<31>;
.reg .b64 %rd<21>;
mov.u32 %r3, %ctaid.x;
mov.u32 %r4, %ntid.x;
mov.u32 %r5, %tid.x;
mad.lo.s32 %r1, %r3, %r4, %r5;
mov.u32 %r6, %ntid.y;
mov.u32 %r7, %ctaid.y;
mov.u32 %r8, %tid.y;
mad.lo.s32 %r2, %r7, %r6, %r8;
ld.const.u64 %rd3, [params+1144];
cvta.to.global.u64 %rd4, %rd3;
ld.const.u32 %r9, [params+1136];
mad.lo.s32 %r10, %r9, %r2, %r1;
mul.wide.u32 %rd5, %r10, 8;
add.s64 %rd6, %rd4, %rd5;
ld.global.u16 %rs8, [%rd6];
// begin inline asm
{ cvt.f32.f16 %f17, %rs8;}
// end inline asm
ld.global.u16 %rs9, [%rd6+2];
// begin inline asm
{ cvt.f32.f16 %f18, %rs9;}
// end inline asm
ld.global.u16 %rs10, [%rd6+4];
// begin inline asm
{ cvt.f32.f16 %f19, %rs10;}
// end inline asm
mul.f32 %f20, %f18, 0f3F372474;
fma.rn.f32 %f21, %f17, 0f3E59999A, %f20;
fma.rn.f32 %f22, %f19, 0f3D93A92A, %f21;
ld.const.u64 %rd7, [params+160];
cvta.to.global.u64 %rd8, %rd7;
ld.const.u32 %r11, [params+152];
mad.lo.s32 %r12, %r11, %r2, %r1;
mul.wide.u32 %rd9, %r12, 16;
add.s64 %rd1, %rd8, %rd9;
ld.global.v4.f32 {%f23, %f24, %f25, %f26}, [%rd1];
ld.const.u64 %rd10, [params+144];
cvta.to.global.u64 %rd11, %rd10;
ld.const.u32 %r13, [params+136];
mad.lo.s32 %r14, %r13, %r2, %r1;
mul.wide.u32 %rd12, %r14, 4;
add.s64 %rd13, %rd11, %rd12;
ld.global.v4.u8 {%rs11, %rs12, %rs13, %rs14}, [%rd13];
cvt.rn.f32.u16 %f30, %rs11;
div.rn.f32 %f31, %f30, 0f437F0000;
fma.rn.f32 %f32, %f31, 0f40000000, 0fBF800000;
cvt.rn.f32.u16 %f33, %rs12;
div.rn.f32 %f34, %f33, 0f437F0000;
fma.rn.f32 %f35, %f34, 0f40000000, 0fBF800000;
cvt.rn.f32.u16 %f36, %rs13;
div.rn.f32 %f37, %f36, 0f437F0000;
fma.rn.f32 %f38, %f37, 0f40000000, 0fBF800000;
mul.f32 %f39, %f35, %f35;
fma.rn.f32 %f40, %f32, %f32, %f39;
fma.rn.f32 %f41, %f38, %f38, %f40;
sqrt.rn.f32 %f42, %f41;
rcp.rn.f32 %f43, %f42;
mul.f32 %f44, %f32, %f43;
mul.f32 %f45, %f35, %f43;
mul.f32 %f46, %f43, %f38;
fma.rn.f32 %f47, %f22, %f44, %f23;
fma.rn.f32 %f48, %f22, %f45, %f24;
fma.rn.f32 %f49, %f22, %f46, %f25;
cvt.rn.f32.u16 %f50, %rs14;
div.rn.f32 %f51, %f50, 0f437F0000;
ld.global.f32 %f52, [%rd1+12];
min.f32 %f90, %f51, %f52;
mul.f32 %f2, %f47, %f90;
mul.f32 %f3, %f48, %f90;
mul.f32 %f4, %f49, %f90;
ld.const.f32 %f53, [params+1168];
setp.gt.f32 %p1, %f53, 0f3F000000;
@%p1 bra $L__BB0_2;
bra.uni $L__BB0_1;
$L__BB0_2:
mul.f32 %f54, %f3, %f3;
fma.rn.f32 %f55, %f2, %f2, %f54;
fma.rn.f32 %f56, %f4, %f4, %f55;
sqrt.rn.f32 %f57, %f56;
rcp.rn.f32 %f58, %f57;
mul.f32 %f5, %f2, %f58;
mul.f32 %f6, %f3, %f58;
mul.f32 %f7, %f4, %f58;
ld.const.u64 %rd14, [params+400];
cvta.to.global.u64 %rd15, %rd14;
ld.const.u32 %r15, [params+392];
mad.lo.s32 %r16, %r15, %r2, %r1;
mul.wide.u32 %rd16, %r16, 4;
add.s64 %rd2, %rd15, %rd16;
ld.global.v2.u8 {%rs15, %rs28}, [%rd2];
or.b16 %rs17, %rs15, %rs28;
and.b16 %rs18, %rs17, 255;
setp.eq.s16 %p2, %rs18, 0;
@%p2 bra $L__BB0_4;
ld.global.u8 %rs27, [%rd2+2];
bra.uni $L__BB0_5;
$L__BB0_1:
st.global.v4.f32 [%rd1], {%f2, %f3, %f4, %f90};
bra.uni $L__BB0_9;
$L__BB0_4:
ld.global.u8 %rs27, [%rd2+2];
setp.eq.s16 %p3, %rs27, 0;
mov.f32 %f87, 0f00000000;
mov.u16 %rs28, 0;
mov.f32 %f88, %f87;
mov.f32 %f89, %f87;
@%p3 bra $L__BB0_6;
$L__BB0_5:
cvt.rn.f32.u16 %f62, %rs15;
div.rn.f32 %f63, %f62, 0f437F0000;
fma.rn.f32 %f64, %f63, 0f40000000, 0fBF800000;
and.b16 %rs21, %rs28, 255;
cvt.rn.f32.u16 %f65, %rs21;
div.rn.f32 %f66, %f65, 0f437F0000;
fma.rn.f32 %f67, %f66, 0f40000000, 0fBF800000;
cvt.rn.f32.u16 %f68, %rs27;
div.rn.f32 %f69, %f68, 0f437F0000;
fma.rn.f32 %f70, %f69, 0f40000000, 0fBF800000;
mul.f32 %f71, %f67, %f67;
fma.rn.f32 %f72, %f64, %f64, %f71;
fma.rn.f32 %f73, %f70, %f70, %f72;
sqrt.rn.f32 %f74, %f73;
rcp.rn.f32 %f75, %f74;
mul.f32 %f89, %f75, %f70;
mul.f32 %f88, %f75, %f67;
mul.f32 %f87, %f64, %f75;
$L__BB0_6:
mul.f32 %f76, %f6, %f88;
fma.rn.f32 %f77, %f5, %f87, %f76;
fma.rn.f32 %f14, %f7, %f89, %f77;
setp.leu.f32 %p4, %f90, 0f00000000;
@%p4 bra $L__BB0_8;
fma.rn.f32 %f78, %f14, 0f3F000000, 0f3F000000;
mov.f32 %f79, 0f3B808081;
max.f32 %f90, %f78, %f79;
$L__BB0_8:
ld.const.u64 %rd17, [params+1160];
cvta.to.global.u64 %rd18, %rd17;
ld.const.u32 %r21, [params+1152];
mad.lo.s32 %r26, %r21, %r2, %r1;
fma.rn.f32 %f80, %f5, 0f3F000000, 0f3F000000;
mul.f32 %f81, %f80, 0f437F0000;
cvt.rzi.u32.f32 %r27, %f81;
fma.rn.f32 %f82, %f6, 0f3F000000, 0f3F000000;
mul.f32 %f83, %f82, 0f437F0000;
cvt.rzi.u32.f32 %r28, %f83;
fma.rn.f32 %f84, %f7, 0f3F000000, 0f3F000000;
mul.f32 %f85, %f84, 0f437F0000;
cvt.rzi.u32.f32 %r29, %f85;
mul.f32 %f86, %f90, 0f437F0000;
cvt.rzi.u32.f32 %r30, %f86;
mul.wide.u32 %rd19, %r26, 4;
add.s64 %rd20, %rd18, %rd19;
cvt.u16.u32 %rs23, %r30;
cvt.u16.u32 %rs24, %r29;
cvt.u16.u32 %rs25, %r28;
cvt.u16.u32 %rs26, %r27;
st.global.v4.u8 [%rd20], {%rs26, %rs25, %rs24, %rs23};
$L__BB0_9:
ret;
}