Commit graph

123 commits

Author SHA1 Message Date
Kewen Lin
438ef14367 rs6000: Neuter option -mpower{8,9}-vector [PR109987]
As PR109987 and its duplicated bugs show, -mno-power8-vector
(and -mno-power9-vector) cause some problems and as Segher
pointed out in [1] they are workaround options, so this patch
is to remove -m{no,}-power{8,9}-options.  Like what we did
for option -mdirect-move before, this patch still keep the
corresponding internal flags and they are automatically set
based on -mcpu.  The test suite update takes some efforts,
it consists of some aspects:
  - effective target powerpc_p{8,9}vector_ok are removed
    and replaced with powerpc_vsx_ok.
  - Some cases having -mpower{8,9}-vector are updated with
    -mvsx, some of them already have -mdejagnu-cpu.  For
    those that don't have -mdejagnu-cpu, if -mdejagnu-cpu
    is needed for the test point, then it's appended;
    otherwise, add additional-options -mdejagnu-cpu=power{8,9}
    if has_arch_pwr{8,9} isn't satisfied.
  - Some test cases are updated with explicit -mvsx.
  - Some test cases with those two option mixed are adjusted
    to keep the test points, like -mpower8-vector
    -mno-power9-vector are updated with -mdejagnu-cpu=power8
    -mvsx etc.
  - Some test cases with -mno-power{8,9}-vector are updated
    by replacing -mno-power{8,9}-vector with -mno-vsx, or
    just removing it.
  - For some cases, we don't always specify -mdejagnu-cpu to
    avoid to restrict the testing coverage, it would check
    has_arch_pwr{8,9} and appended that as need.
  - For vect test cases run, it doesn't specify -mcpu=power9
    for power10 and up.

Bootstrapped and regtested on:
  - powerpc64-linux-gnu P7/P8/P9 {-m32,-m64}
  - powerpc64le-linux-gnu P8/P9/P10

Although it's stage4 now, as the discussion in PR113115 we
are still eager to neuter these two options, so is it ok
for trunk?

[1] https://gcc.gnu.org/pipermail/gcc-patches/2022-January/589303.html

	PR target/109987

gcc/ChangeLog:

	* config/rs6000/constraints.md (we): Update internal doc without
	referring to option -mpower9-vector.
	* config/rs6000/driver-rs6000.cc (asm_names): Remove mpower9-vector
	special handlings.
	* config/rs6000/rs6000-cpus.def (OTHER_P9_VECTOR_MASKS,
	OTHER_P8_VECTOR_MASKS): Merge to ...
	(OTHER_VSX_VECTOR_MASKS): ... here.
	* config/rs6000/rs6000.cc (rs6000_option_override_internal): Remove
	some error message handlings and explicit option mask adjustments on
	explicit option power{8,9}-vector conflicting with other options.
	(rs6000_print_isa_options): Update comments.
	(rs6000_disable_incompatible_switches): Remove power{8,9}-vector
	related array items and handlings.
	* config/rs6000/rs6000.h (ASM_CPU_SPEC): Remove mpower9-vector
	special handlings.
	* config/rs6000/rs6000.opt: Make option power{8,9}-vector as
	WarnRemoved.
	* doc/extend.texi: Remove documentation referring to option
	-mpower8-vector.
	* doc/invoke.texi: Remove documentation for option
	-mpower{8,9}-vector and adjust some documentation referring to them.
	* doc/md.texi: Update documentation for constraint we.
	* doc/sourcebuild.texi: Remove documentation for powerpc_p8vector_ok.

libgcc/ChangeLog:

	* config/rs6000/t-float128-hw: Replace options -mpower{8,9}-vector
	with -mcpu=power9.
	* configure.ac: Update use of option -mpower9-vector with
	-mcpu=power9.
	* configure: Regenerate.

