xref: /freebsd/contrib/arm-optimized-routines/LICENSE (revision 072a4ba82a01476eaee33781ccd241033eefcf0b)
1*072a4ba8SAndrew TurnerMIT OR Apache-2.0 WITH LLVM-exception
2*072a4ba8SAndrew Turner=====================================
331914882SAlex Richardson
4*072a4ba8SAndrew Turner
5*072a4ba8SAndrew TurnerMIT License
6*072a4ba8SAndrew Turner-----------
7*072a4ba8SAndrew Turner
8*072a4ba8SAndrew TurnerCopyright (c) 1999-2022, Arm Limited.
931914882SAlex Richardson
1031914882SAlex RichardsonPermission is hereby granted, free of charge, to any person obtaining a copy
1131914882SAlex Richardsonof this software and associated documentation files (the "Software"), to deal
1231914882SAlex Richardsonin the Software without restriction, including without limitation the rights
1331914882SAlex Richardsonto use, copy, modify, merge, publish, distribute, sublicense, and/or sell
1431914882SAlex Richardsoncopies of the Software, and to permit persons to whom the Software is
1531914882SAlex Richardsonfurnished to do so, subject to the following conditions:
1631914882SAlex Richardson
1731914882SAlex RichardsonThe above copyright notice and this permission notice shall be included in all
1831914882SAlex Richardsoncopies or substantial portions of the Software.
1931914882SAlex Richardson
2031914882SAlex RichardsonTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
2131914882SAlex RichardsonIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
2231914882SAlex RichardsonFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
2331914882SAlex RichardsonAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
2431914882SAlex RichardsonLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
2531914882SAlex RichardsonOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
2631914882SAlex RichardsonSOFTWARE.
27*072a4ba8SAndrew Turner
28*072a4ba8SAndrew Turner
29*072a4ba8SAndrew TurnerApache-2.0 WITH LLVM-exception
30*072a4ba8SAndrew Turner------------------------------
31*072a4ba8SAndrew Turner
32*072a4ba8SAndrew Turner                                Apache License
33*072a4ba8SAndrew Turner                           Version 2.0, January 2004
34*072a4ba8SAndrew Turner                        http://www.apache.org/licenses/
35*072a4ba8SAndrew Turner
36*072a4ba8SAndrew Turner    TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
37*072a4ba8SAndrew Turner
38*072a4ba8SAndrew Turner    1. Definitions.
39*072a4ba8SAndrew Turner
40*072a4ba8SAndrew Turner      "License" shall mean the terms and conditions for use, reproduction,
41*072a4ba8SAndrew Turner      and distribution as defined by Sections 1 through 9 of this document.
42*072a4ba8SAndrew Turner
43*072a4ba8SAndrew Turner      "Licensor" shall mean the copyright owner or entity authorized by
44*072a4ba8SAndrew Turner      the copyright owner that is granting the License.
45*072a4ba8SAndrew Turner
46*072a4ba8SAndrew Turner      "Legal Entity" shall mean the union of the acting entity and all
47*072a4ba8SAndrew Turner      other entities that control, are controlled by, or are under common
48*072a4ba8SAndrew Turner      control with that entity. For the purposes of this definition,
49*072a4ba8SAndrew Turner      "control" means (i) the power, direct or indirect, to cause the
50*072a4ba8SAndrew Turner      direction or management of such entity, whether by contract or
51*072a4ba8SAndrew Turner      otherwise, or (ii) ownership of fifty percent (50%) or more of the
52*072a4ba8SAndrew Turner      outstanding shares, or (iii) beneficial ownership of such entity.
53*072a4ba8SAndrew Turner
54*072a4ba8SAndrew Turner      "You" (or "Your") shall mean an individual or Legal Entity
55*072a4ba8SAndrew Turner      exercising permissions granted by this License.
56*072a4ba8SAndrew Turner
57*072a4ba8SAndrew Turner      "Source" form shall mean the preferred form for making modifications,
58*072a4ba8SAndrew Turner      including but not limited to software source code, documentation
59*072a4ba8SAndrew Turner      source, and configuration files.
60*072a4ba8SAndrew Turner
61*072a4ba8SAndrew Turner      "Object" form shall mean any form resulting from mechanical
62*072a4ba8SAndrew Turner      transformation or translation of a Source form, including but
63*072a4ba8SAndrew Turner      not limited to compiled object code, generated documentation,
64*072a4ba8SAndrew Turner      and conversions to other media types.
65*072a4ba8SAndrew Turner
66*072a4ba8SAndrew Turner      "Work" shall mean the work of authorship, whether in Source or
67*072a4ba8SAndrew Turner      Object form, made available under the License, as indicated by a
68*072a4ba8SAndrew Turner      copyright notice that is included in or attached to the work
69*072a4ba8SAndrew Turner      (an example is provided in the Appendix below).
70*072a4ba8SAndrew Turner
71*072a4ba8SAndrew Turner      "Derivative Works" shall mean any work, whether in Source or Object
72*072a4ba8SAndrew Turner      form, that is based on (or derived from) the Work and for which the
73*072a4ba8SAndrew Turner      editorial revisions, annotations, elaborations, or other modifications
74*072a4ba8SAndrew Turner      represent, as a whole, an original work of authorship. For the purposes
75*072a4ba8SAndrew Turner      of this License, Derivative Works shall not include works that remain
76*072a4ba8SAndrew Turner      separable from, or merely link (or bind by name) to the interfaces of,
77*072a4ba8SAndrew Turner      the Work and Derivative Works thereof.
78*072a4ba8SAndrew Turner
79*072a4ba8SAndrew Turner      "Contribution" shall mean any work of authorship, including
80*072a4ba8SAndrew Turner      the original version of the Work and any modifications or additions
81*072a4ba8SAndrew Turner      to that Work or Derivative Works thereof, that is intentionally
82*072a4ba8SAndrew Turner      submitted to Licensor for inclusion in the Work by the copyright owner
83*072a4ba8SAndrew Turner      or by an individual or Legal Entity authorized to submit on behalf of
84*072a4ba8SAndrew Turner      the copyright owner. For the purposes of this definition, "submitted"
85*072a4ba8SAndrew Turner      means any form of electronic, verbal, or written communication sent
86*072a4ba8SAndrew Turner      to the Licensor or its representatives, including but not limited to
87*072a4ba8SAndrew Turner      communication on electronic mailing lists, source code control systems,
88*072a4ba8SAndrew Turner      and issue tracking systems that are managed by, or on behalf of, the
89*072a4ba8SAndrew Turner      Licensor for the purpose of discussing and improving the Work, but
90*072a4ba8SAndrew Turner      excluding communication that is conspicuously marked or otherwise
91*072a4ba8SAndrew Turner      designated in writing by the copyright owner as "Not a Contribution."
92*072a4ba8SAndrew Turner
93*072a4ba8SAndrew Turner      "Contributor" shall mean Licensor and any individual or Legal Entity
94*072a4ba8SAndrew Turner      on behalf of whom a Contribution has been received by Licensor and
95*072a4ba8SAndrew Turner      subsequently incorporated within the Work.
96*072a4ba8SAndrew Turner
97*072a4ba8SAndrew Turner    2. Grant of Copyright License. Subject to the terms and conditions of
98*072a4ba8SAndrew Turner      this License, each Contributor hereby grants to You a perpetual,
99*072a4ba8SAndrew Turner      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
100*072a4ba8SAndrew Turner      copyright license to reproduce, prepare Derivative Works of,
101*072a4ba8SAndrew Turner      publicly display, publicly perform, sublicense, and distribute the
102*072a4ba8SAndrew Turner      Work and such Derivative Works in Source or Object form.
103*072a4ba8SAndrew Turner
104*072a4ba8SAndrew Turner    3. Grant of Patent License. Subject to the terms and conditions of
105*072a4ba8SAndrew Turner      this License, each Contributor hereby grants to You a perpetual,
106*072a4ba8SAndrew Turner      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
107*072a4ba8SAndrew Turner      (except as stated in this section) patent license to make, have made,
108*072a4ba8SAndrew Turner      use, offer to sell, sell, import, and otherwise transfer the Work,
109*072a4ba8SAndrew Turner      where such license applies only to those patent claims licensable
110*072a4ba8SAndrew Turner      by such Contributor that are necessarily infringed by their
111*072a4ba8SAndrew Turner      Contribution(s) alone or by combination of their Contribution(s)
112*072a4ba8SAndrew Turner      with the Work to which such Contribution(s) was submitted. If You
113*072a4ba8SAndrew Turner      institute patent litigation against any entity (including a
114*072a4ba8SAndrew Turner      cross-claim or counterclaim in a lawsuit) alleging that the Work
115*072a4ba8SAndrew Turner      or a Contribution incorporated within the Work constitutes direct
116*072a4ba8SAndrew Turner      or contributory patent infringement, then any patent licenses
117*072a4ba8SAndrew Turner      granted to You under this License for that Work shall terminate
118*072a4ba8SAndrew Turner      as of the date such litigation is filed.
119*072a4ba8SAndrew Turner
120*072a4ba8SAndrew Turner    4. Redistribution. You may reproduce and distribute copies of the
121*072a4ba8SAndrew Turner      Work or Derivative Works thereof in any medium, with or without
122*072a4ba8SAndrew Turner      modifications, and in Source or Object form, provided that You
123*072a4ba8SAndrew Turner      meet the following conditions:
124*072a4ba8SAndrew Turner
125*072a4ba8SAndrew Turner      (a) You must give any other recipients of the Work or
126*072a4ba8SAndrew Turner          Derivative Works a copy of this License; and
127*072a4ba8SAndrew Turner
128*072a4ba8SAndrew Turner      (b) You must cause any modified files to carry prominent notices
129*072a4ba8SAndrew Turner          stating that You changed the files; and
130*072a4ba8SAndrew Turner
131*072a4ba8SAndrew Turner      (c) You must retain, in the Source form of any Derivative Works
132*072a4ba8SAndrew Turner          that You distribute, all copyright, patent, trademark, and
133*072a4ba8SAndrew Turner          attribution notices from the Source form of the Work,
134*072a4ba8SAndrew Turner          excluding those notices that do not pertain to any part of
135*072a4ba8SAndrew Turner          the Derivative Works; and
136*072a4ba8SAndrew Turner
137*072a4ba8SAndrew Turner      (d) If the Work includes a "NOTICE" text file as part of its
138*072a4ba8SAndrew Turner          distribution, then any Derivative Works that You distribute must
139*072a4ba8SAndrew Turner          include a readable copy of the attribution notices contained
140*072a4ba8SAndrew Turner          within such NOTICE file, excluding those notices that do not
141*072a4ba8SAndrew Turner          pertain to any part of the Derivative Works, in at least one
142*072a4ba8SAndrew Turner          of the following places: within a NOTICE text file distributed
143*072a4ba8SAndrew Turner          as part of the Derivative Works; within the Source form or
144*072a4ba8SAndrew Turner          documentation, if provided along with the Derivative Works; or,
145*072a4ba8SAndrew Turner          within a display generated by the Derivative Works, if and
146*072a4ba8SAndrew Turner          wherever such third-party notices normally appear. The contents
147*072a4ba8SAndrew Turner          of the NOTICE file are for informational purposes only and
148*072a4ba8SAndrew Turner          do not modify the License. You may add Your own attribution
149*072a4ba8SAndrew Turner          notices within Derivative Works that You distribute, alongside
150*072a4ba8SAndrew Turner          or as an addendum to the NOTICE text from the Work, provided
151*072a4ba8SAndrew Turner          that such additional attribution notices cannot be construed
152*072a4ba8SAndrew Turner          as modifying the License.
153*072a4ba8SAndrew Turner
154*072a4ba8SAndrew Turner      You may add Your own copyright statement to Your modifications and
155*072a4ba8SAndrew Turner      may provide additional or different license terms and conditions
156*072a4ba8SAndrew Turner      for use, reproduction, or distribution of Your modifications, or
157*072a4ba8SAndrew Turner      for any such Derivative Works as a whole, provided Your use,
158*072a4ba8SAndrew Turner      reproduction, and distribution of the Work otherwise complies with
159*072a4ba8SAndrew Turner      the conditions stated in this License.
160*072a4ba8SAndrew Turner
161*072a4ba8SAndrew Turner    5. Submission of Contributions. Unless You explicitly state otherwise,
162*072a4ba8SAndrew Turner      any Contribution intentionally submitted for inclusion in the Work
163*072a4ba8SAndrew Turner      by You to the Licensor shall be under the terms and conditions of
164*072a4ba8SAndrew Turner      this License, without any additional terms or conditions.
165*072a4ba8SAndrew Turner      Notwithstanding the above, nothing herein shall supersede or modify
166*072a4ba8SAndrew Turner      the terms of any separate license agreement you may have executed
167*072a4ba8SAndrew Turner      with Licensor regarding such Contributions.
168*072a4ba8SAndrew Turner
169*072a4ba8SAndrew Turner    6. Trademarks. This License does not grant permission to use the trade
170*072a4ba8SAndrew Turner      names, trademarks, service marks, or product names of the Licensor,
171*072a4ba8SAndrew Turner      except as required for reasonable and customary use in describing the
172*072a4ba8SAndrew Turner      origin of the Work and reproducing the content of the NOTICE file.
173*072a4ba8SAndrew Turner
174*072a4ba8SAndrew Turner    7. Disclaimer of Warranty. Unless required by applicable law or
175*072a4ba8SAndrew Turner      agreed to in writing, Licensor provides the Work (and each
176*072a4ba8SAndrew Turner      Contributor provides its Contributions) on an "AS IS" BASIS,
177*072a4ba8SAndrew Turner      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
178*072a4ba8SAndrew Turner      implied, including, without limitation, any warranties or conditions
179*072a4ba8SAndrew Turner      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
180*072a4ba8SAndrew Turner      PARTICULAR PURPOSE. You are solely responsible for determining the
181*072a4ba8SAndrew Turner      appropriateness of using or redistributing the Work and assume any
182*072a4ba8SAndrew Turner      risks associated with Your exercise of permissions under this License.
183*072a4ba8SAndrew Turner
184*072a4ba8SAndrew Turner    8. Limitation of Liability. In no event and under no legal theory,
185*072a4ba8SAndrew Turner      whether in tort (including negligence), contract, or otherwise,
186*072a4ba8SAndrew Turner      unless required by applicable law (such as deliberate and grossly
187*072a4ba8SAndrew Turner      negligent acts) or agreed to in writing, shall any Contributor be
188*072a4ba8SAndrew Turner      liable to You for damages, including any direct, indirect, special,
189*072a4ba8SAndrew Turner      incidental, or consequential damages of any character arising as a
190*072a4ba8SAndrew Turner      result of this License or out of the use or inability to use the
191*072a4ba8SAndrew Turner      Work (including but not limited to damages for loss of goodwill,
192*072a4ba8SAndrew Turner      work stoppage, computer failure or malfunction, or any and all
193*072a4ba8SAndrew Turner      other commercial damages or losses), even if such Contributor
194*072a4ba8SAndrew Turner      has been advised of the possibility of such damages.
195*072a4ba8SAndrew Turner
196*072a4ba8SAndrew Turner    9. Accepting Warranty or Additional Liability. While redistributing
197*072a4ba8SAndrew Turner      the Work or Derivative Works thereof, You may choose to offer,
198*072a4ba8SAndrew Turner      and charge a fee for, acceptance of support, warranty, indemnity,
199*072a4ba8SAndrew Turner      or other liability obligations and/or rights consistent with this
200*072a4ba8SAndrew Turner      License. However, in accepting such obligations, You may act only
201*072a4ba8SAndrew Turner      on Your own behalf and on Your sole responsibility, not on behalf
202*072a4ba8SAndrew Turner      of any other Contributor, and only if You agree to indemnify,
203*072a4ba8SAndrew Turner      defend, and hold each Contributor harmless for any liability
204*072a4ba8SAndrew Turner      incurred by, or claims asserted against, such Contributor by reason
205*072a4ba8SAndrew Turner      of your accepting any such warranty or additional liability.
206*072a4ba8SAndrew Turner
207*072a4ba8SAndrew Turner    END OF TERMS AND CONDITIONS
208*072a4ba8SAndrew Turner
209*072a4ba8SAndrew Turner    APPENDIX: How to apply the Apache License to your work.
210*072a4ba8SAndrew Turner
211*072a4ba8SAndrew Turner      To apply the Apache License to your work, attach the following
212*072a4ba8SAndrew Turner      boilerplate notice, with the fields enclosed by brackets "[]"
213*072a4ba8SAndrew Turner      replaced with your own identifying information. (Don't include
214*072a4ba8SAndrew Turner      the brackets!)  The text should be enclosed in the appropriate
215*072a4ba8SAndrew Turner      comment syntax for the file format. We also recommend that a
216*072a4ba8SAndrew Turner      file or class name and description of purpose be included on the
217*072a4ba8SAndrew Turner      same "printed page" as the copyright notice for easier
218*072a4ba8SAndrew Turner      identification within third-party archives.
219*072a4ba8SAndrew Turner
220*072a4ba8SAndrew Turner    Copyright [yyyy] [name of copyright owner]
221*072a4ba8SAndrew Turner
222*072a4ba8SAndrew Turner    Licensed under the Apache License, Version 2.0 (the "License");
223*072a4ba8SAndrew Turner    you may not use this file except in compliance with the License.
224*072a4ba8SAndrew Turner    You may obtain a copy of the License at
225*072a4ba8SAndrew Turner
226*072a4ba8SAndrew Turner       http://www.apache.org/licenses/LICENSE-2.0
227*072a4ba8SAndrew Turner
228*072a4ba8SAndrew Turner    Unless required by applicable law or agreed to in writing, software
229*072a4ba8SAndrew Turner    distributed under the License is distributed on an "AS IS" BASIS,
230*072a4ba8SAndrew Turner    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
231*072a4ba8SAndrew Turner    See the License for the specific language governing permissions and
232*072a4ba8SAndrew Turner    limitations under the License.
233*072a4ba8SAndrew Turner
234*072a4ba8SAndrew Turner
235*072a4ba8SAndrew Turner--- LLVM Exceptions to the Apache 2.0 License ----
236*072a4ba8SAndrew Turner
237*072a4ba8SAndrew TurnerAs an exception, if, as a result of your compiling your source code, portions
238*072a4ba8SAndrew Turnerof this Software are embedded into an Object form of such source code, you
239*072a4ba8SAndrew Turnermay redistribute such embedded portions in such Object form without complying
240*072a4ba8SAndrew Turnerwith the conditions of Sections 4(a), 4(b) and 4(d) of the License.
241*072a4ba8SAndrew Turner
242*072a4ba8SAndrew TurnerIn addition, if you combine or link compiled forms of this Software with
243*072a4ba8SAndrew Turnersoftware that is licensed under the GPLv2 ("Combined Software") and if a
244*072a4ba8SAndrew Turnercourt of competent jurisdiction determines that the patent provision (Section
245*072a4ba8SAndrew Turner3), the indemnity provision (Section 9) or other Section of the License
246*072a4ba8SAndrew Turnerconflicts with the conditions of the GPLv2, you may retroactively and
247*072a4ba8SAndrew Turnerprospectively choose to deem waived or otherwise exclude such Section(s) of
248*072a4ba8SAndrew Turnerthe License, but only in their entirety and only with respect to the Combined
249*072a4ba8SAndrew TurnerSoftware.
250