This commit was manufactured by cvs2svn to create branch
[external/binutils.git] / gas / testsuite / gas / sh / sh64 / err-3.s
1 ! { dg-do assemble }
2 ! { dg-options "--abi=32" }
3
4 ! Check that we get errors for immediate operands with expressions with
5 ! resolvable differences between local symbols, but not in range for the
6 ! operands, and no errors for nearby valid values.
7
8         .text
9         .mode SHmedia
10 start:
11         addi r50,.Lab500 - .Lab1,r40
12         addi r50,.Lab1000 - .Lab1,r40           ! { dg-error "not a 10-bit signed value" }
13         addi r50,.Lab500 - .Lab1 + 1,r40
14         addi r50,.Lab500 - .Lab1 + 2,r40
15         ld.uw r30,.Lab1000 - .Lab1,r40
16         ld.uw r30,.Lab500 - .Lab1 + 1,r40       ! { dg-error "not an even value" }
17         ld.uw r30,.Lab500 - .Lab1 + 2,r40
18         ld.uw r50,.Lab2000 - .Lab1,r20          ! { dg-error "not a 11-bit signed value" }
19         ld.l r50,.Lab2000 - .Lab1,r20
20         ld.l r50,.Lab2000 - .Lab1 + 1,r20       ! { dg-error "not a multiple of 4" }
21         ld.l r50,.Lab2000 - .Lab1 + 2,r20       ! { dg-error "not a multiple of 4" }
22         ld.l r50,.Lab4000 - .Lab1,r20           ! { dg-error "not a 12-bit signed value" }
23         nop
24
25         .data
26         .long 0
27 .Lab1:
28         .zero 500,0
29 .Lab500:
30         .zero 500,0
31 .Lab1000:
32         .zero 1000,0
33 .Lab2000:
34         .zero 2000,0
35 .Lab4000:
36         .long 0