فهرست منبع

Add intrindics unit for arm and aarch64 targets

Pierre Muller 1 هفته پیش
والد
کامیت
31e0c33187

+ 6 - 0
rtl/android/Makefile.fpc

@@ -81,6 +81,12 @@ endif
 ifeq ($(ARCH),i386)
 ifeq ($(ARCH),i386)
 CPU_UNITS+=$(MMXUNIT)
 CPU_UNITS+=$(MMXUNIT)
 endif
 endif
+ifeq ($(ARCH),aarch64)
+CPU_UNITS+=$(INTRINSICSUNIT)
+endif
+ifeq ($(ARCH),arm)
+CPU_UNITS+=$(INTRINSICSUNIT)
+endif
 
 
 
 
 # Causes release PPU files not to be recompiled
 # Causes release PPU files not to be recompiled

+ 4 - 0
rtl/aros/Makefile.fpc

@@ -47,6 +47,10 @@ SYSINIT_UNITS=si_prc
 # Paths
 # Paths
 OBJPASDIR=$(RTL)/objpas
 OBJPASDIR=$(RTL)/objpas
 
 
+ifeq ($(ARCH),arm)
+CPU_UNITS=$(INTRINSICSUNIT)
+endif
+
 ifeq ($(ARCH),i386)
 ifeq ($(ARCH),i386)
 CPU_UNITS=$(CPUUNIT) $(MMXUNIT) $(LINEINFOUNIT)
 CPU_UNITS=$(CPUUNIT) $(MMXUNIT) $(LINEINFOUNIT)
 endif
 endif

+ 7 - 7
rtl/embedded/Makefile.fpc

@@ -68,7 +68,7 @@ DOSDIR=.
 DOS_DEPS_OS=$(OBJPASUNIT)$(PPUEXT)
 DOS_DEPS_OS=$(OBJPASUNIT)$(PPUEXT)
 
 
 ifeq ($(ARCH),aarch64)
 ifeq ($(ARCH),aarch64)
-CPU_UNITS=$(RASPI3UNIT) $(MMIOUNIT) $(MAILBOXUNIT) $(RASPIUARTUNIT) $(GPIOUNIT)
+CPU_UNITS=$(RASPI3UNIT) $(MMIOUNIT) $(MAILBOXUNIT) $(RASPIUARTUNIT) $(GPIOUNIT) $(INTRINSICSUNIT)
 CPU_UNITS_DEFINED=1
 CPU_UNITS_DEFINED=1
 endif
 endif
 
 
@@ -76,30 +76,30 @@ ifeq ($(ARCH),arm)
 ifeq ($(SUBARCH),armv7m)
 ifeq ($(SUBARCH),armv7m)
 CPU_UNITS=$(LM3FURYUNIT) $(LM3TEMPESTUNIT) $(STM32F10X_LDUNIT) $(STM32F10X_MDUNIT) $(STM32F10X_HDUNIT) \
 CPU_UNITS=$(LM3FURYUNIT) $(LM3TEMPESTUNIT) $(STM32F10X_LDUNIT) $(STM32F10X_MDUNIT) $(STM32F10X_HDUNIT) \
 	$(STM32F10X_XLUNIT) $(STM32F10X_CONNUNIT) $(STM32F10X_CLUNIT) $(LPC13XXUNIT) $(LPC1768UNIT) \
 	$(STM32F10X_XLUNIT) $(STM32F10X_CONNUNIT) $(STM32F10X_CLUNIT) $(LPC13XXUNIT) $(LPC1768UNIT) \
-	$(SAM3X8EUNIT) $(XMC4500UNIT) $(CORTEXM3UNIT) $(CORTEXM4UNIT) # thumb2_bare
+	$(SAM3X8EUNIT) $(XMC4500UNIT) $(CORTEXM3UNIT) $(CORTEXM4UNIT) $(INTRINSICSUNIT) # thumb2_bare
 CPU_UNITS_DEFINED=1
 CPU_UNITS_DEFINED=1
 endif
 endif
 ifeq ($(SUBARCH),armv7em)
 ifeq ($(SUBARCH),armv7em)
 CPU_UNITS=$(LM4F120UNIT) $(XMC4500UNIT) $(MK20D5UNIT) $(MK20D7UNIT) $(MK22F51212UNIT) $(MK64F12UNIT) \
 CPU_UNITS=$(LM4F120UNIT) $(XMC4500UNIT) $(MK20D5UNIT) $(MK20D7UNIT) $(MK22F51212UNIT) $(MK64F12UNIT) \
 	  $(STM32F401XXUNIT) $(STM32F407XXUNIT) $(STM32F411XEUNIT) $(STM32F429XXUNIT) $(STM32F446XXUNIT) \
 	  $(STM32F401XXUNIT) $(STM32F407XXUNIT) $(STM32F411XEUNIT) $(STM32F429XXUNIT) $(STM32F446XXUNIT) \
 	  $(STM32F745UNIT) $(STM32F746UNIT) $(STM32F756UNIT) $(NRF52UNIT) $(CORTEXM3UNIT) $(CORTEXM4UNIT) $(CORTEXM7UNIT) \
 	  $(STM32F745UNIT) $(STM32F746UNIT) $(STM32F756UNIT) $(NRF52UNIT) $(CORTEXM3UNIT) $(CORTEXM4UNIT) $(CORTEXM7UNIT) \
