diff options
author | Andrzej Janik <[email protected]> | 2021-09-14 23:38:06 +0000 |
---|---|---|
committer | Andrzej Janik <[email protected]> | 2021-09-14 23:38:06 +0000 |
commit | 467782b1d00da5f519840435aa417163fcb1a128 (patch) | |
tree | 71ab4fe934be7e839c8dcfac2e103870022bf52e /ptx/src/test/spirv_run/const.spvtxt | |
parent | 2cd0fcb65066cd4cddef66900593dc883743bc68 (diff) | |
download | ZLUDA-467782b1d00da5f519840435aa417163fcb1a128.tar.gz ZLUDA-467782b1d00da5f519840435aa417163fcb1a128.zip |
Fix some unhandled cases in cvt instruction
Diffstat (limited to 'ptx/src/test/spirv_run/const.spvtxt')
-rw-r--r-- | ptx/src/test/spirv_run/const.spvtxt | 123 |
1 files changed, 94 insertions, 29 deletions
diff --git a/ptx/src/test/spirv_run/const.spvtxt b/ptx/src/test/spirv_run/const.spvtxt index 9a7f254..49ed9c3 100644 --- a/ptx/src/test/spirv_run/const.spvtxt +++ b/ptx/src/test/spirv_run/const.spvtxt @@ -7,41 +7,106 @@ OpCapability Int64 OpCapability Float16 OpCapability Float64 - %21 = OpExtInstImport "OpenCL.std" + %53 = OpExtInstImport "OpenCL.std" OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %1 "clz" + OpEntryPoint Kernel %2 "const" %1 + OpExecutionMode %2 ContractionOff + OpDecorate %1 Alignment 8 %void = OpTypeVoid + %uint = OpTypeInt 32 0 + %ushort = OpTypeInt 16 0 + %uint_4 = OpConstant %uint 4 +%_arr_ushort_uint_4 = OpTypeArray %ushort %uint_4 + %ushort_10 = OpConstant %ushort 10 + %ushort_20 = OpConstant %ushort 20 + %ushort_30 = OpConstant %ushort 30 + %ushort_40 = OpConstant %ushort 40 + %63 = OpConstantComposite %_arr_ushort_uint_4 %ushort_10 %ushort_20 %ushort_30 %ushort_40 + %uint_4_0 = OpConstant %uint 4 +%_ptr_UniformConstant__arr_ushort_uint_4 = OpTypePointer UniformConstant %_arr_ushort_uint_4 + %1 = OpVariable %_ptr_UniformConstant__arr_ushort_uint_4 UniformConstant %63 %ulong = OpTypeInt 64 0 - %24 = OpTypeFunction %void %ulong %ulong + %67 = OpTypeFunction %void %ulong %ulong %_ptr_Function_ulong = OpTypePointer Function %ulong - %uint = OpTypeInt 32 0 -%_ptr_Function_uint = OpTypePointer Function %uint -%_ptr_Generic_uint = OpTypePointer Generic %uint - %1 = OpFunction %void None %24 - %7 = OpFunctionParameter %ulong - %8 = OpFunctionParameter %ulong - %19 = OpLabel - %2 = OpVariable %_ptr_Function_ulong Function +%_ptr_Function_ushort = OpTypePointer Function %ushort +%_ptr_UniformConstant_ushort = OpTypePointer UniformConstant %ushort + %ulong_2 = OpConstant %ulong 2 + %uchar = OpTypeInt 8 0 +%_ptr_UniformConstant_uchar = OpTypePointer UniformConstant %uchar + %ulong_4 = OpConstant %ulong 4 + %ulong_6 = OpConstant %ulong 6 +%_ptr_Generic_ushort = OpTypePointer Generic %ushort + %ulong_2_0 = OpConstant %ulong 2 +%_ptr_Generic_uchar = OpTypePointer Generic %uchar + %ulong_4_0 = OpConstant %ulong 4 + %ulong_6_0 = OpConstant %ulong 6 + %2 = OpFunction %void None %67 + %11 = OpFunctionParameter %ulong + %12 = OpFunctionParameter %ulong + %51 = OpLabel %3 = OpVariable %_ptr_Function_ulong Function %4 = OpVariable %_ptr_Function_ulong Function %5 = OpVariable %_ptr_Function_ulong Function - %6 = OpVariable %_ptr_Function_uint Function - OpStore %2 %7 - OpStore %3 %8 - %9 = OpLoad %ulong %2 Aligned 8 - OpStore %4 %9 - %10 = OpLoad %ulong %3 Aligned 8 - OpStore %5 %10 - %12 = OpLoad %ulong %4 - %17 = OpConvertUToPtr %_ptr_Generic_uint %12 - %11 = OpLoad %uint %17 Aligned 4 - OpStore %6 %11 - %14 = OpLoad %uint %6 - %13 = OpExtInst %uint %21 clz %14 - OpStore %6 %13 - %15 = OpLoad %ulong %5 - %16 = OpLoad %uint %6 - %18 = OpConvertUToPtr %_ptr_Generic_uint %15 - OpStore %18 %16 Aligned 4 + %6 = OpVariable %_ptr_Function_ulong Function + %7 = OpVariable %_ptr_Function_ushort Function + %8 = OpVariable %_ptr_Function_ushort Function + %9 = OpVariable %_ptr_Function_ushort Function + %10 = OpVariable %_ptr_Function_ushort Function + OpStore %3 %11 + OpStore %4 %12 + %13 = OpLoad %ulong %3 Aligned 8 + OpStore %5 %13 + %14 = OpLoad %ulong %4 Aligned 8 + OpStore %6 %14 + %39 = OpBitcast %_ptr_UniformConstant_ushort %1 + %15 = OpLoad %ushort %39 Aligned 2 + OpStore %7 %15 + %40 = OpBitcast %_ptr_UniformConstant_ushort %1 + %73 = OpBitcast %_ptr_UniformConstant_uchar %40 + %74 = OpInBoundsPtrAccessChain %_ptr_UniformConstant_uchar %73 %ulong_2 + %28 = OpBitcast %_ptr_UniformConstant_ushort %74 + %16 = OpLoad %ushort %28 Aligned 2 + OpStore %8 %16 + %41 = OpBitcast %_ptr_UniformConstant_ushort %1 + %75 = OpBitcast %_ptr_UniformConstant_uchar %41 + %76 = OpInBoundsPtrAccessChain %_ptr_UniformConstant_uchar %75 %ulong_4 + %30 = OpBitcast %_ptr_UniformConstant_ushort %76 + %17 = OpLoad %ushort %30 Aligned 2 + OpStore %9 %17 + %42 = OpBitcast %_ptr_UniformConstant_ushort %1 + %77 = OpBitcast %_ptr_UniformConstant_uchar %42 + %78 = OpInBoundsPtrAccessChain %_ptr_UniformConstant_uchar %77 %ulong_6 + %32 = OpBitcast %_ptr_UniformConstant_ushort %78 + %18 = OpLoad %ushort %32 Aligned 2 + OpStore %10 %18 + %19 = OpLoad %ulong %6 + %20 = OpLoad %ushort %7 + %43 = OpConvertUToPtr %_ptr_Generic_ushort %19 + %44 = OpCopyObject %ushort %20 + OpStore %43 %44 Aligned 2 + %21 = OpLoad %ulong %6 + %22 = OpLoad %ushort %8 + %45 = OpConvertUToPtr %_ptr_Generic_ushort %21 + %81 = OpBitcast %_ptr_Generic_uchar %45 + %82 = OpInBoundsPtrAccessChain %_ptr_Generic_uchar %81 %ulong_2_0 + %34 = OpBitcast %_ptr_Generic_ushort %82 + %46 = OpCopyObject %ushort %22 + OpStore %34 %46 Aligned 2 + %23 = OpLoad %ulong %6 + %24 = OpLoad %ushort %9 + %47 = OpConvertUToPtr %_ptr_Generic_ushort %23 + %83 = OpBitcast %_ptr_Generic_uchar %47 + %84 = OpInBoundsPtrAccessChain %_ptr_Generic_uchar %83 %ulong_4_0 + %36 = OpBitcast %_ptr_Generic_ushort %84 + %48 = OpCopyObject %ushort %24 + OpStore %36 %48 Aligned 2 + %25 = OpLoad %ulong %6 + %26 = OpLoad %ushort %10 + %49 = OpConvertUToPtr %_ptr_Generic_ushort %25 + %85 = OpBitcast %_ptr_Generic_uchar %49 + %86 = OpInBoundsPtrAccessChain %_ptr_Generic_uchar %85 %ulong_6_0 + %38 = OpBitcast %_ptr_Generic_ushort %86 + %50 = OpCopyObject %ushort %26 + OpStore %38 %50 Aligned 2 OpReturn OpFunctionEnd |