gcc/testsuite/ChangeLog:

	* lib/target-supports.exp
	(check_effective_target_powerpc_p8vector_ok): Remove.
	(check_effective_target_powerpc_p9vector_ok): Remove.
	(check_p8vector_hw_available): Replace -mpower8-vector with
	-mcpu=power8.
	(check_p9vector_hw_available): Replace -mpower9-vector with
	-mcpu=power9.
	(check_ppc_float128_hw_available): Likewise.
	(check_vect_support_and_set_flags): Replace -mpower8-vector with
	-mcpu=power8, replace -mpower9-vector with -mcpu=power9 or
	nothing if check_power10_hw_available and place -mcpu=970 first
	if needed to avoid possible overriding.
	* g++.target/powerpc/altivec-19.C: Replace powerpc_p9vector_ok with
	powerpc_vsx_ok and append -mvsx to dg-options.
	* gcc.target/powerpc/bfp/scalar-cmp-exp-eq-0.c: Likewise.
	* gcc.target/powerpc/bfp/scalar-cmp-exp-eq-1.c: Likewise.
	* gcc.target/powerpc/bfp/scalar-cmp-exp-eq-2.c: Likewise.
	* gcc.target/powerpc/bfp/scalar-cmp-exp-gt-0.c: Likewise.
	* gcc.target/powerpc/bfp/scalar-cmp-exp-gt-1.c: Likewise.
	* gcc.target/powerpc/bfp/scalar-cmp-exp-gt-2.c: Likewise.
	* gcc.target/powerpc/bfp/scalar-cmp-exp-lt-0.c: Likewise.
	* gcc.target/powerpc/bfp/scalar-cmp-exp-lt-1.c: Likewise.
	* gcc.target/powerpc/bfp/scalar-cmp-exp-lt-2.c: Likewise.
	* gcc.target/powerpc/bfp/scalar-cmp-exp-unordered-0.c: Likewise.
	* gcc.target/powerpc/bfp/scalar-cmp-exp-unordered-1.c: Likewise.
	* gcc.target/powerpc/bfp/scalar-cmp-exp-unordered-2.c: Likewise.
	* gcc.target/powerpc/bfp/scalar-extract-exp-0.c: Likewise.
	* gcc.target/powerpc/bfp/scalar-extract-exp-1.c: Likewise.
	* gcc.target/powerpc/bfp/scalar-extract-exp-3.c: Likewise.
	* gcc.target/powerpc/bfp/scalar-extract-exp-4.c: Likewise.
	* gcc.target/powerpc/bfp/scalar-extract-exp-5.c: Likewise.
	* gcc.target/powerpc/bfp/scalar-extract-sig-0.c: Likewise.
	* gcc.target/powerpc/bfp/scalar-extract-sig-1.c: Likewise.
	* gcc.target/powerpc/bfp/scalar-extract-sig-2.c: Likewise.
	* gcc.target/powerpc/bfp/scalar-extract-sig-3.c: Likewise.
	* gcc.target/powerpc/bfp/scalar-extract-sig-4.c: Likewise.
	* gcc.target/powerpc/bfp/scalar-extract-sig-5.c: Likewise.
	* gcc.target/powerpc/bfp/scalar-insert-exp-0.c: Likewise.
	* gcc.target/powerpc/bfp/scalar-insert-exp-1.c: Likewise.
	* gcc.target/powerpc/bfp/scalar-insert-exp-10.c: Likewise.
	* gcc.target/powerpc/bfp/scalar-insert-exp-11.c: Likewise.
	* gcc.target/powerpc/bfp/scalar-insert-exp-2.c: Likewise.
	* gcc.target/powerpc/bfp/scalar-insert-exp-3.c: Likewise.
	* gcc.target/powerpc/bfp/scalar-insert-exp-4.c: Likewise.
	* gcc.target/powerpc/bfp/scalar-insert-exp-5.c: Likewise.
	* gcc.target/powerpc/bfp/scalar-insert-exp-6.c: Likewise.
	* gcc.target/powerpc/bfp/scalar-insert-exp-7.c: Likewise.
	* gcc.target/powerpc/bfp/scalar-insert-exp-8.c: Likewise.
	* gcc.target/powerpc/bfp/scalar-insert-exp-9.c: Likewise.
	* gcc.target/powerpc/bfp/scalar-test-data-class-0.c: Likewise.
	* gcc.target/powerpc/bfp/scalar-test-data-class-1.c: Likewise.
	* gcc.target/powerpc/bfp/scalar-test-data-class-10.c: Likewise.
	* gcc.target/powerpc/bfp/scalar-test-data-class-11.c: Likewise.
	* gcc.target/powerpc/bfp/scalar-test-data-class-2.c: Likewise.
	* gcc.target/powerpc/bfp/scalar-test-data-class-3.c: Likewise.
	* gcc.target/powerpc/bfp/scalar-test-data-class-4.c: Likewise.
	* gcc.target/powerpc/bfp/scalar-test-data-class-5.c: Likewise.
	* gcc.target/powerpc/bfp/scalar-test-data-class-6.c: Likewise.
	* gcc.target/powerpc/bfp/scalar-test-data-class-7.c: Likewise.
	* gcc.target/powerpc/bfp/scalar-test-data-class-8.c: Likewise.
	* gcc.target/powerpc/bfp/scalar-test-data-class-9.c: Likewise.
	* gcc.target/powerpc/bfp/scalar-test-neg-0.c: Likewise.
	* gcc.target/powerpc/bfp/scalar-test-neg-1.c: Likewise.
	* gcc.target/powerpc/bfp/scalar-test-neg-2.c: Likewise.
	* gcc.target/powerpc/bfp/scalar-test-neg-3.c: Likewise.
	* gcc.target/powerpc/bfp/scalar-test-neg-4.c: Likewise.
	* gcc.target/powerpc/bfp/scalar-test-neg-5.c: Likewise.
	* gcc.target/powerpc/bfp/vec-extract-exp-0.c: Likewise.
	* gcc.target/powerpc/bfp/vec-extract-exp-1.c: Likewise.
	* gcc.target/powerpc/bfp/vec-extract-exp-2.c: Likewise.
	* gcc.target/powerpc/bfp/vec-extract-exp-3.c: Likewise.
	* gcc.target/powerpc/bfp/vec-extract-sig-0.c: Likewise.
	* gcc.target/powerpc/bfp/vec-extract-sig-1.c: Likewise.
	* gcc.target/powerpc/bfp/vec-extract-sig-2.c: Likewise.
	* gcc.target/powerpc/bfp/vec-extract-sig-3.c: Likewise.
	* gcc.target/powerpc/bfp/vec-insert-exp-0.c: Likewise.
	* gcc.target/powerpc/bfp/vec-insert-exp-1.c: Likewise.
	* gcc.target/powerpc/bfp/vec-insert-exp-2.c: Likewise.
	* gcc.target/powerpc/bfp/vec-insert-exp-3.c: Likewise.
	* gcc.target/powerpc/bfp/vec-insert-exp-4.c: Likewise.
	* gcc.target/powerpc/bfp/vec-insert-exp-5.c: Likewise.
	* gcc.target/powerpc/bfp/vec-insert-exp-6.c: Likewise.
	* gcc.target/powerpc/bfp/vec-insert-exp-7.c: Likewise.
	* gcc.target/powerpc/bfp/vec-test-data-class-0.c: Likewise.
	* gcc.target/powerpc/bfp/vec-test-data-class-1.c: Likewise.
	* gcc.target/powerpc/bfp/vec-test-data-class-2.c: Likewise.
	* gcc.target/powerpc/bfp/vec-test-data-class-3.c: Likewise.
	* gcc.target/powerpc/bfp/vec-test-data-class-4.c: Likewise.
	* gcc.target/powerpc/bfp/vec-test-data-class-5.c: Likewise.
	* gcc.target/powerpc/bfp/vec-test-data-class-6.c: Likewise.
	* gcc.target/powerpc/bfp/vec-test-data-class-7.c: Likewise.
	* gcc.target/powerpc/builtins-3-p9.c: Likewise.
	* gcc.target/powerpc/byte-in-either-range-0.c: Likewise.
	* gcc.target/powerpc/byte-in-either-range-1.c: Likewise.
	* gcc.target/powerpc/byte-in-range-0.c: Likewise.
	* gcc.target/powerpc/byte-in-range-1.c: Likewise.
	* gcc.target/powerpc/byte-in-set-0.c: Likewise.
	* gcc.target/powerpc/byte-in-set-1.c: Likewise.
	* gcc.target/powerpc/byte-in-set-2.c: Likewise.
	* gcc.target/powerpc/clone1.c: Likewise.
	* gcc.target/powerpc/ctz-3.c: Likewise.
	* gcc.target/powerpc/ctz-4.c: Likewise.
	* gcc.target/powerpc/darn-0.c: Likewise.
	* gcc.target/powerpc/darn-1.c: Likewise.
	* gcc.target/powerpc/darn-2.c: Likewise.
	* gcc.target/powerpc/dform-3.c: Likewise.
	* gcc.target/powerpc/dfp/dtstsfi-0.c: Likewise.
	* gcc.target/powerpc/dfp/dtstsfi-1.c: Likewise.
	* gcc.target/powerpc/dfp/dtstsfi-10.c: Likewise.
	* gcc.target/powerpc/dfp/dtstsfi-11.c: Likewise.
	* gcc.target/powerpc/dfp/dtstsfi-12.c: Likewise.
	* gcc.target/powerpc/dfp/dtstsfi-13.c: Likewise.
	* gcc.target/powerpc/dfp/dtstsfi-14.c: Likewise.
	* gcc.target/powerpc/dfp/dtstsfi-15.c: Likewise.
	* gcc.target/powerpc/dfp/dtstsfi-16.c: Likewise.
	* gcc.target/powerpc/dfp/dtstsfi-17.c: Likewise.
	* gcc.target/powerpc/dfp/dtstsfi-18.c: Likewise.
	* gcc.target/powerpc/dfp/dtstsfi-19.c: Likewise.
	* gcc.target/powerpc/dfp/dtstsfi-2.c: Likewise.
	* gcc.target/powerpc/dfp/dtstsfi-20.c: Likewise.
	* gcc.target/powerpc/dfp/dtstsfi-21.c: Likewise.
	* gcc.target/powerpc/dfp/dtstsfi-22.c: Likewise.
	* gcc.target/powerpc/dfp/dtstsfi-23.c: Likewise.
	* gcc.target/powerpc/dfp/dtstsfi-24.c: Likewise.
	* gcc.target/powerpc/dfp/dtstsfi-25.c: Likewise.
	* gcc.target/powerpc/dfp/dtstsfi-26.c: Likewise.
	* gcc.target/powerpc/dfp/dtstsfi-27.c: Likewise.
	* gcc.target/powerpc/dfp/dtstsfi-28.c: Likewise.
	* gcc.target/powerpc/dfp/dtstsfi-29.c: Likewise.
	* gcc.target/powerpc/dfp/dtstsfi-3.c: Likewise.
	* gcc.target/powerpc/dfp/dtstsfi-30.c: Likewise.
	* gcc.target/powerpc/dfp/dtstsfi-31.c: Likewise.
	* gcc.target/powerpc/dfp/dtstsfi-32.c: Likewise.
	* gcc.target/powerpc/dfp/dtstsfi-33.c: Likewise.
	* gcc.target/powerpc/dfp/dtstsfi-34.c: Likewise.
	* gcc.target/powerpc/dfp/dtstsfi-35.c: Likewise.
	* gcc.target/powerpc/dfp/dtstsfi-36.c: Likewise.
	* gcc.target/powerpc/dfp/dtstsfi-37.c: Likewise.
	* gcc.target/powerpc/dfp/dtstsfi-38.c: Likewise.
	* gcc.target/powerpc/dfp/dtstsfi-39.c: Likewise.
	* gcc.target/powerpc/dfp/dtstsfi-4.c: Likewise.
	* gcc.target/powerpc/dfp/dtstsfi-40.c: Likewise.
	* gcc.target/powerpc/dfp/dtstsfi-41.c: Likewise.
	* gcc.target/powerpc/dfp/dtstsfi-42.c: Likewise.
	* gcc.target/powerpc/dfp/dtstsfi-43.c: Likewise.
	* gcc.target/powerpc/dfp/dtstsfi-44.c: Likewise.
	* gcc.target/powerpc/dfp/dtstsfi-45.c: Likewise.
	* gcc.target/powerpc/dfp/dtstsfi-46.c: Likewise.
	* gcc.target/powerpc/dfp/dtstsfi-47.c: Likewise.
	* gcc.target/powerpc/dfp/dtstsfi-48.c: Likewise.
	* gcc.target/powerpc/dfp/dtstsfi-49.c: Likewise.
	* gcc.target/powerpc/dfp/dtstsfi-5.c: Likewise.
	* gcc.target/powerpc/dfp/dtstsfi-50.c: Likewise.
	* gcc.target/powerpc/dfp/dtstsfi-51.c: Likewise.
	* gcc.target/powerpc/dfp/dtstsfi-52.c: Likewise.
	* gcc.target/powerpc/dfp/dtstsfi-53.c: Likewise.
	* gcc.target/powerpc/dfp/dtstsfi-54.c: Likewise.
	* gcc.target/powerpc/dfp/dtstsfi-55.c: Likewise.
	* gcc.target/powerpc/dfp/dtstsfi-56.c: Likewise.
	* gcc.target/powerpc/dfp/dtstsfi-57.c: Likewise.
	* gcc.target/powerpc/dfp/dtstsfi-58.c: Likewise.
	* gcc.target/powerpc/dfp/dtstsfi-59.c: Likewise.
	* gcc.target/powerpc/dfp/dtstsfi-6.c: Likewise.
	* gcc.target/powerpc/dfp/dtstsfi-60.c: Likewise.
	* gcc.target/powerpc/dfp/dtstsfi-61.c: Likewise.
	* gcc.target/powerpc/dfp/dtstsfi-62.c: Likewise.
	* gcc.target/powerpc/dfp/dtstsfi-63.c: Likewise.
	* gcc.target/powerpc/dfp/dtstsfi-64.c: Likewise.
	* gcc.target/powerpc/dfp/dtstsfi-65.c: Likewise.
	* gcc.target/powerpc/dfp/dtstsfi-66.c: Likewise.
	* gcc.target/powerpc/dfp/dtstsfi-67.c: Likewise.
	* gcc.target/powerpc/dfp/dtstsfi-68.c: Likewise.
	* gcc.target/powerpc/dfp/dtstsfi-69.c: Likewise.
	* gcc.target/powerpc/dfp/dtstsfi-7.c: Likewise.
	* gcc.target/powerpc/dfp/dtstsfi-70.c: Likewise.
	* gcc.target/powerpc/dfp/dtstsfi-71.c: Likewise.
	* gcc.target/powerpc/dfp/dtstsfi-72.c: Likewise.
	* gcc.target/powerpc/dfp/dtstsfi-73.c: Likewise.
	* gcc.target/powerpc/dfp/dtstsfi-74.c: Likewise.
	* gcc.target/powerpc/dfp/dtstsfi-75.c: Likewise.
	* gcc.target/powerpc/dfp/dtstsfi-76.c: Likewise.
	* gcc.target/powerpc/dfp/dtstsfi-77.c: Likewise.
	* gcc.target/powerpc/dfp/dtstsfi-78.c: Likewise.
	* gcc.target/powerpc/dfp/dtstsfi-79.c: Likewise.
	* gcc.target/powerpc/dfp/dtstsfi-8.c: Likewise.
	* gcc.target/powerpc/dfp/dtstsfi-9.c: Likewise.
	* gcc.target/powerpc/direct-move-vector.c: Likewise.
	* gcc.target/powerpc/float128-type-2.c: Likewise.
	* gcc.target/powerpc/fold-vec-abs-int-fwrapv.p9.c: Likewise.
	* gcc.target/powerpc/fold-vec-abs-int.p9.c: Likewise.
	* gcc.target/powerpc/fold-vec-abs-longlong-fwrapv.p9.c: Likewise.
	* gcc.target/powerpc/fold-vec-abs-longlong.p9.c: Likewise.
	* gcc.target/powerpc/fold-vec-cmp-char.p9.c: Likewise.
	* gcc.target/powerpc/fold-vec-cmp-short.p9.c: Likewise.
	* gcc.target/powerpc/fold-vec-extract-char.p9.c: Likewise.
	* gcc.target/powerpc/fold-vec-extract-float.p9.c: Likewise.
	* gcc.target/powerpc/fold-vec-extract-int.p9.c: Likewise.
	* gcc.target/powerpc/fold-vec-extract-longlong.p9.c: Likewise.
	* gcc.target/powerpc/fold-vec-extract-short.p9.c: Likewise.
	* gcc.target/powerpc/fold-vec-insert-char-p9.c: Likewise.
	* gcc.target/powerpc/fold-vec-insert-float-p9.c: Likewise.
	* gcc.target/powerpc/fold-vec-insert-int-p9.c: Likewise.
	* gcc.target/powerpc/fold-vec-insert-short-p9.c: Likewise.
	* gcc.target/powerpc/fold-vec-mult-int128-p9.c: Likewise.
	* gcc.target/powerpc/fold-vec-neg-int.p9.c: Likewise.
	* gcc.target/powerpc/fold-vec-neg-longlong.p9.c: Likewise.
	* gcc.target/powerpc/p9-dimode1.c: Likewise.
	* gcc.target/powerpc/p9-dimode2.c: Likewise.
	* gcc.target/powerpc/p9-extract-1.c: Likewise.
	* gcc.target/powerpc/p9-extract-2.c: Likewise.
	* gcc.target/powerpc/p9-extract-3.c: Likewise.
	* gcc.target/powerpc/p9-extract-4.c: Likewise.
	* gcc.target/powerpc/p9-fpcvt-1.c: Likewise.
	* gcc.target/powerpc/p9-fpcvt-2.c: Likewise.
	* gcc.target/powerpc/p9-fpcvt-3.c: Likewise.
	* gcc.target/powerpc/p9-lxvx-stxvx-1.c: Likewise.
	* gcc.target/powerpc/p9-lxvx-stxvx-2.c: Likewise.
	* gcc.target/powerpc/p9-lxvx-stxvx-3.c: Likewise.
	* gcc.target/powerpc/p9-minmax-1.c: Likewise.
	* gcc.target/powerpc/p9-minmax-2.c: Likewise.
	* gcc.target/powerpc/p9-minmax-3.c: Likewise.
	* gcc.target/powerpc/p9-novsx.c: Likewise.
	* gcc.target/powerpc/p9-permute.c: Likewise.
	* gcc.target/powerpc/p9-sign_extend-runnable.c: Likewise.
	* gcc.target/powerpc/p9-splat-1.c: Likewise.
	* gcc.target/powerpc/p9-splat-2.c: Likewise.
	* gcc.target/powerpc/p9-splat-3.c: Likewise.
	* gcc.target/powerpc/p9-splat-4.c: Likewise.
	* gcc.target/powerpc/p9-splat-5.c: Likewise.
	* gcc.target/powerpc/p9-vbpermd.c: Likewise.
	* gcc.target/powerpc/p9-vec-length-epil-1.c: Likewise.
	* gcc.target/powerpc/p9-vec-length-epil-2.c: Likewise.
	* gcc.target/powerpc/p9-vec-length-epil-3.c: Likewise.
	* gcc.target/powerpc/p9-vec-length-epil-4.c: Likewise.
	* gcc.target/powerpc/p9-vec-length-epil-5.c: Likewise.
	* gcc.target/powerpc/p9-vec-length-epil-6.c: Likewise.
	* gcc.target/powerpc/p9-vec-length-epil-7.c: Likewise.
	* gcc.target/powerpc/p9-vec-length-epil-8.c: Likewise.
	* gcc.target/powerpc/p9-vec-length-full-1.c: Likewise.
	* gcc.target/powerpc/p9-vec-length-full-2.c: Likewise.
	* gcc.target/powerpc/p9-vec-length-full-3.c: Likewise.
	* gcc.target/powerpc/p9-vec-length-full-4.c: Likewise.
	* gcc.target/powerpc/p9-vec-length-full-5.c: Likewise.
	* gcc.target/powerpc/p9-vec-length-full-6.c: Likewise.
	* gcc.target/powerpc/p9-vec-length-full-7.c: Likewise.
	* gcc.target/powerpc/p9-vec-length-full-8.c: Likewise.
	* gcc.target/powerpc/p9-vneg.c: Likewise.
	* gcc.target/powerpc/p9-vparity.c: Likewise.
	* gcc.target/powerpc/p9-vpermr.c: Likewise.
	* gcc.target/powerpc/p9-xxbr-1.c: Likewise.
	* gcc.target/powerpc/p9-xxbr-2.c: Likewise.
	* gcc.target/powerpc/p9-xxbr-3.c: Likewise.
	* gcc.target/powerpc/ppc-fortran/pr80108-1.f90: Likewise.
	* gcc.target/powerpc/ppc-round3.c: Likewise.
	* gcc.target/powerpc/pr103124.c: Likewise.
	* gcc.target/powerpc/pr104015-1.c: Likewise.
	* gcc.target/powerpc/pr106769-p9.c: Likewise.
	* gcc.target/powerpc/pr107412.c: Likewise.
	* gcc.target/powerpc/pr110429.c: Likewise.
	* gcc.target/powerpc/pr66144-1.c: Likewise.
	* gcc.target/powerpc/pr71186.c: Likewise.
	* gcc.target/powerpc/pr71309.c: Likewise.
	* gcc.target/powerpc/pr71670.c: Likewise.
	* gcc.target/powerpc/pr71698.c: Likewise.
	* gcc.target/powerpc/pr71720.c: Likewise.
	* gcc.target/powerpc/pr72853.c: Likewise.
	* gcc.target/powerpc/pr78056-1.c: Likewise.
	* gcc.target/powerpc/pr78658.c: Likewise.
	* gcc.target/powerpc/pr78953.c: Likewise.
	* gcc.target/powerpc/pr79004.c: Likewise.
	* gcc.target/powerpc/pr79038-1.c: Likewise.
	* gcc.target/powerpc/pr79179.c: Likewise.
	* gcc.target/powerpc/pr79251.p9.c: Likewise.
	* gcc.target/powerpc/pr79799-1.c: Likewise.
	* gcc.target/powerpc/pr79799-2.c: Likewise.
	* gcc.target/powerpc/pr79799-3.c: Likewise.
	* gcc.target/powerpc/pr79799-5.c: Likewise.
	* gcc.target/powerpc/pr80695-p9.c: Likewise.
	* gcc.target/powerpc/pr81348.c: Likewise.
	* gcc.target/powerpc/pr81622.c: Likewise.
	* gcc.target/powerpc/pr84154-3.c: Likewise.
	* gcc.target/powerpc/pr90763.c: Likewise.
	* gcc.target/powerpc/pr96933-1.c: Likewise.
	* gcc.target/powerpc/sad-vectorize-1.c: Likewise.
	* gcc.target/powerpc/sad-vectorize-2.c: Likewise.
	* gcc.target/powerpc/signbit-2.c: Likewise.
	* gcc.target/powerpc/vadsdu-0.c: Likewise.
	* gcc.target/powerpc/vadsdu-1.c: Likewise.
	* gcc.target/powerpc/vadsdu-2.c: Likewise.
	* gcc.target/powerpc/vadsdu-3.c: Likewise.
	* gcc.target/powerpc/vadsdu-4.c: Likewise.
	* gcc.target/powerpc/vadsdu-5.c: Likewise.
	* gcc.target/powerpc/vadsdub-1.c: Likewise.
	* gcc.target/powerpc/vadsdub-2.c: Likewise.
	* gcc.target/powerpc/vadsduh-1.c: Likewise.
	* gcc.target/powerpc/vadsduh-2.c: Likewise.
	* gcc.target/powerpc/vadsduw-1.c: Likewise.
	* gcc.target/powerpc/vadsduw-2.c: Likewise.
	* gcc.target/powerpc/vec-extract-4.c: Likewise.
	* gcc.target/powerpc/vec-init-3.c: Likewise.
	* gcc.target/powerpc/vec-minmax-1.c: Likewise.
	* gcc.target/powerpc/vec-minmax-2.c: Likewise.
	* gcc.target/powerpc/vec-set-char.c: Likewise.
	* gcc.target/powerpc/vec-set-int.c: Likewise.
	* gcc.target/powerpc/vec-set-short.c: Likewise.
	* gcc.target/powerpc/vec_reve_2.c: Likewise.
	* gcc.target/powerpc/vector_float.c: Likewise.
	* gcc.target/powerpc/vslv-0.c: Likewise.
	* gcc.target/powerpc/vslv-1.c: Likewise.
	* gcc.target/powerpc/vsrv-0.c: Likewise.
	* gcc.target/powerpc/vsrv-1.c: Likewise.
	* gcc.target/powerpc/vsu/vec-all-ne-0.c: Likewise.
	* gcc.target/powerpc/vsu/vec-all-ne-1.c: Likewise.
	* gcc.target/powerpc/vsu/vec-all-ne-10.c: Likewise.
	* gcc.target/powerpc/vsu/vec-all-ne-11.c: Likewise.
	* gcc.target/powerpc/vsu/vec-all-ne-12.c: Likewise.
	* gcc.target/powerpc/vsu/vec-all-ne-13.c: Likewise.
	* gcc.target/powerpc/vsu/vec-all-ne-14.c: Likewise.
	* gcc.target/powerpc/vsu/vec-all-ne-2.c: Likewise.
	* gcc.target/powerpc/vsu/vec-all-ne-3.c: Likewise.
	* gcc.target/powerpc/vsu/vec-all-ne-4.c: Likewise.
	* gcc.target/powerpc/vsu/vec-all-ne-5.c: Likewise.
	* gcc.target/powerpc/vsu/vec-all-ne-6.c: Likewise.
	* gcc.target/powerpc/vsu/vec-all-ne-7.c: Likewise.
	* gcc.target/powerpc/vsu/vec-all-ne-8.c: Likewise.
	* gcc.target/powerpc/vsu/vec-all-ne-9.c: Likewise.
	* gcc.target/powerpc/vsu/vec-all-nez-1.c: Likewise.
	* gcc.target/powerpc/vsu/vec-all-nez-2.c: Likewise.
	* gcc.target/powerpc/vsu/vec-all-nez-3.c: Likewise.
	* gcc.target/powerpc/vsu/vec-all-nez-4.c: Likewise.
	* gcc.target/powerpc/vsu/vec-all-nez-5.c: Likewise.
	* gcc.target/powerpc/vsu/vec-all-nez-6.c: Likewise.
	* gcc.target/powerpc/vsu/vec-all-nez-7.c: Likewise.
	* gcc.target/powerpc/vsu/vec-any-eq-0.c: Likewise.
	* gcc.target/powerpc/vsu/vec-any-eq-1.c: Likewise.
	* gcc.target/powerpc/vsu/vec-any-eq-10.c: Likewise.
	* gcc.target/powerpc/vsu/vec-any-eq-11.c: Likewise.
	* gcc.target/powerpc/vsu/vec-any-eq-12.c: Likewise.
	* gcc.target/powerpc/vsu/vec-any-eq-13.c: Likewise.
	* gcc.target/powerpc/vsu/vec-any-eq-14.c: Likewise.
	* gcc.target/powerpc/vsu/vec-any-eq-2.c: Likewise.
	* gcc.target/powerpc/vsu/vec-any-eq-3.c: Likewise.
	* gcc.target/powerpc/vsu/vec-any-eq-4.c: Likewise.
	* gcc.target/powerpc/vsu/vec-any-eq-5.c: Likewise.
	* gcc.target/powerpc/vsu/vec-any-eq-6.c: Likewise.
	* gcc.target/powerpc/vsu/vec-any-eq-7.c: Likewise.
	* gcc.target/powerpc/vsu/vec-any-eq-8.c: Likewise.
	* gcc.target/powerpc/vsu/vec-any-eq-9.c: Likewise.
	* gcc.target/powerpc/vsu/vec-any-eqz-1.c: Likewise.
	* gcc.target/powerpc/vsu/vec-any-eqz-2.c: Likewise.
	* gcc.target/powerpc/vsu/vec-any-eqz-3.c: Likewise.
	* gcc.target/powerpc/vsu/vec-any-eqz-4.c: Likewise.
	* gcc.target/powerpc/vsu/vec-any-eqz-5.c: Likewise.
	* gcc.target/powerpc/vsu/vec-any-eqz-6.c: Likewise.
	* gcc.target/powerpc/vsu/vec-any-eqz-7.c: Likewise.
	* gcc.target/powerpc/vsu/vec-cmpne-0.c: Likewise.
	* gcc.target/powerpc/vsu/vec-cmpne-1.c: Likewise.
	* gcc.target/powerpc/vsu/vec-cmpne-2.c: Likewise.
	* gcc.target/powerpc/vsu/vec-cmpne-3.c: Likewise.
	* gcc.target/powerpc/vsu/vec-cmpne-4.c: Likewise.
	* gcc.target/powerpc/vsu/vec-cmpne-5.c: Likewise.
	* gcc.target/powerpc/vsu/vec-cmpne-6.c: Likewise.
	* gcc.target/powerpc/vsu/vec-cmpne-8.c: Likewise.
	* gcc.target/powerpc/vsu/vec-cmpne-9.c: Likewise.
	* gcc.target/powerpc/vsu/vec-cmpnez-1.c: Likewise.
	* gcc.target/powerpc/vsu/vec-cmpnez-2.c: Likewise.
	* gcc.target/powerpc/vsu/vec-cmpnez-3.c: Likewise.
	* gcc.target/powerpc/vsu/vec-cmpnez-4.c: Likewise.
	* gcc.target/powerpc/vsu/vec-cmpnez-5.c: Likewise.
	* gcc.target/powerpc/vsu/vec-cmpnez-6.c: Likewise.
	* gcc.target/powerpc/vsu/vec-cmpnez-7.c: Likewise.
	* gcc.target/powerpc/vsu/vec-cntlz-lsbb-0.c: Likewise.
	* gcc.target/powerpc/vsu/vec-cntlz-lsbb-1.c: Likewise.
	* gcc.target/powerpc/vsu/vec-cntlz-lsbb-2.c: Likewise.
	* gcc.target/powerpc/vsu/vec-cntlz-lsbb-3.c: Likewise.
	* gcc.target/powerpc/vsu/vec-cntlz-lsbb-4.c: Likewise.
	* gcc.target/powerpc/vsu/vec-cnttz-lsbb-0.c: Likewise.
	* gcc.target/powerpc/vsu/vec-cnttz-lsbb-1.c: Likewise.
	* gcc.target/powerpc/vsu/vec-cnttz-lsbb-2.c: Likewise.
	* gcc.target/powerpc/vsu/vec-cnttz-lsbb-3.c: Likewise.
	* gcc.target/powerpc/vsu/vec-cnttz-lsbb-4.c: Likewise.
	* gcc.target/powerpc/vsu/vec-xl-len-0.c: Likewise.
	* gcc.target/powerpc/vsu/vec-xl-len-1.c: Likewise.
	* gcc.target/powerpc/vsu/vec-xl-len-10.c: Likewise.
	* gcc.target/powerpc/vsu/vec-xl-len-11.c: Likewise.
	* gcc.target/powerpc/vsu/vec-xl-len-12.c: Likewise.
	* gcc.target/powerpc/vsu/vec-xl-len-13.c: Likewise.
	* gcc.target/powerpc/vsu/vec-xl-len-2.c: Likewise.
	* gcc.target/powerpc/vsu/vec-xl-len-3.c: Likewise.
	* gcc.target/powerpc/vsu/vec-xl-len-4.c: Likewise.
	* gcc.target/powerpc/vsu/vec-xl-len-5.c: Likewise.
	* gcc.target/powerpc/vsu/vec-xl-len-6.c: Likewise.
	* gcc.target/powerpc/vsu/vec-xl-len-7.c: Likewise.
	* gcc.target/powerpc/vsu/vec-xl-len-8.c: Likewise.
	* gcc.target/powerpc/vsu/vec-xl-len-9.c: Likewise.
	* gcc.target/powerpc/vsu/vec-xlx-0.c: Likewise.
	* gcc.target/powerpc/vsu/vec-xlx-1.c: Likewise.
	* gcc.target/powerpc/vsu/vec-xlx-2.c: Likewise.
	* gcc.target/powerpc/vsu/vec-xlx-3.c: Likewise.
	* gcc.target/powerpc/vsu/vec-xlx-4.c: Likewise.
	* gcc.target/powerpc/vsu/vec-xlx-5.c: Likewise.
	* gcc.target/powerpc/vsu/vec-xlx-6.c: Likewise.
	* gcc.target/powerpc/vsu/vec-xlx-7.c: Likewise.
	* gcc.target/powerpc/vsu/vec-xrx-0.c: Likewise.
	* gcc.target/powerpc/vsu/vec-xrx-1.c: Likewise.
	* gcc.target/powerpc/vsu/vec-xrx-2.c: Likewise.
	* gcc.target/powerpc/vsu/vec-xrx-3.c: Likewise.
	* gcc.target/powerpc/vsu/vec-xrx-4.c: Likewise.
	* gcc.target/powerpc/vsu/vec-xrx-5.c: Likewise.
	* gcc.target/powerpc/vsu/vec-xrx-6.c: Likewise.
	* gcc.target/powerpc/vsu/vec-xrx-7.c: Likewise.
	* gcc.target/powerpc/vsu/vec-xst-len-0.c: Likewise.
	* gcc.target/powerpc/vsu/vec-xst-len-1.c: Likewise.
	* gcc.target/powerpc/vsu/vec-xst-len-10.c: Likewise.
	* gcc.target/powerpc/vsu/vec-xst-len-11.c: Likewise.
	* gcc.target/powerpc/vsu/vec-xst-len-12.c: Likewise.
	* gcc.target/powerpc/vsu/vec-xst-len-13.c: Likewise.
	* gcc.target/powerpc/vsu/vec-xst-len-2.c: Likewise.
	* gcc.target/powerpc/vsu/vec-xst-len-3.c: Likewise.
	* gcc.target/powerpc/vsu/vec-xst-len-4.c: Likewise.
	* gcc.target/powerpc/vsu/vec-xst-len-5.c: Likewise.
	* gcc.target/powerpc/vsu/vec-xst-len-6.c: Likewise.
	* gcc.target/powerpc/vsu/vec-xst-len-7.c: Likewise.
	* gcc.target/powerpc/vsu/vec-xst-len-8.c: Likewise.
	* gcc.target/powerpc/vsu/vec-xst-len-9.c: Likewise.
	* gcc.target/powerpc/vsx-builtin-msum.c: Likewise.
	* gcc.target/powerpc/vsx-himode.c: Likewise.
	* gcc.target/powerpc/vsx-himode2.c: Likewise.
	* gcc.target/powerpc/vsx-himode3.c: Likewise.
	* gcc.target/powerpc/vsx-qimode.c: Likewise.
	* gcc.target/powerpc/vsx-qimode2.c: Likewise.
	* gcc.target/powerpc/vsx-qimode3.c: Likewise.
	* g++.target/powerpc/pr65240-1.C: Replace powerpc_p8vector_ok with
	powerpc_vsx_ok and append -mvsx to dg-options.
	* g++.target/powerpc/pr65240-2.C: Likewise.
	* g++.target/powerpc/pr65240-3.C: Likewise.
	* g++.target/powerpc/pr65242.C: Likewise.
	* g++.target/powerpc/pr67211.C: Likewise.
	* g++.target/powerpc/pr71294.C: Likewise.
	* g++.target/powerpc/pr84279.C: Likewise.
	* g++.target/powerpc/pr93974.C: Likewise.
	* gcc.target/powerpc/atomic-p8.c: Likewise.
	* gcc.target/powerpc/atomic_load_store-p8.c: Likewise.
	* gcc.target/powerpc/bcd-2.c: Likewise.
	* gcc.target/powerpc/bcd-3.c: Likewise.
	* gcc.target/powerpc/bool2-p8.c: Likewise.
	* gcc.target/powerpc/bool3-p8.c: Likewise.
	* gcc.target/powerpc/builtins-1.c: Likewise.
	* gcc.target/powerpc/builtins-3-p8.c: Likewise.
	* gcc.target/powerpc/builtins-5.c: Likewise.
	* gcc.target/powerpc/builtins-9.c: Likewise.
	* gcc.target/powerpc/crypto-builtin-1.c: Likewise.
	* gcc.target/powerpc/crypto-builtin-2.c: Likewise.
	* gcc.target/powerpc/direct-move-double1.c: Likewise.
	* gcc.target/powerpc/direct-move-float1.c: Likewise.
	* gcc.target/powerpc/direct-move-long1.c: Likewise.
	* gcc.target/powerpc/direct-move-vint1.c: Likewise.
	* gcc.target/powerpc/float128-type-1.c: Likewise.
	* gcc.target/powerpc/fold-vec-extract-char.p8.c: Likewise.
	* gcc.target/powerpc/fold-vec-extract-double.p8.c: Likewise.
	* gcc.target/powerpc/fold-vec-extract-float.p8.c: Likewise.
	* gcc.target/powerpc/fold-vec-extract-int.p8.c: Likewise.
	* gcc.target/powerpc/fold-vec-extract-longlong.p8.c: Likewise.
	* gcc.target/powerpc/fold-vec-extract-short.p8.c: Likewise.
	* gcc.target/powerpc/fold-vec-insert-char-p8.c: Likewise.
	* gcc.target/powerpc/fold-vec-insert-float-p8.c: Likewise.
	* gcc.target/powerpc/fold-vec-insert-int-p8.c: Likewise.
	* gcc.target/powerpc/fold-vec-insert-longlong.c: Likewise.
	* gcc.target/powerpc/fold-vec-insert-short-p8.c: Likewise.
	* gcc.target/powerpc/fold-vec-neg-char.c: Likewise.
	* gcc.target/powerpc/fold-vec-neg-floatdouble.c: Likewise.
	* gcc.target/powerpc/fold-vec-neg-int.p8.c: Likewise.
	* gcc.target/powerpc/fold-vec-neg-short.c: Likewise.
	* gcc.target/powerpc/fold-vec-select-double.c: Likewise.
	* gcc.target/powerpc/fold-vec-store-builtin_vec_xst-longlong.c: Likewise.
	* gcc.target/powerpc/fusion.c: Likewise.
	* gcc.target/powerpc/fusion2.c: Likewise.
	* gcc.target/powerpc/mul-vectorize-1.c: Likewise.
	* gcc.target/powerpc/p8-vec-xl-xst-v2.c: Likewise.
	* gcc.target/powerpc/p8-vec-xl-xst.c: Likewise.
	* gcc.target/powerpc/p8vector-builtin-1.c: Likewise.
	* gcc.target/powerpc/p8vector-builtin-2.c: Likewise.
	* gcc.target/powerpc/p8vector-builtin-3.c: Likewise.
	* gcc.target/powerpc/p8vector-builtin-4.c: Likewise.
	* gcc.target/powerpc/p8vector-builtin-5.c: Likewise.
	* gcc.target/powerpc/p8vector-builtin-6.c: Likewise.
	* gcc.target/powerpc/p8vector-builtin-7.c: Likewise.
	* gcc.target/powerpc/p8vector-fp.c: Likewise.
	* gcc.target/powerpc/p8vector-int128-1.c: Likewise.
	* gcc.target/powerpc/p8vector-ldst.c: Likewise.
	* gcc.target/powerpc/p8vector-vbpermq.c: Likewise.
	* gcc.target/powerpc/p8vector-vectorize-1.c: Likewise.
	* gcc.target/powerpc/p8vector-vectorize-2.c: Likewise.
	* gcc.target/powerpc/p8vector-vectorize-3.c: Likewise.
	* gcc.target/powerpc/p8vector-vectorize-4.c: Likewise.
	* gcc.target/powerpc/p8vector-vectorize-5.c: Likewise.
	* gcc.target/powerpc/ppc-round2.c: Likewise.
	* gcc.target/powerpc/pr100866-1.c: Likewise.
	* gcc.target/powerpc/pr100866-2.c: Likewise.
	* gcc.target/powerpc/pr104239-1.c: Likewise.
	* gcc.target/powerpc/pr104239-2.c: Likewise.
	* gcc.target/powerpc/pr104239-3.c: Likewise.
	* gcc.target/powerpc/pr106769-p8.c: Likewise.
	* gcc.target/powerpc/pr108396.c: Likewise.
	* gcc.target/powerpc/pr111449-1.c: Likewise.
	* gcc.target/powerpc/pr57744.c: Likewise.
	* gcc.target/powerpc/pr58673-1.c: Likewise.
	* gcc.target/powerpc/pr58673-2.c: Likewise.
	* gcc.target/powerpc/pr60137.c: Likewise.
	* gcc.target/powerpc/pr60203.c: Likewise.
	* gcc.target/powerpc/pr66144-2.c: Likewise.
	* gcc.target/powerpc/pr66144-3.c: Likewise.
	* gcc.target/powerpc/pr68163.c: Likewise.
	* gcc.target/powerpc/pr69548.c: Likewise.
	* gcc.target/powerpc/pr70669.c: Likewise.
	* gcc.target/powerpc/pr71977-1.c: Likewise.
	* gcc.target/powerpc/pr71977-2.c: Likewise.
	* gcc.target/powerpc/pr72717.c: Likewise.
	* gcc.target/powerpc/pr78056-3.c: Likewise.
	* gcc.target/powerpc/pr78056-4.c: Likewise.
	* gcc.target/powerpc/pr78102.c: Likewise.
	* gcc.target/powerpc/pr78543.c: Likewise.
	* gcc.target/powerpc/pr78604.c: Likewise.
	* gcc.target/powerpc/pr79251.p8.c: Likewise.
	* gcc.target/powerpc/pr79354.c: Likewise.
	* gcc.target/powerpc/pr79544.c: Likewise.
	* gcc.target/powerpc/pr79907.c: Likewise.
	* gcc.target/powerpc/pr79951.c: Likewise.
	* gcc.target/powerpc/pr80315-1.c: Likewise.
	* gcc.target/powerpc/pr80315-2.c: Likewise.
	* gcc.target/powerpc/pr80315-3.c: Likewise.
	* gcc.target/powerpc/pr80315-4.c: Likewise.
	* gcc.target/powerpc/pr80510-2.c: Likewise.
	* gcc.target/powerpc/pr80695-p8.c: Likewise.
	* gcc.target/powerpc/pr80718.c: Likewise.
	* gcc.target/powerpc/pr84154-2.c: Likewise.
	* gcc.target/powerpc/pr88558-p8.c: Likewise.
	* gcc.target/powerpc/pr88845.c: Likewise.
	* gcc.target/powerpc/pr91903.c: Likewise.
	* gcc.target/powerpc/pr92923-2.c: Likewise.
	* gcc.target/powerpc/pr96933-2.c: Likewise.
	* gcc.target/powerpc/pr97019.c: Likewise.
	* gcc.target/powerpc/pragma_power8.c: Likewise.
	* gcc.target/powerpc/signbit-1.c: Likewise.
	* gcc.target/powerpc/swaps-p8-1.c: Likewise.
	* gcc.target/powerpc/swaps-p8-12.c: Likewise.
	* gcc.target/powerpc/swaps-p8-14.c: Likewise.
	* gcc.target/powerpc/swaps-p8-15.c: Likewise.
	* gcc.target/powerpc/swaps-p8-16.c: Likewise.
	* gcc.target/powerpc/swaps-p8-17.c: Likewise.
	* gcc.target/powerpc/swaps-p8-18.c: Likewise.
	* gcc.target/powerpc/swaps-p8-19.c: Likewise.
	* gcc.target/powerpc/swaps-p8-2.c: Likewise.
	* gcc.target/powerpc/swaps-p8-22.c: Likewise.
	* gcc.target/powerpc/swaps-p8-23.c: Likewise.
	* gcc.target/powerpc/swaps-p8-24.c: Likewise.
	* gcc.target/powerpc/swaps-p8-25.c: Likewise.
	* gcc.target/powerpc/swaps-p8-26.c: Likewise.
	* gcc.target/powerpc/swaps-p8-27.c: Likewise.
	* gcc.target/powerpc/swaps-p8-3.c: Likewise.
	* gcc.target/powerpc/swaps-p8-30.c: Likewise.
	* gcc.target/powerpc/swaps-p8-33.c: Likewise.
	* gcc.target/powerpc/swaps-p8-36.c: Likewise.
	* gcc.target/powerpc/swaps-p8-39.c: Likewise.
	* gcc.target/powerpc/swaps-p8-4.c: Likewise.
	* gcc.target/powerpc/swaps-p8-42.c: Likewise.
	* gcc.target/powerpc/swaps-p8-45.c: Likewise.
	* gcc.target/powerpc/swaps-p8-46.c: Likewise.
	* gcc.target/powerpc/swaps-p8-5.c: Likewise.
	* gcc.target/powerpc/unpack-vectorize-3.c: Likewise.
	* gcc.target/powerpc/upper-regs-sf.c: Likewise.
	* gcc.target/powerpc/vec-cmp.c: Likewise.
	* gcc.target/powerpc/vec-extract-1.c: Likewise.
	* gcc.target/powerpc/vec-extract-3.c: Likewise.
	* gcc.target/powerpc/vec-extract-5.c: Likewise.
	* gcc.target/powerpc/vec-extract-6.c: Likewise.
	* gcc.target/powerpc/vec-extract-7.c: Likewise.
	* gcc.target/powerpc/vec-extract-8.c: Likewise.
	* gcc.target/powerpc/vec-extract-9.c: Likewise.
	* gcc.target/powerpc/vec-init-10.c: Likewise.
	* gcc.target/powerpc/vec-init-6.c: Likewise.
	* gcc.target/powerpc/vec-init-7.c: Likewise.
	* gcc.target/powerpc/vsx-extract-3.c: Likewise.
	* gcc.target/powerpc/vsx-extract-4.c: Likewise.
	* gcc.target/powerpc/vsx-extract-5.c: Likewise.
	* gcc.target/powerpc/vsx-simode.c: Likewise.
	* gcc.target/powerpc/vsx-simode2.c: Likewise.
	* gcc.target/powerpc/vsx-simode3.c: Likewise.
	* gcc.target/powerpc/builtins-4-int128-runnable.c: Replace
	powerpc_p8vector_ok with powerpc_vsx_ok, replace -mpower8-vector
	with -mvsx, and add dg-additional-options -mdejagnu-cpu=power8
	if !has_arch_pwr8.
	* gcc.target/powerpc/builtins-mergew-mergow.c: Likewise.
	* gcc.target/powerpc/direct-move-float3.c: Likewise.
	* gcc.target/powerpc/divkc3-2.c: Likewise.
	* gcc.target/powerpc/divkc3-3.c: Likewise.
	* gcc.target/powerpc/fold-vec-abs-longlong-fwrapv.c: Likewise.
	* gcc.target/powerpc/fold-vec-abs-longlong.c: Likewise.
	* gcc.target/powerpc/fold-vec-add-4.c: Likewise.
	* gcc.target/powerpc/fold-vec-add-7.c: Likewise.
	* gcc.target/powerpc/fold-vec-cmp-int.h: Likewise.
	* gcc.target/powerpc/fold-vec-cmp-longlong.c: Likewise.
	* gcc.target/powerpc/fold-vec-cmp-short.h: Likewise.
	* gcc.target/powerpc/fold-vec-cntlz-char.c: Likewise.
	* gcc.target/powerpc/fold-vec-cntlz-int.c: Likewise.
	* gcc.target/powerpc/fold-vec-cntlz-longlong.c: Likewise.
	* gcc.target/powerpc/fold-vec-cntlz-short.c: Likewise.
	* gcc.target/powerpc/fold-vec-ld-longlong.c: Likewise.
	* gcc.target/powerpc/fold-vec-logical-eqv-char.c: Likewise.
	* gcc.target/powerpc/fold-vec-logical-eqv-float.c: Likewise.
	* gcc.target/powerpc/fold-vec-logical-eqv-floatdouble.c: Likewise.
	* gcc.target/powerpc/fold-vec-logical-eqv-int.c: Likewise.
	* gcc.target/powerpc/fold-vec-logical-eqv-longlong.c: Likewise.
	* gcc.target/powerpc/fold-vec-logical-eqv-short.c: Likewise.
	* gcc.target/powerpc/fold-vec-logical-ors-longlong.c: Likewise.
	* gcc.target/powerpc/fold-vec-logical-other-char.c: Likewise.
	* gcc.target/powerpc/fold-vec-logical-other-int.c: Likewise.
	* gcc.target/powerpc/fold-vec-logical-other-longlong.c: Likewise.
	* gcc.target/powerpc/fold-vec-logical-other-short.c: Likewise.
	* gcc.target/powerpc/fold-vec-mergehl-longlong.c: Likewise.
	* gcc.target/powerpc/fold-vec-minmax-longlong.c: Likewise.
	* gcc.target/powerpc/fold-vec-mult-int.c: Likewise.
	* gcc.target/powerpc/fold-vec-mult-longlong.c: Likewise.
	* gcc.target/powerpc/fold-vec-neg-int.c: Likewise.
	* gcc.target/powerpc/fold-vec-neg-longlong.h: Likewise.
	* gcc.target/powerpc/fold-vec-pack-double.c: Likewise.
	* gcc.target/powerpc/fold-vec-pack-longlong.c: Likewise.
	* gcc.target/powerpc/fold-vec-shift-left-longlong-fwrapv.c: Likewise.
	* gcc.target/powerpc/fold-vec-shift-left-longlong.c: Likewise.
	* gcc.target/powerpc/fold-vec-shift-longlong.c: Likewise.
	* gcc.target/powerpc/fold-vec-st-longlong.c: Likewise.
	* gcc.target/powerpc/fold-vec-sub-int128.c: Likewise.
	* gcc.target/powerpc/fold-vec-sub-longlong.c: Likewise.
	* gcc.target/powerpc/fold-vec-unpack-float.c: Likewise.
	* gcc.target/powerpc/fold-vec-unpack-int.c: Likewise.
	* gcc.target/powerpc/mmx-packs.c: Likewise.
	* gcc.target/powerpc/mmx-packssdw-1.c: Likewise.
	* gcc.target/powerpc/mmx-packsswb-1.c: Likewise.
	* gcc.target/powerpc/mmx-packuswb-1.c: Likewise.
	* gcc.target/powerpc/mmx-paddb-1.c: Likewise.
	* gcc.target/powerpc/mmx-paddd-1.c: Likewise.
	* gcc.target/powerpc/mmx-paddsb-1.c: Likewise.
	* gcc.target/powerpc/mmx-paddsw-1.c: Likewise.
	* gcc.target/powerpc/mmx-paddusb-1.c: Likewise.
	* gcc.target/powerpc/mmx-paddusw-1.c: Likewise.
	* gcc.target/powerpc/mmx-paddw-1.c: Likewise.
	* gcc.target/powerpc/mmx-pcmpeqb-1.c: Likewise.
	* gcc.target/powerpc/mmx-pcmpeqd-1.c: Likewise.
	* gcc.target/powerpc/mmx-pcmpeqw-1.c: Likewise.
	* gcc.target/powerpc/mmx-pcmpgtb-1.c: Likewise.
	* gcc.target/powerpc/mmx-pcmpgtd-1.c: Likewise.
	* gcc.target/powerpc/mmx-pcmpgtw-1.c: Likewise.
	* gcc.target/powerpc/mmx-pmaddwd-1.c: Likewise.
	* gcc.target/powerpc/mmx-pmulhw-1.c: Likewise.
	* gcc.target/powerpc/mmx-pmullw-1.c: Likewise.
	* gcc.target/powerpc/mmx-pslld-1.c: Likewise.
	* gcc.target/powerpc/mmx-psllw-1.c: Likewise.
	* gcc.target/powerpc/mmx-psrad-1.c: Likewise.
	* gcc.target/powerpc/mmx-psraw-1.c: Likewise.
	* gcc.target/powerpc/mmx-psrld-1.c: Likewise.
	* gcc.target/powerpc/mmx-psrlw-1.c: Likewise.
	* gcc.target/powerpc/mmx-psubb-2.c: Likewise.
	* gcc.target/powerpc/mmx-psubd-2.c: Likewise.
	* gcc.target/powerpc/mmx-psubsb-1.c: Likewise.
	* gcc.target/powerpc/mmx-psubsw-1.c: Likewise.
	* gcc.target/powerpc/mmx-psubusb-1.c: Likewise.
	* gcc.target/powerpc/mmx-psubusw-1.c: Likewise.
	* gcc.target/powerpc/mmx-psubw-2.c: Likewise.
	* gcc.target/powerpc/mmx-punpckhbw-1.c: Likewise.
	* gcc.target/powerpc/mmx-punpckhdq-1.c: Likewise.
	* gcc.target/powerpc/mmx-punpckhwd-1.c: Likewise.
	* gcc.target/powerpc/mmx-punpcklbw-1.c: Likewise.
	* gcc.target/powerpc/mmx-punpckldq-1.c: Likewise.
	* gcc.target/powerpc/mmx-punpcklwd-1.c: Likewise.
	* gcc.target/powerpc/mulkc3-2.c: Likewise.
	* gcc.target/powerpc/mulkc3-3.c: Likewise.
	* gcc.target/powerpc/p8vector-builtin-8.c: Likewise.
	* gcc.target/powerpc/pr37191.c: Likewise.
	* gcc.target/powerpc/pr83862.c: Likewise.
	* gcc.target/powerpc/pr84154-1.c: Likewise.
	* gcc.target/powerpc/pr84220-sld2.c: Likewise.
	* gcc.target/powerpc/pr85456.c: Likewise.
	* gcc.target/powerpc/pr86731-longlong.c: Likewise.
	* gcc.target/powerpc/sse-addps-1.c: Likewise.
	* gcc.target/powerpc/sse-addss-1.c: Likewise.
	* gcc.target/powerpc/sse-andnps-1.c: Likewise.
	* gcc.target/powerpc/sse-andps-1.c: Likewise.
	* gcc.target/powerpc/sse-cmpss-1.c: Likewise.
	* gcc.target/powerpc/sse-cvtpi16ps-1.c: Likewise.
	* gcc.target/powerpc/sse-cvtpi32ps-1.c: Likewise.
	* gcc.target/powerpc/sse-cvtpi32x2ps-1.c: Likewise.
	* gcc.target/powerpc/sse-cvtpi8ps-1.c: Likewise.
	* gcc.target/powerpc/sse-cvtpspi16-1.c: Likewise.
	* gcc.target/powerpc/sse-cvtpspi8-1.c: Likewise.
	* gcc.target/powerpc/sse-cvtpu16ps-1.c: Likewise.
	* gcc.target/powerpc/sse-cvtpu8ps-1.c: Likewise.
	* gcc.target/powerpc/sse-cvtsi2ss-1.c: Likewise.
	* gcc.target/powerpc/sse-cvtsi2ss-2.c: Likewise.
	* gcc.target/powerpc/sse-cvtss2si-1.c: Likewise.
	* gcc.target/powerpc/sse-cvtss2si-2.c: Likewise.
	* gcc.target/powerpc/sse-cvttss2si-1.c: Likewise.
	* gcc.target/powerpc/sse-cvttss2si-2.c: Likewise.
	* gcc.target/powerpc/sse-divps-1.c: Likewise.
	* gcc.target/powerpc/sse-divss-1.c: Likewise.
	* gcc.target/powerpc/sse-maxps-1.c: Likewise.
	* gcc.target/powerpc/sse-maxps-2.c: Likewise.
	* gcc.target/powerpc/sse-maxss-1.c: Likewise.
	* gcc.target/powerpc/sse-minps-1.c: Likewise.
	* gcc.target/powerpc/sse-minps-2.c: Likewise.
	* gcc.target/powerpc/sse-minss-1.c: Likewise.
	* gcc.target/powerpc/sse-movaps-1.c: Likewise.
	* gcc.target/powerpc/sse-movaps-2.c: Likewise.
	* gcc.target/powerpc/sse-movhlps-1.c: Likewise.
	* gcc.target/powerpc/sse-movhps-1.c: Likewise.
	* gcc.target/powerpc/sse-movhps-2.c: Likewise.
	* gcc.target/powerpc/sse-movlhps-1.c: Likewise.
	* gcc.target/powerpc/sse-movlps-1.c: Likewise.
	* gcc.target/powerpc/sse-movlps-2.c: Likewise.
	* gcc.target/powerpc/sse-movmskb-1.c: Likewise.
	* gcc.target/powerpc/sse-movmskps-1.c: Likewise.
	* gcc.target/powerpc/sse-movss-1.c: Likewise.
	* gcc.target/powerpc/sse-movss-2.c: Likewise.
	* gcc.target/powerpc/sse-movss-3.c: Likewise.
	* gcc.target/powerpc/sse-mulps-1.c: Likewise.
	* gcc.target/powerpc/sse-mulss-1.c: Likewise.
	* gcc.target/powerpc/sse-orps-1.c: Likewise.
	* gcc.target/powerpc/sse-pavgw-1.c: Likewise.
	* gcc.target/powerpc/sse-pmaxsw-1.c: Likewise.
	* gcc.target/powerpc/sse-pmaxub-1.c: Likewise.
	* gcc.target/powerpc/sse-pminsw-1.c: Likewise.
	* gcc.target/powerpc/sse-pminub-1.c: Likewise.
	* gcc.target/powerpc/sse-pmulhuw-1.c: Likewise.
	* gcc.target/powerpc/sse-psadbw-1.c: Likewise.
	* gcc.target/powerpc/sse-rcpps-1.c: Likewise.
	* gcc.target/powerpc/sse-rsqrtps-1.c: Likewise.
	* gcc.target/powerpc/sse-shufps-1.c: Likewise.
	* gcc.target/powerpc/sse-sqrtps-1.c: Likewise.
	* gcc.target/powerpc/sse-subps-1.c: Likewise.
	* gcc.target/powerpc/sse-subss-1.c: Likewise.
	* gcc.target/powerpc/sse-ucomiss-1.c: Likewise.
	* gcc.target/powerpc/sse-ucomiss-2.c: Likewise.
	* gcc.target/powerpc/sse-ucomiss-3.c: Likewise.
	* gcc.target/powerpc/sse-ucomiss-4.c: Likewise.
	* gcc.target/powerpc/sse-ucomiss-5.c: Likewise.
	* gcc.target/powerpc/sse-ucomiss-6.c: Likewise.
	* gcc.target/powerpc/sse-unpckhps-1.c: Likewise.
	* gcc.target/powerpc/sse-unpcklps-1.c: Likewise.
	* gcc.target/powerpc/sse-xorps-1.c: Likewise.
	* gcc.target/powerpc/sse2-addpd-1.c: Likewise.
	* gcc.target/powerpc/sse2-addsd-1.c: Likewise.
	* gcc.target/powerpc/sse2-andnpd-1.c: Likewise.
	* gcc.target/powerpc/sse2-andpd-1.c: Likewise.
	* gcc.target/powerpc/sse2-cmppd-1.c: Likewise.
	* gcc.target/powerpc/sse2-cmpsd-1.c: Likewise.
	* gcc.target/powerpc/sse2-comisd-1.c: Likewise.
	* gcc.target/powerpc/sse2-comisd-2.c: Likewise.
	* gcc.target/powerpc/sse2-comisd-3.c: Likewise.
	* gcc.target/powerpc/sse2-comisd-4.c: Likewise.
	* gcc.target/powerpc/sse2-comisd-5.c: Likewise.
	* gcc.target/powerpc/sse2-comisd-6.c: Likewise.
	* gcc.target/powerpc/sse2-cvtdq2pd-1.c: Likewise.
	* gcc.target/powerpc/sse2-cvtdq2ps-1.c: Likewise.
	* gcc.target/powerpc/sse2-cvtpd2dq-1.c: Likewise.
	* gcc.target/powerpc/sse2-cvtpd2ps-1.c: Likewise.
	* gcc.target/powerpc/sse2-cvtps2dq-1.c: Likewise.
	* gcc.target/powerpc/sse2-cvtps2pd-1.c: Likewise.
	* gcc.target/powerpc/sse2-cvtsd2si-1.c: Likewise.
	* gcc.target/powerpc/sse2-cvtsd2si-2.c: Likewise.
	* gcc.target/powerpc/sse2-cvtsd2ss-1.c: Likewise.
	* gcc.target/powerpc/sse2-cvtsi2sd-1.c: Likewise.
	* gcc.target/powerpc/sse2-cvtsi2sd-2.c: Likewise.
	* gcc.target/powerpc/sse2-cvtss2sd-1.c: Likewise.
	* gcc.target/powerpc/sse2-cvttpd2dq-1.c: Likewise.
	* gcc.target/powerpc/sse2-cvttps2dq-1.c: Likewise.
	* gcc.target/powerpc/sse2-cvttsd2si-1.c: Likewise.
	* gcc.target/powerpc/sse2-cvttsd2si-2.c: Likewise.
	* gcc.target/powerpc/sse2-divpd-1.c: Likewise.
	* gcc.target/powerpc/sse2-divsd-1.c: Likewise.
	* gcc.target/powerpc/sse2-maxpd-1.c: Likewise.
	* gcc.target/powerpc/sse2-maxsd-1.c: Likewise.
	* gcc.target/powerpc/sse2-minpd-1.c: Likewise.
	* gcc.target/powerpc/sse2-minsd-1.c: Likewise.
	* gcc.target/powerpc/sse2-mmx.c: Likewise.
	* gcc.target/powerpc/sse2-movhpd-1.c: Likewise.
	* gcc.target/powerpc/sse2-movhpd-2.c: Likewise.
	* gcc.target/powerpc/sse2-movlpd-1.c: Likewise.
	* gcc.target/powerpc/sse2-movlpd-2.c: Likewise.
	* gcc.target/powerpc/sse2-movmskpd-1.c: Likewise.
	* gcc.target/powerpc/sse2-movq-1.c: Likewise.
	* gcc.target/powerpc/sse2-movq-2.c: Likewise.
	* gcc.target/powerpc/sse2-movq-3.c: Likewise.
	* gcc.target/powerpc/sse2-movsd-1.c: Likewise.
	* gcc.target/powerpc/sse2-movsd-2.c: Likewise.
	* gcc.target/powerpc/sse2-movsd-3.c: Likewise.
	* gcc.target/powerpc/sse2-mulpd-1.c: Likewise.
	* gcc.target/powerpc/sse2-mulsd-1.c: Likewise.
	* gcc.target/powerpc/sse2-orpd-1.c: Likewise.
	* gcc.target/powerpc/sse2-packssdw-1.c: Likewise.
	* gcc.target/powerpc/sse2-packsswb-1.c: Likewise.
	* gcc.target/powerpc/sse2-packuswb-1.c: Likewise.
	* gcc.target/powerpc/sse2-paddb-1.c: Likewise.
	* gcc.target/powerpc/sse2-paddd-1.c: Likewise.
	* gcc.target/powerpc/sse2-paddq-1.c: Likewise.
	* gcc.target/powerpc/sse2-paddsb-1.c: Likewise.
	* gcc.target/powerpc/sse2-paddsw-1.c: Likewise.
	* gcc.target/powerpc/sse2-paddusb-1.c: Likewise.
	* gcc.target/powerpc/sse2-paddusw-1.c: Likewise.
	* gcc.target/powerpc/sse2-paddw-1.c: Likewise.
	* gcc.target/powerpc/sse2-pand-1.c: Likewise.
	* gcc.target/powerpc/sse2-pandn-1.c: Likewise.
	* gcc.target/powerpc/sse2-pavgb-1.c: Likewise.
	* gcc.target/powerpc/sse2-pavgw-1.c: Likewise.
	* gcc.target/powerpc/sse2-pcmpeqb-1.c: Likewise.
	* gcc.target/powerpc/sse2-pcmpeqd-1.c: Likewise.
	* gcc.target/powerpc/sse2-pcmpeqw-1.c: Likewise.
	* gcc.target/powerpc/sse2-pcmpgtb-1.c: Likewise.
	* gcc.target/powerpc/sse2-pcmpgtd-1.c: Likewise.
	* gcc.target/powerpc/sse2-pcmpgtw-1.c: Likewise.
	* gcc.target/powerpc/sse2-pextrw.c: Likewise.
	* gcc.target/powerpc/sse2-pinsrw.c: Likewise.
	* gcc.target/powerpc/sse2-pmaddwd-1.c: Likewise.
	* gcc.target/powerpc/sse2-pmaxsw-1.c: Likewise.
	* gcc.target/powerpc/sse2-pmaxub-1.c: Likewise.
	* gcc.target/powerpc/sse2-pminsw-1.c: Likewise.
	* gcc.target/powerpc/sse2-pminub-1.c: Likewise.
	* gcc.target/powerpc/sse2-pmovmskb-1.c: Likewise.
	* gcc.target/powerpc/sse2-pmulhuw-1.c: Likewise.
	* gcc.target/powerpc/sse2-pmulhw-1.c: Likewise.
	* gcc.target/powerpc/sse2-pmullw-1.c: Likewise.
	* gcc.target/powerpc/sse2-pmuludq-1.c: Likewise.
	* gcc.target/powerpc/sse2-por-1.c: Likewise.
	* gcc.target/powerpc/sse2-psadbw-1.c: Likewise.
	* gcc.target/powerpc/sse2-pshufd-1.c: Likewise.
	* gcc.target/powerpc/sse2-pshufhw-1.c: Likewise.
	* gcc.target/powerpc/sse2-pshuflw-1.c: Likewise.
	* gcc.target/powerpc/sse2-pslld-1.c: Likewise.
	* gcc.target/powerpc/sse2-pslld-2.c: Likewise.
	* gcc.target/powerpc/sse2-pslldq-1.c: Likewise.
	* gcc.target/powerpc/sse2-psllq-1.c: Likewise.
	* gcc.target/powerpc/sse2-psllq-2.c: Likewise.
	* gcc.target/powerpc/sse2-psllw-1.c: Likewise.
	* gcc.target/powerpc/sse2-psllw-2.c: Likewise.
	* gcc.target/powerpc/sse2-psrad-1.c: Likewise.
	* gcc.target/powerpc/sse2-psrad-2.c: Likewise.
	* gcc.target/powerpc/sse2-psraw-1.c: Likewise.
	* gcc.target/powerpc/sse2-psraw-2.c: Likewise.
	* gcc.target/powerpc/sse2-psrld-1.c: Likewise.
	* gcc.target/powerpc/sse2-psrld-2.c: Likewise.
	* gcc.target/powerpc/sse2-psrldq-1.c: Likewise.
	* gcc.target/powerpc/sse2-psrlq-1.c: Likewise.
	* gcc.target/powerpc/sse2-psrlq-2.c: Likewise.
	* gcc.target/powerpc/sse2-psrlw-1.c: Likewise.
	* gcc.target/powerpc/sse2-psrlw-2.c: Likewise.
	* gcc.target/powerpc/sse2-psubb-1.c: Likewise.
	* gcc.target/powerpc/sse2-psubd-1.c: Likewise.
	* gcc.target/powerpc/sse2-psubq-1.c: Likewise.
	* gcc.target/powerpc/sse2-psubsb-1.c: Likewise.
	* gcc.target/powerpc/sse2-psubsw-1.c: Likewise.
	* gcc.target/powerpc/sse2-psubusb-1.c: Likewise.
	* gcc.target/powerpc/sse2-psubusw-1.c: Likewise.
	* gcc.target/powerpc/sse2-psubw-1.c: Likewise.
	* gcc.target/powerpc/sse2-punpckhbw-1.c: Likewise.
	* gcc.target/powerpc/sse2-punpckhdq-1.c: Likewise.
	* gcc.target/powerpc/sse2-punpckhqdq-1.c: Likewise.
	* gcc.target/powerpc/sse2-punpckhwd-1.c: Likewise.
	* gcc.target/powerpc/sse2-punpcklbw-1.c: Likewise.
	* gcc.target/powerpc/sse2-punpckldq-1.c: Likewise.
	* gcc.target/powerpc/sse2-punpcklqdq-1.c: Likewise.
	* gcc.target/powerpc/sse2-punpcklwd-1.c: Likewise.
	* gcc.target/powerpc/sse2-pxor-1.c: Likewise.
	* gcc.target/powerpc/sse2-shufpd-1.c: Likewise.
	* gcc.target/powerpc/sse2-sqrtpd-1.c: Likewise.
	* gcc.target/powerpc/sse2-subpd-1.c: Likewise.
	* gcc.target/powerpc/sse2-subsd-1.c: Likewise.
	* gcc.target/powerpc/sse2-ucomisd-1.c: Likewise.
	* gcc.target/powerpc/sse2-ucomisd-2.c: Likewise.
	* gcc.target/powerpc/sse2-ucomisd-3.c: Likewise.
	* gcc.target/powerpc/sse2-ucomisd-4.c: Likewise.
	* gcc.target/powerpc/sse2-ucomisd-5.c: Likewise.
	* gcc.target/powerpc/sse2-ucomisd-6.c: Likewise.
	* gcc.target/powerpc/sse2-unpckhpd-1.c: Likewise.
	* gcc.target/powerpc/sse2-unpcklpd-1.c: Likewise.
	* gcc.target/powerpc/sse2-xorpd-1.c: Likewise.
	* gcc.target/powerpc/sse3-addsubpd.c: Likewise.
	* gcc.target/powerpc/sse3-addsubps.c: Likewise.
	* gcc.target/powerpc/sse3-haddpd.c: Likewise.
	* gcc.target/powerpc/sse3-haddps.c: Likewise.
	* gcc.target/powerpc/sse3-hsubpd.c: Likewise.
	* gcc.target/powerpc/sse3-hsubps.c: Likewise.
	* gcc.target/powerpc/sse3-lddqu.c: Likewise.
	* gcc.target/powerpc/sse3-movddup.c: Likewise.
	* gcc.target/powerpc/sse3-movshdup.c: Likewise.
	* gcc.target/powerpc/sse3-movsldup.c: Likewise.
	* gcc.target/powerpc/sse4_1-blendpd.c: Likewise.
	* gcc.target/powerpc/sse4_1-blendps-2.c: Likewise.
	* gcc.target/powerpc/sse4_1-blendps.c: Likewise.
	* gcc.target/powerpc/sse4_1-blendvpd.c: Likewise.
	* gcc.target/powerpc/sse4_1-blendvps.c: Likewise.
	* gcc.target/powerpc/sse4_1-ceilpd.c: Likewise.
	* gcc.target/powerpc/sse4_1-ceilps.c: Likewise.
	* gcc.target/powerpc/sse4_1-ceilsd.c: Likewise.
	* gcc.target/powerpc/sse4_1-ceilss.c: Likewise.
	* gcc.target/powerpc/sse4_1-floorpd.c: Likewise.
	* gcc.target/powerpc/sse4_1-floorps.c: Likewise.
	* gcc.target/powerpc/sse4_1-floorsd.c: Likewise.
	* gcc.target/powerpc/sse4_1-floorss.c: Likewise.
	* gcc.target/powerpc/sse4_1-pblendvb.c: Likewise.
	* gcc.target/powerpc/sse4_1-pblendw-2.c: Likewise.
	* gcc.target/powerpc/sse4_1-pblendw.c: Likewise.
	* gcc.target/powerpc/sse4_1-pcmpeqq.c: Likewise.
	* gcc.target/powerpc/sse4_1-pinsrb.c: Likewise.
	* gcc.target/powerpc/sse4_1-pinsrd.c: Likewise.
	* gcc.target/powerpc/sse4_1-pinsrq.c: Likewise.
	* gcc.target/powerpc/sse4_1-pmovsxbq.c: Likewise.
	* gcc.target/powerpc/sse4_1-pmovsxdq.c: Likewise.
	* gcc.target/powerpc/sse4_1-pmovsxwq.c: Likewise.
	* gcc.target/powerpc/sse4_1-pmuldq.c: Likewise.
	* gcc.target/powerpc/sse4_1-ptest-1.c: Likewise.
	* gcc.target/powerpc/sse4_1-roundpd-2.c: Likewise.
	* gcc.target/powerpc/sse4_1-roundpd-3.c: Likewise.
	* gcc.target/powerpc/sse4_2-pcmpgtq.c: Likewise.
	* gcc.target/powerpc/ssse3-pabsb.c: Likewise.
	* gcc.target/powerpc/ssse3-pabsd.c: Likewise.
	* gcc.target/powerpc/ssse3-pabsw.c: Likewise.
	* gcc.target/powerpc/ssse3-palignr.c: Likewise.
	* gcc.target/powerpc/ssse3-phaddd.c: Likewise.
	* gcc.target/powerpc/ssse3-phaddsw.c: Likewise.
	* gcc.target/powerpc/ssse3-phaddw.c: Likewise.
	* gcc.target/powerpc/ssse3-phsubd.c: Likewise.
	* gcc.target/powerpc/ssse3-phsubsw.c: Likewise.
	* gcc.target/powerpc/ssse3-phsubw.c: Likewise.
	* gcc.target/powerpc/ssse3-pmaddubsw.c: Likewise.
	* gcc.target/powerpc/ssse3-pmulhrsw.c: Likewise.
	* gcc.target/powerpc/ssse3-pshufb.c: Likewise.
	* gcc.target/powerpc/ssse3-psignb.c: Likewise.
	* gcc.target/powerpc/ssse3-psignd.c: Likewise.
	* gcc.target/powerpc/ssse3-psignw.c: Likewise.
	* gcc.target/powerpc/vec-cmp-sel.c: Likewise.
	* gcc.target/powerpc/vec-sld-modulo.c: Likewise.
	* gcc.target/powerpc/vec-srad-modulo.c: Likewise.
	* gcc.target/powerpc/vec-srd-modulo.c: Likewise.
	* gcc.target/powerpc/amo1.c: Replace powerpc_p9vector_ok with
	powerpc_vsx_ok, replace -mpower9-vector with -mvsx, and add
	dg-additional-options -mdejagnu-cpu=power9 if !has_arch_pwr9.
	* gcc.target/powerpc/amo2.c: Likewise.
	* gcc.target/powerpc/dform-1.c: Likewise.
	* gcc.target/powerpc/dform-2.c: Likewise.
	* gcc.target/powerpc/float128-5.c: Likewise.
	* gcc.target/powerpc/float128-complex-2.c: Likewise.
	* gcc.target/powerpc/float128-fma1.c: Likewise.
	* gcc.target/powerpc/float128-hw.c: Likewise.
	* gcc.target/powerpc/float128-hw10.c: Likewise.
	* gcc.target/powerpc/float128-hw11.c: Likewise.
	* gcc.target/powerpc/float128-hw2.c: Likewise.
	* gcc.target/powerpc/float128-hw3.c: Likewise.
	* gcc.target/powerpc/float128-hw4.c: Likewise.
	* gcc.target/powerpc/float128-hw5.c: Likewise.
	* gcc.target/powerpc/float128-hw6.c: Likewise.
	* gcc.target/powerpc/float128-hw7.c: Likewise.
	* gcc.target/powerpc/float128-hw8.c: Likewise.
	* gcc.target/powerpc/float128-hw9.c: Likewise.
	* gcc.target/powerpc/float128-minmax.c: Likewise.
	* gcc.target/powerpc/float128-odd.c: Likewise.
	* gcc.target/powerpc/float128-sqrt1.c: Likewise.
	* gcc.target/powerpc/fold-vec-cmp-int.p9.c: Likewise.
	* gcc.target/powerpc/gnuattr2.c: Likewise.
	* gcc.target/powerpc/pr71656-1.c: Likewise.
	* gcc.target/powerpc/pr71656-2.c: Likewise.
	* gcc.target/powerpc/pr81959.c: Likewise.
	* gcc.target/powerpc/pr82748-1.c: Likewise.
	* gcc.target/powerpc/pr82748-2.c: Likewise.
	* gcc.target/powerpc/pr111449-2.c: Replace powerpc_p8vector_ok
	with powerpc_vsx_ok.
	* gcc.target/powerpc/pr98914.c: Likewise.
	* gcc.target/powerpc/versioned-copy-loop.c: Replace
	powerpc_p8vector_ok with powerpc_vsx_ok and append -mvsx to
	dg-options.
	* gcc.target/powerpc/clone2.c: Replace powerpc_p9vector_ok with
	powerpc_vsx_ok.
	* gcc.target/powerpc/p9-options-1.c: Replace powerpc_p9vector_ok
	with powerpc_vsx_ok, replace -mno-power9-vector with -mno-vsx.
	* gcc.target/powerpc/pr84226.c: Replace powerpc_p9vector_ok with
	powerpc_vsx_ok and append -mvsx to dg-options.
	* g++.dg/pr69667.C: Replace powerpc_p8vector_ok with
	powerpc_vsx_ok and append -mvsx to dg-options.
	* gcc.dg/vect/costmodel/ppc/costmodel-slp-perm.c: Replace
	powerpc_p9vector_ok with powerpc_vsx_ok and replace
	-mpower9-vector with -mvsx.
	* gcc.dg/vect/pr109011-1.c: Replace powerpc_p8vector_ok with
	powerpc_vsx_ok, and replace -mpower8-vector with
	-mdejagnu-cpu=power8 -mvsx or -mvsx under different conditions.
	* gcc.dg/vect/pr109011-2.c: Replace powerpc_p9vector_ok
	with powerpc_vsx_ok, and replace -mpower9-vector with
	-mdejagnu-cpu=power9 -mvsx or -mvsx under different conditions.
	* gcc.dg/vect/pr109011-4.c: Likewise.
	* gcc.dg/vect/pr109011-3.c: Replace powerpc_p8vector_ok with
	powerpc_vsx_ok, and replace -mpower8-vector -mno-power9-vector
	with -mdejagnu-cpu=power8 -mvsx.
	* gcc.dg/vect/pr109011-5.c: Likewise.
	* gcc.target/powerpc/altivec-35.c: Remove -mno-power8-vector.
	* gcc.target/powerpc/vsx-vector-7.c: Replace -mno-power8-vector
	with -mdejagnu-cpu=power7.
	* gcc.dg/vect/O3-pr70130.c: Replace -mcpu=power7 with options
	-mdejagnu-cpu=power7 -mvsx and remove option -mno-power9-vector
	-mno-power8-vector.
	* gfortran.dg/vect/pr45714-b.f: Likewise.
	* gcc.dg/vect/pr48765.c: Remove dg-skip-if and replace -mcpu=power7
	with option -mdejagnu-cpu=power6.
	* gcc.target/powerpc/pr78056-2.c: Likewise.
	* gcc.target/powerpc/altivec-2-runnable.c: Replace
	powerpc_p8vector_ok with powerpc_vsx_ok, remove -mpower8-vector
	and add dg-additional-options -mdejagnu-cpu=power8 if !has_arch_pwr8.
	* gcc.target/powerpc/altivec-37.c: Likewise.
	* gcc.target/powerpc/fold-vec-abs-longlong-fwrapv.p8.c: Replace
	powerpc_p8vector_ok with powerpc_vsx_ok and replace -mpower8-vector
	with -mvsx.
	* gcc.target/powerpc/fold-vec-abs-longlong.p8.c: Likewise.
	* gcc.target/powerpc/fold-vec-cmp-char.p8.c: Likewise.
	* gcc.target/powerpc/fold-vec-cmp-int.p8.c: Likewise.
	* gcc.target/powerpc/fold-vec-cmp-short.p8.c: Likewise.
	* gcc.target/powerpc/fold-vec-mergeeo-floatdouble.c: Likewise.
	* gcc.target/powerpc/fold-vec-mergeeo-int.c: Likewise.
	* gcc.target/powerpc/fold-vec-mergeeo-longlong.c: Likewise.
	* gcc.target/powerpc/fold-vec-mult-int128-p8.c: Likewise.
	* gcc.target/powerpc/fold-vec-neg-longlong.p8.c: Likewise.
	* gcc.target/powerpc/pr104124.c: Likewise.
	* gcc.target/powerpc/vec-cmpne-long.c: Likewise.
	* gcc.target/powerpc/pr86731-fwrapv-longlong.c: Replace
	powerpc_p8vector_ok with powerpc_vsx_ok, replace -mpower8-vector with
	-mvsx and add dg-additional-options -mdejagnu-cpu=power8 if
	!has_arch_pwr8.
	* gcc.target/powerpc/pr80098-1.c: Replace powerpc_p9vector_ok with
	powerpc_vsx_ok and replace -mno-power9-vector with -mno-vsx.
	* gcc.target/powerpc/pr80098-2.c: Replace powerpc_p8vector_ok with
	powerpc_vsx_ok and replace -mno-power8-vector with -mno-vsx.
	* gcc.target/powerpc/pragma_misc9.c: Replace powerpc_p9vector_ok
	with powerpc_vsx_ok.
