1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2; RUN: llc -mtriple=aarch64-unknown-unknown < %s | FileCheck %s
3
4define float @trunc_unsigned_f32(float %x) #0 {
5; CHECK-LABEL: trunc_unsigned_f32:
6; CHECK:       // %bb.0:
7; CHECK-NEXT:    frintz s0, s0
8; CHECK-NEXT:    ret
9  %i = fptoui float %x to i32
10  %r = uitofp i32 %i to float
11  ret float %r
12}
13
14define double @trunc_unsigned_f64(double %x) #0 {
15; CHECK-LABEL: trunc_unsigned_f64:
16; CHECK:       // %bb.0:
17; CHECK-NEXT:    frintz d0, d0
18; CHECK-NEXT:    ret
19  %i = fptoui double %x to i64
20  %r = uitofp i64 %i to double
21  ret double %r
22}
23
24define float @trunc_signed_f32(float %x) #0 {
25; CHECK-LABEL: trunc_signed_f32:
26; CHECK:       // %bb.0:
27; CHECK-NEXT:    frintz s0, s0
28; CHECK-NEXT:    ret
29  %i = fptosi float %x to i32
30  %r = sitofp i32 %i to float
31  ret float %r
32}
33
34define double @trunc_signed_f64(double %x) #0 {
35; CHECK-LABEL: trunc_signed_f64:
36; CHECK:       // %bb.0:
37; CHECK-NEXT:    frintz d0, d0
38; CHECK-NEXT:    ret
39  %i = fptosi double %x to i64
40  %r = sitofp i64 %i to double
41  ret double %r
42}
43
44attributes #0 = { "no-signed-zeros-fp-math"="true" }
45
46