aboutsummaryrefslogtreecommitdiff
path: root/gcc/c-common.c
diff options
context:
space:
mode:
authorUros Bizjak <uros@gcc.gnu.org>2009-11-03 08:53:05 +0100
committerUros Bizjak <uros@gcc.gnu.org>2009-11-03 08:53:05 +0100
commit55a19d494b903ffdf754217d3ff5bc66d1ad1954 (patch)
tree98edb715c3d959ea46c8fc662edb84967cd18a61 /gcc/c-common.c
parentb511afdd35b357f589d446ce315aea5e2649d0cc (diff)
downloadgcc-55a19d494b903ffdf754217d3ff5bc66d1ad1954.zip
gcc-55a19d494b903ffdf754217d3ff5bc66d1ad1954.tar.gz
gcc-55a19d494b903ffdf754217d3ff5bc66d1ad1954.tar.bz2
re PR target/41900 (call *%esp shouldn't be generated because of CPU errata)
PR target/41900 * config/i386/i386.h (ix86_arch_indices) <X86_ARCH_CALL_ESP>: New. (TARGET_CALL_ESP): New define. * config/i386/i386.c (initial_ix86_tune_features): Initialize X86_ARCH_CALL_ESP. * config/i386/i386.md (*call_pop_1_esp, *call_1_esp, *call_value_pop_1_esp, *call_value_1_esp): Rename from *call_pop_1, *call_1, *call_value_pop_1 and *call_value_1. Depend on TARGET_CALL_ESP. (*call_pop_1, *call_1, *call_value_pop_1, *call_value_1): New patterns, use "lsm" as operand 1 constraint. * config/i386/predicates.md (call_insn_operand): Depend on index_register_operand for !TARGET_CALL_ESP to avoid %esp register. testsuite/ChangeLog: PR target/41900 * gcc.target/i386/pr41900.c: New test. From-SVN: r153838
Diffstat (limited to 'gcc/c-common.c')
0 files changed, 0 insertions, 0 deletions