xref: /aosp_15_r20/external/llvm/test/MC/X86/x86_operands.s (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker// RUN: llvm-mc -triple i386-unknown-unknown %s | FileCheck %s
2*9880d681SAndroid Build Coastguard Worker
3*9880d681SAndroid Build Coastguard Worker# Immediates
4*9880d681SAndroid Build Coastguard Worker# CHECK: addl $1, %eax
5*9880d681SAndroid Build Coastguard Worker        addl $1, %eax
6*9880d681SAndroid Build Coastguard Worker# CHECK: addl $3, %eax
7*9880d681SAndroid Build Coastguard Worker        addl $(1+2), %eax
8*9880d681SAndroid Build Coastguard Worker# CHECK: addl $a, %eax
9*9880d681SAndroid Build Coastguard Worker        addl $a, %eax
10*9880d681SAndroid Build Coastguard Worker# CHECK: addl $3, %eax
11*9880d681SAndroid Build Coastguard Worker        addl $1 + 2, %eax
12*9880d681SAndroid Build Coastguard Worker
13*9880d681SAndroid Build Coastguard Worker# Disambiguation
14*9880d681SAndroid Build Coastguard Worker
15*9880d681SAndroid Build Coastguard Worker# CHECK: addl $1, 8
16*9880d681SAndroid Build Coastguard Worker        addl $1, 4+4
17*9880d681SAndroid Build Coastguard Worker# CHECK: addl $1, 8
18*9880d681SAndroid Build Coastguard Worker        addl $1, (4+4)
19*9880d681SAndroid Build Coastguard Worker# CHECK: addl $1, 8(%eax)
20*9880d681SAndroid Build Coastguard Worker        addl $1, 4+4(%eax)
21*9880d681SAndroid Build Coastguard Worker# CHECK: addl $1, 8(%eax)
22*9880d681SAndroid Build Coastguard Worker        addl $1, (4+4)(%eax)
23*9880d681SAndroid Build Coastguard Worker# CHECK: addl $1, 8(%eax)
24*9880d681SAndroid Build Coastguard Worker        addl $1, 8(%eax)
25*9880d681SAndroid Build Coastguard Worker# CHECK: addl $1, (%eax)
26*9880d681SAndroid Build Coastguard Worker        addl $1, (%eax)
27*9880d681SAndroid Build Coastguard Worker# CHECK: addl $1, 8(,%eax)
28*9880d681SAndroid Build Coastguard Worker        addl $1, (4+4)(,%eax)
29*9880d681SAndroid Build Coastguard Worker
30*9880d681SAndroid Build Coastguard Worker# Indirect Memory Operands
31*9880d681SAndroid Build Coastguard Worker# CHECK: addl $1, 1(%eax)
32*9880d681SAndroid Build Coastguard Worker        addl $1, 1(%eax)
33*9880d681SAndroid Build Coastguard Worker# CHECK: addl $1, 1(%eax,%ebx)
34*9880d681SAndroid Build Coastguard Worker        addl $1, 1(%eax,%ebx)
35*9880d681SAndroid Build Coastguard Worker# CHECK: addl $1, 1(%eax,%ebx)
36*9880d681SAndroid Build Coastguard Worker        addl $1, 1(%eax,%ebx,)
37*9880d681SAndroid Build Coastguard Worker# CHECK: addl $1, 1(%eax,%ebx,4)
38*9880d681SAndroid Build Coastguard Worker        addl $1, 1(%eax,%ebx,4)
39*9880d681SAndroid Build Coastguard Worker# CHECK: addl $1, 1(,%ebx)
40*9880d681SAndroid Build Coastguard Worker        addl $1, 1(,%ebx)
41*9880d681SAndroid Build Coastguard Worker# CHECK: addl $1, 1(,%ebx)
42*9880d681SAndroid Build Coastguard Worker        addl $1, 1(,%ebx,)
43*9880d681SAndroid Build Coastguard Worker# CHECK: addl $1, 1(,%ebx,4)
44*9880d681SAndroid Build Coastguard Worker        addl $1, 1(,%ebx,4)
45*9880d681SAndroid Build Coastguard Worker# CHECK: addl $1, 1(,%ebx,4)
46*9880d681SAndroid Build Coastguard Worker        addl $1, 1(,%ebx,(2+2))
47*9880d681SAndroid Build Coastguard Worker
48*9880d681SAndroid Build Coastguard Worker# '*'
49*9880d681SAndroid Build Coastguard Worker# CHECK: calll a
50*9880d681SAndroid Build Coastguard Worker        call a
51*9880d681SAndroid Build Coastguard Worker# CHECK: calll *%eax
52*9880d681SAndroid Build Coastguard Worker        call *%eax
53*9880d681SAndroid Build Coastguard Worker# CHECK: calll *4(%eax)
54*9880d681SAndroid Build Coastguard Worker        call *4(%eax)
55*9880d681SAndroid Build Coastguard Workerfoo:
56*9880d681SAndroid Build Coastguard Worker	calll foo()
57*9880d681SAndroid Build Coastguard Worker# CHECK: calll foo{{$}}
58*9880d681SAndroid Build Coastguard Worker	calll foo(,)
59*9880d681SAndroid Build Coastguard Worker# CHECK: calll foo{{$}}
60*9880d681SAndroid Build Coastguard Worker
61*9880d681SAndroid Build Coastguard Worker# CHECK: movl	%gs:8, %eax
62*9880d681SAndroid Build Coastguard Workermovl %gs:8, %eax
63*9880d681SAndroid Build Coastguard Worker
64