Home | History | Annotate | Line # | Download | only in bfin
      1 //Original:/proj/frio/dv/testcases/core/c_dsp32alu_rrpmmp_sft_x/c_dsp32alu_rrpmmp_sft_x.dsp
      2 // Spec Reference: dsp32alu (dreg, dreg) = +/-, -/+ (dreg, dreg) >>, <<
      3 # mach: bfin
      4 
      5 .include "testutils.inc"
      6 	start
      7 
      8 	R0 = 0;
      9 	ASTAT = R0;
     10 
     11 	imm32 r0, 0x35678911;
     12 	imm32 r1, 0x2489ab1d;
     13 	imm32 r2, 0x34545515;
     14 	imm32 r3, 0x46667717;
     15 	imm32 r0, 0x5567891b;
     16 	imm32 r1, 0x67889b1d;
     17 	imm32 r2, 0x74445915;
     18 	imm32 r3, 0x86667797;
     19 	R0 = R0 +|- R0 , R7 = R0 -|+ R0 (CO , ASR);
     20 	R1 = R0 +|- R1 , R6 = R0 -|+ R1 (CO , ASR);
     21 	R2 = R0 +|- R2 , R5 = R0 -|+ R2 (CO , ASR);
     22 	R3 = R0 +|- R3 , R4 = R0 -|+ R3 (CO , ASR);
     23 	R4 = R0 +|- R4 , R3 = R0 -|+ R4 (CO , ASR);
     24 	R5 = R0 +|- R5 , R2 = R0 -|+ R5 (CO , ASR);
     25 	R6 = R0 +|- R6 , R1 = R0 -|+ R6 (CO , ASR);
     26 	R7 = R0 +|- R7 , R0 = R0 -|+ R7 (CO , ASR);
     27 	CHECKREG r0, 0x00006626;
     28 	CHECKREG r1, 0xfb7743ec;
     29 	CHECKREG r2, 0xf848146e;
     30 	CHECKREG r3, 0x33c00cce;
     31 	CHECKREG r4, 0x4899cc40;
     32 	CHECKREG r5, 0x40f807b7;
     33 	CHECKREG r6, 0x117a0488;
     34 	CHECKREG r7, 0xef410000;
     35 
     36 	imm32 r0, 0xe5678911;
     37 	imm32 r1, 0x2e89ab1d;
     38 	imm32 r2, 0x34e45515;
     39 	imm32 r3, 0x466e7717;
     40 	imm32 r0, 0x5567ee1b;
     41 	imm32 r1, 0x6789abed;
     42 	imm32 r2, 0x7444551e;
     43 	imm32 r3, 0x86e67777;
     44 	R0 = R1 +|- R0 , R7 = R1 -|+ R0 (CO , ASR);
     45 	R1 = R1 +|- R1 , R6 = R1 -|+ R1 (CO , ASR);
     46 	R2 = R1 +|- R2 , R5 = R1 -|+ R2 (CO , ASR);
     47 	R3 = R1 +|- R3 , R4 = R1 -|+ R3 (CO , ASR);
     48 	R4 = R1 +|- R4 , R3 = R1 -|+ R4 (CO , ASR);
     49 	R5 = R1 +|- R5 , R2 = R1 -|+ R5 (CO , ASR);
     50 	R6 = R1 +|- R6 , R1 = R1 -|+ R6 (CO , ASR);
     51 	R7 = R1 +|- R7 , R0 = R1 -|+ R7 (CO , ASR);
     52 	CHECKREG r0, 0x336f197e;
     53 	CHECKREG r1, 0x00005dce;
     54 	CHECKREG r2, 0xfcd11e7d;
     55 	CHECKREG r3, 0x382815e7;
     56 	CHECKREG r4, 0x51a2c7d7;
     57 	CHECKREG r5, 0x490c032f;
     58 	CHECKREG r6, 0x09bb0000;
     59 	CHECKREG r7, 0xe6822a5e;
     60 
     61 	imm32 r0, 0x15678911;
     62 	imm32 r1, 0x2789ab1d;
     63 	imm32 r2, 0x34445515;
     64 	imm32 r3, 0x46667717;
     65 	imm32 r0, 0x5567891b;
     66 	imm32 r1, 0x6789ab1d;
     67 	imm32 r2, 0x74445515;
     68 	imm32 r3, 0x86667777;
     69 	R0 = R2 +|- R0 , R7 = R2 -|+ R0 (CO , ASR);
     70 	R1 = R2 +|- R1 , R6 = R2 -|+ R1 (CO , ASR);
     71 	R2 = R2 +|- R2 , R5 = R2 -|+ R2 (CO , ASR);
     72 	R3 = R2 +|- R3 , R4 = R2 -|+ R3 (CO , ASR);
     73 	R4 = R2 +|- R4 , R3 = R2 -|+ R4 (CO , ASR);
     74 	R5 = R2 +|- R5 , R2 = R2 -|+ R5 (CO , ASR);
     75 	R6 = R2 +|- R6 , R1 = R2 -|+ R6 (CO , ASR);
     76 	R7 = R2 +|- R7 , R0 = R2 -|+ R7 (CO , ASR);
     77 	CHECKREG r0, 0x0f820874;
     78 	CHECKREG r1, 0x0afafff3;
     79 	CHECKREG r2, 0x00000f97;
     80 	CHECKREG r3, 0x3b771c44;
     81 	CHECKREG r4, 0x57ffc488;
     82 	CHECKREG r5, 0x64ac0000;
     83 	CHECKREG r6, 0x000c049d;
     84 	CHECKREG r7, 0xf78c0014;
     85 
     86 	imm32 r0, 0x85678911;
     87 	imm32 r1, 0x2889ab1d;
     88 	imm32 r2, 0x34445515;
     89 	imm32 r3, 0x46667717;
     90 	imm32 r0, 0x5587891b;
     91 	imm32 r1, 0x6788ab1d;
     92 	imm32 r2, 0x74448515;
     93 	imm32 r3, 0x86667877;
     94 	R0 = R3 +|- R0 , R7 = R3 -|+ R0 (CO , ASR);
     95 	R1 = R3 +|- R1 , R6 = R3 -|+ R1 (CO , ASR);
     96 	R2 = R3 +|- R2 , R5 = R3 -|+ R2 (CO , ASR);
     97 	R3 = R3 +|- R3 , R4 = R3 -|+ R3 (CO , ASR);
     98 	R4 = R3 +|- R4 , R3 = R3 -|+ R4 (CO , ASR);
     99 	R5 = R3 +|- R5 , R2 = R3 -|+ R5 (CO , ASR);
    100 	R6 = R3 +|- R6 , R1 = R3 -|+ R6 (CO , ASR);
    101 	R7 = R3 +|- R7 , R0 = R3 -|+ R7 (CO , ASR);
    102 	CHECKREG r0, 0x8fb3ff9b;
    103 	CHECKREG r1, 0x8b33f71b;
    104 	CHECKREG r2, 0x8804009d;
    105 	CHECKREG r3, 0x000086f7;
    106 	CHECKREG r4, 0xff6e0000;
    107 	CHECKREG r5, 0xff63fef3;
    108 	CHECKREG r6, 0x08e5fbc4;
    109 	CHECKREG r7, 0x0064f744;
    110 
    111 	imm32 r0, 0x15678911;
    112 	imm32 r1, 0x2789ab1d;
    113 	imm32 r2, 0x34445515;
    114 	imm32 r3, 0x46667717;
    115 	imm32 r0, 0x5567891b;
    116 	imm32 r1, 0x6789ab1d;
    117 	imm32 r2, 0x74445515;
    118 	imm32 r3, 0x86667777;
    119 	R0 = R4 +|- R0 , R7 = R4 -|+ R0 (CO , ASR);
    120 	R1 = R4 +|- R1 , R6 = R4 -|+ R1 (CO , ASR);
    121 	R2 = R4 +|- R2 , R5 = R4 -|+ R2 (CO , ASR);
    122 	R3 = R4 +|- R3 , R4 = R4 -|+ R3 (CO , ASR);
    123 	R4 = R4 +|- R4 , R3 = R4 -|+ R4 (CO , ASR);
    124 	R5 = R4 +|- R5 , R2 = R4 -|+ R5 (CO , ASR);
    125 	R6 = R4 +|- R6 , R1 = R4 -|+ R6 (CO , ASR);
    126 	R7 = R4 +|- R7 , R0 = R4 -|+ R7 (CO , ASR);
    127 	CHECKREG r0, 0xEA813B97;
    128 	CHECKREG r1, 0xE5F93316;
    129 	CHECKREG r2, 0xe2ca0898;
    130 	CHECKREG r3, 0x3C840000;
    131 	CHECKREG r4, 0x3BBB0000;
    132 	CHECKREG r5, 0x33221D35;
    133 	CHECKREG r6, 0x08A41A07;
    134 	CHECKREG r7, 0x0024157E;
    135 
    136 	imm32 r0, 0x95678911;
    137 	imm32 r1, 0x2789ab1d;
    138 	imm32 r2, 0x39445515;
    139 	imm32 r3, 0x46967717;
    140 	imm32 r0, 0x5567891b;
    141 	imm32 r1, 0x6789ab1d;
    142 	imm32 r2, 0x74495515;
    143 	imm32 r3, 0x86669777;
    144 	R0 = R5 +|- R0 , R7 = R5 -|+ R0 (CO , ASR);
    145 	R1 = R5 +|- R1 , R6 = R5 -|+ R1 (CO , ASL);
    146 	R2 = R5 +|- R2 , R5 = R5 -|+ R2 (CO , ASR);
    147 	R3 = R5 +|- R3 , R4 = R5 -|+ R3 (CO , ASL);
    148 	R4 = R5 +|- R4 , R3 = R5 -|+ R4 (CO , ASR);
    149 	R5 = R5 +|- R5 , R2 = R5 -|+ R5 (CO , ASR);
    150 	R6 = R5 +|- R6 , R1 = R5 -|+ R6 (CO , ASR);
    151 	R7 = R5 +|- R7 , R0 = R5 -|+ R7 (CO , ASL);
    152 	CHECKREG r0, 0xDDBACBFA;
    153 	CHECKREG r1, 0xCB995440;
    154 	CHECKREG r2, 0xDF6C0000;
    155 	CHECKREG r3, 0x227525AF;
    156 	CHECKREG r4, 0x1375bCF7;
    157 	CHECKREG r5, 0x39250000;
    158 	CHECKREG r6, 0xE4E43467;
    159 	CHECKREG r7, 0x189A2246;
    160 
    161 	imm32 r0, 0x15678911;
    162 	imm32 r1, 0x2789ab1d;
    163 	imm32 r2, 0x34445515;
    164 	imm32 r3, 0x46667717;
    165 	imm32 r0, 0x5567891b;
    166 	imm32 r1, 0x6789ab1d;
    167 	imm32 r2, 0x74445515;
    168 	imm32 r3, 0x86667777;
    169 	R0 = R6 +|- R0 , R7 = R6 -|+ R0 (CO , ASR);
    170 	R1 = R6 +|- R1 , R6 = R6 -|+ R1 (CO , ASL);
    171 	R2 = R6 +|- R2 , R5 = R6 -|+ R2 (CO , ASL);
    172 	R3 = R6 +|- R3 , R4 = R6 -|+ R3 (CO , ASR);
    173 	R4 = R6 +|- R4 , R3 = R6 -|+ R4 (CO , ASR);
    174 	R5 = R6 +|- R5 , R2 = R6 -|+ R5 (CO , ASR);
    175 	R6 = R6 +|- R6 , R1 = R6 -|+ R6 (CO , ASL);
    176 	R7 = R6 +|- R7 , R0 = R6 -|+ R7 (CO , ASR);
    177 	CHECKREG r0, 0xE3DF0EAF;
    178 	CHECKREG r1, 0xEAD80000;
    179 	CHECKREG r2, 0xC81F0FB9;
    180 	CHECKREG r3, 0x0B83C2F9;
    181 	CHECKREG r4, 0xFC0FEF32;
    182 	CHECKREG r5, 0xaF4F3297;
    183 	CHECKREG r6, 0xFC200000;
    184 	CHECKREG r7, 0xED701C21;
    185 
    186 	imm32 r0, 0x67898911;
    187 	imm32 r1, 0xb789ab1d;
    188 	imm32 r2, 0x3b445515;
    189 	imm32 r3, 0x46b67717;
    190 	imm32 r0, 0x5567891b;
    191 	imm32 r1, 0x678bab1d;
    192 	imm32 r2, 0x7444b515;
    193 	imm32 r3, 0x86667b77;
    194 	R0 = R7 +|- R0 , R7 = R7 -|+ R0 (CO , ASR);
    195 	R1 = R7 +|- R1 , R6 = R7 -|+ R1 (CO , ASR);
    196 	R2 = R7 +|- R2 , R5 = R7 -|+ R2 (CO , ASL);
    197 	R3 = R7 +|- R3 , R4 = R7 -|+ R3 (CO , ASR);
    198 	R4 = R7 +|- R4 , R3 = R7 -|+ R4 (CO , ASL);
    199 	R5 = R7 +|- R5 , R2 = R7 -|+ R5 (CO , ASL);
    200 	R6 = R7 +|- R6 , R1 = R7 -|+ R6 (CO , ASL);
    201 	R7 = R7 +|- R7 , R0 = R7 -|+ R7 (CO , ASR);
    202 	CHECKREG r0, 0xCC040000;
    203 	CHECKREG r1, 0x031A2E1C;
    204 	CHECKREG r2, 0x1170A0D8;
    205 	CHECKREG r3, 0xE4405DC2;
    206 	CHECKREG r4, 0xECB64BD0;
    207 	CHECKREG r5, 0xA9A01EA0;
    208 	CHECKREG r6, 0x1C5C2CF6;
    209 	CHECKREG r7, 0xD29E0000;
    210 
    211 	imm32 r0, 0xe5678911;
    212 	imm32 r1, 0x2e89ab1d;
    213 	imm32 r2, 0x34ee5515;
    214 	imm32 r3, 0x4666e717;
    215 	imm32 r0, 0x5567891b;
    216 	imm32 r1, 0x6789ae1d;
    217 	imm32 r2, 0x744455e5;
    218 	imm32 r3, 0x8666777e;
    219 	R4 = R2 +|- R5 , R3 = R2 -|+ R5 (CO , ASR);
    220 	R0 = R5 +|- R3 , R5 = R5 -|+ R3 (CO , ASL);
    221 	R2 = R6 +|- R2 , R0 = R6 -|+ R2 (CO , ASR);
    222 	R3 = R4 +|- R0 , R2 = R4 -|+ R0 (CO , ASR);
    223 	R7 = R7 +|- R6 , R6 = R7 -|+ R6 (CO , ASR);
    224 	R6 = R1 +|- R7 , R1 = R1 -|+ R7 (CO , ASL);
    225 	R5 = R0 +|- R4 , R7 = R0 -|+ R4 (CO , ASR);
    226 	R1 = R3 +|- R1 , R4 = R3 -|+ R1 (CO , ASL);
    227 	CHECKREG r0, 0x416dd40c;
    228 	CHECKREG r1, 0xaEE68766;
    229 	CHECKREG r2, 0xF7D7e6C2;
    230 	CHECKREG r3, 0x282F23CB;
    231 	CHECKREG r4, 0x07C6f1D6;
    232 	CHECKREG r5, 0x282FDC35;
    233 	CHECKREG r6, 0xBE0C8930;
    234 	CHECKREG r7, 0xF7D7193D;
    235 
    236 	imm32 r0, 0xff678911;
    237 	imm32 r1, 0x2789ab1d;
    238 	imm32 r2, 0x3f445515;
    239 	imm32 r3, 0x46f67717;
    240 	imm32 r0, 0x556f891b;
    241 	imm32 r1, 0x6789fb1d;
    242 	imm32 r2, 0x74445f15;
    243 	imm32 r3, 0x866677f7;
    244 	R4 = R3 +|- R3 , R5 = R3 -|+ R3 (CO , ASR);
    245 	R1 = R6 +|- R1 , R6 = R6 -|+ R1 (CO , ASL);
    246 	R6 = R1 +|- R4 , R4 = R1 -|+ R4 (CO , ASR);
    247 	R7 = R4 +|- R2 , R0 = R4 -|+ R2 (CO , ASL);
    248 	R2 = R2 +|- R6 , R1 = R2 -|+ R6 (CO , ASR);
    249 	R3 = R5 +|- R5 , R7 = R5 -|+ R5 (CO , ASL);
    250 	R5 = R7 +|- R7 , R3 = R7 -|+ R7 (CO , ASR);
    251 	R0 = R0 +|- R0 , R2 = R0 -|+ R0 (CO , ASR);
    252 	CHECKREG r0, 0x82EE0000;
    253 	CHECKREG r1, 0x369445BE;
    254 	CHECKREG r2, 0x339E0000;
    255 	CHECKREG r3, 0x00000000;
    256 	CHECKREG r4, 0x0E136262;
    257 	CHECKREG r5, 0x00000000;
    258 	CHECKREG r6, 0xe8C80E13;
    259 	CHECKREG r7, 0x00000000;
    260 
    261 	pass
    262