r260393 - in /trunk/gcc: ChangeLog config/nds32...

jasonwucj@gcc.gnu.org jasonwucj@gcc.gnu.org
Sat May 19 11:03:00 GMT 2018


Author: jasonwucj
Date: Sat May 19 11:03:20 2018
New Revision: 260393

URL: https://gcc.gnu.org/viewcvs?rev=260393&root=gcc&view=rev
Log:
[NDS32] Support PIC and TLS.

gcc/
	* config/nds32/constants.md: Add TP_REGNUM constant.
	(unspec_element): Add UNSPEC_GOTINIT, UNSPEC_GOT, UNSPEC_GOTOFF,
	UNSPEC_PLT, UNSPEC_TLSGD, UNSPEC_TLSLD, UNSPEC_TLSIE, UNSPEC_TLSLE and
	UNSPEC_ADD32.
	* config/nds32/nds32-doubleword.md: Consider flag_pic.
	* config/nds32/nds32-dspext.md (mov<mode>): Expand TLS and PIC cases.
	* config/nds32/nds32-predicates.c (nds32_const_unspec_p): New.
	* config/nds32/nds32-md-auxiliary.c: Implementation that support TLS
	and PIC code generation.
	* config/nds32/nds32-protos.h: Declarations that support TLS and PIC
	code generation.
	* config/nds32/nds32-relax-opt.c: Consider TLS and PIC for relax
	optimization.
	* config/nds32/nds32.md: Support TLS and PIC.
	* config/nds32/nds32.c: Support TLS and PIC.
	* config/nds32/nds32.h (nds32_relax_insn_type): New enum type.
	* config/nds32/predicates.md (nds32_nonunspec_symbolic_operand): New
	predicate.

Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/config/nds32/constants.md
    trunk/gcc/config/nds32/nds32-doubleword.md
    trunk/gcc/config/nds32/nds32-dspext.md
    trunk/gcc/config/nds32/nds32-md-auxiliary.c
    trunk/gcc/config/nds32/nds32-predicates.c
    trunk/gcc/config/nds32/nds32-protos.h
    trunk/gcc/config/nds32/nds32-relax-opt.c
    trunk/gcc/config/nds32/nds32.c
    trunk/gcc/config/nds32/nds32.h
    trunk/gcc/config/nds32/nds32.md
    trunk/gcc/config/nds32/predicates.md



More information about the Gcc-cvs mailing list