Commit b6289055 by Richard Sandiford Committed by Richard Sandiford

20020620-1.c, [...]: Tighten regexps.

gcc/testsuite/
	* gcc.target/mips/20020620-1.c, gcc.target/mips/atomic-memory-2.c,
	gcc.target/mips/branch-2.c, gcc.target/mips/branch-3.c,
	gcc.target/mips/clear-cache-1.c, gcc.target/mips/const-anchor-1.c,
	gcc.target/mips/const-anchor-2.c, gcc.target/mips/dspr2-MULT.c,
	gcc.target/mips/dspr2-MULTU.c, gcc.target/mips/ext-1.c,
	gcc.target/mips/ext-2.c, gcc.target/mips/ext-3.c,
	gcc.target/mips/ext-4.c, gcc.target/mips/ext_ins.c,
	gcc.target/mips/fpcmp-1.c, gcc.target/mips/fpcmp-2.c,
	gcc.target/mips/mips16e-extends.c, gcc.target/mips/mips32-dsp.c,
	gcc.target/mips/mips32-dsp-type.c, gcc.target/mips/mips32r2-mxhc1.c,
	gcc.target/mips/mips-ps-5.c, gcc.target/mips/mips-ps-7.c,
	gcc.target/mips/mips-ps-type-2.c, gcc.target/mips/mips-ps-type.c,
	gcc.target/mips/movcc-1.c, gcc.target/mips/movcc-2.c,
	gcc.target/mips/movcc-3.c, gcc.target/mips/neg-abs-1.c,
	gcc.target/mips/neg-abs-2.c, gcc.target/mips/nmadd-1.c,
	gcc.target/mips/nmadd-2.c, gcc.target/mips/nmadd-3.c,
	gcc.target/mips/octeon-exts-7.c, gcc.target/mips/octeon-seq-4.c,
	gcc.target/mips/rsqrt-1.c, gcc.target/mips/rsqrt-2.c,
	gcc.target/mips/rsqrt-3.c, gcc.target/mips/sb1-1.c,
	gcc.target/mips/scc-4.c, gcc.target/mips/stack-1.c,
	gcc.target/mips/unaligned-1.c: Tighten regexps.