2024-02-21 20:41:18 -06:00
Szabolcs Nagy
dbbfb52b0e libgcc: aarch64: Configure check for __getauxval
Add configure check for the __getauxval ABI symbol, which is always
available on aarch64 glibc, and may be available on other linux C
runtimes. For now only enabled on glibc, others have to override it

  target_configargs=libgcc_cv_have___getauxval=yes

This is deliberately obscure as it should be auto detected, ideally
via a feature test macro in unistd.h (link time detection is not
possible since the libc may not be installed at libgcc build time),
but currently there is no such feature test mechanism.

Without __getauxval, libgcc cannot do runtime CPU feature detection
and has to assume only the build time known features are available.

libgcc/ChangeLog:

	* config.in: Undef HAVE___GETAUXVAL.
	* configure: Regenerate.
	* configure.ac: Check for __getauxval.
2023-12-08 11:29:06 +00:00
Szabolcs Nagy
3ebb591c65 libgcc: aarch64: Configure check for .variant_pcs support
Ideally SME support routines in libgcc are marked as variant PCS symbols
so check if as supports the directive.

libgcc/ChangeLog:

	* config.in: Undef HAVE_AS_VARIANT_PCS.
	* configure: Regenerate.
	* configure.ac: Check for .variant_pcs.
2023-12-08 11:27:35 +00:00
Alexandre Oliva
f908368d2c strub: enable conditional support
Targets that don't expose callee stacks to callers, such as nvptx, as
well as -fsplit-stack compilations, violate fundamental assumptions of
the current strub implementation.  This patch enables targets to
disable strub, and disables it when -fsplit-stack is enabled.

