aboutsummaryrefslogtreecommitdiff
path: root/gcc/targhooks.c
diff options
context:
space:
mode:
authorRevital Eres <eres@il.ibm.com>2009-09-15 10:39:13 +0000
committerRevital Eres <revitale@gcc.gnu.org>2009-09-15 10:39:13 +0000
commit0601d0cf823bca6293bea3b017e668be2361ed04 (patch)
tree6da5176cd614d338ccf9a4e80eb154a56282eeb5 /gcc/targhooks.c
parente5e447966658e7be35927f8ba65b20933b052b26 (diff)
downloadgcc-0601d0cf823bca6293bea3b017e668be2361ed04.zip
gcc-0601d0cf823bca6293bea3b017e668be2361ed04.tar.gz
gcc-0601d0cf823bca6293bea3b017e668be2361ed04.tar.bz2
New function for checking misalignment
From-SVN: r151715
Diffstat (limited to 'gcc/targhooks.c')
-rw-r--r--gcc/targhooks.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/gcc/targhooks.c b/gcc/targhooks.c
index 7535bc1..8480c0b 100644
--- a/gcc/targhooks.c
+++ b/gcc/targhooks.c
@@ -771,6 +771,23 @@ default_builtin_vector_alignment_reachable (const_tree type, bool is_packed)
return true;
}
+/* By default, assume that a target supports any factor of misalignment
+ memory access if it supports movmisalign patten.
+ is_packed is true if the memory access is defined in a packed struct. */
+bool
+default_builtin_support_vector_misalignment (enum machine_mode mode,
+ const_tree type
+ ATTRIBUTE_UNUSED,
+ int misalignment
+ ATTRIBUTE_UNUSED,
+ bool is_packed
+ ATTRIBUTE_UNUSED)
+{
+ if (optab_handler (movmisalign_optab, mode)->insn_code != CODE_FOR_nothing)
+ return true;
+ return false;
+}
+
bool
default_hard_regno_scratch_ok (unsigned int regno ATTRIBUTE_UNUSED)
{