[SveEmitter] Explicitly merge with zero/undef
authorSander de Smalen <sander.desmalen@arm.com>
Mon, 20 Apr 2020 14:13:34 +0000 (15:13 +0100)
committerSander de Smalen <sander.desmalen@arm.com>
Mon, 20 Apr 2020 15:26:20 +0000 (16:26 +0100)
commit9986b3de26d31be26d978194333c44e82873f3ff
tree0eb006d0ebd9764db21ccfb79968a70448eb82c3
parent6c881bf1fec2288907cd87a7895c863243bba7c5
[SveEmitter] Explicitly merge with zero/undef

Builtins that have the merge type MergeAnyExp or MergeZeroExp,
merge into a 'undef' or 'zero' vector respectively, which enables the
_x and _z behaviour for unary operations.

This patch also adds builtins for svabs and svneg.

Reviewers: SjoerdMeijer, efriedma, rovka

Reviewed By: efriedma

Tags: #clang

Differential Revision: https://reviews.llvm.org/D77591
clang/include/clang/Basic/arm_sve.td
clang/lib/CodeGen/CGBuiltin.cpp
clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_abs.c [new file with mode: 0644]
clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_neg.c [new file with mode: 0644]