forked from OSchip/llvm-project
				
			
		
			
				
	
	
		
			19 lines
		
	
	
		
			468 B
		
	
	
	
		
			LLVM
		
	
	
	
			
		
		
	
	
			19 lines
		
	
	
		
			468 B
		
	
	
	
		
			LLVM
		
	
	
	
| ; RUN: llvm-as < %s | llc -march=ppc32 &&
 | |
| ; RUN: llvm-as < %s | llc -march=ppc32 | not grep rlwin
 | |
| 
 | |
| void %test(ubyte* %P) {
 | |
| 	%W = load ubyte* %P
 | |
| 	%X = shl ubyte %W, ubyte 1
 | |
| 	%Y = add ubyte %X, 2
 | |
| 	%Z = and ubyte %Y, 254        ; dead and
 | |
| 	store ubyte %Z, ubyte* %P
 | |
| 	ret void
 | |
| }
 | |
| 
 | |
| ushort %test2(ushort %crc) { ; No and's should be needed for the ushorts here.
 | |
|         %tmp.1 = shr ushort %crc, ubyte 1
 | |
|         %tmp.7 = xor ushort %tmp.1, 40961
 | |
|         ret ushort %tmp.7
 | |
| }
 | |
| 
 |