shader:
float4 main() : POSITION { return 1.0 + 2.0 * 3.0 / 4.0 - 0.5 % 1.0; }
original IR:
module
{
struct:00CE3890:main__ret{ [4 x f32] __RetVal:POSITION }
function 'main'() -> struct:00CE3890:main__ret
{
block
{
00CF6F00 = mod.f32(f32:0.5,f32:1)
00CF7130 = mul.f32(f32:2,f32:3)
00CF7520 = div.f32(00CF7130,f32:4)
00CF6E90 = add.f32(f32:1,00CF7520)
00CF6F70 = sub.f32(00CF6E90,00CF6F00)
00CFF3C0 = cast [4 x f32] 00CF6F70
00CFF6C0 = aggregate struct:00CE3890:main__ret (00CFF3C0)
ret struct:00CE3890:main__ret 00CFF6C0
}
}
}
optimized IR:
module
{
struct:00CE3890:main__ret{ [4 x f32] __RetVal:POSITION }
function 'main'() -> struct:00CE3890:main__ret
{
block
{
00CFF3C0 = cast [4 x f32] f32:2
00CFF6C0 = aggregate struct:00CE3890:main__ret (00CFF3C0)
ret struct:00CE3890:main__ret 00CFF6C0
}
}
}
Comments