aboutsummaryrefslogtreecommitdiff
path: root/gas
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2006-02-23 00:17:24 +0000
committerH.J. Lu <hjl.tools@gmail.com>2006-02-23 00:17:24 +0000
commit7f3dfb9cf74da197cfe71fb0490a90613269ca0f (patch)
treef2af7419484d4d0b4902b54a49dcad4bc987336b /gas
parent4ba4b473b94f95f73a159131d258e71a0d457300 (diff)
downloadgdb-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/ChangeLog5
-rw-r--r--gas/config/tc-ia64.c7
-rw-r--r--gas/testsuite/ChangeLog8
-rw-r--r--gas/testsuite/gas/ia64/dv-raw-err.l2
-rw-r--r--gas/testsuite/gas/ia64/dv-raw-err.s6
-rw-r--r--gas/testsuite/gas/ia64/opc-b.d6
-rw-r--r--gas/testsuite/gas/ia64/opc-b.s4
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