-
- Downloads
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.
Showing
- gcc/config/riscv/riscv-protos.h 3 additions, 0 deletionsgcc/config/riscv/riscv-protos.h
- gcc/config/riscv/riscv.cc 57 additions, 4 deletionsgcc/config/riscv/riscv.cc
- gcc/config/riscv/riscv.h 3 additions, 0 deletionsgcc/config/riscv/riscv.h
- gcc/config/riscv/riscv.md 4 additions, 0 deletionsgcc/config/riscv/riscv.md
- gcc/config/riscv/thead.cc 77 additions, 0 deletionsgcc/config/riscv/thead.cc
- gcc/config/riscv/thead.md 67 additions, 0 deletionsgcc/config/riscv/thead.md
- gcc/testsuite/gcc.target/riscv/xtheadint-push-pop.c 36 additions, 0 deletionsgcc/testsuite/gcc.target/riscv/xtheadint-push-pop.c
Loading
Please register or sign in to comment