[PATCH] x86: Check XMM destination when optimizing 128-bit VPBROADCASTQ
H.J. Lu
hjl.tools@gmail.com
Wed May 27 23:08:47 GMT 2026
On Wed, May 27, 2026 at 8:53 AM H.J. Lu <hjl.tools@gmail.com> wrote:
>
> commit eb4031cb20aa710834be891f8638e04dbba81edc
> Author: Jan Beulich <jbeulich@suse.com>
> Date: Tue Jul 4 17:07:26 2023 +0200
>
> x86: optimize 128-bit VPBROADCASTQ to VPUNPCKLQDQ
>
> was supposed to optimize
>
> vpbroadcastq %xmmN, %xmmM -> vpunpcklqdq %xmmN, %xmmN, %xmmM (N < 8)
>
> But it didn't check if the destination operand is XMM. As the result, it
> turned:
>
> vpbroadcastq %xmmN, %ymmM
>
> into
>
> vpunpcklqdq %xmmN, %xmmN, %xmmM
>
> Fixing it by checking XMM destination.
>
> PR gas/34171
> * config/tc-i386.c (optimize_encoding): Check XMM destination
> when optimizing 128-bit VPBROADCASTQ.
> * testsuite/gas/i386/optimize-2.d: Updated.
> * testsuite/gas/i386/optimize-2.s: Add 256-bit vpbroadcastq.
>
>
> --
> H.J.
I am checking it in.
--
H.J.
More information about the Binutils
mailing list