Home | History | Annotate | Line # | Download | only in sh
      1  1.1  christos # sh testcase for psha <imm>
      2  1.1  christos # mach: shdsp
      3  1.1  christos # as(shdsp):	-defsym sim_cpu=1 -dsp
      4  1.1  christos 
      5  1.1  christos 	.include "testutils.inc"
      6  1.1  christos 
      7  1.1  christos 	start
      8  1.1  christos 
      9  1.1  christos psha_imm:			! shift arithmetic, immediate operand
     10  1.1  christos 	set_grs_a5a5
     11  1.1  christos 	lds	r0, a0
     12  1.1  christos 	pcopy	a0, a1
     13  1.1  christos 	lds	r0, x0
     14  1.1  christos 	lds	r0, x1
     15  1.1  christos 	lds	r0, y0
     16  1.1  christos 	lds	r0, y1
     17  1.1  christos 	pcopy	x0, m0
     18  1.1  christos 	pcopy	y1, m1
     19  1.1  christos 
     20  1.1  christos 	set_sreg 0x1, a0
     21  1.1  christos 	psha	#0, a0
     22  1.1  christos 	assert_sreg	0x1, a0
     23  1.1  christos 	psha	#-0, a0
     24  1.1  christos 	assert_sreg	0x1, a0
     25  1.1  christos 
     26  1.1  christos 	psha	#1, a0
     27  1.1  christos 	assert_sreg	0x2, a0
     28  1.1  christos 	psha	#-1, a0
     29  1.1  christos 	assert_sreg	0x1, a0
     30  1.1  christos 
     31  1.1  christos 	psha	#2, a0
     32  1.1  christos 	assert_sreg	0x4, a0
     33  1.1  christos 	psha	#-2, a0
     34  1.1  christos 	assert_sreg	0x1, a0
     35  1.1  christos 
     36  1.1  christos 	psha	#3, a0
     37  1.1  christos 	assert_sreg	0x8, a0
     38  1.1  christos 	psha	#-3, a0
     39  1.1  christos 	assert_sreg	0x1, a0
     40  1.1  christos 
     41  1.1  christos 	psha	#4, a0
     42  1.1  christos 	assert_sreg	0x10, a0
     43  1.1  christos 	psha	#-4, a0
     44  1.1  christos 	assert_sreg	0x1, a0
     45  1.1  christos 
     46  1.1  christos 	psha	#5, a0
     47  1.1  christos 	assert_sreg	0x20, a0
     48  1.1  christos 	psha	#-5, a0
     49  1.1  christos 	assert_sreg	0x1, a0
     50  1.1  christos 
     51  1.1  christos 	psha	#6, a0
     52  1.1  christos 	assert_sreg	0x40, a0
     53  1.1  christos 	psha	#-6, a0
     54  1.1  christos 	assert_sreg	0x1, a0
     55  1.1  christos 
     56  1.1  christos 	psha	#7, a0
     57  1.1  christos 	assert_sreg	0x80, a0
     58  1.1  christos 	psha	#-7, a0
     59  1.1  christos 	assert_sreg	0x1, a0
     60  1.1  christos 
     61  1.1  christos 	psha	#8, a0
     62  1.1  christos 	assert_sreg	0x100, a0
     63  1.1  christos 	psha	#-8, a0
     64  1.1  christos 	assert_sreg	0x1, a0
     65  1.1  christos 
     66  1.1  christos 	psha	#9, a0
     67  1.1  christos 	assert_sreg	0x200, a0
     68  1.1  christos 	psha	#-9, a0
     69  1.1  christos 	assert_sreg	0x1, a0
     70  1.1  christos 
     71  1.1  christos 	psha	#10, a0
     72  1.1  christos 	assert_sreg	0x400, a0
     73  1.1  christos 	psha	#-10, a0
     74  1.1  christos 	assert_sreg	0x1, a0
     75  1.1  christos 
     76  1.1  christos 	psha	#11, a0
     77  1.1  christos 	assert_sreg	0x800, a0
     78  1.1  christos 	psha	#-11, a0
     79  1.1  christos 	assert_sreg	0x1, a0
     80  1.1  christos 
     81  1.1  christos 	psha	#12, a0
     82  1.1  christos 	assert_sreg	0x1000, a0
     83  1.1  christos 	psha	#-12, a0
     84  1.1  christos 	assert_sreg	0x1, a0
     85  1.1  christos 
     86  1.1  christos 	psha	#13, a0
     87  1.1  christos 	assert_sreg	0x2000, a0
     88  1.1  christos 	psha	#-13, a0
     89  1.1  christos 	assert_sreg	0x1, a0
     90  1.1  christos 
     91  1.1  christos 	psha	#14, a0
     92  1.1  christos 	assert_sreg	0x4000, a0
     93  1.1  christos 	psha	#-14, a0
     94  1.1  christos 	assert_sreg	0x1, a0
     95  1.1  christos 
     96  1.1  christos 	psha	#15, a0
     97  1.1  christos 	assert_sreg	0x8000, a0
     98  1.1  christos 	psha	#-15, a0
     99  1.1  christos 	assert_sreg	0x1, a0
    100  1.1  christos 
    101  1.1  christos 	psha	#16, a0
    102  1.1  christos 	assert_sreg	0x10000, a0
    103  1.1  christos 	psha	#-16, a0
    104  1.1  christos 	assert_sreg	0x1, a0
    105  1.1  christos 
    106  1.1  christos 	psha	#17, a0
    107  1.1  christos 	assert_sreg	0x20000, a0
    108  1.1  christos 	psha	#-17, a0
    109  1.1  christos 	assert_sreg	0x1, a0
    110  1.1  christos 
    111  1.1  christos 	psha	#18, a0
    112  1.1  christos 	assert_sreg	0x40000, a0
    113  1.1  christos 	psha	#-18, a0
    114  1.1  christos 	assert_sreg	0x1, a0
    115  1.1  christos 
    116  1.1  christos 	psha	#19, a0
    117  1.1  christos 	assert_sreg	0x80000, a0
    118  1.1  christos 	psha	#-19, a0
    119  1.1  christos 	assert_sreg	0x1, a0
    120  1.1  christos 
    121  1.1  christos 	psha	#20, a0
    122  1.1  christos 	assert_sreg	0x100000, a0
    123  1.1  christos 	psha	#-20, a0
    124  1.1  christos 	assert_sreg	0x1, a0
    125  1.1  christos 
    126  1.1  christos 	psha	#21, a0
    127  1.1  christos 	assert_sreg	0x200000, a0
    128  1.1  christos 	psha	#-21, a0
    129  1.1  christos 	assert_sreg	0x1, a0
    130  1.1  christos 
    131  1.1  christos 	psha	#22, a0
    132  1.1  christos 	assert_sreg	0x400000, a0
    133  1.1  christos 	psha	#-22, a0
    134  1.1  christos 	assert_sreg	0x1, a0
    135  1.1  christos 
    136  1.1  christos 	psha	#23, a0
    137  1.1  christos 	assert_sreg	0x800000, a0
    138  1.1  christos 	psha	#-23, a0
    139  1.1  christos 	assert_sreg	0x1, a0
    140  1.1  christos 
    141  1.1  christos 	psha	#24, a0
    142  1.1  christos 	assert_sreg	0x1000000, a0
    143  1.1  christos 	psha	#-24, a0
    144  1.1  christos 	assert_sreg	0x1, a0
    145  1.1  christos 
    146  1.1  christos 	psha	#25, a0
    147  1.1  christos 	assert_sreg	0x2000000, a0
    148  1.1  christos 	psha	#-25, a0
    149  1.1  christos 	assert_sreg	0x1, a0
    150  1.1  christos 
    151  1.1  christos 	psha	#26, a0
    152  1.1  christos 	assert_sreg	0x4000000, a0
    153  1.1  christos 	psha	#-26, a0
    154  1.1  christos 	assert_sreg	0x1, a0
    155  1.1  christos 
    156  1.1  christos 	psha	#27, a0
    157  1.1  christos 	assert_sreg	0x8000000, a0
    158  1.1  christos 	psha	#-27, a0
    159  1.1  christos 	assert_sreg	0x1, a0
    160  1.1  christos 
    161  1.1  christos 	psha	#28, a0
    162  1.1  christos 	assert_sreg	0x10000000, a0
    163  1.1  christos 	psha	#-28, a0
    164  1.1  christos 	assert_sreg	0x1, a0
    165  1.1  christos 
    166  1.1  christos 	psha	#29, a0
    167  1.1  christos 	assert_sreg	0x20000000, a0
    168  1.1  christos 	psha	#-29, a0
    169  1.1  christos 	assert_sreg	0x1, a0
    170  1.1  christos 
    171  1.1  christos 	psha	#30, a0
    172  1.1  christos 	assert_sreg	0x40000000, a0
    173  1.1  christos 	psha	#-30, a0
    174  1.1  christos 	assert_sreg	0x1, a0
    175  1.1  christos 
    176  1.1  christos 	psha	#31, a0
    177  1.1  christos 	assert_sreg	0x80000000, a0
    178  1.1  christos 	psha	#-31, a0
    179  1.1  christos 	assert_sreg	0xffffffff, a0
    180  1.1  christos 
    181  1.1  christos 	psha	#32, a0
    182  1.1  christos 	assert_sreg	0x00000000, a0
    183  1.1  christos #	I don't grok what should happen here...
    184  1.1  christos #	psha	#-32, a0
    185  1.1  christos #	assert_sreg	0x0, a0
    186  1.1  christos 
    187  1.1  christos 	test_grs_a5a5
    188  1.1  christos 	assert_sreg2	0xa5a5a5a5, a1
    189  1.1  christos 	assert_sreg	0xa5a5a5a5, x0
    190  1.1  christos 	assert_sreg	0xa5a5a5a5, x1
    191  1.1  christos 	assert_sreg	0xa5a5a5a5, y0
    192  1.1  christos 	assert_sreg	0xa5a5a5a5, y1
    193  1.1  christos 	assert_sreg2	0xa5a5a5a5, m0
    194  1.1  christos 	assert_sreg2	0xa5a5a5a5, m1
    195  1.1  christos 
    196  1.1  christos 
    197  1.1  christos 	pass
    198  1.1  christos 	exit 0
    199  1.1  christos 
    200