capstone/bindings
Denys Melnyk 4eb90672f3
Xtensa: gate ESP32-S3 and HIFI3 ops behind CS_MODE_XTENSA_ESP32S3 (#2979)
The Xtensa disassembler enabled the ESP32-S3 SIMD/AI (ee.*) and HiFi3 ops for
every target because the subtarget feature gates were stubbed to return true
(Xtensa_getFeatureBits and hasDensity/hasESP32S3Ops/hasHIFI3). As a result, on a
non-ESP32-S3 Xtensa config any instruction with op0=0xE/0xF was matched as a
4-byte ee.* op, so a base-ISA byte stream desynced.

Make Xtensa_getFeatureBits map the mode to a feature set (mirroring the SystemZ
precedent), thread MI->csh->mode into the three has*Ops gates, and add an opt-in
CS_MODE_XTENSA_ESP32S3. Base/esp32/esp32s2/esp8266 no longer emit ESP32-S3 ops;
CS_MODE_XTENSA_ESP32S3 preserves them. Concrete instance of issue #1992.

The saved auto-sync patch hashes are updated so the fix survives the next LLVM
re-sync. Adds tests/MC/Xtensa/esp32s3.s.yaml.

Co-authored-by: Denys Melnyk <denys@com2cloud.com>
2026-07-22 16:13:28 +00:00
..
java Release v6.0.0-Alpha8 (#2925) 2026-05-23 18:15:01 +00:00
ocaml Convert all README's to markdown files. (#2863) 2026-02-14 13:56:07 +00:00
powershell
python Xtensa: gate ESP32-S3 and HIFI3 ops behind CS_MODE_XTENSA_ESP32S3 (#2979) 2026-07-22 16:13:28 +00:00
vb6 Convert all README's to markdown files. (#2863) 2026-02-14 13:56:07 +00:00
const_generator.py Rebased #2570 (#2614) 2025-01-28 22:34:24 +08:00
README.md Convert all README's to markdown files. (#2863) 2026-02-14 13:56:07 +00:00
stdout_cmp.py Xtensa Support (#2380) 2024-09-30 11:35:51 +08:00

This directory contains bindings & test code for Python, Java & OCaml. See <language>/README.md for how to compile & install each binding.

More bindings created & maintained by the community are available as followings.