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