llvm/llvm/test/MC/X86/x86_operands.s

// 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

# Make sure we handle parsing uses of variables assigned
# to registers in operands.

v_ecx = %ecx
v_eax = %eax
v_gs  = %gs
v_imm = 4

#CHECK:	movl %eax, %ecx
	movl %eax, v_ecx

#CHECK: movl $1, %gs:0
	movl $1, v_gs:(,)
#CHECK: movl $1, %gs:(,%eax)
	movl $1, v_gs:(,%eax)
#CHECK: movl $1, %gs:(,%eax,2)
	movl $1, v_gs:(,%eax,2)
#CHECK: movl $1, %gs:(,%eax,4)
	movl $1, v_gs:(,%eax,v_imm)
#CHECK: movl $1, %gs:(,%eax)
	movl $1, v_gs:(,v_eax)
#CHECK: movl $1, %gs:(,%eax,2)
	movl $1, v_gs:(,v_eax,2)
#CHECK: movl $1, %gs:(,%eax,4)
	movl $1, v_gs:(,v_eax,v_imm)
#CHECK: movl $1, %gs:(%ecx)
	movl $1, v_gs:(%ecx)
#CHECK: movl $1, %gs:(%ecx)
	movl $1, v_gs:(%ecx,)
#CHECK: movl $1, %gs:(%ecx,%eax)
	movl $1, v_gs:(%ecx,%eax)
#CHECK: movl $1, %gs:(%ecx,%eax,2)
	movl $1, v_gs:(%ecx,%eax,2)
#CHECK: movl $1, %gs:(%ecx,%eax,4)
	movl $1, v_gs:(%ecx,%eax,v_imm)
#CHECK: movl $1, %gs:(%ecx,%eax)
	movl $1, v_gs:(%ecx,v_eax)
#CHECK: movl $1, %gs:(%ecx,%eax,2)
	movl $1, v_gs:(%ecx,v_eax,2)
#CHECK: movl $1, %gs:(%ecx,%eax,4)
	movl $1, v_gs:(%ecx,v_eax,v_imm)
#CHECK: movl $1, %gs:(%ecx)
	movl $1, v_gs:(v_ecx)
#CHECK: movl $1, %gs:(%ecx)
	movl $1, v_gs:(v_ecx,)
#CHECK: movl $1, %gs:(%ecx,%eax)
	movl $1, v_gs:(v_ecx,%eax)
#CHECK: movl $1, %gs:(%ecx,%eax,2)
	movl $1, v_gs:(v_ecx,%eax,2)
#CHECK: movl $1, %gs:(%ecx,%eax,4)
	movl $1, v_gs:(v_ecx,%eax,v_imm)
#CHECK: movl $1, %gs:(%ecx,%eax)
	movl $1, v_gs:(v_ecx,v_eax)
#CHECK: movl $1, %gs:(%ecx,%eax,2)
	movl $1, v_gs:(v_ecx,v_eax,2)
#CHECK: movl $1, %gs:(%ecx,%eax,4)
	movl $1, v_gs:(v_ecx,v_eax,v_imm)
#CHECK: movl $1, %gs:4
	movl $1, v_gs:4
#CHECK: movl $1, %gs:4
	movl $1, v_gs:4()
#CHECK: movl $1, %gs:4
	movl $1, v_gs:4(,)
#CHECK: movl $1, %gs:4(,%eax)
	movl $1, v_gs:4(,%eax)
#CHECK: movl $1, %gs:4(,%eax,2)
	movl $1, v_gs:4(,%eax,2)
#CHECK: movl $1, %gs:4(,%eax,4)
	movl $1, v_gs:4(,%eax,v_imm)
#CHECK: movl $1, %gs:4(,%eax)
	movl $1, v_gs:4(,v_eax)
#CHECK: movl $1, %gs:4(,%eax,2)
	movl $1, v_gs:4(,v_eax,2)
#CHECK: movl $1, %gs:4(,%eax,4)
	movl $1, v_gs:4(,v_eax,v_imm)
#CHECK: movl $1, %gs:4(%ecx)
	movl $1, v_gs:4(%ecx)
