65 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			ArmAsm
		
	
	
	
			
		
		
	
	
			65 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			ArmAsm
		
	
	
	
| # RUN: not llvm-mc -triple x86_64-unknown-unknown %s 2>&1 | FileCheck %s --check-prefix=ASM-ERR
 | |
| # RUN: llvm-mc -filetype=obj -triple x86_64-unknown-unknown %s | llvm-objdump -j .data  -s - | FileCheck %s --check-prefix=OBJDATA
 | |
| # RUN: llvm-mc -filetype=obj -triple x86_64-unknown-unknown %s | llvm-objdump -j .text -s - | FileCheck %s --check-prefix=OBJTEXT
 | |
| .data
 | |
| 
 | |
| # OBJDATA: Contents of section .data
 | |
| # OBJDATA-NEXT: 0000 aa0506ff
 | |
| 	
 | |
| foo2:
 | |
| # ASM-ERR: [[@LINE+1]]:5: error: expected absolute expression
 | |
| .if . - foo2 == 0
 | |
|     .byte 0xaa
 | |
| .else
 | |
|     .byte 0x00
 | |
| .endif
 | |
| 
 | |
| foo3:
 | |
|     .byte 5
 | |
| # ASM-ERR: [[@LINE+1]]:5: error: expected absolute expression
 | |
| .if . - foo3 == 1
 | |
|    .byte 6
 | |
| .else
 | |
|    .byte 7
 | |
| .endif
 | |
| 
 | |
| .byte 0xff
 | |
| 
 | |
| # nop is a fixed size instruction so this should pass.
 | |
| 	
 | |
| # OBJTEXT: Contents of section .text
 | |
| # OBJTEXT-NEXT: 0000 9090ff34 25000000 00909090 78563412
 | |
| # OBJTEXT-NEXT: 0010 78563412 90
 | |
| 
 | |
| .text
 | |
| 	
 | |
| text1:
 | |
|         nop
 | |
| # ASM-ERR: [[@LINE+1]]:5: error: expected absolute expression
 | |
| .if . - text1 == 1
 | |
| 	nop
 | |
| .else
 | |
| 	ret
 | |
| .endif
 | |
| 	push gs
 | |
| 	nop
 | |
| 	nop
 | |
| 	nop
 | |
| # No additional errors.
 | |
| #	
 | |
| # ASM-ERR-NOT: {{[0-9]+}}:{{[0-9]+}}: error:
 | |
| 
 | |
| 	
 | |
| 
 | |
| text2:
 | |
| 	.long 0x12345678
 | |
| text3:
 | |
| 	.fill (text3-text2)/4, 4, 0x12345678
 | |
| 	nop
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 	
 |