[PATCH] x86: Check XMM destination when optimizing 128-bit VPBROADCASTQ

H.J. Lu hjl.tools@gmail.com
Wed May 27 00:53:37 GMT 2026


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.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-x86-Check-XMM-destination-when-optimizing-128-bit-VP.patch
Type: text/x-patch
Size: 2358 bytes
Desc: not available
URL: <https://sourceware.org/pipermail/binutils/attachments/20260527/82fafc59/attachment.bin>


More information about the Binutils mailing list