blob: eff0c28e0f571ae51e324f9d5b6c0c3accb13a86 [file] [log] [blame]
Tim Shen7abe9882018-01-23 22:06:57 +00001; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2; RUN: llc -O0 -mtriple=powerpc64le-unknown-linux-gnu < %s | FileCheck %s
3
4; xscvdpsxds should NOT be emitted, since it saturates the result down to i64.
5define float @f_i128_f(float %v) {
6; CHECK-LABEL: f_i128_f:
7; CHECK: # %bb.0: # %entry
8; CHECK-NEXT: mflr 0
9; CHECK-NEXT: std 0, 16(1)
10; CHECK-NEXT: stdu 1, -32(1)
11; CHECK-NEXT: .cfi_def_cfa_offset 32
12; CHECK-NEXT: .cfi_offset lr, 16
13; CHECK-NEXT: bl __fixsfti
14; CHECK-NEXT: nop
15; CHECK-NEXT: bl __floattisf
16; CHECK-NEXT: nop
17; CHECK-NEXT: addi 1, 1, 32
18; CHECK-NEXT: ld 0, 16(1)
19; CHECK-NEXT: mtlr 0
20; CHECK-NEXT: blr
21entry:
22 %a = fptosi float %v to i128
23 %b = sitofp i128 %a to float
24 ret float %b
25}