cmov.cgs 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. # frv testcase for cmov $GRi,$GRk,$CCi,$cond
  2. # mach: all
  3. .include "testutils.inc"
  4. start
  5. .global cmov
  6. cmov:
  7. set_spr_immed 0x1b1b,cccr
  8. set_gr_immed 0x00007fff,gr7
  9. set_gr_immed 0xdeadbeef,gr8
  10. set_icc 0x08,0 ; Set mask opposite of expected
  11. cmov gr7,gr8,cc0,0
  12. test_icc 1 0 0 0 icc0
  13. test_gr_immed 0xdeadbeef,gr8
  14. set_gr_immed 0x00007fff,gr7
  15. set_gr_immed 0xdeadbeef,gr8
  16. set_icc 0x08,0 ; Set mask opposite of expected
  17. cmov gr7,gr8,cc0,1
  18. test_icc 1 0 0 0 icc0
  19. test_gr_immed 0x00007fff,gr8
  20. set_gr_immed 0x00007fff,gr7
  21. set_gr_immed 0xdeadbeef,gr8
  22. set_icc 0x08,1 ; Set mask opposite of expected
  23. cmov gr7,gr8,cc1,0
  24. test_icc 1 0 0 0 icc1
  25. test_gr_immed 0x00007fff,gr8
  26. set_gr_immed 0x00007fff,gr7
  27. set_gr_immed 0xdeadbeef,gr8
  28. set_icc 0x08,1 ; Set mask opposite of expected
  29. cmov gr7,gr8,cc1,1
  30. test_icc 1 0 0 0 icc1
  31. test_gr_immed 0xdeadbeef,gr8
  32. set_gr_immed 0x00007fff,gr7
  33. set_gr_immed 0xdeadbeef,gr8
  34. set_icc 0x08,2 ; Set mask opposite of expected
  35. cmov gr7,gr8,cc2,0
  36. test_icc 1 0 0 0 icc2
  37. test_gr_immed 0xdeadbeef,gr8
  38. set_gr_immed 0x00007fff,gr7
  39. set_gr_immed 0xdeadbeef,gr8
  40. set_icc 0x08,3 ; Set mask opposite of expected
  41. cmov gr7,gr8,cc3,0
  42. test_icc 1 0 0 0 icc3
  43. test_gr_immed 0xdeadbeef,gr8
  44. pass