Home | History | Annotate | Line # | Download | only in bfin
c_dsp32alu_rrpm.s revision 1.1.1.1
      1 //Original:/testcases/core/c_dsp32alu_rrpm/c_dsp32alu_rrpm.dsp
      2 // Spec Reference: dsp32alu (dreg, dreg)
      3 # mach: bfin
      4 
      5 .include "testutils.inc"
      6 	start
      7 
      8 
      9 
     10 
     11 imm32 r0, 0x75678911;
     12 imm32 r1, 0x2789ab1d;
     13 imm32 r2, 0x34745515;
     14 imm32 r3, 0x46677717;
     15 imm32 r0, 0x5567a91b;
     16 imm32 r1, 0x6789aa1d;
     17 imm32 r2, 0x744455a5;
     18 imm32 r3, 0x8666777a;
     19 R0 = R0 + R0, R7 = R0 - R0 (NS);
     20 R1 = R0 + R1, R6 = R0 - R1 (NS);
     21 R2 = R0 + R2, R5 = R0 - R2 (NS);
     22 R3 = R0 + R3, R4 = R0 - R3 (NS);
     23 R4 = R0 + R4, R3 = R0 - R4 (NS);
     24 R5 = R0 + R5, R2 = R0 - R5 (NS);
     25 R6 = R0 + R6, R1 = R0 - R6 (NS);
     26 R7 = R0 + R7, R0 = R0 - R7 (NS);
     27 CHECKREG r0, 0xAACF5236;
     28 CHECKREG r1, 0x6789AA1D;
     29 CHECKREG r2, 0x744455A5;
     30 CHECKREG r3, 0x8666777A;
     31 CHECKREG r4, 0xCF382CF2;
     32 CHECKREG r5, 0xE15A4EC7;
     33 CHECKREG r6, 0xEE14FA4F;
     34 CHECKREG r7, 0xAACF5236;
     35 
     36 imm32 r0, 0x4567892b;
     37 imm32 r1, 0x4489ab2d;
     38 imm32 r2, 0x54445525;
     39 imm32 r3, 0x66645727;
     40 imm32 r4, 0x78889629;
     41 imm32 r5, 0x8aaabb6b;
     42 imm32 r6, 0x9cccdd2d;
     43 imm32 r7, 0x0eee3fff;
     44 R0 = R1 + R0, R7 = R1 - R0 (NS);
     45 R1 = R1 + R1, R6 = R1 - R1 (NS);
     46 R2 = R1 + R2, R5 = R1 - R2 (NS);
     47 R3 = R1 + R3, R4 = R1 - R3 (NS);
     48 R4 = R1 + R4, R3 = R1 - R4 (NS);
     49 R5 = R1 + R5, R2 = R1 - R5 (NS);
     50 R6 = R1 + R6, R1 = R1 - R6 (NS);
     51 R7 = R1 + R7, R0 = R1 - R7 (NS);
     52 CHECKREG r0, 0x89F13458;
     53 CHECKREG r1, 0x8913565A;
     54 CHECKREG r2, 0x54445525;
     55 CHECKREG r3, 0x66645727;
     56 CHECKREG r4, 0xABC2558D;
     57 CHECKREG r5, 0xBDE2578F;
     58 CHECKREG r6, 0x8913565A;
     59 CHECKREG r7, 0x8835785C;
     60 
     61 
     62 imm32 r0, 0x496789ab;
     63 imm32 r1, 0x6489abcd;
     64 imm32 r2, 0x4b445555;
     65 imm32 r3, 0x6c647777;
     66 imm32 r4, 0x8d889999;
     67 imm32 r5, 0x1eaa4bbb;
     68 imm32 r6, 0x2fccd44d;
     69 imm32 r7, 0x31eefff4;
     70 R0 = R2 + R0, R7 = R2 - R0 (NS);
     71 R1 = R2 + R1, R6 = R2 - R1 (NS);
     72 R2 = R2 + R2, R5 = R2 - R2 (NS);
     73 R3 = R2 + R3, R4 = R2 - R3 (NS);
     74 R4 = R2 + R4, R3 = R2 - R4 (NS);
     75 R5 = R2 + R5, R2 = R2 - R5 (NS);
     76 R6 = R2 + R6, R1 = R2 - R6 (NS);
     77 R7 = R2 + R7, R0 = R2 - R7 (NS);
     78 CHECKREG r0, 0x94ABDF00;
     79 CHECKREG r1, 0xAFCE0122;
     80 CHECKREG r2, 0x9688AAAA;
     81 CHECKREG r3, 0x6C647777;
     82 CHECKREG r4, 0xC0ACDDDD;
     83 CHECKREG r5, 0x9688AAAA;
     84 CHECKREG r6, 0x7D435432;
     85 CHECKREG r7, 0x98657654;
     86 
     87 imm32 r0, 0xa537891b;
     88 imm32 r1, 0x6a59ab2d;
     89 imm32 r2, 0x44a55535;
     90 imm32 r3, 0x166a5747;
     91 imm32 r4, 0x6878a565;
     92 imm32 r5, 0x7a8aba5b;
     93 imm32 r6, 0x8c9cdd85;
     94 imm32 r7, 0x9eaeffaf;
     95 R0 = R3 + R0, R7 = R3 - R0 (NS);
     96 R1 = R3 + R1, R6 = R3 - R1 (NS);
     97 R2 = R3 + R2, R5 = R3 - R2 (NS);
     98 R3 = R3 + R3, R4 = R3 - R3 (NS);
     99 R4 = R3 + R4, R3 = R3 - R4 (NS);
    100 R5 = R3 + R5, R2 = R3 - R5 (NS);
    101 R6 = R3 + R6, R1 = R3 - R6 (NS);
    102 R7 = R3 + R7, R0 = R3 - R7 (NS);
    103 CHECKREG r0, 0xBBA1E062;
    104 CHECKREG r1, 0x80C40274;
    105 CHECKREG r2, 0x5B0FAC7C;
    106 CHECKREG r3, 0x2CD4AE8E;
    107 CHECKREG r4, 0x2CD4AE8E;
    108 CHECKREG r5, 0xFE99B0A0;
    109 CHECKREG r6, 0xD8E55AA8;
    110 CHECKREG r7, 0x9E077CBA;
    111 
    112 imm32 r0, 0x15678911;
    113 imm32 r1, 0x9789ab1d;
    114 imm32 r2, 0x94445515;
    115 imm32 r3, 0x96667717;
    116 imm32 r0, 0x5267891b;
    117 imm32 r1, 0x67a9ab1d;
    118 imm32 r2, 0x744c5515;
    119 imm32 r3, 0x8666d777;
    120 R0 = R4 + R0, R7 = R4 - R0 (NS);
    121 R1 = R4 + R1, R6 = R4 - R1 (NS);
    122 R2 = R4 + R2, R5 = R4 - R2 (NS);
    123 R3 = R4 + R3, R4 = R4 - R3 (NS);
    124 R4 = R4 + R4, R3 = R4 - R4 (NS);
    125 R5 = R4 + R5, R2 = R4 - R5 (NS);
    126 R6 = R4 + R6, R1 = R4 - R6 (NS);
    127 R7 = R4 + R7, R0 = R4 - R7 (NS);
    128 CHECKREG r0, 0x726E88BB;
    129 CHECKREG r1, 0x87B0AABD;
    130 CHECKREG r2, 0x945354B5;
    131 CHECKREG r3, 0x00000000;
    132 CHECKREG r4, 0x4CDBAE2E;
    133 CHECKREG r5, 0x056407A7;
    134 CHECKREG r6, 0x1206B19F;
    135 CHECKREG r7, 0x2748D3A1;
    136 
    137 imm32 r0, 0xa567892b;
    138 imm32 r1, 0x4a89ab2d;
    139 imm32 r2, 0x54a45525;
    140 imm32 r3, 0x666d7727;
    141 imm32 r4, 0x7888d929;
    142 imm32 r5, 0x8aaabe2b;
    143 imm32 r6, 0x9cccdd2d;
    144 imm32 r7, 0x0eeeffef;
    145 R0 = R5 + R0, R7 = R5 - R0 (NS);
    146 R1 = R5 + R1, R6 = R5 - R1 (NS);
    147 R2 = R5 + R2, R5 = R5 - R2 (NS);
    148 R3 = R5 + R3, R4 = R5 - R3 (NS);
    149 R4 = R5 + R4, R3 = R5 - R4 (NS);
    150 R5 = R5 + R5, R2 = R5 - R5 (NS);
    151 R6 = R5 + R6, R1 = R5 - R6 (NS);
    152 R7 = R5 + R7, R0 = R5 - R7 (NS);
    153 CHECKREG r0, 0x86C99D0C;
    154 CHECKREG r1, 0x2BEBBF0E;
    155 CHECKREG r2, 0x00000000;
    156 CHECKREG r3, 0x666D7727;
    157 CHECKREG r4, 0x059F5AE5;
    158 CHECKREG r5, 0x6C0CD20C;
    159 CHECKREG r6, 0xAC2DE50A;
    160 CHECKREG r7, 0x5150070C;
    161 
    162 
    163 imm32 r0, 0x496789ab;
    164 imm32 r1, 0x6489abcd;
    165 imm32 r2, 0x4b445555;
    166 imm32 r3, 0x6c647777;
    167 imm32 r4, 0x8d889999;
    168 imm32 r5, 0x1eaa4bbb;
    169 imm32 r6, 0x2fccd44d;
    170 imm32 r7, 0x31eefff4;
    171 R0 = R6 + R0, R7 = R6 - R0 (NS);
    172 R1 = R6 + R1, R6 = R6 - R1 (NS);
    173 R2 = R6 + R2, R5 = R6 - R2 (NS);
    174 R3 = R6 + R3, R4 = R6 - R3 (NS);
    175 R4 = R6 + R4, R3 = R6 - R4 (NS);
    176 R5 = R6 + R5, R2 = R6 - R5 (NS);
    177 R6 = R6 + R6, R1 = R6 - R6 (NS);
    178 R7 = R6 + R7, R0 = R6 - R7 (NS);
    179 CHECKREG r0, 0xB021065E;
    180 CHECKREG r1, 0x00000000;
    181 CHECKREG r2, 0x4B445555;
    182 CHECKREG r3, 0x6C647777;
    183 CHECKREG r4, 0x2A21D989;
    184 CHECKREG r5, 0x4B41FBAB;
    185 CHECKREG r6, 0x96865100;
    186 CHECKREG r7, 0x7CEB9BA2;
    187 
    188 imm32 r0, 0xe537891b;
    189 imm32 r1, 0xe759ab2d;
    190 imm32 r2, 0x4e555535;
    191 imm32 r3, 0x16e65747;
    192 imm32 r4, 0x687e9565;
    193 imm32 r5, 0x7a8aeb5b;
    194 imm32 r6, 0x8c9cdd85;
    195 imm32 r7, 0x9eaefe9f;
    196 R0 = R7 + R0, R7 = R7 - R0 (NS);
    197 R1 = R7 + R1, R6 = R7 - R1 (NS);
    198 R2 = R7 + R2, R5 = R7 - R2 (NS);
    199 R3 = R7 + R3, R4 = R7 - R3 (NS);
    200 R4 = R7 + R4, R3 = R7 - R4 (NS);
    201 R5 = R7 + R5, R2 = R7 - R5 (NS);
    202 R6 = R7 + R6, R1 = R7 - R6 (NS);
    203 R7 = R7 + R7, R0 = R7 - R7 (NS);
    204 CHECKREG r0, 0x00000000;
    205 CHECKREG r1, 0xE759AB2D;
    206 CHECKREG r2, 0x4E555535;
    207 CHECKREG r3, 0x16E65747;
    208 CHECKREG r4, 0x5C0893C1;
    209 CHECKREG r5, 0x249995D3;
    210 CHECKREG r6, 0x8B953FDB;
    211 CHECKREG r7, 0x72EEEB08;
    212 
    213 imm32 r0, 0x496789ab;
    214 imm32 r1, 0x6489abcd;
    215 imm32 r2, 0x4b445555;
    216 imm32 r3, 0x6c647777;
    217 imm32 r4, 0x8d889999;
    218 imm32 r5, 0x1eaa4bbb;
    219 imm32 r6, 0x2fccd44d;
    220 imm32 r7, 0x31eefff4;
    221 R2 = R4 + R0, R7 = R4 - R0 (S);
    222 R3 = R7 + R1, R6 = R7 - R1 (NS);
    223 R4 = R0 + R2, R5 = R0 - R2 (S);
    224 R5 = R4 + R3, R4 = R4 - R3 (NS);
    225 R6 = R2 + R4, R3 = R2 - R4 (S);
    226 R7 = R3 + R5, R2 = R3 - R5 (NS);
    227 R0 = R1 + R6, R1 = R1 - R6 (S);
    228 R1 = R5 + R7, R0 = R5 - R7 (S);
    229 CHECKREG r0, 0x64DDDDDE;
    230 CHECKREG r1, 0xA4E4D39A;
    231 CHECKREG r2, 0x9640C966;
    232 CHECKREG r3, 0x9B222222;
    233 CHECKREG r4, 0x3BCE0122;
    234 CHECKREG r5, 0x04E158BC;
    235 CHECKREG r6, 0x12BE2466;
    236 CHECKREG r7, 0xA0037ADE;
    237 
    238 imm32 r0, 0xa537891b;
    239 imm32 r1, 0x6d59ab2d;
    240 imm32 r2, 0x4f555535;
    241 imm32 r3, 0x16c65747;
    242 imm32 r4, 0x687c9565;
    243 imm32 r5, 0x7a8acb5b;
    244 imm32 r6, 0x8c9cdc85;
    245 imm32 r7, 0x9eaefb9f;
    246 R4 = R3 + R0, R1 = R3 - R0 (S);
    247 R5 = R6 + R1, R2 = R6 - R1 (S);
    248 R6 = R7 + R2, R3 = R7 - R2 (S);
    249 R7 = R0 + R3, R4 = R0 - R3 (NS);
    250 R0 = R2 + R4, R5 = R2 - R4 (S);
    251 R1 = R1 + R5, R6 = R1 - R5 (S);
    252 R2 = R5 + R6, R7 = R5 - R6 (NS);
    253 R3 = R4 + R7, R0 = R4 - R7 (S);
    254 CHECKREG r0, 0x052876A0;
    255 CHECKREG r1, 0x6B0640B0;
    256 CHECKREG r2, 0x718ECE2C;
    257 CHECKREG r3, 0x80000000;
    258 CHECKREG r4, 0x86888D7C;
    259 CHECKREG r5, 0xF9777284;
    260 CHECKREG r6, 0x78175BA8;
    261 CHECKREG r7, 0x816016DC;
    262 
    263 
    264 
    265 pass
    266