This auto upgrades the signed SSE saturated math intrinsics to SADD_SAT/SSUB_SAT generic intrinsics.
There are a few items to note:
msan_x86intrinsics.ll - I changed this to another similar x86 intrinsic instead of replacing it with the generic @llvm.sadd.sat.v8i16
x86-adds-subs.ll - Not sure what's best here, the diff is that the generic intrinsics don't constant fold undefs - do we want to add support for that? Should I move this out of the x86 folder and use generic intrinsics?
pic-load-remat.ll - This was using the old sse2 intrinsics, and now use the generics. I don't think it matters but I can change it to another x86 intrinsic if that helps. The test is very old, I'm not sure if its very useful tbh.
Clang counterpart: https://reviews.llvm.org/D55890
Looks like its only looking for a load on psllw so it probably doesn't matter what else is going on. I'm fine with the generic intrinsics.