diff options
Diffstat (limited to 'test/CodeGen/PowerPC/BoolRetToIntTest-2.ll')
-rw-r--r-- | test/CodeGen/PowerPC/BoolRetToIntTest-2.ll | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/test/CodeGen/PowerPC/BoolRetToIntTest-2.ll b/test/CodeGen/PowerPC/BoolRetToIntTest-2.ll new file mode 100644 index 000000000000..14669b9005b7 --- /dev/null +++ b/test/CodeGen/PowerPC/BoolRetToIntTest-2.ll @@ -0,0 +1,19 @@ +; 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 +} |