rizin/test/db/archos
billow 19b1783c88
Improve RzIL floating-point support (#6626)
The `RzFloat` changes fix or improve:

- binary80 explicit-integer-bit, pseudo-value, infinity, and NaN handling;
- binary16 conversions;
- gradual underflow and directed rounding;
- overflow, underflow, invalid-operation, and inexact exception reporting;
- exception propagation through nested conversions and arithmetic operations;
- binary80 fused multiply-add rounding, including reduced-precision and double-rounding edge cases;
- thread-local SoftFloat state, preventing rounding state from leaking between threads.

The `RzIL` changes add scoped binary80 precision support through `RzFloatRPrecision` and `FWITH_RPREC`. The supported precisions are 32, 64, and 80. Precision scopes restore the
previous thread-local SoftFloat state after successful evaluation and evaluation failures.

Runtime rounding modes are represented explicitly by dedicated pure opcodes:

- `FCONVERT_WITH_RMODE`
- `FROUND_WITH_RMODE`
- `FSQRT_WITH_RMODE`
- `FADD_WITH_RMODE`
- `FSUB_WITH_RMODE`
- `FMUL_WITH_RMODE`
- `FDIV_WITH_RMODE`
- `FMOD_WITH_RMODE`

Their rounding-mode operand is a 32-bit IL bitvector whose values correspond to `RzFloatRMode`: RNE, RNA, RTP, RTN, and RTZ. Invalid operand widths are rejected by validation,
while invalid runtime values cause evaluation to fail with an error.

Dedicated opcodes keep runtime-controlled floating-point expressions compact. This is useful for architectures whose rounding mode is selected from register state and avoids the
expression duplication caused by expanding every operation into nested `ITE` branches.

The new operations are supported by:

- construction, duplication, and destruction;
- type and operand validation;
- VM evaluation;
- plain, Unicode, and JSON exporters;
- graph output and opcode stringification.

`FEXCEPT` now emits a VM event only when the queried exception is present, while preserving exceptions raised by nested conversions and arithmetic operations.
2026-08-10 01:06:17 +08:00
..
darwin-arm64 librz/debug: fix coredump creation on macOS 2026-04-26 16:25:24 +08:00
darwin-x64 debug: make xnu attach idempotent for di (#6295) 2026-05-02 14:43:53 +08:00
freebsd-x64 shell: move all heap parsing commands under dmh (#6050) 2026-03-21 02:44:59 +08:00
linux-any String/Hex-Search 9/9: Fix all tests affected by the string and byte search refactor. 2025-02-22 04:12:49 +08:00
linux-arm64 db/tools test fixes (#6086) 2026-04-24 00:03:21 +08:00
linux-ppc db/tools test fixes (#6086) 2026-04-24 00:03:21 +08:00
linux-riscv32 librz/debug: native debugger plugin for RISC-V (#5966) 2026-04-26 16:28:07 +08:00
linux-riscv64 librz/debug: native debugger plugin for RISC-V (#5966) 2026-04-26 16:28:07 +08:00
linux-sysz shell: move all heap parsing commands under dmh (#6050) 2026-03-21 02:44:59 +08:00
linux-x64 Improve RzIL floating-point support (#6626) 2026-08-10 01:06:17 +08:00
netbsd-x64 ci: fix BSD dr tests 2025-12-22 20:49:26 +04:00
not-windows-any Add reliable http:// test (#6509) 2026-06-18 07:01:00 +08:00
openbsd-x64 Add openBSD debug tests and fix errors (#5226) 2025-06-27 22:10:35 +08:00
windows-x64 Omitted reflines when internal grep ~ is used (#6062) 2026-04-04 12:03:06 +00:00