Home | History | Annotate | Line # | Download | only in bfin
      1 //Original:/proj/frio/dv/testcases/core/c_dsp32alu_rl_rnd12_m/c_dsp32alu_rl_rnd12_m.dsp
      2 // Spec Reference: dsp32alu  dreg (half)
      3 # mach: bfin
      4 
      5 .include "testutils.inc"
      6 	start
      7 
      8 	R0 = 0;
      9 	ASTAT = R0;
     10 
     11 	imm32 r0, 0x85678911;
     12 	imm32 r1, 0x9189ab1d;
     13 	imm32 r2, 0xa4245515;
     14 	imm32 r3, 0xb6637717;
     15 	imm32 r4, 0xc678491b;
     16 	imm32 r5, 0x6789a51d;
     17 	imm32 r6, 0xe4445565;
     18 	imm32 r7, 0x86667777;
     19 	R0.L = R0 - R0 (RND12);
     20 	R1.L = R0 - R1 (RND12);
     21 	R2.L = R0 - R2 (RND12);
     22 	R3.L = R0 - R3 (RND12);
     23 	R4.L = R0 - R4 (RND12);
     24 	R5.L = R0 - R5 (RND12);
     25 	R6.L = R0 - R6 (RND12);
     26 	R7.L = R0 - R7 (RND12);
     27 	CHECKREG r0, 0x85670000;
     28 	CHECKREG r1, 0x91898000;
     29 	CHECKREG r2, 0xA4248000;
     30 	CHECKREG r3, 0xB6638000;
     31 	CHECKREG r4, 0xC6788000;
     32 	CHECKREG r5, 0x67898000;
     33 	CHECKREG r6, 0xE4448000;
     34 	CHECKREG r7, 0x8666F009;
     35 
     36 	imm32 r0, 0x75678921;
     37 	imm32 r1, 0x2789ab14;
     38 	imm32 r2, 0xd4745515;
     39 	imm32 r3, 0x4d677767;
     40 	imm32 r4, 0x56d8791b;
     41 	imm32 r5, 0x678dab1d;
     42 	imm32 r6, 0x74445515;
     43 	imm32 r7, 0x86a6d777;
     44 	R0.L = R1 - R0 (RND12);
     45 	R1.L = R1 - R1 (RND12);
     46 	R2.L = R1 - R2 (RND12);
     47 	R3.L = R1 - R3 (RND12);
     48 	R4.L = R1 - R4 (RND12);
     49 	R5.L = R1 - R5 (RND12);
     50 	R6.L = R1 - R6 (RND12);
     51 	R7.L = R1 - R7 (RND12);
     52 	CHECKREG r0, 0x75678000;
     53 	CHECKREG r1, 0x27890000;
     54 	CHECKREG r2, 0xD4747FFF;
     55 	CHECKREG r3, 0x4D678000;
     56 	CHECKREG r4, 0x56D88000;
     57 	CHECKREG r5, 0x678D8000;
     58 	CHECKREG r6, 0x74448000;
     59 	CHECKREG r7, 0x86A67fff;
     60 
     61 	imm32 r0, 0x55678911;
     62 	imm32 r1, 0x2689ab1d;
     63 	imm32 r2, 0x3d445515;
     64 	imm32 r3, 0x46967717;
     65 	imm32 r4, 0xa67a891b;
     66 	imm32 r5, 0x6789bb1d;
     67 	imm32 r6, 0x7444d515;
     68 	imm32 r7, 0x8666c777;
     69 	R0.L = R2 - R0 (RND12);
     70 	R1.L = R2 - R1 (RND12);
     71 	R2.L = R2 - R2 (RND12);
     72 	R3.L = R2 - R3 (RND12);
     73 	R4.L = R2 - R4 (RND12);
     74 	R5.L = R2 - R5 (RND12);
     75 	R6.L = R2 - R6 (RND12);
     76 	R7.L = R2 - R7 (RND12);
     77 	CHECKREG r0, 0x55678000;
     78 	CHECKREG r1, 0x26897fff;
     79 	CHECKREG r2, 0x3D440000;
     80 	CHECKREG r3, 0x46968000;
     81 	CHECKREG r4, 0xA67A7fff;
     82 	CHECKREG r5, 0x67898000;
     83 	CHECKREG r6, 0x74448000;
     84 	CHECKREG r7, 0x86667fff;
     85 
     86 	imm32 r0, 0xf5678911;
     87 	imm32 r1, 0xd789ab1d;
     88 	imm32 r2, 0x34445515;
     89 	imm32 r3, 0xe6667717;
     90 	imm32 r4, 0x5678891b;
     91 	imm32 r5, 0x6d89ab1d;
     92 	imm32 r6, 0x7444d515;
     93 	imm32 r7, 0xe6667b77;
     94 	R0.L = R3 - R0 (RND12);
     95 	R1.L = R3 - R1 (RND12);
     96 	R2.L = R3 - R2 (RND12);
     97 	R3.L = R3 - R3 (RND12);
     98 	R4.L = R3 - R4 (RND12);
     99 	R5.L = R3 - R5 (RND12);
    100 	R6.L = R3 - R6 (RND12);
    101 	R7.L = R3 - R7 (RND12);
    102 	CHECKREG r0, 0xF5678000;
    103 	CHECKREG r1, 0xD7897fff;
    104 	CHECKREG r2, 0x34448000;
    105 	CHECKREG r3, 0xE6660000;
    106 	CHECKREG r4, 0x56788000;
    107 	CHECKREG r5, 0x6D898000;
    108 	CHECKREG r6, 0x74448000;
    109 	CHECKREG r7, 0xE666FFF8;
    110 
    111 	imm32 r0, 0xa5678911;
    112 	imm32 r1, 0x2b89ab1d;
    113 	imm32 r2, 0x34c45515;
    114 	imm32 r3, 0x46d67717;
    115 	imm32 r4, 0x56e8891b;
    116 	imm32 r5, 0x67f9ab1d;
    117 	imm32 r6, 0x74445515;
    118 	imm32 r7, 0x86687777;
    119 	R0.L = R4 - R0 (RND12);
    120 	R1.L = R4 - R1 (RND12);
    121 	R2.L = R4 - R2 (RND12);
    122 	R3.L = R4 - R3 (RND12);
    123 	R4.L = R4 - R4 (RND12);
    124 	R5.L = R4 - R5 (RND12);
    125 	R6.L = R4 - R6 (RND12);
    126 	R7.L = R4 - R7 (RND12);
    127 	CHECKREG r0, 0xa5677fff;
    128 	CHECKREG r1, 0x2b897fff;
    129 	CHECKREG r2, 0x34c47fff;
    130 	CHECKREG r3, 0x46d67fff;
    131 	CHECKREG r4, 0x56E80000;
    132 	CHECKREG r5, 0x67F98000;
    133 	CHECKREG r6, 0x74448000;
    134 	CHECKREG r7, 0x86687fff;
    135 
    136 	imm32 r0, 0xe5678911;
    137 	imm32 r1, 0x2789ab1d;
    138 	imm32 r2, 0x34445515;
    139 	imm32 r3, 0xd6667717;
    140 	imm32 r4, 0x5ff8891b;
    141 	imm32 r5, 0x6789ab1d;
    142 	imm32 r6, 0x744e5515;
    143 	imm32 r7, 0x8666a7b7;
    144 	R0.L = R5 - R0 (RND12);
    145 	R1.L = R5 - R1 (RND12);
    146 	R2.L = R5 - R2 (RND12);
    147 	R3.L = R5 - R3 (RND12);
    148 	R4.L = R5 - R4 (RND12);
    149 	R5.L = R5 - R5 (RND12);
    150 	R6.L = R5 - R6 (RND12);
    151 	R7.L = R5 - R7 (RND12);
    152 	CHECKREG r0, 0xE5677fff;
    153 	CHECKREG r1, 0x27897fff;
    154 	CHECKREG r2, 0x34447fff;
    155 	CHECKREG r3, 0xD6667fff;
    156 	CHECKREG r4, 0x5FF87912;
    157 	CHECKREG r5, 0x67890000;
    158 	CHECKREG r6, 0x744E8000;
    159 	CHECKREG r7, 0x86667fff;
    160 
    161 	imm32 r0, 0x15678911;
    162 	imm32 r1, 0x2789ae1d;
    163 	imm32 r2, 0x344455e5;
    164 	imm32 r3, 0x4666771d;
    165 	imm32 r4, 0x5678891b;
    166 	imm32 r5, 0x6789abdd;
    167 	imm32 r6, 0x74a45515;
    168 	imm32 r7, 0x866c77b7;
    169 	R0.L = R6 - R0 (RND12);
    170 	R1.L = R6 - R1 (RND12);
    171 	R2.L = R6 - R2 (RND12);
    172 	R3.L = R6 - R3 (RND12);
    173 	R4.L = R6 - R4 (RND12);
    174 	R5.L = R6 - R5 (RND12);
    175 	R6.L = R6 - R6 (RND12);
    176 	R7.L = R6 - R7 (RND12);
    177 	CHECKREG r0, 0x15677fff;
    178 	CHECKREG r1, 0x27897fff;
    179 	CHECKREG r2, 0x34447fff;
    180 	CHECKREG r3, 0x46667fff;
    181 	CHECKREG r4, 0x56787fff;
    182 	CHECKREG r5, 0x67897fff;
    183 	CHECKREG r6, 0x74A40000;
    184 	CHECKREG r7, 0x866C7fff;
    185 
    186 	imm32 r0, 0x25678911;
    187 	imm32 r1, 0x2389ab1d;
    188 	imm32 r2, 0x34445515;
    189 	imm32 r3, 0x46567717;
    190 	imm32 r4, 0x5678891b;
    191 	imm32 r5, 0x678dab1d;
    192 	imm32 r6, 0x7444b515;
    193 	imm32 r7, 0xb666a777;
    194 	R0.L = R7 - R0 (RND12);
    195 	R1.L = R7 - R1 (RND12);
    196 	R2.L = R7 - R2 (RND12);
    197 	R3.L = R7 - R3 (RND12);
    198 	R4.L = R7 - R4 (RND12);
    199 	R5.L = R7 - R5 (RND12);
    200 	R6.L = R7 - R6 (RND12);
    201 	R7.L = R7 - R7 (RND12);
    202 	CHECKREG r0, 0x25678000;
    203 	CHECKREG r1, 0x23898000;
    204 	CHECKREG r2, 0x34448000;
    205 	CHECKREG r3, 0x46568000;
    206 	CHECKREG r4, 0x56788000;
    207 	CHECKREG r5, 0x678D8000;
    208 	CHECKREG r6, 0x74448000;
    209 	CHECKREG r7, 0xB6660000;
    210 
    211 	imm32 r0, 0xaa678911;
    212 	imm32 r1, 0x27ddab1d;
    213 	imm32 r2, 0x344bb515;
    214 	imm32 r3, 0x46667717;
    215 	imm32 r4, 0x56dd891b;
    216 	imm32 r5, 0x6789ab1d;
    217 	imm32 r6, 0x7444bb15;
    218 	imm32 r7, 0x86ff7777;
    219 	R6.L = R2 - R3 (RND12);
    220 	R1.L = R4 - R5 (RND12);
    221 	R5.L = R7 - R2 (RND12);
    222 	R3.L = R0 - R0 (RND12);
    223 	R0.L = R3 - R4 (RND12);
    224 	R2.L = R5 - R7 (RND12);
    225 	R7.L = R6 - R7 (RND12);
    226 	R4.L = R1 - R6 (RND12);
    227 	CHECKREG r0, 0xAA678000;
    228 	CHECKREG r1, 0x27DD8000;
    229 	CHECKREG r2, 0x344B7fff;
    230 	CHECKREG r3, 0x46660000;
    231 	CHECKREG r4, 0x56DD8000;
    232 	CHECKREG r5, 0x67898000;
    233 	CHECKREG r6, 0x74448000;
    234 	CHECKREG r7, 0x86FF7fff;
    235 
    236 	imm32 r0, 0x95678911;
    237 	imm32 r1, 0x2d89ab1d;
    238 	imm32 r2, 0x34b45515;
    239 	imm32 r3, 0x46c67717;
    240 	imm32 r4, 0x567e891b;
    241 	imm32 r5, 0x678fab1d;
    242 	imm32 r6, 0x744e5515;
    243 	imm32 r7, 0x8b66a777;
    244 	R3.L = R4 - R0 (RND12);
    245 	R1.L = R6 - R3 (RND12);
    246 	R4.L = R3 - R2 (RND12);
    247 	R6.L = R7 - R1 (RND12);
    248 	R2.L = R5 - R4 (RND12);
    249 	R7.L = R2 - R7 (RND12);
    250 	R0.L = R1 - R6 (RND12);
    251 	R5.L = R0 - R5 (RND12);
    252 	CHECKREG r0, 0x95678000;
    253 	CHECKREG r1, 0x2D897fff;
    254 	CHECKREG r2, 0x34B47fff;
    255 	CHECKREG r3, 0x46C67fff;
    256 	CHECKREG r4, 0x567E7fff;
    257 	CHECKREG r5, 0x678F8000;
    258 	CHECKREG r6, 0x744E8000;
    259 	CHECKREG r7, 0x8B667FFF;
    260 
    261 	pass
    262