[PATCH] D130638: [X86][MC] Avoid emitting incorrect warning for complex FMUL
Phoebe Wang via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Jul 27 20:21:26 PDT 2022
pengfei added inline comments.
================
Comment at: llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp:3853
+ // VFMULCPHZrrk Dest, Dest, Mask, Src1, Src2
+ if ((TSFlags & (X86II::EVEX_K | X86II::EVEX_Z)) == X86II::EVEX_K)
+ ++i;
----------------
LuoYuanke wrote:
> skan wrote:
> > pengfei wrote:
> > > LuoYuanke wrote:
> > > > Just be curious. Since there is not issue for VFCMADDCPH, why for VFCMULCPH the mask version does not conform with non-mask version?
> > > The reason is in the differences of the input dag (generated by `-print-records`):
> > > ```
> > > def VFCMADDCPHZr {
> > > ... ...
> > > dag OutOperandList = (outs VR512:$dst);
> > > dag InOperandList = (ins VR512:$src1, VR512:$src2, VR512:$src3);
> > > ... ...
> > > string Constraints = "@earlyclobber $dst, $src1 = $dst";
> > > ... ...
> > > }
> > > def VFMULCPHZrr {
> > > ... ...
> > > dag OutOperandList = (outs VR512:$dst);
> > > dag InOperandList = (ins VR512:$src1, VR512:$src2);
> > > ... ...
> > > string Constraints = "@earlyclobber $dst";
> > > ... ...
> > > }
> > > def VFMULCPHZrrk {
> > > ... ...
> > > dag OutOperandList = (outs VR512:$dst);
> > > dag InOperandList = (ins VR512:$src0, VK16WM:$mask, VR512:$src1, VR512:$src2);
> > > ... ...
> > > string Constraints = "@earlyclobber $dst, $src0 = $dst";
> > > ... ...
> > > }
> > > ```
> > Do we need `X86II:EVEX_Z` here?
> Thanks, Phoebe.
Yeah, it's safe to remove it.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D130638/new/
https://reviews.llvm.org/D130638
More information about the llvm-commits
mailing list