1//Original:/testcases/core/c_dsp32alu_rl_rnd20_p/c_dsp32alu_rl_rnd20_p.dsp 2// Spec Reference: dsp32alu dreg (half) 3# mach: bfin 4 5.include "testutils.inc" 6 start 7 8imm32 r0, 0x75678911; 9imm32 r1, 0xa789ab1d; 10imm32 r2, 0x34745515; 11imm32 r3, 0x4b677717; 12imm32 r4, 0x5678791b; 13imm32 r5, 0xc789a71d; 14imm32 r6, 0x74445515; 15imm32 r7, 0x86667777; 16R0.L = R0 + R0 (RND20); 17R1.L = R0 + R1 (RND20); 18R2.L = R0 + R2 (RND20); 19R3.L = R0 + R3 (RND20); 20R4.L = R0 + R4 (RND20); 21R5.L = R0 + R5 (RND20); 22R6.L = R0 + R6 (RND20); 23R7.L = R0 + R7 (RND20); 24CHECKREG r0, 0x75670EAD; 25CHECKREG r1, 0xA78901CF; 26CHECKREG r2, 0x34740A9E; 27CHECKREG r3, 0x4B670C0D; 28CHECKREG r4, 0x56780CBE; 29CHECKREG r5, 0xC78903CF; 30CHECKREG r6, 0x74440E9B; 31CHECKREG r7, 0x8666FFBD; 32 33imm32 r0, 0xe5678911; 34imm32 r1, 0x2789ab1d; 35imm32 r2, 0x3e445515; 36imm32 r3, 0x46667717; 37imm32 r4, 0x56e8891b; 38imm32 r5, 0x678eab1d; 39imm32 r6, 0x74445515; 40imm32 r7, 0x86e67e77; 41R0.L = R1 + R0 (RND20); 42R1.L = R1 + R1 (RND20); 43R2.L = R1 + R2 (RND20); 44R3.L = R1 + R3 (RND20); 45R4.L = R1 + R4 (RND20); 46R5.L = R1 + R5 (RND20); 47R6.L = R1 + R6 (RND20); 48R7.L = R1 + R7 (RND20); 49CHECKREG r0, 0xE56700CF; 50CHECKREG r1, 0x278904F1; 51CHECKREG r2, 0x3E44065D; 52CHECKREG r3, 0x466606DF; 53CHECKREG r4, 0x56E807E7; 54CHECKREG r5, 0x678E08F1; 55CHECKREG r6, 0x744409BD; 56CHECKREG r7, 0x86E6FAE7; 57 58imm32 r0, 0xdd678911; 59imm32 r1, 0x2789ab1d; 60imm32 r2, 0x3d445515; 61imm32 r3, 0x46667717; 62imm32 r4, 0x56d8891b; 63imm32 r5, 0x678dab1d; 64imm32 r6, 0x7444d515; 65imm32 r7, 0x86667d77; 66R0.L = R2 + R0 (RND20); 67R1.L = R2 + R1 (RND20); 68R2.L = R2 + R2 (RND20); 69R3.L = R2 + R3 (RND20); 70R4.L = R2 + R4 (RND20); 71R5.L = R2 + R5 (RND20); 72R6.L = R2 + R6 (RND20); 73R7.L = R2 + R7 (RND20); 74CHECKREG r0, 0xDD6701AB; 75CHECKREG r1, 0x2789064D; 76CHECKREG r2, 0x3D4407A9; 77CHECKREG r3, 0x4666083B; 78CHECKREG r4, 0x56D80942; 79CHECKREG r5, 0x678D0A4D; 80CHECKREG r6, 0x74440B19; 81CHECKREG r7, 0x8666FC3B; 82 83imm32 r0, 0xa5678911; 84imm32 r1, 0x2a89ab1d; 85imm32 r2, 0x34445515; 86imm32 r3, 0x46a67717; 87imm32 r4, 0x567a891b; 88imm32 r5, 0x6789ab1d; 89imm32 r6, 0x7444c515; 90imm32 r7, 0x86667c77; 91R0.L = R3 + R0 (RND20); 92R1.L = R3 + R1 (RND20); 93R2.L = R3 + R2 (RND20); 94R3.L = R3 + R3 (RND20); 95R4.L = R3 + R4 (RND20); 96R5.L = R3 + R5 (RND20); 97R6.L = R3 + R6 (RND20); 98R7.L = R3 + R7 (RND20); 99CHECKREG r0, 0xA567FEC1; 100CHECKREG r1, 0x2A890713; 101CHECKREG r2, 0x344407AF; 102CHECKREG r3, 0x46A608D5; 103CHECKREG r4, 0x567A09D2; 104CHECKREG r5, 0x67890AE3; 105CHECKREG r6, 0x74440BAF; 106CHECKREG r7, 0x8666FCD1; 107 108imm32 r0, 0x15678911; 109imm32 r1, 0x2789ab1d; 110imm32 r2, 0x34445515; 111imm32 r3, 0x46667717; 112imm32 r4, 0x5678891b; 113imm32 r5, 0x6789ab1d; 114imm32 r6, 0x74445515; 115imm32 r7, 0x86667777; 116R0.L = R4 + R0 (RND20); 117R1.L = R4 + R1 (RND20); 118R2.L = R4 + R2 (RND20); 119R3.L = R4 + R3 (RND20); 120R4.L = R4 + R4 (RND20); 121R5.L = R4 + R5 (RND20); 122R6.L = R4 + R6 (RND20); 123R7.L = R4 + R7 (RND20); 124CHECKREG r0, 0x156706BE; 125CHECKREG r1, 0x278907E0; 126CHECKREG r2, 0x344408AC; 127CHECKREG r3, 0x466609CE; 128CHECKREG r4, 0x56780ACF; 129CHECKREG r5, 0x67890BE0; 130CHECKREG r6, 0x74440CAC; 131CHECKREG r7, 0x8666FDCE; 132 133imm32 r0, 0x95678911; 134imm32 r1, 0x8789ab1d; 135imm32 r2, 0x74445515; 136imm32 r3, 0x4a667717; 137imm32 r4, 0x56b8891b; 138imm32 r5, 0x678dab1d; 139imm32 r6, 0x7444e515; 140imm32 r7, 0x86667d77; 141R0.L = R5 + R0 (RND20); 142R1.L = R5 + R1 (RND20); 143R2.L = R5 + R2 (RND20); 144R3.L = R5 + R3 (RND20); 145R4.L = R5 + R4 (RND20); 146R5.L = R5 + R5 (RND20); 147R6.L = R5 + R6 (RND20); 148R7.L = R5 + R7 (RND20); 149CHECKREG r0, 0x9567FFCF; 150CHECKREG r1, 0x8789FEF1; 151CHECKREG r2, 0x74440DBD; 152CHECKREG r3, 0x4A660B1F; 153CHECKREG r4, 0x56B80BE4; 154CHECKREG r5, 0x678D0CF2; 155CHECKREG r6, 0x74440DBD; 156CHECKREG r7, 0x8666FEDF; 157 158imm32 r0, 0x35678911; 159imm32 r1, 0x2459ab1d; 160imm32 r2, 0x34465515; 161imm32 r3, 0xe6667717; 162imm32 r4, 0x5d78891b; 163imm32 r5, 0x67b9ab1d; 164imm32 r6, 0x744a5515; 165imm32 r7, 0x8666c777; 166R0.L = R6 + R0 (RND20); 167R1.L = R6 + R1 (RND20); 168R2.L = R6 + R2 (RND20); 169R3.L = R6 + R3 (RND20); 170R4.L = R6 + R4 (RND20); 171R5.L = R6 + R5 (RND20); 172R6.L = R6 + R6 (RND20); 173R7.L = R6 + R7 (RND20); 174CHECKREG r0, 0x35670A9B; 175CHECKREG r1, 0x2459098A; 176CHECKREG r2, 0x34460A89; 177CHECKREG r3, 0xE66605AB; 178CHECKREG r4, 0x5D780D1C; 179CHECKREG r5, 0x67B90DC0; 180CHECKREG r6, 0x744A0E89; 181CHECKREG r7, 0x8666FFAB; 182 183imm32 r0, 0xa5678911; 184imm32 r1, 0x2789ab1d; 185imm32 r2, 0x3a445515; 186imm32 r3, 0x4c667717; 187imm32 r4, 0x56b8891b; 188imm32 r5, 0x678dab1d; 189imm32 r6, 0x74445515; 190imm32 r7, 0x8666d777; 191R0.L = R7 + R0 (RND20); 192R1.L = R7 + R1 (RND20); 193R2.L = R7 + R2 (RND20); 194R3.L = R7 + R3 (RND20); 195R4.L = R7 + R4 (RND20); 196R5.L = R7 + R5 (RND20); 197R6.L = R7 + R6 (RND20); 198R7.L = R7 + R7 (RND20); 199CHECKREG r0, 0xA567F2BD; 200CHECKREG r1, 0x2789FADF; 201CHECKREG r2, 0x3A44FC0B; 202CHECKREG r3, 0x4C66FD2D; 203CHECKREG r4, 0x56B8FDD2; 204CHECKREG r5, 0x678DFEDF; 205CHECKREG r6, 0x7444FFAB; 206CHECKREG r7, 0x8666F0CD; 207 208imm32 r0, 0xabd78911; 209imm32 r1, 0x2789ab1d; 210imm32 r2, 0xd4445515; 211imm32 r3, 0x4e667717; 212imm32 r4, 0x56f8891b; 213imm32 r5, 0x678aab1d; 214imm32 r6, 0x7444b515; 215imm32 r7, 0x86667d77; 216R6.L = R2 + R3 (RND20); 217R1.L = R4 + R5 (RND20); 218R5.L = R7 + R2 (RND20); 219R3.L = R0 + R0 (RND20); 220R0.L = R3 + R4 (RND20); 221R2.L = R5 + R7 (RND20); 222R7.L = R6 + R7 (RND20); 223R4.L = R1 + R6 (RND20); 224CHECKREG r0, 0xABD70A56; 225CHECKREG r1, 0x27890BE8; 226CHECKREG r2, 0xD444FEDF; 227CHECKREG r3, 0x4E66F57B; 228CHECKREG r4, 0x56F809BD; 229CHECKREG r5, 0x678AF5AB; 230CHECKREG r6, 0x7444022B; 231CHECKREG r7, 0x8666FFAB; 232 233imm32 r0, 0x15678911; 234imm32 r1, 0x2789ab1d; 235imm32 r2, 0x34445515; 236imm32 r3, 0x46667717; 237imm32 r4, 0x5678891b; 238imm32 r5, 0x6789ab1d; 239imm32 r6, 0x74445515; 240imm32 r7, 0x86667777; 241R3.L = R4 + R0 (RND20); 242R1.L = R6 + R3 (RND20); 243R4.L = R3 + R2 (RND20); 244R6.L = R7 + R1 (RND20); 245R2.L = R5 + R4 (RND20); 246R7.L = R2 + R7 (RND20); 247R0.L = R1 + R6 (RND20); 248R5.L = R0 + R5 (RND20); 249CHECKREG r0, 0x156709BD; 250CHECKREG r1, 0x27890BAB; 251CHECKREG r2, 0x34440BE0; 252CHECKREG r3, 0x466606BE; 253CHECKREG r4, 0x567807AB; 254CHECKREG r5, 0x678907CF; 255CHECKREG r6, 0x7444FADF; 256CHECKREG r7, 0x8666FBAB; 257 258pass 259