aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/DFAPacketizer.cpp
diff options
context:
space:
mode:
authorSizov Nikita <s.nikita.v@gmail.com>2024-04-06 23:41:24 +0300
committerGitHub <noreply@github.com>2024-04-06 21:41:24 +0100
commitd38bff460acb4fe3156d90ec739da49344db14ca (patch)
tree01f6c1b7af6c9396a07be0ad26574fb7a788dd90 /llvm/lib/CodeGen/DFAPacketizer.cpp
parent4cb110a84f587d3c65b85d79ab6fc8aa5489fb86 (diff)
downloadllvm-d38bff460acb4fe3156d90ec739da49344db14ca.zip
llvm-d38bff460acb4fe3156d90ec739da49344db14ca.tar.gz
llvm-d38bff460acb4fe3156d90ec739da49344db14ca.tar.bz2
[AArch64] SimplifyDemandedBitsForTargetNode - add AArch64ISD::BICi handling (#76644)
Fold BICi if all destination bits are already known to be zeroes ```llvm define <8 x i16> @haddu_known(<8 x i8> %a0, <8 x i8> %a1) { %x0 = zext <8 x i8> %a0 to <8 x i16> %x1 = zext <8 x i8> %a1 to <8 x i16> %hadd = call <8 x i16> @llvm.aarch64.neon.uhadd.v8i16(<8 x i16> %x0, <8 x i16> %x1) %res = and <8 x i16> %hadd, <i16 511, i16 511, i16 511, i16 511,i16 511, i16 511, i16 511, i16 511> ret <8 x i16> %res } declare <8 x i16> @llvm.aarch64.neon.uhadd.v8i16(<8 x i16>, <8 x i16>) ``` ``` haddu_known: // @haddu_known ushll v0.8h, v0.8b, #0 ushll v1.8h, v1.8b, #0 uhadd v0.8h, v0.8h, v1.8h bic v0.8h, #254, lsl #8 <-- this one will be removed as we know high bits are zero extended ret ``` Fixes #53881 Fixes #53622
Diffstat (limited to 'llvm/lib/CodeGen/DFAPacketizer.cpp')
0 files changed, 0 insertions, 0 deletions