diff options
author | florian <florian@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2019-09-03 20:59:13 +0000 |
---|---|---|
committer | florian <florian@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2019-09-03 20:59:13 +0000 |
commit | 7293069cebf22f26cacf115eb524a7cd082bd23f (patch) | |
tree | b1efdb8328bf4e192c24d63c8d257cfb59c44ebf | |
parent | 60570b813e9f1e6c2994a95f1623eb7028913840 (diff) | |
download | fpc-7293069cebf22f26cacf115eb524a7cd082bd23f.tar.gz |
+ AArch64: support for vX.8b/vX.16b register names
+ support for more than 256 registers in the register dat files
- removed totherregisterset
+ AArch64: use vmov to load immediates if possible
+ AArch64: use eor to clear mm registers
+ small command line tool for quick creating of vfp register list in a64reg.dat
git-svn-id: https://svn.freepascal.org/svn/fpc/trunk@42916 3ad0048d-3df7-0310-abae-a5850022a9f2
-rw-r--r-- | compiler/utils/gena64vfp.pp | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/compiler/utils/gena64vfp.pp b/compiler/utils/gena64vfp.pp new file mode 100644 index 0000000000..bd4ca3c8e1 --- /dev/null +++ b/compiler/utils/gena64vfp.pp @@ -0,0 +1,16 @@ +{ utility to avoid the tedious typing of register numbers for AArch64 VFP registers } +var + i : longint; + +begin + for i:=0 to 31 do + begin + writeln('B',i,',$04,$01,$',hexstr(i,2),',b',i,',',i+64,',',i+64); + writeln('H',i,',$04,$03,$',hexstr(i,2),',h',i,',',i+64,',',i+64); + writeln('S',i,',$04,$09,$',hexstr(i,2),',s',i,',',i+64,',',i+64); + writeln('D',i,',$04,$0a,$',hexstr(i,2),',d',i,',',i+64,',',i+64); + writeln('Q',i,',$04,$05,$',hexstr(i,2),',q',i,',',i+64,',',i+64); + writeln('V',i,'8B,$04,$17,$',hexstr(i,2),',v',i,'.8b,',i+64,',',i+64); + writeln('V',i,'16B,$04,$18,$',hexstr(i,2),',v',i,'.16b,',i+64,',',i+64); + end; +end. |