mirror of
				https://github.com/c64scene-ar/llvm-6502.git
				synced 2025-11-04 05:17:07 +00:00 
			
		
		
		
	Revert r237828 "[X86] Remove unused node after morphing it from shr to and."
This caused assertions during DAG combine: PR23601. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@237843 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
		@@ -12737,7 +12737,6 @@ SDValue X86TargetLowering::EmitTest(SDValue Op, unsigned X86CC, SDLoc dl,
 | 
			
		||||
      SDValue New = DAG.getNode(ISD::AND, dl, VT, Op->getOperand(0),
 | 
			
		||||
                                DAG.getConstant(Mask, dl, VT));
 | 
			
		||||
      DAG.ReplaceAllUsesWith(Op, New);
 | 
			
		||||
      DAG.RemoveDeadNode(Op.getNode());
 | 
			
		||||
      Op = New;
 | 
			
		||||
    }
 | 
			
		||||
    break;
 | 
			
		||||
 
 | 
			
		||||
@@ -211,20 +211,3 @@ define zeroext i1 @test15(i32 %bf.load, i32 %n) {
 | 
			
		||||
; CHECK:  shrl	$16, %edi
 | 
			
		||||
; CHECK:  cmpl	%esi, %edi
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
; PR23353
 | 
			
		||||
define i1 @test16(i32* %a, i1* %b) {
 | 
			
		||||
  %load = load i32, i32* %a
 | 
			
		||||
  %trunc = trunc i32 %load to i8
 | 
			
		||||
  %mul = mul i8 %trunc, 2
 | 
			
		||||
  %icmp1 = icmp ne i8 %mul, 0
 | 
			
		||||
  store i1 %icmp1, i1* %b
 | 
			
		||||
  %and = and i8 %trunc, 127
 | 
			
		||||
  %icmp2 = icmp ne i8 %and, 0
 | 
			
		||||
  ret i1 %icmp2
 | 
			
		||||
 | 
			
		||||
; CHECK-LABEL: test16:
 | 
			
		||||
; CHECK-NOT: addb
 | 
			
		||||
; CHECK-NOT: andb
 | 
			
		||||
; CHECK: testb $127
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user