https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83308

--- Comment #15 from John Paul Adrian Glaubitz <glaubitz at physik dot 
fu-berlin.de> ---
Thanks Oleg!

(In reply to Oleg Endo from comment #14)
> (In reply to John Paul Adrian Glaubitz from comment #13)
> Cache line sizes of original SH implementations:
> 
> SH2,SH2A,SH3: 16 bytes
> SH4, SH4A: 32 bytes

I guess I can add a case matching for sh(2|3)*-*-* and one for sh4*-*-* then.

> > PC quantum should be 2 bytes as SH uses a 16-bit instruction encoding.
> > 
> 
> SH2A and SH-DSP have actually 4 byte instructions.  There are also some late
> SH4A variants which can do 16-bit prefixes, resulting in 4 byte instructions.
> 
> Other (newer) SH implementations might deviate from the originals and use
> multiple-length instructions or different cache line sizes.

I think J-Core planned to stay with the 16-bit encoding. I tested it with
PC_QUANTUM=2 and it works on my SH-4A machine.

> But I don't think that matters a lot.  E.g. 68K has variable length
> instructions and GOARCH_PCQUANTUM=4.  Not sure how much the cache line size
> is of an importance for libgo ...

Ok.

> > No idea about GOARCH_MINFRAMESIZE though.
> > 
> > Patch submitted here:
> > https://gcc.gnu.org/ml/gcc-patches/2017-12/msg01111.html
> 
> That looks OK. On SH the minimum stack pointer alignment is 4.

Great, thank you!

Reply via email to