This is an archive of the discontinued LLVM Phabricator instance.

[X86] Lower _mm[256|512]_[mask[z]]_avg_epu[8|16] intrinsics to native llvm IR
ClosedPublic

Authored by ytsafrir on Sep 7 2017, 4:48 AM.

Diff Detail

Repository
rL LLVM

Event Timeline

ytsafrir created this revision.Sep 7 2017, 4:48 AM
ytsafrir edited the summary of this revision. (Show Details)Sep 7 2017, 5:03 AM
craig.topper added inline comments.Sep 7 2017, 9:55 AM
test/CodeGen/X86/avg-mask.ll
24 ↗(On Diff #114150)

This AVX512BW prefix doesn't exist on your command lines. Several places after this have it as well.

RKSimon added inline comments.Sep 10 2017, 3:36 AM
test/CodeGen/X86/sse2-intrinsics-fast-isel.ll
277 ↗(On Diff #114150)

-fast-isel.ll tests don't get deleted when you remove the ir intrinsic - you replace it with the equivalent IR that gets generated from the c intrinsic: see the top of the file:

; NOTE: This should use IR equivalent to what is generated by clang/test/CodeGen/sse2-builtins.c

ytsafrir updated this revision to Diff 114575.Sep 11 2017, 5:48 AM

Replaced the ir intrinsic in the files: test/CodeGen/X86/sse2-intrinsics-fast-isel.ll, test/CodeGen/X86/avx2-intrinsics-fast-isel.ll with the IR which is generated from the c intrinsics, as per RKSimon's comment.

Re-ran the utils/update_llc_test_checks.py script on file test/CodeGen/X86/avg-mask.ll to fix the check prefixes, following Craig's comment.

This revision is now accepted and ready to land.Sep 11 2017, 9:25 AM
This revision was automatically updated to reflect the committed changes.