b793f0d3448a15277cd6b6cc4ba558ded39a8084 |
|
01-Aug-2013 |
Tim Northover <tnorthover@apple.com> |
AArch64: initial NEON support Patch by Ana Pazos - Completed implementation of instruction formats: AdvSIMD three same AdvSIMD modified immediate AdvSIMD scalar pairwise - Completed implementation of instruction classes (some of the instructions in these classes belong to yet unfinished instruction formats): Vector Arithmetic Vector Immediate Vector Pairwise Arithmetic - Initial implementation of instruction formats: AdvSIMD scalar two-reg misc AdvSIMD scalar three same - Intial implementation of instruction class: Scalar Arithmetic - Initial clang changes to support arm v8 intrinsics. Note: no clang changes for scalar intrinsics function name mangling yet. - Comprehensive test cases for added instructions To verify auto codegen, encoding, decoding, diagnosis, intrinsics. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187568 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/arm_neon.td
|
8da1dd629613beb1c476043fb6e3f9992b205183 |
|
16-Apr-2013 |
Michael Gottesman <mgottesman@apple.com> |
[1/6] ARM Neon Intrinsic Tablegen Test Generator. Changes necessary to arm_neon.td for the generation of Neon tests. This is the first of six patches to add to the arm neon tablegen generator the capability of generating tests to verify that the various ARM intrinsics are implemented properly. The changes include such items as: 1. Adding attributes to the Inst record so that additional metadata that is only needed for the tests can be specified in TableGen. 2. Adding wrapper classes for operator (i.e. ``Op'') intrinsics which before were simply notates as Inst. This allows us to classify what sort of test to generate for said intrinsic and further since the classes do not effect the behavior of the Inst base class, allow for normal functioning. Reviewed by Bob Wilson. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@179624 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/arm_neon.td
|
02262662b4550d0227038470f2d7b3db7ada2b87 |
|
30-Sep-2012 |
Bob Wilson <bob.wilson@apple.com> |
Add an FMA intrinsic for ARM Neon. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164904 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/arm_neon.td
|
4c919eb0c022be30d6130446cb8d50a7e8da9f46 |
|
21-Sep-2012 |
Jim Grosbach <grosbach@apple.com> |
ARM: Use a dedicated intrinsic for vector bitwise select. The expression based expansion too often results in IR level optimizations splitting the intermediate values into separate basic blocks, preventing the formation of the VBSL instruction as the code author intended. In particular, LICM would often hoist part of the computation out of a loop. rdar://11011471 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164342 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/arm_neon.td
|
667381b21f75d6964bbdf6af143308a02b9198a8 |
|
09-May-2012 |
Jim Grosbach <grosbach@apple.com> |
ARM: Support marking intrinsic definitions as 'unavailable' git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156490 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/arm_neon.td
|
f58de90e209eac7159a52e75dcd6e99b3a6311a6 |
|
24-Jun-2011 |
Bob Wilson <bob.wilson@apple.com> |
Fix comments. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@133805 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/arm_neon.td
|
d7bc7a210993fc4f67cdf5764ce4ef33f2a8ede3 |
|
09-Jun-2011 |
Bob Wilson <bob.wilson@apple.com> |
Add isVCVT_N flag to identify Neon VCVT_N intrinsics, which require special range checking for immediate operands. Radar 9558930. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132783 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/arm_neon.td
|
2d33e423d5091b7d2cb8618952752abd55bba965 |
|
31-Mar-2011 |
Bob Wilson <bob.wilson@apple.com> |
Use intrinsics for Neon vmull operations. Radar 9208957. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128590 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/arm_neon.td
|
46e392ae6d09979b087d7b1aca3b816ba4199b89 |
|
16-Dec-2010 |
Bob Wilson <bob.wilson@apple.com> |
Implement builtins for Neon half-precision float conversions. Also tweak the VCVT_F32_F16 entry in arm_neon.td to be more consistent with the other floating-point conversion builtins. Radar 8068427. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@121916 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/arm_neon.td
|
c3dcdc1d5d2e9f33fd7f7209fe62e1e87193b3ac |
|
10-Dec-2010 |
Bob Wilson <bob.wilson@apple.com> |
Add Neon vreinterpret intrinsics for half-float (f16) types. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@121433 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/arm_neon.td
|
2427dbfa880a72fa3dcba700cf587fb5d8b3cf57 |
|
09-Dec-2010 |
Bob Wilson <bob.wilson@apple.com> |
Fix type of last vector operand of Neon quad-register multiple-lane intrinsics. The sensible thing would be to have these intrinsics take all quad-register vector operands, but that's not what ARM did. They made the last vector operand always be a double-register type. Since the lane number must be a constant, the user can know which half of a quad-register contains that lane, extract the high or low half of the vector, and adjust the lane number accordingly. The only advantage I can see for this is that it works better when you want to multiply a quad-register value by a lane from a double-register value, but I wouldn't have expected that to be the common case. Oh well -- at this point we just need to follow the spec. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@121397 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/arm_neon.td
|
c9ccad380f858c511756e2d8cd55058d8fc6fbcb |
|
09-Dec-2010 |
Bob Wilson <bob.wilson@apple.com> |
Fix the names of the v[r]addhn and v[r]subhn Neon intrinsics. Their suffixes are supposed to reflect the source operand element type, not the destination element type. Radar 8746481. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@121392 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/arm_neon.td
|
c66b516707a73b026cd34f3c0bfcaaf4409155c7 |
|
09-Dec-2010 |
Bob Wilson <bob.wilson@apple.com> |
Add missing "s32" and "u32" variants of Neon vzip intrinsic. Radar 8446277. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@121360 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/arm_neon.td
|
327ce7064bed7e37ae9902ffbaf043463a914a82 |
|
09-Dec-2010 |
Bob Wilson <bob.wilson@apple.com> |
Add missing "p16" type variants for the Neon VREV32 intrinsics. Radar 8446277. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@121359 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/arm_neon.td
|
db3d4d036037f379f12643e067b229862d61e932 |
|
08-Dec-2010 |
Bob Wilson <bob.wilson@apple.com> |
Stop using builtins for the "_lane" variants of saturating multiply intrinsics. Remove the "splat" parameter from the EmitNeonCall function, since it is no longer needed. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@121300 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/arm_neon.td
|
a4cc79994b2f12663143dc31ceaf198e703fb914 |
|
08-Dec-2010 |
Bob Wilson <bob.wilson@apple.com> |
Stop using clang builtins for Neon vabdl and vabal intrinsics. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@121288 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/arm_neon.td
|
a8b988f6ec8e2355c7081b31578843be33027033 |
|
08-Dec-2010 |
Bob Wilson <bob.wilson@apple.com> |
Stop using clang builtins for Neon vaba intrinsics. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@121277 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/arm_neon.td
|
f203344728f604b7b95cbc093854d97da411dc6f |
|
08-Dec-2010 |
Bob Wilson <bob.wilson@apple.com> |
Stop using clang builtins for Neon vadd[lw] and vsub[lw] intrinsics. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@121214 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/arm_neon.td
|
4064127e722070967289d02f27ee6a6d42cdba63 |
|
08-Dec-2010 |
Bob Wilson <bob.wilson@apple.com> |
Stop using clang builtins for Neon vmlal{_n,_lane} and vmlsl{_n,_lane}. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@121210 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/arm_neon.td
|
cf55652cf668c1402eee0b12edd2e5a1bc34d7a1 |
|
07-Dec-2010 |
Bob Wilson <bob.wilson@apple.com> |
Stop using a clang builtin for Neon vdup_lane intrinsics. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@121191 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/arm_neon.td
|
c92b7721603484ddf337034c6f291d1b419a0528 |
|
07-Dec-2010 |
Bob Wilson <bob.wilson@apple.com> |
Stop using a clang builtin for Neon vmull_lane intrinsic. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@121189 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/arm_neon.td
|
468acf9e29b8b9bcefd227d0a0e65356678b43cd |
|
07-Dec-2010 |
Bob Wilson <bob.wilson@apple.com> |
Implement vmull and vmull_n intrinsics without using clang builtins. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@121174 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/arm_neon.td
|
9407444a159731b85b3d6d54f3a158d7341fc9f8 |
|
07-Dec-2010 |
Bob Wilson <bob.wilson@apple.com> |
Add Neon vreinterpret intrinsics. Radar 8681774. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@121089 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/arm_neon.td
|
0d3f3ffe0b8567501c27ef6963d9335ecbc6e249 |
|
07-Dec-2010 |
Bob Wilson <bob.wilson@apple.com> |
Make whitespace more consistent. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@121088 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/arm_neon.td
|
4740dabd14c8660d641228d75ed91bf7e6753b77 |
|
03-Dec-2010 |
Bob Wilson <bob.wilson@apple.com> |
Add missing vext_f32 and vextq_f32 Neon intrinsics (Radar 8592601). For some reason these were not included in the list of Neon intrinsics in ARM's documentation, so they didn't make it into Clang either. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@120815 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/arm_neon.td
|
953d513c7ee79b3d9e37597e64317e75c0fbf7f6 |
|
03-Dec-2010 |
Bob Wilson <bob.wilson@apple.com> |
Add support for vmul_p8 Neon intrinsic. Radar 8446141. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@120812 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/arm_neon.td
|
96bfa6249fe65eaaaba795845c0f92f94d2b8a0d |
|
03-Dec-2010 |
Bob Wilson <bob.wilson@apple.com> |
Add a separate name field to the Neon intrinsic table. This is currently the same as a lowercase version of the record name, but it will allow us to have multiple records with the same name, which is needed for intrinsics (e.g., vmul and vmull) that are implemented differently depending on the type. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@120807 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/arm_neon.td
|
96c105c8c3f4a9f39fdd4f967226f14c8e3face8 |
|
03-Dec-2010 |
Bob Wilson <bob.wilson@apple.com> |
Add support for "_lane" variants of VMUL, VMLA, and VMLS Neon intrinsics. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@120765 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/arm_neon.td
|
e343583370ba7465273645a300b9a829e3a95d82 |
|
01-Dec-2010 |
Bob Wilson <bob.wilson@apple.com> |
Add some comments. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@120598 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/arm_neon.td
|
bce8d4b0abc22c59d8a5d1537df22b0d13f25db8 |
|
18-Nov-2010 |
Bob Wilson <bob.wilson@apple.com> |
Use a signed vector type for the shift amount operand of unsigned shifts. Neon shifts allow a mix of positive and negative shift amounts to shift left or right, respectively, so the shift amount vector should always be signed. PR8482 (Radar 8603521). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119748 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/arm_neon.td
|
cd480ad90ff4c144084805761d2dfa52ee9e1c92 |
|
06-Aug-2010 |
Nate Begeman <natebegeman@mac.com> |
vdup_lane was missing <rdar://problem/8278732> git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110420 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/arm_neon.td
|
4be54302da40d3e7cba3d93115f312d2fcca1879 |
|
21-Jun-2010 |
Nate Begeman <natebegeman@mac.com> |
Implement remaining codegen for NEON, all operations should now work. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@106407 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/arm_neon.td
|
a23326b5c244a03bf61ebb86db60a777ea26f926 |
|
17-Jun-2010 |
Nate Begeman <natebegeman@mac.com> |
Generate arm_neon.inc in include/clang/Basic, which provides: 1. builtins definitions for BuiltinsARM.def 2. intrinsic validation code for SemaChecking Unsure as to whether this is the best way to handle the make dependencies or not. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@106208 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/arm_neon.td
|