i386 'N' constrain has disappeared

Jan Hubicka jh@suse.cz
Wed Oct 18 04:55:00 GMT 2000


Hi
The 'N' constraint is documented as value in range of 0-255 for i386 and is used by kernel,
djgpp and probably others for "out" instruction family.
In mainline this contraint is missing however.  This patch re-adds it, since it is important
to maitain compatibility (and in fact it did cost me quite a bit of time since I've reused
this letter for different function in x86-64 port)

Honza

Wed Oct 18 13:55:06 MET DST 2000  Jan Hubicka  <jh@suse.cz>
	* i386.h (CONST_OK_FOR_LETTER): Add 'N'.
Index: egcs/gcc/config/i386/i386.h
===================================================================
RCS file: /cvs/gcc/egcs/gcc/config/i386/i386.h,v
retrieving revision 1.133
diff -c -3 -p -r1.133 i386.h
*** i386.h	2000/10/18 05:11:37	1.133
--- i386.h	2000/10/18 11:52:33
*************** enum reg_class
*** 1053,1058 ****
--- 1053,1059 ----
     : (C) == 'K' ? (VALUE) >= -128 && (VALUE) <= 127		\
     : (C) == 'L' ? (VALUE) == 0xff || (VALUE) == 0xffff		\
     : (C) == 'M' ? (VALUE) >= 0 && (VALUE) <= 3			\
+    : (C) == 'N' ? (VALUE) >= 0 && (VALUE) <= 255			\
     : 0)
  
  /* Similar, but for floating constants, and defining letters G and H.


More information about the Gcc-patches mailing list