For now, enable the clrex instruction for armv6, until upstream implements this properly. Submitted by: rdivacky Introduced here: http://svnweb.freebsd.org/changeset/base/275362 Index: lib/Target/ARM/ARMInstrInfo.td =================================================================== --- lib/Target/ARM/ARMInstrInfo.td +++ lib/Target/ARM/ARMInstrInfo.td @@ -4640,7 +4640,7 @@ def STLEXD : AIstlex<0b01, (outs GPR:$Rd), def CLREX : AXI<(outs), (ins), MiscFrm, NoItinerary, "clrex", [(int_arm_clrex)]>, - Requires<[IsARM, HasV7]> { + Requires<[IsARM, HasV6]> { let Inst{31-0} = 0b11110101011111111111000000011111; }