Kewen: On 5/13/24 19:59, Kewen.Lin wrote: > Hi, > > on 2024/4/20 05:18, Carl Love wrote:
<snip> >> diff --git a/gcc/testsuite/gcc.target/powerpc/vsx-builtin-3.c >> b/gcc/testsuite/gcc.target/powerpc/vsx-builtin-3.c >> index 01f35dad713..35ea31b2616 100644 >> --- a/gcc/testsuite/gcc.target/powerpc/vsx-builtin-3.c >> +++ b/gcc/testsuite/gcc.target/powerpc/vsx-builtin-3.c >> @@ -2,7 +2,6 @@ >> /* { dg-skip-if "" { powerpc*-*-darwin* } } */ >> /* { dg-require-effective-target powerpc_vsx_ok } */ >> /* { dg-options "-O2 -mdejagnu-cpu=power7" } */ >> -/* { dg-final { scan-assembler "vperm" } } */ >> /* { dg-final { scan-assembler "xvrdpi" } } */ >> /* { dg-final { scan-assembler "xvrdpic" } } */ >> /* { dg-final { scan-assembler "xvrdpim" } } */ >> @@ -56,25 +55,6 @@ extern __vector unsigned long long ull[][4]; >> extern __vector __bool long bl[][4]; >> #endif >> >> -int do_perm(void) >> -{ >> - int i = 0; >> - >> - si[i][0] = __builtin_vsx_vperm_4si (si[i][1], si[i][2], uc[i][3]); i++; >> - ss[i][0] = __builtin_vsx_vperm_8hi (ss[i][1], ss[i][2], uc[i][3]); i++; >> - sc[i][0] = __builtin_vsx_vperm_16qi (sc[i][1], sc[i][2], uc[i][3]); i++; >> - f[i][0] = __builtin_vsx_vperm_4sf (f[i][1], f[i][2], uc[i][3]); i++; >> - d[i][0] = __builtin_vsx_vperm_2df (d[i][1], d[i][2], uc[i][3]); i++; >> - >> - si[i][0] = __builtin_vsx_vperm (si[i][1], si[i][2], uc[i][3]); i++; >> - ss[i][0] = __builtin_vsx_vperm (ss[i][1], ss[i][2], uc[i][3]); i++; >> - sc[i][0] = __builtin_vsx_vperm (sc[i][1], sc[i][2], uc[i][3]); i++; >> - f[i][0] = __builtin_vsx_vperm (f[i][1], f[i][2], uc[i][3]); i++; >> - d[i][0] = __builtin_vsx_vperm (d[i][1], d[i][2], uc[i][3]); i++; >> - >> - return i; >> -} >> - > > I prefer to just relace these __builtin_vsx_vperm with vec_perm, > OK with this tweaked (also keep the above removed vperm scan), thanks! OK, sounds good. Updated the patch to change built-in calls to vec_perm. Updated ChangeLog message to match change. Carl