blob: b81d109e7f45c2a2026eaebd400d0dfa0a14aadb [file] [log] [blame]
Hal Finkel46479192013-04-01 17:52:07 +00001; RUN: llc < %s -mtriple=powerpc64-unknown-linux-gnu -mcpu=a2 | FileCheck %s
2target datalayout = "E-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-f128:128:128-v128:128:128-n32:64"
3target triple = "powerpc64-unknown-linux-gnu"
4
5define float @foo(i64 %a) nounwind {
6entry:
7 %x = sitofp i64 %a to float
8 ret float %x
9
10; CHECK: @foo
11; CHECK: std 3,
12; CHECK: lfd [[REG:[0-9]+]],
13; CHECK: fcfids 1, [[REG]]
14; CHECK: blr
15}
16
17define double @goo(i64 %a) nounwind {
18entry:
19 %x = sitofp i64 %a to double
20 ret double %x
21
22; CHECK: @goo
23; CHECK: std 3,
24; CHECK: lfd [[REG:[0-9]+]],
25; CHECK: fcfid 1, [[REG]]
26; CHECK: blr
27}
28
29define float @foou(i64 %a) nounwind {
30entry:
31 %x = uitofp i64 %a to float
32 ret float %x
33
34; CHECK: @foou
35; CHECK: std 3,
36; CHECK: lfd [[REG:[0-9]+]],
37; CHECK: fcfidus 1, [[REG]]
38; CHECK: blr
39}
40
41define double @goou(i64 %a) nounwind {
42entry:
43 %x = uitofp i64 %a to double
44 ret double %x
45
46; CHECK: @goou
47; CHECK: std 3,
48; CHECK: lfd [[REG:[0-9]+]],
49; CHECK: fcfidu 1, [[REG]]
50; CHECK: blr
51}
52