def RETIW : Ii16<0xC2, RawFrm, (outs), (ins i16imm:$amt, variable_ops),
"retw\t$amt",
[(X86retflag timm:$amt)]>, OpSize;
- def LRET : I <0xCB, RawFrm, (outs), (ins),
- "lret", []>;
+ def LRETL : I <0xCB, RawFrm, (outs), (ins),
+ "lretl", []>;
def LRETQ : RI <0xCB, RawFrm, (outs), (ins),
"lretq", []>;
def LRETI : Ii16<0xCA, RawFrm, (outs), (ins i16imm:$amt),
def : MnemonicAlias<"cwde", "cwtl">;
def : MnemonicAlias<"cdqe", "cltq">;
+// lret maps to lretl, it is not ambiguous with lretq.
+def : MnemonicAlias<"lret", "lretl">;
+
def : MnemonicAlias<"pop", "popl">, Requires<[In32BitMode]>;
def : MnemonicAlias<"pop", "popq">, Requires<[In64BitMode]>;
def : MnemonicAlias<"popf", "popfl">, Requires<[In32BitMode]>;
// PR8592
lretq // CHECK: lretq # encoding: [0x48,0xcb]
-lret // CHECK: lret # encoding: [0xcb]
+lretl // CHECK: lretl # encoding: [0xcb]
+lret // CHECK: lretl # encoding: [0xcb]
// rdar://8403907
sysret