brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.1 KiB · 49bb8ea Raw
57 lines · plain
1; RUN: llc -verify-machineinstrs -O0 -mtriple=spirv64-unknown-unknown %s -o - | FileCheck %s2; RUN: %if spirv-tools %{ llc -O0 -mtriple=spirv64-unknown-unknown %s -o - -filetype=obj | spirv-val %}3 4; CHECK-DAG: OpFOrdEqual5; CHECK-DAG: OpFOrdGreaterThan6; CHECK-DAG: OpFOrdGreaterThanEqual7; CHECK-DAG: OpFOrdLessThan8; CHECK-DAG: OpFOrdLessThanEqual9; CHECK-DAG: OpFOrdNotEqual10; CHECK-DAG: OpOrdered11; CHECK-DAG: OpFUnordEqual12; CHECK-DAG: OpFUnordGreaterThan13; CHECK-DAG: OpFUnordGreaterThanEqual14; CHECK-DAG: OpFUnordLessThan15; CHECK-DAG: OpFUnordLessThanEqual16; CHECK-DAG: OpFUnordNotEqual17; CHECK-DAG: OpUnordered18 19define dso_local spir_kernel void @test(float %a){20entry:21  %cmp = tail call i1 @llvm.experimental.constrained.fcmps.f32(float %a, float %a, metadata !"oeq", metadata !"fpexcept.strict") 22  %cmp1 = tail call i1 @llvm.experimental.constrained.fcmps.f32(float %a, float %a, metadata !"ogt", metadata !"fpexcept.strict") 23  %cmp2 = tail call i1 @llvm.experimental.constrained.fcmps.f32(float %a, float %a, metadata !"oge", metadata !"fpexcept.strict") 24  %cmp3 = tail call i1 @llvm.experimental.constrained.fcmp.f32(float %a, float %a, metadata !"olt", metadata !"fpexcept.strict") 25  %cmp4 = tail call i1 @llvm.experimental.constrained.fcmp.f32(float %a, float %a, metadata !"ole", metadata !"fpexcept.strict") 26  %cmp5 = tail call i1 @llvm.experimental.constrained.fcmp.f32(float %a, float %a, metadata !"one", metadata !"fpexcept.strict") 27  %cmp6 = tail call i1 @llvm.experimental.constrained.fcmp.f32(float %a, float %a, metadata !"ord", metadata !"fpexcept.strict") 28  %cmp7 = tail call i1 @llvm.experimental.constrained.fcmp.f32(float %a, float %a, metadata !"ueq", metadata !"fpexcept.strict") 29  %cmp8 = tail call i1 @llvm.experimental.constrained.fcmp.f32(float %a, float %a, metadata !"ugt", metadata !"fpexcept.strict") 30  %cmp9 = tail call i1 @llvm.experimental.constrained.fcmp.f32(float %a, float %a, metadata !"uge", metadata !"fpexcept.strict") 31  %cmp10 = tail call i1 @llvm.experimental.constrained.fcmp.f32(float %a, float %a, metadata !"ult", metadata !"fpexcept.strict") 32  %cmp11 = tail call i1 @llvm.experimental.constrained.fcmp.f32(float %a, float %a, metadata !"ule", metadata !"fpexcept.strict") 33  %cmp12 = tail call i1 @llvm.experimental.constrained.fcmp.f32(float %a, float %a, metadata !"une", metadata !"fpexcept.strict") 34  %cmp13 = tail call i1 @llvm.experimental.constrained.fcmp.f32(float %a, float %a, metadata !"uno", metadata !"fpexcept.strict") 35 36  %or1 = or i1 %cmp, %cmp137  %or2 = or i1 %or1, %cmp238  %or3 = or i1 %or2, %cmp339  %or4 = or i1 %or3, %cmp440  %or5 = or i1 %or4, %cmp541  %or6 = or i1 %or5, %cmp642  %or7 = or i1 %or6, %cmp743  %or8 = or i1 %or7, %cmp844  %or9 = or i1 %or8, %cmp945  %or10 = or i1 %or9, %cmp1046  %or11 = or i1 %or10, %cmp1147  %or12 = or i1 %or11, %cmp1248  %or13 = or i1 %or12, %cmp1349  br i1 %or13, label %true_block, label %false_block50true_block:51  ret void52false_block:53  ret void54}55declare i1 @llvm.experimental.constrained.fcmps.f32(float, float, metadata, metadata) 56declare i1 @llvm.experimental.constrained.fcmp.f32(float, float, metadata, metadata) 57