+2012-08-27 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * gcc.target/mips/ext_ins.c, gcc.target/mips/octeon-pop-2.c,
+ gcc.target/mips/pr54240.c, gcc.target/mips/stack-1.c,
+ gcc.target/mips/unaligned-1.c: Add NOMIPS16.
+
2012-08-27 Richard Sandiford <rdsandiford@googlemail.com>
* gcc.target/mips/20020620-1.c, gcc.target/mips/atomic-memory-2.c,
void func (struct A);
-unsigned int f1 (struct A a)
+NOMIPS16 unsigned int f1 (struct A a)
{
return a.j;
}
-void f2 (int i)
+NOMIPS16 void f2 (int i)
{
struct A c;
c.j = i;
/* The pop instruction does not depend on the word value to be sign extended. */
/* { dg-final { scan-assembler-not "sll\t" } } */
-long long f(long long i)
+NOMIPS16 long long f(long long i)
{
return __builtin_popcount (i);
}
struct s *r;
} S;
-
-int foo(S *s)
+/* Test requires conditional moves. */
+NOMIPS16 int foo(S *s)
{
S *this;
S *next;
/* { dg-final { scan-assembler "\tlw\t" } } */
/* { dg-final { scan-assembler-not "\td?addiu\t(\\\$sp,)?\\\$sp,\[1-9\].*\tlw\t" } } */
-int foo (int y)
+/* Avoid use of SAVE and RESTORE. */
+NOMIPS16 int foo (int y)
{
volatile int a = y;
volatile int *volatile b = &a;
long long l;
} __attribute__ ((packed)) s __attribute__((aligned(1) ));
-void
+NOMIPS16 void
sd (long long l)
{
s.l = l;
}
-long long
+NOMIPS16 long long
ld ()
{
return s.l;
}
-void
+NOMIPS16 void
sw (int i)
{
s.i = i;
}
-int
+NOMIPS16 int
lw ()
{
return s.i;