summaryrefslogtreecommitdiff
path: root/gcc/config/ia64
diff options
context:
space:
mode:
authorsayle <sayle@138bc75d-0d04-0410-961f-82ee72b054a4>2007-02-09 21:33:36 +0000
committersayle <sayle@138bc75d-0d04-0410-961f-82ee72b054a4>2007-02-09 21:33:36 +0000
commitb42677561fa288b2cbd6ad4568f9f4f18a239ae4 (patch)
tree419b722ac9e4be0ec1a506dc59b3a2f20e756248 /gcc/config/ia64
parent558ec1b82f94e834a6f48b05200d9069c3b6cbcd (diff)
downloadgcc-b42677561fa288b2cbd6ad4568f9f4f18a239ae4.tar.gz
* config/ia64/ia64.md (bswapdi2): New define_insn.
* gcc.target/ia64/builtin_bswap-1.c: New test case. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@121776 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/ia64')
-rw-r--r--gcc/config/ia64/ia64.md9
1 files changed, 8 insertions, 1 deletions
diff --git a/gcc/config/ia64/ia64.md b/gcc/config/ia64/ia64.md
index e573c55653c..d60900717c4 100644
--- a/gcc/config/ia64/ia64.md
+++ b/gcc/config/ia64/ia64.md
@@ -1,5 +1,5 @@
;; IA-64 Machine description template
-;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005
+;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
;; Free Software Foundation, Inc.
;; Contributed by James E. Wilson <wilson@cygnus.com> and
;; David Mosberger <davidm@hpl.hp.com>.
@@ -2490,6 +2490,13 @@
"popcnt %0 = %1"
[(set_attr "itanium_class" "mmmul")])
+(define_insn "bswapdi2"
+ [(set (match_operand:DI 0 "gr_register_operand" "=r")
+ (bswap:DI (match_operand:DI 1 "gr_register_operand" "r")))]
+ ""
+ "mux1 %0 = %1, @rev"
+ [(set_attr "itanium_class" "mmshf")])
+
(define_insn "*getf_exp_xf"
[(set (match_operand:DI 0 "gr_register_operand" "=r")
(unspec:DI [(match_operand:XF 1 "fr_register_operand" "f")]