[PATCH] [ARM] Correct fpu attributes used for v8 in ARMAsmPrinter

Bradley Smith bradley.smith at arm.com
Fri Sep 13 03:23:25 PDT 2013


Correct the values used for the '.fpu' attribute in the ARMAsmPrinter for v8 such that they match the values gas expects, (fp-armv8, neon-fp-armv8).

http://llvm-reviews.chandlerc.com/D1674

Files:
  lib/Target/ARM/ARMAsmPrinter.cpp

Index: lib/Target/ARM/ARMAsmPrinter.cpp
===================================================================
--- lib/Target/ARM/ARMAsmPrinter.cpp
+++ lib/Target/ARM/ARMAsmPrinter.cpp
@@ -807,8 +807,11 @@
 
   if (Subtarget->hasNEON() && emitFPU) {
     /* NEON is not exactly a VFP architecture, but GAS emit one of
-     * neon/neon-vfpv4/vfpv3/vfpv2 for .fpu parameters */
-    if (Subtarget->hasVFP4())
+     * neon/neon-fp-armv8/neon-vfpv4/vfpv3/vfpv2 for .fpu parameters */
+    if (Subtarget->hasV8FP())
+      AttrEmitter->EmitTextAttribute(ARMBuildAttrs::Advanced_SIMD_arch,
+                                     "neon-fp-armv8");
+    else if (Subtarget->hasVFP4())
       AttrEmitter->EmitTextAttribute(ARMBuildAttrs::Advanced_SIMD_arch,
                                      "neon-vfpv4");
     else
@@ -823,7 +826,7 @@
     AttrEmitter->EmitAttribute(ARMBuildAttrs::VFP_arch,
                                ARMBuildAttrs::AllowV8FPA);
     if (emitFPU)
-      AttrEmitter->EmitTextAttribute(ARMBuildAttrs::VFP_arch, "v8fp");
+      AttrEmitter->EmitTextAttribute(ARMBuildAttrs::VFP_arch, "fp-armv8");
     /* VFPv4 + .fpu */
   } else if (Subtarget->hasVFP4()) {
     AttrEmitter->EmitAttribute(ARMBuildAttrs::VFP_arch,
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D1674.1.patch
Type: text/x-patch
Size: 1232 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20130913/db075de2/attachment.bin>


More information about the llvm-commits mailing list