aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Target/SystemZ/SystemZInstrFP.td
diff options
context:
space:
mode:
authorRichard Sandiford <rsandifo@linux.vnet.ibm.com>2013-06-27 09:27:40 +0000
committerRichard Sandiford <rsandifo@linux.vnet.ibm.com>2013-06-27 09:27:40 +0000
commit722e9e6d0a5b67d136be40bc015abc5b0b32f97b (patch)
treef9ae085555e83a9388d7f2970bd64d34a3eb3fc5 /lib/Target/SystemZ/SystemZInstrFP.td
parentd51a790bec0d0f88621b8771af4ecf9dbf63cd59 (diff)
downloadexternal_llvm-722e9e6d0a5b67d136be40bc015abc5b0b32f97b.zip
external_llvm-722e9e6d0a5b67d136be40bc015abc5b0b32f97b.tar.gz
external_llvm-722e9e6d0a5b67d136be40bc015abc5b0b32f97b.tar.bz2
[SystemZ] Add conditional store patterns
Add pseudo conditional store instructions, so that we use: branch foo: store foo: instead of: load branch foo: move foo: store z196 has real 32-bit and 64-bit conditional stores, but we don't use any z196 instructions yet. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185065 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/SystemZ/SystemZInstrFP.td')
-rw-r--r--lib/Target/SystemZ/SystemZInstrFP.td7
1 files changed, 6 insertions, 1 deletions
diff --git a/lib/Target/SystemZ/SystemZInstrFP.td b/lib/Target/SystemZ/SystemZInstrFP.td
index 86ef14c..7499d2f 100644
--- a/lib/Target/SystemZ/SystemZInstrFP.td
+++ b/lib/Target/SystemZ/SystemZInstrFP.td
@@ -8,7 +8,7 @@
//===----------------------------------------------------------------------===//
//===----------------------------------------------------------------------===//
-// Control-flow instructions
+// Select instructions
//===----------------------------------------------------------------------===//
// C's ?: operator for floating-point operands.
@@ -16,6 +16,11 @@ def SelectF32 : SelectWrapper<FP32>;
def SelectF64 : SelectWrapper<FP64>;
def SelectF128 : SelectWrapper<FP128>;
+defm CondStoreF32 : CondStores<FP32, nonvolatile_store,
+ nonvolatile_load, bdxaddr20only>;
+defm CondStoreF64 : CondStores<FP64, nonvolatile_store,
+ nonvolatile_load, bdxaddr20only>;
+
//===----------------------------------------------------------------------===//
// Move instructions
//===----------------------------------------------------------------------===//