summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/ARM
diff options
context:
space:
mode:
authorRichard Barton <richard.barton@arm.com>2012-05-02 09:43:18 +0000
committerRichard Barton <richard.barton@arm.com>2012-05-02 09:43:18 +0000
commit0fc56890bafbc244f8b48b81f2cd9d50326637e9 (patch)
treef0225bf1093b87e9690a0508e67bca4ffd4f2bd4 /llvm/lib/Target/ARM
parentc73bc39c22d6e9401f7e2c82c6d51e891cf875dd (diff)
downloadbcm5719-llvm-0fc56890bafbc244f8b48b81f2cd9d50326637e9.tar.gz
bcm5719-llvm-0fc56890bafbc244f8b48b81f2cd9d50326637e9.zip
Disallow YIELD and other allocated nop hints in pre-ARMv6 architectures.
llvm-svn: 155983
Diffstat (limited to 'llvm/lib/Target/ARM')
-rw-r--r--llvm/lib/Target/ARM/ARMInstrThumb.td12
1 files changed, 8 insertions, 4 deletions
diff --git a/llvm/lib/Target/ARM/ARMInstrThumb.td b/llvm/lib/Target/ARM/ARMInstrThumb.td
index 15cb9fa5d2b..fe553c21502 100644
--- a/llvm/lib/Target/ARM/ARMInstrThumb.td
+++ b/llvm/lib/Target/ARM/ARMInstrThumb.td
@@ -258,16 +258,20 @@ def tNOP : T1pI<(outs), (ins), NoItinerary, "nop", "", []>,
Requires<[IsThumb2]>;
def tYIELD : T1pI<(outs), (ins), NoItinerary, "yield", "", []>,
- T1SystemEncoding<0x10>; // A8.6.410
+ T1SystemEncoding<0x10>, // A8.6.410
+ Requires<[IsThumb2]>;
def tWFE : T1pI<(outs), (ins), NoItinerary, "wfe", "", []>,
- T1SystemEncoding<0x20>; // A8.6.408
+ T1SystemEncoding<0x20>, // A8.6.408
+ Requires<[IsThumb2]>;
def tWFI : T1pI<(outs), (ins), NoItinerary, "wfi", "", []>,
- T1SystemEncoding<0x30>; // A8.6.409
+ T1SystemEncoding<0x30>, // A8.6.409
+ Requires<[IsThumb2]>;
def tSEV : T1pI<(outs), (ins), NoItinerary, "sev", "", []>,
- T1SystemEncoding<0x40>; // A8.6.157
+ T1SystemEncoding<0x40>, // A8.6.157
+ Requires<[IsThumb2]>;
// The imm operand $val can be used by a debugger to store more information
// about the breakpoint.
OpenPOWER on IntegriCloud