Recognize that ARM1176JZ[F]-S support TrustZone
Summary: ARMv6KZ cores were set up incorrectly in ARM.td; also, the SMI mnemonic (the old name for SMC, as defined in ARMv6KZ) wasn't supported. Reviewers: jmolloy, rengolin Subscribers: aemerson, rengolin, llvm-commits Differential Revision: http://reviews.llvm.org/D14154 llvm-svn: 251627
This commit is contained in:
parent
7d557910c6
commit
0ff1ce4038
|
@ -360,8 +360,10 @@ def : Processor<"sc000", ARMV6Itineraries, [HasV6MOps, FeatureNoARM,
|
|||
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,
|
||||
|
|
|
@ -2329,6 +2329,7 @@ def SMC : ABI<0b0001, (outs), (ins imm0_15:$opt), NoItinerary, "smc", "\t$opt",
|
|||
let Inst{23-4} = 0b01100000000000000111;
|
||||
let Inst{3-0} = opt;
|
||||
}
|
||||
def : MnemonicAlias<"smi", "smc">;
|
||||
|
||||
// Supervisor Call (Software Interrupt)
|
||||
let isCall = 1, Uses = [SP] in {
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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 @@ _func:
|
|||
@------------------------------------------------------------------------------
|
||||
@ SMC
|
||||
@------------------------------------------------------------------------------
|
||||
smc #0xf
|
||||
smi #0xf @ SMI is old (ARMv6KZ) name for SMC
|
||||
smceq #0
|
||||
|
||||
@ NOTZ-NOT: smc #15
|
||||
|
|
Loading…
Reference in New Issue