[00/10,RISCV] Fix/improve the RISCV backend

Message ID 1660860233-11175-1-git-send-email-apinski@marvell.com
Headers
Series Fix/improve the RISCV backend |

Message

Li, Pan2 via Gcc-patches Aug. 18, 2022, 10:03 p.m. UTC
  From: Andrew Pinski <apinski@marvell.com>

This set of patches fixes a few RISCV issues and does a few
cleanups. Including moving all of the iterators to iterators.md like
many newer backends.
It also fixes a few PRs which I filed including the RISCV32 issue
with ZBS enabled.

Thanks,
Andrew Pinski

Andrew Pinski (10):
  [RISCV] Move iterators from riscv.md to iterators.md
  [RISCV] Move iterators from bitmanip.md to iterators.md
  [RISCV] Move iterators from sync.md to iterators.md
  [RISCV] Add the list of operand modifiers to riscv.md too
  [RISCV] Add %~ to print w if TARGET_64BIT and use it
  [RISCV] Use constraints/predicates instead of checking const_int
    directly for shNadd patterns
  [RISCV] Use a constraint for bset<mode>_mask and bset<mode>_1_mask
  [RISCV] Fix PR 106586: riscv32 vs ZBS
  [RISCV] Add constraints for
    not_single_bit_mask_operand/single_bit_mask_operand
  [RISCV] Fix PR 106632 and PR 106588 a few constraints in bitmanip.md

 gcc/config/riscv/bitmanip.md    |  56 ++------
 gcc/config/riscv/constraints.md |  28 ++++
 gcc/config/riscv/iterators.md   | 245 ++++++++++++++++++++++++++++++++
 gcc/config/riscv/predicates.md  |   9 +-
 gcc/config/riscv/riscv.cc       |  35 ++++-
 gcc/config/riscv/riscv.h        |   4 +-
 gcc/config/riscv/riscv.md       | 199 +++-----------------------
 gcc/config/riscv/sync.md        |   4 -
 8 files changed, 352 insertions(+), 228 deletions(-)
 create mode 100644 gcc/config/riscv/iterators.md
  

Comments

Palmer Dabbelt Aug. 22, 2022, 8:44 p.m. UTC | #1
On Thu, 18 Aug 2022 15:03:43 PDT (-0700), gcc-patches@gcc.gnu.org wrote:
> From: Andrew Pinski <apinski@marvell.com>
>
> This set of patches fixes a few RISCV issues and does a few
> cleanups. Including moving all of the iterators to iterators.md like
> many newer backends.
> It also fixes a few PRs which I filed including the RISCV32 issue
> with ZBS enabled.
>
> Thanks,
> Andrew Pinski
>
> Andrew Pinski (10):
>   [RISCV] Move iterators from riscv.md to iterators.md
>   [RISCV] Move iterators from bitmanip.md to iterators.md
>   [RISCV] Move iterators from sync.md to iterators.md
>   [RISCV] Add the list of operand modifiers to riscv.md too
>   [RISCV] Add %~ to print w if TARGET_64BIT and use it
>   [RISCV] Use constraints/predicates instead of checking const_int
>     directly for shNadd patterns
>   [RISCV] Use a constraint for bset<mode>_mask and bset<mode>_1_mask
>   [RISCV] Fix PR 106586: riscv32 vs ZBS
>   [RISCV] Add constraints for
>     not_single_bit_mask_operand/single_bit_mask_operand
>   [RISCV] Fix PR 106632 and PR 106588 a few constraints in bitmanip.md
>
>  gcc/config/riscv/bitmanip.md    |  56 ++------
>  gcc/config/riscv/constraints.md |  28 ++++
>  gcc/config/riscv/iterators.md   | 245 ++++++++++++++++++++++++++++++++
>  gcc/config/riscv/predicates.md  |   9 +-
>  gcc/config/riscv/riscv.cc       |  35 ++++-
>  gcc/config/riscv/riscv.h        |   4 +-
>  gcc/config/riscv/riscv.md       | 199 +++-----------------------
>  gcc/config/riscv/sync.md        |   4 -
>  8 files changed, 352 insertions(+), 228 deletions(-)
>  create mode 100644 gcc/config/riscv/iterators.md

Aside from the minor issue I pointed out in my reply to 10, these all 
look good to me.  Thanks!