| /* { dg-do compile } */ |
| /* { dg-require-effective-target powerpc_p9vector_ok } */ |
| /* { dg-require-effective-target lp64 } */ |
| /* { dg-options "-O2 -mdejagnu-cpu=power9" } */ |
| |
| #define TYPE void* |
| #define TYPE2 void* |
| |
| struct path { |
| TYPE2 mnt; |
| TYPE dentry; |
| }; |
| |
| struct nameidata { |
| struct path path; |
| struct path root; |
| }; |
| |
| __attribute__ ((noinline)) |
| TYPE foo(struct nameidata *nd) |
| { |
| TYPE d; |
| TYPE2 d2; |
| |
| nd->path = nd->root; |
| d = nd->path.dentry; |
| d2 = nd->path.mnt; |
| return d; |
| } |
| |
| /* { dg-final { scan-assembler-not {\mlxv\M} } } */ |
| /* { dg-final { scan-assembler-not {\mstxv\M} } } */ |
| /* { dg-final { scan-assembler-times {\mld\M} 2 } } */ |
| /* { dg-final { scan-assembler-times {\mstd\M} 2 } } */ |