* elf64-ppc.c (dec_dynrel_count): Don't error when elf_gc_sweep_symbol
[external/binutils.git] / sim / testsuite / sim / bfin / s3.s
1 //  SHIFT test program.
2 //  Test A0 = ASHIFT  (A0 by r3);
3 # mach: bfin
4
5 .include "testutils.inc"
6         start
7
8 // load r0=0x0000001f
9 // load r1=0x00000020
10 // load r2=0x00000000
11 // load r3=0x00000000
12 // load r4=0x00000001
13 // load r5=0x00000080
14         loadsym P0, data0;
15         P1 = P0;
16         R0 = [ P0 ++ ];
17         R1 = [ P0 ++ ];
18         R2 = [ P0 ++ ];
19         R3 = [ P0 ++ ];
20         R4 = [ P0 ++ ];
21         R5 = [ P0 ++ ];
22
23 //  left by largest positive magnitude of 31 (0x1f)
24 // A0: 80 0000 0001 -> 80 0000 0000
25         R7 = 0;
26         ASTAT = R7;
27         A0.w = R4;
28         A0.x = R5.L;
29         A0 = ASHIFT A0 BY R0.L;
30         R6 = A0.w;
31         R7.L = A0.x;
32         DBGA ( R6.L , 0x0000 );
33         DBGA ( R6.H , 0x8000 );
34         DBGA ( R7.L , 0x0000 );
35         CC = AZ;        R7 = CC; DBGA ( R7.L , 0x0 );
36         CC = AN;        R7 = CC; DBGA ( R7.L , 0x0 );
37         CC = AC0;       R7 = CC; DBGA ( R7.L , 0x0 );
38         CC = AV0;       R7 = CC; DBGA ( R7.L , 0x0 );
39         CC = AV1;       R7 = CC; DBGA ( R7.L , 0x0 );
40
41 //  left by largest positive magnitude + 1 = 32 (0x20), which is -32
42 // A0: 80 0000 0001 ->
43         R7 = 0;
44         ASTAT = R7;
45         A0.w = R4;
46         A0.x = R5.L;
47         A0 = ASHIFT A0 BY R1.L;
48         R6 = A0.w;
49         R7.L = A0.x;
50         DBGA ( R6.L , 0xff80 );
51         DBGA ( R6.H , 0xffff );
52         DBGA ( R7.L , 0xffff );
53         CC = AZ;        R7 = CC; DBGA ( R7.L , 0x0 );
54         CC = AN;        R7 = CC; DBGA ( R7.L , 0x1 );
55         CC = AC0;       R7 = CC; DBGA ( R7.L , 0x0 );
56         CC = AV0;       R7 = CC; DBGA ( R7.L , 0x0 );
57         CC = AV1;       R7 = CC; DBGA ( R7.L , 0x0 );
58
59 //  by -1
60 // A0: 80 0000 0001 -> c0 0000 0000
61         A0.w = R4;
62         A0.x = R5.L;
63
64         R3.L = 0x00ff;
65
66         A0 = ASHIFT A0 BY R3.L;
67         R6 = A0.w;
68         R7.L = A0.x;
69         DBGA ( R6.L , 0x0000 );
70         DBGA ( R6.H , 0x0000 );
71         DBGA ( R7.L , 0xffc0 );
72
73         pass
74
75         .data
76 data0:
77         .dw 0x001f
78         .dw 0x0000
79         .dw 0x0020
80         .dw 0x0000
81         .dw 0x0059
82         .dw 0x0000
83         .dw 0x005a
84         .dw 0x0000
85         .dw 0x0001
86         .dw 0x0000
87         .dw 0x0080
88         .dw 0x0000