Implement C _FloatN, _FloatNx types [version 6]
Joseph Myers
joseph@codesourcery.com
Mon Aug 22 11:48:00 GMT 2016
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 <joseph@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
joseph@codesourcery.com
More information about the Fortran
mailing list