llvm.org GIT mirror llvm / 9ad892c test / CodeGen / PowerPC / i64_fp.ll
9ad892c

Tree @9ad892c (Download .tar.gz)

i64_fp.ll @9ad892craw · history · blame

; fcfid and fctid should be generated when the 64bit feature is enabled, but not
; otherwise.

; RUN: llvm-upgrade < %s | llvm-as | llc -march=ppc32 -mattr=+64bit | \
; RUN:   grep fcfid
; RUN: llvm-upgrade < %s | llvm-as | llc -march=ppc32 -mattr=+64bit | \
; RUN:   grep fctidz
; RUN: llvm-upgrade < %s | llvm-as | llc -march=ppc32 -mcpu=g5 | \
; RUN:   grep fcfid
; RUN: llvm-upgrade < %s | llvm-as | llc -march=ppc32 -mcpu=g5 | \
; RUN:   grep fctidz
; RUN: llvm-upgrade < %s | llvm-as | llc -march=ppc32 -mattr=-64bit | \
; RUN:   not grep fcfid
; RUN: llvm-upgrade < %s | llvm-as | llc -march=ppc32 -mattr=-64bit | \
; RUN:   not grep fctidz
; RUN: llvm-upgrade < %s | llvm-as | llc -march=ppc32 -mcpu=g4 | \
; RUN:   not grep fcfid
; RUN: llvm-upgrade < %s | llvm-as | llc -march=ppc32 -mcpu=g4 | \
; RUN:   not grep fctidz

double %X(double %Y) {
    %A = cast double %Y to long
    %B = cast long %A to double
	ret double %B
}