mirror of
https://github.com/vosen/ZLUDA.git
synced 2025-04-19 16:04:44 +00:00
Replaces traditional LALRPOP-based parser with winnow-based parser to handle out-of-order instruction modifer. Generate instruction type and instruction visitor from a macro instead of writing by hand. Add separate compilation path using the new parser that only works in tests for now
55 lines
2.2 KiB
Text
55 lines
2.2 KiB
Text
OpCapability GenericPointer
|
|
OpCapability Linkage
|
|
OpCapability Addresses
|
|
OpCapability Kernel
|
|
OpCapability Int8
|
|
OpCapability Int16
|
|
OpCapability Int64
|
|
OpCapability Float16
|
|
OpCapability Float64
|
|
OpCapability DenormFlushToZero
|
|
OpExtension "SPV_KHR_float_controls"
|
|
OpExtension "SPV_KHR_no_integer_wrap_decoration"
|
|
%24 = OpExtInstImport "OpenCL.std"
|
|
OpMemoryModel Physical64 OpenCL
|
|
OpEntryPoint Kernel %1 "cvt_s64_s32"
|
|
OpExecutionMode %1 ContractionOff
|
|
%void = OpTypeVoid
|
|
%ulong = OpTypeInt 64 0
|
|
%27 = 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
|
|
%_ptr_Generic_ulong = OpTypePointer Generic %ulong
|
|
%1 = OpFunction %void None %27
|
|
%8 = OpFunctionParameter %ulong
|
|
%9 = OpFunctionParameter %ulong
|
|
%22 = OpLabel
|
|
%2 = OpVariable %_ptr_Function_ulong Function
|
|
%3 = OpVariable %_ptr_Function_ulong Function
|
|
%4 = OpVariable %_ptr_Function_ulong Function
|
|
%5 = OpVariable %_ptr_Function_ulong Function
|
|
%6 = OpVariable %_ptr_Function_uint Function
|
|
%7 = OpVariable %_ptr_Function_ulong Function
|
|
OpStore %2 %8
|
|
OpStore %3 %9
|
|
%10 = OpLoad %ulong %2 Aligned 8
|
|
OpStore %4 %10
|
|
%11 = OpLoad %ulong %3 Aligned 8
|
|
OpStore %5 %11
|
|
%13 = OpLoad %ulong %4
|
|
%19 = OpConvertUToPtr %_ptr_Generic_uint %13
|
|
%18 = OpLoad %uint %19 Aligned 4
|
|
%12 = OpCopyObject %uint %18
|
|
OpStore %6 %12
|
|
%15 = OpLoad %uint %6
|
|
%14 = OpSConvert %ulong %15
|
|
OpStore %7 %14
|
|
%16 = OpLoad %ulong %5
|
|
%17 = OpLoad %ulong %7
|
|
%20 = OpConvertUToPtr %_ptr_Generic_ulong %16
|
|
%21 = OpCopyObject %ulong %17
|
|
OpStore %20 %21 Aligned 8
|
|
OpReturn
|
|
OpFunctionEnd
|