aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/arm/marvell-pj4.md
AgeCommit message (Collapse)AuthorFilesLines
2025-01-02Update copyright years.Jakub Jelinek1-1/+1
2024-01-03Update copyright years.Jakub Jelinek1-1/+1
2023-01-02Update copyright years.Jakub Jelinek1-1/+1
2022-01-03Update copyright years.Jakub Jelinek1-1/+1
2021-01-04Update copyright years.Jakub Jelinek1-1/+1
2020-12-22arm&aarch64: subdivide the type attribute "alu_shfit_imm"Qian Jianhua1-4/+4
The type attribute "alu_shfit_imm" is subdivided into "alu_shift_imm_lsl_1to4" and "alu_shift_imm_other", to accommodate optimazations of some microarchitectures. Here is the detailed discussion. https://gcc.gnu.org/pipermail/gcc/2020-September/233594.html gcc/ * config/arm/types.md (define_attr "autodetect_type"): New. (define_attr "type"): Subdivide alu_shift_imm. * config/arm/common.md: New file. * config/aarch64/predicates.md:Include common.md. * config/arm/predicates.md:Include common.md. * config/aarch64/aarch64.md (*add_<shift>_<mode>): Set autodetect_type. (*add_<shift>_si_uxtw): Likewise. (*sub_<shift>_<mode>): Likewise. (*sub_<shift>_si_uxtw): Likewise. (*neg_<shift>_<mode>2): Likewise. (*neg_<shift>_si2_uxtw): Likewise. * config/arm/arm.md (*addsi3_carryin_shift): Likewise. (add_not_shift_cin): Likewise. (*subsi3_carryin_shift): Likewise. (*subsi3_carryin_shift_alt): Likewise. (*rsbsi3_carryin_shift): Likewise. (*rsbsi3_carryin_shift_alt): Likewise. (*arm_shiftsi3): Likewise. (*<arith_shift_insn>_multsi): Likewise. (*<arith_shift_insn>_shiftsi): Likewise. (subsi3_carryin): Set new type. (*if_arith_move): Set new type. (*if_move_arith): Set new type. (define_attr "core_cycles"): Use new type. * config/arm/arm-fixed.md (arm_ssatsihi_shift): Set autodetect_type. * config/arm/thumb2.md (*orsi_not_shiftsi_si): Likewise. (*thumb2_shiftsi3_short): Set new type. * config/aarch64/falkor.md (falkor_alu_1_xyz): Use new type. * config/aarch64/saphira.md (saphira_alu_1_xyz): Likewise. * config/aarch64/thunderx.md (thunderx_arith_shift): Likewise. * config/aarch64/thunderx2t99.md (thunderx2t99_alu_shift): Likewise. * config/aarch64/thunderx3t110.md (thunderx3t110_alu_shift): Likewise. (thunderx3t110_alu_shift1): Likewise. * config/aarch64/tsv110.md (tsv110_alu_shift): Likewise. * config/arm/arm1020e.md (1020alu_shift_op): Likewise. * config/arm/arm1026ejs.md (alu_shift_op): Likewise. * config/arm/arm1136jfs.md (11_alu_shift_op): Likewise. * config/arm/arm926ejs.md (9_alu_op): Likewise. * config/arm/cortex-a15.md (cortex_a15_alu_shift): Likewise. * config/arm/cortex-a17.md (cortex_a17_alu_shiftimm): Likewise. * config/arm/cortex-a5.md (cortex_a5_alu_shift): Likewise. * config/arm/cortex-a53.md (cortex_a53_alu_shift): Likewise. * config/arm/cortex-a57.md (cortex_a57_alu_shift): Likewise. * config/arm/cortex-a7.md (cortex_a7_alu_shift): Likewise. * config/arm/cortex-a8.md (cortex_a8_alu_shift): Likewise. * config/arm/cortex-a9.md (cortex_a9_dp_shift): Likewise. * config/arm/cortex-m4.md (cortex_m4_alu): Likewise. * config/arm/cortex-m7.md (cortex_m7_alu_shift): Likewise. * config/arm/cortex-r4.md (cortex_r4_alu_shift): Likewise. * config/arm/exynos-m1.md (exynos_m1_alu_shift): Likewise. * config/arm/fa526.md (526_alu_shift_op): Likewise. * config/arm/fa606te.md (606te_alu_op): Likewise. * config/arm/fa626te.md (626te_alu_shift_op): Likewise. * config/arm/fa726te.md (726te_alu_shift_op): Likewise. * config/arm/fmp626.md (mp626_alu_shift_op): Likewise. * config/arm/marvell-pj4.md (pj4_shift): Likewise. (pj4_shift_conds): Likewise. (pj4_alu_shift): Likewise. (pj4_alu_shift_conds): Likewise. * config/arm/xgene1.md (xgene1_alu): Likewise. * config/arm/arm.c (xscale_sched_adjust_cost): Likewise.
2020-01-01Update copyright years.Jakub Jelinek1-1/+1
From-SVN: r279813
2019-01-01Update copyright years.Jakub Jelinek1-1/+1
From-SVN: r267494
2018-11-26[arm][1/3] Rename mul64 attr to widen_mul64Kyrylo Tkachov1-2/+2
The mul64 attribute in types.md causes some confusion as it is used to represent aarch32 instructions that do widening multiplication to generate 32->64 bit results. But these types are shared with aarch64, which has native 64-bit multiplication operations. Those are currently not properly represented, which I will fix in follow-up patches. For now, this patch renames the mul64 attribute to widen_mul64 to more clearly communicate its meaning. It mechanically updates all users of that name in config/arm/ (there are no users in config/aarch64). There is thus no change in behaviour. * config/arm/types.md (mul64): Rename to... (widen_mul64): ... This. * config/arm/arm-generic.md: Rename mul64 to widen_mul64. * config/arm/cortex-a15.md: Likewise. * config/arm/cortex-a5.md: Likewise. * config/arm/cortex-a53.md: Likewise. * config/arm/cortex-a57.md: Likewise. * config/arm/cortex-a7.md: Likewise. * config/arm/cortex-m4.md: Likewise. * config/arm/exynos-m1.md: Likewise. * config/arm/marvell-pj4.md: Likewise. * config/arm/xgene1.md: Likewise. From-SVN: r266471
2018-01-03Update copyright years.Jakub Jelinek1-1/+1
From-SVN: r256169
2017-09-12[Mechanical Patch ARM/AArch64 1/2] Rename load/store scheduling types to ↵James Greenhalgh1-6/+6
encode data size In the AArch64 backend and scheduling models there is some confusion as to what the load1/load2 etc. scheduling types refer to. This leads to us using load1/load2 in two contexts - for a variety of 32-bit, 64-bit and 128-bit loads in AArch32 and 128-bit loads in AArch64. That leads to an undesirable confusion in scheduling. Fixing it is easy, but mechanical and boring. Essentially, s/load1/load_4/ s/load2/load_8/ s/load3/load_12/ s/load4/load_16/ s/store1/store_4/ s/store2/store_8/ s/store3/store_12/ s/store4/store_16/ Across all sorts of pipeline models, and the two backends. I have intentionally not modified any of the patterns which now look obviously incorrect. I'll be doing a second pass over the AArch64 back-end in patch 2/2 which will fix these bugs. --- gcc/ * config/arm/types.md (type): Rename load1/2/3/4 to load_4/8/12/16 and store1/2/3/4 to store_4/8/12/16. * config/aarch64/aarch64.md: Update for rename. * config/arm/arm.md: Likewise.: Likewise. * config/arm/arm.c: Likewise. * config/arm/thumb1.md: Likewise. * config/arm/thumb2.md: Likewise. * config/arm/vfp.md: Likewise. * config/arm/arm-generic.md: Likewise. * config/arm/arm1020e.md: Likewise. * config/arm/arm1026ejs.md: Likewise. * config/arm/arm1136jfs.md: Likewise. * config/arm/arm926ejs.md: Likewise. * config/arm/cortex-a15.md: Likewise. * config/arm/cortex-a17.md: Likewise. * config/arm/cortex-a5.md: Likewise. * config/arm/cortex-a53.md: Likewise. * config/arm/cortex-a57.md: Likewise. * config/arm/cortex-a7.md: Likewise. * config/arm/cortex-a8.md: Likewise. * config/arm/cortex-a9.md: Likewise. * config/arm/cortex-m4.md: Likewise. * config/arm/cortex-m7.md: Likewise. * config/arm/cortex-r4.md: Likewise. * config/arm/exynos-m1.md: Likewise. * config/arm/fa526.md: Likewise. * config/arm/fa606te.md: Likewise. * config/arm/fa626te.md: Likewise. * config/arm/fa726te.md: Likewise. * config/arm/fmp626.md: Likewise. * config/arm/iwmmxt.md: Likewise. * config/arm/ldmstm.md: Likewise. * config/arm/marvell-pj4.md: Likewise. * config/arm/xgene1.md: Likewise. * config/aarch64/thunderx.md: Likewise. * config/aarch64/thunderx2t99.md: Likewise. * config/aarch64/falkor.md: Likewise. From-SVN: r252025
2017-01-01Update copyright years.Jakub Jelinek1-1/+1
From-SVN: r243994
2016-01-04Update copyright years.Jakub Jelinek1-1/+1
From-SVN: r232055
2015-01-05Update copyright years.Jakub Jelinek1-1/+1
From-SVN: r219188
2014-07-17types.md (alu_reg): Replaced by alu_sreg and alu_dsp_reg.Terry Guo1-4/+4
2014-07-17 Terry Guo <terry.guo@arm.com> * config/arm/types.md (alu_reg): Replaced by alu_sreg and alu_dsp_reg. (alus_reg): Renamed to alus_sreg. * config/arm/arm-fixed.md: Change type of non-dsp instructions from alu_reg to alu_sreg. Change type of dsp instructions from alu_reg to alu_dsp_reg. * config/arm/thumb1.md: Likewise. * config/arm/thumb2.md: Likewise. * config/arm/arm.c (cortexa7_older_only): Use new ALU type names. * config/arm/arm1020e.md (1020alu_op): Replace alu_reg and alus_reg with alu_sreg and alus_sreg. * config/arm/arm1026ejs.md (alu_op): Likewise. * config/arm/arm1136jfs.md (11_alu_op): Likewise. * config/arm/arm926ejs.md (9_alu_op): Likewise. * config/arm/fa526.md (526_alu_op): Likewise. * config/arm/fa606te.md (606te_alu_op): Likewise. * config/arm/fa626te.md (626te_alu_op): Likewise. * config/arm/fa726te.md (726te_alu_op): Likewise. * config/arm/fmp626.md (mp626_alu_op): Likewise. * config/arm/arm.md (core_cycles): Replace alu_reg and alus_reg with alu_sreg, alu_dsp_reg and alus_sreg. * config/arm/cortex-a15.md (cortex_a15_alu): Likewise. * config/arm/cortex-a5.md (cortex_a5_alu): Likewise. * config/arm/cortex-a53.md (cortex_a53_alu): Likewise. * config/arm/cortex-a7.md (cortex_a7_alu_sreg): Likewise. * config/arm/cortex-a8.md (cortex_a8_alu): Likewise. * config/arm/cortex-a9.md (cortex_a9_dp): Likewise. * config/arm/cortex-m4.md (cortex_m4_alu): Likewise. * config/arm/cortex-r4.md (cortex_r4_alu): Likewise. * config/arm/marvell-pj4.md (pj4_alu, pj4_alu_conds): Likewise. * config/aarch64/aarch64.md (*addsi3_aarch64, *addsi3_aarch64_uxtw, subsi3, *adddi3_aarch64, *subsi3_uxtw, subdi3, absdi2, neg<mode>2, *negsi2_uxtw, tlsle_small_<mode>): Rename type alu_reg to alu_sreg. (add<mode>3_compare0, *addsi3_compare0_uxtw, *add<mode>3nr_compare0, sub<mode>3_compare0, *compare_neg<mode>, *neg<mode>2_compare0, subsi3_compare0_uxtw, *negsi2_compare0_uxtw, *cmp<mode>): Rename type alus_reg to alus_sreg. From-SVN: r212750
2014-01-02Update copyright years in gcc/Richard Sandiford1-1/+1
From-SVN: r206289
2013-09-06[AArch64, ARM] Rename the FCPYS type to FMOVJames Greenhalgh1-1/+1
gcc/ * config/arm/types.md (type): Rename fcpys to fmov. * config/arm/vfp.md (*arm_movsi_vfp): Rename type fcpys as fmov. (*thumb2_movsi_vfp): Likewise (*movhf_vfp_neon): Likewise (*movhf_vfp): Likewise (*movsf_vfp): Likewise (*thumb2_movsf_vfp): Likewise (*movsfcc_vfp): Likewise (*thumb2_movsfcc_vfp): Likewise * config/aarch64/aarch64-simd.md (move_lo_quad_<mode>): Replace type mov_reg with fmovs. * config/aarch64/aarch64.md (*movsi_aarch64): Replace type mov_reg with fmovs. (*movdi_aarch64): Likewise (*movsf_aarch64): Likewise (*movdf_aarch64): Likewise * config/arm/arm.c (cortexa7_older_only): Rename TYPE_FCPYS to TYPE_FMOV. * config/arm/iwmmxt.md (*iwmmxt_movsi_insn): Rename type fcpys as fmov. * config/arm/arm1020e.md: Update with new attributes. * config/arm/cortex-a15-neon.md: Update with new attributes. * config/arm/cortex-a5.md: Update with new attributes. * config/arm/cortex-a53.md: Update with new attributes. * config/arm/cortex-a7.md: Update with new attributes. * config/arm/cortex-a8-neon.md: Update with new attributes. * config/arm/cortex-a9.md: Update with new attributes. * config/arm/cortex-m4-fpu.md: Update with new attributes. * config/arm/cortex-r4f.md: Update with new attributes. * config/arm/marvell-pj4.md: Update with new attributes. * config/arm/vfp11.md: Update with new attributes. From-SVN: r202331
2013-09-06[Patch ARM AARCH64] Split "type" attributes: fdivJames Greenhalgh1-2/+2
gcc/ * config/arm/types.md: Split fdiv<sd> as fsqrt<sd>, fdiv<sd>. * config/arm/arm.md (core_cycles): Remove fdiv. * config/arm/vfp.md: (*sqrtsf2_vfp): Update for attribute changes. (*sqrtdf2_vfp): Likewise. * config/aarch64/aarch64.md: (sqrt<mode>2): Update for attribute changes. * config/arm/arm1020e.md: Update with new attributes. * config/arm/cortex-a15-neon.md: Update with new attributes. * config/arm/cortex-a5.md: Update with new attributes. * config/arm/cortex-a53.md: Update with new attributes. * config/arm/cortex-a7.md: Update with new attributes. * config/arm/cortex-a8-neon.md: Update with new attributes. * config/arm/cortex-a9.md: Update with new attributes. * config/arm/cortex-m4-fpu.md: Update with new attributes. * config/arm/cortex-r4f.md: Update with new attributes. * config/arm/marvell-pj4.md: Update with new attributes. * config/arm/vfp11.md: Update with new attributes. From-SVN: r202329
2013-09-06[ARM,AARCH64] Insn type reclassification. Split f_cvt type.James Greenhalgh1-1/+2
gcc/ * config/arm/types.md (type): Split f_cvt as f_cvt, f_cvtf2i, f_cvti2f. * config/aarch64/aarch64.md (l<fcvt_pattern><su_optab><GPF:mode><GPI:mode>2): Update with new attributes. (fix_trunc<GPF:mode><GPI:mode>2): Likewise. (fixuns_trunc<GPF:mode><GPI:mode>2): Likewise. (float<GPI:mode><GPF:mode>2): Likewise. * config/arm/vfp.md (*truncsisf2_vfp): Update with new attributes. (*truncsidf2_vfp): Likewise. (fixuns_truncsfsi2): Likewise. (fixuns_truncdfsi2): Likewise. (*floatsisf2_vfp): Likewise. (*floatsidf2_vfp): Likewise. (floatunssisf2): Likewise. (floatunssidf2): Likewise. (*combine_vcvt_f32_<FCVTI32typename>): Likewise. (*combine_vcvt_f64_<FCVTI32typename>): Likewise. * config/arm/arm1020e.md: Update with new attributes. * config/arm/cortex-a15-neon.md: Update with new attributes. * config/arm/cortex-a5.md: Update with new attributes. * config/arm/cortex-a53.md: Update with new attributes. * config/arm/cortex-a7.md: Update with new attributes. * config/arm/cortex-a8-neon.md: Update with new attributes. * config/arm/cortex-a9.md: Update with new attributes. * config/arm/cortex-m4-fpu.md: Update with new attributes. * config/arm/cortex-r4f.md: Update with new attributes. * config/arm/marvell-pj4.md: Update with new attributes. * config/arm/vfp11.md: Update with new attributes. From-SVN: r202328
2013-09-05[AARCH64][Insn classification unification 3/N] ALU/shift typesJames Greenhalgh1-6/+28
2013-09-05 James Greenhalgh <james.greenhalgh@arm.com> Sofiane Naci <sofiane.naci@arm.com> * config/arm/types.md (define_attr "type"): Expand "arlo_imm" into "adr", "alu_imm", "alus_imm", "logic_imm", "logics_imm". Expand "arlo_reg" into "adc_reg", "adc_imm", "adcs_reg", "adcs_imm", "alu_ext", "alu_reg", "alus_ext", "alus_reg", "bfm", "csel", "logic_reg", "logics_reg", "rev". Expand "arlo_shift" into "alu_shift_imm", "alus_shift_imm", "logic_shift_imm", "logics_shift_imm". Expand "arlo_shift_reg" into "alu_shift_reg", "alus_shift_reg", "logic_shift_reg", "logics_shift_reg". Expand "clz" into "clz, "rbit". Rename "shift" to "shift_imm". * config/arm/arm.md (define_attr "core_cycles"): Update for attribute changes. Update for attribute changes all occurrences of arlo_* and shift* types. * config/arm/arm-fixed.md: Update for attribute changes all occurrences of arlo_* types. * config/arm/thumb2.md: Update for attribute changes all occurrences of arlo_* types. * config/arm/arm.c (xscale_sched_adjust_cost): (rtx insn, rtx (cortexa7_older_only): Likewise. (cortexa7_younger): Likewise. * config/arm/arm1020e.md (1020alu_op): Update for attribute changes. (1020alu_shift_op): Likewise. (1020alu_shift_reg_op): Likewise. * config/arm/arm1026ejs.md (alu_op): Update for attribute changes. (alu_shift_op): Likewise. (alu_shift_reg_op): Likewise. * config/arm/arm1136jfs.md (11_alu_op): Update for attribute changes. (11_alu_shift_op): Likewise. (11_alu_shift_reg_op): Likewise. * config/arm/arm926ejs.md (9_alu_op): Update for attribute changes. (9_alu_shift_reg_op): Likewise. * config/arm/cortex-a15.md (cortex_a15_alu): Update for attribute changes. (cortex_a15_alu_shift): Likewise. (cortex_a15_alu_shift_reg): Likewise. * config/arm/cortex-a5.md (cortex_a5_alu): Update for attribute changes. (cortex_a5_alu_shift): Likewise. * config/arm/cortex-a53.md (cortex_a53_alu): Update for attribute changes. (cortex_a53_alu_shift): Likewise. * config/arm/cortex-a7.md (cortex_a7_alu_imm): Update for attribute changes. (cortex_a7_alu_reg): Likewise. (cortex_a7_alu_shift): Likewise. * config/arm/cortex-a8.md (cortex_a8_alu): Update for attribute changes. (cortex_a8_alu_shift): Likewise. (cortex_a8_alu_shift_reg): Likewise. * config/arm/cortex-a9.md (cortex_a9_dp): Update for attribute changes. (cortex_a9_dp_shift): Likewise. * config/arm/cortex-m4.md (cortex_m4_alu): Update for attribute changes. * config/arm/cortex-r4.md (cortex_r4_alu): Update for attribute changes. (cortex_r4_mov): Likewise. (cortex_r4_alu_shift_reg): Likewise. * config/arm/fa526.md (526_alu_op): Update for attribute changes. (526_alu_shift_op): Likewise. * config/arm/fa606te.md (606te_alu_op): Update for attribute changes. * config/arm/fa626te.md (626te_alu_op): Update for attribute changes. (626te_alu_shift_op): Likewise. * config/arm/fa726te.md (726te_alu_op): Update for attribute changes. (726te_alu_shift_op): Likewise. (726te_alu_shift_reg_op): Likewise. * config/arm/fmp626.md (mp626_alu_op): Update for attribute changes. (mp626_alu_shift_op): Likewise. * config/arm/marvell-pj4.md (pj4_alu): Update for attribute changes. (pj4_alu_conds): Likewise. (pj4_shift): Likewise. (pj4_shift_conds): Likewise. (pj4_alu_shift): Likewise. (pj4_alu_shift_conds): Likewise. * config/aarch64/aarch64.md: Update for attribute change all occurrences of arlo_* and shift* types. Co-Authored-By: Sofiane Naci <sofiane.naci@arm.com> From-SVN: r202291
2013-09-05[AArch64, AArch32][Insn classification refactoring 6/N] Remove "neon_type" ↵James Greenhalgh1-2/+2
attribute gcc/ * config/aarch64/aarch64.md: Rename r_2_f and f_2_r where appropriate. * config/arm/arm.md (attribute "neon_type"): Delete. Move attribute values to config/arm/types.md. Update patterns where appropriate. * config/arm/types.md (type): Add Neon types. * config/arm/neon.md: Remove "neon_type" attribute, use "type" attribute everywhere appropriate. * doc/md.texi: Change references to neon_type to refer to type. * config/arm/vfp.md: Update patterns for attribute changes. * config/arm/arm.c (cortexa7_older_only): Update for attribute change. * config/arm/arm1020e.md: Update for attribute change. * config/arm/cortex-a15-neon.md: Update for attribute change. * config/arm/cortex-a15.md: Update for attribute change. * config/arm/cortex-a5.md: Update for attribute change. * config/arm/cortex-a53.md: Update for attribute change. * config/arm/cortex-a7.md: Update for attribute change. * config/arm/cortex-a8-neon.md: Update for attribute change. * config/arm/cortex-a8.md: Update for attribute change. * config/arm/cortex-a9-neon.md: Update for attribute change. * config/arm/cortex-a9.md: Update for attribute change. * config/arm/cortex-m4-fpu.md: Update for attribute change. * config/arm/cortex-r4f.md: Update for attribute change. * config/arm/iterators.md: Update comment referring to neon_type. * config/arm/iwmmxt.md: Update for attribute change. * config/arm/marvell-pj4.md: Update for attribute change. * config/arm/neon-schedgen.ml (emit_insn_reservations): Update for attribute change. * config/arm/vfp11.md: Update for attribute change. Co-Authored-By: Sofiane Naci <sofiane.naci@arm.com> From-SVN: r202272
2013-07-22arm.md (attribute "insn"): Delete.Sofiane Naci1-14/+14
* config/arm/arm.md (attribute "insn"): Delete. (attribute "type"): Add "mov_imm", "mov_reg", "mov_shift", "mov_shift_reg", "mvn_imm", "mvn_reg", "mvn_shift" and "mvn_shift_reg". (not_shiftsi): Update for attribute change. (not_shiftsi_compare0): Likewise. (not_shiftsi_compare0_scratch): Likewise. (arm_one_cmplsi2): Likewise. (thumb1_one_cmplsi2): Likewise. (notsi_compare0): Likewise. (notsi_compare0_scratch): Likewise. (thumb1_movdi_insn): Likewise. (arm_movsi_insn): Likewise. (movhi_insn_arch4): Likewise. (movhi_bytes): Likewise. (arm_movqi_insn): Likewise. (thumb1_movqi_insn): Likewise. (arm32_movhf): Likewise. (thumb1_movhf): Likewise. (arm_movsf_soft_insn): Likewise. (thumb1_movsf_insn): Likewise. (thumb_movdf_insn): Likewise. (movsicc_insn): Likewise. (movsfcc_soft_insn): Likewise. (and_scc): Likewise. (cond_move): Likewise. (if_move_not): Likewise. (if_not_move): Likewise. (if_shift_move): Likewise. (if_move_shift): Likewise. (if_shift_shift): Likewise. (if_not_arith): Likewise. (if_arith_not): Likewise. (cond_move_not): Likewise. * config/arm/neon.md (neon_mov<mode>): Update for attribute change. (neon_mov<mode>): Likewise. * config/arm/vfp.md (arm_movsi_vfp): Update for attribute change. (thumb2_movsi_vfp): Likewise. (movsf_vfp): Likewise. (thumb2_movsf_vfp): Likewise. * config/arm/arm.c (xscale_sched_adjust_cost): Update for attribute change. (cortexa7_older_only): Likewise. (cortexa7_younger): Likewise. * config/arm/arm1020e.md (1020alu_op): Update for attribute change. (1020alu_shift_op): Likewise. (1020alu_shift_reg_op): Likewise. * config/arm/arm1026ejs.md (alu_op): Update for attribute change. (alu_shift_op): Likewise. (alu_shift_reg_op): Likewise. * config/arm/arm1136jfs.md (11_alu_op): Update for attribute change. (11_alu_shift_op): Likewise. (11_alu_shift_reg_op): Likewise. * config/arm/arm926ejs.md (9_alu_op): Update for attribute change. (9_alu_shift_reg_op): Likewise. * config/arm/cortex-a15.md (cortex_a15_alu): Update for attribute change. (cortex_a15_alu_shift): Likewise. (cortex_a15_alu_shift_reg): Likewise. * config/arm/cortex-a5.md (cortex_a5_alu): Update for attribute change. (cortex_a5_alu_shift): Likewise. * config/arm/cortex-a53.md (cortex_a53_alu): Update for attribute change. (cortex_a53_alu_shift): Likewise. * config/arm/cortex-a7.md (cortex_a7_alu_imm): Update for attribute change. (cortex_a7_alu_reg): Likewise. (cortex_a7_alu_shift): Likewise. * config/arm/cortex-a8.md (cortex_a8_alu): Update for attribute change. (cortex_a8_alu_shift): Likewise. (cortex_a8_alu_shift_reg): Likewise. (cortex_a8_mov): Likewise. * config/arm/cortex-a9.md (cortex_a9_dp): Update for attribute change. (cortex_a9_dp_shift): Likewise. * config/arm/cortex-m4.md (cortex_m4_alu): Update for attribute change. * config/arm/cortex-r4.md (cortex_r4_alu): Update for attribute change. (cortex_r4_mov): Likewise. (cortex_r4_alu_shift): Likewise. (cortex_r4_alu_shift_reg): Likewise. * config/arm/fa526.md (526_alu_op): Update for attribute change. (526_alu_shift_op): Likewise. * config/arm/fa606te.md (606te_alu_op): Update for attribute change. * config/arm/fa626te.md (626te_alu_op): Update for attribute change. (626te_alu_shift_op): Likewise. * config/arm/fa726te.md (726te_shift_op): Update for attribute change. (726te_alu_op): Likewise. (726te_alu_shift_op): Likewise. (726te_alu_shift_reg_op): Likewise. * config/arm/fmp626.md (mp626_alu_op): Update for attribute change. (mp626_alu_shift_op): Likewise. * config/arm/marvell-pj4.md (pj4_alu_e1): Update for attribute change. (pj4_alu_e1_conds): Likewise. (pj4_alu): Likewise. (pj4_alu_conds): Likewise. (pj4_shift): Likewise. (pj4_shift_conds): Likewise. (pj4_alu_shift): Likewise. (pj4_alu_shift_conds): Likewise. From-SVN: r201124
2013-07-18arm.md (attribute "type"): Rename "simple_alu_imm" to "arlo_imm".Sofiane Naci1-8/+8
* config/arm/arm.md (attribute "type"): Rename "simple_alu_imm" to "arlo_imm". Rename "alu_reg" to "arlo_reg". Rename "simple_alu_shift" to "extend". Split "alu_shift" into "shift" and "arlo_shift". Split "alu_shift_reg" into "shift_reg" and "arlo_shift_reg". List types in alphabetical order. (attribute "core_cycles"): Update for attribute changes. (arm_addsi3): Likewise. (addsi3_compare0): Likewise. (addsi3_compare0_scratch): Likewise. (addsi3_compare_op1): Likewise. (addsi3_compare_op2): Likewise. (compare_addsi2_op0): Likewise. (compare_addsi2_op1): Likewise. (addsi3_carryin_shift_<optab>): Likewise. (subsi3_carryin_shift): Likewise. (rsbsi3_carryin_shift): Likewise. (arm_subsi3_insn): Likewise. (subsi3_compare0): Likewise. (subsi3_compare): Likewise. (arm_andsi3_insn): Likewise. (thumb1_andsi3_insn): Likewise. (andsi3_compare0): Likewise. (andsi3_compare0_scratch): Likewise. (zeroextractsi_compare0_scratch (andsi_not_shiftsi_si): Likewise. (iorsi3_insn): Likewise. (iorsi3_compare0): Likewise. (iorsi3_compare0_scratch): Likewise. (arm_xorsi3): Likewise. (thumb1_xorsi3_insn): Likewise. (xorsi3_compare0): Likewise. (xorsi3_compare0_scratch): Likewise. (satsi_<SAT:code>_shift): Likewise. (rrx): Likewise. (arm_shiftsi3): Likewise. (shiftsi3_compare0): Likewise. (not_shiftsi): Likewise. (not_shiftsi_compare0): Likewise. (not_shiftsi_compare0_scratch): Likewise. (arm_one_cmplsi2): Likewise. (thumb_one_complsi2): Likewise. (notsi_compare0): Likewise. (notsi_compare0_scratch): Likewise. (thumb1_zero_extendhisi2): Likewise. (arm_zero_extendhisi2): Likewise. (arm_zero_extendhisi2_v6): Likewise. (arm_zero_extendhisi2addsi): Likewise. (thumb1_zero_extendqisi2): Likewise. (thumb1_zero_extendqisi2_v6): Likewise. (arm_zero_extendqisi2): Likewise. (arm_zero_extendqisi2_v6): Likewise. (arm_zero_extendqisi2addsi): Likewise. (thumb1_extendhisi2): Likewise. (arm_extendhisi2): Likewise. (arm_extendhisi2_v6): Likewise. (arm_extendqisi): Likewise. (arm_extendqisi_v6): Likewise. (arm_extendqisi2addsi): Likewise. (thumb1_extendqisi2): Likewise. (thumb1_movdi_insn): Likewise. (arm_movsi_insn): Likewise. (movsi_compare0): Likewise. (movhi_insn_arch4): Likewise. (movhi_bytes): Likewise. (arm_movqi_insn): Likewise. (thumb1_movqi_insn): Likewise. (arm32_movhf): Likewise. (thumb1_movhf): Likewise. (arm_movsf_soft_insn): Likewise. (thumb1_movsf_insn): Likewise. (movdf_soft_insn): Likewise. (thumb_movdf_insn): Likewise. (arm_cmpsi_insn): Likewise. (cmpsi_shiftsi): Likewise. (cmpsi_shiftsi_swp): Likewise. (arm_cmpsi_negshiftsi_si): Likewise. (movsicc_insn): Likewise. (movsfcc_soft_insn): Likewise. (arith_shiftsi): Likewise. (arith_shiftsi_compare0 (arith_shiftsi_compare0_scratch (sub_shiftsi): Likewise. (sub_shiftsi_compare0 (sub_shiftsi_compare0_scratch (and_scc): Likewise. (cond_move): Likewise. (if_plus_move): Likewise. (if_move_plus): Likewise. (if_move_not): Likewise. (if_not_move): Likewise. (if_shift_move): Likewise. (if_move_shift): Likewise. (if_shift_shift): Likewise. (if_not_arith): Likewise. (if_arith_not): Likewise. (cond_move_not): Likewise. (thumb1_ashlsi3): Set type attribute. (thumb1_ashrsi3): Likewise. (thumb1_lshrsi3): Likewise. (thumb1_rotrsi3): Likewise. (shiftsi3_compare0_scratch): Likewise. * config/arm/neon.md (neon_mov<mode>): Update for attribute changes. (neon_mov<mode>): Likewise. * config/arm/thumb2.md (thumb_andsi_not_shiftsi_si): Update for attribute changes. (thumb2_movsi_insn): Likewise. (thumb2_cmpsi_neg_shiftsi): Likewise. (thumb2_extendqisi_v6): Likewise. (thumb2_zero_extendhisi2_v6): Likewise. (thumb2_zero_extendqisi2_v6): Likewise. (thumb2_shiftsi3_short): Likewise. (thumb2_addsi3_compare0_scratch): Likewise. (orsi_not_shiftsi_si): Likewise. * config/arm/vfp.md (arm_movsi_vfp): Update for attribute changes. * config/arm/arm-fixed.md (arm_ssatsihi_shift): Update for attribute changes. * config/arm/arm1020e.md (1020alu_op): Update for attribute changes. (1020alu_shift_op): Likewise. (1020alu_shift_reg_op): Likewise. * config/arm/arm1026ejs.md (alu_op): Update for attribute changes. (alu_shift_op): Likewise. (alu_shift_reg_op): Likewise. * config/arm/arm1136jfs.md (11_alu_op): Update for attribute changes. (11_alu_shift_op): Likewise. (11_alu_shift_reg_op): Likewise. * config/arm/arm926ejs.md (9_alu_op): Update for attribute changes. (9_alu_shift_reg_op): Likewise. * config/arm/cortex-a15.md (cortex_a15_alu): Update for attribute changes. (cortex_a15_alu_shift): Likewise. (cortex_a15_alu_shift_reg): Likewise. * config/arm/cortex-a5.md (cortex_a5_alu): Update for attribute changes. (cortex_a5_alu_shift): Likewise. * config/arm/cortex-a53.md (cortex_a53_alu) : Update for attribute changes. (cortex_a53_alu_shift): Likewise. * config/arm/cortex-a7.md (cortex_a7_alu_imm): Update for attribute changes. (cortex_a7_alu_reg): Likewise. (cortex_a7_alu_shift): Likewise. * config/arm/cortex-a8.md (cortex_a8_alu): Update for attribute changes. (cortex_a8_alu_shift): Likewise. (cortex_a8_alu_shift_reg): Likewise. (cortex_a8_mov): Likewise. * config/arm/cortex-a9.md (cortex_a9_dp): Update for attribute changes. (cortex_a9_dp_shift): Likewise. * config/arm/cortex-m4.md (cortex_m4_alu): Update for attribute changes. * config/arm/cortex-r4.md (cortex_r4_alu): Update for attribute changes. (cortex_r4_mov): Likewise. (cortex_r4_alu_shift): Likewise. (cortex_r4_alu_shift_reg): Likewise. * config/arm/fa526.md (526_alu_op): Update for attribute changes. (526_alu_shift_op): Likewise. * config/arm/fa606te.md (606te_alu_op): Update for attribute changes. * config/arm/fa626te.md (626te_alu_op): Update for attribute changes. (626te_alu_shift_op): Likewise. * config/arm/fa726te.md (726te_shift_op): Update for attribute changes. (726te_alu_op): Likewise. (726te_alu_shift_op): Likewise. (726te_alu_shift_reg_op): Likewise. * config/arm/fmp626.md (mp626_alu_op): Update for attribute changes. (mp626_alu_shift_op): Likewise. * config/arm/marvell-pj4.md (pj4_alu_e1): Update for attribute changes. (pj4_alu_e1_conds): Likewise. (pj4_alu): Likewise. (pj4_alu_conds): Likewise. (pj4_shift): Likewise. (pj4_shift_conds): Likewise. (pj4_alu_shift): Likewise. (pj4_alu_shift_conds): Likewise. * config/arm/arm.c (xscale_sched_adjust_cost): Update for attribute changes. (cortexa7_older_only): Likewise. (cortexa7_younger): Likewise. From-SVN: r201024
2013-06-18arm.md (attribute "insn"): Move multiplication and division attributes to...Sofiane Naci1-2/+6
* config/arm/arm.md (attribute "insn"): Move multiplication and division attributes to... (attribute "type"): ... here. Remove mult. (attribute "mul32"): New attribute. (attribute "mul64"): Add umaal. (*arm_mulsi3): Update attributes. (*arm_mulsi3_v6): Likewise. (*thumb_mulsi3): Likewise. (*thumb_mulsi3_v6): Likewise. (*mulsi3_compare0): Likewise. (*mulsi3_compare0_v6): Likewise. (*mulsi_compare0_scratch): Likewise. (*mulsi_compare0_scratch_v6): Likewise. (*mulsi3addsi): Likewise. (*mulsi3addsi_v6): Likewise. (*mulsi3addsi_compare0): Likewise. (*mulsi3addsi_compare0_v6): Likewise. (*mulsi3addsi_compare0_scratch): Likewise. (*mulsi3addsi_compare0_scratch_v6): Likewise. (*mulsi3subsi): Likewise. (*mulsidi3adddi): Likewise. (*mulsi3addsi_v6): Likewise. (*mulsidi3adddi_v6): Likewise. (*mulsidi3_nov6): Likewise. (*mulsidi3_v6): Likewise. (*umulsidi3_nov6): Likewise. (*umulsidi3_v6): Likewise. (*umulsidi3adddi): Likewise. (*umulsidi3adddi_v6): Likewise. (*smulsi3_highpart_nov6): Likewise. (*smulsi3_highpart_v6): Likewise. (*umulsi3_highpart_nov6): Likewise. (*umulsi3_highpart_v6): Likewise. (mulhisi3): Likewise. (*mulhisi3tb): Likewise. (*mulhisi3bt): Likewise. (*mulhisi3tt): Likewise. (maddhisi4): Likewise. (*maddhisi4tb): Likewise. (*maddhisi4tt): Likewise. (maddhidi4): Likewise. (*maddhidi4tb): Likewise. (*maddhidi4tt): Likewise. (divsi3): Likewise. (udivsi3): Likewise. * config/arm/thumb2.md (thumb2_mulsi_short): Update attributes. (thumb2_mulsi_short_compare0): Likewise. (thumb2_mulsi_short_compare0_scratch): Likewise. * config/arm/arm1020e.md (1020mult1): Update attribute change. (1020mult2): Likewise. (1020mult3): Likewise. (1020mult4): Likewise. (1020mult5): Likewise. (1020mult6): Likewise. * config/arm/cortex-a15.md (cortex_a15_mult32): Update attribute change. (cortex_a15_mult64): Likewise. (cortex_a15_sdiv): Likewise. (cortex_a15_udiv): Likewise. * config/arm/arm1026ejs.md (mult1): Update attribute change. (mult2): Likewise. (mult3): Likewise. (mult4): Likewise. (mult5): Likewise. (mult6): Likewise. * config/arm/marvell-pj4.md (pj4_ir_mul): Update attribute change. (pj4_ir_div): Likewise. * config/arm/arm1136jfs.md (11_mult1): Update attribute change. (11_mult2): Likewise. (11_mult3): Likewise. (11_mult4): Likewise. (11_mult5): Likewise. (11_mult6): Likewise. (11_mult7): Likewise. * config/arm/cortex-a8.md (cortex_a8_mul): Update attribute change. (cortex_a8_mla): Likewise. (cortex_a8_mull): Likewise. (cortex_a8_smulwy): Likewise. (cortex_a8_smlald): Likewise. * config/arm/cortex-m4.md (cortex_m4_alu): Update attribute change. * config/arm/cortex-r4.md (cortex_r4_mul_4): Update attribute change. (cortex_r4_mul_3): Likewise. (cortex_r4_mla_4): Likewise. (cortex_r4_mla_3): Likewise. (cortex_r4_smlald): Likewise. (cortex_r4_mull): Likewise. (cortex_r4_sdiv): Likewise. (cortex_r4_udiv): Likewise. * config/arm/cortex-a7.md (cortex_a7_mul): Update attribute change. (cortex_a7_idiv): Likewise. * config/arm/arm926ejs.md (9_mult1): Update attribute change. (9_mult2): Likewise. (9_mult3): Likewise. (9_mult4): Likewise. (9_mult5): Likewise. (9_mult6): Likewise. * config/arm/cortex-a53.md (cortex_a53_mul): Update attribute change. (cortex_a53_sdiv): Likewise. (cortex_a53_udiv): Likewise. * config/arm/fa726te.md (726te_mult_op): Update attribute change. * config/arm/fmp626.md (mp626_mult1): Update attribute change. (mp626_mult2): Likewise. (mp626_mult3): Likewise. (mp626_mult4): Likewise. * config/arm/fa526.md (526_mult1): Update attribute change. (526_mult2): Likewise. * config/arm/arm-generic.md (mult): Update attribute change. (mult_ldsched_strongarm): Likewise. (mult_ldsched): Likewise. (multi_cycle): Likewise. * config/arm/cortex-a5.md (cortex_a5_mul): Update attribute change. * config/arm/fa606te.md (606te_mult1): Update attribute change. (606te_mult2): Likewise. (606te_mult3): Likewise. (606te_mult4): Likewise. * config/arm/cortex-a9.md (cortex_a9_mult16): Update attribute change. (cortex_a9_mac16): Likewise. (cortex_a9_multiply): Likewise. (cortex_a9_mac): Likewise. (cortex_a9_multiply_long): Likewise. * config/arm/fa626te.md (626te_mult1): Update attribute change. (626te_mult2): Likewise. (626te_mult3): Likewise. (626te_mult4): Likewise. From-SVN: r200167
2013-01-21marvell-pj4.md (pj4_shift_conds, [...]): Handle simple_alu_shift.Yi-Hsiu Hsu1-4/+4
2013-01-21 Yi-Hsiu Hsu <ahsu@marvell.com> * config/arm/marvell-pj4.md (pj4_shift_conds, pj4_alu_shift, pj4_alu_shift_conds, pj4_shift): Handle simple_alu_shift. From-SVN: r195333
2013-01-21Fix up wrong marvell-pj4.md file committed earlier and update copyright year.Ramana Radhakrishnan1-5/+5
2013-01-21 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> PR target/56058 * config/arm/marvell-pj4.md: Update copyright year. Fix up use of alu to alu_reg and simple_alu_imm. From-SVN: r195332
2013-01-20Check in missing file for:Yi-Hsiu Hsu1-0/+205
Add support for Marvell's PJ4 CPU 2013-01-18 Yi-Hsiu Hsu <ahsu@marvell.com> Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> * config/arm/marvell-pj4.md: New file. From-SVN: r195325