Compiling GCC with g++: a report

DJ Delorie dj@redhat.com
Wed May 25 01:47:00 GMT 2005


>    (2) When and if you switch to this:
> 
>         class machine_mode
>         {
>           enum value_t {
>            VOIDmode, SImode, // ...
>           } value;
> 
>          // accessors, whatever ...
>         };

I think what Mark wants is to migrate to this:

	class machine_mode_desc
	{
	  unsigned char bits;
	  unsigned char is_signed:1;
	  unsigned char partial_bits;
	  unsigned char vector_width;
	  char *name;
	  // accessors, whatever
	};
	class machine_mode
	{
	  machine_mode_desc *mode_data;
	  // various constructors
	}

And the target can do this in tm.c:

	class machine_mode SImode ("SI", 32);
	class machine_mode V4QImode ("V4QI", 8, 0, 8, 4);

Then, the MI parts can obtain a mode with certain characteristics,
enumerate available modes, and get info about a given mode, but don't
have a compile-time identifier for a "well-known named" mode.



More information about the Gcc mailing list