RISCVTargetParser.def 1.3 KB

1234567891011121314151617181920212223242526272829303132333435
  1. #ifndef PROC_ALIAS
  2. #define PROC_ALIAS(NAME, RV32, RV64)
  3. #endif
  4. PROC_ALIAS("generic", "generic-rv32", "generic-rv64")
  5. PROC_ALIAS("rocket", "rocket-rv32", "rocket-rv64")
  6. PROC_ALIAS("sifive-7-series", "sifive-7-rv32", "sifive-7-rv64")
  7. #undef PROC_ALIAS
  8. #ifndef PROC
  9. #define PROC(ENUM, NAME, FEATURES, DEFAULT_MARCH)
  10. #endif
  11. PROC(INVALID, {"invalid"}, FK_INVALID, {""})
  12. PROC(GENERIC_RV32, {"generic-rv32"}, FK_NONE, {""})
  13. PROC(GENERIC_RV64, {"generic-rv64"}, FK_64BIT, {""})
  14. PROC(ROCKET_RV32, {"rocket-rv32"}, FK_NONE, {""})
  15. PROC(ROCKET_RV64, {"rocket-rv64"}, FK_64BIT, {""})
  16. PROC(SIFIVE_732, {"sifive-7-rv32"}, FK_NONE, {""})
  17. PROC(SIFIVE_764, {"sifive-7-rv64"}, FK_64BIT, {""})
  18. PROC(SIFIVE_E20, {"sifive-e20"}, FK_NONE, {"rv32imc"})
  19. PROC(SIFIVE_E21, {"sifive-e21"}, FK_NONE, {"rv32imac"})
  20. PROC(SIFIVE_E24, {"sifive-e24"}, FK_NONE, {"rv32imafc"})
  21. PROC(SIFIVE_E31, {"sifive-e31"}, FK_NONE, {"rv32imac"})
  22. PROC(SIFIVE_E34, {"sifive-e34"}, FK_NONE, {"rv32imafc"})
  23. PROC(SIFIVE_E76, {"sifive-e76"}, FK_NONE, {"rv32imafc"})
  24. PROC(SIFIVE_S21, {"sifive-s21"}, FK_64BIT, {"rv64imac"})
  25. PROC(SIFIVE_S51, {"sifive-s51"}, FK_64BIT, {"rv64imac"})
  26. PROC(SIFIVE_S54, {"sifive-s54"}, FK_64BIT, {"rv64gc"})
  27. PROC(SIFIVE_S76, {"sifive-s76"}, FK_64BIT, {"rv64gc"})
  28. PROC(SIFIVE_U54, {"sifive-u54"}, FK_64BIT, {"rv64gc"})
  29. PROC(SIFIVE_U74, {"sifive-u74"}, FK_64BIT, {"rv64gc"})
  30. #undef PROC