diff --git a/Test/baseResults/constantUnaryConversion.comp.out b/Test/baseResults/constantUnaryConversion.comp.out
new file mode 100644
index 0000000..de705e4
--- /dev/null
+++ b/Test/baseResults/constantUnaryConversion.comp.out
@@ -0,0 +1,645 @@
+constantUnaryConversion.comp
+Shader version: 450
+Requested GL_KHX_shader_explicit_arithmetic_types
+local_size = (1, 1, 1)
+0:? Sequence
+0:48  Function Definition: main( ( global void)
+0:48    Function Parameters: 
+0:?   Linker Objects
+0:?     'bool_init' ( const bool)
+0:?       true (const bool)
+0:?     'int8_t_init' ( const int8_t)
+0:?       -1 (const int)
+0:?     'int16_t_init' ( const int16_t)
+0:?       -2 (const int)
+0:?     'int32_t_init' ( const int)
+0:?       -3 (const int)
+0:?     'int64_t_init' ( const int64_t)
+0:?       -4 (const int64_t)
+0:?     'uint8_t_init' ( const uint8_t)
+0:?       1 (const int)
+0:?     'uint16_t_init' ( const uint16_t)
+0:?       2 (const int)
+0:?     'uint32_t_init' ( const uint)
+0:?       3 (const uint)
+0:?     'uint64_t_init' ( const uint64_t)
+0:?       4 (const uint64_t)
+0:?     'float16_t_init' ( const float16_t)
+0:?       42.000000
+0:?     'float32_t_init' ( const float)
+0:?       13.000000
+0:?     'float64_t_init' ( const double)
+0:?       -4.000000
+0:?     'bool_to_bool' ( const bool)
+0:?       true (const bool)
+0:?     'int8_t_to_bool' ( const bool)
+0:?       -1 (const int)
+0:?     'int16_t_to_bool' ( const bool)
+0:?       -2 (const int)
+0:?     'int32_t_to_bool' ( const bool)
+0:?       true (const bool)
+0:?     'int64_t_to_bool' ( const bool)
+0:?       true (const bool)
+0:?     'uint8_t_to_bool' ( const bool)
+0:?       1 (const int)
+0:?     'uint16_t_to_bool' ( const bool)
+0:?       2 (const int)
+0:?     'uint32_t_to_bool' ( const bool)
+0:?       true (const bool)
+0:?     'uint64_t_to_bool' ( const bool)
+0:?       true (const bool)
+0:?     'float16_t_to_bool' ( const bool)
+0:?       true (const bool)
+0:?     'float32_t_to_bool' ( const bool)
+0:?       true (const bool)
+0:?     'float64_t_to_bool' ( const bool)
+0:?       true (const bool)
+0:?     'bool_to_int8_t' ( const int8_t)
+0:?       true (const bool)
+0:?     'int8_t_to_int8_t' ( const int8_t)
+0:?       -1 (const int)
+0:?     'int16_t_to_int8_t' ( const int8_t)
+0:?       -2 (const int)
+0:?     'int32_t_to_int8_t' ( const int8_t)
+0:?       -3 (const int)
+0:?     'int64_t_to_int8_t' ( const int8_t)
+0:?       -4 (const int64_t)
+0:?     'uint8_t_to_int8_t' ( const int8_t)
+0:?       1 (const int)
+0:?     'uint16_t_to_int8_t' ( const int8_t)
+0:?       2 (const int)
+0:?     'uint32_t_to_int8_t' ( const int8_t)
+0:?       3 (const uint)
+0:?     'uint64_t_to_int8_t' ( const int8_t)
+0:?       4 (const uint64_t)
+0:?     'float16_t_to_int8_t' ( const int8_t)
+0:?       42.000000
+0:?     'float32_t_to_int8_t' ( const int8_t)
+0:?       13.000000
+0:?     'float64_t_to_int8_t' ( const int8_t)
+0:?       -4.000000
+0:?     'bool_to_int16_t' ( const int16_t)
+0:?       true (const bool)
+0:?     'int8_t_to_int16_t' ( const int16_t)
+0:?       -1 (const int)
+0:?     'int16_t_to_int16_t' ( const int16_t)
+0:?       -2 (const int)
+0:?     'int32_t_to_int16_t' ( const int16_t)
+0:?       -3 (const int)
+0:?     'int64_t_to_int16_t' ( const int16_t)
+0:?       -4 (const int64_t)
+0:?     'uint8_t_to_int16_t' ( const int16_t)
+0:?       1 (const int)
+0:?     'uint16_t_to_int16_t' ( const int16_t)
+0:?       2 (const int)
+0:?     'uint32_t_to_int16_t' ( const int16_t)
+0:?       3 (const uint)
+0:?     'uint64_t_to_int16_t' ( const int16_t)
+0:?       4 (const uint64_t)
+0:?     'float16_t_to_int16_t' ( const int16_t)
+0:?       42.000000
+0:?     'float32_t_to_int16_t' ( const int16_t)
+0:?       13.000000
+0:?     'float64_t_to_int16_t' ( const int16_t)
+0:?       -4.000000
+0:?     'bool_to_int32_t' ( const int)
+0:?       1 (const int)
+0:?     'int8_t_to_int32_t' ( const int)
+0:?       -1 (const int)
+0:?     'int16_t_to_int32_t' ( const int)
+0:?       -2 (const int)
+0:?     'int32_t_to_int32_t' ( const int)
+0:?       -3 (const int)
+0:?     'int64_t_to_int32_t' ( const int)
+0:?       -4 (const int)
+0:?     'uint8_t_to_int32_t' ( const int)
+0:?       1 (const int)
+0:?     'uint16_t_to_int32_t' ( const int)
+0:?       2 (const int)
+0:?     'uint32_t_to_int32_t' ( const int)
+0:?       3 (const int)
+0:?     'uint64_t_to_int32_t' ( const int)
+0:?       4 (const int)
+0:?     'float16_t_to_int32_t' ( const int)
+0:?       42 (const int)
+0:?     'float32_t_to_int32_t' ( const int)
+0:?       13 (const int)
+0:?     'float64_t_to_int32_t' ( const int)
+0:?       -4 (const int)
+0:?     'bool_to_int64_t' ( const int64_t)
+0:?       1 (const int64_t)
+0:?     'int8_t_to_int64_t' ( const int64_t)
+0:?       -1 (const int)
+0:?     'int16_t_to_int64_t' ( const int64_t)
+0:?       -2 (const int)
+0:?     'int32_t_to_int64_t' ( const int64_t)
+0:?       -3 (const int64_t)
+0:?     'int64_t_to_int64_t' ( const int64_t)
+0:?       -4 (const int64_t)
+0:?     'uint8_t_to_int64_t' ( const int64_t)
+0:?       1 (const int)
+0:?     'uint16_t_to_int64_t' ( const int64_t)
+0:?       2 (const int)
+0:?     'uint32_t_to_int64_t' ( const int64_t)
+0:?       3 (const int64_t)
+0:?     'uint64_t_to_int64_t' ( const int64_t)
+0:?       4 (const int64_t)
+0:?     'float16_t_to_int64_t' ( const int64_t)
+0:?       42 (const int64_t)
+0:?     'float32_t_to_int64_t' ( const int64_t)
+0:?       13 (const int64_t)
+0:?     'float64_t_to_int64_t' ( const int64_t)
+0:?       -4 (const int64_t)
+0:?     'bool_to_uint8_t' ( const uint8_t)
+0:?       true (const bool)
+0:?     'int8_t_to_uint8_t' ( const uint8_t)
+0:?       -1 (const int)
+0:?     'int16_t_to_uint8_t' ( const uint8_t)
+0:?       -2 (const int)
+0:?     'int32_t_to_uint8_t' ( const uint8_t)
+0:?       -3 (const int)
+0:?     'int64_t_to_uint8_t' ( const uint8_t)
+0:?       -4 (const int64_t)
+0:?     'uint8_t_to_uint8_t' ( const uint8_t)
+0:?       1 (const int)
+0:?     'uint16_t_to_uint8_t' ( const uint8_t)
+0:?       2 (const int)
+0:?     'uint32_t_to_uint8_t' ( const uint8_t)
+0:?       3 (const uint)
+0:?     'uint64_t_to_uint8_t' ( const uint8_t)
+0:?       4 (const uint64_t)
+0:?     'float16_t_to_uint8_t' ( const uint8_t)
+0:?       42.000000
+0:?     'float32_t_to_uint8_t' ( const uint8_t)
+0:?       13.000000
+0:?     'float64_t_to_uint8_t' ( const uint8_t)
+0:?       -4.000000
+0:?     'bool_to_uint16_t' ( const uint16_t)
+0:?       true (const bool)
+0:?     'int8_t_to_uint16_t' ( const uint16_t)
+0:?       -1 (const int)
+0:?     'int16_t_to_uint16_t' ( const uint16_t)
+0:?       -2 (const int)
+0:?     'int32_t_to_uint16_t' ( const uint16_t)
+0:?       -3 (const int)
+0:?     'int64_t_to_uint16_t' ( const uint16_t)
+0:?       -4 (const int64_t)
+0:?     'uint8_t_to_uint16_t' ( const uint16_t)
+0:?       1 (const int)
+0:?     'uint16_t_to_uint16_t' ( const uint16_t)
+0:?       2 (const int)
+0:?     'uint32_t_to_uint16_t' ( const uint16_t)
+0:?       3 (const uint)
+0:?     'uint64_t_to_uint16_t' ( const uint16_t)
+0:?       4 (const uint64_t)
+0:?     'float16_t_to_uint16_t' ( const uint16_t)
+0:?       42.000000
+0:?     'float32_t_to_uint16_t' ( const uint16_t)
+0:?       13.000000
+0:?     'float64_t_to_uint16_t' ( const uint16_t)
+0:?       -4.000000
+0:?     'bool_to_uint32_t' ( const uint)
+0:?       1 (const uint)
+0:?     'int8_t_to_uint32_t' ( const uint)
+0:?       -1 (const int)
+0:?     'int16_t_to_uint32_t' ( const uint)
+0:?       -2 (const int)
+0:?     'int32_t_to_uint32_t' ( const uint)
+0:?       4294967293 (const uint)
+0:?     'int64_t_to_uint32_t' ( const uint)
+0:?       4294967292 (const uint)
+0:?     'uint8_t_to_uint32_t' ( const uint)
+0:?       1 (const int)
+0:?     'uint16_t_to_uint32_t' ( const uint)
+0:?       2 (const int)
+0:?     'uint32_t_to_uint32_t' ( const uint)
+0:?       3 (const uint)
+0:?     'uint64_t_to_uint32_t' ( const uint)
+0:?       4 (const uint)
+0:?     'float16_t_to_uint32_t' ( const uint)
+0:?       42 (const uint)
+0:?     'float32_t_to_uint32_t' ( const uint)
+0:?       13 (const uint)
+0:?     'float64_t_to_uint32_t' ( const uint)
+0:?       4294967292 (const uint)
+0:?     'bool_to_uint64_t' ( const uint64_t)
+0:?       1 (const uint64_t)
+0:?     'int8_t_to_uint64_t' ( const uint64_t)
+0:?       -1 (const int)
+0:?     'int16_t_to_uint64_t' ( const uint64_t)
+0:?       -2 (const int)
+0:?     'int32_t_to_uint64_t' ( const uint64_t)
+0:?       18446744073709551613 (const uint64_t)
+0:?     'int64_t_to_uint64_t' ( const uint64_t)
+0:?       18446744073709551612 (const uint64_t)
+0:?     'uint8_t_to_uint64_t' ( const uint64_t)
+0:?       1 (const int)
+0:?     'uint16_t_to_uint64_t' ( const uint64_t)
+0:?       2 (const int)
+0:?     'uint32_t_to_uint64_t' ( const uint64_t)
+0:?       3 (const uint64_t)
+0:?     'uint64_t_to_uint64_t' ( const uint64_t)
+0:?       4 (const uint64_t)
+0:?     'float16_t_to_uint64_t' ( const uint64_t)
+0:?       42 (const uint64_t)
+0:?     'float32_t_to_uint64_t' ( const uint64_t)
+0:?       13 (const uint64_t)
+0:?     'float64_t_to_uint64_t' ( const uint64_t)
+0:?       18446744073709551612 (const uint64_t)
+0:?     'bool_to_float16_t' ( const float16_t)
+0:?       1.000000
+0:?     'int8_t_to_float16_t' ( const float16_t)
+0:?       -1 (const int)
+0:?     'int16_t_to_float16_t' ( const float16_t)
+0:?       -2 (const int)
+0:?     'int32_t_to_float16_t' ( const float16_t)
+0:?       -3.000000
+0:?     'int64_t_to_float16_t' ( const float16_t)
+0:?       -4.000000
+0:?     'uint8_t_to_float16_t' ( const float16_t)
+0:?       1 (const int)
+0:?     'uint16_t_to_float16_t' ( const float16_t)
+0:?       2 (const int)
+0:?     'uint32_t_to_float16_t' ( const float16_t)
+0:?       3.000000
+0:?     'uint64_t_to_float16_t' ( const float16_t)
+0:?       4.000000
+0:?     'float16_t_to_float16_t' ( const float16_t)
+0:?       42.000000
+0:?     'float32_t_to_float16_t' ( const float16_t)
+0:?       13.000000
+0:?     'float64_t_to_float16_t' ( const float16_t)
+0:?       -4.000000
+0:?     'bool_to_float32_t' ( const float)
+0:?       1.000000
+0:?     'int8_t_to_float32_t' ( const float)
+0:?       -1 (const int)
+0:?     'int16_t_to_float32_t' ( const float)
+0:?       -2 (const int)
+0:?     'int32_t_to_float32_t' ( const float)
+0:?       -3.000000
+0:?     'int64_t_to_float32_t' ( const float)
+0:?       -4.000000
+0:?     'uint8_t_to_float32_t' ( const float)
+0:?       1 (const int)
+0:?     'uint16_t_to_float32_t' ( const float)
+0:?       2 (const int)
+0:?     'uint32_t_to_float32_t' ( const float)
+0:?       3.000000
+0:?     'uint64_t_to_float32_t' ( const float)
+0:?       4.000000
+0:?     'float16_t_to_float32_t' ( const float)
+0:?       42.000000
+0:?     'float32_t_to_float32_t' ( const float)
+0:?       13.000000
+0:?     'float64_t_to_float32_t' ( const float)
+0:?       -4.000000
+0:?     'bool_to_float64_t' ( const double)
+0:?       1.000000
+0:?     'int8_t_to_float64_t' ( const double)
+0:?       -1 (const int)
+0:?     'int16_t_to_float64_t' ( const double)
+0:?       -2 (const int)
+0:?     'int32_t_to_float64_t' ( const double)
+0:?       -3.000000
+0:?     'int64_t_to_float64_t' ( const double)
+0:?       -4.000000
+0:?     'uint8_t_to_float64_t' ( const double)
+0:?       1 (const int)
+0:?     'uint16_t_to_float64_t' ( const double)
+0:?       2 (const int)
+0:?     'uint32_t_to_float64_t' ( const double)
+0:?       3.000000
+0:?     'uint64_t_to_float64_t' ( const double)
+0:?       4.000000
+0:?     'float16_t_to_float64_t' ( const double)
+0:?       42.000000
+0:?     'float32_t_to_float64_t' ( const double)
+0:?       13.000000
+0:?     'float64_t_to_float64_t' ( const double)
+0:?       -4.000000
+
+
+Linked compute stage:
+
+
+Shader version: 450
+Requested GL_KHX_shader_explicit_arithmetic_types
+local_size = (1, 1, 1)
+0:? Sequence
+0:48  Function Definition: main( ( global void)
+0:48    Function Parameters: 
+0:?   Linker Objects
+0:?     'bool_init' ( const bool)
+0:?       true (const bool)
+0:?     'int8_t_init' ( const int8_t)
+0:?       -1 (const int)
+0:?     'int16_t_init' ( const int16_t)
+0:?       -2 (const int)
+0:?     'int32_t_init' ( const int)
+0:?       -3 (const int)
+0:?     'int64_t_init' ( const int64_t)
+0:?       -4 (const int64_t)
+0:?     'uint8_t_init' ( const uint8_t)
+0:?       1 (const int)
+0:?     'uint16_t_init' ( const uint16_t)
+0:?       2 (const int)
+0:?     'uint32_t_init' ( const uint)
+0:?       3 (const uint)
+0:?     'uint64_t_init' ( const uint64_t)
+0:?       4 (const uint64_t)
+0:?     'float16_t_init' ( const float16_t)
+0:?       42.000000
+0:?     'float32_t_init' ( const float)
+0:?       13.000000
+0:?     'float64_t_init' ( const double)
+0:?       -4.000000
+0:?     'bool_to_bool' ( const bool)
+0:?       true (const bool)
+0:?     'int8_t_to_bool' ( const bool)
+0:?       -1 (const int)
+0:?     'int16_t_to_bool' ( const bool)
+0:?       -2 (const int)
+0:?     'int32_t_to_bool' ( const bool)
+0:?       true (const bool)
+0:?     'int64_t_to_bool' ( const bool)
+0:?       true (const bool)
+0:?     'uint8_t_to_bool' ( const bool)
+0:?       1 (const int)
+0:?     'uint16_t_to_bool' ( const bool)
+0:?       2 (const int)
+0:?     'uint32_t_to_bool' ( const bool)
+0:?       true (const bool)
+0:?     'uint64_t_to_bool' ( const bool)
+0:?       true (const bool)
+0:?     'float16_t_to_bool' ( const bool)
+0:?       true (const bool)
+0:?     'float32_t_to_bool' ( const bool)
+0:?       true (const bool)
+0:?     'float64_t_to_bool' ( const bool)
+0:?       true (const bool)
+0:?     'bool_to_int8_t' ( const int8_t)
+0:?       true (const bool)
+0:?     'int8_t_to_int8_t' ( const int8_t)
+0:?       -1 (const int)
+0:?     'int16_t_to_int8_t' ( const int8_t)
+0:?       -2 (const int)
+0:?     'int32_t_to_int8_t' ( const int8_t)
+0:?       -3 (const int)
+0:?     'int64_t_to_int8_t' ( const int8_t)
+0:?       -4 (const int64_t)
+0:?     'uint8_t_to_int8_t' ( const int8_t)
+0:?       1 (const int)
+0:?     'uint16_t_to_int8_t' ( const int8_t)
+0:?       2 (const int)
+0:?     'uint32_t_to_int8_t' ( const int8_t)
+0:?       3 (const uint)
+0:?     'uint64_t_to_int8_t' ( const int8_t)
+0:?       4 (const uint64_t)
+0:?     'float16_t_to_int8_t' ( const int8_t)
+0:?       42.000000
+0:?     'float32_t_to_int8_t' ( const int8_t)
+0:?       13.000000
+0:?     'float64_t_to_int8_t' ( const int8_t)
+0:?       -4.000000
+0:?     'bool_to_int16_t' ( const int16_t)
+0:?       true (const bool)
+0:?     'int8_t_to_int16_t' ( const int16_t)
+0:?       -1 (const int)
+0:?     'int16_t_to_int16_t' ( const int16_t)
+0:?       -2 (const int)
+0:?     'int32_t_to_int16_t' ( const int16_t)
+0:?       -3 (const int)
+0:?     'int64_t_to_int16_t' ( const int16_t)
+0:?       -4 (const int64_t)
+0:?     'uint8_t_to_int16_t' ( const int16_t)
+0:?       1 (const int)
+0:?     'uint16_t_to_int16_t' ( const int16_t)
+0:?       2 (const int)
+0:?     'uint32_t_to_int16_t' ( const int16_t)
+0:?       3 (const uint)
+0:?     'uint64_t_to_int16_t' ( const int16_t)
+0:?       4 (const uint64_t)
+0:?     'float16_t_to_int16_t' ( const int16_t)
+0:?       42.000000
+0:?     'float32_t_to_int16_t' ( const int16_t)
+0:?       13.000000
+0:?     'float64_t_to_int16_t' ( const int16_t)
+0:?       -4.000000
+0:?     'bool_to_int32_t' ( const int)
+0:?       1 (const int)
+0:?     'int8_t_to_int32_t' ( const int)
+0:?       -1 (const int)
+0:?     'int16_t_to_int32_t' ( const int)
+0:?       -2 (const int)
+0:?     'int32_t_to_int32_t' ( const int)
+0:?       -3 (const int)
+0:?     'int64_t_to_int32_t' ( const int)
+0:?       -4 (const int)
+0:?     'uint8_t_to_int32_t' ( const int)
+0:?       1 (const int)
+0:?     'uint16_t_to_int32_t' ( const int)
+0:?       2 (const int)
+0:?     'uint32_t_to_int32_t' ( const int)
+0:?       3 (const int)
+0:?     'uint64_t_to_int32_t' ( const int)
+0:?       4 (const int)
+0:?     'float16_t_to_int32_t' ( const int)
+0:?       42 (const int)
+0:?     'float32_t_to_int32_t' ( const int)
+0:?       13 (const int)
+0:?     'float64_t_to_int32_t' ( const int)
+0:?       -4 (const int)
+0:?     'bool_to_int64_t' ( const int64_t)
+0:?       1 (const int64_t)
+0:?     'int8_t_to_int64_t' ( const int64_t)
+0:?       -1 (const int)
+0:?     'int16_t_to_int64_t' ( const int64_t)
+0:?       -2 (const int)
+0:?     'int32_t_to_int64_t' ( const int64_t)
+0:?       -3 (const int64_t)
+0:?     'int64_t_to_int64_t' ( const int64_t)
+0:?       -4 (const int64_t)
+0:?     'uint8_t_to_int64_t' ( const int64_t)
+0:?       1 (const int)
+0:?     'uint16_t_to_int64_t' ( const int64_t)
+0:?       2 (const int)
+0:?     'uint32_t_to_int64_t' ( const int64_t)
+0:?       3 (const int64_t)
+0:?     'uint64_t_to_int64_t' ( const int64_t)
+0:?       4 (const int64_t)
+0:?     'float16_t_to_int64_t' ( const int64_t)
+0:?       42 (const int64_t)
+0:?     'float32_t_to_int64_t' ( const int64_t)
+0:?       13 (const int64_t)
+0:?     'float64_t_to_int64_t' ( const int64_t)
+0:?       -4 (const int64_t)
+0:?     'bool_to_uint8_t' ( const uint8_t)
+0:?       true (const bool)
+0:?     'int8_t_to_uint8_t' ( const uint8_t)
+0:?       -1 (const int)
+0:?     'int16_t_to_uint8_t' ( const uint8_t)
+0:?       -2 (const int)
+0:?     'int32_t_to_uint8_t' ( const uint8_t)
+0:?       -3 (const int)
+0:?     'int64_t_to_uint8_t' ( const uint8_t)
+0:?       -4 (const int64_t)
+0:?     'uint8_t_to_uint8_t' ( const uint8_t)
+0:?       1 (const int)
+0:?     'uint16_t_to_uint8_t' ( const uint8_t)
+0:?       2 (const int)
+0:?     'uint32_t_to_uint8_t' ( const uint8_t)
+0:?       3 (const uint)
+0:?     'uint64_t_to_uint8_t' ( const uint8_t)
+0:?       4 (const uint64_t)
+0:?     'float16_t_to_uint8_t' ( const uint8_t)
+0:?       42.000000
+0:?     'float32_t_to_uint8_t' ( const uint8_t)
+0:?       13.000000
+0:?     'float64_t_to_uint8_t' ( const uint8_t)
+0:?       -4.000000
+0:?     'bool_to_uint16_t' ( const uint16_t)
+0:?       true (const bool)
+0:?     'int8_t_to_uint16_t' ( const uint16_t)
+0:?       -1 (const int)
+0:?     'int16_t_to_uint16_t' ( const uint16_t)
+0:?       -2 (const int)
+0:?     'int32_t_to_uint16_t' ( const uint16_t)
+0:?       -3 (const int)
+0:?     'int64_t_to_uint16_t' ( const uint16_t)
+0:?       -4 (const int64_t)
+0:?     'uint8_t_to_uint16_t' ( const uint16_t)
+0:?       1 (const int)
+0:?     'uint16_t_to_uint16_t' ( const uint16_t)
+0:?       2 (const int)
+0:?     'uint32_t_to_uint16_t' ( const uint16_t)
+0:?       3 (const uint)
+0:?     'uint64_t_to_uint16_t' ( const uint16_t)
+0:?       4 (const uint64_t)
+0:?     'float16_t_to_uint16_t' ( const uint16_t)
+0:?       42.000000
+0:?     'float32_t_to_uint16_t' ( const uint16_t)
+0:?       13.000000
+0:?     'float64_t_to_uint16_t' ( const uint16_t)
+0:?       -4.000000
+0:?     'bool_to_uint32_t' ( const uint)
+0:?       1 (const uint)
+0:?     'int8_t_to_uint32_t' ( const uint)
+0:?       -1 (const int)
+0:?     'int16_t_to_uint32_t' ( const uint)
+0:?       -2 (const int)
+0:?     'int32_t_to_uint32_t' ( const uint)
+0:?       4294967293 (const uint)
+0:?     'int64_t_to_uint32_t' ( const uint)
+0:?       4294967292 (const uint)
+0:?     'uint8_t_to_uint32_t' ( const uint)
+0:?       1 (const int)
+0:?     'uint16_t_to_uint32_t' ( const uint)
+0:?       2 (const int)
+0:?     'uint32_t_to_uint32_t' ( const uint)
+0:?       3 (const uint)
+0:?     'uint64_t_to_uint32_t' ( const uint)
+0:?       4 (const uint)
+0:?     'float16_t_to_uint32_t' ( const uint)
+0:?       42 (const uint)
+0:?     'float32_t_to_uint32_t' ( const uint)
+0:?       13 (const uint)
+0:?     'float64_t_to_uint32_t' ( const uint)
+0:?       4294967292 (const uint)
+0:?     'bool_to_uint64_t' ( const uint64_t)
+0:?       1 (const uint64_t)
+0:?     'int8_t_to_uint64_t' ( const uint64_t)
+0:?       -1 (const int)
+0:?     'int16_t_to_uint64_t' ( const uint64_t)
+0:?       -2 (const int)
+0:?     'int32_t_to_uint64_t' ( const uint64_t)
+0:?       18446744073709551613 (const uint64_t)
+0:?     'int64_t_to_uint64_t' ( const uint64_t)
+0:?       18446744073709551612 (const uint64_t)
+0:?     'uint8_t_to_uint64_t' ( const uint64_t)
+0:?       1 (const int)
+0:?     'uint16_t_to_uint64_t' ( const uint64_t)
+0:?       2 (const int)
+0:?     'uint32_t_to_uint64_t' ( const uint64_t)
+0:?       3 (const uint64_t)
+0:?     'uint64_t_to_uint64_t' ( const uint64_t)
+0:?       4 (const uint64_t)
+0:?     'float16_t_to_uint64_t' ( const uint64_t)
+0:?       42 (const uint64_t)
+0:?     'float32_t_to_uint64_t' ( const uint64_t)
+0:?       13 (const uint64_t)
+0:?     'float64_t_to_uint64_t' ( const uint64_t)
+0:?       18446744073709551612 (const uint64_t)
+0:?     'bool_to_float16_t' ( const float16_t)
+0:?       1.000000
+0:?     'int8_t_to_float16_t' ( const float16_t)
+0:?       -1 (const int)
+0:?     'int16_t_to_float16_t' ( const float16_t)
+0:?       -2 (const int)
+0:?     'int32_t_to_float16_t' ( const float16_t)
+0:?       -3.000000
+0:?     'int64_t_to_float16_t' ( const float16_t)
+0:?       -4.000000
+0:?     'uint8_t_to_float16_t' ( const float16_t)
+0:?       1 (const int)
+0:?     'uint16_t_to_float16_t' ( const float16_t)
+0:?       2 (const int)
+0:?     'uint32_t_to_float16_t' ( const float16_t)
+0:?       3.000000
+0:?     'uint64_t_to_float16_t' ( const float16_t)
+0:?       4.000000
+0:?     'float16_t_to_float16_t' ( const float16_t)
+0:?       42.000000
+0:?     'float32_t_to_float16_t' ( const float16_t)
+0:?       13.000000
+0:?     'float64_t_to_float16_t' ( const float16_t)
+0:?       -4.000000
+0:?     'bool_to_float32_t' ( const float)
+0:?       1.000000
+0:?     'int8_t_to_float32_t' ( const float)
+0:?       -1 (const int)
+0:?     'int16_t_to_float32_t' ( const float)
+0:?       -2 (const int)
+0:?     'int32_t_to_float32_t' ( const float)
+0:?       -3.000000
+0:?     'int64_t_to_float32_t' ( const float)
+0:?       -4.000000
+0:?     'uint8_t_to_float32_t' ( const float)
+0:?       1 (const int)
+0:?     'uint16_t_to_float32_t' ( const float)
+0:?       2 (const int)
+0:?     'uint32_t_to_float32_t' ( const float)
+0:?       3.000000
+0:?     'uint64_t_to_float32_t' ( const float)
+0:?       4.000000
+0:?     'float16_t_to_float32_t' ( const float)
+0:?       42.000000
+0:?     'float32_t_to_float32_t' ( const float)
+0:?       13.000000
+0:?     'float64_t_to_float32_t' ( const float)
+0:?       -4.000000
+0:?     'bool_to_float64_t' ( const double)
+0:?       1.000000
+0:?     'int8_t_to_float64_t' ( const double)
+0:?       -1 (const int)
+0:?     'int16_t_to_float64_t' ( const double)
+0:?       -2 (const int)
+0:?     'int32_t_to_float64_t' ( const double)
+0:?       -3.000000
+0:?     'int64_t_to_float64_t' ( const double)
+0:?       -4.000000
+0:?     'uint8_t_to_float64_t' ( const double)
+0:?       1 (const int)
+0:?     'uint16_t_to_float64_t' ( const double)
+0:?       2 (const int)
+0:?     'uint32_t_to_float64_t' ( const double)
+0:?       3.000000
+0:?     'uint64_t_to_float64_t' ( const double)
+0:?       4.000000
+0:?     'float16_t_to_float64_t' ( const double)
+0:?       42.000000
+0:?     'float32_t_to_float64_t' ( const double)
+0:?       13.000000
+0:?     'float64_t_to_float64_t' ( const double)
+0:?       -4.000000
+
diff --git a/Test/baseResults/spv.16bitstorage-int.frag.out b/Test/baseResults/spv.16bitstorage-int.frag.out
index 1b2a16b..3f0fffd 100644
--- a/Test/baseResults/spv.16bitstorage-int.frag.out
+++ b/Test/baseResults/spv.16bitstorage-int.frag.out
@@ -1,7 +1,7 @@
 spv.16bitstorage-int.frag
 // Module Version 10000
 // Generated by (magic number): 80007
-// Id's are bound by 171
+// Id's are bound by 172
 
                               Capability Shader
                               Capability StorageUniformBufferBlock16
@@ -204,7 +204,10 @@
              114:     20(int) Constant 7
              115:     20(int) Constant 6
              116:             TypePointer Uniform 20(int)
-             166:   39(ivec2) ConstantComposite 32 33
+             166:  6(int16_t) Constant 1
+             167:  6(int16_t) Constant 2
+             168:  7(i16vec2) ConstantComposite 166 167
+             170:  6(int16_t) Constant 3
          4(main):           2 Function None 3
                5:             Label
           69(x0):     68(ptr) Variable Function
@@ -324,11 +327,9 @@
              164:  6(int16_t) Load 163
              165:     28(ptr) AccessChain 19(b2) 21
                               Store 165 164
-             167:  7(i16vec2) SConvert 166
-             168:     42(ptr) AccessChain 19(b2) 32
-                              Store 168 167
-             169:  6(int16_t) SConvert 58
-             170:     28(ptr) AccessChain 19(b2) 21
-                              Store 170 169
+             169:     42(ptr) AccessChain 19(b2) 32
+                              Store 169 168
+             171:     28(ptr) AccessChain 19(b2) 21
+                              Store 171 170
                               Return
                               FunctionEnd
diff --git a/Test/baseResults/spv.16bitstorage-uint.frag.out b/Test/baseResults/spv.16bitstorage-uint.frag.out
index f935f26..c07edaa 100644
--- a/Test/baseResults/spv.16bitstorage-uint.frag.out
+++ b/Test/baseResults/spv.16bitstorage-uint.frag.out
@@ -205,8 +205,10 @@
              115:     20(int) Constant 7
              116:     20(int) Constant 6
              117:             TypePointer Uniform 9(int)
-             167:   39(ivec2) ConstantComposite 82 10
-             170:      9(int) Constant 3
+             167:  6(int16_t) Constant 1
+             168:  6(int16_t) Constant 2
+             169:  7(i16vec2) ConstantComposite 167 168
+             171:  6(int16_t) Constant 3
          4(main):           2 Function None 3
                5:             Label
           69(x0):     68(ptr) Variable Function
@@ -326,10 +328,8 @@
              165:  6(int16_t) Load 164
              166:     28(ptr) AccessChain 19(b2) 21
                               Store 166 165
-             168:  7(i16vec2) UConvert 167
-             169:     42(ptr) AccessChain 19(b2) 32
-                              Store 169 168
-             171:  6(int16_t) UConvert 170
+             170:     42(ptr) AccessChain 19(b2) 32
+                              Store 170 169
              172:     28(ptr) AccessChain 19(b2) 21
                               Store 172 171
                               Return
diff --git a/Test/baseResults/spv.16bitstorage.frag.out b/Test/baseResults/spv.16bitstorage.frag.out
index d2a83ba..2d5487f 100644
--- a/Test/baseResults/spv.16bitstorage.frag.out
+++ b/Test/baseResults/spv.16bitstorage.frag.out
@@ -1,7 +1,7 @@
 spv.16bitstorage.frag
 // Module Version 10000
 // Generated by (magic number): 80007
-// Id's are bound by 173
+// Id's are bound by 172
 
                               Capability Shader
                               Capability StorageUniformBufferBlock16
@@ -204,9 +204,10 @@
              114:     20(int) Constant 7
              115:     20(int) Constant 6
              116:             TypePointer Uniform 20(int)
-             166:   37(float) Constant 1073741824
-             167:   40(fvec2) ConstantComposite 83 166
-             170:   37(float) Constant 1077936128
+             166:6(float16_t) Constant 15360
+             167:6(float16_t) Constant 16384
+             168:  7(f16vec2) ConstantComposite 166 167
+             170:6(float16_t) Constant 16896
          4(main):           2 Function None 3
                5:             Label
           70(x0):     69(ptr) Variable Function
@@ -326,11 +327,9 @@
              164:6(float16_t) Load 163
              165:     28(ptr) AccessChain 19(b2) 21
                               Store 165 164
-             168:  7(f16vec2) FConvert 167
              169:     43(ptr) AccessChain 19(b2) 32
                               Store 169 168
-             171:6(float16_t) FConvert 170
-             172:     28(ptr) AccessChain 19(b2) 21
-                              Store 172 171
+             171:     28(ptr) AccessChain 19(b2) 21
+                              Store 171 170
                               Return
                               FunctionEnd
diff --git a/Test/baseResults/spv.8bitstorage-int.frag.out b/Test/baseResults/spv.8bitstorage-int.frag.out
index 96cb2ae..a0af75a 100644
--- a/Test/baseResults/spv.8bitstorage-int.frag.out
+++ b/Test/baseResults/spv.8bitstorage-int.frag.out
@@ -1,7 +1,7 @@
 spv.8bitstorage-int.frag
 // Module Version 10000
 // Generated by (magic number): 80007
-// Id's are bound by 171
+// Id's are bound by 172
 
                               Capability Shader
                               Capability CapabilityUniformAndStorageBuffer8BitAccess
@@ -203,7 +203,10 @@
              114:     20(int) Constant 7
              115:     20(int) Constant 6
              116:             TypePointer Uniform 20(int)
-             166:   39(ivec2) ConstantComposite 32 33
+             166:   6(int8_t) Constant 1
+             167:   6(int8_t) Constant 2
+             168:   7(i8vec2) ConstantComposite 166 167
+             170:   6(int8_t) Constant 3
          4(main):           2 Function None 3
                5:             Label
           69(x0):     68(ptr) Variable Function
@@ -323,11 +326,9 @@
              164:   6(int8_t) Load 163
              165:     28(ptr) AccessChain 19(b2) 21
                               Store 165 164
-             167:   7(i8vec2) SConvert 166
-             168:     42(ptr) AccessChain 19(b2) 32
-                              Store 168 167
-             169:   6(int8_t) SConvert 58
-             170:     28(ptr) AccessChain 19(b2) 21
-                              Store 170 169
+             169:     42(ptr) AccessChain 19(b2) 32
+                              Store 169 168
+             171:     28(ptr) AccessChain 19(b2) 21
+                              Store 171 170
                               Return
                               FunctionEnd
diff --git a/Test/baseResults/spv.8bitstorage-uint.frag.out b/Test/baseResults/spv.8bitstorage-uint.frag.out
index 415bada..12c390a 100644
--- a/Test/baseResults/spv.8bitstorage-uint.frag.out
+++ b/Test/baseResults/spv.8bitstorage-uint.frag.out
@@ -204,8 +204,10 @@
              115:     20(int) Constant 7
              116:     20(int) Constant 6
              117:             TypePointer Uniform 9(int)
-             167:   39(ivec2) ConstantComposite 82 10
-             170:      9(int) Constant 3
+             167:   6(int8_t) Constant 1
+             168:   6(int8_t) Constant 2
+             169:   7(i8vec2) ConstantComposite 167 168
+             171:   6(int8_t) Constant 3
          4(main):           2 Function None 3
                5:             Label
           69(x0):     68(ptr) Variable Function
@@ -325,10 +327,8 @@
              165:   6(int8_t) Load 164
              166:     28(ptr) AccessChain 19(b2) 21
                               Store 166 165
-             168:   7(i8vec2) UConvert 167
-             169:     42(ptr) AccessChain 19(b2) 32
-                              Store 169 168
-             171:   6(int8_t) UConvert 170
+             170:     42(ptr) AccessChain 19(b2) 32
+                              Store 170 169
              172:     28(ptr) AccessChain 19(b2) 21
                               Store 172 171
                               Return
diff --git a/Test/constantUnaryConversion.comp b/Test/constantUnaryConversion.comp
new file mode 100644
index 0000000..467b6f6
--- /dev/null
+++ b/Test/constantUnaryConversion.comp
@@ -0,0 +1,48 @@
+#version 450
+
+#extension GL_KHX_shader_explicit_arithmetic_types : require
+
+const bool bool_init = true;
+const int8_t int8_t_init = int8_t(-1);
+const int16_t int16_t_init = int16_t(-2);
+const int32_t int32_t_init = int32_t(-3);
+const int64_t int64_t_init = int64_t(-4);
+const uint8_t uint8_t_init = uint8_t(1);
+const uint16_t uint16_t_init = uint16_t(2);
+const uint32_t uint32_t_init = uint32_t(3);
+const uint64_t uint64_t_init = uint64_t(4);
+const float16_t float16_t_init = float16_t(42.0);
+const float32_t float32_t_init = float32_t(13.0);
+const float64_t float64_t_init = float64_t(-4.0);
+
+#define TYPE_TO_TYPE(x, y) \
+    const x y##_to_##x = x(y##_init)
+
+#define TYPE_TO(x)              \
+    TYPE_TO_TYPE(x, bool);      \
+    TYPE_TO_TYPE(x, int8_t);    \
+    TYPE_TO_TYPE(x, int16_t);   \
+    TYPE_TO_TYPE(x, int32_t);   \
+    TYPE_TO_TYPE(x, int64_t);   \
+    TYPE_TO_TYPE(x, uint8_t);   \
+    TYPE_TO_TYPE(x, uint16_t);  \
+    TYPE_TO_TYPE(x, uint32_t);  \
+    TYPE_TO_TYPE(x, uint64_t);  \
+    TYPE_TO_TYPE(x, float16_t); \
+    TYPE_TO_TYPE(x, float32_t); \
+    TYPE_TO_TYPE(x, float64_t)
+
+TYPE_TO(bool);
+TYPE_TO(int8_t);
+TYPE_TO(int16_t);
+TYPE_TO(int32_t);
+TYPE_TO(int64_t);
+TYPE_TO(uint8_t);
+TYPE_TO(uint16_t);
+TYPE_TO(uint32_t);
+TYPE_TO(uint64_t);
+TYPE_TO(float16_t);
+TYPE_TO(float32_t);
+TYPE_TO(float64_t);
+
+void main() {}
diff --git a/glslang/MachineIndependent/Constant.cpp b/glslang/MachineIndependent/Constant.cpp
index b33af84..2c5aea8 100644
--- a/glslang/MachineIndependent/Constant.cpp
+++ b/glslang/MachineIndependent/Constant.cpp
@@ -670,6 +670,279 @@
             break;
         }
 
+        case EOpConvInt8ToBool:
+            newConstArray[i].setBConst(unionArray[i].getI8Const()); break;
+        case EOpConvUint8ToBool:
+            newConstArray[i].setBConst(unionArray[i].getU8Const()); break;
+        case EOpConvInt16ToBool:
+            newConstArray[i].setBConst(unionArray[i].getI16Const()); break;
+        case EOpConvUint16ToBool:
+            newConstArray[i].setBConst(unionArray[i].getU16Const()); break;
+        case EOpConvIntToBool:
+            newConstArray[i].setBConst(unionArray[i].getIConst()); break;
+        case EOpConvUintToBool:
+            newConstArray[i].setBConst(unionArray[i].getUConst()); break;
+        case EOpConvInt64ToBool:
+            newConstArray[i].setBConst(unionArray[i].getI64Const()); break;
+        case EOpConvUint64ToBool:
+            newConstArray[i].setBConst(unionArray[i].getI64Const()); break;
+        case EOpConvFloat16ToBool:
+            newConstArray[i].setBConst(unionArray[i].getDConst()); break;
+        case EOpConvFloatToBool:
+            newConstArray[i].setBConst(unionArray[i].getDConst()); break;
+        case EOpConvDoubleToBool:
+            newConstArray[i].setBConst(unionArray[i].getDConst()); break;
+
+        case EOpConvBoolToInt8:
+            newConstArray[i].setI8Const(unionArray[i].getBConst()); break;
+        case EOpConvBoolToUint8:
+            newConstArray[i].setU8Const(unionArray[i].getBConst()); break;
+        case EOpConvBoolToInt16:
+            newConstArray[i].setI16Const(unionArray[i].getBConst()); break;
+        case EOpConvBoolToUint16:
+            newConstArray[i].setU16Const(unionArray[i].getBConst()); break;
+        case EOpConvBoolToInt:
+            newConstArray[i].setIConst(unionArray[i].getBConst()); break;
+        case EOpConvBoolToUint:
+            newConstArray[i].setUConst(unionArray[i].getBConst()); break;
+        case EOpConvBoolToInt64:
+            newConstArray[i].setI64Const(unionArray[i].getBConst()); break;
+        case EOpConvBoolToUint64:
+            newConstArray[i].setU64Const(unionArray[i].getBConst()); break;
+        case EOpConvBoolToFloat16:
+            newConstArray[i].setDConst(unionArray[i].getBConst()); break;
+        case EOpConvBoolToFloat:
+            newConstArray[i].setDConst(unionArray[i].getBConst()); break;
+        case EOpConvBoolToDouble:
+            newConstArray[i].setDConst(unionArray[i].getBConst()); break;
+
+        case EOpConvInt8ToInt16:
+            newConstArray[i].setI16Const(unionArray[i].getI8Const()); break;
+        case EOpConvInt8ToInt:
+            newConstArray[i].setIConst(unionArray[i].getI8Const()); break;
+        case EOpConvInt8ToInt64:
+            newConstArray[i].setI64Const(unionArray[i].getI8Const()); break;
+        case EOpConvInt8ToUint8:
+            newConstArray[i].setU8Const(unionArray[i].getI8Const()); break;
+        case EOpConvInt8ToUint16:
+            newConstArray[i].setU16Const(unionArray[i].getI8Const()); break;
+        case EOpConvInt8ToUint:
+            newConstArray[i].setUConst(unionArray[i].getI8Const()); break;
+        case EOpConvInt8ToUint64:
+            newConstArray[i].setU64Const(unionArray[i].getI8Const()); break;
+        case EOpConvUint8ToInt8:
+            newConstArray[i].setI8Const(unionArray[i].getU8Const()); break;
+        case EOpConvUint8ToInt16:
+            newConstArray[i].setI16Const(unionArray[i].getU8Const()); break;
+        case EOpConvUint8ToInt:
+            newConstArray[i].setIConst(unionArray[i].getU8Const()); break;
+        case EOpConvUint8ToInt64:
+            newConstArray[i].setI64Const(unionArray[i].getU8Const()); break;
+        case EOpConvUint8ToUint16:
+            newConstArray[i].setU16Const(unionArray[i].getU8Const()); break;
+        case EOpConvUint8ToUint:
+            newConstArray[i].setUConst(unionArray[i].getU8Const()); break;
+        case EOpConvUint8ToUint64:
+            newConstArray[i].setU64Const(unionArray[i].getU8Const()); break;
+        case EOpConvInt8ToFloat16:
+            newConstArray[i].setDConst(unionArray[i].getI8Const()); break;
+        case EOpConvInt8ToFloat:
+            newConstArray[i].setDConst(unionArray[i].getI8Const()); break;
+        case EOpConvInt8ToDouble:
+            newConstArray[i].setDConst(unionArray[i].getI8Const()); break;
+        case EOpConvUint8ToFloat16:
+            newConstArray[i].setDConst(unionArray[i].getU8Const()); break;
+        case EOpConvUint8ToFloat:
+            newConstArray[i].setDConst(unionArray[i].getU8Const()); break;
+        case EOpConvUint8ToDouble:
+            newConstArray[i].setDConst(unionArray[i].getU8Const()); break;
+
+        case EOpConvInt16ToInt8:
+            newConstArray[i].setI8Const(static_cast<int8_t>(unionArray[i].getI16Const())); break;
+        case EOpConvInt16ToInt:
+            newConstArray[i].setIConst(unionArray[i].getI16Const()); break;
+        case EOpConvInt16ToInt64:
+            newConstArray[i].setI64Const(unionArray[i].getI16Const()); break;
+        case EOpConvInt16ToUint8:
+            newConstArray[i].setU8Const(static_cast<uint8_t>(unionArray[i].getI16Const())); break;
+        case EOpConvInt16ToUint16:
+            newConstArray[i].setU16Const(unionArray[i].getI16Const()); break;
+        case EOpConvInt16ToUint:
+            newConstArray[i].setUConst(unionArray[i].getI16Const()); break;
+        case EOpConvInt16ToUint64:
+            newConstArray[i].setU64Const(unionArray[i].getI16Const()); break;
+        case EOpConvUint16ToInt8:
+            newConstArray[i].setI8Const(static_cast<int8_t>(unionArray[i].getU16Const())); break;
+        case EOpConvUint16ToInt16:
+            newConstArray[i].setI16Const(unionArray[i].getU16Const()); break;
+        case EOpConvUint16ToInt:
+            newConstArray[i].setIConst(unionArray[i].getU16Const()); break;
+        case EOpConvUint16ToInt64:
+            newConstArray[i].setI64Const(unionArray[i].getU16Const()); break;
+        case EOpConvUint16ToUint8:
+            newConstArray[i].setU8Const(static_cast<uint8_t>(unionArray[i].getU16Const())); break;
+
+        case EOpConvUint16ToUint:
+            newConstArray[i].setUConst(unionArray[i].getU16Const()); break;
+        case EOpConvUint16ToUint64:
+            newConstArray[i].setU64Const(unionArray[i].getU16Const()); break;
+        case EOpConvInt16ToFloat16:
+            newConstArray[i].setDConst(unionArray[i].getI16Const()); break;
+        case EOpConvInt16ToFloat:
+            newConstArray[i].setDConst(unionArray[i].getI16Const()); break;
+        case EOpConvInt16ToDouble:
+            newConstArray[i].setDConst(unionArray[i].getI16Const()); break;
+        case EOpConvUint16ToFloat16:
+            newConstArray[i].setDConst(unionArray[i].getU16Const()); break;
+        case EOpConvUint16ToFloat:
+            newConstArray[i].setDConst(unionArray[i].getU16Const()); break;
+        case EOpConvUint16ToDouble:
+            newConstArray[i].setDConst(unionArray[i].getU16Const()); break;
+
+        case EOpConvIntToInt8:
+            newConstArray[i].setI8Const(unionArray[i].getIConst()); break;
+        case EOpConvIntToInt16:
+            newConstArray[i].setI16Const(unionArray[i].getIConst()); break;
+        case EOpConvIntToInt64:
+            newConstArray[i].setI64Const(unionArray[i].getIConst()); break;
+        case EOpConvIntToUint8:
+            newConstArray[i].setU8Const(unionArray[i].getIConst()); break;
+        case EOpConvIntToUint16:
+            newConstArray[i].setU16Const(unionArray[i].getIConst()); break;
+        case EOpConvIntToUint:
+            newConstArray[i].setUConst(unionArray[i].getIConst()); break;
+        case EOpConvIntToUint64:
+            newConstArray[i].setU64Const(unionArray[i].getIConst()); break;
+
+        case EOpConvUintToInt8:
+            newConstArray[i].setI8Const(unionArray[i].getUConst()); break;
+        case EOpConvUintToInt16:
+            newConstArray[i].setI16Const(unionArray[i].getUConst()); break;
+        case EOpConvUintToInt:
+            newConstArray[i].setIConst(unionArray[i].getUConst()); break;
+        case EOpConvUintToInt64:
+            newConstArray[i].setI64Const(unionArray[i].getUConst()); break;
+        case EOpConvUintToUint8:
+            newConstArray[i].setU8Const(unionArray[i].getUConst()); break;
+        case EOpConvUintToUint16:
+            newConstArray[i].setU16Const(unionArray[i].getUConst()); break;
+        case EOpConvUintToUint64:
+            newConstArray[i].setU64Const(unionArray[i].getUConst()); break;
+        case EOpConvIntToFloat16:
+            newConstArray[i].setDConst(unionArray[i].getIConst()); break;
+        case EOpConvIntToFloat:
+            newConstArray[i].setDConst(unionArray[i].getIConst()); break;
+        case EOpConvIntToDouble:
+            newConstArray[i].setDConst(unionArray[i].getIConst()); break;
+        case EOpConvUintToFloat16:
+            newConstArray[i].setDConst(unionArray[i].getUConst()); break;
+        case EOpConvUintToFloat:
+            newConstArray[i].setDConst(unionArray[i].getUConst()); break;
+        case EOpConvUintToDouble:
+            newConstArray[i].setDConst(unionArray[i].getUConst()); break;
+        case EOpConvInt64ToInt8:
+            newConstArray[i].setI8Const(static_cast<int8_t>(unionArray[i].getI64Const())); break;
+        case EOpConvInt64ToInt16:
+            newConstArray[i].setI16Const(static_cast<int16_t>(unionArray[i].getI64Const())); break;
+        case EOpConvInt64ToInt:
+            newConstArray[i].setIConst(static_cast<int32_t>(unionArray[i].getI64Const())); break;
+        case EOpConvInt64ToUint8:
+            newConstArray[i].setU8Const(static_cast<uint8_t>(unionArray[i].getI64Const())); break;
+        case EOpConvInt64ToUint16:
+            newConstArray[i].setU16Const(static_cast<uint16_t>(unionArray[i].getI64Const())); break;
+        case EOpConvInt64ToUint:
+            newConstArray[i].setUConst(static_cast<uint32_t>(unionArray[i].getI64Const())); break;
+        case EOpConvInt64ToUint64:
+            newConstArray[i].setU64Const(unionArray[i].getI64Const()); break;
+        case EOpConvUint64ToInt8:
+            newConstArray[i].setI8Const(static_cast<int8_t>(unionArray[i].getU64Const())); break;
+        case EOpConvUint64ToInt16:
+            newConstArray[i].setI16Const(static_cast<int16_t>(unionArray[i].getU64Const())); break;
+        case EOpConvUint64ToInt:
+            newConstArray[i].setIConst(static_cast<int32_t>(unionArray[i].getU64Const())); break;
+        case EOpConvUint64ToInt64:
+            newConstArray[i].setI64Const(unionArray[i].getU64Const()); break;
+        case EOpConvUint64ToUint8:
+            newConstArray[i].setU8Const(static_cast<uint8_t>(unionArray[i].getU64Const())); break;
+        case EOpConvUint64ToUint16:
+            newConstArray[i].setU16Const(static_cast<uint16_t>(unionArray[i].getU64Const())); break;
+        case EOpConvUint64ToUint:
+            newConstArray[i].setUConst(static_cast<uint32_t>(unionArray[i].getU64Const())); break;
+        case EOpConvInt64ToFloat16:
+            newConstArray[i].setDConst(static_cast<double>(unionArray[i].getI64Const())); break;
+        case EOpConvInt64ToFloat:
+            newConstArray[i].setDConst(static_cast<double>(unionArray[i].getI64Const())); break;
+        case EOpConvInt64ToDouble:
+            newConstArray[i].setDConst(static_cast<double>(unionArray[i].getI64Const())); break;
+        case EOpConvUint64ToFloat16:
+            newConstArray[i].setDConst(static_cast<double>(unionArray[i].getU64Const())); break;
+        case EOpConvUint64ToFloat:
+            newConstArray[i].setDConst(static_cast<double>(unionArray[i].getU64Const())); break;
+        case EOpConvUint64ToDouble:
+            newConstArray[i].setDConst(static_cast<double>(unionArray[i].getU64Const())); break;
+        case EOpConvFloat16ToInt8:
+            newConstArray[i].setI8Const(static_cast<int8_t>(unionArray[i].getDConst())); break;
+        case EOpConvFloat16ToInt16:
+            newConstArray[i].setI16Const(static_cast<int16_t>(unionArray[i].getDConst())); break;
+        case EOpConvFloat16ToInt:
+            newConstArray[i].setIConst(static_cast<int32_t>(unionArray[i].getDConst())); break;
+        case EOpConvFloat16ToInt64:
+            newConstArray[i].setI64Const(static_cast<int64_t>(unionArray[i].getDConst())); break;
+        case EOpConvFloat16ToUint8:
+            newConstArray[i].setU8Const(static_cast<uint8_t>(unionArray[i].getDConst())); break;
+        case EOpConvFloat16ToUint16:
+            newConstArray[i].setU16Const(static_cast<uint16_t>(unionArray[i].getDConst())); break;
+        case EOpConvFloat16ToUint:
+            newConstArray[i].setUConst(static_cast<uint32_t>(unionArray[i].getDConst())); break;
+        case EOpConvFloat16ToUint64:
+            newConstArray[i].setU64Const(static_cast<uint64_t>(unionArray[i].getDConst())); break;
+        case EOpConvFloat16ToFloat:
+            newConstArray[i].setDConst(unionArray[i].getDConst()); break;
+        case EOpConvFloat16ToDouble:
+            newConstArray[i].setDConst(unionArray[i].getDConst()); break;
+        case EOpConvFloatToInt8:
+            newConstArray[i].setI8Const(static_cast<int8_t>(unionArray[i].getDConst())); break;
+        case EOpConvFloatToInt16:
+            newConstArray[i].setI16Const(static_cast<int16_t>(unionArray[i].getDConst())); break;
+        case EOpConvFloatToInt:
+            newConstArray[i].setIConst(static_cast<int32_t>(unionArray[i].getDConst())); break;
+        case EOpConvFloatToInt64:
+            newConstArray[i].setI64Const(static_cast<int64_t>(unionArray[i].getDConst())); break;
+        case EOpConvFloatToUint8:
+            newConstArray[i].setU8Const(static_cast<uint8_t>(unionArray[i].getDConst())); break;
+        case EOpConvFloatToUint16:
+            newConstArray[i].setU16Const(static_cast<uint16_t>(unionArray[i].getDConst())); break;
+        case EOpConvFloatToUint:
+            newConstArray[i].setUConst(static_cast<uint32_t>(unionArray[i].getDConst())); break;
+        case EOpConvFloatToUint64:
+            newConstArray[i].setU64Const(static_cast<uint64_t>(unionArray[i].getDConst())); break;
+        case EOpConvFloatToFloat16:
+            newConstArray[i].setDConst(unionArray[i].getDConst()); break;
+        case EOpConvFloatToDouble:
+            newConstArray[i].setDConst(unionArray[i].getDConst()); break;
+        case EOpConvDoubleToInt8:
+            newConstArray[i].setI8Const(static_cast<int8_t>(unionArray[i].getDConst())); break;
+        case EOpConvDoubleToInt16:
+            newConstArray[i].setI16Const(static_cast<int16_t>(unionArray[i].getDConst())); break;
+        case EOpConvDoubleToInt:
+            newConstArray[i].setIConst(static_cast<int32_t>(unionArray[i].getDConst())); break;
+        case EOpConvDoubleToInt64:
+            newConstArray[i].setI64Const(static_cast<int64_t>(unionArray[i].getDConst())); break;
+        case EOpConvDoubleToUint8:
+            newConstArray[i].setU8Const(static_cast<uint8_t>(unionArray[i].getDConst())); break;
+        case EOpConvDoubleToUint16:
+            newConstArray[i].setU16Const(static_cast<uint16_t>(unionArray[i].getDConst())); break;
+        case EOpConvDoubleToUint:
+            newConstArray[i].setUConst(static_cast<uint32_t>(unionArray[i].getDConst())); break;
+        case EOpConvDoubleToUint64:
+            newConstArray[i].setU64Const(static_cast<uint64_t>(unionArray[i].getDConst())); break;
+        case EOpConvDoubleToFloat16:
+            newConstArray[i].setDConst(unionArray[i].getDConst()); break;
+        case EOpConvDoubleToFloat:
+            newConstArray[i].setDConst(unionArray[i].getDConst()); break;
+
+
+
         // TODO: 3.0 Functionality: unary constant folding: the rest of the ops have to be fleshed out
 
         case EOpSinh:
diff --git a/glslang/MachineIndependent/Intermediate.cpp b/glslang/MachineIndependent/Intermediate.cpp
index 6355f30..46d4812 100644
--- a/glslang/MachineIndependent/Intermediate.cpp
+++ b/glslang/MachineIndependent/Intermediate.cpp
@@ -489,7 +489,7 @@
 // This is 'mechanism' here, it does any conversion told.
 // It is about basic type, not about shape.
 // The policy comes from the shader or the calling code.
-TIntermUnary* TIntermediate::createConversion(TBasicType convertTo, TIntermTyped* node) const
+TIntermTyped* TIntermediate::createConversion(TBasicType convertTo, TIntermTyped* node) const
 {
     //
     // Add a new newNode for the conversion.
@@ -712,7 +712,11 @@
     TType newType(convertTo, EvqTemporary, node->getVectorSize(), node->getMatrixCols(), node->getMatrixRows());
     newNode = addUnaryNode(newOp, node, node->getLoc(), newType);
 
-    // TODO: it seems that some unary folding operations should occur here, but are not
+    if (node->getAsConstantUnion()) {
+        TIntermTyped* folded = node->getAsConstantUnion()->fold(newOp, newType);
+        if (folded)
+            return folded;
+    }
 
     // Propagate specialization-constant-ness, if allowed
     if (node->getType().getQualifier().isSpecConstant() && isSpecializationOperation(*newNode))
@@ -1021,7 +1025,7 @@
     //
     // Add a new newNode for the conversion.
     //
-    TIntermUnary* newNode = createConversion(promoteTo, node);
+    TIntermTyped* newNode = createConversion(promoteTo, node);
 
     return newNode;
 }
diff --git a/glslang/MachineIndependent/localintermediate.h b/glslang/MachineIndependent/localintermediate.h
index 762b310..ff28c0e 100755
--- a/glslang/MachineIndependent/localintermediate.h
+++ b/glslang/MachineIndependent/localintermediate.h
@@ -732,7 +732,7 @@
     bool specConstantPropagates(const TIntermTyped&, const TIntermTyped&);
     void performTextureUpgradeAndSamplerRemovalTransformation(TIntermNode* root);
     bool isConversionAllowed(TOperator op, TIntermTyped* node) const;
-    TIntermUnary* createConversion(TBasicType convertTo, TIntermTyped* node) const;
+    TIntermTyped* createConversion(TBasicType convertTo, TIntermTyped* node) const;
     std::tuple<TBasicType, TBasicType> getConversionDestinatonType(TBasicType type0, TBasicType type1, TOperator op) const;
     bool extensionRequested(const char *extension) const {return requestedExtensions.find(extension) != requestedExtensions.end();}
     static const char* getResourceName(TResourceType);
diff --git a/gtests/AST.FromFile.cpp b/gtests/AST.FromFile.cpp
index b89fc51..00bb433 100644
--- a/gtests/AST.FromFile.cpp
+++ b/gtests/AST.FromFile.cpp
@@ -231,6 +231,7 @@
         "precise_struct_block.vert",
         "maxClipDistances.vert",
         "findFunction.frag",
+        "constantUnaryConversion.comp"
     })),
     FileNameAsCustomTestSuffix
 );
