OpenCL* for CPU
Ask questions and share information on Intel® SDK for OpenCL™ Applications and OpenCL™ implementations for Intel® CPU.
Announcements
This forum covers OpenCL* for CPU only. OpenCL* for GPU questions can be asked in the GPU Compute Software forum. Intel® FPGA SDK for OpenCL™ questions can be ask in the FPGA Intel® High Level Design forum.
1719 Discussions

Internal Compiler Error (experimental 2.1 runtime)

Markus_U_
Beginner
369 Views

Hi

I'm trying to build an OpenCL kernel from a SPIR-V binary (using clCreateProgramFromIL). In the call to clBuildProgram I get the following compiler error:

**Internal compiler error** Cannot select: 0x33f62d0: v8i32 = X86ISD::VBROADCAST 0x33f56f0
  0x33f56f0: i64,ch = CopyFromReg 0x353d310, Register:i64 %vreg5
    0x33f5f40: i64 = Register %vreg5
In function: test_int2_copy
Please report the issue on Intel OpenCL forum 
https://software.intel.com/en-us/forums/opencl for assistance. 
 Stack dump:
0.	Running pass 'Function Pass Manager' on module 'main'.
1.	Running pass 'X86 DAG->DAG Instruction Selection' on function '@test_int2_copy'

My SPIR-V kernel is (disassembled, binary attached):

; SPIR-V
; Version: 1.0
; Generator: Khronos; 0
; Bound: 20
; Schema: 0
               OpCapability Addresses
               OpCapability Linkage
               OpCapability Kernel
               OpCapability Int64
         %19 = OpExtInstImport "OpenCL.std"
               OpMemoryModel Physical64 OpenCL
               OpEntryPoint Kernel %6 "test_int2_copy"
               OpDecorate %13 BuiltIn GlobalInvocationId
               OpDecorate %13 Constant
               OpDecorate %13 LinkageAttributes "__spirv_BuiltInGlobalInvocationId" Import
          %1 = OpTypeVoid
          %2 = OpTypeInt 32 0
          %3 = OpTypeVector %2 2
          %4 = OpTypePointer CrossWorkgroup %3
          %5 = OpTypeFunction %1 %4 %4
         %11 = OpTypeVector %2 3
         %12 = OpTypePointer UniformConstant %11
         %13 = OpVariable %12 UniformConstant
         %10 = OpConstant %2 0
          %6 = OpFunction %1 None %5
          %7 = OpFunctionParameter %4
          %8 = OpFunctionParameter %4
          %9 = OpLabel
         %14 = OpLoad %11 %13
         %15 = OpVectorExtractDynamic %2 %14 %10
         %16 = OpPtrAccessChain %4 %7 %15
         %17 = OpLoad %3 %16
         %18 = OpPtrAccessChain %4 %8 %15
               OpStore %18 %17
               OpReturn
               OpFunctionEnd

 

0 Kudos
0 Replies
Reply