summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target
diff options
context:
space:
mode:
authorQuentin Colombet <qcolombet@apple.com>2016-10-11 00:21:11 +0000
committerQuentin Colombet <qcolombet@apple.com>2016-10-11 00:21:11 +0000
commit0e5312787e81c837d1e2a2347145ea0b27c22bf8 (patch)
tree142cd35e585b48cd86cd75030ed649fd7c7787fa /llvm/lib/Target
parentf75dcbef200540dab900e34396a542619d762f0a (diff)
downloadbcm5719-llvm-0e5312787e81c837d1e2a2347145ea0b27c22bf8.tar.gz
bcm5719-llvm-0e5312787e81c837d1e2a2347145ea0b27c22bf8.zip
[AArch64][InstructionSelector] Teach the selector how to handle vector OR.
This only adds the support for 64-bit vector OR. Adding more sizes is not difficult, but it requires a bigger refactoring because ORs work on any size, not necessarly the ones that match the width of the register width. Right now, this is not expressed in the legalization, so don't bother pushing the refactoring yet. llvm-svn: 283831
Diffstat (limited to 'llvm/lib/Target')
-rw-r--r--llvm/lib/Target/AArch64/AArch64InstructionSelector.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/llvm/lib/Target/AArch64/AArch64InstructionSelector.cpp b/llvm/lib/Target/AArch64/AArch64InstructionSelector.cpp
index b534f248e40..c8a00199e27 100644
--- a/llvm/lib/Target/AArch64/AArch64InstructionSelector.cpp
+++ b/llvm/lib/Target/AArch64/AArch64InstructionSelector.cpp
@@ -175,6 +175,8 @@ static unsigned selectBinaryOp(unsigned GenericOpc, unsigned RegBankID,
return AArch64::FMULDrr;
case TargetOpcode::G_FDIV:
return AArch64::FDIVDrr;
+ case TargetOpcode::G_OR:
+ return AArch64::ORRv8i8;
default:
return GenericOpc;
}
OpenPOWER on IntegriCloud