This is the mail archive of the gcc-cvs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

egcs/gcc ChangeLog configure configure.in test ...


CVSROOT:	/cvs/gcc
Module name:	egcs
Changes by:	jakub@gcc.gnu.org	2002-10-21 13:27:14

Modified files:
	gcc            : ChangeLog configure configure.in 
	gcc/testsuite  : ChangeLog 
	gcc/config/i386: i386.c i386.h i386-protos.h i386.md 
Added files:
	gcc/testsuite/gcc.dg/tls: pic-1.c nonpic-1.c 
	gcc/testsuite/gcc.dg: 20021018-1.c 

Log message:
	* config/i386/i386.c (x86_64_sign_extended_value): Add allow_rip
	argument.  In CM_SMALL_PIC model consider SYMBOL_REFs binding locally or
	from constant pool or LABEL_REFs as sign extended if allow_rip.
	Change all +-1GB limits to +-16MB.
	(x86_64_general_operand, x86_64_szext_general_operand,
	x86_64_nonmemory_operand, x86_64_movabs_operand,
	x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
	legitimate_address_p, ix86_expand_int_movcc): Update callers.
	(local_symbolic_operand): Don't allow offsets bigger than +-16MB
	in CM_SMALL_PIC model.
	(legitimate_pic_address_disp_p): Don't check offsets before
	calling local_symbolic_operand.
	(legitimize_pic_address): Force offsets bigger than +-16MB into
	register.
	* config/i386/i386.h (EXTRA_CONSTRAINT, CONST_COSTS): Likewise.
	* config/i386/i386-protos.h (x86_64_sign_extended_value): Update
	prototype.
	
	* configure.in: Test for @GOTNTPOFF and @INDNTPOFF on IA-32 too.
	Add x86-64 test.  Set tls_first_minor to 14 on IA-32 and x86-64.
	* configure: Rebuilt.
	* config/i386/i386.c (x86_64_sign_extended_value): Don't allow TLS
	SYMBOL_REFs unless enclosed in UNSPEC.  Handle UNSPEC_DTPOFF,
	UNSPEC_GOTNTPOFF and UNSPEC_NTPOFF.
	(legitimate_address_p): Allow foo@dtpoff(base) even on TARGET_64BIT
	-fpic.
	(ix86_encode_section_info): Don't ever generate TLSGD or TLSLD for
	non-pic code if TARGET_64BIT.
	(legitimize_address): Generate 64-bit TLS sequences.
	(output_pic_addr_const): Support x86-64 TLS operators.
	(i386_output_dwarf_dtprel): Output 64-bit DTPOFF as .long f@DTPOFF, 0.
	(print_operand_address): Use %fs instead of %gs on TARGET_64BIT.
	Don't append (%rip) in 64-bit TLSGD and TLSLD sequences.
	(output_addr_const_extra): Support x86-64 TLS operators.
	(maybe_get_pool_constant): Handle TARGET_64BIT -fpic.
	(ix86_tls_get_addr): Use __tls_get_addr on TARGET_64BIT
	unconditionally.
	* config/i386/i386.md (*tls_global_dynamic_gnu): Renamed to...
	(*tls_global_dynamic_32_gnu): ..., add !TARGET_64BIT.
	(*tls_global_dynamic_sun): Renamed to...
	(*tls_global_dynamic_32_sun): ..., add !TARGET_64BIT.
	(tls_global_dynamic): Renamed to...
	(tls_global_dynamic_32): ... this.
	(tls_global_dynamic_64, *tls_global_dynamic_64): New.
	(*tls_local_dynamic_base_dynamic_gnu): Renamed to...
	(*tls_local_dynamic_base_dynamic_32_gnu): ..., add !TARGET_64BIT.
	(*tls_local_dynamic_base_dynamic_sun): Renamed to...
	(*tls_local_dynamic_base_dynamic_32_sun): ..., add !TARGET_64BIT.
	(tls_local_dynamic_base_dynamic): Renamed to...
	(tls_local_dynamic_base_dynamic_32): ... this.
	(tls_local_dynamic_base_dynamic_64,
	*tls_local_dynamic_base_dynamic_64): New.
	(*tls_local_dynamic_once): Renamed to...
	(*tls_local_dynamic_32_once): ... this.
	
	* gcc.dg/tls/pic-1.c: New test.
	* gcc.dg/tls/nonpic-1.c: New test.
	* gcc.dg/20021018-1.c: New test.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/egcs/gcc/ChangeLog.diff?cvsroot=gcc&r1=1.15742&r2=1.15743
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/egcs/gcc/configure.diff?cvsroot=gcc&r1=1.632&r2=1.633
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/egcs/gcc/configure.in.diff?cvsroot=gcc&r1=1.619&r2=1.620
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/egcs/gcc/testsuite/ChangeLog.diff?cvsroot=gcc&r1=1.2169&r2=1.2170
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/egcs/gcc/config/i386/i386.c.diff?cvsroot=gcc&r1=1.478&r2=1.479
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/egcs/gcc/config/i386/i386.h.diff?cvsroot=gcc&r1=1.298&r2=1.299
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/egcs/gcc/config/i386/i386-protos.h.diff?cvsroot=gcc&r1=1.83&r2=1.84
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/egcs/gcc/config/i386/i386.md.diff?cvsroot=gcc&r1=1.392&r2=1.393
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/egcs/gcc/testsuite/gcc.dg/tls/pic-1.c.diff?cvsroot=gcc&r1=NONE&r2=1.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/egcs/gcc/testsuite/gcc.dg/tls/nonpic-1.c.diff?cvsroot=gcc&r1=NONE&r2=1.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/egcs/gcc/testsuite/gcc.dg/20021018-1.c.diff?cvsroot=gcc&r1=NONE&r2=1.1


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]