#CHECK: movl $1, %gs:4(%ecx)
	movl $1, v_gs:4(%ecx,)
#CHECK: movl $1, %gs:4(%ecx,%eax)
	movl $1, v_gs:4(%ecx,%eax)
#CHECK: movl $1, %gs:4(%ecx,%eax,2)
	movl $1, v_gs:4(%ecx,%eax,2)
#CHECK: movl $1, %gs:4(%ecx,%eax,4)
	movl $1, v_gs:4(%ecx,%eax,v_imm)
#CHECK: movl $1, %gs:4(%ecx,%eax)
	movl $1, v_gs:4(%ecx,v_eax)
#CHECK: movl $1, %gs:4(%ecx,%eax,2)
	movl $1, v_gs:4(%ecx,v_eax,2)
#CHECK: movl $1, %gs:4(%ecx,%eax,4)
	movl $1, v_gs:4(%ecx,v_eax,v_imm)
#CHECK: movl $1, %gs:4(%ecx)
	movl $1, v_gs:4(v_ecx)
#CHECK: movl $1, %gs:4(%ecx)
	movl $1, v_gs:4(v_ecx,)
#CHECK: movl $1, %gs:4(%ecx,%eax)
	movl $1, v_gs:4(v_ecx,%eax)
#CHECK: movl $1, %gs:4(%ecx,%eax,2)
	movl $1, v_gs:4(v_ecx,%eax,2)
#CHECK: movl $1, %gs:4(%ecx,%eax,4)
	movl $1, v_gs:4(v_ecx,%eax,v_imm)
#CHECK: movl $1, %gs:4(%ecx,%eax)
	movl $1, v_gs:4(v_ecx,v_eax)
#CHECK: movl $1, %gs:4(%ecx,%eax,2)
	movl $1, v_gs:4(v_ecx,v_eax,2)
#CHECK: movl $1, %gs:4(%ecx,%eax,4)
	movl $1, v_gs:4(v_ecx,v_eax,v_imm)
#CHECK: movl $1, %gs:4
	movl $1, v_gs:v_imm
#CHECK: movl $1, %gs:4
	movl $1, v_gs:v_imm()
#CHECK: movl $1, %gs:4
	movl $1, v_gs:v_imm(,)
#CHECK: movl $1, %gs:4(,%eax)
	movl $1, v_gs:v_imm(,%eax)
#CHECK: movl $1, %gs:4(,%eax,2)
	movl $1, v_gs:v_imm(,%eax,2)
#CHECK: movl $1, %gs:4(,%eax,4)
	movl $1, v_gs:v_imm(,%eax,v_imm)
#CHECK: movl $1, %gs:4(,%eax)
	movl $1, v_gs:v_imm(,v_eax)
#CHECK: movl $1, %gs:4(,%eax,2)
	movl $1, v_gs:v_imm(,v_eax,2)
#CHECK: movl $1, %gs:4(,%eax,4)
	movl $1, v_gs:v_imm(,v_eax,v_imm)
#CHECK: movl $1, %gs:4(%ecx)
	movl $1, v_gs:v_imm(%ecx)
#CHECK: movl $1, %gs:4(%ecx)
	movl $1, v_gs:v_imm(%ecx,)
#CHECK: movl $1, %gs:4(%ecx,%eax)
	movl $1, v_gs:v_imm(%ecx,%eax)
#CHECK: movl $1, %gs:4(%ecx,%eax,2)
	movl $1, v_gs:v_imm(%ecx,%eax,2)
#CHECK: movl $1, %gs:4(%ecx,%eax,4)
	movl $1, v_gs:v_imm(%ecx,%eax,v_imm)
#CHECK: movl $1, %gs:4(%ecx,%eax)
	movl $1, v_gs:v_imm(%ecx,v_eax)
#CHECK: movl $1, %gs:4(%ecx,%eax,2)
	movl $1, v_gs:v_imm(%ecx,v_eax,2)
#CHECK: movl $1, %gs:4(%ecx,%eax,4)
	movl $1, v_gs:v_imm(%ecx,v_eax,v_imm)
#CHECK: movl $1, %gs:4(%ecx)
	movl $1, v_gs:v_imm(v_ecx)
