Commit | Line | Data |
---|---|---|
37260204 HPN |
1 | ; Test that we get errors when we require a register prefix. |
2 | ||
3 | ; { dg-do assemble } | |
4 | ||
5 | .syntax register_prefix | |
6 | start: | |
7 | ||
8 | ; Some simple tests that we indeed require a register prefix, and some | |
9 | ; that should not be flagged as syntax errors. | |
10 | ||
11 | push srp ; { dg-error "(Illegal|Invalid) operands" } | |
12 | push r3 ; { dg-error "(Illegal|Invalid) operands" } | |
13 | move.d $r7,r8 ; { dg-error "(Illegal|Invalid) operands" } | |
14 | move.d r8,[$r11] ; { dg-error "(Illegal|Invalid) operands" } | |
15 | move.d $r8,[$r11+] | |
16 | move.d $r8,[$r10+$r9.b] | |
17 | move.d $r7,[$r10+[$r1].d] | |
18 | move.d $r7,[$r10+[$r3+].w] | |
19 | move $r8,srp ; { dg-error "(Illegal|Invalid) operands" } | |
20 | move ccr,$r13 ; { dg-error "(Illegal|Invalid) operands" } | |
21 | movem r4,[$r12+] ; { dg-error "(Illegal|Invalid) operands" } | |
22 | ||
23 | ; Here we have no ambiguity; r10 can only be a symbol when we reuire a | |
24 | ; prefix. It does not just miss a size specifier, e.g. as in [r12+r10.d]. | |
25 | move.d $r13,[$r12+r10] | |
26 | ||
27 | .syntax no_register_prefix | |
28 | ||
29 | ; Perhaps in this one we should backtrack and retry r10 as a symbol, but | |
30 | ; the ambiguity is closer to a programming error, so we should catch it as | |
31 | ; such. | |
32 | move.d $r13,[$r12+r10] ; { dg-error "(Illegal|Invalid) operands" } | |
33 | move.d r13,[r12+r16] ; No register named r16 so must be a symbol. | |
34 | nop |