This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[patch, ia64, committed] Patch to fix gcc.dg/vect/vect-outer-5.c on IA64 HP-UX


This patch fixes gcc.dg/vect/vect-outer-5.c on IA64 HP-UX.  Initializing
a vector with {0, 1} from f0 and f1 needs to take into account big
endian vs. little endian.

Tested on IA64 HP-UX and Linux with no regressions and checked in.

Steve Ellcey
sje@cup.hp.com


2009-06-03  Steve Ellcey  <sje@cup.hp.com>

	* config/ia64/vect.md (*movv2sf_internal): Handle big endian case.


Index: config/ia64/vect.md
===================================================================
--- config/ia64/vect.md	(revision 148110)
+++ config/ia64/vect.md	(working copy)
@@ -873,8 +873,8 @@ (define_insn "*movv2sf_internal"
 
   if (which_alternative == 1)
     {
-      operands[2] = XVECEXP (operands[1], 0, 1);
-      operands[1] = XVECEXP (operands[1], 0, 0);
+      operands[2] = XVECEXP (operands[1], 0, TARGET_BIG_ENDIAN ? 0 : 1);
+      operands[1] = XVECEXP (operands[1], 0, TARGET_BIG_ENDIAN ? 1 : 0);
     }
 
   return alt[which_alternative];


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]