[PATCH] PowerPC: Support for Prefixed Add Immediate Shifted Instruction (RFC02686)

Peter Bergner bergner@linux.ibm.com
Thu Mar 13 23:57:30 GMT 2025


On 3/11/25 2:43 AM, Jan Beulich wrote:
> On 05.03.2025 18:24, Surya Kumari Jangala wrote:
>> @@ -9863,6 +9925,11 @@ const struct powerpc_opcode prefix_opcodes[] = {
>>  {"pla",		  PMLS|OP(14),	       P_D_MASK,	POWER10, EXT,	{RT, D34, PRA0, PCREL1}},
>>  {"paddi",	  PMLS|OP(14),	       P_D_MASK,	POWER10, 0,	{RT, RA0, SI34, PCREL}},
>>  {"psubi",	  PMLS|OP(14),	       P_D_MASK,	POWER10, EXT,	{RT, RA0, NSI34, PCREL}},
>> +
>> +{"plis",	  PMLS|OP(15),	       P_DRAPCREL_SI32_MASK,	FUTURE,  EXT,	{RT, SI32}},
>> +{"paddis",	  PMLS|OP(15),	       P_D_SI32_MASK,		FUTURE,  0,	{RT, RA0, SI32, PCREL}},
>> +{"psubis",	  PMLS|OP(15),	       P_D_SI32_MASK,		FUTURE,  EXT,	{RT, RA0, NSI32, PCREL}},
> 
> Since, unlike for e.g. PADDI, these are 32-bit fields, and these are shifted
> immediates, don't we need one or more new relocation types to express these
> immediate operands when they're not plain constants?

Currently, our GCC patches don't emit paddis yet for -mcmodel=large, just for
constant generation at the moment, but yes, once we tackle that, we will need
some new linker relocations.  That will be a follow-on patch.

Peter



More information about the Binutils mailing list