brintos

brintos / llvm-project-archived public Read only

0
0
Text · 6.4 KiB · b179732 Raw
110 lines · plain
1; RUN: llc -O0 -mtriple=spirv32-unknown-unknown %s -o - | FileCheck %s --check-prefix=CHECK-SPIRV2; RUN: %if spirv-tools %{ llc -O0 -mtriple=spirv32-unknown-unknown %s -o - -filetype=obj | spirv-val %}3 4; CHECK-SPIRV-DAG: OpDecorate %[[#Id0:]] BuiltIn GlobalLinearId5; CHECK-SPIRV-DAG: OpDecorate %[[#Id1:]] BuiltIn GlobalInvocationId6; CHECK-SPIRV-DAG: OpDecorate %[[#Id2:]] BuiltIn LocalInvocationIndex7; CHECK-SPIRV-DAG: OpDecorate %[[#Id3:]] BuiltIn WorkDim8; CHECK-SPIRV-DAG: OpDecorate %[[#Id4:]] BuiltIn SubgroupSize9; CHECK-SPIRV-DAG: OpDecorate %[[#Id5:]] BuiltIn SubgroupMaxSize10; CHECK-SPIRV-DAG: OpDecorate %[[#Id6:]] BuiltIn NumSubgroups11; CHECK-SPIRV-DAG: OpDecorate %[[#Id7:]] BuiltIn NumEnqueuedSubgroups12; CHECK-SPIRV-DAG: OpDecorate %[[#Id8:]] BuiltIn SubgroupId13; CHECK-SPIRV-DAG: OpDecorate %[[#Id9:]] BuiltIn SubgroupLocalInvocationId14; CHECK-SPIRV-DAG: OpDecorate %[[#Id10:]] BuiltIn SubgroupEqMask15; CHECK-SPIRV-DAG: OpDecorate %[[#Id11:]] BuiltIn SubgroupGeMask16; CHECK-SPIRV-DAG: OpDecorate %[[#Id12:]] BuiltIn SubgroupGtMask17; CHECK-SPIRV-DAG: OpDecorate %[[#Id13:]] BuiltIn SubgroupLeMask18; CHECK-SPIRV-DAG: OpDecorate %[[#Id14:]] BuiltIn SubgroupLtMask19; CHECK-SPIRV-DAG: OpDecorate %[[#Id15:]] BuiltIn LocalInvocationId20; CHECK-SPIRV-DAG: OpDecorate %[[#Id16:]] BuiltIn WorkgroupSize21; CHECK-SPIRV-DAG: OpDecorate %[[#Id17:]] BuiltIn GlobalSize22; CHECK-SPIRV-DAG: OpDecorate %[[#Id18:]] BuiltIn WorkgroupId23; CHECK-SPIRV-DAG: OpDecorate %[[#Id19:]] BuiltIn EnqueuedWorkgroupSize24; CHECK-SPIRV-DAG: OpDecorate %[[#Id20:]] BuiltIn NumWorkgroups25; CHECK-SPIRV-DAG: OpDecorate %[[#Id21:]] BuiltIn GlobalOffset26 27; CHECK-SPIRV:     %[[#Id0:]] = OpVariable %[[#]] Input28; CHECK-SPIRV:     %[[#Id1:]] = OpVariable %[[#]] Input29; CHECK-SPIRV:     %[[#Id2:]] = OpVariable %[[#]] Input30; CHECK-SPIRV:     %[[#Id3:]] = OpVariable %[[#]] Input31; CHECK-SPIRV:     %[[#Id4:]] = OpVariable %[[#]] Input32; CHECK-SPIRV:     %[[#Id5:]] = OpVariable %[[#]] Input33; CHECK-SPIRV:     %[[#Id6:]] = OpVariable %[[#]] Input34; CHECK-SPIRV:     %[[#Id7:]] = OpVariable %[[#]] Input35; CHECK-SPIRV:     %[[#Id8:]] = OpVariable %[[#]] Input36; CHECK-SPIRV:     %[[#Id9:]] = OpVariable %[[#]] Input37; CHECK-SPIRV:     %[[#Id10:]] = OpVariable %[[#]] Input38; CHECK-SPIRV:     %[[#Id11:]] = OpVariable %[[#]] Input39; CHECK-SPIRV:     %[[#Id12:]] = OpVariable %[[#]] Input40; CHECK-SPIRV:     %[[#Id13:]] = OpVariable %[[#]] Input41; CHECK-SPIRV:     %[[#Id14:]] = OpVariable %[[#]] Input42; CHECK-SPIRV:     %[[#Id15:]] = OpVariable %[[#]] Input43; CHECK-SPIRV:     %[[#Id16:]] = OpVariable %[[#]] Input44; CHECK-SPIRV:     %[[#Id17:]] = OpVariable %[[#]] Input45; CHECK-SPIRV:     %[[#Id18:]] = OpVariable %[[#]] Input46; CHECK-SPIRV:     %[[#Id19:]] = OpVariable %[[#]] Input47; CHECK-SPIRV:     %[[#Id20:]] = OpVariable %[[#]] Input48; CHECK-SPIRV:     %[[#Id21:]] = OpVariable %[[#]] Input49 50define spir_kernel void @f() {51entry:52  %0 = call spir_func i32 @_Z29__spirv_BuiltInGlobalLinearIdv()53  %1 = call spir_func i64 @_Z33__spirv_BuiltInGlobalInvocationIdi(i32 1)54  %2 = call spir_func i64 @_Z35__spirv_BuiltInLocalInvocationIndexv()55  %3 = call spir_func i32 @_Z22__spirv_BuiltInWorkDimv()56  %4 = call spir_func i32 @_Z27__spirv_BuiltInSubgroupSizev()57  %5 = call spir_func i32 @_Z30__spirv_BuiltInSubgroupMaxSizev()58  %6 = call spir_func i32 @_Z27__spirv_BuiltInNumSubgroupsv()59  %7 = call spir_func i32 @_Z35__spirv_BuiltInNumEnqueuedSubgroupsv()60  %8 = call spir_func i32 @_Z25__spirv_BuiltInSubgroupIdv()61  %9 = call spir_func i32 @_Z40__spirv_BuiltInSubgroupLocalInvocationIdv()62  %10 = call spir_func <4 x i32> @_Z29__spirv_BuiltInSubgroupEqMaskv()63  %11 = call spir_func <4 x i32> @_Z32__spirv_BuiltInSubgroupEqMaskKHRv()64  %12 = call spir_func <4 x i32> @_Z29__spirv_BuiltInSubgroupGeMaskv()65  %13 = call spir_func <4 x i32> @_Z32__spirv_BuiltInSubgroupGeMaskKHRv()66  %14 = call spir_func <4 x i32> @_Z29__spirv_BuiltInSubgroupGtMaskv()67  %15 = call spir_func <4 x i32> @_Z32__spirv_BuiltInSubgroupGtMaskKHRv()68  %16 = call spir_func <4 x i32> @_Z29__spirv_BuiltInSubgroupLeMaskv()69  %17 = call spir_func <4 x i32> @_Z32__spirv_BuiltInSubgroupLeMaskKHRv()70  %18 = call spir_func <4 x i32> @_Z29__spirv_BuiltInSubgroupLtMaskv()71  %19 = call spir_func <4 x i32> @_Z32__spirv_BuiltInSubgroupLtMaskKHRv()72  %20 = call spir_func i64 @_Z32__spirv_BuiltInLocalInvocationIdi(i32 0)73  %21 = call spir_func i64 @_Z28__spirv_BuiltInWorkgroupSizei(i32 0)74  %22 = call spir_func i64 @_Z25__spirv_BuiltInGlobalSizei(i32 0)75  %23 = call spir_func i64 @_Z26__spirv_BuiltInWorkgroupIdi(i32 0)76  %24 = call spir_func i64 @_Z36__spirv_BuiltInEnqueuedWorkgroupSizei(i32 0)77  %25 = call spir_func i64 @_Z28__spirv_BuiltInNumWorkgroupsi(i32 0)78  %26 = call spir_func i64 @_Z27__spirv_BuiltInGlobalOffseti(i32 0)79 80  ret void81}82 83declare spir_func i32 @_Z29__spirv_BuiltInGlobalLinearIdv()84declare spir_func i64 @_Z33__spirv_BuiltInGlobalInvocationIdi(i32)85declare spir_func i64 @_Z35__spirv_BuiltInLocalInvocationIndexv()86declare spir_func i32 @_Z22__spirv_BuiltInWorkDimv()87declare spir_func i32 @_Z27__spirv_BuiltInSubgroupSizev()88declare spir_func i32 @_Z30__spirv_BuiltInSubgroupMaxSizev()89declare spir_func i32 @_Z27__spirv_BuiltInNumSubgroupsv()90declare spir_func i32 @_Z35__spirv_BuiltInNumEnqueuedSubgroupsv()91declare spir_func i32 @_Z25__spirv_BuiltInSubgroupIdv()92declare spir_func i32 @_Z40__spirv_BuiltInSubgroupLocalInvocationIdv()93declare spir_func <4 x i32> @_Z29__spirv_BuiltInSubgroupEqMaskv()94declare spir_func <4 x i32> @_Z32__spirv_BuiltInSubgroupEqMaskKHRv()95declare spir_func <4 x i32> @_Z29__spirv_BuiltInSubgroupGeMaskv()96declare spir_func <4 x i32> @_Z32__spirv_BuiltInSubgroupGeMaskKHRv()97declare spir_func <4 x i32> @_Z29__spirv_BuiltInSubgroupGtMaskv()98declare spir_func <4 x i32> @_Z32__spirv_BuiltInSubgroupGtMaskKHRv()99declare spir_func <4 x i32> @_Z29__spirv_BuiltInSubgroupLeMaskv()100declare spir_func <4 x i32> @_Z32__spirv_BuiltInSubgroupLeMaskKHRv()101declare spir_func <4 x i32> @_Z29__spirv_BuiltInSubgroupLtMaskv()102declare spir_func <4 x i32> @_Z32__spirv_BuiltInSubgroupLtMaskKHRv()103declare spir_func i64 @_Z32__spirv_BuiltInLocalInvocationIdi(i32)104declare spir_func i64 @_Z28__spirv_BuiltInWorkgroupSizei(i32)105declare spir_func i64 @_Z25__spirv_BuiltInGlobalSizei(i32)106declare spir_func i64 @_Z26__spirv_BuiltInWorkgroupIdi(i32)107declare spir_func i64 @_Z36__spirv_BuiltInEnqueuedWorkgroupSizei(i32)108declare spir_func i64 @_Z28__spirv_BuiltInNumWorkgroupsi(i32)109declare spir_func i64 @_Z27__spirv_BuiltInGlobalOffseti(i32)110