You've already forked linux-packaging-mono
							
							
		
			
	
	
		
			28 lines
		
	
	
		
			967 B
		
	
	
	
		
			ArmAsm
		
	
	
	
	
	
		
		
			
		
	
	
			28 lines
		
	
	
		
			967 B
		
	
	
	
		
			ArmAsm
		
	
	
	
	
	
|   | // PR19320 | ||
|  | // RUN: not llvm-mc -triple=armv7a-linux-gnueabi -show-encoding < %s 2>&1 | FileCheck %s --check-prefix=V7 | ||
|  | // RUN:     llvm-mc -triple=armv8a-linux-gnueabi -show-encoding < %s 2>&1 | FileCheck %s --check-prefix=V8 | ||
|  |   .text | ||
|  | 
 | ||
|  | // This tries to use the GNU ldrd/strd alias to create an ldrd/strd instruction | ||
|  | // using the sp register. This is valid for V8, but not earlier architectures. | ||
|  | 
 | ||
|  |   .arm | ||
|  | 
 | ||
|  | // V7: error: invalid instruction | ||
|  | // V8: ldrd    r12, sp, [r0, #32]      @ encoding: [0xd0,0xc2,0xc0,0xe1]
 | ||
|  |         ldrd    r12, [r0, #32] | ||
|  | 
 | ||
|  | // V7: error: invalid instruction | ||
|  | // V8: strd    r12, sp, [r0, #32]      @ encoding: [0xf0,0xc2,0xc0,0xe1]
 | ||
|  |         strd    r12, [r0, #32] | ||
|  | 
 | ||
|  |   .thumb | ||
|  | 
 | ||
|  | // V7: error: invalid instruction | ||
|  | // V8: ldrd    r12, sp, [r0, #32]      @ encoding: [0xd0,0xe9,0x08,0xcd]
 | ||
|  |         ldrd    r12, [r0, #32] | ||
|  | 
 | ||
|  | // V7: error: invalid instruction | ||
|  | // V8: strd    r12, sp, [r0, #32]      @ encoding: [0xc0,0xe9,0x08,0xcd]
 | ||
|  |         strd    r12, [r0, #32] |