SPIRV-Cross/reference/opt/shaders-msl/asm/comp/bitcast_icmp.asm.comp
Hans-Kristian Arntzen a9be92569f HLSL: Fix unrolled S/G LE/LT/GE/GT opcodes.
Need to bitcast the unrolled expressions as well.
2019-10-14 16:08:39 +02:00

30 lines
797 B
Plaintext

#include <metal_stdlib>
#include <simd/simd.h>
using namespace metal;
struct _3
{
int4 _m0;
uint4 _m1;
};
struct _4
{
uint4 _m0;
int4 _m1;
};
kernel void main0(device _3& restrict _5 [[buffer(0)]], device _4& restrict _6 [[buffer(1)]])
{
_6._m0 = select(uint4(0u), uint4(1u), int4(_5._m1) < _5._m0);
_6._m0 = select(uint4(0u), uint4(1u), int4(_5._m1) <= _5._m0);
_6._m0 = select(uint4(0u), uint4(1u), _5._m1 < uint4(_5._m0));
_6._m0 = select(uint4(0u), uint4(1u), _5._m1 <= uint4(_5._m0));
_6._m0 = select(uint4(0u), uint4(1u), int4(_5._m1) > _5._m0);
_6._m0 = select(uint4(0u), uint4(1u), int4(_5._m1) >= _5._m0);
_6._m0 = select(uint4(0u), uint4(1u), _5._m1 > uint4(_5._m0));
_6._m0 = select(uint4(0u), uint4(1u), _5._m1 >= uint4(_5._m0));
}