This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[patch, ia64, committed] Patch to fix gcc.dg/vect/vect-outer-5.c on IA64 HP-UX
- From: Steve Ellcey <sje at cup dot hp dot com>
- To: gcc-patches at gcc dot gnu dot org
- Date: Wed, 3 Jun 2009 12:36:26 -0700 (PDT)
- Subject: [patch, ia64, committed] Patch to fix gcc.dg/vect/vect-outer-5.c on IA64 HP-UX
- Reply-to: sje at cup dot hp dot com
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];