This is an archive of the discontinued LLVM Phabricator instance.

[X86][LLVM] Converting __mm{|256|512}_movm_epi{8|16|32|64} LLVMIR call into generic intrinsics.
ClosedPublic

Authored by m_zuckerman on Mar 27 2017, 5:51 AM.

Details

Summary

This patch is a part one of two reviews, one for the clang and the other for LLVM.
The patch deletes the back-end intrinsics and adds support for them in the auto upgrade.

Diff Detail

Repository
rL LLVM

Event Timeline

m_zuckerman created this revision.Mar 27 2017, 5:51 AM
m_zuckerman edited the summary of this revision. (Show Details)Mar 27 2017, 5:56 AM
craig.topper added inline comments.Mar 27 2017, 10:38 AM
lib/IR/AutoUpgrade.cpp
237 ↗(On Diff #93122)

Please add "// Added in 5.0" to the end of this line so we can audit for removal in the future.

803 ↗(On Diff #93122)

You shouldn't need makeArrayRef if you're just converting from a SmallVector it will implicitly convert.

Is this function any different than getX86MaskVec that already exists?

test/CodeGen/X86/avx512dqvl-intrinsics.ll
739 ↗(On Diff #93122)

These test cases should be moved to avx512dqvl-intrinsics-upgrade.ll

m_zuckerman updated this revision to Diff 93745.Apr 1 2017, 6:58 AM
m_zuckerman marked 3 inline comments as done.

Ping

lib/IR/AutoUpgrade.cpp
803 ↗(On Diff #93122)

I didn't saw it thanks :)

This revision is now accepted and ready to land.Apr 3 2017, 9:21 AM
This revision was automatically updated to reflect the committed changes.