#CHECK: movl $1, %gs:4(%ecx)
	movl $1, v_gs:v_imm(v_ecx,)
#CHECK: movl $1, %gs:4(%ecx,%eax)
	movl $1, v_gs:v_imm(v_ecx,%eax)
#CHECK: movl $1, %gs:4(%ecx,%eax,2)
	movl $1, v_gs:v_imm(v_ecx,%eax,2)
#CHECK: movl $1, %gs:4(%ecx,%eax,4)
	movl $1, v_gs:v_imm(v_ecx,%eax,v_imm)
#CHECK: movl $1, %gs:4(%ecx,%eax)
	movl $1, v_gs:v_imm(v_ecx,v_eax)
#CHECK: movl $1, %gs:4(%ecx,%eax,2)
	movl $1, v_gs:v_imm(v_ecx,v_eax,2)
#CHECK: movl $1, %gs:4(%ecx,%eax,4)
	movl $1, v_gs:v_imm(v_ecx,v_eax,v_imm)
#CHECK: movl $1, %gs:8
	movl $1, v_gs:(v_imm+4)
#CHECK: movl $1, %gs:8
	movl $1, v_gs:(v_imm+4)()
#CHECK: movl $1, %gs:8
	movl $1, v_gs:(v_imm+4)(,)
#CHECK: movl $1, %gs:8(,%eax)
	movl $1, v_gs:(v_imm+4)(,%eax)
#CHECK: movl $1, %gs:8(,%eax,2)
	movl $1, v_gs:(v_imm+4)(,%eax,2)
#CHECK: movl $1, %gs:8(,%eax,4)
	movl $1, v_gs:(v_imm+4)(,%eax,v_imm)
#CHECK: movl $1, %gs:8(,%eax)
	movl $1, v_gs:(v_imm+4)(,v_eax)
#CHECK: movl $1, %gs:8(,%eax,2)
	movl $1, v_gs:(v_imm+4)(,v_eax,2)
#CHECK: movl $1, %gs:8(,%eax,4)
	movl $1, v_gs:(v_imm+4)(,v_eax,v_imm)
#CHECK: movl $1, %gs:8(%ecx)
	movl $1, v_gs:(v_imm+4)(%ecx)
#CHECK: movl $1, %gs:8(%ecx)
	movl $1, v_gs:(v_imm+4)(%ecx,)
#CHECK: movl $1, %gs:8(%ecx,%eax)
	movl $1, v_gs:(v_imm+4)(%ecx,%eax)
#CHECK: movl $1, %gs:8(%ecx,%eax,2)
	movl $1, v_gs:(v_imm+4)(%ecx,%eax,2)
#CHECK: movl $1, %gs:8(%ecx,%eax,4)
	movl $1, v_gs:(v_imm+4)(%ecx,%eax,v_imm)
#CHECK: movl $1, %gs:8(%ecx,%eax)
	movl $1, v_gs:(v_imm+4)(%ecx,v_eax)
#CHECK: movl $1, %gs:8(%ecx,%eax,2)
	movl $1, v_gs:(v_imm+4)(%ecx,v_eax,2)
#CHECK: movl $1, %gs:8(%ecx,%eax,4)
	movl $1, v_gs:(v_imm+4)(%ecx,v_eax,v_imm)
#CHECK: movl $1, %gs:8(%ecx)
	movl $1, v_gs:(v_imm+4)(v_ecx)
#CHECK: movl $1, %gs:8(%ecx)
	movl $1, v_gs:(v_imm+4)(v_ecx,)
#CHECK: movl $1, %gs:8(%ecx,%eax)
	movl $1, v_gs:(v_imm+4)(v_ecx,%eax)
#CHECK: movl $1, %gs:8(%ecx,%eax,2)
	movl $1, v_gs:(v_imm+4)(v_ecx,%eax,2)
#CHECK: movl $1, %gs:8(%ecx,%eax,4)
	movl $1, v_gs:(v_imm+4)(v_ecx,%eax,v_imm)
#CHECK: movl $1, %gs:8(%ecx,%eax)
	movl $1, v_gs:(v_imm+4)(v_ecx,v_eax)
