diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2006-02-23 00:17:24 +0000 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2006-02-23 00:17:24 +0000 |
commit | 7f3dfb9cf74da197cfe71fb0490a90613269ca0f (patch) | |
tree | f2af7419484d4d0b4902b54a49dcad4bc987336b /gas | |
parent | 4ba4b473b94f95f73a159131d258e71a0d457300 (diff) | |
download | gdb-7f3dfb9cf74da197cfe71fb0490a90613269ca0f.zip gdb-7f3dfb9cf74da197cfe71fb0490a90613269ca0f.tar.gz gdb-7f3dfb9cf74da197cfe71fb0490a90613269ca0f.tar.bz2 |
gas/
2006-02-22 H.J. Lu <hongjiu.lu@intel.com>
* config/tc-ia64.c (specify_resource): Add the rule 17 from
SDM 2.2.
gas/testsuite/
2006-02-22 H.J. Lu <hongjiu.lu@intel.com>
* gas/ia64/dv-raw-err.s: Add check for vmsw.0.
* gas/ia64/dv-raw-err.l: Updated.
* gas/ia64/opc-b.s: Add vmsw.0 and vmsw.1.
* gas/ia64/opc-b.d: Updated.
opcodes/
2006-02-22 H.J. Lu <hongjiu.lu@intel.com>
* ia64-gen.c (lookup_regindex): Handle ".vm".
(print_dependency_table): Handle '\"'.
* ia64-ic.tbl: Updated from SDM 2.2.
* ia64-raw.tbl: Likewise.
* ia64-waw.tbl: Likewise.
* ia64-asmtab.c: Regenerated.
* ia64-opc-b.c (ia64_opcodes_b): Add vmsw.0 and vmsw.1.
Diffstat (limited to 'gas')
-rw-r--r-- | gas/ChangeLog | 5 | ||||
-rw-r--r-- | gas/config/tc-ia64.c | 7 | ||||
-rw-r--r-- | gas/testsuite/ChangeLog | 8 | ||||
-rw-r--r-- | gas/testsuite/gas/ia64/dv-raw-err.l | 2 | ||||
-rw-r--r-- | gas/testsuite/gas/ia64/dv-raw-err.s | 6 | ||||
-rw-r--r-- | gas/testsuite/gas/ia64/opc-b.d | 6 | ||||
-rw-r--r-- | gas/testsuite/gas/ia64/opc-b.s | 4 |
7 files changed, 33 insertions, 5 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index 347d32e..6d617c6 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,8 @@ +2006-02-22 H.J. Lu <hongjiu.lu@intel.com> + + * config/tc-ia64.c (specify_resource): Add the rule 17 from + SDM 2.2. + 2005-02-22 Paul Brook <paul@codesourcery.com> * config/tc-arm.c (do_pld): Remove incorrect write to diff --git a/gas/config/tc-ia64.c b/gas/config/tc-ia64.c index 2ac7586..8a0d403 100644 --- a/gas/config/tc-ia64.c +++ b/gas/config/tc-ia64.c @@ -8327,6 +8327,8 @@ depends_on (depind, idesc) IC:rse-writers. 15+16) Represents reserved instructions, which the assembler does not generate. + 17) CR[TPR] has a RAW dependency only between mov-to-CR-TPR and + mov-to-PSR-l or ssm instructions that set PSR.i, PSR.pp or PSR.up. Memory resources (i.e. locations in memory) are *not* marked or tracked by this code; there are no dependency violations based on memory access. @@ -9415,8 +9417,9 @@ dep->name, idesc->name, (rsrc_write?"write":"read"), note) break; case IA64_RS_CRX: - /* Handle all CR[REG] resources */ - if (note == 0 || note == 1) + /* Handle all CR[REG] resources. + ??? FIXME: The rule 17 isn't really handled correctly. */ + if (note == 0 || note == 1 || note == 17) { if (idesc->operands[!rsrc_write] == IA64_OPND_CR3) { diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog index bab0878..d6f6784 100644 --- a/gas/testsuite/ChangeLog +++ b/gas/testsuite/ChangeLog @@ -1,3 +1,11 @@ +2006-02-22 H.J. Lu <hongjiu.lu@intel.com> + + * gas/ia64/dv-raw-err.s: Add check for vmsw.0. + * gas/ia64/dv-raw-err.l: Updated. + + * gas/ia64/opc-b.s: Add vmsw.0 and vmsw.1. + * gas/ia64/opc-b.d: Updated. + 2005-02-22 Paul Brook <paul@codesourcery.com> * gas/arm/thumb32.d: Fix expected pld opcode. diff --git a/gas/testsuite/gas/ia64/dv-raw-err.l b/gas/testsuite/gas/ia64/dv-raw-err.l index 3ddb095..b73a214 100644 --- a/gas/testsuite/gas/ia64/dv-raw-err.l +++ b/gas/testsuite/gas/ia64/dv-raw-err.l @@ -291,3 +291,5 @@ .*:592: Warning: This is the location of the conflicting usage .*:593: Warning: Use of 'ldfd' .* WAW dependency 'GR%, % in 1 - 127' \(impliedf\), specific resource number is 6 .*:592: Warning: This is the location of the conflicting usage +.*:601: Warning: Use of 'ld8' .* RAW dependency 'PSR\.vm' \(implied\) +.*:600: Warning: This is the location of the conflicting usage diff --git a/gas/testsuite/gas/ia64/dv-raw-err.s b/gas/testsuite/gas/ia64/dv-raw-err.s index 416d042..cf9f75e 100644 --- a/gas/testsuite/gas/ia64/dv-raw-err.s +++ b/gas/testsuite/gas/ia64/dv-raw-err.s @@ -594,3 +594,9 @@ ;; L: + br.ret.sptk rp + +// PSR.vm. New in SDM 2.2 + vmsw.0 + ld8 r2 = [r1] + ;; diff --git a/gas/testsuite/gas/ia64/opc-b.d b/gas/testsuite/gas/ia64/opc-b.d index c2d4782..4e483f8 100644 --- a/gas/testsuite/gas/ia64/opc-b.d +++ b/gas/testsuite/gas/ia64/opc-b.d @@ -1016,6 +1016,6 @@ Disassembly of section .text: 2bf0: 16 f8 ff 0f 00 00 \[BBB\] break\.b 0x1ffff 2bf6: 00 00 00 02 10 e0 hint\.b 0x0 2bfc: ff 3f 04 20 hint\.b 0x1ffff - 2c00: 1d 00 00 00 01 00 \[MFB\] nop\.m 0x0 - 2c06: 00 00 00 02 00 e0 nop\.f 0x0 - 2c0c: ff 3f 00 20 nop\.b 0x1ffff;; + 2c00: 17 f8 ff 0f 00 08 \[BBB\] nop\.b 0x1ffff + 2c06: 00 00 00 30 00 00 vmsw.0 + 2c0c: 00 00 64 00 vmsw.1;; diff --git a/gas/testsuite/gas/ia64/opc-b.s b/gas/testsuite/gas/ia64/opc-b.s index e688184..565ab54 100644 --- a/gas/testsuite/gas/ia64/opc-b.s +++ b/gas/testsuite/gas/ia64/opc-b.s @@ -831,3 +831,7 @@ hint.b @pause hint.b 0x1ffff nop.b 0x1ffff + + # instructions added by SDM2.2: + vmsw.0 + vmsw.1 |