brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.1 KiB · 8ebf54a Raw
42 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc -O0 -mtriple=powerpc64le-unknown-linux-gnu < %s | FileCheck %s3 4; xscvdpsxds should NOT be emitted, since it saturates the result down to i64.5; We can't use friz here because it may return -0.0 where the original code doesn't.6 7define float @f_i128_f(float %v) nounwind {8; CHECK-LABEL: f_i128_f:9; CHECK:       # %bb.0: # %entry10; CHECK-NEXT:    mflr 011; CHECK-NEXT:    stdu 1, -32(1)12; CHECK-NEXT:    std 0, 48(1)13; CHECK-NEXT:    bl __fixsfti14; CHECK-NEXT:    nop15; CHECK-NEXT:    bl __floattisf16; CHECK-NEXT:    nop17; CHECK-NEXT:    addi 1, 1, 3218; CHECK-NEXT:    ld 0, 16(1)19; CHECK-NEXT:    mtlr 020; CHECK-NEXT:    blr21entry:22  %a = fptosi float %v to i12823  %b = sitofp i128 %a to float24  ret float %b25}26 27; NSZ, so it's safe to friz.28 29define float @f_i128_fi_nsz(float %v) #0 {30; CHECK-LABEL: f_i128_fi_nsz:31; CHECK:       # %bb.0: # %entry32; CHECK-NEXT:    xsrdpiz 1, 133; CHECK-NEXT:    blr34entry:35  %a = fptosi float %v to i12836  %b = sitofp i128 %a to float37  ret float %b38}39 40attributes #0 = { "no-signed-zeros-fp-math"="true" }41 42