aboutsummaryrefslogtreecommitdiff
path: root/gas/config/tc-ia64.c
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2008-08-28 14:07:50 +0000
committerH.J. Lu <hjl.tools@gmail.com>2008-08-28 14:07:50 +0000
commit1ca35711f453e9a18d2a23795fc4305ace8eb1d4 (patch)
treec575781b0204098113db0a6478b59342b77d7f8b /gas/config/tc-ia64.c
parentb29d32ce5c7f783e1df1f0bf63245c8614e939f6 (diff)
downloadgdb-1ca35711f453e9a18d2a23795fc4305ace8eb1d4.zip
gdb-1ca35711f453e9a18d2a23795fc4305ace8eb1d4.tar.gz
gdb-1ca35711f453e9a18d2a23795fc4305ace8eb1d4.tar.bz2
gas/
2008-08-28 H.J. Lu <hongjiu.lu@intel.com> * config/tc-ia64.c (CR_IIB0): New. (CR_IIB1): Likewise. (cr): Add cr.iib0 and cr.iib1. (specify_resource): Handle IA64_RS_CR_IIB and CR_IIB0/CR_IIB1. gas/testsuite/ 2008-08-28 H.J. Lu <hongjiu.lu@intel.com> * gas/ia64/dv-raw-err.s: Add tests for cr.iib0 and cr.iib1. * gas/ia64/dv-waw-err.s: Likewise. * gas/ia64/regs.s: Likewise. * gas/ia64/dv-raw-err.l: Updated. * gas/ia64/dv-waw-err.l: Likewise. * gas/ia64/regs.d: Likewise. include/opcode/ 2008-08-28 H.J. Lu <hongjiu.lu@intel.com> * ia64.h (ia64_resource_specifier): Add IA64_RS_CR_IIB. Update IA64_RS_CR. opcodes/ 2008-08-28 H.J. Lu <hongjiu.lu@intel.com> * ia64-dis.c (print_insn_ia64): Handle cr.iib0 and cr.iib1. * ia64-gen.c (lookup_specifier): Likewise. * ia64-ic.tbl: Add support for cr.iib0 and cr.iib1. * ia64-raw.tbl: Likewise. * ia64-waw.tbl: Likewise. * ia64-asmtab.c: Regenerated.
Diffstat (limited to 'gas/config/tc-ia64.c')
-rw-r--r--gas/config/tc-ia64.c23
1 files changed, 23 insertions, 0 deletions
diff --git a/gas/config/tc-ia64.c b/gas/config/tc-ia64.c
index e31bd26..da56dd3 100644
--- a/gas/config/tc-ia64.c
+++ b/gas/config/tc-ia64.c
@@ -408,6 +408,8 @@ ar[] =
#define CR_IFS 23
#define CR_IIM 24
#define CR_IHA 25
+#define CR_IIB0 26
+#define CR_IIB1 27
#define CR_LID 64
#define CR_IVR 65
#define CR_TPR 66
@@ -441,6 +443,8 @@ cr[] =
{"cr.ifs", CR_IFS},
{"cr.iim", CR_IIM},
{"cr.iha", CR_IHA},
+ {"cr.iib0", CR_IIB0},
+ {"cr.iib1", CR_IIB1},
{"cr.lid", CR_LID},
{"cr.ivr", CR_IVR},
{"cr.tpr", CR_TPR},
@@ -8417,6 +8421,23 @@ dep->name, idesc->name, (rsrc_write?"write":"read"), note)
}
break;
+ case IA64_RS_CR_IIB:
+ if (note != 0)
+ {
+ UNHANDLED;
+ }
+ else
+ {
+ int regno = CURR_SLOT.opnd[!rsrc_write].X_add_number - REG_CR;
+ if (idesc->operands[!rsrc_write] == IA64_OPND_CR3
+ && (regno == CR_IIB0 || regno == CR_IIB1))
+ {
+ specs[count] = tmpl;
+ specs[count++].index = regno;
+ }
+ }
+ break;
+
case IA64_RS_CR_LRR:
if (note != 1)
{
@@ -8848,6 +8869,8 @@ dep->name, idesc->name, (rsrc_write?"write":"read"), note)
case CR_ISR:
case CR_IFA:
case CR_IHA:
+ case CR_IIB0:
+ case CR_IIB1:
case CR_IIPA:
specs[count++] = tmpl;
break;