mirror of
				https://github.com/c64scene-ar/llvm-6502.git
				synced 2025-10-31 08:16:47 +00:00 
			
		
		
		
	Remove && from the end of the lines to prevent tests from throwing run lines into the background. Also, clean up places where the same command is run multiple times by using a temporary file. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36142 91177308-0d34-0410-b5e6-96231b3b80d8
		
			
				
	
	
		
			48 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			LLVM
		
	
	
	
	
	
			
		
		
	
	
			48 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			LLVM
		
	
	
	
	
	
| ; RUN: llvm-upgrade < %s | llvm-as | llc -march=ppc32 -mcpu=g5 | not grep CPI
 | |
| 
 | |
| 
 | |
| ; Tests spltw(0x80000000) and spltw(0x7FFFFFFF).
 | |
| void %test1(<4 x int>* %P1, <4 x int>* %P2, <4 x float>* %P3) {
 | |
|         %tmp = load <4 x int>* %P1              
 | |
|         %tmp4 = and <4 x int> %tmp, < int -2147483648, int -2147483648, int -2147483648, int -2147483648 >                
 | |
|         store <4 x int> %tmp4, <4 x int>* %P1
 | |
|         %tmp7 = load <4 x int>* %P2             
 | |
|         %tmp9 = and <4 x int> %tmp7, < int 2147483647, int 2147483647, int 2147483647, int 2147483647 >           
 | |
|         store <4 x int> %tmp9, <4 x int>* %P2
 | |
|         %tmp = load <4 x float>* %P3            
 | |
|         %tmp11 = cast <4 x float> %tmp to <4 x int>             
 | |
|         %tmp12 = and <4 x int> %tmp11, < int 2147483647, int 2147483647, int 2147483647, int 2147483647 >
 | |
|         %tmp13 = cast <4 x int> %tmp12 to <4 x float>
 | |
|         store <4 x float> %tmp13, <4 x float>* %P3
 | |
|         ret void
 | |
| }
 | |
| 
 | |
| <4 x int> %test_30() {
 | |
|         ret <4 x int> <int 30, int 30, int 30, int 30>
 | |
| }
 | |
| 
 | |
| <4 x int> %test_29() {
 | |
|         ret <4 x int> <int 29, int 29, int 29, int 29>
 | |
| }
 | |
| 
 | |
| <8 x short> %test_n30() {
 | |
|         ret <8 x short> <short -30, short -30, short -30, short -30,
 | |
|                          short -30, short -30, short -30, short -30>
 | |
| }
 | |
| 
 | |
| <16 x sbyte> %test_n104() {
 | |
|         ret <16 x sbyte> <sbyte -104, sbyte -104, sbyte -104, sbyte -104,
 | |
|                           sbyte -104, sbyte -104, sbyte -104, sbyte -104,
 | |
|                           sbyte -104, sbyte -104, sbyte -104, sbyte -104,
 | |
|                           sbyte -104, sbyte -104, sbyte -104, sbyte -104>
 | |
| }
 | |
| 
 | |
| <4 x int> %test_vsldoi() {
 | |
|         ret <4 x int> <int 512, int 512, int 512, int 512>
 | |
| }
 | |
| 
 | |
| <4 x int> %test_rol() {
 | |
|         ret <4 x int> <int -11534337, int -11534337, int -11534337, int -11534337>
 | |
| }
 | |
| 
 |