gcc/gcc/config/mips/74k.md

502 lines
16 KiB
Markdown
Raw Normal View History

;; DFA-based pipeline description for MIPS32 model 74k.
;; Contributed by MIPS Technologies and CodeSourcery.
;;
;; Reference:
;; "MIPS32 74K Microarchitecure Specification Rev. 01.02 Jun 15, 2006"
;; "MIPS32 74Kf Processor Core Datasheet Jun 2, 2006"
;;
;; Copyright (C) 2007-2017 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
;; GCC is free software; you can redistribute it and/or modify it
;; under the terms of the GNU General Public License as published
host-hpux.c: Change copyright header to refer to version 3 of the GNU General Public License... * config/host-hpux.c: Change copyright header to refer to version 3 of the GNU General Public License and to point readers at the COPYING3 file and the FSF's license web page. * config/alpha/predicates.md, config/alpha/vms-ld.c, config/alpha/linux.h, config/alpha/alpha.opt, config/alpha/linux-elf.h, config/alpha/vms.h, config/alpha/elf.h, config/alpha/vms-unwind.h, config/alpha/ev4.md, config/alpha/ev6.md, config/alpha/alpha.c, config/alpha/vms-cc.c, config/alpha/alpha.h, config/alpha/sync.md, config/alpha/openbsd.h, config/alpha/alpha.md, config/alpha/alpha-modes.def, config/alpha/ev5.md, config/alpha/alpha-protos.h, config/alpha/freebsd.h, config/alpha/osf5.h, config/alpha/netbsd.h, config/alpha/vms64.h, config/alpha/constraints.md, config/alpha/osf.h, config/alpha/xm-vms.h, config/alpha/unicosmk.h, config/linux.h, config/frv/predicates.md, config/frv/frv.h, config/frv/linux.h, config/frv/frv.md, config/frv/frv.opt, config/frv/frv-modes.def, config/frv/frv-asm.h, config/frv/frv-protos.h, config/frv/frv-abi.h, config/frv/frv.c, config/s390/tpf.h, config/s390/s390.c, config/s390/predicates.md, config/s390/s390.h, config/s390/linux.h, config/s390/tpf.md, config/s390/tpf.opt, config/s390/2064.md, config/s390/2084.md, config/s390/s390.md, config/s390/s390.opt, config/s390/s390-modes.def, config/s390/fixdfdi.h, config/s390/constraints.md, config/s390/s390-protos.h, config/s390/s390x.h, config/elfos.h, config/dbxcoff.h, config/m32c/predicates.md, config/m32c/cond.md, config/m32c/m32c.c, config/m32c/minmax.md, config/m32c/blkmov.md, config/m32c/m32c-pragma.c, config/m32c/m32c.h, config/m32c/prologue.md, config/m32c/m32c.abi, config/m32c/muldiv.md, config/m32c/bitops.md, config/m32c/mov.md, config/m32c/addsub.md, config/m32c/m32c.md, config/m32c/m32c.opt, config/m32c/t-m32c, config/m32c/m32c-modes.def, config/m32c/jump.md, config/m32c/shift.md, config/m32c/m32c-protos.h, config/libgloss.h, config/spu/spu-protos.h, config/spu/predicates.md, config/spu/spu-builtins.h, config/spu/spu.c, config/spu/spu-builtins.def, config/spu/spu-builtins.md, config/spu/spu.h, config/spu/spu-elf.h, config/spu/constraints.md, config/spu/spu.md, config/spu/spu-c.c, config/spu/spu.opt, config/spu/spu-modes.def, config/spu/t-spu-elf, config/interix.h, config/sparc/hypersparc.md, config/sparc/predicates.md, config/sparc/linux.h, config/sparc/sp64-elf.h, config/sparc/supersparc.md, config/sparc/cypress.md, config/sparc/openbsd1-64.h, config/sparc/openbsd64.h, config/sparc/niagara.md, config/sparc/sparc.md, config/sparc/long-double-switch.opt, config/sparc/ultra3.md, config/sparc/sparc.opt, config/sparc/sync.md, config/sparc/sp-elf.h, config/sparc/sparc-protos.h, config/sparc/ultra1_2.md, config/sparc/biarch64.h, config/sparc/sparc.c, config/sparc/little-endian.opt, config/sparc/sysv4-only.h, config/sparc/sparc.h, config/sparc/linux64.h, config/sparc/freebsd.h, config/sparc/sol2.h, config/sparc/rtemself.h, config/sparc/netbsd-elf.h, config/sparc/vxworks.h, config/sparc/sparc-modes.def, config/sparc/sparclet.md, config/sparc/sysv4.h, config/vx-common.h, config/netbsd-aout.h, config/flat.h, config/m32r/m32r.md, config/m32r/predicates.md, config/m32r/little.h, config/m32r/m32r.c, config/m32r/m32r.opt, config/m32r/linux.h, config/m32r/constraints.md, config/m32r/m32r.h, config/m32r/m32r-protos.h, config/vxworks.opt, config/darwin-c.c, config/darwin.opt, config/i386/i386.h, config/i386/cygming.h, config/i386/linux.h, config/i386/cygwin.h, config/i386/i386.md, config/i386/netware-crt0.c, config/i386/sco5.h, config/i386/mmx.md, config/i386/vx-common.h, config/i386/kaos-i386.h, config/i386/winnt-stubs.c, config/i386/netbsd64.h, config/i386/djgpp.h, config/i386/gas.h, config/i386/sol2.h, config/i386/constraints.md, config/i386/netware-libgcc.c, config/i386/sysv5.h, config/i386/predicates.md, config/i386/geode.md, config/i386/x86-64.h, config/i386/kfreebsd-gnu.h, config/i386/freebsd64.h, config/i386/vxworksae.h, config/i386/pentium.md, config/i386/lynx.h, config/i386/i386elf.h, config/i386/rtemself.h, config/i386/netbsd-elf.h, config/i386/ppro.md, config/i386/k6.md, config/i386/netware.c, config/i386/netware.h, config/i386/i386-modes.def, config/i386/sysv4-cpp.h, config/i386/i386-interix.h, config/i386/cygwin1.c, config/i386/djgpp.opt, config/i386/uwin.h, config/i386/unix.h, config/i386/ptx4-i.h, config/i386/xm-djgpp.h, config/i386/att.h, config/i386/winnt.c, config/i386/beos-elf.h, config/i386/sol2-10.h, config/i386/darwin64.h, config/i386/sse.md, config/i386/i386.opt, config/i386/bsd.h, config/i386/cygming.opt, config/i386/xm-mingw32.h, config/i386/linux64.h, config/i386/openbsdelf.h, config/i386/xm-cygwin.h, config/i386/sco5.opt, config/i386/darwin.h, config/i386/mingw32.h, config/i386/winnt-cxx.c, config/i386/i386-interix3.h, config/i386/nwld.c, config/i386/nwld.h, config/i386/host-cygwin.c, config/i386/cygwin2.c, config/i386/i386-protos.h, config/i386/sync.md, config/i386/openbsd.h, config/i386/host-mingw32.c, config/i386/i386-aout.h, config/i386/nto.h, config/i386/biarch64.h, config/i386/i386-coff.h, config/i386/freebsd.h, config/i386/driver-i386.c, config/i386/knetbsd-gnu.h, config/i386/host-i386-darwin.c, config/i386/vxworks.h, config/i386/crtdll.h, config/i386/i386.c, config/i386/sysv4.h, config/darwin-protos.h, config/linux.opt, config/sol2.c, config/sol2.h, config/sh/symbian.c, config/sh/sh-protos.h, config/sh/linux.h, config/sh/elf.h, config/sh/superh.h, config/sh/sh4.md, config/sh/coff.h, config/sh/newlib.h, config/sh/embed-elf.h, config/sh/symbian-pre.h, config/sh/rtems.h, config/sh/kaos-sh.h, config/sh/sh4a.md, config/sh/constraints.md, config/sh/sh64.h, config/sh/sh.opt, config/sh/symbian-post.h, config/sh/sh-c.c, config/sh/predicates.md, config/sh/sh.c, config/sh/sh.h, config/sh/shmedia.md, config/sh/sh-modes.def, config/sh/little.h, config/sh/sh1.md, config/sh/sh4-300.md, config/sh/superh64.h, config/sh/rtemself.h, config/sh/netbsd-elf.h, config/sh/sh.md, config/sh/vxworks.h, config/usegas.h, config/svr3.h, config/pdp11/pdp11-protos.h, config/pdp11/2bsd.h, config/pdp11/pdp11.md, config/pdp11/pdp11.c, config/pdp11/pdp11.opt, config/pdp11/pdp11-modes.def, config/pdp11/pdp11.h, config/avr/rtems.h, config/avr/avr-protos.h, config/avr/predicates.md, config/avr/constraints.md, config/avr/avr.md, config/avr/avr.c, config/avr/avr.opt, config/avr/avr.h, config/sol2-protos.h, config/dbxelf.h, config/lynx.opt, config/crx/crx.h, config/crx/crx-protos.h, config/crx/crx.md, config/crx/crx.c, config/crx/crx.opt, config/c4x/c4x-c.c, config/c4x/c4x.c, config/c4x/c4x.opt, config/c4x/c4x-modes.def, config/c4x/rtems.h, config/c4x/predicates.md, config/c4x/c4x.h, config/c4x/c4x-protos.h, config/c4x/c4x.md, config/kfreebsd-gnu.h, config/xtensa/predicates.md, config/xtensa/xtensa.c, config/xtensa/linux.h, config/xtensa/xtensa.h, config/xtensa/elf.h, config/xtensa/xtensa.md, config/xtensa/xtensa.opt, config/xtensa/constraints.md, config/xtensa/xtensa-protos.h, config/dbx.h, config/stormy16/predicates.md, config/stormy16/stormy16.md, config/stormy16/stormy16.c, config/stormy16/stormy16.opt, config/stormy16/stormy16.h, config/stormy16/stormy16-protos.h, config/host-solaris.c, config/fr30/fr30.h, config/fr30/predicates.md, config/fr30/fr30-protos.h, config/fr30/fr30.md, config/fr30/fr30.c, config/fr30/fr30.opt, config/vxworksae.h, config/sol2-c.c, config/lynx.h, config/m68hc11/m68hc11-protos.h, config/m68hc11/predicates.md, config/m68hc11/m68hc11.md, config/m68hc11/m68hc11.c, config/m68hc11/m68hc11.opt, config/m68hc11/m68hc11.h, config/m68hc11/m68hc12.h, config/openbsd-oldgas.h, config/host-linux.c, config/interix3.h, config/cris/cris.c, config/cris/predicates.md, config/cris/linux.h, config/cris/cris.h, config/cris/aout.h, config/cris/cris.md, config/cris/linux.opt, config/cris/cris.opt, config/cris/elf.opt, config/cris/aout.opt, config/cris/cris-protos.h, config/vxworks-dummy.h, config/netbsd.h, config/netbsd-elf.h, config/iq2000/iq2000.h, config/iq2000/predicates.md, config/iq2000/iq2000-protos.h, config/iq2000/iq2000.md, config/iq2000/iq2000.c, config/iq2000/iq2000.opt, config/host-darwin.c, config/mt/mt.md, config/mt/mt.c, config/mt/mt.opt, config/mt/t-mt, config/mt/mt.h, config/mt/mt-protos.h, config/svr4.h, config/host-darwin.h, config/chorus.h, config/mn10300/mn10300.c, config/mn10300/mn10300.opt, config/mn10300/predicates.md, config/mn10300/mn10300.h, config/mn10300/linux.h, config/mn10300/constraints.md, config/mn10300/mn10300-protos.h, config/mn10300/mn10300.md, config/ia64/predicates.md, config/ia64/itanium1.md, config/ia64/unwind-ia64.h, config/ia64/ia64-c.c, config/ia64/sync.md, config/ia64/ia64.c, config/ia64/itanium2.md, config/ia64/ia64.h, config/ia64/vect.md, config/ia64/freebsd.h, config/ia64/ia64.md, config/ia64/ia64-modes.def, config/ia64/constraints.md, config/ia64/hpux.h, config/ia64/ia64-protos.h, config/windiss.h, config/gofast.h, config/rtems.h, config/sol2-10.h, config/m68k/predicates.md, config/m68k/m68k.md, config/m68k/linux.h, config/m68k/m68k-modes.def, config/m68k/print-sysroot-suffix.sh, config/m68k/m68k-protos.h, config/m68k/coff.h, config/m68k/m68k-none.h, config/m68k/ieee.opt, config/m68k/openbsd.h, config/m68k/m68k-aout.h, config/m68k/m68k.opt, config/m68k/m68020-elf.h, config/m68k/m68kelf.h, config/m68k/m68k-devices.def, config/m68k/uclinux-oldabi.h, config/m68k/m68k.c, config/m68k/constraints.md, config/m68k/rtemself.h, config/m68k/netbsd-elf.h, config/m68k/m68k.h, config/m68k/uclinux.h, config/rs6000/power4.md, config/rs6000/host-darwin.c, config/rs6000/6xx.md, config/rs6000/linux.h, config/rs6000/eabi.h, config/rs6000/aix41.opt, config/rs6000/xcoff.h, config/rs6000/secureplt.h, config/rs6000/linuxspe.h, config/rs6000/eabialtivec.h, config/rs6000/8540.md, config/rs6000/darwin8.h, config/rs6000/kaos-ppc.h, config/rs6000/windiss.h, config/rs6000/603.md, config/rs6000/aix41.h, config/rs6000/cell.md, config/rs6000/mpc.md, config/rs6000/aix43.h, config/rs6000/beos.h, config/rs6000/gnu.h, config/rs6000/rtems.h, config/rs6000/aix.opt, config/rs6000/darwin.md, config/rs6000/darwin64.h, config/rs6000/default64.h, config/rs6000/7xx.md, config/rs6000/darwin.opt, config/rs6000/spe.md, config/rs6000/rs6000.opt, config/rs6000/rs6000-c.c, config/rs6000/rios2.md, config/rs6000/linuxaltivec.h, config/rs6000/7450.md, config/rs6000/linux64.h, config/rs6000/constraints.md, config/rs6000/440.md, config/rs6000/darwin.h, config/rs6000/host-ppc64-darwin.c, config/rs6000/rs6000.c, config/rs6000/aix52.h, config/rs6000/rs6000.h, config/rs6000/power6.md, config/rs6000/predicates.md, config/rs6000/altivec.md, config/rs6000/aix64.opt, config/rs6000/rios1.md, config/rs6000/rs6000-modes.def, config/rs6000/rs64.md, config/rs6000/eabisim.h, config/rs6000/sysv4le.h, config/rs6000/darwin7.h, config/rs6000/dfp.md, config/rs6000/linux64.opt, config/rs6000/sync.md, config/rs6000/vxworksae.h, config/rs6000/power5.md, config/rs6000/lynx.h, config/rs6000/biarch64.h, config/rs6000/rs6000.md, config/rs6000/sysv4.opt, config/rs6000/eabispe.h, config/rs6000/e500.h, config/rs6000/freebsd.h, config/rs6000/rs6000-protos.h, config/rs6000/netbsd.h, config/rs6000/e500-double.h, config/rs6000/aix.h, config/rs6000/vxworks.h, config/rs6000/40x.md, config/rs6000/aix51.h, config/rs6000/sysv4.h, config/arc/arc-protos.h, config/arc/arc.md, config/arc/arc.c, config/arc/arc.opt, config/arc/arc-modes.def, config/arc/arc.h, config/mcore/mcore-elf.h, config/mcore/mcore-protos.h, config/mcore/predicates.md, config/mcore/mcore.md, config/mcore/mcore.c, config/mcore/mcore.opt, config/mcore/mcore.h, config/mcore/mcore-pe.h, config/darwin.c, config/freebsd-nthr.h, config/score/predicates.md, config/score/score-version.h, config/score/score-protos.h, config/score/misc.md, config/score/elf.h, config/score/score.c, config/score/mac.md, config/score/score7.md, config/score/score.h, config/score/score-conv.h, config/score/score-mdaux.c, config/score/score.md, config/score/score.opt, config/score/score-modes.def, config/score/score-mdaux.h, config/score/mul-div.S, config/arm/uclinux-elf.h, config/arm/semi.h, config/arm/ecos-elf.h, config/arm/arm1020e.md, config/arm/symbian.h, config/arm/linux-elf.h, config/arm/arm1026ejs.md, config/arm/arm1136jfs.md, config/arm/elf.h, config/arm/aout.h, config/arm/arm.c, config/arm/thumb2.md, config/arm/vec-common.md, config/arm/coff.h, config/arm/strongarm-pe.h, config/arm/arm.h, config/arm/cortex-a8-neon.md, config/arm/semiaof.h, config/arm/cortex-a8.md, config/arm/uclinux-eabi.h, config/arm/arm-modes.def, config/arm/linux-eabi.h, config/arm/rtems-elf.h, config/arm/neon-schedgen.ml, config/arm/arm-cores.def, config/arm/arm-protos.h, config/arm/vfp.md, config/arm/aof.h, config/arm/linux-gas.h, config/arm/wince-pe.h, config/arm/neon.md, config/arm/constraints.md, config/arm/neon.ml, config/arm/xscale-elf.h, config/arm/strongarm-coff.h, config/arm/arm.opt, config/arm/arm926ejs.md, config/arm/predicates.md, config/arm/iwmmxt.md, config/arm/arm_neon.h, config/arm/unknown-elf.h, config/arm/kaos-arm.h, config/arm/bpabi.h, config/arm/pe.opt, config/arm/neon-testgen.ml, config/arm/arm.md, config/arm/xscale-coff.h, config/arm/pe.c, config/arm/arm-generic.md, config/arm/pe.h, config/arm/kaos-strongarm.h, config/arm/freebsd.h, config/arm/neon-docgen.ml, config/arm/netbsd.h, config/arm/fpa.md, config/arm/strongarm-elf.h, config/arm/cirrus.md, config/arm/netbsd-elf.h, config/arm/vxworks.h, config/arm/neon-gen.ml, config/kaos.h, config/darwin-driver.c, config/pa/predicates.md, config/pa/pa64-hpux.h, config/pa/pa-hpux.opt, config/pa/som.h, config/pa/pa-hpux1010.opt, config/pa/pa-hpux1111.opt, config/pa/pa-pro-end.h, config/pa/elf.h, config/pa/fptr.c, config/pa/pa64-linux.h, config/pa/pa.md, config/pa/pa.opt, config/pa/pa-hpux.h, config/pa/pa-hpux10.h, config/pa/pa-hpux11.h, config/pa/pa-hpux1010.h, config/pa/pa-protos.h, config/pa/pa-osf.h, config/pa/pa-hpux1111.h, config/pa/pa-64.h, config/pa/milli64.S, config/pa/pa.c, config/pa/pa-linux.h, config/pa/pa.h, config/pa/pa32-linux.h, config/pa/pa64-hpux.opt, config/pa/pa64-regs.h, config/pa/pa-modes.def, config/pa/constraints.md, config/darwin9.h, config/mips/4100.md, config/mips/linux.h, config/mips/elfoabi.h, config/mips/elf.h, config/mips/sdb.h, config/mips/windiss.h, config/mips/rtems.h, config/mips/3000.md, config/mips/iris5.h, config/mips/5000.md, config/mips/7000.md, config/mips/9000.md, config/mips/4600.md, config/mips/linux64.h, config/mips/elforion.h, config/mips/constraints.md, config/mips/generic.md, config/mips/predicates.md, config/mips/4300.md, config/mips/mips-ps-3d.md, config/mips/iris.h, config/mips/24k.md, config/mips/mips.md, config/mips/mips.opt, config/mips/4k.md, config/mips/5k.md, config/mips/vr4120-div.S, config/mips/openbsd.h, config/mips/iris6.h, config/mips/4000.md, config/mips/mips-protos.h, config/mips/6000.md, config/mips/mips.c, config/mips/mips.h, config/mips/r3900.h, config/mips/74k.md, config/mips/netbsd.h, config/mips/vxworks.h, config/mips/mips-modes.def, config/mips/vr.h, config/soft-fp/t-softfp, config/openbsd.h, config/ptx4.h, config/freebsd-spec.h, config/vax/vax.c, config/vax/openbsd.h, config/vax/vax.h, config/vax/elf.h, config/vax/vax.md, config/vax/bsd.h, config/vax/vax.opt, config/vax/vax-modes.def, config/vax/openbsd1.h, config/vax/netbsd.h, config/vax/vax-protos.h, config/vax/netbsd-elf.h, config/vax/vaxv.h, config/vax/ultrix.h, config/freebsd.h, config/h8300/rtems.h, config/h8300/predicates.md, config/h8300/h8300.c, config/h8300/h8300.h, config/h8300/elf.h, config/h8300/h8300.md, config/h8300/h8300.opt, config/h8300/coff.h, config/h8300/h8300-protos.h, config/v850/v850.md, config/v850/predicates.md, config/v850/v850-c.c, config/v850/v850.c, config/v850/v850.opt, config/v850/v850.h, config/v850/v850-protos.h, config/vxworks.c, config/knetbsd-gnu.h, config/sol2-6.h, config/vxworks.h, config/mmix/mmix.h, config/mmix/predicates.md, config/mmix/mmix-protos.h, config/mmix/mmix.md, config/mmix/mmix.c, config/mmix/mmix.opt, config/mmix/mmix-modes.def, config/bfin/bfin.opt, config/bfin/rtems.h, config/bfin/bfin-modes.def, config/bfin/predicates.md, config/bfin/bfin-protos.h, config/bfin/bfin.c, config/bfin/bfin.h, config/bfin/bfin.md: Likewise. From-SVN: r127157
2007-08-02 12:49:31 +02:00
;; by the Free Software Foundation; either version 3, or (at your
;; option) any later version.
;; GCC is distributed in the hope that it will be useful, but WITHOUT
;; ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
;; or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
;; License for more details.
;; You should have received a copy of the GNU General Public License
host-hpux.c: Change copyright header to refer to version 3 of the GNU General Public License... * config/host-hpux.c: Change copyright header to refer to version 3 of the GNU General Public License and to point readers at the COPYING3 file and the FSF's license web page. * config/alpha/predicates.md, config/alpha/vms-ld.c, config/alpha/linux.h, config/alpha/alpha.opt, config/alpha/linux-elf.h, config/alpha/vms.h, config/alpha/elf.h, config/alpha/vms-unwind.h, config/alpha/ev4.md, config/alpha/ev6.md, config/alpha/alpha.c, config/alpha/vms-cc.c, config/alpha/alpha.h, config/alpha/sync.md, config/alpha/openbsd.h, config/alpha/alpha.md, config/alpha/alpha-modes.def, config/alpha/ev5.md, config/alpha/alpha-protos.h, config/alpha/freebsd.h, config/alpha/osf5.h, config/alpha/netbsd.h, config/alpha/vms64.h, config/alpha/constraints.md, config/alpha/osf.h, config/alpha/xm-vms.h, config/alpha/unicosmk.h, config/linux.h, config/frv/predicates.md, config/frv/frv.h, config/frv/linux.h, config/frv/frv.md, config/frv/frv.opt, config/frv/frv-modes.def, config/frv/frv-asm.h, config/frv/frv-protos.h, config/frv/frv-abi.h, config/frv/frv.c, config/s390/tpf.h, config/s390/s390.c, config/s390/predicates.md, config/s390/s390.h, config/s390/linux.h, config/s390/tpf.md, config/s390/tpf.opt, config/s390/2064.md, config/s390/2084.md, config/s390/s390.md, config/s390/s390.opt, config/s390/s390-modes.def, config/s390/fixdfdi.h, config/s390/constraints.md, config/s390/s390-protos.h, config/s390/s390x.h, config/elfos.h, config/dbxcoff.h, config/m32c/predicates.md, config/m32c/cond.md, config/m32c/m32c.c, config/m32c/minmax.md, config/m32c/blkmov.md, config/m32c/m32c-pragma.c, config/m32c/m32c.h, config/m32c/prologue.md, config/m32c/m32c.abi, config/m32c/muldiv.md, config/m32c/bitops.md, config/m32c/mov.md, config/m32c/addsub.md, config/m32c/m32c.md, config/m32c/m32c.opt, config/m32c/t-m32c, config/m32c/m32c-modes.def, config/m32c/jump.md, config/m32c/shift.md, config/m32c/m32c-protos.h, config/libgloss.h, config/spu/spu-protos.h, config/spu/predicates.md, config/spu/spu-builtins.h, config/spu/spu.c, config/spu/spu-builtins.def, config/spu/spu-builtins.md, config/spu/spu.h, config/spu/spu-elf.h, config/spu/constraints.md, config/spu/spu.md, config/spu/spu-c.c, config/spu/spu.opt, config/spu/spu-modes.def, config/spu/t-spu-elf, config/interix.h, config/sparc/hypersparc.md, config/sparc/predicates.md, config/sparc/linux.h, config/sparc/sp64-elf.h, config/sparc/supersparc.md, config/sparc/cypress.md, config/sparc/openbsd1-64.h, config/sparc/openbsd64.h, config/sparc/niagara.md, config/sparc/sparc.md, config/sparc/long-double-switch.opt, config/sparc/ultra3.md, config/sparc/sparc.opt, config/sparc/sync.md, config/sparc/sp-elf.h, config/sparc/sparc-protos.h, config/sparc/ultra1_2.md, config/sparc/biarch64.h, config/sparc/sparc.c, config/sparc/little-endian.opt, config/sparc/sysv4-only.h, config/sparc/sparc.h, config/sparc/linux64.h, config/sparc/freebsd.h, config/sparc/sol2.h, config/sparc/rtemself.h, config/sparc/netbsd-elf.h, config/sparc/vxworks.h, config/sparc/sparc-modes.def, config/sparc/sparclet.md, config/sparc/sysv4.h, config/vx-common.h, config/netbsd-aout.h, config/flat.h, config/m32r/m32r.md, config/m32r/predicates.md, config/m32r/little.h, config/m32r/m32r.c, config/m32r/m32r.opt, config/m32r/linux.h, config/m32r/constraints.md, config/m32r/m32r.h, config/m32r/m32r-protos.h, config/vxworks.opt, config/darwin-c.c, config/darwin.opt, config/i386/i386.h, config/i386/cygming.h, config/i386/linux.h, config/i386/cygwin.h, config/i386/i386.md, config/i386/netware-crt0.c, config/i386/sco5.h, config/i386/mmx.md, config/i386/vx-common.h, config/i386/kaos-i386.h, config/i386/winnt-stubs.c, config/i386/netbsd64.h, config/i386/djgpp.h, config/i386/gas.h, config/i386/sol2.h, config/i386/constraints.md, config/i386/netware-libgcc.c, config/i386/sysv5.h, config/i386/predicates.md, config/i386/geode.md, config/i386/x86-64.h, config/i386/kfreebsd-gnu.h, config/i386/freebsd64.h, config/i386/vxworksae.h, config/i386/pentium.md, config/i386/lynx.h, config/i386/i386elf.h, config/i386/rtemself.h, config/i386/netbsd-elf.h, config/i386/ppro.md, config/i386/k6.md, config/i386/netware.c, config/i386/netware.h, config/i386/i386-modes.def, config/i386/sysv4-cpp.h, config/i386/i386-interix.h, config/i386/cygwin1.c, config/i386/djgpp.opt, config/i386/uwin.h, config/i386/unix.h, config/i386/ptx4-i.h, config/i386/xm-djgpp.h, config/i386/att.h, config/i386/winnt.c, config/i386/beos-elf.h, config/i386/sol2-10.h, config/i386/darwin64.h, config/i386/sse.md, config/i386/i386.opt, config/i386/bsd.h, config/i386/cygming.opt, config/i386/xm-mingw32.h, config/i386/linux64.h, config/i386/openbsdelf.h, config/i386/xm-cygwin.h, config/i386/sco5.opt, config/i386/darwin.h, config/i386/mingw32.h, config/i386/winnt-cxx.c, config/i386/i386-interix3.h, config/i386/nwld.c, config/i386/nwld.h, config/i386/host-cygwin.c, config/i386/cygwin2.c, config/i386/i386-protos.h, config/i386/sync.md, config/i386/openbsd.h, config/i386/host-mingw32.c, config/i386/i386-aout.h, config/i386/nto.h, config/i386/biarch64.h, config/i386/i386-coff.h, config/i386/freebsd.h, config/i386/driver-i386.c, config/i386/knetbsd-gnu.h, config/i386/host-i386-darwin.c, config/i386/vxworks.h, config/i386/crtdll.h, config/i386/i386.c, config/i386/sysv4.h, config/darwin-protos.h, config/linux.opt, config/sol2.c, config/sol2.h, config/sh/symbian.c, config/sh/sh-protos.h, config/sh/linux.h, config/sh/elf.h, config/sh/superh.h, config/sh/sh4.md, config/sh/coff.h, config/sh/newlib.h, config/sh/embed-elf.h, config/sh/symbian-pre.h, config/sh/rtems.h, config/sh/kaos-sh.h, config/sh/sh4a.md, config/sh/constraints.md, config/sh/sh64.h, config/sh/sh.opt, config/sh/symbian-post.h, config/sh/sh-c.c, config/sh/predicates.md, config/sh/sh.c, config/sh/sh.h, config/sh/shmedia.md, config/sh/sh-modes.def, config/sh/little.h, config/sh/sh1.md, config/sh/sh4-300.md, config/sh/superh64.h, config/sh/rtemself.h, config/sh/netbsd-elf.h, config/sh/sh.md, config/sh/vxworks.h, config/usegas.h, config/svr3.h, config/pdp11/pdp11-protos.h, config/pdp11/2bsd.h, config/pdp11/pdp11.md, config/pdp11/pdp11.c, config/pdp11/pdp11.opt, config/pdp11/pdp11-modes.def, config/pdp11/pdp11.h, config/avr/rtems.h, config/avr/avr-protos.h, config/avr/predicates.md, config/avr/constraints.md, config/avr/avr.md, config/avr/avr.c, config/avr/avr.opt, config/avr/avr.h, config/sol2-protos.h, config/dbxelf.h, config/lynx.opt, config/crx/crx.h, config/crx/crx-protos.h, config/crx/crx.md, config/crx/crx.c, config/crx/crx.opt, config/c4x/c4x-c.c, config/c4x/c4x.c, config/c4x/c4x.opt, config/c4x/c4x-modes.def, config/c4x/rtems.h, config/c4x/predicates.md, config/c4x/c4x.h, config/c4x/c4x-protos.h, config/c4x/c4x.md, config/kfreebsd-gnu.h, config/xtensa/predicates.md, config/xtensa/xtensa.c, config/xtensa/linux.h, config/xtensa/xtensa.h, config/xtensa/elf.h, config/xtensa/xtensa.md, config/xtensa/xtensa.opt, config/xtensa/constraints.md, config/xtensa/xtensa-protos.h, config/dbx.h, config/stormy16/predicates.md, config/stormy16/stormy16.md, config/stormy16/stormy16.c, config/stormy16/stormy16.opt, config/stormy16/stormy16.h, config/stormy16/stormy16-protos.h, config/host-solaris.c, config/fr30/fr30.h, config/fr30/predicates.md, config/fr30/fr30-protos.h, config/fr30/fr30.md, config/fr30/fr30.c, config/fr30/fr30.opt, config/vxworksae.h, config/sol2-c.c, config/lynx.h, config/m68hc11/m68hc11-protos.h, config/m68hc11/predicates.md, config/m68hc11/m68hc11.md, config/m68hc11/m68hc11.c, config/m68hc11/m68hc11.opt, config/m68hc11/m68hc11.h, config/m68hc11/m68hc12.h, config/openbsd-oldgas.h, config/host-linux.c, config/interix3.h, config/cris/cris.c, config/cris/predicates.md, config/cris/linux.h, config/cris/cris.h, config/cris/aout.h, config/cris/cris.md, config/cris/linux.opt, config/cris/cris.opt, config/cris/elf.opt, config/cris/aout.opt, config/cris/cris-protos.h, config/vxworks-dummy.h, config/netbsd.h, config/netbsd-elf.h, config/iq2000/iq2000.h, config/iq2000/predicates.md, config/iq2000/iq2000-protos.h, config/iq2000/iq2000.md, config/iq2000/iq2000.c, config/iq2000/iq2000.opt, config/host-darwin.c, config/mt/mt.md, config/mt/mt.c, config/mt/mt.opt, config/mt/t-mt, config/mt/mt.h, config/mt/mt-protos.h, config/svr4.h, config/host-darwin.h, config/chorus.h, config/mn10300/mn10300.c, config/mn10300/mn10300.opt, config/mn10300/predicates.md, config/mn10300/mn10300.h, config/mn10300/linux.h, config/mn10300/constraints.md, config/mn10300/mn10300-protos.h, config/mn10300/mn10300.md, config/ia64/predicates.md, config/ia64/itanium1.md, config/ia64/unwind-ia64.h, config/ia64/ia64-c.c, config/ia64/sync.md, config/ia64/ia64.c, config/ia64/itanium2.md, config/ia64/ia64.h, config/ia64/vect.md, config/ia64/freebsd.h, config/ia64/ia64.md, config/ia64/ia64-modes.def, config/ia64/constraints.md, config/ia64/hpux.h, config/ia64/ia64-protos.h, config/windiss.h, config/gofast.h, config/rtems.h, config/sol2-10.h, config/m68k/predicates.md, config/m68k/m68k.md, config/m68k/linux.h, config/m68k/m68k-modes.def, config/m68k/print-sysroot-suffix.sh, config/m68k/m68k-protos.h, config/m68k/coff.h, config/m68k/m68k-none.h, config/m68k/ieee.opt, config/m68k/openbsd.h, config/m68k/m68k-aout.h, config/m68k/m68k.opt, config/m68k/m68020-elf.h, config/m68k/m68kelf.h, config/m68k/m68k-devices.def, config/m68k/uclinux-oldabi.h, config/m68k/m68k.c, config/m68k/constraints.md, config/m68k/rtemself.h, config/m68k/netbsd-elf.h, config/m68k/m68k.h, config/m68k/uclinux.h, config/rs6000/power4.md, config/rs6000/host-darwin.c, config/rs6000/6xx.md, config/rs6000/linux.h, config/rs6000/eabi.h, config/rs6000/aix41.opt, config/rs6000/xcoff.h, config/rs6000/secureplt.h, config/rs6000/linuxspe.h, config/rs6000/eabialtivec.h, config/rs6000/8540.md, config/rs6000/darwin8.h, config/rs6000/kaos-ppc.h, config/rs6000/windiss.h, config/rs6000/603.md, config/rs6000/aix41.h, config/rs6000/cell.md, config/rs6000/mpc.md, config/rs6000/aix43.h, config/rs6000/beos.h, config/rs6000/gnu.h, config/rs6000/rtems.h, config/rs6000/aix.opt, config/rs6000/darwin.md, config/rs6000/darwin64.h, config/rs6000/default64.h, config/rs6000/7xx.md, config/rs6000/darwin.opt, config/rs6000/spe.md, config/rs6000/rs6000.opt, config/rs6000/rs6000-c.c, config/rs6000/rios2.md, config/rs6000/linuxaltivec.h, config/rs6000/7450.md, config/rs6000/linux64.h, config/rs6000/constraints.md, config/rs6000/440.md, config/rs6000/darwin.h, config/rs6000/host-ppc64-darwin.c, config/rs6000/rs6000.c, config/rs6000/aix52.h, config/rs6000/rs6000.h, config/rs6000/power6.md, config/rs6000/predicates.md, config/rs6000/altivec.md, config/rs6000/aix64.opt, config/rs6000/rios1.md, config/rs6000/rs6000-modes.def, config/rs6000/rs64.md, config/rs6000/eabisim.h, config/rs6000/sysv4le.h, config/rs6000/darwin7.h, config/rs6000/dfp.md, config/rs6000/linux64.opt, config/rs6000/sync.md, config/rs6000/vxworksae.h, config/rs6000/power5.md, config/rs6000/lynx.h, config/rs6000/biarch64.h, config/rs6000/rs6000.md, config/rs6000/sysv4.opt, config/rs6000/eabispe.h, config/rs6000/e500.h, config/rs6000/freebsd.h, config/rs6000/rs6000-protos.h, config/rs6000/netbsd.h, config/rs6000/e500-double.h, config/rs6000/aix.h, config/rs6000/vxworks.h, config/rs6000/40x.md, config/rs6000/aix51.h, config/rs6000/sysv4.h, config/arc/arc-protos.h, config/arc/arc.md, config/arc/arc.c, config/arc/arc.opt, config/arc/arc-modes.def, config/arc/arc.h, config/mcore/mcore-elf.h, config/mcore/mcore-protos.h, config/mcore/predicates.md, config/mcore/mcore.md, config/mcore/mcore.c, config/mcore/mcore.opt, config/mcore/mcore.h, config/mcore/mcore-pe.h, config/darwin.c, config/freebsd-nthr.h, config/score/predicates.md, config/score/score-version.h, config/score/score-protos.h, config/score/misc.md, config/score/elf.h, config/score/score.c, config/score/mac.md, config/score/score7.md, config/score/score.h, config/score/score-conv.h, config/score/score-mdaux.c, config/score/score.md, config/score/score.opt, config/score/score-modes.def, config/score/score-mdaux.h, config/score/mul-div.S, config/arm/uclinux-elf.h, config/arm/semi.h, config/arm/ecos-elf.h, config/arm/arm1020e.md, config/arm/symbian.h, config/arm/linux-elf.h, config/arm/arm1026ejs.md, config/arm/arm1136jfs.md, config/arm/elf.h, config/arm/aout.h, config/arm/arm.c, config/arm/thumb2.md, config/arm/vec-common.md, config/arm/coff.h, config/arm/strongarm-pe.h, config/arm/arm.h, config/arm/cortex-a8-neon.md, config/arm/semiaof.h, config/arm/cortex-a8.md, config/arm/uclinux-eabi.h, config/arm/arm-modes.def, config/arm/linux-eabi.h, config/arm/rtems-elf.h, config/arm/neon-schedgen.ml, config/arm/arm-cores.def, config/arm/arm-protos.h, config/arm/vfp.md, config/arm/aof.h, config/arm/linux-gas.h, config/arm/wince-pe.h, config/arm/neon.md, config/arm/constraints.md, config/arm/neon.ml, config/arm/xscale-elf.h, config/arm/strongarm-coff.h, config/arm/arm.opt, config/arm/arm926ejs.md, config/arm/predicates.md, config/arm/iwmmxt.md, config/arm/arm_neon.h, config/arm/unknown-elf.h, config/arm/kaos-arm.h, config/arm/bpabi.h, config/arm/pe.opt, config/arm/neon-testgen.ml, config/arm/arm.md, config/arm/xscale-coff.h, config/arm/pe.c, config/arm/arm-generic.md, config/arm/pe.h, config/arm/kaos-strongarm.h, config/arm/freebsd.h, config/arm/neon-docgen.ml, config/arm/netbsd.h, config/arm/fpa.md, config/arm/strongarm-elf.h, config/arm/cirrus.md, config/arm/netbsd-elf.h, config/arm/vxworks.h, config/arm/neon-gen.ml, config/kaos.h, config/darwin-driver.c, config/pa/predicates.md, config/pa/pa64-hpux.h, config/pa/pa-hpux.opt, config/pa/som.h, config/pa/pa-hpux1010.opt, config/pa/pa-hpux1111.opt, config/pa/pa-pro-end.h, config/pa/elf.h, config/pa/fptr.c, config/pa/pa64-linux.h, config/pa/pa.md, config/pa/pa.opt, config/pa/pa-hpux.h, config/pa/pa-hpux10.h, config/pa/pa-hpux11.h, config/pa/pa-hpux1010.h, config/pa/pa-protos.h, config/pa/pa-osf.h, config/pa/pa-hpux1111.h, config/pa/pa-64.h, config/pa/milli64.S, config/pa/pa.c, config/pa/pa-linux.h, config/pa/pa.h, config/pa/pa32-linux.h, config/pa/pa64-hpux.opt, config/pa/pa64-regs.h, config/pa/pa-modes.def, config/pa/constraints.md, config/darwin9.h, config/mips/4100.md, config/mips/linux.h, config/mips/elfoabi.h, config/mips/elf.h, config/mips/sdb.h, config/mips/windiss.h, config/mips/rtems.h, config/mips/3000.md, config/mips/iris5.h, config/mips/5000.md, config/mips/7000.md, config/mips/9000.md, config/mips/4600.md, config/mips/linux64.h, config/mips/elforion.h, config/mips/constraints.md, config/mips/generic.md, config/mips/predicates.md, config/mips/4300.md, config/mips/mips-ps-3d.md, config/mips/iris.h, config/mips/24k.md, config/mips/mips.md, config/mips/mips.opt, config/mips/4k.md, config/mips/5k.md, config/mips/vr4120-div.S, config/mips/openbsd.h, config/mips/iris6.h, config/mips/4000.md, config/mips/mips-protos.h, config/mips/6000.md, config/mips/mips.c, config/mips/mips.h, config/mips/r3900.h, config/mips/74k.md, config/mips/netbsd.h, config/mips/vxworks.h, config/mips/mips-modes.def, config/mips/vr.h, config/soft-fp/t-softfp, config/openbsd.h, config/ptx4.h, config/freebsd-spec.h, config/vax/vax.c, config/vax/openbsd.h, config/vax/vax.h, config/vax/elf.h, config/vax/vax.md, config/vax/bsd.h, config/vax/vax.opt, config/vax/vax-modes.def, config/vax/openbsd1.h, config/vax/netbsd.h, config/vax/vax-protos.h, config/vax/netbsd-elf.h, config/vax/vaxv.h, config/vax/ultrix.h, config/freebsd.h, config/h8300/rtems.h, config/h8300/predicates.md, config/h8300/h8300.c, config/h8300/h8300.h, config/h8300/elf.h, config/h8300/h8300.md, config/h8300/h8300.opt, config/h8300/coff.h, config/h8300/h8300-protos.h, config/v850/v850.md, config/v850/predicates.md, config/v850/v850-c.c, config/v850/v850.c, config/v850/v850.opt, config/v850/v850.h, config/v850/v850-protos.h, config/vxworks.c, config/knetbsd-gnu.h, config/sol2-6.h, config/vxworks.h, config/mmix/mmix.h, config/mmix/predicates.md, config/mmix/mmix-protos.h, config/mmix/mmix.md, config/mmix/mmix.c, config/mmix/mmix.opt, config/mmix/mmix-modes.def, config/bfin/bfin.opt, config/bfin/rtems.h, config/bfin/bfin-modes.def, config/bfin/predicates.md, config/bfin/bfin-protos.h, config/bfin/bfin.c, config/bfin/bfin.h, config/bfin/bfin.md: Likewise. From-SVN: r127157
2007-08-02 12:49:31 +02:00
;; along with GCC; see the file COPYING3. If not see
;; <http://www.gnu.org/licenses/>.
(define_automaton "r74k_mdu_pipe, r74k_alu_pipe, r74k_agen_pipe, r74k_fpu")
(define_cpu_unit "r74k_mul" "r74k_mdu_pipe")
(define_cpu_unit "r74k_alu" "r74k_alu_pipe")
(define_cpu_unit "r74k_agen" "r74k_agen_pipe")
(define_cpu_unit "r74k_fpu_arith" "r74k_fpu")
(define_cpu_unit "r74k_fpu_ldst" "r74k_fpu")
;; --------------------------------------------------------------
;; Producers
;; --------------------------------------------------------------
mips.md (type): Add logical, signext and move. 2007-07-04 David Ung <davidu@mips.com> Joseph Myers <joseph@codesourcery.com> * config/mips/mips.md (type): Add logical, signext and move. (one_cmpl<mode>2, *and<mode>3, *and<mode>3_mips16, *ior<mode>3, *ior<mode>3_mips16, two unnamed insns after *ior<mode>3_mips16, *nor<mode>3, "Combiner patterns to optimize truncate/zero_extend combinations", *zero_extend<SHORT:mode><GPR:mode>2, *zero_extendqihi2, *extend<SHORT:mode><GPR:mode>2_mips16e, *extend<SHORT:mode><GPR:mode>2_se<SHORT:size>, *movdi_64bit, *movdi_64bit_mips16, *movsi_internal, *movsi_mips16, movcc, *movhi_internal, *movhi_mips16, *movqi_internal, *movqi_mips16, *movsf_hardfloat, *movsf_softfloat, *movsf_mips16, *movdf_hardfloat_64bit, *movdf_hardfloat_32bit, movv2sf_hardfloat_64bit): Use the new types. (*movdi_32bit, *movdi_gp32_fp64, *movdi_32bit_mips16, *movdf_softfloat, *movdf_mips16): Use "multi". (extendqihi2): Replace with a define_expand. (*extendqihi2_mips16e, *extendqihi2, *extendqihi2_seb): New. Based on extend<SHORT:mode><GPR:mode>2 patterns. * config/mips/74k.md (r74k_int_logical): New reservation and bypasses. (r74k_int_arith): Remove "slt". * config/mips/24k.md, config/mips/4130.md, config/mips/4k.md, config/mips/5400.md, config/mips/5500.md, config/mips/5k.md, config/mips/7000.md, config/mips/9000.md, config/mips/generic.md, config/mips/sb1.md, config/mips/sr71k.md: Add new types to reservations for "arith". Co-Authored-By: Joseph Myers <joseph@codesourcery.com> From-SVN: r126327
2007-07-04 18:50:38 +02:00
;; ALU: Logicals/Arithmetics
;; - Logicals, move (addu/addiu with rt = 0), Set less than,
;; sign extend - 1 cycle
(define_insn_reservation "r74k_int_logical" 1
(and (eq_attr "cpu" "74kc,74kf2_1,74kf1_1,74kf3_2")
(eq_attr "type" "logical,move,signext,slt"))
"r74k_alu")
;; - Arithmetics - 2 cycles
(define_insn_reservation "r74k_int_arith" 2
(and (eq_attr "cpu" "74kc,74kf2_1,74kf1_1,74kf3_2")
mips.md (type): Add logical, signext and move. 2007-07-04 David Ung <davidu@mips.com> Joseph Myers <joseph@codesourcery.com> * config/mips/mips.md (type): Add logical, signext and move. (one_cmpl<mode>2, *and<mode>3, *and<mode>3_mips16, *ior<mode>3, *ior<mode>3_mips16, two unnamed insns after *ior<mode>3_mips16, *nor<mode>3, "Combiner patterns to optimize truncate/zero_extend combinations", *zero_extend<SHORT:mode><GPR:mode>2, *zero_extendqihi2, *extend<SHORT:mode><GPR:mode>2_mips16e, *extend<SHORT:mode><GPR:mode>2_se<SHORT:size>, *movdi_64bit, *movdi_64bit_mips16, *movsi_internal, *movsi_mips16, movcc, *movhi_internal, *movhi_mips16, *movqi_internal, *movqi_mips16, *movsf_hardfloat, *movsf_softfloat, *movsf_mips16, *movdf_hardfloat_64bit, *movdf_hardfloat_32bit, movv2sf_hardfloat_64bit): Use the new types. (*movdi_32bit, *movdi_gp32_fp64, *movdi_32bit_mips16, *movdf_softfloat, *movdf_mips16): Use "multi". (extendqihi2): Replace with a define_expand. (*extendqihi2_mips16e, *extendqihi2, *extendqihi2_seb): New. Based on extend<SHORT:mode><GPR:mode>2 patterns. * config/mips/74k.md (r74k_int_logical): New reservation and bypasses. (r74k_int_arith): Remove "slt". * config/mips/24k.md, config/mips/4130.md, config/mips/4k.md, config/mips/5400.md, config/mips/5500.md, config/mips/5k.md, config/mips/7000.md, config/mips/9000.md, config/mips/generic.md, config/mips/sb1.md, config/mips/sr71k.md: Add new types to reservations for "arith". Co-Authored-By: Joseph Myers <joseph@codesourcery.com> From-SVN: r126327
2007-07-04 18:50:38 +02:00
(eq_attr "type" "arith,const,shift,clz"))
"r74k_alu")
(define_insn_reservation "r74k_int_nop" 0
(and (eq_attr "cpu" "74kc,74kf2_1,74kf1_1,74kf3_2")
(eq_attr "type" "nop"))
"nothing")
(define_insn_reservation "r74k_int_cmove" 4
(and (eq_attr "cpu" "74kc,74kf2_1,74kf1_1,74kf3_2")
(eq_attr "type" "condmove"))
"r74k_agen*2")
;; MDU: fully pipelined multiplier
;; mult - delivers result to hi/lo in 4 cycle (pipelined)
(define_insn_reservation "r74k_int_mult" 4
(and (eq_attr "cpu" "74kc,74kf2_1,74kf1_1,74kf3_2")
(eq_attr "type" "imul"))
"r74k_alu+r74k_mul")
;; madd, msub - delivers result to hi/lo in 4 cycle (pipelined)
(define_insn_reservation "r74k_int_madd" 4
(and (eq_attr "cpu" "74kc,74kf2_1,74kf1_1,74kf3_2")
(eq_attr "type" "imadd"))
"r74k_alu+r74k_mul")
;; mul - delivers result to general register in 7 cycles
(define_insn_reservation "r74k_int_mul3" 7
(and (eq_attr "cpu" "74kc,74kf2_1,74kf1_1,74kf3_2")
(eq_attr "type" "imul3"))
"r74k_alu+r74k_mul")
;; mfhi, mflo, mflhxu - deliver result to gpr in 7 cycles
(define_insn_reservation "r74k_int_mfhilo" 7
(and (eq_attr "cpu" "74kc,74kf2_1,74kf1_1,74kf3_2")
mips.md (move_type): Replace mfhilo and mthilo with mflo and mtlo. gcc/ * config/mips/mips.md (move_type): Replace mfhilo and mthilo with mflo and mtlo. (type): Split mfhilo into mfhi and mflo. Split mthilo into mthi and mtlo. Adjust move_type->type mapping. (may_clobber_hilo): Split mthilo into mthi and mtlo. (*movdi_32bit, *movdi_32bit_mips16, *movdi_64bit, *movdi_64bit_mips16) (*mov<mode>_internal, *mov<mode>_mips16, *movhi_internal) (*movhi_mips16, *movqi_internal, *movqi_mips16): Use mtlo and mflo instead of mthilo and mfhilo. (mfhi<GPR:mode>_<HILO:mode>): Use mfhi instead of mfhilo. (mthi<GPR:mode>_<HILO:mode>): Use mthi instead of mthilo. * config/mips/mips-dsp.md (mips_extr_w, mips_extr_r_w, mips_extr_rs_w) (mips_extr_s_h, mips_extp, mips_extpdp, mips_shilo, mips_mthlip): Use mflo instead of mfhilo. * config/mips/10000.md (r10k_arith): Split mthilo. (r10k_mfhi, r10k_mflo): Use mfhi and mflo directly. * config/mips/sb1.md (ir_sb1_mfhi, ir_sb1_mflo): Likewise. (ir_sb1_mthilo): Split mthilo into mthi and mtlo. * config/mips/20kc.md (r20kc_imthilo, r20kc_imfhilo): Split mthilo and mfhilo. * config/mips/24k.md (r24k_int_mfhilo, r24k_int_mthilo): Likewise. * config/mips/4130.md (vr4130_class, vr4130_mfhilo, vr4130_mthilo): Likewise. * config/mips/4k.md (r4k_int_mthilo, r4k_int_mfhilo): Likewise. * config/mips/5400.md (ir_vr54_hilo): Likewise. * config/mips/5500.md (ir_vr55_mthilo, ir_vr55_mfhilo): Likewise. * config/mips/5k.md (r5k_int_mthilo, r5k_int_mfhilo): Likewise. * config/mips/7000.md (rm7_mthilo, rm7_mfhilo): Likewise. * config/mips/74k.md (r74k_int_mfhilo, r74k_int_mthilo): Likewise. * config/mips/9000.md (rm9k_mfhilo, rm9k_mthilo): Likewise. * config/mips/generic.md (generic_hilo): Likewise. * config/mips/loongson2ef.md (ls2_alu): Likewise. * config/mips/loongson3a.md (ls3a_mfhilo): Likewise. * config/mips/octeon.md (octeon_imul_o1, octeon_imul_o2) (octeon_mfhilo_o1, octeon_mfhilo_o2): Likewise. * config/mips/sr71k.md (ir_sr70_hilo): Likewise. * config/mips/xlr.md (xlr_hilo): Likewise. From-SVN: r189496
2012-07-15 18:26:48 +02:00
(eq_attr "type" "mfhi,mflo"))
"r74k_alu+r74k_mul")
;; mthi, mtlo, mtlhx - deliver result to hi/lo, thence madd, handled as bypass
(define_insn_reservation "r74k_int_mthilo" 7
(and (eq_attr "cpu" "74kc,74kf2_1,74kf1_1,74kf3_2")
mips.md (move_type): Replace mfhilo and mthilo with mflo and mtlo. gcc/ * config/mips/mips.md (move_type): Replace mfhilo and mthilo with mflo and mtlo. (type): Split mfhilo into mfhi and mflo. Split mthilo into mthi and mtlo. Adjust move_type->type mapping. (may_clobber_hilo): Split mthilo into mthi and mtlo. (*movdi_32bit, *movdi_32bit_mips16, *movdi_64bit, *movdi_64bit_mips16) (*mov<mode>_internal, *mov<mode>_mips16, *movhi_internal) (*movhi_mips16, *movqi_internal, *movqi_mips16): Use mtlo and mflo instead of mthilo and mfhilo. (mfhi<GPR:mode>_<HILO:mode>): Use mfhi instead of mfhilo. (mthi<GPR:mode>_<HILO:mode>): Use mthi instead of mthilo. * config/mips/mips-dsp.md (mips_extr_w, mips_extr_r_w, mips_extr_rs_w) (mips_extr_s_h, mips_extp, mips_extpdp, mips_shilo, mips_mthlip): Use mflo instead of mfhilo. * config/mips/10000.md (r10k_arith): Split mthilo. (r10k_mfhi, r10k_mflo): Use mfhi and mflo directly. * config/mips/sb1.md (ir_sb1_mfhi, ir_sb1_mflo): Likewise. (ir_sb1_mthilo): Split mthilo into mthi and mtlo. * config/mips/20kc.md (r20kc_imthilo, r20kc_imfhilo): Split mthilo and mfhilo. * config/mips/24k.md (r24k_int_mfhilo, r24k_int_mthilo): Likewise. * config/mips/4130.md (vr4130_class, vr4130_mfhilo, vr4130_mthilo): Likewise. * config/mips/4k.md (r4k_int_mthilo, r4k_int_mfhilo): Likewise. * config/mips/5400.md (ir_vr54_hilo): Likewise. * config/mips/5500.md (ir_vr55_mthilo, ir_vr55_mfhilo): Likewise. * config/mips/5k.md (r5k_int_mthilo, r5k_int_mfhilo): Likewise. * config/mips/7000.md (rm7_mthilo, rm7_mfhilo): Likewise. * config/mips/74k.md (r74k_int_mfhilo, r74k_int_mthilo): Likewise. * config/mips/9000.md (rm9k_mfhilo, rm9k_mthilo): Likewise. * config/mips/generic.md (generic_hilo): Likewise. * config/mips/loongson2ef.md (ls2_alu): Likewise. * config/mips/loongson3a.md (ls3a_mfhilo): Likewise. * config/mips/octeon.md (octeon_imul_o1, octeon_imul_o2) (octeon_mfhilo_o1, octeon_mfhilo_o2): Likewise. * config/mips/sr71k.md (ir_sr70_hilo): Likewise. * config/mips/xlr.md (xlr_hilo): Likewise. From-SVN: r189496
2012-07-15 18:26:48 +02:00
(eq_attr "type" "mthi,mtlo"))
"r74k_alu+r74k_mul")
;; div - default to 50 cycles for 32bit operands. Faster for 8 bit,
;; but is tricky to identify.
(define_insn_reservation "r74k_int_div" 50
(and (eq_attr "cpu" "74kc,74kf2_1,74kf1_1,74kf3_2")
(eq_attr "type" "idiv"))
"r74k_alu+r74k_mul*50")
;; call
(define_insn_reservation "r74k_int_call" 1
(and (eq_attr "cpu" "74kc,74kf2_1,74kf1_1,74kf3_2")
(eq_attr "type" "call"))
"r74k_agen")
;; branch/jump
(define_insn_reservation "r74k_int_jump" 1
(and (eq_attr "cpu" "74kc,74kf2_1,74kf1_1,74kf3_2")
(eq_attr "type" "branch,jump"))
"r74k_agen")
;; loads: lb, lbu, lh, lhu, ll, lw, lwl, lwr, lwpc, lwxs
;; prefetch: prefetch, prefetchx
(define_insn_reservation "r74k_int_load" 3
(and (eq_attr "cpu" "74kc,74kf2_1,74kf1_1,74kf3_2")
(eq_attr "type" "load,prefetch,prefetchx"))
"r74k_agen")
;; stores
(define_insn_reservation "r74k_int_store" 1
(and (eq_attr "cpu" "74kc,74kf2_1,74kf1_1,74kf3_2")
(eq_attr "type" "store"))
"r74k_agen")
;; Unknowns - Currently these include blockage, consttable and alignment
;; rtls. They do not really affect scheduling latency, (blockage
;; affects scheduling via log links, but not used here).
;;
(define_insn_reservation "r74k_unknown" 1
(and (eq_attr "cpu" "74kc,74kf2_1,74kf1_1,74kf3_2")
(eq_attr "type" "unknown,atomic,syncloop"))
"r74k_alu")
(define_insn_reservation "r74k_multi" 10
(and (eq_attr "cpu" "74kc,74kf2_1,74kf1_1,74kf3_2")
(eq_attr "type" "multi"))
"(r74k_alu+r74k_agen)*10")
;; --------------------------------------------------------------
;; Bypass to Consumer
;; --------------------------------------------------------------
;; load->next use : 3 cycles (Default)
;; load->load base: 4 cycles
;; load->store base: 4 cycles
(define_bypass 4 "r74k_int_load" "r74k_int_load")
(define_bypass 4 "r74k_int_load" "r74k_int_store" "!mips_store_data_bypass_p")
mips.md (type): Add logical, signext and move. 2007-07-04 David Ung <davidu@mips.com> Joseph Myers <joseph@codesourcery.com> * config/mips/mips.md (type): Add logical, signext and move. (one_cmpl<mode>2, *and<mode>3, *and<mode>3_mips16, *ior<mode>3, *ior<mode>3_mips16, two unnamed insns after *ior<mode>3_mips16, *nor<mode>3, "Combiner patterns to optimize truncate/zero_extend combinations", *zero_extend<SHORT:mode><GPR:mode>2, *zero_extendqihi2, *extend<SHORT:mode><GPR:mode>2_mips16e, *extend<SHORT:mode><GPR:mode>2_se<SHORT:size>, *movdi_64bit, *movdi_64bit_mips16, *movsi_internal, *movsi_mips16, movcc, *movhi_internal, *movhi_mips16, *movqi_internal, *movqi_mips16, *movsf_hardfloat, *movsf_softfloat, *movsf_mips16, *movdf_hardfloat_64bit, *movdf_hardfloat_32bit, movv2sf_hardfloat_64bit): Use the new types. (*movdi_32bit, *movdi_gp32_fp64, *movdi_32bit_mips16, *movdf_softfloat, *movdf_mips16): Use "multi". (extendqihi2): Replace with a define_expand. (*extendqihi2_mips16e, *extendqihi2, *extendqihi2_seb): New. Based on extend<SHORT:mode><GPR:mode>2 patterns. * config/mips/74k.md (r74k_int_logical): New reservation and bypasses. (r74k_int_arith): Remove "slt". * config/mips/24k.md, config/mips/4130.md, config/mips/4k.md, config/mips/5400.md, config/mips/5500.md, config/mips/5k.md, config/mips/7000.md, config/mips/9000.md, config/mips/generic.md, config/mips/sb1.md, config/mips/sr71k.md: Add new types to reservations for "arith". Co-Authored-By: Joseph Myers <joseph@codesourcery.com> From-SVN: r126327
2007-07-04 18:50:38 +02:00
;; logical/move/slt/signext->next use : 1 cycles (Default)
;; logical/move/slt/signext->load base: 2 cycles
;; logical/move/slt/signext->store base: 2 cycles
(define_bypass 2 "r74k_int_logical" "r74k_int_load")
(define_bypass 2 "r74k_int_logical" "r74k_int_store"
"!mips_store_data_bypass_p")
mips.md (type): Add logical, signext and move. 2007-07-04 David Ung <davidu@mips.com> Joseph Myers <joseph@codesourcery.com> * config/mips/mips.md (type): Add logical, signext and move. (one_cmpl<mode>2, *and<mode>3, *and<mode>3_mips16, *ior<mode>3, *ior<mode>3_mips16, two unnamed insns after *ior<mode>3_mips16, *nor<mode>3, "Combiner patterns to optimize truncate/zero_extend combinations", *zero_extend<SHORT:mode><GPR:mode>2, *zero_extendqihi2, *extend<SHORT:mode><GPR:mode>2_mips16e, *extend<SHORT:mode><GPR:mode>2_se<SHORT:size>, *movdi_64bit, *movdi_64bit_mips16, *movsi_internal, *movsi_mips16, movcc, *movhi_internal, *movhi_mips16, *movqi_internal, *movqi_mips16, *movsf_hardfloat, *movsf_softfloat, *movsf_mips16, *movdf_hardfloat_64bit, *movdf_hardfloat_32bit, movv2sf_hardfloat_64bit): Use the new types. (*movdi_32bit, *movdi_gp32_fp64, *movdi_32bit_mips16, *movdf_softfloat, *movdf_mips16): Use "multi". (extendqihi2): Replace with a define_expand. (*extendqihi2_mips16e, *extendqihi2, *extendqihi2_seb): New. Based on extend<SHORT:mode><GPR:mode>2 patterns. * config/mips/74k.md (r74k_int_logical): New reservation and bypasses. (r74k_int_arith): Remove "slt". * config/mips/24k.md, config/mips/4130.md, config/mips/4k.md, config/mips/5400.md, config/mips/5500.md, config/mips/5k.md, config/mips/7000.md, config/mips/9000.md, config/mips/generic.md, config/mips/sb1.md, config/mips/sr71k.md: Add new types to reservations for "arith". Co-Authored-By: Joseph Myers <joseph@codesourcery.com> From-SVN: r126327
2007-07-04 18:50:38 +02:00
;; arith->next use : 2 cycles (Default)
;; arith->load base: 3 cycles
;; arith->store base: 3 cycles
(define_bypass 3 "r74k_int_arith" "r74k_int_load")
(define_bypass 3 "r74k_int_arith" "r74k_int_store" "!mips_store_data_bypass_p")
;; cmove->next use : 4 cycles (Default)
;; cmove->load base: 5 cycles
;; cmove->store base: 5 cycles
(define_bypass 5 "r74k_int_cmove" "r74k_int_load")
(define_bypass 5 "r74k_int_cmove" "r74k_int_store"
"!mips_store_data_bypass_p")
;; mult/madd/msub->int_mfhilo : 4 cycles (default)
;; mult->madd/msub : 1 cycles
;; madd/msub->madd/msub : 1 cycles
(define_bypass 1 "r74k_int_mult,r74k_int_mul3" "r74k_int_madd"
"mips_linked_madd_p")
(define_bypass 1 "r74k_int_madd" "r74k_int_madd"
"mips_linked_madd_p")
MIPS Technologies, Inc. 2012-08-15 Sandra Loosemore <sandra@codesourcery.com> Maxim Kuvyrkov <maxim@codesourcery.com> Julian Brown <julian@codesourcery.com> MIPS Technologies, Inc. gcc/ * config/mips/mips.md (dspmac, dspmacsat, accext, accmod, dspalu) (dspalusat): Add insn types. * config/mips/mips-dsp.md (add<DSPV:mode>3) (mips_add<DSP:dspfmt1>_s_<DSP:dspfmt2>) (sub<DSPV:mode>3, mips_sub<DSP:dspfmt1>_s_<DSP:dspfmt2>, mips_addsc) (mips_addwc, mips_modsub, mips_raddu_w_qb, mips_absq_s_<DSPQ:dspfmt2>) (mips_precrq_qb_ph, mips_precrq_ph_w, mips_precrq_rs_ph_w) (mips_precrqu_s_qb_ph, mips_preceq_w_phl, mips_preceq_w_phr) (mips_precequ_ph_qbl, mips_precequ_ph_qbr, mips_precequ_ph_qbla) (mips_precequ_ph_qbra, mips_preceu_ph_qbl, mips_preceu_ph_qbr) (mips_preceu_ph_qbla, mips_preceu_ph_qbra, mips_shll_<DSPV:dspfmt2>) (mips_shll_s_<DSPQ:dspfmt2>, mips_shll_s_<DSPQ:dspfmt2>, mips_shrl_qb) (mips_shra_ph, mips_shra_r_<DSPQ:dspfmt2>, mips_bitrev, mips_insv) (mips_repl_qb, mips_repl_ph) (mips_cmp<DSPV:dspfmt1_1>_eq_<DSPV:dspfmt2>) (mips_cmp<DSPV:dspfmt1_1>_lt_<DSPV:dspfmt2>) (mips_cmp<DSPV:dspfmt1_1>_le_<DSPV:dspfmt2>, mips_cmpgu_eq_qb) (mips_cmpgu_lt_qb, mips_cmpgu_le_qb, mips_pick_<DSPV:dspfmt2>) (mips_packrl_ph, mips_wrdsp, mips_rddsp): Change type to dspalu. (mips_dpau_h_qbl, mips_dpau_h_qbr, mips_dpsu_h_qbl, mips_dpsu_h_qbr) (mips_dpaq_s_w_ph, mips_dpsq_s_w_ph, mips_mulsaq_s_w_ph) (mips_maq_s_w_phl, mips_maq_s_w_phr, mips_maq_sa_w_phr): Set type to dspmac. (mips_dpaq_sa_l_w, mips_dpsq_sa_l_w, mips_maq_sa_w_phl): Set type to dspmacsat. (mips_extr_w, mips_extr_r_w, mips_extr_rs_w, mips_extp, mips_extpdp): Set type to accext. (mips_shilo, mips_mthlip): Set type to accmod. * config/mips/mips-dspr2.md (mips_absq_s_qb, mips_addu_s_ph) (mips_adduh_r_qb): Set type to dspalusat. (mips_addu_ph, mips_adduh_qb, mips_append, mips_balign) (mips_cmpgdu_eq_qb, mips_cmpgdu_lt_qb, mips_cmpgdu_le_qb) (mips_precr_qb_ph, mips_precr_sra_ph_w, mips_precr_sra_r_ph_w) (mips_prepend, mips_shra_qb, mips_shra_r_qb, mips_shrl_ph) (mips_subu_ph, mips_subuh_qb, mips_subuh_r_qb, mips_addqh_ph) (mips_addqh_r_ph, mips_addqh_w, mips_addqh_r_w, mips_subqh_ph) (mips_subqh_r_ph, mips_subqh_w, mips_subqh_r_w): Set type to dspalu. (mips_dpa_w_ph, mips_dps_w_ph, mips_mulsa_w_ph, mips_dpax_w_ph) (mips_dpsx_w_ph, mips_dpaqx_s_w_ph, mips_dpsqx_s_w_ph): Set type to dspmac. Set accum_in attribute. (mips_subu_s_ph): Set type to dspalusat. (mips_dpaqx_sa_w_ph, mips_dpsqx_sa_w_ph): Set type to dspmacsat. Set accum_in attribute. * config/mips/mips-protos.h (mips_dspalu_bypass_p): Add prototype. * config/mips/mips.c (dspalu_bypass_table): New. (mips_dspalu_bypass_p): New. * config/mips/24k.md (r24k_dsp_alu, r24k_dsp_mac, r24k_dsp_mac_sat) (r24k_dsp_acc_ext, r24k_dsp_acc_mod): New insn reservations. (r24k_int_mult, r24k_int_mthilo, r24k_dsp_mac, r24k_dsp_mac_sat) (r24k_dsp_acc_ext, r24k_dsp_acc_mod, r24k_dsp_alu): New bypasses. * config/mips/74k.md (r74k_dsp_alu, r74k_dsp_alu_sat, r74k_dsp_mac) (r74k_dsp_mac_sat, r74k_dsp_acc_ext, r74k_dsp_acc_mod): New insn reservations. (r74k_dsp_mac, r74k_dsp_mac_sat, r74k_int_mult, r74k_int_mul3) (r74k_dsp_mac, r74k_dsp_mac_sat): New bypasses. Co-Authored-By: Julian Brown <julian@codesourcery.com> Co-Authored-By: Maxim Kuvyrkov <maxim@codesourcery.com> From-SVN: r190423
2012-08-16 01:56:52 +02:00
;; --------------------------------------------------------------
;; DSP instructions
;; --------------------------------------------------------------
;; Non-saturating insn have the same latency as normal ALU operations,
(define_insn_reservation "r74k_dsp_alu" 2
(and (eq_attr "cpu" "74kc,74kf2_1,74kf1_1,74kf3_2")
(eq_attr "type" "dspalu"))
"r74k_alu")
;; Saturating insn takes an extra cycle.
(define_insn_reservation "r74k_dsp_alu_sat" 3
(and (eq_attr "cpu" "74kc,74kf2_1,74kf1_1,74kf3_2")
(eq_attr "type" "dspalusat"))
"r74k_alu")
;; dpaq_s, dpau, dpsq_s, dpsu, maq_s, mulsaq
;; - delivers result to hi/lo in 6 cycle (bypass at M4)
(define_insn_reservation "r74k_dsp_mac" 6
(and (eq_attr "cpu" "74kc,74kf2_1,74kf1_1,74kf3_2")
(eq_attr "type" "dspmac"))
"r74k_alu+r74k_mul")
;; dpaq_sa, dpsq_sa, maq_sa
;; - delivers result to hi/lo in 7 cycle (bypass at WB)
(define_insn_reservation "r74k_dsp_mac_sat" 7
(and (eq_attr "cpu" "74kc,74kf2_1,74kf1_1,74kf3_2")
(eq_attr "type" "dspmacsat"))
"r74k_alu+r74k_mul")
;; extp, extpdp, extpdpv, extpv, extr, extrv
;; - same latency as "mul"
(define_insn_reservation "r74k_dsp_acc_ext" 7
(and (eq_attr "cpu" "74kc,74kf2_1,74kf1_1,74kf3_2")
(eq_attr "type" "accext"))
"r74k_alu+r74k_mul")
;; mthlip, shilo, shilov
;; - same latency as "mul"
(define_insn_reservation "r74k_dsp_acc_mod" 7
(and (eq_attr "cpu" "74kc,74kf2_1,74kf1_1,74kf3_2")
(eq_attr "type" "accmod"))
"r74k_alu+r74k_mul")
;; dspalu ->load/store base
;; dspalusat->load/store base
;; - we should never see these in real life.
;; dsp_mac->dsp_mac : 1 cycles (repeat rate of 1)
;; dsp_mac->dsp_mac_sat : 1 cycles (repeat rate of 1)
(define_bypass 1 "r74k_dsp_mac" "r74k_dsp_mac")
(define_bypass 1 "r74k_dsp_mac" "r74k_dsp_mac_sat")
;; dsp_mac_sat->dsp_mac_sat : 2 cycles (repeat rate of 2)
;; dsp_mac_sat->dsp_mac : 2 cycles (repeat rate of 2)
(define_bypass 2 "r74k_dsp_mac_sat" "r74k_dsp_mac_sat")
(define_bypass 2 "r74k_dsp_mac_sat" "r74k_dsp_mac")
(define_bypass 1 "r74k_int_mult" "r74k_dsp_mac")
(define_bypass 1 "r74k_int_mult" "r74k_dsp_mac_sat")
(define_bypass 1 "r74k_int_mul3" "r74k_dsp_mac" "mips_linked_madd_p")
(define_bypass 1 "r74k_int_mul3" "r74k_dsp_mac_sat" "mips_linked_madd_p")
;; Assuming the following is true (bypass at M4)
;; AP AF AM MB M1 M2 M3 M4 WB GR GC
;; AP AF AM MB M1 M2 M3 M4 WB GR GC
;; dsp_mac->dsp_acc_ext : 4 cycles
;; dsp_mac->dsp_acc_mod : 4 cycles
(define_bypass 4 "r74k_dsp_mac" "r74k_dsp_acc_ext")
(define_bypass 4 "r74k_dsp_mac" "r74k_dsp_acc_mod")
;; Assuming the following is true (bypass at WB)
;; AP AF AM MB M1 M2 M3 M4 WB GR GC
;; AP AF AM MB M1 M2 M3 M4 WB GR GC
;; dsp_mac_sat->dsp_acc_ext : 5 cycles
;; dsp_mac_sat->dsp_acc_mod : 5 cycles
(define_bypass 5 "r74k_dsp_mac_sat" "r74k_dsp_acc_ext")
(define_bypass 5 "r74k_dsp_mac_sat" "r74k_dsp_acc_mod")
;; --------------------------------------------------------------
;; Floating Point Instructions
;; --------------------------------------------------------------
invoke.texi: Replace -march=24kf with -march=24kf2_1 and -march=24kx with -march=24kf1_1. gcc/ 2007-07-03 Richard Sandiford <richard@codesourcery.com> David Ung <davidu@mips.com> * doc/invoke.texi: Replace -march=24kf with -march=24kf2_1 and -march=24kx with -march=24kf1_1. Likewise 24ke[fx], 34k[fx] and 74k[fx]. Document aliases for the new options. * config/mips/mips.h (PROCESSOR_24KF): Rename to... (PROCESSOR_24KF2_1): ...this. (PROCESSOR_24KX): Rename to... (PROCESSOR_24KF1_1): ...this. (PROCESSOR_74KF): Rename to... (PROCESSOR_74KF2_1): ...this. (PROCESSOR_74KX): Rename to... (PROCESSOR_74KF1_1): ...this. (TUNE_74K): Update PROCESSOR_* names. * config/mips/mips.c (mips_cpu_info): Add 24kf2_1 as a synonym for 24kf. Add 24kf1_1 and 24kfx as synonyms for 24kx. Likewise the 24ke*, 34k* and 74k* processors. Update PROCESSOR_* names. (mips_rtx_cost_data): Update processor names in comments. (mips_issue_rate): Update PROCESSOR_* names. * config/mips/mips.md (cpu): Rename 24kf to 24kf2_1, 24kx to 24kf1_1, 74kf to 74kf2_1 and 74kx to 74kf1_1. * config/mips/24k.md: Rename FPU-related r24k_* insn reservations to r24kf2_1_*. Rename r24kx_* insn reservations to r24kf1_1_*. Update cpu attribute names. (r24k_fpu_iss): Rename this reservation to... (r24kf2_1_fpu_iss): ...this and update all uses. (r24kx_fpu_iss): Rename this reservation to... (r24kf1_1_fpu_iss): ...this and update all uses. * config/mips/74k.md: Rename FPU-related r74kf_* insn reservations to r74kf2_1_*. Rename r74kx_* insn reservations to r74kf1_1_*. Update cpu attribute names. Co-Authored-By: David Ung <davidu@mips.com> From-SVN: r126266
2007-07-03 19:34:59 +02:00
;; 74Kf FPU runs at 1:1 or 2:1 core/FPU clock ratio.
;; fadd, fabs, fneg,
invoke.texi: Replace -march=24kf with -march=24kf2_1 and -march=24kx with -march=24kf1_1. gcc/ 2007-07-03 Richard Sandiford <richard@codesourcery.com> David Ung <davidu@mips.com> * doc/invoke.texi: Replace -march=24kf with -march=24kf2_1 and -march=24kx with -march=24kf1_1. Likewise 24ke[fx], 34k[fx] and 74k[fx]. Document aliases for the new options. * config/mips/mips.h (PROCESSOR_24KF): Rename to... (PROCESSOR_24KF2_1): ...this. (PROCESSOR_24KX): Rename to... (PROCESSOR_24KF1_1): ...this. (PROCESSOR_74KF): Rename to... (PROCESSOR_74KF2_1): ...this. (PROCESSOR_74KX): Rename to... (PROCESSOR_74KF1_1): ...this. (TUNE_74K): Update PROCESSOR_* names. * config/mips/mips.c (mips_cpu_info): Add 24kf2_1 as a synonym for 24kf. Add 24kf1_1 and 24kfx as synonyms for 24kx. Likewise the 24ke*, 34k* and 74k* processors. Update PROCESSOR_* names. (mips_rtx_cost_data): Update processor names in comments. (mips_issue_rate): Update PROCESSOR_* names. * config/mips/mips.md (cpu): Rename 24kf to 24kf2_1, 24kx to 24kf1_1, 74kf to 74kf2_1 and 74kx to 74kf1_1. * config/mips/24k.md: Rename FPU-related r24k_* insn reservations to r24kf2_1_*. Rename r24kx_* insn reservations to r24kf1_1_*. Update cpu attribute names. (r24k_fpu_iss): Rename this reservation to... (r24kf2_1_fpu_iss): ...this and update all uses. (r24kx_fpu_iss): Rename this reservation to... (r24kf1_1_fpu_iss): ...this and update all uses. * config/mips/74k.md: Rename FPU-related r74kf_* insn reservations to r74kf2_1_*. Rename r74kx_* insn reservations to r74kf1_1_*. Update cpu attribute names. Co-Authored-By: David Ung <davidu@mips.com> From-SVN: r126266
2007-07-03 19:34:59 +02:00
(define_insn_reservation "r74kf1_1_fadd" 4
(and (eq_attr "cpu" "74kf1_1")
(eq_attr "type" "fadd,fabs,fneg"))
"r74k_fpu_arith")
invoke.texi: Replace -march=24kf with -march=24kf2_1 and -march=24kx with -march=24kf1_1. gcc/ 2007-07-03 Richard Sandiford <richard@codesourcery.com> David Ung <davidu@mips.com> * doc/invoke.texi: Replace -march=24kf with -march=24kf2_1 and -march=24kx with -march=24kf1_1. Likewise 24ke[fx], 34k[fx] and 74k[fx]. Document aliases for the new options. * config/mips/mips.h (PROCESSOR_24KF): Rename to... (PROCESSOR_24KF2_1): ...this. (PROCESSOR_24KX): Rename to... (PROCESSOR_24KF1_1): ...this. (PROCESSOR_74KF): Rename to... (PROCESSOR_74KF2_1): ...this. (PROCESSOR_74KX): Rename to... (PROCESSOR_74KF1_1): ...this. (TUNE_74K): Update PROCESSOR_* names. * config/mips/mips.c (mips_cpu_info): Add 24kf2_1 as a synonym for 24kf. Add 24kf1_1 and 24kfx as synonyms for 24kx. Likewise the 24ke*, 34k* and 74k* processors. Update PROCESSOR_* names. (mips_rtx_cost_data): Update processor names in comments. (mips_issue_rate): Update PROCESSOR_* names. * config/mips/mips.md (cpu): Rename 24kf to 24kf2_1, 24kx to 24kf1_1, 74kf to 74kf2_1 and 74kx to 74kf1_1. * config/mips/24k.md: Rename FPU-related r24k_* insn reservations to r24kf2_1_*. Rename r24kx_* insn reservations to r24kf1_1_*. Update cpu attribute names. (r24k_fpu_iss): Rename this reservation to... (r24kf2_1_fpu_iss): ...this and update all uses. (r24kx_fpu_iss): Rename this reservation to... (r24kf1_1_fpu_iss): ...this and update all uses. * config/mips/74k.md: Rename FPU-related r74kf_* insn reservations to r74kf2_1_*. Rename r74kx_* insn reservations to r74kf1_1_*. Update cpu attribute names. Co-Authored-By: David Ung <davidu@mips.com> From-SVN: r126266
2007-07-03 19:34:59 +02:00
(define_insn_reservation "r74kf2_1_fadd" 8
(and (eq_attr "cpu" "74kf2_1")
(eq_attr "type" "fadd,fabs,fneg"))
"r74k_fpu_arith*2")
(define_insn_reservation "r74kf3_2_fadd" 6
(and (eq_attr "cpu" "74kf3_2")
(eq_attr "type" "fadd,fabs,fneg"))
"r74k_fpu_arith")
;; fmove, fcmove
invoke.texi: Replace -march=24kf with -march=24kf2_1 and -march=24kx with -march=24kf1_1. gcc/ 2007-07-03 Richard Sandiford <richard@codesourcery.com> David Ung <davidu@mips.com> * doc/invoke.texi: Replace -march=24kf with -march=24kf2_1 and -march=24kx with -march=24kf1_1. Likewise 24ke[fx], 34k[fx] and 74k[fx]. Document aliases for the new options. * config/mips/mips.h (PROCESSOR_24KF): Rename to... (PROCESSOR_24KF2_1): ...this. (PROCESSOR_24KX): Rename to... (PROCESSOR_24KF1_1): ...this. (PROCESSOR_74KF): Rename to... (PROCESSOR_74KF2_1): ...this. (PROCESSOR_74KX): Rename to... (PROCESSOR_74KF1_1): ...this. (TUNE_74K): Update PROCESSOR_* names. * config/mips/mips.c (mips_cpu_info): Add 24kf2_1 as a synonym for 24kf. Add 24kf1_1 and 24kfx as synonyms for 24kx. Likewise the 24ke*, 34k* and 74k* processors. Update PROCESSOR_* names. (mips_rtx_cost_data): Update processor names in comments. (mips_issue_rate): Update PROCESSOR_* names. * config/mips/mips.md (cpu): Rename 24kf to 24kf2_1, 24kx to 24kf1_1, 74kf to 74kf2_1 and 74kx to 74kf1_1. * config/mips/24k.md: Rename FPU-related r24k_* insn reservations to r24kf2_1_*. Rename r24kx_* insn reservations to r24kf1_1_*. Update cpu attribute names. (r24k_fpu_iss): Rename this reservation to... (r24kf2_1_fpu_iss): ...this and update all uses. (r24kx_fpu_iss): Rename this reservation to... (r24kf1_1_fpu_iss): ...this and update all uses. * config/mips/74k.md: Rename FPU-related r74kf_* insn reservations to r74kf2_1_*. Rename r74kx_* insn reservations to r74kf1_1_*. Update cpu attribute names. Co-Authored-By: David Ung <davidu@mips.com> From-SVN: r126266
2007-07-03 19:34:59 +02:00
(define_insn_reservation "r74kf1_1_fmove" 4
(and (eq_attr "cpu" "74kf1_1")
(eq_attr "type" "fmove"))
"r74k_fpu_arith")
invoke.texi: Replace -march=24kf with -march=24kf2_1 and -march=24kx with -march=24kf1_1. gcc/ 2007-07-03 Richard Sandiford <richard@codesourcery.com> David Ung <davidu@mips.com> * doc/invoke.texi: Replace -march=24kf with -march=24kf2_1 and -march=24kx with -march=24kf1_1. Likewise 24ke[fx], 34k[fx] and 74k[fx]. Document aliases for the new options. * config/mips/mips.h (PROCESSOR_24KF): Rename to... (PROCESSOR_24KF2_1): ...this. (PROCESSOR_24KX): Rename to... (PROCESSOR_24KF1_1): ...this. (PROCESSOR_74KF): Rename to... (PROCESSOR_74KF2_1): ...this. (PROCESSOR_74KX): Rename to... (PROCESSOR_74KF1_1): ...this. (TUNE_74K): Update PROCESSOR_* names. * config/mips/mips.c (mips_cpu_info): Add 24kf2_1 as a synonym for 24kf. Add 24kf1_1 and 24kfx as synonyms for 24kx. Likewise the 24ke*, 34k* and 74k* processors. Update PROCESSOR_* names. (mips_rtx_cost_data): Update processor names in comments. (mips_issue_rate): Update PROCESSOR_* names. * config/mips/mips.md (cpu): Rename 24kf to 24kf2_1, 24kx to 24kf1_1, 74kf to 74kf2_1 and 74kx to 74kf1_1. * config/mips/24k.md: Rename FPU-related r24k_* insn reservations to r24kf2_1_*. Rename r24kx_* insn reservations to r24kf1_1_*. Update cpu attribute names. (r24k_fpu_iss): Rename this reservation to... (r24kf2_1_fpu_iss): ...this and update all uses. (r24kx_fpu_iss): Rename this reservation to... (r24kf1_1_fpu_iss): ...this and update all uses. * config/mips/74k.md: Rename FPU-related r74kf_* insn reservations to r74kf2_1_*. Rename r74kx_* insn reservations to r74kf1_1_*. Update cpu attribute names. Co-Authored-By: David Ung <davidu@mips.com> From-SVN: r126266
2007-07-03 19:34:59 +02:00
(define_insn_reservation "r74kf2_1_fmove" 8
(and (eq_attr "cpu" "74kf2_1")
(eq_attr "type" "fmove"))
"r74k_fpu_arith*2")
(define_insn_reservation "r74kf3_2_fmove" 6
(and (eq_attr "cpu" "74kf3_2")
(eq_attr "type" "fmove"))
"r74k_fpu_arith")
;; fload
invoke.texi: Replace -march=24kf with -march=24kf2_1 and -march=24kx with -march=24kf1_1. gcc/ 2007-07-03 Richard Sandiford <richard@codesourcery.com> David Ung <davidu@mips.com> * doc/invoke.texi: Replace -march=24kf with -march=24kf2_1 and -march=24kx with -march=24kf1_1. Likewise 24ke[fx], 34k[fx] and 74k[fx]. Document aliases for the new options. * config/mips/mips.h (PROCESSOR_24KF): Rename to... (PROCESSOR_24KF2_1): ...this. (PROCESSOR_24KX): Rename to... (PROCESSOR_24KF1_1): ...this. (PROCESSOR_74KF): Rename to... (PROCESSOR_74KF2_1): ...this. (PROCESSOR_74KX): Rename to... (PROCESSOR_74KF1_1): ...this. (TUNE_74K): Update PROCESSOR_* names. * config/mips/mips.c (mips_cpu_info): Add 24kf2_1 as a synonym for 24kf. Add 24kf1_1 and 24kfx as synonyms for 24kx. Likewise the 24ke*, 34k* and 74k* processors. Update PROCESSOR_* names. (mips_rtx_cost_data): Update processor names in comments. (mips_issue_rate): Update PROCESSOR_* names. * config/mips/mips.md (cpu): Rename 24kf to 24kf2_1, 24kx to 24kf1_1, 74kf to 74kf2_1 and 74kx to 74kf1_1. * config/mips/24k.md: Rename FPU-related r24k_* insn reservations to r24kf2_1_*. Rename r24kx_* insn reservations to r24kf1_1_*. Update cpu attribute names. (r24k_fpu_iss): Rename this reservation to... (r24kf2_1_fpu_iss): ...this and update all uses. (r24kx_fpu_iss): Rename this reservation to... (r24kf1_1_fpu_iss): ...this and update all uses. * config/mips/74k.md: Rename FPU-related r74kf_* insn reservations to r74kf2_1_*. Rename r74kx_* insn reservations to r74kf1_1_*. Update cpu attribute names. Co-Authored-By: David Ung <davidu@mips.com> From-SVN: r126266
2007-07-03 19:34:59 +02:00
(define_insn_reservation "r74kf1_1_fload" 4
(and (eq_attr "cpu" "74kf1_1")
(eq_attr "type" "fpload,fpidxload"))
"r74k_agen+r74k_fpu_ldst")
invoke.texi: Replace -march=24kf with -march=24kf2_1 and -march=24kx with -march=24kf1_1. gcc/ 2007-07-03 Richard Sandiford <richard@codesourcery.com> David Ung <davidu@mips.com> * doc/invoke.texi: Replace -march=24kf with -march=24kf2_1 and -march=24kx with -march=24kf1_1. Likewise 24ke[fx], 34k[fx] and 74k[fx]. Document aliases for the new options. * config/mips/mips.h (PROCESSOR_24KF): Rename to... (PROCESSOR_24KF2_1): ...this. (PROCESSOR_24KX): Rename to... (PROCESSOR_24KF1_1): ...this. (PROCESSOR_74KF): Rename to... (PROCESSOR_74KF2_1): ...this. (PROCESSOR_74KX): Rename to... (PROCESSOR_74KF1_1): ...this. (TUNE_74K): Update PROCESSOR_* names. * config/mips/mips.c (mips_cpu_info): Add 24kf2_1 as a synonym for 24kf. Add 24kf1_1 and 24kfx as synonyms for 24kx. Likewise the 24ke*, 34k* and 74k* processors. Update PROCESSOR_* names. (mips_rtx_cost_data): Update processor names in comments. (mips_issue_rate): Update PROCESSOR_* names. * config/mips/mips.md (cpu): Rename 24kf to 24kf2_1, 24kx to 24kf1_1, 74kf to 74kf2_1 and 74kx to 74kf1_1. * config/mips/24k.md: Rename FPU-related r24k_* insn reservations to r24kf2_1_*. Rename r24kx_* insn reservations to r24kf1_1_*. Update cpu attribute names. (r24k_fpu_iss): Rename this reservation to... (r24kf2_1_fpu_iss): ...this and update all uses. (r24kx_fpu_iss): Rename this reservation to... (r24kf1_1_fpu_iss): ...this and update all uses. * config/mips/74k.md: Rename FPU-related r74kf_* insn reservations to r74kf2_1_*. Rename r74kx_* insn reservations to r74kf1_1_*. Update cpu attribute names. Co-Authored-By: David Ung <davidu@mips.com> From-SVN: r126266
2007-07-03 19:34:59 +02:00
(define_insn_reservation "r74kf2_1_fload" 8
(and (eq_attr "cpu" "74kf2_1")
(eq_attr "type" "fpload,fpidxload"))
"r74k_agen+(r74k_fpu_ldst*2)")
(define_insn_reservation "r74kf3_2_fload" 6
(and (eq_attr "cpu" "74kf3_2")
(eq_attr "type" "fpload,fpidxload"))
"r74k_agen+r74k_fpu_ldst")
;; fstore
invoke.texi: Replace -march=24kf with -march=24kf2_1 and -march=24kx with -march=24kf1_1. gcc/ 2007-07-03 Richard Sandiford <richard@codesourcery.com> David Ung <davidu@mips.com> * doc/invoke.texi: Replace -march=24kf with -march=24kf2_1 and -march=24kx with -march=24kf1_1. Likewise 24ke[fx], 34k[fx] and 74k[fx]. Document aliases for the new options. * config/mips/mips.h (PROCESSOR_24KF): Rename to... (PROCESSOR_24KF2_1): ...this. (PROCESSOR_24KX): Rename to... (PROCESSOR_24KF1_1): ...this. (PROCESSOR_74KF): Rename to... (PROCESSOR_74KF2_1): ...this. (PROCESSOR_74KX): Rename to... (PROCESSOR_74KF1_1): ...this. (TUNE_74K): Update PROCESSOR_* names. * config/mips/mips.c (mips_cpu_info): Add 24kf2_1 as a synonym for 24kf. Add 24kf1_1 and 24kfx as synonyms for 24kx. Likewise the 24ke*, 34k* and 74k* processors. Update PROCESSOR_* names. (mips_rtx_cost_data): Update processor names in comments. (mips_issue_rate): Update PROCESSOR_* names. * config/mips/mips.md (cpu): Rename 24kf to 24kf2_1, 24kx to 24kf1_1, 74kf to 74kf2_1 and 74kx to 74kf1_1. * config/mips/24k.md: Rename FPU-related r24k_* insn reservations to r24kf2_1_*. Rename r24kx_* insn reservations to r24kf1_1_*. Update cpu attribute names. (r24k_fpu_iss): Rename this reservation to... (r24kf2_1_fpu_iss): ...this and update all uses. (r24kx_fpu_iss): Rename this reservation to... (r24kf1_1_fpu_iss): ...this and update all uses. * config/mips/74k.md: Rename FPU-related r74kf_* insn reservations to r74kf2_1_*. Rename r74kx_* insn reservations to r74kf1_1_*. Update cpu attribute names. Co-Authored-By: David Ung <davidu@mips.com> From-SVN: r126266
2007-07-03 19:34:59 +02:00
(define_insn_reservation "r74kf1_1_fstore" 1
(and (eq_attr "cpu" "74kf1_1")
(eq_attr "type" "fpstore,fpidxstore"))
"r74k_agen+r74k_fpu_ldst")
invoke.texi: Replace -march=24kf with -march=24kf2_1 and -march=24kx with -march=24kf1_1. gcc/ 2007-07-03 Richard Sandiford <richard@codesourcery.com> David Ung <davidu@mips.com> * doc/invoke.texi: Replace -march=24kf with -march=24kf2_1 and -march=24kx with -march=24kf1_1. Likewise 24ke[fx], 34k[fx] and 74k[fx]. Document aliases for the new options. * config/mips/mips.h (PROCESSOR_24KF): Rename to... (PROCESSOR_24KF2_1): ...this. (PROCESSOR_24KX): Rename to... (PROCESSOR_24KF1_1): ...this. (PROCESSOR_74KF): Rename to... (PROCESSOR_74KF2_1): ...this. (PROCESSOR_74KX): Rename to... (PROCESSOR_74KF1_1): ...this. (TUNE_74K): Update PROCESSOR_* names. * config/mips/mips.c (mips_cpu_info): Add 24kf2_1 as a synonym for 24kf. Add 24kf1_1 and 24kfx as synonyms for 24kx. Likewise the 24ke*, 34k* and 74k* processors. Update PROCESSOR_* names. (mips_rtx_cost_data): Update processor names in comments. (mips_issue_rate): Update PROCESSOR_* names. * config/mips/mips.md (cpu): Rename 24kf to 24kf2_1, 24kx to 24kf1_1, 74kf to 74kf2_1 and 74kx to 74kf1_1. * config/mips/24k.md: Rename FPU-related r24k_* insn reservations to r24kf2_1_*. Rename r24kx_* insn reservations to r24kf1_1_*. Update cpu attribute names. (r24k_fpu_iss): Rename this reservation to... (r24kf2_1_fpu_iss): ...this and update all uses. (r24kx_fpu_iss): Rename this reservation to... (r24kf1_1_fpu_iss): ...this and update all uses. * config/mips/74k.md: Rename FPU-related r74kf_* insn reservations to r74kf2_1_*. Rename r74kx_* insn reservations to r74kf1_1_*. Update cpu attribute names. Co-Authored-By: David Ung <davidu@mips.com> From-SVN: r126266
2007-07-03 19:34:59 +02:00
(define_insn_reservation "r74kf2_1_fstore" 2
(and (eq_attr "cpu" "74kf2_1")
(eq_attr "type" "fpstore,fpidxstore"))
"r74k_agen+(r74k_fpu_ldst*2)")
(define_insn_reservation "r74kf3_2_fstore" 1
(and (eq_attr "cpu" "74kf3_2")
(eq_attr "type" "fpstore,fpidxstore"))
"r74k_agen+r74k_fpu_ldst")
;; fmul, fmadd
invoke.texi: Replace -march=24kf with -march=24kf2_1 and -march=24kx with -march=24kf1_1. gcc/ 2007-07-03 Richard Sandiford <richard@codesourcery.com> David Ung <davidu@mips.com> * doc/invoke.texi: Replace -march=24kf with -march=24kf2_1 and -march=24kx with -march=24kf1_1. Likewise 24ke[fx], 34k[fx] and 74k[fx]. Document aliases for the new options. * config/mips/mips.h (PROCESSOR_24KF): Rename to... (PROCESSOR_24KF2_1): ...this. (PROCESSOR_24KX): Rename to... (PROCESSOR_24KF1_1): ...this. (PROCESSOR_74KF): Rename to... (PROCESSOR_74KF2_1): ...this. (PROCESSOR_74KX): Rename to... (PROCESSOR_74KF1_1): ...this. (TUNE_74K): Update PROCESSOR_* names. * config/mips/mips.c (mips_cpu_info): Add 24kf2_1 as a synonym for 24kf. Add 24kf1_1 and 24kfx as synonyms for 24kx. Likewise the 24ke*, 34k* and 74k* processors. Update PROCESSOR_* names. (mips_rtx_cost_data): Update processor names in comments. (mips_issue_rate): Update PROCESSOR_* names. * config/mips/mips.md (cpu): Rename 24kf to 24kf2_1, 24kx to 24kf1_1, 74kf to 74kf2_1 and 74kx to 74kf1_1. * config/mips/24k.md: Rename FPU-related r24k_* insn reservations to r24kf2_1_*. Rename r24kx_* insn reservations to r24kf1_1_*. Update cpu attribute names. (r24k_fpu_iss): Rename this reservation to... (r24kf2_1_fpu_iss): ...this and update all uses. (r24kx_fpu_iss): Rename this reservation to... (r24kf1_1_fpu_iss): ...this and update all uses. * config/mips/74k.md: Rename FPU-related r74kf_* insn reservations to r74kf2_1_*. Rename r74kx_* insn reservations to r74kf1_1_*. Update cpu attribute names. Co-Authored-By: David Ung <davidu@mips.com> From-SVN: r126266
2007-07-03 19:34:59 +02:00
(define_insn_reservation "r74kf1_1_fmul_sf" 4
(and (eq_attr "cpu" "74kf1_1")
(and (eq_attr "type" "fmul,fmadd")
(eq_attr "mode" "SF")))
"r74k_fpu_arith")
invoke.texi: Replace -march=24kf with -march=24kf2_1 and -march=24kx with -march=24kf1_1. gcc/ 2007-07-03 Richard Sandiford <richard@codesourcery.com> David Ung <davidu@mips.com> * doc/invoke.texi: Replace -march=24kf with -march=24kf2_1 and -march=24kx with -march=24kf1_1. Likewise 24ke[fx], 34k[fx] and 74k[fx]. Document aliases for the new options. * config/mips/mips.h (PROCESSOR_24KF): Rename to... (PROCESSOR_24KF2_1): ...this. (PROCESSOR_24KX): Rename to... (PROCESSOR_24KF1_1): ...this. (PROCESSOR_74KF): Rename to... (PROCESSOR_74KF2_1): ...this. (PROCESSOR_74KX): Rename to... (PROCESSOR_74KF1_1): ...this. (TUNE_74K): Update PROCESSOR_* names. * config/mips/mips.c (mips_cpu_info): Add 24kf2_1 as a synonym for 24kf. Add 24kf1_1 and 24kfx as synonyms for 24kx. Likewise the 24ke*, 34k* and 74k* processors. Update PROCESSOR_* names. (mips_rtx_cost_data): Update processor names in comments. (mips_issue_rate): Update PROCESSOR_* names. * config/mips/mips.md (cpu): Rename 24kf to 24kf2_1, 24kx to 24kf1_1, 74kf to 74kf2_1 and 74kx to 74kf1_1. * config/mips/24k.md: Rename FPU-related r24k_* insn reservations to r24kf2_1_*. Rename r24kx_* insn reservations to r24kf1_1_*. Update cpu attribute names. (r24k_fpu_iss): Rename this reservation to... (r24kf2_1_fpu_iss): ...this and update all uses. (r24kx_fpu_iss): Rename this reservation to... (r24kf1_1_fpu_iss): ...this and update all uses. * config/mips/74k.md: Rename FPU-related r74kf_* insn reservations to r74kf2_1_*. Rename r74kx_* insn reservations to r74kf1_1_*. Update cpu attribute names. Co-Authored-By: David Ung <davidu@mips.com> From-SVN: r126266
2007-07-03 19:34:59 +02:00
(define_insn_reservation "r74kf2_1_fmul_sf" 8
(and (eq_attr "cpu" "74kf2_1")
(and (eq_attr "type" "fmul,fmadd")
(eq_attr "mode" "SF")))
"r74k_fpu_arith*2")
(define_insn_reservation "r74kf3_2_fmul_sf" 6
(and (eq_attr "cpu" "74kf3_2")
(and (eq_attr "type" "fmul,fmadd")
(eq_attr "mode" "SF")))
"r74k_fpu_arith")
invoke.texi: Replace -march=24kf with -march=24kf2_1 and -march=24kx with -march=24kf1_1. gcc/ 2007-07-03 Richard Sandiford <richard@codesourcery.com> David Ung <davidu@mips.com> * doc/invoke.texi: Replace -march=24kf with -march=24kf2_1 and -march=24kx with -march=24kf1_1. Likewise 24ke[fx], 34k[fx] and 74k[fx]. Document aliases for the new options. * config/mips/mips.h (PROCESSOR_24KF): Rename to... (PROCESSOR_24KF2_1): ...this. (PROCESSOR_24KX): Rename to... (PROCESSOR_24KF1_1): ...this. (PROCESSOR_74KF): Rename to... (PROCESSOR_74KF2_1): ...this. (PROCESSOR_74KX): Rename to... (PROCESSOR_74KF1_1): ...this. (TUNE_74K): Update PROCESSOR_* names. * config/mips/mips.c (mips_cpu_info): Add 24kf2_1 as a synonym for 24kf. Add 24kf1_1 and 24kfx as synonyms for 24kx. Likewise the 24ke*, 34k* and 74k* processors. Update PROCESSOR_* names. (mips_rtx_cost_data): Update processor names in comments. (mips_issue_rate): Update PROCESSOR_* names. * config/mips/mips.md (cpu): Rename 24kf to 24kf2_1, 24kx to 24kf1_1, 74kf to 74kf2_1 and 74kx to 74kf1_1. * config/mips/24k.md: Rename FPU-related r24k_* insn reservations to r24kf2_1_*. Rename r24kx_* insn reservations to r24kf1_1_*. Update cpu attribute names. (r24k_fpu_iss): Rename this reservation to... (r24kf2_1_fpu_iss): ...this and update all uses. (r24kx_fpu_iss): Rename this reservation to... (r24kf1_1_fpu_iss): ...this and update all uses. * config/mips/74k.md: Rename FPU-related r74kf_* insn reservations to r74kf2_1_*. Rename r74kx_* insn reservations to r74kf1_1_*. Update cpu attribute names. Co-Authored-By: David Ung <davidu@mips.com> From-SVN: r126266
2007-07-03 19:34:59 +02:00
(define_insn_reservation "r74kf1_1_fmul_df" 5
(and (eq_attr "cpu" "74kf1_1")
(and (eq_attr "type" "fmul,fmadd")
(eq_attr "mode" "DF")))
"r74k_fpu_arith*2")
invoke.texi: Replace -march=24kf with -march=24kf2_1 and -march=24kx with -march=24kf1_1. gcc/ 2007-07-03 Richard Sandiford <richard@codesourcery.com> David Ung <davidu@mips.com> * doc/invoke.texi: Replace -march=24kf with -march=24kf2_1 and -march=24kx with -march=24kf1_1. Likewise 24ke[fx], 34k[fx] and 74k[fx]. Document aliases for the new options. * config/mips/mips.h (PROCESSOR_24KF): Rename to... (PROCESSOR_24KF2_1): ...this. (PROCESSOR_24KX): Rename to... (PROCESSOR_24KF1_1): ...this. (PROCESSOR_74KF): Rename to... (PROCESSOR_74KF2_1): ...this. (PROCESSOR_74KX): Rename to... (PROCESSOR_74KF1_1): ...this. (TUNE_74K): Update PROCESSOR_* names. * config/mips/mips.c (mips_cpu_info): Add 24kf2_1 as a synonym for 24kf. Add 24kf1_1 and 24kfx as synonyms for 24kx. Likewise the 24ke*, 34k* and 74k* processors. Update PROCESSOR_* names. (mips_rtx_cost_data): Update processor names in comments. (mips_issue_rate): Update PROCESSOR_* names. * config/mips/mips.md (cpu): Rename 24kf to 24kf2_1, 24kx to 24kf1_1, 74kf to 74kf2_1 and 74kx to 74kf1_1. * config/mips/24k.md: Rename FPU-related r24k_* insn reservations to r24kf2_1_*. Rename r24kx_* insn reservations to r24kf1_1_*. Update cpu attribute names. (r24k_fpu_iss): Rename this reservation to... (r24kf2_1_fpu_iss): ...this and update all uses. (r24kx_fpu_iss): Rename this reservation to... (r24kf1_1_fpu_iss): ...this and update all uses. * config/mips/74k.md: Rename FPU-related r74kf_* insn reservations to r74kf2_1_*. Rename r74kx_* insn reservations to r74kf1_1_*. Update cpu attribute names. Co-Authored-By: David Ung <davidu@mips.com> From-SVN: r126266
2007-07-03 19:34:59 +02:00
(define_insn_reservation "r74kf2_1_fmul_df" 10
(and (eq_attr "cpu" "74kf2_1")
(and (eq_attr "type" "fmul,fmadd")
(eq_attr "mode" "DF")))
"r74k_fpu_arith*4")
(define_insn_reservation "r74kf3_2_fmul_df" 7
(and (eq_attr "cpu" "74kf3_2")
(and (eq_attr "type" "fmul,fmadd")
(eq_attr "mode" "DF")))
"r74k_fpu_arith*2")
;; fdiv, fsqrt
invoke.texi: Replace -march=24kf with -march=24kf2_1 and -march=24kx with -march=24kf1_1. gcc/ 2007-07-03 Richard Sandiford <richard@codesourcery.com> David Ung <davidu@mips.com> * doc/invoke.texi: Replace -march=24kf with -march=24kf2_1 and -march=24kx with -march=24kf1_1. Likewise 24ke[fx], 34k[fx] and 74k[fx]. Document aliases for the new options. * config/mips/mips.h (PROCESSOR_24KF): Rename to... (PROCESSOR_24KF2_1): ...this. (PROCESSOR_24KX): Rename to... (PROCESSOR_24KF1_1): ...this. (PROCESSOR_74KF): Rename to... (PROCESSOR_74KF2_1): ...this. (PROCESSOR_74KX): Rename to... (PROCESSOR_74KF1_1): ...this. (TUNE_74K): Update PROCESSOR_* names. * config/mips/mips.c (mips_cpu_info): Add 24kf2_1 as a synonym for 24kf. Add 24kf1_1 and 24kfx as synonyms for 24kx. Likewise the 24ke*, 34k* and 74k* processors. Update PROCESSOR_* names. (mips_rtx_cost_data): Update processor names in comments. (mips_issue_rate): Update PROCESSOR_* names. * config/mips/mips.md (cpu): Rename 24kf to 24kf2_1, 24kx to 24kf1_1, 74kf to 74kf2_1 and 74kx to 74kf1_1. * config/mips/24k.md: Rename FPU-related r24k_* insn reservations to r24kf2_1_*. Rename r24kx_* insn reservations to r24kf1_1_*. Update cpu attribute names. (r24k_fpu_iss): Rename this reservation to... (r24kf2_1_fpu_iss): ...this and update all uses. (r24kx_fpu_iss): Rename this reservation to... (r24kf1_1_fpu_iss): ...this and update all uses. * config/mips/74k.md: Rename FPU-related r74kf_* insn reservations to r74kf2_1_*. Rename r74kx_* insn reservations to r74kf1_1_*. Update cpu attribute names. Co-Authored-By: David Ung <davidu@mips.com> From-SVN: r126266
2007-07-03 19:34:59 +02:00
(define_insn_reservation "r74kf1_1_fdiv_sf" 17
(and (eq_attr "cpu" "74kf1_1")
(and (eq_attr "type" "fdiv,fsqrt")
(eq_attr "mode" "SF")))
"r74k_fpu_arith*14")
invoke.texi: Replace -march=24kf with -march=24kf2_1 and -march=24kx with -march=24kf1_1. gcc/ 2007-07-03 Richard Sandiford <richard@codesourcery.com> David Ung <davidu@mips.com> * doc/invoke.texi: Replace -march=24kf with -march=24kf2_1 and -march=24kx with -march=24kf1_1. Likewise 24ke[fx], 34k[fx] and 74k[fx]. Document aliases for the new options. * config/mips/mips.h (PROCESSOR_24KF): Rename to... (PROCESSOR_24KF2_1): ...this. (PROCESSOR_24KX): Rename to... (PROCESSOR_24KF1_1): ...this. (PROCESSOR_74KF): Rename to... (PROCESSOR_74KF2_1): ...this. (PROCESSOR_74KX): Rename to... (PROCESSOR_74KF1_1): ...this. (TUNE_74K): Update PROCESSOR_* names. * config/mips/mips.c (mips_cpu_info): Add 24kf2_1 as a synonym for 24kf. Add 24kf1_1 and 24kfx as synonyms for 24kx. Likewise the 24ke*, 34k* and 74k* processors. Update PROCESSOR_* names. (mips_rtx_cost_data): Update processor names in comments. (mips_issue_rate): Update PROCESSOR_* names. * config/mips/mips.md (cpu): Rename 24kf to 24kf2_1, 24kx to 24kf1_1, 74kf to 74kf2_1 and 74kx to 74kf1_1. * config/mips/24k.md: Rename FPU-related r24k_* insn reservations to r24kf2_1_*. Rename r24kx_* insn reservations to r24kf1_1_*. Update cpu attribute names. (r24k_fpu_iss): Rename this reservation to... (r24kf2_1_fpu_iss): ...this and update all uses. (r24kx_fpu_iss): Rename this reservation to... (r24kf1_1_fpu_iss): ...this and update all uses. * config/mips/74k.md: Rename FPU-related r74kf_* insn reservations to r74kf2_1_*. Rename r74kx_* insn reservations to r74kf1_1_*. Update cpu attribute names. Co-Authored-By: David Ung <davidu@mips.com> From-SVN: r126266
2007-07-03 19:34:59 +02:00
(define_insn_reservation "r74kf2_1_fdiv_sf" 34
(and (eq_attr "cpu" "74kf2_1")
(and (eq_attr "type" "fdiv,fsqrt")
(eq_attr "mode" "SF")))
"r74k_fpu_arith*28")
(define_insn_reservation "r74kf3_2_fdiv_sf" 25
(and (eq_attr "cpu" "74kf3_2")
(and (eq_attr "type" "fdiv,fsqrt")
(eq_attr "mode" "SF")))
"r74k_fpu_arith*14")
invoke.texi: Replace -march=24kf with -march=24kf2_1 and -march=24kx with -march=24kf1_1. gcc/ 2007-07-03 Richard Sandiford <richard@codesourcery.com> David Ung <davidu@mips.com> * doc/invoke.texi: Replace -march=24kf with -march=24kf2_1 and -march=24kx with -march=24kf1_1. Likewise 24ke[fx], 34k[fx] and 74k[fx]. Document aliases for the new options. * config/mips/mips.h (PROCESSOR_24KF): Rename to... (PROCESSOR_24KF2_1): ...this. (PROCESSOR_24KX): Rename to... (PROCESSOR_24KF1_1): ...this. (PROCESSOR_74KF): Rename to... (PROCESSOR_74KF2_1): ...this. (PROCESSOR_74KX): Rename to... (PROCESSOR_74KF1_1): ...this. (TUNE_74K): Update PROCESSOR_* names. * config/mips/mips.c (mips_cpu_info): Add 24kf2_1 as a synonym for 24kf. Add 24kf1_1 and 24kfx as synonyms for 24kx. Likewise the 24ke*, 34k* and 74k* processors. Update PROCESSOR_* names. (mips_rtx_cost_data): Update processor names in comments. (mips_issue_rate): Update PROCESSOR_* names. * config/mips/mips.md (cpu): Rename 24kf to 24kf2_1, 24kx to 24kf1_1, 74kf to 74kf2_1 and 74kx to 74kf1_1. * config/mips/24k.md: Rename FPU-related r24k_* insn reservations to r24kf2_1_*. Rename r24kx_* insn reservations to r24kf1_1_*. Update cpu attribute names. (r24k_fpu_iss): Rename this reservation to... (r24kf2_1_fpu_iss): ...this and update all uses. (r24kx_fpu_iss): Rename this reservation to... (r24kf1_1_fpu_iss): ...this and update all uses. * config/mips/74k.md: Rename FPU-related r74kf_* insn reservations to r74kf2_1_*. Rename r74kx_* insn reservations to r74kf1_1_*. Update cpu attribute names. Co-Authored-By: David Ung <davidu@mips.com> From-SVN: r126266
2007-07-03 19:34:59 +02:00
(define_insn_reservation "r74kf1_1_fdiv_df" 32
(and (eq_attr "cpu" "74kf1_1")
(and (eq_attr "type" "fdiv,fsqrt")
(eq_attr "mode" "DF")))
"r74k_fpu_arith*29")
invoke.texi: Replace -march=24kf with -march=24kf2_1 and -march=24kx with -march=24kf1_1. gcc/ 2007-07-03 Richard Sandiford <richard@codesourcery.com> David Ung <davidu@mips.com> * doc/invoke.texi: Replace -march=24kf with -march=24kf2_1 and -march=24kx with -march=24kf1_1. Likewise 24ke[fx], 34k[fx] and 74k[fx]. Document aliases for the new options. * config/mips/mips.h (PROCESSOR_24KF): Rename to... (PROCESSOR_24KF2_1): ...this. (PROCESSOR_24KX): Rename to... (PROCESSOR_24KF1_1): ...this. (PROCESSOR_74KF): Rename to... (PROCESSOR_74KF2_1): ...this. (PROCESSOR_74KX): Rename to... (PROCESSOR_74KF1_1): ...this. (TUNE_74K): Update PROCESSOR_* names. * config/mips/mips.c (mips_cpu_info): Add 24kf2_1 as a synonym for 24kf. Add 24kf1_1 and 24kfx as synonyms for 24kx. Likewise the 24ke*, 34k* and 74k* processors. Update PROCESSOR_* names. (mips_rtx_cost_data): Update processor names in comments. (mips_issue_rate): Update PROCESSOR_* names. * config/mips/mips.md (cpu): Rename 24kf to 24kf2_1, 24kx to 24kf1_1, 74kf to 74kf2_1 and 74kx to 74kf1_1. * config/mips/24k.md: Rename FPU-related r24k_* insn reservations to r24kf2_1_*. Rename r24kx_* insn reservations to r24kf1_1_*. Update cpu attribute names. (r24k_fpu_iss): Rename this reservation to... (r24kf2_1_fpu_iss): ...this and update all uses. (r24kx_fpu_iss): Rename this reservation to... (r24kf1_1_fpu_iss): ...this and update all uses. * config/mips/74k.md: Rename FPU-related r74kf_* insn reservations to r74kf2_1_*. Rename r74kx_* insn reservations to r74kf1_1_*. Update cpu attribute names. Co-Authored-By: David Ung <davidu@mips.com> From-SVN: r126266
2007-07-03 19:34:59 +02:00
(define_insn_reservation "r74kf2_1_fdiv_df" 64
(and (eq_attr "cpu" "74kf2_1")
(and (eq_attr "type" "fdiv,fsqrt")
(eq_attr "mode" "DF")))
"r74k_fpu_arith*58")
(define_insn_reservation "r74kf3_2_fdiv_df" 48
(and (eq_attr "cpu" "74kf3_2")
(and (eq_attr "type" "fdiv,fsqrt")
(eq_attr "mode" "DF")))
"r74k_fpu_arith*29")
;; frsqrt
invoke.texi: Replace -march=24kf with -march=24kf2_1 and -march=24kx with -march=24kf1_1. gcc/ 2007-07-03 Richard Sandiford <richard@codesourcery.com> David Ung <davidu@mips.com> * doc/invoke.texi: Replace -march=24kf with -march=24kf2_1 and -march=24kx with -march=24kf1_1. Likewise 24ke[fx], 34k[fx] and 74k[fx]. Document aliases for the new options. * config/mips/mips.h (PROCESSOR_24KF): Rename to... (PROCESSOR_24KF2_1): ...this. (PROCESSOR_24KX): Rename to... (PROCESSOR_24KF1_1): ...this. (PROCESSOR_74KF): Rename to... (PROCESSOR_74KF2_1): ...this. (PROCESSOR_74KX): Rename to... (PROCESSOR_74KF1_1): ...this. (TUNE_74K): Update PROCESSOR_* names. * config/mips/mips.c (mips_cpu_info): Add 24kf2_1 as a synonym for 24kf. Add 24kf1_1 and 24kfx as synonyms for 24kx. Likewise the 24ke*, 34k* and 74k* processors. Update PROCESSOR_* names. (mips_rtx_cost_data): Update processor names in comments. (mips_issue_rate): Update PROCESSOR_* names. * config/mips/mips.md (cpu): Rename 24kf to 24kf2_1, 24kx to 24kf1_1, 74kf to 74kf2_1 and 74kx to 74kf1_1. * config/mips/24k.md: Rename FPU-related r24k_* insn reservations to r24kf2_1_*. Rename r24kx_* insn reservations to r24kf1_1_*. Update cpu attribute names. (r24k_fpu_iss): Rename this reservation to... (r24kf2_1_fpu_iss): ...this and update all uses. (r24kx_fpu_iss): Rename this reservation to... (r24kf1_1_fpu_iss): ...this and update all uses. * config/mips/74k.md: Rename FPU-related r74kf_* insn reservations to r74kf2_1_*. Rename r74kx_* insn reservations to r74kf1_1_*. Update cpu attribute names. Co-Authored-By: David Ung <davidu@mips.com> From-SVN: r126266
2007-07-03 19:34:59 +02:00
(define_insn_reservation "r74kf1_1_frsqrt_sf" 17
(and (eq_attr "cpu" "74kf1_1")
(and (eq_attr "type" "frsqrt")
(eq_attr "mode" "SF")))
"r74k_fpu_arith*14")
invoke.texi: Replace -march=24kf with -march=24kf2_1 and -march=24kx with -march=24kf1_1. gcc/ 2007-07-03 Richard Sandiford <richard@codesourcery.com> David Ung <davidu@mips.com> * doc/invoke.texi: Replace -march=24kf with -march=24kf2_1 and -march=24kx with -march=24kf1_1. Likewise 24ke[fx], 34k[fx] and 74k[fx]. Document aliases for the new options. * config/mips/mips.h (PROCESSOR_24KF): Rename to... (PROCESSOR_24KF2_1): ...this. (PROCESSOR_24KX): Rename to... (PROCESSOR_24KF1_1): ...this. (PROCESSOR_74KF): Rename to... (PROCESSOR_74KF2_1): ...this. (PROCESSOR_74KX): Rename to... (PROCESSOR_74KF1_1): ...this. (TUNE_74K): Update PROCESSOR_* names. * config/mips/mips.c (mips_cpu_info): Add 24kf2_1 as a synonym for 24kf. Add 24kf1_1 and 24kfx as synonyms for 24kx. Likewise the 24ke*, 34k* and 74k* processors. Update PROCESSOR_* names. (mips_rtx_cost_data): Update processor names in comments. (mips_issue_rate): Update PROCESSOR_* names. * config/mips/mips.md (cpu): Rename 24kf to 24kf2_1, 24kx to 24kf1_1, 74kf to 74kf2_1 and 74kx to 74kf1_1. * config/mips/24k.md: Rename FPU-related r24k_* insn reservations to r24kf2_1_*. Rename r24kx_* insn reservations to r24kf1_1_*. Update cpu attribute names. (r24k_fpu_iss): Rename this reservation to... (r24kf2_1_fpu_iss): ...this and update all uses. (r24kx_fpu_iss): Rename this reservation to... (r24kf1_1_fpu_iss): ...this and update all uses. * config/mips/74k.md: Rename FPU-related r74kf_* insn reservations to r74kf2_1_*. Rename r74kx_* insn reservations to r74kf1_1_*. Update cpu attribute names. Co-Authored-By: David Ung <davidu@mips.com> From-SVN: r126266
2007-07-03 19:34:59 +02:00
(define_insn_reservation "r74kf2_1_frsqrt_sf" 34
(and (eq_attr "cpu" "74kf2_1")
(and (eq_attr "type" "frsqrt")
(eq_attr "mode" "SF")))
"r74k_fpu_arith*28")
(define_insn_reservation "r74kf3_2_frsqrt_sf" 25
(and (eq_attr "cpu" "74kf3_2")
(and (eq_attr "type" "frsqrt")
(eq_attr "mode" "SF")))
"r74k_fpu_arith*14")
invoke.texi: Replace -march=24kf with -march=24kf2_1 and -march=24kx with -march=24kf1_1. gcc/ 2007-07-03 Richard Sandiford <richard@codesourcery.com> David Ung <davidu@mips.com> * doc/invoke.texi: Replace -march=24kf with -march=24kf2_1 and -march=24kx with -march=24kf1_1. Likewise 24ke[fx], 34k[fx] and 74k[fx]. Document aliases for the new options. * config/mips/mips.h (PROCESSOR_24KF): Rename to... (PROCESSOR_24KF2_1): ...this. (PROCESSOR_24KX): Rename to... (PROCESSOR_24KF1_1): ...this. (PROCESSOR_74KF): Rename to... (PROCESSOR_74KF2_1): ...this. (PROCESSOR_74KX): Rename to... (PROCESSOR_74KF1_1): ...this. (TUNE_74K): Update PROCESSOR_* names. * config/mips/mips.c (mips_cpu_info): Add 24kf2_1 as a synonym for 24kf. Add 24kf1_1 and 24kfx as synonyms for 24kx. Likewise the 24ke*, 34k* and 74k* processors. Update PROCESSOR_* names. (mips_rtx_cost_data): Update processor names in comments. (mips_issue_rate): Update PROCESSOR_* names. * config/mips/mips.md (cpu): Rename 24kf to 24kf2_1, 24kx to 24kf1_1, 74kf to 74kf2_1 and 74kx to 74kf1_1. * config/mips/24k.md: Rename FPU-related r24k_* insn reservations to r24kf2_1_*. Rename r24kx_* insn reservations to r24kf1_1_*. Update cpu attribute names. (r24k_fpu_iss): Rename this reservation to... (r24kf2_1_fpu_iss): ...this and update all uses. (r24kx_fpu_iss): Rename this reservation to... (r24kf1_1_fpu_iss): ...this and update all uses. * config/mips/74k.md: Rename FPU-related r74kf_* insn reservations to r74kf2_1_*. Rename r74kx_* insn reservations to r74kf1_1_*. Update cpu attribute names. Co-Authored-By: David Ung <davidu@mips.com> From-SVN: r126266
2007-07-03 19:34:59 +02:00
(define_insn_reservation "r74kf1_1_frsqrt_df" 36
(and (eq_attr "cpu" "74kf1_1")
(and (eq_attr "type" "frsqrt")
(eq_attr "mode" "DF")))
"r74k_fpu_arith*31")
invoke.texi: Replace -march=24kf with -march=24kf2_1 and -march=24kx with -march=24kf1_1. gcc/ 2007-07-03 Richard Sandiford <richard@codesourcery.com> David Ung <davidu@mips.com> * doc/invoke.texi: Replace -march=24kf with -march=24kf2_1 and -march=24kx with -march=24kf1_1. Likewise 24ke[fx], 34k[fx] and 74k[fx]. Document aliases for the new options. * config/mips/mips.h (PROCESSOR_24KF): Rename to... (PROCESSOR_24KF2_1): ...this. (PROCESSOR_24KX): Rename to... (PROCESSOR_24KF1_1): ...this. (PROCESSOR_74KF): Rename to... (PROCESSOR_74KF2_1): ...this. (PROCESSOR_74KX): Rename to... (PROCESSOR_74KF1_1): ...this. (TUNE_74K): Update PROCESSOR_* names. * config/mips/mips.c (mips_cpu_info): Add 24kf2_1 as a synonym for 24kf. Add 24kf1_1 and 24kfx as synonyms for 24kx. Likewise the 24ke*, 34k* and 74k* processors. Update PROCESSOR_* names. (mips_rtx_cost_data): Update processor names in comments. (mips_issue_rate): Update PROCESSOR_* names. * config/mips/mips.md (cpu): Rename 24kf to 24kf2_1, 24kx to 24kf1_1, 74kf to 74kf2_1 and 74kx to 74kf1_1. * config/mips/24k.md: Rename FPU-related r24k_* insn reservations to r24kf2_1_*. Rename r24kx_* insn reservations to r24kf1_1_*. Update cpu attribute names. (r24k_fpu_iss): Rename this reservation to... (r24kf2_1_fpu_iss): ...this and update all uses. (r24kx_fpu_iss): Rename this reservation to... (r24kf1_1_fpu_iss): ...this and update all uses. * config/mips/74k.md: Rename FPU-related r74kf_* insn reservations to r74kf2_1_*. Rename r74kx_* insn reservations to r74kf1_1_*. Update cpu attribute names. Co-Authored-By: David Ung <davidu@mips.com> From-SVN: r126266
2007-07-03 19:34:59 +02:00
(define_insn_reservation "r74kf2_1_frsqrt_df" 72
(and (eq_attr "cpu" "74kf2_1")
(and (eq_attr "type" "frsqrt")
(eq_attr "mode" "DF")))
"r74k_fpu_arith*62")
(define_insn_reservation "r74kf3_2_frsqrt_df" 54
(and (eq_attr "cpu" "74kf3_2")
(and (eq_attr "type" "frsqrt")
(eq_attr "mode" "DF")))
"r74k_fpu_arith*31")
;; fcmp
invoke.texi: Replace -march=24kf with -march=24kf2_1 and -march=24kx with -march=24kf1_1. gcc/ 2007-07-03 Richard Sandiford <richard@codesourcery.com> David Ung <davidu@mips.com> * doc/invoke.texi: Replace -march=24kf with -march=24kf2_1 and -march=24kx with -march=24kf1_1. Likewise 24ke[fx], 34k[fx] and 74k[fx]. Document aliases for the new options. * config/mips/mips.h (PROCESSOR_24KF): Rename to... (PROCESSOR_24KF2_1): ...this. (PROCESSOR_24KX): Rename to... (PROCESSOR_24KF1_1): ...this. (PROCESSOR_74KF): Rename to... (PROCESSOR_74KF2_1): ...this. (PROCESSOR_74KX): Rename to... (PROCESSOR_74KF1_1): ...this. (TUNE_74K): Update PROCESSOR_* names. * config/mips/mips.c (mips_cpu_info): Add 24kf2_1 as a synonym for 24kf. Add 24kf1_1 and 24kfx as synonyms for 24kx. Likewise the 24ke*, 34k* and 74k* processors. Update PROCESSOR_* names. (mips_rtx_cost_data): Update processor names in comments. (mips_issue_rate): Update PROCESSOR_* names. * config/mips/mips.md (cpu): Rename 24kf to 24kf2_1, 24kx to 24kf1_1, 74kf to 74kf2_1 and 74kx to 74kf1_1. * config/mips/24k.md: Rename FPU-related r24k_* insn reservations to r24kf2_1_*. Rename r24kx_* insn reservations to r24kf1_1_*. Update cpu attribute names. (r24k_fpu_iss): Rename this reservation to... (r24kf2_1_fpu_iss): ...this and update all uses. (r24kx_fpu_iss): Rename this reservation to... (r24kf1_1_fpu_iss): ...this and update all uses. * config/mips/74k.md: Rename FPU-related r74kf_* insn reservations to r74kf2_1_*. Rename r74kx_* insn reservations to r74kf1_1_*. Update cpu attribute names. Co-Authored-By: David Ung <davidu@mips.com> From-SVN: r126266
2007-07-03 19:34:59 +02:00
(define_insn_reservation "r74kf1_1_fcmp" 4
(and (eq_attr "cpu" "74kf1_1")
(eq_attr "type" "fcmp"))
"r74k_fpu_arith")
invoke.texi: Replace -march=24kf with -march=24kf2_1 and -march=24kx with -march=24kf1_1. gcc/ 2007-07-03 Richard Sandiford <richard@codesourcery.com> David Ung <davidu@mips.com> * doc/invoke.texi: Replace -march=24kf with -march=24kf2_1 and -march=24kx with -march=24kf1_1. Likewise 24ke[fx], 34k[fx] and 74k[fx]. Document aliases for the new options. * config/mips/mips.h (PROCESSOR_24KF): Rename to... (PROCESSOR_24KF2_1): ...this. (PROCESSOR_24KX): Rename to... (PROCESSOR_24KF1_1): ...this. (PROCESSOR_74KF): Rename to... (PROCESSOR_74KF2_1): ...this. (PROCESSOR_74KX): Rename to... (PROCESSOR_74KF1_1): ...this. (TUNE_74K): Update PROCESSOR_* names. * config/mips/mips.c (mips_cpu_info): Add 24kf2_1 as a synonym for 24kf. Add 24kf1_1 and 24kfx as synonyms for 24kx. Likewise the 24ke*, 34k* and 74k* processors. Update PROCESSOR_* names. (mips_rtx_cost_data): Update processor names in comments. (mips_issue_rate): Update PROCESSOR_* names. * config/mips/mips.md (cpu): Rename 24kf to 24kf2_1, 24kx to 24kf1_1, 74kf to 74kf2_1 and 74kx to 74kf1_1. * config/mips/24k.md: Rename FPU-related r24k_* insn reservations to r24kf2_1_*. Rename r24kx_* insn reservations to r24kf1_1_*. Update cpu attribute names. (r24k_fpu_iss): Rename this reservation to... (r24kf2_1_fpu_iss): ...this and update all uses. (r24kx_fpu_iss): Rename this reservation to... (r24kf1_1_fpu_iss): ...this and update all uses. * config/mips/74k.md: Rename FPU-related r74kf_* insn reservations to r74kf2_1_*. Rename r74kx_* insn reservations to r74kf1_1_*. Update cpu attribute names. Co-Authored-By: David Ung <davidu@mips.com> From-SVN: r126266
2007-07-03 19:34:59 +02:00
(define_insn_reservation "r74kf2_1_fcmp" 8
(and (eq_attr "cpu" "74kf2_1")
(eq_attr "type" "fcmp"))
"r74k_fpu_arith*2")
(define_insn_reservation "r74kf3_2_fcmp" 6
(and (eq_attr "cpu" "74kf3_2")
(eq_attr "type" "fcmp"))
"r74k_fpu_arith")
;; fcvt
invoke.texi: Replace -march=24kf with -march=24kf2_1 and -march=24kx with -march=24kf1_1. gcc/ 2007-07-03 Richard Sandiford <richard@codesourcery.com> David Ung <davidu@mips.com> * doc/invoke.texi: Replace -march=24kf with -march=24kf2_1 and -march=24kx with -march=24kf1_1. Likewise 24ke[fx], 34k[fx] and 74k[fx]. Document aliases for the new options. * config/mips/mips.h (PROCESSOR_24KF): Rename to... (PROCESSOR_24KF2_1): ...this. (PROCESSOR_24KX): Rename to... (PROCESSOR_24KF1_1): ...this. (PROCESSOR_74KF): Rename to... (PROCESSOR_74KF2_1): ...this. (PROCESSOR_74KX): Rename to... (PROCESSOR_74KF1_1): ...this. (TUNE_74K): Update PROCESSOR_* names. * config/mips/mips.c (mips_cpu_info): Add 24kf2_1 as a synonym for 24kf. Add 24kf1_1 and 24kfx as synonyms for 24kx. Likewise the 24ke*, 34k* and 74k* processors. Update PROCESSOR_* names. (mips_rtx_cost_data): Update processor names in comments. (mips_issue_rate): Update PROCESSOR_* names. * config/mips/mips.md (cpu): Rename 24kf to 24kf2_1, 24kx to 24kf1_1, 74kf to 74kf2_1 and 74kx to 74kf1_1. * config/mips/24k.md: Rename FPU-related r24k_* insn reservations to r24kf2_1_*. Rename r24kx_* insn reservations to r24kf1_1_*. Update cpu attribute names. (r24k_fpu_iss): Rename this reservation to... (r24kf2_1_fpu_iss): ...this and update all uses. (r24kx_fpu_iss): Rename this reservation to... (r24kf1_1_fpu_iss): ...this and update all uses. * config/mips/74k.md: Rename FPU-related r74kf_* insn reservations to r74kf2_1_*. Rename r74kx_* insn reservations to r74kf1_1_*. Update cpu attribute names. Co-Authored-By: David Ung <davidu@mips.com> From-SVN: r126266
2007-07-03 19:34:59 +02:00
(define_insn_reservation "r74kf1_1_fcvt" 4
(and (eq_attr "cpu" "74kf1_1")
(eq_attr "type" "fcvt"))
"r74k_fpu_arith")
invoke.texi: Replace -march=24kf with -march=24kf2_1 and -march=24kx with -march=24kf1_1. gcc/ 2007-07-03 Richard Sandiford <richard@codesourcery.com> David Ung <davidu@mips.com> * doc/invoke.texi: Replace -march=24kf with -march=24kf2_1 and -march=24kx with -march=24kf1_1. Likewise 24ke[fx], 34k[fx] and 74k[fx]. Document aliases for the new options. * config/mips/mips.h (PROCESSOR_24KF): Rename to... (PROCESSOR_24KF2_1): ...this. (PROCESSOR_24KX): Rename to... (PROCESSOR_24KF1_1): ...this. (PROCESSOR_74KF): Rename to... (PROCESSOR_74KF2_1): ...this. (PROCESSOR_74KX): Rename to... (PROCESSOR_74KF1_1): ...this. (TUNE_74K): Update PROCESSOR_* names. * config/mips/mips.c (mips_cpu_info): Add 24kf2_1 as a synonym for 24kf. Add 24kf1_1 and 24kfx as synonyms for 24kx. Likewise the 24ke*, 34k* and 74k* processors. Update PROCESSOR_* names. (mips_rtx_cost_data): Update processor names in comments. (mips_issue_rate): Update PROCESSOR_* names. * config/mips/mips.md (cpu): Rename 24kf to 24kf2_1, 24kx to 24kf1_1, 74kf to 74kf2_1 and 74kx to 74kf1_1. * config/mips/24k.md: Rename FPU-related r24k_* insn reservations to r24kf2_1_*. Rename r24kx_* insn reservations to r24kf1_1_*. Update cpu attribute names. (r24k_fpu_iss): Rename this reservation to... (r24kf2_1_fpu_iss): ...this and update all uses. (r24kx_fpu_iss): Rename this reservation to... (r24kf1_1_fpu_iss): ...this and update all uses. * config/mips/74k.md: Rename FPU-related r74kf_* insn reservations to r74kf2_1_*. Rename r74kx_* insn reservations to r74kf1_1_*. Update cpu attribute names. Co-Authored-By: David Ung <davidu@mips.com> From-SVN: r126266
2007-07-03 19:34:59 +02:00
(define_insn_reservation "r74kf2_1_fcvt" 8
(and (eq_attr "cpu" "74kf2_1")
(eq_attr "type" "fcvt"))
"r74k_fpu_arith*2")
(define_insn_reservation "r74kf3_2_fcvt" 6
(and (eq_attr "cpu" "74kf3_2")
(eq_attr "type" "fcvt"))
"r74k_fpu_arith")
;; fxfer (MTC1, DMTC1: latency is 4) (MFC1, DMFC1: latency is 1)
invoke.texi: Replace -march=24kf with -march=24kf2_1 and -march=24kx with -march=24kf1_1. gcc/ 2007-07-03 Richard Sandiford <richard@codesourcery.com> David Ung <davidu@mips.com> * doc/invoke.texi: Replace -march=24kf with -march=24kf2_1 and -march=24kx with -march=24kf1_1. Likewise 24ke[fx], 34k[fx] and 74k[fx]. Document aliases for the new options. * config/mips/mips.h (PROCESSOR_24KF): Rename to... (PROCESSOR_24KF2_1): ...this. (PROCESSOR_24KX): Rename to... (PROCESSOR_24KF1_1): ...this. (PROCESSOR_74KF): Rename to... (PROCESSOR_74KF2_1): ...this. (PROCESSOR_74KX): Rename to... (PROCESSOR_74KF1_1): ...this. (TUNE_74K): Update PROCESSOR_* names. * config/mips/mips.c (mips_cpu_info): Add 24kf2_1 as a synonym for 24kf. Add 24kf1_1 and 24kfx as synonyms for 24kx. Likewise the 24ke*, 34k* and 74k* processors. Update PROCESSOR_* names. (mips_rtx_cost_data): Update processor names in comments. (mips_issue_rate): Update PROCESSOR_* names. * config/mips/mips.md (cpu): Rename 24kf to 24kf2_1, 24kx to 24kf1_1, 74kf to 74kf2_1 and 74kx to 74kf1_1. * config/mips/24k.md: Rename FPU-related r24k_* insn reservations to r24kf2_1_*. Rename r24kx_* insn reservations to r24kf1_1_*. Update cpu attribute names. (r24k_fpu_iss): Rename this reservation to... (r24kf2_1_fpu_iss): ...this and update all uses. (r24kx_fpu_iss): Rename this reservation to... (r24kf1_1_fpu_iss): ...this and update all uses. * config/mips/74k.md: Rename FPU-related r74kf_* insn reservations to r74kf2_1_*. Rename r74kx_* insn reservations to r74kf1_1_*. Update cpu attribute names. Co-Authored-By: David Ung <davidu@mips.com> From-SVN: r126266
2007-07-03 19:34:59 +02:00
(define_insn_reservation "r74kf1_1_fxfer_to_c1" 4
(and (eq_attr "cpu" "74kf1_1")
(eq_attr "type" "mtc"))
"r74k_fpu_arith")
invoke.texi: Replace -march=24kf with -march=24kf2_1 and -march=24kx with -march=24kf1_1. gcc/ 2007-07-03 Richard Sandiford <richard@codesourcery.com> David Ung <davidu@mips.com> * doc/invoke.texi: Replace -march=24kf with -march=24kf2_1 and -march=24kx with -march=24kf1_1. Likewise 24ke[fx], 34k[fx] and 74k[fx]. Document aliases for the new options. * config/mips/mips.h (PROCESSOR_24KF): Rename to... (PROCESSOR_24KF2_1): ...this. (PROCESSOR_24KX): Rename to... (PROCESSOR_24KF1_1): ...this. (PROCESSOR_74KF): Rename to... (PROCESSOR_74KF2_1): ...this. (PROCESSOR_74KX): Rename to... (PROCESSOR_74KF1_1): ...this. (TUNE_74K): Update PROCESSOR_* names. * config/mips/mips.c (mips_cpu_info): Add 24kf2_1 as a synonym for 24kf. Add 24kf1_1 and 24kfx as synonyms for 24kx. Likewise the 24ke*, 34k* and 74k* processors. Update PROCESSOR_* names. (mips_rtx_cost_data): Update processor names in comments. (mips_issue_rate): Update PROCESSOR_* names. * config/mips/mips.md (cpu): Rename 24kf to 24kf2_1, 24kx to 24kf1_1, 74kf to 74kf2_1 and 74kx to 74kf1_1. * config/mips/24k.md: Rename FPU-related r24k_* insn reservations to r24kf2_1_*. Rename r24kx_* insn reservations to r24kf1_1_*. Update cpu attribute names. (r24k_fpu_iss): Rename this reservation to... (r24kf2_1_fpu_iss): ...this and update all uses. (r24kx_fpu_iss): Rename this reservation to... (r24kf1_1_fpu_iss): ...this and update all uses. * config/mips/74k.md: Rename FPU-related r74kf_* insn reservations to r74kf2_1_*. Rename r74kx_* insn reservations to r74kf1_1_*. Update cpu attribute names. Co-Authored-By: David Ung <davidu@mips.com> From-SVN: r126266
2007-07-03 19:34:59 +02:00
(define_insn_reservation "r74kf2_1_fxfer_to_c1" 8
(and (eq_attr "cpu" "74kf2_1")
(eq_attr "type" "mtc"))
"r74k_fpu_arith*2")
(define_insn_reservation "r74kf3_2_fxfer_to_c1" 6
(and (eq_attr "cpu" "74kf3_2")
(eq_attr "type" "mtc"))
"r74k_fpu_arith")
invoke.texi: Replace -march=24kf with -march=24kf2_1 and -march=24kx with -march=24kf1_1. gcc/ 2007-07-03 Richard Sandiford <richard@codesourcery.com> David Ung <davidu@mips.com> * doc/invoke.texi: Replace -march=24kf with -march=24kf2_1 and -march=24kx with -march=24kf1_1. Likewise 24ke[fx], 34k[fx] and 74k[fx]. Document aliases for the new options. * config/mips/mips.h (PROCESSOR_24KF): Rename to... (PROCESSOR_24KF2_1): ...this. (PROCESSOR_24KX): Rename to... (PROCESSOR_24KF1_1): ...this. (PROCESSOR_74KF): Rename to... (PROCESSOR_74KF2_1): ...this. (PROCESSOR_74KX): Rename to... (PROCESSOR_74KF1_1): ...this. (TUNE_74K): Update PROCESSOR_* names. * config/mips/mips.c (mips_cpu_info): Add 24kf2_1 as a synonym for 24kf. Add 24kf1_1 and 24kfx as synonyms for 24kx. Likewise the 24ke*, 34k* and 74k* processors. Update PROCESSOR_* names. (mips_rtx_cost_data): Update processor names in comments. (mips_issue_rate): Update PROCESSOR_* names. * config/mips/mips.md (cpu): Rename 24kf to 24kf2_1, 24kx to 24kf1_1, 74kf to 74kf2_1 and 74kx to 74kf1_1. * config/mips/24k.md: Rename FPU-related r24k_* insn reservations to r24kf2_1_*. Rename r24kx_* insn reservations to r24kf1_1_*. Update cpu attribute names. (r24k_fpu_iss): Rename this reservation to... (r24kf2_1_fpu_iss): ...this and update all uses. (r24kx_fpu_iss): Rename this reservation to... (r24kf1_1_fpu_iss): ...this and update all uses. * config/mips/74k.md: Rename FPU-related r74kf_* insn reservations to r74kf2_1_*. Rename r74kx_* insn reservations to r74kf1_1_*. Update cpu attribute names. Co-Authored-By: David Ung <davidu@mips.com> From-SVN: r126266
2007-07-03 19:34:59 +02:00
(define_insn_reservation "r74kf1_1_fxfer_from_c1" 1
(and (eq_attr "cpu" "74kf1_1")
(eq_attr "type" "mfc"))
"r74k_fpu_arith")
invoke.texi: Replace -march=24kf with -march=24kf2_1 and -march=24kx with -march=24kf1_1. gcc/ 2007-07-03 Richard Sandiford <richard@codesourcery.com> David Ung <davidu@mips.com> * doc/invoke.texi: Replace -march=24kf with -march=24kf2_1 and -march=24kx with -march=24kf1_1. Likewise 24ke[fx], 34k[fx] and 74k[fx]. Document aliases for the new options. * config/mips/mips.h (PROCESSOR_24KF): Rename to... (PROCESSOR_24KF2_1): ...this. (PROCESSOR_24KX): Rename to... (PROCESSOR_24KF1_1): ...this. (PROCESSOR_74KF): Rename to... (PROCESSOR_74KF2_1): ...this. (PROCESSOR_74KX): Rename to... (PROCESSOR_74KF1_1): ...this. (TUNE_74K): Update PROCESSOR_* names. * config/mips/mips.c (mips_cpu_info): Add 24kf2_1 as a synonym for 24kf. Add 24kf1_1 and 24kfx as synonyms for 24kx. Likewise the 24ke*, 34k* and 74k* processors. Update PROCESSOR_* names. (mips_rtx_cost_data): Update processor names in comments. (mips_issue_rate): Update PROCESSOR_* names. * config/mips/mips.md (cpu): Rename 24kf to 24kf2_1, 24kx to 24kf1_1, 74kf to 74kf2_1 and 74kx to 74kf1_1. * config/mips/24k.md: Rename FPU-related r24k_* insn reservations to r24kf2_1_*. Rename r24kx_* insn reservations to r24kf1_1_*. Update cpu attribute names. (r24k_fpu_iss): Rename this reservation to... (r24kf2_1_fpu_iss): ...this and update all uses. (r24kx_fpu_iss): Rename this reservation to... (r24kf1_1_fpu_iss): ...this and update all uses. * config/mips/74k.md: Rename FPU-related r74kf_* insn reservations to r74kf2_1_*. Rename r74kx_* insn reservations to r74kf1_1_*. Update cpu attribute names. Co-Authored-By: David Ung <davidu@mips.com> From-SVN: r126266
2007-07-03 19:34:59 +02:00
(define_insn_reservation "r74kf2_1_fxfer_from_c1" 2
(and (eq_attr "cpu" "74kf2_1")
(eq_attr "type" "mfc"))
"r74k_fpu_arith*2")
(define_insn_reservation "r74kf3_2_fxfer_from_c1" 1
(and (eq_attr "cpu" "74kf3_2")
(eq_attr "type" "mfc"))
"r74k_fpu_arith")