The 'vpmultishiftqb' instruction was implemented falsely, this patch amend it.
More specifically - (MS dialect) broadcasting variants were implemented falsely.
Differential Revision: https://reviews.llvm.org/D26257
Paths
| Differential D26257
[AVX512][MS-compatability][llvm] Amending vpmultishiftqb ClosedPublic Authored by coby on Nov 2 2016, 12:37 PM.
Details Summary The 'vpmultishiftqb' instruction was implemented falsely, this patch amend it. Differential Revision: https://reviews.llvm.org/D26257
Diff Detail
Event Timelinecoby updated this object. Comment Actions Can you please clarify what the perceived problem is? The encodings already match your test case before this change and the result type change doesn't make sense given that the instruction really does write bytes.
Comment Actions
Simple.
vpmultishiftqb xmm1, xmm2, [rax]{1to2}
Comment Actions We also need AutoUpgrade support from the old signature with the old argument type to the new signature with the new argument type. coby retitled this revision from [AVX512][llvm] Amending vpmultishiftqb to [AVX512][MS-compatability][llvm] Amending vpmultishiftqb. coby updated this object. coby edited edge metadata. Comment Actions
This revision is now accepted and ready to land.Nov 20 2016, 5:48 AM Closed by commit rL287501: The 'vpmultishiftqb' instruction was implemented falsely, this patch amend it. (authored by coby). · Explain WhyNov 20 2016, 9:29 AM This revision was automatically updated to reflect the committed changes.
Revision Contents
Diff 76768 include/llvm/IR/IntrinsicsX86.td
lib/Target/X86/X86InstrAVX512.td
test/CodeGen/X86/avx512vbmi-intrinsics.ll
test/CodeGen/X86/avx512vbmivl-intrinsics.ll
test/MC/X86/avx512vbmi-encoding.s
|
I think the result type should still be byte elements to match the number of elements in the write mask.