Displaying 2 results from an estimated 2 matches for "matchloadcombin".
Did you mean:
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...
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 vecto...