This is the mail archive of the gcc-help@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: Question on gcc RTL and scheduling step.


[ Top-post do please not. ]

On Wed, Feb 26, 2020 at 04:11:06PM +0100, Henri Cloetens wrote:
> - On the issue of the restore of R18 in mode DI, it seems from
>   analysing the log file that the compiler does not understand this
>   also affects R19. This looks a bug to me ??. Anyway, I have resolved
>   this, by adding a 'clobber' statement to R19 when R18 is written
>   in mode 'DI'.

You haven't showed any evidence like this, so it's hard for use to help
you with this at all.  *Is* DImode a two register mode in your backend?

> - The other issue, I have changed ((set) (pc) (return)) to (return),
>   but, as far as I understand the logfiles, and the documentation,
>   both forms are equivalent. Anyway, after fixing the first issue, I do
>   not see the second issue any more.

The docs say
  Note that an insn pattern of @code{(return)} is logically equivalent to
  @code{(set (pc) (return))}, but the latter form is never used.

If something is never used, then not everything might expect that form,
that's all.


Segher


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