Currently clang provides no general way to generate nontemporal loads/stores.
There are some architecture specific builtins for doing so (e.g. in x86), but
there is no way to generate non-temporal store on, e.g. AArch64. This patch adds
generic builtins which are expanded to a simple store with '!nontemporal'
attribute in IR.
Previously I tried to tackle the same issue by introducing
attribute((nontemporal)) (see D12221), but was convinced that builtins might
fit for such use better.
Does the patch look good?
Thanks,
Michael
Do we need these typed versions?