summaryrefslogtreecommitdiff
path: root/clang/lib/CodeGen/CGExpr.cpp
diff options
context:
space:
mode:
authorBenjamin Maxwell <benjamin.maxwell@arm.com>2025-05-23 08:43:10 +0100
committerGitHub <noreply@github.com>2025-05-23 08:43:10 +0100
commit62cae9c3de6250476fe0937a4a184b6245ca9c95 (patch)
tree0512d57c100c41b280e49dc30fdc76fe7058d0b6 /clang/lib/CodeGen/CGExpr.cpp
parentf4e14bf213972053d6ee4ca0269e42ba2dd2ceba (diff)
[AArch64] Don't use LowerToPredicatedOp to shufflevector -> SVE lowerings (#140713)
The use of `LowerToPredicatedOp` here seems like a mistake as `LowerToPredicatedOp` turns the SDValue passed to it into the desired predicated node by copying over operands (and adding a predicate). This results in two odd things here, the BITCASTs created and passed to `LowerToPredicatedOp` are not used, only the operands of those bitcasts are taken. Secondly, when a shuffle vector node is passed directly to `LowerToPredicatedOp` to create a `REVD_MERGE_PASSTHRU` node an invalid REV node is created as REV only takes one vector operand, but both operands from the shuffle vector are copied to the new REV node. This is not an issue in practice as the extra operand is ignored. These issues were found by the verification added in #140472. Part of #140472. Note: Test changes only result in the vxf64 lowering matching the vxi64 lowering.
Diffstat (limited to 'clang/lib/CodeGen/CGExpr.cpp')
0 files changed, 0 insertions, 0 deletions