1. 18 Feb, 2019 1 commit
  2. 17 Feb, 2019 8 commits
  3. 16 Feb, 2019 9 commits
    • i386: Add ssse3_pmulhrswv4hi3 expander · 2f3d2660
      There is no V4HI pmulhrsw in AVX512BW and V4HI/V8HI pmulhrsw don't require
      AVX2.
      
      	PR target/89372
      	* config/i386/sse.md (ssedoublemode): Remove V4HI.
      	(PMULHRSW): Likewise.
      	(<ssse3_avx2>_pmulhrsw<mode>3): Require TARGET_SSSE3, not
      	TARGET_AVX2.
      	(ssse3_pmulhrswv4hi3): New expander.
      
      From-SVN: r268964
      H.J. Lu committed
    • i386: Correct *vec_extractv2si_zext_mem · 49be11f5
      The second and third alternatives in *vec_extractv2si_zext_mem don't
      require MMX.  But the second one requires SSE2.
      
      	* config/i386/mmx.md (*vec_extractv2si_zext_mem): Doesn't require
      	MMX.  Add isa attribute.
      
      From-SVN: r268963
      H.J. Lu committed
    • re PR tree-optimization/88074 (g++ hangs on math expression) · 843192c0
      	PR middle-end/88074
      	* simplify.c (simplify_transformation_to_array): Run post_op
      	immediately after processing corresponding row, rather than at the
      	end.
      	(norm2_scale): New variable.
      	(add_squared): Rename to ...
      	(norm2_add_squared): ... this.  Scale down operand and/or result
      	if needed.
      	(do_sqrt): Rename to ...
      	(norm2_do_sqrt): ... this.  Handle the result == e case.  Scale up
      	result and clear norm2_scale.
      	(gfc_simplify_norm2): Clear norm2_scale.  Change add_squared to
      	norm2_add_squared and &do_sqrt to norm2_do_sqrt.  Scale up result
      	and clear norm2_scale again.
      
      From-SVN: r268962
      Jakub Jelinek committed
    • Fix excess warnings from -Wtype-limits with location wrappers (PR c++/88680) · 3fe53000
      PR c++/88680 reports excess warnings from -Wtype-limits after the C++
      FE's use of location wrappers was extended in r267272 for cases such as:
      
        const unsigned n = 8;
        static_assert (n >= 0 && n % 2 == 0, "");
      
      t.C:3:18: warning: comparison of unsigned expression >= 0 is always true
        [-Wtype-limits]
          3 | static_assert (n >= 0 && n % 2 == 0, "");
            |                ~~^~~~
      
      The root cause is that the location wrapper around "n" breaks the
      suppression of the warning for the "if OP0 is a constant that is >= 0"
      case.
      
      This patch fixes it by calling fold_for_warn on OP0, extracting the
      constant.
      
      gcc/c-family/ChangeLog:
      	PR c++/88680
      	* c-common.c (shorten_compare): Call fold_for_warn on op0 when
      	implementing -Wtype-limits.
      
      gcc/testsuite/ChangeLog:
      	PR c++/88680
      	* g++.dg/wrappers/pr88680.C: New test.
      
      From-SVN: r268961
      David Malcolm committed
    • re PR fortran/71066 (ICE in set_loop_bounds, at fortran/trans-array.c:4680) · 9dbdefbb
      2019-02-17  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/71066
      	* trans-decl.c (generate_coarray_sym_init):  For an array
      	constructor in a DATA statement of a coarray variable, set the
      	rank to 1 to avoid confusion later on.  If the constructor
      	contains only one value, use that for initiailizig.
      
      2019-02-17  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/71066
      	* gfortran.dg/coarray_data_1.f90: New test.
      
      From-SVN: r268960
      Thomas Koenig committed
    • patchable_function_entry-decl.c: Add -fno-pie on SPARC. · d810ce4b
      	* c-c++-common/patchable_function_entry-decl.c: Add -fno-pie on SPARC.
      	* c-c++-common/patchable_function_entry-default.c: Likewise.
      	* c-c++-common/patchable_function_entry-definition.c: Likewise.
      
      From-SVN: r268958
      Eric Botcazou committed
    • re PR rtl-optimization/66152 (suboptimal load bytes to stack) · 3140b2ed
      	PR rtl-optimization/66152
      	* builtins.h (c_readstr): Declare.
      	* builtins.c (c_readstr): Remove forward declaration.  Add
      	null_terminated_p argument, if false, read all bytes from the
      	string instead of stopping after '\0'.
      	* expr.c (string_cst_read_str): New function.
      	(store_expr): Use string_cst_read_str instead of
      	builtin_strncpy_read_str.  Try to store by pieces the whole
      	exp_len first, and only if that fails, split it up into
      	store by pieces followed by clear_storage.  Formatting fix.
      
      	* gcc.target/i386/pr66152.c: New test.
      
      From-SVN: r268957
      Jakub Jelinek committed
    • i386.md (*movqi_internal): Remove static from buf variable. · 1f1d52e3
      	* config/i386/i386.md (*movqi_internal): Remove static from
      	buf variable.  Use output_asm_insn (buf, operands); return "";
      	instead of return buf;.
      	* config/i386/sse.md (<sse>_andnot<mode>3<mask_name>,
      	*<code><mode>3<mask_name>, *andnot<mode>3, *andnottf3, *<code><mode>3,
      	*<code>tf3, <mask_codefor><code><mode>3<mask_name>): Likewise.
      
      From-SVN: r268956
      Jakub Jelinek committed
    • Daily bump. · bc50c499
      From-SVN: r268955
      GCC Administrator committed
  4. 15 Feb, 2019 22 commits