r222423 - in /branches/gcc-4_8-branch/gcc: Chan...

wschmidt@gcc.gnu.org wschmidt@gcc.gnu.org
Fri Apr 24 20:17:00 GMT 2015


Author: wschmidt
Date: Fri Apr 24 20:17:10 2015
New Revision: 222423

URL: https://gcc.gnu.org/viewcvs?rev=222423&root=gcc&view=rev
Log:
[gcc]

2015-04-24  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	Backport from mainline r222349
	2015-04-22  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	PR target/65456
	* config/rs6000/rs6000.c (rs6000_option_override_internal):  For
	VSX + POWER8, enable TARGET_ALLOW_MOVMISALIGN and
	TARGET_EFFICIENT_UNALIGNED_VSX if not selected by command line
	option.
	(rs6000_builtin_mask_for_load): Return 0 for targets with
	efficient unaligned VSX accesses so that the vectorizer will use
	direct unaligned loads.
	(rs6000_builtin_support_vector_misalignment): Always return true
	for targets with efficient unaligned VSX accesses.
	(rs6000_builtin_vectorization_cost): Cost of unaligned loads and
	stores on targets with efficient unaligned VSX accesses is almost
	always the same as the cost of an aligned load or store, so model
	it that way.
	* config/rs6000/rs6000.h (SLOW_UNALIGNED_ACCESS): Return 0 for
	unaligned vectors if we have efficient unaligned VSX accesses.
	* config/rs6000/rs6000.opt (mefficient-unaligned-vector): New
	undocumented option.

[gcc/testsuite]

