diff options
author | florian <florian@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2012-11-01 20:08:13 +0000 |
---|---|---|
committer | florian <florian@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2012-11-01 20:08:13 +0000 |
commit | f24560bf70d8740771dfbed39e0d2e05d9a99b7a (patch) | |
tree | 51285712be632dabfbbf9dab89588a2be3f3fad2 | |
parent | 901cab2f9879f834f03219d46fde1343090c09de (diff) | |
download | fpc-f24560bf70d8740771dfbed39e0d2e05d9a99b7a.tar.gz |
+ first batch of FPU/VFP instructions
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@22907 3ad0048d-3df7-0310-abae-a5850022a9f2
-rw-r--r-- | compiler/aarch64/a64att.inc | 43 | ||||
-rw-r--r-- | compiler/aarch64/a64atts.inc | 41 | ||||
-rw-r--r-- | compiler/aarch64/a64ins.dat | 83 | ||||
-rw-r--r-- | compiler/aarch64/a64op.inc | 43 |
4 files changed, 208 insertions, 2 deletions
diff --git a/compiler/aarch64/a64att.inc b/compiler/aarch64/a64att.inc index dbbbf37240..21ac05204d 100644 --- a/compiler/aarch64/a64att.inc +++ b/compiler/aarch64/a64att.inc @@ -88,5 +88,46 @@ 'smnegl', 'smull', 'umnegl', -'umull' +'umull', +'fmov', +'fcvt', +'fcvtas', +'fcvtau', +'fcvtms', +'fcvtmu', +'fcvtns', +'fcvtnu', +'fcvtps', +'fcvtpu', +'fcvtzs', +'fcvtzu', +'scvtf', +'ucvtf', +'fprinta', +'fprinti', +'fprintm', +'fprintn', +'fprintp', +'fprintx', +'fprintz', +'fabs', +'fneg', +'fsqrt', +'fadd', +'fdiv', +'fmul', +'fnmul', +'fsub', +'fmax', +'fmin', +'fminnm', +'fmadd', +'fmsub', +'fnmadd', +'fnmsub', +'fcmp', +'fcmpe', +'fccmp', +'fcmmpe', +'fcsel' ); diff --git a/compiler/aarch64/a64atts.inc b/compiler/aarch64/a64atts.inc index 41b3319c9d..61cfb8663c 100644 --- a/compiler/aarch64/a64atts.inc +++ b/compiler/aarch64/a64atts.inc @@ -88,5 +88,46 @@ attsufNONE, attsufNONE, attsufNONE, attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, attsufNONE ); diff --git a/compiler/aarch64/a64ins.dat b/compiler/aarch64/a64ins.dat index 9dbc27742c..32d9054933 100644 --- a/compiler/aarch64/a64ins.dat +++ b/compiler/aarch64/a64ins.dat @@ -177,3 +177,86 @@ [UMNEGL] [UMULL] + +[FMOV] + +[FCVT] + +[FCVTAS] + +[FCVTAU] + +[FCVTMS] + +[FCVTMU] + +[FCVTNS] + +[FCVTNU] + +[FCVTPS] + +[FCVTPU] + +[FCVTZS] + +[FCVTZU] + +[SCVTF] + +[UCVTF] + +[FPRINTA] + +[FPRINTI] + +[FPRINTM] + +[FPRINTN] + +[FPRINTP] + +[FPRINTX] + +[FPRINTZ] + +[FABS] + +[FNEG] + +[FSQRT] + +[FADD] + +[FDIV] + +[FMUL] + +[FNMUL] + +[FSUB] + +[FMAX] + +[FMIN] + +[FMINNM] + +[FMADD] + +[FMSUB] + +[FNMADD] + +[FNMSUB] + +[FCMP] + +[FCMPE] + +[FCCMP] + +[FCMMPE] + +[FCSEL] + diff --git a/compiler/aarch64/a64op.inc b/compiler/aarch64/a64op.inc index 68209875e0..bbaec48632 100644 --- a/compiler/aarch64/a64op.inc +++ b/compiler/aarch64/a64op.inc @@ -88,5 +88,46 @@ A_MUL, A_SMNEGL, A_SMULL, A_UMNEGL, -A_UMULL +A_UMULL, +A_FMOV, +A_FCVT, +A_FCVTAS, +A_FCVTAU, +A_FCVTMS, +A_FCVTMU, +A_FCVTNS, +A_FCVTNU, +A_FCVTPS, +A_FCVTPU, +A_FCVTZS, +A_FCVTZU, +A_SCVTF, +A_UCVTF, +A_FPRINTA, +A_FPRINTI, +A_FPRINTM, +A_FPRINTN, +A_FPRINTP, +A_FPRINTX, +A_FPRINTZ, +A_FABS, +A_FNEG, +A_FSQRT, +A_FADD, +A_FDIV, +A_FMUL, +A_FNMUL, +A_FSUB, +A_FMAX, +A_FMIN, +A_FMINNM, +A_FMADD, +A_FMSUB, +A_FNMADD, +A_FNMSUB, +A_FCMP, +A_FCMPE, +A_FCCMP, +A_FCMMPE, +A_FCSEL ); |