[all-commits] [llvm/llvm-project] 3495b8: [AArch64][GlobalISel] Add G_EXT and select ext usi...
Jessica Paquette via All-commits
all-commits at lists.llvm.org
Mon Jun 15 12:21:24 PDT 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: 3495b884deb537fe8f66ec8711ad9b9dacbba366
https://github.com/llvm/llvm-project/commit/3495b884deb537fe8f66ec8711ad9b9dacbba366
Author: Jessica Paquette <jpaquette at apple.com>
Date: 2020-06-15 (Mon, 15 Jun 2020)
Changed paths:
M llvm/lib/Target/AArch64/AArch64Combine.td
M llvm/lib/Target/AArch64/AArch64InstrGISel.td
M llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerCombiner.cpp
A llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-combiner-ext.mir
M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-combiner-shuffle-splat.mir
M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-combiner-zip.mir
A llvm/test/CodeGen/AArch64/GlobalISel/select-ext.mir
Log Message:
-----------
[AArch64][GlobalISel] Add G_EXT and select ext using it
Add selection support for ext via a new opcode, G_EXT and a post-legalizer
combine which matches it.
Add an `applyEXT` function, because the AArch64ext patterns require a register
for the immediate. So, we have to create a G_CONSTANT to get these without
writing new patterns or modifying the existing ones.
Tests are the same as arm64-ext.ll.
Also prevent ext from firing on the zip test. It has higher priority, so we
don't want it potentially getting in the way of mask tests.
Also fix up the shuffle-splat test, because ext is now selected there. The
test was incorrectly regbank selected before, which could cause a verifier
failure when you emit copies.
Differential Revision: https://reviews.llvm.org/D81436
More information about the All-commits
mailing list