commit | b47b978486572492140b63b0c8c5daa58dc28d41 | [log] [tgz] |
---|---|---|
author | Artem Serov <artem.serov@linaro.org> | Wed Dec 04 21:02:09 2019 +0000 |
committer | Treehugger Robot <treehugger-gerrit@google.com> | Tue Apr 14 10:26:59 2020 +0000 |
tree | 546c065d9396ef25bbd08b02d5ef4f6d269babfc | |
parent | e778fa6ead79e9cb26810d484c5a594e9612de9b [diff] |
ART: Fix vectorizer HalvingAdd idiom. IsAddConst2 function tried to extract addition chains for the halving add idiom: (A + B) >> 1. The problem was that regular shift right (x >> 1) was accepted for the idiom (with {A: x, B: 0}) and not processed as a shift - which broke the assumptions on shifts right and operand signedness. This CL fixes that. Test: 646-checker-simd-hadd. Test: test-art-target. Change-Id: Icf71e1a8e8c54e68114d7d5d6c4aa8a47ea5234d