64 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			ArmAsm
		
	
	
	
			
		
		
	
	
			64 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			ArmAsm
		
	
	
	
| // RUN: llvm-mc -triple i386-unknown-unknown %s | FileCheck %s
 | |
| 
 | |
| # Immediates
 | |
| # CHECK: addl $1, %eax
 | |
|         addl $1, %eax
 | |
| # CHECK: addl $3, %eax
 | |
|         addl $(1+2), %eax
 | |
| # CHECK: addl $a, %eax
 | |
|         addl $a, %eax
 | |
| # CHECK: addl $3, %eax
 | |
|         addl $1 + 2, %eax
 | |
|         
 | |
| # Disambiguation
 | |
| 
 | |
| # CHECK: addl $1, 8
 | |
|         addl $1, 4+4
 | |
| # CHECK: addl $1, 8
 | |
|         addl $1, (4+4)
 | |
| # CHECK: addl $1, 8(%eax)
 | |
|         addl $1, 4+4(%eax)
 | |
| # CHECK: addl $1, 8(%eax)
 | |
|         addl $1, (4+4)(%eax)
 | |
| # CHECK: addl $1, 8(%eax)
 | |
|         addl $1, 8(%eax)
 | |
| # CHECK: addl $1, (%eax)
 | |
|         addl $1, (%eax)
 | |
| # CHECK: addl $1, 8(,%eax)
 | |
|         addl $1, (4+4)(,%eax)
 | |
|         
 | |
| # Indirect Memory Operands
 | |
| # CHECK: addl $1, 1(%eax)
 | |
|         addl $1, 1(%eax)
 | |
| # CHECK: addl $1, 1(%eax,%ebx)
 | |
|         addl $1, 1(%eax,%ebx)
 | |
| # CHECK: addl $1, 1(%eax,%ebx)
 | |
|         addl $1, 1(%eax,%ebx,)
 | |
| # CHECK: addl $1, 1(%eax,%ebx,4)
 | |
|         addl $1, 1(%eax,%ebx,4)
 | |
| # CHECK: addl $1, 1(,%ebx)
 | |
|         addl $1, 1(,%ebx)
 | |
| # CHECK: addl $1, 1(,%ebx)
 | |
|         addl $1, 1(,%ebx,)
 | |
| # CHECK: addl $1, 1(,%ebx,4)
 | |
|         addl $1, 1(,%ebx,4)
 | |
| # CHECK: addl $1, 1(,%ebx,4)
 | |
|         addl $1, 1(,%ebx,(2+2))
 | |
| 
 | |
| # '*'
 | |
| # CHECK: calll a
 | |
|         call a
 | |
| # CHECK: calll *%eax
 | |
|         call *%eax
 | |
| # CHECK: calll *4(%eax)
 | |
|         call *4(%eax)
 | |
| foo:
 | |
| 	calll foo()
 | |
| # CHECK: calll foo{{$}}
 | |
| 	calll foo(,)
 | |
| # CHECK: calll foo{{$}}
 | |
| 
 | |
| # CHECK: movl	%gs:8, %eax
 | |
| movl %gs:8, %eax
 | |
| 
 |