1179 Commits

Author SHA1 Message Date
Lioncash
e3412d9779 A64: Implement SHA512SU0 2018-04-19 19:51:31 +01:00
Lioncash
cc76802990 A64: Implement SHA256H and SHA256H2 2018-04-19 19:50:17 +01:00
MerryMage
b5585baefb A64: Implement SCVTF (vector, integer), scalar varaint 2018-04-19 19:48:45 +01:00
MerryMage
badc7ac467 impl: Reorganize scalar two-register misc instructions 2018-04-19 19:48:45 +01:00
Lioncash
d53decf9e1 A64: Implement SHA256SU1 2018-04-19 08:40:55 +01:00
Lioncash
62be988507 simd_two_register_misc: Add missing zeroing of the vector for CMGT and CMLT 2018-04-19 08:39:56 +01:00
Lioncash
cd5fee6746 A64: Implement CMGE (zero)'s vector variant 2018-04-19 08:39:56 +01:00
Lioncash
da99e1fdaa A64: Implement MLS (by element) 2018-04-19 08:39:25 +01:00
Lioncash
8920238d59 A64: Implement MUL (by element) 2018-04-19 08:39:25 +01:00
MerryMage
68d6a1276b A64: Implement MLA (by element) 2018-04-19 00:04:52 +01:00
Lioncash
7340c36ae0 A64: Implement ABS (scalar) 2018-04-19 00:03:08 +01:00
Lioncash
c196c73e17 A64: Implement SHA256SU0 2018-04-19 00:00:39 +01:00
Lioncash
21790dcf98 CMake: Make FindUnicorn introduce a unicorn target
Makes the find module do all the work of properly setting up the target instead of needing to do it in the main CMakeLists file.
2018-04-18 23:59:54 +01:00
Lioncash
cb3b885025 A64: Implement SHA1M 2018-04-16 07:47:22 +01:00
Lioncash
4381ded969 A64: Implement SHA1P 2018-04-16 07:47:22 +01:00
Lioncash
dc5c2508a5 A64: Implement scalar variants of CMEQ, CMGT, and CMGE zero comparison instructions
These can trivially use the ScalarCompare helper function.
2018-04-15 13:38:42 +01:00
Lioncash
3a71801f10 A64: Implement scalar variant of NEG 2018-04-15 13:37:07 +01:00
Lioncash
f8e387f13f simd: Relocate REV16, REV32 and REV64 vector variants to the proper file
These aren't scalar instruction variants.
2018-04-15 13:37:07 +01:00
Lioncash
e23f6b666e A64: Implement CMEQ (register, scalar) 2018-04-15 11:31:20 +01:00
Lioncash
5f879af788 A64: Implement CMHS (register, scalar) 2018-04-15 11:31:20 +01:00
Lioncash
41e4b3e286 A64: Implement CMHI (register, scalar) 2018-04-15 11:31:20 +01:00
Lioncash
03f6247239 A64: Implement CMGE (register, scalar) 2018-04-15 11:31:20 +01:00
Lioncash
62ddc0631e A64: Implement CMGT (register, scalar) 2018-04-15 11:31:20 +01:00
Lioncash
cd1f7894b3 A64: Implement SHA1C 2018-04-15 10:32:03 +01:00
Lioncash
5315e63a2e A64: Implement SLI (scalar) 2018-04-15 08:56:09 +01:00
Lioncash
37051e9cb6 A64: Implement SRI (scalar) 2018-04-15 08:56:09 +01:00
Lioncash
1336e1a4ec unicorn: Be explicit about casting away const to const-incorrect APIs
Uses C++ casts which silence relevant warnings in Xcode 9.3

Also migrates relevant Read function equivalents over for consistency.
2018-04-15 08:54:36 +01:00
Lioncash
f9fbeb40bc general: Remove unused lambda captures
Resolves warnings that occur in Xcode 9.3
2018-04-15 08:53:23 +01:00
Lioncash
ea0435eee6 A64: Implement SHA1SU1 2018-04-14 08:06:15 +01:00
Lioncash
83e20f24f7 A64: Implement SHA1SU0 2018-04-14 08:06:15 +01:00
Lioncash
a48ff2b9e2 A64: Implement TRN2 2018-04-14 08:01:52 +01:00
Lioncash
9442cc8afa A64: Implement TRN1 2018-04-14 08:01:52 +01:00
Lioncash
d9ff5b1a9a A64: Implement SSRA (scalar) 2018-04-13 16:05:18 +01:00
Lioncash
fb5d5f8881 A64: Implement SSHR (scalar) 2018-04-13 16:05:18 +01:00
Lioncash
f0ecc27f2f A64: Implement USRA (scalar) 2018-04-13 16:05:18 +01:00
Lioncash
1e71835cb1 A64: Implement USHR (scalar) 2018-04-13 16:05:18 +01:00
Lioncash
746969bbe6 A64: Implement SHL (scalar) 2018-04-13 16:05:18 +01:00
Lioncash
a90cddaa05 A64: Implement SM3PARTW1 2018-04-13 15:22:10 +01:00
Lioncash
7570ea1a33 simd_sha512: Simplify RAX1
Now that the vector rotation helpers are in, replace the explicit
shifting with the relevant helper function that does the same thing.

Simply tidies up code; no behavioral changes are made.
2018-04-13 06:31:09 +01:00
Lioncash
c7c2fa2b66 A64: Implement SM3PARTW2 2018-04-12 09:21:51 +01:00
Lioncash
987ca9566b ir: Add helper functions for vector rotation 2018-04-12 09:21:51 +01:00
Lioncash
066cf3e7a7 A64: Implement SM3TT2B 2018-04-10 22:22:56 +01:00
Lioncash
bb7c0ab1ba A64: Implement SM3TT2A 2018-04-10 22:22:56 +01:00
Lioncash
3f81c90013 A64: Implement SM3TT1B 2018-04-10 18:30:33 +01:00
Lioncash
3e7483e1db A64: Implement SM3TT1A 2018-04-10 16:56:17 +01:00
Lioncash
8e739a73dc simd_shift_by_immediate: Merge signed/unsigned helper functions
Gets rid of a little more code duplication.
2018-04-10 16:43:59 +01:00
Lioncash
5f8f4d106a A64: Implement SM3SS1 2018-04-08 11:02:54 +01:00
Lioncash
c9c6ae101e A64: Implement SRI (vector) 2018-04-08 11:01:08 +01:00
Lioncash
4b9bdb2270 A64: Implement SLI (vector) 2018-04-08 11:01:08 +01:00
Lioncash
4e8fd68308 A64: Implement SRSRA (vector) 2018-04-08 10:55:27 +01:00