Broken SH2a patches
Joern RENNECKE
joern.rennecke@st.com
Mon Nov 8 16:27:00 GMT 2004
> I don't like the name 'fake', but I'm not sure what else to suggest.
Perhaps
>sh2+, sh2e+, sh2++ and sh2e++ (or sh2+shift, sh2e+shift+fsqrt,
>sh2+shift+pref and sh2e+double). Of course '+' won't work in C ... hmmm.
>
>Unfortunately a lot of libraries etc. will end up labelled with these 'fake'
>architectures so it is important that the name means something.
>
When there are only one ot two simple features added, it seems most
future-proof to
just enumerate them. I.e. the 'fake1' adds dynamic shift to SH2,
'fake2' adds dynamic shift and
fsqrt.s to SH2E, 'fake3' adds dynamic shift and prefetch to SH2.
'fake4', however, adds dynamic shift, fsqrt.s, prefetch, and a plethora
of double precision arithmetic
instructions and ancillary instructions to that. So I think we better
name that one from the
intersection that generates it, i.e. SH4_SH2A .
You can probably draw this more nicely...
SH2
.------------'|`--------------------.
/ | \
SH2 SH2_dshift SH2E
(dsp) / \ \ |
| / \ \_____________ |
| / \ \ |
| / \ \ |
| / SH3 \ |
| / (nommu) SH2E_dshift_sqrt
| SH2_dshift_pref |\ /|
| | \ | \ / |
| | \ | \ / |
| | \ | SH3 / |
| | \ | /|\ / |
| | \ | / | \ / |
| | \ .!./ | \ / |
| | . \ | | \ / |
| SH2A . SH4 | \ / SH4_SH2A
| (nofpu) . (nommu) | SH3E / |
| | . (nofpu) | /\ / |
| ...+..... | .--' | \ / |
| / | | / | \ / |
SH3 | SH4 | X |
(dsp) | (nofpu) | / \ |
| | /\ | / \ |
| | / '---. | / \ /
| | / \ |/ \/
-+---- . SH4A SH4 SH2A <------....
| (nofpu) |
| / \ .-'
| .--------' '---. /
| / \/
SH4AL SH4A
(dsp)
More information about the Binutils
mailing list