+2014-02-06 Yury Gribov <y.gribov@samsung.com>
+ Kugan Vivekanandarajah <kuganv@linaro.org>
+
+ * config/arm/arm.c (arm_vector_alignment_reachable): Check
+ unaligned_access.
+ * config/arm/arm.c (arm_builtin_support_vector_misalignment): Likewise.
+
2014-02-06 Richard Biener <rguenther@suse.de>
* tree-cfg.c (gimple_duplicate_sese_region): Fix ordering of
{
/* Vectors which aren't in packed structures will not be less aligned than
the natural alignment of their element type, so this is safe. */
- if (TARGET_NEON && !BYTES_BIG_ENDIAN)
+ if (TARGET_NEON && !BYTES_BIG_ENDIAN && unaligned_access)
return !is_packed;
return default_builtin_vector_alignment_reachable (type, is_packed);
const_tree type, int misalignment,
bool is_packed)
{
- if (TARGET_NEON && !BYTES_BIG_ENDIAN)
+ if (TARGET_NEON && !BYTES_BIG_ENDIAN && unaligned_access)
{
HOST_WIDE_INT align = TYPE_ALIGN_UNIT (type);
+2014-02-06 Yury Gribov <y.gribov@samsung.com>
+ Kugan Vivekanandarajah <kuganv@linaro.org>
+
+ * gcc.target/arm/vect-noalign.c: New file.
+
2014-02-05 Jan Hubicka <hubicka@ucw.cz>
Jakub Jelinek <jakub@redhat.com>
--- /dev/null
+/* { dg-do run } */
+/* { dg-require-effective-target arm_neon_hw } */
+/* { dg-options "-mfpu=neon -ffast-math -ftree-vectorize -fno-common -O2 -mno-unaligned-access" } */
+
+
+/* Test for-mno-unaligned-access and -ftree-vectorize and results bus error. */
+#define N 128
+
+char ia[N];
+char ib[N+1];
+
+int main() {
+ int i;
+ for(i = 0; i < N; ++i) {
+ ia[i] = ib[i + 1];
+ }
+
+ return 0;
+}
+