643 Commits

Author SHA1 Message Date
Tillmann Karras
0718ee4482 decoder_detail: use structured bindings 2018-05-12 11:15:39 +01:00
Lioncash
e0faf3277e simd_two_register_misc: Handle 64-bit case for SCVTF_int_4 2018-05-08 18:14:50 +01:00
Lioncash
b166981ff5 ir: Add opcode to perform the vector conversion S64->F64
Unfortunately x86 prior to AVX-512 doesn't really give us any convenient instruction to do the work for us
2018-05-08 18:14:50 +01:00
Lioncash
4d2c5184ff A64: Implement SHLL/SHLL2 2018-05-08 17:57:55 +01:00
Lioncash
ae57f6eb58 A64: Add missing decoding for PRFM (unscaled offset) 2018-05-08 15:01:53 +01:00
Lioncash
3e0861d013 A64: Implement UHSUB 2018-05-07 19:04:10 +01:00
Lioncash
93255e6dbd A64: Implement SHSUB 2018-05-07 19:04:10 +01:00
Lioncash
a0e3943ade ir: Add opcodes for performing vector halving subtracts 2018-05-07 19:04:10 +01:00
Lioncash
b4a2d497f9 A64: Implement SM4EKEY 2018-05-07 19:01:22 +01:00
Lioncash
4372700ec9 A64: Implement SM4E 2018-05-07 19:01:22 +01:00
Lioncash
284afd18cb ir: Add an opcode for doing an SM4 lookup table query 2018-05-07 19:01:22 +01:00
Lioncash
6d0b58039e A64: Implement UHADD 2018-05-07 16:39:17 +01:00
Lioncash
e4efd365fb A64: Implement SHADD 2018-05-07 16:39:17 +01:00
Lioncash
1da4671b53 ir: Add opcodes for performing halving adds 2018-05-07 16:39:17 +01:00
Lioncash
7a066fb011 disassembler_arm: Remove rotation helper function in favor of Common::RotateRight
Mildly reduces the amount of duplicated behavior
2018-05-02 17:14:13 +01:00
Lioncash
8aa9a47a6a A64: Implement SSHL (scalar) 2018-04-30 22:41:17 +01:00
Lioncash
8818d76212 A64: Implement SSHL (vector) 2018-04-30 22:41:17 +01:00
Lioncash
3e3ce37eb8 backend_x64/ir: Amend generic LogicalVShift() template to also handle signed variants
Also adds IR opcodes to dispatch said variants
2018-04-30 22:41:17 +01:00
Lioncash
fea1e6ca1f A64: Implement CMTST's scalar variant 2018-04-28 19:17:38 +01:00
Lioncash
2a35b2a46a A64: Implement UZP1 and UZP2 2018-04-26 08:49:51 +01:00
Lioncash
9c2550ac72 ir: Add opcodes for performing vector deinterleaving 2018-04-26 08:49:51 +01:00
Lioncash
4765503fc6 A64: Implement FNEG (half-precision) 2018-04-26 08:49:03 +01:00
Lioncash
96be76296e A64: Implement USHL (scalar) 2018-04-24 08:15:00 +01:00
Lioncash
8261911bd8 A64: Implement FNEG (vector) 2018-04-24 08:14:31 +01:00
Lioncash
633e8e3ecd A64: Implement RSUBHN/RSUBHN2 2018-04-23 21:08:43 +01:00
Lioncash
4dec013b09 A64: Implement RADDHN/RADDHN2 2018-04-23 21:08:43 +01:00
Lioncash
7fb04ccb36 A64: Implement XAR 2018-04-23 16:05:40 +01:00
Lioncash
db29d68a2d simd_two_register_misc: Factor out common comparison code
Gets rid of a tiny bit of duplicated code.
2018-04-23 16:04:58 +01:00
Lioncash
1692e26c2e A64: Implement CMLE (zero)'s vector variant 2018-04-23 16:04:58 +01:00
Lioncash
21936a82aa A64: Implement CMTST (vector) 2018-04-23 16:04:40 +01:00
Lioncash
4f27764191 A64: Implement ADDHN{2} and SUBHN{2} 2018-04-21 08:58:16 +01:00
Lioncash
1791114ab1 translate: zero extend result in Vpart when storing to lower part of vector 2018-04-21 08:58:16 +01:00
Lioncash
f6e624e9ea A64: Implement CMLE (zero)'s scalar variant 2018-04-20 17:31:07 +01:00
Lioncash
41a3e87c15 A64: Implement CMLT (zero)'s scalar single/double-precision variant 2018-04-20 15:48:50 +01:00
Lioncash
51912ca6ab A64: Implement SHA512H2 2018-04-20 07:29:26 +01:00
Lioncash
4655f78ec2 A64: Implement SHA512H 2018-04-20 07:29:26 +01:00
Lioncash
3a52275611 A64: Handle S32->F32 case for SCVTF (vector) 2018-04-19 21:09:42 +01:00
Lioncash
230e954e5c IR: Add opcode for packed word->f32 conversions 2018-04-19 21:09:42 +01:00
Lioncash
f24cfba5c2 A64: Implement SHA512SU1 2018-04-19 19:51:31 +01:00
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