1*917b3d13SYingwei Zheng; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 5 2*917b3d13SYingwei Zheng; RUN: llc -mtriple=arm-eabi -o - %s | FileCheck %s 3*917b3d13SYingwei Zheng 4*917b3d13SYingwei Zheng; Ensure poison-generating flags are stripped by the time a freeze operand is visited. 5*917b3d13SYingwei Zheng 6*917b3d13SYingwei Zhengdefine i1 @drop_flags(i32 noundef %numentries, i64 %cond, i64 %arg) { 7*917b3d13SYingwei Zheng; CHECK-LABEL: drop_flags: 8*917b3d13SYingwei Zheng; CHECK: @ %bb.0: @ %entry 9*917b3d13SYingwei Zheng; CHECK-NEXT: ldm sp, {r1, r12} 10*917b3d13SYingwei Zheng; CHECK-NEXT: subs r1, r2, r1 11*917b3d13SYingwei Zheng; CHECK-NEXT: sbcs r1, r3, r12 12*917b3d13SYingwei Zheng; CHECK-NEXT: movlo r0, r2 13*917b3d13SYingwei Zheng; CHECK-NEXT: rsbs r1, r0, #0 14*917b3d13SYingwei Zheng; CHECK-NEXT: adc r0, r0, r1 15*917b3d13SYingwei Zheng; CHECK-NEXT: mov pc, lr 16*917b3d13SYingwei Zhengentry: 17*917b3d13SYingwei Zheng %cmp4 = icmp samesign ult i64 %cond, %arg 18*917b3d13SYingwei Zheng %conv6 = trunc nuw i64 %cond to i32 19*917b3d13SYingwei Zheng %spec.select = select i1 %cmp4, i32 %conv6, i32 %numentries 20*917b3d13SYingwei Zheng %spec.select.fr = freeze i32 %spec.select 21*917b3d13SYingwei Zheng %cmpz = icmp eq i32 %spec.select.fr, 0 22*917b3d13SYingwei Zheng ret i1 %cmpz 23*917b3d13SYingwei Zheng} 24