Commit Graph

  • 9263c3d6b2 wasm support master T0b1 2023-04-28 20:41:17 +02:00
  • e2480e9f85 instrs: Fix VMOVD_G2X with W1 in 32-bit mode Alexis Engelke 2023-04-24 22:21:00 +02:00
  • 6abc971576 decode: Move instr-width to legacy path Alexis Engelke 2023-04-24 08:55:56 +02:00
  • 48f886e130 decode: Group all VSIB handling in single branch Alexis Engelke 2023-04-23 11:55:45 +02:00
  • 1290e9f094 decode: Group all EVEX-handling for ModRM operands Alexis Engelke 2023-04-23 11:29:34 +02:00
  • bbc1b0b648 decode: Use macros for all desc accesses [NFC] Alexis Engelke 2023-03-24 14:24:32 +01:00
  • 8dad665751 encode: Fix unhelpful warning [NFC] Alexis Engelke 2023-04-23 08:55:06 +02:00
  • 247acd6221 decode: Unify VEX opcode escape extraction Alexis Engelke 2023-04-23 08:54:36 +02:00
  • 239be46d4a format: Fix out-of-bounds reads for strings Alexis Engelke 2023-04-16 17:53:47 +02:00
  • 0297f66de6 decode-test: Add VPEXTRB sil case Alexis Engelke 2023-04-16 17:53:25 +02:00
  • 0a36604c81 decode: Change REP flag values Alexis Engelke 2023-03-24 14:00:14 +01:00
  • 538708cd21 decode: Change encoding of T16 index Alexis Engelke 2023-03-24 13:59:38 +01:00
  • c5f5fa1f75 decode: Simplify ModRM reg vs. mem distiction Alexis Engelke 2023-03-24 11:30:49 +01:00
  • 513cc709a4 decode: Handle GPH, NOP and 3DNow in legacy block Alexis Engelke 2023-03-24 11:30:12 +01:00
  • dac2ff1987 decode: Encode trie node kind in 2 bits Alexis Engelke 2023-03-22 10:46:35 +01:00
  • e1084be859 decode: Encode prefixes in trie Alexis Engelke 2023-03-22 09:57:58 +01:00
  • a34cd9d2aa parseinstrs: Verify more x86 constraints Alexis Engelke 2023-03-19 21:28:36 +01:00
  • e247ead397 parseinstrs: Minor refactoring of trie entries Alexis Engelke 2023-03-19 21:28:19 +01:00
  • 262370046c decode: Optimize handling of immediates Alexis Engelke 2023-03-19 21:16:00 +01:00
  • 957537651e decode: Optimize decoding of shift operands Alexis Engelke 2023-03-19 21:14:32 +01:00
  • 3de8490e0c decode-test: Add more partial test cases Alexis Engelke 2023-03-19 21:14:02 +01:00
  • d679578b60 encode-test: Fix ADD mnemonic Alexis Engelke 2023-03-12 18:59:49 +01:00
  • 0b881e21dc format: Fix 64-bit immediate on 32-bit platforms Alexis Engelke 2023-03-12 17:10:01 +01:00
  • 49f5b7b338 decode: Implement 16-bit ModRM decoding Alexis Engelke 2023-02-16 09:14:34 +01:00
  • 2c21073379 decode: Faster prefix decoder Alexis Engelke 2023-01-21 12:29:10 +01:00
  • b48495805e decode: Minor tweaks for performance Alexis Engelke 2023-01-13 11:42:13 +01:00
  • 955f139025 instrs: Add AVX512-FP16 instructions Alexis Engelke 2022-12-26 17:12:33 +01:00
  • 8550e2cac9 parseinstrs: Add support for BCST16 Alexis Engelke 2022-12-26 17:10:39 +01:00
  • 06832825ec fadec: Store broadcast size in segment Alexis Engelke 2022-12-26 16:57:22 +01:00
  • a3c8848005 instrs: Remove unused WIG specifier Alexis Engelke 2022-12-17 21:25:54 +01:00
  • b1f7a5fe19 decode: Add UD for EVEX.z without EVEX.aaa Alexis Engelke 2022-12-26 18:50:22 +01:00
  • e04aff73dc decode: Add AVX-512 support Alexis Engelke 2022-10-02 11:57:39 +02:00
  • ec5a430b5c decode: Decode EVEX prefix Alexis Engelke 2021-09-13 17:45:39 +02:00
  • 4a552feabf decode-test: Increase coverage Alexis Engelke 2023-01-15 13:38:40 +01:00
  • 36c37186dd encode-test: Test all REX/VEX.RXB combinations Alexis Engelke 2023-01-15 12:57:49 +01:00
  • 7b2a586449 parseinstrs: Fix erroneous 16-bit operand size Alexis Engelke 2023-01-13 11:34:22 +01:00
  • d7aff5de28 format: Fix clz for 32-bit targets Alexis Engelke 2023-01-14 19:41:46 +01:00
  • 2f7e8dd0de encode: Remove descriptor table Alexis Engelke 2023-01-13 14:23:07 +01:00
  • 9f0ddeb44a encode: Fix [LMS]FENCE encoding Alexis Engelke 2023-01-13 11:33:45 +01:00
  • cbbfd9da0e instrs: Fix minor (currently ignored) annotations Alexis Engelke 2022-12-28 11:30:16 +01:00
  • 36019517cf parseinstrs: Print stats only if not subproject Alexis Engelke 2022-12-28 11:28:58 +01:00
  • 6bf96d6963 parseinstrs: Improve performance of superstring Alexis Engelke 2022-12-28 11:28:29 +01:00
  • 771d968165 instrs: Fix wrong operand sizes caused by byte imm Alexis Engelke 2022-12-27 19:44:03 +01:00
  • 377e362a0e decode: Handle imm_byte size differently Alexis Engelke 2022-12-27 19:42:40 +01:00
  • 1aec30cd0f instrs: Various small fixes Alexis Engelke 2022-12-26 21:59:44 +01:00
  • 94fc7a3671 instrs: Fix CLRSSBSY operand size Alexis Engelke 2022-12-26 19:29:51 +01:00
  • 6a0db935f5 instrs: Remove non-existent VEX-encoded VPSRAVQ Alexis Engelke 2022-12-26 18:41:19 +01:00
  • 4efe60ffa8 instrs: Fix VMWRITE operand order Alexis Engelke 2022-12-26 17:32:30 +01:00
  • e70118a0d7 instrs: Fix VPSRA/VPSRL/VPSLL r/m operand size Alexis Engelke 2022-12-03 15:06:54 +01:00
  • 003a11ff12 instrs: Fix VMASKMOVDQU encoding Alexis Engelke 2022-12-03 14:58:06 +01:00
  • 99a9802f50 decode: Store op size per operand type Alexis Engelke 2022-12-03 14:52:06 +01:00
  • 7237391783 tests: Test AVX FMA Alexis Engelke 2022-11-30 10:01:41 +01:00
  • 0da009862c instrs: Correct PMOV[SZ]X operand size Alexis Engelke 2022-11-30 09:41:12 +01:00
  • e72e288def tests: Add BMI1 test cases Alexis Engelke 2022-11-30 09:31:25 +01:00
  • c54a749713 parseinstrs: Simplify encode opsize derivation Alexis Engelke 2022-11-29 15:14:34 +01:00
  • 4abad24610 decode: Support half vector size Alexis Engelke 2022-11-27 18:04:15 +01:00
  • f565f09f9d instrs: Clearly separate vector and GP opsize Alexis Engelke 2022-11-27 17:01:06 +01:00
  • 64f0ae245e instrs: Add AVX-IFMI (VPMADD52[LH]UQ) Alexis Engelke 2022-11-27 13:37:24 +01:00
  • e411e1327b instrs: Add AVX-NE-CONVERT instructions Alexis Engelke 2022-11-27 13:33:41 +01:00
  • 7db75f64d0 instrs: Add VNNI-INT8 and VNNI tests Alexis Engelke 2022-11-27 13:23:42 +01:00
  • fe6fe0ffc1 instrs: Add CMPCCXADD Alexis Engelke 2022-11-27 13:15:13 +01:00
  • 1e0a58a421 instrs: Add RAO-INT (AADD/AAND/AXOR/AOR) Alexis Engelke 2022-11-27 12:51:38 +01:00
  • 29a62bd1c9 instrs: Add WRMSRNS Alexis Engelke 2022-11-27 12:46:22 +01:00
  • 769218bbc9 instrs: Add RDMSRLIST/WRMSRLIST Alexis Engelke 2022-11-27 12:45:00 +01:00
  • 99bea8a81e instrs: Fix VPERMQ and VPERMPD encoding Alexis Engelke 2022-11-27 12:41:21 +01:00
  • 7142478f41 encode: Fix MVR operand order Alexis Engelke 2022-11-27 12:40:49 +01:00
  • d150ccf1a5 instrs: Fix VMI encoding operands and add tests Alexis Engelke 2022-11-27 12:39:28 +01:00
  • 0e0b03f839 format: Drop fd_strplcpy Alexis Engelke 2022-11-25 14:58:58 +01:00
  • 6facb5f08c format: Use logarithmic address/operand sizes Alexis Engelke 2022-11-25 14:50:16 +01:00
  • 1a4eb124a7 fadec: Expose logarithmic sizes Alexis Engelke 2022-11-25 14:47:58 +01:00
  • 180cc059ed instrs: Fix INVEPT/INVVPID memory operand size Alexis Engelke 2022-11-25 14:34:57 +01:00
  • b817713ae8 decode: Store operand size logarithmic Alexis Engelke 2022-11-25 13:17:40 +01:00
  • 1291603246 decode-test: Add cases for far jmp/ret Alexis Engelke 2022-11-25 12:38:52 +01:00
  • 1c04ded9b7 decode: Merge zeroreg and vexreg Alexis Engelke 2022-11-20 15:25:37 +01:00
  • 19b9d82630 instrs: Add VAES instructions Alexis Engelke 2022-11-07 08:48:38 +01:00
  • c15600a1d1 decode-test: Add two more MOVSX cases Alexis Engelke 2022-11-01 20:49:21 +01:00
  • 0c20aa4f19 decode: remove unnecessary shifts Alexis Engelke 2022-11-01 20:43:37 +01:00
  • a05d52fdd0 windows: Add support for building with MSVC Ole André Vadla Ravnås 2022-10-31 11:39:40 +01:00
  • e9d961e316 meson: Simplify run_command() Ole André Vadla Ravnås 2022-11-01 19:20:12 +01:00
  • ffb40fb51f meson: Require Meson >= 0.49 Ole André Vadla Ravnås 2022-11-01 19:18:08 +01:00
  • 1f0ef1ba0c parseinstr: Remove duplicate encode mnem generator Alexis Engelke 2022-02-26 10:11:12 +01:00
  • 6b8c2968c1 encode2: Add new encoder API, one func per instr. Alexis Engelke 2022-02-20 17:21:04 +01:00
  • 003c7ca750 encode-test: Make cases generally usable Alexis Engelke 2022-02-20 17:18:15 +01:00
  • 2fd83903cf meson,parseinstrs: Make decode and encode optional Alexis Engelke 2022-02-20 17:15:21 +01:00
  • 87fe6314b8 instrs: Disambiguate instr type by mnemonic Alexis Engelke 2022-02-20 15:37:23 +01:00
  • e78a89b610 instrs: Annotate 67h and segment override usage Alexis Engelke 2022-01-06 10:31:09 +01:00
  • 5e546f5458 instrs: Fix INTO flags Alexis Engelke 2022-01-06 10:29:02 +01:00
  • f9a773c619 format: Fix unused parameter warning Alexis Engelke 2022-01-06 09:56:01 +01:00
  • 38a7a5f075 format: Fix cast alignment warning for __m128i Alexis Engelke 2022-01-06 09:55:29 +01:00
  • e98e96c28c decode: Remove inline hint on table_walk() Ole André Vadla Ravnås 2022-01-06 00:07:36 +01:00
  • 8e56088c6f encode: Fix OPC_*_MSK on 32-bit systems Ole André Vadla Ravnås 2022-01-06 01:08:44 +01:00
  • 5c35f0e40e decode: Fix LOAD_LE_8() on 32-bit systems Ole André Vadla Ravnås 2022-01-06 00:29:48 +01:00
  • 4b42ddb567 meson: Override provided dependency Ole André Vadla Ravnås 2022-01-04 20:12:17 +01:00
  • 204580f480 tests: Move to root directory Alexis Engelke 2021-09-22 13:16:58 +02:00
  • 16c5c64932 tests: Add more corner cases Alexis Engelke 2021-09-22 12:15:59 +02:00
  • 1bd5f7c572 decode: Set address size when decoding prefixes Alexis Engelke 2021-09-20 13:52:06 +02:00
  • a150822fe1 meson: Add -fstrict-aliasing if supported Alexis Engelke 2021-09-19 17:06:59 +02:00
  • 49984c940c parseinstrs: Encode struct in InstrDesc Alexis Engelke 2021-09-14 18:15:38 +02:00
  • c8ff70d436 tests/decode: Test more instructions and operands Alexis Engelke 2021-09-13 17:44:34 +02:00
  • 4193ef96bf parseinstrs: Generate more statistics Alexis Engelke 2021-09-13 17:44:00 +02:00