blob: 0807717e50d07bb8f8f8a8fa10045eef52e4f559 [file] [log] [blame]
Hal Finkel9ad0f492013-03-31 01:58:02 +00001; RUN: llc < %s -mtriple=powerpc64-unknown-linux-gnu -mcpu=g5 | 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(i32 %a) nounwind {
6entry:
7 %x = sitofp i32 %a to float
8 ret float %x
9
10; CHECK: @foo
11; CHECK: extsw [[REG:[0-9]+]], 3
12; CHECK: std [[REG]],
13; CHECK: lfd [[REG2:[0-9]+]],
14; CHECK: fcfid [[REG3:[0-9]+]], [[REG2]]
15; CHECK: frsp 1, [[REG3]]
16; CHECK: blr
17}
18
19define double @goo(i32 %a) nounwind {
20entry:
21 %x = sitofp i32 %a to double
22 ret double %x
23
24; CHECK: @goo
25; CHECK: extsw [[REG:[0-9]+]], 3
26; CHECK: std [[REG]],
27; CHECK: lfd [[REG2:[0-9]+]],
28; CHECK: fcfid 1, [[REG2]]
29; CHECK: blr
30}
31