[all-commits] [llvm/llvm-project] 89fc01: [CodeGen][SVE] Legalisation of extends with scalab...
kmclaughlin-arm via All-commits
all-commits at lists.llvm.org
Fri Jun 5 04:23:50 PDT 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: 89fc0166f53252956705935bfebbb70f06c47c8e
https://github.com/llvm/llvm-project/commit/89fc0166f53252956705935bfebbb70f06c47c8e
Author: Kerry McLaughlin <kerry.mclaughlin at arm.com>
Date: 2020-06-05 (Fri, 05 Jun 2020)
Changed paths:
M llvm/include/llvm/CodeGen/ValueTypes.h
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
M llvm/lib/CodeGen/ValueTypes.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/test/CodeGen/AArch64/sve-sext-zext.ll
Log Message:
-----------
[CodeGen][SVE] Legalisation of extends with scalable types
Summary:
This patch adds legalisation of extensions where the operand
of the extend is a legal scalable type but the result is not.
EXTRACT_SUBVECTOR is used to split the result, before
being replaced by target-specific [S|U]UNPK[HI|LO] operations.
For example:
```
zext <vscale x 16 x i8> %a to <vscale x 16 x i16>
```
should emit:
```
uunpklo z2.h, z0.b
uunpkhi z1.h, z0.b
```
Reviewers: sdesmalen, efriedma, david-arm
Reviewed By: efriedma
Subscribers: tschuett, hiraditya, rkruppe, psnobl, huihuiz, cfe-commits, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D79587
More information about the All-commits
mailing list