1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-20 03:23:01 +02:00
llvm-mirror/test/CodeGen/PowerPC/tail-dup-analyzable-fallthrough.ll
Ehsan Amiri e2a6f26a8d [PPC] Generate positive FP zero using xor insn instead of loading from constant area
https://reviews.llvm.org/D23614

Currently we load +0.0 from constant area. That can change to be generated using
XOR instruction.

llvm-svn: 284995
2016-10-24 17:31:09 +00:00

35 lines
1.1 KiB
LLVM

; RUN: llc -O2 < %s | FileCheck %s
target datalayout = "e-m:e-i64:64-n32:64"
target triple = "powerpc64le-unknown-linux-gnu"
; Check that the conditional return block of fmax_double3.exit was not
; duplicated into the if.then.i block
; CHECK: # %if.then.i
; CHECK: xxlxor
; CHECK: stxvd2x
; CHECK-NOT: bclr
; CHECK: {{^}}.LBB{{[0-9_]+}}:
; CHECK-SAME: # %fmax_double3.exit
; CHECK: bclr
; CHECK: # %if.then
; Function Attrs: nounwind
define void @__fmax_double3_3D_exec(<2 x double>* %input6, i1 %bool1, i1 %bool2) #0 {
entry:
br i1 %bool1, label %if.then.i, label %fmax_double3.exit
if.then.i: ; preds = %entry
store <2 x double> zeroinitializer, <2 x double>* %input6, align 32
br label %fmax_double3.exit
fmax_double3.exit: ; preds = %if.then.i, %entry
br i1 %bool2, label %if.then, label %do.end
if.then: ; preds = %fmax_double3.exit
unreachable
do.end: ; preds = %fmax_double3.exit
ret void
}
attributes #0 = { nounwind }