gcc/libgcc
Kito Cheng 09baee1ab1 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.

Co-Authored-By: Jim Wilson <jimw@sifive.com>
Co-Authored-By: Monk Chiang <sh.chiang04@gmail.com>

From-SVN: r260384
2018-05-18 15:53:55 -07:00
..
config RISC-V: Add RV32E support. 2018-05-18 15:53:55 -07:00
soft-fp
ChangeLog RISC-V: Add RV32E support. 2018-05-18 15:53:55 -07:00
config.host config.host (x86_64-*-rtems*): Build crti.o and crtn.o. 2018-05-07 16:32:09 +00:00
config.in re PR debug/83917 (with -mcall-ms2sysv-xlogues, stepping into x86 tail-call restore stub gives bad backtrace) 2018-02-28 09:59:15 +01:00
configure Regenerate configure of target libraries 2018-04-24 09:45:26 -07:00
configure.ac re PR debug/83917 (with -mcall-ms2sysv-xlogues, stepping into x86 tail-call restore stub gives bad backtrace) 2018-02-28 09:59:15 +01:00
crtstuff.c Update copyright years. 2018-01-03 11:03:58 +01:00
dfp-bit.c Update copyright years. 2018-01-03 11:03:58 +01:00
dfp-bit.h Update copyright years. 2018-01-03 11:03:58 +01:00
divmod.c Update copyright years. 2018-01-03 11:03:58 +01:00
empty.mk
emutls.c Update copyright years. 2018-01-03 11:03:58 +01:00
enable-execute-stack-empty.c
enable-execute-stack-mprotect.c Update copyright years. 2018-01-03 11:03:58 +01:00
find-symver.awk Update copyright years. 2018-01-03 11:03:58 +01:00
fixed-bit.c Update copyright years. 2018-01-03 11:03:58 +01:00
fixed-bit.h Update copyright years. 2018-01-03 11:03:58 +01:00
fixed-obj.mk
floatunsidf.c
floatunsisf.c
floatunsitf.c
floatunsixf.c
fp-bit.c Update copyright years. 2018-01-03 11:03:58 +01:00
fp-bit.h Update copyright years. 2018-01-03 11:03:58 +01:00
gbl-ctors.h Update copyright years. 2018-01-03 11:03:58 +01:00
gcov.h Update copyright years. 2018-01-03 11:03:58 +01:00
gen-fixed.sh
generic-morestack-thread.c Update copyright years. 2018-01-03 11:03:58 +01:00
generic-morestack.c Update copyright years. 2018-01-03 11:03:58 +01:00
generic-morestack.h Update copyright years. 2018-01-03 11:03:58 +01:00
gstdint.h
gthr-posix.h Update copyright years. 2018-01-03 11:03:58 +01:00
gthr-single.h Update copyright years. 2018-01-03 11:03:58 +01:00
gthr.h Update copyright years. 2018-01-03 11:03:58 +01:00
libgcc2.c Update copyright years. 2018-01-03 11:03:58 +01:00
libgcc2.h Update copyright years. 2018-01-03 11:03:58 +01:00
libgcc-std.ver.in Update copyright years. 2018-01-03 11:03:58 +01:00
libgcov-driver-system.c Update copyright years. 2018-01-03 11:03:58 +01:00
libgcov-driver.c Update copyright years. 2018-01-03 11:03:58 +01:00
libgcov-interface.c Update copyright years. 2018-01-03 11:03:58 +01:00
libgcov-merge.c Update copyright years. 2018-01-03 11:03:58 +01:00
libgcov-profiler.c Update copyright years. 2018-01-03 11:03:58 +01:00
libgcov-util.c Update copyright years. 2018-01-03 11:03:58 +01:00
libgcov.h Update copyright years. 2018-01-03 11:03:58 +01:00
Makefile.in Update copyright years. 2018-01-03 11:03:58 +01:00
memcmp.c
memcpy.c
memmove.c
memset.c
mkheader.sh Update copyright years. 2018-01-03 11:03:58 +01:00
mkmap-flat.awk Update copyright years. 2018-01-03 11:03:58 +01:00
mkmap-symver.awk Update copyright years. 2018-01-03 11:03:58 +01:00
offloadstuff.c Update copyright years. 2018-01-03 11:03:58 +01:00
shared-object.mk
siditi-object.mk
static-object.mk
sync.c Update copyright years. 2018-01-03 11:03:58 +01:00
udivmod.c Update copyright years. 2018-01-03 11:03:58 +01:00
udivmodsi4.c Update copyright years. 2018-01-03 11:03:58 +01:00
unwind-arm-common.inc Update copyright years. 2018-01-03 11:03:58 +01:00
unwind-c.c Update copyright years. 2018-01-03 11:03:58 +01:00
unwind-compat.c Update copyright years. 2018-01-03 11:03:58 +01:00
unwind-compat.h Update copyright years. 2018-01-03 11:03:58 +01:00
unwind-dw2-fde-compat.c Update copyright years. 2018-01-03 11:03:58 +01:00
unwind-dw2-fde-dip.c Update copyright years. 2018-01-03 11:03:58 +01:00
unwind-dw2-fde.c Update copyright years. 2018-01-03 11:03:58 +01:00
unwind-dw2-fde.h Update copyright years. 2018-01-03 11:03:58 +01:00
unwind-dw2.c SVE unwinding 2018-01-13 17:56:52 +00:00
unwind-dw2.h Update copyright years. 2018-01-03 11:03:58 +01:00
unwind-generic.h libgcc/CET: Skip signal frames when unwinding shadow stack 2018-04-19 10:05:39 -07:00
unwind-pe.h Update copyright years. 2018-01-03 11:03:58 +01:00
unwind-seh.c Update copyright years. 2018-01-03 11:03:58 +01:00
unwind-sjlj.c Update copyright years. 2018-01-03 11:03:58 +01:00
unwind.inc libgcc/CET: Skip signal frames when unwinding shadow stack 2018-04-19 10:05:39 -07:00
vtv_end_preinit.c Update copyright years. 2018-01-03 11:03:58 +01:00
vtv_end.c Update copyright years. 2018-01-03 11:03:58 +01:00
vtv_start_preinit.c Update copyright years. 2018-01-03 11:03:58 +01:00
vtv_start.c Update copyright years. 2018-01-03 11:03:58 +01:00