cosinusoidally / tcc_bootstrap_alt

2 stars 1 forks source link

mk_2m integer ops only #1

Open fgeorgatos opened 1 year ago

fgeorgatos commented 1 year ago

if we have an OISC [1] machine of integer operations only, at which point would the bootstrapping via ./mk_2m breakdown?

How far would a working C abstraction arrive to, without bitwise and floating operations? Is that of interest?

[1] https://en.wikipedia.org/wiki/One-instruction_set_computer

P.S. Thanks for posting on [booststrappable]!

cosinusoidally commented 1 year ago

if we have an OISC [1] machine of integer operations only, at which point would the bootstrapping via ./mk_2m breakdown?

In this repo tcc_2 uses floating point operations, so very early. My aim was to cut down and simplify the code so the initial compiler build was integer only. In the tcc_2_cutdown branch I actually cut down tcc 0.9.2 further into "tcc_1_7", "tcc_1_8", and "tcc_1_9". The lower the version number the simpler the code (and fewer features are available). For example, by 1_7 there is no floating point support at all, a cut down preprocessor, and no support for goto.

fgeorgatos commented 5 months ago

out of curiosity, at which point fp became unavoidable in this tcc chain?

fgeorgatos commented 5 months ago

I meant: if there is a compiler function which requires fp itself independently of source to compile - my first cursory look tells that me that float is introduced for implementing tcc's fp support itself