random_0034.S revision 1.1.1.1 1 # Verify sign extension behavior with simultaneous acc additions, and
2 # verify that no ASTAT bits get changed as a result
3 # mach: bfin
4 #include "test.h"
5 .include "testutils.inc"
6
7 start
8
9 dmm32 ASTAT, (0x60304880 | _AV1S | _AC0 | _AN | _AZ);
10 dmm32 A0.w, 0x589145b7;
11 dmm32 A0.x, 0xffffffee;
12 dmm32 A1.w, 0x0b247b05;
13 dmm32 A1.x, 0x0000005a;
14 imm32 R3, 0x1e414332;
15 imm32 R4, 0x351715b7;
16 R3 = A1.L + A1.H, R4 = A0.L + A0.H;
17 checkreg R3, 0x00008629;
18 checkreg R4, 0x00009e48;
19 checkreg ASTAT, (0x60304880 | _AV1S | _AC0 | _AN | _AZ);
20
21 dmm32 ASTAT, (0x40e0cc00 | _VS | _V | _AV1S | _AV0S | _AC0 | _CC | _V_COPY | _AC0_COPY);
22 dmm32 A0.w, 0xb2c58001;
23 dmm32 A0.x, 0x00000000;
24 dmm32 A1.w, 0xe999dc28;
25 dmm32 A1.x, 0xffffffff;
26 imm32 R0, 0xe58d5ffa;
27 imm32 R4, 0x7fff7fff;
28 R0 = A1.L + A1.H, R4 = A0.L + A0.H;
29 checkreg R0, 0xffffc5c1;
30 checkreg R4, 0xffff32c6;
31 checkreg ASTAT, (0x40e0cc00 | _VS | _V | _AV1S | _AV0S | _AC0 | _CC | _V_COPY | _AC0_COPY);
32
33 dmm32 ASTAT, (0x3420ca80 | _VS | _AV0S | _AC1 | _AC0 | _AQ | _CC);
34 dmm32 A0.w, 0xeff48350;
35 dmm32 A0.x, 0xffffffff;
36 dmm32 A1.w, 0x5a3f623a;
37 dmm32 A1.x, 0xffffffff;
38 imm32 R4, 0xffff152f;
39 imm32 R6, 0xdd13218a;
40 R4 = A1.L + A1.H, R6 = A0.L + A0.H;
41 checkreg R4, 0x0000bc79;
42 checkreg R6, 0xffff7344;
43 checkreg ASTAT, (0x3420ca80 | _VS | _AV0S | _AC1 | _AC0 | _AQ | _CC);
44
45 dmm32 ASTAT, (0x10204880 | _VS | _V | _AV1S | _AC1 | _AC0 | _AQ | _V_COPY | _AN);
46 dmm32 A0.w, 0x6da679bb;
47 dmm32 A0.x, 0xffffff96;
48 dmm32 A1.w, 0x1f5fb024;
49 dmm32 A1.x, 0x00000000;
50 imm32 R3, 0x3ebf8000;
51 imm32 R6, 0x025f2e8c;
52 R6 = A1.L + A1.H, R3 = A0.L + A0.H;
53 checkreg R3, 0x0000e761;
54 checkreg R6, 0xffffcf83;
55 checkreg ASTAT, (0x10204880 | _VS | _V | _AV1S | _AC1 | _AC0 | _AQ | _V_COPY | _AN);
56
57 dmm32 ASTAT, (0x6ca00c90 | _V | _AV1S | _AV1 | _AC0_COPY | _AN | _AZ);
58 dmm32 A0.w, 0x59abaa84;
59 dmm32 A0.x, 0xffffffe1;
60 dmm32 A1.w, 0x71541efe;
61 dmm32 A1.x, 0x00000009;
62 imm32 R0, 0x2c41e797;
63 imm32 R5, 0x7bfa5e8a;
64 R0 = A1.L + A1.H, R5 = A0.L + A0.H;
65 checkreg R0, 0x00009052;
66 checkreg R5, 0x0000042f;
67 checkreg ASTAT, (0x6ca00c90 | _V | _AV1S | _AV1 | _AC0_COPY | _AN | _AZ);
68
69 dmm32 ASTAT, (0x1c50c290 | _VS | _AV0S | _AV0 | _AC1 | _AC0 | _AQ | _AN);
70 dmm32 A0.w, 0xffffffff;
71 dmm32 A0.x, 0xffffffff;
72 dmm32 A1.w, 0xc49ca8db;
73 dmm32 A1.x, 0xffffffff;
74 imm32 R3, 0x0f62ffff;
75 imm32 R4, 0x09505188;
76 R4 = A1.L + A1.H, R3 = A0.L + A0.H;
77 checkreg R3, 0xfffffffe;
78 checkreg R4, 0xffff6d77;
79 checkreg ASTAT, (0x1c50c290 | _VS | _AV0S | _AV0 | _AC1 | _AC0 | _AQ | _AN);
80
81 dmm32 ASTAT, (0x70e04a90 | _VS | _AV0S | _AQ);
82 dmm32 A0.w, 0xd827823e;
83 dmm32 A0.x, 0xffffffff;
84 dmm32 A1.w, 0x303d11ba;
85 dmm32 A1.x, 0x00000000;
86 imm32 R1, 0x80007fff;
87 imm32 R6, 0xffc4feb3;
88 R6 = A1.L + A1.H, R1 = A0.L + A0.H;
89 checkreg R1, 0xffff5a65;
90 checkreg R6, 0x000041f7;
91 checkreg ASTAT, (0x70e04a90 | _VS | _AV0S | _AQ);
92
93 dmm32 ASTAT, (0x5c80c200 | _VS | _AV0S | _AQ | _AC0_COPY | _AN);
94 dmm32 A0.w, 0x97049850;
95 dmm32 A0.x, 0x00000000;
96 dmm32 A1.w, 0xffffa014;
97 dmm32 A1.x, 0xffffffff;
98 imm32 R0, 0x04828378;
99 imm32 R5, 0x3d9effff;
100 R0 = A1.L + A1.H, R5 = A0.L + A0.H;
101 checkreg R0, 0xffffa013;
102 checkreg R5, 0xffff2f54;
103 checkreg ASTAT, (0x5c80c200 | _VS | _AV0S | _AQ | _AC0_COPY | _AN);
104
105 dmm32 ASTAT, (0x6c604600 | _VS | _V | _AV0S | _AC1 | _AC0 | _AQ | _CC | _V_COPY | _AZ);
106 dmm32 A0.w, 0xac43c455;
107 dmm32 A0.x, 0x00000000;
108 dmm32 A1.w, 0x03de6f39;
109 dmm32 A1.x, 0x00000000;
110 imm32 R0, 0x5bbfd2d1;
111 imm32 R3, 0x22425ebc;
112 R3 = A1.L + A1.H, R0 = A0.L + A0.H;
113 checkreg R0, 0xffff7098;
114 checkreg R3, 0x00007317;
115 checkreg ASTAT, (0x6c604600 | _VS | _V | _AV0S | _AC1 | _AC0 | _AQ | _CC | _V_COPY | _AZ);
116
117 dmm32 ASTAT, (0x7cd04280 | _VS | _V | _AC1 | _AC0 | _AQ | _V_COPY | _AC0_COPY | _AN);
118 dmm32 A0.w, 0xb63ac8f5;
119 dmm32 A0.x, 0xffffffe0;
120 dmm32 A1.w, 0x358b94e8;
121 dmm32 A1.x, 0x00000000;
122 imm32 R1, 0x80007fff;
123 imm32 R6, 0x4f4a8883;
124 R6 = A1.L + A1.H, R1 = A0.L + A0.H;
125 checkreg R1, 0xffff7f2f;
126 checkreg R6, 0xffffca73;
127 checkreg ASTAT, (0x7cd04280 | _VS | _V | _AC1 | _AC0 | _AQ | _V_COPY | _AC0_COPY | _AN);
128
129 pass
130