diff options
author | Richard Sandiford <richard.sandiford@linaro.org> | 2017-08-30 11:14:32 +0000 |
---|---|---|
committer | Richard Sandiford <rsandifo@gcc.gnu.org> | 2017-08-30 11:14:32 +0000 |
commit | 7cc237a633b6b488a3950baa23833b6f78e8d26b (patch) | |
tree | a44951b09715e6d11e52b297f2d81e762123ae4f /gcc/targhooks.h | |
parent | 3d88d1cdf217be025628d77588e2d247feeebcb3 (diff) | |
download | gcc-7cc237a633b6b488a3950baa23833b6f78e8d26b.zip gcc-7cc237a633b6b488a3950baa23833b6f78e8d26b.tar.gz gcc-7cc237a633b6b488a3950baa23833b6f78e8d26b.tar.bz2 |
[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
Diffstat (limited to 'gcc/targhooks.h')
-rw-r--r-- | gcc/targhooks.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/targhooks.h b/gcc/targhooks.h index 2ab7eec..7c7e748 100644 --- a/gcc/targhooks.h +++ b/gcc/targhooks.h @@ -232,7 +232,7 @@ extern const char *default_pch_valid_p (const void *, size_t); extern void default_asm_output_ident_directive (const char*); -extern machine_mode default_cstore_mode (enum insn_code); +extern scalar_int_mode default_cstore_mode (enum insn_code); extern bool default_member_type_forces_blk (const_tree, machine_mode); extern void default_atomic_assign_expand_fenv (tree *, tree *, tree *); extern tree build_va_arg_indirect_ref (tree); |