1; RUN: llc -mtriple=thumbv8m.main-none-eabi %s -o - | FileCheck %s
2
3; Check that freeze operations on floating types are successfully softened.
4
5; CHECK-LABEL: sitofp_f32_i32:
6; CHECK: bl __aeabi_i2f
7define float @sitofp_f32_i32(i32 %x) #0 {
8  %val = call float @llvm.experimental.constrained.sitofp.f32.i32(i32 %x, metadata !"round.tonearest", metadata !"fpexcept.strict") #0
9  %val.fr = freeze float %val
10  ret float %val.fr
11}
12
13attributes #0 = { strictfp }
14
15declare float @llvm.experimental.constrained.sitofp.f32.i32(i32, metadata, metadata)
16declare double @llvm.experimental.constrained.sitofp.f64.i32(i32, metadata, metadata)
17