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