When strub support is disabled, the testsuite will now skip strub
tests, and libgcc will not build the strub runtime components.


for  gcc/ChangeLog

	* target.def (have_strub_support_for): New hook.
	* doc/tm.texi.in: Document it.
	* doc/tm.texi: Rebuild.
	* ipa-strub.cc: Include target.h.
	(strub_target_support_p): New.
	(can_strub_p): Call it.  Test for no flag_split_stack.
	(pass_ipa_strub::adjust_at_calls_call): Check for target
	support.
	* config/nvptx/nvptx.cc (TARGET_HAVE_STRUB_SUPPORT_FOR):
	Disable.
	* doc/sourcebuild.texi (strub): Document new effective
	target.

for  gcc/testsuite/ChangeLog

	* c-c++-common/strub-split-stack.c: New.
	* c-c++-common/strub-unsupported.c: New.
	* c-c++-common/strub-unsupported-2.c: New.
	* c-c++-common/strub-unsupported-3.c: New.
	* lib/target-supports.exp (check_effective_target_strub): New.
	* c-c++-common/strub-O0.c: Require effective target strub.
	* c-c++-common/strub-O1.c: Likewise.
	* c-c++-common/strub-O2.c: Likewise.
	* c-c++-common/strub-O2fni.c: Likewise.
	* c-c++-common/strub-O3.c: Likewise.
	* c-c++-common/strub-O3fni.c: Likewise.
	* c-c++-common/strub-Og.c: Likewise.
	* c-c++-common/strub-Os.c: Likewise.
	* c-c++-common/strub-all1.c: Likewise.
	* c-c++-common/strub-all2.c: Likewise.
	* c-c++-common/strub-apply1.c: Likewise.
	* c-c++-common/strub-apply2.c: Likewise.
	* c-c++-common/strub-apply3.c: Likewise.
	* c-c++-common/strub-apply4.c: Likewise.
	* c-c++-common/strub-at-calls1.c: Likewise.
	* c-c++-common/strub-at-calls2.c: Likewise.
	* c-c++-common/strub-defer-O1.c: Likewise.
	* c-c++-common/strub-defer-O2.c: Likewise.
	* c-c++-common/strub-defer-O3.c: Likewise.
	* c-c++-common/strub-defer-Os.c: Likewise.
	* c-c++-common/strub-internal1.c: Likewise.
	* c-c++-common/strub-internal2.c: Likewise.
	* c-c++-common/strub-parms1.c: Likewise.
	* c-c++-common/strub-parms2.c: Likewise.
	* c-c++-common/strub-parms3.c: Likewise.
	* c-c++-common/strub-relaxed1.c: Likewise.
	* c-c++-common/strub-relaxed2.c: Likewise.
	* c-c++-common/strub-short-O0-exc.c: Likewise.
	* c-c++-common/strub-short-O0.c: Likewise.
	* c-c++-common/strub-short-O1.c: Likewise.
	* c-c++-common/strub-short-O2.c: Likewise.
	* c-c++-common/strub-short-O3.c: Likewise.
	* c-c++-common/strub-short-Os.c: Likewise.
	* c-c++-common/strub-strict1.c: Likewise.
	* c-c++-common/strub-strict2.c: Likewise.
	* c-c++-common/strub-tail-O1.c: Likewise.
	* c-c++-common/strub-tail-O2.c: Likewise.
	* c-c++-common/strub-var1.c: Likewise.
	* c-c++-common/torture/strub-callable1.c: Likewise.
	* c-c++-common/torture/strub-callable2.c: Likewise.
	* c-c++-common/torture/strub-const1.c: Likewise.
	* c-c++-common/torture/strub-const2.c: Likewise.
	* c-c++-common/torture/strub-const3.c: Likewise.
	* c-c++-common/torture/strub-const4.c: Likewise.
	* c-c++-common/torture/strub-data1.c: Likewise.
	* c-c++-common/torture/strub-data2.c: Likewise.
	* c-c++-common/torture/strub-data3.c: Likewise.
	* c-c++-common/torture/strub-data4.c: Likewise.
	* c-c++-common/torture/strub-data5.c: Likewise.
	* c-c++-common/torture/strub-indcall1.c: Likewise.
	* c-c++-common/torture/strub-indcall2.c: Likewise.
	* c-c++-common/torture/strub-indcall3.c: Likewise.
	* c-c++-common/torture/strub-inlinable1.c: Likewise.
	* c-c++-common/torture/strub-inlinable2.c: Likewise.
	* c-c++-common/torture/strub-ptrfn1.c: Likewise.
	* c-c++-common/torture/strub-ptrfn2.c: Likewise.
	* c-c++-common/torture/strub-ptrfn3.c: Likewise.
	* c-c++-common/torture/strub-ptrfn4.c: Likewise.
	* c-c++-common/torture/strub-pure1.c: Likewise.
	* c-c++-common/torture/strub-pure2.c: Likewise.
	* c-c++-common/torture/strub-pure3.c: Likewise.
	* c-c++-common/torture/strub-pure4.c: Likewise.
	* c-c++-common/torture/strub-run1.c: Likewise.
	* c-c++-common/torture/strub-run2.c: Likewise.
	* c-c++-common/torture/strub-run3.c: Likewise.
	* c-c++-common/torture/strub-run4.c: Likewise.
	* c-c++-common/torture/strub-run4c.c: Likewise.
	* c-c++-common/torture/strub-run4d.c: Likewise.
	* c-c++-common/torture/strub-run4i.c: Likewise.
	* g++.dg/strub-run1.C: Likewise.
	* g++.dg/torture/strub-init1.C: Likewise.
	* g++.dg/torture/strub-init2.C: Likewise.
	* g++.dg/torture/strub-init3.C: Likewise.
	* gnat.dg/strub_attr.adb: Likewise.
	* gnat.dg/strub_ind.adb: Likewise.
	* gnat.dg/strub_access.adb: Likewise.
	* gnat.dg/strub_access1.adb: Likewise.
	* gnat.dg/strub_disp.adb: Likewise.
	* gnat.dg/strub_disp1.adb: Likewise.
	* gnat.dg/strub_ind1.adb: Likewise.
	* gnat.dg/strub_ind2.adb: Likewise.
	* gnat.dg/strub_intf.adb: Likewise.
	* gnat.dg/strub_intf1.adb: Likewise.
	* gnat.dg/strub_intf2.adb: Likewise.
	* gnat.dg/strub_renm.adb: Likewise.
	* gnat.dg/strub_renm1.adb: Likewise.
	* gnat.dg/strub_renm2.adb: Likewise.
	* gnat.dg/strub_var.adb: Likewise.
	* gnat.dg/strub_var1.adb: Likewise.

