> > So is this simply the default of the compiler? I'd prefer it if we
> > could add a 'CODE 32' directive instead, that way, we may not need any
> > of the other changes to begin with.

> Oh, and the CODE 32 directive is not supported - it's ARM or THUMB :)
> https://docs.microsoft.com/en-us/cpp/assembler/arm/arm-assembler-directives?view=vs-2019
>

I can confirm that CODE 32 (or CODE32) does not work/does not allow the barrel shifting to be assembled...
 

> This one, possible - Baptiste?
>

The unconditional str ? From what I understand, we drop the cmp and drop the ldr/str of lr_svc and only keep those for lr_usr, right ?
 


OK.

In any case, I'd strongly prefer it if the .S and .asm files produced
identical object code, so please apply the same changes to the sibling
.S files as well, please (but only the ones that are really required
when building it in ARM mode)

ACK ! Will mirror changes to asm on S files (on separate commit, right ?)
I'm only touching the files VS2019 as a problem with on the ARM build anyways (this is what you meant by "really required" right ?)

--
Baptiste Gerondeau
Engineer - HPC SIG - LDCG - Linaro
#irc : BaptisteGer