Hi Jakub,

On Tue, Jan 22, 2019 at 05:31:58PM +0100, Jakub Jelinek wrote:
> The following patch disables *vsx_reduc_<VEC_reduc_name>_v2df_scalar
> define_insn_and_split for little endian, because it both generates
> wrong code there (fixable), but also even if fixed, emit much worse code
> than when it is not present at all.
> The comment on the pattern says:
> ;; Combiner patterns with the vector reduction patterns that knows we can get
> ;; to the top element of the V2DF array without doing an extract.
> but for little endian that is not the case, the end result is that a vector
> is unnecessarily forced into memory.
> 
> Fixed thusly, bootstrapped/regtested on powerpc64le-linux, fixes
> FAIL: libgomp.oacc-fortran/reduction-3.f90 -DACC_DEVICE_TYPE_host=1 
> -DACC_MEM_SHARED=1  -O1  execution test
> , ok for trunk?

Okay.  Thanks!  Also okay for backports.


Segher


> 2019-01-22  Jakub Jelinek  <ja...@redhat.com>
> 
>       PR target/87064
>       * config/rs6000/vsx.md (*vsx_reduc_<VEC_reduc_name>_v2df_scalar):
>       Disable for little endian.

Reply via email to