I'm confused as to why we're not just extending the checks here:
if (LHS.get()->getType()->isArithmeticType() &&
RHS.get()->getType()->isArithmeticType()) {
to allow arithmetic or _Atomic of arithmetic?
http://llvm-reviews.chandlerc.com/D599