Commit e3a69bb4 by Michael Meissner Committed by Michael Meissner

Fix PR 47755

From-SVN: r170189
parent de650422
2011-02-15 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/47755
* config/rs6000/predicates.md (easy_vector_constant): Allow V2DI
mode for vector constants. Remove code that checks for TImode.
2011-02-15 Alexandre Oliva <aoliva@redhat.com>
PR debug/47106
......
......@@ -328,13 +328,11 @@
if (TARGET_PAIRED_FLOAT)
return false;
if ((VSX_VECTOR_MODE (mode) || mode == TImode) && zero_constant (op, mode))
return true;
if (ALTIVEC_VECTOR_MODE (mode))
if (VECTOR_MEM_ALTIVEC_OR_VSX_P (mode))
{
if (zero_constant (op, mode))
return true;
return easy_altivec_constant (op, mode);
}
......
2011-02-15 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/47755
* gcc.target/powerpc/pr47755.c: New file, test all 0 vector
constant does not generate a load from memory.
2011-02-15 H.J. Lu <hongjiu.lu@intel.com>
PR middle-end/47725
......
/* { dg-do compile { target { powerpc*-*-* } } } */
/* { dg-skip-if "" { powerpc*-*-darwin* } { "*" } { "" } } */
/* { dg-require-effective-target powerpc_vsx_ok } */
/* { dg-options "-O3 -mcpu=power7" } */
/* { dg-final { scan-assembler "xxlxor" } } */
/* { dg-final { scan-assembler-not "lxvd2x" } } */
/* { dg-final { scan-assembler-not "lxvw4x" } } */
/* { dg-final { scan-assembler-not "lvx" } } */
/* PR 47755: Compiler loads vector constant of 0 from TOC instead of using
xxlxor. */
void
func (vector long long *p)
{
*p = (vector long long) { 0LL, 0LL };
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment