summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.target/powerpc/pr81348.c
blob: e8e10bb598bc0877d46a21774d20d1075f95b1fb (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
/* { dg-do compile { target { powerpc64*-*-* && lp64 } } } */
/* { dg-skip-if "do not override -mcpu" { powerpc*-*-* } { "-mcpu=*" } { "-mcpu=power9" } } */
/* { dg-require-effective-target powerpc_p9vector_ok } */
/* { dg-options "-mcpu=power9 -Og" } */

/* PR target/81348: Compiler died in doing short->float conversion due to using
   the wrong register in a define_split.  */

int a;
short b;
float ***c;

void d(void)
{
        int e = 3;

        if (a)
                e = b;

        ***c = e;
}

/* { dg-final { scan-assembler {\mlxsihzx\M}  } } */
/* { dg-final { scan-assembler {\mvextsh2d\M} } } */