This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Update iq2000 cpu description
- From: Nick Clifton <nickc at redhat dot com>
- To: binutils at sources dot redhat dot com
- Date: Wed, 27 Oct 2004 10:35:35 +0100
- Subject: Update iq2000 cpu description
Hi Guys
I am committing the patch below to update the iq2000 cgen cpu
description. Several of the co-processor instructions take an index
operand which was not present in the descriptions. I also had to
rename the index operator to _index to avoid problems with the
version of guile that I am using (version 1.6.4-8).
This patch fixes several failures in the GAS testsuite for the
iq2000-elf toolchain.
Cheers
Nick
cpu/ChangeLog
2004-10-27 Nick Clifton <nickc@redhat.com>
* iq2000m.cpu (pkrlr1, pkrlr30, rbr1, rbr30, rxr1, rxr30, wbr1,
wbr1u, wbr30, wbr30u, wxr1, wxr1u, wxr30, wxr30u): Add an index
operand.
* iq2000.cpu (dnop index): Rename to _index to avoid complications
with guile.
cgen/ChangeLog
2004-10-27 Nick Clifton <nickc@redhat.com>
* cpu/iq2000m.cpu: Import latest version from cpu/ directory.
* cpu/iq2000.cpu: Likewise.
opcodes/ChangeLog
2004-10-27 Nick Clifton <nickc@redhat.com>
* opcodes/iq2000-asm.c: Regenerate.
* opcodes/iq2000-desc.c: Regenerate.
* opcodes/iq2000-desc.h: Regenerate.
* opcodes/iq2000-dis.c: Regenerate.
* opcodes/iq2000-ibld.c: Regenerate.
* opcodes/iq2000-opc.c: Regenerate.
* opcodes/iq2000-opc.h: Regenerate.
Index: cpu/iq2000m.cpu
===================================================================
RCS file: /cvs/src/src/cpu/iq2000m.cpu,v
retrieving revision 1.1
diff -c -3 -p -r1.1 iq2000m.cpu
*** cpu/iq2000m.cpu 6 Jun 2003 21:49:30 -0000 1.1
--- cpu/iq2000m.cpu 27 Oct 2004 09:21:24 -0000
***************
*** 1,6 ****
; IQ2000-only CPU description. -*- Scheme -*-
;
! ; Copyright 2000, 2001, 2002 Free Software Foundation, Inc.
;
; Contributed by Red Hat Inc; developed under contract from Vitesse.
;
--- 1,6 ----
; IQ2000-only CPU description. -*- Scheme -*-
;
! ; Copyright 2000, 2001, 2002, 2004 Free Software Foundation, Inc.
;
; Contributed by Red Hat Inc; developed under contract from Vitesse.
;
***************
*** 375,388 ****
())
(dni pkrlr1 "pkrlr1" (MACH2000 USES-RT YIELD-INSN)
! "pkrlr1 $rt,$count"
! (+ OP_COP3 (f-rs 29) rt count)
(unimp pkrlr1)
())
(dni pkrlr30 "pkrlr30" (MACH2000 USES-RT YIELD-INSN)
! "pkrlr30 $rt,$count"
! (+ OP_COP3 (f-rs 31) rt count)
(unimp pkrlr30)
())
--- 375,388 ----
())
(dni pkrlr1 "pkrlr1" (MACH2000 USES-RT YIELD-INSN)
! "pkrlr1 $rt,$_index,$count"
! (+ OP_COP3 (f-rs 29) rt count _index)
(unimp pkrlr1)
())
(dni pkrlr30 "pkrlr30" (MACH2000 USES-RT YIELD-INSN)
! "pkrlr30 $rt,$_index,$count"
! (+ OP_COP3 (f-rs 31) rt count _index)
(unimp pkrlr30)
())
***************
*** 393,406 ****
())
(dni rbr1 "dma read bytes using r1" (MACH2000 USES-RT YIELD-INSN)
! "rbr1 $rt,$count"
! (+ OP_COP3 (f-rs 24) rt count)
(unimp rbr1)
())
(dni rbr30 "dma read bytes using r30" (MACH2000 USES-RT YIELD-INSN)
! "rbr30 $rt,$count"
! (+ OP_COP3 (f-rs 26) rt count)
(unimp rbr30)
())
--- 393,406 ----
())
(dni rbr1 "dma read bytes using r1" (MACH2000 USES-RT YIELD-INSN)
! "rbr1 $rt,$_index,$count"
! (+ OP_COP3 (f-rs 24) rt count _index)
(unimp rbr1)
())
(dni rbr30 "dma read bytes using r30" (MACH2000 USES-RT YIELD-INSN)
! "rbr30 $rt,$_index,$count"
! (+ OP_COP3 (f-rs 26) rt count _index)
(unimp rbr30)
())
***************
*** 417,430 ****
())
(dni rxr1 "dma read word64s using r1" (MACH2000 USES-RT YIELD-INSN)
! "rxr1 $rt,$count"
! (+ OP_COP3 (f-rs 28) rt count)
(unimp rxr1)
())
(dni rxr30 "dma read word 64s using r30" (MACH2000 USES-RT YIELD-INSN)
! "rxr30 $rt,$count"
! (+ OP_COP3 (f-rs 30) rt count)
(unimp rxr30)
())
--- 417,430 ----
())
(dni rxr1 "dma read word64s using r1" (MACH2000 USES-RT YIELD-INSN)
! "rxr1 $rt,$_index,$count"
! (+ OP_COP3 (f-rs 28) rt count _index)
(unimp rxr1)
())
(dni rxr30 "dma read word 64s using r30" (MACH2000 USES-RT YIELD-INSN)
! "rxr30 $rt,$_index,$count"
! (+ OP_COP3 (f-rs 30) rt count _index)
(unimp rxr30)
())
***************
*** 495,520 ****
())
(dni wbr1 "dma write bytes using r1" (MACH2000 USES-RT YIELD-INSN)
! "wbr1 $rt,$count"
! (+ OP_COP3 (f-rs 16) rt count)
(unimp wbr1)
())
(dni wbr1u "dma write bytes using r1 and unlock" (MACH2000 USES-RT YIELD-INSN)
! "wbr1u $rt,$count"
! (+ OP_COP3 (f-rs 17) rt count)
(unimp wbr1u)
())
(dni wbr30 "dma write bytes using r30" (MACH2000 USES-RT YIELD-INSN)
! "wbr30 $rt,$count"
! (+ OP_COP3 (f-rs 18) rt count)
(unimp wbr30)
())
(dni wbr30u "dma write bytes using r30 and unlock" (MACH2000 USES-RT YIELD-INSN)
! "wbr30u $rt,$count"
! (+ OP_COP3 (f-rs 19) rt count)
(unimp wbr30u)
())
--- 495,520 ----
())
(dni wbr1 "dma write bytes using r1" (MACH2000 USES-RT YIELD-INSN)
! "wbr1 $rt,$_index,$count"
! (+ OP_COP3 (f-rs 16) rt count _index)
(unimp wbr1)
())
(dni wbr1u "dma write bytes using r1 and unlock" (MACH2000 USES-RT YIELD-INSN)
! "wbr1u $rt,$_index,$count"
! (+ OP_COP3 (f-rs 17) rt count _index)
(unimp wbr1u)
())
(dni wbr30 "dma write bytes using r30" (MACH2000 USES-RT YIELD-INSN)
! "wbr30 $rt,$_index,$count"
! (+ OP_COP3 (f-rs 18) rt count _index)
(unimp wbr30)
())
(dni wbr30u "dma write bytes using r30 and unlock" (MACH2000 USES-RT YIELD-INSN)
! "wbr30u $rt,$_index,$count"
! (+ OP_COP3 (f-rs 19) rt count _index)
(unimp wbr30u)
())
***************
*** 531,556 ****
())
(dni wxr1 "dma write word64s using r1" (MACH2000 USES-RT YIELD-INSN)
! "wxr1 $rt,$count"
! (+ OP_COP3 (f-rs 20) rt count)
(unimp wxr1)
())
(dni wxr1u "dma write word64s using r1 and unlock" (MACH2000 USES-RT YIELD-INSN)
! "wxr1u $rt,$count"
! (+ OP_COP3 (f-rs 21) rt count)
(unimp wxr1u)
())
(dni wxr30 "dma write word64s using r30" (MACH2000 USES-RT YIELD-INSN)
! "wxr30 $rt,$count"
! (+ OP_COP3 (f-rs 22) rt count)
(unimp wxr30)
())
(dni wxr30u "dma write word64s using r30 and unlock" (MACH2000 USES-RT YIELD-INSN)
! "wxr30u $rt,$count"
! (+ OP_COP3 (f-rs 23) rt count)
(unimp wxr30u)
())
--- 531,556 ----
())
(dni wxr1 "dma write word64s using r1" (MACH2000 USES-RT YIELD-INSN)
! "wxr1 $rt,$_index,$count"
! (+ OP_COP3 (f-rs 20) rt count _index)
(unimp wxr1)
())
(dni wxr1u "dma write word64s using r1 and unlock" (MACH2000 USES-RT YIELD-INSN)
! "wxr1u $rt,$_index,$count"
! (+ OP_COP3 (f-rs 21) rt count _index)
(unimp wxr1u)
())
(dni wxr30 "dma write word64s using r30" (MACH2000 USES-RT YIELD-INSN)
! "wxr30 $rt,$_index,$count"
! (+ OP_COP3 (f-rs 22) rt count _index)
(unimp wxr30)
())
(dni wxr30u "dma write word64s using r30 and unlock" (MACH2000 USES-RT YIELD-INSN)
! "wxr30u $rt,$_index,$count"
! (+ OP_COP3 (f-rs 23) rt count _index)
(unimp wxr30u)
())
Index: cpu/iq2000.cpu
===================================================================
RCS file: /cvs/src/src/cpu/iq2000.cpu,v
retrieving revision 1.1
diff -c -3 -p -r1.1 iq2000.cpu
*** cpu/iq2000.cpu 6 Jun 2003 21:49:30 -0000 1.1
--- cpu/iq2000.cpu 27 Oct 2004 09:21:24 -0000
***************
*** 1,24 ****
; IQ2000/IQ10 Common CPU description. -*- Scheme -*-
! ;
! ; Copyright 2000, 2001, 2002 Free Software Foundation, Inc.
! ;
! ; Contributed by Red Hat Inc; developed under contract from Vitesse.
! ;
! ; This file is part of the GNU Binutils.
! ;
! ; This program is free software; you can redistribute it and/or modify
! ; it under the terms of the GNU General Public License as published by
! ; the Free Software Foundation; either version 2 of the License, or
! ; (at your option) any later version.
! ;
! ; This program 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
! ; along with this program; if not, write to the Free Software
! ; Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
(include "simplify.inc")
--- 1,7 ----
; IQ2000/IQ10 Common CPU description. -*- Scheme -*-
! ; Copyright (C) 2000, 2001, 2002 Red Hat, Inc.
! ; This file is part of CGEN.
! ; See file COPYING.CGEN for details.
(include "simplify.inc")
***************
*** 374,380 ****
(dnop maskq10 "iq10 mask" () h-uint f-maskq10)
(dnop maskl "mask left" () h-uint f-maskl)
(dnop count "count" () h-uint f-count)
! (dnop index "index" () h-uint f-index)
(dnop execode "execcode" () h-uint f-excode)
(dnop bytecount "byte count" () h-uint f-bytecount)
(dnop cam-y "cam global opn y" () h-uint f-cam-y)
--- 357,363 ----
(dnop maskq10 "iq10 mask" () h-uint f-maskq10)
(dnop maskl "mask left" () h-uint f-maskl)
(dnop count "count" () h-uint f-count)
! (dnop _index "index" () h-uint f-index)
(dnop execode "execcode" () h-uint f-excode)
(dnop bytecount "byte count" () h-uint f-bytecount)
(dnop cam-y "cam global opn y" () h-uint f-cam-y)