diff options
| author | Simon Pilgrim <llvm-dev@redking.me.uk> | 2015-08-15 13:27:30 +0000 |
|---|---|---|
| committer | Simon Pilgrim <llvm-dev@redking.me.uk> | 2015-08-15 13:27:30 +0000 |
| commit | 0750c84623bc91f2742451b82e8595ab1985081b (patch) | |
| tree | 473ecbdc4a2e9dca96f032afe7d1543e7ef4105d /llvm/test/ExecutionEngine/Interpreter | |
| parent | 234a48270e5f8824e65ad83b33d91a918287463d (diff) | |
| download | bcm5719-llvm-0750c84623bc91f2742451b82e8595ab1985081b.tar.gz bcm5719-llvm-0750c84623bc91f2742451b82e8595ab1985081b.zip | |
[DAGCombiner] Attempt to mask vectors before zero extension instead of after.
For cases where we TRUNCATE and then ZERO_EXTEND to a larger size (often from vector legalization), see if we can mask the source data and then ZERO_EXTEND (instead of after a ANY_EXTEND). This can help avoid having to generate a larger mask, and possibly applying it to several sub-vectors.
(zext (truncate x)) -> (zext (and(x, m))
Includes a minor patch to SystemZ to better recognise 8/16-bit zero extension patterns from RISBG bit-extraction code.
This is the first of a number of minor patches to help improve the conversion of byte masks to clear mask shuffles.
Differential Revision: http://reviews.llvm.org/D11764
llvm-svn: 245160
Diffstat (limited to 'llvm/test/ExecutionEngine/Interpreter')
0 files changed, 0 insertions, 0 deletions