#CHECK: movl $1, %gs:8(%ecx,%eax,2)
	movl $1, v_gs:(v_imm+4)(v_ecx,v_eax,2)
#CHECK: movl $1, %gs:8(%ecx,%eax,4)
	movl $1, v_gs:(v_imm+4)(v_ecx,v_eax,v_imm)
#CHECK: movl $1, %fs:0
	movl $1, %fs:(,)
#CHECK: movl $1, %fs:(,%eax)
	movl $1, %fs:(,%eax)
#CHECK: movl $1, %fs:(,%eax,2)
	movl $1, %fs:(,%eax,2)
#CHECK: movl $1, %fs:(,%eax,4)
	movl $1, %fs:(,%eax,v_imm)
#CHECK: movl $1, %fs:(,%eax)
	movl $1, %fs:(,v_eax)
#CHECK: movl $1, %fs:(,%eax,2)
	movl $1, %fs:(,v_eax,2)
#CHECK: movl $1, %fs:(,%eax,4)
	movl $1, %fs:(,v_eax,v_imm)
#CHECK: movl $1, %fs:(%ecx)
	movl $1, %fs:(%ecx)
#CHECK: movl $1, %fs:(%ecx)
	movl $1, %fs:(%ecx,)
#CHECK: movl $1, %fs:(%ecx,%eax)
	movl $1, %fs:(%ecx,%eax)
#CHECK: movl $1, %fs:(%ecx,%eax,2)
	movl $1, %fs:(%ecx,%eax,2)
#CHECK: movl $1, %fs:(%ecx,%eax,4)
	movl $1, %fs:(%ecx,%eax,v_imm)
#CHECK: movl $1, %fs:(%ecx,%eax)
	movl $1, %fs:(%ecx,v_eax)
#CHECK: movl $1, %fs:(%ecx,%eax,2)
	movl $1, %fs:(%ecx,v_eax,2)
#CHECK: movl $1, %fs:(%ecx,%eax,4)
	movl $1, %fs:(%ecx,v_eax,v_imm)
#CHECK: movl $1, %fs:(%ecx)
	movl $1, %fs:(v_ecx)
#CHECK: movl $1, %fs:(%ecx)
	movl $1, %fs:(v_ecx,)
#CHECK: movl $1, %fs:(%ecx,%eax)
	movl $1, %fs:(v_ecx,%eax)
#CHECK: movl $1, %fs:(%ecx,%eax,2)
	movl $1, %fs:(v_ecx,%eax,2)
#CHECK: movl $1, %fs:(%ecx,%eax,4)
	movl $1, %fs:(v_ecx,%eax,v_imm)
#CHECK: movl $1, %fs:(%ecx,%eax)
	movl $1, %fs:(v_ecx,v_eax)
#CHECK: movl $1, %fs:(%ecx,%eax,2)
	movl $1, %fs:(v_ecx,v_eax,2)
#CHECK: movl $1, %fs:(%ecx,%eax,4)
	movl $1, %fs:(v_ecx,v_eax,v_imm)
#CHECK: movl $1, %fs:4
	movl $1, %fs:4
#CHECK: movl $1, %fs:4
	movl $1, %fs:4()
#CHECK: movl $1, %fs:4
	movl $1, %fs:4(,)
#CHECK: movl $1, %fs:4(,%eax)
	movl $1, %fs:4(,%eax)
#CHECK: movl $1, %fs:4(,%eax,2)
	movl $1, %fs:4(,%eax,2)
#CHECK: movl $1, %fs:4(,%eax,4)
	movl $1, %fs:4(,%eax,v_imm)
#CHECK: movl $1, %fs:4(,%eax)
	movl $1, %fs:4(,v_eax)
#CHECK: movl $1, %fs:4(,%eax,2)
	movl $1, %fs:4(,v_eax,2)
#CHECK: movl $1, %fs:4(,%eax,4)
	movl $1, %fs:4(,v_eax,v_imm)
#CHECK: movl $1, %fs:4(%ecx)
	movl $1, %fs:4(%ecx)
#CHECK: movl $1, %fs:4(%ecx)
	movl $1, %fs:4(%ecx,)
