aboutsummaryrefslogtreecommitdiff
path: root/gcc/c
diff options
context:
space:
mode:
authorJin Ma <jinma@linux.alibaba.com>2023-11-17 15:33:25 +0800
committerChristoph Müllner <christoph.muellner@vrull.eu>2024-01-10 18:55:07 +0100
commit52e809d5cf345ce01fc81be716a57f5b6d5b4545 (patch)
treeda79eaa020c69f80976c942ce402b7b02808f4cb /gcc/c
parent7cbe41d35e6a60776484e04e42e408de9fc82954 (diff)
downloadgcc-52e809d5cf345ce01fc81be716a57f5b6d5b4545.zip
gcc-52e809d5cf345ce01fc81be716a57f5b6d5b4545.tar.gz
gcc-52e809d5cf345ce01fc81be716a57f5b6d5b4545.tar.bz2
RISC-V: T-HEAD: Add support for the XTheadInt ISA extension
The XTheadInt ISA extension provides the following instructions to accelerate interrupt processing: * th.ipush * th.ipop Ref: https://github.com/T-head-Semi/thead-extension-spec/releases/download/2.3.0/xthead-2023-11-10-2.3.0.pdf gcc/ChangeLog: * config/riscv/riscv-protos.h (th_int_get_mask): New prototype. (th_int_get_save_adjustment): Likewise. (th_int_adjust_cfi_prologue): Likewise. * config/riscv/riscv.cc (BITSET_P): Moved away from here. (TH_INT_INTERRUPT): New macro. (riscv_expand_prologue): Add the processing of XTheadInt. (riscv_expand_epilogue): Likewise. * config/riscv/riscv.h (BITSET_P): Moved to here. * config/riscv/riscv.md: New unspec. * config/riscv/thead.cc (th_int_get_mask): New function. (th_int_get_save_adjustment): Likewise. (th_int_adjust_cfi_prologue): Likewise. * config/riscv/thead.md (th_int_push): New pattern. (th_int_pop): new pattern. gcc/testsuite/ChangeLog: * gcc.target/riscv/xtheadint-push-pop.c: New test.
Diffstat (limited to 'gcc/c')
0 files changed, 0 insertions, 0 deletions