1# test acc shifts larger than they should be, and ASTAT flags 2# mach: bfin 3#include "test.h" 4.include "testutils.inc" 5 6 start 7 8 dmm32 ASTAT, (0x7cc0c090 | _VS | _V | _AV0 | _AC1 | _AQ | _AC0_COPY | _AN | _AZ); 9 dmm32 A0.w, 0x1890bdbc; 10 dmm32 A0.x, 0x00000079; 11 A0 = A0 << 0x2; 12 checkreg A0.w, 0x6242f6f0; 13 checkreg A0.x, 0xffffffe4; 14 checkreg ASTAT, (0x7cc0c090 | _VS | _V | _AC1 | _AQ | _AC0_COPY | _AN); 15 16 dmm32 ASTAT, (0x50508600 | _VS | _V | _AC1 | _AC0 | _CC | _V_COPY | _AC0_COPY); 17 dmm32 A1.w, 0x02fe375e; 18 dmm32 A1.x, 0x00000000; 19 A1 = A1 >> 0x21; 20 checkreg A1.w, 0x00000000; 21 checkreg A1.x, 0xffffffaf; 22 checkreg ASTAT, (0x50508600 | _VS | _V | _AC1 | _AC0 | _CC | _V_COPY | _AC0_COPY | _AN); 23 24 dmm32 ASTAT, (0x7c800a10 | _VS | _AV0S | _AV0 | _AC1); 25 dmm32 A0.w, 0x00000000; 26 dmm32 A0.x, 0x00000000; 27 A0 = A0 << 0x1f; 28 checkreg ASTAT, (0x7c800a10 | _VS | _AV0S | _AC1 | _AZ); 29 30 dmm32 ASTAT, (0x4440c080 | _VS | _V | _AV1S | _AC1 | _AC0 | _AQ | _V_COPY | _AC0_COPY | _AN); 31 dmm32 A0.w, 0x2e4b0bba; 32 dmm32 A0.x, 0xffffff8c; 33 A0 = A0 >> 0x25; 34 checkreg A0.w, 0xd0000000; 35 checkreg A0.x, 0x0000005d; 36 checkreg ASTAT, (0x4440c080 | _VS | _V | _AV1S | _AC1 | _AC0 | _AQ | _V_COPY | _AC0_COPY); 37 38 dmm32 ASTAT, (0x4c90c680 | _VS | _AV1S | _AV0S | _AC0 | _CC); 39 dmm32 A1.w, 0x3ae26599; 40 dmm32 A1.x, 0xfffffff3; 41 A1 = A1 >> 0x25; 42 checkreg A1.w, 0xc8000000; 43 checkreg A1.x, 0x0000002c; 44 checkreg ASTAT, (0x4c90c680 | _VS | _AV1S | _AV0S | _AC0 | _CC); 45 46 dmm32 ASTAT, (0x3c204000 | _AV1 | _AV0S | _AV0 | _AC1 | _AC0 | _AQ | _CC); 47 dmm32 A1.w, 0x1686a378; 48 dmm32 A1.x, 0x0000006a; 49 A1 = A1 >> 0x16; 50 checkreg A1.w, 0x0001a85a; 51 checkreg A1.x, 0x00000000; 52 checkreg ASTAT, (0x3c204000 | _AV0S | _AV0 | _AC1 | _AC0 | _AQ | _CC); 53 54 dmm32 ASTAT, (0x30500800 | _VS | _AV0S | _AQ); 55 dmm32 A1.w, 0x6575285f; 56 dmm32 A1.x, 0x00000000; 57 A1 = A1 >> 0x2e; 58 checkreg A1.w, 0xa17c0000; 59 checkreg A1.x, 0xffffffd4; 60 checkreg ASTAT, (0x30500800 | _VS | _AV0S | _AQ | _AN); 61 62 dmm32 ASTAT, (0x70c04010 | _VS | _AV0S | _AQ | _CC); 63 dmm32 A1.w, 0x0c7da4e2; 64 dmm32 A1.x, 0x00000000; 65 A1 = A1 >> 0x29; 66 checkreg A1.w, 0x71000000; 67 checkreg A1.x, 0xffffffd2; 68 checkreg ASTAT, (0x70c04010 | _VS | _AV0S | _AQ | _CC | _AN); 69 70 dmm32 ASTAT, (0x74000600 | _VS | _AC1 | _AQ); 71 dmm32 A0.w, 0xd0e47afa; 72 dmm32 A0.x, 0x00000006; 73 A0 = A0 >> 0x32; 74 checkreg A0.w, 0x1ebe8000; 75 checkreg A0.x, 0x00000039; 76 checkreg ASTAT, (0x74000600 | _VS | _AC1 | _AQ); 77 78 dmm32 ASTAT, (0x4ce08200 | _VS | _V | _AV0S | _AC1 | _AC0 | _AQ); 79 dmm32 A1.w, 0x1b158860; 80 dmm32 A1.x, 0x00000068; 81 A1 = A1 >> 0x21; 82 checkreg A1.w, 0x00000000; 83 checkreg A1.x, 0x00000030; 84 checkreg ASTAT, (0x4ce08200 | _VS | _V | _AV0S | _AC1 | _AC0 | _AQ); 85 86 dmm32 ASTAT, (0x48c00610 | _VS | _AV1S | _AQ | _CC | _AN); 87 dmm32 A1.w, 0x0a2c41e4; 88 dmm32 A1.x, 0x00000000; 89 A1 = A1 >> 0x25; 90 checkreg A1.w, 0x20000000; 91 checkreg A1.x, 0x0000000f; 92 checkreg ASTAT, (0x48c00610 | _VS | _AV1S | _AQ | _CC); 93 94 dmm32 ASTAT, (0x08700400 | _VS | _V | _AV0S | _AC1 | _CC | _V_COPY | _AZ); 95 dmm32 A0.w, 0xec125059; 96 dmm32 A0.x, 0xffffffff; 97 A0 = A0 >> 0x32; 98 checkreg A0.w, 0x94164000; 99 checkreg A0.x, 0x00000004; 100 checkreg ASTAT, (0x08700400 | _VS | _V | _AV0S | _AC1 | _CC | _V_COPY); 101 102 pass 103