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. From-SVN: r242384
Showing
Please
register
or
sign in
to comment