Home | History | Annotate | Line # | Download | only in bfin
      1 //Original:/proj/frio/dv/testcases/core/c_dsp32alu_rrpmmp_sft/c_dsp32alu_rrpmmp_sft.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 
     12 	imm32 r0, 0x35678911;
     13 	imm32 r1, 0x2489ab1d;
     14 	imm32 r2, 0x34545515;
     15 	imm32 r3, 0x46667717;
     16 	imm32 r0, 0x5567891b;
     17 	imm32 r1, 0x67889b1d;
     18 	imm32 r2, 0x74445915;
     19 	imm32 r3, 0x86667797;
     20 	R0 = R0 +|- R0 , R7 = R0 -|+ R0 (ASR);
     21 	R1 = R0 +|- R1 , R6 = R0 -|+ R1 (ASR);
     22 	R2 = R0 +|- R2 , R5 = R0 -|+ R2 (ASR);
     23 	R3 = R0 +|- R3 , R4 = R0 -|+ R3 (ASR);
     24 	R4 = R0 +|- R4 , R3 = R0 -|+ R4 (ASR);
     25 	R5 = R0 +|- R5 , R2 = R0 -|+ R5 (ASR);
     26 	R6 = R0 +|- R6 , R1 = R0 -|+ R6 (ASR);
     27 	R7 = R0 +|- R7 , R0 = R0 -|+ R7 (ASR);
     28 	CHECKREG r0, 0x2AB3c48D;
     29 	CHECKREG r1, 0x2F3CE6C7;
     30 	CHECKREG r2, 0x326B1645;
     31 	CHECKREG r3, 0xf6F31DE5;
     32 	CHECKREG r4, 0x5E73E21A;
     33 	CHECKREG r5, 0x22FCE9BB;
     34 	CHECKREG r6, 0x262B1939;
     35 	CHECKREG r7, 0x2AB33B72;
     36 
     37 	imm32 r0, 0xe5678911;
     38 	imm32 r1, 0x2e89ab1d;
     39 	imm32 r2, 0x34e45515;
     40 	imm32 r3, 0x466e7717;
     41 	imm32 r0, 0x5567ee1b;
     42 	imm32 r1, 0x6789abed;
     43 	imm32 r2, 0x7444551e;
     44 	imm32 r3, 0x86e67777;
     45 	R0 = R1 +|- R0 , R7 = R1 -|+ R0 (ASR);
     46 	R1 = R1 +|- R1 , R6 = R1 -|+ R1 (ASR);
     47 	R2 = R1 +|- R2 , R5 = R1 -|+ R2 (ASR);
     48 	R3 = R1 +|- R3 , R4 = R1 -|+ R3 (ASR);
     49 	R4 = R1 +|- R4 , R3 = R1 -|+ R4 (ASR);
     50 	R5 = R1 +|- R5 , R2 = R1 -|+ R5 (ASR);
     51 	R6 = R1 +|- R6 , R1 = R1 -|+ R6 (ASR);
     52 	R7 = R1 +|- R7 , R0 = R1 -|+ R7 (ASR);
     53 	CHECKREG r0, 0x1559d17D;
     54 	CHECKREG r1, 0x33C4d5F6;
     55 	CHECKREG r2, 0x36F31547;
     56 	CHECKREG r3, 0xfB9C1DDD;
     57 	CHECKREG r4, 0x6BEDE222;
     58 	CHECKREG r5, 0x3095eAB8;
     59 	CHECKREG r6, 0x33C42A09;
     60 	CHECKREG r7, 0x1E6A0479;
     61 
     62 	imm32 r0, 0x15678911;
     63 	imm32 r1, 0x2789ab1d;
     64 	imm32 r2, 0x34445515;
     65 	imm32 r3, 0x46667717;
     66 	imm32 r0, 0x5567891b;
     67 	imm32 r1, 0x6789ab1d;
     68 	imm32 r2, 0x74445515;
     69 	imm32 r3, 0x86667777;
     70 	R0 = R2 +|- R0 , R7 = R2 -|+ R0 (ASR);
     71 	R1 = R2 +|- R1 , R6 = R2 -|+ R1 (ASR);
     72 	R2 = R2 +|- R2 , R5 = R2 -|+ R2 (ASR);
     73 	R3 = R2 +|- R3 , R4 = R2 -|+ R3 (ASR);
     74 	R4 = R2 +|- R4 , R3 = R2 -|+ R4 (ASR);
     75 	R5 = R2 +|- R5 , R2 = R2 -|+ R5 (ASR);
     76 	R6 = R2 +|- R6 , R1 = R2 -|+ R6 (ASR);
     77 	R7 = R2 +|- R7 , R0 = R2 -|+ R7 (ASR);
     78 	CHECKREG r0, 0x155A0CD1;
     79 	CHECKREG r1, 0x19E21551;
     80 	CHECKREG r2, 0x3A222A8A;
     81 	CHECKREG r3, 0xfEAA1DDD;
     82 	CHECKREG r4, 0x7599e222;
     83 	CHECKREG r5, 0x3A22d575;
     84 	CHECKREG r6, 0x203F1538;
     85 	CHECKREG r7, 0x24C81DB9;
     86 
     87 	imm32 r0, 0x85678911;
     88 	imm32 r1, 0x2889ab1d;
     89 	imm32 r2, 0x34445515;
     90 	imm32 r3, 0x46667717;
     91 	imm32 r0, 0x5587891b;
     92 	imm32 r1, 0x6788ab1d;
     93 	imm32 r2, 0x74448515;
     94 	imm32 r3, 0x86667877;
     95 	R0 = R3 +|- R0 , R7 = R3 -|+ R0 (ASR);
     96 	R1 = R3 +|- R1 , R6 = R3 -|+ R1 (ASR);
     97 	R2 = R3 +|- R2 , R5 = R3 -|+ R2 (ASR);
     98 	R3 = R3 +|- R3 , R4 = R3 -|+ R3 (ASR);
     99 	R4 = R3 +|- R4 , R3 = R3 -|+ R4 (ASR);
    100 	R5 = R3 +|- R5 , R2 = R3 -|+ R5 (ASR);
    101 	R6 = R3 +|- R6 , R1 = R3 -|+ R6 (ASR);
    102 	R7 = R3 +|- R7 , R0 = R3 -|+ R7 (ASR);
    103 	CHECKREG r0, 0x15621E82;
    104 	CHECKREG r1, 0x19E22702;
    105 	CHECKREG r2, 0x1D111D80;
    106 	CHECKREG r3, 0xc3333C3B;
    107 	CHECKREG r4, 0xc333c3C4;
    108 	CHECKREG r5, 0xa6221EBA;
    109 	CHECKREG r6, 0xa9511538;
    110 	CHECKREG r7, 0xaDD11DB9;
    111 
    112 	imm32 r0, 0x15678911;
    113 	imm32 r1, 0x2789ab1d;
    114 	imm32 r2, 0x34445515;
    115 	imm32 r3, 0x46667717;
    116 	imm32 r0, 0x5567891b;
    117 	imm32 r1, 0x6789ab1d;
    118 	imm32 r2, 0x74445515;
    119 	imm32 r3, 0x86667777;
    120 	R0 = R4 +|- R0 , R7 = R4 -|+ R0 (ASR);
    121 	R1 = R4 +|- R1 , R6 = R4 -|+ R1 (ASR);
    122 	R2 = R4 +|- R2 , R5 = R4 -|+ R2 (ASR);
    123 	R3 = R4 +|- R3 , R4 = R4 -|+ R3 (ASR);
    124 	R4 = R4 +|- R4 , R3 = R4 -|+ R4 (ASR);
    125 	R5 = R4 +|- R5 , R2 = R4 -|+ R5 (ASR);
    126 	R6 = R4 +|- R6 , R1 = R4 -|+ R6 (ASR);
    127 	R7 = R4 +|- R7 , R0 = R4 -|+ R7 (ASR);
    128 	CHECKREG r0, 0x33C0d337;
    129 	CHECKREG r1, 0x3848dBB8;
    130 	CHECKREG r2, 0x3B770636;
    131 	CHECKREG r3, 0x00001D9D;
    132 	CHECKREG r4, 0x1E660000;
    133 	CHECKREG r5, 0xe2EEf9CA;
    134 	CHECKREG r6, 0xe61D2448;
    135 	CHECKREG r7, 0xeAA62CC8;
    136 
    137 	imm32 r0, 0x95678911;
    138 	imm32 r1, 0x2789ab1d;
    139 	imm32 r2, 0x39445515;
    140 	imm32 r3, 0x46967717;
    141 	imm32 r0, 0x5567891b;
    142 	imm32 r1, 0x6789ab1d;
    143 	imm32 r2, 0x74495515;
    144 	imm32 r3, 0x86669777;
    145 	R0 = R5 +|- R0 , R7 = R5 -|+ R0 (ASR);
    146 	R1 = R5 +|- R1 , R6 = R5 -|+ R1 (ASL);
    147 	R2 = R5 +|- R2 , R5 = R5 -|+ R2 (ASR);
    148 	R3 = R5 +|- R3 , R4 = R5 -|+ R3 (ASL);
    149 	R4 = R5 +|- R4 , R3 = R5 -|+ R4 (ASR);
    150 	R5 = R5 +|- R5 , R2 = R5 -|+ R5 (ASR);
    151 	R6 = R5 +|- R6 , R1 = R5 -|+ R6 (ASR);
    152 	R7 = R5 +|- R7 , R0 = R5 -|+ R7 (ASL);
    153 	CHECKREG r0, 0xE11E82E4;
    154 	CHECKREG r1, 0xe04424E7;
    155 	CHECKREG r2, 0x0000276F;
    156 	CHECKREG r3, 0xaaBD529D;
    157 	CHECKREG r4, 0x0c95D4D1;
    158 	CHECKREG r5, 0xb7520000;
    159 	CHECKREG r6, 0xd70EdB19;
    160 	CHECKREG r7, 0xfC2A7D1C;
    161 
    162 	imm32 r0, 0x15678911;
    163 	imm32 r1, 0x2789ab1d;
    164 	imm32 r2, 0x34445515;
    165 	imm32 r3, 0x46667717;
    166 	imm32 r0, 0x5567891b;
    167 	imm32 r1, 0x6789ab1d;
    168 	imm32 r2, 0x74445515;
    169 	imm32 r3, 0x86667777;
    170 	R0 = R6 +|- R0 , R7 = R6 -|+ R0 (ASR);
    171 	R1 = R6 +|- R1 , R6 = R6 -|+ R1 (ASL);
    172 	R2 = R6 +|- R2 , R5 = R6 -|+ R2 (ASL);
    173 	R3 = R6 +|- R3 , R4 = R6 -|+ R3 (ASR);
    174 	R4 = R6 +|- R4 , R3 = R6 -|+ R4 (ASR);
    175 	R5 = R6 +|- R5 , R2 = R6 -|+ R5 (ASR);
    176 	R6 = R6 +|- R6 , R1 = R6 -|+ R6 (ASL);
    177 	R7 = R6 +|- R7 , R0 = R6 -|+ R7 (ASR);
    178 	CHECKREG r0, 0x5dAAd90D;
    179 	CHECKREG r1, 0x000031B0;
    180 	CHECKREG r2, 0x04BFe7B7;
    181 	CHECKREG r3, 0xd95C272E;
    182 	CHECKREG r4, 0x05AEe53D;
    183 	CHECKREG r5, 0xDa4B24B5;
    184 	CHECKREG r6, 0x7C280000;
    185 	CHECKREG r7, 0x1e7D26F3;
    186 
    187 	imm32 r0, 0x67898911;
    188 	imm32 r1, 0xb789ab1d;
    189 	imm32 r2, 0x3b445515;
    190 	imm32 r3, 0x46b67717;
    191 	imm32 r0, 0x5567891b;
    192 	imm32 r1, 0x678bab1d;
    193 	imm32 r2, 0x7444b515;
    194 	imm32 r3, 0x86667b77;
    195 	R0 = R7 +|- R0 , R7 = R7 -|+ R0 (ASR);
    196 	R1 = R7 +|- R1 , R6 = R7 -|+ R1 (ASR);
    197 	R2 = R7 +|- R2 , R5 = R7 -|+ R2 (ASL);
    198 	R3 = R7 +|- R3 , R4 = R7 -|+ R3 (ASR);
    199 	R4 = R7 +|- R4 , R3 = R7 -|+ R4 (ASL);
    200 	R5 = R7 +|- R5 , R2 = R7 -|+ R5 (ASL);
    201 	R6 = R7 +|- R6 , R1 = R7 -|+ R6 (ASL);
    202 	R7 = R7 +|- R7 , R0 = R7 -|+ R7 (ASR);
    203 	CHECKREG r0, 0x0000d807;
    204 	CHECKREG r1, 0x4c163332;
    205 	CHECKREG r2, 0x07FAe47E;
    206 	CHECKREG r3, 0x6aF2038C;
    207 	CHECKREG r4, 0x273A5c90;
    208 	CHECKREG r5, 0x8a327b9E;
    209 	CHECKREG r6, 0x46162cEA;
    210 	CHECKREG r7, 0xe48B0000;
    211 
    212 	imm32 r0, 0xe5678911;
    213 	imm32 r1, 0x2e89ab1d;
    214 	imm32 r2, 0x34ee5515;
    215 	imm32 r3, 0x4666e717;
    216 	imm32 r0, 0x5567891b;
    217 	imm32 r1, 0x6789ae1d;
    218 	imm32 r2, 0x744455e5;
    219 	imm32 r3, 0x8666777e;
    220 	R4 = R2 +|- R5 , R3 = R2 -|+ R5 (ASR);
    221 	R0 = R5 +|- R3 , R5 = R5 -|+ R3 (ASL);
    222 	R2 = R6 +|- R2 , R0 = R6 -|+ R2 (ASR);
    223 	R3 = R4 +|- R0 , R2 = R4 -|+ R0 (ASR);
    224 	R7 = R7 +|- R6 , R6 = R7 -|+ R6 (ASR);
    225 	R6 = R1 +|- R7 , R1 = R1 -|+ R7 (ASL);
    226 	R5 = R0 +|- R4 , R7 = R0 -|+ R4 (ASR);
    227 	R1 = R3 +|- R1 , R4 = R3 -|+ R1 (ASL);
    228 	CHECKREG r0, 0xE8e94167;
    229 	CHECKREG r1, 0x31084d1C;
    230 	CHECKREG r2, 0x0b291745;
    231 	CHECKREG r3, 0xF412d5de;
    232 	CHECKREG r4, 0x9f400a5C;
    233 	CHECKREG r5, 0xF4122a22;
    234 	CHECKREG r6, 0xf9B28924;
    235 	CHECKREG r7, 0xF4D71745;
    236 
    237 	imm32 r0, 0xff678911;
    238 	imm32 r1, 0x2789ab1d;
    239 	imm32 r2, 0x3f445515;
    240 	imm32 r3, 0x46f67717;
    241 	imm32 r0, 0x556f891b;
    242 	imm32 r1, 0x6789fb1d;
    243 	imm32 r2, 0x74445f15;
    244 	imm32 r3, 0x866677f7;
    245 	R4 = R3 +|- R3 , R5 = R3 -|+ R3 (ASR);
    246 	R1 = R6 +|- R1 , R6 = R6 -|+ R1 (ASL);
    247 	R6 = R1 +|- R4 , R4 = R1 -|+ R4 (ASR);
    248 	R7 = R4 +|- R2 , R0 = R4 -|+ R2 (ASL);
    249 	R2 = R2 +|- R6 , R1 = R2 -|+ R6 (ASR);
    250 	R3 = R5 +|- R5 , R7 = R5 -|+ R5 (ASL);
    251 	R5 = R7 +|- R7 , R3 = R7 -|+ R7 (ASR);
    252 	R0 = R0 +|- R0 , R2 = R0 -|+ R0 (ASR);
    253 	CHECKREG r0, 0x53880000;
    254 	CHECKREG r1, 0x67eb368e;
    255 	CHECKREG r2, 0x0000da38;
    256 	CHECKREG r3, 0x0000dfdc;
    257 	CHECKREG r4, 0x1e080e07;
    258 	CHECKREG r5, 0x00000000;
    259 	CHECKREG r6, 0xa46e0e07;
    260 	CHECKREG r7, 0x0000dfdc;
    261 
    262 	pass
    263