summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/SystemZ/SystemZProcessors.td
diff options
context:
space:
mode:
authorRichard Sandiford <rsandifo@linux.vnet.ibm.com>2013-07-25 08:57:02 +0000
committerRichard Sandiford <rsandifo@linux.vnet.ibm.com>2013-07-25 08:57:02 +0000
commita68e6f5660b725dc695c0b4dfbb0a4f2de332284 (patch)
tree7e1903f70dccef86d6753e2027780c59a3dff0d9 /llvm/lib/Target/SystemZ/SystemZProcessors.td
parent401b6959ae704dadd599996c9d21190bfbf89ad6 (diff)
downloadbcm5719-llvm-a68e6f5660b725dc695c0b4dfbb0a4f2de332284.tar.gz
bcm5719-llvm-a68e6f5660b725dc695c0b4dfbb0a4f2de332284.zip
[SystemZ] Add STOC and STOCG
These instructions are allowed to trap even if the condition is false, so for now they are only used for "*ptr = (cond ? x : *ptr)"-style constructs. llvm-svn: 187111
Diffstat (limited to 'llvm/lib/Target/SystemZ/SystemZProcessors.td')
-rw-r--r--llvm/lib/Target/SystemZ/SystemZProcessors.td11
1 files changed, 9 insertions, 2 deletions
diff --git a/llvm/lib/Target/SystemZ/SystemZProcessors.td b/llvm/lib/Target/SystemZ/SystemZProcessors.td
index 5668ae38192..96fa6a42d04 100644
--- a/llvm/lib/Target/SystemZ/SystemZProcessors.td
+++ b/llvm/lib/Target/SystemZ/SystemZProcessors.td
@@ -21,6 +21,13 @@ def FeatureDistinctOps : SystemZFeature<
"Assume that the distinct-operands facility is installed"
>;
+def FeatureLoadStoreOnCond : SystemZFeature<
+ "load-store-on-cond", "LoadStoreOnCond",
+ "Assume that the load/store-on-condition facility is installed"
+>;
+
def : Processor<"z10", NoItineraries, []>;
-def : Processor<"z196", NoItineraries, [FeatureDistinctOps]>;
-def : Processor<"zEC12", NoItineraries, [FeatureDistinctOps]>;
+def : Processor<"z196", NoItineraries,
+ [FeatureDistinctOps, FeatureLoadStoreOnCond]>;
+def : Processor<"zEC12", NoItineraries,
+ [FeatureDistinctOps, FeatureLoadStoreOnCond]>;
OpenPOWER on IntegriCloud