Upload Tizen:Base source
[external/binutils.git] / gas / testsuite / gas / cris / regprefix-err-1.s
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