diff options
author | Uros Bizjak <uros@gcc.gnu.org> | 2008-05-23 09:53:16 +0200 |
---|---|---|
committer | Uros Bizjak <uros@gcc.gnu.org> | 2008-05-23 09:53:16 +0200 |
commit | 922e3e33b211d1f01056457b093c8196aff40333 (patch) | |
tree | 40050495f1a2d014b7c9ed11be27fad5038f05a0 /gcc/config.gcc | |
parent | 71995c2c69bc2484ca571b29cf376acd860c2f88 (diff) | |
download | gcc-922e3e33b211d1f01056457b093c8196aff40333.zip gcc-922e3e33b211d1f01056457b093c8196aff40333.tar.gz gcc-922e3e33b211d1f01056457b093c8196aff40333.tar.bz2 |
re PR target/36079 (cld instruction is not emitted anymore.)
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.
* doc/install.texi (Options specification): Document --enable-cld.
* doc/invoke.texi (Machine Dependent Options)
[i386 and x86-64 Options]: Add -mcld option.
(Intel 386 and AMD x86-64 Options): Document -mcld option.
From-SVN: r135792
Diffstat (limited to 'gcc/config.gcc')
-rw-r--r-- | gcc/config.gcc | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/gcc/config.gcc b/gcc/config.gcc index fa73333..efc3c4a 100644 --- a/gcc/config.gcc +++ b/gcc/config.gcc @@ -397,8 +397,16 @@ then fi case ${target} in +i[34567]86-*-*) + if test $enable_cld = yes; then + tm_defines="${tm_defines} USE_IX86_CLD=1" + fi + ;; x86_64-*-*) tm_file="i386/biarch64.h ${tm_file}" + if test $enable_cld = yes; then + tm_defines="${tm_defines} USE_IX86_CLD=1" + fi ;; esac |