aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorAndreas Krebbel <krebbel1@de.ibm.com>2009-01-28 16:41:24 +0000
committerAndreas Krebbel <krebbel@gcc.gnu.org>2009-01-28 16:41:24 +0000
commit07da44aba4702478a25e8483fd8455360aba760c (patch)
tree1118eb52ec6358715de30098bcb02062d0a88a6f /gcc
parentcdc15d231a38eccde9a61ef582ae1ddeed6842bb (diff)
downloadgcc-07da44aba4702478a25e8483fd8455360aba760c.zip
gcc-07da44aba4702478a25e8483fd8455360aba760c.tar.gz
gcc-07da44aba4702478a25e8483fd8455360aba760c.tar.bz2
s390.md (bswap<mode>2): New pattern added.
2009-01-28 Andreas Krebbel <krebbel1@de.ibm.com> * config/s390/s390.md (bswap<mode>2): New pattern added. From-SVN: r143737
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/config/s390/s390.md16
2 files changed, 20 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 13debb9..de59cdf 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,7 @@
+2009-01-28 Andreas Krebbel <krebbel1@de.ibm.com>
+
+ * config/s390/s390.md (bswap<mode>2): New pattern added.
+
2009-01-28 Wolfgang Gellerich <gellerich@de.ibm.com>
* config/s390/s390.md (*tls_load_31): Added type attribute.
diff --git a/gcc/config/s390/s390.md b/gcc/config/s390/s390.md
index 6d5bea2..9c21977 100644
--- a/gcc/config/s390/s390.md
+++ b/gcc/config/s390/s390.md
@@ -8741,3 +8741,19 @@
[(set_attr "type" "load,larl")
(set_attr "op_type" "RXY,RIL")
(set_attr "z10prop" "z10_super")])
+
+
+;
+; Byte swap instructions
+;
+
+(define_insn "bswap<mode>2"
+ [(set (match_operand:GPR 0 "register_operand" "=d, d")
+ (bswap:GPR (match_operand:GPR 1 "nonimmediate_operand" " d,RT")))]
+ ""
+ "@
+ lrv<g>r\t%0,%1
+ lrv<g>\t%0,%1"
+ [(set_attr "type" "*,load")
+ (set_attr "op_type" "RRE,RXY")
+ (set_attr "z10prop" "z10_super")])