This patch adds builtins for:
- regular, first-faulting and non-temporal gather loads
- regular and non-temporal scatter stores
Depends on D76680
| Paths 
 |  Differential  D77735  
[SveEmitter] Implement builtins for gathers/scatters ClosedPublic Authored by andwar on Apr 8 2020, 8:16 AM. 
Details Summary This patch adds builtins for: 
 Depends on D76680 
Diff Detail 
 Event TimelineComment Actions This is a big patch, but looks reasonable to me. 
 This revision is now accepted and ready to land.Apr 20 2020, 6:15 AM 
 andwar marked 5 inline comments as done.Comment Actions Thank you both for reviewing! 
 
 Comment Actions The buildbot failures are unrelated to this patch, and locally make check-all worked fine. I'll submit this patch as is. Closed by commit rG72f565899dd4: [SveEmitter] Implement builtins for gathers/scatters (authored by awarzynski).  ·  Explain WhyApr 22 2020, 5:55 AM This revision was automatically updated to reflect the committed changes. 
Revision Contents 
 
Diff 259256 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
 
 clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_ldnt1sb.c
 
 clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_ldnt1sh.c
 
 clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_ldnt1sw.c
 
 clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_ldnt1ub.c
 
 clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_ldnt1uh.c
 
 clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_ldnt1uw.c
 
 clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_stnt1.c
 
 clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_stnt1b.c
 
 clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_stnt1h.c
 
 clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_stnt1w.c
 
 clang/utils/TableGen/SveEmitter.cpp
 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
nit: to be consistent, do this in the default clause?