When running clang with an arm triple such as '--target=thumbv7m-arm-none-eabi' that has a thumb only CPU by default (cortex-m3), and when using the assembler, the default thumb state of the CPU does not get passed via the triple to LLVM:
$ clang -target thumbv7m-arm-none-eabi -c -v test.s clang -cc1as ... -triple armv7m-arm-none-eabi ... test.s