2015-04-24  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	Backport from mainline r222349
	2015-04-22  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	PR target/65456
	* gcc.dg/vect/bb-slp-24.c: Exclude test for POWER8.
	* gcc.dg/vect/bb-slp-25.c: Likewise.
	* gcc.dg/vect/bb-slp-29.c: Likewise.
	* gcc.dg/vect/bb-slp-9.c: Replace vect_no_align with
	vect_no_align && { ! vect_hw_misalign }.
	* gcc.dg/vect/costmodel/ppc/costmodel-slp-33.c: Exclude test for
	vect_hw_misalign.
	* gcc.dg/vect/costmodel/ppc/costmodel-vect-31a.c: Likewise.
	* gcc.dg/vect/costmodel/ppc/costmodel-vect-76b.c: Adjust tests to
	account for POWER8, where peeling for alignment is not needed.
	* gcc.dg/vect/costmodel/ppc/costmodel-vect-outer-fir.c: Replace
	vect_no_align with vect_no_align && { ! vect_hw_misalign }.
	* gcc.dg.vect.if-cvt-stores-vect-ifcvt-18.c: Likewise.
	* gcc.dg/vect/no-scevccp-outer-6-global.c: Likewise.
	* gcc.dg/vect/no-scevccp-outer-6.c: Likewise.
	* gcc.dg/vect/no-vfa-vect-43.c: Likewise.
	* gcc.dg/vect/no-vfa-vect-57.c: Likewise.
	* gcc.dg/vect/no-vfa-vect-61.c: Likewise.
	* gcc.dg/vect/no-vfa-vect-depend-1.c: Likewise.
	* gcc.dg/vect/pr16105.c: Likewise.
	* gcc.dg/vect/pr20122.c: Likewise.
	* gcc.dg/vect/pr33804.c: Likewise.
	* gcc.dg/vect/pr33953.c: Likewise.
	* gcc.dg/vect/slp-25.c: Likewise.
	* gcc.dg/vect/vect-105-bit-array.c: Likewise.
	* gcc.dg/vect/vect-105.c: Likewise.
	* gcc.dg/vect/vect-27.c: Likewise.
	* gcc.dg/vect/vect-29.c: Likewise.
	* gcc.dg/vect/vect-33.c: Exclude unaligned access test for
	POWER8.
	* gcc.dg/vect/vect-42.c: Replace vect_no_align with vect_no_align
	&& { ! vect_hw_misalign }.
	* gcc.dg/vect/vect-44.c: Likewise.
	* gcc.dg/vect/vect-48.c: Likewise.
	* gcc.dg/vect/vect-50.c: Likewise.
	* gcc.dg/vect/vect-52.c: Likewise.
	* gcc.dg/vect/vect-56.c: Likewise.
	* gcc.dg/vect/vect-60.c: Likewise.
	* gcc.dg/vect/vect-72.c: Likewise.
	* gcc.dg/vect/vect-75-big-array.c: Likewise.
	* gcc.dg/vect/vect-75.c: Likewise.
	* gcc.dg/vect/vect-77-alignchecks.c: Likewise.
	* gcc.dg/vect/vect-77-global.c: Likewise.
	* gcc.dg/vect/vect-78-alignchecks.c: Likewise.
	* gcc.dg/vect/vect-78-global.c: Likewise.
	* gcc.dg/vect/vect-93.c: Likewise.
	* gcc.dg/vect/vect-95.c: Likewise.
	* gcc.dg/vect/vect-96.c: Likewise.
	* gcc.dg/vect/vect-cond-1.c: Likewise.
	* gcc.dg/vect/vect-cond-3.c: Likewise.
	* gcc.dg/vect/vect-cond-4.c: Likewise.
	* gcc.dg/vect/vect-cselim-1.c: Likewise.
	* gcc.dg/vect/vect-multitypes-1.c: Likewise.
	* gcc.dg/vect/vect-multitypes-3.c: Likewise.
	* gcc.dg/vect/vect-multitypes-4.c: Likewise.
	* gcc.dg/vect/vect-multitypes-6.c: Likewise.
	* gcc.dg/vect/vect-nest-cycle-1.c: Likewise.
	* gcc.dg/vect/vect-nest-cycle-2.c: Likewise.
	* gcc.dg/vect/vect-outer-3a-big-array.c: Likewise.
	* gcc.dg/vect/vect-outer-3a.c: Likewise.
	* gcc.dg/vect/vect-outer-5.c: Likewise.
	* gcc.dg/vect/vect-outer-fir-big-array.c: Likewise.
	* gcc.dg/vect/vect-outer-fir-lb-big-array.c: Likewise.
	* gcc.dg/vect/vect-outer-fir-lb.c: Likewise.
	* gcc.dg/vect/vect-outer-fir.c: Likewise.
	* gcc.dg/vect/vect-peel-3.c: Likewise.
	* gcc.dg/vect/vect-peel-4.c: Likewise.
	* gcc.dg/vect/vect-pre-interact.c: Likewise.
	* gcc.target/powerpc/pr65456.c: New test.
	* gcc.target/powerpc/vsx-vectorize-2.c: Exclude test for POWER8.
	* gcc.target/powerpc/vsx-vectorize-4.c: Likewise.
	* gcc.target/powerpc/vsx-vectorize-6.c: Likewise.
	* gcc.target/powerpc/vsx-vectorize-7.c: Likewise.
	* gfortran.dg/vect/vect-2.f90: Replace vect_no_align with
	vect_no_align && { ! vect_hw_misalign }.
	* gfortran.dg/vect/vect-3.f90: Likewise.
	* gfortran.dg/vect/vect-4.f90: Likewise.
	* gfortran.dg/vect/vect-5.f90: Likewise.
	* lib/target-supports.exp (check_effective_target_vect_no_align):
	Return 1 for POWER8.
	(check_effective_target_vect_hw_misalign): Return 1 for POWER8.

	Backport from mainline r222372
	2015-04-23  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* gcc.dg/vect/costmodel/ppc/costmodel-bb-slp-9a.c: Replace
	vect_no_align with vect_no_align && { ! vect_hw_misalign }.


Added:
    branches/gcc-4_8-branch/gcc/testsuite/gcc.target/powerpc/pr65456.c