-	  $(SAMD51P19AUNIT) # thumb2_bare
+	  $(SAMD51P19AUNIT) $(INTRINSICSUNIT) # thumb2_bare
 CPU_UNITS_DEFINED=1
 CPU_UNITS_DEFINED=1
 endif
 endif
 ifeq ($(SUBARCH),armv4t)
 ifeq ($(SUBARCH),armv4t)
-CPU_UNITS=$(LPC21X4UNIT) $(AT91SAM7X256UNIT) $(SC32442BUNIT)
+CPU_UNITS=$(LPC21X4UNIT) $(AT91SAM7X256UNIT) $(SC32442BUNIT) $(INTRINSICSUNIT)
 CPU_UNITS_DEFINED=1
 CPU_UNITS_DEFINED=1
 endif
 endif
 ifeq ($(SUBARCH),armv4)
 ifeq ($(SUBARCH),armv4)
-CPU_UNITS=$(LPC21X4UNIT) $(AT91SAM7X256UNIT) $(SC32442BUNIT)
+CPU_UNITS=$(LPC21X4UNIT) $(AT91SAM7X256UNIT) $(SC32442BUNIT) $(INTRINSICSUNIT)
 CPU_UNITS_DEFINED=1
 CPU_UNITS_DEFINED=1
 endif
 endif
 ifeq ($(SUBARCH),armv6m)
 ifeq ($(SUBARCH),armv6m)
-CPU_UNITS=$(LPC8XXUNIT) $(LPC11XXUNIT) $(LPC122XUNIT) $(STM32F0XXUNIT) $(NRF51UNIT) $(CORTEXM0UNIT) $(RP2040UNIT)
+CPU_UNITS=$(LPC8XXUNIT) $(LPC11XXUNIT) $(LPC122XUNIT) $(STM32F0XXUNIT) $(NRF51UNIT) $(CORTEXM0UNIT) $(RP2040UNIT) $(INTRINSICSUNIT)
 CPU_UNITS_DEFINED=1
 CPU_UNITS_DEFINED=1
 endif
 endif
 ifeq ($(SUBARCH),armv7a)
 ifeq ($(SUBARCH),armv7a)
-CPU_UNITS=$(ALLWINNER_A20UNIT) $(RASPI2UNIT)
+CPU_UNITS=$(ALLWINNER_A20UNIT) $(RASPI2UNIT) $(INTRINSICSUNIT)
 CPU_UNITS_DEFINED=1
 CPU_UNITS_DEFINED=1
 endif
 endif
 ifeq ($(CPU_UNITS_DEFINED),)
 ifeq ($(CPU_UNITS_DEFINED),)

+ 3 - 0
rtl/freebsd/Makefile.fpc

@@ -84,6 +84,9 @@ ifeq ($(ARCH),x86_64)
 CPU_UNITS=$(X86UNIT) $(PORTSUNIT) $(CPUUNIT)
 CPU_UNITS=$(X86UNIT) $(PORTSUNIT) $(CPUUNIT)
 ASTARGET=--64
 ASTARGET=--64
 endif
 endif
+ifeq ($(ARCH),aarch64)
+CPU_UNITS=$(INTRINSICSUNIT)
+endif
 
 
 # Paths
 # Paths
 OBJPASDIR=$(RTL)/objpas
 OBJPASDIR=$(RTL)/objpas

+ 1 - 1
rtl/freertos/Makefile.fpc

@@ -60,7 +60,7 @@ DOSDIR=.
 DOS_DEPS_OS=$(OBJPASUNIT)$(PPUEXT)
 DOS_DEPS_OS=$(OBJPASUNIT)$(PPUEXT)
 
 
 ifeq ($(ARCH),arm)
 ifeq ($(ARCH),arm)
-CPU_SPECIFIC_COMMON_UNITS=$(SYSUTILSUNIT) $(MATHUNIT) $(CLASSESUNIT) $(FGLUNIT) $(MACPASUNIT) $(TYPINFOUNIT) $(TYPESUNIT) $(RTLCONSTSUNIT) $(GETOPTSUNIT) $(LINEINFOUNIT)
+CPU_SPECIFIC_COMMON_UNITS=$(SYSUTILSUNIT) $(MATHUNIT) $(CLASSESUNIT) $(FGLUNIT) $(MACPASUNIT) $(TYPINFOUNIT) $(TYPESUNIT) $(RTLCONSTSUNIT) $(GETOPTSUNIT) $(LINEINFOUNIT) $(INTRINSICSUNIT)
 ifeq ($(SUBARCH),armv7m)
 ifeq ($(SUBARCH),armv7m)
 CPU_UNITS=stm32f103xe cortexm3 cortexm4 # thumb2_bare
 CPU_UNITS=stm32f103xe cortexm3 cortexm4 # thumb2_bare
 CPU_UNITS_DEFINED=1
 CPU_UNITS_DEFINED=1

