Home | History | Annotate | Line # | Download | only in bfin
      1 //Original:/proj/frio/dv/testcases/core/c_dsp32alu_rrppmm_sft_x/c_dsp32alu_rrppmm_sft_x.dsp
      2 // Spec Reference: dsp32alu (dreg, dreg) = +/+, -/- (dreg, dreg) >>, << X
      3 # mach: bfin
      4 
      5 .include "testutils.inc"
      6 	start
      7 
      8 	R0 = 0;
      9 	ASTAT = R0;
     10 
     11 	imm32 r0, 0x95679911;
     12 	imm32 r1, 0x2789ab1d;
     13 	imm32 r2, 0x34945515;
     14 	imm32 r3, 0x46967717;
     15 	imm32 r4, 0x5597891b;
     16 	imm32 r5, 0x6989ab1d;
     17 	imm32 r6, 0x94445515;
     18 	imm32 r7, 0x96667777;
     19 	R0 = R0 +|+ R0, R7 = R0 -|- R0 (CO , ASR);
     20 	R1 = R0 +|+ R1, R6 = R0 -|- R1 (CO , ASL);
     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 , ASL);
     24 	R5 = R0 +|+ R5, R2 = R0 -|- R5 (CO , ASR);
     25 	R6 = R0 +|+ R6, R1 = R0 -|- R6 (CO , ASL);
     26 	R7 = R0 +|+ R7, R0 = R0 -|- R7 (CO , ASR);
     27 	CHECKREG r0, 0xcC88cAB3;
     28 	CHECKREG r1, 0x7AAA72FE;
     29 	CHECKREG r2, 0xf454f9B4;
     30 	CHECKREG r3, 0xe35208D4;
     31 	CHECKREG r4, 0x4CC880F2;
     32 	CHECKREG r5, 0x9BB2a4BD;
     33 	CHECKREG r6, 0xE29EE99A;
     34 	CHECKREG r7, 0xcAB3cC88;
     35 
     36 	imm32 r0, 0x11678911;
     37 	imm32 r1, 0xa719ab1d;
     38 	imm32 r2, 0x3a415515;
     39 	imm32 r3, 0x46a67717;
     40 	imm32 r4, 0x556a891b;
     41 	imm32 r5, 0x6789ab1d;
     42 	imm32 r6, 0x74445a15;
     43 	imm32 r7, 0x866677a7;
     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 , ASL);
     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 , ASL);
     51 	R7 = R1 +|+ R7, R0 = R1 -|- R7 (CO , ASR);
     52 	CHECKREG r0, 0x41AC229A;
     53 	CHECKREG r1, 0x563A4E32;
     54 	CHECKREG r2, 0xe8B6fD84;
     55 	CHECKREG r3, 0xfD72068B;
     56 	CHECKREG r4, 0xa08EaDAB;
     57 	CHECKREG r5, 0xa994c266;
     58 	CHECKREG r6, 0x4E32563A;
     59 	CHECKREG r7, 0x33A00C85;
     60 
     61 	imm32 r0, 0xb567891b;
     62 	imm32 r1, 0x2b89abbd;
     63 	imm32 r2, 0x34b45b15;
     64 	imm32 r3, 0x466bb717;
     65 	imm32 r4, 0x556bb91b;
     66 	imm32 r5, 0x67b9ab1d;
     67 	imm32 r6, 0x7b4455b5;
     68 	imm32 r7, 0xb666777b;
     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 , ASL);
     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 , ASL);
     76 	R7 = R2 +|+ R7, R0 = R2 -|- R7 (CO , ASR);
     77 	CHECKREG r0, 0xED5Ae246;
     78 	CHECKREG r1, 0x2B8AaBBC;
     79 	CHECKREG r2, 0x2D8A1A5A;
     80 	CHECKREG r3, 0x3F41F65C;
     81 	CHECKREG r4, 0x3E581BD3;
     82 	CHECKREG r5, 0x1A5A2D8A;
     83 	CHECKREG r6, 0x0A6C3DDE;
     84 	CHECKREG r7, 0x4B432D00;
     85 
     86 	imm32 r0, 0xbc678c11;
     87 	imm32 r1, 0x27c9cb1d;
     88 	imm32 r2, 0x344c5515;
     89 	imm32 r3, 0x46c6c717;
     90 	imm32 r4, 0x55678c1b;
     91 	imm32 r5, 0x6c89abcd;
     92 	imm32 r6, 0x7444551c;
     93 	imm32 r7, 0x8c667777;
     94 	R0 = R3 +|+ R0, R7 = R3 -|- R0 (CO , ASL);
     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 , ASL);
     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 , ASL);
    102 	CHECKREG r0, 0xF19C3044;
    103 	CHECKREG r1, 0xbF07C818;
    104 	CHECKREG r2, 0xC227eA96;
    105 	CHECKREG r3, 0x8E2E8D8C;
    106 	CHECKREG r4, 0x8D8C8E2E;
    107 	CHECKREG r5, 0xa397CB64;
    108 	CHECKREG r6, 0xC615CE85;
    109 	CHECKREG r7, 0x08744494;
    110 
    111 	imm32 r0, 0xd56789d1;
    112 	imm32 r1, 0x2d89abdd;
    113 	imm32 r2, 0x34d455d5;
    114 	imm32 r3, 0x4d667717;
    115 	imm32 r4, 0x5dd7891b;
    116 	imm32 r5, 0x6789ab1d;
    117 	imm32 r6, 0xd44d5515;
    118 	imm32 r7, 0xd666d777;
    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 , ASL);
    123 	R4 = R4 +|+ R4, R3 = R4 -|- R4 (CO , ASR);
    124 	R5 = R4 +|+ R5, R2 = R4 -|- R5 (CO , ASL);
    125 	R6 = R4 +|+ R6, R1 = R4 -|- R6 (CO , ASR);
    126 	R7 = R4 +|+ R7, R0 = R4 -|- R7 (CO , ASR);
    127 	CHECKREG r0, 0xeE551231;
    128 	CHECKREG r1, 0x045D1AB4;
    129 	CHECKREG r2, 0x18C214CA;
    130 	CHECKREG r3, 0x00000000;
    131 	CHECKREG r4, 0x240820E2;
    132 	CHECKREG r5, 0x7B566AC6;
    133 	CHECKREG r6, 0x09531C84;
    134 	CHECKREG r7, 0x11D6328D;
    135 
    136 	imm32 r0, 0xc567a911;
    137 	imm32 r1, 0x278aab1d;
    138 	imm32 r2, 0x3c445515;
    139 	imm32 r3, 0x46a67717;
    140 	imm32 r4, 0x55c7891b;
    141 	imm32 r5, 0x6a8cab1d;
    142 	imm32 r6, 0x7444c515;
    143 	imm32 r7, 0xa6667c77;
    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 , ASR);
    148 	R4 = R5 +|+ R4, R3 = R5 -|- R4 (CO , ASR);
    149 	R5 = R5 +|+ R5, R2 = R5 -|- R5 (CO , ASL);
    150 	R6 = R5 +|+ R6, R1 = R5 -|- R6 (CO , ASR);
    151 	R7 = R5 +|+ R7, R0 = R5 -|- R7 (CO , ASR);
    152 	CHECKREG r0, 0x04FFD585;
    153 	CHECKREG r1, 0x6B46D608;
    154 	CHECKREG r2, 0x00000000;
    155 	CHECKREG r3, 0x327AeD7F;
    156 	CHECKREG r4, 0xbD85e4A9;
    157 	CHECKREG r5, 0xAC105C90;
    158 	CHECKREG r6, 0xD608F14A;
    159 	CHECKREG r7, 0xD68B5791;
    160 
    161 	imm32 r0, 0xd5678911;
    162 	imm32 r1, 0x2ddddd1d;
    163 	imm32 r2, 0x34ddd515;
    164 	imm32 r3, 0x46d67717;
    165 	imm32 r4, 0x5d6d891b;
    166 	imm32 r5, 0x6789db1d;
    167 	imm32 r6, 0x74445d15;
    168 	imm32 r7, 0xd66677d7;
    169 	R0 = R6 +|+ R0, R7 = R6 -|- R0 (CO , ASR);
    170 	R1 = R6 +|+ R1, R6 = R6 -|- R1 (CO , ASR);
    171 	R2 = R6 +|+ R2, R5 = R6 -|- R2 (CO , ASR);
    172 	R3 = R6 +|+ R3, R4 = R6 -|- R3 (CO , ASL);
    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, 0x9EAFcAF7;
    178 	CHECKREG r1, 0x00000000;
    179 	CHECKREG r2, 0x0ED20C76;
    180 	CHECKREG r3, 0x1873F3E2;
    181 	CHECKREG r4, 0x4C1A0ABF;
    182 	CHECKREG r5, 0x33851461;
    183 	CHECKREG r6, 0xFFF08CCC;
    184 	CHECKREG r7, 0x34F9eE1D;
    185 
    186 	imm32 r0, 0xf567a911;
    187 	imm32 r1, 0x2f8aab1d;
    188 	imm32 r2, 0x34a45515;
    189 	imm32 r3, 0x4a6f7717;
    190 	imm32 r4, 0x5567f91b;
    191 	imm32 r5, 0xa789af1d;
    192 	imm32 r6, 0x74445515;
    193 	imm32 r7, 0x866677f7;
    194 	R0 = R7 +|+ R0, R7 = R7 -|- R0 (CO , ASR);
    195 	R1 = R7 +|+ R1, R6 = R7 -|- R1 (CO , ASL);
    196 	R2 = R7 +|+ R2, R5 = R7 -|- R2 (CO , ASR);
    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 , ASR);
    201 	R7 = R7 +|+ R7, R0 = R7 -|- R7 (CO , ASL);
    202 	CHECKREG r0, 0x00000000;
    203 	CHECKREG r1, 0xaC561657;
    204 	CHECKREG r2, 0x5E305B7C;
    205 	CHECKREG r3, 0x73FA7D7E;
    206 	CHECKREG r4, 0x204EaE02;
    207 	CHECKREG r5, 0x4250c3CC;
    208 	CHECKREG r6, 0x511B1C28;
    209 	CHECKREG r7, 0x9DCC21FC;
    210 
    211 	imm32 r0, 0xe5678911;
    212 	imm32 r1, 0x2e89ab1d;
    213 	imm32 r2, 0x34e45515;
    214 	imm32 r3, 0x46667717;
    215 	imm32 r4, 0x556e891b;
    216 	imm32 r5, 0x6789ab1d;
    217 	imm32 r6, 0x7444e515;
    218 	imm32 r7, 0x86667e77;
    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 , ASL);
    222 	R3 = R4 +|+ R0, R2 = R4 -|- R0 (CO , ASR);
    223 	R7 = R7 +|+ R6, R6 = R7 -|- R6 (CO , ASL);
    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 , ASR);
    227 	CHECKREG r0, 0x20007EC0;
    228 	CHECKREG r1, 0xfF9258EB;
    229 	CHECKREG r2, 0xC0AC171B;
    230 	CHECKREG r3, 0x371B3F6C;
    231 	CHECKREG r4, 0xE6813788;
    232 	CHECKREG r5, 0x371B3F6C;
    233 	CHECKREG r6, 0x47BAE46A;
    234 	CHECKREG r7, 0x3F53e8E5;
    235 
    236 	imm32 r0, 0xd5678911;
    237 	imm32 r1, 0xff89ab1d;
    238 	imm32 r2, 0x34f45515;
    239 	imm32 r3, 0x46667717;
    240 	imm32 r4, 0x556f891b;
    241 	imm32 r5, 0x6789fb1d;
    242 	imm32 r6, 0x74445f15;
    243 	imm32 r7, 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 , ASL);
    247 	R7 = R4 +|+ R2, R0 = R4 -|- R2 (CO , ASR);
    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 , ASL);
    251 	R0 = R0 +|+ R0, R2 = R0 -|- R0 (CO , ASR);
    252 	CHECKREG r0, 0xF6A902D3;
    253 	CHECKREG r1, 0x1F0FEC7A;
    254 	CHECKREG r2, 0x00000000;
    255 	CHECKREG r3, 0x00000000;
    256 	CHECKREG r4, 0x3A9A4268;
    257 	CHECKREG r5, 0x00000000;
    258 	CHECKREG r6, 0x5C0016F6;
    259 	CHECKREG r7, 0x00000000;
    260 
    261 	pass
    262