aboutsummaryrefslogtreecommitdiff
path: root/c++tools
diff options
context:
space:
mode:
authorClaudiu Zissulescu <claziss@synopsys.com>2021-05-10 09:49:35 +0300
committerClaudiu Zissulescu <claziss@synopsys.com>2021-05-10 09:57:54 +0300
commit79a27f32df8eab0add722f75332f78fe20d94da3 (patch)
tree936182eb06c128b5851bbc371e3765926d32d62b /c++tools
parent09ae0f6c3ee0612012a67df4387d55efa19b8cad (diff)
arc: Improve vector support for ARCv2.
Add vector negate, reduc_plus_scal, vec_duplicate, vector min/max/mult/div patterns. Besides vector negate and reduction patterns, all the others are emulated using scalar instructions. The reason is taking advantage of the double load/store instructions as well as enabling the autovectorizer to further analize a loop. gcc/ 2021-05-10 Claudiu Zissulescu <claziss@synopsys.com> * config/arc/arc.md (UNSPEC_ARC_DMPYWH): Define. * config/arc/simdext.md (VCT): Add predicates for iterator elements. (EMUVEC): Define. (voptab): Likewise. (vec_widen_<V_US>mult_hi_v4hi): Change pattern predicate. (<voptab>v2si3): New patterns. (neg): Likewise. (reduc_plus_scal_v4hi): Likewise. (reduc_plus_scal_v2si): Likewise. (vec_duplicatev2si): Likewise. (vec_duplicatev4hi): Likewise. Signed-off-by: Claudiu Zissulescu <claziss@synopsys.com>
Diffstat (limited to 'c++tools')
0 files changed, 0 insertions, 0 deletions