mirror of git://gcc.gnu.org/git/gcc.git
Don't return identity for CONST or symbolic reference
gcc/ PR rtl-optimization/54157 * combine.c (gen_lowpart_for_combine): Don't return identity for CONST or symbolic reference. gcc/testsuite/ PR rtl-optimization/54157 * gcc.target/i386/pr54157.c: New file. From-SVN: r190228
This commit is contained in:
parent
d05e383bc7
commit
3b1e1a029a
|
|
@ -1,3 +1,10 @@
|
||||||
|
2012-08-08 Richard Sandiford <rdsandiford@googlemail.com>
|
||||||
|
H.J. Lu <hongjiu.lu@intel.com>
|
||||||
|
|
||||||
|
PR rtl-optimization/54157
|
||||||
|
* combine.c (gen_lowpart_for_combine): Don't return identity
|
||||||
|
for CONST or symbolic reference.
|
||||||
|
|
||||||
2012-08-08 Michael Zolotukhin <michael.v.zolotukhin@intel.com>
|
2012-08-08 Michael Zolotukhin <michael.v.zolotukhin@intel.com>
|
||||||
|
|
||||||
* common/config/i386/i386-common.c (OPTION_MASK_ISA_ADX_SET): New.
|
* common/config/i386/i386-common.c (OPTION_MASK_ISA_ADX_SET): New.
|
||||||
|
|
|
||||||
|
|
@ -10634,13 +10634,6 @@ gen_lowpart_for_combine (enum machine_mode omode, rtx x)
|
||||||
if (omode == imode)
|
if (omode == imode)
|
||||||
return x;
|
return x;
|
||||||
|
|
||||||
/* Return identity if this is a CONST or symbolic reference. */
|
|
||||||
if (omode == Pmode
|
|
||||||
&& (GET_CODE (x) == CONST
|
|
||||||
|| GET_CODE (x) == SYMBOL_REF
|
|
||||||
|| GET_CODE (x) == LABEL_REF))
|
|
||||||
return x;
|
|
||||||
|
|
||||||
/* We can only support MODE being wider than a word if X is a
|
/* We can only support MODE being wider than a word if X is a
|
||||||
constant integer or has a mode the same size. */
|
constant integer or has a mode the same size. */
|
||||||
if (GET_MODE_SIZE (omode) > UNITS_PER_WORD
|
if (GET_MODE_SIZE (omode) > UNITS_PER_WORD
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,8 @@
|
||||||
|
2012-08-08 H.J. Lu <hongjiu.lu@intel.com>
|
||||||
|
|
||||||
|
PR rtl-optimization/54157
|
||||||
|
* gcc.target/i386/pr54157.c: New file.
|
||||||
|
|
||||||
2012-08-08 Michael Zolotukhin <michael.v.zolotukhin@intel.com>
|
2012-08-08 Michael Zolotukhin <michael.v.zolotukhin@intel.com>
|
||||||
|
|
||||||
* gcc.target/i386/adx-addcarryx32-1.c: New.
|
* gcc.target/i386/adx-addcarryx32-1.c: New.
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,21 @@
|
||||||
|
/* { dg-do compile { target { ! { ia32 } } } } */
|
||||||
|
/* { dg-options "-O2 -mx32 -maddress-mode=long -ftree-vectorize" } */
|
||||||
|
|
||||||
|
struct s2{
|
||||||
|
int n[24 -1][24 -1][24 -1];
|
||||||
|
};
|
||||||
|
|
||||||
|
struct test2{
|
||||||
|
struct s2 e;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct test2 tmp2[4];
|
||||||
|
|
||||||
|
void main1 ()
|
||||||
|
{
|
||||||
|
int i,j;
|
||||||
|
|
||||||
|
for (i = 0; i < 24 -4; i++)
|
||||||
|
for (j = 0; j < 24 -4; j++)
|
||||||
|
tmp2[2].e.n[1][i][j] = 8;
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue