* gcc.target/i386/
20030926-1.c: Add dg-additional-options.
* gcc.target/i386/abi-2.c: Ditto.
* gcc.target/i386/interrupt-sibcall-2.c: Ditto.
* gcc.target/i386/pr22076.c: Ditto.
* gcc.target/i386/pr37216.c: Ditto.
* gcc.target/i386/pr39431.c: Ditto.
* gcc.target/i386/pr40906-1.c: Ditto.
* gcc.target/i386/pr40906-2.c: Ditto.
* gcc.target/i386/pr43766.c: Ditto.
* gcc.target/i386/pr46226.c: Ditto.
* gcc.target/i386/pr46470.c: Ditto.
* gcc.target/i386/pr59929.c: Ditto.
* gcc.target/i386/sse-10.c: Ditto.
* gcc.target/i386/vararg-1.c: Ditto.
* gcc.target/i386/vararg-1.c: Ditto.
* gcc.target/i386/asm-6.c: Compile for fpic target only.
* gcc.target/i386/pr44223.c: Ditto.
* gcc.target/i386/bitfield1.c (dg-options): Remove target selector.
* gcc.target/i386/bitfield2.c (dg-options): Ditto.
* gcc.target/i386/pr67480.c (dg-options): Ditto.
* gcc.target/i386/vect-cond-1.c (dg-options): Ditto.
* gcc.target/i386/bittest.c (scan-assembler-times): Ditto.
* gcc.target/i386/darwin-fpmath.c (dg-do): Simplify target selector.
* gcc.target/i386/mvc9.c: Compile for lto target only.
* gcc.target/i386/pr45234.c: Compile for ia32 target only.
* gcc.target/i386/pr49866.c: Compile for lp64 target only.
* gcc.target/i386/pr57091.c: Ditto.
* gcc.target/i386/pr61599-2.c: Ditto.
From-SVN: r251417
+2017-08-29 Uros Bizjak <ubizjak@gmail.com>
+
+ * gcc.target/i386/20030926-1.c: Add dg-additional-options.
+ * gcc.target/i386/abi-2.c: Ditto.
+ * gcc.target/i386/interrupt-sibcall-2.c: Ditto.
+ * gcc.target/i386/pr22076.c: Ditto.
+ * gcc.target/i386/pr37216.c: Ditto.
+ * gcc.target/i386/pr39431.c: Ditto.
+ * gcc.target/i386/pr40906-1.c: Ditto.
+ * gcc.target/i386/pr40906-2.c: Ditto.
+ * gcc.target/i386/pr43766.c: Ditto.
+ * gcc.target/i386/pr46226.c: Ditto.
+ * gcc.target/i386/pr46470.c: Ditto.
+ * gcc.target/i386/pr59929.c: Ditto.
+ * gcc.target/i386/sse-10.c: Ditto.
+ * gcc.target/i386/vararg-1.c: Ditto.
+ * gcc.target/i386/vararg-1.c: Ditto.
+ * gcc.target/i386/asm-6.c: Compile for fpic target only.
+ * gcc.target/i386/pr44223.c: Ditto.
+ * gcc.target/i386/bitfield1.c (dg-options): Remove target selector.
+ * gcc.target/i386/bitfield2.c (dg-options): Ditto.
+ * gcc.target/i386/pr67480.c (dg-options): Ditto.
+ * gcc.target/i386/vect-cond-1.c (dg-options): Ditto.
+ * gcc.target/i386/bittest.c (scan-assembler-times): Ditto.
+ * gcc.target/i386/darwin-fpmath.c (dg-do): Simplify target selector.
+ * gcc.target/i386/mvc9.c: Compile for lto target only.
+ * gcc.target/i386/pr45234.c: Compile for ia32 target only.
+ * gcc.target/i386/pr49866.c: Compile for lp64 target only.
+ * gcc.target/i386/pr57091.c: Ditto.
+ * gcc.target/i386/pr61599-2.c: Ditto.
+
2017-08-29 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
PR tree-optimization/81503
2017-08-29 Martin Liska <mliska@suse.cz>
- * gcc.dg/tree-prof/update-loopch.c: Scan patterns in
- switchlower.
+ * gcc.dg/tree-prof/update-loopch.c: Scan patterns in switchlower.
* gcc.dg/tree-ssa/vrp104.c: Likewise.
2017-08-29 Richard Biener <rguenther@suse.de>
- Dominik Infuehr <dominik.infuehr@theobroma-systems.com>
+ Dominik Infuehr <dominik.infuehr@theobroma-systems.com>
* gcc.dg/vect/costmodel/x86_64/costmodel-vect-slp.c: New testcase.
2017-08-24 Michael Meissner <meissner@linux.vnet.ibm.com>
- * gcc.target/powerpc/dform-1.c: Delete -mpower9-dform*
- options.
+ * gcc.target/powerpc/dform-1.c: Delete -mpower9-dform* options.
* gcc.target/powerpc/dform-2.c: Likewise.
* gcc.target/powerpc/dform-3.c: Likewise.
* gcc.target/powerpc/pr71656-1.c: Likewise.
2017-08-24 Steven Munroe <munroesj@gcc.gnu.org>
- * gcc.target/powerpc/mmx-packuswb-1.c [NO_WARN_X86_INTRINSICS]:
- Define. Suppress warning during tests.
+ * gcc.target/powerpc/mmx-packuswb-1.c [NO_WARN_X86_INTRINSICS]: Define.
+ Suppress warning during tests.
2017-08-24 Uros Bizjak <ubizjak@gmail.com>
/* PR optimization/11741 */
/* { dg-do compile } */
/* { dg-options "-O2 -minline-all-stringops" } */
-/* { dg-options "-O2 -minline-all-stringops -march=pentium4" { target ia32 } } */
+/* { dg-additional-options "-march=pentium4" { target ia32 } } */
extern void *memcpy (void *, const void *, __SIZE_TYPE__);
extern __SIZE_TYPE__ strlen (const char *);
/* Make certain that we pass __m256i in the correct register for AVX. */
/* { dg-do compile } */
/* { dg-options "-O1 -mavx" } */
-/* { dg-options "-mabi=sysv -O1 -mavx" { target x86_64-*-mingw* } } */
+/* { dg-additional-options "-mabi=sysv" { target x86_64-*-mingw* } } */
typedef long long __m256i __attribute__ ((__vector_size__ (32)));
__m256i foo (void) { return (__m256i){ 1, 2, 3, 4 }; }
/* PR rtl-optimization/44174 */
/* Testcase by Jakub Jelinek <jakub@gcc.gnu.org> */
-/* { dg-do compile } */
-/* { dg-options "-O2 -fpic" { target fpic } } */
+/* { dg-do compile { target fpic } } */
+/* { dg-options "-O2 -fpic" } */
int f0 (int, int, int, int, int);
int f1 (void);
// Test for bitfield alignment in structs on IA-32
// { dg-do run }
// { dg-require-effective-target ia32 }
-// { dg-options "-O2" }
-// { dg-options "-mno-align-double -mno-ms-bitfields" { target i?86-*-* x86_64-*-* } }
+// { dg-options "-O2 -mno-align-double -mno-ms-bitfields" }
extern void abort (void);
extern void exit (int);
// Test for bitfield alignment in structs on IA-32
// { dg-do run }
// { dg-require-effective-target ia32 }
-// { dg-options "-O2" }
-// { dg-options "-mno-align-double -mno-ms-bitfields" { target i?86-*-* x86_64-*-* } }
+// { dg-options "-O2 -mno-align-double -mno-ms-bitfields" }
extern void abort (void);
extern void exit (int);
memory and mask off bits are unnecessary. In theory we can just count
the move-with-extension, and and testb instructions. There should be
only one. */
-/* { dg-final { scan-assembler-times "movzbl|and|testb" 1 { target { i?86-*-* x86_64-*-*} } } } */
+/* { dg-final { scan-assembler-times "movzbl|and|testb" 1 } } */
-/* { dg-do compile { target i?86-*-darwin* x86_64-*-darwin* } } */
+/* { dg-do compile { target *-*-darwin* } } */
/* { dg-final { scan-assembler "addsd" } } */
/* Do not add -msse or -msse2 or -mfpmath=sse to the options. GCC is
supposed to use SSE math on Darwin by default, and libm won't work
/* { dg-do compile } */
-/* { dg-options "-O3 -mgeneral-regs-only -mno-cld -mpreferred-stack-boundary=3" { target { ! { ia32 } } } } */
-/* { dg-options "-O3 -mgeneral-regs-only -mno-cld -mpreferred-stack-boundary=2" { target { ia32 } } } */
+/* { dg-options "-O3 -mgeneral-regs-only -mno-cld" } */
+/* { dg-additional-options "-mpreferred-stack-boundary=3" { target { ! ia32 } } } */
+/* { dg-additional-options "-mpreferred-stack-boundary=2" { target { ia32 } } } */
extern void foo (void *) __attribute__ ((interrupt));
extern void bar (void) __attribute__ ((no_caller_saved_registers));
-/* { dg-do run } */
+/* { dg-do run { target lto } } */
/* { dg-require-ifunc "" } */
-/* { dg-options "-flto -O2" { target lto } } */
+/* { dg-options "-O2 -flto" } */
__attribute__((target_clones("avx","arch=slm","arch=core-avx2","default")))
int
/* { dg-do compile } */
/* { dg-options "-O2 -fomit-frame-pointer -flax-vector-conversions -mmmx" } */
-/* { dg-options "-O2 -fomit-frame-pointer -flax-vector-conversions -mmmx -mno-vect8-ret-in-mem" { target *-*-vxworks* } } */
+/* { dg-additional-options "-mno-vect8-ret-in-mem" { target *-*-vxworks* } } */
#include <mmintrin.h>
/* { dg-do run } */
/* { dg-options "-O3 -msse2" } */
-/* { dg-options "-O3 -msse2 -mpe-aligned-commons" { target pe_aligned_commons } } */
+/* { dg-additional-options "-mpe-aligned-commons" { target pe_aligned_commons } } */
/* { dg-require-effective-target sse2 } */
#include "sse2-check.h"
/* PR target/39431 */
/* { dg-do compile } */
/* { dg-options "-O2" } */
-/* { dg-options "-O2 -march=i686 -fpic" { target { ia32 && fpic } } } */
+/* { dg-additional-options "-march=i686 -fpic" { target { ia32 && fpic } } } */
extern void bar (char *, int);
/* { dg-do run } */
/* { dg-require-effective-target ia32 } */
-/* { dg-options "-O2 -fomit-frame-pointer -fno-asynchronous-unwind-tables -mpush-args -mno-accumulate-outgoing-args" } */
-/* { dg-options "-O2 -fomit-frame-pointer -fno-asynchronous-unwind-tables -mpush-args" { target *-*-mingw* *-*-cygwin* } } */
+/* { dg-options "-O2 -fomit-frame-pointer -fno-asynchronous-unwind-tables -mpush-args" } */
+/* { dg-additional-options "-mno-accumulate-outgoing-args" { target { ! { *-*-mingw* *-*-cygwin* } } } } */
void abort (void);
/* { dg-do run } */
/* { dg-require-effective-target ia32 } */
-/* { dg-options "-O2 -Wno-psabi -fomit-frame-pointer -fno-asynchronous-unwind-tables -mpush-args -mno-accumulate-outgoing-args -m128bit-long-double" } */
-/* { dg-options "-O2 -Wno-psabi -fomit-frame-pointer -fno-asynchronous-unwind-tables -mpush-args -m128bit-long-double" { target *-*-mingw* *-*-cygwin* } } */
+/* { dg-options "-O2 -Wno-psabi -fomit-frame-pointer -fno-asynchronous-unwind-tables -mpush-args -m128bit-long-double" } */
+/* { dg-additional-options "-mno-accumulate-outgoing-args" { target { ! { *-*-mingw* *-*-cygwin* } } } } */
void abort (void);
/* { dg-do compile } */
/* { dg-options "-O2" } */
-/* { dg-options "-O2 -msse -mregparm=3" { target ia32 } } */
+/* { dg-additional-options "-msse -mregparm=3" { target ia32 } } */
void p (int *a, int i)
{
/* PR debug/44223 */
-/* { dg-do compile } */
-/* { dg-options "-O3 -fsched-pressure -fschedule-insns -fpic -march=core2 -g" { target fpic } } */
+/* { dg-do compile { target fpic } } */
+/* { dg-options "-O3 -fsched-pressure -fschedule-insns -fpic -march=core2 -g" } */
struct S { unsigned int s1; int s2; };
struct T { int t; };
/* PR middle-end/45234 */
-/* { dg-do compile } */
-/* { dg-options "-march=i586" { target ia32 } } */
+/* { dg-do compile { target ia32 } } */
+/* { dg-options "-march=i586" } */
struct S { union { double b[4]; } a[18]; } s, a[5];
void foo (struct S);
/* { dg-do run } */
-/* { dg-options "-Os -fomit-frame-pointer -mno-accumulate-outgoing-args -fno-asynchronous-unwind-tables" } */
-/* { dg-options "-Os -fomit-frame-pointer -fno-asynchronous-unwind-tables" { target *-*-mingw* *-*-cygwin* } } */
+/* { dg-options "-Os -fomit-frame-pointer -fno-asynchronous-unwind-tables" } */
+/* { dg-additional-options "-mno-accumulate-outgoing-args" { target { ! { *-*-mingw* *-*-cygwin* } } } } */
extern void abort(void);
/* These options are selected to ensure 1 word needs to be allocated
on the stack to maintain alignment for the call. This should be
transformed to push+pop. We also want to force unwind info updates. */
-/* { dg-options "-Os -fomit-frame-pointer -fasynchronous-unwind-tables -mno-red-zone" } */
-/* { dg-options "-Os -fomit-frame-pointer -mpreferred-stack-boundary=3 -fasynchronous-unwind-tables" { target ia32 } } */
+/* { dg-options "-Os -fomit-frame-pointer -fasynchronous-unwind-tables" } */
+/* { dg-additional-options "-mno-red-zone" { target { ! ia32 } } } */
+/* { dg-additional-options "-mpreferred-stack-boundary=3" { target ia32 } } */
/* ms_abi has reserved stack-region. */
/* { dg-skip-if "" { x86_64-*-mingw* } } */
void f();
/* PR target/49866 */
-/* { dg-do assemble } */
-/* { dg-options "-O2 -mcmodel=large" { target lp64 } } */
+/* { dg-do assemble { target lp64 } } */
+/* { dg-options "-O2 -mcmodel=large" } */
void fn (void *, int, int);
int fn2 (void);
-/* { dg-do compile } */
-/* { dg-options "-O -mcmodel=large" { target lp64 } } */
+/* { dg-do compile { target lp64 } } */
+/* { dg-options "-O -mcmodel=large" } */
void (*bar)();
void foo (void)
/* { dg-do run } */
/* { dg-options "-O0 -mno-accumulate-outgoing-args" } */
-/* { dg-options "-O0 -mno-accumulate-outgoing-args -mx32 -maddress-mode=short" { target x32 } } */
+/* { dg-additional-options "-mx32 -maddress-mode=short" { target x32 } } */
void
__attribute__ ((noinline))
/* PR target/61599 */
/* { dg-do compile { target lp64 } } */
-/* { dg-options "-mcmodel=medium -fdata-sections" { target lp64 } } */
+/* { dg-options "-mcmodel=medium -fdata-sections" } */
/* With -mcmodel=medium, all the arrays will be treated as large data. */
/* { dg-do compile } */
-/* { dg-options "-mavx512bw -O2 -ftree-vectorize" { target i?86-*-* x86_64-*-* } } */
+/* { dg-options "-mavx512bw -O2 -ftree-vectorize" } */
void
foo(const char *in, char *out, unsigned n)
/* PR 17930 */
/* { dg-do run } */
-/* { dg-options "-O1 -msse2 -mfpmath=sse -mno-accumulate-outgoing-args -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer" } */
-/* { dg-options "-O1 -msse2 -mfpmath=sse -fno-omit-frame-pointer" { target *-*-mingw* *-*-cygwin* } } */
+/* { dg-options "-O1 -msse2 -mfpmath=sse -fno-omit-frame-pointer" } */
+/* { dg-additional-options "-mno-accumulate-outgoing-args -mno-omit-leaf-frame-pointer" { target { ! { *-*-mingw* *-*-cygwin* } } } } */
/* { dg-require-effective-target sse2 } */
#include "sse2-check.h"
/* PR middle-end/36858 */
/* { dg-do run } */
-/* { dg-options "-w" { target { ! ia32 } } } */
-/* { dg-options "-w" { target { llp64 } } } */
-/* { dg-options "-w -msse2 -mpreferred-stack-boundary=2" { target { ia32 } } } */
+/* { dg-options "-w -msse2" } */
+/* { dg-additional-options "-mpreferred-stack-boundary=2" { target { ia32 } } } */
/* { dg-require-effective-target sse2 } */
#include "sse2-check.h"
/* PR middle-end/36859 */
/* { dg-do run } */
-/* { dg-options "-w" { target { ! ia32 } } } */
-/* { dg-options "-w" { target { llp64 } } } */
-/* { dg-options "-w -msse2 -mpreferred-stack-boundary=2" { target { ia32 } } } */
+/* { dg-options "-w -msse2" } */
+/* { dg-additional-options "-mpreferred-stack-boundary=2" { target { ia32 } } } */
/* { dg-require-effective-target sse2 } */
#include "sse2-check.h"
/* { dg-do compile } */
-/* { dg-options "-O2 -ftree-vectorize -mavx2" { target avx2 } } */
+/* { dg-options "-O2 -ftree-vectorize -mavx2" } */
int a[1024];
-/* { dg-do compile { target ia32 } } */
-/* { dg-options "-mmmx" { target *-*-vxworks* } } */
+/* { dg-do compile { target { ia32 && { ! *-*-vxworks* } } } } */
/* { dg-options "-mmmx -mvect8-ret-in-mem" } */
#include <mmintrin.h>