[PATCH] Implement aarch64 neon instruction class SIMD copy - Clang

Hao Liu Hao.Liu at arm.com
Fri Oct 11 02:31:45 PDT 2013


OK, it's reasonable.

 

Thanks,

-Hao

 

From: Kevin Qin [mailto:kevinqindev at gmail.com] 
Sent: Friday, October 11, 2013 2:50 AM
To: Hao Liu
Cc: Tim Northover; llvm-commits; cfe-commits at cs.uiuc.edu
Subject: Re: [PATCH] Implement aarch64 neon instruction class SIMD copy -
Clang

 

Hi Hao,

 

GenOpString() is only used to generate function body, but here I want to
modified the function's argument name, like switching vcopy_lane(a, b, c) to
vcopy_lane(a1, b1, c1).

 

 

 

2013/10/10 Hao Liu <Hao.Liu at arm.com>

Hi Kevin,

There are two points of hard code in shared functions:

+    //To avoid argument being multiple defined, add extra number for
renaming.
+    if (name == "vcopy_lane")
+      s.push_back('1');

+    bool extranumber = false;
+    if(name == "vcopy_lane")
+      extranumber = true;

     s += TypeString(proto[i], typestr) + " __";
     s.push_back(arg);
+    if(extranumber)
+      s.push_back('1');
     s += " = (";
     s.push_back(arg);
+    if(extranumber)
+      s.push_back('1');


I think maybe this is not necessary. Because you can achieve renaming in
function GenOpString(name, op, proto, typestr).
As this function has passed the "name", you can handle renaming under the
switch case of OpCopy like:

case OpCopy: {
    if (name == "vcopy_lane") {
        renaming ....

   }
 }

-----Original Message-----
From: cfe-commits-bounces at cs.uiuc.edu
[mailto:cfe-commits-bounces at cs.uiuc.edu] On Behalf Of Kevin Qin
Sent: Tuesday, October 08, 2013 6:34 AM
To: kevinqindev at gmail.com; t.p.northover at gmail.com
Cc: llvm-commits at cs.uiuc.edu; cfe-commits at cs.uiuc.edu
Subject: [PATCH] Implement aarch64 neon instruction class SIMD copy - Clang

Implemented related ACLE intrinsic : vget_lane, vset_lane, vcopy_lane,
vcreate, vdup_n, vdup_lane, vmov_n

Please review, thanks.

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

Files:
  include/clang/Basic/arm_neon.td
  lib/CodeGen/CGBuiltin.cpp
  test/CodeGen/aarch64-neon-copy.c
  utils/TableGen/NeonEmitter.cpp







 

-- 

Best Regards,

 

Kevin Qin
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20131011/a7981ffc/attachment.html>


More information about the cfe-commits mailing list