1*5111881cSPete Cooper; RUN: llc %s -o - -verify-machineinstrs | FileCheck %s 2*5111881cSPete Cooper 3*5111881cSPete Coopertarget datalayout = "e-m:o-p:32:32-f64:32:64-v64:32:64-v128:32:128-a:0:32-n32-S32" 4*5111881cSPete Coopertarget triple = "thumbv7s-unknown-unknown" 5*5111881cSPete Cooper 6*5111881cSPete Cooper; Test that we don't crash the machine verifier when expanding t2ABS. 7*5111881cSPete Cooper; It was applying the kill flag to its source, even if the original t2ABS didn't 8*5111881cSPete Cooper; kill the operand prior to pseudo expansion. 9*5111881cSPete Cooper 10*5111881cSPete Cooper; Function Attrs: noreturn 11*5111881cSPete Cooperdeclare void @foo(i32, i32) #0 12*5111881cSPete Cooper 13*5111881cSPete Cooper; CHECK-LABEL: @test 14*5111881cSPete Cooper; CHECK: rsbmi 15*5111881cSPete Cooperdefine void @test(i32 %arg) { 16*5111881cSPete Cooper %cmp58 = icmp slt i32 %arg, 0 17*5111881cSPete Cooper %sub62 = sub nsw i32 0, %arg 18*5111881cSPete Cooper %l.1 = select i1 %cmp58, i32 %sub62, i32 %arg 19*5111881cSPete Cooper call void @foo(i32 %l.1, i32 %arg) #0 20*5111881cSPete Cooper unreachable 21*5111881cSPete Cooper} 22*5111881cSPete Cooper 23*5111881cSPete Cooperattributes #0 = { noreturn } 24