1//Original:/testcases/core/c_dsp32alu_rh_rnd20_m/c_dsp32alu_rh_rnd20_m.dsp 2// Spec Reference: dsp32alu dreg (half) 3# mach: bfin 4 5.include "testutils.inc" 6 start 7 8imm32 r0, 0xa5678911; 9imm32 r1, 0x2a89ab1d; 10imm32 r2, 0x34a45515; 11imm32 r3, 0x46a67717; 12imm32 r4, 0x5678891b; 13imm32 r5, 0x678aab1d; 14imm32 r6, 0x7444a515; 15imm32 r7, 0x86667a77; 16R0.H = R0 - R0 (RND20); 17R1.H = R0 - R1 (RND20); 18R2.H = R0 - R2 (RND20); 19R3.H = R0 - R3 (RND20); 20R4.H = R0 - R4 (RND20); 21R5.H = R0 - R5 (RND20); 22R6.H = R0 - R6 (RND20); 23R7.H = R0 - R7 (RND20); 24CHECKREG r0, 0x00008911; 25CHECKREG r1, 0xFD57AB1D; 26CHECKREG r2, 0xFCB65515; 27CHECKREG r3, 0xFB967717; 28CHECKREG r4, 0xFA98891B; 29CHECKREG r5, 0xF987AB1D; 30CHECKREG r6, 0xF8BCA515; 31CHECKREG r7, 0x079A7A77; 32 33imm32 r0, 0xa5678911; 34imm32 r1, 0x2789ab1d; 35imm32 r2, 0xb4445515; 36imm32 r3, 0x46667717; 37imm32 r4, 0x5b78891b; 38imm32 r5, 0x67bbab1d; 39imm32 r6, 0x7444b515; 40imm32 r7, 0x86667b77; 41R0.H = R1 - R0 (RND20); 42R1.H = R1 - R1 (RND20); 43R2.H = R1 - R2 (RND20); 44R3.H = R1 - R3 (RND20); 45R4.H = R1 - R4 (RND20); 46R5.H = R1 - R5 (RND20); 47R6.H = R1 - R6 (RND20); 48R7.H = R1 - R7 (RND20); 49CHECKREG r0, 0x08228911; 50CHECKREG r1, 0x0000AB1D; 51CHECKREG r2, 0x04BC5515; 52CHECKREG r3, 0xFB9A7717; 53CHECKREG r4, 0xFA49891B; 54CHECKREG r5, 0xF984AB1D; 55CHECKREG r6, 0xF8BCB515; 56CHECKREG r7, 0x079A7B77; 57 58imm32 r0, 0xa5678911; 59imm32 r1, 0x2a89ab1d; 60imm32 r2, 0x3a445515; 61imm32 r3, 0x46a67717; 62imm32 r4, 0x567a891b; 63imm32 r5, 0x6789ab1d; 64imm32 r6, 0x74445a15; 65imm32 r7, 0x866677a7; 66R0.H = R2 - R0 (RND20); 67R1.H = R2 - R1 (RND20); 68R2.H = R2 - R2 (RND20); 69R3.H = R2 - R3 (RND20); 70R4.H = R2 - R4 (RND20); 71R5.H = R2 - R5 (RND20); 72R6.H = R2 - R6 (RND20); 73R7.H = R2 - R7 (RND20); 74CHECKREG r0, 0x094E8911; 75CHECKREG r1, 0x00FCAB1D; 76CHECKREG r2, 0x00005515; 77CHECKREG r3, 0xFB967717; 78CHECKREG r4, 0xFA98891B; 79CHECKREG r5, 0xF987AB1D; 80CHECKREG r6, 0xF8BC5A15; 81CHECKREG r7, 0x079A77A7; 82 83imm32 r0, 0xb5678911; 84imm32 r1, 0xb789ab1d; 85imm32 r2, 0x3d445515; 86imm32 r3, 0x46d67717; 87imm32 r4, 0x5678891b; 88imm32 r5, 0x678ddb1d; 89imm32 r6, 0x74445d15; 90imm32 r7, 0x866677d7; 91R0.H = R3 - R0 (RND20); 92R1.H = R3 - R1 (RND20); 93R2.H = R3 - R2 (RND20); 94R3.H = R3 - R3 (RND20); 95R4.H = R3 - R4 (RND20); 96R5.H = R3 - R5 (RND20); 97R6.H = R3 - R6 (RND20); 98R7.H = R3 - R7 (RND20); 99CHECKREG r0, 0x09178911; 100CHECKREG r1, 0x08F5AB1D; 101CHECKREG r2, 0x00995515; 102CHECKREG r3, 0x00007717; 103CHECKREG r4, 0xFA98891B; 104CHECKREG r5, 0xF987DB1D; 105CHECKREG r6, 0xF8BC5D15; 106CHECKREG r7, 0x079A77D7; 107 108imm32 r0, 0xd5678911; 109imm32 r1, 0x2789ab1d; 110imm32 r2, 0xd4445515; 111imm32 r3, 0xd6667717; 112imm32 r4, 0x5d78891b; 113imm32 r5, 0x67d9ab1d; 114imm32 r6, 0x744d5515; 115imm32 r7, 0x8666dd77; 116R0.H = R4 - R0 (RND20); 117R1.H = R4 - R1 (RND20); 118R2.H = R4 - R2 (RND20); 119R3.H = R4 - R3 (RND20); 120R4.H = R4 - R4 (RND20); 121R5.H = R4 - R5 (RND20); 122R6.H = R4 - R6 (RND20); 123R7.H = R4 - R7 (RND20); 124CHECKREG r0, 0x08818911; 125CHECKREG r1, 0x035FAB1D; 126CHECKREG r2, 0x08935515; 127CHECKREG r3, 0x08717717; 128CHECKREG r4, 0x0000891B; 129CHECKREG r5, 0xF982AB1D; 130CHECKREG r6, 0xF8BB5515; 131CHECKREG r7, 0x079ADD77; 132 133imm32 r0, 0xe5678911; 134imm32 r1, 0x2e89ab1d; 135imm32 r2, 0x34d45515; 136imm32 r3, 0x46667717; 137imm32 r4, 0x567d891b; 138imm32 r5, 0x6789db1d; 139imm32 r6, 0x74445d15; 140imm32 r7, 0x866677d7; 141R0.H = R5 - R0 (RND20); 142R1.H = R5 - R1 (RND20); 143R2.H = R5 - R2 (RND20); 144R3.H = R5 - R3 (RND20); 145R4.H = R5 - R4 (RND20); 146R5.H = R5 - R5 (RND20); 147R6.H = R5 - R6 (RND20); 148R7.H = R5 - R7 (RND20); 149CHECKREG r0, 0x08228911; 150CHECKREG r1, 0x0390AB1D; 151CHECKREG r2, 0x032B5515; 152CHECKREG r3, 0x02127717; 153CHECKREG r4, 0x0111891B; 154CHECKREG r5, 0x0000DB1D; 155CHECKREG r6, 0xF8BC5D15; 156CHECKREG r7, 0x079A77D7; 157 158imm32 r0, 0xa5678911; 159imm32 r1, 0x2a89ab1d; 160imm32 r2, 0x34a45515; 161imm32 r3, 0x46a67717; 162imm32 r4, 0x56a8891b; 163imm32 r5, 0x678aab1d; 164imm32 r6, 0x7444a515; 165imm32 r7, 0x86667a77; 166R0.H = R6 - R0 (RND20); 167R1.H = R6 - R1 (RND20); 168R2.H = R6 - R2 (RND20); 169R3.H = R6 - R3 (RND20); 170R4.H = R6 - R4 (RND20); 171R5.H = R6 - R5 (RND20); 172R6.H = R6 - R6 (RND20); 173R7.H = R6 - R7 (RND20); 174CHECKREG r0, 0x0CEE8911; 175CHECKREG r1, 0x049CAB1D; 176CHECKREG r2, 0x03FA5515; 177CHECKREG r3, 0x02DA7717; 178CHECKREG r4, 0x01DA891B; 179CHECKREG r5, 0x00CCAB1D; 180CHECKREG r6, 0x0000A515; 181CHECKREG r7, 0x079A7A77; 182 183imm32 r0, 0x15678911; 184imm32 r1, 0x2789ab1d; 185imm32 r2, 0x34445515; 186imm32 r3, 0x46667717; 187imm32 r4, 0x5678891b; 188imm32 r5, 0x6789ab1d; 189imm32 r6, 0x74445515; 190imm32 r7, 0x86667777; 191R0.H = R7 - R0 (RND20); 192R1.H = R7 - R1 (RND20); 193R2.H = R7 - R2 (RND20); 194R3.H = R7 - R3 (RND20); 195R4.H = R7 - R4 (RND20); 196R5.H = R7 - R5 (RND20); 197R6.H = R7 - R6 (RND20); 198R7.H = R7 - R7 (RND20); 199CHECKREG r0, 0xF7108911; 200CHECKREG r1, 0xF5EEAB1D; 201CHECKREG r2, 0xF5225515; 202CHECKREG r3, 0xF4007717; 203CHECKREG r4, 0xF2FF891B; 204CHECKREG r5, 0xF1EEAB1D; 205CHECKREG r6, 0xF1225515; 206CHECKREG r7, 0x00007777; 207 208imm32 r0, 0xe5678911; 209imm32 r1, 0xe789ab1d; 210imm32 r2, 0xe4445515; 211imm32 r3, 0x4ee67717; 212imm32 r4, 0x567e891b; 213imm32 r5, 0x6789ab1d; 214imm32 r6, 0x7444e515; 215imm32 r7, 0x86667e77; 216R6.H = R2 - R3 (RND20); 217R1.H = R4 - R5 (RND20); 218R5.H = R7 - R2 (RND20); 219R3.H = R0 - R0 (RND20); 220R0.H = R3 - R4 (RND20); 221R2.H = R5 - R7 (RND20); 222R7.H = R6 - R7 (RND20); 223R4.H = R1 - R6 (RND20); 224CHECKREG r0, 0xFA988911; 225CHECKREG r1, 0xFEEFAB1D; 226CHECKREG r2, 0x073C5515; 227CHECKREG r3, 0x00007717; 228CHECKREG r4, 0x005A891B; 229CHECKREG r5, 0xFA22AB1D; 230CHECKREG r6, 0xF956E515; 231CHECKREG r7, 0x072F7E77; 232 233imm32 r0, 0xe5678911; 234imm32 r1, 0x2789ab1d; 235imm32 r2, 0x3d445515; 236imm32 r3, 0x46d67717; 237imm32 r4, 0x567d891b; 238imm32 r5, 0x6789db1d; 239imm32 r6, 0x7444d515; 240imm32 r7, 0x86667d77; 241R3.H = R4 - R0 (RND20); 242R1.H = R6 - R3 (RND20); 243R4.H = R3 - R2 (RND20); 244R6.H = R7 - R1 (RND20); 245R2.H = R5 - R4 (RND20); 246R7.H = R2 - R7 (RND20); 247R0.H = R1 - R6 (RND20); 248R5.H = R0 - R5 (RND20); 249CHECKREG r0, 0x00EE8911; 250CHECKREG r1, 0x06D3AB1D; 251CHECKREG r2, 0x06AF5515; 252CHECKREG r3, 0x07117717; 253CHECKREG r4, 0xFC9D891B; 254CHECKREG r5, 0xF996DB1D; 255CHECKREG r6, 0xF7F9D515; 256CHECKREG r7, 0x08057D77; 257 258pass 259