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: Question about CASE_DROPS_THROUGH





Zack Weinberg wrote:

>(It should be noted that there are a lot of ports that use the
>"casesi" expander, but in all cases other than VAX there appears to be
>no good reason for this - they're just duplicating what stmt.c would
>do if it had only "tablejump" to work with.  I was particularly
>curious to see if the s390 had a similar instruction to the VAX, but
>if it does we aren't using it.)

s390 does not have a casesi instruction.  The original reason for
defining a casesi pattern in the s390 backend had to do with the
way we handle jump tables in PIC mode (they contain the difference
of the target jump label and the start of the jump table).

IIRC there were also slight tweaks to the order of emitted insns
that would lead to somewhat better scheduling than what the default
middle-end implementation does.

I guess this could nowadays all be handled in a different way, but
I haven't seen the need to look into this ...


Mit freundlichen Gruessen / Best Regards

Ulrich Weigand

--
  Dr. Ulrich Weigand
  Linux for S/390 Design & Development
  IBM Deutschland Entwicklung GmbH, Schoenaicher Str. 220, 71032 Boeblingen
  Phone: +49-7031/16-3727   ---   Email: Ulrich.Weigand@de.ibm.com


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