-
- Downloads
riscv: Add basic XThead* vendor extension support
This patch add basic support for the following XThead* ISA extensions:
* XTheadBa
* XTheadBb
* XTheadBs
* XTheadCmo
* XTheadCondMov
* XTheadFMemIdx
* XTheadFmv
* XTheadInt
* XTheadMac
* XTheadMemIdx
* XTheadMemPair
* XTheadSync
The extensions are just recognized by the compiler and feature test
macros are generated (which this patch also brings tests for).
gcc/ChangeLog:
* common/config/riscv/riscv-common.cc: Add xthead* extensions.
* config/riscv/riscv-opts.h (MASK_XTHEADBA): New.
(MASK_XTHEADBB): New.
(MASK_XTHEADBS): New.
(MASK_XTHEADCMO): New.
(MASK_XTHEADCONDMOV): New.
(MASK_XTHEADFMEMIDX): New.
(MASK_XTHEADFMV): New.
(MASK_XTHEADINT): New.
(MASK_XTHEADMAC): New.
(MASK_XTHEADMEMIDX): New.
(MASK_XTHEADMEMPAIR): New.
(MASK_XTHEADSYNC): New.
(TARGET_XTHEADBA): New.
(TARGET_XTHEADBB): New.
(TARGET_XTHEADBS): New.
(TARGET_XTHEADCMO): New.
(TARGET_XTHEADCONDMOV): New.
(TARGET_XTHEADFMEMIDX): New.
(TARGET_XTHEADFMV): New.
(TARGET_XTHEADINT): New.
(TARGET_XTHEADMAC): New.
(TARGET_XTHEADMEMIDX): New.
(TARGET_XTHEADMEMPAIR): new.
(TARGET_XTHEADSYNC): New.
* config/riscv/riscv.opt: Add riscv_xthead_subext.
gcc/testsuite/ChangeLog:
* gcc.target/riscv/xtheadba.c: New test.
* gcc.target/riscv/xtheadbb.c: New test.
* gcc.target/riscv/xtheadbs.c: New test.
* gcc.target/riscv/xtheadcmo.c: New test.
* gcc.target/riscv/xtheadcondmov.c: New test.
* gcc.target/riscv/xtheadfmemidx.c: New test.
* gcc.target/riscv/xtheadfmv.c: New test.
* gcc.target/riscv/xtheadint.c: New test.
* gcc.target/riscv/xtheadmac.c: New test.
* gcc.target/riscv/xtheadmemidx.c: New test.
* gcc.target/riscv/xtheadmempair.c: New test.
* gcc.target/riscv/xtheadsync.c: New test.
Signed-off-by:
Christoph Müllner <christoph.muellner@vrull.eu>
Showing
- gcc/common/config/riscv/riscv-common.cc 26 additions, 0 deletionsgcc/common/config/riscv/riscv-common.cc
- gcc/config/riscv/riscv-opts.h 26 additions, 0 deletionsgcc/config/riscv/riscv-opts.h
- gcc/config/riscv/riscv.opt 3 additions, 0 deletionsgcc/config/riscv/riscv.opt
- gcc/testsuite/gcc.target/riscv/xtheadba.c 14 additions, 0 deletionsgcc/testsuite/gcc.target/riscv/xtheadba.c
- gcc/testsuite/gcc.target/riscv/xtheadbb.c 14 additions, 0 deletionsgcc/testsuite/gcc.target/riscv/xtheadbb.c
- gcc/testsuite/gcc.target/riscv/xtheadbs.c 14 additions, 0 deletionsgcc/testsuite/gcc.target/riscv/xtheadbs.c
- gcc/testsuite/gcc.target/riscv/xtheadcmo.c 14 additions, 0 deletionsgcc/testsuite/gcc.target/riscv/xtheadcmo.c
- gcc/testsuite/gcc.target/riscv/xtheadcondmov.c 14 additions, 0 deletionsgcc/testsuite/gcc.target/riscv/xtheadcondmov.c
- gcc/testsuite/gcc.target/riscv/xtheadfmemidx.c 14 additions, 0 deletionsgcc/testsuite/gcc.target/riscv/xtheadfmemidx.c
- gcc/testsuite/gcc.target/riscv/xtheadfmv.c 14 additions, 0 deletionsgcc/testsuite/gcc.target/riscv/xtheadfmv.c
- gcc/testsuite/gcc.target/riscv/xtheadint.c 14 additions, 0 deletionsgcc/testsuite/gcc.target/riscv/xtheadint.c
- gcc/testsuite/gcc.target/riscv/xtheadmac.c 14 additions, 0 deletionsgcc/testsuite/gcc.target/riscv/xtheadmac.c
- gcc/testsuite/gcc.target/riscv/xtheadmemidx.c 14 additions, 0 deletionsgcc/testsuite/gcc.target/riscv/xtheadmemidx.c
- gcc/testsuite/gcc.target/riscv/xtheadmempair.c 13 additions, 0 deletionsgcc/testsuite/gcc.target/riscv/xtheadmempair.c
- gcc/testsuite/gcc.target/riscv/xtheadsync.c 14 additions, 0 deletionsgcc/testsuite/gcc.target/riscv/xtheadsync.c
Loading
Please register or sign in to comment