; Adapted from https://github.com/KhronosGroup/SPIRV-LLVM-Translator/tree/main/test/extensions/INTEL/SPV_INTEL_global_variable_host_access ; RUN: llc -verify-machineinstrs -O0 -mtriple=spirv64-unknown-unknown --spirv-ext=+SPV_INTEL_global_variable_host_access,+SPV_INTEL_global_variable_fpga_decorations %s -o - | FileCheck %s --check-prefixes=CHECK-SPIRV ; TODO: %if spirv-tools %{ llc -O0 -mtriple=spirv64-unknown-unknown --spirv-ext=+SPV_INTEL_global_variable_host_access,+SPV_INTEL_global_variable_fpga_decorations %s -o - -filetype=obj | spirv-val %} ; CHECK-SPIRV-DAG: Capability GlobalVariableHostAccessINTEL ; CHECK-SPIRV-DAG: Capability GlobalVariableFPGADecorationsINTEL ; CHECK-SPIRV-DAG: Extension "SPV_INTEL_global_variable_host_access" ; CHECK-SPIRV-DAG: Extension "SPV_INTEL_global_variable_fpga_decorations" ; CHECK-SPIRV-DAG: OpName %[[#G1:]] "int_var" ; CHECK-SPIRV-DAG: OpName %[[#G2:]] "bool_var" ; CHECK-SPIRV-DAG: OpName %[[#G3:]] "float_var" ; CHECK-SPIRV-DAG: OpDecorate %[[#G1]] HostAccessINTEL 1 "IntVarName" ; CHECK-SPIRV-DAG: OpDecorate %[[#G2]] HostAccessINTEL 3 "BoolVarName" ; CHECK-SPIRV-DAG: OpDecorate %[[#G3]] ImplementInRegisterMapINTEL 1 ; CHECK-SPIRV-DAG: OpDecorate %[[#G3]] InitModeINTEL 1 @int_var = addrspace(1) global i32 42, !spirv.Decorations !1 @bool_var = addrspace(1) global i1 0, !spirv.Decorations !4 @float_var = addrspace(1) global float 1.0, !spirv.Decorations !5 define spir_kernel void @test() { entry: ret void } !1 = !{!2} !2 = !{i32 6188, i32 1, !"IntVarName"} ; HostAccessINTEL 1 "IntVarName" !3 = !{i32 6188, i32 3, !"BoolVarName"} ; HostAccessINTEL 3 "BoolVarName" !4 = !{!3} !5 = !{!6, !7} !6 = !{i32 6191, i1 true} ; ImplementInRegisterMapINTEL = true !7 = !{i32 6190, i32 1} ; InitModeINTEL = 1