OpenCores
URL https://opencores.org/ocsvn/openrisc_2011-10-31/openrisc_2011-10-31/trunk

Subversion Repositories openrisc_2011-10-31

[/] [openrisc/] [tags/] [gdb/] [gdb-6.8/] [gdb-6.8.openrisc-2.1/] [sim/] [testsuite/] [sim/] [cris/] [asm/] [ccr-v10.ms] - Diff between revs 24 and 33

Go to most recent revision | Only display areas with differences | Details | Blame | View Log

Rev 24 Rev 33
# mach: crisv10
# mach: crisv10
# output: ff\nff\n0\n0\n80\n40\n20\n10\n8\n4\n2\n1\n80\n40\n20\n10\n8\n4\n2\n1\n42\n
# output: ff\nff\n0\n0\n80\n40\n20\n10\n8\n4\n2\n1\n80\n40\n20\n10\n8\n4\n2\n1\n42\n
; Check that flag settings affect ccr and dccr and vice versa.
; Check that flag settings affect ccr and dccr and vice versa.
 .include "testutils.inc"
 .include "testutils.inc"
 start
 start
 clear.d r3
 clear.d r3
 setf mbixnzvc
 setf mbixnzvc
 move ccr,r3
 move ccr,r3
 dumpr3
 dumpr3
 clear.d r3
 clear.d r3
 setf mbixnzvc
 setf mbixnzvc
 move dccr,r3
 move dccr,r3
 dumpr3
 dumpr3
 clear.d r3
 clear.d r3
 clearf mbixnzvc
 clearf mbixnzvc
 move ccr,r3
 move ccr,r3
 dumpr3
 dumpr3
 clear.d r3
 clear.d r3
 clearf mbixnzvc
 clearf mbixnzvc
 move dccr,r3
 move dccr,r3
 dumpr3
 dumpr3
 .macro testfr BIT REG
 .macro testfr BIT REG
 clear.d r3
 clear.d r3
 clearf mbixnzvc
 clearf mbixnzvc
 setf \BIT
 setf \BIT
 move \REG,r3
 move \REG,r3
 dumpr3
 dumpr3
 .endm
 .endm
 testfr m ccr
 testfr m ccr
 testfr b ccr
 testfr b ccr
 testfr i ccr
 testfr i ccr
 testfr x ccr
 testfr x ccr
 testfr n ccr
 testfr n ccr
 testfr z ccr
 testfr z ccr
 testfr v ccr
 testfr v ccr
 testfr c ccr
 testfr c ccr
 testfr m dccr
 testfr m dccr
 testfr b dccr
 testfr b dccr
 testfr i dccr
 testfr i dccr
 testfr x dccr
 testfr x dccr
 testfr n dccr
 testfr n dccr
 testfr z dccr
 testfr z dccr
 testfr v dccr
 testfr v dccr
 testfr c dccr
 testfr c dccr
; Check only the nzvc bits; do the other bits in special tests as they're
; Check only the nzvc bits; do the other bits in special tests as they're
; implemented.
; implemented.
 .macro test_get_cc N Z V C
 .macro test_get_cc N Z V C
 clearf znvc
 clearf znvc
 move ((\N << 3)|(\Z << 2)|(\V << 1)|\C),ccr
 move ((\N << 3)|(\Z << 2)|(\V << 1)|\C),ccr
 test_cc \N \Z \V \C
 test_cc \N \Z \V \C
 setf znvc
 setf znvc
 move ((\N << 3)|(\Z << 2)|(\V << 1)|\C),dccr
 move ((\N << 3)|(\Z << 2)|(\V << 1)|\C),dccr
 test_cc \N \Z \V \C
 test_cc \N \Z \V \C
 move.d ((\N << 3)|(\Z << 2)|(\V << 1)|\C),r4
 move.d ((\N << 3)|(\Z << 2)|(\V << 1)|\C),r4
 setf znvc
 setf znvc
 move r4,ccr
 move r4,ccr
 test_cc \N \Z \V \C
 test_cc \N \Z \V \C
 clearf znvc
 clearf znvc
 move r4,dccr
 move r4,dccr
 test_cc \N \Z \V \C
 test_cc \N \Z \V \C
 .endm
 .endm
 test_get_cc 1 0 0 0
 test_get_cc 1 0 0 0
 test_get_cc 0 1 0 0
 test_get_cc 0 1 0 0
 test_get_cc 0 0 1 0
 test_get_cc 0 0 1 0
 test_get_cc 0 0 0 1
 test_get_cc 0 0 0 1
 move.d 0x42,r3
 move.d 0x42,r3
 dumpr3
 dumpr3
 quit
 quit
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.