Modified:
    branches/gcc-4_8-branch/gcc/ChangeLog
    branches/gcc-4_8-branch/gcc/config/rs6000/rs6000.c
    branches/gcc-4_8-branch/gcc/config/rs6000/rs6000.h
    branches/gcc-4_8-branch/gcc/config/rs6000/rs6000.opt
    branches/gcc-4_8-branch/gcc/testsuite/ChangeLog
    branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/bb-slp-24.c
    branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/bb-slp-25.c
    branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/bb-slp-29.c
    branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/bb-slp-9.c
    branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/costmodel/ppc/costmodel-bb-slp-9a.c
    branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/costmodel/ppc/costmodel-slp-33.c
    branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/costmodel/ppc/costmodel-vect-31a.c
    branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/costmodel/ppc/costmodel-vect-76b.c
    branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/costmodel/ppc/costmodel-vect-outer-fir.c
    branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/if-cvt-stores-vect-ifcvt-18.c
    branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/no-scevccp-outer-6-global.c
    branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/no-scevccp-outer-6.c
    branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/no-vfa-vect-43.c
    branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/no-vfa-vect-57.c
    branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/no-vfa-vect-61.c
    branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/no-vfa-vect-depend-1.c
    branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/pr16105.c
    branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/pr20122.c
    branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/pr33804.c
    branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/pr33953.c
    branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/slp-25.c
    branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/vect-105-big-array.c
    branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/vect-105.c
    branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/vect-27.c
    branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/vect-29.c
    branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/vect-33.c
    branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/vect-42.c
    branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/vect-44.c
    branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/vect-48.c
    branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/vect-50.c
    branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/vect-52.c
    branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/vect-56.c
    branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/vect-60.c
    branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/vect-72.c
    branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/vect-75-big-array.c
    branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/vect-75.c
    branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/vect-77-alignchecks.c
    branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/vect-77-global.c
    branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/vect-78-alignchecks.c
    branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/vect-78-global.c
    branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/vect-93.c
    branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/vect-95.c
    branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/vect-96.c
    branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/vect-cond-1.c
    branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/vect-cond-3.c
    branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/vect-cond-4.c
    branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/vect-cselim-1.c
    branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/vect-multitypes-1.c
    branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/vect-multitypes-3.c
    branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/vect-multitypes-4.c
    branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/vect-multitypes-6.c
    branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/vect-nest-cycle-1.c
    branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/vect-nest-cycle-2.c
    branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/vect-outer-3a-big-array.c
    branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/vect-outer-3a.c
    branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/vect-outer-5.c
    branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/vect-outer-fir-big-array.c
    branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/vect-outer-fir-lb-big-array.c
    branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/vect-outer-fir-lb.c
    branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/vect-outer-fir.c
    branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/vect-peel-3.c
    branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/vect-peel-4.c
    branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/vect-pre-interact.c
    branches/gcc-4_8-branch/gcc/testsuite/gcc.target/powerpc/vsx-vectorize-2.c
    branches/gcc-4_8-branch/gcc/testsuite/gcc.target/powerpc/vsx-vectorize-4.c
    branches/gcc-4_8-branch/gcc/testsuite/gcc.target/powerpc/vsx-vectorize-6.c
    branches/gcc-4_8-branch/gcc/testsuite/gcc.target/powerpc/vsx-vectorize-7.c
    branches/gcc-4_8-branch/gcc/testsuite/gfortran.dg/vect/pr32380.f
    branches/gcc-4_8-branch/gcc/testsuite/gfortran.dg/vect/vect-2.f90
    branches/gcc-4_8-branch/gcc/testsuite/gfortran.dg/vect/vect-3.f90
    branches/gcc-4_8-branch/gcc/testsuite/gfortran.dg/vect/vect-4.f90
    branches/gcc-4_8-branch/gcc/testsuite/gfortran.dg/vect/vect-5.f90
    branches/gcc-4_8-branch/gcc/testsuite/lib/target-supports.exp



More information about the Gcc-cvs mailing list