[all-commits] [llvm/llvm-project] f970b0: [ARM] Fix vector ule zero lowering
David Green via All-commits
all-commits at lists.llvm.org
Wed Nov 2 15:34:18 PDT 2022
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: f970b007e55d6dab6d84d98a39658a58019eb06e
https://github.com/llvm/llvm-project/commit/f970b007e55d6dab6d84d98a39658a58019eb06e
Author: David Green <david.green at arm.com>
Date: 2022-11-02 (Wed, 02 Nov 2022)
Changed paths:
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/test/CodeGen/ARM/vcmpz.ll
M llvm/test/CodeGen/Thumb2/mve-pred-and.ll
M llvm/test/CodeGen/Thumb2/mve-pred-or.ll
M llvm/test/CodeGen/Thumb2/mve-pred-xor.ll
M llvm/test/CodeGen/Thumb2/mve-vcmpz.ll
Log Message:
-----------
[ARM] Fix vector ule zero lowering
The instruction icmp ule <4 x i32> %0, zeroinitializer will usually be
simplified to icmp eq <4 x i32> %0, zeroinitializer. It is not
guaranteed though, and the code for lowering vector compares could pick
the wrong form of the instruction if this happened. I've tried to make
the code more explicit about the supported conditions.
This fixes NEON being unable to select VCMPZ with HS conditions, and
fixes some incorrect MVE patterns.
Fixes #58514.
Differential Revision: https://reviews.llvm.org/D136447
More information about the All-commits
mailing list