This is the mail archive of the
gcc-cvs@gcc.gnu.org
mailing list for the GCC project.
r242384 - in /trunk/gcc: ChangeLog config/aarch...
- From: wilco at gcc dot gnu dot org
- To: gcc-cvs at gcc dot gnu dot org
- Date: Mon, 14 Nov 2016 12:04:11 -0000
- Subject: r242384 - in /trunk/gcc: ChangeLog config/aarch...
Author: wilco
Date: Mon Nov 14 12:04:11 2016
New Revision: 242384
URL: https://gcc.gnu.org/viewcvs?rev=242384&root=gcc&view=rev
Log:
Currently the SBFM, UBFM and BFM instructions all use the attribute "bfm".
SBFM and UBFM include all shifts on AArch64, which are simpler than bitfield
insert. Add a new bfx attribute for these instructions so that they can be
modelled more accurately in the future. There is no difference in code
generation.
* config/aarch64/aarch64.md (aarch64_ashl_sisd_or_int_<mode>3)
Use bfx attribute.
(aarch64_lshr_sisd_or_int_<mode>3): Likewise.
(aarch64_ashr_sisd_or_int_<mode>3): Likewise.
(<optab>si3_insn_uxtw): Likewise.
(<optab><mode>3_insn): Likewise.
(<ANY_EXTEND:optab><GPI:mode>_ashl<SHORT:mode>): Likewise.
(zero_extend<GPI:mode>_lshr<SHORT:mode>): Likewise.
(extend<GPI:mode>_ashr<SHORT:mode>): Likewise.
(<optab><mode>): Likewise.
(insv<mode>): Likewise.
(andim_ashift<mode>_bfiz): Likewise.
* config/aarch64/thunderx.md (thunderx_shift): Add bfx.
* config/arm/cortex-a53.md (cortex_a53_alu_shift): Likewise.
* config/arm/cortex-a57.md (cortex_a57_alu): Add bfx.
* config/arm/exynos-m1.md (exynos_m1_alu): Add bfx.
(exynos_m1_alu_p): Likewise.
* config/arm/types.md: Add bfx.
* config/arm/xgene1.md (xgene1_bfm): Add bfx.
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/aarch64/aarch64.md
trunk/gcc/config/aarch64/thunderx.md
trunk/gcc/config/arm/cortex-a53.md
trunk/gcc/config/arm/cortex-a57.md
trunk/gcc/config/arm/exynos-m1.md
trunk/gcc/config/arm/types.md
trunk/gcc/config/arm/xgene1.md