- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
Link Copied
0 Replies
Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page