for  libgcc/ChangeLog

	* configure.ac: Check for strub support.
	* configure: Rebuilt.
	* Makefile.in: Compile strub.c conditionally.
2023-12-07 12:58:20 -03:00
John Ericson
9fc0ae6033
Deprecate a.out support for NetBSD targets.
As discussed previously, a.out support is now quite deprecated, and in
some cases removed, in both Binutils itself and NetBSD, so this legacy
default makes little sense. `netbsdelf*` and `netbsdaout*` still work
allowing the user to be explicit about there choice. Additionally, the
configure script warns about the change as Nick Clifton requested.

One possible concern was the status of NetBSD on NS32K, where only a.out
was supported. But per [1] NetBSD has removed support, and if it were to
come back, it would be with ELF. The binutils implementation is
therefore marked obsolete, per the instructions in the last message.

With that patch and this one applied, I have confirmed the following:

--target=i686-unknown-netbsd
--target=i686-unknown-netbsdelf
  builds completely

--target=i686-unknown-netbsdaout
  properly fails because target is deprecated.

--target=vax-unknown-netbsdaout builds completely except for gas, where
the target is deprecated.

[1]: https://mail-index.netbsd.org/tech-toolchain/2021/07/19/msg004025.html

config/ChangeLog:

	* picflag.m4: Simplify SHmedia NetBSD match by presuming ELF.

gcc/ChangeLog:

	* configure: Regenerate.

libada/ChangeLog:

	* configure: Regenerate.

libgcc/ChangeLog:

	* configure: Regenerate.

libiberty/ChangeLog:

	* configure: Regenerate.
2023-08-07 22:59:41 +02:00
Alan Modra
1d6c6dc947
egrep in binutils
Apparently some distros have a nagging egrep that helpfully tells you
egrep is deprecated and to use "grep -E".  The nag message causes a ld
testsuite failure.  What's more the advice isn't that good.  The "-E"
flag may not be available with older versions of grep.

This patch fixes bare invocation of egrep within binutils, replacing
it with the autoconf $EGREP or with grep.

config/ChangeLog:

	* lib-ld.m4 (AC_LIB_PROG_LD_GNU): Require AC_PROG_EGREP and
	invoke $EGREP.
	(AC_LIB_PROG_LD): Likewise.

gcc/ChangeLog:

	* configure: Regenerate.

intl/ChangeLog:

	* configure: Regenerate.

libcpp/ChangeLog:

	* configure: Regenerate.

libgcc/ChangeLog:

	* configure: Regenerate.

libstdc++-v3/ChangeLog:

	* configure: Regenerate.
2023-08-07 22:59:40 +02:00
LIU Hao
f036d759ec gcc: Add 'mcf' thread model support from mcfgthread
This patch adds the new thread model `mcf`, which implements mutexes
and condition variables with the mcfgthread library.

Source code for mcfgthread is available at <https://github.com/lhmouse/mcfgthread>.

config/ChangeLog:
	* gthr.m4 (GCC_AC_THREAD_HEADER): Add new case for `mcf` thread
	model

gcc/ChangeLog:
	* config/i386/mingw-mcfgthread.h: New file
	* config/i386/mingw32.h: Add builtin macro and default libraries
	for mcfgthread when thread model is `mcf`
	* config.gcc: Include 'i386/mingw-mcfgthread.h' when thread model
	is `mcf`
	* configure.ac: Recognize `mcf` as a valid thread model
	* config.in: Regenerate
	* configure: Regenerate

libatomic/ChangeLog:
	* configure.tgt: Add new case for `mcf` thread model

libgcc/ChangeLog:
	* config.host: Add new cases for `mcf` thread model
	* config/i386/gthr-mcf.h: New file
	* config/i386/t-mingw-mcfgthread: New file
	* config/i386/t-slibgcc-cygming: Add mcfgthread for libgcc DLL
	* configure: Regenerate

libstdc++-v3/ChangeLog:
	* libsupc++/atexit_thread.cc (__cxa_thread_atexit): Use
	implementation from mcfgthread if available
	* libsupc++/guard.cc (__cxa_guard_acquire, __cxa_guard_release,
	__cxa_guard_abort): Use implementations from mcfgthread if
	available
	* configure: Regenerate
2022-10-19 13:52:37 +00:00
Christophe Lyon
afd82c104b aarch64: Enable DFP (Decimal Floating-point) (BID format)
This patch enables DFP support on aarch64, by updating config/dfp.m4
and regenerating the involved configure scripts.
We enable the BID format.

2022-03-31  Christophe Lyon  <christophe.lyon@arm.com>

	config/
	* dfp.m4: Add aarch64 support.
	gcc/
	* configure: Regenerate.
	libdecnumber/
	* configure: Regenerate.
	libgcc/
	* configure: Regenerate.
2022-05-20 09:31:15 +02:00
chenglulu
b38100eb08 LoongArch Port: Regenerate libgcc/configure.
2022-03-29  Chenghua Xu  <xuchenghua@loongson.cn>
	    Lulu Cheng  <chenglulu@loongson.cn>

libgcc/ChangeLog:

	* configure: Regenerate file.
2022-03-29 17:43:35 +08:00
Jose E. Marchesi
39be73d07b bpf: do not --enable-gcov for bpf-*-* targets
This patch changes the build machinery in order to disable the build
of GCOV (both compiler and libgcc) in bpf-*-* targets.  The reason for
this change is that BPF is (currently) too restricted in order to
support the coverage instrumentalization.

Tested in bpf-unknown-none and x86_64-linux-gnu targets.

2022-02-23  Jose E. Marchesi  <jose.marchesi@oracle.com>

gcc/ChangeLog

	PR target/104656
	* configure.ac: --disable-gcov if targetting bpf-*.
	* configure: Regenerate.

libgcc/ChangeLog

	PR target/104656
	* configure.ac: --disable-gcov if targetting bpf-*.
	* configure: Regenerate.
2022-02-24 16:43:57 +01:00
Kewen Lin
47749c43ac rs6000: Fix typos in float128 ISA3.1 support
The recent float128 ISA3.1 support (r12-1340) has some typos,
it makes the libgcc build fail if it's with one binutils
(assembler) which doesn't support Power10 insns.  The error
looks like:

Error: invalid switch -mpower10
Error: unrecognized option -mpower10
... [...libgcc/shared-object.mk:14: float128-p10.o] Error 1

What this patch does are:
  - fix test target typo libgcc_cv_powerpc_3_1_float128_hw
    (written wrongly as libgcc_cv_powerpc_float128_hw, so it's
     going to build ISA3.1 stuffs just when detecting ISA3.0).
  - fix test used for libgcc_cv_powerpc_3_1_float128_hw check.
  - fix test option used for libgcc_cv_powerpc_3_1_float128_hw
    check.
  - remove the ISA3.1 related contents from t-float128-hw.
  - add new macro FLOAT128_HW_INSNS_ISA3_1 to differentiate
    ISA3.1 content from ISA3.0 part in ifunc support.

Bootstrapped/regtested on:
  - powerpc64le-linux-gnu P10
  - powerpc64le-linux-gnu P9 (w/i and w/o p10 supported as)
  - powerpc64-linux-gnu P8 (w/i and w/o p10 supported as)

libgcc/ChangeLog:

	* configure: Regenerate.
	* configure.ac (test for libgcc_cv_powerpc_3_1_float128_hw): Fix
	typos among the name, CFLAGS and the test.
	* config/rs6000/t-float128-hw (fp128_3_1_hw_funcs, fp128_3_1_hw_src,
	fp128_3_1_hw_static_obj, fp128_3_1_hw_shared_obj, fp128_3_1_hw_obj):
	Remove.
	* config/rs6000/t-float128-p10-hw (FLOAT128_HW_INSNS): Append
	macro FLOAT128_HW_INSNS_ISA3_1.
	(FP128_3_1_CFLAGS_HW): Fix option typo.
	* config/rs6000/float128-ifunc.c (SW_OR_HW_ISA3_1): Guard this with
	FLOAT128_HW_INSNS_ISA3_1.
	(__floattikf_resolve): Likewise.
	(__floatuntikf_resolve): Likewise.
	(__fixkfti_resolve): Likewise.
	(__fixunskfti_resolve): Likewise.
	(__floattikf): Likewise.
	(__floatuntikf): Likewise.
	(__fixkfti): Likewise.
	(__fixunskfti): Likewise.
2021-06-22 23:09:30 -05:00
Carl Love
9090f48071 Conversions between 128-bit integer and floating point values.
The files fixkfti-sw.c and fixunskfti-sw.c are renamed versions of
fixkfti.c and fixunskfti.c respectively to do the conversions in software.
The function names in the files were updated with the rename as well as
some white spaces fixes. The file float128-p10.c contains the functions
for using the ISA 3.1 hardware instructions to perform the conversions.

2021-06-08  Carl Love  <cel@us.ibm.com>

gcc/ChangeLog

	* config/rs6000/rs6000.c (__fixkfti, __fixunskfti, __floattikf,
	__floatuntikf): Names changed to __fixkfti_sw, __fixunskfti_sw,
	__floattikf_sw, __floatuntikf_sw respectively.
	* config/rs6000/rs6000.md (floatti<mode>2, floatunsti<mode>2,
	fix_trunc<mode>ti2, fixuns_trunc<mode>ti2): Add
	define_insn for mode IEEE 128.

gcc/testsuite/ChangeLog

	* gcc.target/powerpc/fp128_conversions.c: New file.
	* gcc.target/powerpc/int_128bit-runnable.c(vextsd2q,
	vcmpuq, vcmpsq, vcmpequq, vcmpequq., vcmpgtsq, vcmpgtsq.
	vcmpgtuq, vcmpgtuq.): Update scan-assembler-times.
	(ppc_native_128bit): Remove dg-require-effective-target.

libgcc/ChangeLog

	* config.host: Add if test and set for
	libgcc_cv_powerpc_3_1_float128_hw.
	* config/rs6000/fixkfti.c: Renamed to fixkfti-sw.c.
	Change calls of __fixkfti to __fixkfti_sw.
	* config/rs6000/fixunskfti.c: Renamed to fixunskfti-sw.c.
	Change calls of __fixunskfti to __fixunskfti_sw.
	* config/rs6000/float128-p10.c (__floattikf_hw,
	__floatuntikf_hw, __fixkfti_hw, __fixunskfti_hw): New file.
	* config/rs6000/float128-ifunc.c (SW_OR_HW_ISA3_1): New macro.
	(__floattikf_resolve, __floatuntikf_resolve, __fixkfti_resolve,
	__fixunskfti_resolve): Add resolve functions.
	(__floattikf, __floatuntikf, __fixkfti, __fixunskfti): New functions.
	* config/rs6000/float128-sed (floattitf, __floatuntitf,
	__fixtfti, __fixunstfti): Add editor commands to change names.
	* config/rs6000/float128-sed-hw (__floattitf,
	__floatuntitf, __fixtfti, __fixunstfti): Add editor commands to
	change names.
	* config/rs6000/floattikf.c: Renamed to floattikf-sw.c.
	* config/rs6000/floatuntikf.c: Renamed to floatuntikf-sw.c.
	* config/rs6000/quad-float128.h (__floattikf_sw,
	__floatuntikf_sw, __fixkfti_sw, __fixunskfti_sw, __floattikf_hw,
	__floatuntikf_hw, __fixkfti_hw, __fixunskfti_hw, __floattikf,
	__floatuntikf, __fixkfti, __fixunskfti): New extern declarations.
	* config/rs6000/t-float128 (floattikf, floatuntikf,
	fixkfti, fixunskfti): Remove file names from fp128_ppc_funcs.
	(floattikf-sw, floatuntikf-sw, fixkfti-sw, fixunskfti-sw): Add
	file names to fp128_ppc_funcs.
	* config/rs6000/t-float128-hw(fp128_3_1_hw_funcs,
	fp128_3_1_hw_src, fp128_3_1_hw_static_obj, fp128_3_1_hw_shared_obj,
	fp128_3_1_hw_obj): Add variables for ISA 3.1 support.
	* config/rs6000/t-float128-p10-hw: New file.
	* configure: Update script for isa 3.1 128-bit float support.
	* configure.ac: Add check for 128-bit float hardware support.
2021-06-09 11:20:07 -05:00
Martin Liska
00d79dc4be gcov: use mmap pools for KVP.
gcc/ChangeLog:

	PR gcov-profile/97461
	* gcov-io.h (GCOV_PREALLOCATED_KVP): Remove.

libgcc/ChangeLog:

	PR gcov-profile/97461
	* config.in: Regenerate.
	* configure: Likewise.
	* configure.ac: Check sys/mman.h header file
	* libgcov-driver.c (struct gcov_kvp): Remove static
	pre-allocated pool and use a dynamic one.
	* libgcov.h (MMAP_CHUNK_SIZE): New.
	(gcov_counter_add): Use mmap to allocate pool for struct
	gcov_kvp.
