123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- # Blackfin testcase for circular buffers
- # mach: bfin
- .include "testutils.inc"
- .macro daginit i:req, b:req, l:req, m:req
- imm32 I0, \i
- imm32 B0, \b
- imm32 L0, \l
- imm32 M0, \m
- .endm
- .macro dagcheck newi:req
- DBGA ( I0.L, \newi & 0xFFFF );
- DBGA ( I0.H, \newi >> 16 );
- .endm
- .macro dagadd i:req, b:req, l:req, m:req, newi:req
- daginit \i, \b, \l, \m
- I0 += M0;
- dagcheck \newi
- .endm
- .macro dagsub i:req, b:req, l:req, m:req, newi:req
- daginit \i, \b, \l, \m
- I0 -= M0;
- dagcheck \newi
- .endm
- .macro dag i:req, b:req, l:req, m:req, addi:req, subi:req
- daginit \i, \b, \l, \m
- I0 += M0;
- dagcheck \addi
- imm32 I0, \i
- I0 -= M0;
- dagcheck \subi
- .endm
- start
- init_l_regs 0
- init_i_regs 0
- init_b_regs 0
- init_m_regs 0
- _zero_len:
- dag 0, 0, 0, 0, 0, 0
- dag 100, 0, 0, 0, 100, 100
- dag 100, 0, 0, 11, 111, 89
- dag 100, 0xaa00ff00, 0, 0, 100, 100
- dag 100, 0xaa00ff00, 0, 11, 111, 89
- _zero_base:
- dag 0, 0, 100, 10, 10, 90
- dag 50, 0, 100, 10, 60, 40
- dag 99, 0, 100, 10, 9, 89
- dag 50, 0, 100, 50, 0, 0
- dag 50, 0, 100, 100, 50, 50
- dag 50, 0, 100, 200, 150, -50
- dag 50, 0, 100, 2100, 2050, -1950
- dag 1000, 0, 100, 0, 900, 1000
- dag 1000, 0, 1000, 0, 0, 1000
- dag 0xffff1000, 0, 0x1000, 0, 0xffff0000, 0xffff1000
- dag 0xaaaa1000, 0, 0xaaa1000, 0, 0xa0000000, 0xaaaa1000
- dag 0xaaaa1000, 0, 0xaaa1000, 0x1000, 0xa0001000, 0xaaaa0000
- dag 0xffff1000, 0, 0xffff0000, 0xffffff, 0x1000fff, 0xfeff1001
- _positive_base:
- dag 0, 100, 100, 10, 10, 90
- dag 90, 100, 100, 10, 100, 180
- dag 90, 100, 100, 2100, 2090, -1910
- dag 100, 100, 100, 100, 100, 100
- dag 0xfffff000, 0xffffff00, 0x10, 0xffff, 0xefef, 0xfffef011
- _large_base_len:
- dag 0, 0xffffff00, 0xffffff00, 0x00000100, 0x00000200, 0xfffffe00
- dag 0, 0xaaaaaaaa, 0xbbbbbbbb, 0xcccccccc, 0x88888887, 0x77777779
- dag 0, 0xaaaaaaaa, 0xbbbbbbbb, 0x4ccccccc, 0x91111111, 0x6eeeeeef
- dag 0, 0xaaaaaaaa, 0xbbbbbbbb, 0x00000000, 0x44444445, 0xbbbbbbbb
- dag 0, 0xdddddddd, 0x7bbbbbbb, 0xcccccccc, 0xcccccccc, 0xb7777779
- dag 0, 0xbbbbbbbb, 0x7bbbbbbb, 0x4ccccccc, 0x4ccccccc, 0xb3333334
- dag 0, 0xbbbbbbbb, 0x7bbbbbbb, 0x00000000, 0x84444445, 0x7bbbbbbb
- pass
|