https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100996

--- Comment #2 from HaoChen Gui <guihaoc at gcc dot gnu.org> ---
(In reply to acsawdey from comment #0)
> The fusion-p10-addadd.c test case does not get vector add-add fusion when
> compiling with -m32:
> 
> /home/sawdey/work/gcc/trunk/build/gcc/xgcc
> -B/home/sawdey/work/gcc/trunk/build/gcc/
> /home/sawdey/work/gcc/trunk/gcc/gcc/testsuite/gcc.target/powerpc/fusion-p10-
> addadd.c  -m32  -fdiagnostics-plain-output  -mcpu=power10 -O3 -dap
> -fno-ident -S
> 
> typedef vector long vlong;
> vlong vaddadd(vlong a, vlong b, vlong c)
> {
>   return a+b+c;
> }
> 
> vaddadd:
> .LFB3:
>         .cfi_startproc
>         vadduwm 2,2,3    # 8    [c=4 l=4]  addv4si3
>         vadduwm 2,2,4    # 14   [c=4 l=4]  addv4si3
>         blr              # 24   [c=4 l=4]  simple_return
>         .cfi_endproc

The vadduwm is not in P10 fusion sequence. Only vaddudm is in.

Reply via email to