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
Lioncash
b3834adc2e
A64: Implement SRSHR (vector)
2018-04-08 10:55:27 +01:00
MerryMage
6febae5f8e
imm: Add additional bit position checks to Imm::Bits
2018-04-08 10:42:23 +01:00
MerryMage
5bc164adb9
math_util: rvalue references for std::forward
2018-04-08 10:37:11 +01:00
Lioncash
3fdaf77c7a
A64: Implement SSUBL/SSUBL2
2018-04-07 15:20:58 +01:00
Lioncash
c669f091e6
A64: Implement SADDL/SADDL2
2018-04-07 15:20:58 +01:00
Lioncash
c144cb39c9
A64: Implement USUBL/USUBL2
2018-04-07 15:20:58 +01:00
Lioncash
14bc8bce7f
A64: Implement UADDL/UADDL2
2018-04-07 15:20:58 +01:00
Lioncash
a000cb6e36
simd_shift_by_immediate: Factor out common code in shift instructions
...
Gets rid of partial duplication of the same code for instructions that only have a small behavior difference to them.
e.g. The only difference between SSHR and SSRA is that SSRA adds an accumulator before storing the result.
2018-04-07 15:20:28 +01:00
Lioncash
436eddcfa1
A64: Implement URSRA (vector)
2018-04-04 14:17:43 +01:00