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

HaoChen Gui <guihaoc at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Resolution|---                         |INVALID
             Status|ASSIGNED                    |RESOLVED
                 CC|                            |guihaoc at gcc dot gnu.org

--- Comment #1 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