Home | History | Annotate | Line # | Download | only in sh
pshlr.s revision 1.1
      1  1.1  christos # sh testcase for pshl <reg>
      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 pshl_reg:			! shift arithmetic, register 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 0x10000, x0
     21  1.1  christos 	set_sreg 0x0, y0
     22  1.1  christos 	pshl	x0, y0, x0
     23  1.1  christos 	assert_sreg	0x10000, x0
     24  1.1  christos 	pneg	y0, y0
     25  1.1  christos 	pshl	x0, y0, x0
     26  1.1  christos 	assert_sreg	0x10000, x0
     27  1.1  christos 
     28  1.1  christos 	set_sreg 0x10000, y0
     29  1.1  christos 	pshl	x0, y0, x0
     30  1.1  christos 	assert_sreg	0x20000, x0
     31  1.1  christos 	pneg	y0, y0
     32  1.1  christos 	pshl	x0, y0, x0
     33  1.1  christos 	assert_sreg	0x10000, x0
     34  1.1  christos 
     35  1.1  christos 	set_sreg 0x20000, y0
     36  1.1  christos 	pshl	x0, y0, x0
     37  1.1  christos 	assert_sreg	0x40000, x0
     38  1.1  christos 	pneg	y0, y0
     39  1.1  christos 	pshl	x0, y0, x0
     40  1.1  christos 	assert_sreg	0x10000, x0
     41  1.1  christos 
     42  1.1  christos 	set_sreg 0x30000, y0
     43  1.1  christos 	pshl	x0, y0, x0
     44  1.1  christos 	assert_sreg	0x80000, x0
     45  1.1  christos 	pneg	y0, y0
     46  1.1  christos 	pshl	x0, y0, x0
     47  1.1  christos 	assert_sreg	0x10000, x0
     48  1.1  christos 
     49  1.1  christos 	set_sreg 0x40000, y0
     50  1.1  christos 	pshl	x0, y0, x0
     51  1.1  christos 	assert_sreg	0x100000, x0
     52  1.1  christos 	pneg	y0, y0
     53  1.1  christos 	pshl	x0, y0, x0
     54  1.1  christos 	assert_sreg	0x10000, x0
     55  1.1  christos 
     56  1.1  christos 	set_sreg 0x50000, y0
     57  1.1  christos 	pshl	x0, y0, x0
     58  1.1  christos 	assert_sreg	0x200000, x0
     59  1.1  christos 	pneg	y0, y0
     60  1.1  christos 	pshl	x0, y0, x0
     61  1.1  christos 	assert_sreg	0x10000, x0
     62  1.1  christos 
     63  1.1  christos 	set_sreg 0x60000, y0
     64  1.1  christos 	pshl	x0, y0, x0
     65  1.1  christos 	assert_sreg	0x400000, x0
     66  1.1  christos 	pneg	y0, y0
     67  1.1  christos 	pshl	x0, y0, x0
     68  1.1  christos 	assert_sreg	0x10000, x0
     69  1.1  christos 
     70  1.1  christos 	set_sreg 0x70000, y0
     71  1.1  christos 	pshl	x0, y0, x0
     72  1.1  christos 	assert_sreg	0x800000, x0
     73  1.1  christos 	pneg	y0, y0
     74  1.1  christos 	pshl	x0, y0, x0
     75  1.1  christos 	assert_sreg	0x10000, x0
     76  1.1  christos 
     77  1.1  christos 	set_sreg 0x80000, y0
     78  1.1  christos 	pshl	x0, y0, x0
     79  1.1  christos 	assert_sreg	0x1000000, x0
     80  1.1  christos 	pneg	y0, y0
     81  1.1  christos 	pshl	x0, y0, x0
     82  1.1  christos 	assert_sreg	0x10000, x0
     83  1.1  christos 
     84  1.1  christos 	set_sreg 0x90000, y0
     85  1.1  christos 	pshl	x0, y0, x0
     86  1.1  christos 	assert_sreg	0x2000000, x0
     87  1.1  christos 	pneg	y0, y0
     88  1.1  christos 	pshl	x0, y0, x0
     89  1.1  christos 	assert_sreg	0x10000, x0
     90  1.1  christos 
     91  1.1  christos 	set_sreg 0xa0000, y0
     92  1.1  christos 	pshl	x0, y0, x0
     93  1.1  christos 	assert_sreg	0x4000000, x0
     94  1.1  christos 	pneg	y0, y0
     95  1.1  christos 	pshl	x0, y0, x0
     96  1.1  christos 	assert_sreg	0x10000, x0
     97  1.1  christos 
     98  1.1  christos 	set_sreg 0xb0000, y0
     99  1.1  christos 	pshl	x0, y0, x0
    100  1.1  christos 	assert_sreg	0x8000000, x0
    101  1.1  christos 	pneg	y0, y0
    102  1.1  christos 	pshl	x0, y0, x0
    103  1.1  christos 	assert_sreg	0x10000, x0
    104  1.1  christos 
    105  1.1  christos 	set_sreg 0xc0000, y0
    106  1.1  christos 	pshl	x0, y0, x0
    107  1.1  christos 	assert_sreg	0x10000000, x0
    108  1.1  christos 	pneg	y0, y0
    109  1.1  christos 	pshl	x0, y0, x0
    110  1.1  christos 	assert_sreg	0x10000, x0
    111  1.1  christos 
    112  1.1  christos 	set_sreg 0xd0000, y0
    113  1.1  christos 	pshl	x0, y0, x0
    114  1.1  christos 	assert_sreg	0x20000000, x0
    115  1.1  christos 	pneg	y0, y0
    116  1.1  christos 	pshl	x0, y0, x0
    117  1.1  christos 	assert_sreg	0x10000, x0
    118  1.1  christos 
    119  1.1  christos 	set_sreg 0xe0000, y0
    120  1.1  christos 	pshl	x0, y0, x0
    121  1.1  christos 	assert_sreg	0x40000000, x0
    122  1.1  christos 	pneg	y0, y0
    123  1.1  christos 	pshl	x0, y0, x0
    124  1.1  christos 	assert_sreg	0x10000, x0
    125  1.1  christos 
    126  1.1  christos 	set_sreg 0xf0000, y0
    127  1.1  christos 	pshl	x0, y0, x0
    128  1.1  christos 	assert_sreg	0x80000000, x0
    129  1.1  christos 	pneg	y0, y0
    130  1.1  christos 	pshl	x0, y0, x0
    131  1.1  christos 	assert_sreg	0x10000, x0
    132  1.1  christos 
    133  1.1  christos 	set_sreg 0x100000, y0
    134  1.1  christos 	pshl	x0, y0, x0
    135  1.1  christos 	assert_sreg	0x00000000, x0
    136  1.1  christos 	pneg	y0, y0
    137  1.1  christos 	pshl	x0, y0, x0
    138  1.1  christos 	assert_sreg	0x0, x0
    139  1.1  christos 
    140  1.1  christos 	test_grs_a5a5
    141  1.1  christos 	assert_sreg2	0xa5a5a5a5, a0
    142  1.1  christos 	assert_sreg2	0xa5a5a5a5, a1
    143  1.1  christos 	assert_sreg	0xa5a5a5a5, x1
    144  1.1  christos 	assert_sreg	0xa5a5a5a5, y1
    145  1.1  christos 	assert_sreg2	0xa5a5a5a5, m0
    146  1.1  christos 	assert_sreg2	0xa5a5a5a5, m1
    147  1.1  christos 
    148  1.1  christos 
    149  1.1  christos 	pass
    150  1.1  christos 	exit 0
    151  1.1  christos 
    152