Re: gas is overly conservative with itc instruction

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, 2006-03-01 at 10:59, Chen, Kenneth W wrote:
> The stop after first mmi bundle is unnecessary.  HJ, is it possible
> to get that relaxed a bit?

Yes.  The double stop bit here is a bug.  It is better to fix the kernel
assembly source, but the assembler should be fixed also.  I wrote and
checked in a patch to fix it.

I tested this with a kernel build, and the only difference with the
patch is that the one extra stop bit you complained about is gone.
There were no other changes to the kernel binary.
2006-03-02  James E Wilson  <wilson@xxxxxxxxxxxx>

	* config/tc-ia64.c (emit_one_bundle): For IA64_OPCODE_LAST, if we
	change the template, then clear md.slot[curr].end_of_insn_group.

Index: tc-ia64.c
===================================================================
RCS file: /cvs/src/src/gas/config/tc-ia64.c,v
retrieving revision 1.186
diff -p -p -r1.186 tc-ia64.c
*** tc-ia64.c	23 Feb 2006 21:36:17 -0000	1.186
--- tc-ia64.c	2 Mar 2006 22:32:53 -0000
*************** emit_one_bundle ()
*** 6855,6860 ****
--- 6855,6864 ----
  	         changing NOPs in front of this slot.  */
  	      for (j = i; j < 3; ++j)
  	        insn[j] = nop[ia64_templ_desc[required_template].exec_unit[j]];
+
+ 	      /* We just picked a template that includes the stop bit in the
+ 		 middle, so we don't need another one emitted later.  */
+ 	      md.slot[curr].end_of_insn_group = 0;
  	    }
  	  template = required_template;
  	}

[Index of Archives]     [Linux Kernel]     [Sparc Linux]     [DCCP]     [Linux ARM]     [Yosemite News]     [Linux SCSI]     [Linux x86_64]     [Linux for Ham Radio]

  Powered by Linux