diff options
author | Christophe Lyon <christophe.lyon@linaro.org> | 2020-11-02 07:31:22 +0000 |
---|---|---|
committer | Christophe Lyon <christophe.lyon@linaro.org> | 2020-11-02 07:31:22 +0000 |
commit | 4d9af90d6a216822fe117337fb9836ba656dc3af (patch) | |
tree | ba0dcb7edd4d81c1746dd136ae4e85e1e13c582d /gcc/tree-vect-loop.c | |
parent | 590febb5f6624f78b36402a7c9a9c318978f1efa (diff) | |
download | gcc-4d9af90d6a216822fe117337fb9836ba656dc3af.zip gcc-4d9af90d6a216822fe117337fb9836ba656dc3af.tar.gz gcc-4d9af90d6a216822fe117337fb9836ba656dc3af.tar.bz2 |
arm: Avoid indirection with -mpure-code on v6m (PR96967)
With -mpure-code on v6m (thumb-1), to avoid a useless indirection when
building the address of a symbol, we want to consider SYMBOL_REF as a
legitimate constant. This way, we build the address using a series of
upper/lower relocations instead of loading the address from memory.
This patch also fixes a missing "clob" conds attribute for
thumb1_movsi_insn, needed because that alternative clobbers the flags.
2020-11-02 Christophe Lyon <christophe.lyon@linaro.org>
gcc/
PR target/96967
* config/arm/arm.c (thumb_legitimate_constant_p): Add support for
disabled literal pool in thumb-1.
* config/arm/thumb1.md (thumb1_movsi_symbol_ref): Remove.
(*thumb1_movsi_insn): Add support for SYMBOL_REF with -mpure-code.
gcc/testsuite
PR target/96967
* gcc.target/arm/pure-code/pr96767.c: New test.
Diffstat (limited to 'gcc/tree-vect-loop.c')
0 files changed, 0 insertions, 0 deletions