Commit Graph

4315 Commits (87565dce753d986afca1b5c67b7baaa5c1f39cdc)

Author SHA1 Message Date
Jeffrey Walton 87565dce75
Add POWER3 test for PowerPC
Issue 656 talks about running on a G4 Macbook
2018-11-19 15:23:07 -05:00
Jeffrey Walton 3681d2fa1f
Update documentation 2018-11-19 13:50:53 -05:00
Jeffrey Walton 201375749b
Update documentation 2018-11-19 13:30:56 -05:00
Jeffrey Walton 4c192ecc18
Whitespace check-in 2018-11-19 04:55:45 -05:00
Jeffrey Walton 7d637ded9c
Cleanup POWER8 SHA code 2018-11-19 04:50:13 -05:00
Jeffrey Walton 2f26de7aab
Add 64-bit element loads and stores 2018-11-19 04:49:51 -05:00
Jeffrey Walton 3129ad4d70
Fix LLVM Clang compile on PowerPC 2018-11-19 02:28:29 -05:00
Jeffrey Walton c9f1a26024
Update test programs for PowerPC (GH #741) 2018-11-19 02:02:43 -05:00
Jeffrey Walton b1929f78d0
Update test programs for PowerPC (GH #741) 2018-11-19 01:36:11 -05:00
Jeffrey Walton f8b1a997c5
Update test programs for PowerPC (GH #741) 2018-11-18 23:41:43 -05:00
Jeffrey Walton 2bb9f49544
Add test_ppc_aes.cxx test program 2018-11-18 22:26:34 -05:00
Jeffrey Walton 1ac7207545
Use clean compile as feature test gate on PowerPC (GH #742) 2018-11-18 20:49:55 -05:00
Jeffrey Walton 76cb99ffe8
Add unexpected to BAD_RESULT 2018-11-18 19:40:34 -05:00
Jeffrey Walton a82e766925
Make CMake configurable in test script 2018-11-18 18:54:57 -05:00
Jeffrey Walton b65ff5293a
Make CMake configurable in test script 2018-11-18 18:49:16 -05:00
Jeffrey Walton 3725c8411b
Move CPU_ProbePower7 and CPU_ProbePower8 into their own source files (GH #742) 2018-11-18 16:35:02 -05:00
Jeffrey Walton 1a06aadbf0
Update comments 2018-11-18 14:54:37 -05:00
Jeffrey Walton 2e68e95a92
Add BLAKE2s and ChaCha CORE SIMD function (GH #656)
The CORE function provides the implementation for ChaCha_OperateKeystream_ALTIVEC, ChaCha_OperateKeystream_POWER7, BLAKE2_Compress32_ALTIVEC and BLAKE2_Compress32_POWER7. Depending on the options used to compile the source files, either POWER7 or ALTIVEC will be used.
This is needed to support the "new toolchain, ancient hardware" use case.
2018-11-18 14:43:48 -05:00
Jeffrey Walton e28b2e0f02
Switch between POWER7 and POWER4 (GH #656)
This is kind of tricky. We automatically drop from POWER7 to POWER4 if 7 is notavailable. However, if POWER7 is available the runtime test checks for HasAltivec(), and not HasPower7(), if the drop does not occur.
All of this goodness is happening on an old Apple G4 laptop with Gentoo. It is a "new toolchain on old hardware".
2018-11-18 12:42:04 -05:00
Jeffrey Walton 70473f0cab
Whitespace check-in 2018-11-18 12:31:44 -05:00
Jeffrey Walton 59ba3b6aca
Switch between POWER7 and POWER4 (GH #656)
This is kind of tricky. We automatically drop from POWER7 to POWER4 if 7 is not available. However, if POWER7 is available the runtime test checks for HasAltivec(), and not HasPower7(), if the drop does not occur.
All of this goodness is happening on an old Apple G4 laptop with Gentoo. It is a "new toolchain on old hardware".
2018-11-18 11:57:33 -05:00
Jeffrey Walton aae108d228
Fix PowerPC-64 detection using Clang 2018-11-18 01:52:42 -05:00
Jeffrey Walton 7f5624db7c
Update Filelist 2018-11-17 15:53:52 -05:00
Jeffrey Walton 889c98b9af
Add Newlib test 2018-11-17 15:50:04 -05:00
Jeffrey Walton 0c6dc33d2b
Fix missing header 2018-11-17 15:32:53 -05:00
Jeffrey Walton 0564266151
Cleanup makefile 2018-11-17 15:28:30 -05:00
Jeffrey Walton b0f77fe7e3
Add additional tests 2018-11-17 15:09:36 -05:00
Jeffrey Walton 147983305a
Use __ALTIVEC__ preprocessor macro for PowerPC 2018-11-17 01:49:48 -05:00
Jeffrey Walton c4c413e3f3
Drop GCM to POWER7 if POWER8 unavailable 2018-11-17 00:47:17 -05:00
Jeffrey Walton bbc5c63d33
Drop GCM to POWER7 on PowerPC
GCM can do some bulk XOR's using the SIMD unit. However, we still need loads and stores to be fast. Fast loads and stores of unaligned data requires the VSX unit
2018-11-17 00:41:49 -05:00
Jeffrey Walton 0ac7b25221
Use C++ compiler for all source files (PR #733) 2018-11-15 19:13:28 -05:00
Blue 2d2f69c235 Fix missing cpu-features.o in shared object (PR #733) 2018-11-15 19:11:29 -05:00
Jeffrey Walton 5ef276411c
Update documentation 2018-11-15 17:52:06 -05:00
Jeffrey Walton 4c5695c51b
Update documentation 2018-11-15 17:40:06 -05:00
Jeffrey Walton f53405b995
Update documentation 2018-11-15 17:21:38 -05:00
Jeffrey Walton cf52307abd
Update documentation 2018-11-15 16:59:11 -05:00
Jeffrey Walton 364017c097
Update documentation 2018-11-15 16:45:56 -05:00
Jeffrey Walton dd111a6174
Update documentation 2018-11-15 16:23:21 -05:00
Jeffrey Walton 512fa101e8
Update documentation 2018-11-15 15:27:42 -05:00
Jeffrey Walton f6e04e5f33
Rename PPC vector functions from VectorFunc to VecFunc 2018-11-15 15:17:49 -05:00
Jeffrey Walton 8e5cd3637e
Update documentation 2018-11-15 12:15:21 -05:00
Jeffrey Walton 98699dde05
Update documentation 2018-11-15 04:39:54 -05:00
Jeffrey Walton 8b4da4ca68
Update comments 2018-11-15 04:12:35 -05:00
Jeffrey Walton e784c04eb0
Update documentation 2018-11-15 03:43:47 -05:00
Jeffrey Walton 89faf39228
Cleanup BLAKE2s 2018-11-15 03:35:39 -05:00
Jeffrey Walton f69b7537f5
Update documentation 2018-11-15 03:27:23 -05:00
Jeffrey Walton 390fed72c5
Add word32 VectorStore overloads 2018-11-15 03:11:36 -05:00
Jeffrey Walton 10f85d6596
Make Altivec vector wraps friendly to downgrades
The way the existing ppc_simd.h is written makes it hard to to switch between the old Altivec loads and stores and the new POWER7 loads and stores. This checkin rewrites the wrappers to use _ALTIVEC_, _ARCH_PWR7 and _ARCH_PWR8. The wrappers in this file now honor -maltivec, -mcpu-power7 and -mcpu=power8. It allows users to compile a source file, like chacha_simd.cpp, with a lower ISA and things just work for them.
2018-11-15 02:11:00 -05:00
Jeffrey Walton 3c7bdf1a26
Add Octet suffix for vec_sld
We need to make room for packed shifts and rotates
2018-11-14 23:32:26 -05:00
Jeffrey Walton d656545875
Remove duplicate functions 2018-11-14 23:20:03 -05:00