| /* { dg-do compile { target lp64 } } */ | |
| /* { dg-require-effective-target powerpc_p9vector_ok } */ | |
| /* { dg-options "-mdejagnu-cpu=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 {\mlha\M} } } */ | |
| /* { dg-final { scan-assembler {\mmtvsrwa\M} } } */ |