mirror of
				https://github.com/c64scene-ar/llvm-6502.git
				synced 2025-11-03 14:21:30 +00:00 
			
		
		
		
	automatically. Use -S with llvm-gcc rather than -c, so tests can work when llvm-gcc is really dragonegg (which can output IR with -S but not -c). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120160 91177308-0d34-0410-b5e6-96231b3b80d8
		
			
				
	
	
		
			22 lines
		
	
	
		
			384 B
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			22 lines
		
	
	
		
			384 B
		
	
	
	
		
			C++
		
	
	
	
	
	
// RUN: %llvmgcc %s -S -m32 -fasm-blocks -o /dev/null
 | 
						|
// This should not warn about unreferenced label. 8195660.
 | 
						|
// XFAIL: *
 | 
						|
// XTARGET: x86,i386,i686
 | 
						|
 | 
						|
void quarterAsm(int array[], int len)
 | 
						|
{
 | 
						|
  __asm
 | 
						|
  {
 | 
						|
    mov esi, array;
 | 
						|
    mov ecx, len;
 | 
						|
    shr ecx, 2;
 | 
						|
loop:
 | 
						|
    movdqa xmm0, [esi];
 | 
						|
    psrad xmm0, 2;
 | 
						|
    movdqa [esi], xmm0;
 | 
						|
    add esi, 16;
 | 
						|
    sub ecx, 1;
 | 
						|
    jnz loop;
 | 
						|
  }
 | 
						|
}
 |