mdrotli.cgs 708 B

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