Home | History | Annotate | Line # | Download | only in bfin
      1 //Original:/proj/frio/dv/testcases/core/c_ccflag_pr_pr/c_ccflag_pr_pr.dsp
      2 // Spec Reference: ccflag pr-pr
      3 # mach: bfin
      4 
      5 .include "testutils.inc"
      6 	start
      7 
      8 INIT_P_REGS 0;
      9 INIT_R_REGS 0;
     10 
     11 
     12 //imm32 p0, 0x00110022;
     13 imm32 p1, 0x00110022;
     14 imm32 p2, 0x00330044;
     15 imm32 p3, 0x00550066;
     16 
     17 imm32 p4, 0x00770088;
     18 imm32 p5, 0x009900aa;
     19 imm32 fp, 0x00bb00cc;
     20 imm32 sp, 0x00000000;
     21 
     22 R0 = 0;
     23 ASTAT = R0;
     24 R4 = ASTAT;
     25 
     26 // positive preg-1 EQUAL to positive preg-2
     27 CC = P2 == P1;
     28 R5 = ASTAT;
     29 P5 = R5;
     30 CC = P2 < P1;
     31 R6 = ASTAT;
     32 CC = P2 <= P1;
     33 R7 = ASTAT;
     34 CHECKREG r4, 0x00000000;
     35 CHECKREG r5, 0x00000000;
     36 CHECKREG r6, 0x00000000;
     37 CHECKREG r7, 0x00000000;
     38 
     39 // positive preg-1 GREATER than positive preg-2
     40 CC = P3 == P2;
     41 R5 = ASTAT;
     42 CC = P3 < P2;
     43 R6 = ASTAT;
     44 CC = P3 <= P2;
     45 R7 = ASTAT;
     46 CHECKREG r5, 0x00000000;
     47 CHECKREG r6, 0x00000000;
     48 CHECKREG r7, 0x00000000;
     49 // positive preg-1 LESS than positive preg-2
     50 CC = P2 == P3;
     51 R5 = ASTAT;
     52 CC = P2 < P3;
     53 R6 = ASTAT;
     54 CC = P2 <= P3;
     55 R7 = ASTAT;
     56 CHECKREG r5, 0x00000000;
     57 CHECKREG r6, 0x00000020;
     58 CHECKREG r7, 0x00000020;
     59 
     60 //imm32 p0, 0x01230123;
     61 imm32 p1, 0x81230123;
     62 imm32 p2, 0x04560456;
     63 imm32 p3, 0x87890789;
     64 // operate on negative number
     65 R0 = 0;
     66 ASTAT = R0;
     67 R4 = ASTAT;
     68 
     69 // positive preg-1 GREATER than negative preg-2
     70 CC = P2 == P1;
     71 R5 = ASTAT;
     72 CC = P2 < P1;
     73 R6 = ASTAT;
     74 CC = P2 <= P1;
     75 R7 = ASTAT;
     76 CHECKREG r4, 0x00000000;
     77 CHECKREG r5, 0x00000000;
     78 CHECKREG r6, 0x00000000;
     79 CHECKREG r7, 0x00000000;
     80 
     81 // negative preg-1 LESS    than POSITIVE preg-2  small
     82 CC = P3 == P2;
     83 R5 = ASTAT;
     84 CC = P3 < P2;
     85 R6 = ASTAT;
     86 CC = P3 <= P2;
     87 R7 = ASTAT;
     88 CHECKREG r5, 0x00000000;
     89 CHECKREG r6, 0x00000020;
     90 CHECKREG r7, 0x00000020;
     91 
     92 // negative preg-1 GREATER than negative preg-2
     93 CC = P1 == P3;
     94 R5 = ASTAT;
     95 CC = P1 < P3;
     96 R6 = ASTAT;
     97 CC = P1 <= P3;
     98 R7 = ASTAT;
     99 CHECKREG r5, 0x00000000;
    100 CHECKREG r6, 0x00000020;
    101 CHECKREG r7, 0x00000020;
    102 
    103 // negative preg-1 LESS    than negative preg-2
    104 CC = P3 == P1;
    105 R5 = ASTAT;
    106 CC = P3 < P1;
    107 R6 = ASTAT;
    108 CC = P3 <= P1;
    109 R7 = ASTAT;
    110 CHECKREG r5, 0x00000000;
    111 CHECKREG r6, 0x00000000;
    112 CHECKREG r7, 0x00000000;
    113 
    114 
    115 //imm32 p0, 0x80230123;
    116 imm32 p1, 0x00230123;
    117 imm32 p2, 0x80560056;
    118 imm32 p3, 0x00890089;
    119 // operate on negative number
    120 R0 = 0;
    121 ASTAT = R0;
    122 R4 = ASTAT;
    123 
    124 // negative preg-1 LESS    than POSITIVE preg-2
    125 CC = P2 == P3;
    126 R5 = ASTAT;
    127 CC = P2 < P3;
    128 R6 = ASTAT;
    129 CC = P2 <= P3;
    130 R7 = ASTAT;
    131 CHECKREG r4, 0x00000000;
    132 CHECKREG r5, 0x00000000;  // overflow and carry but not negative
    133 CHECKREG r6, 0x00000020;  // cc overflow, carry and negative
    134 CHECKREG r7, 0x00000020;
    135 
    136 
    137 imm32 p4, 0x44444444;
    138 imm32 p5, 0x55555555;
    139 imm32 fp, 0x66666666;
    140 imm32 sp, 0x77777777;
    141 
    142 //imm32 p0, 0x00000000;
    143 imm32 p1, 0x11111111;
    144 imm32 p2, 0x00000000;
    145 imm32 p3, 0x33333333;
    146 
    147 ASTAT = R0;
    148 R3 = ASTAT;
    149 CHECKREG r3, 0x00000000;
    150 
    151 // positive preg-1 EQUAL to positive preg-2
    152 CC = P4 == P5;
    153 R0 = ASTAT;
    154 CC = P4 < P5;
    155 R1 = ASTAT;
    156 CC = P4 <= P5;
    157 R2 = ASTAT;
    158 CHECKREG r0, 0x00000000;
    159 CHECKREG r1, 0x00000020;
    160 CHECKREG r2, 0x00000020;
    161 
    162 // positive preg-1 GREATER than positive preg-2
    163 CC = SP == FP;
    164 R0 = ASTAT;
    165 CC = SP < FP;
    166 R1 = ASTAT;
    167 CC = SP <= FP;
    168 R2 = ASTAT;
    169 CHECKREG r0, 0x00000000;
    170 CHECKREG r1, 0x00000000;
    171 CHECKREG r2, 0x00000000;
    172 
    173 
    174 // positive preg-1 LESS than positive preg-2
    175 CC = FP == SP;
    176 R0 = ASTAT;
    177 CC = FP < SP;
    178 R1 = ASTAT;
    179 CC = FP <= SP;
    180 R2 = ASTAT;
    181 CHECKREG r0, 0x00000000;
    182 CHECKREG r1, 0x00000020;
    183 CHECKREG r2, 0x00000020;
    184 
    185 imm32 p4, 0x01230123;
    186 imm32 p5, 0x81230123;
    187 imm32 fp, 0x04560456;
    188 imm32 sp, 0x87890789;
    189 // operate on negative number
    190 R0 = 0;
    191 ASTAT = R0;
    192 R3 = ASTAT; // nop;
    193 CHECKREG r3, 0x00000000;
    194 
    195 // positive preg-1 GREATER than negative preg-2
    196 CC = P4 == P5;
    197 R1 = ASTAT;
    198 CC = P4 < P5;
    199 R2 = ASTAT;
    200 CC = P4 <= P5;
    201 R3 = ASTAT;
    202 CHECKREG r1, 0x00000000;
    203 CHECKREG r2, 0x00000000;
    204 CHECKREG r3, 0x00000000;
    205 
    206 // negative preg-1 LESS    than POSITIVE preg-2  small
    207 CC = SP == FP;
    208 R0 = ASTAT;
    209 CC = SP < FP;
    210 R1 = ASTAT;
    211 CC = SP <= FP;
    212 R2 = ASTAT;
    213 CHECKREG r0, 0x00000000;
    214 CHECKREG r1, 0x00000020;
    215 CHECKREG r2, 0x00000020;
    216 
    217 // negative preg-1 GREATER than negative preg-2
    218 CC = P5 == SP;
    219 R0 = ASTAT;
    220 CC = P5 < SP;
    221 R1 = ASTAT;
    222 CC = P5 <= SP;
    223 R2 = ASTAT;
    224 CHECKREG r0, 0x00000000;
    225 CHECKREG r1, 0x00000020;
    226 CHECKREG r2, 0x00000020;
    227 
    228 // negative preg-1 LESS    than negative preg-2
    229 CC = SP == P5;
    230 R1 = ASTAT;
    231 CC = SP < P5;
    232 R2 = ASTAT;
    233 CC = SP <= P5;
    234 R3 = ASTAT;
    235 CHECKREG r1, 0x00000000;
    236 CHECKREG r2, 0x00000000;
    237 CHECKREG r3, 0x00000000;
    238 
    239 
    240 imm32 p4, 0x80230123;
    241 imm32 p5, 0x00230123;
    242 imm32 fp, 0x80560056;
    243 imm32 sp, 0x00890089;
    244 // operate on negative number
    245 P3 = 0;
    246 ASTAT = P3;
    247 R0 = ASTAT;
    248 
    249 // negative preg-1 LESS    than POSITIVE preg-2
    250 CC = R6 == R7;
    251 R1 = ASTAT;
    252 CC = R6 < R7;
    253 R2 = ASTAT;
    254 CC = R6 <= R7;
    255 R3 = ASTAT;
    256 CHECKREG r0, 0x00000000;
    257 CHECKREG r1, 0x00001025;  // overflow and carry but not negative
    258 CHECKREG r2, 0x00001005;  // cc overflow, carry and negative
    259 CHECKREG r3, 0x00001025;
    260 
    261 
    262 pass;
    263