<div dir="ltr">Ping...</div><div class="gmail_extra"><br><div class="gmail_quote">2015-05-11 16:55 GMT+08:00 Kevin Qin <span dir="ltr"><<a href="mailto:kevinqindev@gmail.com" target="_blank">kevinqindev@gmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi,<br>
<br>
This patch allows to define poly64_t as 'unsigned long long' on LLP64 system, like netbsd. This patch fixes PR23414 as well. Please review.<br>
<br>
Thanks,<br>
Kevin<br>
<br>
<a href="http://reviews.llvm.org/D9655" target="_blank">http://reviews.llvm.org/D9655</a><br>
<br>
Files:<br>
  lib/AST/ItaniumMangle.cpp<br>
  lib/Sema/SemaChecking.cpp<br>
  test/CodeGenCXX/aarch64-neon.cpp<br>
<br>
Index: lib/AST/ItaniumMangle.cpp<br>
===================================================================<br>
--- lib/AST/ItaniumMangle.cpp<br>
+++ lib/AST/ItaniumMangle.cpp<br>
@@ -2311,6 +2311,7 @@<br>
       EltName = "Poly16";<br>
       break;<br>
     case BuiltinType::ULong:<br>
+    case BuiltinType::ULongLong:<br>
       EltName = "Poly64";<br>
       break;<br>
     default:<br>
Index: lib/Sema/SemaChecking.cpp<br>
===================================================================<br>
--- lib/Sema/SemaChecking.cpp<br>
+++ lib/Sema/SemaChecking.cpp<br>
@@ -623,7 +623,10 @@<br>
   case NeonTypeFlags::Poly16:<br>
     return IsPolyUnsigned ? Context.UnsignedShortTy : Context.ShortTy;<br>
   case NeonTypeFlags::Poly64:<br>
-    return Context.UnsignedLongTy;<br>
+    if (IsInt64Long)<br>
+      return Context.UnsignedLongTy;<br>
+    else<br>
+      return Context.UnsignedLongLongTy;<br>
   case NeonTypeFlags::Poly128:<br>
     break;<br>
   case NeonTypeFlags::Float16:<br>
Index: test/CodeGenCXX/aarch64-neon.cpp<br>
===================================================================<br>
--- test/CodeGenCXX/aarch64-neon.cpp<br>
+++ test/CodeGenCXX/aarch64-neon.cpp<br>
@@ -1,6 +1,8 @@<br>
 // REQUIRES: aarch64-registered-target<br>
 // RUN: %clang_cc1 -triple arm64-none-linux-gnu -target-feature +neon \<br>
 // RUN:   -ffp-contract=fast -S -O3 -o - %s | FileCheck %s<br>
+// RUN: %clang_cc1 -triple arm64-none-netbsd-gnu -target-feature +neon \<br>
+// RUN:   -ffp-contract=fast -S -O3 -o - %s | FileCheck %s<br>
<br>
 // Test whether arm_neon.h works as expected in C++.<br>
<br>
EMAIL PREFERENCES<br>
  <a href="http://reviews.llvm.org/settings/panel/emailpreferences/" target="_blank">http://reviews.llvm.org/settings/panel/emailpreferences/</a><br>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature"><div dir="ltr">Best Regards,<div><br></div><div>Kevin Qin</div></div></div>
</div>