[all-commits] [llvm/llvm-project] fa3fbd: [LoongArch] Fix invalid VEXTH combines for unsuppo...
hev via All-commits
all-commits at lists.llvm.org
Wed Jul 15 03:41:28 PDT 2026
Branch: refs/heads/users/hev/fix-207316
Home: https://github.com/llvm/llvm-project
Commit: fa3fbd2158f3bbe7d4caa4c115a027dd49f2686e
https://github.com/llvm/llvm-project/commit/fa3fbd2158f3bbe7d4caa4c115a027dd49f2686e
Author: WANG Rui <wangrui at loongson.cn>
Date: 2026-07-15 (Wed, 15 Jul 2026)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
A llvm/test/CodeGen/LoongArch/lasx/issue207316.ll
M llvm/test/CodeGen/LoongArch/lasx/xvexth.ll
M llvm/test/CodeGen/LoongArch/lsx/vexth.ll
Log Message:
-----------
[LoongArch] Fix invalid VEXTH combines for unsupported type extensions
`matchHalfOf128BitLanes` was shared by both shift and extend combines, but it
unconditionally required LSX support, preventing valid LASX-only patterns
from matching. Make the helper check LSX and LASX requirements
independently based on the pattern being recognized.
Additionally, `performEXTENDCombine` could form `VEXTH`/`VEXTH_U` nodes for
unsupported type combinations, such as extending `v8i8` to `v8i32` or
`v2i64` to `v2i128`. These illegal nodes would later reach instruction
selection and trigger backend failures:
* `Cannot select: LoongArchISD::VEXTH`
* `Don't know how to legalize this operation`
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list