ia64.md (bswapdi2): New define_insn.

* config/ia64/ia64.md (bswapdi2): New define_insn.

	* gcc.target/ia64/builtin_bswap-1.c: New test case.

From-SVN: r121776
This commit is contained in:
Roger Sayle 2007-02-09 21:33:36 +00:00 committed by Roger Sayle
parent 3db2c08782
commit ff848f0e0f
4 changed files with 25 additions and 1 deletions

View File

@ -1,3 +1,7 @@
2007-02-09 Roger Sayle <roger@eyesopen.com>
* config/ia64/ia64.md (bswapdi2): New define_insn.
2007-02-09 Richard Henderson <rth@redhat.com>
* config/i386/constraints.md (Ym): New constraint.

View File

@ -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")]

View File

@ -1,3 +1,7 @@
2007-02-09 Roger Sayle <roger@eyesopen.com>
* gcc.target/ia64/builtin_bswap-1.c: New test case.
2007-02-09 Francois-Xavier Coudert <coudert@clipper.ens.fr>
PR fortran/30720

View File

@ -0,0 +1,9 @@
/* { dg-do compile } */
/* { dg-options "-O2" } */
/* { dg-final { scan-assembler "mux1" } } */
long foo (long x)
{
return __builtin_bswap64 (x);
}