2021-03-03 14:21:45 +01:00
Douglas Rupp
1786798090 Introduce vxworks7r2 support for ppc and ppc64
This change introduces support for the most recent versions
of VxWorks on PowerPC targets, for both 32 and 64 bit thanks
to a bi-arch setup.

The system compilers are essentially configured as Linux
toolchains with only a few specificities and we replicate
that model here.

The most visible specificities are the use of secureplt by
default, the pre-definition of some macros that the system
headers still rely on (_VX_CPU and _VX_CPU_FAMILY, for example),
and of course some variations related to the so VxWorks typical
kernel vs RTP mode distinction.

In addition to the introduction of config.gcc and libgcc
configuration chunks, much inspired by the linux ones, the
change

- Reworks rs6000/vxworks.h file to feature bits common to the
  Vx6 and Vx7 port then a separate section for each, where the
  Vx7 part is very short as we rely on the Linux definitions
  for most things.

- Adjusts the CPU macro predefinitions in CPP_SPEC to resort
  to "_VX_CPU" instead of "CPU" for Vx7, to better match the
  more recent system headers expectations,

- Adds a cpu definition case for e6500.

- Changes to the use SUB3TARGET_OVERRIDE_OPTIONS instead of
  SUBSUBTARGET_OVERRIDE_OPTIONS for specifics, so we don't
  override the Linux's version of the latter for vx7.

2020-10-20  Douglas Rupp  <rupp@adacore.com>

gcc/
	* config.gcc (powerpc*-wrs-vxworks7r*): New case.
	* config/rs6000/vxworks.h: Rework to handle VxWorks7.
	Refactor as common bits + vx6 vs vx7 ones. For the
	latter, rely essentially on the Linux configuration
	and adjust CPU to _VX_CPU in CPP_SPEC. Add a case
	for e6500. Use SUB3TARGET_OVERRIDE_OPTIONS for specifics
	to preserve the Linux SUBSUBTARGET_OVERRIDE_OPTIONS
	for vx7.

libgcc/
	* config.host (powerpc*-wrs-vxworks7*): New case.
	* configure.ac: Handle powerpc*-*-vxworks7* as
	powerpc*-*-linux* for ppc-fp_type.
	* configure: Regenerate.

Co-authored-by: Olivier Hainque <hainque@adacore.com>
2020-10-21 16:26:37 +00:00
Max Filippov
8c8eb94914 gcc: xtensa: add -mabi option for call0/windowed ABI
2020-06-15  Max Filippov  <jcmvbkbc@gmail.com>
gcc/
	* config/xtensa/elf.h (ASM_SPEC, LINK_SPEC): Pass ABI switch to
	assembler/linker.
	* config/xtensa/linux.h (ASM_SPEC, LINK_SPEC): Ditto.
	* config/xtensa/uclinux.h (ASM_SPEC, LINK_SPEC): Ditto.
	* config/xtensa/xtensa.c (xtensa_option_override): Initialize
	xtensa_windowed_abi if needed.
	* config/xtensa/xtensa.h (TARGET_WINDOWED_ABI_DEFAULT): New
	macro.
	(TARGET_WINDOWED_ABI): Redefine to xtensa_windowed_abi.
	* config/xtensa/xtensa.opt (xtensa_windowed_abi): New target
	option variable.
	(mabi=call0, mabi=windowed): New options.
	* doc/invoke.texi: Document new -mabi= Xtensa-specific options.

gcc/testsuite/
	* gcc.target/xtensa/mabi-call0.c: New test.
	* gcc.target/xtensa/mabi-windowed.c: New test.

libgcc/
	* configure: Regenerate.
	* configure.ac: Use AC_COMPILE_IFELSE instead of manual
	preprocessor invocation to check for __XTENSA_CALL0_ABI__.
2020-06-15 03:35:50 -07:00
H.J. Lu
9051b54827 Avoid nested save_CFLAGS and save_LDFLAGS
Avoid nested save_CFLAGS and save_LDFLAGS by replacing save_CFLAGS and
save_LDFLAGS with cet_save_CFLAGS and cet_save_LDFLAGS in cet.m4.

config/

	PR bootstrap/95413
	* cet.m4: Replace save_CFLAGS and save_LDFLAGS with
	cet_save_CFLAGS and cet_save_LDFLAGS.

gcc/

	PR bootstrap/95413
	* configure: Regenerated.

libatomic/

	PR bootstrap/95413
	* configure: Regenerated.

libbacktrace/

	PR bootstrap/95413
	* configure: Regenerated.

libcc1/

	PR bootstrap/95413
	* configure: Regenerated.

libcpp/

	PR bootstrap/95413
	* configure: Regenerated.

libdecnumber/

	PR bootstrap/95413
	* configure: Regenerated.

libgcc/

	PR bootstrap/95413
	* configure: Regenerated.

libgfortran/

	PR bootstrap/95413
	* configure: Regenerated.

libgomp/

	PR bootstrap/95413
	* configure: Regenerated.

libiberty/

	PR bootstrap/95413
	* configure: Regenerated.

libitm/

	PR bootstrap/95413
	* configure: Regenerated.

libobjc/

	PR bootstrap/95413
	* configure: Regenerated.

libphobos/

	PR bootstrap/95413
	* configure: Regenerated.

libquadmath/

	PR bootstrap/95413
	* configure: Regenerated.

libsanitizer/

	PR bootstrap/95413
	* configure: Regenerated.

libssp/

	PR bootstrap/95413
	* configure: Regenerated.

libstdc++-v3/

	PR bootstrap/95413
	* configure: Regenerated.

libvtv/

	PR bootstrap/95413
	* configure: Regenerated.

lto-plugin/

	PR bootstrap/95413
	* configure: Regenerated.

zlib/

	PR bootstrap/95413
	* configure: Regenerated.
2020-05-29 12:56:40 -07:00
H.J. Lu
4c1a5d8b71 x86: Also check if -fcf-protection works
When defaulting CET run-time support to auto, check if -fcf-protection
works.  Even if the stage1 GCC doesn't support -fcf-protection, since
the final GCC does, CET run-time support will be enabled by default if
binutils support CET.

config/

	PR bootstrap/95147
	* cet.m4 (GCC_CET_FLAGS): Also check if -fcf-protection works
	when defaulting to auto.

libatomic/

	PR bootstrap/95147
	* configure: Regenerated.

libbacktrace/

	PR bootstrap/95147
	* configure: Regenerated.

libgcc/

	PR bootstrap/95147
	* configure: Regenerated.

libgfortran/

	PR bootstrap/95147
	* configure: Regenerated.

libgomp/

	PR bootstrap/95147
	* configure: Regenerated.

libitm/

	PR bootstrap/95147
	* configure: Regenerated.

libobjc/

	PR bootstrap/95147
	* configure: Regenerated.

libphobos/

	PR bootstrap/95147
	* configure: Regenerated.

libquadmath/

	PR bootstrap/95147
	* configure: Regenerated.

libsanitizer/

	PR bootstrap/95147
	* configure: Regenerated.

libssp/

	PR bootstrap/95147
	* configure: Regenerated.

libstdc++-v3/

	PR bootstrap/95147
	* configure: Regenerated.

libvtv/

	PR bootstrap/95147
	* configure: Regenerated.

zlib/

	PR bootstrap/95147
	* configure: Regenerated.
2020-05-15 09:07:17 -07:00
H.J. Lu
8d286dd118 x86: Default CET run-time support to auto
CET has been added since GCC 8.  This patch defaults CET run-time support
to auto.  It enables CET run-time support if asssembler supports CET
instructions and multi-byte NOPs are enabled via SSE2.

config/

	* cet.m4 (GCC_CET_FLAGS): Change default to auto.

gcc/

	* configure: Regenerated.

libatomic/

	* configure: Regenerated.

libbacktrace/

	* configure: Regenerated.

libcc1/

	* configure: Regenerated.

libcpp/

	* configure: Regenerated.

libdecnumber/

	* configure: Regenerated.

libgcc/

	* configure: Regenerated.

libgfortran/

	* configure: Regenerated.

libgomp/

	* configure: Regenerated.

libitm/

	* configure: Regenerated.

libobjc/

	* configure: Regenerated.

libquadmath/

	* configure: Regenerated.

libsanitizer/

	* configure: Regenerated.

libssp/

	* configure: Regenerated.

libstdc++-v3/

	* configure: Regenerated.

libvtv/

	* configure: Regenerated.

zlib/

	* configure: Regenerated.
2020-05-14 09:05:02 -07:00
Michael Meissner
ef836167f5 Delete changes meant for a private branch.
2020-05-05  Michael Meissner  <meissner@linux.ibm.com>

	* config/rs6000/rs6000-builtin.def: Delete changes meant for a
	private branch.
	* config/rs6000/rs6000-c.c: Likewise.
	* config/rs6000/rs6000-call.c: Likewise.
	* gcc/config/rs6000/rs6000.c: Likewise.

2020-05-05  Michael Meissner  <meissner@linux.ibm.com>

	* gcc.dg/nextafter-2.c: Delete changes meant for a private branch.
	* gcc.target/powerpc/pr70117.c: Likewise.

2020-05-05  Michael Meissner  <meissner@linux.ibm.com>

	* config.host: Delete changes meant for a private branch.
	* config/rs6000/t-float128: Likewise.
	* configure.ac: Likewise.
	* configure: Likewise.
2020-05-05 14:03:30 -04:00
Michael Meissner
3338afa4a3 Patch ieee128-lib-patch010b 2020-05-05 14:03:30 -04:00
Jakub Jelinek
5b2f76e36d aarch64: Fix bootstrap with old binutils [PR93053]
As reported in the PR, GCC 10 (and also 9.3.1 but not 9.3.0) fails to build
when using older binutils which lack LSE support, because those instructions
are used in libgcc.
Thanks to Kyrylo's hint, the following patches (hopefully) allow it to build
even with older binutils by using .inst directive if LSE support isn't
available in the assembler.

2020-04-15  Jakub Jelinek  <jakub@redhat.com>

	PR target/93053
	* configure.ac (LIBGCC_CHECK_AS_LSE): Add HAVE_AS_LSE checking.
	* config/aarch64/lse.S: Include auto-target.h, if HAVE_AS_LSE
	is not defined, use just .arch armv8-a.
	(B, M, N, OPN): Define.
	(COMMENT): New .macro.
	(CAS, CASP, SWP, LDOP): Use .inst directive if HAVE_AS_LSE is not
	defined.  Otherwise, move the operands right after the glue? and
	comment out operands where the macros are used.
	* configure: Regenerated.
	* config.in: Regenerated.
2020-04-15 11:01:19 +02:00
Sandra Loosemore
02ce382cd3 Use a non-empty test program to test ability to link.
On bare-metal targets, I/O support is typically provided by a BSP and
requires a linker script and/or hosting library to be specified on the
linker command line.  Linking an empty program with the default linker
script may succeed, however, which confuses libstdc++ configuration
when programs that probe for the presence of various I/O features fail
with link errors.

2020-02-12  Sandra Loosemore  <sandra@codesourcery.com>

	PR libstdc++/79193
	PR libstdc++/88999

	config/
	* no-executables.m4: Use a non-empty program to test for linker
	support.

	libgcc/
	* configure: Regenerated.

	libgfortran/
	* configure: Regenerated.

	libiberty/
	* configure: Regenerated.

	libitm/
	* configure: Regenerated.

	libobjc/
	* configure: Regenerated.

	libquadmath/
	* configure: Regenerated.

	libssp/
	* configure: Regenerated.

	libstdc++v-3/
	* configure: Regenerated.
2020-02-12 13:22:07 -08:00
Maciej W. Rozycki
e8e66971cd Add `--with-toolexeclibdir=' configuration option
Provide means, in the form of a `--with-toolexeclibdir=' configuration
option, to override the default installation directory for target
libraries, otherwise known as $toolexeclibdir.  This is so that it is
possible to get newly-built libraries, particularly the shared ones,
installed in a common place, so that they can be readily used by the
target system as their host libraries, possibly over NFS, without a need
to manually copy them over from the currently hardcoded location they
would otherwise be installed in.

In the presence of the `--enable-version-specific-runtime-libs' option
and for configurations building native GCC the option is ignored.

	config/
	* toolexeclibdir.m4: New file.

	gcc/
	* doc/install.texi (Cross-Compiler-Specific Options): Document
	`--with-toolexeclibdir' option.

	libada/
	* Makefile.in (configure_deps): Add `toolexeclibdir.m4'.
	* configure.ac: Handle `--with-toolexeclibdir='.
	* configure: Regenerate.

	libatomic/
	* configure.ac: Handle `--with-toolexeclibdir='.
	* Makefile.in: Regenerate.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* testsuite/Makefile.in: Regenerate.

	libffi/
	* configure.ac: Handle `--with-toolexeclibdir='.
	* Makefile.in: Regenerate.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* include/Makefile.in: Regenerate.
	* man/Makefile.in: Regenerate.
	* testsuite/Makefile.in: Regenerate.

	libgcc/
	* Makefile.in (configure_deps): Add `toolexeclibdir.m4'.
	* configure.ac: Handle `--with-toolexeclibdir='.
	* configure: Regenerate.

	libgfortran/
	* configure.ac: Handle `--with-toolexeclibdir='.
	* Makefile.in: Regenerate.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.

	libgomp/
	* configure.ac: Handle `--with-toolexeclibdir='.
	* Makefile.in: Regenerate.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* testsuite/Makefile.in: Regenerate.

	libhsail-rt/
	* configure.ac: Handle `--with-toolexeclibdir='.
	* Makefile.in: Regenerate.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.

	libitm/
	* configure.ac: Handle `--with-toolexeclibdir='.
	* Makefile.in: Regenerate.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* testsuite/Makefile.in: Regenerate.

	libobjc/
	* Makefile.in (aclocal_deps): Add `toolexeclibdir.m4'.
	* aclocal.m4: Include `toolexeclibdir.m4'.
	* configure.ac: Handle `--with-toolexeclibdir='.
	* configure: Regenerate.

	liboffloadmic/
	* plugin/configure.ac: Handle `--with-toolexeclibdir='.
	* plugin/Makefile.in: Regenerate.
	* plugin/aclocal.m4: Regenerate.
	* plugin/configure: Regenerate.
	* configure.ac: Handle `--with-toolexeclibdir='.
	* Makefile.in: Regenerate.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.

	libphobos/
	* m4/druntime.m4: Handle `--with-toolexeclibdir='.
	* m4/Makefile.in: Regenerate.
	* libdruntime/Makefile.in: Regenerate.
	* src/Makefile.in: Regenerate.
	* testsuite/Makefile.in: Regenerate.
	* Makefile.in: Regenerate.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.

	libquadmath/
	* configure.ac: Handle `--with-toolexeclibdir='.
	* Makefile.in: Regenerate.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.

	libsanitizer/
	* configure.ac: Handle `--with-toolexeclibdir='.
	* Makefile.in: Regenerate.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* asan/Makefile.in: Regenerate.
	* interception/Makefile.in: Regenerate.
	* libbacktrace/Makefile.in: Regenerate.
	* lsan/Makefile.in: Regenerate.
	* sanitizer_common/Makefile.in: Regenerate.
	* tsan/Makefile.in: Regenerate.
	* ubsan/Makefile.in: Regenerate.

	libssp/
	* configure.ac: Handle `--with-toolexeclibdir='.
	* Makefile.in: Regenerate.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.

	libstdc++-v3/
	* acinclude.m4: Handle `--with-toolexeclibdir='.
	* Makefile.in: Regenerate.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* doc/Makefile.in: Regenerate.
	* include/Makefile.in: Regenerate.
	* libsupc++/Makefile.in: Regenerate.
	* po/Makefile.in: Regenerate.
	* python/Makefile.in: Regenerate.
	* src/Makefile.in: Regenerate.
	* src/c++11/Makefile.in: Regenerate.
	* src/c++17/Makefile.in: Regenerate.
	* src/c++98/Makefile.in: Regenerate.
	* src/filesystem/Makefile.in: Regenerate.
	* testsuite/Makefile.in: Regenerate.

	libvtv/
	* configure.ac: Handle `--with-toolexeclibdir='.
	* Makefile.in: Regenerate.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* testsuite/Makefile.in: Regenerate.

	zlib/
	* configure.ac: Handle `--with-toolexeclibdir='.
	* Makefile.in: Regenerate.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
2020-01-24 11:24:25 +00:00
Jozef Lawrynowicz
e8aa9f55f6 MSP430: Add new msp430-elfbare target
contrib/ChangeLog:

2019-12-16  Jozef Lawrynowicz  <jozef.l@mittosystems.com>

	* config-list.mk: Add msp430-elfbare.

gcc/ChangeLog:

2019-12-16  Jozef Lawrynowicz  <jozef.l@mittosystems.com>

	* config.gcc: s/msp430*-*-*/msp430-*-*.
	Handle msp430-*-elfbare.
	* config/msp430/msp430-devices.c (TARGET_SUBDIR): Define.
	(_MSPMKSTR): Define.
	(__MSPMKSTR): Define.
	(rest_of_devices_path): Use TARGET_SUBDIR value in string.
	* config/msp430/msp430.c (msp430_option_override): Error if
	-fuse-cxa-atexit is used when it has been disabled at configure time.
	* config/msp430/t-msp430: Define TARGET_SUBDIR when building
	msp430-devices.o.
	* doc/install.texi: Document msp430-*-elf and msp430-*-elfbare.
	* doc/invoke.texi: Update documentation about which path devices.csv is
	searched for.

gcc/testsuite/ChangeLog:

2019-12-16  Jozef Lawrynowicz  <jozef.l@mittosystems.com>

	* g++.dg/init/dso_handle1.C: Require cxa_atexit support.
	* g++.dg/init/dso_handle2.C: Likewise.
	* g++.dg/other/cxa-atexit1.C: Likewise.
	* gcc.target/msp430/msp430.exp: Update csv-using-installed.c test to
	handle msp430-elfbare configuration.

libgcc/ChangeLog:

2019-12-16  Jozef Lawrynowicz  <jozef.l@mittosystems.com>

	* config.host: s/msp430*-*-elf/msp430-*-elf*.
	Override default "extra_parts" variable.
	* configure: Regenerate.
	* configure.ac: Disable TM clone registry by default for
	msp430-elfbare.

From-SVN: r279442
2019-12-16 11:02:10 +00:00
Richard Henderson
9e46fd072b libgcc: Rebuild autoconf files
* config.in, configure: Re-rebuild with stock autoconf 2.69,
        not the ubuntu modified 2.69.

From-SVN: r276135
2019-09-25 16:04:58 -07:00
Richard Henderson
58d169ba9f aarch64: Configure for sys/auxv.h in libgcc for lse-init.c
PR target/91833
	* config/aarch64/lse-init.c: Include auto-target.h.  Disable
	initialization if !HAVE_SYS_AUXV_H.
	* configure.ac (AC_CHECK_HEADERS): Add sys/auxv.h.
	* config.in, configure: Rebuild.

From-SVN: r276134
2019-09-25 15:51:55 -07:00
Ilia Diachkov
5a4602805e Add --disable-tm-clone-registry libgcc configure option.
This patch adds libgcc configuration option to disable TM clone 
registry. This option helps to reduce code size for embedded targets 
which do not need transactional memory support.

	gcc/
	* doc/install.texi: Document --disable-tm-clone-registry.
	libgcc/
	* Makefile.in (USE_TM_CLONE_REGISTRY): New.
	(CRTSTUFF_CFLAGS): Use USE_TM_CLONE_REGISTRY.
	* configure.ac: Add --disable-tm-clone-registry option.
	* configure: Regenerate.

From-SVN: r272769
2019-06-27 16:41:03 -07:00
Kwok Cheung Yeung
76d4633107 Create GCN-specific gthreads
2019-06-25  Kwok Cheung Yeung  <kcy@codesourcery.com>
            Andrew Stubbs  <ams@codesourcery.com>

        gcc/
	* config.gcc (thread_file): Set to gcn for AMD GCN.
	* config/gcn/gcn.c (gcn_emutls_var_init): New function.
	(TARGET_EMUTLS_VAR_INIT): New hook.

	config/
	* gthr.m4 (GCC_AC_THREAD_HEADER): Add case for gcn.

	libgcc/
	* configure: Regenerate.
	* config/gcn/gthr-gcn.h: New.

Co-Authored-By: Andrew Stubbs <ams@codesourcery.com>

