fix(relinker): lower legacy packed reciprocal register instructions

This commit is contained in:
Scramblrrrr committed 2026-10-11 10:58:14 -03:00
1 parent a11c8f7f70
commit 363d17985e
8 files changed
+149 -25

No files matched your search

@@ -49,6 +49,8 @@ inline constexpr Entry kMovntss = {"MOVNTSS", nullptr, 0};
inline constexpr Entry kMovntsd = {"MOVNTSD", nullptr, 0};
inline constexpr Entry kVrcpps = {"VRCPPS", nullptr, 0};
inline constexpr Entry kVrsqrtps = {"VRSQRTPS", nullptr, 0};
inline constexpr Entry kRcpps = {"RCPPS", nullptr, 0};
inline constexpr Entry kRsqrtps = {"RSQRTPS", nullptr, 0};
inline constexpr Entry kSha256rnds2 = {"SHA256RNDS2", nullptr, 0};
inline constexpr Entry kSha256msg1 = {"SHA256MSG1", nullptr, 0};
inline constexpr Entry kSha256msg2 = {"SHA256MSG2", nullptr, 0};
@@ -16,9 +16,10 @@ struct ReciprocalOperands {
ReciprocalOperation Operation;
std::uint8_t Destination;
std::uint8_t Source;
bool Vex;
};
[[nodiscard]] std::optional<ReciprocalOperands> DecodeVexReciprocal(const std::uint8_t* data, std::size_t length);
[[nodiscard]] std::optional<ReciprocalOperands> DecodeReciprocal(const std::uint8_t* data, std::size_t length);
}