[Bug target/36079] [4.3/4.4 Regression] cld instruction is not emitted anymore.

uros at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Wed May 21 08:55:00 GMT 2008



------- Comment #11 from uros at gcc dot gnu dot org  2008-05-21 08:54 -------
Subject: Bug 36079

Author: uros
Date: Wed May 21 08:54:15 2008
New Revision: 135711

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=135711
Log:
        PR target/36079
        * configure.ac: Handle --enable-cld.
        * configure: Regenerated.
        * config.gcc: Add USE_IX86_CLD to tm_defines for x86 targets.
        * config/i386/i386.h (struct machine_function): Add needs_cld field.
        (ix86_current_function_needs_cld): New define.
        * config/i386/i386.md (UNSPEC_CLD): New unspec volatile constant.
        (cld): New isns pattern.
        (strmov_singleop, rep_mov, strset_singleop, rep_stos, cmpstrnqi_nz_1,
        cmpstrnqi_1, strlenqi_1): Set ix86_current_function_needs_cld flag.
        * config/i386/i386.opt (mcld): New option.
        * config/i386/i386.c (ix86_expand_prologue): Emit cld insn if
        TARGET_CLD and ix86_current_function_needs_cld.
        (override_options): Use -mcld by default for 32-bit code if
        USE_IX86_CLD.


Modified:
    branches/gcc-4_3-branch/gcc/ChangeLog
    branches/gcc-4_3-branch/gcc/config.gcc
    branches/gcc-4_3-branch/gcc/config/i386/i386.c
    branches/gcc-4_3-branch/gcc/config/i386/i386.h
    branches/gcc-4_3-branch/gcc/config/i386/i386.md
    branches/gcc-4_3-branch/gcc/config/i386/i386.opt
    branches/gcc-4_3-branch/gcc/configure
    branches/gcc-4_3-branch/gcc/configure.ac


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36079



More information about the Gcc-bugs mailing list