1 # Verify registers saturate and ASTAT bits are updated correctly
2 # with the RND12 subtract insn
5 .include "testutils.inc"
9 dmm32 ASTAT, (0x24a00410 | _VS | _AV1S | _AV0 | _AC0 | _AC0_COPY | _AN);
13 R6.H = R5 - R7 (RND12);
14 checkreg R6, 0x7fffffff;
15 checkreg ASTAT, (0x24a00410 | _VS | _V | _AV1S | _AV0 | _AC0 | _V_COPY | _AC0_COPY);
17 dmm32 ASTAT, (0x08c08000 | _VS | _AV0S | _AC0 | _AQ | _CC | _AC0_COPY);
21 R5.L = R3 - R6 (RND12);
22 checkreg R5, 0x62670004;
23 checkreg ASTAT, (0x08c08000 | _VS | _AV0S | _AC0 | _AQ | _CC | _AC0_COPY);
25 dmm32 ASTAT, (0x04200c10 | _VS | _V | _AV1S | _AV0S | _AC1 | _AC0 | _AQ | _V_COPY);
28 R1.L = R5 - R5 (RND12);
29 checkreg ASTAT, (0x04200c10 | _VS | _AV1S | _AV0S | _AC1 | _AC0 | _AQ | _AZ);
30 checkreg R1, 0x7fff0000;
31 checkreg R5, 0x80000000;
33 dmm32 ASTAT, (0x40600e90 | _VS | _AV1S | _AV0S | _AQ | _CC);
37 R5.L = R6 - R1 (RND12);
38 checkreg R5, 0x00007fff;
39 checkreg ASTAT, (0x40600e90 | _VS | _V | _AV1S | _AV0S | _AQ | _CC | _V_COPY);
41 dmm32 ASTAT, (0x68300880 | _VS | _AV1S | _AV0S | _AC1 | _AC0 | _AQ | _AC0_COPY | _AZ);
44 R1.H = R1 - R6 (RND12);
45 checkreg R1, 0x7fff0000;
46 checkreg ASTAT, (0x68300880 | _VS | _V | _AV1S | _AV0S | _AC1 | _AC0 | _AQ | _V_COPY | _AC0_COPY);
48 dmm32 ASTAT, (0x70d0c410 | _VS | _AV0S | _AQ);
52 R4.H = R1 - R0 (RND12);
53 checkreg R4, 0x7fff1012;
54 checkreg ASTAT, (0x70d0c410 | _VS | _V | _AV0S | _AQ | _V_COPY);
56 dmm32 ASTAT, (0x34500e00 | _VS | _AV0S | _AC1 | _CC | _AZ);
60 R2.L = R5 - R6 (RND12);
61 checkreg R2, 0x00007fff;
62 checkreg ASTAT, (0x34500e00 | _VS | _V | _AV0S | _AC1 | _CC | _V_COPY);