Commit graph

  • b33360a324 A64: Implement SHSUB Lioncash 2018-05-07 12:50:03 -04:00
  • 44a5f8095a ir: Add opcodes for performing vector halving subtracts Lioncash 2018-05-07 12:07:56 -04:00
  • 4f37c0ec5a A64: Implement SM4EKEY Lioncash 2018-05-07 09:28:26 -04:00
  • 3bde3347a5 A64: Implement SM4E Lioncash 2018-05-07 08:48:59 -04:00
  • b312d28295 ir: Add an opcode for doing an SM4 lookup table query Lioncash 2018-05-07 08:29:12 -04:00
  • 27a6d5f6ce emit_x64_vector: Use VPOPCNTB in EmitVectorPopulationCount() if AVX-512 BITALG is available Lioncash 2018-05-04 12:25:57 -04:00
  • 0c63e8f396 fuzz_with_unicorn: Silence unused variable warning Lioncash 2018-05-04 12:42:05 -04:00
  • dcadaeba80 externals: Update Catch to v2.2.2 Lioncash 2018-05-04 10:39:04 -04:00
  • 4dcc7724e0 A64: Implement UHADD Lioncash 2018-05-04 09:09:34 -04:00
  • f8714f7250 A64: Implement SHADD Lioncash 2018-05-04 09:06:01 -04:00
  • 089096948a ir: Add opcodes for performing halving adds Lioncash 2018-05-04 08:22:14 -04:00
  • 3d00dd63b4 emit_x64_vector: Emit VPMINSQ and VPMINUQ for 64-bit vector min operations if AVX-512VL is available Lioncash 2018-05-03 18:39:28 -04:00
  • b97b71b8aa emit_x64_vector: Emit VPMAXSQ and VPMAXUQ for 64-bit vector max operations if AVX-512VL is available Lioncash 2018-05-03 18:38:07 -04:00
  • 033e400df0 emit_x64_vector_floating_point: Deduplicate accurate NaN handling code Lioncash 2018-05-03 11:04:35 -04:00
  • 0f067b7330 emit_x64_vector: Emit VPABSQ in EmitVectorAbs() for the 64-bit case if AVX-512VL is available Lioncash 2018-05-03 12:46:13 -04:00
  • d4ee878cbd emit_x64_vector: Use VPSRAQ in EmitVectorArithmeticShiftRight64() if AVX-512VL is available Lioncash 2018-05-02 16:04:02 -04:00
  • b38dd191bd disassembler_arm: Remove rotation helper function in favor of Common::RotateRight Lioncash 2018-05-02 08:12:38 -04:00
  • 51e4f1d9db emit_x64_vector: Vectorize fallback path of EmitVectorMaxS32() Lioncash 2018-05-01 08:22:53 -04:00
  • c692ccdd6d emit_x64_vector: Vectorize fallback path of EmitVectorMaxS8() Lioncash 2018-05-01 08:19:21 -04:00
  • b194313d8c emit_x64_vector: Vectorize fallback path in EmitVectorMinU32() Lioncash 2018-04-28 19:55:24 -04:00
  • 7ceda6d919 emit_x64_vector: Vectorize fallback path in EmitVectorMinU16() Lioncash 2018-04-28 19:43:56 -04:00
  • cda85a1da0 emit_x64_vector: Vectorize fallback path in EmitVectorMinS32() Lioncash 2018-04-28 20:04:07 -04:00
  • 6e08eed210 emit_x64_vector: Vectorize fallback path in EmitVectorMinS8() Lioncash 2018-04-28 20:11:43 -04:00
  • 0fb6dce689 emit_x64_vector: Remove unnecessary if constexpr expression in LogicalVShift Lioncash 2018-05-01 12:06:34 -04:00
  • 5b71b1337b emit_x64_vector: Avoid left shift of negative value in LogicalVShift Lioncash 2018-05-01 11:58:13 -04:00
  • 9954d28868 a64_jitstate: Zero SP and PC on construction of A64JitState Lioncash 2018-05-01 09:02:42 -04:00
  • 4efbd40ea4 backend_x64/callback: Default virtual destructor in the cpp file Lioncash 2018-05-01 09:10:49 -04:00
  • edd0b5c8c7 a32_interface/a64_interface: Change reinterpret_casts to static_casts in GetCurrentBlock thunks Lioncash 2018-05-01 12:34:53 -04:00
  • e71612d394 A64: Implement SSHL (scalar) Lioncash 2018-04-30 10:28:52 -04:00
  • ef1e69a1e3 A64: Implement SSHL (vector) Lioncash 2018-04-30 10:16:19 -04:00
  • 21974ee57e backend_x64/ir: Amend generic LogicalVShift() template to also handle signed variants Lioncash 2018-04-30 10:01:57 -04:00
  • 9fc89f0a0e emit_x64_vector_floating_point: Use arrays for retrieving size instead of hardcoding the size Lioncash 2018-04-28 19:36:22 -04:00
  • af28e89a13 emit_x64_vector: Vectorize fallback path in EmitVectorMaxU16() Lioncash 2018-04-27 13:36:03 -04:00
  • cda75e2079 A64: Implement CMTST's scalar variant Lioncash 2018-04-27 08:33:11 -04:00
  • 0d20423ad5 emit_x64_vector: Vectorize non-SSE4.1 fallback path for VectorMultiply32() Lioncash 2018-04-25 22:44:21 -04:00
  • d70ee7c0d1 emit_x64_vector: Use VBPROADCAST where applicable and available Lioncash 2018-04-26 13:07:10 -04:00
  • bebe7235ae A64: Implement UZP1 and UZP2 Lioncash 2018-04-25 16:07:58 -04:00
  • 26d77c6f09 ir: Add opcodes for performing vector deinterleaving Lioncash 2018-04-24 11:58:01 -04:00
  • d6f9ed47d9 A64: Implement FNEG (half-precision) Lioncash 2018-04-25 21:20:01 -04:00
  • 2b8bc1d4e1 README: Add usage example MerryMage 2018-04-25 22:25:39 +01:00
  • 7efbd73bac A64: Implement USHL (scalar) Lioncash 2018-04-22 22:45:03 -04:00
  • 41f4717f2b A64: Implement FNEG (vector) Lioncash 2018-04-23 11:51:37 -04:00
  • ba1cc6366d A64: Implement RSUBHN/RSUBHN2 Lioncash 2018-04-23 11:32:44 -04:00
  • e41640fe33 A64: Implement RADDHN/RADDHN2 Lioncash 2018-04-23 11:16:25 -04:00
  • b719a6b3f7 A64: Implement XAR Lioncash 2018-04-23 10:08:37 -04:00
  • 0b1b131ec2 simd_two_register_misc: Factor out common comparison code Lioncash 2018-04-23 09:50:31 -04:00
  • ed0b84da70 A64: Implement CMLE (zero)'s vector variant Lioncash 2018-04-23 09:45:30 -04:00
  • b595a68ffa A64: Implement CMTST (vector) Lioncash 2018-04-23 09:35:06 -04:00
  • 48c7f8630c A64: Implement ADDHN{2} and SUBHN{2} Lioncash 2018-04-20 15:33:14 -04:00
  • 3acd9c9200 translate: zero extend result in Vpart when storing to lower part of vector Lioncash 2018-04-20 16:38:09 -04:00
  • 87ca63699f emit_x64_vector: Emit PMAXUD in EmitVectorMaxU32 on SSE4.1-capable CPUs Lioncash 2018-04-20 13:54:40 -04:00
  • f17702f608 emit_x64_vector: Emit PMINUD in EmitVectorMinU32 on SSE4.1-capable CPUs Lioncash 2018-04-20 13:52:56 -04:00
  • 596a8dd1dd emit_x64_vector: Emit PMINSD in EmitVectorMinS32 on SSE4.1-capable CPUs Lioncash 2018-04-20 13:44:38 -04:00
  • 75fd4eaaaa emit_x64_vector: Get rid of some magic numbers in loop bounds Lioncash 2018-04-20 12:38:42 -04:00
  • 7b80ac25eb emit_x64_vector: Generify variable shift functions Lioncash 2018-04-20 12:09:32 -04:00
  • 4ec735f707 A64: Implement CMLE (zero)'s scalar variant Lioncash 2018-04-20 11:00:49 -04:00
  • 6534184df2 A64: Implement CMLT (zero)'s scalar single/double-precision variant Lioncash 2018-04-20 10:23:16 -04:00
  • 8863c9bb4b A64: Implement SHA512H2 Lioncash 2018-04-19 16:36:14 -04:00
  • 033b890e25 A64: Implement SHA512H Lioncash 2018-04-19 16:00:34 -04:00
  • d1f5b084b4 A64: Handle S32->F32 case for SCVTF (vector) Lioncash 2018-04-19 15:24:08 -04:00
  • 38fa984b53 IR: Add opcode for packed word->f32 conversions Lioncash 2018-04-19 15:12:00 -04:00
  • b8587d8e34 A64: Implement SHA512SU1 Lioncash 2018-04-19 13:36:27 -04:00
  • 44d846045a A64: Implement SHA512SU0 Lioncash 2018-04-19 13:13:33 -04:00
  • ca903c1585 A64: Implement SHA256H and SHA256H2 Lioncash 2018-04-19 07:40:02 -04:00
  • e4237c44eb A64: Implement SCVTF (vector, integer), scalar varaint MerryMage 2018-04-19 19:48:04 +01:00
  • bfba38d0b6 impl: Reorganize scalar two-register misc instructions MerryMage 2018-04-19 19:44:27 +01:00
  • ea582b17cc A64: Implement SHA256SU1 Lioncash 2018-04-18 20:06:34 -04:00
  • 06c5dcaf5e simd_two_register_misc: Add missing zeroing of the vector for CMGT and CMLT Lioncash 2018-04-18 19:20:44 -04:00
  • 0d50d7314b A64: Implement CMGE (zero)'s vector variant Lioncash 2018-04-15 20:51:30 -04:00
  • ab35dc0e78 A64: Implement MLS (by element) Lioncash 2018-04-18 19:42:08 -04:00
  • 1651e60462 A64: Implement MUL (by element) Lioncash 2018-04-18 19:30:30 -04:00
  • a86d4093cd A64: Implement MLA (by element) MerryMage 2018-04-18 21:39:03 +01:00
  • 7f47402609 A64: Implement ABS (scalar) Lioncash 2018-04-18 09:42:11 -04:00
  • c8eb4528be A64: Implement SHA256SU0 Lioncash 2018-04-16 03:15:21 -04:00
  • cd0b71159a CMake: Make FindUnicorn introduce a unicorn target Lioncash 2018-04-18 10:20:12 -04:00
  • 181c3b0790 A64: Implement SHA1M Lioncash 2018-04-15 21:38:55 -04:00
  • 47bc97a71b A64: Implement SHA1P Lioncash 2018-04-15 21:21:18 -04:00
  • 718f3e9bb4 A64: Implement scalar variants of CMEQ, CMGT, and CMGE zero comparison instructions Lioncash 2018-04-15 06:36:37 -04:00
  • 3ad4e547e4 A64: Implement scalar variant of NEG Lioncash 2018-04-15 07:19:07 -04:00
  • b4f3051e4b simd: Relocate REV16, REV32 and REV64 vector variants to the proper file Lioncash 2018-04-15 07:18:11 -04:00
  • 19e276d10f A64: Implement CMEQ (register, scalar) Lioncash 2018-04-15 05:39:12 -04:00
  • 5b8c9e5146 A64: Implement CMHS (register, scalar) Lioncash 2018-04-15 05:32:22 -04:00
  • 78bb12276a A64: Implement CMHI (register, scalar) Lioncash 2018-04-15 05:27:37 -04:00
  • c18b20b8d1 A64: Implement CMGE (register, scalar) Lioncash 2018-04-15 05:22:50 -04:00
  • 755981d0da A64: Implement CMGT (register, scalar) Lioncash 2018-04-15 04:56:01 -04:00
  • da6627124b A64: Implement SHA1C Lioncash 2018-04-15 00:05:40 -04:00
  • 3c013bd9f8 A64: Implement SLI (scalar) Lioncash 2018-04-15 02:40:21 -04:00
  • 154cac594a A64: Implement SRI (scalar) Lioncash 2018-04-15 02:19:24 -04:00
  • ab58bbddc8 unicorn: Be explicit about casting away const to const-incorrect APIs Lioncash 2018-04-15 01:18:50 -04:00
  • 6bcfdba1ad general: Remove unused lambda captures Lioncash 2018-04-15 01:17:20 -04:00
  • 205ca6b4cb A64: Implement SHA1SU1 Lioncash 2018-04-13 20:39:25 -04:00
  • 16a001b9ff A64: Implement SHA1SU0 Lioncash 2018-04-13 20:22:02 -04:00
  • 3b6db59850 A64: Implement TRN2 Lioncash 2018-04-13 14:45:13 -04:00
  • 30e158f8d0 A64: Implement TRN1 Lioncash 2018-04-13 12:54:21 -04:00
  • 52cad2d9d0 A64: Implement SSRA (scalar) Lioncash 2018-04-12 14:39:20 -04:00
  • 255a33936d A64: Implement SSHR (scalar) Lioncash 2018-04-12 14:36:07 -04:00
  • 6723b00497 A64: Implement USRA (scalar) Lioncash 2018-04-12 14:24:47 -04:00
  • d56fa8f735 A64: Implement USHR (scalar) Lioncash 2018-04-12 14:19:42 -04:00
  • 870e418b0b A64: Implement SHL (scalar) Lioncash 2018-04-12 09:40:44 -04:00
  • 97f2bea4f2 A64: Implement SM3PARTW1 Lioncash 2018-04-12 08:13:46 -04:00