On 4/2/19 2:45 PM, William Tambe wrote: > is that still ok even when TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE > and TARGET_FUNCTION_VALUE_REGNO_P are defined for a single register > that can only hold a single-word object ? ie: > > https://github.com/gcc-mirror/gcc/blob/gcc-8_3_0-release/gcc/config/moxie/moxie.c#L75 > https://github.com/gcc-mirror/gcc/blob/gcc-8_3_0-release/gcc/config/moxie/moxie.c#L86 > https://github.com/gcc-mirror/gcc/blob/gcc-8_3_0-release/gcc/config/moxie/moxie.c#L94 Note that in the first two examples we generate a REG rtx with the given mode. If the given mode is larger than a single word, that's fine. It means a register pair (or quad or octa depending on the size of the mode). So on a typical 32bit target you might have (reg:SI 0) for returning 32 bit objects (reg:DI 0) for returning 64 bit objects (reg:TI 0) for returning 128 bit objects Jeff