mirror of
				https://github.com/c64scene-ar/llvm-6502.git
				synced 2025-11-03 14:21:30 +00:00 
			
		
		
		
	git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19543 91177308-0d34-0410-b5e6-96231b3b80d8
		
			
				
	
	
		
			33 lines
		
	
	
		
			1015 B
		
	
	
	
		
			LLVM
		
	
	
	
	
	
			
		
		
	
	
			33 lines
		
	
	
		
			1015 B
		
	
	
	
		
			LLVM
		
	
	
	
	
	
; RUN: llvm-as < %s | opt -instcombine | llvm-dis | not grep getelementptr
 | 
						|
 | 
						|
bool %test1(short* %P, int %I, int %J) {
 | 
						|
    %X = getelementptr short* %P, int %I
 | 
						|
    %Y = getelementptr short* %P, int %J
 | 
						|
 | 
						|
    %C = setlt short* %X, %Y
 | 
						|
    ret bool %C
 | 
						|
}
 | 
						|
 | 
						|
bool %test2(short* %P, int %I) {
 | 
						|
    %X = getelementptr short* %P, int %I
 | 
						|
 | 
						|
    %C = setlt short* %X, %P
 | 
						|
    ret bool %C
 | 
						|
}
 | 
						|
 | 
						|
int %test3(int* %P, int %A, int %B) {
 | 
						|
        %tmp.4 = getelementptr int* %P, int %A          ; <int*> [#uses=1]
 | 
						|
        %tmp.9 = getelementptr int* %P, int %B          ; <int*> [#uses=1]
 | 
						|
        %tmp.10 = seteq int* %tmp.4, %tmp.9             ; <bool> [#uses=1]
 | 
						|
        %tmp.11 = cast bool %tmp.10 to int              ; <int> [#uses=1]
 | 
						|
        ret int %tmp.11
 | 
						|
}
 | 
						|
 | 
						|
int %test4(int* %P, int %A, int %B) {
 | 
						|
        %tmp.4 = getelementptr int* %P, int %A          ; <int*> [#uses=1]
 | 
						|
        %tmp.6 = seteq int* %tmp.4, %P          ; <bool> [#uses=1]
 | 
						|
        %tmp.7 = cast bool %tmp.6 to int                ; <int> [#uses=1]
 | 
						|
        ret int %tmp.7
 | 
						|
}
 | 
						|
 |