# frv testcase for mrotri $FRinti,$s6,$FRintk
|
# frv testcase for mrotri $FRinti,$s6,$FRintk
|
# mach: all
|
# mach: all
|
|
|
.include "testutils.inc"
|
.include "testutils.inc"
|
|
|
start
|
start
|
|
|
.global mrotri
|
.global mrotri
|
mrotri:
|
mrotri:
|
set_fr_iimmed 0x8000,0x0000,fr8
|
set_fr_iimmed 0x8000,0x0000,fr8
|
mrotri fr8,0x20,fr8 ; Shift by 0
|
mrotri fr8,0x20,fr8 ; Shift by 0
|
test_fr_iimmed 0x80000000,fr8
|
test_fr_iimmed 0x80000000,fr8
|
|
|
set_fr_iimmed 0x8000,0x0000,fr8
|
set_fr_iimmed 0x8000,0x0000,fr8
|
mrotri fr8,0,fr8 ; Shift by 0
|
mrotri fr8,0,fr8 ; Shift by 0
|
test_fr_iimmed 0x80000000,fr8
|
test_fr_iimmed 0x80000000,fr8
|
|
|
set_fr_iimmed 0x8000,0x0000,fr8
|
set_fr_iimmed 0x8000,0x0000,fr8
|
mrotri fr8,1,fr8 ; Shift by 1
|
mrotri fr8,1,fr8 ; Shift by 1
|
test_fr_iimmed 0x40000000,fr8
|
test_fr_iimmed 0x40000000,fr8
|
|
|
set_fr_iimmed 0x8000,0x0000,fr8
|
set_fr_iimmed 0x8000,0x0000,fr8
|
mrotri fr8,31,fr8 ; Shift by 31
|
mrotri fr8,31,fr8 ; Shift by 31
|
test_fr_iimmed 1,fr8
|
test_fr_iimmed 1,fr8
|
|
|
set_fr_iimmed 0x4000,0x0000,fr8
|
set_fr_iimmed 0x4000,0x0000,fr8
|
mrotri fr8,31,fr8 ; max shift
|
mrotri fr8,31,fr8 ; max shift
|
test_fr_iimmed 0x80000000,fr8
|
test_fr_iimmed 0x80000000,fr8
|
|
|
set_fr_iimmed 0xdead,0xbeef,fr8
|
set_fr_iimmed 0xdead,0xbeef,fr8
|
mrotri fr8,16,fr8 ; max shift
|
mrotri fr8,16,fr8 ; max shift
|
test_fr_iimmed 0xbeefdead,fr8
|
test_fr_iimmed 0xbeefdead,fr8
|
|
|
pass
|
pass
|
|
|