SPIRV-Tools/test/util
Steven Perron 581279dedd
[OPT] Zero-extend unsigned 16-bit integers when bitcasting (#5714)
The folding rule `BitCastScalarOrVector` was incorrectly handling
bitcasting to unsigned integers smaller than 32-bits. It was simply
copying the entire 32-bit word containing the integer. This conflicts with the
requirement in section 2.2.1 of the SPIR-V spec which states that
unsigned numeric types with a bit width less than 32-bits must have the
high-order bits set to 0.

This change include a refactor of the bit extension code to be able to
test it better, and to use it in multiple files.

Fixes https://github.com/microsoft/DirectXShaderCompiler/issues/6319.
2024-06-19 19:17:05 +02:00
..
bit_vector_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
bitutils_test.cpp [OPT] Zero-extend unsigned 16-bit integers when bitcasting (#5714) 2024-06-19 19:17:05 +02:00
CMakeLists.txt Revert "Optimize DefUseManager allocations (#4709)" (#4846) 2022-07-12 13:14:47 -06:00
hash_combine_test.cpp Optimize Type::HashValue (#4707) 2022-02-15 18:57:39 +00:00
ilist_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
small_vector_test.cpp Optimize Type::HashValue (#4707) 2022-02-15 18:57:39 +00:00