Re: Ping with testcase: [PATCH][AArch64] Fix __builtin_aarch64_absdi, must not fold to ABS_EXPR

2014-12-08 Thread Marcus Shawcroft
On 3 December 2014 at 10:30, Alan Lawrence wrote: > On Wed, Nov 26, 2014 at 04:35:50PM +, James Greenhalgh wrote: >> Why do we want to turn off folding for the V4SF/V2SF/V2DF modes of these >> intrinsics? There should be no difference between the mid-end definition >> and the intrinsic definit

Re: Ping with testcase: [PATCH][AArch64] Fix __builtin_aarch64_absdi, must not fold to ABS_EXPR

2014-12-03 Thread Alan Lawrence
On Wed, Nov 26, 2014 at 04:35:50PM +, James Greenhalgh wrote: > Why do we want to turn off folding for the V4SF/V2SF/V2DF modes of these > intrinsics? There should be no difference between the mid-end definition > and the intrinsic definition of their behaviour. Good point. Done. > I also no

Re: Ping with testcase: [PATCH][AArch64] Fix __builtin_aarch64_absdi, must not fold to ABS_EXPR

2014-11-26 Thread James Greenhalgh
On Wed, Nov 26, 2014 at 03:56:03PM +, Alan Lawrence wrote: > So in case there's any confusion about the behaviour expected of *the vabs > intrinsic*, here's a testcase (failing without patch, passing with it)... > > --Alan > > Alan Lawrence wrote: > > ...as the former is defined as returning

Ping with testcase: [PATCH][AArch64] Fix __builtin_aarch64_absdi, must not fold to ABS_EXPR

2014-11-26 Thread Alan Lawrence
So in case there's any confusion about the behaviour expected of *the vabs intrinsic*, here's a testcase (failing without patch, passing with it)... --Alan Alan Lawrence wrote: ...as the former is defined as returning MIN_VALUE for argument MIN_VALUE, whereas the latter is 'undefined', and gcc

[PATCH][AArch64] Fix __builtin_aarch64_absdi, must not fold to ABS_EXPR

2014-11-17 Thread Alan Lawrence
...as the former is defined as returning MIN_VALUE for argument MIN_VALUE, whereas the latter is 'undefined', and gcc can optimize "abs(x)>=0" to "true", which is wrong for __builtin_aarch64_abs. There has been much debate here, although not recently - I think the last was https://gcc.gnu.org/