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: (subreg:SF (reg:SC)) question - 20020227-1.c failure


Geoff Keating wrote:

> The actual rule is:
> 
>      Storing in a non-paradoxical `subreg' has undefined results for
>      bits belonging to the same word as the `subreg'.  This laxity makes
>      it easier to generate efficient code for such instructions.  To
>      represent an instruction that preserves all the bits outside of
>      those in the `subreg', use `strict_low_part' around the `subreg'.
> 
> so it depends on your word size.

This would appear unfortunate, as this means that it may
indeed be necessary to use strict_low_part in order to
manipulate the real or imaginary part of a complex.

> Fix whatever's generating the RTL above to use strict_low_part when
> necessary.

However, as far as I can see, all code handling complex numbers
appears to assume gen_realpart / gen_imagpart return RTX that
can be used both to access and to modify the components of a
complex number.  So we can't just have those return strict_low_part,
but all users would need to be changed ...

Bye,
Ulrich

-- 
  Dr. Ulrich Weigand
  weigand@informatik.uni-erlangen.de


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