mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2025-01-06 12:09:26 +08:00
1368b914e9
Now that all port tests live under testsuite/sim/*/, and none live in testsuite/ directly, flatten the structure by moving all of the dirs under testsuite/sim/ to testsuite/ directly. We need to stop passing --tool to dejagnu so that it searches all dirs and not just ones that start with "sim". Since we have no other dirs in this tree, and no plans to add any, should be fine.
320 lines
7.8 KiB
Plaintext
320 lines
7.8 KiB
Plaintext
# frv testcase for maveh $FRi,$FRj,$FRj on fr400 machines
|
|
# mach: all
|
|
|
|
.include "../testutils.inc"
|
|
|
|
start
|
|
|
|
.global maveh
|
|
maveh:
|
|
; Test Rounding toward positive infinity via RDAV
|
|
or_spr_immed 0x20000000,msr0
|
|
and_spr_immed 0xefffffff,msr0
|
|
|
|
set_fr_iimmed 0x0000,0x0000,fr10
|
|
set_fr_iimmed 0x0000,0x0000,fr11
|
|
maveh fr10,fr11,fr12
|
|
test_fr_limmed 0x0000,0x0000,fr12
|
|
|
|
set_fr_iimmed 0x0001,0x0000,fr10
|
|
set_fr_iimmed 0x0002,0x0001,fr11
|
|
maveh fr10,fr11,fr12
|
|
test_fr_limmed 0x0002,0x0001,fr12
|
|
|
|
set_fr_iimmed 0x0000,0xffff,fr10
|
|
set_fr_iimmed 0xffff,0xfffe,fr11
|
|
maveh fr10,fr11,fr12
|
|
test_fr_limmed 0x0000,0xffff,fr12
|
|
|
|
set_fr_iimmed 0xdead,0x0000,fr10
|
|
set_fr_iimmed 0x0000,0xbeef,fr11
|
|
maveh fr10,fr11,fr12
|
|
test_fr_limmed 0xef57,0xdf78,fr12
|
|
|
|
set_fr_iimmed 0x0000,0xdead,fr10
|
|
set_fr_iimmed 0xbeef,0x0000,fr11
|
|
maveh fr10,fr11,fr12
|
|
test_fr_limmed 0xdf78,0xef57,fr12
|
|
|
|
set_fr_iimmed 0x1234,0x5678,fr10
|
|
set_fr_iimmed 0x1111,0x1111,fr11
|
|
maveh fr10,fr11,fr12
|
|
test_fr_limmed 0x11a3,0x33c5,fr12
|
|
|
|
set_fr_iimmed 0x1234,0x5678,fr10
|
|
set_fr_iimmed 0xffff,0xffff,fr11
|
|
maveh fr10,fr11,fr12
|
|
test_fr_limmed 0x091a,0x2b3c,fr12
|
|
|
|
set_fr_iimmed 0x7ffe,0x7ffe,fr10
|
|
set_fr_iimmed 0x0002,0x0001,fr11
|
|
maveh fr10,fr11,fr12
|
|
test_fr_limmed 0x4000,0x4000,fr12
|
|
|
|
set_fr_iimmed 0x8001,0x8001,fr10
|
|
set_fr_iimmed 0xffff,0xfffe,fr11
|
|
maveh fr10,fr11,fr12
|
|
test_fr_limmed 0xc000,0xc000,fr12
|
|
|
|
set_fr_iimmed 0x8001,0x8001,fr10
|
|
set_fr_iimmed 0xfffe,0xfffe,fr11
|
|
maveh fr10,fr11,fr12
|
|
test_fr_limmed 0xc000,0xc000,fr12
|
|
|
|
set_fr_iimmed 0x8000,0x8000,fr10
|
|
set_fr_iimmed 0x7fff,0x7fff,fr11
|
|
maveh.p fr10,fr10,fr12
|
|
maveh fr11,fr11,fr13
|
|
test_fr_limmed 0x8000,0x8000,fr12
|
|
test_fr_limmed 0x7fff,0x7fff,fr13
|
|
|
|
; Test Rounding toward nearest via RD
|
|
or_spr_immed 0x10000000,msr0
|
|
and_spr_immed 0x3fffffff,msr0
|
|
|
|
set_fr_iimmed 0x0000,0x0000,fr10
|
|
set_fr_iimmed 0x0000,0x0000,fr11
|
|
maveh fr10,fr11,fr12
|
|
test_fr_limmed 0x0000,0x0000,fr12
|
|
|
|
set_fr_iimmed 0x0001,0x0000,fr10
|
|
set_fr_iimmed 0x0002,0x0001,fr11
|
|
maveh fr10,fr11,fr12
|
|
test_fr_limmed 0x0002,0x0001,fr12
|
|
|
|
set_fr_iimmed 0x0000,0xffff,fr10
|
|
set_fr_iimmed 0xffff,0xfffe,fr11
|
|
maveh fr10,fr11,fr12
|
|
test_fr_limmed 0xffff,0xfffe,fr12
|
|
|
|
set_fr_iimmed 0xdead,0x0000,fr10
|
|
set_fr_iimmed 0x0000,0xbeef,fr11
|
|
maveh fr10,fr11,fr12
|
|
test_fr_limmed 0xef56,0xdf77,fr12
|
|
|
|
set_fr_iimmed 0x0000,0xdead,fr10
|
|
set_fr_iimmed 0xbeef,0x0000,fr11
|
|
maveh fr10,fr11,fr12
|
|
test_fr_limmed 0xdf77,0xef56,fr12
|
|
|
|
set_fr_iimmed 0x1234,0x5678,fr10
|
|
set_fr_iimmed 0x1111,0x1111,fr11
|
|
maveh fr10,fr11,fr12
|
|
test_fr_limmed 0x11a3,0x33c5,fr12
|
|
|
|
set_fr_iimmed 0x1234,0x5678,fr10
|
|
set_fr_iimmed 0xffff,0xffff,fr11
|
|
maveh fr10,fr11,fr12
|
|
test_fr_limmed 0x091a,0x2b3c,fr12
|
|
|
|
set_fr_iimmed 0x7ffe,0x7ffe,fr10
|
|
set_fr_iimmed 0x0002,0x0001,fr11
|
|
maveh fr10,fr11,fr12
|
|
test_fr_limmed 0x4000,0x4000,fr12
|
|
|
|
set_fr_iimmed 0x8001,0x8001,fr10
|
|
set_fr_iimmed 0xffff,0xfffe,fr11
|
|
maveh fr10,fr11,fr12
|
|
test_fr_limmed 0xc000,0xbfff,fr12
|
|
|
|
set_fr_iimmed 0x8001,0x8001,fr10
|
|
set_fr_iimmed 0xfffe,0xfffe,fr11
|
|
maveh fr10,fr11,fr12
|
|
test_fr_limmed 0xbfff,0xbfff,fr12
|
|
|
|
set_fr_iimmed 0x8000,0x8000,fr10
|
|
set_fr_iimmed 0x7fff,0x7fff,fr11
|
|
maveh.p fr10,fr10,fr12
|
|
maveh fr11,fr11,fr13
|
|
test_fr_limmed 0x8000,0x8000,fr12
|
|
test_fr_limmed 0x7fff,0x7fff,fr13
|
|
|
|
; Test Rounding toward zero via RD
|
|
or_spr_immed 0x50000000,msr0
|
|
and_spr_immed 0x7fffffff,msr0
|
|
|
|
set_fr_iimmed 0x0000,0x0000,fr10
|
|
set_fr_iimmed 0x0000,0x0000,fr11
|
|
maveh fr10,fr11,fr12
|
|
test_fr_limmed 0x0000,0x0000,fr12
|
|
|
|
set_fr_iimmed 0x0001,0x0000,fr10
|
|
set_fr_iimmed 0x0002,0x0001,fr11
|
|
maveh fr10,fr11,fr12
|
|
test_fr_limmed 0x0001,0x0000,fr12
|
|
|
|
set_fr_iimmed 0x0000,0xffff,fr10
|
|
set_fr_iimmed 0xffff,0xfffe,fr11
|
|
maveh fr10,fr11,fr12
|
|
test_fr_limmed 0x0000,0xffff,fr12
|
|
|
|
set_fr_iimmed 0xdead,0x0000,fr10
|
|
set_fr_iimmed 0x0000,0xbeef,fr11
|
|
maveh fr10,fr11,fr12
|
|
test_fr_limmed 0xef57,0xdf78,fr12
|
|
|
|
set_fr_iimmed 0x0000,0xdead,fr10
|
|
set_fr_iimmed 0xbeef,0x0000,fr11
|
|
maveh fr10,fr11,fr12
|
|
test_fr_limmed 0xdf78,0xef57,fr12
|
|
|
|
set_fr_iimmed 0x1234,0x5678,fr10
|
|
set_fr_iimmed 0x1111,0x1111,fr11
|
|
maveh fr10,fr11,fr12
|
|
test_fr_limmed 0x11a2,0x33c4,fr12
|
|
|
|
set_fr_iimmed 0x1234,0x5678,fr10
|
|
set_fr_iimmed 0xffff,0xffff,fr11
|
|
maveh fr10,fr11,fr12
|
|
test_fr_limmed 0x0919,0x2b3b,fr12
|
|
|
|
set_fr_iimmed 0x7ffe,0x7ffe,fr10
|
|
set_fr_iimmed 0x0002,0x0001,fr11
|
|
maveh fr10,fr11,fr12
|
|
test_fr_limmed 0x4000,0x3fff,fr12
|
|
|
|
set_fr_iimmed 0x8001,0x8001,fr10
|
|
set_fr_iimmed 0xffff,0xfffe,fr11
|
|
maveh fr10,fr11,fr12
|
|
test_fr_limmed 0xc000,0xc000,fr12
|
|
|
|
set_fr_iimmed 0x8001,0x8001,fr10
|
|
set_fr_iimmed 0xfffe,0xfffe,fr11
|
|
maveh fr10,fr11,fr12
|
|
test_fr_limmed 0xc000,0xc000,fr12
|
|
|
|
set_fr_iimmed 0x8000,0x8000,fr10
|
|
set_fr_iimmed 0x7fff,0x7fff,fr11
|
|
maveh.p fr10,fr10,fr12
|
|
maveh fr11,fr11,fr13
|
|
test_fr_limmed 0x8000,0x8000,fr12
|
|
test_fr_limmed 0x7fff,0x7fff,fr13
|
|
|
|
; Test Rounding toward positive infinity via RD
|
|
or_spr_immed 0x90000000,msr0
|
|
and_spr_immed 0xbfffffff,msr0
|
|
|
|
set_fr_iimmed 0x0000,0x0000,fr10
|
|
set_fr_iimmed 0x0000,0x0000,fr11
|
|
maveh fr10,fr11,fr12
|
|
test_fr_limmed 0x0000,0x0000,fr12
|
|
|
|
set_fr_iimmed 0x0001,0x0000,fr10
|
|
set_fr_iimmed 0x0002,0x0001,fr11
|
|
maveh fr10,fr11,fr12
|
|
test_fr_limmed 0x0002,0x0001,fr12
|
|
|
|
set_fr_iimmed 0x0000,0xffff,fr10
|
|
set_fr_iimmed 0xffff,0xfffe,fr11
|
|
maveh fr10,fr11,fr12
|
|
test_fr_limmed 0x0000,0xffff,fr12
|
|
|
|
set_fr_iimmed 0xdead,0x0000,fr10
|
|
set_fr_iimmed 0x0000,0xbeef,fr11
|
|
maveh fr10,fr11,fr12
|
|
test_fr_limmed 0xef57,0xdf78,fr12
|
|
|
|
set_fr_iimmed 0x0000,0xdead,fr10
|
|
set_fr_iimmed 0xbeef,0x0000,fr11
|
|
maveh fr10,fr11,fr12
|
|
test_fr_limmed 0xdf78,0xef57,fr12
|
|
|
|
set_fr_iimmed 0x1234,0x5678,fr10
|
|
set_fr_iimmed 0x1111,0x1111,fr11
|
|
maveh fr10,fr11,fr12
|
|
test_fr_limmed 0x11a3,0x33c5,fr12
|
|
|
|
set_fr_iimmed 0x1234,0x5678,fr10
|
|
set_fr_iimmed 0xffff,0xffff,fr11
|
|
maveh fr10,fr11,fr12
|
|
test_fr_limmed 0x091a,0x2b3c,fr12
|
|
|
|
set_fr_iimmed 0x7ffe,0x7ffe,fr10
|
|
set_fr_iimmed 0x0002,0x0001,fr11
|
|
maveh fr10,fr11,fr12
|
|
test_fr_limmed 0x4000,0x4000,fr12
|
|
|
|
set_fr_iimmed 0x8001,0x8001,fr10
|
|
set_fr_iimmed 0xffff,0xfffe,fr11
|
|
maveh fr10,fr11,fr12
|
|
test_fr_limmed 0xc000,0xc000,fr12
|
|
|
|
set_fr_iimmed 0x8001,0x8001,fr10
|
|
set_fr_iimmed 0xfffe,0xfffe,fr11
|
|
maveh fr10,fr11,fr12
|
|
test_fr_limmed 0xc000,0xc000,fr12
|
|
|
|
set_fr_iimmed 0x8000,0x8000,fr10
|
|
set_fr_iimmed 0x7fff,0x7fff,fr11
|
|
maveh.p fr10,fr10,fr12
|
|
maveh fr11,fr11,fr13
|
|
test_fr_limmed 0x8000,0x8000,fr12
|
|
test_fr_limmed 0x7fff,0x7fff,fr13
|
|
|
|
; Test Rounding toward negative infinity via RD
|
|
or_spr_immed 0xd0000000,msr0
|
|
|
|
set_fr_iimmed 0x0000,0x0000,fr10
|
|
set_fr_iimmed 0x0000,0x0000,fr11
|
|
maveh fr10,fr11,fr12
|
|
test_fr_limmed 0x0000,0x0000,fr12
|
|
|
|
set_fr_iimmed 0x0001,0x0000,fr10
|
|
set_fr_iimmed 0x0002,0x0001,fr11
|
|
maveh fr10,fr11,fr12
|
|
test_fr_limmed 0x0001,0x0000,fr12
|
|
|
|
set_fr_iimmed 0x0000,0xffff,fr10
|
|
set_fr_iimmed 0xffff,0xfffe,fr11
|
|
maveh fr10,fr11,fr12
|
|
test_fr_limmed 0xffff,0xfffe,fr12
|
|
|
|
set_fr_iimmed 0xdead,0x0000,fr10
|
|
set_fr_iimmed 0x0000,0xbeef,fr11
|
|
maveh fr10,fr11,fr12
|
|
test_fr_limmed 0xef56,0xdf77,fr12
|
|
|
|
set_fr_iimmed 0x0000,0xdead,fr10
|
|
set_fr_iimmed 0xbeef,0x0000,fr11
|
|
maveh fr10,fr11,fr12
|
|
test_fr_limmed 0xdf77,0xef56,fr12
|
|
|
|
set_fr_iimmed 0x1234,0x5678,fr10
|
|
set_fr_iimmed 0x1111,0x1111,fr11
|
|
maveh fr10,fr11,fr12
|
|
test_fr_limmed 0x11a2,0x33c4,fr12
|
|
|
|
set_fr_iimmed 0x1234,0x5678,fr10
|
|
set_fr_iimmed 0xffff,0xffff,fr11
|
|
maveh fr10,fr11,fr12
|
|
test_fr_limmed 0x0919,0x2b3b,fr12
|
|
|
|
set_spr_immed 0,msr0
|
|
set_fr_iimmed 0x7ffe,0x7ffe,fr10
|
|
set_fr_iimmed 0x0002,0x0001,fr11
|
|
maveh fr10,fr11,fr12
|
|
test_fr_limmed 0x4000,0x3fff,fr12
|
|
|
|
set_spr_immed 0,msr0
|
|
set_fr_iimmed 0x8001,0x8001,fr10
|
|
set_fr_iimmed 0xffff,0xfffe,fr11
|
|
maveh fr10,fr11,fr12
|
|
test_fr_limmed 0xc000,0xbfff,fr12
|
|
|
|
set_spr_immed 0,msr0
|
|
set_fr_iimmed 0x8001,0x8001,fr10
|
|
set_fr_iimmed 0xfffe,0xfffe,fr11
|
|
maveh fr10,fr11,fr12
|
|
test_fr_limmed 0xbfff,0xbfff,fr12
|
|
|
|
set_spr_immed 0,msr0
|
|
set_spr_immed 0,msr1
|
|
set_fr_iimmed 0x8000,0x8000,fr10
|
|
set_fr_iimmed 0x7fff,0x7fff,fr11
|
|
maveh.p fr10,fr10,fr12
|
|
maveh fr11,fr11,fr13
|
|
test_fr_limmed 0x8000,0x8000,fr12
|
|
test_fr_limmed 0x7fff,0x7fff,fr13
|
|
|
|
pass
|