mrotli.cgs 658 B

12345678910111213141516171819202122232425262728293031323334
  1. # frv testcase for mrotli $FRi,$s6,$FRk
  2. # mach: all
  3. .include "testutils.inc"
  4. start
  5. .global mrotli
  6. mrotli:
  7. set_fr_iimmed 0,2,fr8
  8. mrotli fr8,0x20,fr8 ; Shift by 0
  9. test_fr_iimmed 2,fr8
  10. set_fr_iimmed 0,2,fr8
  11. mrotli fr8,0,fr8 ; Shift by 0
  12. test_fr_iimmed 2,fr8
  13. set_fr_iimmed 0,2,fr8
  14. mrotli fr8,1,fr8 ; Shift by 1
  15. test_fr_iimmed 4,fr8
  16. set_fr_iimmed 0,1,fr8
  17. mrotli fr8,31,fr8 ; Shift by 31
  18. test_fr_iimmed 0x80000000,fr8
  19. set_fr_iimmed 0,2,fr8
  20. mrotli fr8,31,fr8 ; max rotation
  21. test_fr_iimmed 1,fr8
  22. set_fr_iimmed 0xdead,0xbeef,fr8
  23. mrotli fr8,16,fr8
  24. test_fr_iimmed 0xbeefdead,fr8
  25. pass