asm.h 655 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. /*
  2. * Copyright (C) 2022, Synopsys, Inc. (www.synopsys.com)
  3. *
  4. * Licensed under the LGPL v2.1 or later, see the file COPYING.LIB in this tarball.
  5. */
  6. #ifndef _ARC_ASM_H
  7. #define _ARC_ASM_H
  8. #if defined (__ARC64_ARCH32__)
  9. .macro PUSHR reg
  10. push \reg
  11. .endm
  12. .macro PUSHR_S reg
  13. push \reg
  14. .endm
  15. .macro POPR reg
  16. pop \reg
  17. .endm
  18. .macro POPR_S reg
  19. pop \reg
  20. .endm
  21. #elif defined (__ARC64_ARCH64__)
  22. # error ARCv3 64-bit is not supported by uClibc-ng
  23. #else /* ARCHS || ARC700 */
  24. .macro PUSHR reg
  25. push \reg
  26. .endm
  27. .macro PUSHR_S reg
  28. push_s \reg
  29. .endm
  30. .macro POPR reg
  31. pop \reg
  32. .endm
  33. .macro POPR_S reg
  34. pop_s \reg
  35. .endm
  36. #endif
  37. #endif /* _ARC_ASM_H */