blob: 40fd532c61cb7a105935b6b26e4704df31444d98 [file] [log] [blame]
#version 450 core
#extension GL_EXT_long_vector : enable
#extension GL_EXT_shader_explicit_arithmetic_types : enable
layout (local_size_x = 64, local_size_y = 1, local_size_z = 1) in;
void main()
{
float f;
vector<float, 5> f0, f1;
uint32_t u;
vector<uint32_t, 5> u0, u1;
bool b;
vector<bool, 5> b0, b1;
f0 = f0 + f1;
f0 = f0 - f1;
f0 = f0 * f1;
f0 = f0 / f1;
f0 = f0 + f;
f0 = f0 - f;
f0 = f0 * f;
f0 = f0 / f;
f0 = -f0;
f0 += f1;
f0 -= f1;
f0 *= f1;
f0 /= f1;
f0 += f;
f0 -= f;
f0 *= f;
f0 /= f;
u0 = u0 + u1;
u0 = u0 - u1;
u0 = u0 * u1;
u0 = u0 / u1;
u0 = u0 % u1;
u0 = u0 & u1;
u0 = u0 | u1;
u0 = u0 ^ u1;
u0 = u0 << u1;
u0 = u0 >> u1;
u0 = u0 + u;
u0 = u0 - u;
u0 = u0 * u;
u0 = u0 / u;
u0 = u0 % u;
u0 = u0 & u;
u0 = u0 | u;
u0 = u0 ^ u;
u0 = u0 << u;
u0 = u0 >> u;
u0 += u1;
u0 -= u1;
u0 *= u1;
u0 /= u1;
u0 %= u1;
u0 &= u1;
u0 |= u1;
u0 ^= u1;
u0 <<= u1;
u0 >>= u1;
u0 += u;
u0 -= u;
u0 *= u;
u0 /= u;
u0 %= u;
u0 &= u;
u0 ^= u;
u0 |= u;
u0 <<= u;
u0 >>= u;
u0++;
u0--;
++u0;
--u0;
b0 = equal(b0, b1);
b0 = notEqual(b0, b1);
b = any(b0);
b = all(b0);
b0 = not(b0);
f0 = b ? f0 : f1;
}
void foo()
{
float f;
vector<float, 1> f0, f1;
uint32_t u;
vector<uint32_t, 1> u0, u1;
bool b;
vector<bool, 1> b0, b1;
f0 = f0 + f1;
f0 = f0 - f1;
f0 = f0 * f1;
f0 = f0 / f1;
f0 = f0 + f;
f0 = f0 - f;
f0 = f0 * f;
f0 = f0 / f;
f0 = -f0;
f0 += f1;
f0 -= f1;
f0 *= f1;
f0 /= f1;
f0 += f;
f0 -= f;
f0 *= f;
f0 /= f;
u0 = u0 + u1;
u0 = u0 - u1;
u0 = u0 * u1;
u0 = u0 / u1;
u0 = u0 % u1;
u0 = u0 & u1;
u0 = u0 | u1;
u0 = u0 ^ u1;
u0 = u0 << u1;
u0 = u0 >> u1;
u0 = u0 + u;
u0 = u0 - u;
u0 = u0 * u;
u0 = u0 / u;
u0 = u0 % u;
u0 = u0 & u;
u0 = u0 | u;
u0 = u0 ^ u;
u0 = u0 << u;
u0 = u0 >> u;
u0 += u1;
u0 -= u1;
u0 *= u1;
u0 /= u1;
u0 %= u1;
u0 &= u1;
u0 |= u1;
u0 ^= u1;
u0 <<= u1;
u0 >>= u1;
u0 += u;
u0 -= u;
u0 *= u;
u0 /= u;
u0 %= u;
u0 &= u;
u0 ^= u;
u0 |= u;
u0 <<= u;
u0 >>= u;
u0++;
u0--;
++u0;
--u0;
b0 = equal(b0, b1);
b0 = notEqual(b0, b1);
b = any(b0);
b = all(b0);
b0 = not(b0);
f0 = b ? f0 : f1;
}