diff options
author | Jakub Jelinek <jakub@redhat.com> | 2002-03-29 09:25:10 +0100 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2002-03-29 09:25:10 +0100 |
commit | f17f93326d7d690113c87abf1532bd9f4be8301f (patch) | |
tree | 27472513448efb25e1c2f9cda0600c46b459b56e /gcc/tree.c | |
parent | 13992acae2173c407373b2a71f29f565db596324 (diff) | |
download | gcc-f17f93326d7d690113c87abf1532bd9f4be8301f.zip gcc-f17f93326d7d690113c87abf1532bd9f4be8301f.tar.gz gcc-f17f93326d7d690113c87abf1532bd9f4be8301f.tar.bz2 |
re PR c++/5964 (g++ generates code that results in "word displacement will not fit in 16 bits" on sparcv9)
PR c++/5964
* config/sparc/sparc.md (empty_delay_slot, branch_type): New
attributes.
(length): Compute variable length for branches/calls/jumps here.
(branch, inverted_branch, normal_fp_branch, inverted_fp_branch,
normal_fpe_branch, inverted_fpe_branch): Remove length attribute,
define branch_type attribute.
(divsi3_sp32): Maximum length is 6 not 7.
(call_address_struct_value_sp32, call_symbolic_struct_value_sp32,
call_address_untyped_struct_value_sp32,
call_symbolic_untyped_struct_value_sp32): Set length to 3 not 2.
* config/sparc/sparc.c (empty_delay_slot): New function.
* config/sparc/sparc.h (ADJUST_INSN_LENGTH): Remove.
* config/sparc/sparc-protos.h (empty_delay_slot): Add prototype.
* g++.dg/opt/longbranch1.C: New test.
From-SVN: r51557
Diffstat (limited to 'gcc/tree.c')
0 files changed, 0 insertions, 0 deletions