Home | History | Annotate | Line # | Download | only in bfin
      1 //Original:/testcases/core/c_pushpopmultiple_dreg/c_pushpopmultiple_dreg.dsp
      2 // Spec Reference: pushpopmultiple dreg
      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 	[ -- SP ] = ( R7:0 );
     22 	R0 = 0;
     23 	R1 = 0;
     24 	R2 = 0;
     25 	R3 = 0;
     26 	R4 = 0;
     27 	R5 = 0;
     28 	R6 = 0;
     29 	R7 = 0;
     30 	( R7:0 ) = [ SP ++ ];
     31 	CHECKREG r0, 0x00000001;
     32 	CHECKREG r1, 0x00000002;
     33 	CHECKREG r2, 0x00000003;
     34 	CHECKREG r3, 0x00000004;
     35 	CHECKREG r4, 0x00000005;
     36 	CHECKREG r5, 0x00000006;
     37 	CHECKREG r6, 0x00000007;
     38 	CHECKREG r7, 0x00000008;
     39 
     40 	R1 = 0x12;
     41 	R2 = 0x13;
     42 	R3 = 0x14;
     43 	R4 = 0x15;
     44 	R5 = 0x16;
     45 	R6 = 0x17;
     46 	R7 = 0x18;
     47 	[ -- SP ] = ( R7:1 );
     48 	R1 = 0;
     49 	R2 = 0;
     50 	R3 = 0;
     51 	R4 = 0;
     52 	R5 = 0;
     53 	R6 = 0;
     54 	R7 = 0;
     55 	( R7:1 ) = [ SP ++ ];
     56 	CHECKREG r0, 0x00000001;
     57 	CHECKREG r1, 0x00000012;
     58 	CHECKREG r2, 0x00000013;
     59 	CHECKREG r3, 0x00000014;
     60 	CHECKREG r4, 0x00000015;
     61 	CHECKREG r5, 0x00000016;
     62 	CHECKREG r6, 0x00000017;
     63 	CHECKREG r7, 0x00000018;
     64 
     65 	R2 = 0x23;
     66 	R3 = 0x24;
     67 	R4 = 0x25;
     68 	R5 = 0x26;
     69 	R6 = 0x27;
     70 	R7 = 0x28;
     71 	[ -- SP ] = ( R7:2 );
     72 	R2 = 0;
     73 	R3 = 0;
     74 	R4 = 0;
     75 	R5 = 0;
     76 	R6 = 0;
     77 	R7 = 0;
     78 	( R7:2 ) = [ SP ++ ];
     79 	CHECKREG r0, 0x00000001;
     80 	CHECKREG r1, 0x00000012;
     81 	CHECKREG r2, 0x00000023;
     82 	CHECKREG r3, 0x00000024;
     83 	CHECKREG r4, 0x00000025;
     84 	CHECKREG r5, 0x00000026;
     85 	CHECKREG r6, 0x00000027;
     86 	CHECKREG r7, 0x00000028;
     87 
     88 	R3 = 0x34;
     89 	R4 = 0x35;
     90 	R5 = 0x36;
     91 	R6 = 0x37;
     92 	R7 = 0x38;
     93 	[ -- SP ] = ( R7:3 );
     94 	R3 = 0;
     95 	R4 = 0;
     96 	R5 = 0;
     97 	R6 = 0;
     98 	R7 = 0;
     99 	( R7:3 ) = [ SP ++ ];
    100 	CHECKREG r0, 0x00000001;
    101 	CHECKREG r1, 0x00000012;
    102 	CHECKREG r2, 0x00000023;
    103 	CHECKREG r3, 0x00000034;
    104 	CHECKREG r4, 0x00000035;
    105 	CHECKREG r5, 0x00000036;
    106 	CHECKREG r6, 0x00000037;
    107 	CHECKREG r7, 0x00000038;
    108 
    109 	R4 = 0x45 (X);
    110 	R5 = 0x46 (X);
    111 	R6 = 0x47 (X);
    112 	R7 = 0x48 (X);
    113 	[ -- SP ] = ( R7:4 );
    114 	R4 = 0;
    115 	R5 = 0;
    116 	R6 = 0;
    117 	R7 = 0;
    118 	( R7:4 ) = [ SP ++ ];
    119 	CHECKREG r0, 0x00000001;
    120 	CHECKREG r1, 0x00000012;
    121 	CHECKREG r2, 0x00000023;
    122 	CHECKREG r3, 0x00000034;
    123 	CHECKREG r4, 0x00000045;
    124 	CHECKREG r5, 0x00000046;
    125 	CHECKREG r6, 0x00000047;
    126 	CHECKREG r7, 0x00000048;
    127 
    128 	R5 = 0x56 (X);
    129 	R6 = 0x57 (X);
    130 	R7 = 0x58 (X);
    131 	[ -- SP ] = ( R7:5 );
    132 	R5 = 0;
    133 	R6 = 0;
    134 	R7 = 0;
    135 	( R7:5 ) = [ SP ++ ];
    136 	CHECKREG r0, 0x00000001;
    137 	CHECKREG r1, 0x00000012;
    138 	CHECKREG r2, 0x00000023;
    139 	CHECKREG r3, 0x00000034;
    140 	CHECKREG r4, 0x00000045;
    141 	CHECKREG r5, 0x00000056;
    142 	CHECKREG r6, 0x00000057;
    143 	CHECKREG r7, 0x00000058;
    144 
    145 	R6 = 0x67 (X);
    146 	R7 = 0x68 (X);
    147 	[ -- SP ] = ( R7:6 );
    148 	R6 = 0;
    149 	R7 = 0;
    150 	( R7:6 ) = [ SP ++ ];
    151 	CHECKREG r0, 0x00000001;
    152 	CHECKREG r1, 0x00000012;
    153 	CHECKREG r2, 0x00000023;
    154 	CHECKREG r3, 0x00000034;
    155 	CHECKREG r4, 0x00000045;
    156 	CHECKREG r5, 0x00000056;
    157 	CHECKREG r6, 0x00000067;
    158 	CHECKREG r7, 0x00000068;
    159 
    160 	R7 = 0x78 (X);
    161 	[ -- SP ] = ( R7:7 );
    162 	R7 = 0;
    163 	( R7:7 ) = [ SP ++ ];
    164 	CHECKREG r0, 0x00000001;
    165 	CHECKREG r1, 0x00000012;
    166 	CHECKREG r2, 0x00000023;
    167 	CHECKREG r3, 0x00000034;
    168 	CHECKREG r4, 0x00000045;
    169 	CHECKREG r5, 0x00000056;
    170 	CHECKREG r6, 0x00000067;
    171 	CHECKREG r7, 0x00000078;
    172 
    173 	pass
    174