gcc/gcc ChangeLog cse.c config/i386/i386.c con ...

jakub@gcc.gnu.org jakub@gcc.gnu.org
Tue Feb 25 02:23:00 GMT 2003


CVSROOT:	/cvs/gcc
Module name:	gcc
Branch: 	gcc-3_2-rhl8-branch
Changes by:	jakub@gcc.gnu.org	2003-02-25 02:23:30

Modified files:
	gcc            : ChangeLog cse.c 
	gcc/config/i386: i386.c i386.h i386.md linux.h linux64.h 

Log message:
	2003-02-24  Richard Henderson  <rth@redhat.com>
	
	* config/i386/i386.c (struct ix86_address): Add seg.
	(no_seg_address_operand): New function.
	(ix86_decompose_address): Support segment overrides.
	(ix86_address_cost): Take segment overrides into account.
	(legitimate_address_p): Remove UNSPEC_TP special casing.
	(get_thread_pointer): Add to_reg argument.
	(legitimize_address): Move TLS emit code...
	(legitimize_tls_address): ...here.  New function.
	(print_operand_address): Handle segment overrides.
	(ix86_expand_move): Use legitimize_tls_address.
	* config/i386/i386.h (MASK_SVR3_SHLIB, TARGET_SVR3_SHLIB): Remove.
	(MASK_TLS_DIRECT_SEG_REFS, TARGET_TLS_DIRECT_SEG_REFS): Define.
	(TARGET_SWITCHES): Remove -msvr3-shlib, add
	TARGET_TLS_DIRECT_SEG_REFS_DEFAULT to default.
	(TARGET_TLS_DIRECT_SEG_REFS_DEFAULT): Define to 0 if not defined.
	(RTX_COSTS): Handle segment overrides.
	(PREDICATE_CODES): Add no_seg_address_operand.
	* config/i386/i386.md (UNSPEC_TP_MEM): Define.
	(lea_1, lea_1_rex64, lea_1_zext, lea_2_rex64): Use
	no_seg_address_operand.
	(load_tp_si, load_tp_di, add_tp_si, add_tp_di): New insns.
	* config/i386/linux.h (TARGET_TLS_DIRECT_SEG_REFS_DEFAULT): Define.
	* config/i386/linux64.h (TARGET_TLS_DIRECT_SEG_REFS_DEFAULT): Define.
	
	* cse.c (find_best_addr): Consider binary operators even if second
	argument is not CONST_INT.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-3_2-rhl8-branch&r1=1.13152.2.657.2.27.2.76&r2=1.13152.2.657.2.27.2.77
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cse.c.diff?cvsroot=gcc&only_with_tag=gcc-3_2-rhl8-branch&r1=1.218.2.3&r2=1.218.2.3.4.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/i386/i386.c.diff?cvsroot=gcc&only_with_tag=gcc-3_2-rhl8-branch&r1=1.368.2.19.2.2.2.21&r2=1.368.2.19.2.2.2.22
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/i386/i386.h.diff?cvsroot=gcc&only_with_tag=gcc-3_2-rhl8-branch&r1=1.243.2.8.4.17&r2=1.243.2.8.4.18
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/i386/i386.md.diff?cvsroot=gcc&only_with_tag=gcc-3_2-rhl8-branch&r1=1.339.2.13.2.1.2.11&r2=1.339.2.13.2.1.2.12
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/i386/linux.h.diff?cvsroot=gcc&only_with_tag=gcc-3_2-rhl8-branch&r1=1.34.2.2.8.2&r2=1.34.2.2.8.3
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/i386/linux64.h.diff?cvsroot=gcc&only_with_tag=gcc-3_2-rhl8-branch&r1=1.3.10.6.4.4&r2=1.3.10.6.4.5



More information about the Gcc-cvs mailing list