[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/llvm-commits/attachments/20131011/a7981ffc/attachment.html>
More information about the llvm-commits
mailing list