Re: [PATCH] middle-end/84407 - honor -frounding-math for int to float conversion

2021-10-28 Thread Jakub Jelinek via Gcc-patches
On Thu, Oct 28, 2021 at 02:40:24PM +0200, Richard Biener wrote: > This makes us honor -frounding-math for integer to float conversions > and avoid constant folding when such conversion is not exact. > > 2021-10-28 Richard Biener > > PR middle-end/84407 > * fold-const.c (fold_conver

Re: [PATCH] middle-end/84407 - honor -frounding-math for int to float conversion

2021-10-28 Thread Richard Biener via Gcc-patches
On Thu, 28 Oct 2021, Jakub Jelinek wrote: > On Thu, Oct 28, 2021 at 02:24:23PM +0200, Richard Biener wrote: > > I'm not able to trigger unsigned_float to be used, even when > > converting 0x8001 I get (float:DF (reg:DI...)) > > on x86_64 because we emit conditional code that will end u

Re: [PATCH] middle-end/84407 - honor -frounding-math for int to float conversion

2021-10-28 Thread Richard Biener via Gcc-patches
eventually not implementing float but only unsigned_float might be > still broken. I can put the same code in the unsigned_float code > but I have no way of exercising it. > > Anyway, it feels like I spent too much time on this already for what > was supposed to be low-hangi

Re: [PATCH] middle-end/84407 - honor -frounding-math for int to float conversion

2021-10-28 Thread Jakub Jelinek via Gcc-patches
On Thu, Oct 28, 2021 at 02:24:23PM +0200, Richard Biener wrote: > I'm not able to trigger unsigned_float to be used, even when > converting 0x8001 I get (float:DF (reg:DI...)) > on x86_64 because we emit conditional code that will end up > using some compensation to emulate unsigned_flo

Re: [PATCH] middle-end/84407 - honor -frounding-math for int to float conversion

2021-10-28 Thread Richard Biener via Gcc-patches
On Thu, 28 Oct 2021, Jakub Jelinek wrote: > On Thu, Oct 28, 2021 at 01:32:17PM +0200, Richard Biener wrote: > > diff --git a/gcc/simplify-rtx.c b/gcc/simplify-rtx.c > > index f38b6d7d31c..a16395befcd 100644 > > --- a/gcc/simplify-rtx.c > > +++ b/gcc/simplify-rtx.c > > @@ -1917,6 +1917,19 @@ simpli

Re: [PATCH] middle-end/84407 - honor -frounding-math for int to float conversion

2021-10-28 Thread Jakub Jelinek via Gcc-patches
On Thu, Oct 28, 2021 at 01:32:17PM +0200, Richard Biener wrote: > diff --git a/gcc/simplify-rtx.c b/gcc/simplify-rtx.c > index f38b6d7d31c..a16395befcd 100644 > --- a/gcc/simplify-rtx.c > +++ b/gcc/simplify-rtx.c > @@ -1917,6 +1917,19 @@ simplify_const_unary_operation (enum rtx_code code, > machin

[PATCH] middle-end/84407 - honor -frounding-math for int to float conversion

2021-10-28 Thread Richard Biener via Gcc-patches
This makes us honor -frounding-math for integer to float conversions and avoid constant folding when such conversion is not exact. Bootstrapped and tested on x86_64-unknown-linux-gnu, OK? Thanks, Richard. 2021-10-28 Richard Biener PR middle-end/84407 * fold-const.c (fold_conv