URL
https://opencores.org/ocsvn/openrisc_2011-10-31/openrisc_2011-10-31/trunk
Go to most recent revision |
Only display areas with differences |
Details |
Blame |
View Log
Rev 24 |
Rev 33 |
# frv testcase for bcnelr $ICCi,$ccond,$hint
|
# frv testcase for bcnelr $ICCi,$ccond,$hint
|
# mach: all
|
# mach: all
|
|
|
.include "testutils.inc"
|
.include "testutils.inc"
|
|
|
start
|
start
|
|
|
.global bcnelr
|
.global bcnelr
|
bcnelr:
|
bcnelr:
|
; ccond is true
|
; ccond is true
|
set_spr_immed 128,lcr
|
set_spr_immed 128,lcr
|
set_spr_addr ok1,lr
|
set_spr_addr ok1,lr
|
set_icc 0x0 0
|
set_icc 0x0 0
|
bcnelr icc0,0,0
|
bcnelr icc0,0,0
|
fail
|
fail
|
ok1:
|
ok1:
|
set_spr_addr ok2,lr
|
set_spr_addr ok2,lr
|
set_icc 0x1 1
|
set_icc 0x1 1
|
bcnelr icc1,0,1
|
bcnelr icc1,0,1
|
fail
|
fail
|
ok2:
|
ok2:
|
set_spr_addr ok3,lr
|
set_spr_addr ok3,lr
|
set_icc 0x2 2
|
set_icc 0x2 2
|
bcnelr icc2,0,2
|
bcnelr icc2,0,2
|
fail
|
fail
|
ok3:
|
ok3:
|
set_spr_addr ok4,lr
|
set_spr_addr ok4,lr
|
set_icc 0x3 3
|
set_icc 0x3 3
|
bcnelr icc3,0,3
|
bcnelr icc3,0,3
|
fail
|
fail
|
ok4:
|
ok4:
|
set_spr_addr bad,lr
|
set_spr_addr bad,lr
|
set_icc 0x4 0
|
set_icc 0x4 0
|
bcnelr icc0,0,0
|
bcnelr icc0,0,0
|
|
|
set_spr_addr bad,lr
|
set_spr_addr bad,lr
|
set_icc 0x5 1
|
set_icc 0x5 1
|
bcnelr icc1,0,1
|
bcnelr icc1,0,1
|
|
|
set_spr_addr bad,lr
|
set_spr_addr bad,lr
|
set_icc 0x6 2
|
set_icc 0x6 2
|
bcnelr icc2,0,2
|
bcnelr icc2,0,2
|
|
|
set_spr_addr bad,lr
|
set_spr_addr bad,lr
|
set_icc 0x7 3
|
set_icc 0x7 3
|
bcnelr icc3,0,3
|
bcnelr icc3,0,3
|
|
|
set_spr_addr ok9,lr
|
set_spr_addr ok9,lr
|
set_icc 0x8 0
|
set_icc 0x8 0
|
bcnelr icc0,0,0
|
bcnelr icc0,0,0
|
fail
|
fail
|
ok9:
|
ok9:
|
set_spr_addr oka,lr
|
set_spr_addr oka,lr
|
set_icc 0x9 1
|
set_icc 0x9 1
|
bcnelr icc1,0,1
|
bcnelr icc1,0,1
|
fail
|
fail
|
oka:
|
oka:
|
set_spr_addr okb,lr
|
set_spr_addr okb,lr
|
set_icc 0xa 2
|
set_icc 0xa 2
|
bcnelr icc2,0,2
|
bcnelr icc2,0,2
|
fail
|
fail
|
okb:
|
okb:
|
set_spr_addr okc,lr
|
set_spr_addr okc,lr
|
set_icc 0xb 3
|
set_icc 0xb 3
|
bcnelr icc3,0,3
|
bcnelr icc3,0,3
|
fail
|
fail
|
okc:
|
okc:
|
set_spr_addr bad,lr
|
set_spr_addr bad,lr
|
set_icc 0xc 0
|
set_icc 0xc 0
|
bcnelr icc0,0,0
|
bcnelr icc0,0,0
|
|
|
set_spr_addr bad,lr
|
set_spr_addr bad,lr
|
set_icc 0xd 1
|
set_icc 0xd 1
|
bcnelr icc1,0,1
|
bcnelr icc1,0,1
|
|
|
set_spr_addr bad,lr
|
set_spr_addr bad,lr
|
set_icc 0xe 2
|
set_icc 0xe 2
|
bcnelr icc2,0,2
|
bcnelr icc2,0,2
|
|
|
set_spr_addr bad,lr
|
set_spr_addr bad,lr
|
set_icc 0xf 3
|
set_icc 0xf 3
|
bcnelr icc3,0,3
|
bcnelr icc3,0,3
|
|
|
; ccond is true
|
; ccond is true
|
set_spr_immed 1,lcr
|
set_spr_immed 1,lcr
|
set_spr_addr okh,lr
|
set_spr_addr okh,lr
|
set_icc 0x0 0
|
set_icc 0x0 0
|
bcnelr icc0,1,0
|
bcnelr icc0,1,0
|
fail
|
fail
|
okh:
|
okh:
|
set_spr_immed 1,lcr
|
set_spr_immed 1,lcr
|
set_spr_addr oki,lr
|
set_spr_addr oki,lr
|
set_icc 0x1 1
|
set_icc 0x1 1
|
bcnelr icc1,1,1
|
bcnelr icc1,1,1
|
fail
|
fail
|
oki:
|
oki:
|
set_spr_immed 1,lcr
|
set_spr_immed 1,lcr
|
set_spr_addr okj,lr
|
set_spr_addr okj,lr
|
set_icc 0x2 2
|
set_icc 0x2 2
|
bcnelr icc2,1,2
|
bcnelr icc2,1,2
|
fail
|
fail
|
okj:
|
okj:
|
set_spr_immed 1,lcr
|
set_spr_immed 1,lcr
|
set_spr_addr okk,lr
|
set_spr_addr okk,lr
|
set_icc 0x3 3
|
set_icc 0x3 3
|
bcnelr icc3,1,3
|
bcnelr icc3,1,3
|
fail
|
fail
|
okk:
|
okk:
|
set_spr_immed 1,lcr
|
set_spr_immed 1,lcr
|
set_spr_addr bad,lr
|
set_spr_addr bad,lr
|
set_icc 0x4 0
|
set_icc 0x4 0
|
bcnelr icc0,1,0
|
bcnelr icc0,1,0
|
|
|
set_spr_immed 1,lcr
|
set_spr_immed 1,lcr
|
set_spr_addr bad,lr
|
set_spr_addr bad,lr
|
set_icc 0x5 1
|
set_icc 0x5 1
|
bcnelr icc1,1,1
|
bcnelr icc1,1,1
|
|
|
set_spr_immed 1,lcr
|
set_spr_immed 1,lcr
|
set_spr_addr bad,lr
|
set_spr_addr bad,lr
|
set_icc 0x6 2
|
set_icc 0x6 2
|
bcnelr icc2,1,2
|
bcnelr icc2,1,2
|
|
|
set_spr_immed 1,lcr
|
set_spr_immed 1,lcr
|
set_spr_addr bad,lr
|
set_spr_addr bad,lr
|
set_icc 0x7 3
|
set_icc 0x7 3
|
bcnelr icc3,1,3
|
bcnelr icc3,1,3
|
|
|
set_spr_immed 1,lcr
|
set_spr_immed 1,lcr
|
set_spr_addr okp,lr
|
set_spr_addr okp,lr
|
set_icc 0x8 0
|
set_icc 0x8 0
|
bcnelr icc0,1,0
|
bcnelr icc0,1,0
|
fail
|
fail
|
okp:
|
okp:
|
set_spr_immed 1,lcr
|
set_spr_immed 1,lcr
|
set_spr_addr okq,lr
|
set_spr_addr okq,lr
|
set_icc 0x9 1
|
set_icc 0x9 1
|
bcnelr icc1,1,1
|
bcnelr icc1,1,1
|
fail
|
fail
|
okq:
|
okq:
|
set_spr_immed 1,lcr
|
set_spr_immed 1,lcr
|
set_spr_addr okr,lr
|
set_spr_addr okr,lr
|
set_icc 0xa 2
|
set_icc 0xa 2
|
bcnelr icc2,1,2
|
bcnelr icc2,1,2
|
fail
|
fail
|
okr:
|
okr:
|
set_spr_immed 1,lcr
|
set_spr_immed 1,lcr
|
set_spr_addr oks,lr
|
set_spr_addr oks,lr
|
set_icc 0xb 3
|
set_icc 0xb 3
|
bcnelr icc3,1,3
|
bcnelr icc3,1,3
|
fail
|
fail
|
oks:
|
oks:
|
set_spr_immed 1,lcr
|
set_spr_immed 1,lcr
|
set_spr_addr bad,lr
|
set_spr_addr bad,lr
|
set_icc 0xc 0
|
set_icc 0xc 0
|
bcnelr icc0,1,0
|
bcnelr icc0,1,0
|
|
|
set_spr_immed 1,lcr
|
set_spr_immed 1,lcr
|
set_spr_addr bad,lr
|
set_spr_addr bad,lr
|
set_icc 0xd 1
|
set_icc 0xd 1
|
bcnelr icc1,1,1
|
bcnelr icc1,1,1
|
|
|
set_spr_immed 1,lcr
|
set_spr_immed 1,lcr
|
set_spr_addr bad,lr
|
set_spr_addr bad,lr
|
set_icc 0xe 2
|
set_icc 0xe 2
|
bcnelr icc2,1,2
|
bcnelr icc2,1,2
|
|
|
set_spr_immed 1,lcr
|
set_spr_immed 1,lcr
|
set_spr_addr bad,lr
|
set_spr_addr bad,lr
|
set_icc 0xf 3
|
set_icc 0xf 3
|
bcnelr icc3,1,3
|
bcnelr icc3,1,3
|
|
|
; ccond is false
|
; ccond is false
|
set_spr_immed 128,lcr
|
set_spr_immed 128,lcr
|
set_spr_addr bad,lr
|
set_spr_addr bad,lr
|
set_icc 0x0 0
|
set_icc 0x0 0
|
bcnelr icc0,1,0
|
bcnelr icc0,1,0
|
|
|
set_icc 0x1 1
|
set_icc 0x1 1
|
bcnelr icc1,1,1
|
bcnelr icc1,1,1
|
|
|
set_icc 0x2 2
|
set_icc 0x2 2
|
bcnelr icc2,1,2
|
bcnelr icc2,1,2
|
|
|
set_icc 0x3 3
|
set_icc 0x3 3
|
bcnelr icc3,1,3
|
bcnelr icc3,1,3
|
|
|
set_icc 0x4 0
|
set_icc 0x4 0
|
bcnelr icc0,1,0
|
bcnelr icc0,1,0
|
|
|
set_icc 0x5 1
|
set_icc 0x5 1
|
bcnelr icc1,1,1
|
bcnelr icc1,1,1
|
|
|
set_icc 0x6 2
|
set_icc 0x6 2
|
bcnelr icc2,1,2
|
bcnelr icc2,1,2
|
|
|
set_icc 0x7 3
|
set_icc 0x7 3
|
bcnelr icc3,1,3
|
bcnelr icc3,1,3
|
|
|
set_icc 0x8 0
|
set_icc 0x8 0
|
bcnelr icc0,1,0
|
bcnelr icc0,1,0
|
|
|
set_icc 0x9 1
|
set_icc 0x9 1
|
bcnelr icc1,1,1
|
bcnelr icc1,1,1
|
|
|
set_icc 0xa 2
|
set_icc 0xa 2
|
bcnelr icc2,1,2
|
bcnelr icc2,1,2
|
|
|
set_icc 0xb 3
|
set_icc 0xb 3
|
bcnelr icc3,1,3
|
bcnelr icc3,1,3
|
|
|
set_icc 0xc 0
|
set_icc 0xc 0
|
bcnelr icc0,1,0
|
bcnelr icc0,1,0
|
|
|
set_icc 0xd 1
|
set_icc 0xd 1
|
bcnelr icc1,1,1
|
bcnelr icc1,1,1
|
|
|
set_icc 0xe 2
|
set_icc 0xe 2
|
bcnelr icc2,1,2
|
bcnelr icc2,1,2
|
|
|
set_icc 0xf 3
|
set_icc 0xf 3
|
bcnelr icc3,1,3
|
bcnelr icc3,1,3
|
|
|
; ccond is false
|
; ccond is false
|
set_spr_immed 1,lcr
|
set_spr_immed 1,lcr
|
set_spr_addr bad,lr
|
set_spr_addr bad,lr
|
set_icc 0x0 0
|
set_icc 0x0 0
|
bcnelr icc0,0,0
|
bcnelr icc0,0,0
|
|
|
set_spr_immed 1,lcr
|
set_spr_immed 1,lcr
|
set_icc 0x1 1
|
set_icc 0x1 1
|
bcnelr icc1,0,1
|
bcnelr icc1,0,1
|
|
|
set_spr_immed 1,lcr
|
set_spr_immed 1,lcr
|
set_icc 0x2 2
|
set_icc 0x2 2
|
bcnelr icc2,0,2
|
bcnelr icc2,0,2
|
|
|
set_spr_immed 1,lcr
|
set_spr_immed 1,lcr
|
set_icc 0x3 3
|
set_icc 0x3 3
|
bcnelr icc3,0,3
|
bcnelr icc3,0,3
|
|
|
set_spr_immed 1,lcr
|
set_spr_immed 1,lcr
|
set_icc 0x4 0
|
set_icc 0x4 0
|
bcnelr icc0,0,0
|
bcnelr icc0,0,0
|
|
|
set_spr_immed 1,lcr
|
set_spr_immed 1,lcr
|
set_icc 0x5 1
|
set_icc 0x5 1
|
bcnelr icc1,0,1
|
bcnelr icc1,0,1
|
|
|
set_spr_immed 1,lcr
|
set_spr_immed 1,lcr
|
set_icc 0x6 2
|
set_icc 0x6 2
|
bcnelr icc2,0,2
|
bcnelr icc2,0,2
|
|
|
set_spr_immed 1,lcr
|
set_spr_immed 1,lcr
|
set_icc 0x7 3
|
set_icc 0x7 3
|
bcnelr icc3,0,3
|
bcnelr icc3,0,3
|
|
|
set_spr_immed 1,lcr
|
set_spr_immed 1,lcr
|
set_icc 0x8 0
|
set_icc 0x8 0
|
bcnelr icc0,0,0
|
bcnelr icc0,0,0
|
|
|
set_spr_immed 1,lcr
|
set_spr_immed 1,lcr
|
set_icc 0x9 1
|
set_icc 0x9 1
|
bcnelr icc1,0,1
|
bcnelr icc1,0,1
|
|
|
set_spr_immed 1,lcr
|
set_spr_immed 1,lcr
|
set_icc 0xa 2
|
set_icc 0xa 2
|
bcnelr icc2,0,2
|
bcnelr icc2,0,2
|
|
|
set_spr_immed 1,lcr
|
set_spr_immed 1,lcr
|
set_icc 0xb 3
|
set_icc 0xb 3
|
bcnelr icc3,0,3
|
bcnelr icc3,0,3
|
|
|
set_spr_immed 1,lcr
|
set_spr_immed 1,lcr
|
set_icc 0xc 0
|
set_icc 0xc 0
|
bcnelr icc0,0,0
|
bcnelr icc0,0,0
|
|
|
set_spr_immed 1,lcr
|
set_spr_immed 1,lcr
|
set_icc 0xd 1
|
set_icc 0xd 1
|
bcnelr icc1,0,1
|
bcnelr icc1,0,1
|
|
|
set_spr_immed 1,lcr
|
set_spr_immed 1,lcr
|
set_icc 0xe 2
|
set_icc 0xe 2
|
bcnelr icc2,0,2
|
bcnelr icc2,0,2
|
|
|
set_spr_immed 1,lcr
|
set_spr_immed 1,lcr
|
set_icc 0xf 3
|
set_icc 0xf 3
|
bcnelr icc3,0,3
|
bcnelr icc3,0,3
|
|
|
pass
|
pass
|
bad:
|
bad:
|
fail
|
fail
|
|
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.