On Mon, 22 Aug 2016, Matthew Wahab wrote: > > + TEST_I_F(TItype, UTItype, _Float32, FLT32X_MANT_DIG, FLT32X_MAX_EXP); > > + exit (0); > > + > > This test fails with an abort at runtime. The other float32x tests pass.
That should be fixed by the commit I made to fix the issue pointed out by Andreas. > This change makes gcc.dg/torture/arm-fp16-int-convert-{alt,ieee].c fail > because they still pass four arguments to the macro, not five. I've applied this patch that should fix this. Update TEST_I_F calls in ARM fp-int-convert tests. gcc/testsuite: 2016-08-22 Joseph Myers <jos...@codesourcery.com> * gcc.dg/torture/arm-fp16-int-convert-alt.c (FP16_MAX_EXP): New macro. (main): Update calls to TEST_I_F. * gcc.dg/torture/arm-fp16-int-convert-ieee.c (FP16_MAX_EXP): New macro. (main): Update calls to TEST_I_F. Index: gcc/testsuite/gcc.dg/torture/arm-fp16-int-convert-alt.c =================================================================== --- gcc/testsuite/gcc.dg/torture/arm-fp16-int-convert-alt.c (revision 239655) +++ gcc/testsuite/gcc.dg/torture/arm-fp16-int-convert-alt.c (working copy) @@ -4,14 +4,15 @@ #include "fp-int-convert.h" #define FP16_MANT_DIG 11 +#define FP16_MAX_EXP 17 int main (void) { - TEST_I_F(signed char, unsigned char, float, FP16_MANT_DIG); - TEST_I_F(signed short, unsigned short, float, FP16_MANT_DIG); - TEST_I_F(signed int, unsigned int, float, FP16_MANT_DIG); - TEST_I_F(signed long, unsigned long, float, FP16_MANT_DIG); - TEST_I_F(signed long long, unsigned long long, float, FP16_MANT_DIG); + TEST_I_F(signed char, unsigned char, float, FP16_MANT_DIG, FP16_MAX_EXP); + TEST_I_F(signed short, unsigned short, float, FP16_MANT_DIG, FP16_MAX_EXP); + TEST_I_F(signed int, unsigned int, float, FP16_MANT_DIG, FP16_MAX_EXP); + TEST_I_F(signed long, unsigned long, float, FP16_MANT_DIG, FP16_MAX_EXP); + TEST_I_F(signed long long, unsigned long long, float, FP16_MANT_DIG, FP16_MAX_EXP); exit (0); } Index: gcc/testsuite/gcc.dg/torture/arm-fp16-int-convert-ieee.c =================================================================== --- gcc/testsuite/gcc.dg/torture/arm-fp16-int-convert-ieee.c (revision 239655) +++ gcc/testsuite/gcc.dg/torture/arm-fp16-int-convert-ieee.c (working copy) @@ -4,14 +4,15 @@ #include "fp-int-convert.h" #define FP16_MANT_DIG 11 +#define FP16_MAX_EXP 16 int main (void) { - TEST_I_F(signed char, unsigned char, float, FP16_MANT_DIG); - TEST_I_F(signed short, unsigned short, float, FP16_MANT_DIG); - TEST_I_F(signed int, unsigned int, float, FP16_MANT_DIG); - TEST_I_F(signed long, unsigned long, float, FP16_MANT_DIG); - TEST_I_F(signed long long, unsigned long long, float, FP16_MANT_DIG); + TEST_I_F(signed char, unsigned char, float, FP16_MANT_DIG, FP16_MAX_EXP); + TEST_I_F(signed short, unsigned short, float, FP16_MANT_DIG, FP16_MAX_EXP); + TEST_I_F(signed int, unsigned int, float, FP16_MANT_DIG, FP16_MAX_EXP); + TEST_I_F(signed long, unsigned long, float, FP16_MANT_DIG, FP16_MAX_EXP); + TEST_I_F(signed long long, unsigned long long, float, FP16_MANT_DIG, FP16_MAX_EXP); exit (0); } -- Joseph S. Myers jos...@codesourcery.com