projects
/
binutils-gdb.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
aa170a0
)
Clean up F-unit assembly and tests.
author
Timothy Wall
<twall@alum.mit.edu>
Sun, 23 Apr 2000 02:53:35 +0000
(
02:53
+0000)
committer
Timothy Wall
<twall@alum.mit.edu>
Sun, 23 Apr 2000 02:53:35 +0000
(
02:53
+0000)
gas/ChangeLog
patch
|
blob
|
history
gas/config/tc-ia64.c
patch
|
blob
|
history
gas/testsuite/ChangeLog
patch
|
blob
|
history
gas/testsuite/gas/ia64/opc-f.d
patch
|
blob
|
history
gas/testsuite/gas/ia64/opc-f.s
patch
|
blob
|
history
diff --git
a/gas/ChangeLog
b/gas/ChangeLog
index f0357ff3515922d1248c5c7ca064ca66d60401ba..ac47c1d466dbd3c8de4f27bc9e5cd1841a48d317 100644
(file)
--- a/
gas/ChangeLog
+++ b/
gas/ChangeLog
@@
-1,3
+1,9
@@
+2000-04-22 Timothy Wall <twall@cygnus.com>
+
+ * config/tc-ia64.c (pseudo_func[]): Add new "nat" entry equivalent
+ to "natval".
+ (operand_match): Conditionally insert default bit values for IMMU9.
+
2000-04-14 Matthew Green <mrg@cygnus.com>
* configure.in: Add NetBSD/sparc ELF and NetBSD/sparc64 support.
2000-04-14 Matthew Green <mrg@cygnus.com>
* configure.in: Add NetBSD/sparc ELF and NetBSD/sparc64 support.
diff --git
a/gas/config/tc-ia64.c
b/gas/config/tc-ia64.c
index e4b6bbe33bae708ee7d5f23025bcbdd5de2b5700..9607ef84d39e4899fc0c41fe0e92b66c4161fa5b 100644
(file)
--- a/
gas/config/tc-ia64.c
+++ b/
gas/config/tc-ia64.c
@@
-448,7
+448,7
@@
pseudo_func[] =
{ "shuf", PSEUDO_FUNC_CONST, { 0x9 } },
/* fclass constants: */
{ "shuf", PSEUDO_FUNC_CONST, { 0x9 } },
/* fclass constants: */
- { "nat
val",
PSEUDO_FUNC_CONST, { 0x100 } },
+ { "nat
",
PSEUDO_FUNC_CONST, { 0x100 } },
{ "qnan", PSEUDO_FUNC_CONST, { 0x080 } },
{ "snan", PSEUDO_FUNC_CONST, { 0x040 } },
{ "pos", PSEUDO_FUNC_CONST, { 0x001 } },
{ "qnan", PSEUDO_FUNC_CONST, { 0x080 } },
{ "snan", PSEUDO_FUNC_CONST, { 0x040 } },
{ "pos", PSEUDO_FUNC_CONST, { 0x001 } },
@@
-457,6
+457,8
@@
pseudo_func[] =
{ "unorm", PSEUDO_FUNC_CONST, { 0x008 } },
{ "norm", PSEUDO_FUNC_CONST, { 0x010 } },
{ "inf", PSEUDO_FUNC_CONST, { 0x020 } },
{ "unorm", PSEUDO_FUNC_CONST, { 0x008 } },
{ "norm", PSEUDO_FUNC_CONST, { 0x010 } },
{ "inf", PSEUDO_FUNC_CONST, { 0x020 } },
+
+ { "natval", PSEUDO_FUNC_CONST, { 0x100 } }, /* old usage */
};
/* 41-bit nop opcodes (one per unit): */
};
/* 41-bit nop opcodes (one per unit): */
@@
-3815,7
+3817,6
@@
operand_match (idesc, index, e)
case IA64_OPND_IMMU2:
case IA64_OPND_IMMU7a:
case IA64_OPND_IMMU7b:
case IA64_OPND_IMMU2:
case IA64_OPND_IMMU7a:
case IA64_OPND_IMMU7b:
- case IA64_OPND_IMMU9:
case IA64_OPND_IMMU21:
case IA64_OPND_IMMU24:
case IA64_OPND_MBTYPE4:
case IA64_OPND_IMMU21:
case IA64_OPND_IMMU24:
case IA64_OPND_MBTYPE4:
@@
-3827,6
+3828,18
@@
operand_match (idesc, index, e)
return 1;
break;
return 1;
break;
+ case IA64_OPND_IMMU9:
+ bits = operand_width (idesc->operands[index]);
+ if (e->X_op == O_constant
+ && (bfd_vma) e->X_add_number < ((bfd_vma) 1 << bits))
+ {
+ int lobits = e->X_add_number & 0x3;
+ if (((bfd_vma) e->X_add_number & 0x3C) != 0 && lobits == 0)
+ e->X_add_number |= (bfd_vma)0x3;
+ return 1;
+ }
+ break;
+
case IA64_OPND_IMM44:
/* least 16 bits must be zero */
if ((e->X_add_number & 0xffff) != 0)
case IA64_OPND_IMM44:
/* least 16 bits must be zero */
if ((e->X_add_number & 0xffff) != 0)
diff --git
a/gas/testsuite/ChangeLog
b/gas/testsuite/ChangeLog
index ee01f3b2f23e12be242f2c31e1b9f945dd070ad3..5f415f3a9aa908cb53254cd5e69456e82fb40e20 100644
(file)
--- a/
gas/testsuite/ChangeLog
+++ b/
gas/testsuite/ChangeLog
@@
-1,3
+1,8
@@
+2000-04-22 Timothy Wall <twall@cygnus.com>
+
+ * gas/ia64/opc-f.d: Disassemble zeroes to verify break.f.
+ * gas/ia64/opc-f.s: Add an explicit stop to make IAS output match.
+
Fri Apr 21 13:20:53 2000 Richard Henderson <rth@cygnus.com>
David Mosberger <davidm@hpl.hp.com>
Timothy Wall <twall@cygnus.com>
Fri Apr 21 13:20:53 2000 Richard Henderson <rth@cygnus.com>
David Mosberger <davidm@hpl.hp.com>
Timothy Wall <twall@cygnus.com>
diff --git
a/gas/testsuite/gas/ia64/opc-f.d
b/gas/testsuite/gas/ia64/opc-f.d
index 0e69d3f400257e88b297383b0121862d24adb896..5087ac4f9566065fb5610b2ef0b6eb21f6d0c85e 100644
(file)
--- a/
gas/testsuite/gas/ia64/opc-f.d
+++ b/
gas/testsuite/gas/ia64/opc-f.d
@@
-1,4
+1,4
@@
-# objdump: -d
+# objdump: -d
--disassemble-zeroes
# name: ia64 opc-f
.*: +file format .*
# name: ia64 opc-f
.*: +file format .*
@@
-469,16
+469,16
@@
Disassembly of section \.text:
996: 40 38 14 0c 76 00 xma\.hu f4=f5,f6,f7
99c: 00 00 04 00 nop\.i 0x0
9a0: 0c 00 00 00 01 00 \[MFI\] nop\.m 0x0
996: 40 38 14 0c 76 00 xma\.hu f4=f5,f6,f7
99c: 00 00 04 00 nop\.i 0x0
9a0: 0c 00 00 00 01 00 \[MFI\] nop\.m 0x0
- 9a6: 40 00 14 0c 74 00 xm
a\.l f4=f5,f6,f0
+ 9a6: 40 00 14 0c 74 00 xm
py\.l f4=f5,f6
9ac: 00 00 04 00 nop\.i 0x0
9b0: 0c 00 00 00 01 00 \[MFI\] nop\.m 0x0
9ac: 00 00 04 00 nop\.i 0x0
9b0: 0c 00 00 00 01 00 \[MFI\] nop\.m 0x0
- 9b6: 40 00 14 0c 74 00 xm
a\.l f4=f5,f6,f0
+ 9b6: 40 00 14 0c 74 00 xm
py\.l f4=f5,f6
9bc: 00 00 04 00 nop\.i 0x0
9c0: 0c 00 00 00 01 00 \[MFI\] nop\.m 0x0
9bc: 00 00 04 00 nop\.i 0x0
9c0: 0c 00 00 00 01 00 \[MFI\] nop\.m 0x0
- 9c6: 40 00 14 0c 77 00 xm
a\.h f4=f5,f6,f0
+ 9c6: 40 00 14 0c 77 00 xm
py\.h f4=f5,f6
9cc: 00 00 04 00 nop\.i 0x0
9d0: 0c 00 00 00 01 00 \[MFI\] nop\.m 0x0
9cc: 00 00 04 00 nop\.i 0x0
9d0: 0c 00 00 00 01 00 \[MFI\] nop\.m 0x0
- 9d6: 40 00 14 0c 76 00 xm
a\.hu f4=f5,f6,f0
+ 9d6: 40 00 14 0c 76 00 xm
py\.hu f4=f5,f6
9dc: 00 00 04 00 nop\.i 0x0
9e0: 0c 00 00 00 01 00 \[MFI\] nop\.m 0x0
9e6: 40 38 14 0c 70 00 fselect f4=f5,f6,f7
9dc: 00 00 04 00 nop\.i 0x0
9e0: 0c 00 00 00 01 00 \[MFI\] nop\.m 0x0
9e6: 40 38 14 0c 70 00 fselect f4=f5,f6,f7
@@
-1210,8
+1210,8
@@
Disassembly of section \.text:
1906: 00 e7 ff 10 07 00 fchkf\.s3 0 <_start>
190c: 00 00 04 00 nop\.i 0x0
1910: 0c 00 00 00 01 00 \[MFI\] nop\.m 0x0
1906: 00 e7 ff 10 07 00 fchkf\.s3 0 <_start>
190c: 00 00 04 00 nop\.i 0x0
1910: 0c 00 00 00 01 00 \[MFI\] nop\.m 0x0
- \.\.\.
- 191
e: 04 00 0c
00 nop\.i 0x0
- 192
2: 00 00 01 00 00
00 \[MFI\] nop\.m 0x0
- 192
8: 00 02 00 00
00 00 nop\.f 0x0
- 192
e: 04 00 00 00 nop\.i 0x0
+ 1916: 00 00 00 00 00 00 break\.f 0x0
+ 191
c: 00 00 04
00 nop\.i 0x0
+ 192
0: 0d 00 00 00 01
00 \[MFI\] nop\.m 0x0
+ 192
6: 00 00 00 02
00 00 nop\.f 0x0
+ 192
c: 00 00 04 00 nop\.i 0x0;;
diff --git
a/gas/testsuite/gas/ia64/opc-f.s
b/gas/testsuite/gas/ia64/opc-f.s
index 8784bb92157426aaad71766c32f46ed6de7b8e81..929ba6a0933a398cd98b9a33cad32c3b617d651f 100644
(file)
--- a/
gas/testsuite/gas/ia64/opc-f.s
+++ b/
gas/testsuite/gas/ia64/opc-f.s
@@
-477,5
+477,5
@@
_start:
fchkf.s3 _start
break.f 0
fchkf.s3 _start
break.f 0
- nop.f 0
+ nop.f 0
;;