瀏覽代碼

+ 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 -

florian 5 年之前
父節點
當前提交
a5a87fa84c
共有 2 個文件被更改,包括 17 次插入0 次删除
  1. 1 0
      .gitattributes
  2. 16 0
      compiler/utils/gena64vfp.pp

+ 1 - 0
.gitattributes

@@ -888,6 +888,7 @@ compiler/utils/fixtab.pp svneol=native#text/plain
 compiler/utils/fpc.mpw svneol=native#text/plain
 compiler/utils/fpc.mpw svneol=native#text/plain
 compiler/utils/fpc.pp svneol=native#text/plain
 compiler/utils/fpc.pp svneol=native#text/plain
 compiler/utils/fpimpdef.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/gia64reg.pp svneol=native#text/plain
 compiler/utils/gppc386.pp svneol=native#text/plain
 compiler/utils/gppc386.pp svneol=native#text/plain
 compiler/utils/mk68kreg.pp svneol=native#text/plain
 compiler/utils/mk68kreg.pp svneol=native#text/plain

+ 16 - 0
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.