+ 4 - 0
rtl/gba/Makefile.fpc

@@ -43,6 +43,10 @@ LOADERS=prt0 cprt0
 OBJPASDIR=$(RTL)/objpas
 OBJPASDIR=$(RTL)/objpas
 SYSUTILS_DEPS_OS=$(DOSUNIT)$(PPUEXT)
 SYSUTILS_DEPS_OS=$(DOSUNIT)$(PPUEXT)
 
 
+ifeq ($(ARCH),arm)
+CPU_UNITS=$(INTRINSICSUNIT)
+endif
+
 [rules]
 [rules]
 .NOTPARALLEL:
 .NOTPARALLEL:
 # Get the system independent include file names.
 # Get the system independent include file names.

+ 4 - 0
rtl/nds/Makefile.fpc

@@ -47,6 +47,10 @@ endif
 OBJPASDIR=$(RTL)/objpas
 OBJPASDIR=$(RTL)/objpas
 SYSUTILS_DEPS_OS=$(DOSUNIT)$(PPUEXT)
 SYSUTILS_DEPS_OS=$(DOSUNIT)$(PPUEXT)
 
 
+ifeq ($(ARCH),arm)
+CPU_UNITS=$(INTRINSICSUNIT)
+endif
+
 [rules]
 [rules]
 .NOTPARALLEL:
 .NOTPARALLEL:
 # Get the system independent include file names.
 # Get the system independent include file names.

+ 3 - 1
rtl/netbsd/Makefile.fpc

@@ -83,7 +83,9 @@ endif
 ifeq ($(ARCH),i386)
 ifeq ($(ARCH),i386)
 CPU_UNITS=$(X86UNIT) $(PORTSUNIT) $(CPUUNIT) $(MMXUNIT)
 CPU_UNITS=$(X86UNIT) $(PORTSUNIT) $(CPUUNIT) $(MMXUNIT)
 endif
 endif
-
+ifeq ($(ARCH),arm)
+CPU_UNITS=$(INTRINSICSUNIT)
+endif
 
 
 [rules]
 [rules]
 .NOTPARALLEL:
 .NOTPARALLEL:

+ 5 - 1
rtl/palmos/Makefile.fpc

@@ -1,5 +1,5 @@
 #
 #
-#   Makefile.fpc for Free Pascal WinCE RTL
+#   Makefile.fpc for Free Pascal PalmOS RTL
 #
 #
 
 
 [package]
 [package]
@@ -56,6 +56,10 @@ PRT0=prt0
 # Paths
 # Paths
 OBJPASDIR=$(RTL)/objpas
 OBJPASDIR=$(RTL)/objpas
 
 
+ifeq ($(ARCH),arm)
+CPU_UNITS=$(INTRINSICSUNIT)
+endif
+
 [rules]
 [rules]
 .NOTPARALLEL:
 .NOTPARALLEL:
 SYSTEMPPU=syspalm.ppu
 SYSTEMPPU=syspalm.ppu

+ 1 - 1
rtl/symbian/Makefile.fpc

@@ -48,7 +48,7 @@ CPU_UNITS=$(CPUUNIT) $(MMXUNIT)
 endif
 endif
 
 
 ifeq ($(ARCH),arm)
 ifeq ($(ARCH),arm)
-CPU_UNITS=$(CPUUNIT)
+CPU_UNITS=$(CPUUNIT) $(INTRINSICSUNIT)
 endif
 endif
 
 
 ifneq ($(findstring $(ARCH),i386),)
 ifneq ($(findstring $(ARCH),i386),)

+ 3 - 0
rtl/win64/Makefile.fpc

@@ -73,6 +73,9 @@ ifeq ($(ARCH),x86_64)
 # signals unit is x86 specific for now
 # signals unit is x86 specific for now
 CPU_UNITS=$(CPUUNIT) $(SIGNALSUNIT)
 CPU_UNITS=$(CPUUNIT) $(SIGNALSUNIT)
 endif
 endif
+ifeq ($(ARCH),aarch64)
+CPU_UNITS=$(INTRINSICSUNIT)
+endif
 
 
 # Paths
 # Paths
 OBJPASDIR=$(RTL)/objpas
 OBJPASDIR=$(RTL)/objpas

+ 3 - 0
rtl/wince/Makefile.fpc

@@ -54,6 +54,9 @@ UNITPREFIX=rtl
 
 
 PRT0=wprt0
 PRT0=wprt0
 
 
+ifeq ($(ARCH),arm)
+CPU_UNITS=$(INTRINSICSUNIT)
+endif
 ifeq ($(ARCH),i386)
 ifeq ($(ARCH),i386)
 CPU_UNITS=$(CPUUNIT) $(MMXUNIT)
 CPU_UNITS=$(CPUUNIT) $(MMXUNIT)
 CPU_DEPS_CPU=$(SYSUTILSUNIT)$(PPUEXT) 
 CPU_DEPS_CPU=$(SYSUTILSUNIT)$(PPUEXT)