Home | History | Annotate | Line # | Download | only in bfin
      1 //Original:/proj/frio/dv/testcases/core/c_ccflag_dr_imm3_uu/c_ccflag_dr_imm3_uu.dsp
      2 // Spec Reference: ccflag dr-imm3 (uu)
      3 # mach: bfin
      4 
      5 .include "testutils.inc"
      6 	start
      7 
      8 
      9 imm32 r0, 0x00000001;
     10 imm32 r1, 0x00000002;
     11 imm32 r2, 0x00000003;
     12 imm32 r3, 0x00000004;
     13 
     14 imm32 r4, 0x00770088;
     15 imm32 r5, 0x009900aa;
     16 imm32 r6, 0x00bb00cc;
     17 imm32 r7, 0x00000000;
     18 
     19 ASTAT = R7;
     20 R4 = ASTAT;
     21 
     22 // positive dreg EQUAL to positive imm3
     23 CC = R0 == 1;
     24 R5 = ASTAT;
     25 CC = R0 < 1;
     26 R6 = ASTAT;
     27 CHECKREG r4, 0x00000000;
     28 CHECKREG r5, 0x00001025;
     29 CHECKREG r6, 0x00001005;
     30 CC = R0 <= 1;
     31 R5 = ASTAT;
     32 CC = R0 < 1 (IU);
     33 R6 = ASTAT;
     34 CC = R0 <= 1 (IU);
     35 R7 = ASTAT;
     36 CHECKREG r5, 0x00001025;
     37 CHECKREG r6, 0x00001005;
     38 CHECKREG r7, 0x00001025;
     39 
     40 // positive dreg GREATER than to positive imm3
     41 CC = R1 == 1;
     42 R5 = ASTAT;
     43 CC = R1 < 1 (IU);
     44 R6 = ASTAT;
     45 CC = R1 <= 1 (IU);
     46 R7 = ASTAT;
     47 CHECKREG r5, 0x00001004;  // carry
     48 CHECKREG r6, 0x00001004;
     49 CHECKREG r7, 0x00001004;
     50 
     51 // positive dreg LESS  than to positive imm3
     52 CC = R0 == 2;
     53 R5 = ASTAT;
     54 CC = R0 < 2 (IU);
     55 R6 = ASTAT;
     56 CC = R0 <= 2 (IU);
     57 R7 = ASTAT;
     58 CHECKREG r5, 0x00000002;
     59 CHECKREG r6, 0x00000022;
     60 CHECKREG r7, 0x00000022;
     61 
     62 // positive dreg GREATER than to neg imm3
     63 CC = R2 == -4;
     64 R5 = ASTAT;
     65 CC = R2 < 4 (IU);
     66 R6 = ASTAT;
     67 CC = R2 <= 4 (IU);
     68 R7 = ASTAT;
     69 CHECKREG r5, 0x00000000;
     70 CHECKREG r6, 0x00000022;
     71 CHECKREG r7, 0x00000022;
     72 
     73 imm32 r0, -1;
     74 imm32 r1, -2;
     75 imm32 r2, -3;
     76 imm32 r3, -4;
     77 // negative dreg and positive imm3
     78 R7 = 0;
     79 ASTAT = R7;
     80 R4 = ASTAT;
     81 
     82 CC = R3 == 1;
     83 R5 = ASTAT;
     84 CC = R3 < 1 (IU);
     85 R6 = ASTAT;
     86 CC = R3 <= 1 (IU);
     87 R7 = ASTAT;
     88 CHECKREG r4, 0x00000000;
     89 CHECKREG r5, 0x00001006;
     90 CHECKREG r6, 0x00001004;
     91 CHECKREG r7, 0x00001004;
     92 
     93 //  negative dreg LESS than neg imm3
     94 CC = R2 == -1;
     95 R4 = ASTAT;
     96 CC = R2 < 1 (IU);
     97 R5 = ASTAT;
     98 CC = R2 <= 1 (IU);
     99 R6 = ASTAT;
    100 CHECKREG r4, 0x00000002;
    101 CHECKREG r5, 0x00001004;
    102 CHECKREG r6, 0x00001004;
    103 
    104 // negative dreg GREATER neg imm3
    105 CC = R0 == -2;
    106 R4 = ASTAT;
    107 CC = R0 < 4 (IU);
    108 R5 = ASTAT;
    109 CC = R0 <= 4 (IU);
    110 R6 = ASTAT;
    111 CHECKREG r4, 0x00001004;
    112 CHECKREG r5, 0x00001004;
    113 CHECKREG r6, 0x00001004;
    114 
    115 
    116 imm32 r0, 0x00000000;
    117 imm32 r1, 0x00000000;
    118 imm32 r2, 0x00000000;
    119 imm32 r3, 0x00000000;
    120 
    121 imm32 r4, 0x00000001;
    122 imm32 r5, 0x00000002;
    123 imm32 r6, 0x00000003;
    124 imm32 r7, 0x00000004;
    125 
    126 ASTAT = R0;
    127 R3 = ASTAT;
    128 
    129 // positive dreg EQUAL to positive imm3
    130 CC = R4 == 1;
    131 R1 = ASTAT;
    132 CC = R4 < 1 (IU);
    133 R2 = ASTAT;
    134 CC = R4 <= 1 (IU);
    135 R3 = ASTAT;
    136 CHECKREG r0, 0x00000000;
    137 CHECKREG r1, 0x00001025;
    138 CHECKREG r2, 0x00001005;
    139 CHECKREG r3, 0x00001025;
    140 
    141 // positive dreg GREATER than to positive imm3
    142 CC = R5 == 1;
    143 R1 = ASTAT;
    144 CC = R5 < 1 (IU);
    145 R2 = ASTAT;
    146 CC = R5 <= 1 (IU);
    147 R3 = ASTAT;
    148 CHECKREG r1, 0x00001004;  // carry
    149 CHECKREG r2, 0x00001004;
    150 CHECKREG r3, 0x00001004;
    151 
    152 // positive dreg LESS  than to positive imm3
    153 CC = R6 == 2;
    154 R1 = ASTAT;
    155 CC = R6 < 2 (IU);
    156 R2 = ASTAT;
    157 CC = R6 <= 2 (IU);
    158 R3 = ASTAT;
    159 CHECKREG r1, 0x00001004;
    160 CHECKREG r2, 0x00001004;
    161 CHECKREG r3, 0x00001004;
    162 
    163 // positive dreg GREATER than to neg imm3
    164 CC = R6 == -4;
    165 R1 = ASTAT;
    166 CC = R6 < 4 (IU);
    167 R2 = ASTAT;
    168 CC = R6 <= 4 (IU);
    169 R3 = ASTAT;
    170 CHECKREG r1, 0x00000000;
    171 CHECKREG r2, 0x00000022;
    172 CHECKREG r3, 0x00000022;
    173 
    174 imm32 r4, -1;
    175 imm32 r5, -2;
    176 imm32 r6, -3;
    177 imm32 r7, -4;
    178 // negative dreg and positive imm3
    179 R3 = 0;
    180 ASTAT = R3;
    181 R0 = ASTAT;
    182 
    183 CC = R7 == 1;
    184 R1 = ASTAT;
    185 CC = R7 < 1 (IU);
    186 R2 = ASTAT;
    187 CC = R7 <= 1 (IU);
    188 R3 = ASTAT;
    189 CHECKREG r0, 0x00000000;
    190 CHECKREG r1, 0x00001006;
    191 CHECKREG r2, 0x00001004;
    192 CHECKREG r3, 0x00001004;
    193 
    194 //  negative dreg LESS than neg imm3
    195 CC = R6 == -1;
    196 R0 = ASTAT;
    197 CC = R6 < 1 (IU);
    198 R1 = ASTAT;
    199 CC = R6 <= 1 (IU);
    200 R2 = ASTAT;
    201 CHECKREG r0, 0x00000002;
    202 CHECKREG r1, 0x00001004;
    203 CHECKREG r2, 0x00001004;
    204 
    205 // negative dreg GREATER neg imm3
    206 CC = R4 == -4;
    207 R0 = ASTAT;
    208 CC = R4 < 4 (IU);
    209 R1 = ASTAT;
    210 CC = R4 <= 4 (IU);
    211 R2 = ASTAT;
    212 CHECKREG r0, 0x00001004;
    213 CHECKREG r1, 0x00001004;
    214 CHECKREG r2, 0x00001004;
    215 
    216 
    217 
    218 
    219 
    220 
    221 pass;
    222