Home | History | Annotate | Line # | Download | only in bfin
      1 //Original:/proj/frio/dv/testcases/core/c_dsp32mac_dr_a1a0_iutsh/c_dsp32mac_dr_a1a0_iutsh.dsp
      2 // Spec Reference: dsp32mac dr_a1a0 iutsh
      3 # mach: bfin
      4 
      5 .include "testutils.inc"
      6 	start
      7 
      8 	A1 = A0 = 0;
      9 	R0 = 0;
     10 	ASTAT = R0;
     11 
     12 // The result accumulated in A       , and stored to a reg half
     13 	imm32 r0, 0x13545abd;
     14 	imm32 r1, 0xb2bcfec7;
     15 	imm32 r2, 0xc1348679;
     16 	imm32 r3, 0xd0049007;
     17 	imm32 r4, 0x2efbc556;
     18 	imm32 r5, 0xcd35560b;
     19 	imm32 r6, 0xe00c807d;
     20 	imm32 r7, 0xf78e9008;
     21 	A1 = A0 = 0;
     22 	R6.H = (A1 += R0.L * R0.L), R6.L = (A0 = R0.L * R0.L) (IS);
     23 	P1 = A1.w;
     24 	P2 = A0.w;
     25 	R1.H = (A1 += R2.L * R3.L), R1.L = (A0 -= R2.H * R3.L) (FU);
     26 	P3 = A1.w;
     27 	P4 = A0.w;
     28 	R2.H = (A1 = R4.L * R5.L) (M), R2.L = (A0 += R4.H * R5.H) (T);
     29 	P5 = A1.w;
     30 	FP = A0.w;
     31 	R3.H = (A1 += R0.L * R7.L), R3.L = (A0 += R0.L * R7.H) (S2RND);
     32 	R4 = A1.w;
     33 	R5 = A0.w;
     34 	CHECKREG r0, 0x13545ABD;
     35 	CHECKREG r1, 0x6BD10000;
     36 	CHECKREG r2, 0xEC48ED5B;
     37 	CHECKREG r3, 0x8000CEBE;
     38 	CHECKREG r4, 0x9CE8AA82;
     39 	CHECKREG r5, 0xE75ED19A;
     40 	CHECKREG r6, 0x7FFF7FFF;
     41 	CHECKREG r7, 0xF78E9008;
     42 	CHECKREG p1, 0x20296F89;
     43 	CHECKREG p2, 0x20296F89;
     44 	CHECKREG p3, 0x6BD12CD8;
     45 	CHECKREG p4, 0x00000000;
     46 	CHECKREG p5, 0xEC485EB2;
     47 	CHECKREG fp, 0xED5B71EE;
     48 
     49 	imm32 r0, 0x13545abd;
     50 	imm32 r1, 0x22bcfec7;
     51 	imm32 r2, 0x43348679;
     52 	imm32 r3, 0x50049007;
     53 	imm32 r4, 0x6fbc5569;
     54 	imm32 r5, 0x7d35560b;
     55 	imm32 r6, 0x800c807d;
     56 	imm32 r7, 0xf98e9008;
     57 	A1 = A0 = 0;
     58 	R0.H = (A1 += R1.L * R0.H), R0.L = (A0 = R1.L * R0.L) (IU);
     59 	P1 = A1.w;
     60 	P2 = A0.w;
     61 	R6.H = (A1 += R2.L * R2.H), R6.L = (A0 = R2.H * R2.L) (TFU);
     62 	P3 = A1.w;
     63 	P4 = A0.w;
     64 	R2.H = (A1 -= R4.L * R5.H), R2.L = (A0 += R4.H * R5.H) (ISS2);
     65 	P5 = A1.w;
     66 	FP = A0.w;
     67 	R3.H = (A1 += R3.L * R7.H), R3.L = (A0 -= R3.L * R7.H) (IH);
     68 	R4 = A1.w;
     69 	R5 = A0.w;
     70 	CHECKREG r0, 0xFFFFFFFF;
     71 	CHECKREG r1, 0x22BCFEC7;
     72 	CHECKREG r2, 0x7FFF7FFF;
     73 	CHECKREG r3, 0x0F955721;
     74 	CHECKREG r4, 0x0F951905;
     75 	CHECKREG r5, 0x5721369E;
     76 	CHECKREG r6, 0x3689234C;
     77 	CHECKREG r7, 0xF98E9008;
     78 	CHECKREG p1, 0x133C5E4C;
     79 	CHECKREG p2, 0x5A4E0EEB;
     80 	CHECKREG p3, 0x368959E0;
     81 	CHECKREG p4, 0x234CFB94;
     82 	CHECKREG p5, 0x0CC36623;
     83 	CHECKREG fp, 0x59F2E980;
     84 
     85 	imm32 r0, 0x13545abd;
     86 	imm32 r1, 0x42bcfec7;
     87 	imm32 r2, 0x51348679;
     88 	imm32 r3, 0x60049007;
     89 	imm32 r4, 0x7fbc5569;
     90 	imm32 r5, 0x8d35560b;
     91 	imm32 r6, 0x900c807d;
     92 	imm32 r7, 0xa78e9008;
     93 	A1 = A0 = 0;
     94 	R0.H = (A1 += R1.H * R0.L), R0.L = (A0 = R1.L * R0.L) (IS);
     95 	P1 = A1.w;
     96 	P2 = A0.w;
     97 	R1.H = (A1 += R2.H * R3.L) (M), R1.L = (A0 -= R2.H * R3.L) (IU);
     98 	P3 = A1.w;
     99 	P4 = A0.w;
    100 	R2.H = (A1 = R4.H * R5.L), R2.L = (A0 += R4.H * R5.H) (ISS2);
    101 	P5 = A1.w;
    102 	FP = A0.w;
    103 	R3.H = (A1 -= R6.H * R7.L) (M), R3.L = (A0 += R6.L * R7.H) (IH);
    104 	R4 = A1.w;
    105 	R5 = A0.w;
    106 	CHECKREG r0, 0x7FFF8000;
    107 	CHECKREG r1, 0x7FFFFFFF;
    108 	CHECKREG r2, 0x7FFF8000;
    109 	CHECKREG r3, 0x69EBC4A8;
    110 	CHECKREG r4, 0x69EB64B4;
    111 	CHECKREG r5, 0xC4A864C1;
    112 	CHECKREG r6, 0x900C807D;
    113 	CHECKREG r7, 0xA78E9008;
    114 	CHECKREG p1, 0x17A75CCC;
    115 	CHECKREG p2, 0xFF910EEB;
    116 	CHECKREG p3, 0x4556D538;
    117 	CHECKREG p4, 0xD1E1967F;
    118 	CHECKREG p5, 0x2AEEA514;
    119 	CHECKREG fp, 0x989A946B;
    120 
    121 	imm32 r0, 0x03545abd;
    122 	imm32 r1, 0xb3bcfec7;
    123 	imm32 r2, 0x24348679;
    124 	imm32 r3, 0x60049007;
    125 	imm32 r4, 0x7fbc5569;
    126 	imm32 r5, 0x9d35560b;
    127 	imm32 r6, 0xa00c807d;
    128 	imm32 r7, 0x078e9008;
    129 	A1 = A0 = 0;
    130 	R0.H = (A1 += R1.H * R0.H), R0.L = (A0 -= R1.L * R0.L) (FU);
    131 	P1 = A1.w;
    132 	P2 = A0.w;
    133 	R1.H = (A1 += R2.H * R3.H), R1.L = (A0 = R2.H * R3.L) (TFU);
    134 	P3 = A1.w;
    135 	P4 = A0.w;
    136 	R2.H = (A1 = R4.H * R5.H), R2.L = (A0 += R4.H * R5.H) (IU);
    137 	P5 = A1.w;
    138 	FP = A0.w;
    139 	R3.H = (A1 -= R6.H * R7.H) (M), R3.L = (A0 += R6.L * R7.H) (S2RND);
    140 	R4 = A1.w;
    141 	R5 = A0.w;
    142 	CHECKREG r0, 0x02560000;
    143 	CHECKREG r1, 0x0FEA145E;
    144 	CHECKREG r2, 0xFFFFFFFF;
    145 	CHECKREG r3, 0x7FFF7FFF;
    146 	CHECKREG r4, 0x5145A344;
    147 	CHECKREG r5, 0x5B485C04;
    148 	CHECKREG r6, 0xA00C807D;
    149 	CHECKREG r7, 0x078E9008;
    150 	CHECKREG p1, 0x02562DB0;
    151 	CHECKREG p2, 0x00000000;
    152 	CHECKREG p3, 0x0FEA3E80;
    153 	CHECKREG p4, 0x145E3D6C;
    154 	CHECKREG p5, 0x4E70BDEC;
    155 	CHECKREG fp, 0x62CEFB58;
    156 
    157 	pass
    158