Menu

#3220 Rabbit Coremark optimization goal inversion

open
None
Rabbit
5
2021-04-30
2021-04-30
No

In general, I'd expect --opt-code-size resulting int eh smallest code, followed by the default, with --opt-code-speed giving the biggest code.
Of course there are always corner cases where this doesn't hold.
But for Coremark on Rabbit, there is a quite noticeable inversion: --opt-code-speed being the smallest code, followed by --opt-code-size, and the default being the biggest.
At first sight this looks like code generation making some assumptions that hold for z80 and z180 but not Rabbits, with effects most noticeable for 32-bit data types, which are used a lot in Coremark.
Interestingly, Whetstone, which also makes heavy use of 32-bit data types is apparently not affected.

Discussion

  • Philipp Klaus Krause

    • status: open --> closed-fixed
     
  • Philipp Klaus Krause

    Fixed in [r12259] (also for eZ80).

     
  • Philipp Klaus Krause

    • status: closed-fixed --> open
     
  • Philipp Klaus Krause

    Turns out I only fixed this for the core_matrix part. For Coremark as a whole, the inversion still exists.

     
  • Philipp Klaus Krause

    Another aspect has been found and fixed in [r12269], which should improve the situation a bit. But it is likely that the inversion remains, though without a clearly visible single cause.

     

Log in to post a comment.