|
@@ -31,21 +31,19 @@ float4 plain(float4 param4 /* : FOO */) /*: FOO */{
|
|
|
float floats = 0;
|
|
|
double doubles = 0;
|
|
|
min16float min16floats = 0;
|
|
|
- min10float min10floats = 0; // expected-warning {{min10float is promoted to min16float}}
|
|
|
- min16int min16ints = 0;
|
|
|
- min12int min12ints = 0; // expected-warning {{min12int is promoted to min16int}}
|
|
|
- min16uint min16uints = 0;
|
|
|
-
|
|
|
+ min10float min10floats = 0; min16int min16ints = 0;
|
|
|
+ min12int min12ints = 0; min16uint min16uints = 0;
|
|
|
+
|
|
|
//
|
|
|
// Some error messages were changed from the fxc version to ease generating test cases
|
|
|
- //
|
|
|
+ //
|
|
|
// signed integer remainder is not supported on minimum-precision types; Cast to int to use 32-bit division
|
|
|
// *and*
|
|
|
// signed division remainder is not supported on minimum-precision types; Cast to int to use 32-bit division
|
|
|
// are both mapped to
|
|
|
// signed integer division is not supported on minimum-precision types, cast to int to use 32-bit division
|
|
|
//
|
|
|
-
|
|
|
+
|
|
|
_Static_assert(std::is_same<bool, __decltype(bools = bools)>::value, "");
|
|
|
_Static_assert(std::is_same<bool, __decltype(bools = ints)>::value, "");
|
|
|
_Static_assert(std::is_same<bool, __decltype(bools = uints)>::value, "");
|
|
@@ -123,18 +121,7 @@ float4 plain(float4 param4 /* : FOO */) /*: FOO */{
|
|
|
_Static_assert(std::is_same<min16float, __decltype(min16floats = min16ints)>::value, "");
|
|
|
_Static_assert(std::is_same<min16float, __decltype(min16floats = min12ints)>::value, "");
|
|
|
_Static_assert(std::is_same<min16float, __decltype(min16floats = min16uints)>::value, "");
|
|
|
- _Static_assert(std::is_same<min10float, __decltype(min10floats = bools)>::value, ""); // expected-warning {{min10float is promoted to min16float}}
|
|
|
- _Static_assert(std::is_same<min10float, __decltype(min10floats = ints)>::value, ""); // expected-warning {{min10float is promoted to min16float}}
|
|
|
- _Static_assert(std::is_same<min10float, __decltype(min10floats = uints)>::value, ""); // expected-warning {{min10float is promoted to min16float}}
|
|
|
- _Static_assert(std::is_same<min10float, __decltype(min10floats = halfs)>::value, ""); // expected-warning {{min10float is promoted to min16float}}
|
|
|
- _Static_assert(std::is_same<min10float, __decltype(min10floats = floats)>::value, ""); // expected-warning {{min10float is promoted to min16float}}
|
|
|
- _Static_assert(std::is_same<min10float, __decltype(min10floats = doubles)>::value, ""); // expected-warning {{min10float is promoted to min16float}}
|
|
|
- _Static_assert(std::is_same<min10float, __decltype(min10floats = min16floats)>::value, ""); // expected-warning {{min10float is promoted to min16float}}
|
|
|
- _Static_assert(std::is_same<min10float, __decltype(min10floats = min10floats)>::value, ""); // expected-warning {{min10float is promoted to min16float}}
|
|
|
- _Static_assert(std::is_same<min10float, __decltype(min10floats = min16ints)>::value, ""); // expected-warning {{min10float is promoted to min16float}}
|
|
|
- _Static_assert(std::is_same<min10float, __decltype(min10floats = min12ints)>::value, ""); // expected-warning {{min10float is promoted to min16float}}
|
|
|
- _Static_assert(std::is_same<min10float, __decltype(min10floats = min16uints)>::value, ""); // expected-warning {{min10float is promoted to min16float}}
|
|
|
- _Static_assert(std::is_same<min16int, __decltype(min16ints = bools)>::value, "");
|
|
|
+ _Static_assert(std::is_same<min10float, __decltype(min10floats = bools)>::value, ""); _Static_assert(std::is_same<min10float, __decltype(min10floats = ints)>::value, ""); _Static_assert(std::is_same<min10float, __decltype(min10floats = uints)>::value, ""); _Static_assert(std::is_same<min10float, __decltype(min10floats = halfs)>::value, ""); _Static_assert(std::is_same<min10float, __decltype(min10floats = floats)>::value, ""); _Static_assert(std::is_same<min10float, __decltype(min10floats = doubles)>::value, ""); _Static_assert(std::is_same<min10float, __decltype(min10floats = min16floats)>::value, ""); _Static_assert(std::is_same<min10float, __decltype(min10floats = min10floats)>::value, ""); _Static_assert(std::is_same<min10float, __decltype(min10floats = min16ints)>::value, ""); _Static_assert(std::is_same<min10float, __decltype(min10floats = min12ints)>::value, ""); _Static_assert(std::is_same<min10float, __decltype(min10floats = min16uints)>::value, ""); _Static_assert(std::is_same<min16int, __decltype(min16ints = bools)>::value, "");
|
|
|
_Static_assert(std::is_same<min16int, __decltype(min16ints = ints)>::value, "");
|
|
|
_Static_assert(std::is_same<min16int, __decltype(min16ints = uints)>::value, "");
|
|
|
_Static_assert(std::is_same<min16int, __decltype(min16ints = halfs)>::value, "");
|
|
@@ -145,18 +132,7 @@ float4 plain(float4 param4 /* : FOO */) /*: FOO */{
|
|
|
_Static_assert(std::is_same<min16int, __decltype(min16ints = min16ints)>::value, "");
|
|
|
_Static_assert(std::is_same<min16int, __decltype(min16ints = min12ints)>::value, "");
|
|
|
_Static_assert(std::is_same<min16int, __decltype(min16ints = min16uints)>::value, "");
|
|
|
- _Static_assert(std::is_same<min12int, __decltype(min12ints = bools)>::value, ""); // expected-warning {{min12int is promoted to min16int}}
|
|
|
- _Static_assert(std::is_same<min12int, __decltype(min12ints = ints)>::value, ""); // expected-warning {{min12int is promoted to min16int}}
|
|
|
- _Static_assert(std::is_same<min12int, __decltype(min12ints = uints)>::value, ""); // expected-warning {{min12int is promoted to min16int}}
|
|
|
- _Static_assert(std::is_same<min12int, __decltype(min12ints = halfs)>::value, ""); // expected-warning {{min12int is promoted to min16int}}
|
|
|
- _Static_assert(std::is_same<min12int, __decltype(min12ints = floats)>::value, ""); // expected-warning {{min12int is promoted to min16int}}
|
|
|
- _Static_assert(std::is_same<min12int, __decltype(min12ints = doubles)>::value, ""); // expected-warning {{min12int is promoted to min16int}}
|
|
|
- _Static_assert(std::is_same<min12int, __decltype(min12ints = min16floats)>::value, ""); // expected-warning {{min12int is promoted to min16int}}
|
|
|
- _Static_assert(std::is_same<min12int, __decltype(min12ints = min10floats)>::value, ""); // expected-warning {{min12int is promoted to min16int}}
|
|
|
- _Static_assert(std::is_same<min12int, __decltype(min12ints = min16ints)>::value, ""); // expected-warning {{min12int is promoted to min16int}}
|
|
|
- _Static_assert(std::is_same<min12int, __decltype(min12ints = min12ints)>::value, ""); // expected-warning {{min12int is promoted to min16int}}
|
|
|
- _Static_assert(std::is_same<min12int, __decltype(min12ints = min16uints)>::value, ""); // expected-warning {{min12int is promoted to min16int}}
|
|
|
- _Static_assert(std::is_same<min16uint, __decltype(min16uints = bools)>::value, "");
|
|
|
+ _Static_assert(std::is_same<min12int, __decltype(min12ints = bools)>::value, ""); _Static_assert(std::is_same<min12int, __decltype(min12ints = ints)>::value, ""); _Static_assert(std::is_same<min12int, __decltype(min12ints = uints)>::value, ""); _Static_assert(std::is_same<min12int, __decltype(min12ints = halfs)>::value, ""); _Static_assert(std::is_same<min12int, __decltype(min12ints = floats)>::value, ""); _Static_assert(std::is_same<min12int, __decltype(min12ints = doubles)>::value, ""); _Static_assert(std::is_same<min12int, __decltype(min12ints = min16floats)>::value, ""); _Static_assert(std::is_same<min12int, __decltype(min12ints = min10floats)>::value, ""); _Static_assert(std::is_same<min12int, __decltype(min12ints = min16ints)>::value, ""); _Static_assert(std::is_same<min12int, __decltype(min12ints = min12ints)>::value, ""); _Static_assert(std::is_same<min12int, __decltype(min12ints = min16uints)>::value, ""); _Static_assert(std::is_same<min16uint, __decltype(min16uints = bools)>::value, "");
|
|
|
_Static_assert(std::is_same<min16uint, __decltype(min16uints = ints)>::value, "");
|
|
|
_Static_assert(std::is_same<min16uint, __decltype(min16uints = uints)>::value, "");
|
|
|
_Static_assert(std::is_same<min16uint, __decltype(min16uints = halfs)>::value, "");
|
|
@@ -244,18 +220,7 @@ float4 plain(float4 param4 /* : FOO */) /*: FOO */{
|
|
|
_Static_assert(std::is_same<min16float, __decltype(min16floats += min16ints)>::value, "");
|
|
|
_Static_assert(std::is_same<min16float, __decltype(min16floats += min12ints)>::value, "");
|
|
|
_Static_assert(std::is_same<min16float, __decltype(min16floats += min16uints)>::value, "");
|
|
|
- _Static_assert(std::is_same<min10float, __decltype(min10floats += bools)>::value, ""); // expected-warning {{min10float is promoted to min16float}}
|
|
|
- _Static_assert(std::is_same<min10float, __decltype(min10floats += ints)>::value, ""); // expected-warning {{min10float is promoted to min16float}}
|
|
|
- _Static_assert(std::is_same<min10float, __decltype(min10floats += uints)>::value, ""); // expected-warning {{min10float is promoted to min16float}}
|
|
|
- _Static_assert(std::is_same<min10float, __decltype(min10floats += halfs)>::value, ""); // expected-warning {{min10float is promoted to min16float}}
|
|
|
- _Static_assert(std::is_same<min10float, __decltype(min10floats += floats)>::value, ""); // expected-warning {{min10float is promoted to min16float}}
|
|
|
- _Static_assert(std::is_same<min10float, __decltype(min10floats += doubles)>::value, ""); // expected-warning {{min10float is promoted to min16float}}
|
|
|
- _Static_assert(std::is_same<min10float, __decltype(min10floats += min16floats)>::value, ""); // expected-warning {{min10float is promoted to min16float}}
|
|
|
- _Static_assert(std::is_same<min10float, __decltype(min10floats += min10floats)>::value, ""); // expected-warning {{min10float is promoted to min16float}}
|
|
|
- _Static_assert(std::is_same<min10float, __decltype(min10floats += min16ints)>::value, ""); // expected-warning {{min10float is promoted to min16float}}
|
|
|
- _Static_assert(std::is_same<min10float, __decltype(min10floats += min12ints)>::value, ""); // expected-warning {{min10float is promoted to min16float}}
|
|
|
- _Static_assert(std::is_same<min10float, __decltype(min10floats += min16uints)>::value, ""); // expected-warning {{min10float is promoted to min16float}}
|
|
|
- _Static_assert(std::is_same<min16int, __decltype(min16ints += bools)>::value, "");
|
|
|
+ _Static_assert(std::is_same<min10float, __decltype(min10floats += bools)>::value, ""); _Static_assert(std::is_same<min10float, __decltype(min10floats += ints)>::value, ""); _Static_assert(std::is_same<min10float, __decltype(min10floats += uints)>::value, ""); _Static_assert(std::is_same<min10float, __decltype(min10floats += halfs)>::value, ""); _Static_assert(std::is_same<min10float, __decltype(min10floats += floats)>::value, ""); _Static_assert(std::is_same<min10float, __decltype(min10floats += doubles)>::value, ""); _Static_assert(std::is_same<min10float, __decltype(min10floats += min16floats)>::value, ""); _Static_assert(std::is_same<min10float, __decltype(min10floats += min10floats)>::value, ""); _Static_assert(std::is_same<min10float, __decltype(min10floats += min16ints)>::value, ""); _Static_assert(std::is_same<min10float, __decltype(min10floats += min12ints)>::value, ""); _Static_assert(std::is_same<min10float, __decltype(min10floats += min16uints)>::value, ""); _Static_assert(std::is_same<min16int, __decltype(min16ints += bools)>::value, "");
|
|
|
_Static_assert(std::is_same<min16int, __decltype(min16ints += ints)>::value, "");
|
|
|
_Static_assert(std::is_same<min16int, __decltype(min16ints += uints)>::value, "");
|
|
|
_Static_assert(std::is_same<min16int, __decltype(min16ints += halfs)>::value, "");
|
|
@@ -266,18 +231,7 @@ float4 plain(float4 param4 /* : FOO */) /*: FOO */{
|
|
|
_Static_assert(std::is_same<min16int, __decltype(min16ints += min16ints)>::value, "");
|
|
|
_Static_assert(std::is_same<min16int, __decltype(min16ints += min12ints)>::value, "");
|
|
|
_Static_assert(std::is_same<min16int, __decltype(min16ints += min16uints)>::value, "");
|
|
|
- _Static_assert(std::is_same<min12int, __decltype(min12ints += bools)>::value, ""); // expected-warning {{min12int is promoted to min16int}}
|
|
|
- _Static_assert(std::is_same<min12int, __decltype(min12ints += ints)>::value, ""); // expected-warning {{min12int is promoted to min16int}}
|
|
|
- _Static_assert(std::is_same<min12int, __decltype(min12ints += uints)>::value, ""); // expected-warning {{min12int is promoted to min16int}}
|
|
|
- _Static_assert(std::is_same<min12int, __decltype(min12ints += halfs)>::value, ""); // expected-warning {{min12int is promoted to min16int}}
|
|
|
- _Static_assert(std::is_same<min12int, __decltype(min12ints += floats)>::value, ""); // expected-warning {{min12int is promoted to min16int}}
|
|
|
- _Static_assert(std::is_same<min12int, __decltype(min12ints += doubles)>::value, ""); // expected-warning {{min12int is promoted to min16int}}
|
|
|
- _Static_assert(std::is_same<min12int, __decltype(min12ints += min16floats)>::value, ""); // expected-warning {{min12int is promoted to min16int}}
|
|
|
- _Static_assert(std::is_same<min12int, __decltype(min12ints += min10floats)>::value, ""); // expected-warning {{min12int is promoted to min16int}}
|
|
|
- _Static_assert(std::is_same<min12int, __decltype(min12ints += min16ints)>::value, ""); // expected-warning {{min12int is promoted to min16int}}
|
|
|
- _Static_assert(std::is_same<min12int, __decltype(min12ints += min12ints)>::value, ""); // expected-warning {{min12int is promoted to min16int}}
|
|
|
- _Static_assert(std::is_same<min12int, __decltype(min12ints += min16uints)>::value, ""); // expected-warning {{min12int is promoted to min16int}}
|
|
|
- _Static_assert(std::is_same<min16uint, __decltype(min16uints += bools)>::value, "");
|
|
|
+ _Static_assert(std::is_same<min12int, __decltype(min12ints += bools)>::value, ""); _Static_assert(std::is_same<min12int, __decltype(min12ints += ints)>::value, ""); _Static_assert(std::is_same<min12int, __decltype(min12ints += uints)>::value, ""); _Static_assert(std::is_same<min12int, __decltype(min12ints += halfs)>::value, ""); _Static_assert(std::is_same<min12int, __decltype(min12ints += floats)>::value, ""); _Static_assert(std::is_same<min12int, __decltype(min12ints += doubles)>::value, ""); _Static_assert(std::is_same<min12int, __decltype(min12ints += min16floats)>::value, ""); _Static_assert(std::is_same<min12int, __decltype(min12ints += min10floats)>::value, ""); _Static_assert(std::is_same<min12int, __decltype(min12ints += min16ints)>::value, ""); _Static_assert(std::is_same<min12int, __decltype(min12ints += min12ints)>::value, ""); _Static_assert(std::is_same<min12int, __decltype(min12ints += min16uints)>::value, ""); _Static_assert(std::is_same<min16uint, __decltype(min16uints += bools)>::value, "");
|
|
|
_Static_assert(std::is_same<min16uint, __decltype(min16uints += ints)>::value, "");
|
|
|
_Static_assert(std::is_same<min16uint, __decltype(min16uints += uints)>::value, "");
|
|
|
_Static_assert(std::is_same<min16uint, __decltype(min16uints += halfs)>::value, "");
|
|
@@ -365,18 +319,7 @@ float4 plain(float4 param4 /* : FOO */) /*: FOO */{
|
|
|
_Static_assert(std::is_same<min16float, __decltype(min16floats -= min16ints)>::value, "");
|
|
|
_Static_assert(std::is_same<min16float, __decltype(min16floats -= min12ints)>::value, "");
|
|
|
_Static_assert(std::is_same<min16float, __decltype(min16floats -= min16uints)>::value, "");
|
|
|
- _Static_assert(std::is_same<min10float, __decltype(min10floats -= bools)>::value, ""); // expected-warning {{min10float is promoted to min16float}}
|
|
|
- _Static_assert(std::is_same<min10float, __decltype(min10floats -= ints)>::value, ""); // expected-warning {{min10float is promoted to min16float}}
|
|
|
- _Static_assert(std::is_same<min10float, __decltype(min10floats -= uints)>::value, ""); // expected-warning {{min10float is promoted to min16float}}
|
|
|
- _Static_assert(std::is_same<min10float, __decltype(min10floats -= halfs)>::value, ""); // expected-warning {{min10float is promoted to min16float}}
|
|
|
- _Static_assert(std::is_same<min10float, __decltype(min10floats -= floats)>::value, ""); // expected-warning {{min10float is promoted to min16float}}
|
|
|
- _Static_assert(std::is_same<min10float, __decltype(min10floats -= doubles)>::value, ""); // expected-warning {{min10float is promoted to min16float}}
|
|
|
- _Static_assert(std::is_same<min10float, __decltype(min10floats -= min16floats)>::value, ""); // expected-warning {{min10float is promoted to min16float}}
|
|
|
- _Static_assert(std::is_same<min10float, __decltype(min10floats -= min10floats)>::value, ""); // expected-warning {{min10float is promoted to min16float}}
|
|
|
- _Static_assert(std::is_same<min10float, __decltype(min10floats -= min16ints)>::value, ""); // expected-warning {{min10float is promoted to min16float}}
|
|
|
- _Static_assert(std::is_same<min10float, __decltype(min10floats -= min12ints)>::value, ""); // expected-warning {{min10float is promoted to min16float}}
|
|
|
- _Static_assert(std::is_same<min10float, __decltype(min10floats -= min16uints)>::value, ""); // expected-warning {{min10float is promoted to min16float}}
|
|
|
- _Static_assert(std::is_same<min16int, __decltype(min16ints -= bools)>::value, "");
|
|
|
+ _Static_assert(std::is_same<min10float, __decltype(min10floats -= bools)>::value, ""); _Static_assert(std::is_same<min10float, __decltype(min10floats -= ints)>::value, ""); _Static_assert(std::is_same<min10float, __decltype(min10floats -= uints)>::value, ""); _Static_assert(std::is_same<min10float, __decltype(min10floats -= halfs)>::value, ""); _Static_assert(std::is_same<min10float, __decltype(min10floats -= floats)>::value, ""); _Static_assert(std::is_same<min10float, __decltype(min10floats -= doubles)>::value, ""); _Static_assert(std::is_same<min10float, __decltype(min10floats -= min16floats)>::value, ""); _Static_assert(std::is_same<min10float, __decltype(min10floats -= min10floats)>::value, ""); _Static_assert(std::is_same<min10float, __decltype(min10floats -= min16ints)>::value, ""); _Static_assert(std::is_same<min10float, __decltype(min10floats -= min12ints)>::value, ""); _Static_assert(std::is_same<min10float, __decltype(min10floats -= min16uints)>::value, ""); _Static_assert(std::is_same<min16int, __decltype(min16ints -= bools)>::value, "");
|
|
|
_Static_assert(std::is_same<min16int, __decltype(min16ints -= ints)>::value, "");
|
|
|
_Static_assert(std::is_same<min16int, __decltype(min16ints -= uints)>::value, "");
|
|
|
_Static_assert(std::is_same<min16int, __decltype(min16ints -= halfs)>::value, "");
|
|
@@ -387,18 +330,7 @@ float4 plain(float4 param4 /* : FOO */) /*: FOO */{
|
|
|
_Static_assert(std::is_same<min16int, __decltype(min16ints -= min16ints)>::value, "");
|
|
|
_Static_assert(std::is_same<min16int, __decltype(min16ints -= min12ints)>::value, "");
|
|
|
_Static_assert(std::is_same<min16int, __decltype(min16ints -= min16uints)>::value, "");
|
|
|
- _Static_assert(std::is_same<min12int, __decltype(min12ints -= bools)>::value, ""); // expected-warning {{min12int is promoted to min16int}}
|
|
|
- _Static_assert(std::is_same<min12int, __decltype(min12ints -= ints)>::value, ""); // expected-warning {{min12int is promoted to min16int}}
|
|
|
- _Static_assert(std::is_same<min12int, __decltype(min12ints -= uints)>::value, ""); // expected-warning {{min12int is promoted to min16int}}
|
|
|
- _Static_assert(std::is_same<min12int, __decltype(min12ints -= halfs)>::value, ""); // expected-warning {{min12int is promoted to min16int}}
|
|
|
- _Static_assert(std::is_same<min12int, __decltype(min12ints -= floats)>::value, ""); // expected-warning {{min12int is promoted to min16int}}
|
|
|
- _Static_assert(std::is_same<min12int, __decltype(min12ints -= doubles)>::value, ""); // expected-warning {{min12int is promoted to min16int}}
|
|
|
- _Static_assert(std::is_same<min12int, __decltype(min12ints -= min16floats)>::value, ""); // expected-warning {{min12int is promoted to min16int}}
|
|
|
- _Static_assert(std::is_same<min12int, __decltype(min12ints -= min10floats)>::value, ""); // expected-warning {{min12int is promoted to min16int}}
|
|
|
- _Static_assert(std::is_same<min12int, __decltype(min12ints -= min16ints)>::value, ""); // expected-warning {{min12int is promoted to min16int}}
|
|
|
- _Static_assert(std::is_same<min12int, __decltype(min12ints -= min12ints)>::value, ""); // expected-warning {{min12int is promoted to min16int}}
|
|
|
- _Static_assert(std::is_same<min12int, __decltype(min12ints -= min16uints)>::value, ""); // expected-warning {{min12int is promoted to min16int}}
|
|
|
- _Static_assert(std::is_same<min16uint, __decltype(min16uints -= bools)>::value, "");
|
|
|
+ _Static_assert(std::is_same<min12int, __decltype(min12ints -= bools)>::value, ""); _Static_assert(std::is_same<min12int, __decltype(min12ints -= ints)>::value, ""); _Static_assert(std::is_same<min12int, __decltype(min12ints -= uints)>::value, ""); _Static_assert(std::is_same<min12int, __decltype(min12ints -= halfs)>::value, ""); _Static_assert(std::is_same<min12int, __decltype(min12ints -= floats)>::value, ""); _Static_assert(std::is_same<min12int, __decltype(min12ints -= doubles)>::value, ""); _Static_assert(std::is_same<min12int, __decltype(min12ints -= min16floats)>::value, ""); _Static_assert(std::is_same<min12int, __decltype(min12ints -= min10floats)>::value, ""); _Static_assert(std::is_same<min12int, __decltype(min12ints -= min16ints)>::value, ""); _Static_assert(std::is_same<min12int, __decltype(min12ints -= min12ints)>::value, ""); _Static_assert(std::is_same<min12int, __decltype(min12ints -= min16uints)>::value, ""); _Static_assert(std::is_same<min16uint, __decltype(min16uints -= bools)>::value, "");
|
|
|
_Static_assert(std::is_same<min16uint, __decltype(min16uints -= ints)>::value, "");
|
|
|
_Static_assert(std::is_same<min16uint, __decltype(min16uints -= uints)>::value, "");
|
|
|
_Static_assert(std::is_same<min16uint, __decltype(min16uints -= halfs)>::value, "");
|
|
@@ -486,18 +418,7 @@ float4 plain(float4 param4 /* : FOO */) /*: FOO */{
|
|
|
_Static_assert(std::is_same<min16float, __decltype(min16floats /= min16ints)>::value, "");
|
|
|
_Static_assert(std::is_same<min16float, __decltype(min16floats /= min12ints)>::value, "");
|
|
|
_Static_assert(std::is_same<min16float, __decltype(min16floats /= min16uints)>::value, "");
|
|
|
- _Static_assert(std::is_same<min10float, __decltype(min10floats /= bools)>::value, ""); // expected-warning {{min10float is promoted to min16float}}
|
|
|
- _Static_assert(std::is_same<min10float, __decltype(min10floats /= ints)>::value, ""); // expected-warning {{min10float is promoted to min16float}}
|
|
|
- _Static_assert(std::is_same<min10float, __decltype(min10floats /= uints)>::value, ""); // expected-warning {{min10float is promoted to min16float}}
|
|
|
- _Static_assert(std::is_same<min10float, __decltype(min10floats /= halfs)>::value, ""); // expected-warning {{min10float is promoted to min16float}}
|
|
|
- _Static_assert(std::is_same<min10float, __decltype(min10floats /= floats)>::value, ""); // expected-warning {{min10float is promoted to min16float}}
|
|
|
- _Static_assert(std::is_same<min10float, __decltype(min10floats /= doubles)>::value, ""); // expected-warning {{min10float is promoted to min16float}}
|
|
|
- _Static_assert(std::is_same<min10float, __decltype(min10floats /= min16floats)>::value, ""); // expected-warning {{min10float is promoted to min16float}}
|
|
|
- _Static_assert(std::is_same<min10float, __decltype(min10floats /= min10floats)>::value, ""); // expected-warning {{min10float is promoted to min16float}}
|
|
|
- _Static_assert(std::is_same<min10float, __decltype(min10floats /= min16ints)>::value, ""); // expected-warning {{min10float is promoted to min16float}}
|
|
|
- _Static_assert(std::is_same<min10float, __decltype(min10floats /= min12ints)>::value, ""); // expected-warning {{min10float is promoted to min16float}}
|
|
|
- _Static_assert(std::is_same<min10float, __decltype(min10floats /= min16uints)>::value, ""); // expected-warning {{min10float is promoted to min16float}}
|
|
|
- (min16ints /= bools); // expected-error {{signed integer division is not supported on minimum-precision types, cast to int to use 32-bit division}} fxc-pass {{}}
|
|
|
+ _Static_assert(std::is_same<min10float, __decltype(min10floats /= bools)>::value, ""); _Static_assert(std::is_same<min10float, __decltype(min10floats /= ints)>::value, ""); _Static_assert(std::is_same<min10float, __decltype(min10floats /= uints)>::value, ""); _Static_assert(std::is_same<min10float, __decltype(min10floats /= halfs)>::value, ""); _Static_assert(std::is_same<min10float, __decltype(min10floats /= floats)>::value, ""); _Static_assert(std::is_same<min10float, __decltype(min10floats /= doubles)>::value, ""); _Static_assert(std::is_same<min10float, __decltype(min10floats /= min16floats)>::value, ""); _Static_assert(std::is_same<min10float, __decltype(min10floats /= min10floats)>::value, ""); _Static_assert(std::is_same<min10float, __decltype(min10floats /= min16ints)>::value, ""); _Static_assert(std::is_same<min10float, __decltype(min10floats /= min12ints)>::value, ""); _Static_assert(std::is_same<min10float, __decltype(min10floats /= min16uints)>::value, ""); (min16ints /= bools); // expected-error {{signed integer division is not supported on minimum-precision types, cast to int to use 32-bit division}} fxc-pass {{}}
|
|
|
_Static_assert(std::is_same<min16int, __decltype(min16ints /= ints)>::value, "");
|
|
|
_Static_assert(std::is_same<min16int, __decltype(min16ints /= uints)>::value, "");
|
|
|
_Static_assert(std::is_same<min16int, __decltype(min16ints /= halfs)>::value, "");
|
|
@@ -509,17 +430,9 @@ float4 plain(float4 param4 /* : FOO */) /*: FOO */{
|
|
|
(min16ints /= min12ints); // expected-error {{signed integer division is not supported on minimum-precision types, cast to int to use 32-bit division}} fxc-pass {{}}
|
|
|
_Static_assert(std::is_same<min16int, __decltype(min16ints /= min16uints)>::value, "");
|
|
|
(min12ints /= bools); // expected-error {{signed integer division is not supported on minimum-precision types, cast to int to use 32-bit division}} fxc-pass {{}}
|
|
|
- _Static_assert(std::is_same<min12int, __decltype(min12ints /= ints)>::value, ""); // expected-warning {{min12int is promoted to min16int}}
|
|
|
- _Static_assert(std::is_same<min12int, __decltype(min12ints /= uints)>::value, ""); // expected-warning {{min12int is promoted to min16int}}
|
|
|
- _Static_assert(std::is_same<min12int, __decltype(min12ints /= halfs)>::value, ""); // expected-warning {{min12int is promoted to min16int}}
|
|
|
- _Static_assert(std::is_same<min12int, __decltype(min12ints /= floats)>::value, ""); // expected-warning {{min12int is promoted to min16int}}
|
|
|
- _Static_assert(std::is_same<min12int, __decltype(min12ints /= doubles)>::value, ""); // expected-warning {{min12int is promoted to min16int}}
|
|
|
- _Static_assert(std::is_same<min12int, __decltype(min12ints /= min16floats)>::value, ""); // expected-warning {{min12int is promoted to min16int}}
|
|
|
- _Static_assert(std::is_same<min12int, __decltype(min12ints /= min10floats)>::value, ""); // expected-warning {{min12int is promoted to min16int}}
|
|
|
- (min12ints /= min16ints); // expected-error {{signed integer division is not supported on minimum-precision types, cast to int to use 32-bit division}} fxc-warning {{X3205: conversion from larger type to smaller, possible loss of data}}
|
|
|
+ _Static_assert(std::is_same<min12int, __decltype(min12ints /= ints)>::value, ""); _Static_assert(std::is_same<min12int, __decltype(min12ints /= uints)>::value, ""); _Static_assert(std::is_same<min12int, __decltype(min12ints /= halfs)>::value, ""); _Static_assert(std::is_same<min12int, __decltype(min12ints /= floats)>::value, ""); _Static_assert(std::is_same<min12int, __decltype(min12ints /= doubles)>::value, ""); _Static_assert(std::is_same<min12int, __decltype(min12ints /= min16floats)>::value, ""); _Static_assert(std::is_same<min12int, __decltype(min12ints /= min10floats)>::value, ""); (min12ints /= min16ints); // expected-error {{signed integer division is not supported on minimum-precision types, cast to int to use 32-bit division}} fxc-warning {{X3205: conversion from larger type to smaller, possible loss of data}}
|
|
|
(min12ints /= min12ints); // expected-error {{signed integer division is not supported on minimum-precision types, cast to int to use 32-bit division}} fxc-pass {{}}
|
|
|
- _Static_assert(std::is_same<min12int, __decltype(min12ints /= min16uints)>::value, ""); // expected-warning {{min12int is promoted to min16int}}
|
|
|
- _Static_assert(std::is_same<min16uint, __decltype(min16uints /= bools)>::value, "");
|
|
|
+ _Static_assert(std::is_same<min12int, __decltype(min12ints /= min16uints)>::value, ""); _Static_assert(std::is_same<min16uint, __decltype(min16uints /= bools)>::value, "");
|
|
|
_Static_assert(std::is_same<min16uint, __decltype(min16uints /= ints)>::value, "");
|
|
|
_Static_assert(std::is_same<min16uint, __decltype(min16uints /= uints)>::value, "");
|
|
|
_Static_assert(std::is_same<min16uint, __decltype(min16uints /= halfs)>::value, "");
|
|
@@ -607,18 +520,8 @@ float4 plain(float4 param4 /* : FOO */) /*: FOO */{
|
|
|
_Static_assert(std::is_same<min16float, __decltype(min16floats %= min16ints)>::value, "");
|
|
|
_Static_assert(std::is_same<min16float, __decltype(min16floats %= min12ints)>::value, "");
|
|
|
_Static_assert(std::is_same<min16float, __decltype(min16floats %= min16uints)>::value, "");
|
|
|
- _Static_assert(std::is_same<min10float, __decltype(min10floats %= bools)>::value, ""); // expected-warning {{min10float is promoted to min16float}}
|
|
|
- _Static_assert(std::is_same<min10float, __decltype(min10floats %= ints)>::value, ""); // expected-warning {{min10float is promoted to min16float}}
|
|
|
- _Static_assert(std::is_same<min10float, __decltype(min10floats %= uints)>::value, ""); // expected-warning {{min10float is promoted to min16float}}
|
|
|
- _Static_assert(std::is_same<min10float, __decltype(min10floats %= halfs)>::value, ""); // expected-warning {{min10float is promoted to min16float}}
|
|
|
- _Static_assert(std::is_same<min10float, __decltype(min10floats %= floats)>::value, ""); // expected-warning {{min10float is promoted to min16float}}
|
|
|
- (min10floats %= doubles); // expected-error {{modulo cannot be used with doubles, cast to float first}} fxc-warning {{X3205: conversion from larger type to smaller, possible loss of data}}
|
|
|
- _Static_assert(std::is_same<min10float, __decltype(min10floats %= min16floats)>::value, ""); // expected-warning {{min10float is promoted to min16float}}
|
|
|
- _Static_assert(std::is_same<min10float, __decltype(min10floats %= min10floats)>::value, ""); // expected-warning {{min10float is promoted to min16float}}
|
|
|
- _Static_assert(std::is_same<min10float, __decltype(min10floats %= min16ints)>::value, ""); // expected-warning {{min10float is promoted to min16float}}
|
|
|
- _Static_assert(std::is_same<min10float, __decltype(min10floats %= min12ints)>::value, ""); // expected-warning {{min10float is promoted to min16float}}
|
|
|
- _Static_assert(std::is_same<min10float, __decltype(min10floats %= min16uints)>::value, ""); // expected-warning {{min10float is promoted to min16float}}
|
|
|
- (min16ints %= bools); // expected-error {{signed integer division is not supported on minimum-precision types, cast to int to use 32-bit division}} fxc-pass {{}}
|
|
|
+ _Static_assert(std::is_same<min10float, __decltype(min10floats %= bools)>::value, ""); _Static_assert(std::is_same<min10float, __decltype(min10floats %= ints)>::value, ""); _Static_assert(std::is_same<min10float, __decltype(min10floats %= uints)>::value, ""); _Static_assert(std::is_same<min10float, __decltype(min10floats %= halfs)>::value, ""); _Static_assert(std::is_same<min10float, __decltype(min10floats %= floats)>::value, ""); (min10floats %= doubles); // expected-error {{modulo cannot be used with doubles, cast to float first}} fxc-warning {{X3205: conversion from larger type to smaller, possible loss of data}}
|
|
|
+ _Static_assert(std::is_same<min10float, __decltype(min10floats %= min16floats)>::value, ""); _Static_assert(std::is_same<min10float, __decltype(min10floats %= min10floats)>::value, ""); _Static_assert(std::is_same<min10float, __decltype(min10floats %= min16ints)>::value, ""); _Static_assert(std::is_same<min10float, __decltype(min10floats %= min12ints)>::value, ""); _Static_assert(std::is_same<min10float, __decltype(min10floats %= min16uints)>::value, ""); (min16ints %= bools); // expected-error {{signed integer division is not supported on minimum-precision types, cast to int to use 32-bit division}} fxc-pass {{}}
|
|
|
_Static_assert(std::is_same<min16int, __decltype(min16ints %= ints)>::value, "");
|
|
|
_Static_assert(std::is_same<min16int, __decltype(min16ints %= uints)>::value, "");
|
|
|
_Static_assert(std::is_same<min16int, __decltype(min16ints %= halfs)>::value, "");
|
|
@@ -630,17 +533,10 @@ float4 plain(float4 param4 /* : FOO */) /*: FOO */{
|
|
|
(min16ints %= min12ints); // expected-error {{signed integer division is not supported on minimum-precision types, cast to int to use 32-bit division}} fxc-pass {{}}
|
|
|
_Static_assert(std::is_same<min16int, __decltype(min16ints %= min16uints)>::value, "");
|
|
|
(min12ints %= bools); // expected-error {{signed integer division is not supported on minimum-precision types, cast to int to use 32-bit division}} fxc-pass {{}}
|
|
|
- _Static_assert(std::is_same<min12int, __decltype(min12ints %= ints)>::value, ""); // expected-warning {{min12int is promoted to min16int}}
|
|
|
- _Static_assert(std::is_same<min12int, __decltype(min12ints %= uints)>::value, ""); // expected-warning {{min12int is promoted to min16int}}
|
|
|
- _Static_assert(std::is_same<min12int, __decltype(min12ints %= halfs)>::value, ""); // expected-warning {{min12int is promoted to min16int}}
|
|
|
- _Static_assert(std::is_same<min12int, __decltype(min12ints %= floats)>::value, ""); // expected-warning {{min12int is promoted to min16int}}
|
|
|
- (min12ints %= doubles); // expected-error {{modulo cannot be used with doubles, cast to float first}} fxc-warning {{X3205: conversion from larger type to smaller, possible loss of data}}
|
|
|
- _Static_assert(std::is_same<min12int, __decltype(min12ints %= min16floats)>::value, ""); // expected-warning {{min12int is promoted to min16int}}
|
|
|
- _Static_assert(std::is_same<min12int, __decltype(min12ints %= min10floats)>::value, ""); // expected-warning {{min12int is promoted to min16int}}
|
|
|
- (min12ints %= min16ints); // expected-error {{signed integer division is not supported on minimum-precision types, cast to int to use 32-bit division}} fxc-warning {{X3205: conversion from larger type to smaller, possible loss of data}}
|
|
|
+ _Static_assert(std::is_same<min12int, __decltype(min12ints %= ints)>::value, ""); _Static_assert(std::is_same<min12int, __decltype(min12ints %= uints)>::value, ""); _Static_assert(std::is_same<min12int, __decltype(min12ints %= halfs)>::value, ""); _Static_assert(std::is_same<min12int, __decltype(min12ints %= floats)>::value, ""); (min12ints %= doubles); // expected-error {{modulo cannot be used with doubles, cast to float first}} fxc-warning {{X3205: conversion from larger type to smaller, possible loss of data}}
|
|
|
+ _Static_assert(std::is_same<min12int, __decltype(min12ints %= min16floats)>::value, ""); _Static_assert(std::is_same<min12int, __decltype(min12ints %= min10floats)>::value, ""); (min12ints %= min16ints); // expected-error {{signed integer division is not supported on minimum-precision types, cast to int to use 32-bit division}} fxc-warning {{X3205: conversion from larger type to smaller, possible loss of data}}
|
|
|
(min12ints %= min12ints); // expected-error {{signed integer division is not supported on minimum-precision types, cast to int to use 32-bit division}} fxc-pass {{}}
|
|
|
- _Static_assert(std::is_same<min12int, __decltype(min12ints %= min16uints)>::value, ""); // expected-warning {{min12int is promoted to min16int}}
|
|
|
- _Static_assert(std::is_same<min16uint, __decltype(min16uints %= bools)>::value, "");
|
|
|
+ _Static_assert(std::is_same<min12int, __decltype(min12ints %= min16uints)>::value, ""); _Static_assert(std::is_same<min16uint, __decltype(min16uints %= bools)>::value, "");
|
|
|
_Static_assert(std::is_same<min16uint, __decltype(min16uints %= ints)>::value, "");
|
|
|
_Static_assert(std::is_same<min16uint, __decltype(min16uints %= uints)>::value, "");
|
|
|
_Static_assert(std::is_same<min16uint, __decltype(min16uints %= halfs)>::value, "");
|
|
@@ -750,18 +646,12 @@ float4 plain(float4 param4 /* : FOO */) /*: FOO */{
|
|
|
_Static_assert(std::is_same<min16int, __decltype(min16ints <<= min16ints)>::value, "");
|
|
|
_Static_assert(std::is_same<min16int, __decltype(min16ints <<= min12ints)>::value, "");
|
|
|
_Static_assert(std::is_same<min16int, __decltype(min16ints <<= min16uints)>::value, "");
|
|
|
- _Static_assert(std::is_same<min12int, __decltype(min12ints <<= bools)>::value, ""); // expected-warning {{min12int is promoted to min16int}}
|
|
|
- _Static_assert(std::is_same<min12int, __decltype(min12ints <<= ints)>::value, ""); // expected-warning {{min12int is promoted to min16int}}
|
|
|
- _Static_assert(std::is_same<min12int, __decltype(min12ints <<= uints)>::value, ""); // expected-warning {{min12int is promoted to min16int}}
|
|
|
- (min12ints <<= halfs); // expected-error {{int or unsigned int type required}} fxc-error {{X3082: int or unsigned int type required}}
|
|
|
+ _Static_assert(std::is_same<min12int, __decltype(min12ints <<= bools)>::value, ""); _Static_assert(std::is_same<min12int, __decltype(min12ints <<= ints)>::value, ""); _Static_assert(std::is_same<min12int, __decltype(min12ints <<= uints)>::value, ""); (min12ints <<= halfs); // expected-error {{int or unsigned int type required}} fxc-error {{X3082: int or unsigned int type required}}
|
|
|
(min12ints <<= floats); // expected-error {{int or unsigned int type required}} fxc-error {{X3082: int or unsigned int type required}}
|
|
|
(min12ints <<= doubles); // expected-error {{int or unsigned int type required}} fxc-error {{X3082: int or unsigned int type required}}
|
|
|
(min12ints <<= min16floats); // expected-error {{int or unsigned int type required}} fxc-error {{X3082: int or unsigned int type required}}
|
|
|
(min12ints <<= min10floats); // expected-error {{int or unsigned int type required}} fxc-error {{X3082: int or unsigned int type required}}
|
|
|
- _Static_assert(std::is_same<min12int, __decltype(min12ints <<= min16ints)>::value, ""); // expected-warning {{min12int is promoted to min16int}}
|
|
|
- _Static_assert(std::is_same<min12int, __decltype(min12ints <<= min12ints)>::value, ""); // expected-warning {{min12int is promoted to min16int}}
|
|
|
- _Static_assert(std::is_same<min12int, __decltype(min12ints <<= min16uints)>::value, ""); // expected-warning {{min12int is promoted to min16int}}
|
|
|
- _Static_assert(std::is_same<min16uint, __decltype(min16uints <<= bools)>::value, "");
|
|
|
+ _Static_assert(std::is_same<min12int, __decltype(min12ints <<= min16ints)>::value, ""); _Static_assert(std::is_same<min12int, __decltype(min12ints <<= min12ints)>::value, ""); _Static_assert(std::is_same<min12int, __decltype(min12ints <<= min16uints)>::value, ""); _Static_assert(std::is_same<min16uint, __decltype(min16uints <<= bools)>::value, "");
|
|
|
_Static_assert(std::is_same<min16uint, __decltype(min16uints <<= ints)>::value, "");
|
|
|
_Static_assert(std::is_same<min16uint, __decltype(min16uints <<= uints)>::value, "");
|
|
|
(min16uints <<= halfs); // expected-error {{int or unsigned int type required}} fxc-error {{X3082: int or unsigned int type required}}
|
|
@@ -871,18 +761,12 @@ float4 plain(float4 param4 /* : FOO */) /*: FOO */{
|
|
|
_Static_assert(std::is_same<min16int, __decltype(min16ints >>= min16ints)>::value, "");
|
|
|
_Static_assert(std::is_same<min16int, __decltype(min16ints >>= min12ints)>::value, "");
|
|
|
_Static_assert(std::is_same<min16int, __decltype(min16ints >>= min16uints)>::value, "");
|
|
|
- _Static_assert(std::is_same<min12int, __decltype(min12ints >>= bools)>::value, ""); // expected-warning {{min12int is promoted to min16int}}
|
|
|
- _Static_assert(std::is_same<min12int, __decltype(min12ints >>= ints)>::value, ""); // expected-warning {{min12int is promoted to min16int}}
|
|
|
- _Static_assert(std::is_same<min12int, __decltype(min12ints >>= uints)>::value, ""); // expected-warning {{min12int is promoted to min16int}}
|
|
|
- (min12ints >>= halfs); // expected-error {{int or unsigned int type required}} fxc-error {{X3082: int or unsigned int type required}}
|
|
|
+ _Static_assert(std::is_same<min12int, __decltype(min12ints >>= bools)>::value, ""); _Static_assert(std::is_same<min12int, __decltype(min12ints >>= ints)>::value, ""); _Static_assert(std::is_same<min12int, __decltype(min12ints >>= uints)>::value, ""); (min12ints >>= halfs); // expected-error {{int or unsigned int type required}} fxc-error {{X3082: int or unsigned int type required}}
|
|
|
(min12ints >>= floats); // expected-error {{int or unsigned int type required}} fxc-error {{X3082: int or unsigned int type required}}
|
|
|
(min12ints >>= doubles); // expected-error {{int or unsigned int type required}} fxc-error {{X3082: int or unsigned int type required}}
|
|
|
(min12ints >>= min16floats); // expected-error {{int or unsigned int type required}} fxc-error {{X3082: int or unsigned int type required}}
|
|
|
(min12ints >>= min10floats); // expected-error {{int or unsigned int type required}} fxc-error {{X3082: int or unsigned int type required}}
|
|
|
- _Static_assert(std::is_same<min12int, __decltype(min12ints >>= min16ints)>::value, ""); // expected-warning {{min12int is promoted to min16int}}
|
|
|
- _Static_assert(std::is_same<min12int, __decltype(min12ints >>= min12ints)>::value, ""); // expected-warning {{min12int is promoted to min16int}}
|
|
|
- _Static_assert(std::is_same<min12int, __decltype(min12ints >>= min16uints)>::value, ""); // expected-warning {{min12int is promoted to min16int}}
|
|
|
- _Static_assert(std::is_same<min16uint, __decltype(min16uints >>= bools)>::value, "");
|
|
|
+ _Static_assert(std::is_same<min12int, __decltype(min12ints >>= min16ints)>::value, ""); _Static_assert(std::is_same<min12int, __decltype(min12ints >>= min12ints)>::value, ""); _Static_assert(std::is_same<min12int, __decltype(min12ints >>= min16uints)>::value, ""); _Static_assert(std::is_same<min16uint, __decltype(min16uints >>= bools)>::value, "");
|
|
|
_Static_assert(std::is_same<min16uint, __decltype(min16uints >>= ints)>::value, "");
|
|
|
_Static_assert(std::is_same<min16uint, __decltype(min16uints >>= uints)>::value, "");
|
|
|
(min16uints >>= halfs); // expected-error {{int or unsigned int type required}} fxc-error {{X3082: int or unsigned int type required}}
|
|
@@ -992,18 +876,12 @@ float4 plain(float4 param4 /* : FOO */) /*: FOO */{
|
|
|
_Static_assert(std::is_same<min16int, __decltype(min16ints &= min16ints)>::value, "");
|
|
|
_Static_assert(std::is_same<min16int, __decltype(min16ints &= min12ints)>::value, "");
|
|
|
_Static_assert(std::is_same<min16int, __decltype(min16ints &= min16uints)>::value, "");
|
|
|
- _Static_assert(std::is_same<min12int, __decltype(min12ints &= bools)>::value, ""); // expected-warning {{min12int is promoted to min16int}}
|
|
|
- _Static_assert(std::is_same<min12int, __decltype(min12ints &= ints)>::value, ""); // expected-warning {{min12int is promoted to min16int}}
|
|
|
- _Static_assert(std::is_same<min12int, __decltype(min12ints &= uints)>::value, ""); // expected-warning {{min12int is promoted to min16int}}
|
|
|
- (min12ints &= halfs); // expected-error {{int or unsigned int type required}} fxc-error {{X3082: int or unsigned int type required}}
|
|
|
+ _Static_assert(std::is_same<min12int, __decltype(min12ints &= bools)>::value, ""); _Static_assert(std::is_same<min12int, __decltype(min12ints &= ints)>::value, ""); _Static_assert(std::is_same<min12int, __decltype(min12ints &= uints)>::value, ""); (min12ints &= halfs); // expected-error {{int or unsigned int type required}} fxc-error {{X3082: int or unsigned int type required}}
|
|
|
(min12ints &= floats); // expected-error {{int or unsigned int type required}} fxc-error {{X3082: int or unsigned int type required}}
|
|
|
(min12ints &= doubles); // expected-error {{int or unsigned int type required}} fxc-error {{X3082: int or unsigned int type required}}
|
|
|
(min12ints &= min16floats); // expected-error {{int or unsigned int type required}} fxc-error {{X3082: int or unsigned int type required}}
|
|
|
(min12ints &= min10floats); // expected-error {{int or unsigned int type required}} fxc-error {{X3082: int or unsigned int type required}}
|
|
|
- _Static_assert(std::is_same<min12int, __decltype(min12ints &= min16ints)>::value, ""); // expected-warning {{min12int is promoted to min16int}}
|
|
|
- _Static_assert(std::is_same<min12int, __decltype(min12ints &= min12ints)>::value, ""); // expected-warning {{min12int is promoted to min16int}}
|
|
|
- _Static_assert(std::is_same<min12int, __decltype(min12ints &= min16uints)>::value, ""); // expected-warning {{min12int is promoted to min16int}}
|
|
|
- _Static_assert(std::is_same<min16uint, __decltype(min16uints &= bools)>::value, "");
|
|
|
+ _Static_assert(std::is_same<min12int, __decltype(min12ints &= min16ints)>::value, ""); _Static_assert(std::is_same<min12int, __decltype(min12ints &= min12ints)>::value, ""); _Static_assert(std::is_same<min12int, __decltype(min12ints &= min16uints)>::value, ""); _Static_assert(std::is_same<min16uint, __decltype(min16uints &= bools)>::value, "");
|
|
|
_Static_assert(std::is_same<min16uint, __decltype(min16uints &= ints)>::value, "");
|
|
|
_Static_assert(std::is_same<min16uint, __decltype(min16uints &= uints)>::value, "");
|
|
|
(min16uints &= halfs); // expected-error {{int or unsigned int type required}} fxc-error {{X3082: int or unsigned int type required}}
|
|
@@ -1113,18 +991,12 @@ float4 plain(float4 param4 /* : FOO */) /*: FOO */{
|
|
|
_Static_assert(std::is_same<min16int, __decltype(min16ints |= min16ints)>::value, "");
|
|
|
_Static_assert(std::is_same<min16int, __decltype(min16ints |= min12ints)>::value, "");
|
|
|
_Static_assert(std::is_same<min16int, __decltype(min16ints |= min16uints)>::value, "");
|
|
|
- _Static_assert(std::is_same<min12int, __decltype(min12ints |= bools)>::value, ""); // expected-warning {{min12int is promoted to min16int}}
|
|
|
- _Static_assert(std::is_same<min12int, __decltype(min12ints |= ints)>::value, ""); // expected-warning {{min12int is promoted to min16int}}
|
|
|
- _Static_assert(std::is_same<min12int, __decltype(min12ints |= uints)>::value, ""); // expected-warning {{min12int is promoted to min16int}}
|
|
|
- (min12ints |= halfs); // expected-error {{int or unsigned int type required}} fxc-error {{X3082: int or unsigned int type required}}
|
|
|
+ _Static_assert(std::is_same<min12int, __decltype(min12ints |= bools)>::value, ""); _Static_assert(std::is_same<min12int, __decltype(min12ints |= ints)>::value, ""); _Static_assert(std::is_same<min12int, __decltype(min12ints |= uints)>::value, ""); (min12ints |= halfs); // expected-error {{int or unsigned int type required}} fxc-error {{X3082: int or unsigned int type required}}
|
|
|
(min12ints |= floats); // expected-error {{int or unsigned int type required}} fxc-error {{X3082: int or unsigned int type required}}
|
|
|
(min12ints |= doubles); // expected-error {{int or unsigned int type required}} fxc-error {{X3082: int or unsigned int type required}}
|
|
|
(min12ints |= min16floats); // expected-error {{int or unsigned int type required}} fxc-error {{X3082: int or unsigned int type required}}
|
|
|
(min12ints |= min10floats); // expected-error {{int or unsigned int type required}} fxc-error {{X3082: int or unsigned int type required}}
|
|
|
- _Static_assert(std::is_same<min12int, __decltype(min12ints |= min16ints)>::value, ""); // expected-warning {{min12int is promoted to min16int}}
|
|
|
- _Static_assert(std::is_same<min12int, __decltype(min12ints |= min12ints)>::value, ""); // expected-warning {{min12int is promoted to min16int}}
|
|
|
- _Static_assert(std::is_same<min12int, __decltype(min12ints |= min16uints)>::value, ""); // expected-warning {{min12int is promoted to min16int}}
|
|
|
- _Static_assert(std::is_same<min16uint, __decltype(min16uints |= bools)>::value, "");
|
|
|
+ _Static_assert(std::is_same<min12int, __decltype(min12ints |= min16ints)>::value, ""); _Static_assert(std::is_same<min12int, __decltype(min12ints |= min12ints)>::value, ""); _Static_assert(std::is_same<min12int, __decltype(min12ints |= min16uints)>::value, ""); _Static_assert(std::is_same<min16uint, __decltype(min16uints |= bools)>::value, "");
|
|
|
_Static_assert(std::is_same<min16uint, __decltype(min16uints |= ints)>::value, "");
|
|
|
_Static_assert(std::is_same<min16uint, __decltype(min16uints |= uints)>::value, "");
|
|
|
(min16uints |= halfs); // expected-error {{int or unsigned int type required}} fxc-error {{X3082: int or unsigned int type required}}
|
|
@@ -1234,18 +1106,12 @@ float4 plain(float4 param4 /* : FOO */) /*: FOO */{
|
|
|
_Static_assert(std::is_same<min16int, __decltype(min16ints ^= min16ints)>::value, "");
|
|
|
_Static_assert(std::is_same<min16int, __decltype(min16ints ^= min12ints)>::value, "");
|
|
|
_Static_assert(std::is_same<min16int, __decltype(min16ints ^= min16uints)>::value, "");
|
|
|
- _Static_assert(std::is_same<min12int, __decltype(min12ints ^= bools)>::value, ""); // expected-warning {{min12int is promoted to min16int}}
|
|
|
- _Static_assert(std::is_same<min12int, __decltype(min12ints ^= ints)>::value, ""); // expected-warning {{min12int is promoted to min16int}}
|
|
|
- _Static_assert(std::is_same<min12int, __decltype(min12ints ^= uints)>::value, ""); // expected-warning {{min12int is promoted to min16int}}
|
|
|
- (min12ints ^= halfs); // expected-error {{int or unsigned int type required}} fxc-error {{X3082: int or unsigned int type required}}
|
|
|
+ _Static_assert(std::is_same<min12int, __decltype(min12ints ^= bools)>::value, ""); _Static_assert(std::is_same<min12int, __decltype(min12ints ^= ints)>::value, ""); _Static_assert(std::is_same<min12int, __decltype(min12ints ^= uints)>::value, ""); (min12ints ^= halfs); // expected-error {{int or unsigned int type required}} fxc-error {{X3082: int or unsigned int type required}}
|
|
|
(min12ints ^= floats); // expected-error {{int or unsigned int type required}} fxc-error {{X3082: int or unsigned int type required}}
|
|
|
(min12ints ^= doubles); // expected-error {{int or unsigned int type required}} fxc-error {{X3082: int or unsigned int type required}}
|
|
|
(min12ints ^= min16floats); // expected-error {{int or unsigned int type required}} fxc-error {{X3082: int or unsigned int type required}}
|
|
|
(min12ints ^= min10floats); // expected-error {{int or unsigned int type required}} fxc-error {{X3082: int or unsigned int type required}}
|
|
|
- _Static_assert(std::is_same<min12int, __decltype(min12ints ^= min16ints)>::value, ""); // expected-warning {{min12int is promoted to min16int}}
|
|
|
- _Static_assert(std::is_same<min12int, __decltype(min12ints ^= min12ints)>::value, ""); // expected-warning {{min12int is promoted to min16int}}
|
|
|
- _Static_assert(std::is_same<min12int, __decltype(min12ints ^= min16uints)>::value, ""); // expected-warning {{min12int is promoted to min16int}}
|
|
|
- _Static_assert(std::is_same<min16uint, __decltype(min16uints ^= bools)>::value, "");
|
|
|
+ _Static_assert(std::is_same<min12int, __decltype(min12ints ^= min16ints)>::value, ""); _Static_assert(std::is_same<min12int, __decltype(min12ints ^= min12ints)>::value, ""); _Static_assert(std::is_same<min12int, __decltype(min12ints ^= min16uints)>::value, ""); _Static_assert(std::is_same<min16uint, __decltype(min16uints ^= bools)>::value, "");
|
|
|
_Static_assert(std::is_same<min16uint, __decltype(min16uints ^= ints)>::value, "");
|
|
|
_Static_assert(std::is_same<min16uint, __decltype(min16uints ^= uints)>::value, "");
|
|
|
(min16uints ^= halfs); // expected-error {{int or unsigned int type required}} fxc-error {{X3082: int or unsigned int type required}}
|
|
@@ -1257,4 +1123,4 @@ float4 plain(float4 param4 /* : FOO */) /*: FOO */{
|
|
|
_Static_assert(std::is_same<min16uint, __decltype(min16uints ^= min12ints)>::value, "");
|
|
|
_Static_assert(std::is_same<min16uint, __decltype(min16uints ^= min16uints)>::value, "");
|
|
|
|
|
|
-}
|
|
|
+}
|