selftests/powerpc: Don't touch VMX/VSX on older CPUs

If we're running on a CPU without VMX/VSX then don't touch them. This
is fragile, the compiler could spill a VMX/VSX register and break the
test anyway. But in practice it seems to work, ie. the test runs to
completion on a system without VSX with this change.

Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20200819015727.1977134-8-mpe@ellerman.id.au
This commit is contained in:
Michael Ellerman 2020-08-19 11:57:26 +10:00
parent 4871a10b7b
commit 09275d717d
1 changed files with 6 additions and 0 deletions

View File

@ -481,6 +481,12 @@ int main(int argc, char *argv[])
else
printf("futex");
if (!have_hwcap(PPC_FEATURE_HAS_ALTIVEC))
touch_altivec = 0;
if (!have_hwcap(PPC_FEATURE_HAS_VSX))
touch_vector = 0;
printf(" on cpus %d/%d touching FP:%s altivec:%s vector:%s vdso:%s\n",
cpu1, cpu2, touch_fp ? "yes" : "no", touch_altivec ? "yes" : "no",
touch_vector ? "yes" : "no", touch_vdso ? "yes" : "no");