r260384 - in /trunk: gcc/ChangeLog gcc/common/c...

wilson@gcc.gnu.org wilson@gcc.gnu.org
Fri May 18 22:53:00 GMT 2018


Author: wilson
Date: Fri May 18 22:53:55 2018
New Revision: 260384

URL: https://gcc.gnu.org/viewcvs?rev=260384&root=gcc&view=rev
Log:
RISC-V: Add RV32E support.

	Kito Cheng <kito.cheng@gmail.com>
	Monk Chiang  <sh.chiang04@gmail.com>

	gcc/
	* common/config/riscv/riscv-common.c (riscv_parse_arch_string):
	Add support to parse rv32e*.  Clear MASK_RVE for rv32i and rv64i.
	* config.gcc (riscv*-*-*): Add support for rv32e* and ilp32e.
	* config/riscv/riscv-c.c (riscv_cpu_cpp_builtins): Define
	__riscv_32e when TARGET_RVE.  Handle ABI_ILP32E as soft-float ABI.
	* config/riscv/riscv-opts.h (riscv_abi_type): Add ABI_ILP32E.
	* config/riscv/riscv.c (riscv_compute_frame_info): When TARGET_RVE,
	compute save_libcall_adjustment properly.
	(riscv_option_override): Call error if TARGET_RVE and not ABI_ILP32E.
	(riscv_conditional_register_usage): Handle TARGET_RVE and ABI_ILP32E.
	* config/riscv/riscv.h (UNITS_PER_FP_ARG): Handle ABI_ILP32E.
	(STACK_BOUNDARY, ABI_STACK_BOUNDARY): Handle TARGET_RVE.
	(GP_REG_LAST, MAX_ARGS_IN_REGISTERS): Likewise.
	(ABI_SPEC): Handle mabi=ilp32e.
	* config/riscv/riscv.opt (abi_type): Add ABI_ILP32E.
	(RVE): Add RVE mask.
	* doc/invoke.texi (RISC-V options) <-mabi>: Add ilp32e info.
	<-march>: Add rv32e as an example.

	gcc/testsuite/
	* gcc.dg/stack-usage-1.c: Add support for rv32e.

	libgcc/
	* config/riscv/save-restore.S: Add support for rv32e.

Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/common/config/riscv/riscv-common.c
    trunk/gcc/config.gcc
    trunk/gcc/config/riscv/riscv-c.c
    trunk/gcc/config/riscv/riscv-opts.h
    trunk/gcc/config/riscv/riscv.c
    trunk/gcc/config/riscv/riscv.h
    trunk/gcc/config/riscv/riscv.opt
    trunk/gcc/doc/invoke.texi
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/testsuite/gcc.dg/stack-usage-1.c
    trunk/libgcc/ChangeLog
    trunk/libgcc/config/riscv/save-restore.S



More information about the Gcc-cvs mailing list