Home | History | Annotate | Line # | Download | only in m32r
      1 # m32r testcase for rte
      2 # mach(): m32r m32rx
      3 
      4 	.include "testutils.inc"
      5 
      6 	start
      7 
      8 	.global rte
      9 rte:
     10 
     11 ; Test 1: bbpsw = 0, bpsw = 1, psw = 0
     12 
     13 	; bbsm = 0, bie = 0, bbcond = 0
     14 	mvi_h_gr r4, 0
     15 	mvtc r4, cr8
     16 
     17 	; bsm = 1, bie = 1, bcond = 1, sm = 0, ie = 0, cond = 0
     18 	mvi_h_gr r4, 0xc100
     19 	mvtc r4, cr0
     20 
     21 	; bbpc = 0
     22 	mvaddr_h_gr r4, 0
     23 	mvtc r4, bbpc
     24 
     25 	; bpc = ret1
     26 	mvaddr_h_gr r4, ret1
     27 	mvtc r4, bpc
     28 
     29 	rte
     30 	fail
     31 
     32 ret1:
     33 	; test bbsm = 0, bbie = 0, bbcond = 0
     34 	mvfc r4, cr8
     35 	test_h_gr r4, 0
     36 
     37 	; test bsm = 0, bie = 0, bcond = 0, sm = 1, ie = 1, cond = 1
     38 	mvfc r4, cr0
     39 	test_h_gr r4, 0xc1
     40 
     41 	; test bbpc = 0
     42 	mvfc r4, bbpc
     43 	test_h_gr r4, 0
     44 
     45 	; test bpc = 0
     46 	mvfc r4, bpc
     47 	test_h_gr r4, 0
     48 
     49 ; Test 2: bbpsw = 1, bpsw = 0, psw = 1
     50 
     51 	; bbsm = 1, bie = 1, bbcond = 1
     52 	mvi_h_gr r4, 0xc1
     53 	mvtc r4, cr8
     54 
     55 	; bsm = 0, bie = 0, bcond = 0, sm = 1, ie = 1, cond = 1
     56 	mvi_h_gr r4, 0xc1
     57 	mvtc r4, cr0
     58 
     59 	; bbpc = 42
     60 	mvaddr_h_gr r4, 42
     61 	mvtc r4, bbpc
     62 
     63 	; bpc = ret2 + 2
     64 	mvaddr_h_gr r4, ret2 + 2
     65 	mvtc r4, bpc
     66 
     67 	rte
     68 	fail
     69 
     70 ret2:
     71 	; test bbsm = 1, bbie = 1, bbcond = 1
     72 	mvfc r4, cr8
     73 	test_h_gr r4, 0xc1
     74 
     75 	; test bsm = 1, bie = 1, bcond = 1, sm = 0, ie = 0, cond = 0
     76 	mvfc r4, cr0
     77 	test_h_gr r4, 0xc100
     78 
     79 	; test bbpc = 42
     80 	mvfc r4, bbpc
     81 	test_h_gr r4, 42
     82 
     83 	; test bpc = 42
     84 	mvfc r4, bpc
     85 	test_h_gr r4, 42
     86 
     87 	pass
     88