This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC 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]

i386 GCC-3.4 & Mandrake-9.2 GCC-3.3.1 non-inline memset/memcpy


  Hello,

 For a project of mine (gujin at sourceforge) I cannot have non inline
 memset and memcpy because I am generating i80386 real mode code in two
 different code segments and have only one link (so name of functions
 in each segments have to be different).
 Most version of GCC up to GCC-3.4 do not insert implicit memset/memcpy
 in my code and I am not often using explicitely these functions. I am
 more coding things like:

 struct my_big_struct_type my_struct = (struct my_big_struct_type){};

 and so on ia32 usually a "rep stosl" is generated (the size of the
 structure is constant!).

 But for GCC-3.4 and Mandrake-9.2 GCC-3.3.1 it is no more the case,
 real call to those functions is done. I could generate non inline
 memset and memcpy for each code segment I am using by renamimg and
 prefixing memset and memcpy by the name of the segment - but it will
 not be very efficient and I wonder if there were an option to go back
 to the standard "rep stosl" and "rep cmpsl" inline.

  Note that this is maybe related to the thread "HORRIBLE inliner
 defaillance" in:
http://gcc.gnu.org/ml/gcc/2003-10/msg01305.html

  Thanks for any pointer,
  Etienne.

___________________________________________________________
Do You Yahoo!? -- Une adresse @yahoo.fr gratuite et en français !
Yahoo! Mail : http://fr.mail.yahoo.com


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