[PATCH] D109963: [AArch64] Split bitmask immediate of bitwise AND operation
JinGu Kang via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Sep 28 06:54:19 PDT 2021
jaykang10 updated this revision to Diff 375557.
jaykang10 added a comment.
Fixed a bug.
The destination register class of `AND` register is different with `AND` immediate one. In order to align the register class, the `COPY` MI is added to convert register class as below.
%1:gpr32 = MOVi32imm 2098176
%2:gpr32common = ANDWrr %0:gpr32, killed %1:gpr32
==>
%5:gpr32sp = ANDWri %0:gpr32, 1419
%6:gpr32 = COPY %5:gpr32sp
%7:gpr32sp = ANDWri %6:gpr32, 725
%2:gpr32common = COPY %7:gpr32sp
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D109963/new/
https://reviews.llvm.org/D109963
Files:
llvm/lib/Target/AArch64/AArch64.h
llvm/lib/Target/AArch64/AArch64MIPeepholeOpt.cpp
llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
llvm/lib/Target/AArch64/CMakeLists.txt
llvm/lib/Target/AArch64/MCTargetDesc/AArch64AddressingModes.h
llvm/test/CodeGen/AArch64/O3-pipeline.ll
llvm/test/CodeGen/AArch64/aarch64-split-and-bitmask-immediate.ll
llvm/test/CodeGen/AArch64/unfold-masked-merge-scalar-constmask-innerouter.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D109963.375557.patch
Type: text/x-patch
Size: 20888 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210928/bdbfb820/attachment-0001.bin>
More information about the llvm-commits
mailing list