OSDN Git Service

[x86][aarch64] ask the backend whether it has a vector blend instruction
authorSebastian Pop <sebpop@gmail.com>
Fri, 9 Mar 2018 14:29:21 +0000 (14:29 +0000)
committerSebastian Pop <sebpop@gmail.com>
Fri, 9 Mar 2018 14:29:21 +0000 (14:29 +0000)
commitf5ac31606c201f8c89e95feb44ba20456cec98c3
tree0b5273f49a58f0c41ba1503e605bcb8efdb14188
parent7ebbb195b1bbe615e19622b6f7bcaf733fe51aa1
[x86][aarch64] ask the backend whether it has a vector blend instruction

The code to match and produce more x86 vector blends was enabled for all
architectures even though the transform may pessimize the code for other
architectures that do not provide a vector blend instruction.

Added an aarch64 testcase to check that a VZIP instruction is generated instead
of byte movs.

Differential Revision: https://reviews.llvm.org/D44118

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@327132 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/CodeGen/TargetLowering.h
lib/CodeGen/SelectionDAG/SelectionDAG.cpp
lib/Target/X86/X86ISelLowering.h
test/CodeGen/AArch64/aarch64-vuzp.ll
test/CodeGen/AArch64/arm64-collect-loh.ll