Bug 55285 - Botan regression on ia-64 at Mar-2012
Summary: Botan regression on ia-64 at Mar-2012
Status: RESOLVED FIXED
Alias: None
Product: gcc
Classification: Unclassified
Component: target (show other bugs)
Version: 4.8.0
: P3 normal
Target Milestone: ---
Assignee: Not yet assigned to anyone
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-11-12 12:03 UTC by Jan Hubicka
Modified: 2013-03-23 19:40 UTC (History)
2 users (show)

See Also:
Host:
Target:
Build:
Known to work:
Known to fail:
Last reconfirmed: 2012-11-12 00:00:00


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jan Hubicka 2012-11-12 12:03:51 UTC
http://gcc.opensuse.org/c++bench-terbium/botan/botan-summary.txt-1-0.html
shows big regression starting at 2012-03-27
120327.00779 305.24 122247 3599672 73.92 66.60 59.75 48.67 34.98 37.77 27.62 18.96 11.60 29.81 12.71 30.92 45.21 5.05 17.62 39.46 13.04 39.48 31.94 26.33 26.60 44.17 21.35 25.46 84.52 29.83 61.67 29.81 40.88 41.00 35.67 21.19 11.50 5.79 2.94 62.12 40.88 19.23 68.35 122.40 143.46 1097.96 245.17 242.69 90.38 119.04 4.34 165.42 121.75 114.69 68.42 65.40 51.00 109.29 109.04 72.23 56.15 45.92 65.38 23.77 0.75 0.37 
120327.66131 397.96 130439 4987752 42.15 39.60 37.21 33.81 27.98 32.10 17.83 13.42 7.35 24.96 11.75 25.85 25.29 3.06 16.35 31.48 10.52 31.56 26.54 24.27 20.62 38.62 18.81 19.79 45.44 25.04 48.00 24.98 28.71 28.77 25.58 13.17 6.73 3.29 1.65 36.67 27.90 13.71 24.90 55.40 67.98 1097.29 245.29 242.83 64.12 85.94 1.55 129.31 101.46 95.79 63.88 37.83 33.19 111.29 110.35 68.75 55.50 33.62 37.85 17.12 0.53 0.26 

Patches approximately in this range include:

2012-03-27  Aurelien Buhrig  <aurelien.buhrig.gcc@gmail.com>

        PR middle-end/51893
        * expmed.c (store_bit_field_1): Fix wordnum value for big-endian
        targets.

2012-03-27  Martin Jambor  <mjambor@suse.cz>

        PR middle-end/52693
        * tree-sra.c (sra_modify_assign): Do not call
        load_assign_lhs_subreplacements when working with an unscalarizable
        region.

2012-03-27  H.J. Lu  <hongjiu.lu@intel.com>

        * opth-gen.awk: Allocated a bit for Mask and InverseMask if it
        hasn't been allocated.  Define a target macro for Mask and
        InverseMask if it hasn't been defined.  Remove MaskExists handling.

        * doc/options.texi: Remove MaskExists.

2012-03-27  Richard Guenther  <rguenther@suse.de>

        PR middle-end/52720
        * fold-const.c (try_move_mult_to_index): Handle &x.array more
        explicitely.

2012-03-27  Eric Botcazou  <ebotcazou@adacore.com>

        * expmed.c (store_bit_field): Assert that BITREGION_START is a multiple
        of a unit before computing the offset in units.
        * expr.c (get_bit_range): Return the null range if the enclosing record
        is part of a larger bit field.

2012-03-27  Tristan Gingold  <gingold@adacore.com>

        * config/ia64/vms.h (CASE_VECTOR_MODE): Define.
        * config/ia64/ia64.md: Remove mode in template.
        Sign extend operand in expand_simple_binop.
        * config/ia64/ia64.h (ASM_OUTPUT_ADDR_DIFF_ELT): Use
        CASE_VECTOR_MODE instead of TARGET_ILP32.
        (ADDR_VEC_ALIGN): Make it depends on CASE_VECTOR_MODE.

2012-03-26  Steven Bosscher  <steven@gcc.gnu.org>

        * varasm.c (assemble_external): #if 0 out the new assert from the
        previous commit, it breaks the Java and Go front ends.

2012-03-26  Steven Bosscher  <steven@gcc.gnu.org>

        * toplev.c (check_global_declaration_1): Do not call assemble_external.
        * expr.c (emit_block_move_libcall_fn): Likewise.
        (clear_storage_libcall_fn): Likewise.
        (expand_expr_addr_expr_1): Likewise.
        (expand_expr_real_1): Likewise.
        * calls.c (rtx_for_function_call): Likewise.

        * varasm.c (assemble_external): Assert this function is only called
        during or after expanding to RTL.

2012-03-26  Martin Jambor  <mjambor@suse.cz>

        PR tree-optimization/50052
        * tree-sra.c (tree_non_aligned_mem_p): Removed.
        (tree_non_aligned_mem_for_access_p): Likewise.
        (build_accesses_from_assign): Removed strict alignment requirements
        checks.
        (access_precludes_ipa_sra_p): Likewise.

2012-03-26  Richard Guenther  <rguenther@suse.de>

        PR tree-optimization/52701
        * tree-vect-loop.c (vect_analyze_scalar_cycles_1): Always
        compute and set the evolution part of PHI nodes.

2012-03-26  Richard Guenther  <rguenther@suse.de>

        PR tree-optimization/52721
        * tree-vect-stmts.c (vect_init_vector): Handle scalars.

2012-03-26  Ulrich Weigand  <ulrich.weigand@linaro.org>

        PR tree-optimization/52686
        * tree-vect-data-refs.c (vect_get_smallest_scalar_type): Handle
        WIDEN_LSHIFT_EXPR.

2012-03-26  Tristan Gingold  <gingold@adacore.com>

        * config/alpha/vms.h (LINK_SPEC): Simplify.
        (STARTFILE_SPEC): Remove -mvms-return-codes handling.
        (STARTFILE_SPEC): Remove -mvms-return-codes handling.
        (NAME__MAIN, SYMBOL__MAIN): Remove.
        (VMS_DEBUG_MAIN_POINTER): Remove.
        * config/ia64/vms.h: Likewise.
        * config/alpha/alpha.c (alpha_start_function): Move vms_debug_main
        code to vms.c.  Call vms_start_function.
        * config/ia64/ia64.c (ia64_start_function): Likewise.
        * config/vms/vms-protos.h (vms_start_function): Declare.
        * config/vms/vms.c (vms_start_function): New function.
        * config/vms/vms.h (MATH_LIBRARY): Define.
        (VMS_DEBUG_MAIN_POINTER): Define.
Comment 1 Eric Botcazou 2012-11-12 12:18:24 UTC
There are known performance regressions on strict-alignment platforms because of the SRA changes, see PR tree-opt/54386.
Comment 2 Steven Bosscher 2013-03-23 19:40:23 UTC
Fixed according to the plots at
http://gcc.opensuse.org/c++bench-terbium/botan/botan-summary.txt-1-0.html