+2019-09-18 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/91446
+ * config/i386/x86-tune-costs.h (skylake_cost): Increase SImode
+ pseudo register store cost from 3 to 6 to make it the same as
+ QImode and HImode.
+
2019-09-18 Wilco Dijkstra <wdijkstr@arm.com>
* config/arm/arm.md (maddsidi4): Remove expander.
{4, 4, 4}, /* cost of loading integer registers
in QImode, HImode and SImode.
Relative to reg-reg move (2). */
- {6, 6, 3}, /* cost of storing integer registers */
+ {6, 6, 6}, /* cost of storing integer registers */
{6, 6, 6, 10, 20}, /* cost of loading SSE register
in 32bit, 64bit, 128bit, 256bit and 512bit */
{8, 8, 8, 12, 24}, /* cost of storing SSE register
+2019-09-18 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/91446
+ * gcc.target/i386/pr91446.c: New test.
+
2019-09-18 Eric Botcazou <ebotcazou@adacore.com>
* gnat.dg/warn31.adb, gnat.dg/warn31.ads: New testcase.
--- /dev/null
+/* { dg-do compile { target { ! ia32 } } } */
+/* { dg-options "-O2 -march=skylake -ftree-slp-vectorize -mtune-ctrl=^sse_typeless_stores" } */
+
+typedef struct
+{
+ unsigned long long width, height;
+ long long x, y;
+} info;
+
+extern void bar (info *);
+
+void
+foo (unsigned long long width, unsigned long long height,
+ long long x, long long y)
+{
+ info t;
+ t.width = width;
+ t.height = height;
+ t.x = x;
+ t.y = y;
+ bar (&t);
+}
+
+/* { dg-final { scan-assembler-times "vmovdqa\[^\n\r\]*xmm\[0-9\]" 2 } } */