[37/77] Use scalar_int_mode when emitting cstores
authorRichard Sandiford <richard.sandiford@linaro.org>
Wed, 30 Aug 2017 11:14:32 +0000 (11:14 +0000)
committerRichard Sandiford <rsandifo@gcc.gnu.org>
Wed, 30 Aug 2017 11:14:32 +0000 (11:14 +0000)
commit7cc237a633b6b488a3950baa23833b6f78e8d26b
treea44951b09715e6d11e52b297f2d81e762123ae4f
parent3d88d1cdf217be025628d77588e2d247feeebcb3
[37/77] Use scalar_int_mode when emitting cstores

cstore patterns always have a scalar integer result, which has the
value 0 for "false" and STORE_FLAG_VALUE for "true".  This patch
makes that explicit using scalar_int_mode.

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

gcc/
* target.def (cstore_mode): Return a scalar_int_mode.
* doc/tm.texi: Regenerate.
* config/sparc/sparc.c (sparc_cstore_mode): Return a scalar_int_mode.
* targhooks.h (default_cstore_mode): Likewise.
* targhooks.c (default_cstore_mode): Likewise, using a forced
conversion.
* expmed.c (emit_cstore): Expect the target of the cstore to be
a scalar_int_mode.

Co-Authored-By: Alan Hayward <alan.hayward@arm.com>
Co-Authored-By: David Sherwood <david.sherwood@arm.com>
From-SVN: r251489
gcc/ChangeLog
gcc/config/sparc/sparc.c
gcc/doc/tm.texi
gcc/expmed.c
gcc/target.def
gcc/targhooks.c
gcc/targhooks.h