[PATCH] D65447: GlobalISel: Lower scalarizing unmerge of a vector to shifts
Daniel Sanders via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Jul 30 18:59:36 PDT 2019
dsanders accepted this revision.
dsanders added a comment.
This revision is now accepted and ready to land.
This makes sense to me. LGTM
> I also have a growing feeling that we're missing a bitcast legalize action.
I assume the definition of that would be something like:
%1:(x) = OP %0:(x)
to
%2:(y) = G_BITCAST %0:(x)
%3:(y) = NEW_OP %2:(y)
%1:(x) = G_BITCAST %3:(y)
and is somewhat similar in principle to lower but sidesteps instead of simplifying, or alternatively is somewhat like libcall but injects code inline instead of calling.
I can't think of a place I'd want to use it over one of the current actions but it sounds like it ought to be useful. Maybe for doing pointer operations using scalar operations? Do you have anything specific in mind?
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D65447/new/
https://reviews.llvm.org/D65447
More information about the llvm-commits
mailing list