}
let isTerminator = 1, isBarrier = 1, hasCtrlDep = 1, isCodeGenOnly = 1, isReturn = 1 in {
-def CATCHRET : I<0xC3, RawFrm, (outs), (ins GR32:$addr),
- "ret{l}\t# CATCHRET",
- [(X86catchret GR32:$addr)], IIC_RET>, Sched<[WriteJumpLd]>;
-def CATCHRET64 : I<0xC3, RawFrm, (outs), (ins GR64:$addr),
- "ret{q}\t# CATCHRET",
- [(X86catchret GR64:$addr)], IIC_RET>, Sched<[WriteJumpLd]>;
-def CLEANUPRET : I<0xC3, RawFrm, (outs), (ins),
- "ret{l}\t# CLEANUPRET",
- [(X86cleanupret)], IIC_RET>, Sched<[WriteJumpLd]>,
- Requires<[Not64BitMode]>;
-def CLEANUPRET64 : I<0xC3, RawFrm, (outs), (ins),
- "ret{q}\t# CLEANUPRET",
- [(X86cleanupret)], IIC_RET>, Sched<[WriteJumpLd]>,
- Requires<[In64BitMode]>;
+def CATCHRET : I<0, Pseudo, (outs), (ins brtarget32:$dst),
+ "# CATCHRET",
+ [(catchret bb:$dst)]>;
+def CLEANUPRET : I<0, Pseudo, (outs), (ins), "# CLEANUPRET", [(cleanupret)]>;
}
let hasSideEffects = 1, isBarrier = 1, isCodeGenOnly = 1,