]> git.ipfire.org Git - thirdparty/gcc.git/commit - gcc/config/arc/arc.c
[ARC] Add SIMD extensions for ARC HS
authorClaudiu Zissulescu <claziss@synopsys.com>
Thu, 28 Apr 2016 09:53:13 +0000 (11:53 +0200)
committerClaudiu Zissulescu <claziss@gcc.gnu.org>
Thu, 28 Apr 2016 09:53:13 +0000 (11:53 +0200)
commit00c072ae51c132e346eab0c6f8c176542efbcd5a
tree146450a4a2fcb549676ac1fec42051bbc2176e40
parent174f66220d4d39ed503ded1ec3e7ba514cc4283e
[ARC] Add SIMD extensions for ARC HS

gcc/
2016-04-28  Claudiu Zissulescu  <claziss@synopsys.com>

* config/arc/arc.c (arc_vector_mode_supported_p): Add support for
the new ARC HS SIMD instructions.
(arc_preferred_simd_mode): New function.
(arc_autovectorize_vector_sizes): Likewise.
(TARGET_VECTORIZE_PREFERRED_SIMD_MODE)
(TARGET_VECTORIZE_AUTOVECTORIZE_VECTOR_SIZES): Define.
(arc_init_reg_tables): Accept new ARC HS SIMD modes.
(arc_init_builtins): Add new SIMD builtin types.
(arc_split_move): Handle 64 bit vector moves.
* config/arc/arc.h (TARGET_PLUS_DMPY, TARGET_PLUS_MACD)
(TARGET_PLUS_QMACW): Define.
* config/arc/builtins.def (QMACH, QMACHU, QMPYH, QMPYHU, DMACH)
(DMACHU, DMPYH, DMPYHU, DMACWH, DMACWHU, VMAC2H, VMAC2HU, VMPY2H)
(VMPY2HU, VADDSUB2H, VSUBADD2H, VADDSUB, VSUBADD, VADDSUB4H)
(VSUBADD4H): New builtins.
* config/arc/simdext.md: Add new ARC HS SIMD instructions.
* testsuite/gcc.target/arc/builtin_simdarc.c: New file.

From-SVN: r235551
gcc/ChangeLog
gcc/config/arc/arc.c
gcc/config/arc/arc.h
gcc/config/arc/builtins.def
gcc/config/arc/simdext.md
gcc/testsuite/gcc.target/arc/builtin_simdarc.c [new file with mode: 0644]