mirror of
				https://github.com/c64scene-ar/llvm-6502.git
				synced 2025-11-03 14:21:30 +00:00 
			
		
		
		
	Patch by Richard Mitton. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187476 91177308-0d34-0410-b5e6-96231b3b80d8
		
			
				
	
	
		
			16 lines
		
	
	
		
			504 B
		
	
	
	
		
			LLVM
		
	
	
	
	
	
			
		
		
	
	
			16 lines
		
	
	
		
			504 B
		
	
	
	
		
			LLVM
		
	
	
	
	
	
; RUN: llc < %s -march=x86 -x86-asm-syntax=intel | \
 | 
						|
; RUN:   grep "shld.*cl"
 | 
						|
; RUN: llc < %s -march=x86 -x86-asm-syntax=intel | \
 | 
						|
; RUN:   not grep "mov cl, bl"
 | 
						|
 | 
						|
; PR687
 | 
						|
 | 
						|
define i64 @foo(i64 %x, i64* %X) {
 | 
						|
        %tmp.1 = load i64* %X           ; <i64> [#uses=1]
 | 
						|
        %tmp.3 = trunc i64 %tmp.1 to i8         ; <i8> [#uses=1]
 | 
						|
        %shift.upgrd.1 = zext i8 %tmp.3 to i64          ; <i64> [#uses=1]
 | 
						|
        %tmp.4 = shl i64 %x, %shift.upgrd.1             ; <i64> [#uses=1]
 | 
						|
        ret i64 %tmp.4
 | 
						|
}
 | 
						|
 |