diff options
Diffstat (limited to 'gcc-4.9/gcc/testsuite/gcc.dg/torture/arm-fp16-compile-assign.c')
-rw-r--r-- | gcc-4.9/gcc/testsuite/gcc.dg/torture/arm-fp16-compile-assign.c | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/gcc-4.9/gcc/testsuite/gcc.dg/torture/arm-fp16-compile-assign.c b/gcc-4.9/gcc/testsuite/gcc.dg/torture/arm-fp16-compile-assign.c new file mode 100644 index 000000000..d6143d278 --- /dev/null +++ b/gcc-4.9/gcc/testsuite/gcc.dg/torture/arm-fp16-compile-assign.c @@ -0,0 +1,29 @@ +/* { dg-do compile { target arm*-*-* } } */ +/* { dg-options "-mfp16-format=ieee" } */ + +/* Test basic assignments and conversions for __fp16. */ + +__fp16 h0 = -1.0; +__fp16 h1 = 0.0; +__fp16 h2 = 1234.0; +__fp16 h3 = 42.0; +float f1 = 2.0; +float f2 = -999.9; + +void f (__fp16 *p) +{ + __fp16 t; + + h0 = 1.0; + h1 = h2; + h2 = f1; + f2 = h2; + + t = *p; + *p = h3; + h3 = t; +} + +/* Make sure we are not falling through to undefined libcalls. */ +/* { dg-final { scan-assembler-not "__truncsfhf" } } */ +/* { dg-final { scan-assembler-not "__extendhfsf" } } */ |