diff options
author | Steve Ellcey <sellcey@cavium.com> | 2017-12-05 18:47:00 +0000 |
---|---|---|
committer | Steve Ellcey <sje@gcc.gnu.org> | 2017-12-05 18:47:00 +0000 |
commit | 6981f098df43865ad183293c0c7c3d2f9374460e (patch) | |
tree | 891d64518fe2a26abbebe5a382ec6ee78bedb150 | |
parent | 53943619eb92811e82c3e0917c675ee709fbfe2a (diff) | |
download | gcc-6981f098df43865ad183293c0c7c3d2f9374460e.zip gcc-6981f098df43865ad183293c0c7c3d2f9374460e.tar.gz gcc-6981f098df43865ad183293c0c7c3d2f9374460e.tar.bz2 |
thunderx2-t99.md (thunderx2t99_branch): Add trap to reservation.
2017-12-05 Steve Ellcey <sellcey@cavium.com>
* 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
-rw-r--r-- | gcc/ChangeLog | 10 | ||||
-rw-r--r-- | gcc/config/aarch64/thunderx2t99.md | 27 |
2 files changed, 34 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index d47c575..603f7f0 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,13 @@ +2017-12-05 Steve Ellcey <sellcey@cavium.com> + + * 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 <ramana.radhakrishnan@arm.com> PR target/82248 diff --git a/gcc/config/aarch64/thunderx2t99.md b/gcc/config/aarch64/thunderx2t99.md index 5bcf4ff..6d2785c 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 |