This patch fixes an issue with the SVE prefetch and qinc/qdec intrinsics
that take an `enum` argument, but where the builtin prototype encodes
these as `int`. Some code in SemaDecl finds the mismatch, and chooses
to forget about the builtin altogether, which means that any future
code using that builtin will fail.
This patch fixes the issue by marking the builtin as 'T', which allows
for a type-mismatch, and then only discarding the builtin when
`allowTypeMismatch()` returns false.
This patch also fixes another issue with the SVE prefetch intrinsic
when built with C++, where the builtin didn't accept the correct
pointer type, which should be `const void *`.