Landing: c117ca0fc276

Project / Subsystem

binutils / x86

Date

2026-05-27

Author

H.J. Lu

Commit

c117ca0fc27654355839ee75010f25d46e6aeecd

Source

public_inbox

Perf win

No

Breaking

No

All attributes

project
binutils
subsystem
x86
patch_id
commit_hash
c117ca0fc27654355839ee75010f25d46e6aeecd
source_type
public_inbox
headline
x86: Check XMM destination for VPBROADCASTQ optimization
tldr
The assembler now correctly optimizes 128-bit VPBROADCASTQ instructions with XMM destinations.
author
H.J. Lu
outcome
committed
performance_win
false
breaking_change
false
series_id
series_parts
[]
tags
  • x86
  • assembler
  • optimization
  • vector
  • bugfix
discussion_id_link
bugzilla_pr
date
2026-05-27T00:00:00.000Z

The assembler’s optimization for 128-bit VPBROADCASTQ to VPUNPCKLQDQ transformation was incorrectly applied to instructions with YMM destinations, leading to invalid code. This commit adds a check to ensure the destination operand is an XMM register before applying the optimization, fixing the code generation error. The assembler will now generate correct code for VPBROADCASTQ instructions with both XMM and YMM destinations.