# frv testcase for mdrotli $FRi,$s6,$FRk
|
# frv testcase for mdrotli $FRi,$s6,$FRk
|
# mach: fr400 fr550
|
# mach: fr400 fr550
|
|
|
.include "testutils.inc"
|
.include "testutils.inc"
|
|
|
start
|
start
|
|
|
.global mdrotli
|
.global mdrotli
|
mdrotli:
|
mdrotli:
|
set_fr_iimmed 0,2,fr8
|
set_fr_iimmed 0,2,fr8
|
set_fr_iimmed 0,2,fr9
|
set_fr_iimmed 0,2,fr9
|
mdrotli fr8,-32,fr8 ; Shift by 0
|
mdrotli fr8,-32,fr8 ; Shift by 0
|
test_fr_iimmed 2,fr8
|
test_fr_iimmed 2,fr8
|
test_fr_iimmed 2,fr9
|
test_fr_iimmed 2,fr9
|
|
|
set_fr_iimmed 0,2,fr8
|
set_fr_iimmed 0,2,fr8
|
set_fr_iimmed 0,2,fr9
|
set_fr_iimmed 0,2,fr9
|
mdrotli fr8,1,fr8 ; Shift by 1
|
mdrotli fr8,1,fr8 ; Shift by 1
|
test_fr_iimmed 4,fr8
|
test_fr_iimmed 4,fr8
|
test_fr_iimmed 4,fr9
|
test_fr_iimmed 4,fr9
|
|
|
set_fr_iimmed 0,1,fr8
|
set_fr_iimmed 0,1,fr8
|
set_fr_iimmed 0,2,fr9
|
set_fr_iimmed 0,2,fr9
|
mdrotli fr8,31,fr8 ; Shift by 31
|
mdrotli fr8,31,fr8 ; Shift by 31
|
test_fr_iimmed 0x80000000,fr8
|
test_fr_iimmed 0x80000000,fr8
|
test_fr_iimmed 1,fr9
|
test_fr_iimmed 1,fr9
|
|
|
set_fr_iimmed 0xdead,0xbeef,fr8
|
set_fr_iimmed 0xdead,0xbeef,fr8
|
set_fr_iimmed 0xbeef,0xdead,fr9
|
set_fr_iimmed 0xbeef,0xdead,fr9
|
mdrotli fr8,16,fr8
|
mdrotli fr8,16,fr8
|
test_fr_iimmed 0xbeefdead,fr8
|
test_fr_iimmed 0xbeefdead,fr8
|
test_fr_iimmed 0xdeadbeef,fr9
|
test_fr_iimmed 0xdeadbeef,fr9
|
|
|
pass
|
pass
|
|
|