summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/torture/arm-fp16-compile-assign.c
blob: d6143d2788136b00cf592570ae2add7ef34546b2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
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" } } */