SUBREG_PROMOTED_VAR_P handling in expand_direct_optab_fn
authorRichard Sandiford <richard.sandiford@linaro.org>
Sun, 22 Oct 2017 21:41:57 +0000 (21:41 +0000)
committerRichard Sandiford <rsandifo@gcc.gnu.org>
Sun, 22 Oct 2017 21:41:57 +0000 (21:41 +0000)
commitb7753f75ea1644c3d18dcfaf9878fb5ec1460c6a
treed028c05d20720e17819a5d21a031798677278e6a
parentbb06a2d85567fc0d5d82d28629ebc54453c35f17
SUBREG_PROMOTED_VAR_P handling in expand_direct_optab_fn

This is needed by the later SVE LAST reductions, where an 8-bit
or 16-bit result is zero- rather than sign-extended to 32 bits.
I think it could occur in other situations too.

2017-09-19  Richard Sandiford  <richard.sandiford@linaro.org>
    Alan Hayward  <alan.hayward@arm.com>
    David Sherwood  <david.sherwood@arm.com>

gcc/
* internal-fn.c (expand_direct_optab_fn): Don't assign directly
to a SUBREG_PROMOTED_VAR.

Co-Authored-By: Alan Hayward <alan.hayward@arm.com>
Co-Authored-By: David Sherwood <david.sherwood@arm.com>
From-SVN: r253992
gcc/ChangeLog
gcc/internal-fn.c