Patches 1 and 2 fix a bug (that has been present in 3.7 and 3.8)
where it can use the wrong instruction in some cases (libav
with inline assembly disabled), causing rounding errors in
integer audio dct's there.
Patch 3 allows building inline assembly with clang/llvm in MSVC mode.
Patches 1-2 are just rebased from the earlier version for clang
3.8, no changes in surrounding code there.
Patch 3 is necessary to fix a regression in assembling standalone
assembly files in 3.9.
Patch 4 makes clang work in MSVC mode with the MSVC SDK for ARM
(to simplify testing of the toolchain in that mode).