1157 Commits

Author SHA1 Message Date
Duncan Ogilvie 2d76a91a3c Use CMAKE_CURRENT_LIST_DIR in xed.cmake to allow reuse 2026-05-22 10:40:47 -04:00
Duncan Ogilvie a4f10c74cc Do not enable test_runner_lib when testing isn't enabled 2026-05-22 10:40:47 -04:00
Duncan Ogilvie 19b880d9b4 Fix deprecated literal operators 2026-05-22 10:40:47 -04:00
Duncan Ogilvie ba4c420b50 Fix XED runtime always defaulting to /MT 2026-05-04 09:36:35 -04:00
Duncan Ogilvie 0e324aee8c Do not propagate empty CMAKE_MSVC_RUNTIME_LIBRARY v6.0.1 2026-04-21 09:23:16 -04:00
Duncan Ogilvie 71b1915a7e Add REMILL_FETCH_SLEIGH option to allow find_package(sleigh) 2026-04-21 09:23:16 -04:00
Duncan Ogilvie 7055a0c54a Change XGETBV architecture modeling to hypercall 2026-04-08 13:20:13 -04:00
William Tan 56eee94851 fix control-flow decoding and restore smoketests
Handle the synthetic fallthrough sentinel in Sleigh control-flow analysis without indexing past the end of the pcode ops vector. Also fix the aarch32 smoketest flag spelling in CI and keep Nix checks enabled on Darwin so the smoketests run consistently across environments.
2026-03-31 12:50:19 -04:00
kyle-elliott-tob 70ec62035c ci: shift LLVM version window from 15-21 to 17-22
Comment out subnormal (0x1) test inputs for fcvtzu/fcvtzs double-to-
64-bit-integer tests on AArch64. LLVM 22 misselects the SIMD form
(fcvtzu d,d) which drops FE_INEXACT on subnormal inputs.
Upstream: llvm/llvm-project#178603

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-31 09:49:25 -04:00
Maurice Heumann 2bdc972339 Remove unneeded dependencies (#769) 2026-03-26 09:40:00 -04:00
Maurice Heumann 70b6127cf8 Only quietize SNaNs in FLD
Non-SNaN values should not be quietized, if the IE bit was previously set.
2026-03-25 10:28:00 -04:00
Duncan Ogilvie 91f04f5eb9 Add a few missing instructions/tests 2026-03-25 09:18:37 -04:00
Duncan Ogilvie 99b70a1d7e Add sem_dir argument to lifter cli 2026-03-25 09:18:37 -04:00
Duncan Ogilvie c14bc57193 Fix CMake dependency for add_custom_command 2026-03-25 09:18:37 -04:00
Duncan Ogilvie 9a1409721c Fix AVX-512 classification for latest XED 2026-03-25 09:18:37 -04:00
Duncan Ogilvie b3fcd705ae Fix linker warnings for x86 tests 2026-03-25 09:18:37 -04:00
Duncan Ogilvie dc1f1d498c Fix functions getting declared in duplicate in TraceLifter 2026-03-25 09:18:37 -04:00
William Tan 62f16fe143 fix: use full version for LLVM 15 clang resource dir
LLVM 16+ changed the resource directory path from lib/clang/<full-version>
(e.g. 15.0.7) to lib/clang/<major> (e.g. 16). Use release_version from
nixpkgs to match the upstream nixpkgs clang wrapper logic (D125860).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-20 19:09:05 -04:00
Bruno Produit 6931fd44c0 add smoketests to nix builds 2026-03-20 19:09:05 -04:00
Bruno Produit 8fe074f483 update flake to build all llvm versions. Update the github workflow accordingly 2026-03-20 19:09:05 -04:00
Bruno Produit 8dec879226 nix develop and tests running 2026-03-20 19:09:05 -04:00
brunoproduit 9bd9f7fd81 aarch64 and mac nix builders, pin hash for actions 2026-03-20 19:09:05 -04:00
brunoproduit 7eead836d8 Add nix github builder 2026-03-20 19:09:05 -04:00
brunoproduit b32b614ffc flake: add nix flake for building remill
Add a Nix flake that builds remill and its XED dependency
using LLVM 17, with patched Ghidra sources for Sleigh.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-20 19:09:05 -04:00
Maurice Heumann 962b68b964 Fix zero extension for MOVD semantics with MMX registers 2026-03-11 08:47:08 -04:00
Maurice Heumann 27b38572f9 Fix PSHUFW instruction semantics 2026-03-11 08:37:59 -04:00
ds5678 9580218dc2 Check Windows defines in Name.h 2026-03-10 13:00:27 -04:00
kyle-elliott-tob 504ba56170 fix: resolve code review findings for PR #749
Remove unused template parameter P from ExecuteLiftedFunction. The P
parameter was never used in the function body (even before this PR, the
old code hardcoded uint32_t). Now that PC width is dynamically determined
from the LLVM function type, P is clearly vestigial. Updated all three
call sites to match.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-13 09:18:18 -05:00
redthing1 99d1036f6a TestRunner: copy next pc with proper type 2026-02-13 09:18:18 -05:00
redthing1 6a4f639fbb TestRunner: respect PC bitwidth 2026-02-13 09:18:18 -05:00
EinTim 6ae9608a9a - Add support to build remill on windows with static CRT. 2026-02-13 07:46:27 -05:00
redthing1 63dc622d9d SleighLifter: fix ppc hypercall memory passing 2026-02-10 08:08:06 -05:00
redthing1 21514ad9f0 SleighLifter: fix swapped signedness 2026-02-10 08:08:06 -05:00
redthing1 30931d9ae7 Int: provide int128 typedef fallback 2026-02-10 08:07:02 -05:00
Maurice Heumann 20f6e1c544 Add MOVMSKPS instruction semantics (#751) 2026-02-09 23:30:40 -05:00
Kyle Elliott 9908142dc7 Add CLAUDE.md (#747) 2026-02-04 15:54:53 -05:00
momo5502 f55bf66f9b Add SQRTPD tests 2026-01-05 08:50:22 -05:00
momo5502 5999b9757f Add SQRTPD semantics 2026-01-05 08:50:22 -05:00
momo5502 df4d60e779 Use __builtin_sqrt instead of using std library functions
__builtin_sqrt is already used in a few other places in the semantics.
This commit just makes this consistent for all sqrt computations.
2026-01-05 08:50:22 -05:00
William Tan 3aae67d6a0 Fix Dockerfile warning
```
1 warning found (use docker --debug to expand):
 - UndefinedVar: Usage of undefined variable '$LD_LIBRARY_PATH' (line 105)
```
2025-12-16 06:39:13 -05:00
William Tan 66df15c2ef Fix llvm::Intrinsic::getDeclaration deprecation
`llvm::Instrinsic::getDeclaration` will be removed soon, deprecation started in llvm 21

https://github.com/llvm/llvm-project/pull/111752
https://github.com/llvm/llvm-project/pull/112242
2025-12-16 06:39:13 -05:00
Petra Peuker d1ca5b39c9 uncomment test cases 2025-12-13 15:41:50 -05:00
Petra Peuker d580b27b71 Remove warnings 2025-12-13 15:41:50 -05:00
Petra Peuker b9d4267ce8 Added (v)addsub instructons 2025-12-13 15:41:50 -05:00
Petra Peuker d52517c7a1 Added broadcast instructions 2025-12-13 15:41:50 -05:00
Petra Peuker 170c4df43f Extended vmovddup; Added (v)movshdup and (v)movsldup 2025-12-13 15:41:50 -05:00
Petra Peuker cf17ff6d03 Added (V)PMOVZXx instructions 2025-12-13 15:41:50 -05:00
Petra Peuker dcf93e624f Added (V)PMOVSXx instructions 2025-12-13 15:41:50 -05:00
Petra Peuker a0450170ad Added VxMASKMOVx instructions 2025-12-13 15:41:50 -05:00
Petra Peuker 715b432a5d Added lddqu instructions 2025-12-13 15:41:50 -05:00