mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-24 11:42:57 +01:00
dacd0807cc
In PPCBoolRetToInt bool value is changed to i32 type. On ppc64 it may introduce an extra zero extension for the return value. This patch changes the integer type to i64 to avoid the zero extension on ppc64. This patch fixed PR32442. Differential Revision: https://reviews.llvm.org/D31407 llvm-svn: 305001
20 lines
467 B
LLVM
20 lines
467 B
LLVM
; RUN: llc -mtriple=powerpc64le-linux-gnu -mcpu=pwr8 < %s | FileCheck %s
|
|
|
|
; https://bugs.llvm.org/show_bug.cgi?id=32442
|
|
; Don't generate zero extension for the return value.
|
|
; CHECK-NOT: clrldi
|
|
|
|
define zeroext i1 @foo(i32 signext %i, i32* %p) {
|
|
entry:
|
|
%cmp = icmp eq i32 %i, 0
|
|
br i1 %cmp, label %return, label %if.end
|
|
|
|
if.end:
|
|
store i32 %i, i32* %p, align 4
|
|
br label %return
|
|
|
|
return:
|
|
%retval = phi i1 [ true, %if.end ], [ false, %entry ]
|
|
ret i1 %retval
|
|
}
|