| ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 5 |
| ; RUN: llc -mtriple=x86_64-unknown-linux-gnu < %s | FileCheck %s |
| |
| ; Not from issue 76416, but separate testcase reported on the same |
| ; regressing commit. |
| define void @other_regression(i1 %cmp.not.i.i.i) { |
| ; CHECK-LABEL: other_regression: |
| ; CHECK: # %bb.0: # %entry |
| ; CHECK-NEXT: pushq %rax |
| ; CHECK-NEXT: .cfi_def_cfa_offset 16 |
| ; CHECK-NEXT: movl 0, %eax |
| ; CHECK-NEXT: xorl %ecx, %ecx |
| ; CHECK-NEXT: sarl %cl, %eax |
| ; CHECK-NEXT: movl $1, %edx |
| ; CHECK-NEXT: xorl %ecx, %ecx |
| ; CHECK-NEXT: shrl %cl, %edx |
| ; CHECK-NEXT: imull %eax, %edx |
| ; CHECK-NEXT: movslq %edx, %rsi |
| ; CHECK-NEXT: xorl %eax, %eax |
| ; CHECK-NEXT: xorl %edi, %edi |
| ; CHECK-NEXT: xorl %edx, %edx |
| ; CHECK-NEXT: callq *%rax |
| entry: |
| br label %for.cond10.preheader |
| |
| trap: ; preds = %for.body13 |
| unreachable |
| |
| for.cond10.preheader: ; preds = %while.cond.i.i.i, %entry |
| %indvars.iv = phi i64 [ 0, %entry ], [ 1, %while.cond.i.i.i ] |
| %i = trunc i64 %indvars.iv to i32 |
| br label %for.body13 |
| |
| for.body13: ; preds = %for.cond10.preheader |
| %i1 = load i32, ptr null, align 4 |
| %shr = ashr i32 %i1, %i |
| %shr15 = ashr i32 1, %i |
| %mul16 = mul i32 %shr15, %shr |
| %conv = sext i32 %mul16 to i64 |
| call void null(ptr null, i64 %conv, ptr null) |
| br i1 false, label %while.cond.i.i.i, label %trap |
| |
| while.cond.i.i.i: ; preds = %while.cond.i.i.i, %for.body13 |
| br i1 %cmp.not.i.i.i, label %for.cond10.preheader, label %while.cond.i.i.i |
| } |