linux/tools/testing/selftests
Cyril Bur f2418ae8a8 selftests/powerpc: Fix generation of vector instructions/types in context_switch
Currently it doesn't appear the resulting binary actually uses any
Altivec or VSX instructions the solution is to explicitly tell GCC to
use vector instructions and use vector types in the code.

Part of this this issue can be GCC version specific:

GCC 4.9.x is happy to use Altivec and VSX instructions if altivec.h is
includedi (and possibly if vector types are used), this also means that
4.9.x will use VSX instructions even if only -maltivec is passed. It is
also possible that Altivec instructions will be used even without
-maltivec or -mabi=altivec.

GCC 5.2.x complains about the lack of -maltivec parameter if altivec.h
is included and will not use VSX unless -mvsx is present on commandline.

GCC 5.3.0 has a regression that means __attribute__((__target__("no-vsx"))
fails to build. A fix is targeted for 5.4.

Furthermore LTO (Link Time Optimisation) doesn't play well with
__attribute__((__target__("no-vsx")), LTO can cause GCC to forget about
the attribute and compile with VSX instructions regardless. Be wary when
enabling -flfo for this test.

Signed-off-by: Cyril Bur <cyrilbur@gmail.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2016-07-05 23:49:50 +10:00
..
breakpoints selftests: add missing .gitignore file or entry 2016-02-25 13:16:36 -07:00
capabilities selftests/capabilities: clean up for Makefile 2015-11-23 13:20:10 -07:00
cpu-hotplug selftests: create test-specific kconfig fragments 2016-02-25 09:47:52 -07:00
efivarfs efi: Make efivarfs entries immutable by default 2016-02-10 16:25:52 +00:00
exec selftests: exec: revert to default emit rule 2015-09-14 16:45:05 -06:00
firmware selftests: create test-specific kconfig fragments 2016-02-25 09:47:52 -07:00
ftrace linux-kselftest-4.7-rc1 2016-05-23 19:37:41 -07:00
futex tools:testing/selftests: fix typo in futex/README 2015-11-16 19:22:49 -07:00
intel_pstate tools: testing: define the _GNU_SOURCE macro 2016-05-16 09:06:17 -06:00
ipc selftests: add missing .gitignore file or entry 2016-02-25 13:16:36 -07:00
kcmp selftests: Set CC using CROSS_COMPILE once in lib.mk 2015-03-19 15:16:51 -06:00
lib test_bitmap: unit tests for lib/bitmap.c 2016-02-19 22:54:09 -05:00
media_tests selftests: media_dcevice_test fix usage information 2016-02-25 17:22:42 -07:00
membarrier membarrier: clean up selftest 2015-09-22 15:09:53 -07:00
memfd selftests: Make scripts executable 2015-11-03 16:54:57 -07:00
memory-hotplug selftests: create test-specific kconfig fragments 2016-02-25 09:47:52 -07:00
mount selftests: create test-specific kconfig fragments 2016-02-25 09:47:52 -07:00
mqueue selftests: Add missing #include directives 2015-11-03 16:53:53 -07:00
net soreuseport: Fix reuseport_bpf testcase on 32bit architectures 2016-06-06 15:20:16 -07:00
powerpc selftests/powerpc: Fix generation of vector instructions/types in context_switch 2016-07-05 23:49:50 +10:00
pstore selftests: create test-specific kconfig fragments 2016-02-25 09:47:52 -07:00
ptrace add ptrace/.gitignore 2016-01-07 13:38:11 -07:00
rcutorture rcutorture: Add boot-time adjustment of leaf fanout 2016-04-21 13:47:04 -07:00
seccomp parisc: Add ARCH_TRACEHOOK and regset support 2016-05-22 21:39:13 +02:00
sigaltstack signals/sigaltstack: Change SS_AUTODISARM to (1U << 31) 2016-05-04 08:34:14 +02:00
size selftests: Set CC using CROSS_COMPILE once in lib.mk 2015-03-19 15:16:51 -06:00
static_keys selftests: create test-specific kconfig fragments 2016-02-25 09:47:52 -07:00
sysctl selftests: Add install target 2015-03-13 15:21:56 -06:00
timers Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2016-03-17 21:38:27 -07:00
user selftests: create test-specific kconfig fragments 2016-02-25 09:47:52 -07:00
vm selftests/thuge-gen: Use platform specific MAP_HUGETLB value 2016-05-22 21:43:41 +02:00
x86 selftests/x86/ldt_gdt: Test set_thread_area() deletion of an active segment 2016-04-29 11:56:42 +02:00
zram selftests: create test-specific kconfig fragments 2016-02-25 09:47:52 -07:00
gen_kselftest_tar.sh selftests: Add tool to generate kselftest tar archive 2015-03-24 08:43:19 -06:00
kselftest.h kselftest: Add exit code defines 2015-05-26 15:58:08 -06:00
kselftest_install.sh selftests: Add kselftest install tool 2015-03-24 08:43:05 -06:00
lib.mk selftests: change install command to rsync 2015-09-14 16:43:51 -06:00
Makefile selftests/sigaltstack: Add new testcase for sigaltstack(SS_ONSTACK|SS_AUTODISARM) 2016-05-03 08:37:59 +02:00