Home | History | Annotate | Line # | Download | only in bfin
      1  1.1  christos # Blackfin testcase for circular buffers
      2  1.1  christos # mach: bfin
      3  1.1  christos 
      4  1.1  christos 	.include "testutils.inc"
      5  1.1  christos 
      6  1.1  christos 	.macro daginit i:req, b:req, l:req, m:req
      7  1.1  christos 	imm32 I0, \i
      8  1.1  christos 	imm32 B0, \b
      9  1.1  christos 	imm32 L0, \l
     10  1.1  christos 	imm32 M0, \m
     11  1.1  christos 	.endm
     12  1.1  christos 	.macro dagcheck newi:req
     13  1.1  christos 	DBGA ( I0.L, \newi & 0xFFFF );
     14  1.1  christos 	DBGA ( I0.H, \newi >> 16 );
     15  1.1  christos 	.endm
     16  1.1  christos 
     17  1.1  christos 	.macro dagadd i:req, b:req, l:req, m:req, newi:req
     18  1.1  christos 	daginit \i, \b, \l, \m
     19  1.1  christos 	I0 += M0;
     20  1.1  christos 	dagcheck \newi
     21  1.1  christos 	.endm
     22  1.1  christos 
     23  1.1  christos 	.macro dagsub i:req, b:req, l:req, m:req, newi:req
     24  1.1  christos 	daginit \i, \b, \l, \m
     25  1.1  christos 	I0 -= M0;
     26  1.1  christos 	dagcheck \newi
     27  1.1  christos 	.endm
     28  1.1  christos 
     29  1.1  christos 	.macro dag i:req, b:req, l:req, m:req, addi:req, subi:req
     30  1.1  christos 	daginit \i, \b, \l, \m
     31  1.1  christos 	I0 += M0;
     32  1.1  christos 	dagcheck \addi
     33  1.1  christos 	imm32 I0, \i
     34  1.1  christos 	I0 -= M0;
     35  1.1  christos 	dagcheck \subi
     36  1.1  christos 	.endm
     37  1.1  christos 
     38  1.1  christos 	start
     39  1.1  christos 
     40  1.1  christos 	init_l_regs 0
     41  1.1  christos 	init_i_regs 0
     42  1.1  christos 	init_b_regs 0
     43  1.1  christos 	init_m_regs 0
     44  1.1  christos 
     45  1.1  christos _zero_len:
     46  1.1  christos 	dag 0, 0, 0, 0, 0, 0
     47  1.1  christos 	dag 100, 0, 0, 0, 100, 100
     48  1.1  christos 	dag 100, 0, 0, 11, 111, 89
     49  1.1  christos 	dag 100, 0xaa00ff00, 0, 0, 100, 100
     50  1.1  christos 	dag 100, 0xaa00ff00, 0, 11, 111, 89
     51  1.1  christos 
     52  1.1  christos _zero_base:
     53  1.1  christos 	dag 0, 0, 100, 10, 10, 90
     54  1.1  christos 	dag 50, 0, 100, 10, 60, 40
     55  1.1  christos 	dag 99, 0, 100, 10, 9, 89
     56  1.1  christos 	dag 50, 0, 100, 50, 0, 0
     57  1.1  christos 	dag 50, 0, 100, 100, 50, 50
     58  1.1  christos 	dag 50, 0, 100, 200, 150, -50
     59  1.1  christos 	dag 50, 0, 100, 2100, 2050, -1950
     60  1.1  christos 	dag 1000, 0, 100, 0, 900, 1000
     61  1.1  christos 	dag 1000, 0, 1000, 0, 0, 1000
     62  1.1  christos 
     63  1.1  christos 	dag 0xffff1000, 0, 0x1000, 0, 0xffff0000, 0xffff1000
     64  1.1  christos 	dag 0xaaaa1000, 0, 0xaaa1000, 0, 0xa0000000, 0xaaaa1000
     65  1.1  christos 	dag 0xaaaa1000, 0, 0xaaa1000, 0x1000, 0xa0001000, 0xaaaa0000
     66  1.1  christos 	dag 0xffff1000, 0, 0xffff0000, 0xffffff, 0x1000fff, 0xfeff1001
     67  1.1  christos 
     68  1.1  christos _positive_base:
     69  1.1  christos 	dag 0, 100, 100, 10, 10, 90
     70  1.1  christos 	dag 90, 100, 100, 10, 100, 180
     71  1.1  christos 	dag 90, 100, 100, 2100, 2090, -1910
     72  1.1  christos 	dag 100, 100, 100, 100, 100, 100
     73  1.1  christos 	dag 0xfffff000, 0xffffff00, 0x10, 0xffff, 0xefef, 0xfffef011
     74  1.1  christos 
     75  1.1  christos _large_base_len:
     76  1.1  christos 	dag 0, 0xffffff00, 0xffffff00, 0x00000100, 0x00000200, 0xfffffe00
     77  1.1  christos 	dag 0, 0xaaaaaaaa, 0xbbbbbbbb, 0xcccccccc, 0x88888887, 0x77777779
     78  1.1  christos 	dag 0, 0xaaaaaaaa, 0xbbbbbbbb, 0x4ccccccc, 0x91111111, 0x6eeeeeef
     79  1.1  christos 	dag 0, 0xaaaaaaaa, 0xbbbbbbbb, 0x00000000, 0x44444445, 0xbbbbbbbb
     80  1.1  christos 	dag 0, 0xdddddddd, 0x7bbbbbbb, 0xcccccccc, 0xcccccccc, 0xb7777779
     81  1.1  christos 	dag 0, 0xbbbbbbbb, 0x7bbbbbbb, 0x4ccccccc, 0x4ccccccc, 0xb3333334
     82  1.1  christos 	dag 0, 0xbbbbbbbb, 0x7bbbbbbb, 0x00000000, 0x84444445, 0x7bbbbbbb
     83  1.1  christos 
     84  1.1  christos 	pass
     85