1*6ca2c52aSchristos//Original:/proj/frio/dv/testcases/core/c_dsp32shift_rot/c_dsp32shift_rot.dsp 2*6ca2c52aSchristos// Spec Reference: dsp32shift rot 3*6ca2c52aSchristos# mach: bfin 4*6ca2c52aSchristos 5*6ca2c52aSchristos.include "testutils.inc" 6*6ca2c52aSchristos start 7*6ca2c52aSchristos 8*6ca2c52aSchristos 9*6ca2c52aSchristos R0 = 0; 10*6ca2c52aSchristos ASTAT = R0; 11*6ca2c52aSchristos 12*6ca2c52aSchristos imm32 r0, 0x01230001; 13*6ca2c52aSchristos imm32 r1, 0x12345678; 14*6ca2c52aSchristos imm32 r2, 0x23456789; 15*6ca2c52aSchristos imm32 r3, 0x3456789a; 16*6ca2c52aSchristos imm32 r4, 0x456789ab; 17*6ca2c52aSchristos imm32 r5, 0x56789abc; 18*6ca2c52aSchristos imm32 r6, 0x6789abcd; 19*6ca2c52aSchristos imm32 r7, 0x789abcde; 20*6ca2c52aSchristos R1 = ROT R0 BY R0.L; 21*6ca2c52aSchristos R2 = ROT R1 BY R0.L; 22*6ca2c52aSchristos R3 = ROT R2 BY R0.L; 23*6ca2c52aSchristos R4 = ROT R3 BY R0.L; 24*6ca2c52aSchristos R5 = ROT R4 BY R0.L; 25*6ca2c52aSchristos R6 = ROT R5 BY R0.L; 26*6ca2c52aSchristos R7 = ROT R6 BY R0.L; 27*6ca2c52aSchristos R0 = ROT R7 BY R0.L; 28*6ca2c52aSchristos CHECKREG r1, 0x02460002; 29*6ca2c52aSchristos CHECKREG r0, 0x23000100; 30*6ca2c52aSchristos CHECKREG r2, 0x048C0004; 31*6ca2c52aSchristos CHECKREG r3, 0x09180008; 32*6ca2c52aSchristos CHECKREG r4, 0x12300010; 33*6ca2c52aSchristos CHECKREG r5, 0x24600020; 34*6ca2c52aSchristos CHECKREG r6, 0x48C00040; 35*6ca2c52aSchristos CHECKREG r7, 0x91800080; 36*6ca2c52aSchristos 37*6ca2c52aSchristos imm32 r0, 0x01230001; 38*6ca2c52aSchristos imm32 r1, 0x12345678; 39*6ca2c52aSchristos imm32 r2, 0x23456789; 40*6ca2c52aSchristos imm32 r3, 0x3456789a; 41*6ca2c52aSchristos imm32 r4, 0x456789ab; 42*6ca2c52aSchristos imm32 r5, 0x56789abc; 43*6ca2c52aSchristos imm32 r6, 0x6789abcd; 44*6ca2c52aSchristos imm32 r7, 0x789abcde; 45*6ca2c52aSchristos R1.L = 15; 46*6ca2c52aSchristos R2 = ROT R0 BY R1.L; 47*6ca2c52aSchristos R3 = ROT R1 BY R1.L; 48*6ca2c52aSchristos R4 = ROT R2 BY R1.L; 49*6ca2c52aSchristos R5 = ROT R3 BY R1.L; 50*6ca2c52aSchristos R6 = ROT R4 BY R1.L; 51*6ca2c52aSchristos R7 = ROT R5 BY R1.L; 52*6ca2c52aSchristos R0 = ROT R6 BY R1.L; 53*6ca2c52aSchristos R1 = ROT R7 BY R1.L; 54*6ca2c52aSchristos CHECKREG r0, 0x2C04C400; 55*6ca2c52aSchristos CHECKREG r1, 0x5C489000; 56*6ca2c52aSchristos CHECKREG r2, 0x8000C048; 57*6ca2c52aSchristos CHECKREG r3, 0x0007C48D; 58*6ca2c52aSchristos CHECKREG r4, 0x60242000; 59*6ca2c52aSchristos CHECKREG r5, 0xE2468001; 60*6ca2c52aSchristos CHECKREG r6, 0x10005809; 61*6ca2c52aSchristos CHECKREG r7, 0x4000B891; 62*6ca2c52aSchristos 63*6ca2c52aSchristos imm32 r0, 0x01230002; 64*6ca2c52aSchristos imm32 r1, 0x12345678; 65*6ca2c52aSchristos imm32 r2, 0x23456789; 66*6ca2c52aSchristos imm32 r3, 0x3456789a; 67*6ca2c52aSchristos imm32 r4, 0x456789ab; 68*6ca2c52aSchristos imm32 r5, 0x56789abc; 69*6ca2c52aSchristos imm32 r6, 0x6789abcd; 70*6ca2c52aSchristos imm32 r7, 0x789abcde; 71*6ca2c52aSchristos R2 = 16; 72*6ca2c52aSchristos R3 = ROT R0 BY R2.L; 73*6ca2c52aSchristos R4 = ROT R1 BY R2.L; 74*6ca2c52aSchristos R5 = ROT R2 BY R2.L; 75*6ca2c52aSchristos R6 = ROT R3 BY R2.L; 76*6ca2c52aSchristos R7 = ROT R4 BY R2.L; 77*6ca2c52aSchristos R0 = ROT R5 BY R2.L; 78*6ca2c52aSchristos R1 = ROT R6 BY R2.L; 79*6ca2c52aSchristos R2 = ROT R7 BY R2.L; 80*6ca2c52aSchristos CHECKREG r0, 0x00000008; 81*6ca2c52aSchristos CHECKREG r1, 0x00010048; 82*6ca2c52aSchristos CHECKREG r2, 0x2B3CC48D; 83*6ca2c52aSchristos CHECKREG r3, 0x00020091; 84*6ca2c52aSchristos CHECKREG r4, 0x5678891A; 85*6ca2c52aSchristos CHECKREG r5, 0x00100000; 86*6ca2c52aSchristos CHECKREG r6, 0x00910001; 87*6ca2c52aSchristos CHECKREG r7, 0x891A2B3C; 88*6ca2c52aSchristos 89*6ca2c52aSchristos imm32 r0, 0x01230003; 90*6ca2c52aSchristos imm32 r1, 0x12345678; 91*6ca2c52aSchristos imm32 r2, 0x23456789; 92*6ca2c52aSchristos imm32 r3, 0x3456789a; 93*6ca2c52aSchristos imm32 r4, 0x456789ab; 94*6ca2c52aSchristos imm32 r5, 0x56789abc; 95*6ca2c52aSchristos imm32 r6, 0x6789abcd; 96*6ca2c52aSchristos imm32 r7, 0x789abcde; 97*6ca2c52aSchristos R3.L = 31; 98*6ca2c52aSchristos R4 = ROT R0 BY R3.L; 99*6ca2c52aSchristos R5 = ROT R1 BY R3.L; 100*6ca2c52aSchristos R6 = ROT R2 BY R3.L; 101*6ca2c52aSchristos R7 = ROT R3 BY R3.L; 102*6ca2c52aSchristos R0 = ROT R4 BY R3.L; 103*6ca2c52aSchristos R1 = ROT R5 BY R3.L; 104*6ca2c52aSchristos R2 = ROT R6 BY R3.L; 105*6ca2c52aSchristos R3 = ROT R7 BY R3.L; 106*6ca2c52aSchristos CHECKREG r0, 0x60123000; 107*6ca2c52aSchristos CHECKREG r1, 0x11234567; 108*6ca2c52aSchristos CHECKREG r2, 0x62345678; 109*6ca2c52aSchristos CHECKREG r3, 0xE3456001; 110*6ca2c52aSchristos CHECKREG r4, 0x8048C000; 111*6ca2c52aSchristos CHECKREG r5, 0x448D159E; 112*6ca2c52aSchristos CHECKREG r6, 0x88D159E2; 113*6ca2c52aSchristos CHECKREG r7, 0x8D158007; 114*6ca2c52aSchristos 115*6ca2c52aSchristos imm32 r0, 0x01230004; 116*6ca2c52aSchristos imm32 r1, 0x12345678; 117*6ca2c52aSchristos imm32 r2, 0x23456789; 118*6ca2c52aSchristos imm32 r3, 0x3456789a; 119*6ca2c52aSchristos imm32 r4, 0x456789ab; 120*6ca2c52aSchristos imm32 r5, 0x56789abc; 121*6ca2c52aSchristos imm32 r6, 0x6789abcd; 122*6ca2c52aSchristos imm32 r7, 0x789abcde; 123*6ca2c52aSchristos R4.L = -1; 124*6ca2c52aSchristos R0 = ROT R0 BY R4.L; 125*6ca2c52aSchristos R1 = ROT R1 BY R4.L; 126*6ca2c52aSchristos R2 = ROT R2 BY R4.L; 127*6ca2c52aSchristos R3 = ROT R3 BY R4.L; 128*6ca2c52aSchristos R4 = ROT R4 BY R4.L; 129*6ca2c52aSchristos R5 = ROT R5 BY R4.L; 130*6ca2c52aSchristos R6 = ROT R6 BY R4.L; 131*6ca2c52aSchristos R7 = ROT R7 BY R4.L; 132*6ca2c52aSchristos CHECKREG r0, 0x80918002; 133*6ca2c52aSchristos CHECKREG r1, 0x091A2B3C; 134*6ca2c52aSchristos CHECKREG r2, 0x11A2B3C4; 135*6ca2c52aSchristos CHECKREG r3, 0x9A2B3C4D; 136*6ca2c52aSchristos CHECKREG r4, 0x22B3FFFF; 137*6ca2c52aSchristos CHECKREG r5, 0xAB3C4D5E; 138*6ca2c52aSchristos CHECKREG r6, 0x33C4D5E6; 139*6ca2c52aSchristos CHECKREG r7, 0xBC4D5E6F; 140*6ca2c52aSchristos 141*6ca2c52aSchristos imm32 r0, 0x01230005; 142*6ca2c52aSchristos imm32 r1, 0x12345678; 143*6ca2c52aSchristos imm32 r2, 0x23456789; 144*6ca2c52aSchristos imm32 r3, 0x3456789a; 145*6ca2c52aSchristos imm32 r4, 0x456789ab; 146*6ca2c52aSchristos imm32 r5, 0x56789abc; 147*6ca2c52aSchristos imm32 r6, 0x6789abcd; 148*6ca2c52aSchristos imm32 r7, 0x789abcde; 149*6ca2c52aSchristos R5.L = -15; 150*6ca2c52aSchristos R6 = ROT R0 BY R5.L; 151*6ca2c52aSchristos R7 = ROT R1 BY R5.L; 152*6ca2c52aSchristos R0 = ROT R2 BY R5.L; 153*6ca2c52aSchristos R1 = ROT R3 BY R5.L; 154*6ca2c52aSchristos R2 = ROT R4 BY R5.L; 155*6ca2c52aSchristos R3 = ROT R5 BY R5.L; 156*6ca2c52aSchristos R4 = ROT R6 BY R5.L; 157*6ca2c52aSchristos R5 = ROT R7 BY R5.L; 158*6ca2c52aSchristos CHECKREG r0, 0x9E26468A; 159*6ca2c52aSchristos CHECKREG r1, 0xE26A68AC; 160*6ca2c52aSchristos CHECKREG r2, 0x26AE8ACF; 161*6ca2c52aSchristos CHECKREG r3, 0xFFC4ACF1; 162*6ca2c52aSchristos CHECKREG r4, 0x091A0028; 163*6ca2c52aSchristos CHECKREG r5, 0x91A0B3C0; 164*6ca2c52aSchristos CHECKREG r6, 0x00140246; 165*6ca2c52aSchristos CHECKREG r7, 0x59E02468; 166*6ca2c52aSchristos 167*6ca2c52aSchristos imm32 r0, 0x01230006; 168*6ca2c52aSchristos imm32 r1, 0x12345678; 169*6ca2c52aSchristos imm32 r2, 0x23456789; 170*6ca2c52aSchristos imm32 r3, 0x3456789a; 171*6ca2c52aSchristos imm32 r4, 0x456789ab; 172*6ca2c52aSchristos imm32 r5, 0x56789abc; 173*6ca2c52aSchristos imm32 r6, 0x6789abcd; 174*6ca2c52aSchristos imm32 r7, 0x789abcde; 175*6ca2c52aSchristos R6.L = -16; 176*6ca2c52aSchristos R7 = ROT R0 BY R6.L; 177*6ca2c52aSchristos R0 = ROT R1 BY R6.L; 178*6ca2c52aSchristos R1 = ROT R2 BY R6.L; 179*6ca2c52aSchristos R2 = ROT R3 BY R6.L; 180*6ca2c52aSchristos R3 = ROT R4 BY R6.L; 181*6ca2c52aSchristos R4 = ROT R5 BY R6.L; 182*6ca2c52aSchristos R5 = ROT R6 BY R6.L; 183*6ca2c52aSchristos R6 = ROT R7 BY R6.L; 184*6ca2c52aSchristos CHECKREG r0, 0xACF01234; 185*6ca2c52aSchristos CHECKREG r1, 0xCF122345; 186*6ca2c52aSchristos CHECKREG r2, 0xF1343456; 187*6ca2c52aSchristos CHECKREG r3, 0x13564567; 188*6ca2c52aSchristos CHECKREG r4, 0x35795678; 189*6ca2c52aSchristos CHECKREG r5, 0xFFE16789; 190*6ca2c52aSchristos CHECKREG r6, 0x0247000C; 191*6ca2c52aSchristos CHECKREG r7, 0x000C0123; 192*6ca2c52aSchristos 193*6ca2c52aSchristos imm32 r0, 0x01230007; 194*6ca2c52aSchristos imm32 r1, 0x12345678; 195*6ca2c52aSchristos imm32 r2, 0x23456789; 196*6ca2c52aSchristos imm32 r3, 0x3456789a; 197*6ca2c52aSchristos imm32 r4, 0x456789ab; 198*6ca2c52aSchristos imm32 r5, 0x56789abc; 199*6ca2c52aSchristos imm32 r6, 0x6789abcd; 200*6ca2c52aSchristos imm32 r7, 0x789abcde; 201*6ca2c52aSchristos R7.L = -27; 202*6ca2c52aSchristos R0 = ROT R0 BY R7.L; 203*6ca2c52aSchristos R1 = ROT R1 BY R7.L; 204*6ca2c52aSchristos R2 = ROT R2 BY R7.L; 205*6ca2c52aSchristos R3 = ROT R3 BY R7.L; 206*6ca2c52aSchristos R4 = ROT R4 BY R7.L; 207*6ca2c52aSchristos R5 = ROT R5 BY R7.L; 208*6ca2c52aSchristos R6 = ROT R6 BY R7.L; 209*6ca2c52aSchristos R7 = ROT R7 BY R7.L; 210*6ca2c52aSchristos CHECKREG r0, 0x48C001C0; 211*6ca2c52aSchristos CHECKREG r1, 0x8D159E02; 212*6ca2c52aSchristos CHECKREG r2, 0xD159E244; 213*6ca2c52aSchristos CHECKREG r3, 0x159E2686; 214*6ca2c52aSchristos CHECKREG r4, 0x59E26AE8; 215*6ca2c52aSchristos CHECKREG r5, 0x9E26AF2A; 216*6ca2c52aSchristos CHECKREG r6, 0xE26AF36C; 217*6ca2c52aSchristos CHECKREG r7, 0x26BFF96F; 218*6ca2c52aSchristos 219*6ca2c52aSchristos imm32 r0, 0x01230008; 220*6ca2c52aSchristos imm32 r1, 0x12345678; 221*6ca2c52aSchristos imm32 r2, 0x23456789; 222*6ca2c52aSchristos imm32 r3, 0x3456789a; 223*6ca2c52aSchristos imm32 r4, 0x456789ab; 224*6ca2c52aSchristos imm32 r5, 0x56789abc; 225*6ca2c52aSchristos imm32 r6, 0x6789abcd; 226*6ca2c52aSchristos imm32 r7, 0x789abcde; 227*6ca2c52aSchristos R0.L = 7; 228*6ca2c52aSchristos//r0 = rot (r0 by rl0); 229*6ca2c52aSchristos R1 = ROT R1 BY R0.L; 230*6ca2c52aSchristos R2 = ROT R2 BY R0.L; 231*6ca2c52aSchristos R3 = ROT R3 BY R0.L; 232*6ca2c52aSchristos R4 = ROT R4 BY R0.L; 233*6ca2c52aSchristos R5 = ROT R5 BY R0.L; 234*6ca2c52aSchristos R6 = ROT R6 BY R0.L; 235*6ca2c52aSchristos R7 = ROT R7 BY R0.L; 236*6ca2c52aSchristos CHECKREG r0, 0x01230007; 237*6ca2c52aSchristos CHECKREG r1, 0x1A2B3C04; 238*6ca2c52aSchristos CHECKREG r2, 0xA2B3C4C8; 239*6ca2c52aSchristos CHECKREG r3, 0x2B3C4D4D; 240*6ca2c52aSchristos CHECKREG r4, 0xB3C4D591; 241*6ca2c52aSchristos CHECKREG r5, 0x3C4D5E15; 242*6ca2c52aSchristos CHECKREG r6, 0xC4D5E6D9; 243*6ca2c52aSchristos CHECKREG r7, 0x4D5E6F5E; 244*6ca2c52aSchristos 245*6ca2c52aSchristos imm32 r0, 0x01230009; 246*6ca2c52aSchristos imm32 r1, 0x12345678; 247*6ca2c52aSchristos imm32 r2, 0x23456789; 248*6ca2c52aSchristos imm32 r3, 0x3456789a; 249*6ca2c52aSchristos imm32 r4, 0x456789ab; 250*6ca2c52aSchristos imm32 r5, 0x56789abc; 251*6ca2c52aSchristos imm32 r6, 0x6789abcd; 252*6ca2c52aSchristos imm32 r7, 0x789abcde; 253*6ca2c52aSchristos R1.L = 16; 254*6ca2c52aSchristos R0 = ROT R0 BY R1.L; 255*6ca2c52aSchristos//r1 = rot (r1 by rl1); 256*6ca2c52aSchristos R2 = ROT R2 BY R1.L; 257*6ca2c52aSchristos R3 = ROT R3 BY R1.L; 258*6ca2c52aSchristos R4 = ROT R4 BY R1.L; 259*6ca2c52aSchristos R5 = ROT R5 BY R1.L; 260*6ca2c52aSchristos R6 = ROT R6 BY R1.L; 261*6ca2c52aSchristos R7 = ROT R7 BY R1.L; 262*6ca2c52aSchristos CHECKREG r0, 0x00090091; 263*6ca2c52aSchristos CHECKREG r1, 0x12340010; 264*6ca2c52aSchristos CHECKREG r2, 0x678991A2; 265*6ca2c52aSchristos CHECKREG r3, 0x789A9A2B; 266*6ca2c52aSchristos CHECKREG r4, 0x89AB22B3; 267*6ca2c52aSchristos CHECKREG r5, 0x9ABCAB3C; 268*6ca2c52aSchristos CHECKREG r6, 0xABCD33C4; 269*6ca2c52aSchristos CHECKREG r7, 0xBCDEBC4D; 270*6ca2c52aSchristos 271*6ca2c52aSchristos imm32 r0, 0x0123000a; 272*6ca2c52aSchristos imm32 r1, 0x12345678; 273*6ca2c52aSchristos imm32 r2, 0x23456789; 274*6ca2c52aSchristos imm32 r3, 0x3456789a; 275*6ca2c52aSchristos imm32 r4, 0x456789ab; 276*6ca2c52aSchristos imm32 r5, 0x56789abc; 277*6ca2c52aSchristos imm32 r6, 0x6789abcd; 278*6ca2c52aSchristos imm32 r7, 0x789abcde; 279*6ca2c52aSchristos R2.L = 30; 280*6ca2c52aSchristos R0 = ROT R0 BY R2.L; 281*6ca2c52aSchristos R1 = ROT R1 BY R2.L; 282*6ca2c52aSchristos//r2 = rot (r2 by rl2); 283*6ca2c52aSchristos R3 = ROT R3 BY R2.L; 284*6ca2c52aSchristos R4 = ROT R4 BY R2.L; 285*6ca2c52aSchristos R5 = ROT R5 BY R2.L; 286*6ca2c52aSchristos R6 = ROT R6 BY R2.L; 287*6ca2c52aSchristos R7 = ROT R7 BY R2.L; 288*6ca2c52aSchristos CHECKREG r0, 0x80246001; 289*6ca2c52aSchristos CHECKREG r1, 0x02468ACF; 290*6ca2c52aSchristos CHECKREG r2, 0x2345001E; 291*6ca2c52aSchristos CHECKREG r3, 0x868ACF13; 292*6ca2c52aSchristos CHECKREG r4, 0xC8ACF135; 293*6ca2c52aSchristos CHECKREG r5, 0x0ACF1357; 294*6ca2c52aSchristos CHECKREG r6, 0x6CF13579; 295*6ca2c52aSchristos CHECKREG r7, 0xAF13579B; 296*6ca2c52aSchristos 297*6ca2c52aSchristos imm32 r0, 0x0123000b; 298*6ca2c52aSchristos imm32 r1, 0x12345678; 299*6ca2c52aSchristos imm32 r2, 0x23456789; 300*6ca2c52aSchristos imm32 r3, 0x3456789a; 301*6ca2c52aSchristos imm32 r4, 0x456789ab; 302*6ca2c52aSchristos imm32 r5, 0x56789abc; 303*6ca2c52aSchristos imm32 r6, 0x6789abcd; 304*6ca2c52aSchristos imm32 r7, 0x789abcde; 305*6ca2c52aSchristos R3.L = 31; 306*6ca2c52aSchristos R0 = ROT R0 BY R3.L; 307*6ca2c52aSchristos R1 = ROT R1 BY R3.L; 308*6ca2c52aSchristos R2 = ROT R2 BY R3.L; 309*6ca2c52aSchristos//r3 = rot (r3 by rl3); 310*6ca2c52aSchristos R4 = ROT R4 BY R3.L; 311*6ca2c52aSchristos R5 = ROT R5 BY R3.L; 312*6ca2c52aSchristos R6 = ROT R6 BY R3.L; 313*6ca2c52aSchristos R7 = ROT R7 BY R3.L; 314*6ca2c52aSchristos CHECKREG r0, 0xC048C002; 315*6ca2c52aSchristos CHECKREG r1, 0x448D159E; 316*6ca2c52aSchristos CHECKREG r2, 0x88D159E2; 317*6ca2c52aSchristos CHECKREG r3, 0x3456001F; 318*6ca2c52aSchristos CHECKREG r4, 0x9159E26A; 319*6ca2c52aSchristos CHECKREG r5, 0x559E26AF; 320*6ca2c52aSchristos CHECKREG r6, 0x99E26AF3; 321*6ca2c52aSchristos CHECKREG r7, 0x1E26AF37; 322*6ca2c52aSchristos 323*6ca2c52aSchristos imm32 r0, 0x0123000c; 324*6ca2c52aSchristos imm32 r1, 0x12345678; 325*6ca2c52aSchristos imm32 r2, 0x23456789; 326*6ca2c52aSchristos imm32 r3, 0x3456789a; 327*6ca2c52aSchristos imm32 r4, 0x456789ab; 328*6ca2c52aSchristos imm32 r5, 0x56789abc; 329*6ca2c52aSchristos imm32 r6, 0x6789abcd; 330*6ca2c52aSchristos imm32 r7, 0x789abcde; 331*6ca2c52aSchristos R4.L = -2; 332*6ca2c52aSchristos R0 = ROT R0 BY R4.L; 333*6ca2c52aSchristos R1 = ROT R1 BY R4.L; 334*6ca2c52aSchristos R2 = ROT R2 BY R4.L; 335*6ca2c52aSchristos R3 = ROT R3 BY R4.L; 336*6ca2c52aSchristos//r4 = rot (r4 by rl4); 337*6ca2c52aSchristos R5 = ROT R5 BY R4.L; 338*6ca2c52aSchristos R6 = ROT R6 BY R4.L; 339*6ca2c52aSchristos R7 = ROT R7 BY R4.L; 340*6ca2c52aSchristos CHECKREG r0, 0x4048C003; 341*6ca2c52aSchristos CHECKREG r1, 0x048D159E; 342*6ca2c52aSchristos CHECKREG r2, 0x88D159E2; 343*6ca2c52aSchristos CHECKREG r3, 0x0D159E26; 344*6ca2c52aSchristos CHECKREG r4, 0x4567FFFE; 345*6ca2c52aSchristos CHECKREG r5, 0x559E26AF; 346*6ca2c52aSchristos CHECKREG r6, 0x99E26AF3; 347*6ca2c52aSchristos CHECKREG r7, 0x1E26AF37; 348*6ca2c52aSchristos 349*6ca2c52aSchristos imm32 r0, 0x0123000d; 350*6ca2c52aSchristos imm32 r1, 0x12345678; 351*6ca2c52aSchristos imm32 r2, 0x23456789; 352*6ca2c52aSchristos imm32 r3, 0x3456789a; 353*6ca2c52aSchristos imm32 r4, 0x456789ab; 354*6ca2c52aSchristos imm32 r5, 0x56789abc; 355*6ca2c52aSchristos imm32 r6, 0x6789abcd; 356*6ca2c52aSchristos imm32 r7, 0x789abcde; 357*6ca2c52aSchristos R5.L = -17; 358*6ca2c52aSchristos R0 = ROT R0 BY R5.L; 359*6ca2c52aSchristos R1 = ROT R1 BY R5.L; 360*6ca2c52aSchristos R2 = ROT R2 BY R5.L; 361*6ca2c52aSchristos R3 = ROT R3 BY R5.L; 362*6ca2c52aSchristos R4 = ROT R4 BY R5.L; 363*6ca2c52aSchristos//r5 = rot (r5 by rl5); 364*6ca2c52aSchristos R6 = ROT R6 BY R5.L; 365*6ca2c52aSchristos R7 = ROT R7 BY R5.L; 366*6ca2c52aSchristos CHECKREG r0, 0x000D8091; 367*6ca2c52aSchristos CHECKREG r1, 0x5678891A; 368*6ca2c52aSchristos CHECKREG r2, 0x678911A2; 369*6ca2c52aSchristos CHECKREG r3, 0x789A9A2B; 370*6ca2c52aSchristos CHECKREG r4, 0x89AB22B3; 371*6ca2c52aSchristos CHECKREG r5, 0x5678FFEF; 372*6ca2c52aSchristos CHECKREG r6, 0xABCDB3C4; 373*6ca2c52aSchristos CHECKREG r7, 0xBCDEBC4D; 374*6ca2c52aSchristos 375*6ca2c52aSchristos imm32 r0, 0x0123000e; 376*6ca2c52aSchristos imm32 r1, 0x12345678; 377*6ca2c52aSchristos imm32 r2, 0x23456789; 378*6ca2c52aSchristos imm32 r3, 0x3456789a; 379*6ca2c52aSchristos imm32 r4, 0x456789ab; 380*6ca2c52aSchristos imm32 r5, 0x56789abc; 381*6ca2c52aSchristos imm32 r6, 0x6789abcd; 382*6ca2c52aSchristos imm32 r7, 0x789abcde; 383*6ca2c52aSchristos R6.L = -30; 384*6ca2c52aSchristos R0 = ROT R0 BY R6.L; 385*6ca2c52aSchristos R1 = ROT R1 BY R6.L; 386*6ca2c52aSchristos R2 = ROT R2 BY R6.L; 387*6ca2c52aSchristos R3 = ROT R3 BY R6.L; 388*6ca2c52aSchristos R4 = ROT R4 BY R6.L; 389*6ca2c52aSchristos R5 = ROT R5 BY R6.L; 390*6ca2c52aSchristos//r6 = rot (r6 by rl6); 391*6ca2c52aSchristos R7 = ROT R7 BY R6.L; 392*6ca2c52aSchristos CHECKREG r0, 0x09180070; 393*6ca2c52aSchristos CHECKREG r1, 0x91A2B3C0; 394*6ca2c52aSchristos CHECKREG r2, 0x1A2B3C48; 395*6ca2c52aSchristos CHECKREG r3, 0xA2B3C4D4; 396*6ca2c52aSchristos CHECKREG r4, 0x2B3C4D5D; 397*6ca2c52aSchristos CHECKREG r5, 0xB3C4D5E1; 398*6ca2c52aSchristos CHECKREG r6, 0x6789FFE2; 399*6ca2c52aSchristos CHECKREG r7, 0xC4D5E6F1; 400*6ca2c52aSchristos 401*6ca2c52aSchristos imm32 r0, 0x0123000f; 402*6ca2c52aSchristos imm32 r1, 0x12345678; 403*6ca2c52aSchristos imm32 r2, 0x23456789; 404*6ca2c52aSchristos imm32 r3, 0x3456789a; 405*6ca2c52aSchristos imm32 r4, 0x456789ab; 406*6ca2c52aSchristos imm32 r5, 0x56789abc; 407*6ca2c52aSchristos imm32 r6, 0x6789abcd; 408*6ca2c52aSchristos imm32 r7, 0x789abcde; 409*6ca2c52aSchristos R7.L = -31; 410*6ca2c52aSchristos R0 = ROT R0 BY R7.L; 411*6ca2c52aSchristos R1 = ROT R1 BY R7.L; 412*6ca2c52aSchristos R2 = ROT R2 BY R7.L; 413*6ca2c52aSchristos R3 = ROT R3 BY R7.L; 414*6ca2c52aSchristos R4 = ROT R4 BY R7.L; 415*6ca2c52aSchristos R5 = ROT R5 BY R7.L; 416*6ca2c52aSchristos R6 = ROT R6 BY R7.L; 417*6ca2c52aSchristos R7 = ROT R7 BY R7.L; 418*6ca2c52aSchristos CHECKREG r0, 0x048C003E; 419*6ca2c52aSchristos CHECKREG r1, 0x48D159E0; 420*6ca2c52aSchristos CHECKREG r2, 0x8D159E24; 421*6ca2c52aSchristos CHECKREG r3, 0xD159E268; 422*6ca2c52aSchristos CHECKREG r4, 0x159E26AC; 423*6ca2c52aSchristos CHECKREG r5, 0x59E26AF2; 424*6ca2c52aSchristos CHECKREG r6, 0x9E26AF36; 425*6ca2c52aSchristos CHECKREG r7, 0xE26BFF86; 426*6ca2c52aSchristos 427*6ca2c52aSchristos pass 428