1; RUN: llc --mtriple=powerpc64le-linux-gnu < %s | FileCheck %s
2
3; It tests in function DAGCombiner::visitSIGN_EXTEND_INREG
4; signext will not be combined with extload, and causes extra zext.
5
6declare void @g(i32 signext)
7
8define void @foo(i8* %p) {
9entry:
10  br label %while.body
11
12while.body:
13  %0 = load i8, i8* %p, align 1
14  %conv = zext i8 %0 to i32
15  %cmp = icmp sgt i8 %0, 0
16  br i1 %cmp, label %if.then, label %while.body
17; CHECK:     lbz
18; CHECK:     extsb.
19; CHECK-NOT: rlwinm
20; CHECK:     ble
21
22if.then:
23  tail call void @g(i32 signext %conv)
24  br label %while.body
25}
26
27