search for: matchloadcombine

Displaying 2 results from an estimated 2 matches for "matchloadcombine".

2018 Dec 03
2
MatchLoadCombine(): handling for vectorized loop.
Hi, I have noticed some loops that build a wider element by loading small elements, zero-extending them, shifting them (with different amounts) to then 'or' them all together. They are either equivalent of a wider load, or to that of a byte-swapped one. DAGCombiner::MatchLoadCombine() will combine this to a single wide load, but only in the scalar cases of i16, i32 and i64. The result is that these loops (I have seen a dozen or so on SPEC) get vectorized with a lot of ugly code. I have begun to experiment with handling the vectorized loop also, and would like to know if p...
2018 Dec 04
2
MatchLoadCombine(): handling for vectorized loop.
...loops that build a wider element by loading small >> elements, zero-extending them, shifting them (with different amounts) >> to then 'or' them all together. They are either equivalent of a wider >> load, or to that of a byte-swapped one. >> >> DAGCombiner::MatchLoadCombine() will combine this to a single wide >> load, but only in the scalar cases of i16, i32 and i64. The result is >> that these loops (I have seen a dozen or so on SPEC) get vectorized >> with a lot of ugly code. >> >> I have begun to experiment with handling the vector...