Home | History | Annotate | Line # | Download | only in bfin
      1 //Original:/proj/frio/dv/testcases/core/c_dsp32alu_rh_rnd12_m/c_dsp32alu_rh_rnd12_m.dsp
      2 // Spec Reference: dsp32alu  dreg (half)
      3 # mach: bfin
      4 
      5 .include "testutils.inc"
      6 	start
      7 
      8 	imm32 r0, 0x45678ad1;
      9 	imm32 r1, 0x2789ab1d;
     10 	imm32 r2, 0xf4445545;
     11 	imm32 r3, 0x46667767;
     12 	imm32 r4, 0xe678891b;
     13 	imm32 r5, 0x6f89ab1d;
     14 	imm32 r6, 0x7444d565;
     15 	imm32 r7, 0x8666b797;
     16 	R0.H = R0 - R0 (RND12);
     17 	R1.H = R0 - R1 (RND12);
     18 	R2.H = R0 - R2 (RND12);
     19 	R3.H = R0 - R3 (RND12);
     20 	R4.H = R0 - R4 (RND12);
     21 	R5.H = R0 - R5 (RND12);
     22 	R6.H = R0 - R6 (RND12);
     23 	R7.H = R0 - R7 (RND12);
     24 	CHECKREG r0, 0x00008AD1;
     25 	CHECKREG r1, 0x8000AB1D;
     26 	CHECKREG r2, 0x7fff5545;
     27 	CHECKREG r3, 0x80007767;
     28 	CHECKREG r4, 0x7fff891B;
     29 	CHECKREG r5, 0x8000AB1D;
     30 	CHECKREG r6, 0x8000D565;
     31 	CHECKREG r7, 0x7fffB797;
     32 
     33 	imm32 r0, 0xd5678911;
     34 	imm32 r1, 0x2789ab1d;
     35 	imm32 r2, 0xa4445515;
     36 	imm32 r3, 0x46667717;
     37 	imm32 r4, 0x5b78891b;
     38 	imm32 r5, 0x6789ab1d;
     39 	imm32 r6, 0x74e45515;
     40 	imm32 r7, 0x86a6b777;
     41 	R0.H = R1 - R0 (RND12);
     42 	R1.H = R1 - R1 (RND12);
     43 	R2.H = R1 - R2 (RND12);
     44 	R3.H = R1 - R3 (RND12);
     45 	R4.H = R1 - R4 (RND12);
     46 	R5.H = R1 - R5 (RND12);
     47 	R6.H = R1 - R6 (RND12);
     48 	R7.H = R1 - R7 (RND12);
     49 	CHECKREG r0, 0x7fff8911;
     50 	CHECKREG r1, 0x0000AB1D;
     51 	CHECKREG r2, 0x7fff5515;
     52 	CHECKREG r3, 0x80007717;
     53 	CHECKREG r4, 0x8000891B;
     54 	CHECKREG r5, 0x8000AB1D;
     55 	CHECKREG r6, 0x80005515;
     56 	CHECKREG r7, 0x7fffB777;
     57 
     58 	imm32 r0, 0xa5678091;
     59 	imm32 r1, 0x2789ab1d;
     60 	imm32 r2, 0xb4445515;
     61 	imm32 r3, 0x46667717;
     62 	imm32 r4, 0xd678891b;
     63 	imm32 r5, 0x6e89ab4d;
     64 	imm32 r6, 0x74445567;
     65 	imm32 r7, 0x86967757;
     66 	R0.H = R2 - R0 (RND12);
     67 	R1.H = R2 - R1 (RND12);
     68 	R2.H = R2 - R2 (RND12);
     69 	R3.H = R2 - R3 (RND12);
     70 	R4.H = R2 - R4 (RND12);
     71 	R5.H = R2 - R5 (RND12);
     72 	R6.H = R2 - R6 (RND12);
     73 	R7.H = R2 - R7 (RND12);
     74 	CHECKREG r0, 0x7fff8091;
     75 	CHECKREG r1, 0x8000AB1D;
     76 	CHECKREG r2, 0x00005515;
     77 	CHECKREG r3, 0x80007717;
     78 	CHECKREG r4, 0x7fff891B;
     79 	CHECKREG r5, 0x8000AB4D;
     80 	CHECKREG r6, 0x80005567;
     81 	CHECKREG r7, 0x7fff7757;
     82 
     83 	imm32 r0, 0x35678991;
     84 	imm32 r1, 0x2789ab8d;
     85 	imm32 r2, 0xd4445515;
     86 	imm32 r3, 0x46667737;
     87 	imm32 r4, 0x5678891b;
     88 	imm32 r5, 0xeab9ab4d;
     89 	imm32 r6, 0x744e5515;
     90 	imm32 r7, 0x866e747f;
     91 	R0.H = R3 - R0 (RND12);
     92 	R1.H = R3 - R1 (RND12);
     93 	R2.H = R3 - R2 (RND12);
     94 	R3.H = R3 - R3 (RND12);
     95 	R4.H = R3 - R4 (RND12);
     96 	R5.H = R3 - R5 (RND12);
     97 	R6.H = R3 - R6 (RND12);
     98 	R7.H = R3 - R7 (RND12);
     99 	CHECKREG r0, 0x7fff8991;
    100 	CHECKREG r1, 0x7fffAB8D;
    101 	CHECKREG r2, 0x7fff5515;
    102 	CHECKREG r3, 0x00007737;
    103 	CHECKREG r4, 0x8000891B;
    104 	CHECKREG r5, 0x7fffAB4D;
    105 	CHECKREG r6, 0x80005515;
    106 	CHECKREG r7, 0x7fff747F;
    107 
    108 	imm32 r0, 0xe5678931;
    109 	imm32 r1, 0x2789ab1d;
    110 	imm32 r2, 0x34e45555;
    111 	imm32 r3, 0xd6667767;
    112 	imm32 r4, 0x5675891b;
    113 	imm32 r5, 0x6789abfd;
    114 	imm32 r6, 0xa4465515;
    115 	imm32 r7, 0x8b66e7b7;
    116 	R0.H = R4 - R0 (RND12);
    117 	R1.H = R4 - R1 (RND12);
    118 	R2.H = R4 - R2 (RND12);
    119 	R3.H = R4 - R3 (RND12);
    120 	R4.H = R4 - R4 (RND12);
    121 	R5.H = R4 - R5 (RND12);
    122 	R6.H = R4 - R6 (RND12);
    123 	R7.H = R4 - R7 (RND12);
    124 	CHECKREG r0, 0x7fff8931;
    125 	CHECKREG r1, 0x7fffAB1D;
    126 	CHECKREG r2, 0x7fff5555;
    127 	CHECKREG r3, 0x7fff7767;
    128 	CHECKREG r4, 0x0000891B;
    129 	CHECKREG r5, 0x8000ABFD;
    130 	CHECKREG r6, 0x7fff5515;
    131 	CHECKREG r7, 0x7fffE7B7;
    132 
    133 	imm32 r0, 0x35678931;
    134 	imm32 r1, 0x2789ab4d;
    135 	imm32 r2, 0x3e445585;
    136 	imm32 r3, 0x46667717;
    137 	imm32 r4, 0xe6f8899b;
    138 	imm32 r5, 0x6789db1d;
    139 	imm32 r6, 0xf44a5515;
    140 	imm32 r7, 0x866b77b7;
    141 	R0.H = R5 - R0 (RND12);
    142 	R1.H = R5 - R1 (RND12);
    143 	R2.H = R5 - R2 (RND12);
    144 	R3.H = R5 - R3 (RND12);
    145 	R4.H = R5 - R4 (RND12);
    146 	R5.H = R5 - R5 (RND12);
    147 	R6.H = R5 - R6 (RND12);
    148 	R7.H = R5 - R7 (RND12);
    149 	CHECKREG r0, 0x7fff8931;
    150 	CHECKREG r1, 0x7fffAB4D;
    151 	CHECKREG r2, 0x7fff5585;
    152 	CHECKREG r3, 0x7fff7717;
    153 	CHECKREG r4, 0x7fff899B;
    154 	CHECKREG r5, 0x0000DB1D;
    155 	CHECKREG r6, 0x7fff5515;
    156 	CHECKREG r7, 0x7fff77B7;
    157 
    158 	imm32 r0, 0xb5678911;
    159 	imm32 r1, 0xc789ab1d;
    160 	imm32 r2, 0x3ab45515;
    161 	imm32 r3, 0x466b7717;
    162 	imm32 r4, 0x4678e91b;
    163 	imm32 r5, 0x6789af1d;
    164 	imm32 r6, 0xf4445515;
    165 	imm32 r7, 0x86e6f777;
    166 	R0.H = R6 - R0 (RND12);
    167 	R1.H = R6 - R1 (RND12);
    168 	R2.H = R6 - R2 (RND12);
    169 	R3.H = R6 - R3 (RND12);
    170 	R4.H = R6 - R4 (RND12);
    171 	R5.H = R6 - R5 (RND12);
    172 	R6.H = R6 - R6 (RND12);
    173 	R7.H = R6 - R7 (RND12);
    174 	CHECKREG r0, 0x7fff8911;
    175 	CHECKREG r1, 0x7fffAB1D;
    176 	CHECKREG r2, 0x80005515;
    177 	CHECKREG r3, 0x80007717;
    178 	CHECKREG r4, 0x8000E91B;
    179 	CHECKREG r5, 0x8000AF1D;
    180 	CHECKREG r6, 0x00005515;
    181 	CHECKREG r7, 0x7fffF777;
    182 
    183 	imm32 r0, 0xab678051;
    184 	imm32 r1, 0x2c89a26d;
    185 	imm32 r2, 0x34d455f5;
    186 	imm32 r3, 0x466e7717;
    187 	imm32 r4, 0x567f89bb;
    188 	imm32 r5, 0x6789ab1d;
    189 	imm32 r6, 0x744e55a5;
    190 	imm32 r7, 0x8666ab77;
    191 	R0.H = R7 - R0 (RND12);
    192 	R1.H = R7 - R1 (RND12);
    193 	R2.H = R7 - R2 (RND12);
    194 	R3.H = R7 - R3 (RND12);
    195 	R4.H = R7 - R4 (RND12);
    196 	R5.H = R7 - R5 (RND12);
    197 	R6.H = R7 - R6 (RND12);
    198 	R7.H = R7 - R7 (RND12);
    199 	CHECKREG r0, 0x80008051;
    200 	CHECKREG r1, 0x8000A26D;
    201 	CHECKREG r2, 0x800055F5;
    202 	CHECKREG r3, 0x80007717;
    203 	CHECKREG r4, 0x800089BB;
    204 	CHECKREG r5, 0x8000AB1D;
    205 	CHECKREG r6, 0x800055A5;
    206 	CHECKREG r7, 0x0000AB77;
    207 
    208 	imm32 r0, 0x15678901;
    209 	imm32 r1, 0x2789abad;
    210 	imm32 r2, 0x34445515;
    211 	imm32 r3, 0x466677d7;
    212 	imm32 r4, 0x5678891b;
    213 	imm32 r5, 0x6789ab1d;
    214 	imm32 r6, 0x74445535;
    215 	imm32 r7, 0x86667747;
    216 	R6.H = R2 - R3 (RND12);
    217 	R1.H = R4 - R5 (RND12);
    218 	R5.H = R7 - R2 (RND12);
    219 	R3.H = R0 - R0 (RND12);
    220 	R0.H = R3 - R4 (RND12);
    221 	R2.H = R5 - R7 (RND12);
    222 	R7.H = R6 - R7 (RND12);
    223 	R4.H = R1 - R6 (RND12);
    224 	CHECKREG r0, 0x80008901;
    225 	CHECKREG r1, 0x8000ABAD;
    226 	CHECKREG r2, 0x99a35515;
    227 	CHECKREG r3, 0x000077D7;
    228 	CHECKREG r4, 0x0005891B;
    229 	CHECKREG r5, 0x8000AB1D;
    230 	CHECKREG r6, 0x80005535;
    231 	CHECKREG r7, 0x999e7747;
    232 
    233 	imm32 r0, 0x15678121;
    234 	imm32 r1, 0x2789ab3d;
    235 	imm32 r2, 0x34445565;
    236 	imm32 r3, 0x4d667797;
    237 	imm32 r4, 0x567889ab;
    238 	imm32 r5, 0x67beabbd;
    239 	imm32 r6, 0x7b445515;
    240 	imm32 r7, 0x86d6e777;
    241 	R3.H = R4 - R0 (RND12);
    242 	R1.H = R6 - R3 (RND12);
    243 	R4.H = R3 - R2 (RND12);
    244 	R6.H = R7 - R1 (RND12);
    245 	R2.H = R5 - R4 (RND12);
    246 	R7.H = R2 - R7 (RND12);
    247 	R0.H = R1 - R6 (RND12);
    248 	R5.H = R0 - R5 (RND12);
    249 	CHECKREG r0, 0x7fff8121;
    250 	CHECKREG r1, 0xb44eAB3D;
    251 	CHECKREG r2, 0x80005565;
    252 	CHECKREG r3, 0x7fff7797;
    253 	CHECKREG r4, 0x7fff89AB;
    254 	CHECKREG r5, 0x7fffABBD;
    255 	CHECKREG r6, 0x80005515;
    256 	CHECKREG r7, 0x9297E777;
    257 
    258 	pass
    259