[llvm] [x86] Ignore ES/CS/SS/DS segment overrides in 64-bit mode (PR #187743)
Phoebe Wang via llvm-commits
llvm-commits at lists.llvm.org
Sat Mar 21 06:05:24 PDT 2026
================
@@ -214,6 +214,22 @@ static bool isREX2(struct InternalInstruction *insn, uint8_t prefix) {
return insn->mode == MODE_64BIT && prefix == 0xd5;
}
+/*
+ * setSegmentOverride - Set an instruction's segmentOverride based on CPU mode.
+ *
+ * @param insn - The instruction to be overridden.
+ * @param prefix - The segment override to use.
+ */
+static void setSegmentOverride(struct InternalInstruction *insn, SegmentOverride prefix)
+{
+ // In 32-bit or 16-bit mode all segment override prefixes are used.
+ // In 64-bit mode, the ES/CS/SS/DS segment overrides should be ignored.
----------------
phoebewang wrote:
Not really: https://github.com/llvm/llvm-project/commit/e603451f3cb16792fb46ab5f2fa50b05f3e5d935
https://github.com/llvm/llvm-project/pull/187743
More information about the llvm-commits
mailing list