no1wudi commented on a change in pull request #5662:
URL: https://github.com/apache/incubator-nuttx/pull/5662#discussion_r818413284



##########
File path: arch/arm/src/armv7-a/Toolchain.defs
##########
@@ -56,21 +56,61 @@ endif
 #
 
 ifeq ($(CONFIG_ARM_THUMB),y)
-ARCHCPUFLAGS += -mthumb
-endif
-
-ifeq ($(CONFIG_ARCH_FPU),y)
-ARCHCPUFLAGS += -mfloat-abi=hard
+  ARCHCPUFLAGS += -mthumb
 endif
 
 ifeq ($(CONFIG_ARCH_CORTEXA5),y)
-ARCHCPUFLAGS += -mcpu=cortex-a5
+  ARCHCPUFLAGS += -mcpu=cortex-a5
 else ifeq ($(CONFIG_ARCH_CORTEXA7),y)
-ARCHCPUFLAGS += -mcpu=cortex-a7
+  ARCHCPUFLAGS += -mcpu=cortex-a7
 else ifeq ($(CONFIG_ARCH_CORTEXA8),y)
-ARCHCPUFLAGS += -mcpu=cortex-a8
+  ARCHCPUFLAGS += -mcpu=cortex-a8
 else ifeq ($(CONFIG_ARCH_CORTEXA9),y)
-ARCHCPUFLAGS += -mcpu=cortex-a9
+  ARCHCPUFLAGS += -mcpu=cortex-a9
+endif
+
+ifneq ($(CONFIG_ARM_HAVE_FPU_D32),y)
+  ARCHFPUD32FLAGS = -d16
+endif
+
+ifeq ($(CONFIG_ARM_NEON),y)
+  ARCHNEONFLAGS = neon-
+  ifneq ($(CONFIG_ARM_HAVE_FPU_D32),y)
+    $(error "Number of FPU is alwasys 32 with NEON enabled, please check 
Kconfig of your SoC.")
+  endif
+endif
+
+ifeq ($(CONFIG_ARCH_FPU),y)
+  ifeq ($(CONFIG_ARM_FPU_ABI_SOFT),y)
+    ARCHCPUFLAGS += -mfloat-abi=softfp
+  else
+    ARCHCPUFLAGS += -mfloat-abi=hard
+  endif
+
+  ifeq ($(CONFIG_ARCH_CORTEXA7),y)
+    ifneq ($(CONFIG_ARM_NEON),y)
+      ARCHFPUVERSION = vfpv4
+    endif
+  else
+    ARCHFPUVERSION = vfpv3
+    ifeq ($(CONFIG_ARM_NEON),y)
+      ifeq ($(CONFIG_ARCH_CORTEXA8),y)
+        ARCHNEONFLAGS = neon
+        # If neon enabled on A8, then clear the FPU version flag
+        ARCHFPUVERSION =
+      endif
+    endif
+  endif
+
+  # Cortex-A5  | -mfpu=vfpv3-fp16 | -mfpu=vfpv3-d16-fp16 | -mfpu=neon-fp16
+  # Cortex-A7  | -mfpu=vfpv4      | -mfpu=vfpv4-d16      | -mfpu=neon-vfpv4
+  # Cortex-A8  | -mfpu=vfpv3      |                      | -mfpu=neon (alias 
for neon-vfpv3)
+  # Cortex-A9  | -mfpu=vfpv3-fp16 | -mfpu=vfpv3-d16-fp16 | -mfpu=neon-fp16
+  # Cortex-A15 | -mfpu=vfpv4      |                      | -mfpu=neon-vfpv4
+
+  ARCHCPUFLAGS += -mfpu=$(ARCHNEONFLAGS)$(ARCHFPUVERSION)$(ARCHFPUD32FLAGS)
+else
+  ARCHFPUFLAGS += -mfpu=soft

Review comment:
       Oh sorry, this is a typo




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Reply via email to