95 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			ArmAsm
		
	
	
	
			
		
		
	
	
			95 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			ArmAsm
		
	
	
	
| ; RUN: llvm-mc -triple avr -mattr=sram -show-encoding < %s | FileCheck %s
 | |
| ; RUN: llvm-mc -filetype=obj -triple avr -mattr=sram < %s \
 | |
| ; RUN:     | llvm-objdump -d --mattr=sram - | FileCheck --check-prefix=INST %s
 | |
| 
 | |
| 
 | |
| foo:
 | |
|   ; Normal
 | |
| 
 | |
|   st X,  r10
 | |
|   st X,  r17
 | |
| 
 | |
|   st Y,  r30
 | |
|   st Y,  r19
 | |
| 
 | |
|   st Z,  r10
 | |
|   st Z,  r2
 | |
| 
 | |
|   ; Postincrement
 | |
| 
 | |
|   st X+,  r10
 | |
|   st X+,  r17
 | |
| 
 | |
|   st Y+,  r30
 | |
|   st Y+,  r19
 | |
| 
 | |
|   st Z+,  r10
 | |
|   st Z+,  r2
 | |
| 
 | |
|   ; Predecrement
 | |
| 
 | |
|   st -X,  r10
 | |
|   st -X,  r17
 | |
| 
 | |
|   st -Y,  r30
 | |
|   st -Y,  r19
 | |
| 
 | |
|   st -Z,  r10
 | |
|   st -Z,  r2
 | |
| 
 | |
| ; Normal
 | |
| 
 | |
| ; CHECK: st X,   r10                  ; encoding: [0xac,0x92]
 | |
| ; CHECK: st X,   r17                  ; encoding: [0x1c,0x93]
 | |
| 
 | |
| ; CHECK: st Y,   r30                  ; encoding: [0xe8,0x83]
 | |
| ; CHECK: st Y,   r19                  ; encoding: [0x38,0x83]
 | |
| 
 | |
| ; CHECK: st Z,   r10                  ; encoding: [0xa0,0x82]
 | |
| ; CHECK: st Z,   r2                   ; encoding: [0x20,0x82]
 | |
| 
 | |
| 
 | |
| ; Postincrement
 | |
| 
 | |
| ; CHECK: st X+,  r10                  ; encoding: [0xad,0x92]
 | |
| ; CHECK: st X+,  r17                  ; encoding: [0x1d,0x93]
 | |
| 
 | |
| ; CHECK: st Y+,  r30                  ; encoding: [0xe9,0x93]
 | |
| ; CHECK: st Y+,  r19                  ; encoding: [0x39,0x93]
 | |
| 
 | |
| ; CHECK: st Z+,  r10                  ; encoding: [0xa1,0x92]
 | |
| ; CHECK: st Z+,  r2                   ; encoding: [0x21,0x92]
 | |
| 
 | |
| 
 | |
| ; Predecrement
 | |
| 
 | |
| ; CHECK: st -X,  r10                  ; encoding: [0xae,0x92]
 | |
| ; CHECK: st -X,  r17                  ; encoding: [0x1e,0x93]
 | |
| 
 | |
| ; CHECK: st -Y,  r30                  ; encoding: [0xea,0x93]
 | |
| ; CHECK: st -Y,  r19                  ; encoding: [0x3a,0x93]
 | |
| 
 | |
| ; CHECK: st -Z,  r10                  ; encoding: [0xa2,0x92]
 | |
| ; CHECK: st -Z,  r2                   ; encoding: [0x22,0x92]
 | |
| 
 | |
| ; INST: st X, r10
 | |
| ; INST: st X, r17
 | |
| ; INST: std Y+0, r30
 | |
| ; INST: std Y+0, r19
 | |
| ; INST: std Z+0, r10
 | |
| ; INST: std Z+0, r2
 | |
| 
 | |
| ; INST: st X+, r10
 | |
| ; INST: st X+, r17
 | |
| ; INST: st Y+, r30
 | |
| ; INST: st Y+, r19
 | |
| ; INST: st Z+, r10
 | |
| ; INST: st Z+, r2
 | |
| 
 | |
| ; INST: st -X, r10
 | |
| ; INST: st -X, r17
 | |
| ; INST: st -Y, r30
 | |
| ; INST: st -Y, r19
 | |
| ; INST: st -Z, r10
 | |
| ; INST: st -Z, r2
 |