diff options
author | Richard Sandiford <rsandifo@linux.vnet.ibm.com> | 2013-10-01 10:31:04 +0000 |
---|---|---|
committer | Richard Sandiford <rsandifo@linux.vnet.ibm.com> | 2013-10-01 10:31:04 +0000 |
commit | 7d0b89bedd5c8a53c71498663046b7e14bb96d6d (patch) | |
tree | 0d10a6e95402d5dfac1db20f629533f264f10c36 /lib | |
parent | 7f768e03684514ea9ebabed93694521f9ffab28f (diff) | |
download | external_llvm-7d0b89bedd5c8a53c71498663046b7e14bb96d6d.zip external_llvm-7d0b89bedd5c8a53c71498663046b7e14bb96d6d.tar.gz external_llvm-7d0b89bedd5c8a53c71498663046b7e14bb96d6d.tar.bz2 |
[SystemZ] Reapply: Add definitions of LFH and STFH
Originally committed as r191661, but reverted because it changed the matching
order of comparisons on some hosts. That should have been fixed by r191735.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191738 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
-rw-r--r-- | lib/Target/SystemZ/SystemZInstrInfo.td | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/Target/SystemZ/SystemZInstrInfo.td b/lib/Target/SystemZ/SystemZInstrInfo.td index 4cd0875..b93e863 100644 --- a/lib/Target/SystemZ/SystemZInstrInfo.td +++ b/lib/Target/SystemZ/SystemZInstrInfo.td @@ -294,6 +294,8 @@ let neverHasSideEffects = 1, isAsCheapAsAMove = 1, isMoveImm = 1, // Register loads. let canFoldAsLoad = 1, SimpleBDXLoad = 1 in { defm L : UnaryRXPair<"l", 0x58, 0xE358, load, GR32, 4>; + def LFH : UnaryRXY<"lfh", 0xE3CA, load, GRH32, 4>, + Requires<[FeatureHighWord]>; def LG : UnaryRXY<"lg", 0xE304, load, GR64, 8>; // These instructions are split after register allocation, so we don't @@ -326,6 +328,8 @@ let Uses = [CC] in { // Register stores. let SimpleBDXStore = 1 in { defm ST : StoreRXPair<"st", 0x50, 0xE350, store, GR32, 4>; + def STFH : StoreRXY<"stfh", 0xE3CB, store, GRH32, 4>, + Requires<[FeatureHighWord]>; def STG : StoreRXY<"stg", 0xE324, store, GR64, 8>; // These instructions are split after register allocation, so we don't |