See http://llvm.org/PR18364 for the initial report and discussion.
The fix is to add a HasV6T2 check to the ARMadde GPR:$src, imm0_65535_neg pattern, and add a testcase.
The only additional problem is that test/CodeGen/ARM/carry.ll fails after this change, because that test does not seem to emit a movw anymore. This may well have to do with the default ARM CPU chosen on a certain host system. The solution is probably to add a more explicit architecture in the llc command for this test. Suggestions welcome.
a bit pedantic, but can you add armv6t2? just to clear the boundaries