brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.9 KiB · 8ce7653 Raw
63 lines · plain
1; RUN: llc -O0 -mtriple=spirv32-unknown-unknown --avoid-spirv-capabilities=Shader %s -o - | FileCheck %s --check-prefix=CHECK-SPIRV2; RUN: %if spirv-tools %{ llc -O0 -mtriple=spirv32-unknown-unknown --avoid-spirv-capabilities=Shader %s -o - -filetype=obj | spirv-val %}3 4; CHECK-SPIRV-DAG: OpCapability Kernel5; CHECK-SPIRV-NOT: OpCapability Matrix6; CHECK-SPIRV-NOT: OpCapability Shader7 8; CHECK-SPIRV-DAG: OpDecorate %[[#SC0:]] SpecId 09; CHECK-SPIRV-DAG: OpDecorate %[[#SC1:]] SpecId 110; CHECK-SPIRV-DAG: OpDecorate %[[#SC2:]] SpecId 211; CHECK-SPIRV-DAG: OpDecorate %[[#SC3:]] SpecId 312; CHECK-SPIRV-DAG: OpDecorate %[[#SC4:]] SpecId 413; CHECK-SPIRV-DAG: OpDecorate %[[#SC5:]] SpecId 514; CHECK-SPIRV-DAG: OpDecorate %[[#SC6:]] SpecId 615; CHECK-SPIRV-DAG: OpDecorate %[[#SC7:]] SpecId 716 17; CHECK-SPIRV-DAG: %[[#SC0]] = OpSpecConstantFalse %[[#]]18; CHECK-SPIRV-DAG: %[[#SC1]] = OpSpecConstant %[[#]] 10019; CHECK-SPIRV-DAG: %[[#SC2]] = OpSpecConstant %[[#]] 120; CHECK-SPIRV-DAG: %[[#SC3]] = OpSpecConstant %[[#]] 221; CHECK-SPIRV-DAG: %[[#SC4]] = OpSpecConstant %[[#]] 3 022; CHECK-SPIRV-DAG: %[[#SC5]] = OpSpecConstant %[[#]] 1433623; CHECK-SPIRV-DAG: %[[#SC6]] = OpSpecConstant %[[#]] 106745036824; CHECK-SPIRV-DAG: %[[#SC7]] = OpSpecConstant %[[#]] 0 107380736025 26define spir_kernel void @foo(i8 addrspace(1)* nocapture %b, i8 addrspace(1)* nocapture %c, i16 addrspace(1)* nocapture %s, i32 addrspace(1)* nocapture %i, i64 addrspace(1)* nocapture %l, half addrspace(1)* nocapture %h, float addrspace(1)* nocapture %f, double addrspace(1)* nocapture %d) local_unnamed_addr {27entry:28  %0 = call i1 @_Z20__spirv_SpecConstantib(i32 0, i1 false)29  %conv = zext i1 %0 to i830  store i8 %conv, i8 addrspace(1)* %b, align 131 32  %1 = call i8 @_Z20__spirv_SpecConstantia(i32 1, i8 100)33  store i8 %1, i8 addrspace(1)* %c, align 134 35  %2 = call i16 @_Z20__spirv_SpecConstantis(i32 2, i16 1)36  store i16 %2, i16 addrspace(1)* %s, align 237 38  %3 = call i32 @_Z20__spirv_SpecConstantii(i32 3, i32 2)39  store i32 %3, i32 addrspace(1)* %i, align 440 41  %4 = call i64 @_Z20__spirv_SpecConstantix(i32 4, i64 3)42  store i64 %4, i64 addrspace(1)* %l, align 843 44  %5 = call half @_Z20__spirv_SpecConstantih(i32 5, half 0xH3800)45  store half %5, half addrspace(1)* %h, align 246 47  %6 = call float @_Z20__spirv_SpecConstantif(i32 6, float 1.250000e+00)48  store float %6, float addrspace(1)* %f, align 449 50  %7 = call double @_Z20__spirv_SpecConstantid(i32 7, double 2.125000e+00)51  store double %7, double addrspace(1)* %d, align 852  ret void53}54 55declare i1 @_Z20__spirv_SpecConstantib(i32, i1)56declare i8 @_Z20__spirv_SpecConstantia(i32, i8)57declare i16 @_Z20__spirv_SpecConstantis(i32, i16)58declare i32 @_Z20__spirv_SpecConstantii(i32, i32)59declare i64 @_Z20__spirv_SpecConstantix(i32, i64)60declare half @_Z20__spirv_SpecConstantih(i32, half)61declare float @_Z20__spirv_SpecConstantif(i32, float)62declare double @_Z20__spirv_SpecConstantid(i32, double)63