Quoting "Joseph S. Myers" <jos...@codesourcery.com>:

For targets with 8-bit bytes and 32-bit registers (and without hardware
floating point), there is probably no point in having most conversion
functions to/from QImode or HImode separate from those to/from SImode, as
they likely wouldn't be any more efficient so would just make libgcc
larger or add unnecessary aliases.

I think it is also a reflection of an 'all the world is (at least) 32 bit'
attitude - in part supported by the GNU coding standard as it was then
aimed at making an easily maintainable workstation / server operating system.
I.e. the C "int" type was assumed to be 32 bit.  And gcc stood for
'GNU C compiler' - and C has type promotion rules that mean you don't need
to convert floating point from/to integer types narrower than int.

Thus, it doesn't make sense to force extension to an integer mode wider than
an int.
Ports where int is smaller than SImode are few, and if you really want
an expansion, you can always force it with a define_expand.

Reply via email to