Skip to content
Snippets Groups Projects
user avatar
Kewen Lin authored
Different from p9vector_hw, vmx_hw/vsx_hw/p8vector_hw checks
can still succeed without Altivec/VSX feature support.  We
have many runnable test cases only checking for these *_hw
without extra checking for if Altivec/VSX feature enabled or
not.  It means they can fail if being tested by explicitly
disabling Altivec/VSX.  So I think it's reasonable to check
if Altivec/VSX feature is enabled too while checking testing
environment is able to execute some instructions since these
instructions reply on these features.  So similar to what we
test for p9vector_hw, this patch is to modify C functions
used for vmx_hw, vsx_hw and p8vector_hw with according vector
types and constraints.  For p8vector_hw, excepting for VSX
feature, it also requires ISA 2.7 support.  A good thing is
that now almost all of the test cases using p8vector_hw have
specified -mdejagnu-cpu=power8 always or if !has_arch_pwr8.
Considering checking _ARCH_PWR8 in p8vector_hw can stop test
cases being tested even if test case itself has specified
-mdejagnu-cpu=power8, this patch doesn't force p8vector_hw to
check _ARCH_PWR8, instead it updates all existing test cases
which adopt p8vector_hw but don't have -mdejagnu-cpu=power8.
By the way, all test cases adopting p9vector_hw are all fine.

gcc/testsuite/ChangeLog:

	* lib/target-supports.exp (check_vsx_hw_available): Modify C source
	code used for testing with type vector long long and constraint wa
	which require VSX feature.
	(check_p8vector_hw_available): Likewise.
	(check_vmx_hw_available): Modify C source code used for testing with
	type vector int and constraint v which require Altivec feature.
	* gcc.target/powerpc/divkc3-1.c: Specify -mdejagnu-cpu=power8 for
	!has_arch_pwr8 to ensure power8 support.
	* gcc.target/powerpc/mulkc3-1.c: Likewise.
	* gcc.target/powerpc/pr96264.c: Likewise.
22b4e4fa
History
Name Last commit Last update