It is not a matter of just recompiling as you naively assume.
There was "Windows for ARM" already it was called Windows RT and it was missing desktop/classic API at all, so you could no just "recompile" because there were no runtime libraries to link to. Programs do not live in a void. They use binary libraries (various runtimes and 3rd party libraries including data vendor APIs). You have to have ALL those binaries available for given processor.
Even when I started supporting 64-bit AMD/Intel back in 2006 (AmiBroker was first technical analysis software to offer 64-bit compatibility), none of data vendors offered 64-bit compatibility and it took several years for them to catch up. Also note that not entire AmiBroker is written in C++, we have (small) parts in i86/x64/SSE2 assembly code. So it definitely is not just recompiling.
Intel x86/x64 and ARM have completely different instruction sets. This means that you can't just tell ARM processor to execute x64 program. It has to translate instruction by instruction from x64 code to ARM code. Translation is slow. There is absolutely no way to achieve same performance of different CPU instruction set (x86/x64) on ARM. Also there have been reports that Windows OLE does not work.
Over 30 years I was programming in assembly Zilog Z80, Motorola 680x0, Atmel microcontrollers, Intel 80x86/87, all ARM variants including M4, M7 (STM32F4xx, STM32H7xx and NXP iMX1170) so I can say something about differences in instruction sets.
Thank you for your response and certainly I am not questioning your technical expertise on the matter as you are clearly an expert whereas I have only a lay understanding of CPU architectures.
What I also know is that there are very different types of user, for the casual/hobbyist Amibroker programmer they would have much different needs and opinions of what “slow” means compared to an expert power user such as yourself. Same goes for compatibility, you would expect 100% seamless compatibility of every function whereas the hobbyist may be satisfied with somewhat less.
My personal situation is that I have been a macOS user for 10+ years and I have only one single windows application that I use regularly to screen and basic backtesting stocks at weekends which is amibroker so I’m not going to migrate to windows/Linux intel silicon just for that one single purpose.
Well, OK, I wrote that with the perspective of what marketing hype around M1 products is telling: we've got THE FASTEST mobile processor ever created. And it may be actually true, as long as you run ARM native code. What I tried to say is that if you are NOT running ARM native machine code but emulating some other instruction set, even with latest technologies like JIT you may suffer from 2-4x performance drop as compared to running x64 code on x64 processor. Of course it is up to you if that is acceptable.
@jamesings curious if you received your M1 MBP and tried AmiBroker inside of a Parallels VM? I'm wanting to upgrade to the MBP 14" but, given Tomasz's response about the slower emulation, I'm concerned about how AB will run. TIA