summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlex Rønne Petersen <alexrp@xamarin.com>2013-05-14 03:10:43 +0200
committerAlex Rønne Petersen <alexrp@xamarin.com>2013-05-14 13:05:33 +0200
commit78c1e65942210449d0d1c4957b42242ebc9bdb5a (patch)
tree35fd30ac8a43e2c27da9f5ac2cb1446a590e95aa
parenta42bc8f14a3393150fb6fbb772c2b0259267f5ae (diff)
downloadffts-78c1e65942210449d0d1c4957b42242ebc9bdb5a.zip
ffts-78c1e65942210449d0d1c4957b42242ebc9bdb5a.tar.gz
Kill support for the ancient FPA format on ARM.
-rw-r--r--arm/Makefile.am7
-rw-r--r--arm/arm-fpa-codegen.h198
-rw-r--r--arm/arm-vfp-codegen.h2
-rw-r--r--arm/fpa_macros.th15
-rw-r--r--arm/fpam_macros.th14
-rwxr-xr-xarm/fpaops.sh24
6 files changed, 2 insertions, 258 deletions
diff --git a/arm/Makefile.am b/arm/Makefile.am
index 86784c0..593574c 100644
--- a/arm/Makefile.am
+++ b/arm/Makefile.am
@@ -3,7 +3,7 @@ AM_CPPFLAGS = $(GLIB_CFLAGS) -I$(top_srcdir)
noinst_LTLIBRARIES = libmonoarch-arm.la
-BUILT_SOURCES = arm_dpimacros.h arm_fpamacros.h arm_vfpmacros.h
+BUILT_SOURCES = arm_dpimacros.h arm_vfpmacros.h
libmonoarch_arm_la_SOURCES = $(BUILT_SOURCES) \
@@ -16,10 +16,6 @@ arm_dpimacros.h: dpiops.sh mov_macros.th dpi_macros.th cmp_macros.th
(cd $(srcdir); bash ./dpiops.sh) > $@t
mv $@t $@
-arm_fpamacros.h: fpaops.sh fpam_macros.th fpa_macros.th
- (cd $(srcdir); bash ./fpaops.sh) > $@t
- mv $@t $@
-
arm_vfpmacros.h: vfpops.sh vfpm_macros.th vfp_macros.th
(cd $(srcdir); bash ./vfpops.sh) > $@t
mv $@t $@
@@ -27,6 +23,5 @@ arm_vfpmacros.h: vfpops.sh vfpm_macros.th vfp_macros.th
CLEANFILES = $(BUILT_SOURCES)
EXTRA_DIST = dpiops.sh mov_macros.th dpi_macros.th cmp_macros.th \
- fpam_macros.th fpa_macros.th arm-fpa-codegen.h fpaops.sh \
vfpm_macros.th vfp_macros.th arm-vfp-codegen.h vfpops.sh
diff --git a/arm/arm-fpa-codegen.h b/arm/arm-fpa-codegen.h
deleted file mode 100644
index 4389a5e..0000000
--- a/arm/arm-fpa-codegen.h
+++ /dev/null
@@ -1,198 +0,0 @@
-/*
- * Copyright 2005 Novell Inc
- * Copyright 2011 Xamarin Inc
- */
-
-#ifndef __MONO_ARM_FPA_CODEGEN_H__
-#define __MONO_ARM_FPA_CODEGEN_H__
-
-#include "arm-codegen.h"
-
-enum {
- /* FPA registers */
- ARM_FPA_F0,
- ARM_FPA_F1,
- ARM_FPA_F2,
- ARM_FPA_F3,
- ARM_FPA_F4,
- ARM_FPA_F5,
- ARM_FPA_F6,
- ARM_FPA_F7,
-
- /* transfer length for LDF/STF (T0/T1), already shifted */
- ARM_FPA_SINGLE = 0,
- ARM_FPA_DOUBLE = 1 << 15,
-
- ARM_FPA_ADF = 0 << 20,
- ARM_FPA_MUF = 1 << 20,
- ARM_FPA_SUF = 2 << 20,
- ARM_FPA_RSF = 3 << 20,
- ARM_FPA_DVF = 4 << 20,
- ARM_FPA_RDF = 5 << 20,
- ARM_FPA_POW = 6 << 20,
- ARM_FPA_RPW = 7 << 20,
- ARM_FPA_RMF = 8 << 20,
- ARM_FPA_FML = 9 << 20,
- ARM_FPA_FDV = 10 << 20,
- ARM_FPA_FRD = 11 << 20,
- ARM_FPA_POL = 12 << 20,
-
- /* monadic */
- ARM_FPA_MVF = (0 << 20) | (1 << 15),
- ARM_FPA_MNF = (1 << 20) | (1 << 15),
- ARM_FPA_ABS = (2 << 20) | (1 << 15),
- ARM_FPA_RND = (3 << 20) | (1 << 15),
- ARM_FPA_SQT = (4 << 20) | (1 << 15),
- ARM_FPA_LOG = (5 << 20) | (1 << 15),
- ARM_FPA_LGN = (6 << 20) | (1 << 15),
- ARM_FPA_EXP = (7 << 20) | (1 << 15),
- ARM_FPA_SIN = (8 << 20) | (1 << 15),
- ARM_FPA_COS = (9 << 20) | (1 << 15),
- ARM_FPA_TAN = (10 << 20) | (1 << 15),
- ARM_FPA_ASN = (11 << 20) | (1 << 15),
- ARM_FPA_ACS = (12 << 20) | (1 << 15),
- ARM_FPA_ATN = (13 << 20) | (1 << 15),
- ARM_FPA_URD = (14 << 20) | (1 << 15),
- ARM_FPA_NRM = (15 << 20) | (1 << 15),
-
- /* round modes */
- ARM_FPA_ROUND_NEAREST = 0,
- ARM_FPA_ROUND_PINF = 1,
- ARM_FPA_ROUND_MINF = 2,
- ARM_FPA_ROUND_ZERO = 3,
-
- /* round precision */
- ARM_FPA_ROUND_SINGLE = 0,
- ARM_FPA_ROUND_DOUBLE = 1,
-
- /* constants */
- ARM_FPA_CONST_0 = 8,
- ARM_FPA_CONST_1_0 = 9,
- ARM_FPA_CONST_2_0 = 10,
- ARM_FPA_CONST_3_0 = 11,
- ARM_FPA_CONST_4_0 = 12,
- ARM_FPA_CONST_5_0 = 13,
- ARM_FPA_CONST_0_5 = 14,
- ARM_FPA_CONST_10 = 15,
-
- /* compares */
- ARM_FPA_CMF = 4,
- ARM_FPA_CNF = 5,
- ARM_FPA_CMFE = 6,
- ARM_FPA_CNFE = 7,
-
- /* CPRT ops */
- ARM_FPA_FLT = 0,
- ARM_FPA_FIX = 1,
- ARM_FPA_WFS = 2,
- ARM_FPA_RFS = 3,
- ARM_FPA_WFC = 4,
- ARM_FPA_RFC = 5
-};
-
-#define ARM_DEF_FPA_LDF_STF(cond,post,ls,fptype,wback,basereg,fdreg,offset) \
- ((offset) >= 0? (offset)>>2: -(offset)>>2) | \
- ((1 << 8) | (fptype)) | \
- ((fdreg) << 12) | \
- ((basereg) << 16) | \
- ((ls) << 20) | \
- ((wback) << 21) | \
- (((offset) >= 0) << 23) | \
- ((wback) << 21) | \
- ((post) << 24) | \
- (6 << 25) | \
- ARM_DEF_COND(cond)
-
-/* FP load and stores */
-#define ARM_FPA_LDFS_COND(p,freg,base,offset,cond) \
- ARM_EMIT((p), ARM_DEF_FPA_LDF_STF((cond),1,ARMOP_LDR,ARM_FPA_SINGLE,0,(base),(freg),(offset)))
-#define ARM_FPA_LDFS(p,freg,base,offset) \
- ARM_FPA_LDFS_COND(p,freg,base,offset,ARMCOND_AL)
-
-#define ARM_FPA_LDFD_COND(p,freg,base,offset,cond) \
- ARM_EMIT((p), ARM_DEF_FPA_LDF_STF((cond),1,ARMOP_LDR,ARM_FPA_DOUBLE,0,(base),(freg),(offset)))
-#define ARM_FPA_LDFD(p,freg,base,offset) \
- ARM_FPA_LDFD_COND(p,freg,base,offset,ARMCOND_AL)
-
-#define ARM_FPA_STFS_COND(p,freg,base,offset,cond) \
- ARM_EMIT((p), ARM_DEF_FPA_LDF_STF((cond),1,ARMOP_STR,ARM_FPA_SINGLE,0,(base),(freg),(offset)))
-#define ARM_FPA_STFS(p,freg,base,offset) \
- ARM_FPA_STFS_COND(p,freg,base,offset,ARMCOND_AL)
-
-#define ARM_FPA_STFD_COND(p,freg,base,offset,cond) \
- ARM_EMIT((p), ARM_DEF_FPA_LDF_STF((cond),1,ARMOP_STR,ARM_FPA_DOUBLE,0,(base),(freg),(offset)))
-#define ARM_FPA_STFD(p,freg,base,offset) \
- ARM_FPA_STFD_COND(p,freg,base,offset,ARMCOND_AL)
-
-#define ARM_DEF_FPA_CPDO_MONADIC(cond,op,dreg,sreg,round,prec) \
- (1 << 8) | (14 << 24) | \
- (op) | \
- ((sreg) << 0) | \
- ((round) << 5) | \
- ((dreg) << 12) | \
- ((prec) << 7) | \
- ARM_DEF_COND(cond)
-
-#define ARM_DEF_FPA_CPDO_DYADIC(cond,op,dreg,sreg1,sreg2,round,prec) \
- (1 << 8) | (14 << 24) | \
- (op) | \
- ((sreg1) << 16) | \
- ((sreg2) << 0) | \
- ((round) << 5) | \
- ((dreg) << 12) | \
- ((prec) << 7) | \
- ARM_DEF_COND(cond)
-
-#define ARM_DEF_FPA_CMP(cond,op,sreg1,sreg2) \
- (1 << 4) | (1 << 8) | (15 << 12) | \
- (1 << 20) | (14 << 24) | \
- (op) << 21 | \
- (sreg1) << 16 | \
- (sreg2) | \
- ARM_DEF_COND(cond)
-
-#define ARM_DEF_FPA_CPRT(cond,op,fn,fm,rd,ftype,round) \
- (1 << 4) | (1 << 8) | (14 << 24) | \
- (op) << 20 | \
- (fm) | \
- (fn) << 16 | \
- (rd) << 12 | \
- ((round) << 5) | \
- ((ftype) << 7) | \
- ARM_DEF_COND(cond)
-
-
-#include "arm_fpamacros.h"
-
-#define ARM_FPA_RNDDZ_COND(p,dreg,sreg,cond) \
- ARM_EMIT((p), ARM_DEF_FPA_CPDO_MONADIC((cond),ARM_FPA_RND,(dreg),(sreg),ARM_FPA_ROUND_ZERO,ARM_FPA_ROUND_DOUBLE))
-#define ARM_FPA_RNDDZ(p,dreg,sreg) ARM_FPA_RNDD_COND(p,dreg,sreg,ARMCOND_AL)
-
-/* compares */
-#define ARM_FPA_FCMP_COND(p,op,sreg1,sreg2,cond) \
- ARM_EMIT(p, ARM_DEF_FPA_CMP(cond,op,sreg1,sreg2))
-#define ARM_FPA_FCMP(p,op,sreg1,sreg2) ARM_FPA_FCMP_COND(p,op,sreg1,sreg2,ARMCOND_AL)
-
-/* coprocessor register transfer */
-#define ARM_FPA_FLTD(p,fn,rd) \
- ARM_EMIT(p, ARM_DEF_FPA_CPRT(ARMCOND_AL,ARM_FPA_FLT,(fn),0,(rd),ARM_FPA_ROUND_DOUBLE,ARM_FPA_ROUND_NEAREST))
-#define ARM_FPA_FLTS(p,fn,rd) \
- ARM_EMIT(p, ARM_DEF_FPA_CPRT(ARMCOND_AL,ARM_FPA_FLT,(fn),0,(rd),ARM_FPA_ROUND_SINGLE,ARM_FPA_ROUND_NEAREST))
-
-#define ARM_FPA_FIXZ(p,rd,fm) \
- ARM_EMIT(p, ARM_DEF_FPA_CPRT(ARMCOND_AL,ARM_FPA_FIX,0,(fm),(rd),0,ARM_FPA_ROUND_ZERO))
-
-#define ARM_FPA_WFS(p,rd) \
- ARM_EMIT(p, ARM_DEF_FPA_CPRT(ARMCOND_AL,ARM_FPA_WFS,0,0,(rd),0,ARM_FPA_ROUND_NEAREST))
-
-#define ARM_FPA_RFS(p,rd) \
- ARM_EMIT(p, ARM_DEF_FPA_CPRT(ARMCOND_AL,ARM_FPA_RFS,0,0,(rd),0,ARM_FPA_ROUND_NEAREST))
-
-#define ARM_FPA_WFC(p,rd) \
- ARM_EMIT(p, ARM_DEF_FPA_CPRT(ARMCOND_AL,ARM_FPA_WFC,0,0,(rd),0,ARM_FPA_ROUND_NEAREST))
-
-#define ARM_FPA_RFC(p,rd) \
- ARM_EMIT(p, ARM_DEF_FPA_CPRT(ARMCOND_AL,ARM_FPA_RFC,0,0,(rd),0,ARM_FPA_ROUND_NEAREST))
-
-#endif /* __MONO_ARM_FPA_CODEGEN_H__ */
-
diff --git a/arm/arm-vfp-codegen.h b/arm/arm-vfp-codegen.h
index c4c5e3e..8b56b00 100644
--- a/arm/arm-vfp-codegen.h
+++ b/arm/arm-vfp-codegen.h
@@ -8,7 +8,7 @@
#include "arm-codegen.h"
enum {
- /* FPA registers */
+ /* VFP registers */
ARM_VFP_F0,
ARM_VFP_F1,
ARM_VFP_F2,
diff --git a/arm/fpa_macros.th b/arm/fpa_macros.th
deleted file mode 100644
index 036b2a0..0000000
--- a/arm/fpa_macros.th
+++ /dev/null
@@ -1,15 +0,0 @@
-/* -- <Op> -- */
-
-
-/* Fd := Rn <Op> Rm */
-#define ARM_FPA_<Op>D_COND(p, rd, rn, rm, cond) \
- ARM_EMIT((p), ARM_DEF_FPA_CPDO_DYADIC(cond,ARM_FPA_<Op>,rd,rn,rm,ARM_FPA_ROUND_NEAREST,ARM_FPA_ROUND_DOUBLE))
-#define ARM_FPA_<Op>D(p, rd, rn, rm) \
- ARM_FPA_<Op>D_COND(p, rd, rn, rm, ARMCOND_AL)
-
-#define ARM_FPA_<Op>S_COND(p, rd, rn, rm, cond) \
- ARM_EMIT((p), ARM_DEF_FPA_CPDO_DYADIC(cond,ARM_FPA_<Op>,rd,rn,rm,ARM_FPA_ROUND_NEAREST,ARM_FPA_ROUND_SINGLE))
-#define ARM_FPA_<Op>S(p, rd, rn, rm) \
- ARM_FPA_<Op>S_COND(p, rd, rn, rm, ARMCOND_AL)
-
-
diff --git a/arm/fpam_macros.th b/arm/fpam_macros.th
deleted file mode 100644
index 15183c3..0000000
--- a/arm/fpam_macros.th
+++ /dev/null
@@ -1,14 +0,0 @@
-/* -- <Op> -- */
-
-
-/* Fd := <Op> Rm */
-
-#define ARM_FPA_<Op>D_COND(p,dreg,sreg,cond) \
- ARM_EMIT((p), ARM_DEF_FPA_CPDO_MONADIC((cond),ARM_FPA_<Op>,(dreg),(sreg),ARM_FPA_ROUND_NEAREST,ARM_FPA_ROUND_DOUBLE))
-#define ARM_FPA_<Op>D(p,dreg,sreg) ARM_FPA_<Op>D_COND(p,dreg,sreg,ARMCOND_AL)
-
-#define ARM_FPA_<Op>S_COND(p,dreg,sreg,cond) \
- ARM_EMIT((p), ARM_DEF_FPA_CPDO_MONADIC((cond),ARM_FPA_<Op>,(dreg),(sreg),ARM_FPA_ROUND_NEAREST,ARM_FPA_ROUND_SINGLE))
-#define ARM_FPA_<Op>S(p,dreg,sreg) ARM_FPA_<Op>S_COND(p,dreg,sreg,ARMCOND_AL)
-
-
diff --git a/arm/fpaops.sh b/arm/fpaops.sh
deleted file mode 100755
index be19876..0000000
--- a/arm/fpaops.sh
+++ /dev/null
@@ -1,24 +0,0 @@
-#!/bin/sh
-
-DYADIC="ADF MUF SUF RSF DVF RDF POW RPW RMF FML FDV FRD POL"
-MONADIC="MVF MNF ABS RND SQT LOG EXP SIN COS TAN ASN ACS ATN URD NRM"
-
-# $1: opcode list
-# $2: template
-gen() {
- for i in $1; do
- sed "s/<Op>/$i/g" $2.th
- done
-}
-
-echo -e "/* Macros for FPA ops, auto-generated from template */\n"
-
-echo -e "\n/* dyadic */\n"
-gen "$DYADIC" fpa_macros
-
-echo -e "\n/* monadic */\n"
-gen "$MONADIC" fpam_macros
-
-echo -e "\n\n"
-
-echo -e "\n/* end generated */\n"
OpenPOWER on IntegriCloud