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 49