Index: lib/Target/ARM/ARM.td =================================================================== --- lib/Target/ARM/ARM.td +++ lib/Target/ARM/ARM.td @@ -360,8 +360,10 @@ FeatureDB, FeatureMClass]>; // V6K Processors. -def : Processor<"arm1176jz-s", ARMV6Itineraries, [HasV6KOps]>; +def : Processor<"arm1176jz-s", ARMV6Itineraries, [HasV6KOps, + FeatureTrustZone]>; def : Processor<"arm1176jzf-s", ARMV6Itineraries, [HasV6KOps, FeatureVFP2, + FeatureTrustZone, FeatureHasSlowFPVMLx]>; def : Processor<"mpcorenovfp", ARMV6Itineraries, [HasV6KOps]>; def : Processor<"mpcore", ARMV6Itineraries, [HasV6KOps, FeatureVFP2, Index: lib/Target/ARM/ARMInstrInfo.td =================================================================== --- lib/Target/ARM/ARMInstrInfo.td +++ lib/Target/ARM/ARMInstrInfo.td @@ -2329,6 +2329,7 @@ let Inst{23-4} = 0b01100000000000000111; let Inst{3-0} = opt; } +def : MnemonicAlias<"smi", "smc">; // Supervisor Call (Software Interrupt) let isCall = 1, Uses = [SP] in { Index: test/MC/ARM/arm-thumb-trustzone.s =================================================================== --- test/MC/ARM/arm-thumb-trustzone.s +++ test/MC/ARM/arm-thumb-trustzone.s @@ -1,5 +1,6 @@ @ RUN: not llvm-mc -triple=thumbv7-apple-darwin -mcpu=cortex-a8 -show-encoding -mattr=-trustzone < %s | FileCheck %s -check-prefix=NOTZ @ RUN: llvm-mc -triple=thumbv7-apple-darwin -mcpu=cortex-a8 -show-encoding -mattr=trustzone < %s | FileCheck %s -check-prefix=TZ +@ RUN: not llvm-mc -triple=thumbv6kz -mcpu=arm1176jzf-s -show-encoding < %s | FileCheck %s -check-prefix=NOTZ .syntax unified .globl _func Index: test/MC/ARM/arm-trustzone.s =================================================================== --- test/MC/ARM/arm-trustzone.s +++ test/MC/ARM/arm-trustzone.s @@ -1,5 +1,6 @@ @ RUN: not llvm-mc -triple=armv7-apple-darwin -mcpu=cortex-a8 -show-encoding -mattr=-trustzone < %s | FileCheck %s -check-prefix=NOTZ @ RUN: llvm-mc -triple=armv7-apple-darwin -mcpu=cortex-a8 -show-encoding -mattr=trustzone < %s | FileCheck %s -check-prefix=TZ +@ RUN: llvm-mc -triple=armv6kz -mcpu=arm1176jz-s -show-encoding < %s | FileCheck %s -check-prefix=TZ .syntax unified .globl _func @@ -14,7 +15,7 @@ @------------------------------------------------------------------------------ @ SMC @------------------------------------------------------------------------------ - smc #0xf + smi #0xf @ SMI is old (ARMv6KZ) name for SMC smceq #0 @ NOTZ-NOT: smc #15