brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.2 KiB · d3131e5 Raw
75 lines · plain
1; RUN: llc -O0 -mtriple=spirv32v1.3-unknown-unknown %s -o - | FileCheck %s --check-prefixes=SPV2; RUN: llc -O0 -mtriple=spirv32v1.3-unknown-unknown %s --spirv-ext=+SPV_KHR_float_controls -o - | FileCheck %s --check-prefixes=SPVEXT3 4define dso_local dllexport spir_kernel void @k_float_controls_0(i32 %ibuf, i32 %obuf) local_unnamed_addr {5entry:6  ret void7}8 9define dso_local dllexport spir_kernel void @k_float_controls_1(i32 %ibuf, i32 %obuf) local_unnamed_addr {10entry:11  ret void12}13 14define dso_local dllexport spir_kernel void @k_float_controls_2(i32 %ibuf, i32 %obuf) local_unnamed_addr {15entry:16  ret void17}18 19define dso_local dllexport spir_kernel void @k_float_controls_3(i32 %ibuf, i32 %obuf) local_unnamed_addr {20entry:21  ret void22}23 24define dso_local dllexport spir_kernel void @k_float_controls_4(i32 %ibuf, i32 %obuf) local_unnamed_addr {25entry:26  ret void27}28 29 30!spirv.ExecutionMode = !{!15, !16, !17, !18, !19, !20, !21, !22, !23, !24, !25, !26, !27, !28, !29}31 32; SPV-NOT: OpExtension "SPV_KHR_float_controls"33; SPVEXT: OpExtension "SPV_KHR_float_controls"34 35; SPV-DAG: OpEntryPoint {{.*}} %[[#KERNEL0:]] "k_float_controls_0"36; SPV-DAG: OpEntryPoint {{.*}} %[[#KERNEL1:]] "k_float_controls_1"37; SPV-DAG: OpEntryPoint {{.*}} %[[#KERNEL2:]] "k_float_controls_2"38; SPV-DAG: OpEntryPoint {{.*}} %[[#KERNEL3:]] "k_float_controls_3"39; SPV-DAG: OpEntryPoint {{.*}} %[[#KERNEL4:]] "k_float_controls_4"40 41; SPV-DAG: OpExecutionMode %[[#KERNEL0]] DenormPreserve 6442!15 = !{void (i32, i32)* @k_float_controls_0, i32 4459, i32 64}43; SPV-DAG: OpExecutionMode %[[#KERNEL0]] DenormPreserve 3244!16 = !{void (i32, i32)* @k_float_controls_0, i32 4459, i32 32}45; SPV-DAG: OpExecutionMode %[[#KERNEL0]] DenormPreserve 1646!17 = !{void (i32, i32)* @k_float_controls_0, i32 4459, i32 16}47 48; SPV-DAG: OpExecutionMode %[[#KERNEL1]] DenormFlushToZero 6449!18 = !{void (i32, i32)* @k_float_controls_1, i32 4460, i32 64}50; SPV-DAG: OpExecutionMode %[[#KERNEL1]] DenormFlushToZero 3251!19 = !{void (i32, i32)* @k_float_controls_1, i32 4460, i32 32}52; SPV-DAG: OpExecutionMode %[[#KERNEL1]] DenormFlushToZero 1653!20 = !{void (i32, i32)* @k_float_controls_1, i32 4460, i32 16}54 55; SPV-DAG: OpExecutionMode %[[#KERNEL2]] SignedZeroInfNanPreserve 6456!21 = !{void (i32, i32)* @k_float_controls_2, i32 4461, i32 64}57; SPV-DAG: OpExecutionMode %[[#KERNEL2]] SignedZeroInfNanPreserve 3258!22 = !{void (i32, i32)* @k_float_controls_2, i32 4461, i32 32}59; SPV-DAG: OpExecutionMode %[[#KERNEL2]] SignedZeroInfNanPreserve 1660!23 = !{void (i32, i32)* @k_float_controls_2, i32 4461, i32 16}61 62; SPV-DAG: OpExecutionMode %[[#KERNEL3]] RoundingModeRTE 6463!24 = !{void (i32, i32)* @k_float_controls_3, i32 4462, i32 64}64; SPV-DAG: OpExecutionMode %[[#KERNEL3]] RoundingModeRTE 3265!25 = !{void (i32, i32)* @k_float_controls_3, i32 4462, i32 32}66; SPV-DAG: OpExecutionMode %[[#KERNEL3]] RoundingModeRTE 1667!26 = !{void (i32, i32)* @k_float_controls_3, i32 4462, i32 16}68 69; SPV-DAG: OpExecutionMode %[[#KERNEL4]] RoundingModeRTZ 6470!27 = !{void (i32, i32)* @k_float_controls_4, i32 4463, i32 64}71; SPV-DAG: OpExecutionMode %[[#KERNEL4]] RoundingModeRTZ 3272!28 = !{void (i32, i32)* @k_float_controls_4, i32 4463, i32 32}73; SPV-DAG: OpExecutionMode %[[#KERNEL4]] RoundingModeRTZ 1674!29 = !{void (i32, i32)* @k_float_controls_4, i32 4463, i32 16}75