+2016-01-18 Joseph Myers <joseph@codesourcery.com>
+
+ * config/mips/mips.h (ISA_HAS_PAIRED_SINGLE): Require
+ !TARGET_OCTEON.
+
2016-01-18 Richard Biener <rguenther@suse.de>
PR middle-end/69308
#define ISA_HAS_LXC1_SXC1 ISA_HAS_FP4
/* ISA has paired-single instructions. */
-#define ISA_HAS_PAIRED_SINGLE (ISA_MIPS64 \
- || (mips_isa_rev >= 2 \
- && mips_isa_rev <= 5))
+#define ISA_HAS_PAIRED_SINGLE ((ISA_MIPS64 \
+ || (mips_isa_rev >= 2 \
+ && mips_isa_rev <= 5)) \
+ && !TARGET_OCTEON)
/* ISA has conditional trap instructions. */
#define ISA_HAS_COND_TRAP (!ISA_MIPS1 \
+2016-01-18 Joseph Myers <joseph@codesourcery.com>
+
+ * gcc.target/mips/mips-3d-1.c: Use forbid_cpu=octeon.* in
+ dg-options.
+ * gcc.target/mips/mips-3d-2.c: Likewise.
+ * gcc.target/mips/mips-3d-3.c: Likewise.
+ * gcc.target/mips/mips-3d-4.c: Likewise.
+ * gcc.target/mips/mips-3d-5.c: Likewise.
+ * gcc.target/mips/mips-3d-6.c: Likewise.
+ * gcc.target/mips/mips-3d-7.c: Likewise.
+ * gcc.target/mips/mips-3d-8.c: Likewise.
+ * gcc.target/mips/mips-3d-9.c: Likewise.
+ * gcc.target/mips/mips-ps-1.c: Likewise.
+ * gcc.target/mips/mips-ps-2.c: Likewise.
+ * gcc.target/mips/mips-ps-3.c: Likewise.
+ * gcc.target/mips/mips-ps-4.c: Likewise.
+ * gcc.target/mips/mips-ps-5.c: Likewise.
+ * gcc.target/mips/mips-ps-6.c: Likewise.
+ * gcc.target/mips/mips-ps-7.c: Likewise.
+ * gcc.target/mips/mips-ps-type.c: Likewise.
+ * gcc.target/mips/mips-ps-type-2.c: Likewise.
+ * gcc.target/mips/mips16-attributes-6.c: Likewise.
+
2016-01-18 Tom de Vries <tom@codesourcery.com>
* c-c++-common/goacc/kernels-counter-vars-function-scope.c: New test.
/* { dg-do run } */
-/* { dg-options "-mips3d" } */
+/* { dg-options "-mips3d forbid_cpu=octeon.*" } */
/* Test MIPS-3D builtin functions */
#include <stdlib.h>
/* { dg-do run } */
-/* { dg-options "-mips3d" } */
+/* { dg-options "-mips3d forbid_cpu=octeon.*" } */
/* Test MIPS-3D branch-if-any-two builtin functions */
#include <stdlib.h>
/* { dg-do run } */
-/* { dg-options "-mips3d" } */
+/* { dg-options "-mips3d forbid_cpu=octeon.*" } */
/* Test MIPS-3D absolute compare builtin functions */
#include <stdlib.h>
/* { dg-do run } */
-/* { dg-options "-mips3d" } */
+/* { dg-options "-mips3d forbid_cpu=octeon.*" } */
/* Test MIPS-3D branch-if-any-four builtin functions */
#include <stdlib.h>
/* { dg-do run } */
-/* { dg-options "-mips3d" } */
+/* { dg-options "-mips3d forbid_cpu=octeon.*" } */
/* Test MIPS-3D absolute-compare & branch-if-any-four builtin functions */
#include <stdlib.h>
/* { dg-do run } */
-/* { dg-options "-mips3d" } */
+/* { dg-options "-mips3d forbid_cpu=octeon.*" } */
/* Test MIPS-3D absolute compare (floats) builtin functions */
#include <stdlib.h>
/* { dg-do run } */
-/* { dg-options "-mips3d" } */
+/* { dg-options "-mips3d forbid_cpu=octeon.*" } */
/* Test MIPS-3D absolute compare (doubles) builtin functions */
#include <stdlib.h>
/* { dg-do run } */
-/* { dg-options "-mips3d" } */
+/* { dg-options "-mips3d forbid_cpu=octeon.*" } */
/* Test MIPS-3D absolute compare and conditional move builtin functions */
#include <stdlib.h>
/* { dg-do run } */
-/* { dg-options "-mips3d" } */
+/* { dg-options "-mips3d forbid_cpu=octeon.*" } */
/* Matrix Multiplications */
#include <stdlib.h>
/* { dg-do run } */
-/* { dg-options "-mpaired-single" } */
+/* { dg-options "-mpaired-single forbid_cpu=octeon.*" } */
/* Test v2sf calculations */
#include <stdlib.h>
/* { dg-do run } */
-/* { dg-options "-mpaired-single" } */
+/* { dg-options "-mpaired-single forbid_cpu=octeon.*" } */
/* Test MIPS paired-single builtin functions */
#include <stdlib.h>
/* { dg-do run } */
-/* { dg-options "-mpaired-single" } */
+/* { dg-options "-mpaired-single forbid_cpu=octeon.*" } */
/* Test MIPS paired-single conditional move */
#include <stdlib.h>
/* { dg-do run } */
-/* { dg-options "-mpaired-single" } */
+/* { dg-options "-mpaired-single forbid_cpu=octeon.*" } */
/* Test MIPS paired-single comparisons */
#include <stdlib.h>
/* { dg-do compile } */
-/* { dg-options "-mpaired-single -mgp64 -ftree-vectorize" } */
+/* { dg-options "-mpaired-single -mgp64 -ftree-vectorize forbid_cpu=octeon.*" } */
/* { dg-skip-if "requires vectorization" { *-*-* } { "-O0" "-Os" } { "" } } */
extern float a[] __attribute__ ((aligned (8)));
/* mips-ps-2.c with an extra -ffinite-math-only option. This option
changes the way that abs.ps is handled. */
/* { dg-do run } */
-/* { dg-options "-mpaired-single -ffinite-math-only" } */
+/* { dg-options "-mpaired-single -ffinite-math-only forbid_cpu=octeon.*" } */
/* Test MIPS paired-single builtin functions */
#include <stdlib.h>
/* mips-ps-5.c with -mgp32 instead of -mgp64. */
/* { dg-do compile } */
-/* { dg-options "-mgp32 -mpaired-single -ftree-vectorize" } */
+/* { dg-options "-mgp32 -mpaired-single -ftree-vectorize forbid_cpu=octeon.*" } */
/* { dg-skip-if "requires vectorization" { *-*-* } { "-O0" "-Os" } { "" } } */
extern float a[] __attribute__ ((aligned (8)));
/* Test v2sf calculations. The nmadd and nmsub patterns need
-ffinite-math-only. */
/* { dg-do compile } */
-/* { dg-options "(HAS_MADDPS) -mgp32 -mpaired-single -ffinite-math-only" } */
+/* { dg-options "(HAS_MADDPS) -mgp32 -mpaired-single -ffinite-math-only forbid_cpu=octeon.*" } */
/* { dg-skip-if "nmadd and nmsub need combine" { *-*-* } { "-O0" } { "" } } */
/* { dg-final { scan-assembler "\tcvt.ps.s\t" } } */
/* { dg-final { scan-assembler "\tmov.ps\t" } } */
/* Test v2sf calculations. The nmadd and nmsub patterns need
-ffinite-math-only. */
/* { dg-do compile } */
-/* { dg-options "-mpaired-single -mgp64 -ffinite-math-only" } */
+/* { dg-options "-mpaired-single -mgp64 -ffinite-math-only forbid_cpu=octeon.*" } */
/* { dg-skip-if "nmadd and nmsub need combine" { *-*-* } { "-O0" } { "" } } */
/* { dg-final { scan-assembler "\tcvt.ps.s\t" } } */
/* { dg-final { scan-assembler "\tmov.ps\t" } } */
/* { dg-do compile } */
-/* { dg-options "-mips16 addressing=absolute -mips3d" } */
+/* { dg-options "-mips16 addressing=absolute -mips3d forbid_cpu=octeon.*" } */
static inline NOMIPS16 float
i1 (float f)