From-SVN: r272647
2019-06-25 11:41:29 +00:00
Rainer Orth
ccd1242eec Remove obsolete Solaris 10 support
libstdc++-v3:
	* config/os/solaris/solaris2.10: Move to ...
	* config/os/solaris: ... this.
	* configure.host (os_include_dir): Adapt.
	(abi_baseline_pair): Remove Solaris 10 handling.
	* config/abi/post/i386-solaris2.10: Remove.
	* config/abi/post/sparc-solaris2.10: Remove.
	* config/abi/post/i386-solaris2.11: Rename to ...
	* config/abi/post/i386-solaris: ... this.
	* config/abi/post/sparc-solaris2.11: Rename to ...
	* config/abi/post/sparc-solaris: ... this.

	* libsupc++/new_opa.cc [_GLIBCXX_HAVE_MEMALIGN] [__sun]: Remove
	workaround.

	* testsuite/ext/enc_filebuf/char/13598.cc: Remove *-*-solaris2.10
	xfail.

	libsanitizer:
	* configure.ac (have_dl_iterate_phdr): Remove *-*-solaris2.10*
	handling.
	* configure: Regenerate.

	libgcc:
	* config.host: Simplify various *-*-solaris2.1[0-9]* to
	*-*-solaris2*.
	* configure.ac: Likewise.
	* configure: Regenerate.

	* config/i386/sol2-unwind.h (x86_fallback_frame_state): Remove
	Solaris 10 and Solaris 11 < snv_125 handling.

	libbacktrace:
	* configure.ac (have_dl_iterate_phdr): Remove *-*-solaris2.10*
	handling.
	* configure: Regenerate.

	gcc/testsuite:
	* gcc.dg/atomic/c11-atomic-exec-4.c: Simplify triplet to
	*-*-solaris2*.
	* gcc.dg/atomic/c11-atomic-exec-5.c: Likewise.
	* gcc.dg/c99-math-double-1.c: Likewise.
	* gcc.dg/c99-math-float-1.c: Likewise.
	* gcc.dg/c99-math-long-double-1.c: Likewise.
	* gcc.misc-tests/linkage.exp: Simplify triplet to
	x86_64-*-solaris2*.

	* gcc.target/i386/mcount_pic.c: Remove *-*-solaris2.10* && !gld
	xfail.
	* gcc.target/i386/pr63620.c: Likewise.

	* lib/target-supports.exp (check_sse_os_support_available): Remove
	Solaris 9/x86 workaround.

	gcc:
	* config.gcc: Move *-*-solaris2.10* from obsolete configurations
	to unsupported ones.
	Simplify x86_64-*-solaris2.1[0-9]* to x86_64-*-solaris2*.
	* config.host: Likewise.
	* config/i386/sol2.h (ASM_COMMENT_START): Remove.
	* config/sparc/driver-sparc.c (host_detect_local_cpu) [__sun__ &&
	__svr4__]: Remove "brand" fallback.
	[!KSTAT_DATA_STRING]: Remove.
	* configure.ac (gcc_cv_ld_hidden): Simplify *-*-solaris2.1[0-9]*
	to *-*-solaris2*.
	(comdat_group): Likewise.
	(set_have_as_tls): Likewise.
	(gcc_cv_target_dl_iterate_phdr): Likewise.
	(gcc_cv_as_shf_merge): Remove Solaris 10/x86 workaround.
	(gcc_cv_ld_aligned_shf_merge): Remove Solaris 10/SPARC workaround.
	* configure: Regenerate.
	* doc/install.texi: Simplify Solaris target triplets.
	(Specific, i?86-*-solaris2*): Remove Solaris 10 references.
	(Specific, *-*-solaris2*): Document Solaris 10 removal.
	Remove Solaris 10 references.
	Remove obsolete Solaris bug reference.
	(Specific, sparc-sun-solaris2.10): Remove.

From-SVN: r271183
2019-05-14 17:17:23 +00:00
Joseph Myers
22e0527251 Update GCC to autoconf 2.69, automake 1.15.1 (PR bootstrap/82856).
This patch updates GCC to use autoconf 2.69 and automake 1.15.1.
(That's not the latest automake version, but it's the one used by
binutils-gdb, with which consistency is desirable, and in any case
seems a useful incremental update that should make a future update to
1.16.1 easier.)

The changes are generally similar to the binutils-gdb ones, and are
copied from there where shared files and directories are involved
(there are some further changes to such shared directories, however,
which I'd expect to apply to binutils-gdb once this patch is in GCC).
Largely, obsolete AC_PREREQ calls are removed, while many
AC_LANG_SOURCE calls are added to avoid warnings from aclocal and
autoconf.  Multilib support is no longer included in core automake,
meaning that multilib.am needs copying from automake's contrib
directory into the GCC source tree.  Autoconf 2.69 has Go support, so
local copies of that support are removed.  I hope the D support will
soon be submitted to upstream autoconf so the local copy of that can
be removed in a future update.  Changes to how automake generates
runtest calls mean quotes are removed from RUNTEST definitions in five
lib*/testsuite/Makefile.am files (libatomic, libgomp, libitm,
libphobos, libvtv; some others have RUNTEST definitions without
quotes, which are still OK); libgo and libphobos also get
-Wno-override added to AM_INIT_AUTOMAKE so those overrides of RUNTEST
do not generate automake warnings.

Note that the regeneration did not include regeneration of
fixincludes/config.h.in (attempting such regeneration resulted in all
the USED_FOR_TARGET conditionals disappearing; and I don't see
anything in the fixincludes/ directory that would result in such
conditionals being generated, unlike in the gcc/ directory).  Also
note that libvtv/testsuite/other-tests/Makefile.in was not
regenerated; that directory is not listed as a subdirectory for which
Makefile.in gets regenerated by calling "automake" in libvtv/, so I'm
not sure how it's meant to be regenerated.

While I mostly fixed warnings should running aclocal / automake /
autoconf, there were various such warnings from automake in the
libgfortran, libgo, libgomp, liboffloadmic, libsanitizer, libphobos
directories that I did not fix, preferring to leave those to the
relevant subsystem maintainers.  Specifically, most of those warnings
were of the following form (example from libgfortran):

Makefile.am:48: warning: source file 'caf/single.c' is in a subdirectory,
Makefile.am:48: but option 'subdir-objects' is disabled
automake: warning: possible forward-incompatibility.
automake: At least a source file is in a subdirectory, but the 'subdir-objects'
automake: automake option hasn't been enabled.  For now, the corresponding output
automake: object file(s) will be placed in the top-level directory.  However,
automake: this behaviour will change in future Automake versions: they
will
automake: unconditionally cause object files to be placed in the same subdirectory
automake: of the corresponding sources.
automake: You are advised to start using 'subdir-objects' option throughout your
automake: project, to avoid future incompatibilities.

I think it's best for the relevant maintainers to add subdir-objects
and do any other associated Makefile.am changes needed.  In some cases
the paths in the warnings involved ../; I don't know if that adds any
extra complications to the use of subdir-objects.

I've tested this with native, cross and Canadian cross builds.  The
risk of any OS-specific issues should I hope be rather lower than if a
libtool upgrade were included (we *should* do such an upgrade at some
point, but it's more complicated - it involves identifying all our
local libtool changes to see if any aren't included in the upstream
version we update to, and reverting an upstream libtool patch that's
inappropriate for use in GCC); I think it would be better to get this
update into GCC so that people can test in different configurations
and we can fix any issues found, rather than to try to get more and
more testing done before it goes in.

top level:
2018-10-31  Joseph Myers  <joseph@codesourcery.com>

	PR bootstrap/82856
	* multilib.am: New file.  From automake.

	Merge from binutils-gdb:
	2018-06-19  Simon Marchi  <simon.marchi@ericsson.com>

	* libtool.m4: Use AC_LANG_SOURCE.
	* configure.ac: Remove AC_PREREQ, use AC_LANG_SOURCE.
	* ar-lib: New file.
	* test-driver: New file.
	* configure: Re-generate.

config:
2018-10-31  Joseph Myers  <joseph@codesourcery.com>

	PR bootstrap/82856
	* math.m4, tls.m4: Use AC_LANG_SOURCE.

	Merge from binutils-gdb:
	2018-06-19  Simon Marchi  <simon.marchi@ericsson.com>

	* override.m4 (_GCC_AUTOCONF_VERSION): Bump from 2.64 to 2.69.

fixincludes:
2018-10-31  Joseph Myers  <joseph@codesourcery.com>

	PR bootstrap/82856
	* configure.ac: Remove AC_PREREQ.
	* aclocal.m4, configure: Regenerate.

gcc:
2018-10-31  Joseph Myers  <joseph@codesourcery.com>

	PR bootstrap/82856
	* configure.ac: Remove AC_PREREQ.  Use AC_LANG_SOURCE.  Use single
	line for second argument of AC_DEFINE_UNQUOTED.
	* doc/install.texi (Tools/packages necessary for modifying GCC):
	Update to autoconf 2.69 and automake 1.15.1.
	* aclocal.m4, config.in, configure: Regenerate.

gnattools:
2018-10-31  Joseph Myers  <joseph@codesourcery.com>

	PR bootstrap/82856
	* configure.ac: Remove AC_PREREQ.
	* configure: Regenerate.

gotools:
2018-10-31  Joseph Myers  <joseph@codesourcery.com>

	PR bootstrap/82856
	* config/go.m4: Remove file.
	* Makefile.am (ACLOCAL_AMFLAGS): Do not use -I ./config.
	* configure.ac:  Remove AC_PREREQ.  Do not include config/go.m4.
	* Makefile.in, aclocal.m4, configure: Regenerate.

intl:
2018-10-31  Joseph Myers  <joseph@codesourcery.com>

	PR bootstrap/82856
	Merge from binutils-gdb:
	2018-06-19  Simon Marchi  <simon.marchi@ericsson.com>

	* configure.ac: Add AC_USE_SYSTEM_EXTENSIONS, remove AC_PREREQ.
	* configure: Re-generate.
	* config.h.in: Re-generate.
	* aclocal.m4: Re-generate.

libada:
2018-10-31  Joseph Myers  <joseph@codesourcery.com>

	PR bootstrap/82856
	* configure.ac: Remove AC_PREREQ.
	* configure: Regenerate.

libatomic:
2018-10-31  Joseph Myers  <joseph@codesourcery.com>

	PR bootstrap/82856
	* Makefile.am: Include multilib.am.
	* acinclude.m4: Use AC_LANG_SOURCE.
	* configure.ac: Remove AC_PREREQ.
	* testsuite/Makefile.am (RUNTEST): Remove quotes.
	* Makefile.in, aclocal.m4, configure, testsuite/Makefile.in:
	Regenerate.

libbacktrace:
2018-10-31  Joseph Myers  <joseph@codesourcery.com>

	PR bootstrap/82856
	* Makefile.am: Include multilib.am.
	* configure.ac: Remove AC_PREREQ.  Use AC_LANG_SOURCE.
	* Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.

libcc1:
2018-10-31  Joseph Myers  <joseph@codesourcery.com>

	PR bootstrap/82856
	* configure.ac: Remove AC_PREREQ.
	* Makefile.in, aclocal.m4, configure: Regenerate.

libcpp:
2018-10-31  Joseph Myers  <joseph@codesourcery.com>

	PR bootstrap/82856
	* configure.ac: Remove AC_PREREQ.  Use AC_LANG_SOURCE.
	* aclocal.m4, config.in, configure: Regenerate.

libdecnumber:
2018-10-31  Joseph Myers  <joseph@codesourcery.com>

	PR bootstrap/82856
	Merge from binutils-gdb:
	2018-06-19  Simon Marchi  <simon.marchi@ericsson.com>

	* configure.ac: Remove AC_PREREQ.
	* configure: Re-generate.
	* aclocal.m4.

libffi:
2018-10-31  Joseph Myers  <joseph@codesourcery.com>

	PR bootstrap/82856
	* Makefile.am: Include multilib.am.
	(AUTOMAKE_OPTIONS): Add info-in-builddir.
	(CLEANFILES): Remove doc/libffi.info.
	* configure.ac: Remove AC_PREREQ.
	* Makefile.in, aclocal.m4, configure, fficonfig.h.in,
	include/Makefile.in, man/Makefile.in, testsuite/Makefile.in:
	Regenerate.

libgcc:
2018-10-31  Joseph Myers  <joseph@codesourcery.com>

	PR bootstrap/82856
	* configure.ac: Remove AC_PREREQ.  Use AC_LANG_SOURCE.
	* configure: Regenerate.

libgfortran:
2018-10-31  Joseph Myers  <joseph@codesourcery.com>

	PR bootstrap/82856
	* Makefile.am: Include multilib.am.
	* configure.ac: Remove AC_PREREQ.
	* Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.

libgo [logically part of this change but omitted from the commit]:
2018-10-31  Joseph Myers  <joseph@codesourcery.com>

	PR bootstrap/82856
	* Makefile.am: Include multilib.am.
	* config/go.m4: Remove file.
	* config/libtool.m4: Use AC_LANG_SOURCE.
	* configure.ac: Remove AC_PREREQ.  Use AC_LANG_SOURCE.  Use
	-Wno-override in AM_INIT_AUTOMAKE call.
	* Makefile.in, aclocal.m4, configure, testsuite/Makefile.in:
	Regenerate.

libgomp:
2018-10-31  Joseph Myers  <joseph@codesourcery.com>

	PR bootstrap/82856
	* Makefile.am: Include multilib.am
	(AUTOMAKE_OPTIONS): Add info-in-builddir.
	(CLEANFILES): Remove libgomp.info.
	* configure.ac: Remove AC_PREREQ.
	* testsuite/Makefile.am (RUNTEST): Remove quotes.
	* Makefile.in, aclocal.m4, configure, testsuite/Makefile.in:
	Regenerate.

libhsail-rt:
2018-10-31  Joseph Myers  <joseph@codesourcery.com>

	PR bootstrap/82856
	* configure.ac: Remove AC_PREREQ.
	* Makefile.in, aclocal.m4, configure: Regenerate.

libiberty:
2018-10-31  Joseph Myers  <joseph@codesourcery.com>

	PR bootstrap/82856
	Merge from binutils-gdb:
	2018-06-19  Simon Marchi  <simon.marchi@ericsson.com>

	* configure.ac: Remove AC_PREREQ.
	* configure: Re-generate.
	* config.in: Re-generate.

libitm:
2018-10-31  Joseph Myers  <joseph@codesourcery.com>

	PR bootstrap/82856
	* Makefile.am: Include multilib.am.
	(AUTOMAKE_OPTIONS): Add info-in-builddir.
	(CLEANFILES): Remove libitm.info.
	* configure.ac: Remove AC_PREREQ.
	* testsuite/Makefile.am (RUNTEST): Remove quotes.
	* Makefile.in, aclocal.m4, configure, testsuite/Makefile.in:
	Regenerate.

libobjc:
2018-10-31  Joseph Myers  <joseph@codesourcery.com>

	PR bootstrap/82856
	* configure.ac: Remove AC_PREREQ.
	* aclocal.m4, config.h.in, configure: Regenerate.

liboffloadmic:
2018-10-31  Joseph Myers  <joseph@codesourcery.com>

	PR bootstrap/82856
	* Makefile.am: Include multilib.am.
	* configure.ac: Remove AC_PREREQ.
	* plugin/Makefile.am: Include multilib.am.
	* plugin/configure.ac: Remove AC_PREREQ.
	* Makefile.in, aclocal.m4, configure, plugin/Makefile.in,
	plugin/aclocal.m4, plugin/configure: Regenerate.

libphobos:
2018-10-31  Joseph Myers  <joseph@codesourcery.com>

	PR bootstrap/82856
	* Makefile.am: Include multilib.am.
	* configure.ac: Remove AC_PREREQ.  Use -Wno-override in
	AM_INIT_AUTOMAKE call.
	* m4/autoconf.m4: Add extra argument to AC_LANG_DEFINE call.
	* m4/druntime/os.m4: Use AC_LANG_SOURCE.
	* testsuite/Makefile.am (RUNTEST): Remove quotes.
	* Makefile.in, aclocal.m4, configure, libdruntime/Makefile.in,
	src/Makefile.in, testsuite/Makefile.in: Regenerate.

libquadmath:
2018-10-31  Joseph Myers  <joseph@codesourcery.com>

	PR bootstrap/82856
	* Makefile.am: Include multilib.am.
	(AUTOMAKE_OPTIONS): Remove 1.8.  Add info-in-builddir.
	(all-local): Define outside conditional code.
	(CLEANFILES): Remove libquadmath.info.
	* configure.ac: Remove AC_PREREQ.
	* Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.

libsanitizer:
2018-10-31  Joseph Myers  <joseph@codesourcery.com>

	PR bootstrap/82856
	* Makefile.am: Include multilib.am.
	* configure.ac: Remove AC_PREREQ.  Use AC_LANG_SOURCE.
	* Makefile.in, aclocal.m4, asan/Makefile.in, configure,
	interception/Makefile.in, libbacktrace/Makefile.in,
	lsan/Makefile.in, sanitizer_common/Makefile.in, tsan/Makefile.in,
	ubsan/Makefile.in: Regenerate.

libssp:
2018-10-31  Joseph Myers  <joseph@codesourcery.com>

	PR bootstrap/82856
	* Makefile.am: Include multilib.am.
	(AUTOMAKE_OPTIONS): Remove 1.9.5.
	* configure.ac: Remove AC_PREREQ.  Quote argument to
	AC_RUN_IFELSE.
	* Makefile.in, aclocal.m4, configure: Regenerate.

libstdc++-v3:
2018-10-31  Joseph Myers  <joseph@codesourcery.com>

	PR bootstrap/82856
	* Makefile.am: Include multilib.am.
	* configure.ac: Remove AC_PREREQ.
	* Makefile.in, aclocal.m4, configure, doc/Makefile.in,
	include/Makefile.in, libsupc++/Makefile.in, po/Makefile.in,
	python/Makefile.in, src/Makefile.in, src/c++11/Makefile.in,
	src/c++17/Makefile.in, src/c++98/Makefile.in,
	src/filesystem/Makefile.in, testsuite/Makefile.in: Regenerate.

libvtv:
2018-10-31  Joseph Myers  <joseph@codesourcery.com>

	PR bootstrap/82856
	* Makefile.am: Include multilib.am.
	* configure.ac: Remove AC_PREREQ.
	* testsuite/Makefile.am (RUNTEST): Remove quotes.
	* Makefile.in, aclocal.m4, configure, testsuite/Makefile.in:
	Regenerate.

lto-plugin:
2018-10-31  Joseph Myers  <joseph@codesourcery.com>

	PR bootstrap/82856
	* configure.ac: Remove AC_PREREQ.  Use AC_LANG_SOURCE.
	* Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.

zlib:
2018-10-31  Joseph Myers  <joseph@codesourcery.com>

	PR bootstrap/82856
	* Makefile.am: Include multilib.am.

	Merge from binutils-gdb:
	2018-06-19  Simon Marchi  <simon.marchi@ericsson.com>

	* configure.ac: Modernize AC_INIT call, remove AC_PREREQ.
	* Makefile.am (AUTOMAKE_OPTIONS): Remove 1.8, cygnus, add foreign.
	* Makefile.in: Re-generate.
	* aclocal.m4: Re-generate.
	* configure: Re-generate.

From-SVN: r265695
2018-10-31 17:03:16 +00:00
Rainer Orth
53c6feb2b2 Use v2 map syntax in libgcc-unwind.map if Solaris ld supports it
* configure.ac (solaris_ld_v2_maps): New test.
	* configure: Regenerate.
	* Makefile.in (solaris_ld_v2_maps): New variable.
	* config/t-slibgcc-sld (libgcc-unwind.map): Emit v2 mapfile syntax
	if supported.

From-SVN: r264382
2018-09-18 07:04:15 +00:00
Jeff Law
1c1d2d8ca7 Add missing '|' as wrong patch was applied.
From-SVN: r262453
2018-07-05 14:28:01 -06:00
James Clarke
1c686aa4be dfp.m4 (enable_decimal_float): Enable for x86_64*-*-gnu* to catch x86_64 kFreeBSD and Hurd.
config/
	* dfp.m4 (enable_decimal_float): Enable for x86_64*-*-gnu* to
	catch x86_64 kFreeBSD and Hurd.

gcc/
	* configure: Regenerated.

libdecnumber/
	* configure: Regenerated.

libgcc/
	* configure: Regenerated.

From-SVN: r262452
2018-07-05 13:23:29 -06:00
Rasmus Villemoes
1765b02310 add support for --disable-gcov
For some targets (in my case VxWorks 5.5), libgcov does not compile due
to missing functions and macros such as getpid() and F_OK.

Incidentally, gcc/Makefile.in already contains comments such as

# Install gcov if it was compiled.

but there is no logic in place to actually allow gcov to not be
compiled.

So add an option for disabling build and install of libgcov and the
related host tools.

From-SVN: r262180
2018-06-27 10:04:25 +00:00
H.J. Lu
7b47ecf2f7 Regenerate configure of target libraries
* configure: Regenerated.

From-SVN: r259610
2018-04-24 09:45:26 -07:00
Jakub Jelinek
a0e1df888d cet.m4 (GCC_CET_FLAGS): Default to --disable-cet, replace --enable-cet=default with --enable-cet=auto.
* config/cet.m4 (GCC_CET_FLAGS): Default to --disable-cet, replace
	--enable-cet=default with --enable-cet=auto.

	* doc/install.texi: Document --disable-cet being the default and
	--enable-cet=auto.

	* configure: Regenerated.

From-SVN: r259487
2018-04-19 09:45:51 +02:00
David Malcolm
001ddaa852 re PR jit/85384 (libgccjit does not work if --with-gcc-major-version is used)
PR jit/85384
	* acx.m4 (GCC_BASE_VER): Remove \$\$ from sed expression.

	* configure.ac (gcc-driver-name.h): Honor --with-gcc-major-version
	by using gcc_base_ver to generate a gcc_driver_version, and use
	it when generating GCC_DRIVER_NAME.
	* configure: Regenerate.

	* configure: Regenerate.

From-SVN: r259462
2018-04-18 11:46:58 +02:00
Jakub Jelinek
ce579a4fe0 re PR debug/83917 (with -mcall-ms2sysv-xlogues, stepping into x86 tail-call restore stub gives bad backtrace)
PR debug/83917
	* configure.ac (AS_HIDDEN_DIRECTIVE): AC_DEFINE_UNQUOTED this to
	$asm_hidden_op if visibility ("hidden") attribute works.
	(HAVE_AS_CFI_SECTIONS): New AC_DEFINE.
	* config/i386/i386-asm.h: Don't include auto-host.h.
	(PACKAGE_VERSION, PACKAGE_NAME, PACKAGE_STRING, PACKAGE_TARNAME,
	PACKAGE_URL): Don't undefine.
	(USE_GAS_CFI_DIRECTIVES): Don't use nor define this macro, instead
	guard cfi_startproc only on ifdef __GCC_HAVE_DWARF2_CFI_ASM.
	(FN_HIDDEN): Change guard from #ifdef HAVE_GAS_HIDDEN to
	#ifdef AS_HIDDEN_DIRECTIVE, use AS_HIDDEN_DIRECTIVE macro in the
	definition instead of hardcoded .hidden.
	* config/i386/cygwin.S: Include i386-asm.h first before .cfi_sections
	directive.  Use #ifdef HAVE_AS_CFI_SECTIONS rather than
	#ifdef HAVE_GAS_CFI_SECTIONS_DIRECTIVE to guard .cfi_sections.
	(USE_GAS_CFI_DIRECTIVES): Don't define.
	* configure: Regenerated.
	* config.in: Likewise.

From-SVN: r258057
2018-02-28 09:59:15 +01:00
Igor Tsimbalist
14e335edc8 CET shouldn't be enabled in 32-bit run-time libraries by defualt
ENDBR32 and RDSSPD are multi-byte NOPs on x86-64 processors and
newer x86 processors, starting Pentium Pro.  They are UD on older
32-bit processors. Detect this at configure time and adjust the
default value for enable_cet. GCC will enable CET in 32-bit run-time
libraries in any case if --enable-cet is used to configure GCC.

	PR target/84148
	* config/cet.m4: Check if target support multi-byte NOPS (SSE).
	* libatomic/configure: Regenerate.
	* libbacktrace/configure: Likewise.
	* libgcc/configure: Likewise.
	* libgfortran/configure: Likewise.
	* libgomp/configure: Likewise.
	* libitm/configure: Likewise.
	* libmpx/configure: Likewise.
	* libobjc/configure: Likewise.
	* libquadmath/configure: Likewise.
	* libsanitizer/configure: Likewise.
	* libssp/configure: Likewise.
	* libstdc++-v3/configure: Likewise.
	* libvtv/configure: Likewise.

From-SVN: r257809
2018-02-19 17:25:49 +01:00
Igor Tsimbalist
1ecae1fc23 Enable building libgcc with CET options.
Enable building libgcc with CET options by default on Linux/x86 if
binutils supports CET v2.0.  It can be disabled with --disable-cet.
It is an error to configure GCC with --enable-cet if bintuiils
doesn't support CET v2.0.

ENDBR instruction is added to __morestack_large_model since it is
called indirectly.

2017-11-17  Igor Tsimbalist  <igor.v.tsimbalist@intel.com>

config/
	* cet.m4: New file.

gcc/
	* config.gcc (extra_headers): Add cet.h for x86 targets.
	* config/i386/cet.h: New file.
	* doc/install.texi: Add --enable-cet/--disable-cet.

libgcc/
	* Makefile.in (configure_deps): Add $(srcdir)/../config/cet.m4.
	(CET_FLAGS): New.
	* config/i386/morestack.S: Include <cet.h>.
	(__morestack_large_model): Add _CET_ENDBR at function entrance.
	* config/i386/resms64.h: Include <cet.h>.
	* config/i386/resms64f.h: Likewise.
	* config/i386/resms64fx.h: Likewise.
	* config/i386/resms64x.h: Likewise.
	* config/i386/savms64.h: Likewise.
	* config/i386/savms64f.h: Likewise.
	* config/i386/t-linux (HOST_LIBGCC2_CFLAGS): Add $(CET_FLAGS).
	(CRTSTUFF_T_CFLAGS): Likewise.
	* configure.ac: Include ../config/cet.m4.
	Set and substitute CET_FLAGS.
	* configure: Regenerated.

From-SVN: r254868
2017-11-17 14:34:39 +01:00
Rainer Orth
f021f1d3a6 Adapt Solaris 12 references
libgcc:
	* config.host (*-*-solaris2*): Adapt comment for Solaris 12
	renaming.
	* config/sol2/crtpg.c (__start_crt_compiler): Likewise.
	* configure.ac (libgcc_cv_solaris_crts): Likewise.
	* configure: Regenerate.

	gcc:
	* config.gcc (*-*-solaris2*): Enable default_use_cxa_atexit since
	Solaris 11.  Update comment.
	* configure.ac (gcc_cv_ld_pid): Adapt comment for Solaris 12
	renaming.
	* config/sol2.h (STARTFILE_SPEC): Likewise.
	* configure: Regenerate.

	gcc/testsuite:
	* lib/target-supports.exp (check_effective_target_pie): Adapt
	comment for Solaris 12 renaming.

	* gcc.dg/torture/pr60092.c: Remove *-*-solaris2.11* dg-xfail-run-if.

From-SVN: r254737
2017-11-14 18:31:01 +00:00
Daniel Santos
89762a83cd PR target/82196 addendum: Fix Darwin build breakage and test FAILS on Solaris
gcc/testsuite:
	* gcc.target/i386/pr82196-1.c: (b): Remove volatile asm.
	* gcc.target/i386/pr82196-2.c: (b): Likewise.

libgcc:
	* configure.ac: Add Check for HAVE_AS_AVX.
	* config.in: Regenerate.
	* configure: Likewise.
	* config/i386/i386-asm.h: Include auto-target.h from libgcc.
	(SSE_SAVE, SSE_RESTORE): Emit .byte sequence for !HAVE_AS_AVX.
	Correct out-of-date comments.

From-SVN: r253116
2017-09-23 11:02:54 +00:00
Michael Meissner
3787ee47fc re PR target/81193 (PowerPC GCC __builtin_cpu_is and __builtin_cpu_supports should warn about old libraries)
[gcc]
2017-07-12  Michael Meissner  <meissner@linux.vnet.ibm.com>

	PR target/81193
	* config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): If GLIBC
	provides the hardware capability bits, define the macro
	__BUILTIN_CPU_SUPPORTS__.
	* config/rs6000/rs6000.c (cpu_expand_builtin): Generate a warning
	if GLIBC does not provide the hardware capability bits.  Add a
	gcc_unreachable call if the built-in cpu function is neither
	__builtin_cpu_is nor __builtin_cpu_supports.
	(rs6000_get_function_versions_dispatcher): Change the warning
	that an old GLIBC is used which does not export the capability
	bits to be an error.
	* doc/extend.texi (target_clones attribute): Document the
	restriction that GLIBC 2.23 or newer is needed on the PowerPC.
	(PowerPC built-in functions): Document that GLIBC 2.23 or newer is
	needed by __builtin_cpu_is and __builtin_cpu_supports.  Document
	the macros defined by GCC if the newer GLIBC is available.

