[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 19:50:46 PDT 2022
pengfei added a comment.
In D130638#3683989 <https://reviews.llvm.org/D130638#3683989>, @skan wrote:
> In D130638#3682681 <https://reviews.llvm.org/D130638#3682681>, @craig.topper wrote:
>
>> I would replace the word "fake" in the title with "incorrect".
>>
>> And "to emit" change to "emitting"
>
> "to emitting" -> "emitting"
🤦♀️
================
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:
> 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";
... ...
}
```
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