Commit | Line | Data |
---|---|---|
a471a06b HPN |
1 | ; Test error cases for constant ranges. |
2 | ||
3 | ; { dg-do assemble { target cris-*-* } } | |
4 | ||
5 | .set two701867, 2701867 | |
6 | .set mtwo701867, -2701867 | |
7 | .set const_int_32, 0x1b94452b | |
8 | .set const_int_m32, -3513208907 | |
9 | .set three2767, 32767 | |
10 | ||
11 | .text | |
0465aa2f | 12 | .syntax no_register_prefix |
a471a06b HPN |
13 | start: |
14 | moveq 32,r0 ; { dg-error "Immediate value not in 6 bit range: 32" } | |
15 | moveq 63,r0 ; { dg-error "Immediate value not in 6 bit range: 63" } | |
16 | moveq 0x20,r0 ; { dg-error "Immediate value not in 6 bit range: 32" } | |
17 | moveq 0x3f,r0 ; { dg-error "Immediate value not in 6 bit range: 63" } | |
18 | moveq -33,r0 ; { dg-error "Immediate value not in 6 bit range: -33" } | |
19 | addq 64,r0 ; { dg-error "Immediate value not in 6 bit unsigned range: 64" } | |
20 | addq -1,r0 ; { dg-error "Immediate value not in 6 bit unsigned range: -1" } | |
21 | subq 64,r0 ; { dg-error "Immediate value not in 6 bit unsigned range: 64" } | |
22 | subq -1,r0 ; { dg-error "Immediate value not in 6 bit unsigned range: -1" } | |
23 | break 16 ; { dg-error "Immediate value not in 4 bit unsigned range: 16" } | |
24 | movs.b 256,r0 ; { dg-error "Immediate value not in 8 bit range: 256" } | |
25 | movs.b 255,r0 ; { dg-error "Immediate value not in 8 bit range: 255" "" { xfail *-*-* } } | |
26 | movs.b -129,r0 ; { dg-error "Immediate value not in 8 bit range: -129" } | |
27 | movs.b 128,r0 ; { dg-error "Immediate value not in 8 bit range: 128" "" { xfail *-*-* } } | |
28 | movs.b -32769,r0 ; { dg-error "Immediate value not in (8|16) bit range: -32769" } | |
0b171357 | 29 | movs.b 0xffffffff,r0 ; { dg-error "Immediate value not in (8|16) bit range: (4294967295|-1)" "" { xfail *-*-* } } |
a471a06b HPN |
30 | |
31 | movs.w 32768,r0 ; { dg-error "Immediate value not in 16 bit range: 32768" "" { xfail *-*-* } } | |
32 | movs.w 0x8000,r0 ; { dg-error "Immediate value not in 16 bit range: 32768" "" { xfail *-*-* } } | |
33 | movs.w 65535,r0 ; { dg-error "Immediate value not in 16 bit range: 65535" "" { xfail *-*-* } } | |
34 | movs.w 0xffff,r0 ; { dg-error "Immediate value not in 16 bit range: 65535" "" { xfail *-*-* } } | |
35 | movs.w -32769,r0 ; { dg-error "Immediate value not in 16 bit range: -32769" } | |
36 | movs.w 65536,r0 ; { dg-error "Immediate value not in 16 bit range: 65536" } | |
37 | movs.w -32769,r0 ; { dg-error "Immediate value not in 16 bit range: -32769" } | |
0b171357 | 38 | movs.w 0xffffffff,r0 ; { dg-error "Immediate value not in 16 bit range: (4294967295|-1)" "" { xfail *-*-* } } |
a471a06b HPN |
39 | |
40 | movu.b 256,r0 ; { dg-error "Immediate value not in 8 bit range: 256" } | |
41 | movu.b 0x100,r0 ; { dg-error "Immediate value not in 8 bit range: 256" } | |
42 | movu.b -1,r0 ; { dg-error "Immediate value not in 8 bit unsigned range: -1" "" { xfail *-*-* } } | |
43 | movu.b -127,r0 ; { dg-error "Immediate value not in 8 bit unsigned range: -127" "" { xfail *-*-* } } | |
44 | movu.b -129,r0 ; { dg-error "Immediate value not in 8 bit range: -129" } | |
45 | movu.b -128,r0 ; { dg-error "Immediate value not in 8 bit unsigned range: -128" "" { xfail *-*-* } } | |
46 | ||
47 | movu.w 65536,r0 ; { dg-error "Immediate value not in 16 bit range: 65536" } | |
48 | movu.w -32769,r0 ; { dg-error "Immediate value not in 16 bit range: -32769" } | |
49 | movu.w -1,r0 ; { dg-error "Immediate value not in 16 bit unsigned range: -1" "" { xfail *-*-* } } | |
0b171357 | 50 | movu.w 0xffffffff,r0 ; { dg-error "Immediate value not in 16 bit (unsigned )?range: (4294967295|-1)" "" { xfail *-*-* } } |
a471a06b HPN |
51 | |
52 | add.b -129,r5 ; { dg-error "Immediate value not in 8 bit range: -129" } | |
53 | add.b -255,r5 ; { dg-error "Immediate value not in 8 bit range: -255" } | |
54 | add.b 256,r5 ; { dg-error "Immediate value not in 8 bit range: 256" } | |
55 | add.b -8856,r5 ; { dg-error "Immediate value not in 8 bit range: -8856" } | |
56 | add.b 8856,r5 ; { dg-error "Immediate value not in 8 bit range: 8856" } | |
57 | ||
58 | add.w two701867,r13 ; { dg-error "Immediate value not in 16 bit range: 2701867" } | |
59 | add.w mtwo701867,r13 ; { dg-error "Immediate value not in 16 bit range: -2701867" } | |
60 | ||
61 | add.w 2781868,r13 ; { dg-error "Immediate value not in 16 bit range: 2781868" } | |
62 | add.w -2701867,r13 ; { dg-error "Immediate value not in 16 bit range: -2701867" } | |
63 | ||
a339a1c6 | 64 | add.w 0x9ec0ceac,r13 ; { dg-error "Immediate value not in 16 bit range: (2663435948|-1631531348)" } |
a471a06b HPN |
65 | add.w -0x7ec0cead,r13 ; { dg-error "Immediate value not in 16 bit range: -2126565037" } |
66 | ||
a339a1c6 | 67 | add.w const_int_m32,r13 ; { dg-error "Immediate value not in 16 bit range: (-3513208907|781758389)" } |
a471a06b HPN |
68 | add.w const_int_32,r13 ; { dg-error "Immediate value not in 16 bit range: 462701867" } |
69 | add.w -(three2767+2),r5 ; { dg-error "Immediate value not in 16 bit range: -32769" } |