Getting rid of the integer 64 bit result MULx was a mistake as it's used commonly by compilers to do an invert and multiply by a constant instead of a divide by a constant. It wouldn't have been so bad if they would at least have defined and allowed a MULx where Sz=1 (64 bit result) and Dl (result register low) = Dh (result register high) giving the upper 32 bits of the result (like PPC MULH). This is worth while to define even with 64 bit results as it saves trashing a register when the lower 32 bits are not needed. See MULS and MULU here:
http://www.heywheel.com/matthey/Amiga/68kF_PRM.pdf
Philosophically I agree with u.
But from an engineering standpoint I simply don't know how to implement it.
If it can't be done as fast as the other multiplies then u hafta stop the whole pipeline from moving while u spend 2-4 cycles to complete the instruction.
Ok now that I think about it there MUST be a mechanism for stopping the pipleine because all those weirdo addressing modes in multiword instructions take multiple cycles to complete.
So ok, I agree it was a total mistake to take that out.
Maybe the problem was that its bitpattern overlapped the bitpattern of a normal multiply? I donno. But if that is what messed them up they could have invented a NEW completely different bitpattern for large multiplies.
It would be better to install the 68060.library from flash or kickstart so that traps are never a problem.
+2
Some instructions and addressing modes are better trapped and simplifying gives gains elsewhere. Notice that I removed (for trapping) the double indirect addressing modes that used the outer displacement in the 68kF ISA pdf above as there was little advantage (only useful when no free registers) and simplifies the decoder. If all remaining full extension word format addressing modes could be 1 cycle faster then it would be worth it.
I used to tell Gunnar all the time that its ok to trap those weirdo hypercomplicated addressing modes. But he said they worked out an optimized way for the address unit to handle it without needing to trap.
The SWAP instruction in the 68060 should have worked in both integer units which was an oversight.
I wonder if they had a reason?
68020+ support should be the minimum for the Amiga IMO. It makes programming much easier than the 68000 while offering significantly better speed and code density.
+1
The Natami CPU (N68050) is not finished and was only partially supporting the 68020 last I understood but it is fairly advanced as far as cache and pipeline design. I don't think Jens is working on it much if any anymore.

((((
He has talked about making it open source though.
Dear God I hope so.
They cooked up really kewl trix that can make a really fast 680x0 cpu!
Making a 680x0 softcore is all about how many clever tricks you can come up with and combine them all together to make something fast.
Without clever optimizations u won't get 68060 speeds using affordable FPGA chips.
Gunnar is working on a soft CPU based on it but he is not very reliable. He claims to be experimenting with a 200MHz softcore although he increased the pipeline length significantly in order to do it. This increases branch penalties and can cause other stalls much like a highly clocked DSP, GPU or x86 CPU. Even if I could believe him, it's experimental at best and Gunnar has a history of not completing much.
If someone would give him some medication to make him calm down and just write code without attacking everybody all the time then he could write good code and finish everything. He could start by trying Lorazepam. If that doesn't work for him then he could try something else.
p.s If someone would clone me then my other me would very happily spend 20 hours a day for 2 years to cook up an awesome 68070. With Jens, Matt, Phil and some other asm guys helping I know we could do it. Sadly I am only 1 person and I just can't devote that kind of time this project.

Once I start trying to solve a puzzle I get obsessed and can't stop. So I must stay away from puzzles that I know are large and complex since I have other responsibilities in my life that I must tend to.
