<div dir="ltr">LGTM.<div><br></div><div>--renato</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On 13 September 2013 12:51, Joey Gouly <span dir="ltr"><<a href="mailto:joey.gouly@arm.com" target="_blank">joey.gouly@arm.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Author: joey<br>
Date: Fri Sep 13 06:51:52 2013<br>
New Revision: 190683<br>
<br>
URL: <a href="http://llvm.org/viewvc/llvm-project?rev=190683&view=rev" target="_blank">http://llvm.org/viewvc/llvm-project?rev=190683&view=rev</a><br>
Log:<br>
[ARMv8] Emit the proper .fpu directive.<br>
<br>
Patch by Bradley Smith!<br>
<br>
Modified:<br>
    llvm/trunk/lib/Target/ARM/ARMAsmPrinter.cpp<br>
    llvm/trunk/test/CodeGen/ARM/2010-09-29-mc-asm-header-test.ll<br>
<br>
Modified: llvm/trunk/lib/Target/ARM/ARMAsmPrinter.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/ARMAsmPrinter.cpp?rev=190683&r1=190682&r2=190683&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/ARMAsmPrinter.cpp?rev=190683&r1=190682&r2=190683&view=diff</a><br>

==============================================================================<br>
--- llvm/trunk/lib/Target/ARM/ARMAsmPrinter.cpp (original)<br>
+++ llvm/trunk/lib/Target/ARM/ARMAsmPrinter.cpp Fri Sep 13 06:51:52 2013<br>
@@ -807,8 +807,11 @@ void ARMAsmPrinter::emitAttributes() {<br>
<br>
   if (Subtarget->hasNEON() && emitFPU) {<br>
     /* NEON is not exactly a VFP architecture, but GAS emit one of<br>
-     * neon/neon-vfpv4/vfpv3/vfpv2 for .fpu parameters */<br>
-    if (Subtarget->hasVFP4())<br>
+     * neon/neon-fp-armv8/neon-vfpv4/vfpv3/vfpv2 for .fpu parameters */<br>
+    if (Subtarget->hasV8FP())<br>
+      AttrEmitter->EmitTextAttribute(ARMBuildAttrs::Advanced_SIMD_arch,<br>
+                                     "neon-fp-armv8");<br>
+    else if (Subtarget->hasVFP4())<br>
       AttrEmitter->EmitTextAttribute(ARMBuildAttrs::Advanced_SIMD_arch,<br>
                                      "neon-vfpv4");<br>
     else<br>
@@ -823,7 +826,7 @@ void ARMAsmPrinter::emitAttributes() {<br>
     AttrEmitter->EmitAttribute(ARMBuildAttrs::VFP_arch,<br>
                                ARMBuildAttrs::AllowV8FPA);<br>
     if (emitFPU)<br>
-      AttrEmitter->EmitTextAttribute(ARMBuildAttrs::VFP_arch, "v8fp");<br>
+      AttrEmitter->EmitTextAttribute(ARMBuildAttrs::VFP_arch, "fp-armv8");<br>
     /* VFPv4 + .fpu */<br>
   } else if (Subtarget->hasVFP4()) {<br>
     AttrEmitter->EmitAttribute(ARMBuildAttrs::VFP_arch,<br>
<br>
Modified: llvm/trunk/test/CodeGen/ARM/2010-09-29-mc-asm-header-test.ll<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/ARM/2010-09-29-mc-asm-header-test.ll?rev=190683&r1=190682&r2=190683&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/ARM/2010-09-29-mc-asm-header-test.ll?rev=190683&r1=190682&r2=190683&view=diff</a><br>

==============================================================================<br>
--- llvm/trunk/test/CodeGen/ARM/2010-09-29-mc-asm-header-test.ll (original)<br>
+++ llvm/trunk/test/CodeGen/ARM/2010-09-29-mc-asm-header-test.ll Fri Sep 13 06:51:52 2013<br>
@@ -3,6 +3,7 @@<br>
 ; RUN: llc < %s -mtriple=thumbv8-linux-gnueabi | FileCheck %s --check-prefix=Vt8<br>
 ; RUN: llc < %s -mtriple=armv8-linux-gnueabi -mattr=+v8fp | FileCheck %s --check-prefix=V8-V8FP<br>
 ; RUN: llc < %s -mtriple=armv8-linux-gnueabi -mattr=+neon | FileCheck %s --check-prefix=V8-NEON<br>
+; RUN: llc < %s -mtriple=armv8-linux-gnueabi -mattr=+v8fp -mattr=+neon | FileCheck %s --check-prefix=V8-V8FP-NEON<br>
 ; This tests that MC/asm header conversion is smooth<br>
 ;<br>
 ; V7:      .syntax unified<br>
@@ -22,11 +23,17 @@<br>
 ; V8-V8FP:      .syntax unified<br>
 ; V8-V8FP: .eabi_attribute 6, 14<br>
 ; V8-V8FP: .eabi_attribute 10, 7<br>
+; V8-V8FP: .fpu fp-armv8<br>
<br>
 ; V8-NEON:      .syntax unified<br>
 ; V8-NEON: .eabi_attribute 6, 14<br>
 ; V8-NEON: .eabi_attribute 12, 3<br>
<br>
+; V8-V8FP-NEON:      .syntax unified<br>
+; V8-V8FP-NEON: .eabi_attribute 6, 14<br>
+; V8-V8FP-NEON: .fpu neon-fp-armv8<br>
+; V8-V8FP-NEON: .eabi_attribute 10, 7<br>
+<br>
 define i32 @f(i64 %z) {<br>
        ret i32 0<br>
 }<br>
<br>
<br>
_______________________________________________<br>
llvm-commits mailing list<br>
<a href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a><br>
</blockquote></div><br></div>