; RUN: llc --mtriple=powerpc64le-linux-gnu < %s | FileCheck %s ; It tests in function DAGCombiner::visitSIGN_EXTEND_INREG ; signext will not be combined with extload, and causes extra zext. declare void @g(i32 signext) define void @foo(i8* %p) { entry: br label %while.body while.body: %0 = load i8, i8* %p, align 1 %conv = zext i8 %0 to i32 %cmp = icmp sgt i8 %0, 0 br i1 %cmp, label %if.then, label %while.body ; CHECK: lbz ; CHECK: extsb. ; CHECK-NOT: rlwinm ; CHECK: ble if.then: tail call void @g(i32 signext %conv) br label %while.body }