+2012-01-30 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * gcc.target/mips/extend-1.c (TEST_CHAR): Use signed char.
+ (TEST_SHORT): Reformat in the same way.
+ * gcc.target/mips/octeon-exts-6.c (TEST_CHAR): Use signed char.
+ (TEST_SHORT): Reformat in the same way.
+ * gcc.target/mips/octeon2-lx-1.c (TEST): Make sign explicit.
+ * gcc.target/mips/pr37362.c: Skip for mips-sde-elf.
+ * gcc.target/mips/mmcount-ra-address-1.c (bazl): Add NOMIPS16.
+ * gcc.target/mips/mmcount-ra-address-2.c (bar): Likewise.
+ * gcc.target/mips/mmcount-ra-address-3.c (bar): Likewise.
+
2012-01-30 Bin Cheng <bin.cheng@arm.com>
PR target/51835
/* { dg-final { scan-assembler-times "\tdsra\t" 5 } } */
/* { dg-final { scan-assembler-not "\tsll\t" } } */
-#define TEST_CHAR(T, N) \
- NOMIPS16 T f##N (long long d, T *a, T *r) { T b = (char) d; *r = b + *a; }
-#define TEST_SHORT(T, N) \
- NOMIPS16 T g##N (long long d, T *a, T *r) { T b = (short) d; *r = b + *a; }
+#define TEST_CHAR(T, N) \
+ NOMIPS16 T \
+ f##N (long long d, T *a, T *r) \
+ { \
+ T b = (signed char) d; *r = b + *a; \
+ }
+#define TEST_SHORT(T, N) \
+ NOMIPS16 T \
+ g##N (long long d, T *a, T *r) \
+ { \
+ T b = (short) d; *r = b + *a; \
+ }
#define TEST(T, N) TEST_CHAR (T, N) TEST_SHORT (T, N)
TEST (int, 1);
/* { dg-do compile } */
/* { dg-options "-O2 -pg -mmcount-ra-address -mabi=64" } */
/* { dg-final { scan-assembler "\tmove\t\\\$12,\\\$0" } } */
-int bazl(int i)
+NOMIPS16 int bazl(int i)
{
return i + 2;
}
/* { dg-options "-O2 -pg -mmcount-ra-address -mabi=64" } */
/* { dg-final { scan-assembler "\tdla\t\\\$12,8\\(\\\$sp\\)" } } */
int foo (int);
-int bar (int i)
+NOMIPS16 int bar (int i)
{
return foo (i) + 2;
}
/* { dg-options "-O2 -pg -mmcount-ra-address -mabi=64" } */
/* { dg-final { scan-assembler "\tdla\t\\\$12,200008\\(\\\$sp\\)" } } */
int foo (int *);
-int bar(int i)
+NOMIPS16 int bar(int i)
{
int big[50000];
return foo (big) + 2;
/* { dg-final { scan-assembler-not "\t(dsll|dsra)\t" } } */
/* { dg-final { scan-assembler-not "\tsll\t" } } */
-#define TEST_CHAR(T, N) \
- NOMIPS16 T f##N (long long d, T *a, T *r) { T b = (char) d; *r = b + *a; }
-#define TEST_SHORT(T, N) \
- NOMIPS16 T g##N (long long d, T *a, T *r) { T b = (short) d; *r = b + *a; }
+#define TEST_CHAR(T, N) \
+ NOMIPS16 T \
+ f##N (long long d, T *a, T *r) \
+ { \
+ T b = (signed char) d; *r = b + *a; \
+ }
+#define TEST_SHORT(T, N) \
+ NOMIPS16 T \
+ g##N (long long d, T *a, T *r) \
+ { \
+ T b = (short) d; *r = b + *a; \
+ }
#define TEST(T, N) TEST_CHAR (T, N) TEST_SHORT (T, N)
TEST (int, 1);
/* { dg-options "-march=octeon2 -O -mgp64" } */
#define TEST(N, R, T) \
- T fll##N (T j, R *b, long long i) { return j + b[i]; } \
+ T fll##N (T j, signed R *b, long long i) { return j + b[i]; } \
T gll##N (T j, unsigned R *b, long long i) { return j + b[i]; } \
- T fi##N (T j, R *b, int i) { return j + b[i]; } \
+ T fi##N (T j, signed R *b, int i) { return j + b[i]; } \
T gi##N (T j, unsigned R *b, int i) { return j + b[i]; } \
TEST (1, char, int)
-/* { dg-do compile } */
+/* mips*-sde-elf doesn't have 128-bit long doubles. */
+/* { dg-do compile { target { ! mips*-sde-elf } } } */
/* { dg-options "-march=mips64r2 -mabi=n32" } */
typedef float TFtype __attribute__((mode(TF)));