xref: /netbsd-src/external/gpl3/gdb/dist/sim/testsuite/bfin/random_0008.S (revision 0a3071956a3a9fdebdbf7f338cf2d439b45fc728)
1# check ASTAT ac/av flags are handled correctly when doing Acc = -Acc
2# mach: bfin
3#include "test.h"
4.include "testutils.inc"
5
6	start
7
8	dmm32 ASTAT, (0x5020ca80 | _VS | _AV1S | _AC1 | _AC0 | _AQ | _CC | _AC0_COPY | _AN);
9	dmm32 A1.w, 0x549e07b3;
10	dmm32 A1.x, 0x0000002a;
11	A1 = -A1;
12	checkreg A1.w, 0xab61f84d;
13	checkreg A1.x, 0xffffffd5;
14	checkreg ASTAT, (0x5020ca80 | _VS | _AV1S | _AC0 | _AQ | _CC | _AC0_COPY | _AN);
15
16	dmm32 ASTAT, (0x48908a10 | _VS | _V | _AV1S | _AV0S | _CC | _V_COPY | _AN);
17	dmm32 A0.w, 0x3c57e100;
18	dmm32 A0.x, 0xfffffff2;
19	dmm32 A1.w, 0xfb63b8a0;
20	dmm32 A1.x, 0xffffffff;
21	A1 = -A0;
22	checkreg A1.w, 0xc3a81f00;
23	checkreg A1.x, 0x0000000d;
24	checkreg ASTAT, (0x48908a10 | _VS | _V | _AV1S | _AV0S | _CC | _V_COPY);
25
26	dmm32 ASTAT, (0x10900880 | _V | _AC0 | _CC | _AC0_COPY);
27	dmm32 A0.w, 0x4ca147ce;
28	dmm32 A0.x, 0xffffff9d;
29	dmm32 A1.w, 0x0e2534b9;
30	dmm32 A1.x, 0xffffff85;
31	A0 = -A1;
32	checkreg A0.w, 0xf1dacb47;
33	checkreg A0.x, 0x0000007a;
34	checkreg ASTAT, (0x10900880 | _V | _CC);
35
36	dmm32 ASTAT, (0x34904e90 | _VS | _V | _AV1S | _AC1 | _AC0 | _V_COPY | _AC0_COPY | _AN);
37	dmm32 A0.w, 0x7826f07d;
38	dmm32 A0.x, 0xffffffc2;
39	A0 = -A0;
40	checkreg A0.w, 0x87d90f83;
41	checkreg A0.x, 0x0000003d;
42	checkreg ASTAT, (0x34904e90 | _VS | _V | _AV1S | _AC1 | _V_COPY);
43
44	pass
45