[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