-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
This has been done previously take for example the movfuscator a C compiler that emits only mov instructions. In fact any turing complete instruction can be used instead of mov. To the why it is not done in mainstream compiler well because specific instructions are faster and they make the code smaller. By the way the x87 fpu instructions are deprecated so it is a good thing that you removed them.
I think something similar has come up with the Cleavir framework; there are currently separate instruction types for arithmetic operations, but it has been proposed to replace them with fewer types, because there is little use in specific types. Register allocation is specified the hard way currently, while as you say, the complexity even for x86-64's multiplication and division instructions is just in forcing use of the right input and output registers.