#CHECK: movl $1, %fs:4(%ecx,%eax)
	movl $1, %fs:4(%ecx,%eax)
#CHECK: movl $1, %fs:4(%ecx,%eax,2)
	movl $1, %fs:4(%ecx,%eax,2)
#CHECK: movl $1, %fs:4(%ecx,%eax,4)
	movl $1, %fs:4(%ecx,%eax,v_imm)
#CHECK: movl $1, %fs:4(%ecx,%eax)
	movl $1, %fs:4(%ecx,v_eax)
#CHECK: movl $1, %fs:4(%ecx,%eax,2)
	movl $1, %fs:4(%ecx,v_eax,2)
#CHECK: movl $1, %fs:4(%ecx,%eax,4)
	movl $1, %fs:4(%ecx,v_eax,v_imm)
#CHECK: movl $1, %fs:4(%ecx)
	movl $1, %fs:4(v_ecx)
#CHECK: movl $1, %fs:4(%ecx)
	movl $1, %fs:4(v_ecx,)
#CHECK: movl $1, %fs:4(%ecx,%eax)
	movl $1, %fs:4(v_ecx,%eax)
#CHECK: movl $1, %fs:4(%ecx,%eax,2)
	movl $1, %fs:4(v_ecx,%eax,2)
#CHECK: movl $1, %fs:4(%ecx,%eax,4)
	movl $1, %fs:4(v_ecx,%eax,v_imm)
#CHECK: movl $1, %fs:4(%ecx,%eax)
	movl $1, %fs:4(v_ecx,v_eax)
#CHECK: movl $1, %fs:4(%ecx,%eax,2)
	movl $1, %fs:4(v_ecx,v_eax,2)
#CHECK: movl $1, %fs:4(%ecx,%eax,4)
	movl $1, %fs:4(v_ecx,v_eax,v_imm)
#CHECK: movl $1, %fs:4
	movl $1, %fs:v_imm
#CHECK: movl $1, %fs:4
	movl $1, %fs:v_imm()
#CHECK: movl $1, %fs:4
	movl $1, %fs:v_imm(,)
#CHECK: movl $1, %fs:4(,%eax)
	movl $1, %fs:v_imm(,%eax)
#CHECK: movl $1, %fs:4(,%eax,2)
	movl $1, %fs:v_imm(,%eax,2)
#CHECK: movl $1, %fs:4(,%eax,4)
	movl $1, %fs:v_imm(,%eax,v_imm)
#CHECK: movl $1, %fs:4(,%eax)
	movl $1, %fs:v_imm(,v_eax)
#CHECK: movl $1, %fs:4(,%eax,2)
	movl $1, %fs:v_imm(,v_eax,2)
#CHECK: movl $1, %fs:4(,%eax,4)
	movl $1, %fs:v_imm(,v_eax,v_imm)
#CHECK: movl $1, %fs:4(%ecx)
	movl $1, %fs:v_imm(%ecx)
#CHECK: movl $1, %fs:4(%ecx)
	movl $1, %fs:v_imm(%ecx,)
#CHECK: movl $1, %fs:4(%ecx,%eax)
	movl $1, %fs:v_imm(%ecx,%eax)
#CHECK: movl $1, %fs:4(%ecx,%eax,2)
	movl $1, %fs:v_imm(%ecx,%eax,2)
#CHECK: movl $1, %fs:4(%ecx,%eax,4)
	movl $1, %fs:v_imm(%ecx,%eax,v_imm)
#CHECK: movl $1, %fs:4(%ecx,%eax)
	movl $1, %fs:v_imm(%ecx,v_eax)
#CHECK: movl $1, %fs:4(%ecx,%eax,2)
	movl $1, %fs:v_imm(%ecx,v_eax,2)
#CHECK: movl $1, %fs:4(%ecx,%eax,4)
	movl $1, %fs:v_imm(%ecx,v_eax,v_imm)
#CHECK: movl $1, %fs:4(%ecx)
	movl $1, %fs:v_imm(v_ecx)
#CHECK: movl $1, %fs:4(%ecx)
	movl $1, %fs:v_imm(v_ecx,)
#CHECK: movl $1, %fs:4(%ecx,%eax)
	movl $1, %fs:v_imm(v_ecx,%eax)
