]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blob - sim/testsuite/sim/bfin/random_0003.S
sim: bfin: import testsuite
[thirdparty/binutils-gdb.git] / sim / testsuite / sim / bfin / random_0003.S
1 # Test for ASTAT AN setting when overflows occur
2 # mach: bfin
3
4 #include "test.h"
5 .include "testutils.inc"
6
7 start
8
9 dmm32 ASTAT, (0x18204a80 | _AV1S | _AV0 | _AQ | _CC | _AC0_COPY | _AN | _AZ);
10 dmm32 A1.w, 0x1098e30b;
11 dmm32 A1.x, 0x0000001f;
12 imm32 R0, 0x440ed6ae;
13 imm32 R5, 0x3272c296;
14 R0.H = (A1 += R0.L * R5.H);
15 checkreg R0, 0x7fffd6ae;
16 checkreg A1.w, 0x00500e03;
17 checkreg A1.x, 0x0000001f;
18 checkreg ASTAT, (0x18204a80 | _VS | _V | _AV1S | _AV0 | _AQ | _CC | _V_COPY | _AC0_COPY | _AN | _AZ);
19
20 dmm32 ASTAT, (0x28c08e90 | _VS | _AV1S | _AV0S | _AC0 | _AC0_COPY | _AN);
21 dmm32 A0.w, 0xb9da9f02;
22 dmm32 A0.x, 0x00000010;
23 imm32 R0, 0xc104b252;
24 R0.L = A0 (IS);
25 checkreg R0, 0xc1047fff;
26 checkreg ASTAT, (0x28c08e90 | _VS | _V | _AV1S | _AV0S | _AC0 | _V_COPY | _AC0_COPY);
27
28 dmm32 ASTAT, (0x3cc04000 | _AV0S | _AV0 | _CC | _AC0_COPY | _AZ);
29 dmm32 A0.w, 0x2cc20f30;
30 dmm32 A0.x, 0xffffffd0;
31 imm32 R2, 0x367adfeb;
32 imm32 R5, 0x53eeff3c;
33 A0 += R5.H * R2.H (IS);
34 checkreg A0.w, 0x3e9e429c;
35 checkreg A0.x, 0xffffffd0;
36 checkreg ASTAT, (0x3cc04000 | _AV0S | _CC | _AC0_COPY | _AZ);
37
38 dmm32 ASTAT, (0x18c0ca90 | _V | _AV1S | _AV1 | _AV0 | _AC1 | _AC0 | _V_COPY | _AC0_COPY | _AN | _AZ);
39 dmm32 A1.w, 0x0614ca96;
40 dmm32 A1.x, 0x00000053;
41 imm32 R3, 0x6c490457;
42 R3 = (A1 -= R3.L * R3.L) (M, S2RND);
43 checkreg R3, 0x7fffffff;
44 checkreg A1.w, 0x0601f505;
45 checkreg A1.x, 0x00000053;
46 checkreg ASTAT, (0x18c0ca90 | _VS | _V | _AV1S | _AV0 | _AC1 | _AC0 | _V_COPY | _AC0_COPY | _AN | _AZ);
47
48 pass