aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/arc/arc.h
diff options
context:
space:
mode:
authorClaudiu Zissulescu <claziss@synopsys.com>2016-01-25 12:15:58 +0100
committerClaudiu Zissulescu <claziss@gcc.gnu.org>2016-01-25 12:15:58 +0100
commitd34a0fdc03bf55b287d884a9138e3965387af4b1 (patch)
treea518e7e353c9e58626c676f4a558352d9ee4df96 /gcc/config/arc/arc.h
parent02ef53f28854628ee15784bf860e7db24427a18f (diff)
downloadgcc-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.h4
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) \