Landing: 6abaf53d84db
Project / Subsystem
gcc / loongarch
Date
2026-07-14
Author
Xi Ruoyao
Commit
6abaf53d84db86bd917d18cac5aac3c3bf37929c
Source
github
Perf win
No
Breaking
No
All attributes
- project
- gcc
- subsystem
- loongarch
- patch_id
- —
- commit_hash
- 6abaf53d84db86bd917d18cac5aac3c3bf37929c
- source_type
- github
- headline
- Fix conditional vector shuffle operand handling for LoongArch.
- tldr
- Corrected predicate logic for LoongArch's vector shuffle instructions to handle operand modes properly.
- author
- Xi Ruoyao
- outcome
- committed
- performance_win
- false
- breaking_change
- false
- series_id
- —
- series_parts
- []
- tags
-
- • loongarch
- • vector
- • bugfix
- discussion_id_link
- github:gcc-mirror/gcc#126200
- bugzilla_pr
- —
- date
- 2026-07-14T00:00:00.000Z
This commit addresses an issue in the LoongArch backend concerning the predicate par_const_vector_shf_set_operand, which was used to validate operands for constant vector shuffle instructions like lsx_vshuf4i. The predicate incorrectly accepted any mode for the selector operand because it was declared as VOIDmode. The fix modifies this predicate to be a special predicate and specifies VIMODE for the selector, ensuring it matches the expected mode and preventing incorrect folding of vector select operations.