[gcc/testsuite]
2017-07-12  Michael Meissner  <meissner@linux.vnet.ibm.com>

	PR target/81193
	* gcc.target/powerpc/bmi-andn-1.c: Add guard against using
	__builtin_cpu_supports with old GLIBC's.
	* gcc.target/powerpc/bmi-andn-2.c: Likewise.
	* gcc.target/powerpc/bmi-bextr-1.c: Likewise.
	* gcc.target/powerpc/bmi-bextr-2.c: Likewise.
	* gcc.target/powerpc/bmi-bextr-4.c: Likewise.
	* gcc.target/powerpc/bmi-bextr-5.c: Likewise.
	* gcc.target/powerpc/bmi-blsi-1.c: Likewise.
	* gcc.target/powerpc/bmi-blsi-2.c: Likewise.
	* gcc.target/powerpc/bmi-blsmsk-1.c: Likewise.
	* gcc.target/powerpc/bmi-blsmsk-2.c: Likewise.
	* gcc.target/powerpc/bmi-blsr-1.c: Likewise.
	* gcc.target/powerpc/bmi-blsr-2.c: Likewise.
	* gcc.target/powerpc/bmi-tzcnt-1.c: Likewise.
	* gcc.target/powerpc/bmi-tzcnt-2.c: Likewise.
	* gcc.target/powerpc/bmi2-bzhi32-1.c: Likewise.
	* gcc.target/powerpc/bmi2-bzhi64-1.c: Likewise.
	* gcc.target/powerpc/bmi2-mulx32-1.c: Likewise.
	* gcc.target/powerpc/bmi2-mulx32-2.c: Likewise.
	* gcc.target/powerpc/bmi2-mulx64-1.c: Likewise.
	* gcc.target/powerpc/bmi2-mulx64-2.c: Likewise.
	* gcc.target/powerpc/bmi2-pdep32-1.c: Likewise.
	* gcc.target/powerpc/bmi2-pdep64-1.c: Likewise.
	* gcc.target/powerpc/bmi2-pext32-1.c: Likewise.
	* gcc.target/powerpc/bmi2-pext64-1.c: Likewise.
	* gcc.target/powerpc/cpu-builtin-1.c: Likewise.

[libgcc]
2017-07-12  Michael Meissner  <meissner@linux.vnet.ibm.com>

	PR target/81193
	* configure.ac (PowerPC float128 hardware support): Test whether
	we can use __builtin_cpu_supports before enabling the ifunc
	handler.
	* configure: Regenerate.

From-SVN: r250165
2017-07-12 23:07:50 +00:00
Richard Biener
a51a76e594 re PR gcov-profile/81080 (target libgcov not built with large file support)
2017-06-21  Richard Biener  <rguenther@suse.de>

	PR gcov-profile/81080
	* configure.ac: Add AC_SYS_LARGEFILE.
	* libgcov.h: Include auto-target.h before tsystem.h to pick
	up _FILE_OFFSET_BITS which might differ for multilibs.
	* config.in: Regenerate.
	* configure: Likewise.

From-SVN: r249435
2017-06-21 07:01:34 +00:00
Segher Boessenkool
7502c5970d rs6000: float128 on BE and 32-bit
This fixes float128 on BE and on 32-bit.

The configure tests need to use -mabi=altivec for 32-bit, since it is
not the default there.  That also enables the "vector" keyword, used by
the tests.  To do this it temporarily adds a few flags to the CFLAGS
variable.

It also fixes a syntax error in the libgcc_cv_powerpc_float128_hw test
(the function name was missing in the function declaration).

Regenerating config.in (via autoreconf) removed the duplicate definition
of HAVE_SOLARIS_CRTS.

Finally, this adds a "-mfloat128-hardware requires -m64" test to
rs6000.c: all the current patterns need 64-bit registers.  Maybe we'll
want to add float128 hardware support to 32-bit some day, but certainly
not today.


	* config/rs6000/rs6000.c (rs6000_option_override_internal): Disallow
	-mfloat128-hardware without -m64.

libgcc/
	* configure.ac (test for libgcc_cv_powerpc_float128): Temporarily
	modify CFLAGS.  Add -mabi=altivec -mvsx -mfloat128.
	(test for libgcc_cv_powerpc_float128_hw): Add -mpower9-vector and
	-mfloat128-hardware to the CFLAGS.  Fix syntax error in the C snippet.
	* configure: Regenerate.
	* config.in: Regenerate.

From-SVN: r246043
2017-03-10 18:57:58 +01:00
Jakub Jelinek
3c36aa6ba2 re PR other/79046 (g++ -print-file-name=plugin uses full version number in path)
PR other/79046
	* configure: Regenerated.
config/
	* acx.m4 (GCC_BASE_VER): New m4 function.
	(ACX_TOOL_DIRS): Require GCC_BASE_VER, for
	--with-gcc-major-version-only use just major number from BASE-VER.
gcc/
	* configure.ac: Add GCC_BASE_VER.
	* Makefile.in (version): Use @get_gcc_base_ver@ instead of cat to get
	version from BASE-VER file.
	(CFLAGS-gcc.o): Add -DBASEVER=$(BASEVER_s).
	(gcc.o): Depend on $(BASEVER).
	* common.opt (dumpfullversion): New option.
	* gcc.c (driver_handle_option): Handle OPT_dumpfullversion.
	* doc/invoke.texi: Document -dumpfullversion.
	* doc/install.texi: Document --with-gcc-major-version-only.
	* configure: Regenerated.
libatomic/
	* configure.ac: Add GCC_BASE_VER.
	* Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
	get version from BASE-VER file.
	* testsuite/Makefile.in: Regenerated.
	* configure: Regenerated.
	* Makefile.in: Regenerated.
libgomp/
	* configure.ac: Add GCC_BASE_VER.
	* Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
	get version from BASE-VER file.
	* testsuite/Makefile.in: Regenerated.
	* configure: Regenerated.
	* Makefile.in: Regenerated.
libgcc/
	* configure.ac: Add GCC_BASE_VER.
	* Makefile.in (version): Use @get_gcc_base_ver@ instead of cat to get
	version from BASE-VER file.
	* configure: Regenerated.
libssp/
	* configure.ac: Add GCC_BASE_VER.
	* Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
	get version from BASE-VER file.
	* configure: Regenerated.
	* Makefile.in: Regenerated.
liboffloadmic/
	* configure.ac: Add GCC_BASE_VER.
	* Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
	get version from BASE-VER file.
	* aclocal.m4: Include ../config/acx.m4.
	* configure: Regenerated.
	* Makefile.in: Regenerated.
libquadmath/
	* configure.ac: Add GCC_BASE_VER.
	* Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
	get version from BASE-VER file.
	* configure: Regenerated.
	* Makefile.in: Regenerated.
libmpx/
	* configure.ac: Add GCC_BASE_VER.
	* Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
	get version from BASE-VER file.
	* configure: Regenerated.
	* Makefile.in: Regenerated.
libada/
	* configure.ac: Add GCC_BASE_VER.
	* Makefile.in (version): Use @get_gcc_base_ver@ instead of cat to get
	version from BASE-VER file.
	* configure: Regenerated.
lto-plugin/
	* configure.ac: Add GCC_BASE_VER.
	* Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
	get version from BASE-VER file.
	* configure: Regenerated.
	* Makefile.in: Regenerated.
libitm/
	* configure.ac: Add GCC_BASE_VER.
	* Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
	get version from BASE-VER file.
	* testsuite/Makefile.in: Regenerated.
	* configure: Regenerated.
	* Makefile.in: Regenerated.
fixincludes/
	* configure.ac: Add GCC_BASE_VER.
	* Makefile.in (gcc_version): Use @get_gcc_base_ver@ instead of cat to
	get version from BASE-VER file.
	* configure: Regenerated.
libcilkrts/
	* configure.ac: Add GCC_BASE_VER.
	* Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
	get version from BASE-VER file.
	* aclocal.m4: Include ../config/acx.m4.
	* configure: Regenerated.
	* Makefile.in: Regenerated.
libcc1/
	* configure.ac: Add GCC_BASE_VER.  For --with-gcc-major-version-only
	use just major number from BASE-VER.
	* configure: Regenerated.
	* Makefile.in: Regenerated.
libobjc/
	* configure.ac: Add GCC_BASE_VER.
	* Makefile.in (gcc_version): Use @get_gcc_base_ver@ instead of cat to
	get version from BASE-VER file.
	* configure: Regenerated.
libstdc++-v3/
	* configure.ac: Add GCC_BASE_VER.
	* fragment.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
	get version from BASE-VER file.
	* po/Makefile.in: Regenerated.
	* libsupc++/Makefile.in: Regenerated.
	* testsuite/Makefile.in: Regenerated.
	* src/Makefile.in: Regenerated.
	* configure: Regenerated.
	* Makefile.in: Regenerated.
	* include/Makefile.in: Regenerated.
	* doc/Makefile.in: Regenerated.
	* python/Makefile.in: Regenerated.
	* src/c++11/Makefile.in: Regenerated.
	* src/c++98/Makefile.in: Regenerated.
	* src/filesystem/Makefile.in: Regenerated.
libvtv/
	* configure.ac: Add GCC_BASE_VER.
	* Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
	get version from BASE-VER file.
	* testsuite/Makefile.in: Regenerated.
	* configure: Regenerated.
	* Makefile.in: Regenerated.
libsanitizer/
	* configure.ac: Add GCC_BASE_VER.
	* Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
	get version from BASE-VER file.
	* libbacktrace/Makefile.in: Regenerated.
	* interception/Makefile.in: Regenerated.
	* asan/Makefile.in: Regenerated.
	* ubsan/Makefile.in: Regenerated.
	* configure: Regenerated.
	* sanitizer_common/Makefile.in: Regenerated.
	* lsan/Makefile.in: Regenerated.
	* Makefile.in: Regenerated.
	* tsan/Makefile.in: Regenerated.
libgfortran/
	* configure.ac: Add GCC_BASE_VER.
	* Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
	get version from BASE-VER file.
	* configure: Regenerated.
	* Makefile.in: Regenerated.

From-SVN: r244521
2017-01-17 10:38:48 +01:00
Alan Modra
8f56cb5163 Update configure deps, remove stray \xA0 in picflag.m4, regenerate
Also fix a stray changelog entry.  Some of the regen here is due to
previous changes not being regenerated properly, in part due to the
missing configure dependencies.

	* configure: Regenerate.
config/
	* picflag.m4: Remove stray \xA0 in comment.
gcc/
	* Makefile.in (aclocal_deps): Update and order as per aclocal.m4.
	* configure: Regenerate.
	* config.in: Regenerate.
libada/
	* Makefile.in (configure_deps): Update and order as per
	configure.ac sinclude.
	* configure: Regenerate.
libgcc/
	* Makefile.in (configure_deps): Update.
	* configure: Regenerate.
libiberty/
	* Makefile.in (configure_deps): Update.
	* configure: Regenerate.
libitm/
	* Makefile.in: Regenerate.
	* testsuite/Makefile.in: Regenerate.

From-SVN: r244049
2017-01-04 18:59:34 +10:30
Eric Botcazou
7e02fd1b7b configure.ac: Do not create links, only substitute the filenames.
* configure.ac: Do not create links, only substitute the filenames.
	* configure: Regenerate.
	* Makefile.in: Assign the substitution results to variables.
	(LIBGCC_LINKS): Define.
	(enable-execute-stack.c): New rule.
	(unwind.h): Likewise.
	(md-unwind-support.h): Likewise.
	(sfp-machine.h): Likewise.
	(gthr-default.h): Likewise.
	Add $(LIBGCC_LINKS) to the prerequisites of all object files and
	unwind.h as prerequisite of install-unwind_h-forbuild.

From-SVN: r240312
2016-09-21 12:53:20 +00:00
Oleg Endo
bc6d901463 config.guess: Remove SH5 support.
/
	* config.guess:  Remove SH5 support.
	* config.sub: Likewise.
	* configure: Likewise.
	* configure.ac: Likewise.

config/
	* picflag.m4:  Remove SH5 support.

gcc/
	* config/sh/t-sh: Remove SH5 support.
	* config.gcc: Likewise.
	* configure: Likewise.

contrib/
	* compare-all-tests: Remove SH5 support.
	* config-list.mk: Likewise.

libada/
	* configure: Remove SH5 support.

libgcc/
	* config.host: Remove SH5 support.
	* configure: Likewise.

libiberty/
	* configure: Remove SH5 support.

libjava/
	* classpath/config.guess: Remove SH5 support.
	* classpath/config.sub: Likewise.

From-SVN: r235676
2016-04-30 09:11:03 +00:00
Michael Meissner
35fbda430d re PR target/70381 (On powerpc, -mfloat128 is on by default for all VSX systems)
[gcc]
2016-04-11  Michael Meissner  <meissner@linux.vnet.ibm.com>

	PR target/70381
	* config/rs6000/rs6000.c (rs6000_opt_masks): Disable using the
	target attribute and pragma from changing the -mfloat128
	and -mfloat128-hardware options.

	* doc/extend.texi (Additional Floating Types): Document PowerPC
	__float128 restrictions.

[libgcc]
2016-04-11  Michael Meissner  <meissner@linux.vnet.ibm.com>

	PR target/70381
	* configure.ac (powerpc*-*-linux*): Rework tests to build
	__float128 emulation routines to not depend on using #pragma GCC
	target to enable -mfloat128.
	* configure: Regnerate.

[gcc/testsuite]
2016-04-11  Michael Meissner  <meissner@linux.vnet.ibm.com>

	PR target/70381
	* gcc.target/powerpc/float128-1.c: New tests to make sure the
	__float128 emulator is built and runs.
	* gcc.target/powerpc/float128-1.c: Likewise.

	* lib/target-supports.exp (check_ppc_float128_sw_available):
	Rework tests for __float128 software and hardware
	availability. Fix exit condition to return 0 on success.

From-SVN: r234884
2016-04-11 19:45:35 +00:00