2a49f7e82d
restrict was supported, but it broke in MSL 3.0. __restrict works on all versions, so opt for that instead. Also check for RestrictPointer decoration and refactor to_restrict() to not take optional parameter to make it more obvious when implied space character is added.
30 lines
617 B
Plaintext
30 lines
617 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 = uint4(int4(_5._m1) < _5._m0);
|
|
_6._m0 = uint4(int4(_5._m1) <= _5._m0);
|
|
_6._m0 = uint4(_5._m1 < uint4(_5._m0));
|
|
_6._m0 = uint4(_5._m1 <= uint4(_5._m0));
|
|
_6._m0 = uint4(int4(_5._m1) > _5._m0);
|
|
_6._m0 = uint4(int4(_5._m1) >= _5._m0);
|
|
_6._m0 = uint4(_5._m1 > uint4(_5._m0));
|
|
_6._m0 = uint4(_5._m1 >= uint4(_5._m0));
|
|
}
|
|
|