The lowering of vector selects needs to first splat the scalar mask into a vector first.
This was causing a crash when building oggenc in the test suite.
Paths
| Differential D91655
[AArch64][GlobalISel] Fix crash during legalization of a vector G_SELECT with scalar mask. ClosedPublic Authored by aemerson on Nov 17 2020, 12:16 PM.
Details Summary The lowering of vector selects needs to first splat the scalar mask into a vector first. This was causing a crash when building oggenc in the test suite.
Diff Detail
Event TimelineHerald added subscribers: danielkiss, hiraditya, kristof.beyls, rovka. · View Herald TranscriptNov 17 2020, 12:16 PM
This revision is now accepted and ready to land.Nov 30 2020, 9:22 AM This revision was landed with ongoing or failed builds.Nov 30 2020, 4:38 PM Closed by commit rG87ff15641437: [AArch64][GlobalISel] Fix crash during legalization of a vector G_SELECT with… (authored by aemerson). · Explain Why This revision was automatically updated to reflect the committed changes.
Revision Contents
Diff 308501 llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
llvm/test/CodeGen/AArch64/GlobalISel/legalize-select.mir
|
Maybe should have a buildSplat helper too