#CHECK: movl $1, %fs:4(%ecx,%eax,2)
	movl $1, %fs:v_imm(v_ecx,%eax,2)
#CHECK: movl $1, %fs:4(%ecx,%eax,4)
	movl $1, %fs:v_imm(v_ecx,%eax,v_imm)
#CHECK: movl $1, %fs:4(%ecx,%eax)
	movl $1, %fs:v_imm(v_ecx,v_eax)
#CHECK: movl $1, %fs:4(%ecx,%eax,2)
	movl $1, %fs:v_imm(v_ecx,v_eax,2)
#CHECK: movl $1, %fs:4(%ecx,%eax,4)
	movl $1, %fs:v_imm(v_ecx,v_eax,v_imm)
#CHECK: movl $1, %fs:8
	movl $1, %fs:(v_imm+4)
#CHECK: movl $1, %fs:8
	movl $1, %fs:(v_imm+4)()
#CHECK: movl $1, %fs:8
	movl $1, %fs:(v_imm+4)(,)
#CHECK: movl $1, %fs:8(,%eax)
	movl $1, %fs:(v_imm+4)(,%eax)
#CHECK: movl $1, %fs:8(,%eax,2)
	movl $1, %fs:(v_imm+4)(,%eax,2)
#CHECK: movl $1, %fs:8(,%eax,4)
	movl $1, %fs:(v_imm+4)(,%eax,v_imm)
#CHECK: movl $1, %fs:8(,%eax)
	movl $1, %fs:(v_imm+4)(,v_eax)
#CHECK: movl $1, %fs:8(,%eax,2)
	movl $1, %fs:(v_imm+4)(,v_eax,2)
#CHECK: movl $1, %fs:8(,%eax,4)
	movl $1, %fs:(v_imm+4)(,v_eax,v_imm)
#CHECK: movl $1, %fs:8(%ecx)
	movl $1, %fs:(v_imm+4)(%ecx)
#CHECK: movl $1, %fs:8(%ecx)
	movl $1, %fs:(v_imm+4)(%ecx,)
#CHECK: movl $1, %fs:8(%ecx,%eax)
	movl $1, %fs:(v_imm+4)(%ecx,%eax)
#CHECK: movl $1, %fs:8(%ecx,%eax,2)
	movl $1, %fs:(v_imm+4)(%ecx,%eax,2)
#CHECK: movl $1, %fs:8(%ecx,%eax,4)
	movl $1, %fs:(v_imm+4)(%ecx,%eax,v_imm)
#CHECK: movl $1, %fs:8(%ecx,%eax)
	movl $1, %fs:(v_imm+4)(%ecx,v_eax)
#CHECK: movl $1, %fs:8(%ecx,%eax,2)
	movl $1, %fs:(v_imm+4)(%ecx,v_eax,2)
#CHECK: movl $1, %fs:8(%ecx,%eax,4)
	movl $1, %fs:(v_imm+4)(%ecx,v_eax,v_imm)
#CHECK: movl $1, %fs:8(%ecx)
	movl $1, %fs:(v_imm+4)(v_ecx)
#CHECK: movl $1, %fs:8(%ecx)
	movl $1, %fs:(v_imm+4)(v_ecx,)
#CHECK: movl $1, %fs:8(%ecx,%eax)
	movl $1, %fs:(v_imm+4)(v_ecx,%eax)
#CHECK: movl $1, %fs:8(%ecx,%eax,2)
	movl $1, %fs:(v_imm+4)(v_ecx,%eax,2)
#CHECK: movl $1, %fs:8(%ecx,%eax,4)
	movl $1, %fs:(v_imm+4)(v_ecx,%eax,v_imm)
#CHECK: movl $1, %fs:8(%ecx,%eax)
	movl $1, %fs:(v_imm+4)(v_ecx,v_eax)
#CHECK: movl $1, %fs:8(%ecx,%eax,2)
	movl $1, %fs:(v_imm+4)(v_ecx,v_eax,2)
#CHECK: movl $1, %fs:8(%ecx,%eax,4)
	movl $1, %fs:(v_imm+4)(v_ecx,v_eax,v_imm)