mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-07 14:27:59 +02:00
+ 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: trunk@42916 -
This commit is contained in:
parent
11203bcdeb
commit
a5a87fa84c
1
.gitattributes
vendored
1
.gitattributes
vendored
@ -888,6 +888,7 @@ compiler/utils/fixtab.pp svneol=native#text/plain
|
||||
compiler/utils/fpc.mpw svneol=native#text/plain
|
||||
compiler/utils/fpc.pp svneol=native#text/plain
|
||||
compiler/utils/fpimpdef.pp svneol=native#text/plain
|
||||
compiler/utils/gena64vfp.pp svneol=native#text/pascal
|
||||
compiler/utils/gia64reg.pp svneol=native#text/plain
|
||||
compiler/utils/gppc386.pp svneol=native#text/plain
|
||||
compiler/utils/mk68kreg.pp svneol=native#text/plain
|
||||
|
16
compiler/utils/gena64vfp.pp
Normal file
16
compiler/utils/gena64vfp.pp
Normal file
@ -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.
|
Loading…
Reference in New Issue
Block a user