Following is the code run on Cortex hardware. The results are the same as for the x86 hardware. Legacy fortran code which does not incorporate the Fortran 90 features may have accuracy errors if run on Cortex ARM hardware. There is a large number of lines of legacy code in existence, eg in ACM Transactions on Mathematical Software etc.
/dbclient: Caution, skipping hostkey check for localhost
Welcome to Ubuntu in UserLAnd!
userland@localhost:~ nano testcortex.f
userland@localhost:~ gfortran testcortex.f -o testcortex
userland@localhost:~ ./testcortex
8
4
0.123400003
0.12340000271797180
0.12340000000000000
userland@localhost:~ lscpu
Architecture: aarch64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 4
On-line CPU(s) list: 0-3
Vendor ID: ARM
Model name: Cortex-A53
Model: 4
Thread(s) per core: 1
Core(s) per cluster: 4
Socket(s): -
Cluster(s): 1
Stepping: r0p4
CPU max MHz: 2001.0000
CPU min MHz: 850.0000
BogoMIPS: 26.00
Flags: fp asimd evtstrm aes pmull sha1 sha2 crc32 cpuid
Vulnerabilities:
Itlb multihit: Not affected
L1tf: Not affected
Mds: Not affected
Meltdown: Not affected
Spec store bypass: Not affected
Spectre v1: Mitigation; __user pointer sanitization
Spectre v2: Not affected
Srbds: Not affected
Tsx async abort: Not affected
userland@localhost:~$
use, intrinsic:: iso_fortran_env, only: sp=>real32, dp=>real64
real(sp) :: s = 0.1234_sp
real(dp) :: ds = 0.1234_sp, dd = 0.1234_dp
!double precision :: dp = 0.711D25
!real :: sp = 0.711
print *,dp
print *,sp
print *,s
print *,ds
print *,dd
end program