1 1.1 christos # Verify sign extension behavior with simultaneous acc additions, and 2 1.1 christos # verify that no ASTAT bits get changed as a result 3 1.1 christos # mach: bfin 4 1.1 christos #include "test.h" 5 1.1 christos .include "testutils.inc" 6 1.1 christos 7 1.1 christos start 8 1.1 christos 9 1.1 christos dmm32 ASTAT, (0x60304880 | _AV1S | _AC0 | _AN | _AZ); 10 1.1 christos dmm32 A0.w, 0x589145b7; 11 1.1 christos dmm32 A0.x, 0xffffffee; 12 1.1 christos dmm32 A1.w, 0x0b247b05; 13 1.1 christos dmm32 A1.x, 0x0000005a; 14 1.1 christos imm32 R3, 0x1e414332; 15 1.1 christos imm32 R4, 0x351715b7; 16 1.1 christos R3 = A1.L + A1.H, R4 = A0.L + A0.H; 17 1.1 christos checkreg R3, 0x00008629; 18 1.1 christos checkreg R4, 0x00009e48; 19 1.1 christos checkreg ASTAT, (0x60304880 | _AV1S | _AC0 | _AN | _AZ); 20 1.1 christos 21 1.1 christos dmm32 ASTAT, (0x40e0cc00 | _VS | _V | _AV1S | _AV0S | _AC0 | _CC | _V_COPY | _AC0_COPY); 22 1.1 christos dmm32 A0.w, 0xb2c58001; 23 1.1 christos dmm32 A0.x, 0x00000000; 24 1.1 christos dmm32 A1.w, 0xe999dc28; 25 1.1 christos dmm32 A1.x, 0xffffffff; 26 1.1 christos imm32 R0, 0xe58d5ffa; 27 1.1 christos imm32 R4, 0x7fff7fff; 28 1.1 christos R0 = A1.L + A1.H, R4 = A0.L + A0.H; 29 1.1 christos checkreg R0, 0xffffc5c1; 30 1.1 christos checkreg R4, 0xffff32c6; 31 1.1 christos checkreg ASTAT, (0x40e0cc00 | _VS | _V | _AV1S | _AV0S | _AC0 | _CC | _V_COPY | _AC0_COPY); 32 1.1 christos 33 1.1 christos dmm32 ASTAT, (0x3420ca80 | _VS | _AV0S | _AC1 | _AC0 | _AQ | _CC); 34 1.1 christos dmm32 A0.w, 0xeff48350; 35 1.1 christos dmm32 A0.x, 0xffffffff; 36 1.1 christos dmm32 A1.w, 0x5a3f623a; 37 1.1 christos dmm32 A1.x, 0xffffffff; 38 1.1 christos imm32 R4, 0xffff152f; 39 1.1 christos imm32 R6, 0xdd13218a; 40 1.1 christos R4 = A1.L + A1.H, R6 = A0.L + A0.H; 41 1.1 christos checkreg R4, 0x0000bc79; 42 1.1 christos checkreg R6, 0xffff7344; 43 1.1 christos checkreg ASTAT, (0x3420ca80 | _VS | _AV0S | _AC1 | _AC0 | _AQ | _CC); 44 1.1 christos 45 1.1 christos dmm32 ASTAT, (0x10204880 | _VS | _V | _AV1S | _AC1 | _AC0 | _AQ | _V_COPY | _AN); 46 1.1 christos dmm32 A0.w, 0x6da679bb; 47 1.1 christos dmm32 A0.x, 0xffffff96; 48 1.1 christos dmm32 A1.w, 0x1f5fb024; 49 1.1 christos dmm32 A1.x, 0x00000000; 50 1.1 christos imm32 R3, 0x3ebf8000; 51 1.1 christos imm32 R6, 0x025f2e8c; 52 1.1 christos R6 = A1.L + A1.H, R3 = A0.L + A0.H; 53 1.1 christos checkreg R3, 0x0000e761; 54 1.1 christos checkreg R6, 0xffffcf83; 55 1.1 christos checkreg ASTAT, (0x10204880 | _VS | _V | _AV1S | _AC1 | _AC0 | _AQ | _V_COPY | _AN); 56 1.1 christos 57 1.1 christos dmm32 ASTAT, (0x6ca00c90 | _V | _AV1S | _AV1 | _AC0_COPY | _AN | _AZ); 58 1.1 christos dmm32 A0.w, 0x59abaa84; 59 1.1 christos dmm32 A0.x, 0xffffffe1; 60 1.1 christos dmm32 A1.w, 0x71541efe; 61 1.1 christos dmm32 A1.x, 0x00000009; 62 1.1 christos imm32 R0, 0x2c41e797; 63 1.1 christos imm32 R5, 0x7bfa5e8a; 64 1.1 christos R0 = A1.L + A1.H, R5 = A0.L + A0.H; 65 1.1 christos checkreg R0, 0x00009052; 66 1.1 christos checkreg R5, 0x0000042f; 67 1.1 christos checkreg ASTAT, (0x6ca00c90 | _V | _AV1S | _AV1 | _AC0_COPY | _AN | _AZ); 68 1.1 christos 69 1.1 christos dmm32 ASTAT, (0x1c50c290 | _VS | _AV0S | _AV0 | _AC1 | _AC0 | _AQ | _AN); 70 1.1 christos dmm32 A0.w, 0xffffffff; 71 1.1 christos dmm32 A0.x, 0xffffffff; 72 1.1 christos dmm32 A1.w, 0xc49ca8db; 73 1.1 christos dmm32 A1.x, 0xffffffff; 74 1.1 christos imm32 R3, 0x0f62ffff; 75 1.1 christos imm32 R4, 0x09505188; 76 1.1 christos R4 = A1.L + A1.H, R3 = A0.L + A0.H; 77 1.1 christos checkreg R3, 0xfffffffe; 78 1.1 christos checkreg R4, 0xffff6d77; 79 1.1 christos checkreg ASTAT, (0x1c50c290 | _VS | _AV0S | _AV0 | _AC1 | _AC0 | _AQ | _AN); 80 1.1 christos 81 1.1 christos dmm32 ASTAT, (0x70e04a90 | _VS | _AV0S | _AQ); 82 1.1 christos dmm32 A0.w, 0xd827823e; 83 1.1 christos dmm32 A0.x, 0xffffffff; 84 1.1 christos dmm32 A1.w, 0x303d11ba; 85 1.1 christos dmm32 A1.x, 0x00000000; 86 1.1 christos imm32 R1, 0x80007fff; 87 1.1 christos imm32 R6, 0xffc4feb3; 88 1.1 christos R6 = A1.L + A1.H, R1 = A0.L + A0.H; 89 1.1 christos checkreg R1, 0xffff5a65; 90 1.1 christos checkreg R6, 0x000041f7; 91 1.1 christos checkreg ASTAT, (0x70e04a90 | _VS | _AV0S | _AQ); 92 1.1 christos 93 1.1 christos dmm32 ASTAT, (0x5c80c200 | _VS | _AV0S | _AQ | _AC0_COPY | _AN); 94 1.1 christos dmm32 A0.w, 0x97049850; 95 1.1 christos dmm32 A0.x, 0x00000000; 96 1.1 christos dmm32 A1.w, 0xffffa014; 97 1.1 christos dmm32 A1.x, 0xffffffff; 98 1.1 christos imm32 R0, 0x04828378; 99 1.1 christos imm32 R5, 0x3d9effff; 100 1.1 christos R0 = A1.L + A1.H, R5 = A0.L + A0.H; 101 1.1 christos checkreg R0, 0xffffa013; 102 1.1 christos checkreg R5, 0xffff2f54; 103 1.1 christos checkreg ASTAT, (0x5c80c200 | _VS | _AV0S | _AQ | _AC0_COPY | _AN); 104 1.1 christos 105 1.1 christos dmm32 ASTAT, (0x6c604600 | _VS | _V | _AV0S | _AC1 | _AC0 | _AQ | _CC | _V_COPY | _AZ); 106 1.1 christos dmm32 A0.w, 0xac43c455; 107 1.1 christos dmm32 A0.x, 0x00000000; 108 1.1 christos dmm32 A1.w, 0x03de6f39; 109 1.1 christos dmm32 A1.x, 0x00000000; 110 1.1 christos imm32 R0, 0x5bbfd2d1; 111 1.1 christos imm32 R3, 0x22425ebc; 112 1.1 christos R3 = A1.L + A1.H, R0 = A0.L + A0.H; 113 1.1 christos checkreg R0, 0xffff7098; 114 1.1 christos checkreg R3, 0x00007317; 115 1.1 christos checkreg ASTAT, (0x6c604600 | _VS | _V | _AV0S | _AC1 | _AC0 | _AQ | _CC | _V_COPY | _AZ); 116 1.1 christos 117 1.1 christos dmm32 ASTAT, (0x7cd04280 | _VS | _V | _AC1 | _AC0 | _AQ | _V_COPY | _AC0_COPY | _AN); 118 1.1 christos dmm32 A0.w, 0xb63ac8f5; 119 1.1 christos dmm32 A0.x, 0xffffffe0; 120 1.1 christos dmm32 A1.w, 0x358b94e8; 121 1.1 christos dmm32 A1.x, 0x00000000; 122 1.1 christos imm32 R1, 0x80007fff; 123 1.1 christos imm32 R6, 0x4f4a8883; 124 1.1 christos R6 = A1.L + A1.H, R1 = A0.L + A0.H; 125 1.1 christos checkreg R1, 0xffff7f2f; 126 1.1 christos checkreg R6, 0xffffca73; 127 1.1 christos checkreg ASTAT, (0x7cd04280 | _VS | _V | _AC1 | _AC0 | _AQ | _V_COPY | _AC0_COPY | _AN); 128 1.1 christos 129 1.1 christos pass 130