diff gcc/testsuite/gcc.dg/pr44136.c @ 111:04ced10e8804

gcc 7
author kono
date Fri, 27 Oct 2017 22:46:09 +0900
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gcc/testsuite/gcc.dg/pr44136.c	Fri Oct 27 22:46:09 2017 +0900
@@ -0,0 +1,27 @@
+/* PR debug/44136 */
+/* { dg-do compile } */
+/* { dg-options "-w -O2 -g" } */
+/* { dg-options "-w -Wno-psabi -O2 -g -mno-sse" { target { { i?86-*-* x86_64-*-* } && ia32 } } } */
+
+#define vector __attribute((vector_size(16)))
+vector float a;
+
+float
+foo (float b)
+{
+  vector float c = { 0, 0, 0, 0 };
+  vector float d = { 0, 0, 0, 0 };
+  d += c;
+  return ((float *)&c)[2];
+}
+
+float
+bar (vector float a, int b, vector float c)
+{
+  vector float e = c * a;
+  a = (vector float) { 0, 0, 0, 0 };
+  c = (vector float) { 0, 0, 0, 0 };
+  float d = ((float *)&a)[0];
+  float f = ((float *)&c)[0];
+  return d * f;
+}