diff options
author | Claudiu Zissulescu <claziss@synopsys.com> | 2016-01-25 12:15:58 +0100 |
---|---|---|
committer | Claudiu Zissulescu <claziss@gcc.gnu.org> | 2016-01-25 12:15:58 +0100 |
commit | d34a0fdc03bf55b287d884a9138e3965387af4b1 (patch) | |
tree | a518e7e353c9e58626c676f4a558352d9ee4df96 /gcc/config/arc/arc.h | |
parent | 02ef53f28854628ee15784bf860e7db24427a18f (diff) | |
download | gcc-d34a0fdc03bf55b287d884a9138e3965387af4b1.zip gcc-d34a0fdc03bf55b287d884a9138e3965387af4b1.tar.gz gcc-d34a0fdc03bf55b287d884a9138e3965387af4b1.tar.bz2 |
[ARC] Add basic support for double load and store instructions
gcc/
2016-01-25 Claudiu Zissulescu <claziss@synopsys.com>
* config/arc/arc.c (TARGET_DWARF_REGISTER_SPAN): Define.
(arc_init): Check validity mll64 option.
(arc_save_restore): Use double load/store instruction.
(arc_expand_movmem): Likewise.
(arc_split_move): Don't split if we have double load/store
instructions. Returns a boolean.
(arc_process_double_reg_moves): Change function to return boolean
instead of a sequence of instructions.
(arc_dwarf_register_span): New function.
* config/arc/arc-protos.h (arc_split_move): Change prototype.
* config/arc/arc.h (TARGET_CPU_CPP_BUILTINS): Define __ARC_LL64__.
* config/arc/arc.md (*movdi_insn): Emit ldd/std instructions.
(*movdf_insn): Likewise.
* config/arc/arc.opt (mll64): New option.
* config/arc/predicates.md (even_register_operand): New predicate.
* doc/invoke.texi (ARC Options): Add mll64 documentation.
From-SVN: r232788
Diffstat (limited to 'gcc/config/arc/arc.h')
-rw-r--r-- | gcc/config/arc/arc.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/config/arc/arc.h b/gcc/config/arc/arc.h index 70a2b1d..27665b0 100644 --- a/gcc/config/arc/arc.h +++ b/gcc/config/arc/arc.h @@ -97,6 +97,10 @@ along with GCC; see the file COPYING3. If not see builtin_define ("__ARC_NORM__");\ builtin_define ("__Xnorm"); \ } \ + if (TARGET_LL64) \ + { \ + builtin_define ("__ARC_LL64__");\ + } \ if (TARGET_MUL64_SET) \ builtin_define ("__ARC_MUL64__");\ if (TARGET_MULMAC_32BY16_SET) \ |