1// RUN: not llvm-mc -triple i686-unknown-unknown -x86-asm-syntax=att %s -o /dev/null 2>&1 | FileCheck %s
2
3// This tests weird forms of Intel and AT&T syntax that gas accepts that we
4// don't.  The [no]prefix operand of the syntax directive indicates whether
5// registers need a '%' prefix.
6
7.intel_syntax prefix
8// CHECK: error: '.intel_syntax prefix' is not supported: registers must not have a '%' prefix in .intel_syntax
9_test2:
10	mov	DWORD PTR [%esp - 4], 257
11.att_syntax noprefix
12// CHECK: error: '.att_syntax noprefix' is not supported: registers must have a '%' prefix in .att_syntax
13	movl	$257, -4(esp)
14
15
16.intel_syntax noprefix
17
18.global arr
19.global i
20.set FOO, 2
21//CHECK-STDERR: error: cannot use base register with variable reference
22mov eax, DWORD PTR arr[ebp + 1 + (2 * 5) - 3 + 1<<1]
23//CHECK-STDERR: error: cannot use index register with variable reference
24mov eax, DWORD PTR arr[esi*4]
25//CHECK-STDERR: error: cannot use more than one symbol in memory operand
26mov eax, DWORD PTR arr[i]
27