The first is a helper patch to allow targets to check shrink-wrap-separate 
enabled or not.
The second is zcmp extension implementation in RISC-V.

Fei Gao (2):
  allow target to check shrink-wrap-separate enabled or not
  support cm.push cm.pop cm.popret in zcmp and resolve confilct with 
shrink-wrap-separate

 gcc/config/riscv/iterators.md                 |   15 +
 gcc/config/riscv/predicates.md                |   96 ++
 gcc/config/riscv/riscv-protos.h               |    2 +
 gcc/config/riscv/riscv.cc                     |  455 ++++++-
 gcc/config/riscv/riscv.h                      |   25 +
 gcc/config/riscv/riscv.md                     |    2 +
 gcc/config/riscv/zc.md                        | 1042 +++++++++++++++++
 gcc/shrink-wrap.cc                            |   25 +-
 gcc/shrink-wrap.h                             |    1 +
 gcc/testsuite/gcc.target/riscv/rv32e_zcmp.c   |  256 ++++
 gcc/testsuite/gcc.target/riscv/rv32i_zcmp.c   |  256 ++++
 .../gcc.target/riscv/zcmp_push_fpr.c          |   34 +
 .../riscv/zcmp_shrink_wrap_separate.c         |   93 ++
 .../riscv/zcmp_shrink_wrap_separate2.c        |   93 ++
 .../gcc.target/riscv/zcmp_stack_alignment.c   |   24 +
 15 files changed, 2357 insertions(+), 62 deletions(-)
 create mode 100644 gcc/config/riscv/zc.md
 create mode 100644 gcc/testsuite/gcc.target/riscv/rv32e_zcmp.c
 create mode 100644 gcc/testsuite/gcc.target/riscv/rv32i_zcmp.c
 create mode 100644 gcc/testsuite/gcc.target/riscv/zcmp_push_fpr.c
 create mode 100644 gcc/testsuite/gcc.target/riscv/zcmp_shrink_wrap_separate.c
 create mode 100644 gcc/testsuite/gcc.target/riscv/zcmp_shrink_wrap_separate2.c
 create mode 100644 gcc/testsuite/gcc.target/riscv/zcmp_stack_alignment.c

-- 
2.17.1

Reply via email to