aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/MachineModuleInfo.cpp
diff options
context:
space:
mode:
authorDavid Green <david.green@arm.com>2022-06-12 10:59:09 +0100
committerDavid Green <david.green@arm.com>2022-06-12 10:59:09 +0100
commit963c0a014700ab07bd7c81ffd1789425a297f0fb (patch)
treec95fbbc3c5c5f297275fd0404a9a6e23820e4d01 /llvm/lib/CodeGen/MachineModuleInfo.cpp
parent2d2da259c8726fd5c974c01122a9689981a12196 (diff)
downloadllvm-963c0a014700ab07bd7c81ffd1789425a297f0fb.zip
llvm-963c0a014700ab07bd7c81ffd1789425a297f0fb.tar.gz
llvm-963c0a014700ab07bd7c81ffd1789425a297f0fb.tar.bz2
[AArch64] Look through bitcast when looking for extract_high subvector
Since D61806, DAGCombiner has folded subvector_extract(bitcast(..)) to bitcast(subvector_extract(..)), which would place a bitcast between a subvector_extract and the operation that could be converted to a high neon instruction (like smull2). This adds better matching for the subvector_extract, through the tablegen extract_high PatFrags to optionally skip the bitcast under little ending, still matchings an extract of the high half of the input vector. I didn't update the extract_high of a duplicate patterns, as the ComplexPattern need names operands. I did add a extract_high_dup_v8i16 PatFrag to abstract away the common code, which can be extended in a future patch. Differential Revision: https://reviews.llvm.org/D126782
Diffstat (limited to 'llvm/lib/CodeGen/MachineModuleInfo.cpp')
0 files changed, 0 insertions, 0 deletions