Home | History | Annotate | Line # | Download | only in bfin
      1 //Original:/proj/frio/dv/testcases/core/c_dsp32alu_rh_rnd12_p/c_dsp32alu_rh_rnd12_p.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 
     12 	imm32 r0, 0x45678911;
     13 	imm32 r1, 0x2789ab1d;
     14 	imm32 r2, 0xf4445515;
     15 	imm32 r3, 0x46667717;
     16 	imm32 r4, 0xe678891b;
     17 	imm32 r5, 0x6f89ab1d;
     18 	imm32 r6, 0x7444d515;
     19 	imm32 r7, 0x8666b777;
     20 	R0.H = R0 + R0 (RND12);
     21 	R1.H = R0 + R1 (RND12);
     22 	R2.H = R0 + R2 (RND12);
     23 	R3.H = R0 + R3 (RND12);
     24 	R4.H = R0 + R4 (RND12);
     25 	R5.H = R0 + R5 (RND12);
     26 	R6.H = R0 + R6 (RND12);
     27 	R7.H = R0 + R7 (RND12);
     28 	CHECKREG r0, 0x7FFF8911;
     29 	CHECKREG r1, 0x7fffAB1D;
     30 	CHECKREG r2, 0x7fff5515;
     31 	CHECKREG r3, 0x7fff7717;
     32 	CHECKREG r4, 0x7fff891B;
     33 	CHECKREG r5, 0x7fffAB1D;
     34 	CHECKREG r6, 0x7fffD515;
     35 	CHECKREG r7, 0x6664B777;
     36 
     37 	imm32 r0, 0xd5678911;
     38 	imm32 r1, 0x2789ab1d;
     39 	imm32 r2, 0xa4445515;
     40 	imm32 r3, 0x46667717;
     41 	imm32 r4, 0x5b78891b;
     42 	imm32 r5, 0x6789ab1d;
     43 	imm32 r6, 0x74e45515;
     44 	imm32 r7, 0x86a6b777;
     45 	R0.H = R1 + R0 (RND12);
     46 	R1.H = R1 + R1 (RND12);
     47 	R2.H = R1 + R2 (RND12);
     48 	R3.H = R1 + R3 (RND12);
     49 	R4.H = R1 + R4 (RND12);
     50 	R5.H = R1 + R5 (RND12);
     51 	R6.H = R1 + R6 (RND12);
     52 	R7.H = R1 + R7 (RND12);
     53 	CHECKREG r0, 0xcf138911;
     54 	CHECKREG r1, 0x7FFFAB1D;
     55 	CHECKREG r2, 0x7fff5515;
     56 	CHECKREG r3, 0x7fff7717;
     57 	CHECKREG r4, 0x7fff891B;
     58 	CHECKREG r5, 0x7fffAB1D;
     59 	CHECKREG r6, 0x7fff5515;
     60 	CHECKREG r7, 0x6A66B777;
     61 
     62 	imm32 r0, 0xa5678911;
     63 	imm32 r1, 0x2789ab1d;
     64 	imm32 r2, 0xb4445515;
     65 	imm32 r3, 0x46667717;
     66 	imm32 r4, 0xd678891b;
     67 	imm32 r5, 0x6e89ab1d;
     68 	imm32 r6, 0x74445515;
     69 	imm32 r7, 0x86967777;
     70 	R0.H = R2 + R0 (RND12);
     71 	R1.H = R2 + R1 (RND12);
     72 	R2.H = R2 + R2 (RND12);
     73 	R3.H = R2 + R3 (RND12);
     74 	R4.H = R2 + R4 (RND12);
     75 	R5.H = R2 + R5 (RND12);
     76 	R6.H = R2 + R6 (RND12);
     77 	R7.H = R2 + R7 (RND12);
     78 	CHECKREG r4, 0x8000891B;
     79 	CHECKREG r5, 0x8000AB1D;
     80 	CHECKREG r6, 0x80005515;
     81 	CHECKREG r7, 0x80007777;
     82 	CHECKREG r4, 0x8000891B;
     83 	CHECKREG r5, 0x8000AB1D;
     84 	CHECKREG r6, 0x80005515;
     85 	CHECKREG r7, 0x80007777;
     86 
     87 	imm32 r0, 0x35678911;
     88 	imm32 r1, 0x2789ab1d;
     89 	imm32 r2, 0xd4445515;
     90 	imm32 r3, 0x46667717;
     91 	imm32 r4, 0x5678891b;
     92 	imm32 r5, 0xeab9ab1d;
     93 	imm32 r6, 0x744e5515;
     94 	imm32 r7, 0x866e777f;
     95 	R0.H = R3 + R0 (RND12);
     96 	R1.H = R3 + R1 (RND12);
     97 	R2.H = R3 + R2 (RND12);
     98 	R3.H = R3 + R3 (RND12);
     99 	R4.H = R3 + R4 (RND12);
    100 	R5.H = R3 + R5 (RND12);
    101 	R6.H = R3 + R6 (RND12);
    102 	R7.H = R3 + R7 (RND12);
    103 	CHECKREG r0, 0x7FFF8911;
    104 	CHECKREG r1, 0x7FFFAB1D;
    105 	CHECKREG r2, 0x7FFF5515;
    106 	CHECKREG r3, 0x7FFF7717;
    107 	CHECKREG r4, 0x7fff891B;
    108 	CHECKREG r5, 0x7fffAB1D;
    109 	CHECKREG r6, 0x7fff5515;
    110 	CHECKREG r7, 0x66df777F;
    111 
    112 	imm32 r0, 0xe5678911;
    113 	imm32 r1, 0x2789ab1d;
    114 	imm32 r2, 0x34e45515;
    115 	imm32 r3, 0xd6667717;
    116 	imm32 r4, 0x5675891b;
    117 	imm32 r5, 0x6789ab1d;
    118 	imm32 r6, 0xa4465515;
    119 	imm32 r7, 0x8b66e777;
    120 	R0.H = R4 + R0 (RND12);
    121 	R1.H = R4 + R1 (RND12);
    122 	R2.H = R4 + R2 (RND12);
    123 	R3.H = R4 + R3 (RND12);
    124 	R4.H = R4 + R4 (RND12);
    125 	R5.H = R4 + R5 (RND12);
    126 	R6.H = R4 + R6 (RND12);
    127 	R7.H = R4 + R7 (RND12);
    128 	CHECKREG r0, 0x7FFF8911;
    129 	CHECKREG r1, 0x7FFFAB1D;
    130 	CHECKREG r2, 0x7FFF5515;
    131 	CHECKREG r3, 0x7FFF7717;
    132 	CHECKREG r4, 0x7FFF891B;
    133 	CHECKREG r5, 0x7fffAB1D;
    134 	CHECKREG r6, 0x7fff5515;
    135 	CHECKREG r7, 0x7fffE777;
    136 
    137 	imm32 r0, 0x35678111;
    138 	imm32 r1, 0x2789a21d;
    139 	imm32 r2, 0x3e445535;
    140 	imm32 r3, 0x46667757;
    141 	imm32 r4, 0xe6f8891b;
    142 	imm32 r5, 0x6789db7d;
    143 	imm32 r6, 0xf44a5595;
    144 	imm32 r7, 0x866b7770;
    145 	R0.H = R5 + R0 (RND12);
    146 	R1.H = R5 + R1 (RND12);
    147 	R2.H = R5 + R2 (RND12);
    148 	R3.H = R5 + R3 (RND12);
    149 	R4.H = R5 + R4 (RND12);
    150 	R5.H = R5 + R5 (RND12);
    151 	R6.H = R5 + R6 (RND12);
    152 	R7.H = R5 + R7 (RND12);
    153 	CHECKREG r0, 0x7FFF8111;
    154 	CHECKREG r1, 0x7FFFA21D;
    155 	CHECKREG r2, 0x7fff5535;
    156 	CHECKREG r3, 0x7FFF7757;
    157 	CHECKREG r4, 0x7FFF891B;
    158 	CHECKREG r5, 0x7FFFDB7D;
    159 	CHECKREG r6, 0x7fff5595;
    160 	CHECKREG r7, 0x66b57770;
    161 
    162 	imm32 r0, 0xb5678911;
    163 	imm32 r1, 0xc789ab1d;
    164 	imm32 r2, 0x3ab45515;
    165 	imm32 r3, 0x466b7717;
    166 	imm32 r4, 0x4678e91b;
    167 	imm32 r5, 0x6789af1d;
    168 	imm32 r6, 0xf4445515;
    169 	imm32 r7, 0x86e6f777;
    170 	R0.H = R6 + R0 (RND12);
    171 	R1.H = R6 + R1 (RND12);
    172 	R2.H = R6 + R2 (RND12);
    173 	R3.H = R6 + R3 (RND12);
    174 	R4.H = R6 + R4 (RND12);
    175 	R5.H = R6 + R5 (RND12);
    176 	R6.H = R6 + R6 (RND12);
    177 	R7.H = R6 + R7 (RND12);
    178 	CHECKREG r0, 0x80008911;
    179 	CHECKREG r1, 0x8000AB1D;
    180 	CHECKREG r2, 0x7fff5515;
    181 	CHECKREG r3, 0x7FFF7717;
    182 	CHECKREG r4, 0x7FFFE91B;
    183 	CHECKREG r5, 0x7FFFAF1D;
    184 	CHECKREG r6, 0x80005515;
    185 	CHECKREG r7, 0x8000F777;
    186 
    187 	imm32 r0, 0xab678021;
    188 	imm32 r1, 0x2c89a33d;
    189 	imm32 r2, 0x34d45575;
    190 	imm32 r3, 0x466e7797;
    191 	imm32 r4, 0x567f89fb;
    192 	imm32 r5, 0x6789abdd;
    193 	imm32 r6, 0x744e5515;
    194 	imm32 r7, 0x8666ab87;
    195 	R0.H = R7 + R0 (RND12);
    196 	R1.H = R7 + R1 (RND12);
    197 	R2.H = R7 + R2 (RND12);
    198 	R3.H = R7 + R3 (RND12);
    199 	R4.H = R7 + R4 (RND12);
    200 	R5.H = R7 + R5 (RND12);
    201 	R6.H = R7 + R6 (RND12);
    202 	R7.H = R7 + R7 (RND12);
    203 	CHECKREG r0, 0x80008021;
    204 	CHECKREG r1, 0x8000A33D;
    205 	CHECKREG r2, 0x80005575;
    206 	CHECKREG r3, 0x80007797;
    207 	CHECKREG r4, 0x800089FB;
    208 	CHECKREG r5, 0x8000ABDD;
    209 	CHECKREG r6, 0xab505515;
    210 	CHECKREG r7, 0x8000AB87;
    211 
    212 	imm32 r0, 0x15678901;
    213 	imm32 r1, 0x2789ab2d;
    214 	imm32 r2, 0x34445535;
    215 	imm32 r3, 0x46667747;
    216 	imm32 r4, 0x56788915;
    217 	imm32 r5, 0x6789ab6d;
    218 	imm32 r6, 0x74445518;
    219 	imm32 r7, 0x86667797;
    220 	R6.H = R2 + R3 (RND12);
    221 	R1.H = R4 + R5 (RND12);
    222 	R5.H = R7 + R2 (RND12);
    223 	R3.H = R0 + R0 (RND12);
    224 	R0.H = R3 + R4 (RND12);
    225 	R2.H = R5 + R7 (RND12);
    226 	R7.H = R6 + R7 (RND12);
    227 	R4.H = R1 + R6 (RND12);
    228 	CHECKREG r0, 0x7fff8901;
    229 	CHECKREG r1, 0x7FFFAB2D;
    230 	CHECKREG r2, 0x80005535;
    231 	CHECKREG r3, 0x7FFF7747;
    232 	CHECKREG r4, 0x7fff8915;
    233 	CHECKREG r5, 0x8000AB6D;
    234 	CHECKREG r6, 0x7FFF5518;
    235 	CHECKREG r7, 0x665D7797;
    236 
    237 	imm32 r0, 0x35678911;
    238 	imm32 r1, 0x2489ab1d;
    239 	imm32 r2, 0x34545565;
    240 	imm32 r3, 0x4d6677b7;
    241 	imm32 r4, 0x567889db;
    242 	imm32 r5, 0x67beab1d;
    243 	imm32 r6, 0x7b445595;
    244 	imm32 r7, 0x86d6e707;
    245 	R3.H = R4 + R0 (RND12);
    246 	R1.H = R6 + R3 (RND12);
    247 	R4.H = R3 + R2 (RND12);
    248 	R6.H = R7 + R1 (RND12);
    249 	R2.H = R5 + R4 (RND12);
    250 	R7.H = R2 + R7 (RND12);
    251 	R0.H = R1 + R6 (RND12);
    252 	R5.H = R0 + R5 (RND12);
    253 	CHECKREG r0, 0x7fff8911;
    254 	CHECKREG r1, 0x7fffAB1D;
    255 	CHECKREG r2, 0x7FFF5565;
    256 	CHECKREG r3, 0x7FFF77B7;
    257 	CHECKREG r4, 0x7fff89DB;
    258 	CHECKREG r5, 0x7FFFAB1D;
    259 	CHECKREG r6, 0x6d695595;
    260 	CHECKREG r7, 0x6D64E707;
    261 
    262 	pass
    263