Landing: 5be7b70e769e

Project / Subsystem

gcc / i386

Date

2026-07-03

Author

liuhongt

Commit

5be7b70e769e6e992dbf631cd37e24bd9da9e05e

Source

github

Perf win

No

Breaking

No

All attributes

project
gcc
subsystem
i386
patch_id
commit_hash
5be7b70e769e6e992dbf631cd37e24bd9da9e05e
source_type
github
headline
i386: Enable 512-bit byte dot-product only under AVX512BW
tldr
Fixes an instruction selection bug for byte dot-product operations on x86.
author
liuhongt
outcome
committed
performance_win
false
breaking_change
false
series_id
series_parts
[]
tags
  • x86
  • avx512
  • optimization
discussion_id_link
bugzilla_pr
date
2026-07-03T00:00:00.000Z

This commit corrects the enablement of 512-bit byte dot-product (sdot_prod/udot_prod) instructions on i386. Previously, these operations were incorrectly enabled under AVX512BW or AVX512VNNI, but the VNNI instruction set lacks a direct same-sign byte instruction. This led to an ICE when the compiler attempted to emulate the operation using vpmovsxwb, which requires AVX512BW. By using the VI1_AVX512 iterator instead of VI1_AVX512VNNIBW for V64QI, the operations are now correctly enabled only when AVX512BW is available, resolving the ICE and ensuring correct instruction selection.