1. 03 Apr, 2019 13 commits
  2. 02 Apr, 2019 24 commits
    • * gcc.target/visium/bit_shift.c: xfail. · 5e4ea79d
      From-SVN: r270105
      Jeff Law committed
    • re PR target/89902 (ICE: in extract_insn, at recog.c:2310: unrecognizable insn with -mavx512bitalg) · f401d623
      	PR target/89902
      	PR target/89903
      	* config/i386/i386.c (dimode_scalar_to_vector_candidate_p):
      	Return false for variable DImode shifts.
      	(dimode_scalar_chain::compute_convert_gain): Do not handle
      	register count operand in variable DImode shifts.
      	(dimode_scalar_chain::make_vector_copies): Remove support to copy
      	count argument of a variable shift instruction to a vector register.
      	(dimode_scalar_chain::convert_reg): Remove support to convert
      	count argument of a variable shift instruction.
      
      testsuite/ChangeLog:
      
      	PR target/89902
      	PR target/89903
      	* gcc.target/i386/pr70799-4.c: Remove.
      	* gcc.target/i386/pr70799-5.c: Remove.
      	* gcc.target/i386/pr89902.c: New test.
      	* gcc.target/i386/pr89903.c: Ditto.
      
      From-SVN: r270102
      Uros Bizjak committed
    • sel-sched: skip outer loop in get_all_loop_exits (PR 84206) · 6fb8055e
      2019-04-02  Andrey Belevantsev  <abel@ispras.ru>
      
      	PR rtl-optimization/84206
      	* sel-sched-ir.h (get_all_loop_exits): Avoid the outer loop when
      	iterating over loop headers.
      
      	* gcc.dg/pr84206.c: New test.
      
      From-SVN: r270096
      Andrey Belevantsev committed
    • sel-sched: fixup reset of first_insn (PR 85876) · 7dc69ec0
      2019-04-02  Andrey Belevantsev  <abel@ispras.ru>
      
      	PR rtl-optimization/85876
      	* sel-sched.c (code_motion_path_driver): Avoid unwinding first_insn
      	beyond the original fence.
      
      	* gcc.dg/pr85876.c: New test.
      
      From-SVN: r270095
      Andrey Belevantsev committed
    • Obsolete Cell Broadband Engine SPU target support · 43f47cdf
      gcc/ChangeLog:
      2019-04-02  Ulrich Weigand  <uweigand@de.ibm.com>
      
              * config.gcc: Mark spu* targets as deprecated/obsolete.
      
      From-SVN: r270092
      Ulrich Weigand committed
    • S/390: arch13: vector float-int conversion builtins · 59f78799
      gcc/ChangeLog:
      
      2019-04-02  Andreas Krebbel  <krebbel@linux.ibm.com>
      
      	* config/s390/s390-builtin-types.def: New builtin function type
      	definitions. Remove unused types.
      	* config/s390/s390-builtins.def (s390_vcdgb, s390_vcdlgb)
      	(s390_vcgdb, s390_vclgdb): Remove low-level builtin definitions.
      	(s390_vec_float, s390_vec_signed, s390_vec_unsigned): New
      	overloaded builtins.
      	(s390_vcefb, s390_vcdgb, s390_vcelfb, s390_vcdlgb, s390_vcfeb)
      	(s390_vcgdb, s390_vclfeb, s390_vclgdb): New low-level builtins.
      	* config/s390/vecintrin.h (vec_float): New builtin macro definition.
      	(vec_double, vec_signed, vec_unsigned): Define to use the new
      	overloaded builtins.
      	* config/s390/vx-builtins.md ("vec_double_s64", "vec_double_u64"):
      	Remove expanders.
      
      gcc/testsuite/ChangeLog:
      
      2019-04-02  Andreas Krebbel  <krebbel@linux.ibm.com>
      
      	* gcc.target/s390/zvector/vec-double-compile.c: New test.
      	* gcc.target/s390/zvector/vec-float-compile.c: New test.
      	* gcc.target/s390/zvector/vec-signed-compile.c: New test.
      	* gcc.target/s390/zvector/vec-unsigned-compile.c: New test.
      
      From-SVN: r270091
      Andreas Krebbel committed
    • S/390: arch13: vector string search builtins · 49adc461
      gcc/ChangeLog:
      
      2019-04-02  Andreas Krebbel  <krebbel@linux.ibm.com>
      
      	* config/s390/s390-builtin-types.def: New builtin function type
      	definitions.
      	* config/s390/s390-builtins.def (s390_vec_search_string_cc)
      	(s390_vec_search_string_until_zero_cc): New overloaded builtins.
      	(s390_vstrsb, s390_vstrsh, s390_vstrsf, s390_vstrszb)
      	(s390_vstrszh, s390_vstrszf): New low-level builtins.
      	* config/s390/s390.md (UNSPEC_VEC_VSTRS, UNSPEC_VEC_VSTRSCC): New
      	constant definitions.
      	* config/s390/vecintrin.h (vec_search_string_cc)
      	(vec_search_string_until_zero_cc): New builtin name definitions.
      	* config/s390/vx-builtins.md ("vstrs<mode>", "vstrsz<mode>"): New
      	expanders.
      	("vec_vstrs<mode>"): New insn definition.
      
      gcc/testsuite/ChangeLog:
      
      2019-04-02  Andreas Krebbel  <krebbel@linux.ibm.com>
      
      	* gcc.target/s390/zvector/vec-search-string-cc-1.c: New test.
      	* gcc.target/s390/zvector/vec-search-string-cc-compile.c: New test.
      	* gcc.target/s390/zvector/vec-search-string-until-zero-cc-1.c: New test.
      	* gcc.target/s390/zvector/vec-search-string-until-zero-cc-compile.c: New test.
      
      From-SVN: r270090
      Andreas Krebbel committed
    • S/390: arch13: vector shift double by bit builtins · ad7a3e39
      gcc/ChangeLog:
      
      2019-04-02  Andreas Krebbel  <krebbel@linux.ibm.com>
      
      	* config/s390/s390-builtin-types.def: Add new builtin function
      	types.
      	* config/s390/s390-builtins.def (s390_vec_sldb, s390_vec_srdb):
      	New overloaded builtins.
      	(s390_vec_sldb, s390_vec_srdb): New low-level builtins.  and
      	s390_vsrd.
      	* config/s390/s390.md (UNSPEC_VEC_SLDB): Rename to ...
      	(UNSPEC_VEC_SLDBYTE): ... this.
      	(UNSPEC_VEC_SLDBIT, UNSPEC_VEC_SRDBIT): New constant definitions.
      	* config/s390/vecintrin.h (vec_sldb, vec_srdb): New builtin name
      	definitions.
      	* config/s390/vx-builtins.md ("vec_sld<mode>", "vec_sldw<mode>"):
      	Rename UNSPEC_VEC_SLDB to UNSPEC_VEC_SLDBYTE.
      	("vec_sldb<mode>", "vec_srdb<mode>"): New insn definitions.
      
      gcc/testsuite/ChangeLog:
      
      2019-04-02  Andreas Krebbel  <krebbel@linux.ibm.com>
      
      	* gcc.target/s390/zvector/vec-shift-left-double-by-bit-1.c: New test.
      	* gcc.target/s390/zvector/vec-shift-right-double-by-bit-1.c: New test.
      
      From-SVN: r270089
      Andreas Krebbel committed
    • S/390: arch13: vector load byte reversed element and replicate · 6913111a
      gcc/ChangeLog:
      
      2019-04-02  Andreas Krebbel  <krebbel@linux.ibm.com>
      
      	("*vec_splats_bswap_vec<mode>", "*vec_splats_bswap_elem<mode>"):
      	New insn definition.
      	* config/s390/vx-builtins.md (V_HW_HSD): Move to ...
      	* config/s390/vector.md (V_HW_HSD): ... here.
      
      gcc/testsuite/ChangeLog:
      
      2019-04-02  Andreas Krebbel  <krebbel@linux.ibm.com>
      
      	* gcc.target/s390/zvector/replicate-bswap-1.c: New test.
      	* gcc.target/s390/zvector/replicate-bswap-2.c: New test.
      
      From-SVN: r270088
      Andreas Krebbel committed
    • testsuite: do not try to add -m32 (PR 89916) · b5e100c5
      	PR testsuite/89916
      	* gcc.dg/pr86928.c: Do not attempt to add -m32.
      
      From-SVN: r270087
      Alexander Monakov committed
    • S/390: arch13: vector load/store byte reversed element for builtins · b112d1c9
      2019-04-02  Andreas Krebbel  <krebbel@linux.ibm.com>
      
      	* config/s390/vecintrin.h: Map vec_vster low-level builtins to vec_vler.
      	* config/s390/vx-builtins.md ("*vec_insert_and_zero_bswap<mode>")
      	("*vec_set_bswap_elem<mode>", "*vec_set_bswap_vec<mode>")
      	("*vec_extract_bswap_vec<mode>", "*vec_extract_bswap_elem<mode>"):
      	New insn definitions.
      
      gcc/testsuite/ChangeLog:
      
      2019-04-02  Andreas Krebbel  <krebbel@linux.ibm.com>
      
      	* gcc.target/s390/zvector/bswap-and-replicate-1.c: New test.
      	* gcc.target/s390/zvector/get-element-bswap-1.c: New test.
      	* gcc.target/s390/zvector/get-element-bswap-2.c: New test.
      	* gcc.target/s390/zvector/get-element-bswap-3.c: New test.
      	* gcc.target/s390/zvector/get-element-bswap-4.c: New test.
      	* gcc.target/s390/zvector/set-element-bswap-1.c: New test.
      	* gcc.target/s390/zvector/set-element-bswap-2.c: New test.
      	* gcc.target/s390/zvector/set-element-bswap-3.c: New test.
      
      From-SVN: r270086
      Andreas Krebbel committed
    • S/390: arch13: vec_reve element order reversal builtins · 3278804e
      gcc/ChangeLog:
      
      2019-04-02  Andreas Krebbel  <krebbel@linux.ibm.com>
      
      	* config/s390/s390-builtin-types.def: Add new builtin function type.
      	* config/s390/s390-builtins.def: Add overloaded builtin
      	s390_vec_reve and low-level builtins for s390_vler and s390_vster.
      	* config/s390/s390.md (UNSPEC_VEC_ELTSWAP): New constant definition.
      	* config/s390/vecintrin.h (vec_reve): New builtin name definition.
      	* config/s390/vx-builtins.md (V_HW_HSD): New mode iterator.
      	("eltswap<mode>"): New expander.
      	("*eltswapv16qi", "*eltswap<mode>", "*eltswap<mode>_emu"): New
      	insn definitions.
      
      gcc/testsuite/ChangeLog:
      
      2019-04-02  Andreas Krebbel  <krebbel@linux.ibm.com>
      
      	* gcc.target/s390/zvector/vec-reve-load-byte-z14.c: New test.
      	* gcc.target/s390/zvector/vec-reve-load-byte.c: New test.
      	* gcc.target/s390/zvector/vec-reve-load-halfword-z14.c: New test.
      	* gcc.target/s390/zvector/vec-reve-load-halfword.c: New test.
      	* gcc.target/s390/zvector/vec-reve-store-byte-z14.c: New test.
      	* gcc.target/s390/zvector/vec-reve-store-byte.c: New test.
      
      From-SVN: r270085
      Andreas Krebbel committed
    • S/390: arch13: vec_revb vector byte swap builtin · 1b3bbaf6
      gcc/ChangeLog:
      
      2019-04-02  Andreas Krebbel  <krebbel@linux.ibm.com>
      
      	* config/s390/s390-builtin-types.def: Add new builtin function types.
      	* config/s390/s390-builtins.def: Add overloaded builtin
      	s390_vec_revb. Add low-level builtins for vlbr and vstbr
      	instructions.
      	* config/s390/vecintrin.h (vec_revb): New builtin name definition.
      	* config/s390/vector.md (VT_HW_HSDT): New mode iterator.
      	("bswap<mode>"): New expander.
      	("*bswap<mode>", "*bswap<mode>_emu"): New insn definitions.
      
      gcc/testsuite/ChangeLog:
      
      2019-04-02  Andreas Krebbel  <krebbel@linux.ibm.com>
      
      	* gcc.target/s390/zvector/vec-revb-load-double-z14.c: New test.
      	* gcc.target/s390/zvector/vec-revb-load-double.c: New test.
      	* gcc.target/s390/zvector/vec-revb-store-double-z14.c: New test.
      	* gcc.target/s390/zvector/vec-revb-store-double.c: New test.
      
      From-SVN: r270084
      Andreas Krebbel committed
    • S/390: arch13: New vector builtins - preparation · e633a4f2
      gcc/ChangeLog:
      
      2019-04-02  Andreas Krebbel  <krebbel@linux.ibm.com>
      
      	* config/s390/s390-builtins.def (B_VXE2): New builtin flag definition.
      	* config/s390/s390-c.c (s390_cpu_cpp_builtins_internal): Increment
      	vector builtin version number in __VEC__.
      
      From-SVN: r270083
      Andreas Krebbel committed
    • S/390: arch13: Support 32 bit fp-int scalar converts · 026bfe89
      gcc/ChangeLog:
      
      2019-04-02  Andreas Krebbel  <krebbel@linux.ibm.com>
      
      	* config/s390/s390.md (VX_CONV_BFP, VX_CONV_INT): New mode
      	iterators.
      	(SFSI): New mode attribute.
      	("*fixuns_truncdfdi2_vx", "*fix_truncdfdi2_bfp_z13")
      	("*floatunsdidf2_z13", ): Add support for 32 bit conversions and
      	rename to ...
      	("*fixuns_trunc<VX_CONV_BFP:mode><VX_CONV_INT:mode>2_z13")
      	("*fix_trunc<VX_CONV_BFP:mode><VX_CONV_INT:mode>2_bfp_z13")
      	("*floatuns<VX_CONV_INT:mode><VX_CONV_BFP:mode>2_z13"): ... these.
      	("floatsi<mode>2"): Add wcefb instruction.
      
      From-SVN: r270082
      Andreas Krebbel committed
    • S/390: arch13: Support 32 bit fp-int vector converts · 4156b056
      gcc/ChangeLog:
      
      2019-04-02  Andreas Krebbel  <krebbel@linux.ibm.com>
      
      	* config/s390/s390.md ("xde"): Extend mode attribute to vector
      	types.
      	* config/s390/vector.md (VX_VEC_CONV_BFP, VX_VEC_CONV_INT): New
      	mode iterators.
      	("floatv2div2df2", "floatunsv2div2df2", "fix_truncv2dfv2di2")
      	("fixuns_truncv2dfv2di2"): Enhance with mode iterator to also
      	support 32 bit fp-int conversions. Rename to ...
      	("float<VX_VEC_CONV_INT:mode><VX_VEC_CONV_BFP:mode>2")
      	("floatuns<VX_VEC_CONV_INT:mode><VX_VEC_CONV_BFP:mode>2")
      	("fix_trunc<VX_VEC_CONV_BFP:mode><VX_VEC_CONV_INT:mode>2")
      	("fixuns_trunc<VX_VEC_CONV_BFP:mode><VX_VEC_CONV_INT:mode>2"):
      	... to these.
      
      gcc/testsuite/ChangeLog:
      
      2019-04-02  Andreas Krebbel  <krebbel@linux.ibm.com>
      
      	* gcc.target/s390/arch13/fp-signedint-convert-1.c: New test.
      	* gcc.target/s390/arch13/fp-unsignedint-convert-1.c: New test.
      
      From-SVN: r270081
      Andreas Krebbel committed
    • S/390: arch13: Add support for new select instruction · 618eef38
      Compared to the load on condition instructions we already have the new
      select instruction allows to have a THEN and and ELSE source operand -
      but only for register to register loads.
      
      gcc/ChangeLog:
      
      2019-04-02  Andreas Krebbel  <krebbel@linux.ibm.com>
      
      	* config/s390/s390.c (s390_rtx_costs): Do not add extra costs for
      	if-then-else constructs if we can use the select instruction.
      	* config/s390/s390.md ("*mov<mode>cc"): Add the new instructions.
      
      gcc/testsuite/ChangeLog:
      
      2019-04-02  Andreas Krebbel  <krebbel@linux.ibm.com>
      
      	* gcc.target/s390/arch13/sel-1.c: New test.
      
      From-SVN: r270080
      Andreas Krebbel committed
    • S/390: arch13: Support new popcount instruction · 25cb5165
       variant.
      
      The new arch13 popcount instruction counts bits in the entire 64 bit
      register instead of just in 8 bit portions.
      
      gcc/ChangeLog:
      
      2019-04-02  Andreas Krebbel  <krebbel@linux.ibm.com>
      
      	* config/s390/s390.md ("*popcountdi_arch13_cc")
      	("*popcountdi_arch13_cconly", "*popcountdi_arch13"): New insn
      	definition.
      	("*popcount<mode>", "popcountdi2", "popcountsi2", "popcounthi2"):
      	Append _z196 to make it ...
      	("*popcount<mode>_z196", "popcountdi2_z196", "popcountsi2_z196")
      	("popcounthi2_z196"): ... this.
      	("popcountdi2_z196"): Remove TARGET_64BIT from the insn condition.
      	("popcountdi2", "popcountsi2", "popcounthi2"): New expanders.
      
      gcc/testsuite/ChangeLog:
      
      2019-04-02  Andreas Krebbel  <krebbel@linux.ibm.com>
      
      	* gcc.target/s390/arch13/popcount-1.c: New test.
      
      From-SVN: r270079
      Andreas Krebbel committed
    • S/390: arch13: Support new bit operations · 4a9733f3
      Make use of the new bit operation instructions when generating code
      for the arch13 level.
      
      gcc/ChangeLog:
      
      2019-04-02  Andreas Krebbel  <krebbel@linux.ibm.com>
      
      	* config/s390/s390.c (s390_canonicalize_comparison): Convert
      	certain compares for arch13 in order to make use of the condition
      	code result produced by the new instructions.
      	(s390_rtx_costs): Adjust the costs for nnrk, nngrk, nork, nogrk,
      	nxrk, and nxgrk instruction patterns.
      	* config/s390/s390.md (ANDOR, bitops_name, inv_bitops_name)
      	(inv_no): Add new code iterator together with some attributes.
      	("*andc_split_<mode>"): Disable splitter for arch13.
      	("*<ANDOR:bitops_name>c<GPR:mode>_cc")
      	("*<ANDOR:bitops_name>c<GPR:mode>_cconly")
      	("*<ANDOR:bitops_name>c<GPR:mode>")
      	("*n<ANDOR:inv_bitops_name><GPR:mode>_cc")
      	("*n<ANDOR:inv_bitops_name><mode>_cconly")
      	("*n<ANDOR:inv_bitops_name><mode>", "*nxor<GPR:mode>_cc")
      	("*nxor<mode>_cconly", "*nxor<mode>"): New insn definitions.
      
      gcc/testsuite/ChangeLog:
      
      2019-04-02  Andreas Krebbel  <krebbel@linux.ibm.com>
      
      	* gcc.target/s390/arch13/bitops-1.c: New test.
      	* gcc.target/s390/arch13/bitops-2.c: New test.
      	* gcc.target/s390/md/andc-splitter-1.c: Add -march=z14 build
      	option and adjust line numbers.
      	* gcc.target/s390/md/andc-splitter-2.c: Likewise.
      
      From-SVN: r270078
      Andreas Krebbel committed
    • S/390: arch13: Add arch13 as architecture option · 511ea153
      This patch enables the command line options and provides the proper
      macros for checking.
      
      gcc/ChangeLog:
      
      2019-04-02  Andreas Krebbel  <krebbel@linux.ibm.com>
      
      	* common/config/s390/s390-common.c (processor_flags_table): New
      	entry for arch13.
      	* config.gcc: Support arch13 with the --with-arch= configure flag.
      	* config/s390/driver-native.c (s390_host_detect_local_cpu):
      	* config/s390/s390-opts.h (enum processor_type): Add PROCESSOR_ARCH13.
      	* config/s390/s390.c (s390_get_sched_attrmask)
      	(s390_get_unit_mask): Add PROCESSOR_ARCH13.
      	* config/s390/s390.h (enum processor_flags): Add PF_VXE2 and PF_ARCH13.
      	* config/s390/s390.md (TARGET_CPU_ARCH13, TARGET_CPU_ARCH13_P)
      	(TARGET_CPU_VXE2, TARGET_CPU_VXE2_P, TARGET_ARCH13)
      	(TARGET_ARCH13_P, TARGET_VXE2, TARGET_VXE2_P): New macro
      	definitions.
      	* config/s390/s390.opt: Support arch13 as processor type in
      	command line options.
      
      gcc/testsuite/ChangeLog:
      
      2019-04-02  Andreas Krebbel  <krebbel@linux.ibm.com>
      
      	* gcc.target/s390/s390.exp: Run tests in arch13 subdir.
      	* lib/target-supports.exp (check_effective_target_s390_vxe2): New
      	runtime check for the vxe2 hardware feature on IBM Z.
      
      From-SVN: r270077
      Andreas Krebbel committed
    • Fix param description of graphite-max-arrays-per-scop (PR translation/89912). · 6de6b210
      2019-04-02  Martin Liska  <mliska@suse.cz>
      
      	PR translation/89912
      	* params.def (PARAM_GRAPHITE_MAX_ARRAYS_PER_SCOP):
      	Fix param description of graphite-max-arrays-per-scop.
      
      From-SVN: r270076
      Martin Liska committed
    • linux64.h (ASAN_REJECT_SPEC): New macro. · 381a3c75
      	* config/sparc/linux64.h (ASAN_REJECT_SPEC): New macro.
      	(ASAN_CC1_SPEC): Use it in 64-bit mode.
      	* config/sparc/sol2.h (ASAN_REJECT_SPEC): Remove superfluous colon.
      
      From-SVN: r270075
      Eric Botcazou committed
    • re PR d/89823 (Composed message only partially translatable) · b8b137fb
      gcc/po/ChangeLog:
      
      2019-04-02  Iain Buclaw  <ibuclaw@gdcproject.org>
      
      	PR d/89823
      	* EXCLUDES: Update list of d/dmd sources.
      	* gcc.pot: Regenerated.
      
      From-SVN: r270074
      Iain Buclaw committed
    • Daily bump. · 1ff7f652
      From-SVN: r270072
      GCC Administrator committed
  3. 01 Apr, 2019 3 commits