From-SVN: r190719
parent 0c436cbd
2012-08-27 Richard Sandiford <rdsandiford@googlemail.com>
* gcc.target/mips/20020620-1.c, gcc.target/mips/atomic-memory-2.c,
gcc.target/mips/branch-2.c, gcc.target/mips/branch-3.c,
gcc.target/mips/clear-cache-1.c, gcc.target/mips/const-anchor-1.c,
gcc.target/mips/const-anchor-2.c, gcc.target/mips/dspr2-MULT.c,
gcc.target/mips/dspr2-MULTU.c, gcc.target/mips/ext-1.c,
gcc.target/mips/ext-2.c, gcc.target/mips/ext-3.c,
gcc.target/mips/ext-4.c, gcc.target/mips/ext_ins.c,
gcc.target/mips/fpcmp-1.c, gcc.target/mips/fpcmp-2.c,
gcc.target/mips/mips16e-extends.c, gcc.target/mips/mips32-dsp.c,
gcc.target/mips/mips32-dsp-type.c, gcc.target/mips/mips32r2-mxhc1.c,
gcc.target/mips/mips-ps-5.c, gcc.target/mips/mips-ps-7.c,
gcc.target/mips/mips-ps-type-2.c, gcc.target/mips/mips-ps-type.c,
gcc.target/mips/movcc-1.c, gcc.target/mips/movcc-2.c,
gcc.target/mips/movcc-3.c, gcc.target/mips/neg-abs-1.c,
gcc.target/mips/neg-abs-2.c, gcc.target/mips/nmadd-1.c,
gcc.target/mips/nmadd-2.c, gcc.target/mips/nmadd-3.c,
gcc.target/mips/octeon-exts-7.c, gcc.target/mips/octeon-seq-4.c,
gcc.target/mips/rsqrt-1.c, gcc.target/mips/rsqrt-2.c,
gcc.target/mips/rsqrt-3.c, gcc.target/mips/sb1-1.c,
gcc.target/mips/scc-4.c, gcc.target/mips/stack-1.c,
gcc.target/mips/unaligned-1.c: Tighten regexps.
2012-08-27 Richard Sandiford <rdsandiford@googlemail.com>
* gcc.target/mips/mips.exp: Use gcc-dg-runtest rather than dg-runtest.
(mips_option_groups): Remove optimization. Add various -f options.
(mips-dg-options): Make -funroll-loops imply -funroll-all-loops
......
......@@ -5,4 +5,4 @@ int foo (int *x, int i)
{
return x[i] + i;
}
/* { dg-final { scan-assembler-not "move" } } */
/* { dg-final { scan-assembler-not "\tmove" } } */
/* { dg-do compile } */
/* { dg-options "isa>=2 -mabi=32" } */
/* { dg-skip-if "code quality test" { *-*-* } { "-O0" } { "" } } */
/* { dg-final { scan-assembler "addiu" } } */
/* { dg-final { scan-assembler-not "subu" } } */
/* { dg-final { scan-assembler "\taddiu\t" } } */
/* { dg-final { scan-assembler-not "\tsubu" } } */
NOMIPS16 unsigned long
f(unsigned long *p)
......
/* { dg-options "-mshared -mabi=32" } */
/* { dg-final { scan-assembler-not "(\\\$25|\\\$28|cpload)" } } */
/* { dg-final { scan-assembler-not "\tjr\t\\\$1\n" } } */
/* { dg-final { scan-assembler-not "cprestore" } } */
/* { dg-final { scan-assembler-not "\\.cprestore" } } */
#include "branch-helper.h"
......
/* { dg-options "-mshared -mabi=32" } */
/* { dg-final { scan-assembler "\t\\.cpload\t\\\$25\n" } } */
/* { dg-final { scan-assembler "\tjr\t\\\$1\n" } } */
/* { dg-final { scan-assembler-not "cprestore" } } */
/* { dg-final { scan-assembler-not "\\.cprestore" } } */
#include "branch-helper.h"
......
/* { dg-do compile } */
/* { dg-options "-msynci isa_rev>=2" } */
/* { dg-final { scan-assembler "synci" } } */
/* { dg-final { scan-assembler "jr.hb" } } */
/* { dg-final { scan-assembler "\tsynci\t" } } */
/* { dg-final { scan-assembler "\tjr.hb\t" } } */
/* { dg-final { scan-assembler-not "_flush_cache|mips_sync_icache|_cacheflush" } } */
NOMIPS16 void f()
......
......@@ -2,7 +2,7 @@
(0x1234000) used to build another constant. */
/* { dg-skip-if "code quality test" { *-*-* } { "-O0" } { "" } } */
/* { dg-final { scan-assembler-not "0x12330000|305332224" } } */
/* { dg-final { scan-assembler "addiu\t\\\$5,\\\$\[0-9\]*,-1" } } */
/* { dg-final { scan-assembler "\td?addiu\t\\\$5,\\\$\[0-9\]*,-1" } } */
NOMIPS16 void f ()
{
......
/* Derive a constant (0x30001) from another constant. */
/* { dg-skip-if "code quality test" { *-*-* } { "-O0" } { "" } } */
/* { dg-final { scan-assembler-not "0x300000|196608" } } */
/* { dg-final { scan-assembler "addiu\t\\\$5,\\\$\[0-9\]*,32763" } } */
/* { dg-final { scan-assembler "\td?addiu\t\\\$5,\\\$\[0-9\]*,32763" } } */
NOMIPS16 void f ()
{
......
......@@ -7,8 +7,8 @@
/* See PR target/51729 for the reason behind the XFAILs. */
/* { dg-final { scan-assembler "\tmult\t" } } */
/* { dg-final { scan-assembler "ac1" { xfail *-*-* } } } */
/* { dg-final { scan-assembler "ac2" { xfail *-*-* } } } */
/* { dg-final { scan-assembler "\\\$ac1" { xfail *-*-* } } } */
/* { dg-final { scan-assembler "\\\$ac2" { xfail *-*-* } } } */
typedef long long a64;
......
......@@ -6,8 +6,8 @@
/* See PR target/51729 for the reason behind the XFAILs. */
/* { dg-final { scan-assembler "\tmultu\t" } } */
/* { dg-final { scan-assembler "ac1" { xfail *-*-* } } } */
/* { dg-final { scan-assembler "ac2" { xfail *-*-* } } } */
/* { dg-final { scan-assembler "\\\$ac1" { xfail *-*-* } } } */
/* { dg-final { scan-assembler "\\\$ac2" { xfail *-*-* } } } */
typedef unsigned long long a64;
......
......@@ -2,7 +2,7 @@
/* { dg-options "isa_rev>=2 -mgp64" } */
/* { dg-skip-if "code quality test" { *-*-* } { "-O0" } { "" } } */
/* { dg-final { scan-assembler "\tdext\t" } } */
/* { dg-final { scan-assembler-not "and" } } */
/* { dg-final { scan-assembler-not "\tand" } } */
struct
{
......
......@@ -5,8 +5,8 @@
/* { dg-options "isa_rev>=2 -mgp64" } */
/* { dg-skip-if "code quality test" { *-*-* } { "-O0" } { "" } } */
/* { dg-final { scan-assembler "\tdext\t" } } */
/* { dg-final { scan-assembler-not "and" } } */
/* { dg-final { scan-assembler-not "srl" } } */
/* { dg-final { scan-assembler-not "\tand" } } */
/* { dg-final { scan-assembler-not "\td?srl" } } */
NOMIPS16 void
f (unsigned char x, unsigned char *r)
......
......@@ -3,7 +3,7 @@
/* { dg-options "isa_rev>=2 -mgp64" } */
/* { dg-skip-if "code quality test" { *-*-* } { "-O0" } { "" } } */
/* { dg-final { scan-assembler "\tdext\t" } } */
/* { dg-final { scan-assembler-not "sll" } } */
/* { dg-final { scan-assembler-not "\td?sll" } } */
NOMIPS16 unsigned long long
f (unsigned *i)
......
......@@ -3,7 +3,7 @@
/* { dg-options "isa_rev>=2 -mgp64" } */
/* { dg-skip-if "code quality test" { *-*-* } { "-O0" } { "" } } */
/* { dg-final { scan-assembler "\tdext\t" } } */
/* { dg-final { scan-assembler-not "sll" } } */
/* { dg-final { scan-assembler-not "\td?sll" } } */
NOMIPS16 unsigned long long
f (unsigned long long i)
......
/* { dg-do compile } */
/* { dg-options "isa_rev>=2" } */
/* { dg-final { scan-assembler "ext" } } */
/* { dg-final { scan-assembler "ins" } } */
/* { dg-final { scan-assembler "\td?ext\t" } } */
/* { dg-final { scan-assembler "\td?ins\t" } } */
struct A
{
......
......@@ -2,5 +2,5 @@
/* { dg-options "-mhard-float" } */
NOMIPS16 int f1 (float x, float y) { return __builtin_isless (x, y); }
NOMIPS16 int f2 (double x, double y) { return __builtin_isless (x, y); }
/* { dg-final { scan-assembler "c\\.ule\\.s" } } */
/* { dg-final { scan-assembler "c\\.ule\\.d" } } */
/* { dg-final { scan-assembler "\tc\\.ule\\.s\t" } } */
/* { dg-final { scan-assembler "\tc\\.ule\\.d\t" } } */
......@@ -2,5 +2,5 @@
/* { dg-options "-mhard-float" } */
NOMIPS16 int f1 (float x, float y) { return __builtin_islessequal (x, y); }
NOMIPS16 int f2 (double x, double y) { return __builtin_islessequal (x, y); }
/* { dg-final { scan-assembler "c\\.ult\\.s" } } */
/* { dg-final { scan-assembler "c\\.ult\\.d" } } */
/* { dg-final { scan-assembler "\tc\\.ult\\.s\t" } } */
/* { dg-final { scan-assembler "\tc\\.ult\\.d\t" } } */
......@@ -12,6 +12,6 @@ foo (void)
a[i] = b[i] == c[i] + 1 ? b[i] : c[i];
}
/* { dg-final { scan-assembler "add\\.ps" } } */
/* { dg-final { scan-assembler "c\\.eq\\.ps" } } */
/* { dg-final { scan-assembler "mov\[tf\]\\.ps" } } */
/* { dg-final { scan-assembler "\tadd\\.ps\t" } } */
/* { dg-final { scan-assembler "\tc\\.eq\\.ps\t" } } */
/* { dg-final { scan-assembler "\tmov\[tf\]\\.ps\t" } } */
......@@ -13,6 +13,6 @@ foo (void)
a[i] = b[i] == c[i] + 1 ? b[i] : c[i];
}
/* { dg-final { scan-assembler "add\\.ps" } } */
/* { dg-final { scan-assembler "c\\.eq\\.ps" } } */
/* { dg-final { scan-assembler "mov\[tf\]\\.ps" } } */
/* { dg-final { scan-assembler "\tadd\\.ps\t" } } */
/* { dg-final { scan-assembler "\tc\\.eq\\.ps\t" } } */
/* { dg-final { scan-assembler "\tmov\[tf\]\\.ps\t" } } */
......@@ -3,20 +3,20 @@
/* { dg-do compile } */
/* { dg-options "isa_rev>=2 -mgp32 -mpaired-single -ffinite-math-only" } */
/* { dg-skip-if "nmadd and nmsub need combine" { *-*-* } { "-O0" } { "" } } */
/* { dg-final { scan-assembler "cvt.ps.s" } } */
/* { dg-final { scan-assembler "mov.ps" } } */
/* { dg-final { scan-assembler "ldc1" } } */
/* { dg-final { scan-assembler "sdc1" } } */
/* { dg-final { scan-assembler "add.ps" } } */
/* { dg-final { scan-assembler "sub.ps" } } */
/* { dg-final { scan-assembler "neg.ps" } } */
/* { dg-final { scan-assembler "mul.ps" } } */
/* { dg-final { scan-assembler "madd.ps" } } */
/* { dg-final { scan-assembler "msub.ps" } } */
/* { dg-final { scan-assembler "nmadd.ps" } } */
/* { dg-final { scan-assembler "nmsub.ps" } } */
/* { dg-final { scan-assembler "movn.ps" } } */
/* { dg-final { scan-assembler "movz.ps" } } */
/* { dg-final { scan-assembler "\tcvt.ps.s\t" } } */
/* { dg-final { scan-assembler "\tmov.ps\t" } } */
/* { dg-final { scan-assembler "\tldc1\t" } } */
/* { dg-final { scan-assembler "\tsdc1\t" } } */
/* { dg-final { scan-assembler "\tadd.ps\t" } } */
/* { dg-final { scan-assembler "\tsub.ps\t" } } */
/* { dg-final { scan-assembler "\tneg.ps\t" } } */
/* { dg-final { scan-assembler "\tmul.ps\t" } } */
/* { dg-final { scan-assembler "\tmadd.ps\t" } } */
/* { dg-final { scan-assembler "\tmsub.ps\t" } } */
/* { dg-final { scan-assembler "\tnmadd.ps\t" } } */
/* { dg-final { scan-assembler "\tnmsub.ps\t" } } */
/* { dg-final { scan-assembler "\tmovn.ps\t" } } */
/* { dg-final { scan-assembler "\tmovz.ps\t" } } */
typedef float v2sf __attribute__ ((vector_size(8)));
void gobble (v2sf);
......
......@@ -3,19 +3,19 @@
/* { dg-do compile } */
/* { dg-options "-mpaired-single -mgp64 -ffinite-math-only" } */
/* { dg-skip-if "nmadd and nmsub need combine" { *-*-* } { "-O0" } { "" } } */
/* { dg-final { scan-assembler "cvt.ps.s" } } */
/* { dg-final { scan-assembler "mov.ps" } } */
/* { dg-final { scan-assembler "ldc1" } } */
/* { dg-final { scan-assembler "sdc1" } } */
/* { dg-final { scan-assembler "add.ps" } } */
/* { dg-final { scan-assembler "sub.ps" } } */
/* { dg-final { scan-assembler "neg.ps" } } */
/* { dg-final { scan-assembler "mul.ps" } } */
/* { dg-final { scan-assembler "madd.ps" } } */
/* { dg-final { scan-assembler "msub.ps" } } */
/* { dg-final { scan-assembler "nmadd.ps" } } */
/* { dg-final { scan-assembler "nmsub.ps" } } */
/* { dg-final { scan-assembler "mov(n|z).ps" } } */
/* { dg-final { scan-assembler "\tcvt.ps.s\t" } } */
/* { dg-final { scan-assembler "\tmov.ps\t" } } */
/* { dg-final { scan-assembler "\tldc1\t" } } */
/* { dg-final { scan-assembler "\tsdc1\t" } } */
/* { dg-final { scan-assembler "\tadd.ps\t" } } */
/* { dg-final { scan-assembler "\tsub.ps\t" } } */
/* { dg-final { scan-assembler "\tneg.ps\t" } } */
/* { dg-final { scan-assembler "\tmul.ps\t" } } */
/* { dg-final { scan-assembler "\tmadd.ps\t" } } */
/* { dg-final { scan-assembler "\tmsub.ps\t" } } */
/* { dg-final { scan-assembler "\tnmadd.ps\t" } } */
/* { dg-final { scan-assembler "\tnmsub.ps\t" } } */
/* { dg-final { scan-assembler "\tmov(n|z).ps\t" } } */
typedef float v2sf __attribute__ ((vector_size(8)));
......
......@@ -16,7 +16,7 @@ MIPS16 signed char cksum8 (unsigned long n)
return l;
}
/* { dg-final { scan-assembler "zeh" } } */
/* { dg-final { scan-assembler "seh" } } */
/* { dg-final { scan-assembler "zeb" } } */
/* { dg-final { scan-assembler "seb" } } */
/* { dg-final { scan-assembler "\tzeh\t" } } */
/* { dg-final { scan-assembler "\tseh\t" } } */
/* { dg-final { scan-assembler "\tzeb\t" } } */
/* { dg-final { scan-assembler "\tseb\t" } } */
/* Test MIPS32 DSP instructions */
/* { dg-do compile } */
/* { dg-options "-mdsp" } */
/* { dg-final { scan-assembler "addq.ph" } } */
/* { dg-final { scan-assembler "addu.qb" } } */
/* { dg-final { scan-assembler "subq.ph" } } */
/* { dg-final { scan-assembler "subu.qb" } } */
/* { dg-final { scan-assembler "\taddq.ph\t" } } */
/* { dg-final { scan-assembler "\taddu.qb\t" } } */
/* { dg-final { scan-assembler "\tsubq.ph\t" } } */
/* { dg-final { scan-assembler "\tsubu.qb\t" } } */
typedef char v4qi __attribute__ ((vector_size(4)));
typedef short v2hi __attribute__ ((vector_size(4)));
......
/* { dg-do compile } */
/* { dg-options "-mabi=32 -mfp64" } */
/* { dg-skip-if "code quality test" { *-*-* } { "-O0" } { "" } } */
/* { dg-final { scan-assembler "mthc1" } } */
/* { dg-final { scan-assembler "mfhc1" } } */
/* { dg-final { scan-assembler "\tmthc1\t" } } */
/* { dg-final { scan-assembler "\tmfhc1\t" } } */
NOMIPS16 double func1 (long long a)
{
......
/* { dg-do compile } */
/* { dg-options "isa>=4" } */
/* { dg-skip-if "code quality test" { *-*-* } { "-O0" } { "" } } */
/* { dg-final { scan-assembler "movz" } } */
/* { dg-final { scan-assembler "movn" } } */
/* { dg-final { scan-assembler "\tmovz\t" } } */
/* { dg-final { scan-assembler "\tmovn\t" } } */
void ext_int (int);
......
/* { dg-do compile } */
/* { dg-options "isa>=4" } */
/* { dg-skip-if "code quality test" { *-*-* } { "-O0" } { "" } } */
/* { dg-final { scan-assembler "movz" } } */
/* { dg-final { scan-assembler "movn" } } */
/* { dg-final { scan-assembler "\tmovz\t" } } */
/* { dg-final { scan-assembler "\tmovn\t" } } */
void ext_long (long);
......
/* { dg-do compile } */
/* { dg-options "isa>=4 -mhard-float" } */
/* { dg-skip-if "code quality test" { *-*-* } { "-O0" } { "" } } */
/* { dg-final { scan-assembler "movt" } } */
/* { dg-final { scan-assembler "movf" } } */
/* { dg-final { scan-assembler "movz.s" } } */
/* { dg-final { scan-assembler "movn.s" } } */
/* { dg-final { scan-assembler "movt.s" } } */
/* { dg-final { scan-assembler "movz.d" } } */
/* { dg-final { scan-assembler "movn.d" } } */
/* { dg-final { scan-assembler "movf.d" } } */
/* { dg-final { scan-assembler "\tmovt\t" } } */
/* { dg-final { scan-assembler "\tmovf\t" } } */
/* { dg-final { scan-assembler "\tmovz.s\t" } } */
/* { dg-final { scan-assembler "\tmovn.s\t" } } */
/* { dg-final { scan-assembler "\tmovt.s\t" } } */
/* { dg-final { scan-assembler "\tmovz.d\t" } } */
/* { dg-final { scan-assembler "\tmovn.d\t" } } */
/* { dg-final { scan-assembler "\tmovf.d\t" } } */
void ext_int (int);
void ext_long (long);
......
......@@ -2,10 +2,10 @@
matter. */
/* { dg-do compile } */
/* { dg-options "-mhard-float -ffinite-math-only" } */
/* { dg-final { scan-assembler "neg.s" } } */
/* { dg-final { scan-assembler "neg.d" } } */
/* { dg-final { scan-assembler "abs.s" } } */
/* { dg-final { scan-assembler "abs.d" } } */
/* { dg-final { scan-assembler "\tneg.s\t" } } */
/* { dg-final { scan-assembler "\tneg.d\t" } } */
/* { dg-final { scan-assembler "\tabs.s\t" } } */
/* { dg-final { scan-assembler "\tabs.d\t" } } */
NOMIPS16 float f1 (float f) { return -f; }
NOMIPS16 float f2 (float f) { return __builtin_fabsf (f); }
......
......@@ -2,10 +2,10 @@
matter. */
/* { dg-do compile } */
/* { dg-options "-mhard-float -fno-finite-math-only" } */
/* { dg-final { scan-assembler-not "neg.s" } } */
/* { dg-final { scan-assembler-not "neg.d" } } */
/* { dg-final { scan-assembler-not "abs.s" } } */
/* { dg-final { scan-assembler-not "abs.d" } } */
/* { dg-final { scan-assembler-not "\tneg.s\t" } } */
/* { dg-final { scan-assembler-not "\tneg.d\t" } } */
/* { dg-final { scan-assembler-not "\tabs.s\t" } } */
/* { dg-final { scan-assembler-not "\tabs.d\t" } } */
float f1 (float f) { return -f; }
float f2 (float f) { return __builtin_fabsf (f); }
......
/* { dg-do compile } */
/* { dg-options "-ffast-math isa=4 -mhard-float" } */
/* { dg-skip-if "code quality test" { *-*-* } { "-O0" } { "" } } */
/* { dg-final { scan-assembler "nmadd.s" } } */
/* { dg-final { scan-assembler "nmadd.d" } } */
/* { dg-final { scan-assembler "nmsub.s" } } */
/* { dg-final { scan-assembler "nmsub.d" } } */
/* { dg-final { scan-assembler "\tnmadd.s\t" } } */
/* { dg-final { scan-assembler "\tnmadd.d\t" } } */
/* { dg-final { scan-assembler "\tnmsub.s\t" } } */
/* { dg-final { scan-assembler "\tnmsub.d\t" } } */
NOMIPS16 float
sub1 (float f, float g, float h)
......
/* { dg-do compile } */
/* { dg-options "-fno-fast-math -ffinite-math-only isa=4 -mhard-float" } */
/* { dg-skip-if "code quality test" { *-*-* } { "-O0" } { "" } } */
/* { dg-final { scan-assembler "nmadd.s" } } */
/* { dg-final { scan-assembler "nmadd.d" } } */
/* { dg-final { scan-assembler "nmsub.s" } } */
/* { dg-final { scan-assembler "nmsub.d" } } */
/* { dg-final { scan-assembler "\tnmadd.s\t" } } */
/* { dg-final { scan-assembler "\tnmadd.d\t" } } */
/* { dg-final { scan-assembler "\tnmsub.s\t" } } */
/* { dg-final { scan-assembler "\tnmsub.d\t" } } */
NOMIPS16 float
sub1 (float f, float g, float h)
......
......@@ -2,10 +2,8 @@
We can't use nmadd and nmsub in that case. */
/* { dg-do compile } */
/* { dg-options "-fno-fast-math -fno-finite-math-only isa=4 -mhard-float" } */
/* { dg-final { scan-assembler-not "nmadd.s" } } */
/* { dg-final { scan-assembler-not "nmadd.d" } } */
/* { dg-final { scan-assembler-not "nmsub.s" } } */
/* { dg-final { scan-assembler-not "nmsub.d" } } */
/* { dg-final { scan-assembler-not "\tnmadd" } } */
/* { dg-final { scan-assembler-not "\tnmsub" } } */
float
sub1 (float f, float g, float h)
......
......@@ -3,7 +3,7 @@
/* { dg-options "-march=octeon -mgp64" } */
/* { dg-skip-if "code quality test" { *-*-* } { "-O0" } { "" } } */
/* { dg-final { scan-assembler-times "\texts\t" 1 } } */
/* { dg-final { scan-assembler-not "sll|sra" } } */
/* { dg-final { scan-assembler-not "\td?(sll|sra)" } } */
struct bar
{
......
/* { dg-do compile } */
/* { dg-options "-march=octeon" } */
/* { dg-skip-if "code quality test" { *-*-* } { "-O0" } { "" } } */
/* { dg-final { scan-assembler-not "xor" } } */
/* { dg-final { scan-assembler-not "\txor" } } */
unsigned
m (unsigned e);
......
/* { dg-do compile } */
/* { dg-options "-ffast-math isa=4 -mhard-float -mgp64" } */
/* { dg-skip-if "code quality test" { *-*-* } { "-O0" } { "" } } */
/* { dg-final { scan-assembler "rsqrt.d" } } */
/* { dg-final { scan-assembler "rsqrt.s" } } */
/* { dg-final { scan-assembler "\trsqrt.d\t" } } */
/* { dg-final { scan-assembler "\trsqrt.s\t" } } */
extern double sqrt(double);
extern float sqrtf(float);
......
/* { dg-do compile } */
/* { dg-options "-ffast-math isa=4 -mhard-float -mgp64" } */
/* { dg-skip-if "code quality test" { *-*-* } { "-O0" } { "" } } */
/* { dg-final { scan-assembler "rsqrt.d" } } */
/* { dg-final { scan-assembler "rsqrt.s" } } */
/* { dg-final { scan-assembler "\trsqrt.d\t" } } */
/* { dg-final { scan-assembler "\trsqrt.s\t" } } */
extern double sqrt(double);
extern float sqrtf(float);
......
/* { dg-do compile } */
/* { dg-options "isa=4 -mhard-float" } */
/* { dg-skip-if "code quality test" { *-*-* } { "-O0" } { "" } } */
/* { dg-final { scan-assembler-not "rsqrt.d" } } */
/* { dg-final { scan-assembler-not "rsqrt.s" } } */
/* { dg-final { scan-assembler-not "\trsqrt.d\t" } } */
/* { dg-final { scan-assembler-not "\trsqrt.s\t" } } */
extern double sqrt(double);
extern float sqrtf(float);
......
......@@ -2,10 +2,10 @@
/* { dg-do compile } */
/* { dg-options "-march=sb1 -mpaired-single -mgp64 -ffast-math" } */
/* { dg-skip-if "rsqrt code quality test" { *-*-* } { "-O0" } { "" } } */
/* { dg-final { scan-assembler "div.ps" } } */
/* { dg-final { scan-assembler "recip.ps" } } */
/* { dg-final { scan-assembler "sqrt.ps" } } */
/* { dg-final { scan-assembler "rsqrt.ps" } } */
/* { dg-final { scan-assembler "\tdiv.ps\t" } } */
/* { dg-final { scan-assembler "\trecip.ps\t" } } */
/* { dg-final { scan-assembler "\tsqrt.ps\t" } } */
/* { dg-final { scan-assembler "\trsqrt.ps\t" } } */
typedef float v2sf __attribute__ ((vector_size (8)));
......
......@@ -2,8 +2,8 @@
/* { dg-options "-mabi=o64" } */
/* { dg-skip-if "code quality test" { *-*-* } { "-O0" } { "" } } */
/* { dg-final { scan-assembler "slt\t" } } */
/* { dg-final { scan-assembler "sltu\t\|xor\t\|xori\t" } } */
/* { dg-final { scan-assembler "\tslt\t" } } */
/* { dg-final { scan-assembler "\tsltu\t\|\txor\t\|\txori\t" } } */
/* This test should work both in mips16 and non-mips16 mode. */
......
/* { dg-final { scan-assembler "addiu\t(\\\$sp,)?\\\$sp,\[1-9\]" } } */
/* { dg-final { scan-assembler "\td?addiu\t(\\\$sp,)?\\\$sp,\[1-9\]" } } */
/* { dg-final { scan-assembler "\tlw\t" } } */
/* { dg-final { scan-assembler-not "addiu\t(\\\$sp,)?\\\$sp,\[1-9\].*\tlw\t" } } */
/* { dg-final { scan-assembler-not "\td?addiu\t(\\\$sp,)?\\\$sp,\[1-9\].*\tlw\t" } } */
int foo (int y)
{
......
/* { dg-options "-mgp64" } */
/* { dg-skip-if "code quality test" { *-*-* } { "-O0" } { "" } } */
/* { dg-final { scan-assembler-times "sdl\t" 1 } } */
/* { dg-final { scan-assembler-times "sdr\t" 1 } } */
/* { dg-final { scan-assembler-times "ldl\t" 1 } } */
/* { dg-final { scan-assembler-times "ldr\t" 1 } } */
/* { dg-final { scan-assembler-times "swl\t" 1 } } */
/* { dg-final { scan-assembler-times "swr\t" 1 } } */
/* { dg-final { scan-assembler-times "lwl\t" 1 } } */
/* { dg-final { scan-assembler-times "lwr\t" 1 } } */
/* { dg-final { scan-assembler-not "nop" } } */
/* { dg-final { scan-assembler-times "\tsdl\t" 1 } } */
/* { dg-final { scan-assembler-times "\tsdr\t" 1 } } */
/* { dg-final { scan-assembler-times "\tldl\t" 1 } } */
/* { dg-final { scan-assembler-times "\tldr\t" 1 } } */
/* { dg-final { scan-assembler-times "\tswl\t" 1 } } */
/* { dg-final { scan-assembler-times "\tswr\t" 1 } } */
/* { dg-final { scan-assembler-times "\tlwl\t" 1 } } */
/* { dg-final { scan-assembler-times "\tlwr\t" 1 } } */
/* { dg-final { scan-assembler-not "\tnop" } } */
/* Test to make sure we produce the unaligned load/store for
both 64bit and 32bits sized accesses. */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment