1// RUN: %clang_dxc -Tlib_6_7 -fcgl -Fo - %s | FileCheck %s 2 3// FIXME: check 16bit types once enable-16bit-types is ready. 4 5// CHECK:"?uint_Val@@3IA" = global i32 0, align 4 6// CHECK:"?uint64_t_Val@@3KA" = global i64 0, align 8 7// CHECK:"?int64_t_Val@@3JA" = global i64 0, align 8 8// CHECK:"?int2_Val@@3T?$__vector@H$01@__clang@@A" = global <2 x i32> zeroinitializer, align 8 9// CHECK:"?int3_Val@@3T?$__vector@H$02@__clang@@A" = global <3 x i32> zeroinitializer, align 16 10// CHECK:"?int4_Val@@3T?$__vector@H$03@__clang@@A" = global <4 x i32> zeroinitializer, align 16 11// CHECK:"?uint2_Val@@3T?$__vector@I$01@__clang@@A" = global <2 x i32> zeroinitializer, align 8 12// CHECK:"?uint3_Val@@3T?$__vector@I$02@__clang@@A" = global <3 x i32> zeroinitializer, align 16 13// CHECK:"?uint4_Val@@3T?$__vector@I$03@__clang@@A" = global <4 x i32> zeroinitializer, align 16 14// CHECK:"?int64_t2_Val@@3T?$__vector@J$01@__clang@@A" = global <2 x i64> zeroinitializer, align 16 15// CHECK:"?int64_t3_Val@@3T?$__vector@J$02@__clang@@A" = global <3 x i64> zeroinitializer, align 32 16// CHECK:"?int64_t4_Val@@3T?$__vector@J$03@__clang@@A" = global <4 x i64> zeroinitializer, align 32 17// CHECK:"?uint64_t2_Val@@3T?$__vector@K$01@__clang@@A" = global <2 x i64> zeroinitializer, align 16 18// CHECK:"?uint64_t3_Val@@3T?$__vector@K$02@__clang@@A" = global <3 x i64> zeroinitializer, align 32 19// CHECK:"?uint64_t4_Val@@3T?$__vector@K$03@__clang@@A" = global <4 x i64> zeroinitializer, align 32 20// CHECK:"?float2_Val@@3T?$__vector@M$01@__clang@@A" = global <2 x float> zeroinitializer, align 8 21// CHECK:"?float3_Val@@3T?$__vector@M$02@__clang@@A" = global <3 x float> zeroinitializer, align 16 22// CHECK:"?float4_Val@@3T?$__vector@M$03@__clang@@A" = global <4 x float> zeroinitializer, align 16 23// CHECK:"?double2_Val@@3T?$__vector@N$01@__clang@@A" = global <2 x double> zeroinitializer, align 16 24// CHECK:"?double3_Val@@3T?$__vector@N$02@__clang@@A" = global <3 x double> zeroinitializer, align 32 25// CHECK:"?double4_Val@@3T?$__vector@N$03@__clang@@A" = global <4 x double> zeroinitializer, align 32 26 27#define TYPE_DECL(T) T T##_Val 28 29#ifdef __HLSL_ENABLE_16_BIT 30TYPE_DECL(uint16_t); 31TYPE_DECL(int16_t); 32#endif 33 34// unsigned 32-bit integer. 35TYPE_DECL(uint); 36 37// 64-bit integer. 38TYPE_DECL(uint64_t); 39TYPE_DECL(int64_t); 40 41// built-in vector data types: 42 43#ifdef __HLSL_ENABLE_16_BIT 44TYPE_DECL(int16_t2 ); 45TYPE_DECL(int16_t3 ); 46TYPE_DECL(int16_t4 ); 47TYPE_DECL( uint16_t2 ); 48TYPE_DECL( uint16_t3 ); 49TYPE_DECL( uint16_t4 ); 50#endif 51 52TYPE_DECL( int2 ); 53TYPE_DECL( int3 ); 54TYPE_DECL( int4 ); 55TYPE_DECL( uint2 ); 56TYPE_DECL( uint3 ); 57TYPE_DECL( uint4 ); 58TYPE_DECL( int64_t2 ); 59TYPE_DECL( int64_t3 ); 60TYPE_DECL( int64_t4 ); 61TYPE_DECL( uint64_t2 ); 62TYPE_DECL( uint64_t3 ); 63TYPE_DECL( uint64_t4 ); 64 65#ifdef __HLSL_ENABLE_16_BIT 66TYPE_DECL(half2 ); 67TYPE_DECL(half3 ); 68TYPE_DECL(half4 ); 69#endif 70 71TYPE_DECL( float2 ); 72TYPE_DECL( float3 ); 73TYPE_DECL( float4 ); 74TYPE_DECL( double2 ); 75TYPE_DECL( double3 ); 76TYPE_DECL( double4 ); 77