1# mach: bfin 2#include "test.h" 3.include "testutils.inc" 4 5 start 6 7 dmm32 ASTAT, (0x2850c890 | _VS | _AV1S | _AV0S | _AQ | _CC | _AC0_COPY); 8 dmm32 A1.w, 0xa605868e; 9 dmm32 A1.x, 0x00000000; 10 imm32 R1, 0x56dd0982; 11 imm32 R4, 0x50e37862; 12 imm32 R5, 0x597fc81a; 13 R4.H = (A1 -= R5.L * R1.L) (M, IS); 14 checkreg R4, 0x7fff7862; 15 checkreg A1.w, 0xa818ff5a; 16 checkreg A1.x, 0x00000000; 17 checkreg ASTAT, (0x2850c890 | _VS | _V | _AV1S | _AV0S | _AQ | _CC | _V_COPY | _AC0_COPY); 18 19 dmm32 ASTAT, (0x08100a00 | _VS | _AC1 | _AC0 | _CC); 20 dmm32 A1.w, 0xeb710132; 21 dmm32 A1.x, 0xffffffcf; 22 imm32 R4, 0x750d92cc; 23 imm32 R7, 0xf9a22cee; 24 R4.H = (A1 -= R7.L * R7.H) (M, IS); 25 checkreg R4, 0x800092cc; 26 checkreg A1.w, 0xbfa11496; 27 checkreg A1.x, 0xffffffcf; 28 checkreg ASTAT, (0x08100a00 | _VS | _V | _AC1 | _AC0 | _CC | _V_COPY); 29 30 dmm32 ASTAT, (0x44e00410 | _VS | _AV0S | _AQ | _AN); 31 dmm32 A1.w, 0x95489ea8; 32 dmm32 A1.x, 0x00000000; 33 imm32 R1, 0x360dca41; 34 imm32 R4, 0x7fffe848; 35 imm32 R7, 0x278abda8; 36 R7 = (A1 -= R4.L * R1.L) (M, IS); 37 checkreg R7, 0x7fffffff; 38 checkreg A1.w, 0xa805d460; 39 checkreg A1.x, 0x00000000; 40 checkreg ASTAT, (0x44e00410 | _VS | _V | _AV0S | _AQ | _V_COPY | _AN); 41 42 dmm32 ASTAT, (0x0480c800 | _VS | _AV1S | _AV0S | _AC0 | _CC | _AC0_COPY | _AN | _AZ); 43 dmm32 A1.w, 0xcfa4f43b; 44 dmm32 A1.x, 0x0000006c; 45 imm32 R3, 0x0903dd55; 46 imm32 R7, 0x7fffc2b1; 47 A1 -= R3.L * R7.L (M, IS); 48 checkreg A1.w, 0xea028276; 49 checkreg A1.x, 0x0000006c; 50 checkreg ASTAT, (0x0480c800 | _VS | _AV1S | _AV0S | _AC0 | _CC | _AC0_COPY | _AN | _AZ); 51 52 dmm32 ASTAT, (0x3c204410 | _VS | _AV0S | _AN); 53 dmm32 A1.w, 0x928b984e; 54 dmm32 A1.x, 0xffffffd5; 55 imm32 R5, 0x00003ddd; 56 imm32 R7, 0x8000ffff; 57 A1 += R5.L * R7.L (M, IS); 58 checkreg A1.w, 0xd0685a71; 59 checkreg A1.x, 0xffffffd5; 60 checkreg ASTAT, (0x3c204410 | _VS | _AV0S | _AN); 61 62 dmm32 ASTAT, (0x4840c890 | _VS | _AV1S | _AV0S | _AC0 | _AC0_COPY | _AN); 63 dmm32 A1.w, 0x8837abf1; 64 dmm32 A1.x, 0x00000000; 65 imm32 R3, 0x10c90000; 66 imm32 R7, 0x7fffe6b8; 67 A1 += R7.L * R3.H (M, IS); 68 checkreg A1.w, 0x868f5269; 69 checkreg A1.x, 0x00000000; 70 checkreg ASTAT, (0x4840c890 | _VS | _AV1S | _AV0S | _AC0 | _AC0_COPY | _AN); 71 72 dmm32 ASTAT, (0x78604a80 | _VS | _V | _AV0S | _AQ | _CC | _V_COPY); 73 dmm32 A1.w, 0xdca875cf; 74 dmm32 A1.x, 0x0000002c; 75 imm32 R3, 0x4c0892ef; 76 imm32 R5, 0x001fea98; 77 R5.H = (A1 += R5.L * R3.H) (M, IS); 78 checkreg R5, 0x7fffea98; 79 checkreg A1.w, 0xd64cea8f; 80 checkreg A1.x, 0x0000002c; 81 checkreg ASTAT, (0x78604a80 | _VS | _V | _AV0S | _AQ | _CC | _V_COPY); 82 83 dmm32 ASTAT, (0x00a04210 | _VS | _V | _AV1S | _AC1 | _AC0 | _CC | _V_COPY | _AC0_COPY | _AN); 84 dmm32 A1.w, 0xec5ef880; 85 dmm32 A1.x, 0xfffffffe; 86 imm32 R0, 0x229657d6; 87 imm32 R7, 0xedd48000; 88 A1 += R0.L * R7.L (M, IS); 89 checkreg A1.w, 0x1849f880; 90 checkreg A1.x, 0xffffffff; 91 checkreg ASTAT, (0x00a04210 | _VS | _V | _AV1S | _AC1 | _AC0 | _CC | _V_COPY | _AC0_COPY | _AN); 92 93 dmm32 ASTAT, (0x0840ce80 | _VS | _AV1S | _AV0S | _AC1 | _AQ); 94 dmm32 A1.w, 0xe4a5a6e1; 95 dmm32 A1.x, 0x00000078; 96 imm32 R0, 0xf059329d; 97 imm32 R7, 0x7fff7512; 98 A1 += R7.L * R0.L (M, IS); 99 checkreg A1.w, 0xfbcaf6eb; 100 checkreg A1.x, 0x00000078; 101 checkreg ASTAT, (0x0840ce80 | _VS | _AV1S | _AV0S | _AC1 | _AQ); 102 103 dmm32 ASTAT, (0x60100810 | _VS | _AV0S | _AQ | _AC0_COPY | _AZ); 104 dmm32 A1.w, 0xd56a8232; 105 dmm32 A1.x, 0x00000033; 106 imm32 R0, 0x09b22c69; 107 imm32 R7, 0x434f1d64; 108 A1 -= R0.L * R7.L (M, IS); 109 checkreg A1.w, 0xd051442e; 110 checkreg A1.x, 0x00000033; 111 checkreg ASTAT, (0x60100810 | _VS | _AV0S | _AQ | _AC0_COPY | _AZ); 112 113 dmm32 ASTAT, (0x58e08410 | _VS | _AV1S | _AV0S | _AC0 | _AQ | _CC | _AC0_COPY | _AN); 114 dmm32 A1.w, 0x86c9a59e; 115 dmm32 A1.x, 0xffffff9a; 116 imm32 R1, 0x22573f31; 117 imm32 R6, 0x2d0c0155; 118 A1 += R1.L * R6.H (M, IS); 119 checkreg A1.w, 0x91e838ea; 120 checkreg A1.x, 0xffffff9a; 121 checkreg ASTAT, (0x58e08410 | _VS | _AV1S | _AV0S | _AC0 | _AQ | _CC | _AC0_COPY | _AN); 122 123 dmm32 ASTAT, (0x64a0c690 | _VS | _AV0S | _AC1 | _AQ | _AC0_COPY | _AN); 124 dmm32 A1.w, 0xc5c840aa; 125 dmm32 A1.x, 0x00000000; 126 imm32 R4, 0xffff7fff; 127 imm32 R7, 0x658e833f; 128 A1 -= R7.L * R4.H (M, IS); 129 checkreg A1.w, 0x4288c3e9; 130 checkreg A1.x, 0x00000001; 131 checkreg ASTAT, (0x64a0c690 | _VS | _AV0S | _AC1 | _AQ | _AC0_COPY | _AN); 132 133 dmm32 ASTAT, (0x08804610 | _VS | _V | _AV0S | _AC1 | _AQ | _CC | _V_COPY | _AN); 134 dmm32 A1.w, 0xf1000000; 135 dmm32 A1.x, 0x00000040; 136 imm32 R3, 0x0cd4edf1; 137 imm32 R6, 0x4dfc08b8; 138 R6.H = (A1 += R6.L * R3.H) (M, IS); 139 checkreg R6, 0x7fff08b8; 140 checkreg A1.w, 0xf16fd860; 141 checkreg A1.x, 0x00000040; 142 checkreg ASTAT, (0x08804610 | _VS | _V | _AV0S | _AC1 | _AQ | _CC | _V_COPY | _AN); 143 144 dmm32 ASTAT, (0x7c004690 | _VS | _AV0S | _AC1 | _AQ | _AC0_COPY | _AN); 145 dmm32 A1.w, 0xd4deb886; 146 dmm32 A1.x, 0x00000001; 147 imm32 R1, 0x80008000; 148 imm32 R6, 0x22fb6e50; 149 imm32 R7, 0x3fcb147f; 150 R1.H = (A1 -= R7.L * R6.L) (M, IS); 151 checkreg R1, 0x7fff8000; 152 checkreg A1.w, 0xcc09bed6; 153 checkreg A1.x, 0x00000001; 154 checkreg ASTAT, (0x7c004690 | _VS | _V | _AV0S | _AC1 | _AQ | _V_COPY | _AC0_COPY | _AN); 155 156 dmm32 ASTAT, (0x40a00400 | _VS | _V | _AV1S | _AQ | _V_COPY | _AN); 157 dmm32 A1.w, 0x9698e35b; 158 dmm32 A1.x, 0xfffffffc; 159 imm32 R5, 0x8000038c; 160 imm32 R6, 0x3152ffff; 161 A1 -= R6.L * R5.L (M, IS); 162 checkreg A1.w, 0x9698e6e7; 163 checkreg A1.x, 0xfffffffc; 164 checkreg ASTAT, (0x40a00400 | _VS | _V | _AV1S | _AQ | _V_COPY | _AN); 165 166 dmm32 ASTAT, (0x54c00810 | _VS | _V | _AC1 | _CC | _V_COPY | _AN | _AZ); 167 dmm32 A1.w, 0x9b02b9c6; 168 dmm32 A1.x, 0xffffffd4; 169 imm32 R2, 0xff020105; 170 imm32 R3, 0xa8ff8000; 171 R3.H = (A1 -= R2.L * R3.L) (M, IS); 172 checkreg R3, 0x80008000; 173 checkreg A1.w, 0x9a8039c6; 174 checkreg A1.x, 0xffffffd4; 175 checkreg ASTAT, (0x54c00810 | _VS | _V | _AC1 | _CC | _V_COPY | _AN | _AZ); 176 177 dmm32 ASTAT, (0x58808680 | _VS | _V | _AC1 | _CC | _V_COPY | _AC0_COPY | _AN); 178 dmm32 A1.w, 0x990456b2; 179 dmm32 A1.x, 0x00000000; 180 imm32 R0, 0x2b76c7b2; 181 imm32 R3, 0x659803c8; 182 imm32 R7, 0x7fffffff; 183 R3.H = (A1 += R7.L * R0.L) (M, IS); 184 checkreg R3, 0x7fff03c8; 185 checkreg A1.w, 0x99038f00; 186 checkreg A1.x, 0x00000000; 187 checkreg ASTAT, (0x58808680 | _VS | _V | _AC1 | _CC | _V_COPY | _AC0_COPY | _AN); 188 189 dmm32 ASTAT, (0x3ce04690 | _VS | _AV0S | _AC1 | _AC0 | _CC | _AC0_COPY); 190 dmm32 A1.w, 0x95d1d45a; 191 dmm32 A1.x, 0x00000000; 192 imm32 R0, 0x4331b012; 193 imm32 R5, 0x7fff8000; 194 A1 -= R0.L * R5.H (M, IS); 195 checkreg A1.w, 0xbdc8846c; 196 checkreg A1.x, 0x00000000; 197 checkreg ASTAT, (0x3ce04690 | _VS | _AV0S | _AC1 | _AC0 | _CC | _AC0_COPY); 198 199 dmm32 ASTAT, (0x30e04410 | _VS | _AV1S | _AV0S | _AC1 | _AQ | _CC); 200 dmm32 A1.w, 0xcf49e4c9; 201 dmm32 A1.x, 0x00000000; 202 imm32 R1, 0xe968a740; 203 imm32 R3, 0xd7383cd5; 204 imm32 R6, 0x5a87c89b; 205 R1 = (A1 += R3.L * R6.H) (M, IS); 206 checkreg R1, 0x7fffffff; 207 checkreg A1.w, 0xe4ccdb1c; 208 checkreg A1.x, 0x00000000; 209 checkreg ASTAT, (0x30e04410 | _VS | _V | _AV1S | _AV0S | _AC1 | _AQ | _CC | _V_COPY); 210 211 dmm32 ASTAT, (0x2cb04890 | _VS | _AC1 | _AQ | _AC0_COPY); 212 dmm32 A1.w, 0x8bdaf471; 213 dmm32 A1.x, 0xffffffbd; 214 imm32 R3, 0x728d99b1; 215 imm32 R7, 0x181d83c2; 216 A1 -= R7.L * R3.L (M, IS); 217 checkreg A1.w, 0xd671e94f; 218 checkreg A1.x, 0xffffffbd; 219 checkreg ASTAT, (0x2cb04890 | _VS | _AC1 | _AQ | _AC0_COPY); 220 221 dmm32 ASTAT, (0x20908680 | _VS | _AV0S | _AC1 | _AQ | _CC | _AZ); 222 dmm32 A1.w, 0xc1cb8a00; 223 dmm32 A1.x, 0x00000000; 224 imm32 R1, 0xc1e98ea8; 225 imm32 R7, 0x0000961f; 226 A1 -= R7.L * R1.L (M, IS); 227 checkreg A1.w, 0xfccbd3a8; 228 checkreg A1.x, 0x00000000; 229 checkreg ASTAT, (0x20908680 | _VS | _AV0S | _AC1 | _AQ | _CC | _AZ); 230 231 dmm32 ASTAT, (0x64a0cc80 | _VS | _V | _AV1S | _AV0S | _AQ | _V_COPY | _AZ); 232 dmm32 A1.w, 0xfb328cb4; 233 dmm32 A1.x, 0xffffff9b; 234 imm32 R2, 0x8000ffff; 235 imm32 R3, 0x64d21863; 236 imm32 R6, 0x3b7618a6; 237 R2.H = (A1 += R3.L * R6.H) (M, IS); 238 checkreg A1.w, 0x00dc9b56; 239 checkreg A1.x, 0xffffff9c; 240 checkreg ASTAT, (0x64a0cc80 | _VS | _V | _AV1S | _AV0S | _AQ | _V_COPY | _AZ); 241 242 dmm32 ASTAT, (0x3c00ca90 | _VS | _V | _AV0S | _AC1 | _V_COPY | _AC0_COPY | _AN); 243 dmm32 A1.w, 0xbfb4c632; 244 dmm32 A1.x, 0x00000044; 245 imm32 R1, 0x7fffffff; 246 imm32 R3, 0xf3e9182e; 247 imm32 R5, 0x3c94d844; 248 R5.H = (A1 += R1.L * R3.H) (M, IS); 249 checkreg R5, 0x7fffd844; 250 checkreg A1.w, 0xbfb3d249; 251 checkreg A1.x, 0x00000044; 252 checkreg ASTAT, (0x3c00ca90 | _VS | _V | _AV0S | _AC1 | _V_COPY | _AC0_COPY | _AN); 253 254 dmm32 ASTAT, (0x48c0cc10 | _VS | _V | _AV1S | _AV0S | _AC1 | _AQ | _CC | _V_COPY); 255 dmm32 A1.w, 0x83144651; 256 dmm32 A1.x, 0x00000000; 257 imm32 R3, 0x04d0ffff; 258 imm32 R4, 0x9dc8f8d8; 259 imm32 R7, 0x23180d75; 260 R3 = (A1 += R4.L * R7.L) (M, IS); 261 checkreg R3, 0x7fffffff; 262 checkreg A1.w, 0x82b3f909; 263 checkreg A1.x, 0x00000000; 264 checkreg ASTAT, (0x48c0cc10 | _VS | _V | _AV1S | _AV0S | _AC1 | _AQ | _CC | _V_COPY); 265 266 pass 267