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
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
9a1409721c
Fix AVX-512 classification for latest XED
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
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
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
Maurice Heumann
20f6e1c544
Add MOVMSKPS instruction semantics ( #751 )
2026-02-09 23:30:40 -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
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
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
Petra Peuker
9814ba62d8
Adapt index calucaltion to previous pattern
2025-12-13 15:41:50 -05:00
Petra Peuker
9934cab3a3
Fixed vphaddp* instructions
2025-12-13 15:41:50 -05:00
Petra Peuker
ac78918621
Added some vpadd* and vphadd* instructions
2025-12-13 15:41:50 -05:00
Boris Trifkovic
0915596dea
Resolved issues with MOVZX.
2025-12-13 00:32:18 -05:00
Matteo
ae9a4e97ef
Resolved issues with NOP.
2025-12-11 17:36:07 -05:00
Matteo
36c1d3ced3
Resolved issues with MOVSX and MOVSXD.
2025-12-11 08:00:51 -05:00
wizardengineer
4f08aef71d
Added support for FADD
2025-12-02 08:56:55 -05:00
wizardengineer
6e5d3ada68
Resolved issues with MULX
2025-12-02 08:56:55 -05:00
wizardengineer
e1d049e9c9
Resolved LZCNT & TZCNT test failed with xed 2025
2025-12-02 08:56:55 -05:00
wizardengineer
0aa74ba2b1
Fix for Test error with latest XED
2025-12-02 08:56:55 -05:00
Duncan Ogilvie
f8acc718c9
Remove deprecated LINK_PUBLIC/PRIVATE specifier
2025-11-23 16:30:47 -05:00
Duncan Ogilvie
9a6868a27d
Fix X87 lifting on LLVM 18+
2025-11-05 20:46:01 -05:00
Duncan Ogilvie
1be540eeef
Implement FMADD in terms of std::fma
2025-11-05 20:46:01 -05:00
Duncan Ogilvie
6082054723
Fix bug with uninitialized MONITOR variable causing UB
2025-11-05 20:46:01 -05:00
Duncan Ogilvie
eba0652f86
Replace cfenv dependency with new remill FPU intrinsics
2025-11-05 20:46:01 -05:00
Duncan Ogilvie
ac78aa9dca
Switch to standalone sysroot for semantics compilation
2025-11-05 20:46:01 -05:00
Duncan Ogilvie
ddef25db7c
Add support for LLVM 15-21
2025-11-05 20:46:01 -05:00
Matteo
e42ac37294
Fix UBSan error when computing the state field offsets.
2025-11-05 20:46:01 -05:00
cctv130
b6fc70f0f4
CMake: update to C++20, clean up properties, optimize fetch content ( #721 )
...
- Enable C++20 on both Windows and Linux
- Remove unnecessary set_property calls to silence LOCATION warnings
- Replace duplicate -fPIC flags with INTERFACE_POSITION_INDEPENDENT_CODE
- Set FETCHCONTENT_BASE_DIR to speed up sleigh and ghidra-fork downloads/builds
- fixed: Does not match the generator used previously: Unix Makefiles,use ninja instead
2025-09-05 17:55:23 -04:00
cctv130
e272b48e84
fix: windows clang build ( #719 )
...
* Update settings.cmake
Fix the issue where debugging on Windows in VSCode doesn’t work
* fix: windows clang build
The following flags are not supported in non-MSVC environments
/EHsc /wd4141 /wd4146 /wd4180 /wd4244 /wd4258 /wd4267 /wd4291
/wd4345 /wd4351 /wd4355 /wd4456 /wd4457 /wd4458 /wd4459 /wd4503
/wd4624 /wd4722 /wd4800 /wd4100 /wd4127 /wd4512 /wd4505 /wd4610
/wd4510 /wd4702 /wd4245 /wd4706 /wd4310 /wd4701 /wd4703 /wd4389
/wd4611 /wd4805 /wd4204 /wd4577 /wd4091 /wd4592 /wd4324
Update cmake_minimum_required(VERSION 3.21) to remove CMake warning.
2025-08-18 17:42:31 -04:00
Maurice Heumann
f59f129753
Pass undef if semantic function argument is unused ( #716 )
...
Remill tries to infer the proper type of an argument for a semantic function.
If the argument is unused that won't work and yields wrong results.
However, in that case, it doesn't matter what's passed,
as nobody uses the value, so passing undef works and prevents issues.
2025-07-03 20:36:28 -04:00
Masashi Yoshimura
aa886a2244
Fix AArch64 breakpoint exception handling to use builtin fuctions or BRK instruction. ( #714 )
2025-05-13 12:47:08 -04:00
Duncan Ogilvie
7f091d4256
Remove [[gnu::const]] (readnone) from __remill intrinsics ( #710 )
...
* Remove [[gnu::const]] (readnone) from __remill intrinsics
* Remove FindPureIntrinsic and SetMemoryReadNone
2024-07-17 12:32:00 -04:00
Masashi Yoshimura
92d1867d1a
Fix the offset of STUR and LDUR of AArch64 instructions. ( #708 )
2024-05-11 21:49:42 -04:00
2over12
874490a894
Fix placement of 32 bit regs on e500 and populate the low bits of PC on BE ( #702 )
...
* be fixes
* decriptive names
* fix tests
2024-02-28 11:16:37 -05:00
2over12
608acf8edd
Fix big endian type conversions for registers ( #699 )
...
* add conversion checking
* Update lib/BC/SleighLifter.cpp
Co-authored-by: William Tan <1284324+Ninja3047@users.noreply.github.com >
---------
Co-authored-by: William Tan <1284324+Ninja3047@users.noreply.github.com >
2024-02-14 13:43:25 -05:00
2over12
391261923a
actually call branch taken store ( #697 )
2024-01-16 07:50:56 -05:00