sim: bfin: import testsuite
[external/binutils.git] / sim / testsuite / sim / bfin / random_0011.S
1 # test acc shifts larger than they should be, and ASTAT flags
2 # mach: bfin
3 #include "test.h"
4 .include "testutils.inc"
5
6         start
7
8         dmm32 ASTAT, (0x7cc0c090 | _VS | _V | _AV0 | _AC1 | _AQ | _AC0_COPY | _AN | _AZ);
9         dmm32 A0.w, 0x1890bdbc;
10         dmm32 A0.x, 0x00000079;
11         A0 = A0 << 0x2;
12         checkreg A0.w, 0x6242f6f0;
13         checkreg A0.x, 0xffffffe4;
14         checkreg ASTAT, (0x7cc0c090 | _VS | _V | _AC1 | _AQ | _AC0_COPY | _AN);
15
16         dmm32 ASTAT, (0x50508600 | _VS | _V | _AC1 | _AC0 | _CC | _V_COPY | _AC0_COPY);
17         dmm32 A1.w, 0x02fe375e;
18         dmm32 A1.x, 0x00000000;
19         A1 = A1 >> 0x21;
20         checkreg A1.w, 0x00000000;
21         checkreg A1.x, 0xffffffaf;
22         checkreg ASTAT, (0x50508600 | _VS | _V | _AC1 | _AC0 | _CC | _V_COPY | _AC0_COPY | _AN);
23
24         dmm32 ASTAT, (0x7c800a10 | _VS | _AV0S | _AV0 | _AC1);
25         dmm32 A0.w, 0x00000000;
26         dmm32 A0.x, 0x00000000;
27         A0 = A0 << 0x1f;
28         checkreg ASTAT, (0x7c800a10 | _VS | _AV0S | _AC1 | _AZ);
29
30         dmm32 ASTAT, (0x4440c080 | _VS | _V | _AV1S | _AC1 | _AC0 | _AQ | _V_COPY | _AC0_COPY | _AN);
31         dmm32 A0.w, 0x2e4b0bba;
32         dmm32 A0.x, 0xffffff8c;
33         A0 = A0 >> 0x25;
34         checkreg A0.w, 0xd0000000;
35         checkreg A0.x, 0x0000005d;
36         checkreg ASTAT, (0x4440c080 | _VS | _V | _AV1S | _AC1 | _AC0 | _AQ | _V_COPY | _AC0_COPY);
37
38         dmm32 ASTAT, (0x4c90c680 | _VS | _AV1S | _AV0S | _AC0 | _CC);
39         dmm32 A1.w, 0x3ae26599;
40         dmm32 A1.x, 0xfffffff3;
41         A1 = A1 >> 0x25;
42         checkreg A1.w, 0xc8000000;
43         checkreg A1.x, 0x0000002c;
44         checkreg ASTAT, (0x4c90c680 | _VS | _AV1S | _AV0S | _AC0 | _CC);
45
46         dmm32 ASTAT, (0x3c204000 | _AV1 | _AV0S | _AV0 | _AC1 | _AC0 | _AQ | _CC);
47         dmm32 A1.w, 0x1686a378;
48         dmm32 A1.x, 0x0000006a;
49         A1 = A1 >> 0x16;
50         checkreg A1.w, 0x0001a85a;
51         checkreg A1.x, 0x00000000;
52         checkreg ASTAT, (0x3c204000 | _AV0S | _AV0 | _AC1 | _AC0 | _AQ | _CC);
53
54         dmm32 ASTAT, (0x30500800 | _VS | _AV0S | _AQ);
55         dmm32 A1.w, 0x6575285f;
56         dmm32 A1.x, 0x00000000;
57         A1 = A1 >> 0x2e;
58         checkreg A1.w, 0xa17c0000;
59         checkreg A1.x, 0xffffffd4;
60         checkreg ASTAT, (0x30500800 | _VS | _AV0S | _AQ | _AN);
61
62         dmm32 ASTAT, (0x70c04010 | _VS | _AV0S | _AQ | _CC);
63         dmm32 A1.w, 0x0c7da4e2;
64         dmm32 A1.x, 0x00000000;
65         A1 = A1 >> 0x29;
66         checkreg A1.w, 0x71000000;
67         checkreg A1.x, 0xffffffd2;
68         checkreg ASTAT, (0x70c04010 | _VS | _AV0S | _AQ | _CC | _AN);
69
70         dmm32 ASTAT, (0x74000600 | _VS | _AC1 | _AQ);
71         dmm32 A0.w, 0xd0e47afa;
72         dmm32 A0.x, 0x00000006;
73         A0 = A0 >> 0x32;
74         checkreg A0.w, 0x1ebe8000;
75         checkreg A0.x, 0x00000039;
76         checkreg ASTAT, (0x74000600 | _VS | _AC1 | _AQ);
77
78         dmm32 ASTAT, (0x4ce08200 | _VS | _V | _AV0S | _AC1 | _AC0 | _AQ);
79         dmm32 A1.w, 0x1b158860;
80         dmm32 A1.x, 0x00000068;
81         A1 = A1 >> 0x21;
82         checkreg A1.w, 0x00000000;
83         checkreg A1.x, 0x00000030;
84         checkreg ASTAT, (0x4ce08200 | _VS | _V | _AV0S | _AC1 | _AC0 | _AQ);
85
86         dmm32 ASTAT, (0x48c00610 | _VS | _AV1S | _AQ | _CC | _AN);
87         dmm32 A1.w, 0x0a2c41e4;
88         dmm32 A1.x, 0x00000000;
89         A1 = A1 >> 0x25;
90         checkreg A1.w, 0x20000000;
91         checkreg A1.x, 0x0000000f;
92         checkreg ASTAT, (0x48c00610 | _VS | _AV1S | _AQ | _CC);
93
94         dmm32 ASTAT, (0x08700400 | _VS | _V | _AV0S | _AC1 | _CC | _V_COPY | _AZ);
95         dmm32 A0.w, 0xec125059;
96         dmm32 A0.x, 0xffffffff;
97         A0 = A0 >> 0x32;
98         checkreg A0.w, 0x94164000;
99         checkreg A0.x, 0x00000004;
100         checkreg ASTAT, (0x08700400 | _VS | _V | _AV0S | _AC1 | _CC | _V_COPY);
101
102         pass