On 12/05/26 5:27 am, Michael Meissner wrote:
> On Mon, May 11, 2026 at 05:54:31PM +0530, jeevitha wrote:
>> Gentle Ping!
>>
>> Is it okay for trunk?
> 
> Yes, it looks fine.
> 

This patch has been committed to trunk. Can I backport it to
GCC 16 branch as well?

>>
>>
>> On 06/05/26 6:45 pm, jeevitha wrote:
>>> Hi All,
>>>
>>> The following patch to fix PR122665 has been bootstrapped and regtested
>>> on powerpc64-linux-gnu and powerpc64le-linux-gnu with no regressions.
>>>
>>> Changes from V2:
>>>   * Instead of using unspec, changed to proper smul_highpart and
>>>     umul_highpart RTL codes.
>>> Changes from V1:
>>>   * Moved the unspec declarations from vsx.md to rs6000.md, as these
>>>     will be reused in future RFC implementation.
>>>
>>> The existing smul<mode>3_highpart and umul<mode>3_highpart patterns
>>> incorrectly defined the high-part multiply by shifting both operands
>>> right by 32 before multiplication. This does not match the semantics
>>> of the instructions vmulhs<wd> and vmulhu<wd>, which perform a widened
>>> multiplication and return the high part of the result.
>>>
>>> This patch replaces the incorrect shift-based patterns with the proper
>>> smul_highpart and umul_highpart RTL codes, and updates the operand
>>> predicate from vsx_register_operand to altivec_register_operand, since
>>> these instructions only accept Altivec registers.
>>>
>>> 2025-05-06  Jeevitha Palanisamy  <[email protected]>
>>>
>>> gcc/
>>>     PR target/122665
>>>     * config/rs6000/vsx.md (smul<mode>3_highpart, umul<mode>3_highpart):
>>>     Replace shift-based patterns with smul_highpart and umul_highpart RTL
>>>     codes and use altivec_register_operand.
> 

Reply via email to