From 6981f098df43865ad183293c0c7c3d2f9374460e Mon Sep 17 00:00:00 2001 From: Steve Ellcey Date: Tue, 5 Dec 2017 18:47:00 +0000 Subject: [PATCH] thunderx2-t99.md (thunderx2t99_branch): Add trap to reservation. 2017-12-05 Steve Ellcey * config/aarch64/thunderx2-t99.md (thunderx2t99_branch): Add trap to reservation. (thunderx2t99_nothing): New insn reservation. (thunderx2t99_mrs): New insn reservation. (thunderx2t99_multiple): New insn reservation. (thunderx2t99_alu_basi): Add bfx to reservation. (thunderx2t99_fp_cmp): Add fccmps and fccmpd to reservation. From-SVN: r255431 --- gcc/ChangeLog | 10 ++++++++++ gcc/config/aarch64/thunderx2t99.md | 27 ++++++++++++++++++++++++--- 2 files changed, 34 insertions(+), 3 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index d47c575763a..603f7f0cf58 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,13 @@ +2017-12-05 Steve Ellcey + + * config/aarch64/thunderx2-t99.md (thunderx2t99_branch): Add trap + to reservation. + (thunderx2t99_nothing): New insn reservation. + (thunderx2t99_mrs): New insn reservation. + (thunderx2t99_multiple): New insn reservation. + (thunderx2t99_alu_basi): Add bfx to reservation. + (thunderx2t99_fp_cmp): Add fccmps and fccmpd to reservation. + 2017-12-05 Ramana Radhakrishnan PR target/82248 diff --git a/gcc/config/aarch64/thunderx2t99.md b/gcc/config/aarch64/thunderx2t99.md index 5bcf4ff9484..6d2785c759b 100644 --- a/gcc/config/aarch64/thunderx2t99.md +++ b/gcc/config/aarch64/thunderx2t99.md @@ -69,9 +69,30 @@ (define_insn_reservation "thunderx2t99_branch" 1 (and (eq_attr "tune" "thunderx2t99") - (eq_attr "type" "call,branch")) + (eq_attr "type" "call,branch,trap")) "thunderx2t99_i2") +;; Misc instructions. + +(define_insn_reservation "thunderx2t99_nothing" 0 + (and (eq_attr "tune" "thunderx2t99") + (eq_attr "type" "no_insn,block")) + "nothing") + +(define_insn_reservation "thunderx2t99_mrs" 0 + (and (eq_attr "tune" "thunderx2t99") + (eq_attr "type" "mrs")) + "thunderx2t99_i2") + +(define_insn_reservation "thunderx2t99_multiple" 1 + (and (eq_attr "tune" "thunderx2t99") + (eq_attr "type" "multiple")) + "thunderx2t99_i0+thunderx2t99_i1+thunderx2t99_i2+thunderx2t99_ls0+\ + thunderx2t99_ls1+thunderx2t99_sd+thunderx2t99_i1m1+thunderx2t99_i1m2+\ + thunderx2t99_i1m3+thunderx2t99_ls0d1+thunderx2t99_ls0d2+thunderx2t99_ls0d3+\ + thunderx2t99_ls1d1+thunderx2t99_ls1d2+thunderx2t99_ls1d3+thunderx2t99_f0+\ + thunderx2t99_f1") + ;; Integer arithmetic/logic instructions. ; Plain register moves are handled by renaming, and don't create any uops. @@ -87,7 +108,7 @@ adc_reg,adc_imm,adcs_reg,adcs_imm,\ logic_reg,logic_imm,logics_reg,logics_imm,\ csel,adr,mov_imm,shift_reg,shift_imm,bfm,\ - rbit,rev,extend,rotate_imm")) + bfx,rbit,rev,extend,rotate_imm")) "thunderx2t99_i012") (define_insn_reservation "thunderx2t99_alu_shift" 2 @@ -155,7 +176,7 @@ (define_insn_reservation "thunderx2t99_fp_cmp" 5 (and (eq_attr "tune" "thunderx2t99") - (eq_attr "type" "fcmps,fcmpd")) + (eq_attr "type" "fcmps,fcmpd,fccmps,fccmpd")) "thunderx2t99_f01") (define_insn_reservation "thunderx2t99_fp_divsqrt_s" 16 -- 2.30.2