AVX512: Implemented encoding and intrinsics for
vplzcntq, vplzcntd, vpconflictq, vpconflictd
Added tests for intrinsics and encoding.
Paths
| Differential D11931
AVX512 : vplzcnt and vpconflict implemantation ClosedPublic Authored by igorb on Aug 11 2015, 1:22 AM.
Details Summary AVX512: Implemented encoding and intrinsics for vplzcntq, vplzcntd, vpconflictq, vpconflictd Added tests for intrinsics and encoding.
Diff Detail
Event Timelineigorb updated this object.
Closed by commit rL246750: AVX512: Implemented encoding and intrinsics for vplzcntq, vplzcntd… (authored by ibreger). · Explain WhySep 3 2015, 2:06 AM This revision was automatically updated to reflect the committed changes. Comment Actions Hi Igor, Have you looked into promoting i8/i16 vector CTLZ to use the dword LZCNT instruction (trunc(sub(lzcnt(zext(x))))? Cheers, Simon. Comment Actions
This is a good idea, I will implement it. Comment Actions
Cheers, this should help CTTZ_UNDEF lowering (D12663) as well.
Revision Contents
Diff 33913 llvm/trunk/include/llvm/IR/IntrinsicsX86.td
llvm/trunk/lib/Target/X86/X86ISelLowering.h
llvm/trunk/lib/Target/X86/X86ISelLowering.cpp
llvm/trunk/lib/Target/X86/X86InstrAVX512.td
llvm/trunk/lib/Target/X86/X86InstrFragmentsSIMD.td
llvm/trunk/lib/Target/X86/X86IntrinsicsInfo.h
llvm/trunk/test/CodeGen/X86/avx512-intrinsics.ll
llvm/trunk/test/CodeGen/X86/avx512cdvl-intrinsics.ll
llvm/trunk/test/CodeGen/X86/vector-lzcnt-128.ll
llvm/trunk/test/CodeGen/X86/vector-lzcnt-256.ll
llvm/trunk/test/CodeGen/X86/vector-lzcnt-512.ll
llvm/trunk/test/MC/X86/x86-64-avx512cd.s
llvm/trunk/test/MC/X86/x86-64-avx512cd_vl.s
|