On Mon, Jun 20, 2016 at 9:18 AM, Christophe Lyon
<christophe.l...@linaro.org> wrote:
> On 18 June 2016 at 10:59, Andreas Schwab <sch...@linux-m68k.org> wrote:
>> Bin Cheng <bin.ch...@arm.com> writes:
>>
>>> diff --git a/gcc/testsuite/gcc.dg/tree-ssa/pr71347.c 
>>> b/gcc/testsuite/gcc.dg/tree-ssa/pr71347.c
>>> new file mode 100644
>>> index 0000000..7e5ad49
>>> --- /dev/null
>>> +++ b/gcc/testsuite/gcc.dg/tree-ssa/pr71347.c
>>> @@ -0,0 +1,17 @@
>>> +/* { dg-do compile } */
>>> +/* { dg-options "-O2 -fdump-tree-optimized" } */
>>> +
>>> +double in;
>>> +extern void Write (double);
>>> +void foo (void)
>>> +{
>>> +  static double X[9];
>>> +  int i;
>>> +        X[1] = in * in;
>>> +        for (i = 2; i <= 8; i++)
>>> +            X[i] = X[i - 1] * X[1];
>>> +        Write (X[5]);
>>> +}
>>> +
>>> +/* Load of X[i - i] can be omitted by reusing X[i] in previous iteration.  
>>> */
>>> +/* { dg-final { scan-tree-dump-not ".* = MEM.*;" "optimized"} } */
>>
>> The test fails on ia64, this is what I get in .optimized:
>>
>
> The test passes on aarch64, but fails on arm targets. Maybe that's
> easier for Bin to reproduce?
Hi all,
Sorry for the inconvenience, I will have a look at the two targets.

Thanks,
bin
>
> Christophe
>
>> ;; Function foo (foo, funcdef_no=0, decl_uid=1387, cgraph_uid=0, 
>> symbol_order=1)
>>
>> foo ()
>> {
>>   int i;
>>   static double X[9];
>>   double in.0_1;
>>   double in.1_2;
>>   double _3;
>>   int _4;
>>   double _5;
>>   double _6;
>>   double _7;
>>   double _8;
>>
>>   <bb 2>:
>>   in.0_1 = in;
>>   in.1_2 = in;
>>   _3 = in.0_1 * in.1_2;
>>   X[1] = _3;
>>   i_13 = 2;
>>   goto <bb 4>;
>>
>>   <bb 3>:
>>   _4 = i_9 + -1;
>>   _5 = X[_4];
>>   _6 = X[1];
>>   _7 = _5 * _6;
>>   X[i_9] = _7;
>>   i_15 = i_9 + 1;
>>
>>   <bb 4>:
>>   # i_9 = PHI <i_13(2), i_15(3)>
>>   if (i_9 <= 8)
>>     goto <bb 3>;
>>   else
>>     goto <bb 5>;
>>
>>   <bb 5>:
>>   _8 = X[5];
>>   Write (_8);
>>   return;
>>
>> }
>>
>>
>> Andreas.
>>
>> --
>> Andreas Schwab, sch...@linux-m68k.org
>> GPG Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
>> "And now for something completely different."

Reply via email to