mirror of
https://github.com/vosen/ZLUDA.git
synced 2025-04-12 10:48:53 +03: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
53 lines
2.0 KiB
Plaintext
53 lines
2.0 KiB
Plaintext
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"
|
|
%22 = OpExtInstImport "OpenCL.std"
|
|
OpMemoryModel Physical64 OpenCL
|
|
OpEntryPoint Kernel %1 "popc"
|
|
OpExecutionMode %1 ContractionOff
|
|
%void = OpTypeVoid
|
|
%ulong = OpTypeInt 64 0
|
|
%25 = 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 %25
|
|
%7 = OpFunctionParameter %ulong
|
|
%8 = OpFunctionParameter %ulong
|
|
%20 = 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
|
|
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
|
|
%18 = OpBitCount %uint %14
|
|
%13 = OpCopyObject %uint %18
|
|
OpStore %6 %13
|
|
%15 = OpLoad %ulong %5
|
|
%16 = OpLoad %uint %6
|
|
%19 = OpConvertUToPtr %_ptr_Generic_uint %15
|
|
OpStore %19 %16 Aligned 4
|
|
OpReturn
|
|
OpFunctionEnd
|