neg.S 796 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. # Blackfin testcase for negate instruction
  2. # mach: bfin
  3. #include "test.h"
  4. .include "testutils.inc"
  5. start
  6. .global _test
  7. _test:
  8. R6 = ASTAT;
  9. R0.H = 0x1234;
  10. R0.L = 0x5678;
  11. R1 = -R0;
  12. R7 = ASTAT;
  13. R2.H = 0xedcb;
  14. R2.L = 0xa988;
  15. CC = R1 == R2;
  16. IF !CC JUMP 1f;
  17. /* CLEARED: AZ V V_COPY AC0 AC0_COPY */
  18. R3.H = HI(_AZ|_V|_V_COPY|_AC0|_AC0_COPY);
  19. R3.L = LO(_AZ|_V|_V_COPY|_AC0|_AC0_COPY);
  20. R4 = R7 & R3;
  21. CC = R4 == 0;
  22. IF !CC JUMP 1f;
  23. /* SET: AN */
  24. R3.H = HI(_AN);
  25. R3.L = LO(_AN);
  26. R4 = R7 & R3;
  27. CC = R3 == R4;
  28. IF !CC JUMP 1f;
  29. /* UNAFFECTED: CC AQ RND_MOD AV0 AV0S AV1 AV1S VS AC1 */
  30. R3.H = HI(_CC|_AQ|_RND_MOD|_AV0|_AV0S|_AV1|_AV1S|_VS|_AC1);
  31. R3.L = LO(_CC|_AQ|_RND_MOD|_AV0|_AV0S|_AV1|_AV1S|_VS|_AC1);
  32. R4 = R6 & R3;
  33. R5 = R7 & R3;
  34. CC = R4 == R5;
  35. IF !CC JUMP 1f;
  36. pass
  37. 1:
  38. fail