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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@51557 138bc75d-0d04-0410-961f-82ee72b054a4
Showing
- gcc/ChangeLog 17 additions, 0 deletionsgcc/ChangeLog
- gcc/config/sparc/sparc-protos.h 1 addition, 0 deletionsgcc/config/sparc/sparc-protos.h
- gcc/config/sparc/sparc.c 20 additions, 0 deletionsgcc/config/sparc/sparc.c
- gcc/config/sparc/sparc.h 0 additions, 8 deletionsgcc/config/sparc/sparc.h
- gcc/config/sparc/sparc.md 81 additions, 98 deletionsgcc/config/sparc/sparc.md
- gcc/testsuite/ChangeLog 2 additions, 0 deletionsgcc/testsuite/ChangeLog
- gcc/testsuite/g++.dg/opt/longbranch1.C 36 additions, 0 deletionsgcc/testsuite/g++.dg/opt/longbranch1.C
Loading
Please register or sign in to comment