[PATCH 1/3] x86: slightly simplify VPBROADCASTQ -> VUNPCKLQDQ optimization again

Project / Subsystem

binutils / x86

Date

2026-07-17

Proposer

Jan Beulich <jbeulich@suse.com>

Source type

public_inbox

Consensus

Proposed

Sentiment

/10

Technical tradeoffs

  • Corrects a functional bug in instruction optimization.
  • Improves the accuracy of instruction selection for AVX instructions.

All attributes

project
binutils
subsystem
x86
patch_id
discussion_id
ac3b0417-f5b7-4297-9cfa-46e1b951c324@suse.com
source_type
public_inbox
title
[PATCH 1/3] x86: slightly simplify VPBROADCASTQ -> VUNPCKLQDQ optimization again
headline
x86: Simplify VPBROADCASTQ -> VUNPCKLQDQ optimization.
tldr
Fixes an overzealous check in the x86 assembler's VPBROADCASTQ optimization.
proposer
Jan Beulich <jbeulich@suse.com>
consensus
Proposed
outcome
proposed
sentiment_score
technical_tradeoffs
  • Corrects a functional bug in instruction optimization.
  • Improves the accuracy of instruction selection for AVX instructions.
series_id
binutils:x86: slightly simplify vpbroadcastq -> vunpcklqdq optimization again
series_role
reply
series_parts
[]
tags
  • x86
  • assembler
  • AVX
  • optimization
  • instruction selection
bugzilla_url
date
2026-07-17T00:00:00.000Z

[PATCH 1/3] x86: slightly simplify VPBROADCASTQ -> VUNPCKLQDQ optimization again

This patch corrects an optimization in the x86 assembler related to the VPBROADCASTQ instruction. It removes an unnecessary check for the xmmword property on the source operand, which was overly strict and incorrectly disabled valid transformations. The fix ensures that the optimization correctly identifies when VPBROADCASTQ can be transformed into VUNPCKLQDQ.