annotate test/MC/X86/intel-syntax-error.s @ 121:803732b1fca8

LLVM 5.0
author kono
date Fri, 27 Oct 2017 17:07:41 +0900
parents 1172e4bd9c6f
children 3a76565eade5
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
1 // RUN: not llvm-mc -triple i686-unknown-unknown -x86-asm-syntax=att %s -o /dev/null 2>&1 | FileCheck %s
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
2
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
3 // This tests weird forms of Intel and AT&T syntax that gas accepts that we
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
4 // don't. The [no]prefix operand of the syntax directive indicates whether
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
5 // registers need a '%' prefix.
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
6
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
7 .intel_syntax prefix
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
8 // CHECK: error: '.intel_syntax prefix' is not supported: registers must not have a '%' prefix in .intel_syntax
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
9 _test2:
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
10 mov DWORD PTR [%esp - 4], 257
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
11 .att_syntax noprefix
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
12 // CHECK: error: '.att_syntax noprefix' is not supported: registers must have a '%' prefix in .att_syntax
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
13 movl $257, -4(esp)
120
1172e4bd9c6f update 4.0.0
mir3636
parents: 77
diff changeset
14
1172e4bd9c6f update 4.0.0
mir3636
parents: 77
diff changeset
15
1172e4bd9c6f update 4.0.0
mir3636
parents: 77
diff changeset
16 .intel_syntax noprefix
1172e4bd9c6f update 4.0.0
mir3636
parents: 77
diff changeset
17
1172e4bd9c6f update 4.0.0
mir3636
parents: 77
diff changeset
18 .global arr
1172e4bd9c6f update 4.0.0
mir3636
parents: 77
diff changeset
19 .global i
1172e4bd9c6f update 4.0.0
mir3636
parents: 77
diff changeset
20 .set FOO, 2
121
803732b1fca8 LLVM 5.0
kono
parents: 120
diff changeset
21
120
1172e4bd9c6f update 4.0.0
mir3636
parents: 77
diff changeset
22 //CHECK: error: cannot use more than one symbol in memory operand
1172e4bd9c6f update 4.0.0
mir3636
parents: 77
diff changeset
23 mov eax, DWORD PTR arr[i]
1172e4bd9c6f update 4.0.0
mir3636
parents: 77
diff changeset
24 //CHECK: error: rip can only be used as a base register
1172e4bd9c6f update 4.0.0
mir3636
parents: 77
diff changeset
25 .code64
1172e4bd9c6f update 4.0.0
mir3636
parents: 77
diff changeset
26 mov rax, rip
1172e4bd9c6f update 4.0.0
mir3636
parents: 77
diff changeset
27 //CHECK: error: invalid base+index expression
1172e4bd9c6f update 4.0.0
mir3636
parents: 77
diff changeset
28 mov rbx, [rax+rip]
121
803732b1fca8 LLVM 5.0
kono
parents: 120
diff changeset
29 //CHECK: error: scale factor in address must be 1, 2, 4 or 8
803732b1fca8 LLVM 5.0
kono
parents: 120
diff changeset
30 lea RDX, [unknown_number * RAX + RBX + _foo]
803732b1fca8 LLVM 5.0
kono
parents: 120
diff changeset
31 //CHECK: error: BaseReg/IndexReg already set!
803732b1fca8 LLVM 5.0
kono
parents: 120
diff changeset
32 lea RDX, [4 * RAX + 27 * RBX + _pat]
803732b1fca8 LLVM 5.0
kono
parents: 120
diff changeset
33 //CHECK: error: unexpected bracket encountered
803732b1fca8 LLVM 5.0
kono
parents: 120
diff changeset
34 lea RDX, [[arr]
803732b1fca8 LLVM 5.0
kono
parents: 120
diff changeset
35 //CHECK: error: unexpected bracket encountered
803732b1fca8 LLVM 5.0
kono
parents: 120
diff changeset
36 lea RDX, [arr[]