aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.target/mips/pr91769.c
blob: c9ad70d7f756c235378e9ba6975adb4c7dfeba2f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
/* PR target/91769 */
/* { dg-do compile } */
/* { dg-skip-if "naming registers makes this a code quality test" { *-*-* } { "-O0" "-g" } { "" } } */
/* { dg-options "-EL -mgp32 -mhard-float" } */

NOCOMPRESSION double
foo (void)
{
  register double* pf __asm__ ("$a1");
  __asm__ __volatile__ ("":"=r"(pf));
  double f = *pf;

  if (f != f)
    f = -f;
  return f;
}

/* { dg-final { scan-assembler-not "lw\t\\\$4,0\\(\\\$5\\)\n\tlw\t\\\$5,4\\(\\\$5\\)\n\tldc1\t\\\$.*,0\\(\\\$5\\)" } } */
/* { dg-final { scan-assembler "lw\t\\\$4,0\\(\\\$5\\)\n\tlw\t\\\$5,4\\(\\\$5\\)\n\tmtc1\t\\\$4,\\\$.*\n\tmthc1\t\\\$5,\\\$.*" } } */