1//Original:/testcases/core/c_dsp32alu_rh_rnd20_p/c_dsp32alu_rh_rnd20_p.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, 0xF4AD8911; 25CHECKREG r1, 0x01F3AB1D; 26CHECKREG r2, 0x02955515; 27CHECKREG r3, 0x03B57717; 28CHECKREG r4, 0x04B2891B; 29CHECKREG r5, 0x05C4AB1D; 30CHECKREG r6, 0x068FA515; 31CHECKREG r7, 0xF7B17A77; 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, 0xFCCF8911; 50CHECKREG r1, 0x04F1AB1D; 51CHECKREG r2, 0xFB935515; 52CHECKREG r3, 0x04B67717; 53CHECKREG r4, 0x0607891B; 54CHECKREG r5, 0x06CBAB1D; 55CHECKREG r6, 0x0793B515; 56CHECKREG r7, 0xF8B67B77; 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, 0xFDFB8911; 75CHECKREG r1, 0x064DAB1D; 76CHECKREG r2, 0x07495515; 77CHECKREG r3, 0x04DF7717; 78CHECKREG r4, 0x05DC891B; 79CHECKREG r5, 0x06EDAB1D; 80CHECKREG r6, 0x07B95A15; 81CHECKREG r7, 0xF8DB77A7; 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, 0xFFC48911; 100CHECKREG r1, 0xFFE6AB1D; 101CHECKREG r2, 0x08425515; 102CHECKREG r3, 0x08DB7717; 103CHECKREG r4, 0x05F5891B; 104CHECKREG r5, 0x0707DB1D; 105CHECKREG r6, 0x07D25D15; 106CHECKREG r7, 0xF8F477D7; 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, 0x032E8911; 125CHECKREG r1, 0x0850AB1D; 126CHECKREG r2, 0x031C5515; 127CHECKREG r3, 0x033E7717; 128CHECKREG r4, 0x0BAF891B; 129CHECKREG r5, 0x0739AB1D; 130CHECKREG r6, 0x08005515; 131CHECKREG r7, 0xF921DD77; 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, 0x04CF8911; 150CHECKREG r1, 0x0961AB1D; 151CHECKREG r2, 0x09C65515; 152CHECKREG r3, 0x0ADF7717; 153CHECKREG r4, 0x0BE0891B; 154CHECKREG r5, 0x0CF1DB1D; 155CHECKREG r6, 0x08135D15; 156CHECKREG r7, 0xF93677D7; 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, 0x019B8911; 175CHECKREG r1, 0x09EDAB1D; 176CHECKREG r2, 0x0A8F5515; 177CHECKREG r3, 0x0BAF7717; 178CHECKREG r4, 0x0CAF891B; 179CHECKREG r5, 0x0DBDAB1D; 180CHECKREG r6, 0x0E89A515; 181CHECKREG r7, 0xF94F7A77; 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, 0xF9BD8911; 200CHECKREG r1, 0xFADFAB1D; 201CHECKREG r2, 0xFBAB5515; 202CHECKREG r3, 0xFCCD7717; 203CHECKREG r4, 0xFDCE891B; 204CHECKREG r5, 0xFEDFAB1D; 205CHECKREG r6, 0xFFAB5515; 206CHECKREG r7, 0xF0CD7777; 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, 0x05338911; 225CHECKREG r1, 0x0BE1AB1D; 226CHECKREG r2, 0xF7D15515; 227CHECKREG r3, 0xFCAD7717; 228CHECKREG r4, 0x00F1891B; 229CHECKREG r5, 0xF6ABAB1D; 230CHECKREG r6, 0x0333E515; 231CHECKREG r7, 0xF89A7E77; 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, 0x00068911; 250CHECKREG r1, 0x0780AB1D; 251CHECKREG r2, 0x06BA5515; 252CHECKREG r3, 0x03BE7717; 253CHECKREG r4, 0x0410891B; 254CHECKREG r5, 0x0679DB1D; 255CHECKREG r6, 0xF8DED515; 256CHECKREG r7, 0xF8D27D77; 257 258pass 259