This enables printing of the mnemonics that contain the predicate
in the Intel printer. This requires accounting for the memory size
that is explicitly printed in Intel syntax. Those changes have been
synced to the ATT printer as well.
Details
Details
Diff Detail
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
Comment Actions
LGTM. Thanks Craig for fixing it.
llvm/lib/Target/X86/MCTargetDesc/X86ATTInstPrinter.cpp | ||
---|---|---|
203–207 | Why don't use assert like above? |
llvm/lib/Target/X86/MCTargetDesc/X86ATTInstPrinter.cpp | ||
---|---|---|
203–207 | TA can also have PS and/or PD which need to got to EVEX_L2/VEX_L. So I didn't see a clean way to do it. Feel free to make a concrete suggestion. |
llvm/lib/Target/X86/MCTargetDesc/X86ATTInstPrinter.cpp | ||
---|---|---|
203–207 | How about: if ((Desc.TSFlags & X86II::OpPrefixMask) == X86II::XS) { if ((Desc.TSFlags & X86II::OpMapMask) == X86II::TA) printwordmem(MI, CurOp--, OS); else printdwordmem(MI, CurOp--, OS); } else if ((Desc.TSFlags & X86II::OpPrefixMask) == X86II::XD) { assert((Desc.TSFlags & X86II::OpMapMask) != X86II::TA) && "Unexpected op map!"); printqwordmem(MI, CurOp--, OS); } ... |
llvm/lib/Target/X86/MCTargetDesc/X86ATTInstPrinter.cpp | ||
---|---|---|
203–207 | Sorry for the noise, I missed the EVEX_L2/VEX_L. |
llvm/lib/Target/X86/MCTargetDesc/X86ATTInstPrinter.cpp | ||
---|---|---|
203–207 | Emm, seems correct :) |
llvm/lib/Target/X86/MCTargetDesc/X86ATTInstPrinter.cpp | ||
---|---|---|
203–207 | That should work. Do you mind taking over this patch? |
llvm/lib/Target/X86/MCTargetDesc/X86ATTInstPrinter.cpp | ||
---|---|---|
203–207 | Sure. |
Why don't use assert like above?