diff options
Diffstat (limited to 'sim/testsuite/frv/fcbnelr.cgs')
-rw-r--r-- | sim/testsuite/frv/fcbnelr.cgs | 274 |
1 files changed, 274 insertions, 0 deletions
diff --git a/sim/testsuite/frv/fcbnelr.cgs b/sim/testsuite/frv/fcbnelr.cgs new file mode 100644 index 0000000..cb0aa26 --- /dev/null +++ b/sim/testsuite/frv/fcbnelr.cgs @@ -0,0 +1,274 @@ +# frv testcase for fcbnelr $FCCi,$ccond,$hint +# mach: all + + .include "testutils.inc" + + start + + .global fcbnelr +fcbnelr: + ; ccond is true + set_spr_immed 128,lcr + set_spr_addr bad,lr + set_fcc 0x0 0 + fcbnelr fcc0,0,0 + + set_spr_addr ok2,lr + set_fcc 0x1 1 + fcbnelr fcc1,0,1 + fail +ok2: + set_spr_addr ok3,lr + set_fcc 0x2 2 + fcbnelr fcc2,0,2 + fail +ok3: + set_spr_addr ok4,lr + set_fcc 0x3 3 + fcbnelr fcc3,0,3 + fail +ok4: + set_spr_addr ok5,lr + set_fcc 0x4 0 + fcbnelr fcc0,0,0 + fail +ok5: + set_spr_addr ok6,lr + set_fcc 0x5 1 + fcbnelr fcc1,0,1 + fail +ok6: + set_spr_addr ok7,lr + set_fcc 0x6 2 + fcbnelr fcc2,0,2 + fail +ok7: + set_spr_addr ok8,lr + set_fcc 0x7 3 + fcbnelr fcc3,0,3 + fail +ok8: + set_spr_addr bad,lr + set_fcc 0x8 0 + fcbnelr fcc0,0,0 + + set_spr_addr oka,lr + set_fcc 0x9 1 + fcbnelr fcc1,0,1 + fail +oka: + set_spr_addr okb,lr + set_fcc 0xa 2 + fcbnelr fcc2,0,2 + fail +okb: + set_spr_addr okc,lr + set_fcc 0xb 3 + fcbnelr fcc3,0,3 + fail +okc: + set_spr_addr okd,lr + set_fcc 0xc 0 + fcbnelr fcc0,0,0 + fail +okd: + set_spr_addr oke,lr + set_fcc 0xd 1 + fcbnelr fcc1,0,1 + fail +oke: + set_spr_addr okf,lr + set_fcc 0xe 2 + fcbnelr fcc2,0,2 + fail +okf: + set_spr_addr okg,lr + set_fcc 0xf 3 + fcbnelr fcc3,0,3 + fail +okg: + + ; ccond is true + set_spr_immed 1,lcr + set_spr_addr bad,lr + set_fcc 0x0 0 + fcbnelr fcc0,1,0 + + set_spr_immed 1,lcr + set_spr_addr oki,lr + set_fcc 0x1 1 + fcbnelr fcc1,1,1 + fail +oki: + set_spr_immed 1,lcr + set_spr_addr okj,lr + set_fcc 0x2 2 + fcbnelr fcc2,1,2 + fail +okj: + set_spr_immed 1,lcr + set_spr_addr okk,lr + set_fcc 0x3 3 + fcbnelr fcc3,1,3 + fail +okk: + set_spr_immed 1,lcr + set_spr_addr okl,lr + set_fcc 0x4 0 + fcbnelr fcc0,1,0 + fail +okl: + set_spr_immed 1,lcr + set_spr_addr okm,lr + set_fcc 0x5 1 + fcbnelr fcc1,1,1 + fail +okm: + set_spr_immed 1,lcr + set_spr_addr okn,lr + set_fcc 0x6 2 + fcbnelr fcc2,1,2 + fail +okn: + set_spr_immed 1,lcr + set_spr_addr oko,lr + set_fcc 0x7 3 + fcbnelr fcc3,1,3 + fail +oko: + set_spr_immed 1,lcr + set_spr_addr bad,lr + set_fcc 0x8 0 + fcbnelr fcc0,1,0 + + set_spr_immed 1,lcr + set_spr_addr okq,lr + set_fcc 0x9 1 + fcbnelr fcc1,1,1 + fail +okq: + set_spr_immed 1,lcr + set_spr_addr okr,lr + set_fcc 0xa 2 + fcbnelr fcc2,1,2 + fail +okr: + set_spr_immed 1,lcr + set_spr_addr oks,lr + set_fcc 0xb 3 + fcbnelr fcc3,1,3 + fail +oks: + set_spr_immed 1,lcr + set_spr_addr okt,lr + set_fcc 0xc 0 + fcbnelr fcc0,1,0 + fail +okt: + set_spr_immed 1,lcr + set_spr_addr oku,lr + set_fcc 0xd 1 + fcbnelr fcc1,1,1 + fail +oku: + set_spr_immed 1,lcr + set_spr_addr okv,lr + set_fcc 0xe 2 + fcbnelr fcc2,1,2 + fail +okv: + set_spr_immed 1,lcr + set_spr_addr okw,lr + set_fcc 0xf 3 + fcbnelr fcc3,1,3 + fail +okw: + ; ccond is false + set_spr_immed 128,lcr + + set_fcc 0x0 0 + fcbnelr fcc0,1,0 + set_fcc 0x1 1 + fcbnelr fcc1,1,1 + set_fcc 0x2 2 + fcbnelr fcc2,1,2 + set_fcc 0x3 3 + fcbnelr fcc3,1,3 + set_fcc 0x4 0 + fcbnelr fcc0,1,0 + set_fcc 0x5 1 + fcbnelr fcc1,1,1 + set_fcc 0x6 2 + fcbnelr fcc2,1,2 + set_fcc 0x7 3 + fcbnelr fcc3,1,3 + set_fcc 0x8 0 + fcbnelr fcc0,1,0 + set_fcc 0x9 1 + fcbnelr fcc1,1,1 + set_fcc 0xa 2 + fcbnelr fcc2,1,2 + set_fcc 0xb 3 + fcbnelr fcc3,1,3 + set_fcc 0xc 0 + fcbnelr fcc0,1,0 + set_fcc 0xd 1 + fcbnelr fcc1,1,1 + set_fcc 0xe 2 + fcbnelr fcc2,1,2 + set_fcc 0xf 3 + fcbnelr fcc3,1,3 + + ; ccond is false + set_spr_immed 1,lcr + set_fcc 0x0 0 + fcbnelr fcc0,0,0 + set_spr_immed 1,lcr + set_fcc 0x1 1 + fcbnelr fcc1,0,1 + set_spr_immed 1,lcr + set_fcc 0x2 2 + fcbnelr fcc2,0,2 + set_spr_immed 1,lcr + set_fcc 0x3 3 + fcbnelr fcc3,0,3 + set_spr_immed 1,lcr + set_fcc 0x4 0 + fcbnelr fcc0,0,0 + set_spr_immed 1,lcr + set_fcc 0x5 1 + fcbnelr fcc1,0,1 + set_spr_immed 1,lcr + set_fcc 0x6 2 + fcbnelr fcc2,0,2 + set_spr_immed 1,lcr + set_fcc 0x7 3 + fcbnelr fcc3,0,3 + set_spr_immed 1,lcr + set_fcc 0x8 0 + fcbnelr fcc0,0,0 + set_spr_immed 1,lcr + set_fcc 0x9 1 + fcbnelr fcc1,0,1 + set_spr_immed 1,lcr + set_fcc 0xa 2 + fcbnelr fcc2,0,2 + set_spr_immed 1,lcr + set_fcc 0xb 3 + fcbnelr fcc3,0,3 + set_spr_immed 1,lcr + set_fcc 0xc 0 + fcbnelr fcc0,0,0 + set_spr_immed 1,lcr + set_fcc 0xd 1 + fcbnelr fcc1,0,1 + set_spr_immed 1,lcr + set_fcc 0xe 2 + fcbnelr fcc2,0,2 + set_spr_immed 1,lcr + set_fcc 0xf 3 + fcbnelr fcc3,0,3 + + pass +bad: + fail |