1# Test for ASTAT bits being written when they shouldn't (only a reg mov)
2# mach: bfin
3
4#include "test.h"
5.include "testutils.inc"
6
7	start
8
9	dmm32 ASTAT, (0x1c304e90 | _VS | _V | _AV0 | _AC1 | _AC0 | _AQ | _V_COPY | _AC0_COPY);
10	dmm32 A0.w, 0x74d5f9df;
11	dmm32 A0.x, 0x0000005e;
12	imm32 R4, 0x00b47e9b;
13	R4 = A0;
14	checkreg R4, 0x7fffffff;
15	checkreg ASTAT, (0x1c304e90 | _VS | _V | _AV0 | _AC1 | _AC0 | _AQ | _V_COPY | _AC0_COPY);
16
17	dmm32 ASTAT, (0x6cd08a00 | _VS | _AV1 | _AV0S | _AV0 | _AC0 | _AQ | _AN | _AZ);
18	dmm32 A1.w, 0x124e2817;
19	dmm32 A1.x, 0x00000011;
20	imm32 R2, 0x545a7c91;
21	R2.H = A1;
22	checkreg R2, 0x7fff7c91;
23	checkreg ASTAT, (0x6cd08a00 | _VS | _V | _AV1 | _AV0S | _AV0 | _AC0 | _AQ | _V_COPY);
24
25	dmm32 ASTAT, (0x60700280 | _V | _AV0S | _AV0 | _AC1 | _V_COPY | _AN);
26	dmm32 A0.w, 0x02184a1c;
27	dmm32 A0.x, 0xffffffc0;
28	imm32 R5, 0x60dc408a;
29	R5.L = A0 (IS);
30	checkreg R5, 0x60dc8000;
31	checkreg ASTAT, (0x60700280 | _VS | _V | _AV0S | _AV0 | _AC1 | _V_COPY | _AN);
32
33	pass
34