Merge pull request #5683 from MarcZX100/codex/rosetta-scalar-compare-5642

fix(relinker): isolate Rosetta scalar compare hazards
This commit is contained in:
Adrià authored and GitHub committed 2026-10-15 14:57:14 +02:00
commit 2b8a685dfe
7 files changed
+159 -1

No files matched your search

@@ -42,6 +42,7 @@ inline constexpr Entry kRdseed = {"RDSEED", nullptr, 0};
inline constexpr Entry kRdpid = {"RDPID", nullptr, 0};
inline constexpr Entry kClwb = {"CLWB", nullptr, 0};
inline constexpr Entry kWideStore = {"256-bit store", nullptr, 0};
inline constexpr Entry kScalarCompare = {"scalar compare", nullptr, 0};
inline constexpr Entry kExtrq = {"EXTRQ", nullptr, 0};
inline constexpr Entry kInsertq = {"INSERTQ", nullptr, 0};
inline constexpr Entry kExtrqRegisterForm = {"EXTRQ register form", nullptr, 0};
@@ -0,0 +1,19 @@
#ifndef CODEGEN_X86_SCALARCOMPAREOPERANDS_HPP
#define CODEGEN_X86_SCALARCOMPAREOPERANDS_HPP
#include <cstddef>
#include <cstdint>
#include <optional>
namespace Codegen {
struct ScalarCompareOperands {
std::optional<std::size_t> RipDisplacementOffset;
std::int64_t RipTarget = 0;
};
[[nodiscard]] std::optional<ScalarCompareOperands> DecodeScalarCompare(const std::uint8_t* data, std::size_t length);
}
#endif