2003-09-04 05:51:57 +08:00
|
|
|
# frv testcase
|
|
|
|
# mach: fr400
|
2003-08-30 00:41:31 +08:00
|
|
|
|
|
|
|
.include "testutils.inc"
|
|
|
|
|
|
|
|
start
|
|
|
|
|
|
|
|
.global Ipipe
|
|
|
|
Ipipe:
|
2003-09-04 05:51:57 +08:00
|
|
|
; Clear the packing bit of the insn at 'pack:'. We can't
|
|
|
|
; simply use '.p' because the assembler will catch the error.
|
2003-08-30 00:41:31 +08:00
|
|
|
set_gr_mem pack,gr10
|
|
|
|
and_gr_immed 0x7fffffff,gr10
|
|
|
|
set_mem_gr gr10,pack
|
|
|
|
set_gr_addr pack,gr10
|
|
|
|
flush_data_cache gr10
|
|
|
|
|
|
|
|
and_spr_immed -4081,tbr ; clear tbr.tt
|
|
|
|
set_gr_spr tbr,gr7
|
|
|
|
inc_gr_immed 0x070,gr7 ; address of exception handler
|
|
|
|
set_bctrlr_0_0 gr7
|
|
|
|
set_spr_immed 128,lcr
|
|
|
|
set_spr_addr ok0,lr
|
|
|
|
set_psr_et 1
|
|
|
|
|
2003-09-04 05:51:57 +08:00
|
|
|
bundle: add.p gr1,gr1,gr1
|
2003-08-30 00:41:31 +08:00
|
|
|
pack: add gr2,gr2,gr2
|
|
|
|
bad: add gr3,gr3,gr3
|
|
|
|
fail
|
|
|
|
ok0:
|
|
|
|
test_spr_immed 1,esfr1
|
|
|
|
test_spr_bits 0x3f,0,0xb,esr0
|
2003-09-04 05:51:57 +08:00
|
|
|
test_spr_addr bundle,epcr0
|
2003-08-30 00:41:31 +08:00
|
|
|
|
|
|
|
pass
|