This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [tree-ssa] FIX_.*_EXPR


On Thursday 12 June 2003 2:27 am, law@redhat.com wrote:
> In message <200306112310.45392.paul@nowt.org>, Paul Brook writes:
>  >Unlike C, Fortran allows the user to specify which rounding mode should
>  > be used when converyting floating point values to integers.
>  >
>  >in tree.def there are declarations for FIX_CEIL_EXPR, FIX_FLOOR_EXPR
>  > and FIX_ROUND_EXPR. However these don't seem to be implemented by the
>  > current RTL expander. It aborts in expr.c when these are used.
>
> So, how is this currently handled?  ie, do we implement some kind of
> conversion in the front-end to other nodes?  Or do we simply not support
> this Fortran functionality right now?

We don't currently implement this functionality. We've a patch floating 
about which implements them in the frontend with a combination of other 
nodes. I thought it'd make sense to see if we could push this down into the 
language independent bits of the compiler.

>  >Is there any chance of getting these implemented? Unfortunately I have
>  >approximately zero knowledge of RTL, so wouldn't know where to start.
>
> The "simple" way is to synthesize them from other operations.  This is
> what I would tend to prefer.  The gimplifier would simplify these down
> to their component operations.

I'll see if I can put together something to handle these in the gimplifier 
then.

Paul


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]