0024-RISC-V-costs-handle-BSWAP.patch 845 B

12345678910111213141516171819202122232425262728293031
  1. From 167a062d1a8162b9441a6c0327722e77c8afa01a Mon Sep 17 00:00:00 2001
  2. From: "yilun.xie" <yilun.xie@starfivetech.com>
  3. Date: Sun, 21 Nov 2021 21:56:18 -0800
  4. Subject: [PATCH 24/26] RISC-V: costs: handle BSWAP
  5. ---
  6. gcc/config/riscv/riscv.c | 8 ++++++++
  7. 1 file changed, 8 insertions(+)
  8. diff --git a/gcc/config/riscv/riscv.c b/gcc/config/riscv/riscv.c
  9. index 61666b8b2f6..8e22e36eaaf 100644
  10. --- a/gcc/config/riscv/riscv.c
  11. +++ b/gcc/config/riscv/riscv.c
  12. @@ -2110,6 +2110,14 @@ riscv_rtx_costs (rtx x, machine_mode mode, int outer_code, int opno ATTRIBUTE_UN
  13. *total = riscv_extend_cost (XEXP (x, 0), GET_CODE (x) == ZERO_EXTEND);
  14. return false;
  15. + case BSWAP:
  16. + if (TARGET_ZBB)
  17. + {
  18. + *total = COSTS_N_INSNS (1);
  19. + return true;
  20. + }
  21. + return false;
  22. +
  23. case FLOAT:
  24. case UNSIGNED_FLOAT:
  25. case FIX:
  26. --
  27. 2.33.1