Home | History | Annotate | Line # | Download | only in bfin
      1 //Original:/proj/frio/dv/testcases/core/c_ccflag_dr_imm3/c_ccflag_dr_imm3.dsp
      2 // Spec Reference: ccflag dr-imm3
      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;
     33 R6 = ASTAT;
     34 CC = R0 <= 1;
     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;
     44 R6 = ASTAT;
     45 CC = R1 <= 1;
     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;
     55 R6 = ASTAT;
     56 CC = R0 <= 2;
     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;
     66 R6 = ASTAT;
     67 CC = R2 <= -4;
     68 R7 = ASTAT;
     69 CHECKREG r5, 0x00000000;
     70 CHECKREG r6, 0x00000000;
     71 CHECKREG r7, 0x00000000;
     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;
     85 R6 = ASTAT;
     86 CC = R3 <= 1;
     87 R7 = ASTAT;
     88 CHECKREG r4, 0x00000000;
     89 CHECKREG r5, 0x00001006;
     90 CHECKREG r6, 0x00001026;
     91 CHECKREG r7, 0x00001026;
     92 
     93 //  negative dreg LESS than neg imm3
     94 CC = R2 == -1;
     95 R4 = ASTAT;
     96 CC = R2 < -1;
     97 R5 = ASTAT;
     98 CC = R2 <= -1;
     99 R6 = ASTAT;
    100 CHECKREG r4, 0x00000002;
    101 CHECKREG r5, 0x00000022;
    102 CHECKREG r6, 0x00000022;
    103 
    104 // negative dreg GREATER neg imm3
    105 CC = R0 == -4;
    106 R4 = ASTAT;
    107 CC = R0 < -4;
    108 R5 = ASTAT;
    109 CC = R0 <= -4;
    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;
    133 R2 = ASTAT;
    134 CHECKREG r0, 0x00000000;
    135 CHECKREG r1, 0x00001025;
    136 CHECKREG r2, 0x00001005;
    137 CC = R4 <= 1;
    138 R1 = ASTAT;
    139 CC = R4 < 1;
    140 R2 = ASTAT;
    141 CC = R4 <= 1;
    142 R3 = ASTAT;
    143 CHECKREG r1, 0x00001025;
    144 CHECKREG r2, 0x00001005;
    145 CHECKREG r3, 0x00001025;
    146 
    147 // positive dreg GREATER than to positive imm3
    148 CC = R5 == 1;
    149 R1 = ASTAT;
    150 CC = R5 < 1;
    151 R2 = ASTAT;
    152 CC = R5 <= 1;
    153 R3 = ASTAT;
    154 CHECKREG r1, 0x00001004;  // carry
    155 CHECKREG r2, 0x00001004;
    156 CHECKREG r3, 0x00001004;
    157 
    158 // positive dreg LESS  than to positive imm3
    159 CC = R6 == 2;
    160 R1 = ASTAT;
    161 CC = R6 < 2;
    162 R2 = ASTAT;
    163 CC = R6 <= 2;
    164 R3 = ASTAT;
    165 CHECKREG r1, 0x00001004;
    166 CHECKREG r2, 0x00001004;
    167 CHECKREG r3, 0x00001004;
    168 
    169 // positive dreg GREATER than to neg imm3
    170 CC = R6 == -4;
    171 R1 = ASTAT;
    172 CC = R6 < -4;
    173 R2 = ASTAT;
    174 CC = R6 <= -4;
    175 R3 = ASTAT;
    176 CHECKREG r1, 0x00000000;
    177 CHECKREG r2, 0x00000000;
    178 CHECKREG r3, 0x00000000;
    179 
    180 imm32 r4, -1;
    181 imm32 r5, -2;
    182 imm32 r6, -3;
    183 imm32 r7, -4;
    184 // negative dreg and positive imm3
    185 R3 = 0;
    186 ASTAT = R3;
    187 R0 = ASTAT;
    188 
    189 CC = R7 == 1;
    190 R1 = ASTAT;
    191 CC = R7 < 1;
    192 R2 = ASTAT;
    193 CC = R7 <= 1;
    194 R3 = ASTAT;
    195 CHECKREG r0, 0x00000000;
    196 CHECKREG r1, 0x00001006;
    197 CHECKREG r2, 0x00001026;
    198 CHECKREG r3, 0x00001026;
    199 
    200 //  negative dreg LESS than neg imm3
    201 CC = R6 == -1;
    202 R0 = ASTAT;
    203 CC = R6 < -1;
    204 R1 = ASTAT;
    205 CC = R6 <= -1;
    206 R2 = ASTAT;
    207 CHECKREG r0, 0x00000002;
    208 CHECKREG r1, 0x00000022;
    209 CHECKREG r2, 0x00000022;
    210 
    211 // negative dreg GREATER neg imm3
    212 CC = R4 == -4;
    213 R0 = ASTAT;
    214 CC = R4 < -4;
    215 R1 = ASTAT;
    216 CC = R4 <= -4;
    217 R2 = ASTAT;
    218 CHECKREG r0, 0x00001004;
    219 CHECKREG r1, 0x00001004;
    220 CHECKREG r2, 0x00001004;
    221 
    222 
    223 
    224 pass;
    225