Home | History | Annotate | Line # | Download | only in bfin
      1 //Original:/testcases/core/c_pushpopmultiple_dp/c_pushpopmultiple_dp.dsp
      2 // Spec Reference: pushpopmultiple dreg preg single group
      3 # mach: bfin
      4 
      5 .include "testutils.inc"
      6 	start
      7 
      8 	FP = SP;
      9 
     10 	imm32 r0, 0x00000000;
     11 	ASTAT = r0;
     12 
     13 	R0 = 0x01;
     14 	R1 = 0x02;
     15 	R2 = 0x03;
     16 	R3 = 0x04;
     17 	R4 = 0x05;
     18 	R5 = 0x06;
     19 	R6 = 0x07;
     20 	R7 = 0x08;
     21 
     22 	P1 = 0xa1 (X);
     23 	P2 = 0xa2 (X);
     24 	P3 = 0xa3 (X);
     25 	P4 = 0xa4 (X);
     26 	P5 = 0xa5 (X);
     27 	[ -- SP ] = ( R7:0 );
     28 	[ -- SP ] = ( P5:1 );
     29 
     30 	R1 = 0x12;
     31 	R2 = 0x13;
     32 	R3 = 0x14;
     33 	R4 = 0x15;
     34 	R5 = 0x16;
     35 	R6 = 0x17;
     36 	R7 = 0x18;
     37 
     38 	P2 = 0xb2 (X);
     39 	P3 = 0xb3 (X);
     40 	P4 = 0xb4 (X);
     41 	P5 = 0xb5 (X);
     42 	[ -- SP ] = ( R7:1 );
     43 	[ -- SP ] = ( P5:2 );
     44 
     45 	R2 = 0x23;
     46 	R3 = 0x24;
     47 	R4 = 0x25;
     48 	R5 = 0x26;
     49 	R6 = 0x27;
     50 	R7 = 0x28;
     51 
     52 	P3 = 0xc3 (X);
     53 	P4 = 0xc4 (X);
     54 	P5 = 0xc5 (X);
     55 	[ -- SP ] = ( R7:2 );
     56 	[ -- SP ] = ( P5:3 );
     57 
     58 	R3 = 0x34;
     59 	R4 = 0x35;
     60 	R5 = 0x36;
     61 	R6 = 0x37;
     62 	R7 = 0x38;
     63 
     64 	P4 = 0xd4 (X);
     65 	P5 = 0xd5 (X);
     66 	[ -- SP ] = ( R7:3 );
     67 	[ -- SP ] = ( P5:4 );
     68 
     69 	R4 = 0x45 (X);
     70 	R5 = 0x46 (X);
     71 	R6 = 0x47 (X);
     72 	R7 = 0x48 (X);
     73 	P5 = 0xe5 (X);
     74 	[ -- SP ] = ( R7:4 );
     75 	[ -- SP ] = ( P5:5 );
     76 
     77 	R5 = 0x56 (X);
     78 	R6 = 0x57 (X);
     79 	R7 = 0x58 (X);
     80 	[ -- SP ] = ( R7:5 );
     81 	R6 = 0x67 (X);
     82 	R7 = 0x68 (X);
     83 	[ -- SP ] = ( R7:6 );
     84 	R7 = 0x78 (X);
     85 	[ -- SP ] = ( R7:7 );
     86 	R0 = 0;
     87 	R1 = 0;
     88 	R2 = 0;
     89 	R3 = 0;
     90 	R4 = 0;
     91 	R5 = 0;
     92 	R6 = 0;
     93 	R7 = 0;
     94 	P1 = 0;
     95 	P2 = 0;
     96 	P3 = 0;
     97 	P4 = 0;
     98 	P5 = 0;
     99 	( R7:7 ) = [ SP ++ ];
    100 	CHECKREG r0, 0x00000000;
    101 	CHECKREG r1, 0x00000000;
    102 	CHECKREG r2, 0x00000000;
    103 	CHECKREG r3, 0x00000000;
    104 	CHECKREG r4, 0x00000000;
    105 	CHECKREG r5, 0x00000000;
    106 	CHECKREG r6, 0x00000000;
    107 	CHECKREG r7, 0x00000078;
    108 
    109 	( R7:6 ) = [ SP ++ ];
    110 	CHECKREG r0, 0x00000000;
    111 	CHECKREG r1, 0x00000000;
    112 	CHECKREG r2, 0x00000000;
    113 	CHECKREG r3, 0x00000000;
    114 	CHECKREG r4, 0x00000000;
    115 	CHECKREG r5, 0x00000000;
    116 	CHECKREG r6, 0x00000067;
    117 	CHECKREG r7, 0x00000068;
    118 
    119 	( R7:5 ) = [ SP ++ ];
    120 	CHECKREG r0, 0x00000000;
    121 	CHECKREG r1, 0x00000000;
    122 	CHECKREG r2, 0x00000000;
    123 	CHECKREG r3, 0x00000000;
    124 	CHECKREG r4, 0x00000000;
    125 	CHECKREG r5, 0x00000056;
    126 	CHECKREG r6, 0x00000057;
    127 	CHECKREG r7, 0x00000058;
    128 
    129 	( P5:5 ) = [ SP ++ ];
    130 	( R7:4 ) = [ SP ++ ];
    131 	CHECKREG p1, 0x00000000;
    132 	CHECKREG p2, 0x00000000;
    133 	CHECKREG p3, 0x00000000;
    134 	CHECKREG p4, 0x00000000;
    135 	CHECKREG p5, 0x000000e5;
    136 
    137 	CHECKREG r0, 0x00000000;
    138 	CHECKREG r1, 0x00000000;
    139 	CHECKREG r2, 0x00000000;
    140 	CHECKREG r3, 0x00000000;
    141 	CHECKREG r4, 0x00000045;
    142 	CHECKREG r5, 0x00000046;
    143 	CHECKREG r6, 0x00000047;
    144 	CHECKREG r7, 0x00000048;
    145 
    146 	( P5:4 ) = [ SP ++ ];
    147 	( R7:3 ) = [ SP ++ ];
    148 	CHECKREG p1, 0x00000000;
    149 	CHECKREG p2, 0x00000000;
    150 	CHECKREG p3, 0x00000000;
    151 	CHECKREG p4, 0x000000d4;
    152 	CHECKREG p5, 0x000000d5;
    153 
    154 	CHECKREG r0, 0x00000000;
    155 	CHECKREG r1, 0x00000000;
    156 	CHECKREG r2, 0x00000000;
    157 	CHECKREG r3, 0x00000034;
    158 	CHECKREG r4, 0x00000035;
    159 	CHECKREG r5, 0x00000036;
    160 	CHECKREG r6, 0x00000037;
    161 	CHECKREG r7, 0x00000038;
    162 
    163 	( P5:3 ) = [ SP ++ ];
    164 	( R7:2 ) = [ SP ++ ];
    165 	CHECKREG p1, 0x00000000;
    166 	CHECKREG p2, 0x00000000;
    167 	CHECKREG p3, 0x000000c3;
    168 	CHECKREG p4, 0x000000c4;
    169 	CHECKREG p5, 0x000000c5;
    170 
    171 	CHECKREG r0, 0x00000000;
    172 	CHECKREG r1, 0x00000000;
    173 	CHECKREG r2, 0x00000023;
    174 	CHECKREG r3, 0x00000024;
    175 	CHECKREG r4, 0x00000025;
    176 	CHECKREG r5, 0x00000026;
    177 	CHECKREG r6, 0x00000027;
    178 	CHECKREG r7, 0x00000028;
    179 
    180 	( P5:2 ) = [ SP ++ ];
    181 	( R7:1 ) = [ SP ++ ];
    182 	CHECKREG p1, 0x00000000;
    183 	CHECKREG p2, 0x000000b2;
    184 	CHECKREG p3, 0x000000b3;
    185 	CHECKREG p4, 0x000000b4;
    186 	CHECKREG p5, 0x000000b5;
    187 
    188 	CHECKREG r0, 0x00000000;
    189 	CHECKREG r1, 0x00000012;
    190 	CHECKREG r2, 0x00000013;
    191 	CHECKREG r3, 0x00000014;
    192 	CHECKREG r4, 0x00000015;
    193 	CHECKREG r5, 0x00000016;
    194 	CHECKREG r6, 0x00000017;
    195 	CHECKREG r7, 0x00000018;
    196 
    197 	( P5:1 ) = [ SP ++ ];
    198 	( R7:0 ) = [ SP ++ ];
    199 	CHECKREG p1, 0x000000a1;
    200 	CHECKREG p2, 0x000000a2;
    201 	CHECKREG p3, 0x000000a3;
    202 	CHECKREG p4, 0x000000a4;
    203 	CHECKREG p5, 0x000000a5;
    204 
    205 	CHECKREG r0, 0x00000001;
    206 	CHECKREG r1, 0x00000002;
    207 	CHECKREG r2, 0x00000003;
    208 	CHECKREG r3, 0x00000004;
    209 	CHECKREG r4, 0x00000005;
    210 	CHECKREG r5, 0x00000006;
    211 	CHECKREG r6, 0x00000007;
    212 	CHECKREG r7, 0x00000008;
    213 	pass
    214