This is the mail archive of the binutils@sources.redhat.com mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH] ia64: fix regression from fix for PR/803


>2005-03-28  David Mosberger  <davidm@hpl.hp.com>
>	    H.J. Lu  <hongjiu.lu@intel.com>
>
>	PR 803
>	NEWS: Mention "-mtune=[itanium1|itanium2]".
>
>	* config/tc-ia64.c (md): Add tune.
>	(md_parse_option): Accepted "-mtune=[itanium1|itanium2]".
>	(md_show_usage): Add "-mtune=[itanium1|itanium2]".
>	(extra_goodness): Prefer M- and I-unit NOPs for itanium2. F and
>	B unit NOPs are discouraged for McKinley-derived cores.
>	(md_begin): Don't hardcode the "extra_goodness()" function in
>	the comment...

This introduced a regression in that an M-, A-, or dynamic type instruction
followed by an X-type one would be, when at a bundle start, encoded in two
bundles rather than one.
I additionallly wonder whether M-unit NOPs shouldn't be preferred over I-
unit ones (by letting extra_goodness return 2 only for an M-unit match, but
1 for an I-unit match).

Built and tested on ia64-unknown-linux-gnu.

Jan

gas/
2005-05-23  Jan Beulich  <jbeulich@novell.com>

	* config/tc-ia64.c (md_begin): Don't try to match slot 2 of an MLX
	template.

--- /home/jbeulich/src/binutils/mainline/2005-05-18/gas/config/tc-ia64.c	2005-05-09 08:31:38.000000000 +0200
+++ 2005-05-18/gas/config/tc-ia64.c	2005-05-23 15:43:10.368845760 +0200
@@ -7294,7 +7294,7 @@ md_begin ()
 		{
 		  if (match (t, j, 1))
 		    {
-		      if (match (t, k, 2))
+		      if ((t == 2 && j == IA64_TYPE_X) || match (t, k, 2))
 			goodness = 3 + 3 + 3;
 		      else
 			goodness = 3 + 3 + extra_goodness (t, 2);
@@ -7310,7 +7310,7 @@ md_begin ()
 		}
 	      else if (match (t, i, 1))
 		{
-		  if (match (t, j, 2))
+		  if ((t == 2 && i == IA64_TYPE_X) || match (t, j, 2))
 		    goodness = 3 + 3;
 		  else
 		    goodness = 3 + extra_goodness (t, 2);


Attachment: binutils-mainline-ia64-mlx.patch
Description: Text document


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]