1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-19 19:12:56 +02:00
llvm-mirror/test/CodeGen/AArch64/regress-fp128-livein.ll
Amara Emerson de52a239bd [AArch64] Fix NZCV reg live-in bug in F128CSEL codegen.
When generating the IfTrue basic block during the F128CSEL pseudo-instruction
handling, the NZCV live-in for the newly created BB wasn't being added. This
caused a fault during MI-sched/live range calculation when the predecessor
for the fall-through BB didn't have a live-in for phys-reg as expected.

llvm-svn: 193316
2013-10-24 08:28:24 +00:00

18 lines
527 B
LLVM

; RUN: llc -mtriple=aarch64-none-linux-gnu -verify-machineinstrs < %s
; Regression test for NZCV reg live-in not being added to fp128csel IfTrue BB,
; causing a crash during live range calc.
define void @fp128_livein(i64 %a) {
%tobool = icmp ne i64 %a, 0
%conv = zext i1 %tobool to i32
%conv2 = sitofp i32 %conv to fp128
%conv6 = sitofp i32 %conv to double
%call3 = tail call i32 @g(fp128 %conv2)
%call8 = tail call i32 @h(double %conv6)
ret void
}
declare i32 @f()
declare i32 @g(fp128)
declare i32 @h(double)