vr.h 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. /* Definitions of target machine for GNU compiler.
  2. NEC VR Series Processors
  3. Copyright (C) 2002-2015 Free Software Foundation, Inc.
  4. Contributed by Red Hat, Inc.
  5. This file is part of GCC.
  6. GCC is free software; you can redistribute it and/or modify
  7. it under the terms of the GNU General Public License as published by
  8. the Free Software Foundation; either version 3, or (at your option)
  9. any later version.
  10. GCC is distributed in the hope that it will be useful,
  11. but WITHOUT ANY WARRANTY; without even the implied warranty of
  12. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  13. GNU General Public License for more details.
  14. You should have received a copy of the GNU General Public License
  15. along with GCC; see the file COPYING3. If not see
  16. <http://www.gnu.org/licenses/>. */
  17. #define DEFAULT_VR_ARCH "mfix-vr4130"
  18. #undef MULTILIB_DEFAULTS
  19. #define MULTILIB_DEFAULTS \
  20. { MULTILIB_ENDIAN_DEFAULT, \
  21. MULTILIB_ABI_DEFAULT, \
  22. DEFAULT_VR_ARCH }
  23. #undef DRIVER_SELF_SPECS
  24. #define DRIVER_SELF_SPECS \
  25. /* Enforce the default architecture. This is mostly for \
  26. the assembler's benefit. */ \
  27. "%{!march=*:%{!mfix-vr4120:%{!mfix-vr4130:" \
  28. "-" DEFAULT_VR_ARCH "}}}", \
  29. \
  30. /* Make -mfix-vr4120 imply -march=vr4120. This cuts down \
  31. on command-line tautology and makes it easier for t-vr to \
  32. provide a -mfix-vr4120 multilib. */ \
  33. "%{mfix-vr4120:%{!march=*:-march=vr4120}}", \
  34. \
  35. /* Same idea for -mfix-vr4130. */ \
  36. "%{mfix-vr4130:%{!march=*:-march=vr4130}}", \
  37. \
  38. /* Infer the default float setting from -march. */ \
  39. MIPS_ARCH_FLOAT_SPEC, \
  40. \
  41. /* Make -mabi=eabi -mlong32 the default. */ \
  42. "%{!mabi=*:-mabi=eabi %{!mlong*:-mlong32}}", \
  43. \
  44. /* Make sure -mlong64 multilibs are chosen when 64-bit longs \
  45. are needed. */ \
  46. "%{mabi=eabi:%{!mlong*:%{!mgp32:-mlong64}}}", \
  47. \
  48. /* Remove -mgp32 if it is redundant. */ \
  49. "%{mabi=32:%<mgp32}", \
  50. \
  51. /* Configuration-independent MIPS rules. */ \
  52. BASE_DRIVER_SELF_SPECS