27 lines · plain
1; RUN: llc --mtriple=powerpc64le-linux-gnu < %s | FileCheck %s2 3; It tests in function DAGCombiner::visitSIGN_EXTEND_INREG4; signext will not be combined with extload, and causes extra zext.5 6declare void @g(i32 signext)7 8define void @foo(ptr %p) {9entry:10 br label %while.body11 12while.body:13 %0 = load i8, ptr %p, align 114 %conv = zext i8 %0 to i3215 %cmp = icmp sgt i8 %0, 016 br i1 %cmp, label %if.then, label %while.body17; CHECK: lbz18; CHECK: extsb.19; CHECK-NOT: rlwinm20; CHECK: ble21 22if.then:23 tail call void @g(i32 signext %conv)24 br label %while.body25}26 27