This is an archive of the discontinued LLVM Phabricator instance.

Masked load/store for types that require legalization.
Needs ReviewPublic

Authored by delena on Jan 14 2015, 6:14 AM.

Details

Summary

In this big patch I'm solving two things. (If you'll say that it is too big and not reviewable, I'll spit into two, but this things are connected)

  1. The current lowering of masked load/store for <2 x i32> and <2 x f32> is incorrect, and I'm solving this in type legalizer and subsequent "combine" in X86.
  2. I added the cost estimation for masked operations that shows that (1) masked load/store for these vector types are very expensive ( due to expanding loads and truncating stores ) (2) maskmov operation itself is not as cheap as vector load-store.

Diff Detail

Event Timeline

delena updated this revision to Diff 18149.Jan 14 2015, 6:14 AM
delena retitled this revision from to Masked load/store for types that require legalization..
delena updated this object.
delena edited the test plan for this revision. (Show Details)
delena set the repository for this revision to rL LLVM.
delena added a subscriber: Unknown Object (MLST).