Home | History | Annotate | Line # | Download | only in frv
      1  1.1  christos # frv testcase for tp $ICCi_2,$GRi,$GRj
      2  1.1  christos # mach: all
      3  1.1  christos 
      4  1.1  christos 	.include "testutils.inc"
      5  1.1  christos 
      6  1.1  christos 	start
      7  1.1  christos 
      8  1.1  christos 	.global tp
      9  1.1  christos tp:
     10  1.1  christos 	and_spr_immed	-4081,tbr		; clear tbr.tt
     11  1.1  christos 	set_gr_spr	tbr,gr7
     12  1.1  christos 	inc_gr_immed	2112,gr7		; address of exception handler
     13  1.1  christos 	set_bctrlr_0_0	gr7	; bctrlr 0,0
     14  1.1  christos 
     15  1.1  christos 	set_spr_immed	128,lcr
     16  1.1  christos 	set_gr_immed	0,gr7
     17  1.1  christos 	set_gr_immed	4,gr8
     18  1.1  christos 
     19  1.1  christos 	set_psr_et	1
     20  1.1  christos 	set_spr_addr	ok0,lr
     21  1.1  christos 	set_icc		0x0 0
     22  1.1  christos 	tp 		icc0,gr7,gr8	; should branch to tbr + (128 + 4)*16
     23  1.1  christos 	fail
     24  1.1  christos ok0:
     25  1.1  christos 	set_psr_et	1
     26  1.1  christos 	set_spr_addr	ok1,lr
     27  1.1  christos 	set_icc		0x1 0
     28  1.1  christos 	tp 		icc0,gr7,gr8	; should branch to tbr + (128 + 4)*16
     29  1.1  christos 	fail
     30  1.1  christos ok1:
     31  1.1  christos 	set_psr_et	1
     32  1.1  christos 	set_spr_addr	ok2,lr
     33  1.1  christos 	set_icc		0x2 0
     34  1.1  christos 	tp 		icc0,gr7,gr8	; should branch to tbr + (128 + 4)*16
     35  1.1  christos 	fail
     36  1.1  christos ok2:
     37  1.1  christos 	set_psr_et	1
     38  1.1  christos 	set_spr_addr	ok3,lr
     39  1.1  christos 	set_icc		0x3 0
     40  1.1  christos 	tp 		icc0,gr7,gr8	; should branch to tbr + (128 + 4)*16
     41  1.1  christos 	fail
     42  1.1  christos ok3:
     43  1.1  christos 	set_psr_et	1
     44  1.1  christos 	set_spr_addr	ok4,lr
     45  1.1  christos 	set_icc		0x4 0
     46  1.1  christos 	tp 		icc0,gr7,gr8	; should branch to tbr + (128 + 4)*16
     47  1.1  christos 	fail
     48  1.1  christos ok4:
     49  1.1  christos 	set_psr_et	1
     50  1.1  christos 	set_spr_addr	ok5,lr
     51  1.1  christos 	set_icc		0x5 0
     52  1.1  christos 	tp 		icc0,gr7,gr8	; should branch to tbr + (128 + 4)*16
     53  1.1  christos 	fail
     54  1.1  christos ok5:
     55  1.1  christos 	set_psr_et	1
     56  1.1  christos 	set_spr_addr	ok6,lr
     57  1.1  christos 	set_icc		0x6 0
     58  1.1  christos 	tp 		icc0,gr7,gr8	; should branch to tbr + (128 + 4)*16
     59  1.1  christos 	fail
     60  1.1  christos ok6:
     61  1.1  christos 	set_psr_et	1
     62  1.1  christos 	set_spr_addr	ok7,lr
     63  1.1  christos 	set_icc		0x7 0
     64  1.1  christos 	tp 		icc0,gr7,gr8	; should branch to tbr + (128 + 4)*16
     65  1.1  christos 	fail
     66  1.1  christos ok7:
     67  1.1  christos 	set_spr_addr	bad,lr
     68  1.1  christos 	set_icc		0x8 0
     69  1.1  christos 	tp 		icc0,gr7,gr8	; should branch to tbr + (128 + 4)*16
     70  1.1  christos 
     71  1.1  christos 	set_spr_addr	bad,lr
     72  1.1  christos 	set_icc		0x9 0
     73  1.1  christos 	tp 		icc0,gr7,gr8	; should branch to tbr + (128 + 4)*16
     74  1.1  christos 
     75  1.1  christos 	set_spr_addr	bad,lr
     76  1.1  christos 	set_icc		0xa 0
     77  1.1  christos 	tp 		icc0,gr7,gr8	; should branch to tbr + (128 + 4)*16
     78  1.1  christos 
     79  1.1  christos 	set_spr_addr	bad,lr
     80  1.1  christos 	set_icc		0xb 0
     81  1.1  christos 	tp 		icc0,gr7,gr8	; should branch to tbr + (128 + 4)*16
     82  1.1  christos 
     83  1.1  christos 	set_spr_addr	bad,lr
     84  1.1  christos 	set_icc		0xc 0
     85  1.1  christos 	tp 		icc0,gr7,gr8	; should branch to tbr + (128 + 4)*16
     86  1.1  christos 
     87  1.1  christos 	set_spr_addr	bad,lr
     88  1.1  christos 	set_icc		0xd 0
     89  1.1  christos 	tp 		icc0,gr7,gr8	; should branch to tbr + (128 + 4)*16
     90  1.1  christos 
     91  1.1  christos 	set_spr_addr	bad,lr
     92  1.1  christos 	set_icc		0xe 0
     93  1.1  christos 	tp 		icc0,gr7,gr8	; should branch to tbr + (128 + 4)*16
     94  1.1  christos 
     95  1.1  christos 	set_spr_addr	bad,lr
     96  1.1  christos 	set_icc		0xf 0
     97  1.1  christos 	tp 		icc0,gr7,gr8	; should branch to tbr + (128 + 4)*16
     98  1.1  christos 
     99  1.1  christos 	pass
    100  1.1  christos bad:
    101  1.1  christos 	fail
    102