mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-08-26 07:29:55 +00:00
When we have an instruction for this (and, thus, don't generate a runtime call), we need to custom type legalize this (in a trivial way, just as we do for fp_to_sint). Fixes PR23173. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@234561 91177308-0d34-0410-b5e6-96231b3b80d8
24 lines
602 B
LLVM
24 lines
602 B
LLVM
; RUN: llc < %s | FileCheck %s
|
|
target datalayout = "E-m:e-p:32:32-i64:64-n32"
|
|
target triple = "powerpc-unknown-unknown"
|
|
|
|
; Function Attrs: nounwind
|
|
define i64 @testullf(float %arg) #0 {
|
|
entry:
|
|
%arg.addr = alloca float, align 4
|
|
store float %arg, float* %arg.addr, align 4
|
|
%0 = load float, float* %arg.addr, align 4
|
|
%conv = fptoui float %0 to i64
|
|
ret i64 %conv
|
|
|
|
; CHECK-LABEL: @testullf
|
|
; CHECK: fctiduz [[REG1:[0-9]+]], 1
|
|
; CHECK: stfd [[REG1]], [[OFF:[0-9]+]](1)
|
|
; CHECK-DAG: lwz 3, [[OFF]](1)
|
|
; CHECK-DAG: lwz 4, {{[0-9]+}}(1)
|
|
; CHECK: blr
|
|
}
|
|
|
|
attributes #0 = { nounwind "target-cpu"="a2" }
|
|
|