[PR70920] transform (intptr_t) x eq/ne CST to x eq/ne (typeof x) cst

Matthew Wahab matthew.wahab@foss.arm.com
Wed Aug 3 11:58:00 GMT 2016


On 29/07/16 15:32, Prathamesh Kulkarni wrote:
> On 29 July 2016 at 12:42, Richard Biener <rguenther@suse.de> wrote:
>> On Fri, 29 Jul 2016, Prathamesh Kulkarni wrote:
>>
>>> On 28 July 2016 at 19:18, Richard Biener <rguenther@suse.de> wrote:
>>>> On Thu, 28 Jul 2016, Prathamesh Kulkarni wrote:
>>>>
>>>>> On 28 July 2016 at 15:58, Andreas Schwab <schwab@suse.de> wrote:
>>>>>> On Mo, Jul 25 2016, Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org> wrote:
>>>>>>
>>>>>>> diff --git a/gcc/testsuite/gcc.dg/pr70920-4.c b/gcc/testsuite/gcc.dg/pr70920-4.c
>>>>>>> new file mode 100644
>>>>>>> index 0000000..dedb895
>>>>>>> --- /dev/null
>>>>>>> +++ b/gcc/testsuite/gcc.dg/pr70920-4.c
>>>>>>> @@ -0,0 +1,21 @@
>>>>>>> +/* { dg-do compile } */
>>>>>>> +/* { dg-options "-O2 -fdump-tree-ccp-details -Wno-int-to-pointer-cast" } */
>>>>>>> +
>>>>>>> +#include <stdint.h>
>>>>>>> +
>>>>>>> +void f1();
>>>>>>> +void f2();
>>>>>>> +
>>>>>>> +void
>>>>>>> +foo (int a)
>>>>>>> +{
>>>>>>> +  void *cst = 0;
>>>>>>> +  if ((int *) a == cst)
>>>>>>> +    {
>>>>>>> +      f1 ();
>>>>>>> +      if (a)
>>>>>>> +     f2 ();
>>>>>>> +    }
>>>>>>> +}
>>>>>>> +
>>>>>>> +/* { dg-final { scan-tree-dump "gimple_simplified to if \\(_\[0-9\]* == 0\\)" "ccp1" } } */
>>>>>>
>>>>>> This fails on all ilp32 platforms.
[..]
>>
>> I don't think just matching == 0 is a good idea.  I suggest to
>> restrict the testcase to lp64 targets and maybe add a ilp32 variant.
> Hi,
> I restricted the test-case to lp64 targets.
> Is this OK to commit ?

Hello,

The test case is failing for arm-none-linux-gnueabihf.

It is correctly skipped if the 'dg-require-effective-target lp64' you added is 
moved to the end of the directives (after the dg-options).

Matthew



More information about the Gcc-patches mailing list