Home | History | Annotate | Line # | Download | only in frv
      1 # frv testcase for cstdu $GRk,@($GRi,$GRj),$CCi,$cond
      2 # mach: all
      3 
      4 	.include "testutils.inc"
      5 
      6 	start
      7 
      8 	.global cstdu
      9 cstdu:
     10 	set_spr_immed	0x1b1b,cccr
     11 
     12 	set_mem_limmed	0xbeef,0xdead,sp
     13 	inc_gr_immed	-4,sp
     14 	set_mem_limmed	0xdead,0xbeef,sp
     15 	set_gr_gr	sp,gr20
     16 	set_gr_gr	sp,gr21
     17 
     18 	set_gr_immed	0,gr7
     19 	set_gr_limmed	0xbeef,0xdead,gr8
     20 	set_gr_limmed	0xdead,0xbeef,gr9
     21 	cstdu		gr8,@(sp,gr7),cc0,1
     22 	test_mem_limmed	0xbeef,0xdead,gr21
     23 	inc_gr_immed	4,gr21
     24 	test_mem_limmed	0xdead,0xbeef,gr21
     25 	test_gr_gr	sp,gr20
     26 
     27 	set_gr_gr	gr20,gr21
     28 	inc_gr_immed	-8,sp
     29 	set_gr_immed	8,gr7
     30 	set_gr_limmed	0xaaaa,0xaaaa,gr8
     31 	set_gr_limmed	0xbbbb,0xbbbb,gr9
     32 	cstdu		gr8,@(sp,gr7),cc0,1
     33 	test_mem_limmed	0xaaaa,0xaaaa,gr21
     34 	inc_gr_immed	4,gr21
     35 	test_mem_limmed	0xbbbb,0xbbbb,gr21
     36 	test_gr_gr	sp,gr20
     37 
     38 	set_gr_gr	gr20,gr21
     39 	inc_gr_immed	8,sp
     40 	set_gr_immed	-8,gr7
     41 	set_gr_limmed	0xcccc,0xcccc,gr8
     42 	set_gr_limmed	0xdddd,0xdddd,gr9
     43 	cstdu		gr8,@(sp,gr7),cc4,1
     44 	test_mem_limmed	0xcccc,0xcccc,gr21
     45 	inc_gr_immed	4,gr21
     46 	test_mem_limmed	0xdddd,0xdddd,gr21
     47 	test_gr_gr	sp,gr20
     48 
     49 	set_gr_gr	gr20,gr21
     50 	set_gr_gr	gr20,sp
     51 	set_mem_limmed	0xdead,0xbeef,sp
     52 	inc_gr_immed	4,sp
     53 	set_mem_limmed	0xbeef,0xdead,sp
     54 	inc_gr_immed	-4,sp
     55 
     56 	set_gr_gr	sp,gr22
     57 	set_gr_immed	0,gr7
     58 	set_gr_limmed	0xbeef,0xdead,gr8
     59 	set_gr_limmed	0xdead,0xbeef,gr9
     60 	cstdu		gr8,@(sp,gr7),cc0,0
     61 	test_mem_limmed	0xdead,0xbeef,gr21
     62 	inc_gr_immed	4,gr21
     63 	test_mem_limmed	0xbeef,0xdead,gr21
     64 	test_gr_gr	sp,gr22
     65 
     66 	set_gr_gr	gr20,gr21
     67 	inc_gr_immed	-8,sp
     68 	set_gr_gr	sp,gr22
     69 	set_gr_immed	8,gr7
     70 	set_gr_limmed	0xaaaa,0xaaaa,gr8
     71 	set_gr_limmed	0xbbbb,0xbbbb,gr9
     72 	cstdu		gr8,@(sp,gr7),cc0,0
     73 	test_mem_limmed	0xdead,0xbeef,gr21
     74 	inc_gr_immed	4,gr21
     75 	test_mem_limmed	0xbeef,0xdead,gr21
     76 	test_gr_gr	sp,gr22
     77 
     78 	set_gr_gr	gr20,gr21
     79 	inc_gr_immed	16,sp
     80 	set_gr_gr	sp,gr22
     81 	set_gr_immed	-8,gr7
     82 	set_gr_limmed	0xcccc,0xcccc,gr8
     83 	set_gr_limmed	0xdddd,0xdddd,gr9
     84 	cstdu		gr8,@(sp,gr7),cc4,0
     85 	test_mem_limmed	0xdead,0xbeef,gr21
     86 	inc_gr_immed	4,gr21
     87 	test_mem_limmed	0xbeef,0xdead,gr21
     88 	test_gr_gr	sp,gr22
     89 
     90 	set_gr_gr	gr20,gr21
     91 	set_gr_gr	gr20,sp
     92 	set_mem_limmed	0xdead,0xbeef,sp
     93 	inc_gr_immed	4,sp
     94 	set_mem_limmed	0xbeef,0xdead,sp
     95 	inc_gr_immed	-4,sp
     96 
     97 	set_gr_immed	0,gr7
     98 	set_gr_limmed	0xbeef,0xdead,gr8
     99 	set_gr_limmed	0xdead,0xbeef,gr9
    100 	cstdu		gr8,@(sp,gr7),cc1,0
    101 	test_mem_limmed	0xbeef,0xdead,gr21
    102 	inc_gr_immed	4,gr21
    103 	test_mem_limmed	0xdead,0xbeef,gr21
    104 	test_gr_gr	sp,gr20
    105 
    106 	set_gr_gr	gr20,gr21
    107 	inc_gr_immed	-8,sp
    108 	set_gr_immed	8,gr7
    109 	set_gr_limmed	0xaaaa,0xaaaa,gr8
    110 	set_gr_limmed	0xbbbb,0xbbbb,gr9
    111 	cstdu		gr8,@(sp,gr7),cc1,0
    112 	test_mem_limmed	0xaaaa,0xaaaa,gr21
    113 	inc_gr_immed	4,gr21
    114 	test_mem_limmed	0xbbbb,0xbbbb,gr21
    115 	test_gr_gr	sp,gr20
    116 
    117 	set_gr_gr	gr20,gr21
    118 	inc_gr_immed	8,sp
    119 	set_gr_immed	-8,gr7
    120 	set_gr_limmed	0xcccc,0xcccc,gr8
    121 	set_gr_limmed	0xdddd,0xdddd,gr9
    122 	cstdu		gr8,@(sp,gr7),cc5,0
    123 	test_mem_limmed	0xcccc,0xcccc,gr21
    124 	inc_gr_immed	4,gr21
    125 	test_mem_limmed	0xdddd,0xdddd,gr21
    126 	test_gr_gr	sp,gr20
    127 
    128 	set_gr_gr	gr20,gr21
    129 	set_gr_gr	gr20,sp
    130 	set_mem_limmed	0xdead,0xbeef,sp
    131 	inc_gr_immed	4,sp
    132 	set_mem_limmed	0xbeef,0xdead,sp
    133 	inc_gr_immed	-4,sp
    134 
    135 	set_gr_gr	sp,gr22
    136 	set_gr_immed	0,gr7
    137 	set_gr_limmed	0xbeef,0xdead,gr8
    138 	set_gr_limmed	0xdead,0xbeef,gr9
    139 	cstdu		gr8,@(sp,gr7),cc1,1
    140 	test_mem_limmed	0xdead,0xbeef,gr21
    141 	inc_gr_immed	4,gr21
    142 	test_mem_limmed	0xbeef,0xdead,gr21
    143 	test_gr_gr	sp,gr22
    144 
    145 	set_gr_gr	gr20,gr21
    146 	inc_gr_immed	-8,sp
    147 	set_gr_gr	sp,gr22
    148 	set_gr_immed	8,gr7
    149 	set_gr_limmed	0xaaaa,0xaaaa,gr8
    150 	set_gr_limmed	0xbbbb,0xbbbb,gr9
    151 	cstdu		gr8,@(sp,gr7),cc1,1
    152 	test_mem_limmed	0xdead,0xbeef,gr21
    153 	inc_gr_immed	4,gr21
    154 	test_mem_limmed	0xbeef,0xdead,gr21
    155 	test_gr_gr	sp,gr22
    156 
    157 	set_gr_gr	gr20,gr21
    158 	inc_gr_immed	16,sp
    159 	set_gr_gr	sp,gr22
    160 	set_gr_immed	-8,gr7
    161 	set_gr_limmed	0xcccc,0xcccc,gr8
    162 	set_gr_limmed	0xdddd,0xdddd,gr9
    163 	cstdu		gr8,@(sp,gr7),cc5,1
    164 	test_mem_limmed	0xdead,0xbeef,gr21
    165 	inc_gr_immed	4,gr21
    166 	test_mem_limmed	0xbeef,0xdead,gr21
    167 	test_gr_gr	sp,gr22
    168 
    169 	set_gr_gr	gr20,gr21
    170 	set_gr_gr	gr20,sp
    171 	set_mem_limmed	0xdead,0xbeef,sp
    172 	inc_gr_immed	4,sp
    173 	set_mem_limmed	0xbeef,0xdead,sp
    174 	inc_gr_immed	-4,sp
    175 
    176 	set_gr_gr	sp,gr22
    177 	set_gr_immed	0,gr7
    178 	set_gr_limmed	0xbeef,0xdead,gr8
    179 	set_gr_limmed	0xdead,0xbeef,gr9
    180 	cstdu		gr8,@(sp,gr7),cc2,0
    181 	test_mem_limmed	0xdead,0xbeef,gr21
    182 	inc_gr_immed	4,gr21
    183 	test_mem_limmed	0xbeef,0xdead,gr21
    184 	test_gr_gr	sp,gr22
    185 
    186 	set_gr_gr	gr20,gr21
    187 	inc_gr_immed	-8,sp
    188 	set_gr_gr	sp,gr22
    189 	set_gr_immed	8,gr7
    190 	set_gr_limmed	0xaaaa,0xaaaa,gr8
    191 	set_gr_limmed	0xbbbb,0xbbbb,gr9
    192 	cstdu		gr8,@(sp,gr7),cc2,1
    193 	test_mem_limmed	0xdead,0xbeef,gr21
    194 	inc_gr_immed	4,gr21
    195 	test_mem_limmed	0xbeef,0xdead,gr21
    196 	test_gr_gr	sp,gr22
    197 
    198 	set_gr_gr	gr20,gr21
    199 	inc_gr_immed	16,sp
    200 	set_gr_gr	sp,gr22
    201 	set_gr_immed	-8,gr7
    202 	set_gr_limmed	0xcccc,0xcccc,gr8
    203 	set_gr_limmed	0xdddd,0xdddd,gr9
    204 	cstdu		gr8,@(sp,gr7),cc6,0
    205 	test_mem_limmed	0xdead,0xbeef,gr21
    206 	inc_gr_immed	4,gr21
    207 	test_mem_limmed	0xbeef,0xdead,gr21
    208 	test_gr_gr	sp,gr22
    209 
    210 	set_gr_gr	gr20,gr21
    211 	set_gr_gr	gr20,sp
    212 	set_mem_limmed	0xdead,0xbeef,sp
    213 	inc_gr_immed	4,sp
    214 	set_mem_limmed	0xbeef,0xdead,sp
    215 	inc_gr_immed	-4,sp
    216 
    217 	set_gr_gr	sp,gr22
    218 	set_gr_immed	0,gr7
    219 	set_gr_limmed	0xbeef,0xdead,gr8
    220 	set_gr_limmed	0xdead,0xbeef,gr9
    221 	cstdu		gr8,@(sp,gr7),cc3,1
    222 	test_mem_limmed	0xdead,0xbeef,gr21
    223 	inc_gr_immed	4,gr21
    224 	test_mem_limmed	0xbeef,0xdead,gr21
    225 	test_gr_gr	sp,gr22
    226 
    227 	set_gr_gr	gr20,gr21
    228 	inc_gr_immed	-8,sp
    229 	set_gr_gr	sp,gr22
    230 	set_gr_immed	8,gr7
    231 	set_gr_limmed	0xaaaa,0xaaaa,gr8
    232 	set_gr_limmed	0xbbbb,0xbbbb,gr9
    233 	cstdu		gr8,@(sp,gr7),cc3,0
    234 	test_mem_limmed	0xdead,0xbeef,gr21
    235 	inc_gr_immed	4,gr21
    236 	test_mem_limmed	0xbeef,0xdead,gr21
    237 	test_gr_gr	sp,gr22
    238 
    239 	set_gr_gr	gr20,gr21
    240 	inc_gr_immed	16,sp
    241 	set_gr_gr	sp,gr22
    242 	set_gr_immed	-8,gr7
    243 	set_gr_limmed	0xcccc,0xcccc,gr8
    244 	set_gr_limmed	0xdddd,0xdddd,gr9
    245 	cstdu		gr8,@(sp,gr7),cc7,1
    246 	test_mem_limmed	0xdead,0xbeef,gr21
    247 	inc_gr_immed	4,gr21
    248 	test_mem_limmed	0xbeef,0xdead,gr21
    249 	test_gr_gr	sp,gr22
    250 
    251 	pass
    252