brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.2 KiB · 74ce26b Raw
31 lines · plain
1; RUN: llc -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 saturation conversion is translated when there is forward declaration5; of SPIRV entry.6 7; CHECK: OpDecorate %[[#SAT:]] SaturatedConversion8; CHECK: %[[#SAT]] = OpConvertFToU %[[#]] %[[#]]9 10declare spir_func zeroext i8 @_Z30__spirv_ConvertFToU_Ruchar_satf(float)11 12define spir_func void @forward(float %val, i8 %initval, ptr addrspace(1) %dst) {13entry:14  br label %for.cond15 16for.cond:                                         ; preds = %for.body, %entry17  %new_val.0 = phi i8 [ %initval, %entry ], [ %call1, %for.body ]18  %i.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ]19  %cmp = icmp ult i32 %i.0, 120  br i1 %cmp, label %for.body, label %for.end21 22for.body:                                         ; preds = %for.cond23  %call1 = call spir_func zeroext i8 @_Z30__spirv_ConvertFToU_Ruchar_satf(float noundef %val)24  %inc = add i32 %i.0, 125  br label %for.cond26 27for.end:                                          ; preds = %for.cond28  store i8 %new_val.0, ptr addrspace(1) %dst, align 129  ret void30}31