Both AArch64 and ARM support llvm.<arch>.thread.pointer intrinsics that
just return the thread pointer. I have a pending patch that does the same
for SystemZ (D19054), and there are many more targets that could benefit
from one.
This patch merges the ARM and AArch64 intrinsics into a single target
independent one that will also be used by subsequent targets.
This breaks a clang test (that checks for llvm.aarch64.thread.pointer),
which will be fixed in another change. clang itself requires no modification,
thanks to GCCBuiltin.
I think you can remove the codegen tests with the old intrinsics now.