OSDN Git Service

[SveEmitter] Implement builtins for gathers/scatters
authorAndrzej Warzynski <andrzej.warzynski@arm.com>
Tue, 7 Apr 2020 10:09:01 +0000 (11:09 +0100)
committerAndrzej Warzynski <andrzej.warzynski@arm.com>
Wed, 22 Apr 2020 12:21:39 +0000 (13:21 +0100)
commit72f565899dd4bf1fcb183555ba9089b7452b3f8a
tree6890ca23fc29a6a41025ada5a6142a2a528ada73
parent67266d879c715cdcfb790acf0153da757dafd195
[SveEmitter] Implement builtins for gathers/scatters

This patch adds builtins for:
  * regular, first-faulting and non-temporal gather loads
  * regular and non-temporal scatter stores

Differential Revision: https://reviews.llvm.org/D77735
30 files changed:
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_ld1.c
clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1sb.c
clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1sh.c
clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1sw.c
clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1ub.c
clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1uh.c
clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1uw.c
clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldff1.c
clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldff1sb.c
clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldff1sh.c
clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldff1sw.c
clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldff1ub.c
clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldff1uh.c
clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldff1uw.c
clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_ldnt1.c [new file with mode: 0644]
clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_ldnt1sb.c [new file with mode: 0644]
clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_ldnt1sh.c [new file with mode: 0644]
clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_ldnt1sw.c [new file with mode: 0644]
clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_ldnt1ub.c [new file with mode: 0644]
clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_ldnt1uh.c [new file with mode: 0644]
clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_ldnt1uw.c [new file with mode: 0644]
clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_stnt1.c [new file with mode: 0644]
clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_stnt1b.c [new file with mode: 0644]
clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_stnt1h.c [new file with mode: 0644]
clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_stnt1w.c [new file with mode: 0644]
clang/utils/TableGen/SveEmitter.cpp