1//Original:/testcases/core/c_dsp32alu_rl_rnd20_m/c_dsp32alu_rl_rnd20_m.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, 0x75670000; 25CHECKREG r1, 0xA7890CDE; 26CHECKREG r2, 0x3474040F; 27CHECKREG r3, 0x4B6702A0; 28CHECKREG r4, 0x567801EF; 29CHECKREG r5, 0xC7890ADE; 30CHECKREG r6, 0x74440012; 31CHECKREG r7, 0x86660EF0; 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); 42CHECKREG r0, 0xE5670422; 43R1.L = R1 - R1 (RND20); 44CHECKREG r1, 0x27890000; 45R2.L = R1 - R2 (RND20); 46CHECKREG r2, 0x3E44FE94; 47R3.L = R1 - R3 (RND20); 48CHECKREG r3, 0x4666FE12; 49R4.L = R1 - R4 (RND20); 50R5.L = R1 - R5 (RND20); 51R6.L = R1 - R6 (RND20); 52R7.L = R1 - R7 (RND20); 53CHECKREG r0, 0xE5670422; 54CHECKREG r1, 0x27890000; 55CHECKREG r2, 0x3E44FE94; 56CHECKREG r3, 0x4666FE12; 57CHECKREG r4, 0x56E8FD0A; 58CHECKREG r5, 0x678EFC00; 59CHECKREG r6, 0x7444FB34; 60CHECKREG r7, 0x86E60A0A; 61 62imm32 r0, 0xdd678911; 63imm32 r1, 0x2789ab1d; 64imm32 r2, 0x3d445515; 65imm32 r3, 0x46667717; 66imm32 r4, 0x56d8891b; 67imm32 r5, 0x678dab1d; 68imm32 r6, 0x7444d515; 69imm32 r7, 0x86667d77; 70R0.L = R2 - R0 (RND20); 71R1.L = R2 - R1 (RND20); 72R2.L = R2 - R2 (RND20); 73R3.L = R2 - R3 (RND20); 74R4.L = R2 - R4 (RND20); 75R5.L = R2 - R5 (RND20); 76R6.L = R2 - R6 (RND20); 77R7.L = R2 - R7 (RND20); 78CHECKREG r0, 0xDD6705FE; 79CHECKREG r1, 0x2789015C; 80CHECKREG r2, 0x3D440000; 81CHECKREG r3, 0x4666FF6E; 82CHECKREG r4, 0x56D8FE67; 83CHECKREG r5, 0x678DFD5B; 84CHECKREG r6, 0x7444FC90; 85CHECKREG r7, 0x86660B6E; 86 87imm32 r0, 0xa5678911; 88imm32 r1, 0x2a89ab1d; 89imm32 r2, 0x34445515; 90imm32 r3, 0x46a67717; 91imm32 r4, 0x567a891b; 92imm32 r5, 0x6789ab1d; 93imm32 r6, 0x7444c515; 94imm32 r7, 0x86667c77; 95R0.L = R3 - R0 (RND20); 96R1.L = R3 - R1 (RND20); 97R2.L = R3 - R2 (RND20); 98R3.L = R3 - R3 (RND20); 99R4.L = R3 - R4 (RND20); 100R5.L = R3 - R5 (RND20); 101R6.L = R3 - R6 (RND20); 102R7.L = R3 - R7 (RND20); 103CHECKREG r0, 0xA5670A14; 104CHECKREG r1, 0x2A8901C2; 105CHECKREG r2, 0x34440126; 106CHECKREG r3, 0x46A60000; 107CHECKREG r4, 0x567AFF03; 108CHECKREG r5, 0x6789FDF2; 109CHECKREG r6, 0x7444FD26; 110CHECKREG r7, 0x86660C04; 111 112imm32 r0, 0x15678911; 113imm32 r1, 0x2789ab1d; 114imm32 r2, 0x34445515; 115imm32 r3, 0x46667717; 116imm32 r4, 0x5678891b; 117imm32 r5, 0x6789ab1d; 118imm32 r6, 0x74445515; 119imm32 r7, 0x86667777; 120R0.L = R4 - R0 (RND20); 121R1.L = R4 - R1 (RND20); 122R2.L = R4 - R2 (RND20); 123R3.L = R4 - R3 (RND20); 124R4.L = R4 - R4 (RND20); 125R5.L = R4 - R5 (RND20); 126R6.L = R4 - R6 (RND20); 127R7.L = R4 - R7 (RND20); 128CHECKREG r0, 0x15670411; 129CHECKREG r1, 0x278902EF; 130CHECKREG r2, 0x34440223; 131CHECKREG r3, 0x46660101; 132CHECKREG r4, 0x56780000; 133CHECKREG r5, 0x6789FEEF; 134CHECKREG r6, 0x7444FE23; 135CHECKREG r7, 0x86660D01; 136 137imm32 r0, 0x95678911; 138imm32 r1, 0x8789ab1d; 139imm32 r2, 0x74445515; 140imm32 r3, 0x4a667717; 141imm32 r4, 0x56b8891b; 142imm32 r5, 0x678dab1d; 143imm32 r6, 0x7444e515; 144imm32 r7, 0x86667d77; 145R0.L = R5 - R0 (RND20); 146R1.L = R5 - R1 (RND20); 147R2.L = R5 - R2 (RND20); 148R3.L = R5 - R3 (RND20); 149R4.L = R5 - R4 (RND20); 150R5.L = R5 - R5 (RND20); 151R6.L = R5 - R6 (RND20); 152R7.L = R5 - R7 (RND20); 153CHECKREG r0, 0x95670D22; 154CHECKREG r1, 0x87890E00; 155CHECKREG r2, 0x7444FF35; 156CHECKREG r3, 0x4A6601D2; 157CHECKREG r4, 0x56B8010D; 158CHECKREG r5, 0x678D0000; 159CHECKREG r6, 0x7444FF35; 160CHECKREG r7, 0x86660E12; 161 162imm32 r0, 0x35678911; 163imm32 r1, 0x2459ab1d; 164imm32 r2, 0x34465515; 165imm32 r3, 0xe6667717; 166imm32 r4, 0x5d78891b; 167imm32 r5, 0x67b9ab1d; 168imm32 r6, 0x744a5515; 169imm32 r7, 0x8666c777; 170R0.L = R6 - R0 (RND20); 171R1.L = R6 - R1 (RND20); 172R2.L = R6 - R2 (RND20); 173R3.L = R6 - R3 (RND20); 174R4.L = R6 - R4 (RND20); 175R5.L = R6 - R5 (RND20); 176R6.L = R6 - R6 (RND20); 177R7.L = R6 - R7 (RND20); 178CHECKREG r0, 0x356703EE; 179CHECKREG r1, 0x245904FF; 180CHECKREG r2, 0x34460400; 181CHECKREG r3, 0xE66608DE; 182CHECKREG r4, 0x5D78016D; 183CHECKREG r5, 0x67B900C9; 184CHECKREG r6, 0x744A0000; 185CHECKREG r7, 0x86660EDE; 186 187imm32 r0, 0xa5678911; 188imm32 r1, 0x2789ab1d; 189imm32 r2, 0x3a445515; 190imm32 r3, 0x4c667717; 191imm32 r4, 0x56b8891b; 192imm32 r5, 0x678dab1d; 193imm32 r6, 0x74445515; 194imm32 r7, 0x8666d777; 195R0.L = R7 - R0 (RND20); 196R1.L = R7 - R1 (RND20); 197R2.L = R7 - R2 (RND20); 198R3.L = R7 - R3 (RND20); 199R4.L = R7 - R4 (RND20); 200R5.L = R7 - R5 (RND20); 201R6.L = R7 - R6 (RND20); 202R7.L = R7 - R7 (RND20); 203CHECKREG r0, 0xA567FE10; 204CHECKREG r1, 0x2789F5EE; 205CHECKREG r2, 0x3A44F4C2; 206CHECKREG r3, 0x4C66F3A0; 207CHECKREG r4, 0x56B8F2FB; 208CHECKREG r5, 0x678DF1EE; 209CHECKREG r6, 0x7444F122; 210CHECKREG r7, 0x86660000; 211 212imm32 r0, 0xabd78911; 213imm32 r1, 0x2789ab1d; 214imm32 r2, 0xd4445515; 215imm32 r3, 0x4e667717; 216imm32 r4, 0x56f8891b; 217imm32 r5, 0x678aab1d; 218imm32 r6, 0x7444b515; 219imm32 r7, 0x86667d77; 220R6.L = R2 - R3 (RND20); 221R1.L = R4 - R5 (RND20); 222R5.L = R7 - R2 (RND20); 223R3.L = R0 - R0 (RND20); 224R0.L = R3 - R4 (RND20); 225R2.L = R5 - R7 (RND20); 226R7.L = R6 - R7 (RND20); 227R4.L = R1 - R6 (RND20); 228CHECKREG r0, 0xABD7FF77; 229CHECKREG r1, 0x2789FEF7; 230CHECKREG r2, 0xD4440E12; 231CHECKREG r3, 0x4E660000; 232CHECKREG r4, 0x56F8FB34; 233CHECKREG r5, 0x678AFB22; 234CHECKREG r6, 0x7444F85E; 235CHECKREG r7, 0x86660EDE; 236 237imm32 r0, 0x15678911; 238imm32 r1, 0x2789ab1d; 239imm32 r2, 0x34445515; 240imm32 r3, 0x46667717; 241imm32 r4, 0x5678891b; 242imm32 r5, 0x6789ab1d; 243imm32 r6, 0x74445515; 244imm32 r7, 0x86667777; 245R3.L = R4 - R0 (RND20); 246R1.L = R6 - R3 (RND20); 247R4.L = R3 - R2 (RND20); 248R6.L = R7 - R1 (RND20); 249R2.L = R5 - R4 (RND20); 250R7.L = R2 - R7 (RND20); 251R0.L = R1 - R6 (RND20); 252R5.L = R0 - R5 (RND20); 253CHECKREG r0, 0x1567FB34; 254CHECKREG r1, 0x278902DE; 255CHECKREG r2, 0x34440111; 256CHECKREG r3, 0x46660411; 257CHECKREG r4, 0x56780122; 258CHECKREG r5, 0x6789FADE; 259CHECKREG r6, 0x7444F5EE; 260CHECKREG r7, 0x86660ADE; 261 262pass 263