Home | History | Annotate | Line # | Download | only in bfin
      1 //Original:/testcases/core/c_alu2op_divs/c_alu2op_divs.dsp
      2 // Spec Reference: alu2op divide s
      3 # mach: bfin
      4 
      5 .include "testutils.inc"
      6 	start
      7 
      8 
      9 
     10 imm32 r0, 0x00000000;
     11 imm32 r1, 0x12345678;
     12 imm32 r2, 0x23456789;
     13 imm32 r3, 0x3456789a;
     14 imm32 r4, 0x856789ab;
     15 imm32 r5, 0x96789abc;
     16 imm32 r6, 0xa789abcd;
     17 imm32 r7, 0xb89abcde;
     18 R0.L = 1;
     19 DIVS ( R1 , R0 );
     20 DIVS ( R2 , R0 );
     21 DIVS ( R3 , R0 );
     22 DIVS ( R4 , R0 );
     23 DIVS ( R5 , R0 );
     24 DIVS ( R6 , R0 );
     25 DIVS ( R7 , R0 );
     26 DIVS ( R4 , R0 );
     27 DIVS ( R0 , R0 );
     28 CHECKREG r1, 0x2468ACF0;
     29 CHECKREG r2, 0x468ACF12;
     30 CHECKREG r3, 0x68ACF134;
     31 CHECKREG r4, 0x159E26AE;
     32 CHECKREG r5, 0x2CF13579;
     33 CHECKREG r6, 0x4F13579B;
     34 CHECKREG r7, 0x713579BD;
     35 CHECKREG r0, 0x00000002;
     36 
     37 imm32 r0, 0x01230002;
     38 imm32 r1, 0x00000000;
     39 imm32 r2, 0x93456789;
     40 imm32 r3, 0xa456789a;
     41 imm32 r4, 0xb56789ab;
     42 imm32 r5, 0xc6789abc;
     43 imm32 r6, 0xd789abcd;
     44 imm32 r7, 0xe89abcde;
     45 R1.L = -1;
     46 DIVS ( R0 , R1 );
     47 DIVS ( R2 , R1 );
     48 DIVS ( R3 , R1 );
     49 DIVS ( R4 , R1 );
     50 DIVS ( R5 , R1 );
     51 DIVS ( R6 , R1 );
     52 DIVS ( R7 , R1 );
     53 DIVS ( R1 , R1 );
     54 CHECKREG r0, 0x02460005;
     55 CHECKREG r1, 0x0001FFFF;
     56 CHECKREG r2, 0x268ACF12;
     57 CHECKREG r3, 0x48ACF134;
     58 CHECKREG r4, 0x6ACF1356;
     59 CHECKREG r5, 0x8CF13578;
     60 CHECKREG r6, 0xAF13579A;
     61 CHECKREG r7, 0xD13579BC;
     62 
     63 imm32 r0, 0x51230002;
     64 imm32 r1, 0x12345678;
     65 imm32 r2, 0x00000000;
     66 imm32 r3, 0x3456789a;
     67 imm32 r4, 0x956789ab;
     68 imm32 r5, 0x86789abc;
     69 imm32 r6, 0x6789abcd;
     70 imm32 r7, 0x789abcde;
     71 R2.L = 31;
     72 DIVS ( R0 , R2 );
     73 DIVS ( R1 , R2 );
     74 DIVS ( R3 , R2 );
     75 DIVS ( R4 , R2 );
     76 DIVS ( R5 , R2 );
     77 DIVS ( R6 , R2 );
     78 DIVS ( R7 , R2 );
     79 DIVS ( R2 , R2 );
     80 CHECKREG r0, 0xA2460004;
     81 CHECKREG r1, 0x2468ACF0;
     82 CHECKREG r2, 0x0000003E;
     83 CHECKREG r3, 0x68ACF134;
     84 CHECKREG r4, 0x2ACF1357;
     85 CHECKREG r5, 0x0CF13579;
     86 CHECKREG r6, 0xCF13579A;
     87 CHECKREG r7, 0xF13579BC;
     88 
     89 imm32 r0, 0x01230002;
     90 imm32 r1, 0x82345678;
     91 imm32 r2, 0x93456789;
     92 imm32 r3, 0x00000000;
     93 imm32 r4, 0xb56789ab;
     94 imm32 r5, 0xc6789abc;
     95 imm32 r6, 0xd789abcd;
     96 imm32 r7, 0xe89abcde;
     97 R3.L = -31;
     98 DIVS ( R0 , R3 );
     99 DIVS ( R1 , R3 );
    100 DIVS ( R2 , R3 );
    101 DIVS ( R4 , R3 );
    102 DIVS ( R5 , R3 );
    103 DIVS ( R6 , R3 );
    104 DIVS ( R7 , R3 );
    105 DIVS ( R3 , R3 );
    106 CHECKREG r0, 0x02460005;
    107 CHECKREG r1, 0x0468ACF0;
    108 CHECKREG r2, 0x268ACF12;
    109 CHECKREG r3, 0x0001FFC3;
    110 CHECKREG r4, 0x6ACF1356;
    111 CHECKREG r5, 0x8CF13578;
    112 CHECKREG r6, 0xAF13579A;
    113 CHECKREG r7, 0xD13579BC;
    114 
    115 imm32 r0, 0x00000001;
    116 imm32 r1, 0x12345678;
    117 imm32 r2, 0x23456789;
    118 imm32 r3, 0x3456789a;
    119 imm32 r4, 0x00000000;
    120 imm32 r5, 0x96789abc;
    121 imm32 r6, 0xa789abcd;
    122 imm32 r7, 0xb89abcde;
    123 R4.L = 15;
    124 DIVS ( R1 , R4 );
    125 DIVS ( R2 , R4 );
    126 DIVS ( R3 , R4 );
    127 DIVS ( R0 , R4 );
    128 DIVS ( R5 , R4 );
    129 DIVS ( R6 , R4 );
    130 DIVS ( R7 , R4 );
    131 DIVS ( R4 , R4 );
    132 CHECKREG r0, 0x00000002;
    133 CHECKREG r1, 0x2468ACF0;
    134 CHECKREG r2, 0x468ACF12;
    135 CHECKREG r3, 0x68ACF134;
    136 CHECKREG r4, 0x0000001E;
    137 CHECKREG r5, 0x2CF13579;
    138 CHECKREG r6, 0x4F13579B;
    139 CHECKREG r7, 0x713579BD;
    140 
    141 imm32 r0, 0x01230002;
    142 imm32 r1, 0x00000000;
    143 imm32 r2, 0x93456789;
    144 imm32 r3, 0xa456789a;
    145 imm32 r4, 0xb56789ab;
    146 imm32 r5, 0x00000000;
    147 imm32 r6, 0xd789abcd;
    148 imm32 r7, 0xe89abcde;
    149 R5.L = -15;
    150 DIVS ( R0 , R5 );
    151 DIVS ( R1 , R5 );
    152 DIVS ( R2 , R5 );
    153 DIVS ( R3 , R5 );
    154 DIVS ( R4 , R5 );
    155 DIVS ( R6 , R5 );
    156 DIVS ( R7 , R5 );
    157 DIVS ( R5 , R5 );
    158 CHECKREG r0, 0x02460005;
    159 CHECKREG r1, 0x00000001;
    160 CHECKREG r2, 0x268ACF12;
    161 CHECKREG r3, 0x48ACF134;
    162 CHECKREG r4, 0x6ACF1356;
    163 CHECKREG r5, 0x0001FFE3;
    164 CHECKREG r6, 0xAF13579A;
    165 CHECKREG r7, 0xD13579BC;
    166 
    167 imm32 r0, 0x51230002;
    168 imm32 r1, 0x12345678;
    169 imm32 r2, 0xb1256790;
    170 imm32 r3, 0x3456789a;
    171 imm32 r4, 0x956789ab;
    172 imm32 r5, 0x86789abc;
    173 imm32 r6, 0x00000000;
    174 imm32 r7, 0x789abcde;
    175 R6.L = 24;
    176 DIVS ( R0 , R6 );
    177 DIVS ( R1 , R6 );
    178 DIVS ( R2 , R6 );
    179 DIVS ( R3 , R6 );
    180 DIVS ( R4 , R6 );
    181 DIVS ( R5 , R6 );
    182 DIVS ( R7 , R6 );
    183 DIVS ( R6 , R6 );
    184 CHECKREG r0, 0xA2460004;
    185 CHECKREG r1, 0x2468ACF0;
    186 CHECKREG r2, 0x624ACF21;
    187 CHECKREG r3, 0x68ACF134;
    188 CHECKREG r4, 0x2ACF1357;
    189 CHECKREG r5, 0x0CF13579;
    190 CHECKREG r6, 0x00000030;
    191 CHECKREG r7, 0xF13579BC;
    192 
    193 imm32 r0, 0x01230002;
    194 imm32 r1, 0x82345678;
    195 imm32 r2, 0x93456789;
    196 imm32 r3, 0xa456789a;
    197 imm32 r4, 0xb56789ab;
    198 imm32 r5, 0xc6789abc;
    199 imm32 r6, 0xd789abcd;
    200 imm32 r7, 0x00000000;
    201 R7.L = -24;
    202 DIVS ( R0 , R7 );
    203 DIVS ( R1 , R7 );
    204 DIVS ( R2 , R7 );
    205 DIVS ( R3 , R7 );
    206 DIVS ( R4 , R7 );
    207 DIVS ( R5 , R7 );
    208 DIVS ( R6 , R7 );
    209 DIVS ( R7 , R7 );
    210 CHECKREG r0, 0x02460005;
    211 CHECKREG r1, 0x0468ACF0;
    212 CHECKREG r2, 0x268ACF12;
    213 CHECKREG r3, 0x48ACF134;
    214 CHECKREG r4, 0x6ACF1356;
    215 CHECKREG r5, 0x8CF13578;
    216 CHECKREG r6, 0xAF13579A;
    217 CHECKREG r7, 0x0001FFD1;
    218 
    219 
    220 pass
    221