[SveEmitter] Add IsOverloadNone flag and builtins for svpfalse and svcnt[bhwd]_pat
authorSander de Smalen <sander.desmalen@arm.com>
Wed, 22 Apr 2020 14:00:01 +0000 (15:00 +0100)
committerSander de Smalen <sander.desmalen@arm.com>
Wed, 22 Apr 2020 15:42:08 +0000 (16:42 +0100)
commit662cbaf6476b7cc58d0d71ff98d95d00ce5b420e
tree41dc2dfbea0da7751746870d5a776910aacd7016
parent1b6b05a2501a8ad2cd35d275c03edb63dffb5cb7
[SveEmitter] Add IsOverloadNone flag and builtins for svpfalse and svcnt[bhwd]_pat

Add the IsOverloadNone flag to tell CGBuiltin that it does not have
an overloaded type. This is used for e.g. svpfalse which does
not take any arguments and always returns a svbool_t.

This patch also adds builtins for svcntb_pat, svcnth_pat, svcntw_pat
and svcntd_pat, as those don't require custom codegen.

Reviewers: SjoerdMeijer, efriedma, rovka

Reviewed By: efriedma

Tags: #clang

Differential Revision: https://reviews.llvm.org/D77596
clang/include/clang/Basic/TargetBuiltins.h
clang/include/clang/Basic/arm_sve.td
clang/lib/CodeGen/CGBuiltin.cpp
clang/lib/CodeGen/CodeGenFunction.h
clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cntb.c [new file with mode: 0644]
clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cntd.c [new file with mode: 0644]
clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cnth.c [new file with mode: 0644]
clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cntw.c [new file with mode: 0644]
clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_pfalse.c [new file with mode: 0644]
clang/utils/TableGen/SveEmitter.cpp