r237156 - in /trunk/gcc: ChangeLog config/i386/...

uros@gcc.gnu.org uros@gcc.gnu.org
Mon Jun 6 22:35:00 GMT 2016


Author: uros
Date: Mon Jun  6 22:35:18 2016
New Revision: 237156

URL: https://gcc.gnu.org/viewcvs?rev=237156&root=gcc&view=rev
Log:
	* config/i386/i386.h (enum ix86_enitity): Add X86_DIRFLAG.
	(enum x86_dirflag_state): New enum.
	(NUM_MODES_FOR_MODE_SWITCHING): Add X86_DIRFLAG_ANY.
	(machine_function): Remove needs_cld.
	(ix86_current_function_needs_cld): Remove.
	* config/i386/i386.c (ix86_set_func_type): Set
	ix86_optimize_mode_switching[X86_DIRFLAG] to 1.
	(ix86_expand_prologue): Do not emit CLD here.
	(ix86_dirflag_mode_needed): New function.
	(ix86_dirflag_mode_entry): Ditto.
	(ix86_mode_needed): Handle X86_DIRFLAG entity.
	(ix86_mode_after): Ditto.
	(ix86_mode_entry): Ditto.
	(ix86_mode_exit): Ditto.
	(ix86_emit_mode_set): Ditto.
	* config/i386/i386.md (strmov_singleop): Set
	ix86_optimize_mode_switching[X86_DIRFLAG] to 1 for TARGET_CLD.
	Do not set ix86_current_function_needs_cld.
	(rep_mov): Ditto.
	(strset_singleop): Ditto.
	(rep_stos): Ditto.
	(cmpstrnqi_nz_1): Ditto.
	(cmpstrnqi_1): Ditto.
	(strlenqi_1): Ditto.


Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/config/i386/i386.c
    trunk/gcc/config/i386/i386.h
    trunk/gcc/config/i386/i386.md



More information about the Gcc-cvs mailing list