Home | History | Annotate | Download | only in PowerPC
      1 ; RUN: llc < %s -mtriple=powerpc64-unknown-linux-gnu -mcpu=a2 | FileCheck %s
      2 target 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"
      3 target triple = "powerpc64-unknown-linux-gnu"
      4 
      5 define float @foo(i64 %a) nounwind {
      6 entry:
      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 
     17 define double @goo(i64 %a) nounwind {
     18 entry:
     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 
     29 define float @foou(i64 %a) nounwind {
     30 entry:
     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 
     41 define double @goou(i64 %a) nounwind {
     42 entry:
     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 
     53