diff --git a/main/locale/pot/LC_MESSAGES/AIToolPolicy.pot b/main/locale/pot/LC_MESSAGES/AIToolPolicy.pot new file mode 100644 index 00000000000..345b7834cce --- /dev/null +++ b/main/locale/pot/LC_MESSAGES/AIToolPolicy.pot @@ -0,0 +1,312 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2003-2026, LLVM Project +# This file is distributed under the same license as the LLVM package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: LLVM main\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-03-09 08:48+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../../../AIToolPolicy.md:1 +msgid "LLVM AI Tool Use Policy" +msgstr "" + +#: ../../../AIToolPolicy.md:3 +msgid "Policy" +msgstr "" + +#: ../../../AIToolPolicy.md:5 +msgid "" +"LLVM's policy is that contributors can use whatever tools they would like to " +"craft their contributions, but there must be a **human in the loop**. " +"**Contributors must read and review all LLM-generated code or text before " +"they ask other project members to review it.** The contributor is always the " +"author and is fully accountable for their contributions. Contributors should " +"be sufficiently confident that the contribution is high enough quality that " +"asking for a review is a good use of scarce maintainer time, and they should " +"be **able to answer questions about their work** during review." +msgstr "" + +#: ../../../AIToolPolicy.md:14 +msgid "" +"We expect that new contributors will be less confident in their " +"contributions, and our guidance to them is to **start with small " +"contributions** that they can fully understand to build confidence. We " +"aspire to be a welcoming community that helps new contributors grow their " +"expertise, but learning involves taking small steps, getting feedback, and " +"iterating. Passing maintainer feedback to an LLM doesn't help anyone grow, " +"and does not sustain our community." +msgstr "" + +#: ../../../AIToolPolicy.md:21 +msgid "" +"Contributors are expected to **be transparent and label contributions that " +"contain substantial amounts of tool-generated content**. Our policy on " +"labelling is intended to facilitate reviews, and not to track which parts of " +"LLVM are generated. Contributors should note tool usage in their pull " +"request description, commit message, or wherever authorship is normally " +"indicated for the work. For instance, use a commit message trailer like " +"Assisted-by: . This transparency helps the community " +"develop best practices and understand the role of these new tools." +msgstr "" + +#: ../../../AIToolPolicy.md:21 +msgid "" +"" +msgstr "" + +#: ../../../AIToolPolicy.md:30 +msgid "" +"This policy includes, but is not limited to, the following kinds of " +"contributions:" +msgstr "" + +#: ../../../AIToolPolicy.md:33 +msgid "Code, usually in the form of a pull request" +msgstr "" + +#: ../../../AIToolPolicy.md:34 +msgid "RFCs or design proposals" +msgstr "" + +#: ../../../AIToolPolicy.md:35 +msgid "Issues or security vulnerabilities" +msgstr "" + +#: ../../../AIToolPolicy.md:36 +msgid "Comments and feedback on pull requests" +msgstr "" + +#: ../../../AIToolPolicy.md:38 +msgid "Details" +msgstr "" + +#: ../../../AIToolPolicy.md:40 +msgid "" +"To ensure sufficient self review and understanding of the work, it is " +"strongly recommended that contributors write PR descriptions themselves (if " +"needed, using tools for translation or copy-editing). The description should " +"explain the motivation, implementation approach, expected impact, and any " +"open questions or uncertainties to the same extent as a contribution made " +"without tool assistance." +msgstr "" + +#: ../../../AIToolPolicy.md:47 +msgid "" +"An important implication of this policy is that it bans agents that take " +"action in our digital spaces without human approval, such as the GitHub " +"[`@claude` agent](https://github.com/claude/). Similarly, automated review " +"tools that publish comments without human review are not allowed. However, " +"an opt-in review tool that **keeps a human in the loop** is acceptable under " +"this policy. As another example, using an LLM to generate documentation, " +"which a contributor manually reviews for correctness, edits, and then posts " +"as a PR, is an approved use of tools under this policy." +msgstr "" + +#: ../../../AIToolPolicy.md:56 +msgid "" +"AI tools must not be used to fix GitHub issues labelled [`good first issue`]" +"[good-first-issue]. These issues are generally not urgent, and are intended " +"to be learning opportunities for new contributors to get familiar with the " +"codebase. Whether you are a newcomer or not, fully automating the process of " +"fixing this issue squanders the learning opportunity and doesn't add much " +"value to the project. **Using AI tools to fix issues labelled as \"good " +"first issues\" is forbidden**." +msgstr "" + +#: ../../../AIToolPolicy.md:66 +msgid "Extractive Contributions" +msgstr "" + +#: ../../../AIToolPolicy.md:68 +msgid "" +"The reason for our \"human-in-the-loop\" contribution policy is that " +"processing patches, PRs, RFCs, and comments to LLVM is not free -- it takes " +"a lot of maintainer time and energy to review those contributions! Sending " +"the unreviewed output of an LLM to open source project maintainers " +"*extracts* work from them in the form of design and code review, so we call " +"this kind of contribution an \"extractive contribution\"." +msgstr "" + +#: ../../../AIToolPolicy.md:75 +msgid "" +"Our **golden rule** is that a contribution should be worth more to the " +"project than the time it takes to review it. These ideas are captured by " +"this quote from the book [Working in Public][public] by Nadia Eghbal:" +msgstr "" + +#: ../../../AIToolPolicy.md:81 +msgid "" +"\\\"When attention is being appropriated, producers need to weigh the costs " +"and benefits of the transaction. To assess whether the appropriation of " +"attention is net-positive, it's useful to distinguish between *extractive* " +"and *non-extractive* contributions. Extractive contributions are those where " +"the marginal cost of reviewing and merging that contribution is greater than " +"the marginal benefit to the project's producers. In the case of a code " +"contribution, it might be a pull request that's too complex or unwieldy to " +"review, given the potential upside.\\\" \\-- Nadia Eghbal" +msgstr "" + +#: ../../../AIToolPolicy.md:90 +msgid "" +"Prior to the advent of LLMs, open source project maintainers would often " +"review any and all changes sent to the project simply because posting a " +"change for review was a sign of interest from a potential long-term " +"contributor. While new tools enable more development, it shifts effort from " +"the implementor to the reviewer, and our policy exists to ensure that we " +"value and do not squander maintainer time." +msgstr "" + +#: ../../../AIToolPolicy.md:97 +msgid "" +"Reviewing changes from new contributors is part of growing the next " +"generation of contributors and sustaining the project. We want the LLVM " +"project to be welcoming and open to aspiring compiler engineers who are " +"willing to invest time and effort to learn and grow, because growing our " +"contributor base and recruiting new maintainers helps sustain the project " +"over the long term. Being open to contributions and [liberally granting " +"commit access][commit-access] is a big part of how LLVM has grown and " +"successfully been adopted all across the industry. We therefore " +"automatically post a greeting comment to pull requests from new contributors " +"and encourage maintainers to spend their time to help new contributors learn." +msgstr "" + +#: ../../../AIToolPolicy.md:110 +msgid "Handling Violations" +msgstr "" + +#: ../../../AIToolPolicy.md:112 +msgid "" +"If a maintainer judges that a contribution doesn't comply with this policy, " +"they should paste the following response to request changes:" +msgstr "" + +#: ../../../AIToolPolicy.md:120 +msgid "" +"The best ways to make a change less extractive and more valuable are to " +"reduce its size or complexity or to increase its usefulness to the " +"community. These factors are impossible to weigh objectively, and our " +"project policy leaves this determination up to the maintainers of the " +"project, i.e. those who are doing the work of sustaining the project." +msgstr "" + +#: ../../../AIToolPolicy.md:126 +msgid "" +"If or when it becomes clear that a GitHub issue or PR is off-track and not " +"moving in the right direction, maintainers should apply the `extractive` " +"label to help other reviewers prioritize their review time." +msgstr "" + +#: ../../../AIToolPolicy.md:130 +msgid "" +"If a contributor fails to make their change meaningfully less extractive, " +"maintainers should escalate to the relevant moderation or admin team for the " +"space (GitHub, Discourse, Discord, etc) to lock the conversation." +msgstr "" + +#: ../../../AIToolPolicy.md:134 +msgid "Copyright" +msgstr "" + +#: ../../../AIToolPolicy.md:136 +msgid "" +"Artificial intelligence systems raise many questions around copyright that " +"have yet to be answered. Our policy on AI tools is similar to our copyright " +"policy: Contributors are responsible for ensuring that they have the right " +"to contribute code under the terms of our license, typically meaning that " +"either they, their employer, or their collaborators hold the copyright. " +"Using AI tools to regenerate copyrighted material does not remove the " +"copyright, and contributors are responsible for ensuring that such material " +"does not appear in their contributions. Contributions found to violate this " +"policy will be removed just like any other offending contribution." +msgstr "" + +#: ../../../AIToolPolicy.md:146 +msgid "Exceptions" +msgstr "" + +#: ../../../AIToolPolicy.md:148 +msgid "" +"We have one exception to this policy for the Bazel-fixer bot. The project " +"council approved [this RFC][bazel-rfc] proposing to use a combination of " +"[dwyu][dwyu] and LLMs to maintain the Bazel build files." +msgstr "" + +#: ../../../AIToolPolicy.md:155 +msgid "" +"Any future exception will be considered individually on its own merits as to " +"whether it is useful to the project or extracts work from maintainers." +msgstr "" + +#: ../../../AIToolPolicy.md:158 +msgid "Examples" +msgstr "" + +#: ../../../AIToolPolicy.md:160 +msgid "" +"Here are some examples of contributions that demonstrate how to apply the " +"principles of this policy:" +msgstr "" + +#: ../../../AIToolPolicy.md:163 +msgid "" +"[This PR][alive-pr] contains a proof from Alive2, which is a strong signal " +"of value and correctness." +msgstr "" + +#: ../../../AIToolPolicy.md:165 +msgid "" +"This [generated documentation][gsym-docs] was reviewed for correctness by a " +"human before being posted." +msgstr "" + +#: ../../../AIToolPolicy.md:171 +msgid "References" +msgstr "" + +#: ../../../AIToolPolicy.md:173 +msgid "Our policy was informed by experiences in other communities:" +msgstr "" + +#: ../../../AIToolPolicy.md:175 +msgid "" +"[Fedora Council Policy Proposal: Policy on AI-Assisted Contributions " +"(fetched 2025-10-01)][fedora]: Some of the text above was copied from the " +"Fedora project policy proposal, which is licensed under the [Creative " +"Commons Attribution 4.0 International License][cca]. This link serves as " +"attribution." +msgstr "" + +#: ../../../AIToolPolicy.md:179 +msgid "[Rust draft policy on burdensome PRs][rust-burdensome]" +msgstr "" + +#: ../../../AIToolPolicy.md:180 +msgid "" +"[Seth Larson's post][security-slop] on slop security reports in the Python " +"ecosystem" +msgstr "" + +#: ../../../AIToolPolicy.md:182 +msgid "" +"The METR paper [Measuring the Impact of Early-2025 AI on Experienced Open-" +"Source Developer Productivity][metr-paper]." +msgstr "" + +#: ../../../AIToolPolicy.md:184 +msgid "[QEMU bans use of AI content generators][qemu-ban]" +msgstr "" + +#: ../../../AIToolPolicy.md:185 +msgid "[Slop is the new name for unwanted AI-generated content][ai-slop]" +msgstr "" diff --git a/main/locale/pot/LC_MESSAGES/AMDGPUAsyncOperations.pot b/main/locale/pot/LC_MESSAGES/AMDGPUAsyncOperations.pot new file mode 100644 index 00000000000..b142806e665 --- /dev/null +++ b/main/locale/pot/LC_MESSAGES/AMDGPUAsyncOperations.pot @@ -0,0 +1,209 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2003-2026, LLVM Project +# This file is distributed under the same license as the LLVM package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: LLVM main\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-03-09 08:48+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../../../AMDGPUAsyncOperations.rst:5 +msgid "AMDGPU Asynchronous Operations" +msgstr "" + +#: ../../../AMDGPUAsyncOperations.rst:11 +msgid "Introduction" +msgstr "" + +#: ../../../AMDGPUAsyncOperations.rst:13 +msgid "" +"Asynchronous operations are memory transfers (usually between the global " +"memory and LDS) that are completed independently at an unspecified scope. A " +"thread that requests one or more asynchronous transfers can use *async " +"marks* to track their completion. The thread waits for each mark to be " +"*completed*, which indicates that requests initiated in program order before " +"this mark have also completed." +msgstr "" + +#: ../../../AMDGPUAsyncOperations.rst:21 +msgid "Operations" +msgstr "" + +#: ../../../AMDGPUAsyncOperations.rst:24 +msgid "Memory Accesses" +msgstr "" + +#: ../../../AMDGPUAsyncOperations.rst:27 +msgid "LDS DMA Operations" +msgstr "" + +#: ../../../AMDGPUAsyncOperations.rst:39 +msgid "" +"Request an async operation that copies the specified number of bytes from " +"the global/buffer pointer ``%src`` to the LDS pointer ``%dst``." +msgstr "" + +#: ../../../AMDGPUAsyncOperations.rst:44 +msgid "" +"The above listing is *merely representative*. The actual function signatures " +"are identical to their non-async variants, and supported only on the " +"corresponding architectures (GFX9 and GFX10)." +msgstr "" + +#: ../../../AMDGPUAsyncOperations.rst:49 +msgid "Async Mark Operations" +msgstr "" + +#: ../../../AMDGPUAsyncOperations.rst:51 +msgid "" +"An *async mark* in the abstract machine tracks all the async operations that " +"are program ordered before that mark. A mark M is said to be *completed* " +"only when all async operations program ordered before M are reported by the " +"implementation as having finished, and it is said to be *outstanding* " +"otherwise." +msgstr "" + +#: ../../../AMDGPUAsyncOperations.rst:56 +msgid "Thus we have the following sufficient condition:" +msgstr "" + +#: ../../../AMDGPUAsyncOperations.rst:58 +msgid "" +"An async operation X is *completed* at a program point P if there exists a " +"mark M such that X is program ordered before M, M is program ordered before " +"P, and M is completed. X is said to be *outstanding* at P otherwise." +msgstr "" + +#: ../../../AMDGPUAsyncOperations.rst:62 +msgid "" +"The abstract machine maintains a sequence of *async marks* during the " +"execution of a function body, which excludes any marks produced by calls to " +"other functions encountered in the currently executing function." +msgstr "" + +#: ../../../AMDGPUAsyncOperations.rst:68 +msgid "``@llvm.amdgcn.asyncmark()``" +msgstr "" + +#: ../../../AMDGPUAsyncOperations.rst:70 +msgid "" +"When executed, inserts an async mark in the sequence associated with the " +"currently executing function body." +msgstr "" + +#: ../../../AMDGPUAsyncOperations.rst:74 +msgid "``@llvm.amdgcn.wait.asyncmark(i16 %N)``" +msgstr "" + +#: ../../../AMDGPUAsyncOperations.rst:76 +msgid "" +"Waits until there are at most N outstanding marks in the sequence associated " +"with the currently executing function body." +msgstr "" + +#: ../../../AMDGPUAsyncOperations.rst:80 +msgid "Memory Consistency Model" +msgstr "" + +#: ../../../AMDGPUAsyncOperations.rst:82 +msgid "" +"Each asynchronous operation consists of a non-atomic read on the source and " +"a non-atomic write on the destination. Async \"LDS DMA\" intrinsics result " +"in async accesses that guarantee visibility relative to other memory " +"operations as follows:" +msgstr "" + +#: ../../../AMDGPUAsyncOperations.rst:87 +msgid "" +"An asynchronous operation `A` program ordered before an overlapping memory " +"operation `X` happens-before `X` only if `A` is completed before `X`." +msgstr "" + +#: ../../../AMDGPUAsyncOperations.rst:90 +msgid "" +"A memory operation `X` program ordered before an overlapping asynchronous " +"operation `A` happens-before `A`." +msgstr "" + +#: ../../../AMDGPUAsyncOperations.rst:95 +msgid "" +"The *only if* in the above wording implies that unlike the default LLVM " +"memory model, certain program order edges are not automatically included in " +"``happens-before``." +msgstr "" + +#: ../../../AMDGPUAsyncOperations.rst:100 +msgid "Examples" +msgstr "" + +#: ../../../AMDGPUAsyncOperations.rst:103 +msgid "Uneven blocks of async transfers" +msgstr "" + +#: ../../../AMDGPUAsyncOperations.rst:132 +msgid "Software pipeline" +msgstr "" + +#: ../../../AMDGPUAsyncOperations.rst:165 +msgid "Ordinary function call" +msgstr "" + +#: ../../../AMDGPUAsyncOperations.rst:189 +msgid "Implementation notes" +msgstr "" + +#: ../../../AMDGPUAsyncOperations.rst:191 +msgid "[This section is informational.]" +msgstr "" + +#: ../../../AMDGPUAsyncOperations.rst:194 +msgid "Optimization" +msgstr "" + +#: ../../../AMDGPUAsyncOperations.rst:196 +msgid "" +"The implementation may eliminate async mark/wait intrinsics in the following " +"cases:" +msgstr "" + +#: ../../../AMDGPUAsyncOperations.rst:198 +msgid "" +"An ``asyncmark`` operation which is not included in the wait count of a " +"later wait operation in the current function. In particular, an " +"``asyncmark`` which is not post-dominated by any ``wait.asyncmark``." +msgstr "" + +#: ../../../AMDGPUAsyncOperations.rst:201 +msgid "" +"A ``wait.asyncmark`` whose wait count is more than the outstanding async " +"marks at that point. In particular, a ``wait.asyncmark`` that is not " +"dominated by any ``asyncmark``." +msgstr "" + +#: ../../../AMDGPUAsyncOperations.rst:205 +msgid "" +"In general, at a function call, if the caller uses sufficient waits to track " +"its own async operations, the actions performed by the callee cannot affect " +"correctness. But inlining such a call may result in redundant waits." +msgstr "" + +#: ../../../AMDGPUAsyncOperations.rst:222 +msgid "" +"Before inlining, the ``wait.asyncmark`` waits for mark B to be completed." +msgstr "" + +#: ../../../AMDGPUAsyncOperations.rst:236 +msgid "" +"After inlining, the asyncmark-wait now waits for mark C to complete, which " +"is longer than necessary. Ideally, the optimizer should have eliminated mark " +"A in the body of foo() itself." +msgstr "" diff --git a/main/locale/pot/LC_MESSAGES/AMDGPUUsage.pot b/main/locale/pot/LC_MESSAGES/AMDGPUUsage.pot index 4c7293fc622..bd31736065a 100644 --- a/main/locale/pot/LC_MESSAGES/AMDGPUUsage.pot +++ b/main/locale/pot/LC_MESSAGES/AMDGPUUsage.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: LLVM main\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-12-22 08:34+0000\n" +"POT-Creation-Date: 2026-03-09 08:48+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -50,41 +50,41 @@ msgstr "" msgid "AMDGPU Architectures" msgstr "" -#: ../../../AMDGPUUsage.rst:55 ../../../AMDGPUUsage.rst:19897 +#: ../../../AMDGPUUsage.rst:55 ../../../AMDGPUUsage.rst:20886 msgid "Architecture" msgstr "" #: ../../../AMDGPUUsage.rst:55 ../../../AMDGPUUsage.rst:65 #: ../../../AMDGPUUsage.rst:75 ../../../AMDGPUUsage.rst:99 -#: ../../../AMDGPUUsage.rst:733 ../../../AMDGPUUsage.rst:1131 -#: ../../../AMDGPUUsage.rst:1280 ../../../AMDGPUUsage.rst:1796 -#: ../../../AMDGPUUsage.rst:2027 ../../../AMDGPUUsage.rst:2166 -#: ../../../AMDGPUUsage.rst:2354 ../../../AMDGPUUsage.rst:2381 -#: ../../../AMDGPUUsage.rst:2416 ../../../AMDGPUUsage.rst:2443 -#: ../../../AMDGPUUsage.rst:2658 ../../../AMDGPUUsage.rst:2824 -#: ../../../AMDGPUUsage.rst:2865 ../../../AMDGPUUsage.rst:3094 -#: ../../../AMDGPUUsage.rst:3872 ../../../AMDGPUUsage.rst:3980 -#: ../../../AMDGPUUsage.rst:4024 ../../../AMDGPUUsage.rst:4061 -#: ../../../AMDGPUUsage.rst:4102 ../../../AMDGPUUsage.rst:4301 -#: ../../../AMDGPUUsage.rst:4404 ../../../AMDGPUUsage.rst:4449 -#: ../../../AMDGPUUsage.rst:4633 ../../../AMDGPUUsage.rst:4846 -#: ../../../AMDGPUUsage.rst:4878 ../../../AMDGPUUsage.rst:4892 -#: ../../../AMDGPUUsage.rst:4906 ../../../AMDGPUUsage.rst:4926 -#: ../../../AMDGPUUsage.rst:5041 ../../../AMDGPUUsage.rst:5242 -#: ../../../AMDGPUUsage.rst:5413 ../../../AMDGPUUsage.rst:5734 -#: ../../../AMDGPUUsage.rst:5930 ../../../AMDGPUUsage.rst:5953 -#: ../../../AMDGPUUsage.rst:6005 ../../../AMDGPUUsage.rst:6054 -#: ../../../AMDGPUUsage.rst:6084 ../../../AMDGPUUsage.rst:6102 -#: ../../../AMDGPUUsage.rst:6143 ../../../AMDGPUUsage.rst:6235 -#: ../../../AMDGPUUsage.rst:6256 ../../../AMDGPUUsage.rst:18779 -#: ../../../AMDGPUUsage.rst:18819 ../../../AMDGPUUsage.rst:18861 -#: ../../../AMDGPUUsage.rst:19341 ../../../AMDGPUUsage.rst:19356 -#: ../../../AMDGPUUsage.rst:19427 ../../../AMDGPUUsage.rst:19443 -#: ../../../AMDGPUUsage.rst:19467 ../../../AMDGPUUsage.rst:19484 -#: ../../../AMDGPUUsage.rst:19519 ../../../AMDGPUUsage.rst:19532 -#: ../../../AMDGPUUsage.rst:19554 ../../../AMDGPUUsage.rst:19611 -#: ../../../AMDGPUUsage.rst:19707 ../../../AMDGPUUsage.rst:19844 -#: ../../../AMDGPUUsage.rst:20457 +#: ../../../AMDGPUUsage.rst:757 ../../../AMDGPUUsage.rst:1155 +#: ../../../AMDGPUUsage.rst:1304 ../../../AMDGPUUsage.rst:1973 +#: ../../../AMDGPUUsage.rst:2218 ../../../AMDGPUUsage.rst:2370 +#: ../../../AMDGPUUsage.rst:2558 ../../../AMDGPUUsage.rst:2585 +#: ../../../AMDGPUUsage.rst:2620 ../../../AMDGPUUsage.rst:2647 +#: ../../../AMDGPUUsage.rst:2866 ../../../AMDGPUUsage.rst:3032 +#: ../../../AMDGPUUsage.rst:3073 ../../../AMDGPUUsage.rst:3302 +#: ../../../AMDGPUUsage.rst:4080 ../../../AMDGPUUsage.rst:4188 +#: ../../../AMDGPUUsage.rst:4232 ../../../AMDGPUUsage.rst:4269 +#: ../../../AMDGPUUsage.rst:4310 ../../../AMDGPUUsage.rst:4509 +#: ../../../AMDGPUUsage.rst:4612 ../../../AMDGPUUsage.rst:4657 +#: ../../../AMDGPUUsage.rst:4841 ../../../AMDGPUUsage.rst:5054 +#: ../../../AMDGPUUsage.rst:5086 ../../../AMDGPUUsage.rst:5100 +#: ../../../AMDGPUUsage.rst:5114 ../../../AMDGPUUsage.rst:5134 +#: ../../../AMDGPUUsage.rst:5249 ../../../AMDGPUUsage.rst:5450 +#: ../../../AMDGPUUsage.rst:5621 ../../../AMDGPUUsage.rst:5946 +#: ../../../AMDGPUUsage.rst:6142 ../../../AMDGPUUsage.rst:6165 +#: ../../../AMDGPUUsage.rst:6217 ../../../AMDGPUUsage.rst:6266 +#: ../../../AMDGPUUsage.rst:6296 ../../../AMDGPUUsage.rst:6314 +#: ../../../AMDGPUUsage.rst:6355 ../../../AMDGPUUsage.rst:6447 +#: ../../../AMDGPUUsage.rst:6468 ../../../AMDGPUUsage.rst:7058 +#: ../../../AMDGPUUsage.rst:19768 ../../../AMDGPUUsage.rst:19808 +#: ../../../AMDGPUUsage.rst:19850 ../../../AMDGPUUsage.rst:20330 +#: ../../../AMDGPUUsage.rst:20345 ../../../AMDGPUUsage.rst:20416 +#: ../../../AMDGPUUsage.rst:20432 ../../../AMDGPUUsage.rst:20456 +#: ../../../AMDGPUUsage.rst:20473 ../../../AMDGPUUsage.rst:20508 +#: ../../../AMDGPUUsage.rst:20521 ../../../AMDGPUUsage.rst:20543 +#: ../../../AMDGPUUsage.rst:20600 ../../../AMDGPUUsage.rst:20696 +#: ../../../AMDGPUUsage.rst:20833 ../../../AMDGPUUsage.rst:21446 msgid "Description" msgstr "" @@ -96,7 +96,7 @@ msgstr "" #: ../../../AMDGPUUsage.rst:186 ../../../AMDGPUUsage.rst:191 #: ../../../AMDGPUUsage.rst:196 ../../../AMDGPUUsage.rst:203 #: ../../../AMDGPUUsage.rst:208 ../../../AMDGPUUsage.rst:213 -#: ../../../AMDGPUUsage.rst:218 ../../../AMDGPUUsage.rst:2479 +#: ../../../AMDGPUUsage.rst:218 ../../../AMDGPUUsage.rst:2683 msgid "``r600``" msgstr "" @@ -127,11 +127,13 @@ msgstr "" #: ../../../AMDGPUUsage.rst:475 ../../../AMDGPUUsage.rst:482 #: ../../../AMDGPUUsage.rst:491 ../../../AMDGPUUsage.rst:498 #: ../../../AMDGPUUsage.rst:505 ../../../AMDGPUUsage.rst:512 -#: ../../../AMDGPUUsage.rst:521 ../../../AMDGPUUsage.rst:528 -#: ../../../AMDGPUUsage.rst:535 ../../../AMDGPUUsage.rst:547 -#: ../../../AMDGPUUsage.rst:577 ../../../AMDGPUUsage.rst:599 -#: ../../../AMDGPUUsage.rst:605 ../../../AMDGPUUsage.rst:624 -#: ../../../AMDGPUUsage.rst:633 ../../../AMDGPUUsage.rst:663 +#: ../../../AMDGPUUsage.rst:521 ../../../AMDGPUUsage.rst:530 +#: ../../../AMDGPUUsage.rst:537 ../../../AMDGPUUsage.rst:544 +#: ../../../AMDGPUUsage.rst:556 ../../../AMDGPUUsage.rst:570 +#: ../../../AMDGPUUsage.rst:595 ../../../AMDGPUUsage.rst:617 +#: ../../../AMDGPUUsage.rst:623 ../../../AMDGPUUsage.rst:642 +#: ../../../AMDGPUUsage.rst:651 ../../../AMDGPUUsage.rst:681 +#: ../../../AMDGPUUsage.rst:687 msgid "``amdgcn``" msgstr "" @@ -258,7 +260,7 @@ msgstr "" msgid "AMDGPU Processors" msgstr "" -#: ../../../AMDGPUUsage.rst:123 ../../../AMDGPUUsage.rst:572 +#: ../../../AMDGPUUsage.rst:123 ../../../AMDGPUUsage.rst:590 msgid "Processor" msgstr "" @@ -266,7 +268,7 @@ msgstr "" msgid "Alternative Processor" msgstr "" -#: ../../../AMDGPUUsage.rst:123 ../../../AMDGPUUsage.rst:572 +#: ../../../AMDGPUUsage.rst:123 ../../../AMDGPUUsage.rst:590 msgid "Target Triple Architecture" msgstr "" @@ -274,11 +276,11 @@ msgstr "" msgid "dGPU/ APU" msgstr "" -#: ../../../AMDGPUUsage.rst:123 ../../../AMDGPUUsage.rst:572 +#: ../../../AMDGPUUsage.rst:123 ../../../AMDGPUUsage.rst:590 msgid "Target Features Supported" msgstr "" -#: ../../../AMDGPUUsage.rst:123 ../../../AMDGPUUsage.rst:572 +#: ../../../AMDGPUUsage.rst:123 ../../../AMDGPUUsage.rst:590 msgid "Target Properties" msgstr "" @@ -318,7 +320,8 @@ msgstr "" #: ../../../AMDGPUUsage.rst:423 ../../../AMDGPUUsage.rst:426 #: ../../../AMDGPUUsage.rst:439 ../../../AMDGPUUsage.rst:461 #: ../../../AMDGPUUsage.rst:468 ../../../AMDGPUUsage.rst:475 -#: ../../../AMDGPUUsage.rst:521 ../../../AMDGPUUsage.rst:528 +#: ../../../AMDGPUUsage.rst:530 ../../../AMDGPUUsage.rst:537 +#: ../../../AMDGPUUsage.rst:570 msgid "dGPU" msgstr "" @@ -335,15 +338,15 @@ msgstr "" msgid "Does not support generic address space" msgstr "" -#: ../../../AMDGPUUsage.rst:142 ../../../AMDGPUUsage.rst:2480 +#: ../../../AMDGPUUsage.rst:142 ../../../AMDGPUUsage.rst:2684 msgid "``r630``" msgstr "" -#: ../../../AMDGPUUsage.rst:147 ../../../AMDGPUUsage.rst:2481 +#: ../../../AMDGPUUsage.rst:147 ../../../AMDGPUUsage.rst:2685 msgid "``rs880``" msgstr "" -#: ../../../AMDGPUUsage.rst:152 ../../../AMDGPUUsage.rst:2482 +#: ../../../AMDGPUUsage.rst:152 ../../../AMDGPUUsage.rst:2686 msgid "``rv670``" msgstr "" @@ -351,15 +354,15 @@ msgstr "" msgid "**Radeon HD 4000 Series (R700)** [AMD-RADEON-HD-4000]_" msgstr "" -#: ../../../AMDGPUUsage.rst:159 ../../../AMDGPUUsage.rst:2483 +#: ../../../AMDGPUUsage.rst:159 ../../../AMDGPUUsage.rst:2687 msgid "``rv710``" msgstr "" -#: ../../../AMDGPUUsage.rst:164 ../../../AMDGPUUsage.rst:2484 +#: ../../../AMDGPUUsage.rst:164 ../../../AMDGPUUsage.rst:2688 msgid "``rv730``" msgstr "" -#: ../../../AMDGPUUsage.rst:169 ../../../AMDGPUUsage.rst:2485 +#: ../../../AMDGPUUsage.rst:169 ../../../AMDGPUUsage.rst:2689 msgid "``rv770``" msgstr "" @@ -367,23 +370,23 @@ msgstr "" msgid "**Radeon HD 5000 Series (Evergreen)** [AMD-RADEON-HD-5000]_" msgstr "" -#: ../../../AMDGPUUsage.rst:176 ../../../AMDGPUUsage.rst:2486 +#: ../../../AMDGPUUsage.rst:176 ../../../AMDGPUUsage.rst:2690 msgid "``cedar``" msgstr "" -#: ../../../AMDGPUUsage.rst:181 ../../../AMDGPUUsage.rst:2487 +#: ../../../AMDGPUUsage.rst:181 ../../../AMDGPUUsage.rst:2691 msgid "``cypress``" msgstr "" -#: ../../../AMDGPUUsage.rst:186 ../../../AMDGPUUsage.rst:2488 +#: ../../../AMDGPUUsage.rst:186 ../../../AMDGPUUsage.rst:2692 msgid "``juniper``" msgstr "" -#: ../../../AMDGPUUsage.rst:191 ../../../AMDGPUUsage.rst:2489 +#: ../../../AMDGPUUsage.rst:191 ../../../AMDGPUUsage.rst:2693 msgid "``redwood``" msgstr "" -#: ../../../AMDGPUUsage.rst:196 ../../../AMDGPUUsage.rst:2490 +#: ../../../AMDGPUUsage.rst:196 ../../../AMDGPUUsage.rst:2694 msgid "``sumo``" msgstr "" @@ -391,19 +394,19 @@ msgstr "" msgid "**Radeon HD 6000 Series (Northern Islands)** [AMD-RADEON-HD-6000]_" msgstr "" -#: ../../../AMDGPUUsage.rst:203 ../../../AMDGPUUsage.rst:2491 +#: ../../../AMDGPUUsage.rst:203 ../../../AMDGPUUsage.rst:2695 msgid "``barts``" msgstr "" -#: ../../../AMDGPUUsage.rst:208 ../../../AMDGPUUsage.rst:2492 +#: ../../../AMDGPUUsage.rst:208 ../../../AMDGPUUsage.rst:2696 msgid "``caicos``" msgstr "" -#: ../../../AMDGPUUsage.rst:213 ../../../AMDGPUUsage.rst:2493 +#: ../../../AMDGPUUsage.rst:213 ../../../AMDGPUUsage.rst:2697 msgid "``cayman``" msgstr "" -#: ../../../AMDGPUUsage.rst:218 ../../../AMDGPUUsage.rst:2494 +#: ../../../AMDGPUUsage.rst:218 ../../../AMDGPUUsage.rst:2698 msgid "``turks``" msgstr "" @@ -411,8 +414,8 @@ msgstr "" msgid "**GCN GFX6 (Southern Islands (SI))** [AMD-GCN-GFX6]_" msgstr "" -#: ../../../AMDGPUUsage.rst:225 ../../../AMDGPUUsage.rst:2497 -#: ../../../AMDGPUUsage.rst:2780 +#: ../../../AMDGPUUsage.rst:225 ../../../AMDGPUUsage.rst:2701 +#: ../../../AMDGPUUsage.rst:2988 msgid "``gfx600``" msgstr "" @@ -440,8 +443,8 @@ msgstr "" msgid "*pal-amdpal*" msgstr "" -#: ../../../AMDGPUUsage.rst:230 ../../../AMDGPUUsage.rst:2498 -#: ../../../AMDGPUUsage.rst:2781 +#: ../../../AMDGPUUsage.rst:230 ../../../AMDGPUUsage.rst:2702 +#: ../../../AMDGPUUsage.rst:2989 msgid "``gfx601``" msgstr "" @@ -453,8 +456,8 @@ msgstr "" msgid "``verde``" msgstr "" -#: ../../../AMDGPUUsage.rst:235 ../../../AMDGPUUsage.rst:2523 -#: ../../../AMDGPUUsage.rst:2782 +#: ../../../AMDGPUUsage.rst:235 ../../../AMDGPUUsage.rst:2727 +#: ../../../AMDGPUUsage.rst:2990 msgid "``gfx602``" msgstr "" @@ -470,8 +473,8 @@ msgstr "" msgid "**GCN GFX7 (Sea Islands (CI))** [AMD-GCN-GFX7]_" msgstr "" -#: ../../../AMDGPUUsage.rst:242 ../../../AMDGPUUsage.rst:2499 -#: ../../../AMDGPUUsage.rst:2783 +#: ../../../AMDGPUUsage.rst:242 ../../../AMDGPUUsage.rst:2703 +#: ../../../AMDGPUUsage.rst:2991 msgid "``gfx700``" msgstr "" @@ -487,8 +490,8 @@ msgstr "" #: ../../../AMDGPUUsage.rst:446 ../../../AMDGPUUsage.rst:452 #: ../../../AMDGPUUsage.rst:482 ../../../AMDGPUUsage.rst:491 #: ../../../AMDGPUUsage.rst:498 ../../../AMDGPUUsage.rst:505 -#: ../../../AMDGPUUsage.rst:512 ../../../AMDGPUUsage.rst:535 -#: ../../../AMDGPUUsage.rst:547 +#: ../../../AMDGPUUsage.rst:512 ../../../AMDGPUUsage.rst:521 +#: ../../../AMDGPUUsage.rst:544 ../../../AMDGPUUsage.rst:556 msgid "APU" msgstr "" @@ -572,8 +575,8 @@ msgstr "" msgid "FX-7600P" msgstr "" -#: ../../../AMDGPUUsage.rst:252 ../../../AMDGPUUsage.rst:2500 -#: ../../../AMDGPUUsage.rst:2784 +#: ../../../AMDGPUUsage.rst:252 ../../../AMDGPUUsage.rst:2704 +#: ../../../AMDGPUUsage.rst:2992 msgid "``gfx701``" msgstr "" @@ -597,8 +600,8 @@ msgstr "" msgid "FirePro S9170" msgstr "" -#: ../../../AMDGPUUsage.rst:256 ../../../AMDGPUUsage.rst:2501 -#: ../../../AMDGPUUsage.rst:2785 +#: ../../../AMDGPUUsage.rst:256 ../../../AMDGPUUsage.rst:2705 +#: ../../../AMDGPUUsage.rst:2993 msgid "``gfx702``" msgstr "" @@ -618,8 +621,8 @@ msgstr "" msgid "Radeon R390x" msgstr "" -#: ../../../AMDGPUUsage.rst:260 ../../../AMDGPUUsage.rst:2502 -#: ../../../AMDGPUUsage.rst:2786 +#: ../../../AMDGPUUsage.rst:260 ../../../AMDGPUUsage.rst:2706 +#: ../../../AMDGPUUsage.rst:2994 msgid "``gfx703``" msgstr "" @@ -667,8 +670,8 @@ msgstr "" msgid "A4 Pro-3340B" msgstr "" -#: ../../../AMDGPUUsage.rst:269 ../../../AMDGPUUsage.rst:2503 -#: ../../../AMDGPUUsage.rst:2787 +#: ../../../AMDGPUUsage.rst:269 ../../../AMDGPUUsage.rst:2707 +#: ../../../AMDGPUUsage.rst:2995 msgid "``gfx704``" msgstr "" @@ -692,8 +695,8 @@ msgstr "" msgid "R7 260X" msgstr "" -#: ../../../AMDGPUUsage.rst:273 ../../../AMDGPUUsage.rst:2524 -#: ../../../AMDGPUUsage.rst:2788 +#: ../../../AMDGPUUsage.rst:273 ../../../AMDGPUUsage.rst:2728 +#: ../../../AMDGPUUsage.rst:2996 msgid "``gfx705``" msgstr "" @@ -703,8 +706,9 @@ msgstr "" #: ../../../AMDGPUUsage.rst:426 ../../../AMDGPUUsage.rst:433 #: ../../../AMDGPUUsage.rst:439 ../../../AMDGPUUsage.rst:446 #: ../../../AMDGPUUsage.rst:452 ../../../AMDGPUUsage.rst:482 -#: ../../../AMDGPUUsage.rst:512 ../../../AMDGPUUsage.rst:535 -#: ../../../AMDGPUUsage.rst:547 +#: ../../../AMDGPUUsage.rst:512 ../../../AMDGPUUsage.rst:521 +#: ../../../AMDGPUUsage.rst:544 ../../../AMDGPUUsage.rst:556 +#: ../../../AMDGPUUsage.rst:570 msgid "*TBA*" msgstr "" @@ -716,19 +720,20 @@ msgstr "" #: ../../../AMDGPUUsage.rst:454 ../../../AMDGPUUsage.rst:484 #: ../../../AMDGPUUsage.rst:493 ../../../AMDGPUUsage.rst:500 #: ../../../AMDGPUUsage.rst:507 ../../../AMDGPUUsage.rst:514 -#: ../../../AMDGPUUsage.rst:537 ../../../AMDGPUUsage.rst:549 -#: ../../../AMDGPUUsage.rst:1601 ../../../AMDGPUUsage.rst:1613 -#: ../../../AMDGPUUsage.rst:2890 ../../../AMDGPUUsage.rst:3750 -#: ../../../AMDGPUUsage.rst:3756 ../../../AMDGPUUsage.rst:3838 -#: ../../../AMDGPUUsage.rst:3961 ../../../AMDGPUUsage.rst:4228 -#: ../../../AMDGPUUsage.rst:4247 ../../../AMDGPUUsage.rst:4288 -#: ../../../AMDGPUUsage.rst:4762 ../../../AMDGPUUsage.rst:4781 -#: ../../../AMDGPUUsage.rst:4822 ../../../AMDGPUUsage.rst:18737 -#: ../../../AMDGPUUsage.rst:18928 ../../../AMDGPUUsage.rst:19059 -#: ../../../AMDGPUUsage.rst:19101 ../../../AMDGPUUsage.rst:19113 -#: ../../../AMDGPUUsage.rst:19126 ../../../AMDGPUUsage.rst:19198 -#: ../../../AMDGPUUsage.rst:19210 ../../../AMDGPUUsage.rst:19224 -#: ../../../AMDGPUUsage.rst:19280 ../../../AMDGPUUsage.rst:19284 +#: ../../../AMDGPUUsage.rst:523 ../../../AMDGPUUsage.rst:546 +#: ../../../AMDGPUUsage.rst:558 ../../../AMDGPUUsage.rst:572 +#: ../../../AMDGPUUsage.rst:1742 ../../../AMDGPUUsage.rst:1754 +#: ../../../AMDGPUUsage.rst:3098 ../../../AMDGPUUsage.rst:3958 +#: ../../../AMDGPUUsage.rst:3964 ../../../AMDGPUUsage.rst:4046 +#: ../../../AMDGPUUsage.rst:4169 ../../../AMDGPUUsage.rst:4436 +#: ../../../AMDGPUUsage.rst:4455 ../../../AMDGPUUsage.rst:4496 +#: ../../../AMDGPUUsage.rst:4970 ../../../AMDGPUUsage.rst:4989 +#: ../../../AMDGPUUsage.rst:5030 ../../../AMDGPUUsage.rst:19726 +#: ../../../AMDGPUUsage.rst:19917 ../../../AMDGPUUsage.rst:20048 +#: ../../../AMDGPUUsage.rst:20090 ../../../AMDGPUUsage.rst:20102 +#: ../../../AMDGPUUsage.rst:20115 ../../../AMDGPUUsage.rst:20187 +#: ../../../AMDGPUUsage.rst:20199 ../../../AMDGPUUsage.rst:20213 +#: ../../../AMDGPUUsage.rst:20269 ../../../AMDGPUUsage.rst:20273 msgid "Todo" msgstr "" @@ -740,7 +745,8 @@ msgstr "" #: ../../../AMDGPUUsage.rst:456 ../../../AMDGPUUsage.rst:486 #: ../../../AMDGPUUsage.rst:495 ../../../AMDGPUUsage.rst:502 #: ../../../AMDGPUUsage.rst:509 ../../../AMDGPUUsage.rst:516 -#: ../../../AMDGPUUsage.rst:539 ../../../AMDGPUUsage.rst:551 +#: ../../../AMDGPUUsage.rst:525 ../../../AMDGPUUsage.rst:548 +#: ../../../AMDGPUUsage.rst:560 ../../../AMDGPUUsage.rst:574 msgid "Add product names." msgstr "" @@ -748,7 +754,7 @@ msgstr "" msgid "**GCN GFX8 (Volcanic Islands (VI))** [AMD-GCN-GFX8]_" msgstr "" -#: ../../../AMDGPUUsage.rst:282 ../../../AMDGPUUsage.rst:2505 +#: ../../../AMDGPUUsage.rst:282 ../../../AMDGPUUsage.rst:2709 msgid "``gfx801``" msgstr "" @@ -764,8 +770,8 @@ msgstr "" #: ../../../AMDGPUUsage.rst:384 ../../../AMDGPUUsage.rst:391 #: ../../../AMDGPUUsage.rst:400 ../../../AMDGPUUsage.rst:404 #: ../../../AMDGPUUsage.rst:408 ../../../AMDGPUUsage.rst:411 -#: ../../../AMDGPUUsage.rst:577 ../../../AMDGPUUsage.rst:601 -#: ../../../AMDGPUUsage.rst:605 ../../../AMDGPUUsage.rst:764 +#: ../../../AMDGPUUsage.rst:595 ../../../AMDGPUUsage.rst:619 +#: ../../../AMDGPUUsage.rst:623 ../../../AMDGPUUsage.rst:788 msgid "xnack" msgstr "" @@ -841,8 +847,8 @@ msgstr "" msgid "A9-9410" msgstr "" -#: ../../../AMDGPUUsage.rst:300 ../../../AMDGPUUsage.rst:2506 -#: ../../../AMDGPUUsage.rst:2789 ../../../AMDGPUUsage.rst:2791 +#: ../../../AMDGPUUsage.rst:300 ../../../AMDGPUUsage.rst:2710 +#: ../../../AMDGPUUsage.rst:2997 ../../../AMDGPUUsage.rst:2999 msgid "``gfx802``" msgstr "" @@ -866,8 +872,8 @@ msgstr "" msgid "Radeon R9 385" msgstr "" -#: ../../../AMDGPUUsage.rst:303 ../../../AMDGPUUsage.rst:2507 -#: ../../../AMDGPUUsage.rst:2792 ../../../AMDGPUUsage.rst:2793 +#: ../../../AMDGPUUsage.rst:303 ../../../AMDGPUUsage.rst:2711 +#: ../../../AMDGPUUsage.rst:3000 ../../../AMDGPUUsage.rst:3001 msgid "``gfx803``" msgstr "" @@ -927,8 +933,8 @@ msgstr "" msgid "Radeon RX 460" msgstr "" -#: ../../../AMDGPUUsage.rst:315 ../../../AMDGPUUsage.rst:2525 -#: ../../../AMDGPUUsage.rst:2794 +#: ../../../AMDGPUUsage.rst:315 ../../../AMDGPUUsage.rst:2729 +#: ../../../AMDGPUUsage.rst:3002 msgid "``gfx805``" msgstr "" @@ -952,7 +958,7 @@ msgstr "" msgid "Mobile FirePro M7170" msgstr "" -#: ../../../AMDGPUUsage.rst:320 ../../../AMDGPUUsage.rst:2508 +#: ../../../AMDGPUUsage.rst:320 ../../../AMDGPUUsage.rst:2712 msgid "``gfx810``" msgstr "" @@ -966,8 +972,8 @@ msgid "" "[AMD-GCN-GFX908-CDNA1]_ [AMD-GCN-GFX90A-CDNA2]_ [AMD-GCN-GFX942-CDNA3]_" msgstr "" -#: ../../../AMDGPUUsage.rst:329 ../../../AMDGPUUsage.rst:577 -#: ../../../AMDGPUUsage.rst:2509 +#: ../../../AMDGPUUsage.rst:329 ../../../AMDGPUUsage.rst:595 +#: ../../../AMDGPUUsage.rst:2713 msgid "``gfx900``" msgstr "" @@ -980,8 +986,8 @@ msgstr "" #: ../../../AMDGPUUsage.rst:423 ../../../AMDGPUUsage.rst:426 #: ../../../AMDGPUUsage.rst:433 ../../../AMDGPUUsage.rst:439 #: ../../../AMDGPUUsage.rst:446 ../../../AMDGPUUsage.rst:452 -#: ../../../AMDGPUUsage.rst:577 ../../../AMDGPUUsage.rst:605 -#: ../../../AMDGPUUsage.rst:624 +#: ../../../AMDGPUUsage.rst:595 ../../../AMDGPUUsage.rst:623 +#: ../../../AMDGPUUsage.rst:642 msgid "Absolute flat scratch" msgstr "" @@ -1005,8 +1011,8 @@ msgstr "" msgid "Radeon Instinct MI25" msgstr "" -#: ../../../AMDGPUUsage.rst:336 ../../../AMDGPUUsage.rst:578 -#: ../../../AMDGPUUsage.rst:2510 +#: ../../../AMDGPUUsage.rst:336 ../../../AMDGPUUsage.rst:596 +#: ../../../AMDGPUUsage.rst:2714 msgid "``gfx902``" msgstr "" @@ -1018,20 +1024,20 @@ msgstr "" msgid "Ryzen 5 2400G" msgstr "" -#: ../../../AMDGPUUsage.rst:339 ../../../AMDGPUUsage.rst:579 -#: ../../../AMDGPUUsage.rst:2511 +#: ../../../AMDGPUUsage.rst:339 ../../../AMDGPUUsage.rst:597 +#: ../../../AMDGPUUsage.rst:2715 msgid "``gfx904``" msgstr "" -#: ../../../AMDGPUUsage.rst:346 ../../../AMDGPUUsage.rst:580 -#: ../../../AMDGPUUsage.rst:2512 +#: ../../../AMDGPUUsage.rst:346 ../../../AMDGPUUsage.rst:598 +#: ../../../AMDGPUUsage.rst:2716 msgid "``gfx906``" msgstr "" #: ../../../AMDGPUUsage.rst:346 ../../../AMDGPUUsage.rst:350 #: ../../../AMDGPUUsage.rst:361 ../../../AMDGPUUsage.rst:382 -#: ../../../AMDGPUUsage.rst:389 ../../../AMDGPUUsage.rst:599 -#: ../../../AMDGPUUsage.rst:742 +#: ../../../AMDGPUUsage.rst:389 ../../../AMDGPUUsage.rst:617 +#: ../../../AMDGPUUsage.rst:766 msgid "sramecc" msgstr "" @@ -1051,7 +1057,7 @@ msgstr "" msgid "Radeon Pro VII" msgstr "" -#: ../../../AMDGPUUsage.rst:350 ../../../AMDGPUUsage.rst:2513 +#: ../../../AMDGPUUsage.rst:350 ../../../AMDGPUUsage.rst:2717 msgid "``gfx908``" msgstr "" @@ -1059,18 +1065,18 @@ msgstr "" msgid "AMD Instinct MI100 Accelerator" msgstr "" -#: ../../../AMDGPUUsage.rst:354 ../../../AMDGPUUsage.rst:581 -#: ../../../AMDGPUUsage.rst:2514 +#: ../../../AMDGPUUsage.rst:354 ../../../AMDGPUUsage.rst:599 +#: ../../../AMDGPUUsage.rst:2718 msgid "``gfx909``" msgstr "" -#: ../../../AMDGPUUsage.rst:361 ../../../AMDGPUUsage.rst:2528 +#: ../../../AMDGPUUsage.rst:361 ../../../AMDGPUUsage.rst:2732 msgid "``gfx90a``" msgstr "" #: ../../../AMDGPUUsage.rst:362 ../../../AMDGPUUsage.rst:383 -#: ../../../AMDGPUUsage.rst:390 ../../../AMDGPUUsage.rst:600 -#: ../../../AMDGPUUsage.rst:754 +#: ../../../AMDGPUUsage.rst:390 ../../../AMDGPUUsage.rst:618 +#: ../../../AMDGPUUsage.rst:778 msgid "tgsplit" msgstr "" @@ -1084,9 +1090,11 @@ msgstr "" #: ../../../AMDGPUUsage.rst:485 ../../../AMDGPUUsage.rst:494 #: ../../../AMDGPUUsage.rst:501 ../../../AMDGPUUsage.rst:508 #: ../../../AMDGPUUsage.rst:515 ../../../AMDGPUUsage.rst:524 -#: ../../../AMDGPUUsage.rst:531 ../../../AMDGPUUsage.rst:538 -#: ../../../AMDGPUUsage.rst:550 ../../../AMDGPUUsage.rst:601 -#: ../../../AMDGPUUsage.rst:635 ../../../AMDGPUUsage.rst:665 +#: ../../../AMDGPUUsage.rst:533 ../../../AMDGPUUsage.rst:540 +#: ../../../AMDGPUUsage.rst:547 ../../../AMDGPUUsage.rst:559 +#: ../../../AMDGPUUsage.rst:573 ../../../AMDGPUUsage.rst:619 +#: ../../../AMDGPUUsage.rst:653 ../../../AMDGPUUsage.rst:683 +#: ../../../AMDGPUUsage.rst:689 msgid "Packed work-item IDs" msgstr "" @@ -1102,8 +1110,8 @@ msgstr "" msgid "AMD Instinct MI250X Accelerator" msgstr "" -#: ../../../AMDGPUUsage.rst:368 ../../../AMDGPUUsage.rst:582 -#: ../../../AMDGPUUsage.rst:2515 +#: ../../../AMDGPUUsage.rst:368 ../../../AMDGPUUsage.rst:600 +#: ../../../AMDGPUUsage.rst:2719 msgid "``gfx90c``" msgstr "" @@ -1159,13 +1167,13 @@ msgstr "" msgid "Ryzen 3 Pro 4350GE" msgstr "" -#: ../../../AMDGPUUsage.rst:382 ../../../AMDGPUUsage.rst:599 -#: ../../../AMDGPUUsage.rst:2541 +#: ../../../AMDGPUUsage.rst:382 ../../../AMDGPUUsage.rst:617 +#: ../../../AMDGPUUsage.rst:2745 msgid "``gfx942``" msgstr "" #: ../../../AMDGPUUsage.rst:385 ../../../AMDGPUUsage.rst:392 -#: ../../../AMDGPUUsage.rst:602 +#: ../../../AMDGPUUsage.rst:620 msgid "kernarg preload" msgstr "" @@ -1174,10 +1182,11 @@ msgstr "" #: ../../../AMDGPUUsage.rst:475 ../../../AMDGPUUsage.rst:482 #: ../../../AMDGPUUsage.rst:491 ../../../AMDGPUUsage.rst:498 #: ../../../AMDGPUUsage.rst:505 ../../../AMDGPUUsage.rst:512 -#: ../../../AMDGPUUsage.rst:521 ../../../AMDGPUUsage.rst:528 -#: ../../../AMDGPUUsage.rst:535 ../../../AMDGPUUsage.rst:547 -#: ../../../AMDGPUUsage.rst:599 ../../../AMDGPUUsage.rst:633 -#: ../../../AMDGPUUsage.rst:663 +#: ../../../AMDGPUUsage.rst:521 ../../../AMDGPUUsage.rst:530 +#: ../../../AMDGPUUsage.rst:537 ../../../AMDGPUUsage.rst:544 +#: ../../../AMDGPUUsage.rst:556 ../../../AMDGPUUsage.rst:570 +#: ../../../AMDGPUUsage.rst:617 ../../../AMDGPUUsage.rst:651 +#: ../../../AMDGPUUsage.rst:681 ../../../AMDGPUUsage.rst:687 msgid "Architected flat scratch" msgstr "" @@ -1189,8 +1198,8 @@ msgstr "" msgid "AMD Instinct MI300A" msgstr "" -#: ../../../AMDGPUUsage.rst:389 ../../../AMDGPUUsage.rst:600 -#: ../../../AMDGPUUsage.rst:2544 +#: ../../../AMDGPUUsage.rst:389 ../../../AMDGPUUsage.rst:618 +#: ../../../AMDGPUUsage.rst:2748 msgid "``gfx950``" msgstr "" @@ -1198,8 +1207,8 @@ msgstr "" msgid "**GCN GFX10.1 (RDNA 1)** [AMD-GCN-GFX10-RDNA1]_" msgstr "" -#: ../../../AMDGPUUsage.rst:398 ../../../AMDGPUUsage.rst:605 -#: ../../../AMDGPUUsage.rst:2516 +#: ../../../AMDGPUUsage.rst:398 ../../../AMDGPUUsage.rst:623 +#: ../../../AMDGPUUsage.rst:2720 msgid "``gfx1010``" msgstr "" @@ -1213,9 +1222,10 @@ msgstr "" #: ../../../AMDGPUUsage.rst:482 ../../../AMDGPUUsage.rst:491 #: ../../../AMDGPUUsage.rst:498 ../../../AMDGPUUsage.rst:505 #: ../../../AMDGPUUsage.rst:512 ../../../AMDGPUUsage.rst:521 -#: ../../../AMDGPUUsage.rst:528 ../../../AMDGPUUsage.rst:607 -#: ../../../AMDGPUUsage.rst:625 ../../../AMDGPUUsage.rst:634 -#: ../../../AMDGPUUsage.rst:664 ../../../AMDGPUUsage.rst:736 +#: ../../../AMDGPUUsage.rst:530 ../../../AMDGPUUsage.rst:537 +#: ../../../AMDGPUUsage.rst:570 ../../../AMDGPUUsage.rst:625 +#: ../../../AMDGPUUsage.rst:643 ../../../AMDGPUUsage.rst:652 +#: ../../../AMDGPUUsage.rst:682 ../../../AMDGPUUsage.rst:760 msgid "cumode" msgstr "" @@ -1229,9 +1239,10 @@ msgstr "" #: ../../../AMDGPUUsage.rst:483 ../../../AMDGPUUsage.rst:492 #: ../../../AMDGPUUsage.rst:499 ../../../AMDGPUUsage.rst:506 #: ../../../AMDGPUUsage.rst:513 ../../../AMDGPUUsage.rst:522 -#: ../../../AMDGPUUsage.rst:529 ../../../AMDGPUUsage.rst:606 -#: ../../../AMDGPUUsage.rst:624 ../../../AMDGPUUsage.rst:633 -#: ../../../AMDGPUUsage.rst:663 ../../../AMDGPUUsage.rst:759 +#: ../../../AMDGPUUsage.rst:531 ../../../AMDGPUUsage.rst:538 +#: ../../../AMDGPUUsage.rst:571 ../../../AMDGPUUsage.rst:624 +#: ../../../AMDGPUUsage.rst:642 ../../../AMDGPUUsage.rst:651 +#: ../../../AMDGPUUsage.rst:681 ../../../AMDGPUUsage.rst:783 msgid "wavefrontsize64" msgstr "" @@ -1251,8 +1262,8 @@ msgstr "" msgid "Radeon RX 5700 XT" msgstr "" -#: ../../../AMDGPUUsage.rst:402 ../../../AMDGPUUsage.rst:606 -#: ../../../AMDGPUUsage.rst:2517 +#: ../../../AMDGPUUsage.rst:402 ../../../AMDGPUUsage.rst:624 +#: ../../../AMDGPUUsage.rst:2721 msgid "``gfx1011``" msgstr "" @@ -1264,8 +1275,8 @@ msgstr "" msgid "Radeon Pro 5600M" msgstr "" -#: ../../../AMDGPUUsage.rst:406 ../../../AMDGPUUsage.rst:607 -#: ../../../AMDGPUUsage.rst:2518 +#: ../../../AMDGPUUsage.rst:406 ../../../AMDGPUUsage.rst:625 +#: ../../../AMDGPUUsage.rst:2722 msgid "``gfx1012``" msgstr "" @@ -1277,8 +1288,8 @@ msgstr "" msgid "Radeon RX 5500 XT" msgstr "" -#: ../../../AMDGPUUsage.rst:409 ../../../AMDGPUUsage.rst:608 -#: ../../../AMDGPUUsage.rst:2531 +#: ../../../AMDGPUUsage.rst:409 ../../../AMDGPUUsage.rst:626 +#: ../../../AMDGPUUsage.rst:2735 msgid "``gfx1013``" msgstr "" @@ -1286,8 +1297,8 @@ msgstr "" msgid "**GCN GFX10.3 (RDNA 2)** [AMD-GCN-GFX10-RDNA2]_" msgstr "" -#: ../../../AMDGPUUsage.rst:418 ../../../AMDGPUUsage.rst:624 -#: ../../../AMDGPUUsage.rst:2519 +#: ../../../AMDGPUUsage.rst:418 ../../../AMDGPUUsage.rst:642 +#: ../../../AMDGPUUsage.rst:2723 msgid "``gfx1030``" msgstr "" @@ -1311,8 +1322,8 @@ msgstr "" msgid "Radeon PRO V620" msgstr "" -#: ../../../AMDGPUUsage.rst:423 ../../../AMDGPUUsage.rst:625 -#: ../../../AMDGPUUsage.rst:2520 +#: ../../../AMDGPUUsage.rst:423 ../../../AMDGPUUsage.rst:643 +#: ../../../AMDGPUUsage.rst:2724 msgid "``gfx1031``" msgstr "" @@ -1320,28 +1331,28 @@ msgstr "" msgid "Radeon RX 6700 XT" msgstr "" -#: ../../../AMDGPUUsage.rst:426 ../../../AMDGPUUsage.rst:626 -#: ../../../AMDGPUUsage.rst:2521 +#: ../../../AMDGPUUsage.rst:426 ../../../AMDGPUUsage.rst:644 +#: ../../../AMDGPUUsage.rst:2725 msgid "``gfx1032``" msgstr "" -#: ../../../AMDGPUUsage.rst:433 ../../../AMDGPUUsage.rst:627 -#: ../../../AMDGPUUsage.rst:2522 +#: ../../../AMDGPUUsage.rst:433 ../../../AMDGPUUsage.rst:645 +#: ../../../AMDGPUUsage.rst:2726 msgid "``gfx1033``" msgstr "" -#: ../../../AMDGPUUsage.rst:439 ../../../AMDGPUUsage.rst:628 -#: ../../../AMDGPUUsage.rst:2527 +#: ../../../AMDGPUUsage.rst:439 ../../../AMDGPUUsage.rst:646 +#: ../../../AMDGPUUsage.rst:2731 msgid "``gfx1034``" msgstr "" -#: ../../../AMDGPUUsage.rst:446 ../../../AMDGPUUsage.rst:629 -#: ../../../AMDGPUUsage.rst:2526 +#: ../../../AMDGPUUsage.rst:446 ../../../AMDGPUUsage.rst:647 +#: ../../../AMDGPUUsage.rst:2730 msgid "``gfx1035``" msgstr "" -#: ../../../AMDGPUUsage.rst:452 ../../../AMDGPUUsage.rst:630 -#: ../../../AMDGPUUsage.rst:2534 +#: ../../../AMDGPUUsage.rst:452 ../../../AMDGPUUsage.rst:648 +#: ../../../AMDGPUUsage.rst:2738 msgid "``gfx1036``" msgstr "" @@ -1349,9 +1360,9 @@ msgstr "" msgid "**GCN GFX11 (RDNA 3)** [AMD-GCN-GFX11-RDNA3]_" msgstr "" -#: ../../../AMDGPUUsage.rst:461 ../../../AMDGPUUsage.rst:633 -#: ../../../AMDGPUUsage.rst:642 ../../../AMDGPUUsage.rst:649 -#: ../../../AMDGPUUsage.rst:657 ../../../AMDGPUUsage.rst:2530 +#: ../../../AMDGPUUsage.rst:461 ../../../AMDGPUUsage.rst:651 +#: ../../../AMDGPUUsage.rst:660 ../../../AMDGPUUsage.rst:667 +#: ../../../AMDGPUUsage.rst:675 ../../../AMDGPUUsage.rst:2734 msgid "``gfx1100``" msgstr "" @@ -1379,9 +1390,9 @@ msgstr "" msgid "Radeon RX 7900 GRE" msgstr "" -#: ../../../AMDGPUUsage.rst:468 ../../../AMDGPUUsage.rst:634 -#: ../../../AMDGPUUsage.rst:643 ../../../AMDGPUUsage.rst:650 -#: ../../../AMDGPUUsage.rst:658 ../../../AMDGPUUsage.rst:2535 +#: ../../../AMDGPUUsage.rst:468 ../../../AMDGPUUsage.rst:652 +#: ../../../AMDGPUUsage.rst:661 ../../../AMDGPUUsage.rst:668 +#: ../../../AMDGPUUsage.rst:676 ../../../AMDGPUUsage.rst:2739 msgid "``gfx1101``" msgstr "" @@ -1397,9 +1408,9 @@ msgstr "" msgid "Radeon RX 7700" msgstr "" -#: ../../../AMDGPUUsage.rst:475 ../../../AMDGPUUsage.rst:635 -#: ../../../AMDGPUUsage.rst:651 ../../../AMDGPUUsage.rst:659 -#: ../../../AMDGPUUsage.rst:2536 +#: ../../../AMDGPUUsage.rst:475 ../../../AMDGPUUsage.rst:653 +#: ../../../AMDGPUUsage.rst:669 ../../../AMDGPUUsage.rst:677 +#: ../../../AMDGPUUsage.rst:2740 msgid "``gfx1102``" msgstr "" @@ -1411,18 +1422,18 @@ msgstr "" msgid "Radeon RX 7600" msgstr "" -#: ../../../AMDGPUUsage.rst:482 ../../../AMDGPUUsage.rst:636 -#: ../../../AMDGPUUsage.rst:652 ../../../AMDGPUUsage.rst:660 -#: ../../../AMDGPUUsage.rst:2533 +#: ../../../AMDGPUUsage.rst:482 ../../../AMDGPUUsage.rst:654 +#: ../../../AMDGPUUsage.rst:670 ../../../AMDGPUUsage.rst:678 +#: ../../../AMDGPUUsage.rst:2737 msgid "``gfx1103``" msgstr "" #: ../../../AMDGPUUsage.rst:489 -msgid "**GCN GFX11 (RDNA 3.5)** [AMD-GCN-GFX11-RDNA3.5]_" +msgid "**GCN GFX11.5 (RDNA 3.5)** [AMD-GCN-GFX11-RDNA3.5]_" msgstr "" -#: ../../../AMDGPUUsage.rst:491 ../../../AMDGPUUsage.rst:637 -#: ../../../AMDGPUUsage.rst:2532 +#: ../../../AMDGPUUsage.rst:491 ../../../AMDGPUUsage.rst:655 +#: ../../../AMDGPUUsage.rst:2736 msgid "``gfx1150``" msgstr "" @@ -1430,8 +1441,8 @@ msgstr "" msgid "Radeon 890M" msgstr "" -#: ../../../AMDGPUUsage.rst:498 ../../../AMDGPUUsage.rst:638 -#: ../../../AMDGPUUsage.rst:644 ../../../AMDGPUUsage.rst:2539 +#: ../../../AMDGPUUsage.rst:498 ../../../AMDGPUUsage.rst:656 +#: ../../../AMDGPUUsage.rst:662 ../../../AMDGPUUsage.rst:2743 msgid "``gfx1151``" msgstr "" @@ -1439,7 +1450,7 @@ msgstr "" msgid "Radeon 8060S" msgstr "" -#: ../../../AMDGPUUsage.rst:505 ../../../AMDGPUUsage.rst:639 +#: ../../../AMDGPUUsage.rst:505 ../../../AMDGPUUsage.rst:657 msgid "``gfx1152``" msgstr "" @@ -1447,219 +1458,245 @@ msgstr "" msgid "Radeon 860M" msgstr "" -#: ../../../AMDGPUUsage.rst:512 ../../../AMDGPUUsage.rst:640 +#: ../../../AMDGPUUsage.rst:512 ../../../AMDGPUUsage.rst:658 msgid "``gfx1153``" msgstr "" #: ../../../AMDGPUUsage.rst:519 +msgid "**GCN GFX11.7 (RDNA 4m)**" +msgstr "" + +#: ../../../AMDGPUUsage.rst:521 ../../../AMDGPUUsage.rst:2761 +msgid "``gfx1170``" +msgstr "" + +#: ../../../AMDGPUUsage.rst:528 msgid "**GCN GFX12 (RDNA 4)** [AMD-GCN-GFX12-RDNA4]_" msgstr "" -#: ../../../AMDGPUUsage.rst:521 ../../../AMDGPUUsage.rst:663 -#: ../../../AMDGPUUsage.rst:2537 +#: ../../../AMDGPUUsage.rst:530 ../../../AMDGPUUsage.rst:681 +#: ../../../AMDGPUUsage.rst:2741 msgid "``gfx1200``" msgstr "" -#: ../../../AMDGPUUsage.rst:521 +#: ../../../AMDGPUUsage.rst:530 msgid "Radeon RX 9060" msgstr "" -#: ../../../AMDGPUUsage.rst:522 +#: ../../../AMDGPUUsage.rst:531 msgid "Radeon RX 9060 XT" msgstr "" -#: ../../../AMDGPUUsage.rst:528 ../../../AMDGPUUsage.rst:664 -#: ../../../AMDGPUUsage.rst:2543 +#: ../../../AMDGPUUsage.rst:537 ../../../AMDGPUUsage.rst:682 +#: ../../../AMDGPUUsage.rst:2747 msgid "``gfx1201``" msgstr "" -#: ../../../AMDGPUUsage.rst:528 +#: ../../../AMDGPUUsage.rst:537 msgid "Radeon RX 9070" msgstr "" -#: ../../../AMDGPUUsage.rst:529 +#: ../../../AMDGPUUsage.rst:538 msgid "Radeon RX 9070 XT" msgstr "" -#: ../../../AMDGPUUsage.rst:530 +#: ../../../AMDGPUUsage.rst:539 msgid "Radeon RX 9070 GRE" msgstr "" -#: ../../../AMDGPUUsage.rst:535 ../../../AMDGPUUsage.rst:2538 +#: ../../../AMDGPUUsage.rst:544 ../../../AMDGPUUsage.rst:687 +#: ../../../AMDGPUUsage.rst:2742 msgid "``gfx1250``" msgstr "" -#: ../../../AMDGPUUsage.rst:541 ../../../AMDGPUUsage.rst:553 +#: ../../../AMDGPUUsage.rst:550 ../../../AMDGPUUsage.rst:562 msgid "Globally Accessible Scratch" msgstr "" -#: ../../../AMDGPUUsage.rst:544 ../../../AMDGPUUsage.rst:556 +#: ../../../AMDGPUUsage.rst:553 ../../../AMDGPUUsage.rst:565 msgid "Workgroup Clusters" msgstr "" -#: ../../../AMDGPUUsage.rst:547 ../../../AMDGPUUsage.rst:2555 +#: ../../../AMDGPUUsage.rst:556 ../../../AMDGPUUsage.rst:688 +#: ../../../AMDGPUUsage.rst:2759 msgid "``gfx1251``" msgstr "" -#: ../../../AMDGPUUsage.rst:561 +#: ../../../AMDGPUUsage.rst:568 +msgid "**GCN GFX13 (RDNA 5)**" +msgstr "" + +#: ../../../AMDGPUUsage.rst:570 ../../../AMDGPUUsage.rst:2749 +msgid "``gfx1310``" +msgstr "" + +#: ../../../AMDGPUUsage.rst:579 msgid "" "Generic processors allow execution of a single code object on any of the " "processors that it supports. Such code objects may not perform as well as " "those for the non-generic processors." msgstr "" -#: ../../../AMDGPUUsage.rst:564 +#: ../../../AMDGPUUsage.rst:582 msgid "" "Generic processors are only available on code object V6 and above (see :ref:" "`amdgpu-elf-code-object`)." msgstr "" -#: ../../../AMDGPUUsage.rst:566 +#: ../../../AMDGPUUsage.rst:584 msgid "" "Generic processor code objects are versioned. See :ref:`amdgpu-generic-" "processor-versioning` for more information on how versioning works." msgstr "" -#: ../../../AMDGPUUsage.rst:568 +#: ../../../AMDGPUUsage.rst:586 msgid "AMDGPU Generic Processors" msgstr "" -#: ../../../AMDGPUUsage.rst:572 +#: ../../../AMDGPUUsage.rst:590 msgid "Supported Processors" msgstr "" -#: ../../../AMDGPUUsage.rst:572 ../../../AMDGPUUsage.rst:1632 +#: ../../../AMDGPUUsage.rst:590 ../../../AMDGPUUsage.rst:1773 msgid "Target Restrictions" msgstr "" -#: ../../../AMDGPUUsage.rst:577 ../../../AMDGPUUsage.rst:2546 +#: ../../../AMDGPUUsage.rst:595 ../../../AMDGPUUsage.rst:2750 msgid "``gfx9-generic``" msgstr "" -#: ../../../AMDGPUUsage.rst:577 +#: ../../../AMDGPUUsage.rst:595 msgid "" "``v_mad_mix`` instructions are not available on ``gfx900``, ``gfx902``, " "``gfx909``, ``gfx90c``" msgstr "" -#: ../../../AMDGPUUsage.rst:581 +#: ../../../AMDGPUUsage.rst:599 msgid "``v_fma_mix`` instructions are not available on ``gfx904``" msgstr "" -#: ../../../AMDGPUUsage.rst:583 +#: ../../../AMDGPUUsage.rst:601 msgid "sramecc is not available on ``gfx906``" msgstr "" -#: ../../../AMDGPUUsage.rst:585 +#: ../../../AMDGPUUsage.rst:603 msgid "The following instructions are not available on ``gfx906``:" msgstr "" -#: ../../../AMDGPUUsage.rst:588 +#: ../../../AMDGPUUsage.rst:606 msgid "``v_fmac_f32``" msgstr "" -#: ../../../AMDGPUUsage.rst:589 +#: ../../../AMDGPUUsage.rst:607 msgid "``v_xnor_b32``" msgstr "" -#: ../../../AMDGPUUsage.rst:590 ../../../AMDGPUUsage.rst:609 +#: ../../../AMDGPUUsage.rst:608 ../../../AMDGPUUsage.rst:627 msgid "``v_dot4_i32_i8``" msgstr "" -#: ../../../AMDGPUUsage.rst:591 ../../../AMDGPUUsage.rst:610 +#: ../../../AMDGPUUsage.rst:609 ../../../AMDGPUUsage.rst:628 msgid "``v_dot8_i32_i4``" msgstr "" -#: ../../../AMDGPUUsage.rst:592 ../../../AMDGPUUsage.rst:611 +#: ../../../AMDGPUUsage.rst:610 ../../../AMDGPUUsage.rst:629 msgid "``v_dot2_i32_i16``" msgstr "" -#: ../../../AMDGPUUsage.rst:593 ../../../AMDGPUUsage.rst:612 +#: ../../../AMDGPUUsage.rst:611 ../../../AMDGPUUsage.rst:630 msgid "``v_dot2_u32_u16``" msgstr "" -#: ../../../AMDGPUUsage.rst:594 ../../../AMDGPUUsage.rst:615 +#: ../../../AMDGPUUsage.rst:612 ../../../AMDGPUUsage.rst:633 msgid "``v_dot4_u32_u8``" msgstr "" -#: ../../../AMDGPUUsage.rst:595 ../../../AMDGPUUsage.rst:616 +#: ../../../AMDGPUUsage.rst:613 ../../../AMDGPUUsage.rst:634 msgid "``v_dot8_u32_u4``" msgstr "" -#: ../../../AMDGPUUsage.rst:596 ../../../AMDGPUUsage.rst:617 +#: ../../../AMDGPUUsage.rst:614 ../../../AMDGPUUsage.rst:635 msgid "``v_dot2_f32_f16``" msgstr "" -#: ../../../AMDGPUUsage.rst:599 ../../../AMDGPUUsage.rst:2556 +#: ../../../AMDGPUUsage.rst:617 ../../../AMDGPUUsage.rst:2762 msgid "``gfx9-4-generic``" msgstr "" -#: ../../../AMDGPUUsage.rst:599 +#: ../../../AMDGPUUsage.rst:617 msgid "" "FP8 and BF8 instructions, FP8 and BF8 conversion instructions, as well as " "instructions with XF32 format support are not available." msgstr "" -#: ../../../AMDGPUUsage.rst:605 ../../../AMDGPUUsage.rst:2547 +#: ../../../AMDGPUUsage.rst:623 ../../../AMDGPUUsage.rst:2751 msgid "``gfx10-1-generic``" msgstr "" -#: ../../../AMDGPUUsage.rst:605 +#: ../../../AMDGPUUsage.rst:623 msgid "" "The following instructions are not available on ``gfx1011`` and ``gfx1012``" msgstr "" -#: ../../../AMDGPUUsage.rst:613 +#: ../../../AMDGPUUsage.rst:631 msgid "``v_dot2c_f32_f16``" msgstr "" -#: ../../../AMDGPUUsage.rst:614 +#: ../../../AMDGPUUsage.rst:632 msgid "``v_dot4c_i32_i8``" msgstr "" -#: ../../../AMDGPUUsage.rst:619 +#: ../../../AMDGPUUsage.rst:637 msgid "BVH Ray Tracing instructions are not available on ``gfx1013``" msgstr "" -#: ../../../AMDGPUUsage.rst:624 ../../../AMDGPUUsage.rst:2548 +#: ../../../AMDGPUUsage.rst:642 ../../../AMDGPUUsage.rst:2752 msgid "``gfx10-3-generic``" msgstr "" -#: ../../../AMDGPUUsage.rst:624 ../../../AMDGPUUsage.rst:663 +#: ../../../AMDGPUUsage.rst:642 ../../../AMDGPUUsage.rst:681 msgid "No restrictions." msgstr "" -#: ../../../AMDGPUUsage.rst:633 ../../../AMDGPUUsage.rst:2549 +#: ../../../AMDGPUUsage.rst:651 ../../../AMDGPUUsage.rst:2753 msgid "``gfx11-generic``" msgstr "" -#: ../../../AMDGPUUsage.rst:633 +#: ../../../AMDGPUUsage.rst:651 msgid "" "Various codegen pessimizations are applied to work around some hazards " "specific to some targets within this family." msgstr "" -#: ../../../AMDGPUUsage.rst:640 +#: ../../../AMDGPUUsage.rst:658 msgid "Not all VGPRs can be used on:" msgstr "" -#: ../../../AMDGPUUsage.rst:646 +#: ../../../AMDGPUUsage.rst:664 msgid "SALU floating point instructions are not available on:" msgstr "" -#: ../../../AMDGPUUsage.rst:654 +#: ../../../AMDGPUUsage.rst:672 msgid "SGPRs are not supported for src1 in dpp instructions for:" msgstr "" -#: ../../../AMDGPUUsage.rst:663 ../../../AMDGPUUsage.rst:2554 +#: ../../../AMDGPUUsage.rst:681 ../../../AMDGPUUsage.rst:2758 msgid "``gfx12-generic``" msgstr "" -#: ../../../AMDGPUUsage.rst:673 +#: ../../../AMDGPUUsage.rst:687 ../../../AMDGPUUsage.rst:2760 +msgid "``gfx12-5-generic``" +msgstr "" + +#: ../../../AMDGPUUsage.rst:687 +msgid "Functionally equivalent to gfx1250." +msgstr "" + +#: ../../../AMDGPUUsage.rst:697 msgid "Generic Processor Versioning" msgstr "" -#: ../../../AMDGPUUsage.rst:675 +#: ../../../AMDGPUUsage.rst:699 msgid "" "Generic processor (see :ref:`amdgpu-generic-processor-table`) code objects " "are versioned (see :ref:`amdgpu-elf-header-e_flags-table-v6-onwards`) " @@ -1667,7 +1704,7 @@ msgid "" "0." msgstr "" -#: ../../../AMDGPUUsage.rst:678 +#: ../../../AMDGPUUsage.rst:702 msgid "" "For a generic code object, adding a new supported processor may require the " "code generated for the generic target to be changed so it can continue to " @@ -1676,7 +1713,7 @@ msgid "" "the same time as the generic target is updated." msgstr "" -#: ../../../AMDGPUUsage.rst:682 +#: ../../../AMDGPUUsage.rst:706 msgid "" "Each supported processor of a generic target is mapped to the version it was " "introduced in. A generic code object can execute on a supported processor if " @@ -1684,11 +1721,11 @@ msgid "" "version in which the processor was added to the generic target." msgstr "" -#: ../../../AMDGPUUsage.rst:689 +#: ../../../AMDGPUUsage.rst:713 msgid "Target Features" msgstr "" -#: ../../../AMDGPUUsage.rst:691 +#: ../../../AMDGPUUsage.rst:715 msgid "" "Target features control how code is generated to support certain processor " "specific features. Not all target features are supported by all processors. " @@ -1698,33 +1735,33 @@ msgid "" "performance." msgstr "" -#: ../../../AMDGPUUsage.rst:698 +#: ../../../AMDGPUUsage.rst:722 msgid "" "The target features supported by each processor are listed in :ref:`amdgpu-" "processors`." msgstr "" -#: ../../../AMDGPUUsage.rst:701 +#: ../../../AMDGPUUsage.rst:725 msgid "" "Target features are controlled by exactly one of the following Clang options:" msgstr "" -#: ../../../AMDGPUUsage.rst:704 +#: ../../../AMDGPUUsage.rst:728 msgid "``-mcpu=`` or ``--offload-arch=``" msgstr "" -#: ../../../AMDGPUUsage.rst:706 +#: ../../../AMDGPUUsage.rst:730 msgid "" "The ``-mcpu`` and ``--offload-arch`` can specify the target feature as " "optional components of the target ID. If omitted, the target feature has the " "``any`` value. See :ref:`amdgpu-target-id`." msgstr "" -#: ../../../AMDGPUUsage.rst:710 +#: ../../../AMDGPUUsage.rst:734 msgid "``-m[no-]``" msgstr "" -#: ../../../AMDGPUUsage.rst:712 +#: ../../../AMDGPUUsage.rst:736 msgid "" "Target features not specified by the target ID are specified using a " "separate option. These target features can have an ``on`` or ``off`` value. " @@ -1732,143 +1769,143 @@ msgid "" "by including the ``no-`` prefix. The default if not specified is ``off``." msgstr "" -#: ../../../AMDGPUUsage.rst:718 ../../../AMDGPUUsage.rst:3036 -#: ../../../AMDGPUUsage.rst:3880 +#: ../../../AMDGPUUsage.rst:742 ../../../AMDGPUUsage.rst:3244 +#: ../../../AMDGPUUsage.rst:4088 msgid "For example:" msgstr "" -#: ../../../AMDGPUUsage.rst:720 +#: ../../../AMDGPUUsage.rst:744 msgid "``-mcpu=gfx908:xnack+``" msgstr "" -#: ../../../AMDGPUUsage.rst:721 +#: ../../../AMDGPUUsage.rst:745 msgid "Enable the ``xnack`` feature." msgstr "" -#: ../../../AMDGPUUsage.rst:722 +#: ../../../AMDGPUUsage.rst:746 msgid "``-mcpu=gfx908:xnack-``" msgstr "" -#: ../../../AMDGPUUsage.rst:723 +#: ../../../AMDGPUUsage.rst:747 msgid "Disable the ``xnack`` feature." msgstr "" -#: ../../../AMDGPUUsage.rst:724 +#: ../../../AMDGPUUsage.rst:748 msgid "``-mcumode``" msgstr "" -#: ../../../AMDGPUUsage.rst:725 +#: ../../../AMDGPUUsage.rst:749 msgid "Enable the ``cumode`` feature." msgstr "" -#: ../../../AMDGPUUsage.rst:789 +#: ../../../AMDGPUUsage.rst:813 msgid "``-mno-cumode``" msgstr "" -#: ../../../AMDGPUUsage.rst:727 +#: ../../../AMDGPUUsage.rst:751 msgid "Disable the ``cumode`` feature." msgstr "" -#: ../../../AMDGPUUsage.rst:729 +#: ../../../AMDGPUUsage.rst:753 msgid "AMDGPU Target Features" msgstr "" -#: ../../../AMDGPUUsage.rst:733 +#: ../../../AMDGPUUsage.rst:757 msgid "Target Feature" msgstr "" -#: ../../../AMDGPUUsage.rst:733 +#: ../../../AMDGPUUsage.rst:757 msgid "Clang Option to Control" msgstr "" -#: ../../../AMDGPUUsage.rst:734 ../../../AMDGPUUsage.rst:2251 -#: ../../../AMDGPUUsage.rst:2354 ../../../AMDGPUUsage.rst:2381 -#: ../../../AMDGPUUsage.rst:2416 ../../../AMDGPUUsage.rst:2443 -#: ../../../AMDGPUUsage.rst:2475 ../../../AMDGPUUsage.rst:2568 -#: ../../../AMDGPUUsage.rst:2658 ../../../AMDGPUUsage.rst:2675 -#: ../../../AMDGPUUsage.rst:2824 ../../../AMDGPUUsage.rst:2839 -#: ../../../AMDGPUUsage.rst:2865 ../../../AMDGPUUsage.rst:19611 +#: ../../../AMDGPUUsage.rst:758 ../../../AMDGPUUsage.rst:2455 +#: ../../../AMDGPUUsage.rst:2558 ../../../AMDGPUUsage.rst:2585 +#: ../../../AMDGPUUsage.rst:2620 ../../../AMDGPUUsage.rst:2647 +#: ../../../AMDGPUUsage.rst:2679 ../../../AMDGPUUsage.rst:2776 +#: ../../../AMDGPUUsage.rst:2866 ../../../AMDGPUUsage.rst:2883 +#: ../../../AMDGPUUsage.rst:3032 ../../../AMDGPUUsage.rst:3047 +#: ../../../AMDGPUUsage.rst:3073 ../../../AMDGPUUsage.rst:20600 msgid "Name" msgstr "" -#: ../../../AMDGPUUsage.rst:736 +#: ../../../AMDGPUUsage.rst:760 msgid "``-m[no-]cumode``" msgstr "" -#: ../../../AMDGPUUsage.rst:736 +#: ../../../AMDGPUUsage.rst:760 msgid "" "Control the wavefront execution mode used when generating code for kernels. " "When disabled native WGP wavefront execution mode is used, when enabled CU " "wavefront execution mode is used (see :ref:`amdgpu-amdhsa-memory-model`)." msgstr "" -#: ../../../AMDGPUUsage.rst:742 ../../../AMDGPUUsage.rst:764 +#: ../../../AMDGPUUsage.rst:766 ../../../AMDGPUUsage.rst:788 msgid "``-mcpu``" msgstr "" -#: ../../../AMDGPUUsage.rst:743 ../../../AMDGPUUsage.rst:765 +#: ../../../AMDGPUUsage.rst:767 ../../../AMDGPUUsage.rst:789 msgid "``--offload-arch``" msgstr "" -#: ../../../AMDGPUUsage.rst:742 +#: ../../../AMDGPUUsage.rst:766 msgid "" "If specified, generate code that can only be loaded and executed in a " "process that has a matching setting for SRAMECC." msgstr "" -#: ../../../AMDGPUUsage.rst:746 +#: ../../../AMDGPUUsage.rst:770 msgid "" "If not specified for code object V2 to V3, generate code that can be loaded " "and executed in a process with SRAMECC enabled." msgstr "" -#: ../../../AMDGPUUsage.rst:750 +#: ../../../AMDGPUUsage.rst:774 msgid "" "If not specified for code object V4 or above, generate code that can be " "loaded and executed in a process with either setting of SRAMECC." msgstr "" -#: ../../../AMDGPUUsage.rst:754 +#: ../../../AMDGPUUsage.rst:778 msgid "``-m[no-]tgsplit``" msgstr "" -#: ../../../AMDGPUUsage.rst:754 +#: ../../../AMDGPUUsage.rst:778 msgid "" "Enable/disable generating code that assumes work-groups are launched in " "threadgroup split mode. When enabled the waves of a work-group may be " "launched in different CUs." msgstr "" -#: ../../../AMDGPUUsage.rst:759 +#: ../../../AMDGPUUsage.rst:783 msgid "``-m[no-]wavefrontsize64``" msgstr "" -#: ../../../AMDGPUUsage.rst:759 +#: ../../../AMDGPUUsage.rst:783 msgid "" "Control the wavefront size used when generating code for kernels. When " "disabled native wavefront size 32 is used, when enabled wavefront size 64 is " "used." msgstr "" -#: ../../../AMDGPUUsage.rst:764 +#: ../../../AMDGPUUsage.rst:788 msgid "" "If specified, generate code that can only be loaded and executed in a " "process that has a matching setting for XNACK replay." msgstr "" -#: ../../../AMDGPUUsage.rst:768 +#: ../../../AMDGPUUsage.rst:792 msgid "" "If not specified for code object V2 to V3, generate code that can be loaded " "and executed in a process with XNACK replay enabled." msgstr "" -#: ../../../AMDGPUUsage.rst:772 +#: ../../../AMDGPUUsage.rst:796 msgid "" "If not specified for code object V4 or above, generate code that can be " "loaded and executed in a process with either setting of XNACK replay." msgstr "" -#: ../../../AMDGPUUsage.rst:776 +#: ../../../AMDGPUUsage.rst:800 msgid "" "XNACK replay can be used for demand paging and page migration. If enabled in " "the device, then if a page fault occurs the code may execute incorrectly " @@ -1880,22 +1917,22 @@ msgid "" "XNACK replay disabled." msgstr "" -#: ../../../AMDGPUUsage.rst:794 ../../../AMDGPUUsage.rst:2778 +#: ../../../AMDGPUUsage.rst:818 ../../../AMDGPUUsage.rst:2986 msgid "Target ID" msgstr "" -#: ../../../AMDGPUUsage.rst:796 +#: ../../../AMDGPUUsage.rst:820 msgid "" "AMDGPU supports target IDs. See `Clang Offload Bundler `_ for a general description. The AMDGPU " "target specific information is:" msgstr "" -#: ../../../AMDGPUUsage.rst:804 +#: ../../../AMDGPUUsage.rst:828 msgid "**processor**" msgstr "" -#: ../../../AMDGPUUsage.rst:801 +#: ../../../AMDGPUUsage.rst:825 msgid "" "Is an AMDGPU processor or alternative processor name specified in :ref:" "`amdgpu-processor-table`. The non-canonical form target ID allows both the " @@ -1903,11 +1940,11 @@ msgid "" "ID only allows the primary processor name." msgstr "" -#: ../../../AMDGPUUsage.rst:814 +#: ../../../AMDGPUUsage.rst:838 msgid "**target-feature**" msgstr "" -#: ../../../AMDGPUUsage.rst:807 +#: ../../../AMDGPUUsage.rst:831 msgid "" "Is a target feature name specified in :ref:`amdgpu-target-features-table` " "that is supported by the processor. The target features supported by each " @@ -1919,11 +1956,11 @@ msgid "" "be specified in alphabetical order." msgstr "" -#: ../../../AMDGPUUsage.rst:819 +#: ../../../AMDGPUUsage.rst:843 msgid "Code Object V2 to V3 Target ID" msgstr "" -#: ../../../AMDGPUUsage.rst:821 +#: ../../../AMDGPUUsage.rst:845 msgid "" "The target ID syntax for code object V2 to V3 is the same as defined in " "`Clang Offload Bundler `_." msgstr "" -#: ../../../AMDGPUUsage.rst:849 +#: ../../../AMDGPUUsage.rst:873 msgid "" "The target ID syntax used for code object V2 to V3 for a bundle entry ID " "differs from that used elsewhere. See :ref:`amdgpu-target-id-v2-v3`." msgstr "" -#: ../../../AMDGPUUsage.rst:855 +#: ../../../AMDGPUUsage.rst:879 msgid "Address Spaces" msgstr "" -#: ../../../AMDGPUUsage.rst:857 +#: ../../../AMDGPUUsage.rst:881 msgid "" "The AMDGPU architecture supports a number of memory address spaces. The " "address space names use the OpenCL standard names, with some additions." msgstr "" -#: ../../../AMDGPUUsage.rst:860 +#: ../../../AMDGPUUsage.rst:884 msgid "" "The AMDGPU address spaces correspond to target architecture specific LLVM " "address space numbers used in LLVM IR." msgstr "" -#: ../../../AMDGPUUsage.rst:863 +#: ../../../AMDGPUUsage.rst:887 msgid "" "The AMDGPU address spaces are described in :ref:`amdgpu-address-spaces-" "table`. Only 64-bit process address spaces are supported for the ``amdgcn`` " "target." msgstr "" -#: ../../../AMDGPUUsage.rst:867 +#: ../../../AMDGPUUsage.rst:891 msgid "AMDGPU Address Spaces" msgstr "" -#: ../../../AMDGPUUsage.rst:871 +#: ../../../AMDGPUUsage.rst:895 msgid "64-Bit Process Address Space" msgstr "" -#: ../../../AMDGPUUsage.rst:873 ../../../AMDGPUUsage.rst:3244 +#: ../../../AMDGPUUsage.rst:897 ../../../AMDGPUUsage.rst:3452 msgid "Address Space Name" msgstr "" -#: ../../../AMDGPUUsage.rst:873 +#: ../../../AMDGPUUsage.rst:897 msgid "LLVM IR Address Space Number" msgstr "" -#: ../../../AMDGPUUsage.rst:873 ../../../AMDGPUUsage.rst:5123 +#: ../../../AMDGPUUsage.rst:897 ../../../AMDGPUUsage.rst:5331 msgid "HSA Segment Name" msgstr "" -#: ../../../AMDGPUUsage.rst:873 ../../../AMDGPUUsage.rst:5123 +#: ../../../AMDGPUUsage.rst:897 ../../../AMDGPUUsage.rst:5331 msgid "Hardware Name" msgstr "" -#: ../../../AMDGPUUsage.rst:873 ../../../AMDGPUUsage.rst:5123 +#: ../../../AMDGPUUsage.rst:897 ../../../AMDGPUUsage.rst:5331 msgid "Address Size" msgstr "" -#: ../../../AMDGPUUsage.rst:873 ../../../AMDGPUUsage.rst:5123 +#: ../../../AMDGPUUsage.rst:897 ../../../AMDGPUUsage.rst:5331 msgid "NULL Value" msgstr "" -#: ../../../AMDGPUUsage.rst:876 ../../../AMDGPUUsage.rst:5131 +#: ../../../AMDGPUUsage.rst:900 ../../../AMDGPUUsage.rst:5339 msgid "Generic" msgstr "" -#: ../../../AMDGPUUsage.rst:876 ../../../AMDGPUUsage.rst:883 -#: ../../../AMDGPUUsage.rst:2238 ../../../AMDGPUUsage.rst:2254 -#: ../../../AMDGPUUsage.rst:2258 ../../../AMDGPUUsage.rst:2263 -#: ../../../AMDGPUUsage.rst:2264 ../../../AMDGPUUsage.rst:2962 -#: ../../../AMDGPUUsage.rst:3096 ../../../AMDGPUUsage.rst:5736 -#: ../../../AMDGPUUsage.rst:6056 ../../../AMDGPUUsage.rst:6075 -#: ../../../AMDGPUUsage.rst:6086 ../../../AMDGPUUsage.rst:6104 -#: ../../../AMDGPUUsage.rst:20459 ../../../AMDGPUUsage.rst:20461 -#: ../../../AMDGPUUsage.rst:20463 ../../../AMDGPUUsage.rst:20465 -#: ../../../AMDGPUUsage.rst:20467 ../../../AMDGPUUsage.rst:20470 -#: ../../../AMDGPUUsage.rst:20472 ../../../AMDGPUUsage.rst:20474 -#: ../../../AMDGPUUsage.rst:20476 ../../../AMDGPUUsage.rst:20478 -#: ../../../AMDGPUUsage.rst:20481 ../../../AMDGPUUsage.rst:20487 -#: ../../../AMDGPUUsage.rst:20489 ../../../AMDGPUUsage.rst:20491 -#: ../../../AMDGPUUsage.rst:20494 ../../../AMDGPUUsage.rst:20498 -#: ../../../AMDGPUUsage.rst:20500 ../../../AMDGPUUsage.rst:20502 -#: ../../../AMDGPUUsage.rst:20504 ../../../AMDGPUUsage.rst:20528 -#: ../../../AMDGPUUsage.rst:20532 ../../../AMDGPUUsage.rst:20536 -#: ../../../AMDGPUUsage.rst:20548 ../../../AMDGPUUsage.rst:20550 -#: ../../../AMDGPUUsage.rst:20564 ../../../AMDGPUUsage.rst:20566 -#: ../../../AMDGPUUsage.rst:20569 ../../../AMDGPUUsage.rst:20571 -#: ../../../AMDGPUUsage.rst:20573 ../../../AMDGPUUsage.rst:20575 -#: ../../../AMDGPUUsage.rst:20577 ../../../AMDGPUUsage.rst:20579 -#: ../../../AMDGPUUsage.rst:20581 ../../../AMDGPUUsage.rst:20583 -#: ../../../AMDGPUUsage.rst:20585 +#: ../../../AMDGPUUsage.rst:900 ../../../AMDGPUUsage.rst:907 +#: ../../../AMDGPUUsage.rst:2442 ../../../AMDGPUUsage.rst:2458 +#: ../../../AMDGPUUsage.rst:2462 ../../../AMDGPUUsage.rst:2467 +#: ../../../AMDGPUUsage.rst:2468 ../../../AMDGPUUsage.rst:3170 +#: ../../../AMDGPUUsage.rst:3304 ../../../AMDGPUUsage.rst:5948 +#: ../../../AMDGPUUsage.rst:6268 ../../../AMDGPUUsage.rst:6287 +#: ../../../AMDGPUUsage.rst:6298 ../../../AMDGPUUsage.rst:6316 +#: ../../../AMDGPUUsage.rst:21448 ../../../AMDGPUUsage.rst:21450 +#: ../../../AMDGPUUsage.rst:21452 ../../../AMDGPUUsage.rst:21454 +#: ../../../AMDGPUUsage.rst:21456 ../../../AMDGPUUsage.rst:21459 +#: ../../../AMDGPUUsage.rst:21461 ../../../AMDGPUUsage.rst:21463 +#: ../../../AMDGPUUsage.rst:21465 ../../../AMDGPUUsage.rst:21467 +#: ../../../AMDGPUUsage.rst:21470 ../../../AMDGPUUsage.rst:21476 +#: ../../../AMDGPUUsage.rst:21478 ../../../AMDGPUUsage.rst:21480 +#: ../../../AMDGPUUsage.rst:21483 ../../../AMDGPUUsage.rst:21487 +#: ../../../AMDGPUUsage.rst:21489 ../../../AMDGPUUsage.rst:21491 +#: ../../../AMDGPUUsage.rst:21493 ../../../AMDGPUUsage.rst:21517 +#: ../../../AMDGPUUsage.rst:21521 ../../../AMDGPUUsage.rst:21525 +#: ../../../AMDGPUUsage.rst:21539 ../../../AMDGPUUsage.rst:21541 +#: ../../../AMDGPUUsage.rst:21555 ../../../AMDGPUUsage.rst:21557 +#: ../../../AMDGPUUsage.rst:21560 ../../../AMDGPUUsage.rst:21562 +#: ../../../AMDGPUUsage.rst:21564 ../../../AMDGPUUsage.rst:21566 +#: ../../../AMDGPUUsage.rst:21568 ../../../AMDGPUUsage.rst:21570 +#: ../../../AMDGPUUsage.rst:21572 ../../../AMDGPUUsage.rst:21574 +#: ../../../AMDGPUUsage.rst:21576 msgid "0" msgstr "" -#: ../../../AMDGPUUsage.rst:876 ../../../AMDGPUUsage.rst:5131 +#: ../../../AMDGPUUsage.rst:900 ../../../AMDGPUUsage.rst:5339 msgid "flat" msgstr "" -#: ../../../AMDGPUUsage.rst:876 ../../../AMDGPUUsage.rst:877 -#: ../../../AMDGPUUsage.rst:880 ../../../AMDGPUUsage.rst:2255 -#: ../../../AMDGPUUsage.rst:3105 ../../../AMDGPUUsage.rst:3110 -#: ../../../AMDGPUUsage.rst:3127 ../../../AMDGPUUsage.rst:3251 -#: ../../../AMDGPUUsage.rst:3252 ../../../AMDGPUUsage.rst:5128 -#: ../../../AMDGPUUsage.rst:5129 ../../../AMDGPUUsage.rst:5131 +#: ../../../AMDGPUUsage.rst:900 ../../../AMDGPUUsage.rst:901 +#: ../../../AMDGPUUsage.rst:904 ../../../AMDGPUUsage.rst:2459 +#: ../../../AMDGPUUsage.rst:3313 ../../../AMDGPUUsage.rst:3318 +#: ../../../AMDGPUUsage.rst:3335 ../../../AMDGPUUsage.rst:3459 +#: ../../../AMDGPUUsage.rst:3460 ../../../AMDGPUUsage.rst:5336 +#: ../../../AMDGPUUsage.rst:5337 ../../../AMDGPUUsage.rst:5339 msgid "64" msgstr "" -#: ../../../AMDGPUUsage.rst:876 ../../../AMDGPUUsage.rst:877 -#: ../../../AMDGPUUsage.rst:880 ../../../AMDGPUUsage.rst:5128 -#: ../../../AMDGPUUsage.rst:5129 ../../../AMDGPUUsage.rst:5131 +#: ../../../AMDGPUUsage.rst:900 ../../../AMDGPUUsage.rst:901 +#: ../../../AMDGPUUsage.rst:904 ../../../AMDGPUUsage.rst:5336 +#: ../../../AMDGPUUsage.rst:5337 ../../../AMDGPUUsage.rst:5339 msgid "0x0000000000000000" msgstr "" -#: ../../../AMDGPUUsage.rst:877 ../../../AMDGPUUsage.rst:3205 -#: ../../../AMDGPUUsage.rst:3206 ../../../AMDGPUUsage.rst:3251 -#: ../../../AMDGPUUsage.rst:5128 +#: ../../../AMDGPUUsage.rst:901 ../../../AMDGPUUsage.rst:3413 +#: ../../../AMDGPUUsage.rst:3414 ../../../AMDGPUUsage.rst:3459 +#: ../../../AMDGPUUsage.rst:5336 msgid "Global" msgstr "" -#: ../../../AMDGPUUsage.rst:877 ../../../AMDGPUUsage.rst:2259 -#: ../../../AMDGPUUsage.rst:2677 ../../../AMDGPUUsage.rst:2963 -#: ../../../AMDGPUUsage.rst:3101 ../../../AMDGPUUsage.rst:6057 -#: ../../../AMDGPUUsage.rst:6069 ../../../AMDGPUUsage.rst:6087 -#: ../../../AMDGPUUsage.rst:6106 ../../../AMDGPUUsage.rst:6172 -#: ../../../AMDGPUUsage.rst:6195 ../../../AMDGPUUsage.rst:6198 -#: ../../../AMDGPUUsage.rst:6201 ../../../AMDGPUUsage.rst:6204 -#: ../../../AMDGPUUsage.rst:6207 ../../../AMDGPUUsage.rst:6239 -#: ../../../AMDGPUUsage.rst:6242 ../../../AMDGPUUsage.rst:6245 -#: ../../../AMDGPUUsage.rst:19847 ../../../AMDGPUUsage.rst:20496 -#: ../../../AMDGPUUsage.rst:20517 ../../../AMDGPUUsage.rst:20520 -#: ../../../AMDGPUUsage.rst:20544 ../../../AMDGPUUsage.rst:20546 -#: ../../../AMDGPUUsage.rst:20560 ../../../AMDGPUUsage.rst:20562 +#: ../../../AMDGPUUsage.rst:901 ../../../AMDGPUUsage.rst:2463 +#: ../../../AMDGPUUsage.rst:2885 ../../../AMDGPUUsage.rst:3171 +#: ../../../AMDGPUUsage.rst:3309 ../../../AMDGPUUsage.rst:6269 +#: ../../../AMDGPUUsage.rst:6281 ../../../AMDGPUUsage.rst:6299 +#: ../../../AMDGPUUsage.rst:6318 ../../../AMDGPUUsage.rst:6384 +#: ../../../AMDGPUUsage.rst:6407 ../../../AMDGPUUsage.rst:6410 +#: ../../../AMDGPUUsage.rst:6413 ../../../AMDGPUUsage.rst:6416 +#: ../../../AMDGPUUsage.rst:6419 ../../../AMDGPUUsage.rst:6451 +#: ../../../AMDGPUUsage.rst:6454 ../../../AMDGPUUsage.rst:6457 +#: ../../../AMDGPUUsage.rst:20836 ../../../AMDGPUUsage.rst:21485 +#: ../../../AMDGPUUsage.rst:21506 ../../../AMDGPUUsage.rst:21509 +#: ../../../AMDGPUUsage.rst:21533 ../../../AMDGPUUsage.rst:21536 +#: ../../../AMDGPUUsage.rst:21551 ../../../AMDGPUUsage.rst:21553 msgid "1" msgstr "" -#: ../../../AMDGPUUsage.rst:877 ../../../AMDGPUUsage.rst:5128 -#: ../../../AMDGPUUsage.rst:6808 ../../../AMDGPUUsage.rst:6836 -#: ../../../AMDGPUUsage.rst:6870 ../../../AMDGPUUsage.rst:6873 -#: ../../../AMDGPUUsage.rst:6875 ../../../AMDGPUUsage.rst:6883 -#: ../../../AMDGPUUsage.rst:6893 ../../../AMDGPUUsage.rst:6896 -#: ../../../AMDGPUUsage.rst:6914 ../../../AMDGPUUsage.rst:6964 -#: ../../../AMDGPUUsage.rst:6967 ../../../AMDGPUUsage.rst:6985 -#: ../../../AMDGPUUsage.rst:7143 ../../../AMDGPUUsage.rst:7146 -#: ../../../AMDGPUUsage.rst:7168 ../../../AMDGPUUsage.rst:7210 -#: ../../../AMDGPUUsage.rst:7213 ../../../AMDGPUUsage.rst:7235 -#: ../../../AMDGPUUsage.rst:7366 ../../../AMDGPUUsage.rst:7369 -#: ../../../AMDGPUUsage.rst:7445 ../../../AMDGPUUsage.rst:7736 -#: ../../../AMDGPUUsage.rst:7741 ../../../AMDGPUUsage.rst:7813 -#: ../../../AMDGPUUsage.rst:7904 ../../../AMDGPUUsage.rst:7909 -#: ../../../AMDGPUUsage.rst:8068 ../../../AMDGPUUsage.rst:8096 -#: ../../../AMDGPUUsage.rst:8130 ../../../AMDGPUUsage.rst:8132 -#: ../../../AMDGPUUsage.rst:8143 ../../../AMDGPUUsage.rst:8145 -#: ../../../AMDGPUUsage.rst:8147 ../../../AMDGPUUsage.rst:8151 -#: ../../../AMDGPUUsage.rst:8158 ../../../AMDGPUUsage.rst:8162 -#: ../../../AMDGPUUsage.rst:8171 ../../../AMDGPUUsage.rst:8174 -#: ../../../AMDGPUUsage.rst:8257 ../../../AMDGPUUsage.rst:8281 -#: ../../../AMDGPUUsage.rst:8374 ../../../AMDGPUUsage.rst:8381 -#: ../../../AMDGPUUsage.rst:8460 ../../../AMDGPUUsage.rst:8484 -#: ../../../AMDGPUUsage.rst:8800 ../../../AMDGPUUsage.rst:8807 -#: ../../../AMDGPUUsage.rst:8844 ../../../AMDGPUUsage.rst:8888 -#: ../../../AMDGPUUsage.rst:8943 ../../../AMDGPUUsage.rst:8950 -#: ../../../AMDGPUUsage.rst:8988 ../../../AMDGPUUsage.rst:9030 -#: ../../../AMDGPUUsage.rst:9263 ../../../AMDGPUUsage.rst:9270 -#: ../../../AMDGPUUsage.rst:9417 ../../../AMDGPUUsage.rst:9482 -#: ../../../AMDGPUUsage.rst:10031 ../../../AMDGPUUsage.rst:10036 -#: ../../../AMDGPUUsage.rst:10131 ../../../AMDGPUUsage.rst:10224 -#: ../../../AMDGPUUsage.rst:10229 ../../../AMDGPUUsage.rst:10389 -#: ../../../AMDGPUUsage.rst:10417 ../../../AMDGPUUsage.rst:10454 -#: ../../../AMDGPUUsage.rst:10456 ../../../AMDGPUUsage.rst:10463 -#: ../../../AMDGPUUsage.rst:10465 ../../../AMDGPUUsage.rst:10467 -#: ../../../AMDGPUUsage.rst:10469 ../../../AMDGPUUsage.rst:10471 -#: ../../../AMDGPUUsage.rst:10473 ../../../AMDGPUUsage.rst:10480 -#: ../../../AMDGPUUsage.rst:10484 ../../../AMDGPUUsage.rst:10493 -#: ../../../AMDGPUUsage.rst:10496 ../../../AMDGPUUsage.rst:10571 -#: ../../../AMDGPUUsage.rst:10595 ../../../AMDGPUUsage.rst:10681 -#: ../../../AMDGPUUsage.rst:10688 ../../../AMDGPUUsage.rst:10767 -#: ../../../AMDGPUUsage.rst:10791 ../../../AMDGPUUsage.rst:11096 -#: ../../../AMDGPUUsage.rst:11104 ../../../AMDGPUUsage.rst:11143 -#: ../../../AMDGPUUsage.rst:11199 ../../../AMDGPUUsage.rst:11255 -#: ../../../AMDGPUUsage.rst:11262 ../../../AMDGPUUsage.rst:11300 -#: ../../../AMDGPUUsage.rst:11352 ../../../AMDGPUUsage.rst:11596 -#: ../../../AMDGPUUsage.rst:11603 ../../../AMDGPUUsage.rst:11750 -#: ../../../AMDGPUUsage.rst:11825 ../../../AMDGPUUsage.rst:12389 -#: ../../../AMDGPUUsage.rst:12394 ../../../AMDGPUUsage.rst:12489 -#: ../../../AMDGPUUsage.rst:12582 ../../../AMDGPUUsage.rst:12587 -#: ../../../AMDGPUUsage.rst:12745 ../../../AMDGPUUsage.rst:12776 -#: ../../../AMDGPUUsage.rst:12816 ../../../AMDGPUUsage.rst:12818 -#: ../../../AMDGPUUsage.rst:12827 ../../../AMDGPUUsage.rst:12832 -#: ../../../AMDGPUUsage.rst:12840 ../../../AMDGPUUsage.rst:12850 -#: ../../../AMDGPUUsage.rst:12853 ../../../AMDGPUUsage.rst:12941 -#: ../../../AMDGPUUsage.rst:12999 ../../../AMDGPUUsage.rst:13002 -#: ../../../AMDGPUUsage.rst:13078 ../../../AMDGPUUsage.rst:13318 -#: ../../../AMDGPUUsage.rst:13321 ../../../AMDGPUUsage.rst:13402 -#: ../../../AMDGPUUsage.rst:13450 ../../../AMDGPUUsage.rst:13453 -#: ../../../AMDGPUUsage.rst:13533 ../../../AMDGPUUsage.rst:13703 -#: ../../../AMDGPUUsage.rst:13706 ../../../AMDGPUUsage.rst:13911 -#: ../../../AMDGPUUsage.rst:14284 ../../../AMDGPUUsage.rst:14289 -#: ../../../AMDGPUUsage.rst:14488 ../../../AMDGPUUsage.rst:14595 -#: ../../../AMDGPUUsage.rst:14600 ../../../AMDGPUUsage.rst:14828 -#: ../../../AMDGPUUsage.rst:14857 ../../../AMDGPUUsage.rst:14893 -#: ../../../AMDGPUUsage.rst:14901 ../../../AMDGPUUsage.rst:14909 -#: ../../../AMDGPUUsage.rst:14919 ../../../AMDGPUUsage.rst:14922 -#: ../../../AMDGPUUsage.rst:15006 ../../../AMDGPUUsage.rst:15062 -#: ../../../AMDGPUUsage.rst:15065 ../../../AMDGPUUsage.rst:15157 -#: ../../../AMDGPUUsage.rst:15393 ../../../AMDGPUUsage.rst:15396 -#: ../../../AMDGPUUsage.rst:15478 ../../../AMDGPUUsage.rst:15531 -#: ../../../AMDGPUUsage.rst:15534 ../../../AMDGPUUsage.rst:15620 -#: ../../../AMDGPUUsage.rst:15800 ../../../AMDGPUUsage.rst:15803 -#: ../../../AMDGPUUsage.rst:16023 ../../../AMDGPUUsage.rst:16418 -#: ../../../AMDGPUUsage.rst:16423 ../../../AMDGPUUsage.rst:16621 -#: ../../../AMDGPUUsage.rst:16729 ../../../AMDGPUUsage.rst:16734 -#: ../../../AMDGPUUsage.rst:16954 ../../../AMDGPUUsage.rst:16983 -#: ../../../AMDGPUUsage.rst:17019 ../../../AMDGPUUsage.rst:17028 -#: ../../../AMDGPUUsage.rst:17040 ../../../AMDGPUUsage.rst:17054 -#: ../../../AMDGPUUsage.rst:17057 ../../../AMDGPUUsage.rst:17106 -#: ../../../AMDGPUUsage.rst:17162 ../../../AMDGPUUsage.rst:17169 -#: ../../../AMDGPUUsage.rst:17228 ../../../AMDGPUUsage.rst:17448 -#: ../../../AMDGPUUsage.rst:17455 ../../../AMDGPUUsage.rst:17536 -#: ../../../AMDGPUUsage.rst:17590 ../../../AMDGPUUsage.rst:17596 -#: ../../../AMDGPUUsage.rst:17677 ../../../AMDGPUUsage.rst:17848 -#: ../../../AMDGPUUsage.rst:17854 ../../../AMDGPUUsage.rst:18033 -#: ../../../AMDGPUUsage.rst:18396 ../../../AMDGPUUsage.rst:18401 -#: ../../../AMDGPUUsage.rst:18591 ../../../AMDGPUUsage.rst:18695 -#: ../../../AMDGPUUsage.rst:18701 +#: ../../../AMDGPUUsage.rst:901 ../../../AMDGPUUsage.rst:5336 +#: ../../../AMDGPUUsage.rst:7363 ../../../AMDGPUUsage.rst:7391 +#: ../../../AMDGPUUsage.rst:7425 ../../../AMDGPUUsage.rst:7428 +#: ../../../AMDGPUUsage.rst:7430 ../../../AMDGPUUsage.rst:7438 +#: ../../../AMDGPUUsage.rst:7448 ../../../AMDGPUUsage.rst:7451 +#: ../../../AMDGPUUsage.rst:7469 ../../../AMDGPUUsage.rst:7519 +#: ../../../AMDGPUUsage.rst:7522 ../../../AMDGPUUsage.rst:7540 +#: ../../../AMDGPUUsage.rst:7698 ../../../AMDGPUUsage.rst:7701 +#: ../../../AMDGPUUsage.rst:7723 ../../../AMDGPUUsage.rst:7765 +#: ../../../AMDGPUUsage.rst:7768 ../../../AMDGPUUsage.rst:7790 +#: ../../../AMDGPUUsage.rst:7921 ../../../AMDGPUUsage.rst:7924 +#: ../../../AMDGPUUsage.rst:8000 ../../../AMDGPUUsage.rst:8291 +#: ../../../AMDGPUUsage.rst:8296 ../../../AMDGPUUsage.rst:8368 +#: ../../../AMDGPUUsage.rst:8459 ../../../AMDGPUUsage.rst:8464 +#: ../../../AMDGPUUsage.rst:8623 ../../../AMDGPUUsage.rst:8651 +#: ../../../AMDGPUUsage.rst:8685 ../../../AMDGPUUsage.rst:8687 +#: ../../../AMDGPUUsage.rst:8698 ../../../AMDGPUUsage.rst:8700 +#: ../../../AMDGPUUsage.rst:8702 ../../../AMDGPUUsage.rst:8706 +#: ../../../AMDGPUUsage.rst:8713 ../../../AMDGPUUsage.rst:8717 +#: ../../../AMDGPUUsage.rst:8726 ../../../AMDGPUUsage.rst:8729 +#: ../../../AMDGPUUsage.rst:8812 ../../../AMDGPUUsage.rst:8836 +#: ../../../AMDGPUUsage.rst:8929 ../../../AMDGPUUsage.rst:8936 +#: ../../../AMDGPUUsage.rst:9015 ../../../AMDGPUUsage.rst:9039 +#: ../../../AMDGPUUsage.rst:9355 ../../../AMDGPUUsage.rst:9362 +#: ../../../AMDGPUUsage.rst:9399 ../../../AMDGPUUsage.rst:9443 +#: ../../../AMDGPUUsage.rst:9498 ../../../AMDGPUUsage.rst:9505 +#: ../../../AMDGPUUsage.rst:9543 ../../../AMDGPUUsage.rst:9585 +#: ../../../AMDGPUUsage.rst:9818 ../../../AMDGPUUsage.rst:9825 +#: ../../../AMDGPUUsage.rst:9972 ../../../AMDGPUUsage.rst:10037 +#: ../../../AMDGPUUsage.rst:10586 ../../../AMDGPUUsage.rst:10591 +#: ../../../AMDGPUUsage.rst:10686 ../../../AMDGPUUsage.rst:10779 +#: ../../../AMDGPUUsage.rst:10784 ../../../AMDGPUUsage.rst:10944 +#: ../../../AMDGPUUsage.rst:10972 ../../../AMDGPUUsage.rst:11009 +#: ../../../AMDGPUUsage.rst:11011 ../../../AMDGPUUsage.rst:11018 +#: ../../../AMDGPUUsage.rst:11020 ../../../AMDGPUUsage.rst:11022 +#: ../../../AMDGPUUsage.rst:11024 ../../../AMDGPUUsage.rst:11026 +#: ../../../AMDGPUUsage.rst:11028 ../../../AMDGPUUsage.rst:11035 +#: ../../../AMDGPUUsage.rst:11039 ../../../AMDGPUUsage.rst:11048 +#: ../../../AMDGPUUsage.rst:11051 ../../../AMDGPUUsage.rst:11126 +#: ../../../AMDGPUUsage.rst:11150 ../../../AMDGPUUsage.rst:11236 +#: ../../../AMDGPUUsage.rst:11243 ../../../AMDGPUUsage.rst:11322 +#: ../../../AMDGPUUsage.rst:11346 ../../../AMDGPUUsage.rst:11651 +#: ../../../AMDGPUUsage.rst:11659 ../../../AMDGPUUsage.rst:11698 +#: ../../../AMDGPUUsage.rst:11754 ../../../AMDGPUUsage.rst:11810 +#: ../../../AMDGPUUsage.rst:11817 ../../../AMDGPUUsage.rst:11855 +#: ../../../AMDGPUUsage.rst:11907 ../../../AMDGPUUsage.rst:12151 +#: ../../../AMDGPUUsage.rst:12158 ../../../AMDGPUUsage.rst:12305 +#: ../../../AMDGPUUsage.rst:12380 ../../../AMDGPUUsage.rst:12944 +#: ../../../AMDGPUUsage.rst:12949 ../../../AMDGPUUsage.rst:13044 +#: ../../../AMDGPUUsage.rst:13137 ../../../AMDGPUUsage.rst:13142 +#: ../../../AMDGPUUsage.rst:13300 ../../../AMDGPUUsage.rst:13331 +#: ../../../AMDGPUUsage.rst:13371 ../../../AMDGPUUsage.rst:13373 +#: ../../../AMDGPUUsage.rst:13382 ../../../AMDGPUUsage.rst:13387 +#: ../../../AMDGPUUsage.rst:13395 ../../../AMDGPUUsage.rst:13405 +#: ../../../AMDGPUUsage.rst:13408 ../../../AMDGPUUsage.rst:13496 +#: ../../../AMDGPUUsage.rst:13554 ../../../AMDGPUUsage.rst:13557 +#: ../../../AMDGPUUsage.rst:13633 ../../../AMDGPUUsage.rst:13873 +#: ../../../AMDGPUUsage.rst:13876 ../../../AMDGPUUsage.rst:13957 +#: ../../../AMDGPUUsage.rst:14005 ../../../AMDGPUUsage.rst:14008 +#: ../../../AMDGPUUsage.rst:14088 ../../../AMDGPUUsage.rst:14258 +#: ../../../AMDGPUUsage.rst:14261 ../../../AMDGPUUsage.rst:14466 +#: ../../../AMDGPUUsage.rst:14839 ../../../AMDGPUUsage.rst:14844 +#: ../../../AMDGPUUsage.rst:15043 ../../../AMDGPUUsage.rst:15150 +#: ../../../AMDGPUUsage.rst:15155 ../../../AMDGPUUsage.rst:15383 +#: ../../../AMDGPUUsage.rst:15412 ../../../AMDGPUUsage.rst:15448 +#: ../../../AMDGPUUsage.rst:15456 ../../../AMDGPUUsage.rst:15464 +#: ../../../AMDGPUUsage.rst:15474 ../../../AMDGPUUsage.rst:15477 +#: ../../../AMDGPUUsage.rst:15561 ../../../AMDGPUUsage.rst:15617 +#: ../../../AMDGPUUsage.rst:15620 ../../../AMDGPUUsage.rst:15712 +#: ../../../AMDGPUUsage.rst:15948 ../../../AMDGPUUsage.rst:15951 +#: ../../../AMDGPUUsage.rst:16033 ../../../AMDGPUUsage.rst:16086 +#: ../../../AMDGPUUsage.rst:16089 ../../../AMDGPUUsage.rst:16175 +#: ../../../AMDGPUUsage.rst:16355 ../../../AMDGPUUsage.rst:16358 +#: ../../../AMDGPUUsage.rst:16578 ../../../AMDGPUUsage.rst:16973 +#: ../../../AMDGPUUsage.rst:16978 ../../../AMDGPUUsage.rst:17176 +#: ../../../AMDGPUUsage.rst:17284 ../../../AMDGPUUsage.rst:17289 +#: ../../../AMDGPUUsage.rst:17520 ../../../AMDGPUUsage.rst:17549 +#: ../../../AMDGPUUsage.rst:17585 ../../../AMDGPUUsage.rst:17594 +#: ../../../AMDGPUUsage.rst:17606 ../../../AMDGPUUsage.rst:17620 +#: ../../../AMDGPUUsage.rst:17623 ../../../AMDGPUUsage.rst:17672 +#: ../../../AMDGPUUsage.rst:17699 ../../../AMDGPUUsage.rst:17794 +#: ../../../AMDGPUUsage.rst:17801 ../../../AMDGPUUsage.rst:17860 +#: ../../../AMDGPUUsage.rst:17897 ../../../AMDGPUUsage.rst:18244 +#: ../../../AMDGPUUsage.rst:18251 ../../../AMDGPUUsage.rst:18332 +#: ../../../AMDGPUUsage.rst:18416 ../../../AMDGPUUsage.rst:18422 +#: ../../../AMDGPUUsage.rst:18503 ../../../AMDGPUUsage.rst:18734 +#: ../../../AMDGPUUsage.rst:18740 ../../../AMDGPUUsage.rst:18919 +#: ../../../AMDGPUUsage.rst:19385 ../../../AMDGPUUsage.rst:19390 +#: ../../../AMDGPUUsage.rst:19580 ../../../AMDGPUUsage.rst:19684 +#: ../../../AMDGPUUsage.rst:19690 msgid "global" msgstr "" -#: ../../../AMDGPUUsage.rst:878 ../../../AMDGPUUsage.rst:5132 +#: ../../../AMDGPUUsage.rst:902 ../../../AMDGPUUsage.rst:5340 msgid "Region" msgstr "" -#: ../../../AMDGPUUsage.rst:878 ../../../AMDGPUUsage.rst:2260 -#: ../../../AMDGPUUsage.rst:2678 ../../../AMDGPUUsage.rst:2965 -#: ../../../AMDGPUUsage.rst:6058 ../../../AMDGPUUsage.rst:6071 -#: ../../../AMDGPUUsage.rst:6088 ../../../AMDGPUUsage.rst:6108 -#: ../../../AMDGPUUsage.rst:6150 ../../../AMDGPUUsage.rst:6153 -#: ../../../AMDGPUUsage.rst:6157 ../../../AMDGPUUsage.rst:6166 -#: ../../../AMDGPUUsage.rst:6169 ../../../AMDGPUUsage.rst:19848 +#: ../../../AMDGPUUsage.rst:902 ../../../AMDGPUUsage.rst:2464 +#: ../../../AMDGPUUsage.rst:2886 ../../../AMDGPUUsage.rst:3173 +#: ../../../AMDGPUUsage.rst:6270 ../../../AMDGPUUsage.rst:6283 +#: ../../../AMDGPUUsage.rst:6300 ../../../AMDGPUUsage.rst:6320 +#: ../../../AMDGPUUsage.rst:6362 ../../../AMDGPUUsage.rst:6365 +#: ../../../AMDGPUUsage.rst:6369 ../../../AMDGPUUsage.rst:6378 +#: ../../../AMDGPUUsage.rst:6381 ../../../AMDGPUUsage.rst:20837 msgid "2" msgstr "" -#: ../../../AMDGPUUsage.rst:878 ../../../AMDGPUUsage.rst:883 -#: ../../../AMDGPUUsage.rst:884 ../../../AMDGPUUsage.rst:889 -#: ../../../AMDGPUUsage.rst:5132 ../../../AMDGPUUsage.rst:6192 +#: ../../../AMDGPUUsage.rst:902 ../../../AMDGPUUsage.rst:907 +#: ../../../AMDGPUUsage.rst:908 ../../../AMDGPUUsage.rst:913 +#: ../../../AMDGPUUsage.rst:5340 ../../../AMDGPUUsage.rst:6404 msgid "N/A" msgstr "" -#: ../../../AMDGPUUsage.rst:878 ../../../AMDGPUUsage.rst:5132 +#: ../../../AMDGPUUsage.rst:902 ../../../AMDGPUUsage.rst:5340 msgid "GDS" msgstr "" -#: ../../../AMDGPUUsage.rst:878 ../../../AMDGPUUsage.rst:879 -#: ../../../AMDGPUUsage.rst:881 ../../../AMDGPUUsage.rst:1648 -#: ../../../AMDGPUUsage.rst:1650 ../../../AMDGPUUsage.rst:2842 -#: ../../../AMDGPUUsage.rst:3096 ../../../AMDGPUUsage.rst:3101 -#: ../../../AMDGPUUsage.rst:3114 ../../../AMDGPUUsage.rst:3118 -#: ../../../AMDGPUUsage.rst:3121 ../../../AMDGPUUsage.rst:3134 -#: ../../../AMDGPUUsage.rst:3251 ../../../AMDGPUUsage.rst:3252 -#: ../../../AMDGPUUsage.rst:3253 ../../../AMDGPUUsage.rst:3254 -#: ../../../AMDGPUUsage.rst:3256 ../../../AMDGPUUsage.rst:3257 -#: ../../../AMDGPUUsage.rst:5126 ../../../AMDGPUUsage.rst:5127 -#: ../../../AMDGPUUsage.rst:5132 ../../../AMDGPUUsage.rst:5725 -#: ../../../AMDGPUUsage.rst:5921 ../../../AMDGPUUsage.rst:5944 -#: ../../../AMDGPUUsage.rst:5996 ../../../AMDGPUUsage.rst:6045 +#: ../../../AMDGPUUsage.rst:902 ../../../AMDGPUUsage.rst:903 +#: ../../../AMDGPUUsage.rst:905 ../../../AMDGPUUsage.rst:1789 +#: ../../../AMDGPUUsage.rst:1791 ../../../AMDGPUUsage.rst:3050 +#: ../../../AMDGPUUsage.rst:3304 ../../../AMDGPUUsage.rst:3309 +#: ../../../AMDGPUUsage.rst:3322 ../../../AMDGPUUsage.rst:3326 +#: ../../../AMDGPUUsage.rst:3329 ../../../AMDGPUUsage.rst:3342 +#: ../../../AMDGPUUsage.rst:3459 ../../../AMDGPUUsage.rst:3460 +#: ../../../AMDGPUUsage.rst:3461 ../../../AMDGPUUsage.rst:3462 +#: ../../../AMDGPUUsage.rst:3464 ../../../AMDGPUUsage.rst:3465 +#: ../../../AMDGPUUsage.rst:5334 ../../../AMDGPUUsage.rst:5335 +#: ../../../AMDGPUUsage.rst:5340 ../../../AMDGPUUsage.rst:5937 +#: ../../../AMDGPUUsage.rst:6133 ../../../AMDGPUUsage.rst:6156 +#: ../../../AMDGPUUsage.rst:6208 ../../../AMDGPUUsage.rst:6257 msgid "32" msgstr "" -#: ../../../AMDGPUUsage.rst:878 ../../../AMDGPUUsage.rst:5132 +#: ../../../AMDGPUUsage.rst:902 ../../../AMDGPUUsage.rst:5340 msgid "*not implemented for AMDHSA*" msgstr "" -#: ../../../AMDGPUUsage.rst:879 ../../../AMDGPUUsage.rst:5127 +#: ../../../AMDGPUUsage.rst:903 ../../../AMDGPUUsage.rst:5335 msgid "Local" msgstr "" -#: ../../../AMDGPUUsage.rst:879 ../../../AMDGPUUsage.rst:2261 -#: ../../../AMDGPUUsage.rst:2679 ../../../AMDGPUUsage.rst:2967 -#: ../../../AMDGPUUsage.rst:6059 ../../../AMDGPUUsage.rst:6073 -#: ../../../AMDGPUUsage.rst:6089 ../../../AMDGPUUsage.rst:6110 -#: ../../../AMDGPUUsage.rst:19849 ../../../AMDGPUUsage.rst:20540 +#: ../../../AMDGPUUsage.rst:903 ../../../AMDGPUUsage.rst:2465 +#: ../../../AMDGPUUsage.rst:2887 ../../../AMDGPUUsage.rst:3175 +#: ../../../AMDGPUUsage.rst:6271 ../../../AMDGPUUsage.rst:6285 +#: ../../../AMDGPUUsage.rst:6301 ../../../AMDGPUUsage.rst:6322 +#: ../../../AMDGPUUsage.rst:20838 ../../../AMDGPUUsage.rst:21529 msgid "3" msgstr "" -#: ../../../AMDGPUUsage.rst:879 ../../../AMDGPUUsage.rst:5127 +#: ../../../AMDGPUUsage.rst:903 ../../../AMDGPUUsage.rst:5335 msgid "group" msgstr "" -#: ../../../AMDGPUUsage.rst:879 ../../../AMDGPUUsage.rst:5127 +#: ../../../AMDGPUUsage.rst:903 ../../../AMDGPUUsage.rst:5335 msgid "LDS" msgstr "" -#: ../../../AMDGPUUsage.rst:879 ../../../AMDGPUUsage.rst:881 -#: ../../../AMDGPUUsage.rst:5127 +#: ../../../AMDGPUUsage.rst:903 ../../../AMDGPUUsage.rst:905 +#: ../../../AMDGPUUsage.rst:5335 msgid "0xFFFFFFFF" msgstr "" -#: ../../../AMDGPUUsage.rst:880 ../../../AMDGPUUsage.rst:5129 +#: ../../../AMDGPUUsage.rst:904 ../../../AMDGPUUsage.rst:5337 msgid "Constant" msgstr "" -#: ../../../AMDGPUUsage.rst:880 ../../../AMDGPUUsage.rst:2262 -#: ../../../AMDGPUUsage.rst:2969 ../../../AMDGPUUsage.rst:6147 -#: ../../../AMDGPUUsage.rst:19787 ../../../AMDGPUUsage.rst:19788 -#: ../../../AMDGPUUsage.rst:19790 ../../../AMDGPUUsage.rst:19791 -#: ../../../AMDGPUUsage.rst:19792 ../../../AMDGPUUsage.rst:19793 -#: ../../../AMDGPUUsage.rst:19850 +#: ../../../AMDGPUUsage.rst:904 ../../../AMDGPUUsage.rst:2466 +#: ../../../AMDGPUUsage.rst:3177 ../../../AMDGPUUsage.rst:6359 +#: ../../../AMDGPUUsage.rst:20776 ../../../AMDGPUUsage.rst:20777 +#: ../../../AMDGPUUsage.rst:20779 ../../../AMDGPUUsage.rst:20780 +#: ../../../AMDGPUUsage.rst:20781 ../../../AMDGPUUsage.rst:20782 +#: ../../../AMDGPUUsage.rst:20839 msgid "4" msgstr "" -#: ../../../AMDGPUUsage.rst:880 ../../../AMDGPUUsage.rst:5129 -#: ../../../AMDGPUUsage.rst:6811 ../../../AMDGPUUsage.rst:6839 -#: ../../../AMDGPUUsage.rst:8071 ../../../AMDGPUUsage.rst:8099 -#: ../../../AMDGPUUsage.rst:10392 ../../../AMDGPUUsage.rst:10420 -#: ../../../AMDGPUUsage.rst:12748 ../../../AMDGPUUsage.rst:12779 -#: ../../../AMDGPUUsage.rst:14831 ../../../AMDGPUUsage.rst:14860 -#: ../../../AMDGPUUsage.rst:16957 ../../../AMDGPUUsage.rst:16986 +#: ../../../AMDGPUUsage.rst:904 ../../../AMDGPUUsage.rst:5337 +#: ../../../AMDGPUUsage.rst:7366 ../../../AMDGPUUsage.rst:7394 +#: ../../../AMDGPUUsage.rst:8626 ../../../AMDGPUUsage.rst:8654 +#: ../../../AMDGPUUsage.rst:10947 ../../../AMDGPUUsage.rst:10975 +#: ../../../AMDGPUUsage.rst:13303 ../../../AMDGPUUsage.rst:13334 +#: ../../../AMDGPUUsage.rst:15386 ../../../AMDGPUUsage.rst:15415 +#: ../../../AMDGPUUsage.rst:17523 ../../../AMDGPUUsage.rst:17552 msgid "constant" msgstr "" -#: ../../../AMDGPUUsage.rst:880 ../../../AMDGPUUsage.rst:5129 +#: ../../../AMDGPUUsage.rst:904 ../../../AMDGPUUsage.rst:5337 msgid "*same as global*" msgstr "" -#: ../../../AMDGPUUsage.rst:881 ../../../AMDGPUUsage.rst:5126 +#: ../../../AMDGPUUsage.rst:905 ../../../AMDGPUUsage.rst:5334 msgid "Private" msgstr "" -#: ../../../AMDGPUUsage.rst:881 ../../../AMDGPUUsage.rst:2970 -#: ../../../AMDGPUUsage.rst:19851 +#: ../../../AMDGPUUsage.rst:905 ../../../AMDGPUUsage.rst:3178 +#: ../../../AMDGPUUsage.rst:20840 msgid "5" msgstr "" -#: ../../../AMDGPUUsage.rst:881 ../../../AMDGPUUsage.rst:5126 -#: ../../../AMDGPUUsage.rst:6810 ../../../AMDGPUUsage.rst:6838 -#: ../../../AMDGPUUsage.rst:8070 ../../../AMDGPUUsage.rst:8098 -#: ../../../AMDGPUUsage.rst:10391 ../../../AMDGPUUsage.rst:10419 -#: ../../../AMDGPUUsage.rst:12747 ../../../AMDGPUUsage.rst:12778 -#: ../../../AMDGPUUsage.rst:14830 ../../../AMDGPUUsage.rst:14859 -#: ../../../AMDGPUUsage.rst:16956 ../../../AMDGPUUsage.rst:16985 +#: ../../../AMDGPUUsage.rst:905 ../../../AMDGPUUsage.rst:5334 +#: ../../../AMDGPUUsage.rst:7365 ../../../AMDGPUUsage.rst:7393 +#: ../../../AMDGPUUsage.rst:8625 ../../../AMDGPUUsage.rst:8653 +#: ../../../AMDGPUUsage.rst:10946 ../../../AMDGPUUsage.rst:10974 +#: ../../../AMDGPUUsage.rst:13302 ../../../AMDGPUUsage.rst:13333 +#: ../../../AMDGPUUsage.rst:15385 ../../../AMDGPUUsage.rst:15414 +#: ../../../AMDGPUUsage.rst:17522 ../../../AMDGPUUsage.rst:17551 msgid "private" msgstr "" -#: ../../../AMDGPUUsage.rst:881 ../../../AMDGPUUsage.rst:5126 +#: ../../../AMDGPUUsage.rst:905 ../../../AMDGPUUsage.rst:5334 msgid "scratch" msgstr "" -#: ../../../AMDGPUUsage.rst:882 +#: ../../../AMDGPUUsage.rst:906 msgid "Constant 32-bit" msgstr "" -#: ../../../AMDGPUUsage.rst:882 ../../../AMDGPUUsage.rst:2971 -#: ../../../AMDGPUUsage.rst:5770 ../../../AMDGPUUsage.rst:19853 +#: ../../../AMDGPUUsage.rst:906 ../../../AMDGPUUsage.rst:3179 +#: ../../../AMDGPUUsage.rst:5982 ../../../AMDGPUUsage.rst:20842 msgid "6" msgstr "" -#: ../../../AMDGPUUsage.rst:882 ../../../AMDGPUUsage.rst:885 -#: ../../../AMDGPUUsage.rst:997 +#: ../../../AMDGPUUsage.rst:906 ../../../AMDGPUUsage.rst:909 +#: ../../../AMDGPUUsage.rst:1021 msgid "*TODO*" msgstr "" -#: ../../../AMDGPUUsage.rst:882 ../../../AMDGPUUsage.rst:5126 +#: ../../../AMDGPUUsage.rst:906 ../../../AMDGPUUsage.rst:5334 msgid "0x00000000" msgstr "" -#: ../../../AMDGPUUsage.rst:883 +#: ../../../AMDGPUUsage.rst:907 msgid "Buffer Fat Pointer" msgstr "" -#: ../../../AMDGPUUsage.rst:883 ../../../AMDGPUUsage.rst:2973 -#: ../../../AMDGPUUsage.rst:5797 ../../../AMDGPUUsage.rst:19855 +#: ../../../AMDGPUUsage.rst:907 ../../../AMDGPUUsage.rst:3181 +#: ../../../AMDGPUUsage.rst:6009 ../../../AMDGPUUsage.rst:20844 msgid "7" msgstr "" -#: ../../../AMDGPUUsage.rst:883 +#: ../../../AMDGPUUsage.rst:907 msgid "160" msgstr "" -#: ../../../AMDGPUUsage.rst:884 +#: ../../../AMDGPUUsage.rst:908 msgid "Buffer Resource" msgstr "" -#: ../../../AMDGPUUsage.rst:884 ../../../AMDGPUUsage.rst:1656 -#: ../../../AMDGPUUsage.rst:1658 ../../../AMDGPUUsage.rst:2974 -#: ../../../AMDGPUUsage.rst:5805 ../../../AMDGPUUsage.rst:6071 -#: ../../../AMDGPUUsage.rst:19789 ../../../AMDGPUUsage.rst:19790 -#: ../../../AMDGPUUsage.rst:19792 ../../../AMDGPUUsage.rst:19794 -#: ../../../AMDGPUUsage.rst:19795 ../../../AMDGPUUsage.rst:19798 -#: ../../../AMDGPUUsage.rst:19847 ../../../AMDGPUUsage.rst:19848 -#: ../../../AMDGPUUsage.rst:19849 ../../../AMDGPUUsage.rst:19850 -#: ../../../AMDGPUUsage.rst:19851 ../../../AMDGPUUsage.rst:19853 -#: ../../../AMDGPUUsage.rst:19855 +#: ../../../AMDGPUUsage.rst:908 ../../../AMDGPUUsage.rst:1797 +#: ../../../AMDGPUUsage.rst:1799 ../../../AMDGPUUsage.rst:3182 +#: ../../../AMDGPUUsage.rst:6017 ../../../AMDGPUUsage.rst:6283 +#: ../../../AMDGPUUsage.rst:20778 ../../../AMDGPUUsage.rst:20779 +#: ../../../AMDGPUUsage.rst:20781 ../../../AMDGPUUsage.rst:20783 +#: ../../../AMDGPUUsage.rst:20784 ../../../AMDGPUUsage.rst:20787 +#: ../../../AMDGPUUsage.rst:20836 ../../../AMDGPUUsage.rst:20837 +#: ../../../AMDGPUUsage.rst:20838 ../../../AMDGPUUsage.rst:20839 +#: ../../../AMDGPUUsage.rst:20840 ../../../AMDGPUUsage.rst:20842 +#: ../../../AMDGPUUsage.rst:20844 msgid "8" msgstr "" -#: ../../../AMDGPUUsage.rst:884 +#: ../../../AMDGPUUsage.rst:908 msgid "V#" msgstr "" -#: ../../../AMDGPUUsage.rst:884 ../../../AMDGPUUsage.rst:889 -#: ../../../AMDGPUUsage.rst:3118 +#: ../../../AMDGPUUsage.rst:908 ../../../AMDGPUUsage.rst:913 +#: ../../../AMDGPUUsage.rst:3326 msgid "128" msgstr "" -#: ../../../AMDGPUUsage.rst:884 +#: ../../../AMDGPUUsage.rst:908 msgid "0x00000000000000000000000000000000" msgstr "" -#: ../../../AMDGPUUsage.rst:885 +#: ../../../AMDGPUUsage.rst:909 msgid "Buffer Strided Pointer (experimental)" msgstr "" -#: ../../../AMDGPUUsage.rst:885 ../../../AMDGPUUsage.rst:2975 -#: ../../../AMDGPUUsage.rst:5813 ../../../AMDGPUUsage.rst:6073 +#: ../../../AMDGPUUsage.rst:909 ../../../AMDGPUUsage.rst:3183 +#: ../../../AMDGPUUsage.rst:6025 ../../../AMDGPUUsage.rst:6285 msgid "9" msgstr "" -#: ../../../AMDGPUUsage.rst:886 ../../../AMDGPUUsage.rst:887 +#: ../../../AMDGPUUsage.rst:910 ../../../AMDGPUUsage.rst:911 msgid "*reserved for future use*" msgstr "" -#: ../../../AMDGPUUsage.rst:886 ../../../AMDGPUUsage.rst:2681 -#: ../../../AMDGPUUsage.rst:2976 ../../../AMDGPUUsage.rst:5821 -#: ../../../AMDGPUUsage.rst:5965 ../../../AMDGPUUsage.rst:6075 +#: ../../../AMDGPUUsage.rst:910 ../../../AMDGPUUsage.rst:2889 +#: ../../../AMDGPUUsage.rst:3184 ../../../AMDGPUUsage.rst:6033 +#: ../../../AMDGPUUsage.rst:6177 ../../../AMDGPUUsage.rst:6287 msgid "10" msgstr "" -#: ../../../AMDGPUUsage.rst:887 ../../../AMDGPUUsage.rst:2682 -#: ../../../AMDGPUUsage.rst:2977 ../../../AMDGPUUsage.rst:5975 -#: ../../../AMDGPUUsage.rst:6069 +#: ../../../AMDGPUUsage.rst:911 ../../../AMDGPUUsage.rst:2890 +#: ../../../AMDGPUUsage.rst:3185 ../../../AMDGPUUsage.rst:6187 +#: ../../../AMDGPUUsage.rst:6281 msgid "11" msgstr "" -#: ../../../AMDGPUUsage.rst:888 +#: ../../../AMDGPUUsage.rst:912 msgid "*reserved for downstream use (LLPC)*" msgstr "" -#: ../../../AMDGPUUsage.rst:888 ../../../AMDGPUUsage.rst:2978 -#: ../../../AMDGPUUsage.rst:6011 ../../../AMDGPUUsage.rst:6073 +#: ../../../AMDGPUUsage.rst:912 ../../../AMDGPUUsage.rst:3186 +#: ../../../AMDGPUUsage.rst:6223 ../../../AMDGPUUsage.rst:6285 msgid "12" msgstr "" -#: ../../../AMDGPUUsage.rst:889 +#: ../../../AMDGPUUsage.rst:913 msgid "Streamout Registers" msgstr "" -#: ../../../AMDGPUUsage.rst:889 +#: ../../../AMDGPUUsage.rst:913 msgid "GS_REGS" msgstr "" -#: ../../../AMDGPUUsage.rst:921 +#: ../../../AMDGPUUsage.rst:945 msgid "**Generic**" msgstr "" -#: ../../../AMDGPUUsage.rst:893 +#: ../../../AMDGPUUsage.rst:917 msgid "" "The generic address space is supported unless the *Target Properties* column " "of :ref:`amdgpu-processor-table` specifies *Does not support generic address " "space*." msgstr "" -#: ../../../AMDGPUUsage.rst:897 +#: ../../../AMDGPUUsage.rst:921 msgid "" "The generic address space uses the hardware flat address support for two " "fixed ranges of virtual addresses (the private and local apertures), that " @@ -2423,7 +2461,7 @@ msgid "" "memory depending on if the address is within one of the aperture ranges." msgstr "" -#: ../../../AMDGPUUsage.rst:904 +#: ../../../AMDGPUUsage.rst:928 msgid "" "Flat access to scratch requires hardware aperture setup and setup in the " "kernel prologue (see :ref:`amdgpu-amdhsa-kernel-prolog-flat-scratch`). Flat " @@ -2431,7 +2469,7 @@ msgid "" "setup (see :ref:`amdgpu-amdhsa-kernel-prolog-m0`)." msgstr "" -#: ../../../AMDGPUUsage.rst:909 +#: ../../../AMDGPUUsage.rst:933 msgid "" "To convert between a private or group address space address (termed a " "segment address) and a flat address, the base address of the corresponding " @@ -2445,17 +2483,17 @@ msgid "" "flat." msgstr "" -#: ../../../AMDGPUUsage.rst:920 +#: ../../../AMDGPUUsage.rst:944 msgid "" "A global address space address has the same value when used as a flat " "address so no conversion is needed." msgstr "" -#: ../../../AMDGPUUsage.rst:936 +#: ../../../AMDGPUUsage.rst:960 msgid "**Global and Constant**" msgstr "" -#: ../../../AMDGPUUsage.rst:924 +#: ../../../AMDGPUUsage.rst:948 msgid "" "The global and constant address spaces both use global virtual addresses, " "which are the same virtual address space used by the CPU. However, some " @@ -2463,7 +2501,7 @@ msgid "" "the GPU, and some by both." msgstr "" -#: ../../../AMDGPUUsage.rst:929 +#: ../../../AMDGPUUsage.rst:953 msgid "" "Using the constant address space indicates that the data will not change " "during the execution of the kernel. This allows scalar read instructions to " @@ -2475,11 +2513,11 @@ msgid "" "constant memory to change values between kernel dispatches." msgstr "" -#: ../../../AMDGPUUsage.rst:944 +#: ../../../AMDGPUUsage.rst:968 msgid "**Region**" msgstr "" -#: ../../../AMDGPUUsage.rst:939 +#: ../../../AMDGPUUsage.rst:963 msgid "" "The region address space uses the hardware Global Data Store (GDS). All " "wavefronts executing on the same device will access the same memory for any " @@ -2489,11 +2527,11 @@ msgid "" "The data store (DS) instructions can be used to access it." msgstr "" -#: ../../../AMDGPUUsage.rst:954 +#: ../../../AMDGPUUsage.rst:978 msgid "**Local**" msgstr "" -#: ../../../AMDGPUUsage.rst:947 +#: ../../../AMDGPUUsage.rst:971 msgid "" "The local address space uses the hardware Local Data Store (LDS) which is " "automatically allocated when the hardware creates the wavefronts of a work-" @@ -2505,11 +2543,11 @@ msgid "" "instructions can be used to access it." msgstr "" -#: ../../../AMDGPUUsage.rst:994 +#: ../../../AMDGPUUsage.rst:1018 msgid "**Private**" msgstr "" -#: ../../../AMDGPUUsage.rst:957 +#: ../../../AMDGPUUsage.rst:981 msgid "" "The private address space uses the hardware scratch memory support which " "automatically allocates memory when it creates a wavefront and frees it when " @@ -2518,7 +2556,7 @@ msgid "" "another lane of the same or different wavefront for the same private address." msgstr "" -#: ../../../AMDGPUUsage.rst:963 +#: ../../../AMDGPUUsage.rst:987 msgid "" "If a kernel dispatch uses scratch, then the hardware allocates memory from a " "pool of backing memory allocated by the runtime for each wavefront. The " @@ -2526,27 +2564,27 @@ msgid "" "mapping used from private address to backing memory address is:" msgstr "" -#: ../../../AMDGPUUsage.rst:968 +#: ../../../AMDGPUUsage.rst:992 msgid "" "``wavefront-scratch-base + ((private-address / 4) * wavefront-size * 4) + " "(wavefront-lane-id * 4) + (private-address % 4)``" msgstr "" -#: ../../../AMDGPUUsage.rst:972 +#: ../../../AMDGPUUsage.rst:996 msgid "" "If each lane of a wavefront accesses the same private address, the " "interleaving results in adjacent dwords being accessed and hence requires " "fewer cache lines to be fetched." msgstr "" -#: ../../../AMDGPUUsage.rst:976 +#: ../../../AMDGPUUsage.rst:1000 msgid "" "There are different ways that the wavefront scratch base address is " "determined by a wavefront (see :ref:`amdgpu-amdhsa-initial-kernel-execution-" "state`)." msgstr "" -#: ../../../AMDGPUUsage.rst:980 +#: ../../../AMDGPUUsage.rst:1004 msgid "" "Scratch memory can be accessed in an interleaved manner using buffer " "instructions with the scratch buffer descriptor and per wavefront scratch " @@ -2555,7 +2593,7 @@ msgid "" "GFX11." msgstr "" -#: ../../../AMDGPUUsage.rst:986 +#: ../../../AMDGPUUsage.rst:1010 msgid "" "On targets without \"Globally Accessible Scratch\" (introduced in GFX125x), " "code that manipulates the stack values in other lanes of a wavefront, such " @@ -2566,21 +2604,21 @@ msgid "" "not occur for such targets." msgstr "" -#: ../../../AMDGPUUsage.rst:993 +#: ../../../AMDGPUUsage.rst:1017 msgid "" "When using code object V5 ``LIBOMPTARGET_STACK_SIZE`` may be used to provide " "the private segment size in bytes, for cases where a dynamic stack is used." msgstr "" -#: ../../../AMDGPUUsage.rst:997 +#: ../../../AMDGPUUsage.rst:1021 msgid "**Constant 32-bit**" msgstr "" -#: ../../../AMDGPUUsage.rst:1026 +#: ../../../AMDGPUUsage.rst:1050 msgid "**Buffer Fat Pointer**" msgstr "" -#: ../../../AMDGPUUsage.rst:1000 +#: ../../../AMDGPUUsage.rst:1024 msgid "" "The buffer fat pointer is an experimental address space that is currently " "unsupported in the backend. It exposes a non-integral pointer that is in the " @@ -2591,7 +2629,7 @@ msgid "" "the backend." msgstr "" -#: ../../../AMDGPUUsage.rst:1008 +#: ../../../AMDGPUUsage.rst:1032 msgid "" "The buffer descriptor used to construct a buffer fat pointer must be *raw*: " "the stride must be 0, the \"add tid\" flag must be 0, the swizzle enable " @@ -2601,7 +2639,7 @@ msgid "" "used." msgstr "" -#: ../../../AMDGPUUsage.rst:1014 +#: ../../../AMDGPUUsage.rst:1038 msgid "" "These pointers can be created by ``addrspacecast`` from a buffer resource " "(``ptr addrspace(8)```) or by using `llvm.amdgcn.make.buffer.rsrc` to " @@ -2610,7 +2648,7 @@ msgid "" "rewritten away." msgstr "" -#: ../../../AMDGPUUsage.rst:1019 +#: ../../../AMDGPUUsage.rst:1043 msgid "" "The ``align`` attribute on operations from buffer fat pointers is deemed to " "apply to all componenents of the pointer - that is, an ``align 4`` load is " @@ -2618,18 +2656,18 @@ msgid "" "pointer with an alignment of 4." msgstr "" -#: ../../../AMDGPUUsage.rst:1024 +#: ../../../AMDGPUUsage.rst:1048 msgid "" "This componentwise definition of alignment is needed to allow for promotion " "of aligned loads to ``s_buffer_load``, which requires that both the base " "pointer and offset be appropriately aligned." msgstr "" -#: ../../../AMDGPUUsage.rst:1075 +#: ../../../AMDGPUUsage.rst:1099 msgid "**Buffer Resource**" msgstr "" -#: ../../../AMDGPUUsage.rst:1029 +#: ../../../AMDGPUUsage.rst:1053 msgid "" "The buffer resource pointer, in address space 8, is the newer form for " "representing buffer descriptors in AMDGPU IR, replacing their previous " @@ -2637,7 +2675,7 @@ msgid "" "represents a 128-bit buffer descriptor resource (``V#``)." msgstr "" -#: ../../../AMDGPUUsage.rst:1034 +#: ../../../AMDGPUUsage.rst:1058 msgid "" "Since, in general, a buffer resource supports complex addressing modes that " "cannot be easily represented in LLVM (such as implicit swizzled access to " @@ -2649,13 +2687,13 @@ msgid "" "AMDGPU buffer intrinsics, and they may be converted to and from ``i128``." msgstr "" -#: ../../../AMDGPUUsage.rst:1043 +#: ../../../AMDGPUUsage.rst:1067 msgid "" "Casting a buffer resource to a buffer fat pointer is permitted and adds an " "offset of 0." msgstr "" -#: ../../../AMDGPUUsage.rst:1046 +#: ../../../AMDGPUUsage.rst:1070 msgid "" "Buffer resources can be created from 64-bit pointers (which should be either " "generic or global) using the ``llvm.amdgcn.make.buffer.rsrc`` intrinsic, " @@ -2666,14 +2704,14 @@ msgid "" "architecture and is detailed in the ISA descriptions." msgstr "" -#: ../../../AMDGPUUsage.rst:1054 +#: ../../../AMDGPUUsage.rst:1078 msgid "" "On gfx1250, the base pointer is instead truncated to 57 bits and the " "NumRecords field is 45 bits, which necessitated a change to ``make.buffer." "rsrcs``'s arguments in order to make that field an ``i64``." msgstr "" -#: ../../../AMDGPUUsage.rst:1058 +#: ../../../AMDGPUUsage.rst:1082 msgid "" "When buffer resources are passed to buffer intrinsics such as ``llvm.amdgcn." "raw.ptr.buffer.load`` or ``llvm.amdgcn.struct.ptr.buffer.store``, the " @@ -2684,7 +2722,7 @@ msgid "" "the stride must be a multiple of the given alignment." msgstr "" -#: ../../../AMDGPUUsage.rst:1067 +#: ../../../AMDGPUUsage.rst:1091 msgid "" "In other words, the ``align`` attribute specifies the alignment of the " "effective address being loaded from/stored to *and* acts as a guarantee that " @@ -2697,11 +2735,11 @@ msgid "" "``s_buffer_load``, which requires such componentwise alignment)." msgstr "" -#: ../../../AMDGPUUsage.rst:1099 +#: ../../../AMDGPUUsage.rst:1123 msgid "**Buffer Strided Pointer**" msgstr "" -#: ../../../AMDGPUUsage.rst:1078 +#: ../../../AMDGPUUsage.rst:1102 msgid "" "The buffer index pointer is an experimental address space. It represents a " "128-bit buffer descriptor and a 32-bit offset, like the **Buffer Fat " @@ -2711,14 +2749,14 @@ msgid "" "followed by the 32-bit index." msgstr "" -#: ../../../AMDGPUUsage.rst:1085 +#: ../../../AMDGPUUsage.rst:1109 msgid "" "The bits in the buffer descriptor must meet the following requirements: the " "stride is the size of a structured element, the \"add tid\" flag must be 0, " "and the swizzle enable bits must be off." msgstr "" -#: ../../../AMDGPUUsage.rst:1089 +#: ../../../AMDGPUUsage.rst:1113 msgid "" "These pointers can be created by ``addrspacecast`` from a buffer resource " "(``ptr addrspace(8)``) or by using ``llvm.amdgcn.make.buffer.rsrc`` to " @@ -2727,7 +2765,7 @@ msgid "" "address space cast from being rewritten away." msgstr "" -#: ../../../AMDGPUUsage.rst:1095 +#: ../../../AMDGPUUsage.rst:1119 msgid "" "As with buffer fat pointers, alignment of a buffer strided pointer applies " "to both the base pointer address and the offset. In addition, the alignment " @@ -2737,11 +2775,11 @@ msgid "" "is a multiple of 4." msgstr "" -#: ../../../AMDGPUUsage.rst:1106 +#: ../../../AMDGPUUsage.rst:1130 msgid "**Streamout Registers**" msgstr "" -#: ../../../AMDGPUUsage.rst:1102 +#: ../../../AMDGPUUsage.rst:1126 msgid "" "Dedicated registers used by the GS NGG Streamout Instructions. The register " "file is modelled as a memory in a distinct address space because it is " @@ -2750,18 +2788,18 @@ msgid "" "only by the compiler. Do not use this address space for IR pointers." msgstr "" -#: ../../../AMDGPUUsage.rst:1111 +#: ../../../AMDGPUUsage.rst:1135 msgid "Memory Scopes" msgstr "" -#: ../../../AMDGPUUsage.rst:1113 +#: ../../../AMDGPUUsage.rst:1137 msgid "" "This section provides LLVM memory synchronization scopes supported by the " "AMDGPU backend memory model when the target triple OS is ``amdhsa`` (see :" "ref:`amdgpu-amdhsa-memory-model` and :ref:`amdgpu-target-triples`)." msgstr "" -#: ../../../AMDGPUUsage.rst:1117 +#: ../../../AMDGPUUsage.rst:1141 msgid "" "The memory model supported is based on the HSA memory model [HSA]_ which is " "based in turn on HRF-indirect with scope inclusion [HRF]_. The happens-" @@ -2770,89 +2808,89 @@ msgid "" "to be inclusive (see table :ref:`amdgpu-amdhsa-llvm-sync-scopes-table`)." msgstr "" -#: ../../../AMDGPUUsage.rst:1123 +#: ../../../AMDGPUUsage.rst:1147 msgid "" "This is different to the OpenCL [OpenCL]_ memory model which does not have " "scope inclusion and requires the memory scopes to exactly match. However, " "this is conservatively correct for OpenCL." msgstr "" -#: ../../../AMDGPUUsage.rst:1127 +#: ../../../AMDGPUUsage.rst:1151 msgid "AMDHSA LLVM Sync Scopes" msgstr "" -#: ../../../AMDGPUUsage.rst:1131 +#: ../../../AMDGPUUsage.rst:1155 msgid "LLVM Sync Scope" msgstr "" -#: ../../../AMDGPUUsage.rst:1133 ../../../AMDGPUUsage.rst:2572 -#: ../../../AMDGPUUsage.rst:2578 ../../../AMDGPUUsage.rst:2579 -#: ../../../AMDGPUUsage.rst:2580 ../../../AMDGPUUsage.rst:2582 -#: ../../../AMDGPUUsage.rst:2583 ../../../AMDGPUUsage.rst:2584 -#: ../../../AMDGPUUsage.rst:2962 ../../../AMDGPUUsage.rst:6641 -#: ../../../AMDGPUUsage.rst:6642 ../../../AMDGPUUsage.rst:6808 -#: ../../../AMDGPUUsage.rst:6835 ../../../AMDGPUUsage.rst:6836 -#: ../../../AMDGPUUsage.rst:6862 ../../../AMDGPUUsage.rst:7036 -#: ../../../AMDGPUUsage.rst:7038 ../../../AMDGPUUsage.rst:7070 -#: ../../../AMDGPUUsage.rst:7275 ../../../AMDGPUUsage.rst:7277 -#: ../../../AMDGPUUsage.rst:7309 ../../../AMDGPUUsage.rst:7574 -#: ../../../AMDGPUUsage.rst:7576 ../../../AMDGPUUsage.rst:7645 -#: ../../../AMDGPUUsage.rst:7914 ../../../AMDGPUUsage.rst:8068 -#: ../../../AMDGPUUsage.rst:8095 ../../../AMDGPUUsage.rst:8096 -#: ../../../AMDGPUUsage.rst:8122 ../../../AMDGPUUsage.rst:8579 -#: ../../../AMDGPUUsage.rst:8581 ../../../AMDGPUUsage.rst:8647 -#: ../../../AMDGPUUsage.rst:8720 ../../../AMDGPUUsage.rst:9083 -#: ../../../AMDGPUUsage.rst:9085 ../../../AMDGPUUsage.rst:9134 -#: ../../../AMDGPUUsage.rst:9191 ../../../AMDGPUUsage.rst:9719 -#: ../../../AMDGPUUsage.rst:9721 ../../../AMDGPUUsage.rst:9831 -#: ../../../AMDGPUUsage.rst:9922 ../../../AMDGPUUsage.rst:10234 -#: ../../../AMDGPUUsage.rst:10389 ../../../AMDGPUUsage.rst:10416 -#: ../../../AMDGPUUsage.rst:10417 ../../../AMDGPUUsage.rst:10446 -#: ../../../AMDGPUUsage.rst:10880 ../../../AMDGPUUsage.rst:10882 -#: ../../../AMDGPUUsage.rst:10948 ../../../AMDGPUUsage.rst:11021 -#: ../../../AMDGPUUsage.rst:11406 ../../../AMDGPUUsage.rst:11408 -#: ../../../AMDGPUUsage.rst:11457 ../../../AMDGPUUsage.rst:11527 -#: ../../../AMDGPUUsage.rst:12067 ../../../AMDGPUUsage.rst:12069 -#: ../../../AMDGPUUsage.rst:12179 ../../../AMDGPUUsage.rst:12283 -#: ../../../AMDGPUUsage.rst:12592 ../../../AMDGPUUsage.rst:12745 -#: ../../../AMDGPUUsage.rst:12775 ../../../AMDGPUUsage.rst:12776 -#: ../../../AMDGPUUsage.rst:12808 ../../../AMDGPUUsage.rst:13137 -#: ../../../AMDGPUUsage.rst:13139 ../../../AMDGPUUsage.rst:13227 -#: ../../../AMDGPUUsage.rst:13578 ../../../AMDGPUUsage.rst:13580 -#: ../../../AMDGPUUsage.rst:13641 ../../../AMDGPUUsage.rst:14058 -#: ../../../AMDGPUUsage.rst:14060 ../../../AMDGPUUsage.rst:14182 -#: ../../../AMDGPUUsage.rst:14605 ../../../AMDGPUUsage.rst:14804 -#: ../../../AMDGPUUsage.rst:14807 ../../../AMDGPUUsage.rst:14808 -#: ../../../AMDGPUUsage.rst:14809 ../../../AMDGPUUsage.rst:14813 -#: ../../../AMDGPUUsage.rst:14814 ../../../AMDGPUUsage.rst:14815 -#: ../../../AMDGPUUsage.rst:14828 ../../../AMDGPUUsage.rst:14856 -#: ../../../AMDGPUUsage.rst:14857 ../../../AMDGPUUsage.rst:14885 -#: ../../../AMDGPUUsage.rst:15225 ../../../AMDGPUUsage.rst:15227 -#: ../../../AMDGPUUsage.rst:15311 ../../../AMDGPUUsage.rst:15672 -#: ../../../AMDGPUUsage.rst:15674 ../../../AMDGPUUsage.rst:15732 -#: ../../../AMDGPUUsage.rst:16193 ../../../AMDGPUUsage.rst:16195 -#: ../../../AMDGPUUsage.rst:16311 ../../../AMDGPUUsage.rst:16739 -#: ../../../AMDGPUUsage.rst:16954 ../../../AMDGPUUsage.rst:16982 -#: ../../../AMDGPUUsage.rst:16983 ../../../AMDGPUUsage.rst:17011 -#: ../../../AMDGPUUsage.rst:17305 ../../../AMDGPUUsage.rst:17307 -#: ../../../AMDGPUUsage.rst:17372 ../../../AMDGPUUsage.rst:17730 -#: ../../../AMDGPUUsage.rst:17732 ../../../AMDGPUUsage.rst:17786 -#: ../../../AMDGPUUsage.rst:18195 ../../../AMDGPUUsage.rst:18197 -#: ../../../AMDGPUUsage.rst:18297 ../../../AMDGPUUsage.rst:18707 -#: ../../../AMDGPUUsage.rst:18794 ../../../AMDGPUUsage.rst:18823 -#: ../../../AMDGPUUsage.rst:18836 ../../../AMDGPUUsage.rst:18864 -#: ../../../AMDGPUUsage.rst:18870 ../../../AMDGPUUsage.rst:18877 -#: ../../../AMDGPUUsage.rst:19710 +#: ../../../AMDGPUUsage.rst:1157 ../../../AMDGPUUsage.rst:2780 +#: ../../../AMDGPUUsage.rst:2786 ../../../AMDGPUUsage.rst:2787 +#: ../../../AMDGPUUsage.rst:2788 ../../../AMDGPUUsage.rst:2790 +#: ../../../AMDGPUUsage.rst:2791 ../../../AMDGPUUsage.rst:2792 +#: ../../../AMDGPUUsage.rst:3170 ../../../AMDGPUUsage.rst:7165 +#: ../../../AMDGPUUsage.rst:7166 ../../../AMDGPUUsage.rst:7363 +#: ../../../AMDGPUUsage.rst:7390 ../../../AMDGPUUsage.rst:7391 +#: ../../../AMDGPUUsage.rst:7417 ../../../AMDGPUUsage.rst:7591 +#: ../../../AMDGPUUsage.rst:7593 ../../../AMDGPUUsage.rst:7625 +#: ../../../AMDGPUUsage.rst:7830 ../../../AMDGPUUsage.rst:7832 +#: ../../../AMDGPUUsage.rst:7864 ../../../AMDGPUUsage.rst:8129 +#: ../../../AMDGPUUsage.rst:8131 ../../../AMDGPUUsage.rst:8200 +#: ../../../AMDGPUUsage.rst:8469 ../../../AMDGPUUsage.rst:8623 +#: ../../../AMDGPUUsage.rst:8650 ../../../AMDGPUUsage.rst:8651 +#: ../../../AMDGPUUsage.rst:8677 ../../../AMDGPUUsage.rst:9134 +#: ../../../AMDGPUUsage.rst:9136 ../../../AMDGPUUsage.rst:9202 +#: ../../../AMDGPUUsage.rst:9275 ../../../AMDGPUUsage.rst:9638 +#: ../../../AMDGPUUsage.rst:9640 ../../../AMDGPUUsage.rst:9689 +#: ../../../AMDGPUUsage.rst:9746 ../../../AMDGPUUsage.rst:10274 +#: ../../../AMDGPUUsage.rst:10276 ../../../AMDGPUUsage.rst:10386 +#: ../../../AMDGPUUsage.rst:10477 ../../../AMDGPUUsage.rst:10789 +#: ../../../AMDGPUUsage.rst:10944 ../../../AMDGPUUsage.rst:10971 +#: ../../../AMDGPUUsage.rst:10972 ../../../AMDGPUUsage.rst:11001 +#: ../../../AMDGPUUsage.rst:11435 ../../../AMDGPUUsage.rst:11437 +#: ../../../AMDGPUUsage.rst:11503 ../../../AMDGPUUsage.rst:11576 +#: ../../../AMDGPUUsage.rst:11961 ../../../AMDGPUUsage.rst:11963 +#: ../../../AMDGPUUsage.rst:12012 ../../../AMDGPUUsage.rst:12082 +#: ../../../AMDGPUUsage.rst:12622 ../../../AMDGPUUsage.rst:12624 +#: ../../../AMDGPUUsage.rst:12734 ../../../AMDGPUUsage.rst:12838 +#: ../../../AMDGPUUsage.rst:13147 ../../../AMDGPUUsage.rst:13300 +#: ../../../AMDGPUUsage.rst:13330 ../../../AMDGPUUsage.rst:13331 +#: ../../../AMDGPUUsage.rst:13363 ../../../AMDGPUUsage.rst:13692 +#: ../../../AMDGPUUsage.rst:13694 ../../../AMDGPUUsage.rst:13782 +#: ../../../AMDGPUUsage.rst:14133 ../../../AMDGPUUsage.rst:14135 +#: ../../../AMDGPUUsage.rst:14196 ../../../AMDGPUUsage.rst:14613 +#: ../../../AMDGPUUsage.rst:14615 ../../../AMDGPUUsage.rst:14737 +#: ../../../AMDGPUUsage.rst:15160 ../../../AMDGPUUsage.rst:15359 +#: ../../../AMDGPUUsage.rst:15362 ../../../AMDGPUUsage.rst:15363 +#: ../../../AMDGPUUsage.rst:15364 ../../../AMDGPUUsage.rst:15368 +#: ../../../AMDGPUUsage.rst:15369 ../../../AMDGPUUsage.rst:15370 +#: ../../../AMDGPUUsage.rst:15383 ../../../AMDGPUUsage.rst:15411 +#: ../../../AMDGPUUsage.rst:15412 ../../../AMDGPUUsage.rst:15440 +#: ../../../AMDGPUUsage.rst:15780 ../../../AMDGPUUsage.rst:15782 +#: ../../../AMDGPUUsage.rst:15866 ../../../AMDGPUUsage.rst:16227 +#: ../../../AMDGPUUsage.rst:16229 ../../../AMDGPUUsage.rst:16287 +#: ../../../AMDGPUUsage.rst:16748 ../../../AMDGPUUsage.rst:16750 +#: ../../../AMDGPUUsage.rst:16866 ../../../AMDGPUUsage.rst:17294 +#: ../../../AMDGPUUsage.rst:17520 ../../../AMDGPUUsage.rst:17548 +#: ../../../AMDGPUUsage.rst:17549 ../../../AMDGPUUsage.rst:17577 +#: ../../../AMDGPUUsage.rst:18023 ../../../AMDGPUUsage.rst:18025 +#: ../../../AMDGPUUsage.rst:18090 ../../../AMDGPUUsage.rst:18163 +#: ../../../AMDGPUUsage.rst:18586 ../../../AMDGPUUsage.rst:18588 +#: ../../../AMDGPUUsage.rst:18642 ../../../AMDGPUUsage.rst:19150 +#: ../../../AMDGPUUsage.rst:19152 ../../../AMDGPUUsage.rst:19252 +#: ../../../AMDGPUUsage.rst:19696 ../../../AMDGPUUsage.rst:19783 +#: ../../../AMDGPUUsage.rst:19812 ../../../AMDGPUUsage.rst:19825 +#: ../../../AMDGPUUsage.rst:19853 ../../../AMDGPUUsage.rst:19859 +#: ../../../AMDGPUUsage.rst:19866 ../../../AMDGPUUsage.rst:20699 msgid "*none*" msgstr "" -#: ../../../AMDGPUUsage.rst:1133 +#: ../../../AMDGPUUsage.rst:1157 msgid "The default: ``system``." msgstr "" -#: ../../../AMDGPUUsage.rst:1135 ../../../AMDGPUUsage.rst:1149 -#: ../../../AMDGPUUsage.rst:1162 ../../../AMDGPUUsage.rst:1178 -#: ../../../AMDGPUUsage.rst:1189 +#: ../../../AMDGPUUsage.rst:1159 ../../../AMDGPUUsage.rst:1173 +#: ../../../AMDGPUUsage.rst:1186 ../../../AMDGPUUsage.rst:1202 +#: ../../../AMDGPUUsage.rst:1213 msgid "" "Synchronizes with, and participates in modification and seq_cst total " "orderings with, other operations (except image operations) for all address " @@ -2860,158 +2898,159 @@ msgid "" "operation's sync scope is:" msgstr "" -#: ../../../AMDGPUUsage.rst:1141 +#: ../../../AMDGPUUsage.rst:1165 msgid "``system``." msgstr "" -#: ../../../AMDGPUUsage.rst:1142 +#: ../../../AMDGPUUsage.rst:1166 msgid "``agent`` and executed by a thread on the same agent." msgstr "" -#: ../../../AMDGPUUsage.rst:1144 ../../../AMDGPUUsage.rst:1157 -#: ../../../AMDGPUUsage.rst:1170 +#: ../../../AMDGPUUsage.rst:1168 ../../../AMDGPUUsage.rst:1181 +#: ../../../AMDGPUUsage.rst:1194 msgid "``workgroup`` and executed by a thread in the same work-group." msgstr "" -#: ../../../AMDGPUUsage.rst:1146 ../../../AMDGPUUsage.rst:1159 -#: ../../../AMDGPUUsage.rst:1172 ../../../AMDGPUUsage.rst:1186 +#: ../../../AMDGPUUsage.rst:1170 ../../../AMDGPUUsage.rst:1183 +#: ../../../AMDGPUUsage.rst:1196 ../../../AMDGPUUsage.rst:1210 msgid "``wavefront`` and executed by a thread in the same wavefront." msgstr "" -#: ../../../AMDGPUUsage.rst:1149 +#: ../../../AMDGPUUsage.rst:1173 msgid "``agent``" msgstr "" -#: ../../../AMDGPUUsage.rst:1155 +#: ../../../AMDGPUUsage.rst:1179 msgid "``system`` or ``agent`` and executed by a thread on the same agent." msgstr "" -#: ../../../AMDGPUUsage.rst:1162 +#: ../../../AMDGPUUsage.rst:1186 msgid "``cluster``" msgstr "" -#: ../../../AMDGPUUsage.rst:1168 +#: ../../../AMDGPUUsage.rst:1192 msgid "" "``system``, ``agent`` or ``cluster`` and executed by a thread on the same " "cluster." msgstr "" -#: ../../../AMDGPUUsage.rst:1175 +#: ../../../AMDGPUUsage.rst:1199 msgid "" "On targets that do not support workgroup cluster launch mode, this behaves " "like ``agent`` scope instead." msgstr "" -#: ../../../AMDGPUUsage.rst:1178 +#: ../../../AMDGPUUsage.rst:1202 ../../../AMDGPUUsage.rst:7060 +#: ../../../AMDGPUUsage.rst:7064 msgid "``workgroup``" msgstr "" -#: ../../../AMDGPUUsage.rst:1184 +#: ../../../AMDGPUUsage.rst:1208 msgid "" "``system``, ``agent`` or ``workgroup`` and executed by a thread in the same " "work-group." msgstr "" -#: ../../../AMDGPUUsage.rst:1189 +#: ../../../AMDGPUUsage.rst:1213 msgid "``wavefront``" msgstr "" -#: ../../../AMDGPUUsage.rst:1195 +#: ../../../AMDGPUUsage.rst:1219 msgid "" "``system``, ``agent``, ``workgroup`` or ``wavefront`` and executed by a " "thread in the same wavefront." msgstr "" -#: ../../../AMDGPUUsage.rst:1199 +#: ../../../AMDGPUUsage.rst:1223 msgid "``singlethread``" msgstr "" -#: ../../../AMDGPUUsage.rst:1199 +#: ../../../AMDGPUUsage.rst:1223 msgid "" "Only synchronizes with and participates in modification and seq_cst total " "orderings with, other operations (except image operations) running in the " "same thread for all address spaces (for example, in signal handlers)." msgstr "" -#: ../../../AMDGPUUsage.rst:1205 +#: ../../../AMDGPUUsage.rst:1229 msgid "``one-as``" msgstr "" -#: ../../../AMDGPUUsage.rst:1205 +#: ../../../AMDGPUUsage.rst:1229 msgid "" "Same as ``system`` but only synchronizes with other operations within the " "same address space." msgstr "" -#: ../../../AMDGPUUsage.rst:1208 +#: ../../../AMDGPUUsage.rst:1232 msgid "``agent-one-as``" msgstr "" -#: ../../../AMDGPUUsage.rst:1208 +#: ../../../AMDGPUUsage.rst:1232 msgid "" "Same as ``agent`` but only synchronizes with other operations within the " "same address space." msgstr "" -#: ../../../AMDGPUUsage.rst:1211 +#: ../../../AMDGPUUsage.rst:1235 msgid "``cluster-one-as``" msgstr "" -#: ../../../AMDGPUUsage.rst:1211 +#: ../../../AMDGPUUsage.rst:1235 msgid "" "Same as ``cluster`` but only synchronizes with other operations within the " "same address space." msgstr "" -#: ../../../AMDGPUUsage.rst:1214 +#: ../../../AMDGPUUsage.rst:1238 msgid "``workgroup-one-as``" msgstr "" -#: ../../../AMDGPUUsage.rst:1214 +#: ../../../AMDGPUUsage.rst:1238 msgid "" "Same as ``workgroup`` but only synchronizes with other operations within the " "same address space." msgstr "" -#: ../../../AMDGPUUsage.rst:1217 +#: ../../../AMDGPUUsage.rst:1241 msgid "``wavefront-one-as``" msgstr "" -#: ../../../AMDGPUUsage.rst:1217 +#: ../../../AMDGPUUsage.rst:1241 msgid "" "Same as ``wavefront`` but only synchronizes with other operations within the " "same address space." msgstr "" -#: ../../../AMDGPUUsage.rst:1220 +#: ../../../AMDGPUUsage.rst:1244 msgid "``singlethread-one-as``" msgstr "" -#: ../../../AMDGPUUsage.rst:1220 +#: ../../../AMDGPUUsage.rst:1244 msgid "" "Same as ``singlethread`` but only synchronizes with other operations within " "the same address space." msgstr "" -#: ../../../AMDGPUUsage.rst:1225 +#: ../../../AMDGPUUsage.rst:1249 msgid "Target Types" msgstr "" -#: ../../../AMDGPUUsage.rst:1227 +#: ../../../AMDGPUUsage.rst:1251 msgid "The AMDGPU backend implements some target extension types." msgstr "" -#: ../../../AMDGPUUsage.rst:1232 +#: ../../../AMDGPUUsage.rst:1256 msgid "Named Barriers" msgstr "" -#: ../../../AMDGPUUsage.rst:1234 +#: ../../../AMDGPUUsage.rst:1258 msgid "" "Named barriers are fixed function hardware barrier objects that are " "available in gfx12.5+ in addition to the traditional default barriers." msgstr "" -#: ../../../AMDGPUUsage.rst:1237 +#: ../../../AMDGPUUsage.rst:1261 msgid "" "In LLVM IR, named barriers are represented by global variables of type " "``target(\"amdgcn.named.barrier\", 0)`` in the LDS address space. Named " @@ -3020,29 +3059,29 @@ msgid "" "LLVM IR refer to named barriers using pointers." msgstr "" -#: ../../../AMDGPUUsage.rst:1243 +#: ../../../AMDGPUUsage.rst:1267 msgid "" "The following named barrier types are supported in global variables, defined " "recursively:" msgstr "" -#: ../../../AMDGPUUsage.rst:1246 +#: ../../../AMDGPUUsage.rst:1270 msgid "a single, standalone ``target(\"amdgcn.named.barrier\", 0)``" msgstr "" -#: ../../../AMDGPUUsage.rst:1247 +#: ../../../AMDGPUUsage.rst:1271 msgid "an array of supported types" msgstr "" -#: ../../../AMDGPUUsage.rst:1248 +#: ../../../AMDGPUUsage.rst:1272 msgid "a struct containing a single element of supported type" msgstr "" -#: ../../../AMDGPUUsage.rst:1261 +#: ../../../AMDGPUUsage.rst:1285 msgid "Named barrier types may not be used in ``alloca``." msgstr "" -#: ../../../AMDGPUUsage.rst:1263 +#: ../../../AMDGPUUsage.rst:1287 msgid "" "Named barriers do not have an underlying byte representation. It is " "undefined behavior to use a pointer to any part of a named barrier object as " @@ -3051,70 +3090,70 @@ msgid "" "intrinsics. Reading from or writing to such pointers is undefined behavior." msgstr "" -#: ../../../AMDGPUUsage.rst:1270 +#: ../../../AMDGPUUsage.rst:1294 msgid "LLVM IR Intrinsics" msgstr "" -#: ../../../AMDGPUUsage.rst:1272 +#: ../../../AMDGPUUsage.rst:1296 msgid "The AMDGPU backend implements the following LLVM IR intrinsics." msgstr "" -#: ../../../AMDGPUUsage.rst:1274 +#: ../../../AMDGPUUsage.rst:1298 msgid "*This section is WIP.*" msgstr "" -#: ../../../AMDGPUUsage.rst:1276 +#: ../../../AMDGPUUsage.rst:1300 msgid "AMDGPU LLVM IR Intrinsics" msgstr "" -#: ../../../AMDGPUUsage.rst:1280 ../../../AMDGPUUsage.rst:1644 -#: ../../../AMDGPUUsage.rst:18746 +#: ../../../AMDGPUUsage.rst:1304 ../../../AMDGPUUsage.rst:1785 +#: ../../../AMDGPUUsage.rst:19735 msgid "LLVM Intrinsic" msgstr "" -#: ../../../AMDGPUUsage.rst:1282 +#: ../../../AMDGPUUsage.rst:1306 msgid "llvm.amdgcn.sqrt" msgstr "" -#: ../../../AMDGPUUsage.rst:1282 +#: ../../../AMDGPUUsage.rst:1306 msgid "" "Provides direct access to v_sqrt_f64, v_sqrt_f32 and v_sqrt_f16 (on targets " "with half support). Performs sqrt function." msgstr "" -#: ../../../AMDGPUUsage.rst:1285 +#: ../../../AMDGPUUsage.rst:1309 msgid "llvm.amdgcn.log" msgstr "" -#: ../../../AMDGPUUsage.rst:1285 +#: ../../../AMDGPUUsage.rst:1309 msgid "" "Provides direct access to v_log_f32 and v_log_f16 (on targets with half " "support). Performs log2 function." msgstr "" -#: ../../../AMDGPUUsage.rst:1288 +#: ../../../AMDGPUUsage.rst:1312 msgid "llvm.amdgcn.exp2" msgstr "" -#: ../../../AMDGPUUsage.rst:1288 +#: ../../../AMDGPUUsage.rst:1312 msgid "" "Provides direct access to v_exp_f32 and v_exp_f16 (on targets with half " "support). Performs exp2 function." msgstr "" -#: ../../../AMDGPUUsage.rst:1291 +#: ../../../AMDGPUUsage.rst:1315 msgid ":ref:`llvm.frexp `" msgstr "" -#: ../../../AMDGPUUsage.rst:1291 +#: ../../../AMDGPUUsage.rst:1315 msgid "Implemented for half, float and double." msgstr "" -#: ../../../AMDGPUUsage.rst:1293 +#: ../../../AMDGPUUsage.rst:1317 msgid ":ref:`llvm.log2 `" msgstr "" -#: ../../../AMDGPUUsage.rst:1293 ../../../AMDGPUUsage.rst:1307 +#: ../../../AMDGPUUsage.rst:1317 ../../../AMDGPUUsage.rst:1331 msgid "" "Implemented for float and half (and vectors of float or half). Not " "implemented for double. Hardware provides 1ULP accuracy for float, and " @@ -3122,52 +3161,52 @@ msgid "" "inputs." msgstr "" -#: ../../../AMDGPUUsage.rst:1299 +#: ../../../AMDGPUUsage.rst:1323 msgid ":ref:`llvm.sqrt `" msgstr "" -#: ../../../AMDGPUUsage.rst:1299 +#: ../../../AMDGPUUsage.rst:1323 msgid "Implemented for double, float and half (and vectors)." msgstr "" -#: ../../../AMDGPUUsage.rst:1301 +#: ../../../AMDGPUUsage.rst:1325 msgid ":ref:`llvm.log `" msgstr "" -#: ../../../AMDGPUUsage.rst:1301 ../../../AMDGPUUsage.rst:1303 -#: ../../../AMDGPUUsage.rst:1305 +#: ../../../AMDGPUUsage.rst:1325 ../../../AMDGPUUsage.rst:1327 +#: ../../../AMDGPUUsage.rst:1329 msgid "Implemented for float and half (and vectors)." msgstr "" -#: ../../../AMDGPUUsage.rst:1303 +#: ../../../AMDGPUUsage.rst:1327 msgid ":ref:`llvm.exp `" msgstr "" -#: ../../../AMDGPUUsage.rst:1305 +#: ../../../AMDGPUUsage.rst:1329 msgid ":ref:`llvm.log10 `" msgstr "" -#: ../../../AMDGPUUsage.rst:1307 +#: ../../../AMDGPUUsage.rst:1331 msgid ":ref:`llvm.exp2 `" msgstr "" -#: ../../../AMDGPUUsage.rst:1313 +#: ../../../AMDGPUUsage.rst:1337 msgid ":ref:`llvm.stacksave.p5 `" msgstr "" -#: ../../../AMDGPUUsage.rst:1313 ../../../AMDGPUUsage.rst:1314 +#: ../../../AMDGPUUsage.rst:1337 ../../../AMDGPUUsage.rst:1338 msgid "Implemented, must use the alloca address space." msgstr "" -#: ../../../AMDGPUUsage.rst:1314 +#: ../../../AMDGPUUsage.rst:1338 msgid ":ref:`llvm.stackrestore.p5 `" msgstr "" -#: ../../../AMDGPUUsage.rst:1316 +#: ../../../AMDGPUUsage.rst:1340 msgid ":ref:`llvm.get.fpmode.i32 `" msgstr "" -#: ../../../AMDGPUUsage.rst:1316 +#: ../../../AMDGPUUsage.rst:1340 msgid "" "The natural floating-point mode type is i32. This is implemented by " "extracting relevant bits out of the MODE register with s_getreg_b32. The " @@ -3176,11 +3215,11 @@ msgid "" "point instructions are 0s." msgstr "" -#: ../../../AMDGPUUsage.rst:1323 +#: ../../../AMDGPUUsage.rst:1347 msgid ":ref:`llvm.get.rounding`" msgstr "" -#: ../../../AMDGPUUsage.rst:1323 +#: ../../../AMDGPUUsage.rst:1347 msgid "" "AMDGPU supports two separately controllable rounding modes depending on the " "floating-point type. One controls float, and the other controls both double " @@ -3190,18 +3229,18 @@ msgid "" "modes." msgstr "" -#: ../../../AMDGPUUsage.rst:1332 +#: ../../../AMDGPUUsage.rst:1356 msgid "" "To nearest, ties away from zero is not a supported mode. The raw rounding " "mode values in the MODE register do not exactly match the FLT_ROUNDS values, " "so a conversion is performed." msgstr "" -#: ../../../AMDGPUUsage.rst:1337 +#: ../../../AMDGPUUsage.rst:1361 msgid ":ref:`llvm.set.rounding`" msgstr "" -#: ../../../AMDGPUUsage.rst:1337 +#: ../../../AMDGPUUsage.rst:1361 msgid "" "Input value expected to be one of the valid results from '``llvm.get." "rounding``'. Rounding mode is undefined if not passed a valid input. This " @@ -3209,11 +3248,11 @@ msgid "" "first active lane's value will be used." msgstr "" -#: ../../../AMDGPUUsage.rst:1343 +#: ../../../AMDGPUUsage.rst:1367 msgid ":ref:`llvm.get.fpenv`" msgstr "" -#: ../../../AMDGPUUsage.rst:1343 +#: ../../../AMDGPUUsage.rst:1367 msgid "" "Returns the current value of the AMDGPU floating point environment. This " "stores information related to the current rounding mode, denormalization " @@ -3221,19 +3260,19 @@ msgid "" "concatenation of the MODE and TRAPSTS registers." msgstr "" -#: ../../../AMDGPUUsage.rst:1348 +#: ../../../AMDGPUUsage.rst:1372 msgid ":ref:`llvm.set.fpenv`" msgstr "" -#: ../../../AMDGPUUsage.rst:1348 +#: ../../../AMDGPUUsage.rst:1372 msgid "Sets the floating point environment to the specified state." msgstr "" -#: ../../../AMDGPUUsage.rst:1349 +#: ../../../AMDGPUUsage.rst:1373 msgid "llvm.amdgcn.load.to.lds.p<1/7>" msgstr "" -#: ../../../AMDGPUUsage.rst:1349 +#: ../../../AMDGPUUsage.rst:1373 msgid "" "Loads values from global memory (either in the form of a global a raw fat " "buffer pointer) to LDS. The size of the data copied can be 1, 2, or 4 bytes " @@ -3246,11 +3285,23 @@ msgid "" "load.to.lds.p1`." msgstr "" -#: ../../../AMDGPUUsage.rst:1358 +#: ../../../AMDGPUUsage.rst:1383 +msgid "llvm.amdgcn.load.async.to.lds.p<1/7>" +msgstr "" + +#: ../../../AMDGPUUsage.rst:1383 +msgid "" +"Same as `llvm.amdgcn.load.to.lds.p<1/7>`, but the completion of this :ref:" +"`asynchronous version` is not automatically tracked " +"by the compiler. The user must explicitly track the completion with " +"`asyncmark` operations before using their side-effects." +msgstr "" + +#: ../../../AMDGPUUsage.rst:1388 msgid "llvm.amdgcn.readfirstlane" msgstr "" -#: ../../../AMDGPUUsage.rst:1358 +#: ../../../AMDGPUUsage.rst:1388 msgid "" "Provides direct access to v_readfirstlane_b32. Returns the value in the " "lowest active lane of the input operand. Currently implemented for i16, i32, " @@ -3258,11 +3309,11 @@ msgid "" "pointers, multiples of the 32-bit vectors." msgstr "" -#: ../../../AMDGPUUsage.rst:1363 +#: ../../../AMDGPUUsage.rst:1393 msgid "llvm.amdgcn.readlane" msgstr "" -#: ../../../AMDGPUUsage.rst:1363 +#: ../../../AMDGPUUsage.rst:1393 msgid "" "Provides direct access to v_readlane_b32. Returns the value in the specified " "lane of the first input operand. The second operand specifies the lane to " @@ -3271,11 +3322,11 @@ msgid "" "bit vectors." msgstr "" -#: ../../../AMDGPUUsage.rst:1369 +#: ../../../AMDGPUUsage.rst:1399 msgid "llvm.amdgcn.writelane" msgstr "" -#: ../../../AMDGPUUsage.rst:1369 +#: ../../../AMDGPUUsage.rst:1399 msgid "" "Provides direct access to v_writelane_b32. Writes value in the first input " "operand to the specified lane of divergent output. The second operand " @@ -3284,39 +3335,173 @@ msgid "" "multiples of the 32-bit vectors." msgstr "" -#: ../../../AMDGPUUsage.rst:1375 +#: ../../../AMDGPUUsage.rst:1405 msgid "llvm.amdgcn.wave.reduce.umin" msgstr "" -#: ../../../AMDGPUUsage.rst:1375 +#: ../../../AMDGPUUsage.rst:1405 msgid "" "Performs an arithmetic unsigned min reduction on the unsigned values " "provided by each lane in the wavefront. Intrinsic takes a hint for reduction " "strategy using second operand 0: Target default preference, 1: `Iterative " -"strategy`, and 2: `DPP`. If target does not support the DPP operations (e.g. " -"gfx6/7), reduction will be performed using default iterative strategy. " -"Intrinsic is currently only implemented for i32." +"strategy`, and 2: `DPP`. If the target does not support the DPP operations " +"(e.g. gfx6/7), reduction will be performed using default iterative strategy. " +"Intrinsic is implemented for i32 and i64 types." +msgstr "" + +#: ../../../AMDGPUUsage.rst:1415 +msgid "llvm.amdgcn.wave.reduce.min" +msgstr "" + +#: ../../../AMDGPUUsage.rst:1415 +msgid "" +"Similar to `llvm.amdgcn.wave.reduce.umin`, but performs a signed min " +"reduction on signed integers. Intrinsic is implemented for i32 and i64 types." +msgstr "" + +#: ../../../AMDGPUUsage.rst:1419 +msgid "llvm.amdgcn.wave.reduce.fmin" +msgstr "" + +#: ../../../AMDGPUUsage.rst:1419 +msgid "" +"Similar to `llvm.amdgcn.wave.reduce.umin`, but performs a floating point min " +"reduction on floating point values. Intrinsic is implemented for float and " +"double types. Intrinsic is modelled similar to `llvm.minnum` intrinsic. For " +"a reduction between two NAN values, a NAN is returned. For a reduction " +"between a NAN and a number, the number is returned. -0.0 < +0.0 is true for " +"this reduction. The ordering behaviour of SNANs is non-deterministic." msgstr "" -#: ../../../AMDGPUUsage.rst:1385 +#: ../../../AMDGPUUsage.rst:1428 msgid "llvm.amdgcn.wave.reduce.umax" msgstr "" -#: ../../../AMDGPUUsage.rst:1385 +#: ../../../AMDGPUUsage.rst:1428 msgid "" "Performs an arithmetic unsigned max reduction on the unsigned values " "provided by each lane in the wavefront. Intrinsic takes a hint for reduction " "strategy using second operand 0: Target default preference, 1: `Iterative " -"strategy`, and 2: `DPP`. If target does not support the DPP operations (e.g. " +"strategy`, and 2: `DPP`. If the target does not support the DPP operations " +"(e.g. gfx6/7), reduction will be performed using default iterative strategy. " +"Intrinsic is implemented for i32 and i64 types." +msgstr "" + +#: ../../../AMDGPUUsage.rst:1438 +msgid "llvm.amdgcn.wave.reduce.max" +msgstr "" + +#: ../../../AMDGPUUsage.rst:1438 +msgid "" +"Similar to `llvm.amdgcn.wave.reduce.umax`, but performs a signed max " +"reduction on signed integers. Intrinsic is implemented for i32 and i64 types." +msgstr "" + +#: ../../../AMDGPUUsage.rst:1442 +msgid "llvm.amdgcn.wave.reduce.fmax" +msgstr "" + +#: ../../../AMDGPUUsage.rst:1442 +msgid "" +"Similar to `llvm.amdgcn.wave.reduce.umax`, but performs a floating point max " +"reduction on floating point values. Intrinsic is implemented for float and " +"double types. Intrinsic is modelled similar to `llvm.maxnum` intrinsic. For " +"a reduction between two NAN values, a NAN is returned. For a reduction " +"between a NAN and a number, the number is returned. -0.0 < +0.0 is true for " +"this reduction. The ordering behaviour of SNANs is non-deterministic." +msgstr "" + +#: ../../../AMDGPUUsage.rst:1451 +msgid "llvm.amdgcn.wave.reduce.add" +msgstr "" + +#: ../../../AMDGPUUsage.rst:1451 +msgid "" +"Performs an arithmetic add reduction on the signed/unsigned values provided " +"by each lane in the wavefront. Intrinsic takes a hint for reduction strategy " +"using second operand 0: Target default preference, 1: `Iterative strategy`, " +"and 2: `DPP`. If the target does not support the DPP operations (e.g. " +"gfx6/7), reduction will be performed using default iterative strategy. " +"Intrinsic is implemented for signed/unsigned i32 and i64 types." +msgstr "" + +#: ../../../AMDGPUUsage.rst:1461 +msgid "llvm.amdgcn.wave.reduce.fadd" +msgstr "" + +#: ../../../AMDGPUUsage.rst:1461 +msgid "" +"Similar to `llvm.amdgcn.wave.reduce.add`, but performs a floating point add " +"reduction on floating point values. Intrinsic is implemented for float and " +"double types." +msgstr "" + +#: ../../../AMDGPUUsage.rst:1465 +msgid "llvm.amdgcn.wave.reduce.sub" +msgstr "" + +#: ../../../AMDGPUUsage.rst:1465 +msgid "" +"Performs an arithmetic sub reduction on the signed/unsigned values provided " +"by each lane in the wavefront. Intrinsic takes a hint for reduction strategy " +"using second operand 0: Target default preference, 1: `Iterative strategy`, " +"and 2: `DPP`. If the target does not support the DPP operations (e.g. " "gfx6/7), reduction will be performed using default iterative strategy. " -"Intrinsic is currently only implemented for i32." +"Intrinsic is implemented for signed/unsigned i32 and i64 types." +msgstr "" + +#: ../../../AMDGPUUsage.rst:1475 +msgid "llvm.amdgcn.wave.reduce.fsub" +msgstr "" + +#: ../../../AMDGPUUsage.rst:1475 +msgid "" +"Similar to `llvm.amdgcn.wave.reduce.sub`, but performs a floating point sub " +"reduction on floating point values. Intrinsic is implemented for float and " +"double types." +msgstr "" + +#: ../../../AMDGPUUsage.rst:1479 +msgid "llvm.amdgcn.wave.reduce.and" +msgstr "" + +#: ../../../AMDGPUUsage.rst:1479 +msgid "" +"Performs a bitwise-and reduction on the values provided by each lane in the " +"wavefront. Intrinsic takes a hint for reduction strategy using second " +"operand 0: Target default preference, 1: `Iterative strategy`, and 2: `DPP`. " +"If the target does not support the DPP operations (e.g. gfx6/7), reduction " +"will be performed using default iterative strategy. Intrinsic is implemented " +"for i32 and i64 types." +msgstr "" + +#: ../../../AMDGPUUsage.rst:1489 +msgid "llvm.amdgcn.wave.reduce.or" +msgstr "" + +#: ../../../AMDGPUUsage.rst:1489 +msgid "" +"Similar to `llvm.amdgcn.wave.reduce.and`, but performs a bitwise-or " +"reduction on the values provided by each wavefront. Intrinsic is implemented " +"for i32 and i64 types." +msgstr "" + +#: ../../../AMDGPUUsage.rst:1493 +msgid "llvm.amdgcn.wave.reduce.xor" +msgstr "" + +#: ../../../AMDGPUUsage.rst:1493 +msgid "" +"Similar to `llvm.amdgcn.wave.reduce.and`, but performs a bitwise-xor " +"reduction on the values provided by each wavefront. Intrinsic is implemented " +"for i32 and i64 types." msgstr "" -#: ../../../AMDGPUUsage.rst:1395 +#: ../../../AMDGPUUsage.rst:1497 msgid "llvm.amdgcn.permlane16" msgstr "" -#: ../../../AMDGPUUsage.rst:1395 +#: ../../../AMDGPUUsage.rst:1497 msgid "" "Provides direct access to v_permlane16_b32. Performs arbitrary gather-style " "operation within a row (16 contiguous lanes) of the second input operand. " @@ -3327,11 +3512,11 @@ msgid "" "vectors." msgstr "" -#: ../../../AMDGPUUsage.rst:1402 +#: ../../../AMDGPUUsage.rst:1504 msgid "llvm.amdgcn.permlanex16" msgstr "" -#: ../../../AMDGPUUsage.rst:1402 +#: ../../../AMDGPUUsage.rst:1504 msgid "" "Provides direct access to v_permlanex16_b32. Performs arbitrary gather-style " "operation across two rows of the second input operand (each row is 16 " @@ -3342,11 +3527,11 @@ msgid "" "multiples of the 32-bit vectors." msgstr "" -#: ../../../AMDGPUUsage.rst:1409 +#: ../../../AMDGPUUsage.rst:1511 msgid "llvm.amdgcn.permlane64" msgstr "" -#: ../../../AMDGPUUsage.rst:1409 +#: ../../../AMDGPUUsage.rst:1511 msgid "" "Provides direct access to v_permlane64_b32. Performs a specific permutation " "across lanes of the input operand where the high half and low half of a " @@ -3355,11 +3540,11 @@ msgid "" "bfloat>, i64, double, pointers, multiples of the 32-bit vectors." msgstr "" -#: ../../../AMDGPUUsage.rst:1415 +#: ../../../AMDGPUUsage.rst:1517 msgid "llvm.amdgcn.udot2" msgstr "" -#: ../../../AMDGPUUsage.rst:1415 +#: ../../../AMDGPUUsage.rst:1517 msgid "" "Provides direct access to v_dot2_u32_u16 across targets which support such " "instructions. This performs an unsigned dot product with two v2i16 operands, " @@ -3367,11 +3552,11 @@ msgid "" "the output." msgstr "" -#: ../../../AMDGPUUsage.rst:1420 +#: ../../../AMDGPUUsage.rst:1522 msgid "llvm.amdgcn.udot4" msgstr "" -#: ../../../AMDGPUUsage.rst:1420 +#: ../../../AMDGPUUsage.rst:1522 msgid "" "Provides direct access to v_dot4_u32_u8 across targets which support such " "instructions. This performs an unsigned dot product with two i32 operands " @@ -3379,11 +3564,11 @@ msgid "" "i1 fourth operand is used to clamp the output." msgstr "" -#: ../../../AMDGPUUsage.rst:1426 +#: ../../../AMDGPUUsage.rst:1528 msgid "llvm.amdgcn.udot8" msgstr "" -#: ../../../AMDGPUUsage.rst:1426 +#: ../../../AMDGPUUsage.rst:1528 msgid "" "Provides direct access to v_dot8_u32_u4 across targets which support such " "instructions. This performs an unsigned dot product with two i32 operands " @@ -3391,11 +3576,11 @@ msgid "" "i1 fourth operand is used to clamp the output." msgstr "" -#: ../../../AMDGPUUsage.rst:1432 +#: ../../../AMDGPUUsage.rst:1534 msgid "llvm.amdgcn.sdot2" msgstr "" -#: ../../../AMDGPUUsage.rst:1432 +#: ../../../AMDGPUUsage.rst:1534 msgid "" "Provides direct access to v_dot2_i32_i16 across targets which support such " "instructions. This performs a signed dot product with two v2i16 operands, " @@ -3404,11 +3589,11 @@ msgid "" "v_dot2c_i32_i16 for targets which support it." msgstr "" -#: ../../../AMDGPUUsage.rst:1439 +#: ../../../AMDGPUUsage.rst:1541 msgid "llvm.amdgcn.sdot4" msgstr "" -#: ../../../AMDGPUUsage.rst:1439 +#: ../../../AMDGPUUsage.rst:1541 msgid "" "Provides direct access to v_dot4_i32_i8 across targets which support such " "instructions. This performs a signed dot product with two i32 operands " @@ -3421,11 +3606,11 @@ msgid "" "instruction for gfx11 targets." msgstr "" -#: ../../../AMDGPUUsage.rst:1451 +#: ../../../AMDGPUUsage.rst:1553 msgid "llvm.amdgcn.sdot8" msgstr "" -#: ../../../AMDGPUUsage.rst:1451 +#: ../../../AMDGPUUsage.rst:1553 msgid "" "Provides direct access to v_dot8_u32_u4 across targets which support such " "instructions. This performs a signed dot product with two i32 operands " @@ -3438,11 +3623,11 @@ msgid "" "instruction for gfx11 targets." msgstr "" -#: ../../../AMDGPUUsage.rst:1463 +#: ../../../AMDGPUUsage.rst:1565 msgid "llvm.amdgcn.sudot4" msgstr "" -#: ../../../AMDGPUUsage.rst:1463 +#: ../../../AMDGPUUsage.rst:1565 msgid "" "Provides direct access to v_dot4_i32_iu8 on gfx11 targets. This performs dot " "product with two i32 operands (holding a vector of 4 8bit values), summed " @@ -3450,11 +3635,11 @@ msgid "" "output. The i1s preceding the vector operands decide the signedness." msgstr "" -#: ../../../AMDGPUUsage.rst:1468 +#: ../../../AMDGPUUsage.rst:1570 msgid "llvm.amdgcn.sudot8" msgstr "" -#: ../../../AMDGPUUsage.rst:1468 +#: ../../../AMDGPUUsage.rst:1570 msgid "" "Provides direct access to v_dot8_i32_iu4 on gfx11 targets. This performs dot " "product with two i32 operands (holding a vector of 8 4bit values), summed " @@ -3462,75 +3647,75 @@ msgid "" "output. The i1s preceding the vector operands decide the signedness." msgstr "" -#: ../../../AMDGPUUsage.rst:1473 +#: ../../../AMDGPUUsage.rst:1575 msgid "llvm.amdgcn.sched.barrier" msgstr "" -#: ../../../AMDGPUUsage.rst:1473 +#: ../../../AMDGPUUsage.rst:1575 msgid "" "Controls the types of instructions that may be allowed to cross the " "intrinsic during instruction scheduling. The parameter is a mask for the " "instruction types that can cross the intrinsic." msgstr "" -#: ../../../AMDGPUUsage.rst:1477 +#: ../../../AMDGPUUsage.rst:1579 msgid "0x0000: No instructions may be scheduled across sched_barrier." msgstr "" -#: ../../../AMDGPUUsage.rst:1478 +#: ../../../AMDGPUUsage.rst:1580 msgid "" "0x0001: All, non-memory, non-side-effect producing instructions may be " "scheduled across sched_barrier, *i.e.* allow ALU instructions to pass." msgstr "" -#: ../../../AMDGPUUsage.rst:1480 +#: ../../../AMDGPUUsage.rst:1582 msgid "0x0002: VALU instructions may be scheduled across sched_barrier." msgstr "" -#: ../../../AMDGPUUsage.rst:1481 +#: ../../../AMDGPUUsage.rst:1583 msgid "0x0004: SALU instructions may be scheduled across sched_barrier." msgstr "" -#: ../../../AMDGPUUsage.rst:1482 +#: ../../../AMDGPUUsage.rst:1584 msgid "0x0008: MFMA/WMMA instructions may be scheduled across sched_barrier." msgstr "" -#: ../../../AMDGPUUsage.rst:1483 +#: ../../../AMDGPUUsage.rst:1585 msgid "0x0010: All VMEM instructions may be scheduled across sched_barrier." msgstr "" -#: ../../../AMDGPUUsage.rst:1484 +#: ../../../AMDGPUUsage.rst:1586 msgid "0x0020: VMEM read instructions may be scheduled across sched_barrier." msgstr "" -#: ../../../AMDGPUUsage.rst:1485 +#: ../../../AMDGPUUsage.rst:1587 msgid "0x0040: VMEM write instructions may be scheduled across sched_barrier." msgstr "" -#: ../../../AMDGPUUsage.rst:1486 +#: ../../../AMDGPUUsage.rst:1588 msgid "0x0080: All DS instructions may be scheduled across sched_barrier." msgstr "" -#: ../../../AMDGPUUsage.rst:1487 +#: ../../../AMDGPUUsage.rst:1589 msgid "0x0100: All DS read instructions may be scheduled across sched_barrier." msgstr "" -#: ../../../AMDGPUUsage.rst:1488 +#: ../../../AMDGPUUsage.rst:1590 msgid "" "0x0200: All DS write instructions may be scheduled across sched_barrier." msgstr "" -#: ../../../AMDGPUUsage.rst:1489 +#: ../../../AMDGPUUsage.rst:1591 msgid "" "0x0400: All Transcendental (e.g. V_EXP) instructions may be scheduled across " "sched_barrier." msgstr "" -#: ../../../AMDGPUUsage.rst:1491 +#: ../../../AMDGPUUsage.rst:1593 msgid "llvm.amdgcn.sched.group.barrier" msgstr "" -#: ../../../AMDGPUUsage.rst:1491 +#: ../../../AMDGPUUsage.rst:1593 msgid "" "Creates schedule groups with specific properties to create custom scheduling " "pipelines. The ordering between groups is enforced by the instruction " @@ -3539,27 +3724,27 @@ msgid "" "groups." msgstr "" -#: ../../../AMDGPUUsage.rst:1496 +#: ../../../AMDGPUUsage.rst:1598 msgid "" "Mask : Classify instruction groups using the llvm.amdgcn.sched_barrier mask " "values." msgstr "" -#: ../../../AMDGPUUsage.rst:1497 +#: ../../../AMDGPUUsage.rst:1599 msgid "Size : The number of instructions that are in the group." msgstr "" -#: ../../../AMDGPUUsage.rst:1498 +#: ../../../AMDGPUUsage.rst:1600 msgid "SyncID : Order is enforced between groups with matching values." msgstr "" -#: ../../../AMDGPUUsage.rst:1500 +#: ../../../AMDGPUUsage.rst:1602 msgid "" "The mask can include multiple instruction types. It is undefined behavior to " "set values beyond the range of valid masks." msgstr "" -#: ../../../AMDGPUUsage.rst:1503 +#: ../../../AMDGPUUsage.rst:1605 msgid "" "Combining multiple sched_group_barrier intrinsics enables an ordering of " "specific instruction types during instruction scheduling. For example, the " @@ -3591,11 +3776,11 @@ msgstr "" msgid "``__builtin_amdgcn_sched_group_barrier(8, 5, 0)``" msgstr "" -#: ../../../AMDGPUUsage.rst:1515 +#: ../../../AMDGPUUsage.rst:1617 msgid "llvm.amdgcn.iglp.opt" msgstr "" -#: ../../../AMDGPUUsage.rst:1515 +#: ../../../AMDGPUUsage.rst:1617 msgid "" "An **experimental** intrinsic for instruction group level parallelism. The " "intrinsic implements predefined instruction scheduling orderings. The " @@ -3603,63 +3788,63 @@ msgid "" "a value that specifies the strategy. The compiler implements two strategies." msgstr "" -#: ../../../AMDGPUUsage.rst:1520 +#: ../../../AMDGPUUsage.rst:1622 msgid "Interleave DS and MFMA instructions for small GEMM kernels." msgstr "" -#: ../../../AMDGPUUsage.rst:1521 +#: ../../../AMDGPUUsage.rst:1623 msgid "Interleave DS and MFMA instructions for single wave small GEMM kernels." msgstr "" -#: ../../../AMDGPUUsage.rst:1522 +#: ../../../AMDGPUUsage.rst:1624 msgid "" "Interleave TRANS and MFMA instructions, as well as their VALU and DS " "predecessors, for attention kernels." msgstr "" -#: ../../../AMDGPUUsage.rst:1523 +#: ../../../AMDGPUUsage.rst:1625 msgid "" "Interleave TRANS and MFMA instructions, with no predecessor interleaving, " "for attention kernels." msgstr "" -#: ../../../AMDGPUUsage.rst:1525 +#: ../../../AMDGPUUsage.rst:1627 msgid "" "Only one iglp_opt intrinsic may be used in a scheduling region. The iglp_opt " "intrinsic cannot be combined with sched_barrier or sched_group_barrier." msgstr "" -#: ../../../AMDGPUUsage.rst:1528 +#: ../../../AMDGPUUsage.rst:1630 msgid "The iglp_opt strategy implementations are subject to change." msgstr "" -#: ../../../AMDGPUUsage.rst:1530 +#: ../../../AMDGPUUsage.rst:1632 msgid "llvm.amdgcn.s.barrier.signal.isfirst" msgstr "" -#: ../../../AMDGPUUsage.rst:1530 +#: ../../../AMDGPUUsage.rst:1632 msgid "" "Provides access to the s_barrier_signal_first instruction; additionally " "ensures that the result value is valid even when the intrinsic is used from " "a wave that is not running in a workgroup." msgstr "" -#: ../../../AMDGPUUsage.rst:1534 +#: ../../../AMDGPUUsage.rst:1636 msgid "llvm.amdgcn.s.getpc" msgstr "" -#: ../../../AMDGPUUsage.rst:1534 +#: ../../../AMDGPUUsage.rst:1636 msgid "" "Provides access to the s_getpc_b64 instruction, but with the return value " "sign-extended from the width of the underlying PC hardware register even on " "processors where the s_getpc_b64 instruction returns a zero-extended value." msgstr "" -#: ../../../AMDGPUUsage.rst:1538 +#: ../../../AMDGPUUsage.rst:1640 msgid "llvm.amdgcn.ballot" msgstr "" -#: ../../../AMDGPUUsage.rst:1538 +#: ../../../AMDGPUUsage.rst:1640 msgid "" "Returns a bitfield(i32 or i64) containing the result of its i1 argument in " "all active lanes, and zero in all inactive lanes. Provides a way to convert " @@ -3668,45 +3853,45 @@ msgid "" "EXEC mask." msgstr "" -#: ../../../AMDGPUUsage.rst:1544 +#: ../../../AMDGPUUsage.rst:1646 msgid "llvm.amdgcn.mfma.scale.f32.16x16x128.f8f6f4" msgstr "" -#: ../../../AMDGPUUsage.rst:1544 +#: ../../../AMDGPUUsage.rst:1646 msgid "" "Emit `v_mfma_scale_f32_16x16x128_f8f6f4` to set the scale factor. The last 4 " "operands correspond to the scale inputs." msgstr "" -#: ../../../AMDGPUUsage.rst:1547 +#: ../../../AMDGPUUsage.rst:1649 msgid "2-bit byte index to use for each lane for matrix A" msgstr "" -#: ../../../AMDGPUUsage.rst:1548 +#: ../../../AMDGPUUsage.rst:1650 msgid "Matrix A scale values" msgstr "" -#: ../../../AMDGPUUsage.rst:1549 +#: ../../../AMDGPUUsage.rst:1651 msgid "2-bit byte index to use for each lane for matrix B" msgstr "" -#: ../../../AMDGPUUsage.rst:1550 +#: ../../../AMDGPUUsage.rst:1652 msgid "Matrix B scale values" msgstr "" -#: ../../../AMDGPUUsage.rst:1552 +#: ../../../AMDGPUUsage.rst:1654 msgid "llvm.amdgcn.mfma.scale.f32.32x32x64.f8f6f4" msgstr "" -#: ../../../AMDGPUUsage.rst:1552 +#: ../../../AMDGPUUsage.rst:1654 msgid "Emit `v_mfma_scale_f32_32x32x64_f8f6f4`" msgstr "" -#: ../../../AMDGPUUsage.rst:1554 +#: ../../../AMDGPUUsage.rst:1656 msgid "llvm.amdgcn.permlane16.swap" msgstr "" -#: ../../../AMDGPUUsage.rst:1554 +#: ../../../AMDGPUUsage.rst:1656 msgid "" "Provide direct access to `v_permlane16_swap_b32` instruction on supported " "targets. Swaps the values across lanes of first 2 operands. Odd rows of the " @@ -3715,11 +3900,11 @@ msgid "" "the return corresponds to the swapped element of the first argument." msgstr "" -#: ../../../AMDGPUUsage.rst:1560 +#: ../../../AMDGPUUsage.rst:1662 msgid "llvm.amdgcn.permlane32.swap" msgstr "" -#: ../../../AMDGPUUsage.rst:1560 +#: ../../../AMDGPUUsage.rst:1662 msgid "" "Provide direct access to `v_permlane32_swap_b32` instruction on supported " "targets. Swaps the values across lanes of first 2 operands. Rows 2 and 3 of " @@ -3729,22 +3914,22 @@ msgid "" "argument." msgstr "" -#: ../../../AMDGPUUsage.rst:1566 +#: ../../../AMDGPUUsage.rst:1668 msgid "llvm.amdgcn.mov.dpp" msgstr "" -#: ../../../AMDGPUUsage.rst:1566 +#: ../../../AMDGPUUsage.rst:1668 msgid "" "The llvm.amdgcn.mov.dpp.`` intrinsic represents the mov.dpp operation " "in AMDGPU. This operation is being deprecated and can be replaced with llvm." "amdgcn.update.dpp." msgstr "" -#: ../../../AMDGPUUsage.rst:1569 +#: ../../../AMDGPUUsage.rst:1671 msgid "llvm.amdgcn.update.dpp" msgstr "" -#: ../../../AMDGPUUsage.rst:1569 +#: ../../../AMDGPUUsage.rst:1671 msgid "" "The llvm.amdgcn.update.dpp.`` intrinsic represents the update.dpp " "operation in AMDGPU. It takes an old value, a source operand, a DPP control " @@ -3757,19 +3942,19 @@ msgid "" "to:" msgstr "" -#: ../../../AMDGPUUsage.rst:1577 +#: ../../../AMDGPUUsage.rst:1679 msgid "`v_mov_b32 `" msgstr "" -#: ../../../AMDGPUUsage.rst:1578 +#: ../../../AMDGPUUsage.rst:1680 msgid "`v_mov_b32 `" msgstr "" -#: ../../../AMDGPUUsage.rst:1580 +#: ../../../AMDGPUUsage.rst:1682 msgid ":ref:`llvm.prefetch `" msgstr "" -#: ../../../AMDGPUUsage.rst:1580 +#: ../../../AMDGPUUsage.rst:1682 msgid "" "Implemented on gfx1250, ignored on earlier targets. First argument is flat, " "global, or constant address space pointer. Any other address space is not " @@ -3778,49 +3963,124 @@ msgid "" "1. Third argument is locality, 0-3. Translates to memory scope:" msgstr "" -#: ../../../AMDGPUUsage.rst:1587 +#: ../../../AMDGPUUsage.rst:1689 msgid "0 - SCOPE_SYS" msgstr "" -#: ../../../AMDGPUUsage.rst:1588 +#: ../../../AMDGPUUsage.rst:1690 msgid "1 - SCOPE_DEV" msgstr "" -#: ../../../AMDGPUUsage.rst:1589 +#: ../../../AMDGPUUsage.rst:1691 msgid "2 - SCOPE_SE" msgstr "" -#: ../../../AMDGPUUsage.rst:1590 +#: ../../../AMDGPUUsage.rst:1692 msgid "3 - SCOPE_SE" msgstr "" -#: ../../../AMDGPUUsage.rst:1592 +#: ../../../AMDGPUUsage.rst:1694 msgid "" "Note that SCOPE_CU is not generated and not safe on an invalid address. " "Fourth argument is cache type:" msgstr "" -#: ../../../AMDGPUUsage.rst:1595 +#: ../../../AMDGPUUsage.rst:1697 msgid "0 - Instruction cache, currently ignored and no code is generated." msgstr "" -#: ../../../AMDGPUUsage.rst:1596 +#: ../../../AMDGPUUsage.rst:1698 msgid "1 - Data cache." msgstr "" -#: ../../../AMDGPUUsage.rst:1598 +#: ../../../AMDGPUUsage.rst:1700 msgid "Instruction cache prefetches are unsafe on invalid address." msgstr "" -#: ../../../AMDGPUUsage.rst:1603 -msgid "List AMDGPU intrinsics." +#: ../../../AMDGPUUsage.rst:1702 +msgid "llvm.amdgcn.s.barrier" msgstr "" -#: ../../../AMDGPUUsage.rst:1606 ../../../AMDGPUUsage.rst:18718 +#: ../../../AMDGPUUsage.rst:1702 +msgid "" +"Performs a barrier *signal* operation immediately followed by a barrier " +"*wait* operation on the *workgroup barrier* object. see :ref:`amdgpu-amdhsa-" +"execution-barriers`." +msgstr "" + +#: ../../../AMDGPUUsage.rst:1706 +msgid "llvm.amdgcn.s.barrier.signal" +msgstr "" + +#: ../../../AMDGPUUsage.rst:1706 +msgid "" +"Performs a barrier *signal* operation on the barrier *object* determined by " +"the ``i32`` immediate argument. See :ref:`amdgpu-amdhsa-execution-barriers`. " +"Available starting GFX12." +msgstr "" + +#: ../../../AMDGPUUsage.rst:1710 +msgid "llvm.amdgcn.s.barrier.wait" +msgstr "" + +#: ../../../AMDGPUUsage.rst:1710 +msgid "" +"Performs a barrier *wait* operation on the barrier *object* determined by " +"the ``i16`` immediate argument. See :ref:`amdgpu-amdhsa-execution-barriers`. " +"Available starting GFX12." +msgstr "" + +#: ../../../AMDGPUUsage.rst:1714 +msgid "llvm.amdgcn.flat.load.monitor" +msgstr "" + +#: ../../../AMDGPUUsage.rst:1714 +msgid "" +"Available on GFX12.5 only. Corresponds to ``flat_load_monitor_b32/64/128`` " +"(``.b32/64/128`` suffixes) instructions. For the purposes of the memory " +"model, this is an atomic load operation in the generic (flat) address space." +msgstr "" + +#: ../../../AMDGPUUsage.rst:1720 ../../../AMDGPUUsage.rst:1733 +msgid "This intrinsic has 3 operands:" +msgstr "" + +#: ../../../AMDGPUUsage.rst:1722 ../../../AMDGPUUsage.rst:1735 +msgid "Flat pointer." +msgstr "" + +#: ../../../AMDGPUUsage.rst:1723 ../../../AMDGPUUsage.rst:1736 +msgid "" +":ref:`Load Atomic Ordering`." +msgstr "" + +#: ../../../AMDGPUUsage.rst:1724 ../../../AMDGPUUsage.rst:1737 +msgid "" +":ref:`Synchronization Scope`. " +"Note that the scope used must ensure that the L2 cache will be hit." +msgstr "" + +#: ../../../AMDGPUUsage.rst:1727 +msgid "llvm.amdgcn.global.load.monitor" +msgstr "" + +#: ../../../AMDGPUUsage.rst:1727 +msgid "" +"Available on GFX12.5 only. Corresponds to ``global_load_monitor_b32/64/128`` " +"(``.b32/64/128`` suffixes) instructions. For the purposes of the memory " +"model, this is an atomic load operation in the global address space." +msgstr "" + +#: ../../../AMDGPUUsage.rst:1744 +msgid "List AMDGPU intrinsics." +msgstr "" + +#: ../../../AMDGPUUsage.rst:1747 ../../../AMDGPUUsage.rst:19707 msgid "'``llvm.amdgcn.cooperative.atomic``' Intrinsics" msgstr "" -#: ../../../AMDGPUUsage.rst:1608 +#: ../../../AMDGPUUsage.rst:1749 msgid "" "The ``llvm.amdgcn.cooperative.atomic`` :ref:`family of intrinsics` provide atomic load and store " @@ -3829,11 +4089,11 @@ msgid "" "thread accessing a fraction of the contiguous memory region." msgstr "" -#: ../../../AMDGPUUsage.rst:1615 +#: ../../../AMDGPUUsage.rst:1756 msgid "The memory model described here is imprecise; see SWDEV-536264." msgstr "" -#: ../../../AMDGPUUsage.rst:1617 +#: ../../../AMDGPUUsage.rst:1758 msgid "" "This intrinsic has a memory ordering and may be used to synchronize-with " "another cooperative atomic. If the memory ordering is relaxed, it may pair " @@ -3841,13 +4101,13 @@ msgid "" "with the same synchronization scope and set of address spaces." msgstr "" -#: ../../../AMDGPUUsage.rst:1621 +#: ../../../AMDGPUUsage.rst:1762 msgid "" "In both cases, a synchronize-with relation can only be established between " "cooperative atomics with the same total access size." msgstr "" -#: ../../../AMDGPUUsage.rst:1624 +#: ../../../AMDGPUUsage.rst:1765 msgid "" "Each target may have additional restrictions on how the intrinsic may be " "used; see :ref:`the table below`." +"The 3rd operand for ``.store`` or 2nd for ``.load`` intrinsics is the :ref:" +"`atomic ordering` of " +"the operation." msgstr "" -#: ../../../AMDGPUUsage.rst:1668 -msgid "AMDGPU Cooperative Atomic Intrinsics Atomic Memory Orderings" -msgstr "" - -#: ../../../AMDGPUUsage.rst:1672 ../../../AMDGPUUsage.rst:2220 -#: ../../../AMDGPUUsage.rst:2251 ../../../AMDGPUUsage.rst:2354 -#: ../../../AMDGPUUsage.rst:2381 ../../../AMDGPUUsage.rst:2416 -#: ../../../AMDGPUUsage.rst:2443 ../../../AMDGPUUsage.rst:2475 -#: ../../../AMDGPUUsage.rst:2675 ../../../AMDGPUUsage.rst:2839 -#: ../../../AMDGPUUsage.rst:2960 ../../../AMDGPUUsage.rst:3202 -#: ../../../AMDGPUUsage.rst:3244 ../../../AMDGPUUsage.rst:6054 -#: ../../../AMDGPUUsage.rst:6084 ../../../AMDGPUUsage.rst:6102 -#: ../../../AMDGPUUsage.rst:19611 ../../../AMDGPUUsage.rst:19751 +#: ../../../AMDGPUUsage.rst:1808 +msgid "" +"The last operand of the intrinsic is the :ref:`synchronization scope` of the operation." +msgstr "" + +#: ../../../AMDGPUUsage.rst:1812 +msgid "Intrinsic Operands" +msgstr "" + +#: ../../../AMDGPUUsage.rst:1817 +msgid "C ABI Atomic Ordering Operand" +msgstr "" + +#: ../../../AMDGPUUsage.rst:1819 +msgid "" +"Intrinsic operands in this format are always ``i32`` integer constants whose " +"value is determined by the C ABI encoding of atomic memory orderings. The " +"supported values are in :ref:`the table below`." +msgstr "" + +#: ../../../AMDGPUUsage.rst:1823 +msgid "AMDGPU Intrinsics C ABI Atomic Memory Ordering Values" +msgstr "" + +#: ../../../AMDGPUUsage.rst:1827 ../../../AMDGPUUsage.rst:2424 +#: ../../../AMDGPUUsage.rst:2455 ../../../AMDGPUUsage.rst:2558 +#: ../../../AMDGPUUsage.rst:2585 ../../../AMDGPUUsage.rst:2620 +#: ../../../AMDGPUUsage.rst:2647 ../../../AMDGPUUsage.rst:2679 +#: ../../../AMDGPUUsage.rst:2883 ../../../AMDGPUUsage.rst:3047 +#: ../../../AMDGPUUsage.rst:3168 ../../../AMDGPUUsage.rst:3410 +#: ../../../AMDGPUUsage.rst:3452 ../../../AMDGPUUsage.rst:6266 +#: ../../../AMDGPUUsage.rst:6296 ../../../AMDGPUUsage.rst:6314 +#: ../../../AMDGPUUsage.rst:20600 ../../../AMDGPUUsage.rst:20740 msgid "Value" msgstr "" -#: ../../../AMDGPUUsage.rst:1672 +#: ../../../AMDGPUUsage.rst:1827 msgid "Atomic Memory Ordering" msgstr "" -#: ../../../AMDGPUUsage.rst:1672 ../../../AMDGPUUsage.rst:3242 +#: ../../../AMDGPUUsage.rst:1827 ../../../AMDGPUUsage.rst:3450 msgid "Notes" msgstr "" -#: ../../../AMDGPUUsage.rst:1675 -msgid "``0``" +#: ../../../AMDGPUUsage.rst:1830 +msgid "``i32 0``" msgstr "" -#: ../../../AMDGPUUsage.rst:1675 +#: ../../../AMDGPUUsage.rst:1830 msgid "``relaxed``" msgstr "" -#: ../../../AMDGPUUsage.rst:1675 +#: ../../../AMDGPUUsage.rst:1830 msgid "The default for unsupported values." msgstr "" -#: ../../../AMDGPUUsage.rst:1677 -msgid "``2``" +#: ../../../AMDGPUUsage.rst:1832 +msgid "``i32 2``" msgstr "" -#: ../../../AMDGPUUsage.rst:1677 +#: ../../../AMDGPUUsage.rst:1832 msgid "``acquire``" msgstr "" -#: ../../../AMDGPUUsage.rst:1677 -msgid "Only for ``.load``" +#: ../../../AMDGPUUsage.rst:1832 +msgid "Only for loads." msgstr "" -#: ../../../AMDGPUUsage.rst:1679 -msgid "``3``" +#: ../../../AMDGPUUsage.rst:1834 +msgid "``i32 3``" msgstr "" -#: ../../../AMDGPUUsage.rst:1679 +#: ../../../AMDGPUUsage.rst:1834 msgid "``release``" msgstr "" -#: ../../../AMDGPUUsage.rst:1679 -msgid "Only for ``.store``" +#: ../../../AMDGPUUsage.rst:1834 +msgid "Only for stores." msgstr "" -#: ../../../AMDGPUUsage.rst:1681 -msgid "``5``" +#: ../../../AMDGPUUsage.rst:1836 +msgid "``i32 5``" msgstr "" -#: ../../../AMDGPUUsage.rst:1681 +#: ../../../AMDGPUUsage.rst:1836 msgid "``seq_cst``" msgstr "" -#: ../../../AMDGPUUsage.rst:1684 +#: ../../../AMDGPUUsage.rst:1839 ../../../AMDGPUUsage.rst:1855 +msgid "Example:" +msgstr "" + +#: ../../../AMDGPUUsage.rst:1849 +msgid "Syncscope Metadata Operand" +msgstr "" + +#: ../../../AMDGPUUsage.rst:1851 msgid "" -"The last argument of the intrinsic is the synchronization scope as a " -"metadata string, which must be one of the supported :ref:`memory " -"scopes`." +"Intrinsics operand in this format are metadata strings which must be one of " +"the supported :ref:`memory scopes`. The metadata node " +"must be made of a single ``MDString`` at the top level." msgstr "" -#: ../../../AMDGPUUsage.rst:1690 +#: ../../../AMDGPUUsage.rst:1867 msgid "LLVM IR Metadata" msgstr "" -#: ../../../AMDGPUUsage.rst:1692 +#: ../../../AMDGPUUsage.rst:1869 msgid "" "The AMDGPU backend implements the following target custom LLVM IR metadata." msgstr "" -#: ../../../AMDGPUUsage.rst:1698 +#: ../../../AMDGPUUsage.rst:1875 msgid "'``amdgpu.last.use``' Metadata" msgstr "" -#: ../../../AMDGPUUsage.rst:1700 +#: ../../../AMDGPUUsage.rst:1877 msgid "" "Sets TH_LOAD_LU temporal hint on load instructions that support it. Takes " "priority over nontemporal hint (TH_LOAD_NT). This takes no arguments." msgstr "" -#: ../../../AMDGPUUsage.rst:1709 +#: ../../../AMDGPUUsage.rst:1886 msgid "'``amdgpu.no.remote.memory``' Metadata" msgstr "" -#: ../../../AMDGPUUsage.rst:1711 +#: ../../../AMDGPUUsage.rst:1888 msgid "" "Asserts a memory operation does not access bytes in host memory, or remote " "connected peer device memory (the address must be device local). This is " @@ -4064,7 +4353,7 @@ msgid "" "restriction to emit a native atomic instruction." msgstr "" -#: ../../../AMDGPUUsage.rst:1720 +#: ../../../AMDGPUUsage.rst:1897 msgid "" "An :ref:`atomicrmw ` without metadata will be treated " "conservatively as required to preserve the operation behavior in all cases. " @@ -4072,11 +4361,11 @@ msgid "" "grained.memory`." msgstr "" -#: ../../../AMDGPUUsage.rst:1740 +#: ../../../AMDGPUUsage.rst:1917 msgid "'``amdgpu.no.fine.grained.memory``' Metadata" msgstr "" -#: ../../../AMDGPUUsage.rst:1742 +#: ../../../AMDGPUUsage.rst:1919 msgid "" "Asserts a memory access does not access bytes allocated in fine-grained " "allocated memory. This is intended for use with :ref:`atomicrmw " @@ -4089,11 +4378,11 @@ msgid "" "access`." msgstr "" -#: ../../../AMDGPUUsage.rst:1766 +#: ../../../AMDGPUUsage.rst:1943 msgid "'``amdgpu.ignore.denormal.mode``' Metadata" msgstr "" -#: ../../../AMDGPUUsage.rst:1768 +#: ../../../AMDGPUUsage.rst:1945 msgid "" "For use with :ref:`atomicrmw ` floating-point operations. " "Indicates the handling of denormal inputs and results is insignificant and " @@ -4105,27 +4394,27 @@ msgid "" "memory`" msgstr "" -#: ../../../AMDGPUUsage.rst:1788 +#: ../../../AMDGPUUsage.rst:1965 msgid "LLVM IR Attributes" msgstr "" -#: ../../../AMDGPUUsage.rst:1790 +#: ../../../AMDGPUUsage.rst:1967 msgid "The AMDGPU backend supports the following LLVM IR attributes." msgstr "" -#: ../../../AMDGPUUsage.rst:1792 +#: ../../../AMDGPUUsage.rst:1969 msgid "AMDGPU LLVM IR Attributes" msgstr "" -#: ../../../AMDGPUUsage.rst:1796 +#: ../../../AMDGPUUsage.rst:1973 msgid "LLVM Attribute" msgstr "" -#: ../../../AMDGPUUsage.rst:1798 +#: ../../../AMDGPUUsage.rst:1975 msgid "\"amdgpu-flat-work-group-size\"=\"min,max\"" msgstr "" -#: ../../../AMDGPUUsage.rst:1798 +#: ../../../AMDGPUUsage.rst:1975 msgid "" "Specify the minimum and maximum flat work group sizes that will be specified " "when the kernel is dispatched. Generated by the " @@ -4137,42 +4426,42 @@ msgid "" "but the thread local id exceeds the limit, the behavior is undefined." msgstr "" -#: ../../../AMDGPUUsage.rst:1808 +#: ../../../AMDGPUUsage.rst:1985 msgid "\"amdgpu-implicitarg-num-bytes\"=\"n\"" msgstr "" -#: ../../../AMDGPUUsage.rst:1808 +#: ../../../AMDGPUUsage.rst:1985 msgid "" "Number of kernel argument bytes to add to the kernel argument block size for " "the implicit arguments. This varies by OS and language (for OpenCL see :ref:" "`opencl-kernel-implicit-arguments-appended-for-amdhsa-os-table`)." msgstr "" -#: ../../../AMDGPUUsage.rst:1812 +#: ../../../AMDGPUUsage.rst:1989 msgid "\"amdgpu-num-sgpr\"=\"n\"" msgstr "" -#: ../../../AMDGPUUsage.rst:1812 +#: ../../../AMDGPUUsage.rst:1989 msgid "" "Specifies the number of SGPRs to use. Generated by the ``amdgpu_num_sgpr`` " "CLANG attribute [CLANG-ATTR]_." msgstr "" -#: ../../../AMDGPUUsage.rst:1814 +#: ../../../AMDGPUUsage.rst:1991 msgid "\"amdgpu-num-vgpr\"=\"n\"" msgstr "" -#: ../../../AMDGPUUsage.rst:1814 +#: ../../../AMDGPUUsage.rst:1991 msgid "" "Specifies the number of VGPRs to use. Generated by the ``amdgpu_num_vgpr`` " "CLANG attribute [CLANG-ATTR]_." msgstr "" -#: ../../../AMDGPUUsage.rst:1816 +#: ../../../AMDGPUUsage.rst:1993 msgid "\"amdgpu-waves-per-eu\"=\"m,n\"" msgstr "" -#: ../../../AMDGPUUsage.rst:1816 +#: ../../../AMDGPUUsage.rst:1993 msgid "" "Specify the minimum and maximum number of waves per execution unit. " "Generated by the ``amdgpu_waves_per_eu`` CLANG attribute [CLANG-ATTR]_. This " @@ -4182,33 +4471,33 @@ msgid "" "size takes precedence." msgstr "" -#: ../../../AMDGPUUsage.rst:1824 +#: ../../../AMDGPUUsage.rst:2001 msgid "\"amdgpu-ieee\" true/false." msgstr "" -#: ../../../AMDGPUUsage.rst:1824 +#: ../../../AMDGPUUsage.rst:2001 msgid "" -"GFX6-GFX11 Only Specify whether the function expects the IEEE field of the " -"mode register to be set on entry. Overrides the default for the calling " -"convention." +"GFX6-GFX11 (Except GFX1170) Only Specify whether the function expects the " +"IEEE field of the mode register to be set on entry. Overrides the default " +"for the calling convention." msgstr "" -#: ../../../AMDGPUUsage.rst:1828 +#: ../../../AMDGPUUsage.rst:2005 msgid "\"amdgpu-dx10-clamp\" true/false." msgstr "" -#: ../../../AMDGPUUsage.rst:1828 +#: ../../../AMDGPUUsage.rst:2005 msgid "" -"GFX6-GFX11 Only Specify whether the function expects the DX10_CLAMP field of " -"the mode register to be set on entry. Overrides the default for the calling " -"convention." +"GFX6-GFX11 (Except GFX1170) Only Specify whether the function expects the " +"DX10_CLAMP field of the mode register to be set on entry. Overrides the " +"default for the calling convention." msgstr "" -#: ../../../AMDGPUUsage.rst:1833 +#: ../../../AMDGPUUsage.rst:2010 msgid "\"amdgpu-no-workitem-id-x\"" msgstr "" -#: ../../../AMDGPUUsage.rst:1833 +#: ../../../AMDGPUUsage.rst:2010 msgid "" "Indicates the function does not depend on the value of the llvm.amdgcn." "workitem.id.x intrinsic. If a function is marked with this attribute, or " @@ -4221,121 +4510,121 @@ msgid "" "there is no benefit to frontends marking functions with this." msgstr "" -#: ../../../AMDGPUUsage.rst:1844 +#: ../../../AMDGPUUsage.rst:2021 msgid "\"amdgpu-no-workitem-id-y\"" msgstr "" -#: ../../../AMDGPUUsage.rst:1844 +#: ../../../AMDGPUUsage.rst:2021 msgid "" "The same as amdgpu-no-workitem-id-x, except for the llvm.amdgcn.workitem.id." "y intrinsic." msgstr "" -#: ../../../AMDGPUUsage.rst:1847 +#: ../../../AMDGPUUsage.rst:2024 msgid "\"amdgpu-no-workitem-id-z\"" msgstr "" -#: ../../../AMDGPUUsage.rst:1847 +#: ../../../AMDGPUUsage.rst:2024 msgid "" "The same as amdgpu-no-workitem-id-x, except for the llvm.amdgcn.workitem.id." "z intrinsic." msgstr "" -#: ../../../AMDGPUUsage.rst:1850 +#: ../../../AMDGPUUsage.rst:2027 msgid "\"amdgpu-no-workgroup-id-x\"" msgstr "" -#: ../../../AMDGPUUsage.rst:1850 +#: ../../../AMDGPUUsage.rst:2027 msgid "" "The same as amdgpu-no-workitem-id-x, except for the llvm.amdgcn.workgroup.id." "x intrinsic." msgstr "" -#: ../../../AMDGPUUsage.rst:1853 +#: ../../../AMDGPUUsage.rst:2030 msgid "\"amdgpu-no-workgroup-id-y\"" msgstr "" -#: ../../../AMDGPUUsage.rst:1853 +#: ../../../AMDGPUUsage.rst:2030 msgid "" "The same as amdgpu-no-workitem-id-x, except for the llvm.amdgcn.workgroup.id." "y intrinsic." msgstr "" -#: ../../../AMDGPUUsage.rst:1856 +#: ../../../AMDGPUUsage.rst:2033 msgid "\"amdgpu-no-workgroup-id-z\"" msgstr "" -#: ../../../AMDGPUUsage.rst:1856 +#: ../../../AMDGPUUsage.rst:2033 msgid "" "The same as amdgpu-no-workitem-id-x, except for the llvm.amdgcn.workgroup.id." "z intrinsic." msgstr "" -#: ../../../AMDGPUUsage.rst:1859 +#: ../../../AMDGPUUsage.rst:2036 msgid "\"amdgpu-no-cluster-id-x\"" msgstr "" -#: ../../../AMDGPUUsage.rst:1859 +#: ../../../AMDGPUUsage.rst:2036 msgid "" "The same as amdgpu-no-workitem-id-x, except for the llvm.amdgcn.cluster.id.x " "intrinsic." msgstr "" -#: ../../../AMDGPUUsage.rst:1862 +#: ../../../AMDGPUUsage.rst:2039 msgid "\"amdgpu-no-cluster-id-y\"" msgstr "" -#: ../../../AMDGPUUsage.rst:1862 +#: ../../../AMDGPUUsage.rst:2039 msgid "" "The same as amdgpu-no-workitem-id-x, except for the llvm.amdgcn.cluster.id.y " "intrinsic." msgstr "" -#: ../../../AMDGPUUsage.rst:1865 +#: ../../../AMDGPUUsage.rst:2042 msgid "\"amdgpu-no-cluster-id-z\"" msgstr "" -#: ../../../AMDGPUUsage.rst:1865 +#: ../../../AMDGPUUsage.rst:2042 msgid "" "The same as amdgpu-no-workitem-id-x, except for the llvm.amdgcn.cluster.id.z " "intrinsic." msgstr "" -#: ../../../AMDGPUUsage.rst:1868 +#: ../../../AMDGPUUsage.rst:2045 msgid "\"amdgpu-no-dispatch-ptr\"" msgstr "" -#: ../../../AMDGPUUsage.rst:1868 +#: ../../../AMDGPUUsage.rst:2045 msgid "" "The same as amdgpu-no-workitem-id-x, except for the llvm.amdgcn.dispatch.ptr " "intrinsic." msgstr "" -#: ../../../AMDGPUUsage.rst:1871 +#: ../../../AMDGPUUsage.rst:2048 msgid "\"amdgpu-no-implicitarg-ptr\"" msgstr "" -#: ../../../AMDGPUUsage.rst:1871 +#: ../../../AMDGPUUsage.rst:2048 msgid "" "The same as amdgpu-no-workitem-id-x, except for the llvm.amdgcn.implicitarg." "ptr intrinsic." msgstr "" -#: ../../../AMDGPUUsage.rst:1874 +#: ../../../AMDGPUUsage.rst:2051 msgid "\"amdgpu-no-dispatch-id\"" msgstr "" -#: ../../../AMDGPUUsage.rst:1874 +#: ../../../AMDGPUUsage.rst:2051 msgid "" "The same as amdgpu-no-workitem-id-x, except for the llvm.amdgcn.dispatch.id " "intrinsic." msgstr "" -#: ../../../AMDGPUUsage.rst:1877 +#: ../../../AMDGPUUsage.rst:2054 msgid "\"amdgpu-no-queue-ptr\"" msgstr "" -#: ../../../AMDGPUUsage.rst:1877 +#: ../../../AMDGPUUsage.rst:2054 msgid "" "Similar to amdgpu-no-workitem-id-x, except for the llvm.amdgcn.queue.ptr " "intrinsic. Note that unlike the other ABI hint attributes, the queue pointer " @@ -4345,22 +4634,22 @@ msgid "" "private, llvm.trap, and llvm.debug intrinsics." msgstr "" -#: ../../../AMDGPUUsage.rst:1885 +#: ../../../AMDGPUUsage.rst:2062 msgid "\"amdgpu-no-hostcall-ptr\"" msgstr "" -#: ../../../AMDGPUUsage.rst:1885 +#: ../../../AMDGPUUsage.rst:2062 msgid "" "Similar to amdgpu-no-implicitarg-ptr, except specific to the implicit kernel " "argument that holds the pointer to the hostcall buffer. If this attribute is " "absent, then the amdgpu-no-implicitarg-ptr is also removed." msgstr "" -#: ../../../AMDGPUUsage.rst:1889 +#: ../../../AMDGPUUsage.rst:2066 msgid "\"amdgpu-no-heap-ptr\"" msgstr "" -#: ../../../AMDGPUUsage.rst:1889 +#: ../../../AMDGPUUsage.rst:2066 msgid "" "Similar to amdgpu-no-implicitarg-ptr, except specific to the implicit kernel " "argument that holds the pointer to an initialized memory buffer that " @@ -4369,44 +4658,44 @@ msgid "" "ptr is also removed." msgstr "" -#: ../../../AMDGPUUsage.rst:1895 +#: ../../../AMDGPUUsage.rst:2072 msgid "\"amdgpu-no-multigrid-sync-arg\"" msgstr "" -#: ../../../AMDGPUUsage.rst:1895 +#: ../../../AMDGPUUsage.rst:2072 msgid "" "Similar to amdgpu-no-implicitarg-ptr, except specific to the implicit kernel " "argument that holds the multigrid synchronization pointer. If this attribute " "is absent, then the amdgpu-no-implicitarg-ptr is also removed." msgstr "" -#: ../../../AMDGPUUsage.rst:1899 +#: ../../../AMDGPUUsage.rst:2076 msgid "\"amdgpu-no-default-queue\"" msgstr "" -#: ../../../AMDGPUUsage.rst:1899 +#: ../../../AMDGPUUsage.rst:2076 msgid "" "Similar to amdgpu-no-implicitarg-ptr, except specific to the implicit kernel " "argument that holds the default queue pointer. If this attribute is absent, " "then the amdgpu-no-implicitarg-ptr is also removed." msgstr "" -#: ../../../AMDGPUUsage.rst:1903 +#: ../../../AMDGPUUsage.rst:2080 msgid "\"amdgpu-no-completion-action\"" msgstr "" -#: ../../../AMDGPUUsage.rst:1903 +#: ../../../AMDGPUUsage.rst:2080 msgid "" "Similar to amdgpu-no-implicitarg-ptr, except specific to the implicit kernel " "argument that holds the completion action pointer. If this attribute is " "absent, then the amdgpu-no-implicitarg-ptr is also removed." msgstr "" -#: ../../../AMDGPUUsage.rst:1907 +#: ../../../AMDGPUUsage.rst:2084 msgid "\"amdgpu-lds-size\"=\"min[,max]\"" msgstr "" -#: ../../../AMDGPUUsage.rst:1907 +#: ../../../AMDGPUUsage.rst:2084 msgid "" "Min is the minimum number of bytes that will be allocated in the Local Data " "Store at address zero. Variables are allocated within this frame using " @@ -4417,40 +4706,40 @@ msgid "" "ends should not set this attribute." msgstr "" -#: ../../../AMDGPUUsage.rst:1915 +#: ../../../AMDGPUUsage.rst:2092 msgid "\"amdgpu-gds-size\"" msgstr "" -#: ../../../AMDGPUUsage.rst:1915 +#: ../../../AMDGPUUsage.rst:2092 msgid "Bytes expected to be allocated at the start of GDS memory at entry." msgstr "" -#: ../../../AMDGPUUsage.rst:1917 +#: ../../../AMDGPUUsage.rst:2094 msgid "\"amdgpu-git-ptr-high\"" msgstr "" -#: ../../../AMDGPUUsage.rst:1917 +#: ../../../AMDGPUUsage.rst:2094 msgid "" "The hard-wired high half of the address of the global information table for " "AMDPAL OS type. 0xffffffff represents no hard-wired high half, since current " "hardware only allows a 16-bit value." msgstr "" -#: ../../../AMDGPUUsage.rst:1921 +#: ../../../AMDGPUUsage.rst:2098 msgid "\"amdgpu-32bit-address-high-bits\"" msgstr "" -#: ../../../AMDGPUUsage.rst:1921 +#: ../../../AMDGPUUsage.rst:2098 msgid "" "Assumed high 32-bits for 32-bit address spaces which are really truncated 64-" "bit addresses (i.e., addrspace(6))" msgstr "" -#: ../../../AMDGPUUsage.rst:1924 +#: ../../../AMDGPUUsage.rst:2101 msgid "\"amdgpu-color-export\"" msgstr "" -#: ../../../AMDGPUUsage.rst:1924 +#: ../../../AMDGPUUsage.rst:2101 msgid "" "Indicates shader exports color information if set to 1. Defaults to 1 for :" "ref:`amdgpu_ps `, and 0 for other calling conventions. Determines " @@ -4458,11 +4747,11 @@ msgid "" "killing lanes." msgstr "" -#: ../../../AMDGPUUsage.rst:1929 +#: ../../../AMDGPUUsage.rst:2106 msgid "\"amdgpu-depth-export\"" msgstr "" -#: ../../../AMDGPUUsage.rst:1929 +#: ../../../AMDGPUUsage.rst:2106 msgid "" "Indicates shader exports depth information if set to 1. Determines the " "necessity and type of null exports when a shader terminates early by killing " @@ -4470,22 +4759,22 @@ msgid "" "target is available (GFX11+)." msgstr "" -#: ../../../AMDGPUUsage.rst:1934 +#: ../../../AMDGPUUsage.rst:2111 msgid "\"InitialPSInputAddr\"" msgstr "" -#: ../../../AMDGPUUsage.rst:1934 +#: ../../../AMDGPUUsage.rst:2111 msgid "" "Set the initial value of the `spi_ps_input_addr` register for :ref:" "`amdgpu_ps ` shaders. Any bits enabled by this value will be " "enabled in the final register value." msgstr "" -#: ../../../AMDGPUUsage.rst:1938 +#: ../../../AMDGPUUsage.rst:2115 msgid "\"amdgpu-wave-priority-threshold\"" msgstr "" -#: ../../../AMDGPUUsage.rst:1938 +#: ../../../AMDGPUUsage.rst:2115 msgid "" "VALU instruction count threshold for adjusting wave priority. If exceeded, " "temporarily raise the wave priority at the start of the shader function " @@ -4493,34 +4782,34 @@ msgid "" "instructions as well." msgstr "" -#: ../../../AMDGPUUsage.rst:1943 +#: ../../../AMDGPUUsage.rst:2120 msgid "\"amdgpu-memory-bound\"" msgstr "" -#: ../../../AMDGPUUsage.rst:1943 ../../../AMDGPUUsage.rst:1945 +#: ../../../AMDGPUUsage.rst:2120 ../../../AMDGPUUsage.rst:2122 msgid "Set internally by backend" msgstr "" -#: ../../../AMDGPUUsage.rst:1945 +#: ../../../AMDGPUUsage.rst:2122 msgid "\"amdgpu-wave-limiter\"" msgstr "" -#: ../../../AMDGPUUsage.rst:1947 +#: ../../../AMDGPUUsage.rst:2124 msgid "\"amdgpu-unroll-threshold\"" msgstr "" -#: ../../../AMDGPUUsage.rst:1947 +#: ../../../AMDGPUUsage.rst:2124 msgid "" "Set base cost threshold preference for loop unrolling within this function, " "default is 300. Actual threshold may be varied by per-loop metadata or " "reduced by heuristics." msgstr "" -#: ../../../AMDGPUUsage.rst:1951 +#: ../../../AMDGPUUsage.rst:2128 msgid "\"amdgpu-max-num-workgroups\"=\"x,y,z\"" msgstr "" -#: ../../../AMDGPUUsage.rst:1951 +#: ../../../AMDGPUUsage.rst:2128 msgid "" "Specify the maximum number of work groups for the kernel dispatch in the X, " "Y, and Z dimensions. Each number must be >= 1. Generated by the " @@ -4528,22 +4817,22 @@ msgid "" "emits this attribute when all the three numbers are >= 1." msgstr "" -#: ../../../AMDGPUUsage.rst:1956 +#: ../../../AMDGPUUsage.rst:2133 msgid "\"amdgpu-hidden-argument\"" msgstr "" -#: ../../../AMDGPUUsage.rst:1956 +#: ../../../AMDGPUUsage.rst:2133 msgid "" "This attribute is used internally by the backend to mark function arguments " "as hidden. Hidden arguments are managed by the compiler and are not part of " "the explicit arguments supplied by the user." msgstr "" -#: ../../../AMDGPUUsage.rst:1960 +#: ../../../AMDGPUUsage.rst:2137 msgid "\"amdgpu-agpr-alloc\"=\"min(,max)\"" msgstr "" -#: ../../../AMDGPUUsage.rst:1960 +#: ../../../AMDGPUUsage.rst:2137 msgid "" "Indicates a minimum and maximum range for the number of AGPRs to make " "available to allocate. The values will be rounded up to the next multiple of " @@ -4554,13 +4843,13 @@ msgid "" "will restrict allocation to use no more than max AGPRs." msgstr "" -#: ../../../AMDGPUUsage.rst:1968 +#: ../../../AMDGPUUsage.rst:2145 msgid "" "The values may be ignored if satisfying it would violate other allocation " "constraints." msgstr "" -#: ../../../AMDGPUUsage.rst:1971 +#: ../../../AMDGPUUsage.rst:2148 msgid "" "The behavior is undefined if a function which requires more AGPRs than the " "lower bound is reached through any function marked with a higher value of " @@ -4568,74 +4857,74 @@ msgid "" "any AGPRs." msgstr "" -#: ../../../AMDGPUUsage.rst:1976 +#: ../../../AMDGPUUsage.rst:2153 msgid "" "This is only relevant on targets with AGPRs which support accum_offset " "(gfx90a+)." msgstr "" -#: ../../../AMDGPUUsage.rst:1978 +#: ../../../AMDGPUUsage.rst:2155 msgid "\"amdgpu-sgpr-hazard-wait\"" msgstr "" -#: ../../../AMDGPUUsage.rst:1978 +#: ../../../AMDGPUUsage.rst:2155 msgid "" "Disabled SGPR hazard wait insertion if set to 0. Exists for testing " "performance impact of SGPR hazard waits only." msgstr "" -#: ../../../AMDGPUUsage.rst:1981 +#: ../../../AMDGPUUsage.rst:2158 msgid "\"amdgpu-sgpr-hazard-boundary-cull\"" msgstr "" -#: ../../../AMDGPUUsage.rst:1981 +#: ../../../AMDGPUUsage.rst:2158 msgid "" "Enable insertion of SGPR hazard cull sequences at function call boundaries. " "Cull sequence reduces future hazard waits, but has a performance cost." msgstr "" -#: ../../../AMDGPUUsage.rst:1984 +#: ../../../AMDGPUUsage.rst:2161 msgid "\"amdgpu-sgpr-hazard-mem-wait-cull\"" msgstr "" -#: ../../../AMDGPUUsage.rst:1984 +#: ../../../AMDGPUUsage.rst:2161 msgid "" "Enable insertion of SGPR hazard cull sequences before memory waits. Cull " "sequence reduces future hazard waits, but has a performance cost. Attempt to " "amortize cost by overlapping with memory accesses." msgstr "" -#: ../../../AMDGPUUsage.rst:1988 +#: ../../../AMDGPUUsage.rst:2165 msgid "\"amdgpu-sgpr-hazard-mem-wait-cull-threshold\"" msgstr "" -#: ../../../AMDGPUUsage.rst:1988 +#: ../../../AMDGPUUsage.rst:2165 msgid "" "Sets the number of active SGPR hazards that must be present before inserting " "a cull sequence at a memory wait." msgstr "" -#: ../../../AMDGPUUsage.rst:1991 +#: ../../../AMDGPUUsage.rst:2168 msgid "\"amdgpu-promote-alloca-to-vector-max-regs\"" msgstr "" -#: ../../../AMDGPUUsage.rst:1991 +#: ../../../AMDGPUUsage.rst:2168 msgid "Maximum vector size (in 32b registers) to create when promoting alloca." msgstr "" -#: ../../../AMDGPUUsage.rst:1993 +#: ../../../AMDGPUUsage.rst:2170 msgid "\"amdgpu-promote-alloca-to-vector-vgpr-ratio\"" msgstr "" -#: ../../../AMDGPUUsage.rst:1993 +#: ../../../AMDGPUUsage.rst:2170 msgid "Ratio of VGPRs to budget for promoting alloca to vectors." msgstr "" -#: ../../../AMDGPUUsage.rst:1995 +#: ../../../AMDGPUUsage.rst:2172 msgid "\"amdgpu-dynamic-vgpr-block-size\"" msgstr "" -#: ../../../AMDGPUUsage.rst:1995 +#: ../../../AMDGPUUsage.rst:2172 msgid "" "Represents the size of a VGPR block in the \"Dynamic VGPR\" hardware mode, " "introduced in GFX12. A value of 0 (default) means that dynamic VGPRs are not " @@ -4648,11 +4937,11 @@ msgid "" "required by the function encoded in bits 5..3." msgstr "" -#: ../../../AMDGPUUsage.rst:2008 +#: ../../../AMDGPUUsage.rst:2185 msgid "\"amdgpu-cluster-dims\"=\"x,y,z\"" msgstr "" -#: ../../../AMDGPUUsage.rst:2008 +#: ../../../AMDGPUUsage.rst:2185 msgid "" "Specify the cluster workgroup dimensions. A value of \"0,0,0\" indicates " "that cluster is disabled. A value of \"1024,1024,1024\" indicates that " @@ -4660,75 +4949,114 @@ msgid "" "Any other value explicitly specifies the cluster dimensions." msgstr "" -#: ../../../AMDGPUUsage.rst:2013 +#: ../../../AMDGPUUsage.rst:2190 msgid "This is only relevant on targets with cluster support." msgstr "" -#: ../../../AMDGPUUsage.rst:2019 +#: ../../../AMDGPUUsage.rst:2192 +msgid "\"amdgpu-expert-scheduling-mode\" true/false." +msgstr "" + +#: ../../../AMDGPUUsage.rst:2192 +msgid "" +"Enable expert scheduling mode 2 for this function. This is a hardware " +"execution mode introduced in GFX12." +msgstr "" + +#: ../../../AMDGPUUsage.rst:2195 +msgid "This is only relevant on GFX12+." +msgstr "" + +#: ../../../AMDGPUUsage.rst:2197 +msgid "\"amdgpu-expand-waitcnt-profiling\"" +msgstr "" + +#: ../../../AMDGPUUsage.rst:2197 +msgid "" +"Enable expansion of s_waitcnt instructions for profiling purposes. When " +"enabled, each s_waitcnt instruction that waits on multiple counter types is " +"expanded into a sequence of s_waitcnt instructions, each waiting on a single " +"counter type. This allows PC-sampling based profilers to attribute wait " +"cycles to specific counter types (e.g., VMEM, LDS, EXP)." +msgstr "" + +#: ../../../AMDGPUUsage.rst:2203 +msgid "\"amdgpu-no-fwd-progress\"" +msgstr "" + +#: ../../../AMDGPUUsage.rst:2203 +msgid "Disable forward progress mode for wave priority (enabled by default)." +msgstr "" + +#: ../../../AMDGPUUsage.rst:2206 +msgid "Relevant for GFX10+." +msgstr "" + +#: ../../../AMDGPUUsage.rst:2210 msgid "Calling Conventions" msgstr "" -#: ../../../AMDGPUUsage.rst:2021 +#: ../../../AMDGPUUsage.rst:2212 msgid "The AMDGPU backend supports the following calling conventions:" msgstr "" -#: ../../../AMDGPUUsage.rst:2023 +#: ../../../AMDGPUUsage.rst:2214 msgid "AMDGPU Calling Conventions" msgstr "" -#: ../../../AMDGPUUsage.rst:2027 +#: ../../../AMDGPUUsage.rst:2218 msgid "Calling Convention" msgstr "" -#: ../../../AMDGPUUsage.rst:2029 +#: ../../../AMDGPUUsage.rst:2220 msgid "``ccc``" msgstr "" -#: ../../../AMDGPUUsage.rst:2029 +#: ../../../AMDGPUUsage.rst:2220 msgid "" "The C calling convention. Used by default. See :ref:`amdgpu-amdhsa-function-" "call-convention-non-kernel-functions` for more details." msgstr "" -#: ../../../AMDGPUUsage.rst:2033 +#: ../../../AMDGPUUsage.rst:2224 msgid "``fastcc``" msgstr "" -#: ../../../AMDGPUUsage.rst:2033 +#: ../../../AMDGPUUsage.rst:2224 msgid "The fast calling convention. Mostly the same as the ``ccc``." msgstr "" -#: ../../../AMDGPUUsage.rst:2035 +#: ../../../AMDGPUUsage.rst:2226 msgid "``coldcc``" msgstr "" -#: ../../../AMDGPUUsage.rst:2035 +#: ../../../AMDGPUUsage.rst:2226 msgid "The cold calling convention. Mostly the same as the ``ccc``." msgstr "" -#: ../../../AMDGPUUsage.rst:2037 +#: ../../../AMDGPUUsage.rst:2228 msgid "``amdgpu_cs``" msgstr "" -#: ../../../AMDGPUUsage.rst:2037 +#: ../../../AMDGPUUsage.rst:2228 msgid "Used for Mesa/AMDPAL compute shaders. ..TODO:: Describe." msgstr "" -#: ../../../AMDGPUUsage.rst:2041 +#: ../../../AMDGPUUsage.rst:2232 msgid "``amdgpu_cs_chain``" msgstr "" -#: ../../../AMDGPUUsage.rst:2041 +#: ../../../AMDGPUUsage.rst:2232 msgid "Similar to ``amdgpu_cs``, with differences described below." msgstr "" -#: ../../../AMDGPUUsage.rst:2043 +#: ../../../AMDGPUUsage.rst:2234 msgid "" "Functions with this calling convention cannot be called directly. They must " "instead be launched via the ``llvm.amdgcn.cs.chain`` intrinsic." msgstr "" -#: ../../../AMDGPUUsage.rst:2046 +#: ../../../AMDGPUUsage.rst:2237 msgid "" "Arguments are passed in SGPRs, starting at s0, if they have the ``inreg`` " "attribute, and in VGPRs otherwise, starting at v8. Using more SGPRs or VGPRs " @@ -4739,13 +5067,13 @@ msgid "" "more than that is not allowed." msgstr "" -#: ../../../AMDGPUUsage.rst:2054 +#: ../../../AMDGPUUsage.rst:2245 msgid "" "The return type must be void. Varargs, sret, byval, byref, inalloca, " "preallocated are not supported." msgstr "" -#: ../../../AMDGPUUsage.rst:2057 +#: ../../../AMDGPUUsage.rst:2248 msgid "" "Values in scalar registers as well as v0-v7 are not preserved. Values in " "VGPRs starting at v8 are not preserved for the active lanes, but must be " @@ -4756,32 +5084,26 @@ msgid "" "present in the IR)." msgstr "" -#: ../../../AMDGPUUsage.rst:2064 +#: ../../../AMDGPUUsage.rst:2255 msgid "" -"Wave scratch is \"empty\" at function boundaries. There is no stack pointer " -"input or output value, but functions are free to use scratch starting from " -"an initial stack pointer. Calls to ``amdgpu_gfx`` functions are allowed and " +"Chain functions receive a stack pointer from their caller (in s32), similar " +"to ``amdgpu_gfx`` functions. If needed, the frame pointer is s33 and the " +"base pointer is s34. Calls to ``amdgpu_gfx`` functions are allowed and " "behave like they do in ``amdgpu_cs`` functions." msgstr "" -#: ../../../AMDGPUUsage.rst:2069 -msgid "" -"All counters (``lgkmcnt``, ``vmcnt``, ``storecnt``, etc.) are presumed in an " -"unknown state at function entry." -msgstr "" - -#: ../../../AMDGPUUsage.rst:2072 +#: ../../../AMDGPUUsage.rst:2260 msgid "" "A function may have multiple exits (e.g. one chain exit and one plain ``ret " "void`` for when the wave ends), but all ``llvm.amdgcn.cs.chain`` exits must " "be in uniform control flow." msgstr "" -#: ../../../AMDGPUUsage.rst:2076 +#: ../../../AMDGPUUsage.rst:2264 msgid "``amdgpu_cs_chain_preserve``" msgstr "" -#: ../../../AMDGPUUsage.rst:2076 +#: ../../../AMDGPUUsage.rst:2264 msgid "" "Same as ``amdgpu_cs_chain``, but active lanes for VGPRs starting at v8 are " "preserved. Calls to ``amdgpu_gfx`` functions are not allowed, and any calls " @@ -4789,32 +5111,32 @@ msgid "" "caller's VGPR function parameters." msgstr "" -#: ../../../AMDGPUUsage.rst:2080 +#: ../../../AMDGPUUsage.rst:2268 msgid "``amdgpu_es``" msgstr "" -#: ../../../AMDGPUUsage.rst:2080 +#: ../../../AMDGPUUsage.rst:2268 msgid "" "Used for AMDPAL shader stage before geometry shader if geometry is in use. " "So either the domain (= tessellation evaluation) shader if tessellation is " "in use, or otherwise the vertex shader. ..TODO:: Describe." msgstr "" -#: ../../../AMDGPUUsage.rst:2086 +#: ../../../AMDGPUUsage.rst:2274 msgid "``amdgpu_gfx``" msgstr "" -#: ../../../AMDGPUUsage.rst:2086 +#: ../../../AMDGPUUsage.rst:2274 msgid "" "Used for AMD graphics targets. Functions with this calling convention cannot " "be used as entry points. ..TODO:: Describe." msgstr "" -#: ../../../AMDGPUUsage.rst:2091 +#: ../../../AMDGPUUsage.rst:2279 msgid "``amdgpu_gfx_whole_wave``" msgstr "" -#: ../../../AMDGPUUsage.rst:2091 +#: ../../../AMDGPUUsage.rst:2279 msgid "" "Used for AMD graphics targets. Functions with this calling convention cannot " "be used as entry points. They must have an i1 as the first argument, which " @@ -4823,7 +5145,7 @@ msgid "" "value for the inactive lanes is poison." msgstr "" -#: ../../../AMDGPUUsage.rst:2097 +#: ../../../AMDGPUUsage.rst:2285 msgid "" "The function will run with all lanes enabled, i.e. EXEC will be set to -1 in " "the prologue and restored to its original value in the epilogue. The " @@ -4831,121 +5153,158 @@ msgid "" "Active lanes only will only be preserved for the callee saved registers." msgstr "" -#: ../../../AMDGPUUsage.rst:2102 +#: ../../../AMDGPUUsage.rst:2290 msgid "" "In all other respects, functions with this calling convention behave like " "``amdgpu_gfx`` functions." msgstr "" -#: ../../../AMDGPUUsage.rst:2105 +#: ../../../AMDGPUUsage.rst:2293 msgid "``amdgpu_gs``" msgstr "" -#: ../../../AMDGPUUsage.rst:2105 +#: ../../../AMDGPUUsage.rst:2293 msgid "Used for Mesa/AMDPAL geometry shaders. ..TODO:: Describe." msgstr "" -#: ../../../AMDGPUUsage.rst:2109 +#: ../../../AMDGPUUsage.rst:2297 msgid "``amdgpu_hs``" msgstr "" -#: ../../../AMDGPUUsage.rst:2109 +#: ../../../AMDGPUUsage.rst:2297 msgid "" "Used for Mesa/AMDPAL hull shaders (= tessellation control shaders). ..TODO:: " "Describe." msgstr "" -#: ../../../AMDGPUUsage.rst:2113 +#: ../../../AMDGPUUsage.rst:2301 msgid "``amdgpu_kernel``" msgstr "" -#: ../../../AMDGPUUsage.rst:2113 +#: ../../../AMDGPUUsage.rst:2301 msgid "See :ref:`amdgpu-amdhsa-function-call-convention-kernel-functions`" msgstr "" -#: ../../../AMDGPUUsage.rst:2115 +#: ../../../AMDGPUUsage.rst:2303 msgid "``amdgpu_ls``" msgstr "" -#: ../../../AMDGPUUsage.rst:2115 +#: ../../../AMDGPUUsage.rst:2303 msgid "" "Used for AMDPAL vertex shader if tessellation is in use. ..TODO:: Describe." msgstr "" -#: ../../../AMDGPUUsage.rst:2119 +#: ../../../AMDGPUUsage.rst:2307 msgid "``amdgpu_ps``" msgstr "" -#: ../../../AMDGPUUsage.rst:2119 +#: ../../../AMDGPUUsage.rst:2307 msgid "Used for Mesa/AMDPAL pixel shaders. ..TODO:: Describe." msgstr "" -#: ../../../AMDGPUUsage.rst:2123 +#: ../../../AMDGPUUsage.rst:2311 msgid "``amdgpu_vs``" msgstr "" -#: ../../../AMDGPUUsage.rst:2123 +#: ../../../AMDGPUUsage.rst:2311 msgid "" "Used for Mesa/AMDPAL last shader stage before rasterization (vertex shader " "if tessellation and geometry are not in use, or otherwise copy shader if one " "is needed). ..TODO:: Describe." msgstr "" -#: ../../../AMDGPUUsage.rst:2132 +#: ../../../AMDGPUUsage.rst:2319 +msgid "" +"The following ABI conventions apply to all calling conventions that are used " +"for callable functions (i.e. those that do not correspond to hardware entry " +"points):" +msgstr "" + +#: ../../../AMDGPUUsage.rst:2322 +msgid "" +"On entry to a function the dependency counters (``VMcnt``, ``LOADcnt`` etc.) " +"are in an indeterminate state." +msgstr "" + +#: ../../../AMDGPUUsage.rst:2324 +msgid "" +"On return from a function, all dependency counters must be zero except for " +"``VScnt``/``STOREcnt``." +msgstr "" + +#: ../../../AMDGPUUsage.rst:2327 +msgid "" +"For entry points, the ABI conventions are dictated by the hardware behavior " +"at wave launch and wave termination:" +msgstr "" + +#: ../../../AMDGPUUsage.rst:2330 +msgid "" +"When a wave is launched the shader can assume that all dependency counters " +"are zero." +msgstr "" + +#: ../../../AMDGPUUsage.rst:2332 +msgid "" +"The shader can leave the dependency counters in any state before terminating " +"the wave (e.g. with ``s_endpgm``)." +msgstr "" + +#: ../../../AMDGPUUsage.rst:2336 msgid "AMDGPU MCExpr" msgstr "" -#: ../../../AMDGPUUsage.rst:2134 +#: ../../../AMDGPUUsage.rst:2338 msgid "" "As part of the AMDGPU MC layer, AMDGPU provides the following target-" "specific ``MCExpr``\\s." msgstr "" -#: ../../../AMDGPUUsage.rst:2137 +#: ../../../AMDGPUUsage.rst:2341 msgid "AMDGPU MCExpr types:" msgstr "" -#: ../../../AMDGPUUsage.rst:2141 +#: ../../../AMDGPUUsage.rst:2345 msgid "MCExpr" msgstr "" -#: ../../../AMDGPUUsage.rst:2141 ../../../AMDGPUUsage.rst:19960 +#: ../../../AMDGPUUsage.rst:2345 ../../../AMDGPUUsage.rst:20949 msgid "Operands" msgstr "" -#: ../../../AMDGPUUsage.rst:2141 +#: ../../../AMDGPUUsage.rst:2345 msgid "Return value" msgstr "" -#: ../../../AMDGPUUsage.rst:2143 +#: ../../../AMDGPUUsage.rst:2347 msgid "``max(arg, ...)``" msgstr "" -#: ../../../AMDGPUUsage.rst:2143 ../../../AMDGPUUsage.rst:2146 +#: ../../../AMDGPUUsage.rst:2347 ../../../AMDGPUUsage.rst:2350 msgid "1 or more" msgstr "" -#: ../../../AMDGPUUsage.rst:2143 +#: ../../../AMDGPUUsage.rst:2347 msgid "" "Variadic signed operation that returns the maximum value of all its " "arguments." msgstr "" -#: ../../../AMDGPUUsage.rst:2146 +#: ../../../AMDGPUUsage.rst:2350 msgid "``or(arg, ...)``" msgstr "" -#: ../../../AMDGPUUsage.rst:2146 +#: ../../../AMDGPUUsage.rst:2350 msgid "" "Variadic signed operation that returns the bitwise-or result of all its " "arguments." msgstr "" -#: ../../../AMDGPUUsage.rst:2152 +#: ../../../AMDGPUUsage.rst:2356 msgid "Function Resource Usage" msgstr "" -#: ../../../AMDGPUUsage.rst:2154 +#: ../../../AMDGPUUsage.rst:2358 msgid "" "A function's resource usage depends on each of its callees' resource usage. " "The expressions used to denote resource usage reflect this by propagating " @@ -4954,159 +5313,159 @@ msgid "" "and should not be overwritten or redefined." msgstr "" -#: ../../../AMDGPUUsage.rst:2160 +#: ../../../AMDGPUUsage.rst:2364 msgid "The following describes all emitted function resource usage symbols:" msgstr "" -#: ../../../AMDGPUUsage.rst:2162 +#: ../../../AMDGPUUsage.rst:2366 msgid "Function Resource Usage:" msgstr "" -#: ../../../AMDGPUUsage.rst:2166 +#: ../../../AMDGPUUsage.rst:2370 msgid "Symbol" msgstr "" -#: ../../../AMDGPUUsage.rst:2166 ../../../AMDGPUUsage.rst:2568 -#: ../../../AMDGPUUsage.rst:2658 ../../../AMDGPUUsage.rst:2824 -#: ../../../AMDGPUUsage.rst:2865 ../../../AMDGPUUsage.rst:19785 +#: ../../../AMDGPUUsage.rst:2370 ../../../AMDGPUUsage.rst:2776 +#: ../../../AMDGPUUsage.rst:2866 ../../../AMDGPUUsage.rst:3032 +#: ../../../AMDGPUUsage.rst:3073 ../../../AMDGPUUsage.rst:20774 msgid "Type" msgstr "" -#: ../../../AMDGPUUsage.rst:2166 +#: ../../../AMDGPUUsage.rst:2370 msgid "Example" msgstr "" -#: ../../../AMDGPUUsage.rst:2168 +#: ../../../AMDGPUUsage.rst:2372 msgid ".num_vgpr" msgstr "" -#: ../../../AMDGPUUsage.rst:2168 ../../../AMDGPUUsage.rst:2171 -#: ../../../AMDGPUUsage.rst:2174 ../../../AMDGPUUsage.rst:2178 +#: ../../../AMDGPUUsage.rst:2372 ../../../AMDGPUUsage.rst:2375 +#: ../../../AMDGPUUsage.rst:2378 ../../../AMDGPUUsage.rst:2382 msgid "Integer" msgstr "" -#: ../../../AMDGPUUsage.rst:2168 +#: ../../../AMDGPUUsage.rst:2372 msgid "" "Number of VGPRs used by , worst case of itself and its " "callees' VGPR use" msgstr "" -#: ../../../AMDGPUUsage.rst:2168 +#: ../../../AMDGPUUsage.rst:2372 msgid ".set foo.num_vgpr, max(32, bar.num_vgpr, baz.num_vgpr)" msgstr "" -#: ../../../AMDGPUUsage.rst:2171 +#: ../../../AMDGPUUsage.rst:2375 msgid ".num_agpr" msgstr "" -#: ../../../AMDGPUUsage.rst:2171 +#: ../../../AMDGPUUsage.rst:2375 msgid "" "Number of AGPRs used by , worst case of itself and its " "callees' AGPR use" msgstr "" -#: ../../../AMDGPUUsage.rst:2171 +#: ../../../AMDGPUUsage.rst:2375 msgid ".set foo.num_agpr, max(35, bar.num_agpr)" msgstr "" -#: ../../../AMDGPUUsage.rst:2174 +#: ../../../AMDGPUUsage.rst:2378 msgid ".numbered_sgpr" msgstr "" -#: ../../../AMDGPUUsage.rst:2174 +#: ../../../AMDGPUUsage.rst:2378 msgid "" "Number of SGPRs used by , worst case of itself and its " "callees' SGPR use (without any of the implicitly used SGPRs)" msgstr "" -#: ../../../AMDGPUUsage.rst:2174 +#: ../../../AMDGPUUsage.rst:2378 msgid ".set foo.num_sgpr, 21" msgstr "" -#: ../../../AMDGPUUsage.rst:2178 +#: ../../../AMDGPUUsage.rst:2382 msgid ".private_seg_size" msgstr "" -#: ../../../AMDGPUUsage.rst:2178 +#: ../../../AMDGPUUsage.rst:2382 msgid "" "Total stack size required for , expression is the locally " "used stack size + the worst case callee" msgstr "" -#: ../../../AMDGPUUsage.rst:2178 +#: ../../../AMDGPUUsage.rst:2382 msgid "" ".set foo.private_seg_size, 16+max(bar.private_seg_size, baz.private_seg_size)" msgstr "" -#: ../../../AMDGPUUsage.rst:2182 +#: ../../../AMDGPUUsage.rst:2386 msgid ".uses_vcc" msgstr "" -#: ../../../AMDGPUUsage.rst:2182 ../../../AMDGPUUsage.rst:2184 -#: ../../../AMDGPUUsage.rst:2186 ../../../AMDGPUUsage.rst:2188 -#: ../../../AMDGPUUsage.rst:2190 +#: ../../../AMDGPUUsage.rst:2386 ../../../AMDGPUUsage.rst:2388 +#: ../../../AMDGPUUsage.rst:2390 ../../../AMDGPUUsage.rst:2392 +#: ../../../AMDGPUUsage.rst:2394 msgid "Bool" msgstr "" -#: ../../../AMDGPUUsage.rst:2182 +#: ../../../AMDGPUUsage.rst:2386 msgid "Whether , or any of its callees, uses vcc" msgstr "" -#: ../../../AMDGPUUsage.rst:2182 +#: ../../../AMDGPUUsage.rst:2386 msgid ".set foo.uses_vcc, or(0, bar.uses_vcc)" msgstr "" -#: ../../../AMDGPUUsage.rst:2184 +#: ../../../AMDGPUUsage.rst:2388 msgid ".uses_flat_scratch" msgstr "" -#: ../../../AMDGPUUsage.rst:2184 +#: ../../../AMDGPUUsage.rst:2388 msgid "" "Whether , or any of its callees, uses flat scratch or not" msgstr "" -#: ../../../AMDGPUUsage.rst:2184 +#: ../../../AMDGPUUsage.rst:2388 msgid ".set foo.uses_flat_scratch, 1" msgstr "" -#: ../../../AMDGPUUsage.rst:2186 +#: ../../../AMDGPUUsage.rst:2390 msgid ".has_dyn_sized_stack" msgstr "" -#: ../../../AMDGPUUsage.rst:2186 +#: ../../../AMDGPUUsage.rst:2390 msgid "Whether , or any of its callees, is dynamically sized" msgstr "" -#: ../../../AMDGPUUsage.rst:2186 +#: ../../../AMDGPUUsage.rst:2390 msgid ".set foo.has_dyn_sized_stack, 1" msgstr "" -#: ../../../AMDGPUUsage.rst:2188 +#: ../../../AMDGPUUsage.rst:2392 msgid ".has_recursion" msgstr "" -#: ../../../AMDGPUUsage.rst:2188 +#: ../../../AMDGPUUsage.rst:2392 msgid "Whether , or any of its callees, contains recursion" msgstr "" -#: ../../../AMDGPUUsage.rst:2188 +#: ../../../AMDGPUUsage.rst:2392 msgid ".set foo.has_recursion, 0" msgstr "" -#: ../../../AMDGPUUsage.rst:2190 +#: ../../../AMDGPUUsage.rst:2394 msgid ".has_indirect_call" msgstr "" -#: ../../../AMDGPUUsage.rst:2190 +#: ../../../AMDGPUUsage.rst:2394 msgid "" "Whether , or any of its callees, contains an indirect call" msgstr "" -#: ../../../AMDGPUUsage.rst:2190 +#: ../../../AMDGPUUsage.rst:2394 msgid ".set foo.has_indirect_call, max(0, bar.has_indirect_call)" msgstr "" -#: ../../../AMDGPUUsage.rst:2194 +#: ../../../AMDGPUUsage.rst:2398 msgid "" "Furthermore, three symbols are additionally emitted describing the " "compilation unit's worst case (i.e, maxima) ``num_vgpr``, ``num_agpr``, and " @@ -5115,271 +5474,271 @@ msgid "" "``amdgcn.max_num_agpr``, and ``amdgcn.max_num_sgpr``." msgstr "" -#: ../../../AMDGPUUsage.rst:2203 +#: ../../../AMDGPUUsage.rst:2407 msgid "ELF Code Object" msgstr "" -#: ../../../AMDGPUUsage.rst:2205 +#: ../../../AMDGPUUsage.rst:2409 msgid "" "The AMDGPU backend generates a standard ELF [ELF]_ relocatable code object " "that can be linked by ``lld`` to produce a standard ELF shared code object " "which can be loaded and executed on an AMDGPU target." msgstr "" -#: ../../../AMDGPUUsage.rst:2212 +#: ../../../AMDGPUUsage.rst:2416 msgid "Header" msgstr "" -#: ../../../AMDGPUUsage.rst:2214 +#: ../../../AMDGPUUsage.rst:2418 msgid "The AMDGPU backend uses the following ELF header:" msgstr "" -#: ../../../AMDGPUUsage.rst:2216 +#: ../../../AMDGPUUsage.rst:2420 msgid "AMDGPU ELF Header" msgstr "" -#: ../../../AMDGPUUsage.rst:2220 ../../../AMDGPUUsage.rst:2960 -#: ../../../AMDGPUUsage.rst:19751 ../../../AMDGPUUsage.rst:19785 +#: ../../../AMDGPUUsage.rst:2424 ../../../AMDGPUUsage.rst:3168 +#: ../../../AMDGPUUsage.rst:20740 ../../../AMDGPUUsage.rst:20774 msgid "Field" msgstr "" -#: ../../../AMDGPUUsage.rst:2222 ../../../AMDGPUUsage.rst:2273 -#: ../../../AMDGPUUsage.rst:19753 +#: ../../../AMDGPUUsage.rst:2426 ../../../AMDGPUUsage.rst:2477 +#: ../../../AMDGPUUsage.rst:20742 msgid "``e_ident[EI_CLASS]``" msgstr "" -#: ../../../AMDGPUUsage.rst:2222 +#: ../../../AMDGPUUsage.rst:2426 msgid "``ELFCLASS64``" msgstr "" -#: ../../../AMDGPUUsage.rst:2223 ../../../AMDGPUUsage.rst:2276 -#: ../../../AMDGPUUsage.rst:19754 +#: ../../../AMDGPUUsage.rst:2427 ../../../AMDGPUUsage.rst:2480 +#: ../../../AMDGPUUsage.rst:20743 msgid "``e_ident[EI_DATA]``" msgstr "" -#: ../../../AMDGPUUsage.rst:2223 +#: ../../../AMDGPUUsage.rst:2427 msgid "``ELFDATA2LSB``" msgstr "" -#: ../../../AMDGPUUsage.rst:2224 ../../../AMDGPUUsage.rst:2288 -#: ../../../AMDGPUUsage.rst:19755 +#: ../../../AMDGPUUsage.rst:2428 ../../../AMDGPUUsage.rst:2492 +#: ../../../AMDGPUUsage.rst:20744 msgid "``e_ident[EI_OSABI]``" msgstr "" -#: ../../../AMDGPUUsage.rst:2224 ../../../AMDGPUUsage.rst:2254 +#: ../../../AMDGPUUsage.rst:2428 ../../../AMDGPUUsage.rst:2458 msgid "``ELFOSABI_NONE``" msgstr "" -#: ../../../AMDGPUUsage.rst:2225 ../../../AMDGPUUsage.rst:2255 +#: ../../../AMDGPUUsage.rst:2429 ../../../AMDGPUUsage.rst:2459 msgid "``ELFOSABI_AMDGPU_HSA``" msgstr "" -#: ../../../AMDGPUUsage.rst:2226 ../../../AMDGPUUsage.rst:2256 +#: ../../../AMDGPUUsage.rst:2430 ../../../AMDGPUUsage.rst:2460 msgid "``ELFOSABI_AMDGPU_PAL``" msgstr "" -#: ../../../AMDGPUUsage.rst:2227 ../../../AMDGPUUsage.rst:2257 +#: ../../../AMDGPUUsage.rst:2431 ../../../AMDGPUUsage.rst:2461 msgid "``ELFOSABI_AMDGPU_MESA3D``" msgstr "" -#: ../../../AMDGPUUsage.rst:2228 ../../../AMDGPUUsage.rst:2317 -#: ../../../AMDGPUUsage.rst:19757 +#: ../../../AMDGPUUsage.rst:2432 ../../../AMDGPUUsage.rst:2521 +#: ../../../AMDGPUUsage.rst:20746 msgid "``e_ident[EI_ABIVERSION]``" msgstr "" -#: ../../../AMDGPUUsage.rst:2228 ../../../AMDGPUUsage.rst:2258 +#: ../../../AMDGPUUsage.rst:2432 ../../../AMDGPUUsage.rst:2462 msgid "``ELFABIVERSION_AMDGPU_HSA_V2``" msgstr "" -#: ../../../AMDGPUUsage.rst:2229 ../../../AMDGPUUsage.rst:2259 +#: ../../../AMDGPUUsage.rst:2433 ../../../AMDGPUUsage.rst:2463 msgid "``ELFABIVERSION_AMDGPU_HSA_V3``" msgstr "" -#: ../../../AMDGPUUsage.rst:2230 ../../../AMDGPUUsage.rst:2260 +#: ../../../AMDGPUUsage.rst:2434 ../../../AMDGPUUsage.rst:2464 msgid "``ELFABIVERSION_AMDGPU_HSA_V4``" msgstr "" -#: ../../../AMDGPUUsage.rst:2231 ../../../AMDGPUUsage.rst:2261 +#: ../../../AMDGPUUsage.rst:2435 ../../../AMDGPUUsage.rst:2465 msgid "``ELFABIVERSION_AMDGPU_HSA_V5``" msgstr "" -#: ../../../AMDGPUUsage.rst:2232 ../../../AMDGPUUsage.rst:2262 +#: ../../../AMDGPUUsage.rst:2436 ../../../AMDGPUUsage.rst:2466 msgid "``ELFABIVERSION_AMDGPU_HSA_V6``" msgstr "" -#: ../../../AMDGPUUsage.rst:2233 ../../../AMDGPUUsage.rst:2263 +#: ../../../AMDGPUUsage.rst:2437 ../../../AMDGPUUsage.rst:2467 msgid "``ELFABIVERSION_AMDGPU_PAL``" msgstr "" -#: ../../../AMDGPUUsage.rst:2234 ../../../AMDGPUUsage.rst:2264 +#: ../../../AMDGPUUsage.rst:2438 ../../../AMDGPUUsage.rst:2468 msgid "``ELFABIVERSION_AMDGPU_MESA3D``" msgstr "" -#: ../../../AMDGPUUsage.rst:2235 ../../../AMDGPUUsage.rst:2330 -#: ../../../AMDGPUUsage.rst:19756 +#: ../../../AMDGPUUsage.rst:2439 ../../../AMDGPUUsage.rst:2534 +#: ../../../AMDGPUUsage.rst:20745 msgid "``e_type``" msgstr "" -#: ../../../AMDGPUUsage.rst:2235 ../../../AMDGPUUsage.rst:2325 +#: ../../../AMDGPUUsage.rst:2439 ../../../AMDGPUUsage.rst:2529 msgid "``ET_REL``" msgstr "" -#: ../../../AMDGPUUsage.rst:2236 ../../../AMDGPUUsage.rst:2328 +#: ../../../AMDGPUUsage.rst:2440 ../../../AMDGPUUsage.rst:2532 msgid "``ET_DYN``" msgstr "" -#: ../../../AMDGPUUsage.rst:2237 ../../../AMDGPUUsage.rst:2341 -#: ../../../AMDGPUUsage.rst:19758 +#: ../../../AMDGPUUsage.rst:2441 ../../../AMDGPUUsage.rst:2545 +#: ../../../AMDGPUUsage.rst:20747 msgid "``e_machine``" msgstr "" -#: ../../../AMDGPUUsage.rst:2237 ../../../AMDGPUUsage.rst:2253 +#: ../../../AMDGPUUsage.rst:2441 ../../../AMDGPUUsage.rst:2457 msgid "``EM_AMDGPU``" msgstr "" -#: ../../../AMDGPUUsage.rst:2238 ../../../AMDGPUUsage.rst:2345 +#: ../../../AMDGPUUsage.rst:2442 ../../../AMDGPUUsage.rst:2549 msgid "``e_entry``" msgstr "" -#: ../../../AMDGPUUsage.rst:2239 ../../../AMDGPUUsage.rst:2557 +#: ../../../AMDGPUUsage.rst:2443 ../../../AMDGPUUsage.rst:2765 msgid "``e_flags``" msgstr "" -#: ../../../AMDGPUUsage.rst:2239 +#: ../../../AMDGPUUsage.rst:2443 msgid "" "See :ref:`amdgpu-elf-header-e_flags-v2-table`, :ref:`amdgpu-elf-header-" "e_flags-table-v3`, :ref:`amdgpu-elf-header-e_flags-table-v4-v5`, and :ref:" "`amdgpu-elf-header-e_flags-table-v6-onwards`" msgstr "" -#: ../../../AMDGPUUsage.rst:2247 +#: ../../../AMDGPUUsage.rst:2451 msgid "AMDGPU ELF Header Enumeration Values" msgstr "" -#: ../../../AMDGPUUsage.rst:2253 +#: ../../../AMDGPUUsage.rst:2457 msgid "224" msgstr "" -#: ../../../AMDGPUUsage.rst:2256 +#: ../../../AMDGPUUsage.rst:2460 msgid "65" msgstr "" -#: ../../../AMDGPUUsage.rst:2257 +#: ../../../AMDGPUUsage.rst:2461 msgid "66" msgstr "" -#: ../../../AMDGPUUsage.rst:2268 +#: ../../../AMDGPUUsage.rst:2472 msgid "The ELF class is:" msgstr "" -#: ../../../AMDGPUUsage.rst:2270 +#: ../../../AMDGPUUsage.rst:2474 msgid "``ELFCLASS32`` for ``r600`` architecture." msgstr "" -#: ../../../AMDGPUUsage.rst:2272 +#: ../../../AMDGPUUsage.rst:2476 msgid "" "``ELFCLASS64`` for ``amdgcn`` architecture which only supports 64-bit " "process address space applications." msgstr "" -#: ../../../AMDGPUUsage.rst:2276 +#: ../../../AMDGPUUsage.rst:2480 msgid "All AMDGPU targets use ``ELFDATA2LSB`` for little-endian byte ordering." msgstr "" -#: ../../../AMDGPUUsage.rst:2279 +#: ../../../AMDGPUUsage.rst:2483 msgid "" "One of the following AMDGPU target architecture specific OS ABIs (see :ref:" "`amdgpu-os`):" msgstr "" -#: ../../../AMDGPUUsage.rst:2282 +#: ../../../AMDGPUUsage.rst:2486 msgid "``ELFOSABI_NONE`` for *unknown* OS." msgstr "" -#: ../../../AMDGPUUsage.rst:2284 +#: ../../../AMDGPUUsage.rst:2488 msgid "``ELFOSABI_AMDGPU_HSA`` for ``amdhsa`` OS." msgstr "" -#: ../../../AMDGPUUsage.rst:2286 +#: ../../../AMDGPUUsage.rst:2490 msgid "``ELFOSABI_AMDGPU_PAL`` for ``amdpal`` OS." msgstr "" -#: ../../../AMDGPUUsage.rst:2288 +#: ../../../AMDGPUUsage.rst:2492 msgid "``ELFOSABI_AMDGPU_MESA3D`` for ``mesa3D`` OS." msgstr "" -#: ../../../AMDGPUUsage.rst:2291 +#: ../../../AMDGPUUsage.rst:2495 msgid "" "The ABI version of the AMDGPU target architecture specific OS ABI to which " "the code object conforms:" msgstr "" -#: ../../../AMDGPUUsage.rst:2294 +#: ../../../AMDGPUUsage.rst:2498 msgid "" "``ELFABIVERSION_AMDGPU_HSA_V2`` is used to specify the version of AMD HSA " "runtime ABI for code object V2. Can no longer be emitted by this version of " "LLVM." msgstr "" -#: ../../../AMDGPUUsage.rst:2297 +#: ../../../AMDGPUUsage.rst:2501 msgid "" "``ELFABIVERSION_AMDGPU_HSA_V3`` is used to specify the version of AMD HSA " "runtime ABI for code object V3. Can no longer be emitted by this version of " "LLVM." msgstr "" -#: ../../../AMDGPUUsage.rst:2300 +#: ../../../AMDGPUUsage.rst:2504 msgid "" "``ELFABIVERSION_AMDGPU_HSA_V4`` is used to specify the version of AMD HSA " "runtime ABI for code object V4. Specify using the Clang option ``-mcode-" "object-version=4``." msgstr "" -#: ../../../AMDGPUUsage.rst:2304 +#: ../../../AMDGPUUsage.rst:2508 msgid "" "``ELFABIVERSION_AMDGPU_HSA_V5`` is used to specify the version of AMD HSA " "runtime ABI for code object V5. Specify using the Clang option ``-mcode-" "object-version=5``. This is the default code object version if not specified." msgstr "" -#: ../../../AMDGPUUsage.rst:2309 +#: ../../../AMDGPUUsage.rst:2513 msgid "" "``ELFABIVERSION_AMDGPU_HSA_V6`` is used to specify the version of AMD HSA " "runtime ABI for code object V6. Specify using the Clang option ``-mcode-" "object-version=6``." msgstr "" -#: ../../../AMDGPUUsage.rst:2313 +#: ../../../AMDGPUUsage.rst:2517 msgid "" "``ELFABIVERSION_AMDGPU_PAL`` is used to specify the version of AMD PAL " "runtime ABI." msgstr "" -#: ../../../AMDGPUUsage.rst:2316 +#: ../../../AMDGPUUsage.rst:2520 msgid "" "``ELFABIVERSION_AMDGPU_MESA3D`` is used to specify the version of AMD MESA " "3D runtime ABI." msgstr "" -#: ../../../AMDGPUUsage.rst:2320 +#: ../../../AMDGPUUsage.rst:2524 msgid "Can be one of the following values:" msgstr "" -#: ../../../AMDGPUUsage.rst:2324 +#: ../../../AMDGPUUsage.rst:2528 msgid "" "The type produced by the AMDGPU backend compiler as it is relocatable code " "object." msgstr "" -#: ../../../AMDGPUUsage.rst:2328 +#: ../../../AMDGPUUsage.rst:2532 msgid "The type produced by the linker as it is a shared code object." msgstr "" -#: ../../../AMDGPUUsage.rst:2330 +#: ../../../AMDGPUUsage.rst:2534 msgid "The AMD HSA runtime loader requires a ``ET_DYN`` code object." msgstr "" -#: ../../../AMDGPUUsage.rst:2333 +#: ../../../AMDGPUUsage.rst:2537 msgid "" "The value ``EM_AMDGPU`` is used for the machine for all processors supported " "by the ``r600`` and ``amdgcn`` architectures (see :ref:`amdgpu-processor-" @@ -5391,1068 +5750,1097 @@ msgid "" "header-e_flags-table-v6-onwards`)." msgstr "" -#: ../../../AMDGPUUsage.rst:2344 +#: ../../../AMDGPUUsage.rst:2548 msgid "" "The entry point is 0 as the entry points for individual kernels must be " "selected in order to invoke them through AQL packets." msgstr "" -#: ../../../AMDGPUUsage.rst:2348 +#: ../../../AMDGPUUsage.rst:2552 msgid "The AMDGPU backend uses the following ELF header flags:" msgstr "" -#: ../../../AMDGPUUsage.rst:2350 +#: ../../../AMDGPUUsage.rst:2554 msgid "AMDGPU ELF Header ``e_flags`` for Code Object V2" msgstr "" -#: ../../../AMDGPUUsage.rst:2356 +#: ../../../AMDGPUUsage.rst:2560 msgid "``EF_AMDGPU_FEATURE_XNACK_V2``" msgstr "" -#: ../../../AMDGPUUsage.rst:2356 ../../../AMDGPUUsage.rst:3252 +#: ../../../AMDGPUUsage.rst:2560 ../../../AMDGPUUsage.rst:3460 msgid "0x01" msgstr "" -#: ../../../AMDGPUUsage.rst:2356 ../../../AMDGPUUsage.rst:2388 +#: ../../../AMDGPUUsage.rst:2560 ../../../AMDGPUUsage.rst:2592 msgid "" "Indicates if the ``xnack`` target feature is enabled for all code contained " "in the code object. If the processor does not support the ``xnack`` target " "feature then must be 0. See :ref:`amdgpu-target-features`." msgstr "" -#: ../../../AMDGPUUsage.rst:2367 +#: ../../../AMDGPUUsage.rst:2571 msgid "``EF_AMDGPU_FEATURE_TRAP_HANDLER_V2``" msgstr "" -#: ../../../AMDGPUUsage.rst:2367 ../../../AMDGPUUsage.rst:3253 +#: ../../../AMDGPUUsage.rst:2571 ../../../AMDGPUUsage.rst:3461 msgid "0x02" msgstr "" -#: ../../../AMDGPUUsage.rst:2367 +#: ../../../AMDGPUUsage.rst:2571 msgid "" "Indicates if the trap handler is enabled for all code contained in the code " "object. If the processor does not support a trap handler then must be 0. " "See :ref:`amdgpu-target-features`." msgstr "" -#: ../../../AMDGPUUsage.rst:2377 +#: ../../../AMDGPUUsage.rst:2581 msgid "AMDGPU ELF Header ``e_flags`` for Code Object V3" msgstr "" -#: ../../../AMDGPUUsage.rst:2383 ../../../AMDGPUUsage.rst:2418 -#: ../../../AMDGPUUsage.rst:2445 +#: ../../../AMDGPUUsage.rst:2587 ../../../AMDGPUUsage.rst:2622 +#: ../../../AMDGPUUsage.rst:2649 msgid "``EF_AMDGPU_MACH``" msgstr "" -#: ../../../AMDGPUUsage.rst:2383 ../../../AMDGPUUsage.rst:2418 -#: ../../../AMDGPUUsage.rst:2445 +#: ../../../AMDGPUUsage.rst:2587 ../../../AMDGPUUsage.rst:2622 +#: ../../../AMDGPUUsage.rst:2649 msgid "0x0ff" msgstr "" -#: ../../../AMDGPUUsage.rst:2383 ../../../AMDGPUUsage.rst:2418 -#: ../../../AMDGPUUsage.rst:2445 +#: ../../../AMDGPUUsage.rst:2587 ../../../AMDGPUUsage.rst:2622 +#: ../../../AMDGPUUsage.rst:2649 msgid "" "AMDGPU processor selection mask for ``EF_AMDGPU_MACH_xxx`` values defined " "in :ref:`amdgpu-ef-amdgpu-mach-table`." msgstr "" -#: ../../../AMDGPUUsage.rst:2388 +#: ../../../AMDGPUUsage.rst:2592 msgid "``EF_AMDGPU_FEATURE_XNACK_V3``" msgstr "" -#: ../../../AMDGPUUsage.rst:2388 ../../../AMDGPUUsage.rst:2427 -#: ../../../AMDGPUUsage.rst:2454 +#: ../../../AMDGPUUsage.rst:2592 ../../../AMDGPUUsage.rst:2631 +#: ../../../AMDGPUUsage.rst:2658 msgid "0x100" msgstr "" -#: ../../../AMDGPUUsage.rst:2399 +#: ../../../AMDGPUUsage.rst:2603 msgid "``EF_AMDGPU_FEATURE_SRAMECC_V3``" msgstr "" -#: ../../../AMDGPUUsage.rst:2399 ../../../AMDGPUUsage.rst:2428 -#: ../../../AMDGPUUsage.rst:2455 +#: ../../../AMDGPUUsage.rst:2603 ../../../AMDGPUUsage.rst:2632 +#: ../../../AMDGPUUsage.rst:2659 msgid "0x200" msgstr "" -#: ../../../AMDGPUUsage.rst:2399 +#: ../../../AMDGPUUsage.rst:2603 msgid "" "Indicates if the ``sramecc`` target feature is enabled for all code " "contained in the code object. If the processor does not support the " "``sramecc`` target feature then must be 0. See :ref:`amdgpu-target-features`." msgstr "" -#: ../../../AMDGPUUsage.rst:2412 +#: ../../../AMDGPUUsage.rst:2616 msgid "AMDGPU ELF Header ``e_flags`` for Code Object V4 and V5" msgstr "" -#: ../../../AMDGPUUsage.rst:2423 ../../../AMDGPUUsage.rst:2450 +#: ../../../AMDGPUUsage.rst:2627 ../../../AMDGPUUsage.rst:2654 msgid "``EF_AMDGPU_FEATURE_XNACK_V4``" msgstr "" -#: ../../../AMDGPUUsage.rst:2423 ../../../AMDGPUUsage.rst:2429 -#: ../../../AMDGPUUsage.rst:2450 ../../../AMDGPUUsage.rst:2456 +#: ../../../AMDGPUUsage.rst:2627 ../../../AMDGPUUsage.rst:2633 +#: ../../../AMDGPUUsage.rst:2654 ../../../AMDGPUUsage.rst:2660 msgid "0x300" msgstr "" -#: ../../../AMDGPUUsage.rst:2423 ../../../AMDGPUUsage.rst:2450 +#: ../../../AMDGPUUsage.rst:2627 ../../../AMDGPUUsage.rst:2654 msgid "XNACK selection mask for ``EF_AMDGPU_FEATURE_XNACK_*_V4`` values." msgstr "" -#: ../../../AMDGPUUsage.rst:2426 ../../../AMDGPUUsage.rst:2453 +#: ../../../AMDGPUUsage.rst:2630 ../../../AMDGPUUsage.rst:2657 msgid "``EF_AMDGPU_FEATURE_XNACK_UNSUPPORTED_V4``" msgstr "" -#: ../../../AMDGPUUsage.rst:2426 ../../../AMDGPUUsage.rst:2433 -#: ../../../AMDGPUUsage.rst:2453 ../../../AMDGPUUsage.rst:2460 -#: ../../../AMDGPUUsage.rst:2478 +#: ../../../AMDGPUUsage.rst:2630 ../../../AMDGPUUsage.rst:2637 +#: ../../../AMDGPUUsage.rst:2657 ../../../AMDGPUUsage.rst:2664 +#: ../../../AMDGPUUsage.rst:2682 msgid "0x000" msgstr "" -#: ../../../AMDGPUUsage.rst:2426 ../../../AMDGPUUsage.rst:2453 +#: ../../../AMDGPUUsage.rst:2630 ../../../AMDGPUUsage.rst:2657 msgid "XNACK unsupported." msgstr "" -#: ../../../AMDGPUUsage.rst:2427 ../../../AMDGPUUsage.rst:2454 +#: ../../../AMDGPUUsage.rst:2631 ../../../AMDGPUUsage.rst:2658 msgid "``EF_AMDGPU_FEATURE_XNACK_ANY_V4``" msgstr "" -#: ../../../AMDGPUUsage.rst:2427 ../../../AMDGPUUsage.rst:2454 +#: ../../../AMDGPUUsage.rst:2631 ../../../AMDGPUUsage.rst:2658 msgid "XNACK can have any value." msgstr "" -#: ../../../AMDGPUUsage.rst:2428 ../../../AMDGPUUsage.rst:2455 +#: ../../../AMDGPUUsage.rst:2632 ../../../AMDGPUUsage.rst:2659 msgid "``EF_AMDGPU_FEATURE_XNACK_OFF_V4``" msgstr "" -#: ../../../AMDGPUUsage.rst:2428 ../../../AMDGPUUsage.rst:2455 +#: ../../../AMDGPUUsage.rst:2632 ../../../AMDGPUUsage.rst:2659 msgid "XNACK disabled." msgstr "" -#: ../../../AMDGPUUsage.rst:2429 ../../../AMDGPUUsage.rst:2456 +#: ../../../AMDGPUUsage.rst:2633 ../../../AMDGPUUsage.rst:2660 msgid "``EF_AMDGPU_FEATURE_XNACK_ON_V4``" msgstr "" -#: ../../../AMDGPUUsage.rst:2429 ../../../AMDGPUUsage.rst:2456 +#: ../../../AMDGPUUsage.rst:2633 ../../../AMDGPUUsage.rst:2660 msgid "XNACK enabled." msgstr "" -#: ../../../AMDGPUUsage.rst:2430 ../../../AMDGPUUsage.rst:2457 +#: ../../../AMDGPUUsage.rst:2634 ../../../AMDGPUUsage.rst:2661 msgid "``EF_AMDGPU_FEATURE_SRAMECC_V4``" msgstr "" -#: ../../../AMDGPUUsage.rst:2430 ../../../AMDGPUUsage.rst:2436 -#: ../../../AMDGPUUsage.rst:2457 ../../../AMDGPUUsage.rst:2463 +#: ../../../AMDGPUUsage.rst:2634 ../../../AMDGPUUsage.rst:2640 +#: ../../../AMDGPUUsage.rst:2661 ../../../AMDGPUUsage.rst:2667 msgid "0xc00" msgstr "" -#: ../../../AMDGPUUsage.rst:2430 ../../../AMDGPUUsage.rst:2457 +#: ../../../AMDGPUUsage.rst:2634 ../../../AMDGPUUsage.rst:2661 msgid "SRAMECC selection mask for ``EF_AMDGPU_FEATURE_SRAMECC_*_V4`` values." msgstr "" -#: ../../../AMDGPUUsage.rst:2433 ../../../AMDGPUUsage.rst:2460 +#: ../../../AMDGPUUsage.rst:2637 ../../../AMDGPUUsage.rst:2664 msgid "``EF_AMDGPU_FEATURE_SRAMECC_UNSUPPORTED_V4``" msgstr "" -#: ../../../AMDGPUUsage.rst:2433 ../../../AMDGPUUsage.rst:2460 +#: ../../../AMDGPUUsage.rst:2637 ../../../AMDGPUUsage.rst:2664 msgid "SRAMECC unsupported." msgstr "" -#: ../../../AMDGPUUsage.rst:2434 ../../../AMDGPUUsage.rst:2461 +#: ../../../AMDGPUUsage.rst:2638 ../../../AMDGPUUsage.rst:2665 msgid "``EF_AMDGPU_FEATURE_SRAMECC_ANY_V4``" msgstr "" -#: ../../../AMDGPUUsage.rst:2434 ../../../AMDGPUUsage.rst:2461 +#: ../../../AMDGPUUsage.rst:2638 ../../../AMDGPUUsage.rst:2665 msgid "0x400" msgstr "" -#: ../../../AMDGPUUsage.rst:2434 ../../../AMDGPUUsage.rst:2461 +#: ../../../AMDGPUUsage.rst:2638 ../../../AMDGPUUsage.rst:2665 msgid "SRAMECC can have any value." msgstr "" -#: ../../../AMDGPUUsage.rst:2435 ../../../AMDGPUUsage.rst:2462 +#: ../../../AMDGPUUsage.rst:2639 ../../../AMDGPUUsage.rst:2666 msgid "``EF_AMDGPU_FEATURE_SRAMECC_OFF_V4``" msgstr "" -#: ../../../AMDGPUUsage.rst:2435 ../../../AMDGPUUsage.rst:2462 +#: ../../../AMDGPUUsage.rst:2639 ../../../AMDGPUUsage.rst:2666 msgid "0x800" msgstr "" -#: ../../../AMDGPUUsage.rst:2435 ../../../AMDGPUUsage.rst:2462 +#: ../../../AMDGPUUsage.rst:2639 ../../../AMDGPUUsage.rst:2666 msgid "SRAMECC disabled," msgstr "" -#: ../../../AMDGPUUsage.rst:2436 ../../../AMDGPUUsage.rst:2463 +#: ../../../AMDGPUUsage.rst:2640 ../../../AMDGPUUsage.rst:2667 msgid "``EF_AMDGPU_FEATURE_SRAMECC_ON_V4``" msgstr "" -#: ../../../AMDGPUUsage.rst:2436 ../../../AMDGPUUsage.rst:2463 +#: ../../../AMDGPUUsage.rst:2640 ../../../AMDGPUUsage.rst:2667 msgid "SRAMECC enabled." msgstr "" -#: ../../../AMDGPUUsage.rst:2439 +#: ../../../AMDGPUUsage.rst:2643 msgid "AMDGPU ELF Header ``e_flags`` for Code Object V6 and After" msgstr "" -#: ../../../AMDGPUUsage.rst:2464 +#: ../../../AMDGPUUsage.rst:2668 msgid "``EF_AMDGPU_GENERIC_VERSION_V``" msgstr "" -#: ../../../AMDGPUUsage.rst:2464 +#: ../../../AMDGPUUsage.rst:2668 msgid "0xff000000" msgstr "" -#: ../../../AMDGPUUsage.rst:2464 +#: ../../../AMDGPUUsage.rst:2668 msgid "" "Generic code object version selection mask. This is a value between 1 and " "255, stored in the most significant byte of EFLAGS. See :ref:`amdgpu-generic-" "processor-versioning`" msgstr "" -#: ../../../AMDGPUUsage.rst:2471 +#: ../../../AMDGPUUsage.rst:2675 msgid "AMDGPU ``EF_AMDGPU_MACH`` Values" msgstr "" -#: ../../../AMDGPUUsage.rst:2475 +#: ../../../AMDGPUUsage.rst:2679 msgid "Description (see :ref:`amdgpu-processor-table`)" msgstr "" -#: ../../../AMDGPUUsage.rst:2478 +#: ../../../AMDGPUUsage.rst:2682 msgid "``EF_AMDGPU_MACH_NONE``" msgstr "" -#: ../../../AMDGPUUsage.rst:2478 +#: ../../../AMDGPUUsage.rst:2682 msgid "*not specified*" msgstr "" -#: ../../../AMDGPUUsage.rst:2479 +#: ../../../AMDGPUUsage.rst:2683 msgid "``EF_AMDGPU_MACH_R600_R600``" msgstr "" -#: ../../../AMDGPUUsage.rst:2479 +#: ../../../AMDGPUUsage.rst:2683 msgid "0x001" msgstr "" -#: ../../../AMDGPUUsage.rst:2480 +#: ../../../AMDGPUUsage.rst:2684 msgid "``EF_AMDGPU_MACH_R600_R630``" msgstr "" -#: ../../../AMDGPUUsage.rst:2480 +#: ../../../AMDGPUUsage.rst:2684 msgid "0x002" msgstr "" -#: ../../../AMDGPUUsage.rst:2481 +#: ../../../AMDGPUUsage.rst:2685 msgid "``EF_AMDGPU_MACH_R600_RS880``" msgstr "" -#: ../../../AMDGPUUsage.rst:2481 +#: ../../../AMDGPUUsage.rst:2685 msgid "0x003" msgstr "" -#: ../../../AMDGPUUsage.rst:2482 +#: ../../../AMDGPUUsage.rst:2686 msgid "``EF_AMDGPU_MACH_R600_RV670``" msgstr "" -#: ../../../AMDGPUUsage.rst:2482 +#: ../../../AMDGPUUsage.rst:2686 msgid "0x004" msgstr "" -#: ../../../AMDGPUUsage.rst:2483 +#: ../../../AMDGPUUsage.rst:2687 msgid "``EF_AMDGPU_MACH_R600_RV710``" msgstr "" -#: ../../../AMDGPUUsage.rst:2483 +#: ../../../AMDGPUUsage.rst:2687 msgid "0x005" msgstr "" -#: ../../../AMDGPUUsage.rst:2484 +#: ../../../AMDGPUUsage.rst:2688 msgid "``EF_AMDGPU_MACH_R600_RV730``" msgstr "" -#: ../../../AMDGPUUsage.rst:2484 +#: ../../../AMDGPUUsage.rst:2688 msgid "0x006" msgstr "" -#: ../../../AMDGPUUsage.rst:2485 +#: ../../../AMDGPUUsage.rst:2689 msgid "``EF_AMDGPU_MACH_R600_RV770``" msgstr "" -#: ../../../AMDGPUUsage.rst:2485 +#: ../../../AMDGPUUsage.rst:2689 msgid "0x007" msgstr "" -#: ../../../AMDGPUUsage.rst:2486 +#: ../../../AMDGPUUsage.rst:2690 msgid "``EF_AMDGPU_MACH_R600_CEDAR``" msgstr "" -#: ../../../AMDGPUUsage.rst:2486 +#: ../../../AMDGPUUsage.rst:2690 msgid "0x008" msgstr "" -#: ../../../AMDGPUUsage.rst:2487 +#: ../../../AMDGPUUsage.rst:2691 msgid "``EF_AMDGPU_MACH_R600_CYPRESS``" msgstr "" -#: ../../../AMDGPUUsage.rst:2487 +#: ../../../AMDGPUUsage.rst:2691 msgid "0x009" msgstr "" -#: ../../../AMDGPUUsage.rst:2488 +#: ../../../AMDGPUUsage.rst:2692 msgid "``EF_AMDGPU_MACH_R600_JUNIPER``" msgstr "" -#: ../../../AMDGPUUsage.rst:2488 +#: ../../../AMDGPUUsage.rst:2692 msgid "0x00a" msgstr "" -#: ../../../AMDGPUUsage.rst:2489 +#: ../../../AMDGPUUsage.rst:2693 msgid "``EF_AMDGPU_MACH_R600_REDWOOD``" msgstr "" -#: ../../../AMDGPUUsage.rst:2489 +#: ../../../AMDGPUUsage.rst:2693 msgid "0x00b" msgstr "" -#: ../../../AMDGPUUsage.rst:2490 +#: ../../../AMDGPUUsage.rst:2694 msgid "``EF_AMDGPU_MACH_R600_SUMO``" msgstr "" -#: ../../../AMDGPUUsage.rst:2490 +#: ../../../AMDGPUUsage.rst:2694 msgid "0x00c" msgstr "" -#: ../../../AMDGPUUsage.rst:2491 +#: ../../../AMDGPUUsage.rst:2695 msgid "``EF_AMDGPU_MACH_R600_BARTS``" msgstr "" -#: ../../../AMDGPUUsage.rst:2491 +#: ../../../AMDGPUUsage.rst:2695 msgid "0x00d" msgstr "" -#: ../../../AMDGPUUsage.rst:2492 +#: ../../../AMDGPUUsage.rst:2696 msgid "``EF_AMDGPU_MACH_R600_CAICOS``" msgstr "" -#: ../../../AMDGPUUsage.rst:2492 +#: ../../../AMDGPUUsage.rst:2696 msgid "0x00e" msgstr "" -#: ../../../AMDGPUUsage.rst:2493 +#: ../../../AMDGPUUsage.rst:2697 msgid "``EF_AMDGPU_MACH_R600_CAYMAN``" msgstr "" -#: ../../../AMDGPUUsage.rst:2493 +#: ../../../AMDGPUUsage.rst:2697 msgid "0x00f" msgstr "" -#: ../../../AMDGPUUsage.rst:2494 +#: ../../../AMDGPUUsage.rst:2698 msgid "``EF_AMDGPU_MACH_R600_TURKS``" msgstr "" -#: ../../../AMDGPUUsage.rst:2494 +#: ../../../AMDGPUUsage.rst:2698 msgid "0x010" msgstr "" -#: ../../../AMDGPUUsage.rst:2495 ../../../AMDGPUUsage.rst:2504 -#: ../../../AMDGPUUsage.rst:2529 ../../../AMDGPUUsage.rst:2540 -#: ../../../AMDGPUUsage.rst:2542 ../../../AMDGPUUsage.rst:2545 -#: ../../../AMDGPUUsage.rst:2551 ../../../AMDGPUUsage.rst:2552 -#: ../../../AMDGPUUsage.rst:2680 ../../../AMDGPUUsage.rst:2841 -#: ../../../AMDGPUUsage.rst:2978 +#: ../../../AMDGPUUsage.rst:2699 ../../../AMDGPUUsage.rst:2708 +#: ../../../AMDGPUUsage.rst:2733 ../../../AMDGPUUsage.rst:2744 +#: ../../../AMDGPUUsage.rst:2746 ../../../AMDGPUUsage.rst:2755 +#: ../../../AMDGPUUsage.rst:2756 ../../../AMDGPUUsage.rst:2763 +#: ../../../AMDGPUUsage.rst:2764 ../../../AMDGPUUsage.rst:2888 +#: ../../../AMDGPUUsage.rst:3049 ../../../AMDGPUUsage.rst:3186 msgid "*reserved*" msgstr "" -#: ../../../AMDGPUUsage.rst:2495 +#: ../../../AMDGPUUsage.rst:2699 msgid "0x011 - 0x01f" msgstr "" -#: ../../../AMDGPUUsage.rst:2495 +#: ../../../AMDGPUUsage.rst:2699 msgid "Reserved for ``r600`` architecture processors." msgstr "" -#: ../../../AMDGPUUsage.rst:2497 +#: ../../../AMDGPUUsage.rst:2701 msgid "``EF_AMDGPU_MACH_AMDGCN_GFX600``" msgstr "" -#: ../../../AMDGPUUsage.rst:2497 +#: ../../../AMDGPUUsage.rst:2701 msgid "0x020" msgstr "" -#: ../../../AMDGPUUsage.rst:2498 +#: ../../../AMDGPUUsage.rst:2702 msgid "``EF_AMDGPU_MACH_AMDGCN_GFX601``" msgstr "" -#: ../../../AMDGPUUsage.rst:2498 +#: ../../../AMDGPUUsage.rst:2702 msgid "0x021" msgstr "" -#: ../../../AMDGPUUsage.rst:2499 +#: ../../../AMDGPUUsage.rst:2703 msgid "``EF_AMDGPU_MACH_AMDGCN_GFX700``" msgstr "" -#: ../../../AMDGPUUsage.rst:2499 +#: ../../../AMDGPUUsage.rst:2703 msgid "0x022" msgstr "" -#: ../../../AMDGPUUsage.rst:2500 +#: ../../../AMDGPUUsage.rst:2704 msgid "``EF_AMDGPU_MACH_AMDGCN_GFX701``" msgstr "" -#: ../../../AMDGPUUsage.rst:2500 +#: ../../../AMDGPUUsage.rst:2704 msgid "0x023" msgstr "" -#: ../../../AMDGPUUsage.rst:2501 +#: ../../../AMDGPUUsage.rst:2705 msgid "``EF_AMDGPU_MACH_AMDGCN_GFX702``" msgstr "" -#: ../../../AMDGPUUsage.rst:2501 +#: ../../../AMDGPUUsage.rst:2705 msgid "0x024" msgstr "" -#: ../../../AMDGPUUsage.rst:2502 +#: ../../../AMDGPUUsage.rst:2706 msgid "``EF_AMDGPU_MACH_AMDGCN_GFX703``" msgstr "" -#: ../../../AMDGPUUsage.rst:2502 +#: ../../../AMDGPUUsage.rst:2706 msgid "0x025" msgstr "" -#: ../../../AMDGPUUsage.rst:2503 +#: ../../../AMDGPUUsage.rst:2707 msgid "``EF_AMDGPU_MACH_AMDGCN_GFX704``" msgstr "" -#: ../../../AMDGPUUsage.rst:2503 +#: ../../../AMDGPUUsage.rst:2707 msgid "0x026" msgstr "" -#: ../../../AMDGPUUsage.rst:2504 +#: ../../../AMDGPUUsage.rst:2708 msgid "0x027" msgstr "" -#: ../../../AMDGPUUsage.rst:2504 ../../../AMDGPUUsage.rst:2529 -#: ../../../AMDGPUUsage.rst:2540 ../../../AMDGPUUsage.rst:2542 -#: ../../../AMDGPUUsage.rst:2545 ../../../AMDGPUUsage.rst:2551 -#: ../../../AMDGPUUsage.rst:2552 ../../../AMDGPUUsage.rst:18804 -#: ../../../AMDGPUUsage.rst:18805 ../../../AMDGPUUsage.rst:18806 -#: ../../../AMDGPUUsage.rst:18807 ../../../AMDGPUUsage.rst:18808 -#: ../../../AMDGPUUsage.rst:18809 ../../../AMDGPUUsage.rst:18810 -#: ../../../AMDGPUUsage.rst:18846 ../../../AMDGPUUsage.rst:18847 -#: ../../../AMDGPUUsage.rst:18848 ../../../AMDGPUUsage.rst:18849 -#: ../../../AMDGPUUsage.rst:18850 ../../../AMDGPUUsage.rst:18851 -#: ../../../AMDGPUUsage.rst:18852 ../../../AMDGPUUsage.rst:18887 -#: ../../../AMDGPUUsage.rst:18888 ../../../AMDGPUUsage.rst:18889 -#: ../../../AMDGPUUsage.rst:18890 ../../../AMDGPUUsage.rst:18891 -#: ../../../AMDGPUUsage.rst:18892 ../../../AMDGPUUsage.rst:18893 +#: ../../../AMDGPUUsage.rst:2708 ../../../AMDGPUUsage.rst:2733 +#: ../../../AMDGPUUsage.rst:2744 ../../../AMDGPUUsage.rst:2746 +#: ../../../AMDGPUUsage.rst:2755 ../../../AMDGPUUsage.rst:2756 +#: ../../../AMDGPUUsage.rst:2763 ../../../AMDGPUUsage.rst:2764 +#: ../../../AMDGPUUsage.rst:19793 ../../../AMDGPUUsage.rst:19794 +#: ../../../AMDGPUUsage.rst:19795 ../../../AMDGPUUsage.rst:19796 +#: ../../../AMDGPUUsage.rst:19797 ../../../AMDGPUUsage.rst:19798 +#: ../../../AMDGPUUsage.rst:19799 ../../../AMDGPUUsage.rst:19835 +#: ../../../AMDGPUUsage.rst:19836 ../../../AMDGPUUsage.rst:19837 +#: ../../../AMDGPUUsage.rst:19838 ../../../AMDGPUUsage.rst:19839 +#: ../../../AMDGPUUsage.rst:19840 ../../../AMDGPUUsage.rst:19841 +#: ../../../AMDGPUUsage.rst:19876 ../../../AMDGPUUsage.rst:19877 +#: ../../../AMDGPUUsage.rst:19878 ../../../AMDGPUUsage.rst:19879 +#: ../../../AMDGPUUsage.rst:19880 ../../../AMDGPUUsage.rst:19881 +#: ../../../AMDGPUUsage.rst:19882 msgid "Reserved." msgstr "" -#: ../../../AMDGPUUsage.rst:2505 +#: ../../../AMDGPUUsage.rst:2709 msgid "``EF_AMDGPU_MACH_AMDGCN_GFX801``" msgstr "" -#: ../../../AMDGPUUsage.rst:2505 +#: ../../../AMDGPUUsage.rst:2709 msgid "0x028" msgstr "" -#: ../../../AMDGPUUsage.rst:2506 +#: ../../../AMDGPUUsage.rst:2710 msgid "``EF_AMDGPU_MACH_AMDGCN_GFX802``" msgstr "" -#: ../../../AMDGPUUsage.rst:2506 +#: ../../../AMDGPUUsage.rst:2710 msgid "0x029" msgstr "" -#: ../../../AMDGPUUsage.rst:2507 +#: ../../../AMDGPUUsage.rst:2711 msgid "``EF_AMDGPU_MACH_AMDGCN_GFX803``" msgstr "" -#: ../../../AMDGPUUsage.rst:2507 +#: ../../../AMDGPUUsage.rst:2711 msgid "0x02a" msgstr "" -#: ../../../AMDGPUUsage.rst:2508 +#: ../../../AMDGPUUsage.rst:2712 msgid "``EF_AMDGPU_MACH_AMDGCN_GFX810``" msgstr "" -#: ../../../AMDGPUUsage.rst:2508 +#: ../../../AMDGPUUsage.rst:2712 msgid "0x02b" msgstr "" -#: ../../../AMDGPUUsage.rst:2509 +#: ../../../AMDGPUUsage.rst:2713 msgid "``EF_AMDGPU_MACH_AMDGCN_GFX900``" msgstr "" -#: ../../../AMDGPUUsage.rst:2509 +#: ../../../AMDGPUUsage.rst:2713 msgid "0x02c" msgstr "" -#: ../../../AMDGPUUsage.rst:2510 +#: ../../../AMDGPUUsage.rst:2714 msgid "``EF_AMDGPU_MACH_AMDGCN_GFX902``" msgstr "" -#: ../../../AMDGPUUsage.rst:2510 +#: ../../../AMDGPUUsage.rst:2714 msgid "0x02d" msgstr "" -#: ../../../AMDGPUUsage.rst:2511 +#: ../../../AMDGPUUsage.rst:2715 msgid "``EF_AMDGPU_MACH_AMDGCN_GFX904``" msgstr "" -#: ../../../AMDGPUUsage.rst:2511 +#: ../../../AMDGPUUsage.rst:2715 msgid "0x02e" msgstr "" -#: ../../../AMDGPUUsage.rst:2512 +#: ../../../AMDGPUUsage.rst:2716 msgid "``EF_AMDGPU_MACH_AMDGCN_GFX906``" msgstr "" -#: ../../../AMDGPUUsage.rst:2512 +#: ../../../AMDGPUUsage.rst:2716 msgid "0x02f" msgstr "" -#: ../../../AMDGPUUsage.rst:2513 +#: ../../../AMDGPUUsage.rst:2717 msgid "``EF_AMDGPU_MACH_AMDGCN_GFX908``" msgstr "" -#: ../../../AMDGPUUsage.rst:2513 +#: ../../../AMDGPUUsage.rst:2717 msgid "0x030" msgstr "" -#: ../../../AMDGPUUsage.rst:2514 +#: ../../../AMDGPUUsage.rst:2718 msgid "``EF_AMDGPU_MACH_AMDGCN_GFX909``" msgstr "" -#: ../../../AMDGPUUsage.rst:2514 +#: ../../../AMDGPUUsage.rst:2718 msgid "0x031" msgstr "" -#: ../../../AMDGPUUsage.rst:2515 +#: ../../../AMDGPUUsage.rst:2719 msgid "``EF_AMDGPU_MACH_AMDGCN_GFX90C``" msgstr "" -#: ../../../AMDGPUUsage.rst:2515 +#: ../../../AMDGPUUsage.rst:2719 msgid "0x032" msgstr "" -#: ../../../AMDGPUUsage.rst:2516 +#: ../../../AMDGPUUsage.rst:2720 msgid "``EF_AMDGPU_MACH_AMDGCN_GFX1010``" msgstr "" -#: ../../../AMDGPUUsage.rst:2516 +#: ../../../AMDGPUUsage.rst:2720 msgid "0x033" msgstr "" -#: ../../../AMDGPUUsage.rst:2517 +#: ../../../AMDGPUUsage.rst:2721 msgid "``EF_AMDGPU_MACH_AMDGCN_GFX1011``" msgstr "" -#: ../../../AMDGPUUsage.rst:2517 +#: ../../../AMDGPUUsage.rst:2721 msgid "0x034" msgstr "" -#: ../../../AMDGPUUsage.rst:2518 +#: ../../../AMDGPUUsage.rst:2722 msgid "``EF_AMDGPU_MACH_AMDGCN_GFX1012``" msgstr "" -#: ../../../AMDGPUUsage.rst:2518 +#: ../../../AMDGPUUsage.rst:2722 msgid "0x035" msgstr "" -#: ../../../AMDGPUUsage.rst:2519 +#: ../../../AMDGPUUsage.rst:2723 msgid "``EF_AMDGPU_MACH_AMDGCN_GFX1030``" msgstr "" -#: ../../../AMDGPUUsage.rst:2519 +#: ../../../AMDGPUUsage.rst:2723 msgid "0x036" msgstr "" -#: ../../../AMDGPUUsage.rst:2520 +#: ../../../AMDGPUUsage.rst:2724 msgid "``EF_AMDGPU_MACH_AMDGCN_GFX1031``" msgstr "" -#: ../../../AMDGPUUsage.rst:2520 +#: ../../../AMDGPUUsage.rst:2724 msgid "0x037" msgstr "" -#: ../../../AMDGPUUsage.rst:2521 +#: ../../../AMDGPUUsage.rst:2725 msgid "``EF_AMDGPU_MACH_AMDGCN_GFX1032``" msgstr "" -#: ../../../AMDGPUUsage.rst:2521 +#: ../../../AMDGPUUsage.rst:2725 msgid "0x038" msgstr "" -#: ../../../AMDGPUUsage.rst:2522 +#: ../../../AMDGPUUsage.rst:2726 msgid "``EF_AMDGPU_MACH_AMDGCN_GFX1033``" msgstr "" -#: ../../../AMDGPUUsage.rst:2522 +#: ../../../AMDGPUUsage.rst:2726 msgid "0x039" msgstr "" -#: ../../../AMDGPUUsage.rst:2523 +#: ../../../AMDGPUUsage.rst:2727 msgid "``EF_AMDGPU_MACH_AMDGCN_GFX602``" msgstr "" -#: ../../../AMDGPUUsage.rst:2523 +#: ../../../AMDGPUUsage.rst:2727 msgid "0x03a" msgstr "" -#: ../../../AMDGPUUsage.rst:2524 +#: ../../../AMDGPUUsage.rst:2728 msgid "``EF_AMDGPU_MACH_AMDGCN_GFX705``" msgstr "" -#: ../../../AMDGPUUsage.rst:2524 +#: ../../../AMDGPUUsage.rst:2728 msgid "0x03b" msgstr "" -#: ../../../AMDGPUUsage.rst:2525 +#: ../../../AMDGPUUsage.rst:2729 msgid "``EF_AMDGPU_MACH_AMDGCN_GFX805``" msgstr "" -#: ../../../AMDGPUUsage.rst:2525 +#: ../../../AMDGPUUsage.rst:2729 msgid "0x03c" msgstr "" -#: ../../../AMDGPUUsage.rst:2526 +#: ../../../AMDGPUUsage.rst:2730 msgid "``EF_AMDGPU_MACH_AMDGCN_GFX1035``" msgstr "" -#: ../../../AMDGPUUsage.rst:2526 +#: ../../../AMDGPUUsage.rst:2730 msgid "0x03d" msgstr "" -#: ../../../AMDGPUUsage.rst:2527 +#: ../../../AMDGPUUsage.rst:2731 msgid "``EF_AMDGPU_MACH_AMDGCN_GFX1034``" msgstr "" -#: ../../../AMDGPUUsage.rst:2527 +#: ../../../AMDGPUUsage.rst:2731 msgid "0x03e" msgstr "" -#: ../../../AMDGPUUsage.rst:2528 +#: ../../../AMDGPUUsage.rst:2732 msgid "``EF_AMDGPU_MACH_AMDGCN_GFX90A``" msgstr "" -#: ../../../AMDGPUUsage.rst:2528 +#: ../../../AMDGPUUsage.rst:2732 msgid "0x03f" msgstr "" -#: ../../../AMDGPUUsage.rst:2529 +#: ../../../AMDGPUUsage.rst:2733 msgid "0x040" msgstr "" -#: ../../../AMDGPUUsage.rst:2530 +#: ../../../AMDGPUUsage.rst:2734 msgid "``EF_AMDGPU_MACH_AMDGCN_GFX1100``" msgstr "" -#: ../../../AMDGPUUsage.rst:2530 +#: ../../../AMDGPUUsage.rst:2734 msgid "0x041" msgstr "" -#: ../../../AMDGPUUsage.rst:2531 +#: ../../../AMDGPUUsage.rst:2735 msgid "``EF_AMDGPU_MACH_AMDGCN_GFX1013``" msgstr "" -#: ../../../AMDGPUUsage.rst:2531 +#: ../../../AMDGPUUsage.rst:2735 msgid "0x042" msgstr "" -#: ../../../AMDGPUUsage.rst:2532 +#: ../../../AMDGPUUsage.rst:2736 msgid "``EF_AMDGPU_MACH_AMDGCN_GFX1150``" msgstr "" -#: ../../../AMDGPUUsage.rst:2532 +#: ../../../AMDGPUUsage.rst:2736 msgid "0x043" msgstr "" -#: ../../../AMDGPUUsage.rst:2533 +#: ../../../AMDGPUUsage.rst:2737 msgid "``EF_AMDGPU_MACH_AMDGCN_GFX1103``" msgstr "" -#: ../../../AMDGPUUsage.rst:2533 +#: ../../../AMDGPUUsage.rst:2737 msgid "0x044" msgstr "" -#: ../../../AMDGPUUsage.rst:2534 +#: ../../../AMDGPUUsage.rst:2738 msgid "``EF_AMDGPU_MACH_AMDGCN_GFX1036``" msgstr "" -#: ../../../AMDGPUUsage.rst:2534 +#: ../../../AMDGPUUsage.rst:2738 msgid "0x045" msgstr "" -#: ../../../AMDGPUUsage.rst:2535 +#: ../../../AMDGPUUsage.rst:2739 msgid "``EF_AMDGPU_MACH_AMDGCN_GFX1101``" msgstr "" -#: ../../../AMDGPUUsage.rst:2535 +#: ../../../AMDGPUUsage.rst:2739 msgid "0x046" msgstr "" -#: ../../../AMDGPUUsage.rst:2536 +#: ../../../AMDGPUUsage.rst:2740 msgid "``EF_AMDGPU_MACH_AMDGCN_GFX1102``" msgstr "" -#: ../../../AMDGPUUsage.rst:2536 +#: ../../../AMDGPUUsage.rst:2740 msgid "0x047" msgstr "" -#: ../../../AMDGPUUsage.rst:2537 +#: ../../../AMDGPUUsage.rst:2741 msgid "``EF_AMDGPU_MACH_AMDGCN_GFX1200``" msgstr "" -#: ../../../AMDGPUUsage.rst:2537 +#: ../../../AMDGPUUsage.rst:2741 msgid "0x048" msgstr "" -#: ../../../AMDGPUUsage.rst:2538 +#: ../../../AMDGPUUsage.rst:2742 msgid "``EF_AMDGPU_MACH_AMDGCN_GFX1250``" msgstr "" -#: ../../../AMDGPUUsage.rst:2538 +#: ../../../AMDGPUUsage.rst:2742 msgid "0x049" msgstr "" -#: ../../../AMDGPUUsage.rst:2539 +#: ../../../AMDGPUUsage.rst:2743 msgid "``EF_AMDGPU_MACH_AMDGCN_GFX1151``" msgstr "" -#: ../../../AMDGPUUsage.rst:2539 +#: ../../../AMDGPUUsage.rst:2743 msgid "0x04a" msgstr "" -#: ../../../AMDGPUUsage.rst:2540 +#: ../../../AMDGPUUsage.rst:2744 msgid "0x04b" msgstr "" -#: ../../../AMDGPUUsage.rst:2541 +#: ../../../AMDGPUUsage.rst:2745 msgid "``EF_AMDGPU_MACH_AMDGCN_GFX942``" msgstr "" -#: ../../../AMDGPUUsage.rst:2541 +#: ../../../AMDGPUUsage.rst:2745 msgid "0x04c" msgstr "" -#: ../../../AMDGPUUsage.rst:2542 +#: ../../../AMDGPUUsage.rst:2746 msgid "0x04d" msgstr "" -#: ../../../AMDGPUUsage.rst:2543 +#: ../../../AMDGPUUsage.rst:2747 msgid "``EF_AMDGPU_MACH_AMDGCN_GFX1201``" msgstr "" -#: ../../../AMDGPUUsage.rst:2543 +#: ../../../AMDGPUUsage.rst:2747 msgid "0x04e" msgstr "" -#: ../../../AMDGPUUsage.rst:2544 +#: ../../../AMDGPUUsage.rst:2748 msgid "``EF_AMDGPU_MACH_AMDGCN_GFX950``" msgstr "" -#: ../../../AMDGPUUsage.rst:2544 +#: ../../../AMDGPUUsage.rst:2748 msgid "0x04f" msgstr "" -#: ../../../AMDGPUUsage.rst:2545 +#: ../../../AMDGPUUsage.rst:2749 +msgid "``EF_AMDGPU_MACH_AMDGCN_GFX1310``" +msgstr "" + +#: ../../../AMDGPUUsage.rst:2749 msgid "0x050" msgstr "" -#: ../../../AMDGPUUsage.rst:2546 +#: ../../../AMDGPUUsage.rst:2750 msgid "``EF_AMDGPU_MACH_AMDGCN_GFX9_GENERIC``" msgstr "" -#: ../../../AMDGPUUsage.rst:2546 +#: ../../../AMDGPUUsage.rst:2750 msgid "0x051" msgstr "" -#: ../../../AMDGPUUsage.rst:2547 +#: ../../../AMDGPUUsage.rst:2751 msgid "``EF_AMDGPU_MACH_AMDGCN_GFX10_1_GENERIC``" msgstr "" -#: ../../../AMDGPUUsage.rst:2547 +#: ../../../AMDGPUUsage.rst:2751 msgid "0x052" msgstr "" -#: ../../../AMDGPUUsage.rst:2548 +#: ../../../AMDGPUUsage.rst:2752 msgid "``EF_AMDGPU_MACH_AMDGCN_GFX10_3_GENERIC``" msgstr "" -#: ../../../AMDGPUUsage.rst:2548 +#: ../../../AMDGPUUsage.rst:2752 msgid "0x053" msgstr "" -#: ../../../AMDGPUUsage.rst:2549 +#: ../../../AMDGPUUsage.rst:2753 msgid "``EF_AMDGPU_MACH_AMDGCN_GFX11_GENERIC``" msgstr "" -#: ../../../AMDGPUUsage.rst:2549 +#: ../../../AMDGPUUsage.rst:2753 msgid "0x054" msgstr "" -#: ../../../AMDGPUUsage.rst:2550 +#: ../../../AMDGPUUsage.rst:2754 msgid "``EF_AMDGPU_MACH_AMDGCN_GFX1152``" msgstr "" -#: ../../../AMDGPUUsage.rst:2550 +#: ../../../AMDGPUUsage.rst:2754 msgid "0x055" msgstr "" -#: ../../../AMDGPUUsage.rst:2550 +#: ../../../AMDGPUUsage.rst:2754 msgid "``gfx1152``." msgstr "" -#: ../../../AMDGPUUsage.rst:2551 +#: ../../../AMDGPUUsage.rst:2755 msgid "0x056" msgstr "" -#: ../../../AMDGPUUsage.rst:2552 +#: ../../../AMDGPUUsage.rst:2756 msgid "0x057" msgstr "" -#: ../../../AMDGPUUsage.rst:2553 +#: ../../../AMDGPUUsage.rst:2757 msgid "``EF_AMDGPU_MACH_AMDGCN_GFX1153``" msgstr "" -#: ../../../AMDGPUUsage.rst:2553 +#: ../../../AMDGPUUsage.rst:2757 msgid "0x058" msgstr "" -#: ../../../AMDGPUUsage.rst:2553 +#: ../../../AMDGPUUsage.rst:2757 msgid "``gfx1153``." msgstr "" -#: ../../../AMDGPUUsage.rst:2554 +#: ../../../AMDGPUUsage.rst:2758 msgid "``EF_AMDGPU_MACH_AMDGCN_GFX12_GENERIC``" msgstr "" -#: ../../../AMDGPUUsage.rst:2554 +#: ../../../AMDGPUUsage.rst:2758 msgid "0x059" msgstr "" -#: ../../../AMDGPUUsage.rst:2555 +#: ../../../AMDGPUUsage.rst:2759 msgid "``EF_AMDGPU_MACH_AMDGCN_GFX1251``" msgstr "" -#: ../../../AMDGPUUsage.rst:2555 +#: ../../../AMDGPUUsage.rst:2759 msgid "0x05a" msgstr "" -#: ../../../AMDGPUUsage.rst:2556 +#: ../../../AMDGPUUsage.rst:2760 +msgid "``EF_AMDGPU_MACH_AMDGCN_GFX12_5_GENERIC``" +msgstr "" + +#: ../../../AMDGPUUsage.rst:2760 +msgid "0x05b" +msgstr "" + +#: ../../../AMDGPUUsage.rst:2761 +msgid "``EF_AMDGPU_MACH_AMDGCN_GFX1170``" +msgstr "" + +#: ../../../AMDGPUUsage.rst:2761 +msgid "0x05d" +msgstr "" + +#: ../../../AMDGPUUsage.rst:2762 msgid "``EF_AMDGPU_MACH_AMDGCN_GFX9_4_GENERIC``" msgstr "" -#: ../../../AMDGPUUsage.rst:2556 +#: ../../../AMDGPUUsage.rst:2762 msgid "0x05f" msgstr "" -#: ../../../AMDGPUUsage.rst:2560 +#: ../../../AMDGPUUsage.rst:2763 +msgid "0x060" +msgstr "" + +#: ../../../AMDGPUUsage.rst:2764 +msgid "0x070" +msgstr "" + +#: ../../../AMDGPUUsage.rst:2768 msgid "Sections" msgstr "" -#: ../../../AMDGPUUsage.rst:2562 +#: ../../../AMDGPUUsage.rst:2770 msgid "" "An AMDGPU target ELF code object has the standard ELF sections which include:" msgstr "" -#: ../../../AMDGPUUsage.rst:2564 +#: ../../../AMDGPUUsage.rst:2772 msgid "AMDGPU ELF Sections" msgstr "" -#: ../../../AMDGPUUsage.rst:2568 +#: ../../../AMDGPUUsage.rst:2776 msgid "Attributes" msgstr "" -#: ../../../AMDGPUUsage.rst:2570 ../../../AMDGPUUsage.rst:2869 +#: ../../../AMDGPUUsage.rst:2778 ../../../AMDGPUUsage.rst:3077 msgid "``.bss``" msgstr "" -#: ../../../AMDGPUUsage.rst:2570 +#: ../../../AMDGPUUsage.rst:2778 msgid "``SHT_NOBITS``" msgstr "" -#: ../../../AMDGPUUsage.rst:2570 ../../../AMDGPUUsage.rst:2571 -#: ../../../AMDGPUUsage.rst:2576 +#: ../../../AMDGPUUsage.rst:2778 ../../../AMDGPUUsage.rst:2779 +#: ../../../AMDGPUUsage.rst:2784 msgid "``SHF_ALLOC`` + ``SHF_WRITE``" msgstr "" -#: ../../../AMDGPUUsage.rst:2571 ../../../AMDGPUUsage.rst:2867 +#: ../../../AMDGPUUsage.rst:2779 ../../../AMDGPUUsage.rst:3075 msgid "``.data``" msgstr "" -#: ../../../AMDGPUUsage.rst:2571 ../../../AMDGPUUsage.rst:2572 -#: ../../../AMDGPUUsage.rst:2574 ../../../AMDGPUUsage.rst:2575 -#: ../../../AMDGPUUsage.rst:2576 ../../../AMDGPUUsage.rst:2581 -#: ../../../AMDGPUUsage.rst:2585 +#: ../../../AMDGPUUsage.rst:2779 ../../../AMDGPUUsage.rst:2780 +#: ../../../AMDGPUUsage.rst:2782 ../../../AMDGPUUsage.rst:2783 +#: ../../../AMDGPUUsage.rst:2784 ../../../AMDGPUUsage.rst:2789 +#: ../../../AMDGPUUsage.rst:2793 msgid "``SHT_PROGBITS``" msgstr "" -#: ../../../AMDGPUUsage.rst:2572 +#: ../../../AMDGPUUsage.rst:2780 msgid "``.debug_``\\ *\\**" msgstr "" -#: ../../../AMDGPUUsage.rst:2573 +#: ../../../AMDGPUUsage.rst:2781 msgid "``.dynamic``" msgstr "" -#: ../../../AMDGPUUsage.rst:2573 +#: ../../../AMDGPUUsage.rst:2781 msgid "``SHT_DYNAMIC``" msgstr "" -#: ../../../AMDGPUUsage.rst:2573 ../../../AMDGPUUsage.rst:2574 -#: ../../../AMDGPUUsage.rst:2575 ../../../AMDGPUUsage.rst:2577 -#: ../../../AMDGPUUsage.rst:2581 +#: ../../../AMDGPUUsage.rst:2781 ../../../AMDGPUUsage.rst:2782 +#: ../../../AMDGPUUsage.rst:2783 ../../../AMDGPUUsage.rst:2785 +#: ../../../AMDGPUUsage.rst:2789 msgid "``SHF_ALLOC``" msgstr "" -#: ../../../AMDGPUUsage.rst:2574 +#: ../../../AMDGPUUsage.rst:2782 msgid "``.dynstr``" msgstr "" -#: ../../../AMDGPUUsage.rst:2575 +#: ../../../AMDGPUUsage.rst:2783 msgid "``.dynsym``" msgstr "" -#: ../../../AMDGPUUsage.rst:2576 +#: ../../../AMDGPUUsage.rst:2784 msgid "``.got``" msgstr "" -#: ../../../AMDGPUUsage.rst:2577 +#: ../../../AMDGPUUsage.rst:2785 msgid "``.hash``" msgstr "" -#: ../../../AMDGPUUsage.rst:2577 +#: ../../../AMDGPUUsage.rst:2785 msgid "``SHT_HASH``" msgstr "" -#: ../../../AMDGPUUsage.rst:2578 ../../../AMDGPUUsage.rst:2600 +#: ../../../AMDGPUUsage.rst:2786 ../../../AMDGPUUsage.rst:2808 msgid "``.note``" msgstr "" -#: ../../../AMDGPUUsage.rst:2578 +#: ../../../AMDGPUUsage.rst:2786 msgid "``SHT_NOTE``" msgstr "" -#: ../../../AMDGPUUsage.rst:2579 +#: ../../../AMDGPUUsage.rst:2787 msgid "``.rela``\\ *name*" msgstr "" -#: ../../../AMDGPUUsage.rst:2579 ../../../AMDGPUUsage.rst:2580 +#: ../../../AMDGPUUsage.rst:2787 ../../../AMDGPUUsage.rst:2788 msgid "``SHT_RELA``" msgstr "" -#: ../../../AMDGPUUsage.rst:2580 +#: ../../../AMDGPUUsage.rst:2788 msgid "``.rela.dyn``" msgstr "" -#: ../../../AMDGPUUsage.rst:2581 ../../../AMDGPUUsage.rst:2868 -#: ../../../AMDGPUUsage.rst:2870 +#: ../../../AMDGPUUsage.rst:2789 ../../../AMDGPUUsage.rst:3076 +#: ../../../AMDGPUUsage.rst:3078 msgid "``.rodata``" msgstr "" -#: ../../../AMDGPUUsage.rst:2582 +#: ../../../AMDGPUUsage.rst:2790 msgid "``.shstrtab``" msgstr "" -#: ../../../AMDGPUUsage.rst:2582 ../../../AMDGPUUsage.rst:2583 +#: ../../../AMDGPUUsage.rst:2790 ../../../AMDGPUUsage.rst:2791 msgid "``SHT_STRTAB``" msgstr "" -#: ../../../AMDGPUUsage.rst:2583 +#: ../../../AMDGPUUsage.rst:2791 msgid "``.strtab``" msgstr "" -#: ../../../AMDGPUUsage.rst:2584 +#: ../../../AMDGPUUsage.rst:2792 msgid "``.symtab``" msgstr "" -#: ../../../AMDGPUUsage.rst:2584 +#: ../../../AMDGPUUsage.rst:2792 msgid "``SHT_SYMTAB``" msgstr "" -#: ../../../AMDGPUUsage.rst:2585 ../../../AMDGPUUsage.rst:2616 -#: ../../../AMDGPUUsage.rst:2871 +#: ../../../AMDGPUUsage.rst:2793 ../../../AMDGPUUsage.rst:2824 +#: ../../../AMDGPUUsage.rst:3079 msgid "``.text``" msgstr "" -#: ../../../AMDGPUUsage.rst:2585 +#: ../../../AMDGPUUsage.rst:2793 msgid "``SHF_ALLOC`` + ``SHF_EXECINSTR``" msgstr "" -#: ../../../AMDGPUUsage.rst:2588 +#: ../../../AMDGPUUsage.rst:2796 msgid "" "These sections have their standard meanings (see [ELF]_) and are only " "generated if needed." msgstr "" -#: ../../../AMDGPUUsage.rst:2593 +#: ../../../AMDGPUUsage.rst:2801 msgid "``.debug``\\ *\\**" msgstr "" -#: ../../../AMDGPUUsage.rst:2592 +#: ../../../AMDGPUUsage.rst:2800 msgid "" "The standard DWARF sections. See :ref:`amdgpu-dwarf-debug-information` for " "information on the DWARF produced by the AMDGPU backend." msgstr "" -#: ../../../AMDGPUUsage.rst:2596 +#: ../../../AMDGPUUsage.rst:2804 msgid "``.dynamic``, ``.dynstr``, ``.dynsym``, ``.hash``" msgstr "" -#: ../../../AMDGPUUsage.rst:2596 +#: ../../../AMDGPUUsage.rst:2804 msgid "The standard sections used by a dynamic loader." msgstr "" -#: ../../../AMDGPUUsage.rst:2599 +#: ../../../AMDGPUUsage.rst:2807 msgid "" "See :ref:`amdgpu-note-records` for the note records supported by the AMDGPU " "backend." msgstr "" -#: ../../../AMDGPUUsage.rst:2611 +#: ../../../AMDGPUUsage.rst:2819 msgid "``.rela``\\ *name*, ``.rela.dyn``" msgstr "" -#: ../../../AMDGPUUsage.rst:2603 +#: ../../../AMDGPUUsage.rst:2811 msgid "" "For relocatable code objects, *name* is the name of the section that the " "relocation records apply. For example, ``.rela.text`` is the section name " "for relocation records associated with the ``.text`` section." msgstr "" -#: ../../../AMDGPUUsage.rst:2607 +#: ../../../AMDGPUUsage.rst:2815 msgid "" "For linked shared code objects, ``.rela.dyn`` contains all the relocation " "records from each of the relocatable code object's ``.rela``\\ *name* " "sections." msgstr "" -#: ../../../AMDGPUUsage.rst:2610 +#: ../../../AMDGPUUsage.rst:2818 msgid "" "See :ref:`amdgpu-relocation-records` for the relocation records supported by " "the AMDGPU backend." msgstr "" -#: ../../../AMDGPUUsage.rst:2614 +#: ../../../AMDGPUUsage.rst:2822 msgid "" "The executable machine code for the kernels and functions they call. " "Generated as position independent code. See :ref:`amdgpu-code-conventions` " "for information on conventions used in the isa generation." msgstr "" -#: ../../../AMDGPUUsage.rst:2619 +#: ../../../AMDGPUUsage.rst:2827 msgid "``.amdgpu.kernel.runtime.handle``" msgstr "" -#: ../../../AMDGPUUsage.rst:2619 +#: ../../../AMDGPUUsage.rst:2827 msgid "Symbols used for device enqueue." msgstr "" -#: ../../../AMDGPUUsage.rst:2624 +#: ../../../AMDGPUUsage.rst:2832 msgid "Note Records" msgstr "" -#: ../../../AMDGPUUsage.rst:2626 +#: ../../../AMDGPUUsage.rst:2834 msgid "" "The AMDGPU backend code object contains ELF note records in the ``.note`` " "section. The set of generated notes and their semantics depend on the code " @@ -6460,7 +6848,7 @@ msgid "" "records-v3-onwards`." msgstr "" -#: ../../../AMDGPUUsage.rst:2631 +#: ../../../AMDGPUUsage.rst:2839 msgid "" "As required by ``ELFCLASS32`` and ``ELFCLASS64``, minimal zero-byte padding " "must be generated after the ``name`` field to ensure the ``desc`` field is 4 " @@ -6470,137 +6858,137 @@ msgid "" "indicate at least 8 byte alignment." msgstr "" -#: ../../../AMDGPUUsage.rst:2641 +#: ../../../AMDGPUUsage.rst:2849 msgid "Code Object V2 Note Records" msgstr "" -#: ../../../AMDGPUUsage.rst:2644 ../../../AMDGPUUsage.rst:3953 -#: ../../../AMDGPUUsage.rst:20169 ../../../AMDGPUUsage.rst:20224 -#: ../../../AMDGPUUsage.rst:20299 +#: ../../../AMDGPUUsage.rst:2852 ../../../AMDGPUUsage.rst:4161 +#: ../../../AMDGPUUsage.rst:21158 ../../../AMDGPUUsage.rst:21213 +#: ../../../AMDGPUUsage.rst:21288 msgid "" "Code object V2 generation is no longer supported by this version of LLVM." msgstr "" -#: ../../../AMDGPUUsage.rst:2646 +#: ../../../AMDGPUUsage.rst:2854 msgid "" "The AMDGPU backend code object uses the following ELF note record in the ``." "note`` section when compiling for code object V2." msgstr "" -#: ../../../AMDGPUUsage.rst:2649 +#: ../../../AMDGPUUsage.rst:2857 msgid "The note record vendor field is \"AMD\"." msgstr "" -#: ../../../AMDGPUUsage.rst:2651 ../../../AMDGPUUsage.rst:2817 +#: ../../../AMDGPUUsage.rst:2859 ../../../AMDGPUUsage.rst:3025 msgid "" "Additional note records may be present, but any which are not documented " "here are deprecated and should not be used." msgstr "" -#: ../../../AMDGPUUsage.rst:2654 +#: ../../../AMDGPUUsage.rst:2862 msgid "AMDGPU Code Object V2 ELF Note Records" msgstr "" -#: ../../../AMDGPUUsage.rst:2660 ../../../AMDGPUUsage.rst:2661 -#: ../../../AMDGPUUsage.rst:2663 ../../../AMDGPUUsage.rst:2664 -#: ../../../AMDGPUUsage.rst:2666 +#: ../../../AMDGPUUsage.rst:2868 ../../../AMDGPUUsage.rst:2869 +#: ../../../AMDGPUUsage.rst:2871 ../../../AMDGPUUsage.rst:2872 +#: ../../../AMDGPUUsage.rst:2874 msgid "\"AMD\"" msgstr "" -#: ../../../AMDGPUUsage.rst:2660 ../../../AMDGPUUsage.rst:2677 -#: ../../../AMDGPUUsage.rst:2696 +#: ../../../AMDGPUUsage.rst:2868 ../../../AMDGPUUsage.rst:2885 +#: ../../../AMDGPUUsage.rst:2904 msgid "``NT_AMD_HSA_CODE_OBJECT_VERSION``" msgstr "" -#: ../../../AMDGPUUsage.rst:2660 +#: ../../../AMDGPUUsage.rst:2868 msgid "Code object version." msgstr "" -#: ../../../AMDGPUUsage.rst:2661 ../../../AMDGPUUsage.rst:2678 -#: ../../../AMDGPUUsage.rst:2710 +#: ../../../AMDGPUUsage.rst:2869 ../../../AMDGPUUsage.rst:2886 +#: ../../../AMDGPUUsage.rst:2918 msgid "``NT_AMD_HSA_HSAIL``" msgstr "" -#: ../../../AMDGPUUsage.rst:2661 +#: ../../../AMDGPUUsage.rst:2869 msgid "" "HSAIL properties generated by the HSAIL Finalizer and not the LLVM compiler." msgstr "" -#: ../../../AMDGPUUsage.rst:2663 ../../../AMDGPUUsage.rst:2679 -#: ../../../AMDGPUUsage.rst:2751 +#: ../../../AMDGPUUsage.rst:2871 ../../../AMDGPUUsage.rst:2887 +#: ../../../AMDGPUUsage.rst:2959 msgid "``NT_AMD_HSA_ISA_VERSION``" msgstr "" -#: ../../../AMDGPUUsage.rst:2663 +#: ../../../AMDGPUUsage.rst:2871 msgid "Target ISA version." msgstr "" -#: ../../../AMDGPUUsage.rst:2664 ../../../AMDGPUUsage.rst:2681 -#: ../../../AMDGPUUsage.rst:2805 +#: ../../../AMDGPUUsage.rst:2872 ../../../AMDGPUUsage.rst:2889 +#: ../../../AMDGPUUsage.rst:3013 msgid "``NT_AMD_HSA_METADATA``" msgstr "" -#: ../../../AMDGPUUsage.rst:2664 +#: ../../../AMDGPUUsage.rst:2872 msgid "Metadata null terminated string in YAML [YAML]_ textual format." msgstr "" -#: ../../../AMDGPUUsage.rst:2666 ../../../AMDGPUUsage.rst:2682 -#: ../../../AMDGPUUsage.rst:2765 +#: ../../../AMDGPUUsage.rst:2874 ../../../AMDGPUUsage.rst:2890 +#: ../../../AMDGPUUsage.rst:2973 msgid "``NT_AMD_HSA_ISA_NAME``" msgstr "" -#: ../../../AMDGPUUsage.rst:2666 +#: ../../../AMDGPUUsage.rst:2874 msgid "Target ISA name." msgstr "" -#: ../../../AMDGPUUsage.rst:2671 +#: ../../../AMDGPUUsage.rst:2879 msgid "AMDGPU Code Object V2 ELF Note Record Enumeration Values" msgstr "" -#: ../../../AMDGPUUsage.rst:2680 +#: ../../../AMDGPUUsage.rst:2888 msgid "4-9" msgstr "" -#: ../../../AMDGPUUsage.rst:2686 +#: ../../../AMDGPUUsage.rst:2894 msgid "" "Specifies the code object version number. The description field has the " "following layout:" msgstr "" -#: ../../../AMDGPUUsage.rst:2696 +#: ../../../AMDGPUUsage.rst:2904 msgid "The ``major_version`` has a value less than or equal to 2." msgstr "" -#: ../../../AMDGPUUsage.rst:2699 +#: ../../../AMDGPUUsage.rst:2907 msgid "" "Specifies the HSAIL properties used by the HSAIL Finalizer. The description " "field has the following layout:" msgstr "" -#: ../../../AMDGPUUsage.rst:2713 +#: ../../../AMDGPUUsage.rst:2921 msgid "" "Specifies the target ISA version. The description field has the following " "layout:" msgstr "" -#: ../../../AMDGPUUsage.rst:2726 +#: ../../../AMDGPUUsage.rst:2934 msgid "" "``vendor_name_size`` and ``architecture_name_size`` are the length of the " "vendor and architecture names respectively, including the NUL character." msgstr "" -#: ../../../AMDGPUUsage.rst:2729 +#: ../../../AMDGPUUsage.rst:2937 msgid "" "``vendor_and_architecture_name`` contains the NUL terminated string for the " "vendor, immediately followed by the NUL terminated string for the " "architecture." msgstr "" -#: ../../../AMDGPUUsage.rst:2733 +#: ../../../AMDGPUUsage.rst:2941 msgid "This note record is used by the HSA runtime loader." msgstr "" -#: ../../../AMDGPUUsage.rst:2735 +#: ../../../AMDGPUUsage.rst:2943 msgid "" "Code object V2 only supports a limited number of processors and has fixed " "settings for target features. See :ref:`amdgpu-elf-note-record-" @@ -6610,14 +6998,14 @@ msgid "" "stepping separated by a \":\"." msgstr "" -#: ../../../AMDGPUUsage.rst:2742 +#: ../../../AMDGPUUsage.rst:2950 msgid "" "The target ID column shows the processor name and fixed target features used " "by the LLVM compiler. The LLVM compiler does not generate a " "``NT_AMD_HSA_HSAIL`` note record." msgstr "" -#: ../../../AMDGPUUsage.rst:2746 +#: ../../../AMDGPUUsage.rst:2954 msgid "" "A code object generated by the Finalizer also uses code object V2 and always " "generates a ``NT_AMD_HSA_HSAIL`` note record. The processor name and " @@ -6626,22 +7014,22 @@ msgid "" "by the ``EF_AMDGPU_FEATURE_XNACK_V2`` ``e_flags`` bit." msgstr "" -#: ../../../AMDGPUUsage.rst:2754 +#: ../../../AMDGPUUsage.rst:2962 msgid "Specifies the target ISA name as a non-NUL terminated string." msgstr "" -#: ../../../AMDGPUUsage.rst:2756 +#: ../../../AMDGPUUsage.rst:2964 msgid "This note record is not used by the HSA runtime loader." msgstr "" -#: ../../../AMDGPUUsage.rst:2758 +#: ../../../AMDGPUUsage.rst:2966 msgid "" "See the ``NT_AMD_HSA_ISA_VERSION`` note record description of the code " "object V2's limited support of processors and fixed settings for target " "features." msgstr "" -#: ../../../AMDGPUUsage.rst:2761 +#: ../../../AMDGPUUsage.rst:2969 msgid "" "See :ref:`amdgpu-elf-note-record-supported_processors-v2-table` for a " "mapping from the string to the corresponding target ID. If the ``xnack`` " @@ -6651,7 +7039,7 @@ msgid "" "bit." msgstr "" -#: ../../../AMDGPUUsage.rst:2768 +#: ../../../AMDGPUUsage.rst:2976 msgid "" "Specifies extensible metadata associated with the code objects executed on " "HSA [HSA]_ compatible runtimes (see :ref:`amdgpu-os`). It is required when " @@ -6660,213 +7048,213 @@ msgid "" "object metadata string." msgstr "" -#: ../../../AMDGPUUsage.rst:2774 +#: ../../../AMDGPUUsage.rst:2982 msgid "" "AMDGPU Code Object V2 Supported Processors and Fixed Target Feature Settings" msgstr "" -#: ../../../AMDGPUUsage.rst:2778 +#: ../../../AMDGPUUsage.rst:2986 msgid "Note Record ISA Name" msgstr "" -#: ../../../AMDGPUUsage.rst:2780 +#: ../../../AMDGPUUsage.rst:2988 msgid "``AMD:AMDGPU:6:0:0``" msgstr "" -#: ../../../AMDGPUUsage.rst:2781 +#: ../../../AMDGPUUsage.rst:2989 msgid "``AMD:AMDGPU:6:0:1``" msgstr "" -#: ../../../AMDGPUUsage.rst:2782 +#: ../../../AMDGPUUsage.rst:2990 msgid "``AMD:AMDGPU:6:0:2``" msgstr "" -#: ../../../AMDGPUUsage.rst:2783 +#: ../../../AMDGPUUsage.rst:2991 msgid "``AMD:AMDGPU:7:0:0``" msgstr "" -#: ../../../AMDGPUUsage.rst:2784 +#: ../../../AMDGPUUsage.rst:2992 msgid "``AMD:AMDGPU:7:0:1``" msgstr "" -#: ../../../AMDGPUUsage.rst:2785 +#: ../../../AMDGPUUsage.rst:2993 msgid "``AMD:AMDGPU:7:0:2``" msgstr "" -#: ../../../AMDGPUUsage.rst:2786 +#: ../../../AMDGPUUsage.rst:2994 msgid "``AMD:AMDGPU:7:0:3``" msgstr "" -#: ../../../AMDGPUUsage.rst:2787 +#: ../../../AMDGPUUsage.rst:2995 msgid "``AMD:AMDGPU:7:0:4``" msgstr "" -#: ../../../AMDGPUUsage.rst:2788 +#: ../../../AMDGPUUsage.rst:2996 msgid "``AMD:AMDGPU:7:0:5``" msgstr "" -#: ../../../AMDGPUUsage.rst:2789 +#: ../../../AMDGPUUsage.rst:2997 msgid "``AMD:AMDGPU:8:0:0``" msgstr "" -#: ../../../AMDGPUUsage.rst:2790 +#: ../../../AMDGPUUsage.rst:2998 msgid "``AMD:AMDGPU:8:0:1``" msgstr "" -#: ../../../AMDGPUUsage.rst:2790 +#: ../../../AMDGPUUsage.rst:2998 msgid "``gfx801:xnack+``" msgstr "" -#: ../../../AMDGPUUsage.rst:2791 +#: ../../../AMDGPUUsage.rst:2999 msgid "``AMD:AMDGPU:8:0:2``" msgstr "" -#: ../../../AMDGPUUsage.rst:2792 +#: ../../../AMDGPUUsage.rst:3000 msgid "``AMD:AMDGPU:8:0:3``" msgstr "" -#: ../../../AMDGPUUsage.rst:2793 +#: ../../../AMDGPUUsage.rst:3001 msgid "``AMD:AMDGPU:8:0:4``" msgstr "" -#: ../../../AMDGPUUsage.rst:2794 +#: ../../../AMDGPUUsage.rst:3002 msgid "``AMD:AMDGPU:8:0:5``" msgstr "" -#: ../../../AMDGPUUsage.rst:2795 +#: ../../../AMDGPUUsage.rst:3003 msgid "``AMD:AMDGPU:8:1:0``" msgstr "" -#: ../../../AMDGPUUsage.rst:2795 +#: ../../../AMDGPUUsage.rst:3003 msgid "``gfx810:xnack+``" msgstr "" -#: ../../../AMDGPUUsage.rst:2796 +#: ../../../AMDGPUUsage.rst:3004 msgid "``AMD:AMDGPU:9:0:0``" msgstr "" -#: ../../../AMDGPUUsage.rst:2796 +#: ../../../AMDGPUUsage.rst:3004 msgid "``gfx900:xnack-``" msgstr "" -#: ../../../AMDGPUUsage.rst:2797 +#: ../../../AMDGPUUsage.rst:3005 msgid "``AMD:AMDGPU:9:0:1``" msgstr "" -#: ../../../AMDGPUUsage.rst:2797 +#: ../../../AMDGPUUsage.rst:3005 msgid "``gfx900:xnack+``" msgstr "" -#: ../../../AMDGPUUsage.rst:2798 +#: ../../../AMDGPUUsage.rst:3006 msgid "``AMD:AMDGPU:9:0:2``" msgstr "" -#: ../../../AMDGPUUsage.rst:2798 +#: ../../../AMDGPUUsage.rst:3006 msgid "``gfx902:xnack-``" msgstr "" -#: ../../../AMDGPUUsage.rst:2799 +#: ../../../AMDGPUUsage.rst:3007 msgid "``AMD:AMDGPU:9:0:3``" msgstr "" -#: ../../../AMDGPUUsage.rst:2799 +#: ../../../AMDGPUUsage.rst:3007 msgid "``gfx902:xnack+``" msgstr "" -#: ../../../AMDGPUUsage.rst:2800 +#: ../../../AMDGPUUsage.rst:3008 msgid "``AMD:AMDGPU:9:0:4``" msgstr "" -#: ../../../AMDGPUUsage.rst:2800 +#: ../../../AMDGPUUsage.rst:3008 msgid "``gfx904:xnack-``" msgstr "" -#: ../../../AMDGPUUsage.rst:2801 +#: ../../../AMDGPUUsage.rst:3009 msgid "``AMD:AMDGPU:9:0:5``" msgstr "" -#: ../../../AMDGPUUsage.rst:2801 +#: ../../../AMDGPUUsage.rst:3009 msgid "``gfx904:xnack+``" msgstr "" -#: ../../../AMDGPUUsage.rst:2802 +#: ../../../AMDGPUUsage.rst:3010 msgid "``AMD:AMDGPU:9:0:6``" msgstr "" -#: ../../../AMDGPUUsage.rst:2802 +#: ../../../AMDGPUUsage.rst:3010 msgid "``gfx906:sramecc-:xnack-``" msgstr "" -#: ../../../AMDGPUUsage.rst:2803 +#: ../../../AMDGPUUsage.rst:3011 msgid "``AMD:AMDGPU:9:0:7``" msgstr "" -#: ../../../AMDGPUUsage.rst:2803 +#: ../../../AMDGPUUsage.rst:3011 msgid "``gfx906:sramecc-:xnack+``" msgstr "" -#: ../../../AMDGPUUsage.rst:2804 +#: ../../../AMDGPUUsage.rst:3012 msgid "``AMD:AMDGPU:9:0:12``" msgstr "" -#: ../../../AMDGPUUsage.rst:2804 +#: ../../../AMDGPUUsage.rst:3012 msgid "``gfx90c:xnack-``" msgstr "" -#: ../../../AMDGPUUsage.rst:2810 +#: ../../../AMDGPUUsage.rst:3018 msgid "Code Object V3 and Above Note Records" msgstr "" -#: ../../../AMDGPUUsage.rst:2812 +#: ../../../AMDGPUUsage.rst:3020 msgid "" "The AMDGPU backend code object uses the following ELF note record in the ``." "note`` section when compiling for code object V3 and above." msgstr "" -#: ../../../AMDGPUUsage.rst:2815 +#: ../../../AMDGPUUsage.rst:3023 msgid "The note record vendor field is \"AMDGPU\"." msgstr "" -#: ../../../AMDGPUUsage.rst:2820 +#: ../../../AMDGPUUsage.rst:3028 msgid "AMDGPU Code Object V3 and Above ELF Note Records" msgstr "" -#: ../../../AMDGPUUsage.rst:2826 ../../../AMDGPUUsage.rst:2828 +#: ../../../AMDGPUUsage.rst:3034 ../../../AMDGPUUsage.rst:3036 msgid "\"AMDGPU\"" msgstr "" -#: ../../../AMDGPUUsage.rst:2826 ../../../AMDGPUUsage.rst:2842 -#: ../../../AMDGPUUsage.rst:2852 +#: ../../../AMDGPUUsage.rst:3034 ../../../AMDGPUUsage.rst:3050 +#: ../../../AMDGPUUsage.rst:3060 msgid "``NT_AMDGPU_METADATA``" msgstr "" -#: ../../../AMDGPUUsage.rst:2826 +#: ../../../AMDGPUUsage.rst:3034 msgid "Metadata in Message Pack [MsgPack]_ binary format." msgstr "" -#: ../../../AMDGPUUsage.rst:2828 ../../../AMDGPUUsage.rst:2843 +#: ../../../AMDGPUUsage.rst:3036 ../../../AMDGPUUsage.rst:3051 msgid "``NT_AMDGPU_KFD_CORE_STATE``" msgstr "" -#: ../../../AMDGPUUsage.rst:2828 +#: ../../../AMDGPUUsage.rst:3036 msgid "" "Snapshot of runtime, agent and queues state for use in core dump. See :ref:" "`amdgpu_corefile_note`." msgstr "" -#: ../../../AMDGPUUsage.rst:2835 +#: ../../../AMDGPUUsage.rst:3043 msgid "AMDGPU Code Object V3 and Above ELF Note Record Enumeration Values" msgstr "" -#: ../../../AMDGPUUsage.rst:2841 +#: ../../../AMDGPUUsage.rst:3049 msgid "0-31" msgstr "" -#: ../../../AMDGPUUsage.rst:2843 +#: ../../../AMDGPUUsage.rst:3051 msgid "33" msgstr "" -#: ../../../AMDGPUUsage.rst:2847 +#: ../../../AMDGPUUsage.rst:3055 msgid "" "Specifies extensible metadata associated with an AMDGPU code object. It is " "encoded as a map in the Message Pack [MsgPack]_ binary data format. See :ref:" @@ -6875,78 +7263,78 @@ msgid "" "keys defined for the ``amdhsa`` OS." msgstr "" -#: ../../../AMDGPUUsage.rst:2857 +#: ../../../AMDGPUUsage.rst:3065 msgid "Symbols" msgstr "" -#: ../../../AMDGPUUsage.rst:2859 +#: ../../../AMDGPUUsage.rst:3067 msgid "Symbols include the following:" msgstr "" -#: ../../../AMDGPUUsage.rst:2861 +#: ../../../AMDGPUUsage.rst:3069 msgid "AMDGPU ELF Symbols" msgstr "" -#: ../../../AMDGPUUsage.rst:2865 +#: ../../../AMDGPUUsage.rst:3073 msgid "Section" msgstr "" -#: ../../../AMDGPUUsage.rst:2867 ../../../AMDGPUUsage.rst:2871 -#: ../../../AMDGPUUsage.rst:2872 +#: ../../../AMDGPUUsage.rst:3075 ../../../AMDGPUUsage.rst:3079 +#: ../../../AMDGPUUsage.rst:3080 msgid "*link-name*" msgstr "" -#: ../../../AMDGPUUsage.rst:2867 ../../../AMDGPUUsage.rst:2870 -#: ../../../AMDGPUUsage.rst:2872 +#: ../../../AMDGPUUsage.rst:3075 ../../../AMDGPUUsage.rst:3078 +#: ../../../AMDGPUUsage.rst:3080 msgid "``STT_OBJECT``" msgstr "" -#: ../../../AMDGPUUsage.rst:2867 ../../../AMDGPUUsage.rst:2893 +#: ../../../AMDGPUUsage.rst:3075 ../../../AMDGPUUsage.rst:3101 msgid "Global variable" msgstr "" -#: ../../../AMDGPUUsage.rst:2870 +#: ../../../AMDGPUUsage.rst:3078 msgid "*link-name*\\ ``.kd``" msgstr "" -#: ../../../AMDGPUUsage.rst:2870 ../../../AMDGPUUsage.rst:2899 +#: ../../../AMDGPUUsage.rst:3078 ../../../AMDGPUUsage.rst:3107 msgid "Kernel descriptor" msgstr "" -#: ../../../AMDGPUUsage.rst:2871 +#: ../../../AMDGPUUsage.rst:3079 msgid "``STT_FUNC``" msgstr "" -#: ../../../AMDGPUUsage.rst:2871 ../../../AMDGPUUsage.rst:2902 +#: ../../../AMDGPUUsage.rst:3079 ../../../AMDGPUUsage.rst:3110 msgid "Kernel entry point" msgstr "" -#: ../../../AMDGPUUsage.rst:2872 +#: ../../../AMDGPUUsage.rst:3080 msgid "SHN_AMDGPU_LDS" msgstr "" -#: ../../../AMDGPUUsage.rst:2872 +#: ../../../AMDGPUUsage.rst:3080 msgid "Global variable in LDS" msgstr "" -#: ../../../AMDGPUUsage.rst:2876 +#: ../../../AMDGPUUsage.rst:3084 msgid "Global variables both used and defined by the compilation unit." msgstr "" -#: ../../../AMDGPUUsage.rst:2878 +#: ../../../AMDGPUUsage.rst:3086 msgid "" "If the symbol is defined in the compilation unit then it is allocated in the " "appropriate section according to if it has initialized data or is readonly." msgstr "" -#: ../../../AMDGPUUsage.rst:2881 +#: ../../../AMDGPUUsage.rst:3089 msgid "" "If the symbol is external then its section is ``STN_UNDEF`` and the loader " "will resolve relocations using the definition provided by another code " "object or explicitly defined by the runtime." msgstr "" -#: ../../../AMDGPUUsage.rst:2885 +#: ../../../AMDGPUUsage.rst:3093 msgid "" "If the symbol resides in local/group memory (LDS) then its section is the " "special processor specific section name ``SHN_AMDGPU_LDS``, and the " @@ -6954,13 +7342,13 @@ msgid "" "symbols." msgstr "" -#: ../../../AMDGPUUsage.rst:2892 +#: ../../../AMDGPUUsage.rst:3100 msgid "" "Add description of linked shared object symbols. Seems undefined symbols are " "marked as STT_NOTYPE." msgstr "" -#: ../../../AMDGPUUsage.rst:2896 +#: ../../../AMDGPUUsage.rst:3104 msgid "" "Every HSA kernel has an associated kernel descriptor. It is the address of " "the kernel descriptor that is used in the AQL dispatch packet used to invoke " @@ -6968,57 +7356,57 @@ msgid "" "descriptor is defined in :ref:`amdgpu-amdhsa-kernel-descriptor`." msgstr "" -#: ../../../AMDGPUUsage.rst:2902 +#: ../../../AMDGPUUsage.rst:3110 msgid "Every HSA kernel also has a symbol for its machine code entry point." msgstr "" -#: ../../../AMDGPUUsage.rst:2907 +#: ../../../AMDGPUUsage.rst:3115 msgid "Relocation Records" msgstr "" -#: ../../../AMDGPUUsage.rst:2909 +#: ../../../AMDGPUUsage.rst:3117 msgid "" "The AMDGPU backend generates ``Elf64_Rela`` relocation records for AMDHSA or " "``Elf64_Rel`` relocation records for Mesa/AMDPAL. Supported relocatable " "fields are:" msgstr "" -#: ../../../AMDGPUUsage.rst:2916 ../../../AMDGPUUsage.rst:2963 -#: ../../../AMDGPUUsage.rst:2965 ../../../AMDGPUUsage.rst:2969 -#: ../../../AMDGPUUsage.rst:2971 ../../../AMDGPUUsage.rst:2973 -#: ../../../AMDGPUUsage.rst:2974 ../../../AMDGPUUsage.rst:2975 -#: ../../../AMDGPUUsage.rst:2976 ../../../AMDGPUUsage.rst:2977 +#: ../../../AMDGPUUsage.rst:3124 ../../../AMDGPUUsage.rst:3171 +#: ../../../AMDGPUUsage.rst:3173 ../../../AMDGPUUsage.rst:3177 +#: ../../../AMDGPUUsage.rst:3179 ../../../AMDGPUUsage.rst:3181 +#: ../../../AMDGPUUsage.rst:3182 ../../../AMDGPUUsage.rst:3183 +#: ../../../AMDGPUUsage.rst:3184 ../../../AMDGPUUsage.rst:3185 msgid "``word32``" msgstr "" -#: ../../../AMDGPUUsage.rst:2914 +#: ../../../AMDGPUUsage.rst:3122 msgid "" "This specifies a 32-bit field occupying 4 bytes with arbitrary byte " "alignment. These values use the same byte order as other word values in the " "AMDGPU architecture." msgstr "" -#: ../../../AMDGPUUsage.rst:2921 ../../../AMDGPUUsage.rst:2967 -#: ../../../AMDGPUUsage.rst:2970 ../../../AMDGPUUsage.rst:2979 +#: ../../../AMDGPUUsage.rst:3129 ../../../AMDGPUUsage.rst:3175 +#: ../../../AMDGPUUsage.rst:3178 ../../../AMDGPUUsage.rst:3187 msgid "``word64``" msgstr "" -#: ../../../AMDGPUUsage.rst:2919 +#: ../../../AMDGPUUsage.rst:3127 msgid "" "This specifies a 64-bit field occupying 8 bytes with arbitrary byte " "alignment. These values use the same byte order as other word values in the " "AMDGPU architecture." msgstr "" -#: ../../../AMDGPUUsage.rst:2923 +#: ../../../AMDGPUUsage.rst:3131 msgid "Following notations are used for specifying relocation calculations:" msgstr "" -#: ../../../AMDGPUUsage.rst:2931 +#: ../../../AMDGPUUsage.rst:3139 msgid "**A**" msgstr "" -#: ../../../AMDGPUUsage.rst:2926 +#: ../../../AMDGPUUsage.rst:3134 msgid "" "Represents the addend used to compute the value of the relocatable field. If " "the addend field is smaller than 64 bits then it is zero-extended to 64 bits " @@ -7028,225 +7416,225 @@ msgid "" "64-bit address.)" msgstr "" -#: ../../../AMDGPUUsage.rst:2935 +#: ../../../AMDGPUUsage.rst:3143 msgid "**G**" msgstr "" -#: ../../../AMDGPUUsage.rst:2934 +#: ../../../AMDGPUUsage.rst:3142 msgid "" "Represents the offset into the global offset table at which the relocation " "entry's symbol will reside during execution." msgstr "" -#: ../../../AMDGPUUsage.rst:2938 +#: ../../../AMDGPUUsage.rst:3146 msgid "**GOT**" msgstr "" -#: ../../../AMDGPUUsage.rst:2938 +#: ../../../AMDGPUUsage.rst:3146 msgid "Represents the address of the global offset table." msgstr "" -#: ../../../AMDGPUUsage.rst:2942 +#: ../../../AMDGPUUsage.rst:3150 msgid "**P**" msgstr "" -#: ../../../AMDGPUUsage.rst:2941 +#: ../../../AMDGPUUsage.rst:3149 msgid "" "Represents the place (section offset for ``et_rel`` or address for " "``et_dyn``) of the storage unit being relocated (computed using " "``r_offset``)." msgstr "" -#: ../../../AMDGPUUsage.rst:2947 +#: ../../../AMDGPUUsage.rst:3155 msgid "**S**" msgstr "" -#: ../../../AMDGPUUsage.rst:2945 +#: ../../../AMDGPUUsage.rst:3153 msgid "" "Represents the value of the symbol whose index resides in the relocation " "entry. Relocations not using this must specify a symbol index of " "``STN_UNDEF``." msgstr "" -#: ../../../AMDGPUUsage.rst:2952 +#: ../../../AMDGPUUsage.rst:3160 msgid "**B**" msgstr "" -#: ../../../AMDGPUUsage.rst:2950 +#: ../../../AMDGPUUsage.rst:3158 msgid "" "Represents the base address of a loaded executable or shared object which is " "the difference between the ELF address and the actual load address. " "Relocations using this are only valid in executable or shared objects." msgstr "" -#: ../../../AMDGPUUsage.rst:2954 +#: ../../../AMDGPUUsage.rst:3162 msgid "The following relocation types are supported:" msgstr "" -#: ../../../AMDGPUUsage.rst:2956 +#: ../../../AMDGPUUsage.rst:3164 msgid "AMDGPU ELF Relocation Records" msgstr "" -#: ../../../AMDGPUUsage.rst:2960 +#: ../../../AMDGPUUsage.rst:3168 msgid "Relocation Type" msgstr "" -#: ../../../AMDGPUUsage.rst:2960 +#: ../../../AMDGPUUsage.rst:3168 msgid "Kind" msgstr "" -#: ../../../AMDGPUUsage.rst:2960 +#: ../../../AMDGPUUsage.rst:3168 msgid "Calculation" msgstr "" -#: ../../../AMDGPUUsage.rst:2962 +#: ../../../AMDGPUUsage.rst:3170 msgid "``R_AMDGPU_NONE``" msgstr "" -#: ../../../AMDGPUUsage.rst:2963 +#: ../../../AMDGPUUsage.rst:3171 msgid "``R_AMDGPU_ABS32_LO``" msgstr "" -#: ../../../AMDGPUUsage.rst:2963 ../../../AMDGPUUsage.rst:2965 -#: ../../../AMDGPUUsage.rst:2967 ../../../AMDGPUUsage.rst:2971 +#: ../../../AMDGPUUsage.rst:3171 ../../../AMDGPUUsage.rst:3173 +#: ../../../AMDGPUUsage.rst:3175 ../../../AMDGPUUsage.rst:3179 msgid "Static, Dynamic" msgstr "" -#: ../../../AMDGPUUsage.rst:2963 +#: ../../../AMDGPUUsage.rst:3171 msgid "(S + A) & 0xFFFFFFFF" msgstr "" -#: ../../../AMDGPUUsage.rst:2965 +#: ../../../AMDGPUUsage.rst:3173 msgid "``R_AMDGPU_ABS32_HI``" msgstr "" -#: ../../../AMDGPUUsage.rst:2965 +#: ../../../AMDGPUUsage.rst:3173 msgid "(S + A) >> 32" msgstr "" -#: ../../../AMDGPUUsage.rst:2967 +#: ../../../AMDGPUUsage.rst:3175 msgid "``R_AMDGPU_ABS64``" msgstr "" -#: ../../../AMDGPUUsage.rst:2967 ../../../AMDGPUUsage.rst:2971 +#: ../../../AMDGPUUsage.rst:3175 ../../../AMDGPUUsage.rst:3179 msgid "S + A" msgstr "" -#: ../../../AMDGPUUsage.rst:2969 +#: ../../../AMDGPUUsage.rst:3177 msgid "``R_AMDGPU_REL32``" msgstr "" -#: ../../../AMDGPUUsage.rst:2969 ../../../AMDGPUUsage.rst:2970 -#: ../../../AMDGPUUsage.rst:2973 ../../../AMDGPUUsage.rst:2974 -#: ../../../AMDGPUUsage.rst:2975 ../../../AMDGPUUsage.rst:2976 -#: ../../../AMDGPUUsage.rst:2977 ../../../AMDGPUUsage.rst:2980 +#: ../../../AMDGPUUsage.rst:3177 ../../../AMDGPUUsage.rst:3178 +#: ../../../AMDGPUUsage.rst:3181 ../../../AMDGPUUsage.rst:3182 +#: ../../../AMDGPUUsage.rst:3183 ../../../AMDGPUUsage.rst:3184 +#: ../../../AMDGPUUsage.rst:3185 ../../../AMDGPUUsage.rst:3188 msgid "Static" msgstr "" -#: ../../../AMDGPUUsage.rst:2969 ../../../AMDGPUUsage.rst:2970 +#: ../../../AMDGPUUsage.rst:3177 ../../../AMDGPUUsage.rst:3178 msgid "S + A - P" msgstr "" -#: ../../../AMDGPUUsage.rst:2970 +#: ../../../AMDGPUUsage.rst:3178 msgid "``R_AMDGPU_REL64``" msgstr "" -#: ../../../AMDGPUUsage.rst:2971 +#: ../../../AMDGPUUsage.rst:3179 msgid "``R_AMDGPU_ABS32``" msgstr "" -#: ../../../AMDGPUUsage.rst:2973 +#: ../../../AMDGPUUsage.rst:3181 msgid "``R_AMDGPU_GOTPCREL``" msgstr "" -#: ../../../AMDGPUUsage.rst:2973 +#: ../../../AMDGPUUsage.rst:3181 msgid "G + GOT + A - P" msgstr "" -#: ../../../AMDGPUUsage.rst:2974 +#: ../../../AMDGPUUsage.rst:3182 msgid "``R_AMDGPU_GOTPCREL32_LO``" msgstr "" -#: ../../../AMDGPUUsage.rst:2974 +#: ../../../AMDGPUUsage.rst:3182 msgid "(G + GOT + A - P) & 0xFFFFFFFF" msgstr "" -#: ../../../AMDGPUUsage.rst:2975 +#: ../../../AMDGPUUsage.rst:3183 msgid "``R_AMDGPU_GOTPCREL32_HI``" msgstr "" -#: ../../../AMDGPUUsage.rst:2975 +#: ../../../AMDGPUUsage.rst:3183 msgid "(G + GOT + A - P) >> 32" msgstr "" -#: ../../../AMDGPUUsage.rst:2976 +#: ../../../AMDGPUUsage.rst:3184 msgid "``R_AMDGPU_REL32_LO``" msgstr "" -#: ../../../AMDGPUUsage.rst:2976 +#: ../../../AMDGPUUsage.rst:3184 msgid "(S + A - P) & 0xFFFFFFFF" msgstr "" -#: ../../../AMDGPUUsage.rst:2977 +#: ../../../AMDGPUUsage.rst:3185 msgid "``R_AMDGPU_REL32_HI``" msgstr "" -#: ../../../AMDGPUUsage.rst:2977 +#: ../../../AMDGPUUsage.rst:3185 msgid "(S + A - P) >> 32" msgstr "" -#: ../../../AMDGPUUsage.rst:2979 +#: ../../../AMDGPUUsage.rst:3187 msgid "``R_AMDGPU_RELATIVE64``" msgstr "" -#: ../../../AMDGPUUsage.rst:2979 +#: ../../../AMDGPUUsage.rst:3187 msgid "Dynamic" msgstr "" -#: ../../../AMDGPUUsage.rst:2979 ../../../AMDGPUUsage.rst:5836 -#: ../../../AMDGPUUsage.rst:6012 ../../../AMDGPUUsage.rst:6075 +#: ../../../AMDGPUUsage.rst:3187 ../../../AMDGPUUsage.rst:6048 +#: ../../../AMDGPUUsage.rst:6224 ../../../AMDGPUUsage.rst:6287 msgid "13" msgstr "" -#: ../../../AMDGPUUsage.rst:2979 +#: ../../../AMDGPUUsage.rst:3187 msgid "B + A" msgstr "" -#: ../../../AMDGPUUsage.rst:2980 +#: ../../../AMDGPUUsage.rst:3188 msgid "``R_AMDGPU_REL16``" msgstr "" -#: ../../../AMDGPUUsage.rst:2980 ../../../AMDGPUUsage.rst:5852 -#: ../../../AMDGPUUsage.rst:6069 +#: ../../../AMDGPUUsage.rst:3188 ../../../AMDGPUUsage.rst:6064 +#: ../../../AMDGPUUsage.rst:6281 msgid "14" msgstr "" -#: ../../../AMDGPUUsage.rst:2980 +#: ../../../AMDGPUUsage.rst:3188 msgid "``word16``" msgstr "" -#: ../../../AMDGPUUsage.rst:2980 +#: ../../../AMDGPUUsage.rst:3188 msgid "((S + A - P) - 4) / 4" msgstr "" -#: ../../../AMDGPUUsage.rst:2983 +#: ../../../AMDGPUUsage.rst:3191 msgid "" "``R_AMDGPU_ABS32_LO`` and ``R_AMDGPU_ABS32_HI`` are only supported by the " "``mesa3d`` OS, which does not support ``R_AMDGPU_ABS64``." msgstr "" -#: ../../../AMDGPUUsage.rst:2986 +#: ../../../AMDGPUUsage.rst:3194 msgid "" "There is no current OS loader support for 32-bit programs and so " "``R_AMDGPU_ABS32`` is only generated for static relocations, for example to " "implement some DWARF32 forms." msgstr "" -#: ../../../AMDGPUUsage.rst:2993 +#: ../../../AMDGPUUsage.rst:3201 msgid "Loaded Code Object Path Uniform Resource Identifier (URI)" msgstr "" -#: ../../../AMDGPUUsage.rst:2995 +#: ../../../AMDGPUUsage.rst:3203 msgid "" "The AMD GPU code object loader represents the path of the ELF shared object " "from which the code object was loaded as a textual Uniform Resource " @@ -7256,27 +7644,27 @@ msgid "" "shared object." msgstr "" -#: ../../../AMDGPUUsage.rst:3001 +#: ../../../AMDGPUUsage.rst:3209 msgid "" "The loaded code object path URI syntax is defined by the following BNF " "syntax:" msgstr "" -#: ../../../AMDGPUUsage.rst:3015 +#: ../../../AMDGPUUsage.rst:3223 msgid "**number**" msgstr "" -#: ../../../AMDGPUUsage.rst:3014 +#: ../../../AMDGPUUsage.rst:3222 msgid "" "Is a C integral literal where hexadecimal values are prefixed by \"0x\" or " "\"0X\", and octal values by \"0\"." msgstr "" -#: ../../../AMDGPUUsage.rst:3021 +#: ../../../AMDGPUUsage.rst:3229 msgid "**file_path**" msgstr "" -#: ../../../AMDGPUUsage.rst:3018 +#: ../../../AMDGPUUsage.rst:3226 msgid "" "Is the file's path specified as a URI encoded UTF-8 string. In URI encoding, " "every character that is not in the regular expression ``[a-zA-Z0-9/_.~-]`` " @@ -7284,11 +7672,11 @@ msgid "" "Directories in the path are separated by \"/\"." msgstr "" -#: ../../../AMDGPUUsage.rst:3026 +#: ../../../AMDGPUUsage.rst:3234 msgid "**offset**" msgstr "" -#: ../../../AMDGPUUsage.rst:3024 +#: ../../../AMDGPUUsage.rst:3232 msgid "" "Is a 0-based byte offset to the start of the code object. For a file URI, " "it is from the start of the file specified by the ``file_path``, and if " @@ -7296,37 +7684,37 @@ msgid "" "required." msgstr "" -#: ../../../AMDGPUUsage.rst:3030 +#: ../../../AMDGPUUsage.rst:3238 msgid "**size**" msgstr "" -#: ../../../AMDGPUUsage.rst:3029 +#: ../../../AMDGPUUsage.rst:3237 msgid "" "Is the number of bytes in the code object. For a file URI, if omitted it " "defaults to the size of the file. It is required for a memory URI." msgstr "" -#: ../../../AMDGPUUsage.rst:3034 +#: ../../../AMDGPUUsage.rst:3242 msgid "**process_id**" msgstr "" -#: ../../../AMDGPUUsage.rst:3033 +#: ../../../AMDGPUUsage.rst:3241 msgid "" "Is the identity of the process owning the memory. For Linux it is the C " "unsigned integral decimal literal for the process ID (PID)." msgstr "" -#: ../../../AMDGPUUsage.rst:3047 +#: ../../../AMDGPUUsage.rst:3255 msgid "DWARF Debug Information" msgstr "" -#: ../../../AMDGPUUsage.rst:3051 +#: ../../../AMDGPUUsage.rst:3259 msgid "" "This section describes **provisional support** for AMDGPU DWARF [DWARF]_ " "that is not currently fully implemented and is subject to change." msgstr "" -#: ../../../AMDGPUUsage.rst:3054 +#: ../../../AMDGPUUsage.rst:3262 msgid "" "AMDGPU generates DWARF [DWARF]_ debugging information ELF sections (see :ref:" "`amdgpu-elf-code-object`) which contain information that maps the code " @@ -7336,16 +7724,16 @@ msgid "" "in DWARF Version 4 and DWARF Version 5 as an LLVM vendor extension." msgstr "" -#: ../../../AMDGPUUsage.rst:3061 +#: ../../../AMDGPUUsage.rst:3269 msgid "" "This section defines the AMDGPU target architecture specific DWARF mappings." msgstr "" -#: ../../../AMDGPUUsage.rst:3066 +#: ../../../AMDGPUUsage.rst:3274 msgid "Register Identifier" msgstr "" -#: ../../../AMDGPUUsage.rst:3068 +#: ../../../AMDGPUUsage.rst:3276 msgid "" "This section defines the AMDGPU target architecture register numbers used in " "DWARF operation expressions (see DWARF Version 5 section 2.5 and :ref:" @@ -7354,7 +7742,7 @@ msgid "" "frame-information`)." msgstr "" -#: ../../../AMDGPUUsage.rst:3074 +#: ../../../AMDGPUUsage.rst:3282 msgid "" "A single code object can contain code for kernels that have different " "wavefront sizes. The vector registers and some scalar registers are based on " @@ -7369,293 +7757,293 @@ msgid "" "code it is generating will be executed." msgstr "" -#: ../../../AMDGPUUsage.rst:3085 +#: ../../../AMDGPUUsage.rst:3293 msgid "" "DWARF registers are encoded as numbers, which are mapped to architecture " "registers. The mapping for AMDGPU is defined in :ref:`amdgpu-dwarf-register-" "mapping-table`. All AMDGPU targets use the same mapping." msgstr "" -#: ../../../AMDGPUUsage.rst:3090 +#: ../../../AMDGPUUsage.rst:3298 msgid "AMDGPU DWARF Register Mapping" msgstr "" -#: ../../../AMDGPUUsage.rst:3094 +#: ../../../AMDGPUUsage.rst:3302 msgid "DWARF Register" msgstr "" -#: ../../../AMDGPUUsage.rst:3094 +#: ../../../AMDGPUUsage.rst:3302 msgid "AMDGPU Register" msgstr "" -#: ../../../AMDGPUUsage.rst:3094 ../../../AMDGPUUsage.rst:3244 +#: ../../../AMDGPUUsage.rst:3302 ../../../AMDGPUUsage.rst:3452 msgid "Bit Size" msgstr "" -#: ../../../AMDGPUUsage.rst:3096 +#: ../../../AMDGPUUsage.rst:3304 msgid "PC_32" msgstr "" -#: ../../../AMDGPUUsage.rst:3096 +#: ../../../AMDGPUUsage.rst:3304 msgid "" "Program Counter (PC) when executing in a 32-bit process address space. Used " "in the CFI to describe the PC of the calling frame." msgstr "" -#: ../../../AMDGPUUsage.rst:3101 +#: ../../../AMDGPUUsage.rst:3309 msgid "EXEC_MASK_32" msgstr "" -#: ../../../AMDGPUUsage.rst:3101 +#: ../../../AMDGPUUsage.rst:3309 msgid "Execution Mask Register when executing in wavefront 32 mode." msgstr "" -#: ../../../AMDGPUUsage.rst:3103 +#: ../../../AMDGPUUsage.rst:3311 msgid "2-15" msgstr "" -#: ../../../AMDGPUUsage.rst:3103 ../../../AMDGPUUsage.rst:3112 -#: ../../../AMDGPUUsage.rst:3116 ../../../AMDGPUUsage.rst:3119 -#: ../../../AMDGPUUsage.rst:3124 ../../../AMDGPUUsage.rst:3130 -#: ../../../AMDGPUUsage.rst:3133 ../../../AMDGPUUsage.rst:3135 -#: ../../../AMDGPUUsage.rst:3143 ../../../AMDGPUUsage.rst:3149 -#: ../../../AMDGPUUsage.rst:3155 ../../../AMDGPUUsage.rst:3255 +#: ../../../AMDGPUUsage.rst:3311 ../../../AMDGPUUsage.rst:3320 +#: ../../../AMDGPUUsage.rst:3324 ../../../AMDGPUUsage.rst:3327 +#: ../../../AMDGPUUsage.rst:3332 ../../../AMDGPUUsage.rst:3338 +#: ../../../AMDGPUUsage.rst:3341 ../../../AMDGPUUsage.rst:3343 +#: ../../../AMDGPUUsage.rst:3351 ../../../AMDGPUUsage.rst:3357 +#: ../../../AMDGPUUsage.rst:3363 ../../../AMDGPUUsage.rst:3463 msgid "*Reserved*" msgstr "" -#: ../../../AMDGPUUsage.rst:3103 ../../../AMDGPUUsage.rst:3112 +#: ../../../AMDGPUUsage.rst:3311 ../../../AMDGPUUsage.rst:3320 msgid "*Reserved for highly accessed registers using DWARF shortcut.*" msgstr "" -#: ../../../AMDGPUUsage.rst:3105 +#: ../../../AMDGPUUsage.rst:3313 msgid "PC_64" msgstr "" -#: ../../../AMDGPUUsage.rst:3105 +#: ../../../AMDGPUUsage.rst:3313 msgid "" "Program Counter (PC) when executing in a 64-bit process address space. Used " "in the CFI to describe the PC of the calling frame." msgstr "" -#: ../../../AMDGPUUsage.rst:3110 ../../../AMDGPUUsage.rst:6018 -#: ../../../AMDGPUUsage.rst:6069 +#: ../../../AMDGPUUsage.rst:3318 ../../../AMDGPUUsage.rst:6230 +#: ../../../AMDGPUUsage.rst:6281 msgid "17" msgstr "" -#: ../../../AMDGPUUsage.rst:3110 +#: ../../../AMDGPUUsage.rst:3318 msgid "EXEC_MASK_64" msgstr "" -#: ../../../AMDGPUUsage.rst:3110 +#: ../../../AMDGPUUsage.rst:3318 msgid "Execution Mask Register when executing in wavefront 64 mode." msgstr "" -#: ../../../AMDGPUUsage.rst:3112 +#: ../../../AMDGPUUsage.rst:3320 msgid "18-31" msgstr "" -#: ../../../AMDGPUUsage.rst:3114 +#: ../../../AMDGPUUsage.rst:3322 msgid "32-95" msgstr "" -#: ../../../AMDGPUUsage.rst:3114 +#: ../../../AMDGPUUsage.rst:3322 msgid "SGPR0-SGPR63" msgstr "" -#: ../../../AMDGPUUsage.rst:3114 ../../../AMDGPUUsage.rst:3134 +#: ../../../AMDGPUUsage.rst:3322 ../../../AMDGPUUsage.rst:3342 msgid "Scalar General Purpose Registers." msgstr "" -#: ../../../AMDGPUUsage.rst:3116 +#: ../../../AMDGPUUsage.rst:3324 msgid "96-127" msgstr "" -#: ../../../AMDGPUUsage.rst:3116 +#: ../../../AMDGPUUsage.rst:3324 msgid "*Reserved for frequently accessed registers using DWARF 1-byte ULEB.*" msgstr "" -#: ../../../AMDGPUUsage.rst:3118 +#: ../../../AMDGPUUsage.rst:3326 msgid "STATUS" msgstr "" -#: ../../../AMDGPUUsage.rst:3118 +#: ../../../AMDGPUUsage.rst:3326 msgid "Status Register." msgstr "" -#: ../../../AMDGPUUsage.rst:3119 +#: ../../../AMDGPUUsage.rst:3327 msgid "129-511" msgstr "" -#: ../../../AMDGPUUsage.rst:3119 +#: ../../../AMDGPUUsage.rst:3327 msgid "*Reserved for future Scalar Architectural Registers.*" msgstr "" -#: ../../../AMDGPUUsage.rst:3121 ../../../AMDGPUUsage.rst:5404 +#: ../../../AMDGPUUsage.rst:3329 ../../../AMDGPUUsage.rst:5612 msgid "512" msgstr "" -#: ../../../AMDGPUUsage.rst:3121 +#: ../../../AMDGPUUsage.rst:3329 msgid "VCC_32" msgstr "" -#: ../../../AMDGPUUsage.rst:3121 +#: ../../../AMDGPUUsage.rst:3329 msgid "Vector Condition Code Register when executing in wavefront 32 mode." msgstr "" -#: ../../../AMDGPUUsage.rst:3124 +#: ../../../AMDGPUUsage.rst:3332 msgid "513-767" msgstr "" -#: ../../../AMDGPUUsage.rst:3124 +#: ../../../AMDGPUUsage.rst:3332 msgid "" "*Reserved for future Vector Architectural Registers when executing in " "wavefront 32 mode.*" msgstr "" -#: ../../../AMDGPUUsage.rst:3127 +#: ../../../AMDGPUUsage.rst:3335 msgid "768" msgstr "" -#: ../../../AMDGPUUsage.rst:3127 +#: ../../../AMDGPUUsage.rst:3335 msgid "VCC_64" msgstr "" -#: ../../../AMDGPUUsage.rst:3127 +#: ../../../AMDGPUUsage.rst:3335 msgid "Vector Condition Code Register when executing in wavefront 64 mode." msgstr "" -#: ../../../AMDGPUUsage.rst:3130 +#: ../../../AMDGPUUsage.rst:3338 msgid "769-1023" msgstr "" -#: ../../../AMDGPUUsage.rst:3130 +#: ../../../AMDGPUUsage.rst:3338 msgid "" "*Reserved for future Vector Architectural Registers when executing in " "wavefront 64 mode.*" msgstr "" -#: ../../../AMDGPUUsage.rst:3133 +#: ../../../AMDGPUUsage.rst:3341 msgid "1024-1087" msgstr "" -#: ../../../AMDGPUUsage.rst:3133 +#: ../../../AMDGPUUsage.rst:3341 msgid "*Reserved for padding.*" msgstr "" -#: ../../../AMDGPUUsage.rst:3134 +#: ../../../AMDGPUUsage.rst:3342 msgid "1088-1129" msgstr "" -#: ../../../AMDGPUUsage.rst:3134 +#: ../../../AMDGPUUsage.rst:3342 msgid "SGPR64-SGPR105" msgstr "" -#: ../../../AMDGPUUsage.rst:3135 +#: ../../../AMDGPUUsage.rst:3343 msgid "1130-1535" msgstr "" -#: ../../../AMDGPUUsage.rst:3135 +#: ../../../AMDGPUUsage.rst:3343 msgid "*Reserved for future Scalar General Purpose Registers.*" msgstr "" -#: ../../../AMDGPUUsage.rst:3137 +#: ../../../AMDGPUUsage.rst:3345 msgid "1536-2047" msgstr "" -#: ../../../AMDGPUUsage.rst:3137 +#: ../../../AMDGPUUsage.rst:3345 msgid "VGPR0-VGPR511" msgstr "" -#: ../../../AMDGPUUsage.rst:3137 ../../../AMDGPUUsage.rst:3140 -#: ../../../AMDGPUUsage.rst:3158 +#: ../../../AMDGPUUsage.rst:3345 ../../../AMDGPUUsage.rst:3348 +#: ../../../AMDGPUUsage.rst:3366 msgid "32*32" msgstr "" -#: ../../../AMDGPUUsage.rst:3137 +#: ../../../AMDGPUUsage.rst:3345 msgid "Vector General Purpose Registers when executing in wavefront 32 mode." msgstr "" -#: ../../../AMDGPUUsage.rst:3140 +#: ../../../AMDGPUUsage.rst:3348 msgid "2048-2303" msgstr "" -#: ../../../AMDGPUUsage.rst:3140 ../../../AMDGPUUsage.rst:3152 +#: ../../../AMDGPUUsage.rst:3348 ../../../AMDGPUUsage.rst:3360 msgid "AGPR0-AGPR255" msgstr "" -#: ../../../AMDGPUUsage.rst:3140 +#: ../../../AMDGPUUsage.rst:3348 msgid "Vector Accumulation Registers when executing in wavefront 32 mode." msgstr "" -#: ../../../AMDGPUUsage.rst:3143 +#: ../../../AMDGPUUsage.rst:3351 msgid "2304-2559" msgstr "" -#: ../../../AMDGPUUsage.rst:3143 +#: ../../../AMDGPUUsage.rst:3351 msgid "" "*Reserved for future Vector Accumulation Registers when executing in " "wavefront 32 mode.*" msgstr "" -#: ../../../AMDGPUUsage.rst:3146 +#: ../../../AMDGPUUsage.rst:3354 msgid "2560-2815" msgstr "" -#: ../../../AMDGPUUsage.rst:3146 +#: ../../../AMDGPUUsage.rst:3354 msgid "VGPR0-VGPR255" msgstr "" -#: ../../../AMDGPUUsage.rst:3146 ../../../AMDGPUUsage.rst:3152 +#: ../../../AMDGPUUsage.rst:3354 ../../../AMDGPUUsage.rst:3360 msgid "64*32" msgstr "" -#: ../../../AMDGPUUsage.rst:3146 +#: ../../../AMDGPUUsage.rst:3354 msgid "Vector General Purpose Registers when executing in wavefront 64 mode." msgstr "" -#: ../../../AMDGPUUsage.rst:3149 +#: ../../../AMDGPUUsage.rst:3357 msgid "2816-3071" msgstr "" -#: ../../../AMDGPUUsage.rst:3149 +#: ../../../AMDGPUUsage.rst:3357 msgid "" "*Reserved for future Vector General Purpose Registers when executing in " "wavefront 64 mode.*" msgstr "" -#: ../../../AMDGPUUsage.rst:3152 +#: ../../../AMDGPUUsage.rst:3360 msgid "3072-3327" msgstr "" -#: ../../../AMDGPUUsage.rst:3152 +#: ../../../AMDGPUUsage.rst:3360 msgid "Vector Accumulation Registers when executing in wavefront 64 mode." msgstr "" -#: ../../../AMDGPUUsage.rst:3155 +#: ../../../AMDGPUUsage.rst:3363 msgid "3328-3583" msgstr "" -#: ../../../AMDGPUUsage.rst:3155 +#: ../../../AMDGPUUsage.rst:3363 msgid "" "*Reserved for future Vector Accumulation Registers when executing in " "wavefront 64 mode.*" msgstr "" -#: ../../../AMDGPUUsage.rst:3158 +#: ../../../AMDGPUUsage.rst:3366 msgid "3584-4095" msgstr "" -#: ../../../AMDGPUUsage.rst:3158 +#: ../../../AMDGPUUsage.rst:3366 msgid "VGPR512-VGPR1023" msgstr "" -#: ../../../AMDGPUUsage.rst:3158 +#: ../../../AMDGPUUsage.rst:3366 msgid "" "Second Block of Vector General Purpose Registers When executing in wavefront " "32 mode" msgstr "" -#: ../../../AMDGPUUsage.rst:3163 +#: ../../../AMDGPUUsage.rst:3371 msgid "" "The vector registers are represented as the full size for the wavefront. " "They are organized as consecutive dwords (32-bits), one per lane, with the " @@ -7667,7 +8055,7 @@ msgid "" "execution model." msgstr "" -#: ../../../AMDGPUUsage.rst:3172 +#: ../../../AMDGPUUsage.rst:3380 msgid "" "If the wavefront size is 32 lanes then the wavefront 32 mode register " "definitions are used. If the wavefront size is 64 lanes then the wavefront " @@ -7676,7 +8064,7 @@ msgid "" "corresponding to the wavefront mode of the generated code will be used." msgstr "" -#: ../../../AMDGPUUsage.rst:3178 +#: ../../../AMDGPUUsage.rst:3386 msgid "" "If code is generated to execute in a 32-bit process address space, then the " "32-bit process address space register definitions are used. If code is " @@ -7685,139 +8073,139 @@ msgid "" "only supports the 64-bit process address space." msgstr "" -#: ../../../AMDGPUUsage.rst:3187 +#: ../../../AMDGPUUsage.rst:3395 msgid "Memory Space Identifier" msgstr "" -#: ../../../AMDGPUUsage.rst:3189 +#: ../../../AMDGPUUsage.rst:3397 msgid "" "The DWARF memory space represents the source language memory space. See " "DWARF Version 5 section 2.12 which is updated by the *DWARF Extensions For " "Heterogeneous Debugging* section :ref:`amdgpu-dwarf-memory-spaces`." msgstr "" -#: ../../../AMDGPUUsage.rst:3193 +#: ../../../AMDGPUUsage.rst:3401 msgid "" "The DWARF memory space mapping used for AMDGPU is defined in :ref:`amdgpu-" "dwarf-memory-space-mapping-table`." msgstr "" -#: ../../../AMDGPUUsage.rst:3196 +#: ../../../AMDGPUUsage.rst:3404 msgid "AMDGPU DWARF Memory Space Mapping" msgstr "" -#: ../../../AMDGPUUsage.rst:3200 ../../../AMDGPUUsage.rst:3242 +#: ../../../AMDGPUUsage.rst:3408 ../../../AMDGPUUsage.rst:3450 msgid "DWARF" msgstr "" -#: ../../../AMDGPUUsage.rst:3200 ../../../AMDGPUUsage.rst:3242 +#: ../../../AMDGPUUsage.rst:3408 ../../../AMDGPUUsage.rst:3450 msgid "AMDGPU" msgstr "" -#: ../../../AMDGPUUsage.rst:3202 ../../../AMDGPUUsage.rst:5123 +#: ../../../AMDGPUUsage.rst:3410 ../../../AMDGPUUsage.rst:5331 msgid "Memory Space Name" msgstr "" -#: ../../../AMDGPUUsage.rst:3202 +#: ../../../AMDGPUUsage.rst:3410 msgid "Memory Space" msgstr "" -#: ../../../AMDGPUUsage.rst:3204 +#: ../../../AMDGPUUsage.rst:3412 msgid "``DW_MSPACE_LLVM_none``" msgstr "" -#: ../../../AMDGPUUsage.rst:3204 +#: ../../../AMDGPUUsage.rst:3412 msgid "0x0000" msgstr "" -#: ../../../AMDGPUUsage.rst:3204 ../../../AMDGPUUsage.rst:3252 +#: ../../../AMDGPUUsage.rst:3412 ../../../AMDGPUUsage.rst:3460 msgid "Generic (Flat)" msgstr "" -#: ../../../AMDGPUUsage.rst:3205 +#: ../../../AMDGPUUsage.rst:3413 msgid "``DW_MSPACE_LLVM_global``" msgstr "" -#: ../../../AMDGPUUsage.rst:3205 +#: ../../../AMDGPUUsage.rst:3413 msgid "0x0001" msgstr "" -#: ../../../AMDGPUUsage.rst:3206 +#: ../../../AMDGPUUsage.rst:3414 msgid "``DW_MSPACE_LLVM_constant``" msgstr "" -#: ../../../AMDGPUUsage.rst:3206 +#: ../../../AMDGPUUsage.rst:3414 msgid "0x0002" msgstr "" -#: ../../../AMDGPUUsage.rst:3207 +#: ../../../AMDGPUUsage.rst:3415 msgid "``DW_MSPACE_LLVM_group``" msgstr "" -#: ../../../AMDGPUUsage.rst:3207 +#: ../../../AMDGPUUsage.rst:3415 msgid "0x0003" msgstr "" -#: ../../../AMDGPUUsage.rst:3207 ../../../AMDGPUUsage.rst:3254 +#: ../../../AMDGPUUsage.rst:3415 ../../../AMDGPUUsage.rst:3462 msgid "Local (group/LDS)" msgstr "" -#: ../../../AMDGPUUsage.rst:3208 +#: ../../../AMDGPUUsage.rst:3416 msgid "``DW_MSPACE_LLVM_private``" msgstr "" -#: ../../../AMDGPUUsage.rst:3208 +#: ../../../AMDGPUUsage.rst:3416 msgid "0x0004" msgstr "" -#: ../../../AMDGPUUsage.rst:3208 ../../../AMDGPUUsage.rst:3256 -#: ../../../AMDGPUUsage.rst:3257 +#: ../../../AMDGPUUsage.rst:3416 ../../../AMDGPUUsage.rst:3464 +#: ../../../AMDGPUUsage.rst:3465 msgid "Private (Scratch)" msgstr "" -#: ../../../AMDGPUUsage.rst:3209 +#: ../../../AMDGPUUsage.rst:3417 msgid "``DW_MSPACE_AMDGPU_region``" msgstr "" -#: ../../../AMDGPUUsage.rst:3209 +#: ../../../AMDGPUUsage.rst:3417 msgid "0x8000" msgstr "" -#: ../../../AMDGPUUsage.rst:3209 ../../../AMDGPUUsage.rst:3253 +#: ../../../AMDGPUUsage.rst:3417 ../../../AMDGPUUsage.rst:3461 msgid "Region (GDS)" msgstr "" -#: ../../../AMDGPUUsage.rst:3212 +#: ../../../AMDGPUUsage.rst:3420 msgid "" "The DWARF memory space values defined in the *DWARF Extensions For " "Heterogeneous Debugging* section :ref:`amdgpu-dwarf-memory-spaces` are used." msgstr "" -#: ../../../AMDGPUUsage.rst:3215 +#: ../../../AMDGPUUsage.rst:3423 msgid "" "In addition, ``DW_ADDR_AMDGPU_region`` is encoded as a vendor extension. " "This is available for use for the AMD extension for access to the hardware " "GDS memory which is scratchpad memory allocated per device." msgstr "" -#: ../../../AMDGPUUsage.rst:3219 +#: ../../../AMDGPUUsage.rst:3427 msgid "" "For AMDGPU if no ``DW_AT_LLVM_memory_space`` attribute is present, then the " "default memory space of ``DW_MSPACE_LLVM_none`` is used." msgstr "" -#: ../../../AMDGPUUsage.rst:3222 +#: ../../../AMDGPUUsage.rst:3430 msgid "" "See :ref:`amdgpu-dwarf-address-space-identifier` for information on the " "AMDGPU mapping of DWARF memory spaces to DWARF address spaces, including " "address size and NULL value." msgstr "" -#: ../../../AMDGPUUsage.rst:3229 +#: ../../../AMDGPUUsage.rst:3437 msgid "Address Space Identifier" msgstr "" -#: ../../../AMDGPUUsage.rst:3231 +#: ../../../AMDGPUUsage.rst:3439 msgid "" "DWARF address spaces correspond to target architecture specific linear " "addressable memory areas. See DWARF Version 5 section 2.12 and *DWARF " @@ -7825,95 +8213,95 @@ msgid "" "spaces`." msgstr "" -#: ../../../AMDGPUUsage.rst:3235 +#: ../../../AMDGPUUsage.rst:3443 msgid "" "The DWARF address space mapping used for AMDGPU is defined in :ref:`amdgpu-" "dwarf-address-space-mapping-table`." msgstr "" -#: ../../../AMDGPUUsage.rst:3238 +#: ../../../AMDGPUUsage.rst:3446 msgid "AMDGPU DWARF Address Space Mapping" msgstr "" -#: ../../../AMDGPUUsage.rst:3244 +#: ../../../AMDGPUUsage.rst:3452 msgid "Address" msgstr "" -#: ../../../AMDGPUUsage.rst:3244 +#: ../../../AMDGPUUsage.rst:3452 msgid "LLVM IR Address Space" msgstr "" -#: ../../../AMDGPUUsage.rst:3246 +#: ../../../AMDGPUUsage.rst:3454 msgid "64-bit process address space" msgstr "" -#: ../../../AMDGPUUsage.rst:3246 +#: ../../../AMDGPUUsage.rst:3454 msgid "32-bit process address space" msgstr "" -#: ../../../AMDGPUUsage.rst:3251 +#: ../../../AMDGPUUsage.rst:3459 msgid "``DW_ASPACE_LLVM_none``" msgstr "" -#: ../../../AMDGPUUsage.rst:3251 +#: ../../../AMDGPUUsage.rst:3459 msgid "0x00" msgstr "" -#: ../../../AMDGPUUsage.rst:3251 +#: ../../../AMDGPUUsage.rst:3459 msgid "*default address space*" msgstr "" -#: ../../../AMDGPUUsage.rst:3252 +#: ../../../AMDGPUUsage.rst:3460 msgid "``DW_ASPACE_AMDGPU_generic``" msgstr "" -#: ../../../AMDGPUUsage.rst:3253 +#: ../../../AMDGPUUsage.rst:3461 msgid "``DW_ASPACE_AMDGPU_region``" msgstr "" -#: ../../../AMDGPUUsage.rst:3254 +#: ../../../AMDGPUUsage.rst:3462 msgid "``DW_ASPACE_AMDGPU_local``" msgstr "" -#: ../../../AMDGPUUsage.rst:3254 +#: ../../../AMDGPUUsage.rst:3462 msgid "0x03" msgstr "" -#: ../../../AMDGPUUsage.rst:3255 +#: ../../../AMDGPUUsage.rst:3463 msgid "0x04" msgstr "" -#: ../../../AMDGPUUsage.rst:3256 +#: ../../../AMDGPUUsage.rst:3464 msgid "``DW_ASPACE_AMDGPU_private_lane``" msgstr "" -#: ../../../AMDGPUUsage.rst:3256 +#: ../../../AMDGPUUsage.rst:3464 msgid "0x05" msgstr "" -#: ../../../AMDGPUUsage.rst:3256 +#: ../../../AMDGPUUsage.rst:3464 msgid "*focused lane*" msgstr "" -#: ../../../AMDGPUUsage.rst:3257 +#: ../../../AMDGPUUsage.rst:3465 msgid "``DW_ASPACE_AMDGPU_private_wave``" msgstr "" -#: ../../../AMDGPUUsage.rst:3257 +#: ../../../AMDGPUUsage.rst:3465 msgid "0x06" msgstr "" -#: ../../../AMDGPUUsage.rst:3257 +#: ../../../AMDGPUUsage.rst:3465 msgid "*unswizzled wavefront*" msgstr "" -#: ../../../AMDGPUUsage.rst:3260 +#: ../../../AMDGPUUsage.rst:3468 msgid "" "See :ref:`amdgpu-address-spaces` for information on the AMDGPU LLVM IR " "address spaces including address size and NULL value." msgstr "" -#: ../../../AMDGPUUsage.rst:3263 +#: ../../../AMDGPUUsage.rst:3471 msgid "" "The ``DW_ASPACE_LLVM_none`` address space is the default target architecture " "address space used in DWARF operations that do not specify an address space. " @@ -7922,7 +8310,7 @@ msgid "" "code." msgstr "" -#: ../../../AMDGPUUsage.rst:3268 +#: ../../../AMDGPUUsage.rst:3476 msgid "" "The ``DW_ASPACE_AMDGPU_generic`` address space allows location expressions " "to specify the flat address space. If the address corresponds to an address " @@ -7933,7 +8321,7 @@ msgid "" "implemented using a SIMD or SIMT execution model." msgstr "" -#: ../../../AMDGPUUsage.rst:3278 +#: ../../../AMDGPUUsage.rst:3486 msgid "" "CUDA-like languages such as HIP that do not have address spaces in the " "language type system, but do allow variables to be allocated in different " @@ -7942,14 +8330,14 @@ msgid "" "space is the global address space." msgstr "" -#: ../../../AMDGPUUsage.rst:3284 +#: ../../../AMDGPUUsage.rst:3492 msgid "" "The ``DW_ASPACE_AMDGPU_local`` address space allows location expressions to " "specify the local address space corresponding to the wavefront that is " "executing the focused thread of execution." msgstr "" -#: ../../../AMDGPUUsage.rst:3288 +#: ../../../AMDGPUUsage.rst:3496 msgid "" "The ``DW_ASPACE_AMDGPU_private_lane`` address space allows location " "expressions to specify the private address space corresponding to the lane " @@ -7957,7 +8345,7 @@ msgid "" "implemented using a SIMD or SIMT execution model." msgstr "" -#: ../../../AMDGPUUsage.rst:3293 +#: ../../../AMDGPUUsage.rst:3501 msgid "" "The ``DW_ASPACE_AMDGPU_private_wave`` address space allows location " "expressions to specify the unswizzled private address space corresponding to " @@ -7971,14 +8359,14 @@ msgid "" "``DW_ASPACE_AMDGPU_private_wave`` address:" msgstr "" -#: ../../../AMDGPUUsage.rst:3309 +#: ../../../AMDGPUUsage.rst:3517 msgid "" "If the ``DW_ASPACE_AMDGPU_private_lane`` address is dword aligned, and the " "start of the dwords for each lane starting with lane 0 is required, then " "this simplifies to:" msgstr "" -#: ../../../AMDGPUUsage.rst:3318 +#: ../../../AMDGPUUsage.rst:3526 msgid "" "A compiler can use the ``DW_ASPACE_AMDGPU_private_wave`` address space to " "read a complete spilled vector register back into a complete vector register " @@ -7992,11 +8380,11 @@ msgid "" "``DW_ASPACE_AMDGPU_private_wave`` address." msgstr "" -#: ../../../AMDGPUUsage.rst:3332 +#: ../../../AMDGPUUsage.rst:3540 msgid "Lane identifier" msgstr "" -#: ../../../AMDGPUUsage.rst:3334 +#: ../../../AMDGPUUsage.rst:3542 msgid "" "DWARF lane identifies specify a target architecture lane position for " "hardware that executes in a SIMD or SIMT manner, and on which a source " @@ -8007,24 +8395,24 @@ msgid "" "expressions`." msgstr "" -#: ../../../AMDGPUUsage.rst:3341 +#: ../../../AMDGPUUsage.rst:3549 msgid "" "For AMDGPU, the lane identifier corresponds to the hardware lane ID of a " "wavefront. It is numbered from 0 to the wavefront size minus 1." msgstr "" -#: ../../../AMDGPUUsage.rst:3345 +#: ../../../AMDGPUUsage.rst:3553 msgid "Operation Expressions" msgstr "" -#: ../../../AMDGPUUsage.rst:3347 +#: ../../../AMDGPUUsage.rst:3555 msgid "" "DWARF expressions are used to compute program values and the locations of " "program objects. See DWARF Version 5 section 2.5 and :ref:`amdgpu-dwarf-" "operation-expressions`." msgstr "" -#: ../../../AMDGPUUsage.rst:3351 +#: ../../../AMDGPUUsage.rst:3559 msgid "" "DWARF location descriptions describe how to access storage which includes " "memory and registers. When accessing storage on AMDGPU, bytes are ordered " @@ -8032,7 +8420,7 @@ msgid "" "least significant bits first." msgstr "" -#: ../../../AMDGPUUsage.rst:3356 +#: ../../../AMDGPUUsage.rst:3564 msgid "" "For AMDGPU CFI expressions, ``DW_OP_LLVM_select_bit_piece`` is used to " "describe unwinding vector registers that are spilled under the execution " @@ -8042,7 +8430,7 @@ msgid "" "address space of the memory location description." msgstr "" -#: ../../../AMDGPUUsage.rst:3363 +#: ../../../AMDGPUUsage.rst:3571 msgid "" "In AMDGPU expressions, ``DW_OP_LLVM_select_bit_piece`` is used by the " "``DW_AT_LLVM_lane_pc`` attribute expression where divergent control flow is " @@ -8052,30 +8440,30 @@ msgid "" "example." msgstr "" -#: ../../../AMDGPUUsage.rst:3372 +#: ../../../AMDGPUUsage.rst:3580 msgid "Base Type Conversions" msgstr "" -#: ../../../AMDGPUUsage.rst:3374 +#: ../../../AMDGPUUsage.rst:3582 msgid "" "For AMDGPU expressions, ``DW_OP_convert`` may be used to convert between " "``DW_ATE_address``-encoded base types in different address spaces." msgstr "" -#: ../../../AMDGPUUsage.rst:3377 +#: ../../../AMDGPUUsage.rst:3585 msgid "" "Conversions are defined as in :ref:`amdgpu-address-spaces` when all relevant " "conditions described there are met, and otherwise result in an evaluation " "error." msgstr "" -#: ../../../AMDGPUUsage.rst:3383 +#: ../../../AMDGPUUsage.rst:3591 msgid "" "For a target which does not support a particular address space, converting " "to or from that address space is always an evaluation error." msgstr "" -#: ../../../AMDGPUUsage.rst:3386 +#: ../../../AMDGPUUsage.rst:3594 msgid "" "For targets which support the generic address space, converting from " "``DW_ASPACE_AMDGPU_generic`` to ``DW_ASPACE_LLVM_none`` is defined when the " @@ -8083,7 +8471,7 @@ msgid "" "change to the literal value of the address." msgstr "" -#: ../../../AMDGPUUsage.rst:3391 +#: ../../../AMDGPUUsage.rst:3599 msgid "" "Converting from ``DW_ASPACE_AMDGPU_generic`` to any of " "``DW_ASPACE_AMDGPU_local``, ``DW_ASPACE_AMDGPU_private_wave`` or " @@ -8094,11 +8482,11 @@ msgid "" "include the active lane." msgstr "" -#: ../../../AMDGPUUsage.rst:3400 +#: ../../../AMDGPUUsage.rst:3608 msgid "Debugger Information Entry Attributes" msgstr "" -#: ../../../AMDGPUUsage.rst:3402 +#: ../../../AMDGPUUsage.rst:3610 msgid "" "This section describes how certain debugger information entry attributes are " "used by AMDGPU. See the sections in DWARF Version 5 section 3.3.5 and 3.1.1 " @@ -8107,30 +8495,30 @@ msgid "" "partial-compilation-unit-entries`." msgstr "" -#: ../../../AMDGPUUsage.rst:3411 +#: ../../../AMDGPUUsage.rst:3619 msgid "``DW_AT_LLVM_lane_pc``" msgstr "" -#: ../../../AMDGPUUsage.rst:3413 +#: ../../../AMDGPUUsage.rst:3621 msgid "" "For AMDGPU, the ``DW_AT_LLVM_lane_pc`` attribute is used to specify the " "program location of the separate lanes of a SIMT thread." msgstr "" -#: ../../../AMDGPUUsage.rst:3416 +#: ../../../AMDGPUUsage.rst:3624 msgid "" "If the lane is an active lane then this will be the same as the current " "program location." msgstr "" -#: ../../../AMDGPUUsage.rst:3419 +#: ../../../AMDGPUUsage.rst:3627 msgid "" "If the lane is inactive, but was active on entry to the subprogram, then " "this is the program location in the subprogram at which execution of the " "lane is conceptually positioned." msgstr "" -#: ../../../AMDGPUUsage.rst:3423 +#: ../../../AMDGPUUsage.rst:3631 msgid "" "If the lane was not active on entry to the subprogram, then this will be the " "undefined location. A client debugger can check if the lane is part of a " @@ -8143,7 +8531,7 @@ msgid "" "has a non-undefined ``DW_AT_LLVM_lane_pc``." msgstr "" -#: ../../../AMDGPUUsage.rst:3433 +#: ../../../AMDGPUUsage.rst:3641 msgid "" "The following example illustrates how the AMDGPU backend can generate a " "DWARF location list expression for the nested ``IF/THEN/ELSE`` structures of " @@ -8151,7 +8539,7 @@ msgid "" "wavefront." msgstr "" -#: ../../../AMDGPUUsage.rst:3457 +#: ../../../AMDGPUUsage.rst:3665 msgid "" "The AMDGPU backend may generate the following pseudo LLVM MIR to manipulate " "the execution mask (``EXEC``) to linearize the control flow. The condition " @@ -8165,7 +8553,7 @@ msgid "" "are possible, but the basic concept is the same." msgstr "" -#: ../../../AMDGPUUsage.rst:3499 +#: ../../../AMDGPUUsage.rst:3707 msgid "" "To create the DWARF location list expression that defines the location " "description of a vector of lane program locations, the LLVM MIR " @@ -8176,7 +8564,7 @@ msgid "" "information entry." msgstr "" -#: ../../../AMDGPUUsage.rst:3506 +#: ../../../AMDGPUUsage.rst:3714 msgid "" "A DWARF procedure is defined for each well nested structured control flow " "region which provides the conceptual lane program location for a lane if it " @@ -8185,7 +8573,7 @@ msgid "" "region and modifies it according to the semantics of the region." msgstr "" -#: ../../../AMDGPUUsage.rst:3512 +#: ../../../AMDGPUUsage.rst:3720 msgid "" "For an ``IF/THEN/ELSE`` region the divergent program location is at the " "start of the region for the ``THEN`` region since it is executed first. For " @@ -8193,7 +8581,7 @@ msgid "" "THEN/ELSE`` region since the ``THEN`` region has completed." msgstr "" -#: ../../../AMDGPUUsage.rst:3517 +#: ../../../AMDGPUUsage.rst:3725 msgid "" "The lane PC artificial variable is assigned at each region transition. It " "uses the immediately enclosing region's DWARF procedure to compute the " @@ -8202,24 +8590,24 @@ msgid "" "that the ``EXEC`` mask indicates is active." msgstr "" -#: ../../../AMDGPUUsage.rst:3523 +#: ../../../AMDGPUUsage.rst:3731 msgid "" "By having separate DWARF procedures for each region, they can be reused to " "define the value for any nested region. This reduces the total size of the " "DWARF operation expressions." msgstr "" -#: ../../../AMDGPUUsage.rst:3527 +#: ../../../AMDGPUUsage.rst:3735 msgid "The following provides an example using pseudo LLVM MIR." msgstr "" -#: ../../../AMDGPUUsage.rst:3659 +#: ../../../AMDGPUUsage.rst:3867 msgid "" "The DWARF procedure ``%__active_lane_pc`` is used to update the lane pc " "elements that are active, with the current program location." msgstr "" -#: ../../../AMDGPUUsage.rst:3662 +#: ../../../AMDGPUUsage.rst:3870 msgid "" "Artificial variables %__lex_1_save_exec and %__lex_1_1_save_exec are created " "for the execution masks saved on entry to a region. Using the ``DBG_VALUE`` " @@ -8228,7 +8616,7 @@ msgid "" "The compiler may allocate them to registers or spill them to memory." msgstr "" -#: ../../../AMDGPUUsage.rst:3668 +#: ../../../AMDGPUUsage.rst:3876 msgid "" "The DWARF procedures for each region use the values of the saved execution " "mask artificial variables to only update the lanes that are active on entry " @@ -8237,7 +8625,7 @@ msgid "" "subprogram, then will have the undefined location description." msgstr "" -#: ../../../AMDGPUUsage.rst:3674 +#: ../../../AMDGPUUsage.rst:3882 msgid "" "Other structured control flow regions can be handled similarly. For example, " "loops would set the divergent program location for the region at the end of " @@ -8245,31 +8633,31 @@ msgid "" "must have exited the loop." msgstr "" -#: ../../../AMDGPUUsage.rst:3679 +#: ../../../AMDGPUUsage.rst:3887 msgid "" "An ``IF/THEN/ELSEIF/ELSEIF/...`` region can be treated as a nest of ``IF/" "THEN/ELSE`` regions." msgstr "" -#: ../../../AMDGPUUsage.rst:3682 +#: ../../../AMDGPUUsage.rst:3890 msgid "" "The DWARF procedures can use the active lane artificial variable described " "in :ref:`amdgpu-dwarf-amdgpu-dw-at-llvm-active-lane` rather than the actual " "``EXEC`` mask in order to support whole or quad wavefront mode." msgstr "" -#: ../../../AMDGPUUsage.rst:3689 +#: ../../../AMDGPUUsage.rst:3897 msgid "``DW_AT_LLVM_active_lane``" msgstr "" -#: ../../../AMDGPUUsage.rst:3691 +#: ../../../AMDGPUUsage.rst:3899 msgid "" "The ``DW_AT_LLVM_active_lane`` attribute on a subprogram debugger " "information entry is used to specify the lanes that are conceptually active " "for a SIMT thread." msgstr "" -#: ../../../AMDGPUUsage.rst:3695 +#: ../../../AMDGPUUsage.rst:3903 msgid "" "The execution mask may be modified to implement whole or quad wavefront mode " "operations. For example, all lanes may need to temporarily be made active to " @@ -8280,7 +8668,7 @@ msgid "" "not the ``EXEC`` value." msgstr "" -#: ../../../AMDGPUUsage.rst:3703 +#: ../../../AMDGPUUsage.rst:3911 msgid "" "This is handled by defining an artificial variable for the active lane mask. " "The active lane mask artificial variable would be the actual ``EXEC`` mask " @@ -8290,83 +8678,83 @@ msgid "" "``DW_AT_LLVM_active_lane`` attribute." msgstr "" -#: ../../../AMDGPUUsage.rst:3711 +#: ../../../AMDGPUUsage.rst:3919 msgid "``DW_AT_LLVM_augmentation``" msgstr "" -#: ../../../AMDGPUUsage.rst:3713 +#: ../../../AMDGPUUsage.rst:3921 msgid "" "For AMDGPU, the ``DW_AT_LLVM_augmentation`` attribute of a compilation unit " "debugger information entry has the following value for the augmentation " "string:" msgstr "" -#: ../../../AMDGPUUsage.rst:3720 +#: ../../../AMDGPUUsage.rst:3928 msgid "" "The \"vX.Y\" specifies the major X and minor Y version number of the AMDGPU " "extensions used in the DWARF of the compilation unit. The version number " "conforms to [SEMVER]_." msgstr "" -#: ../../../AMDGPUUsage.rst:3725 +#: ../../../AMDGPUUsage.rst:3933 msgid "Call Frame Information" msgstr "" -#: ../../../AMDGPUUsage.rst:3727 +#: ../../../AMDGPUUsage.rst:3935 msgid "" "DWARF Call Frame Information (CFI) describes how a consumer can virtually " "*unwind* call frames in a running process or core dump. See DWARF Version 5 " "section 6.4 and :ref:`amdgpu-dwarf-call-frame-information`." msgstr "" -#: ../../../AMDGPUUsage.rst:3731 +#: ../../../AMDGPUUsage.rst:3939 msgid "" "For AMDGPU, the Common Information Entry (CIE) fields have the following " "values:" msgstr "" -#: ../../../AMDGPUUsage.rst:3733 +#: ../../../AMDGPUUsage.rst:3941 msgid "" "``augmentation`` string contains the following null-terminated UTF-8 string:" msgstr "" -#: ../../../AMDGPUUsage.rst:3739 +#: ../../../AMDGPUUsage.rst:3947 msgid "" "The ``vX.Y`` specifies the major X and minor Y version number of the AMDGPU " "extensions used in this CIE or to the FDEs that use it. The version number " "conforms to [SEMVER]_." msgstr "" -#: ../../../AMDGPUUsage.rst:3743 +#: ../../../AMDGPUUsage.rst:3951 msgid "" "``address_size`` for the ``Global`` address space is defined in :ref:`amdgpu-" "dwarf-address-space-identifier`." msgstr "" -#: ../../../AMDGPUUsage.rst:3746 +#: ../../../AMDGPUUsage.rst:3954 msgid "" "``segment_selector_size`` is 0 as AMDGPU does not use a segment selector." msgstr "" -#: ../../../AMDGPUUsage.rst:3748 +#: ../../../AMDGPUUsage.rst:3956 msgid "``code_alignment_factor`` is 4 bytes." msgstr "" -#: ../../../AMDGPUUsage.rst:3752 ../../../AMDGPUUsage.rst:3758 +#: ../../../AMDGPUUsage.rst:3960 ../../../AMDGPUUsage.rst:3966 msgid "Add to :ref:`amdgpu-processor-table` table." msgstr "" -#: ../../../AMDGPUUsage.rst:3754 +#: ../../../AMDGPUUsage.rst:3962 msgid "``data_alignment_factor`` is 4 bytes." msgstr "" -#: ../../../AMDGPUUsage.rst:3760 +#: ../../../AMDGPUUsage.rst:3968 msgid "" "``return_address_register`` is ``PC_32`` for 32-bit processes and ``PC_64`` " "for 64-bit processes defined in :ref:`amdgpu-dwarf-register-identifier`." msgstr "" -#: ../../../AMDGPUUsage.rst:3763 +#: ../../../AMDGPUUsage.rst:3971 msgid "" "``initial_instructions`` Since a subprogram X with fewer registers can be " "called from subprogram Y that has more allocated, X will not change any of " @@ -8374,67 +8762,67 @@ msgid "" "for all columns is ``same value``." msgstr "" -#: ../../../AMDGPUUsage.rst:3768 +#: ../../../AMDGPUUsage.rst:3976 msgid "" "For AMDGPU the register number follows the numbering defined in :ref:`amdgpu-" "dwarf-register-identifier`." msgstr "" -#: ../../../AMDGPUUsage.rst:3771 +#: ../../../AMDGPUUsage.rst:3979 msgid "" "For AMDGPU the instructions are variable size. A consumer can subtract 1 " "from the return address to get the address of a byte within the call site " "instructions. See DWARF Version 5 section 6.4.4." msgstr "" -#: ../../../AMDGPUUsage.rst:3776 +#: ../../../AMDGPUUsage.rst:3984 msgid "Accelerated Access" msgstr "" -#: ../../../AMDGPUUsage.rst:3778 +#: ../../../AMDGPUUsage.rst:3986 msgid "See DWARF Version 5 section 6.1." msgstr "" -#: ../../../AMDGPUUsage.rst:3781 +#: ../../../AMDGPUUsage.rst:3989 msgid "Lookup By Name Section Header" msgstr "" -#: ../../../AMDGPUUsage.rst:3783 +#: ../../../AMDGPUUsage.rst:3991 msgid "" "See DWARF Version 5 section 6.1.1.4.1 and :ref:`amdgpu-dwarf-lookup-by-name`." msgstr "" -#: ../../../AMDGPUUsage.rst:3785 +#: ../../../AMDGPUUsage.rst:3993 msgid "For AMDGPU the lookup by name section header table:" msgstr "" -#: ../../../AMDGPUUsage.rst:3787 +#: ../../../AMDGPUUsage.rst:3995 msgid "``augmentation_string_size`` (uword)" msgstr "" -#: ../../../AMDGPUUsage.rst:3789 +#: ../../../AMDGPUUsage.rst:3997 msgid "" "Set to the length of the ``augmentation_string`` value which is always a " "multiple of 4." msgstr "" -#: ../../../AMDGPUUsage.rst:3792 +#: ../../../AMDGPUUsage.rst:4000 msgid "``augmentation_string`` (sequence of UTF-8 characters)" msgstr "" -#: ../../../AMDGPUUsage.rst:3794 +#: ../../../AMDGPUUsage.rst:4002 msgid "" "Contains the following UTF-8 string null padded to a multiple of 4 bytes:" msgstr "" -#: ../../../AMDGPUUsage.rst:3800 +#: ../../../AMDGPUUsage.rst:4008 msgid "" "The \"vX.Y\" specifies the major X and minor Y version number of the AMDGPU " "extensions used in the DWARF of this index. The version number conforms to " "[SEMVER]_." msgstr "" -#: ../../../AMDGPUUsage.rst:3806 +#: ../../../AMDGPUUsage.rst:4014 msgid "" "This is different to the DWARF Version 5 definition that requires the first " "4 characters to be the vendor ID. But this is consistent with the other " @@ -8442,50 +8830,50 @@ msgid "" "backwards compatibility may be more desirable." msgstr "" -#: ../../../AMDGPUUsage.rst:3812 +#: ../../../AMDGPUUsage.rst:4020 msgid "Lookup By Address Section Header" msgstr "" -#: ../../../AMDGPUUsage.rst:3814 +#: ../../../AMDGPUUsage.rst:4022 msgid "See DWARF Version 5 section 6.1.2." msgstr "" -#: ../../../AMDGPUUsage.rst:3816 +#: ../../../AMDGPUUsage.rst:4024 msgid "For AMDGPU the lookup by address section header table:" msgstr "" -#: ../../../AMDGPUUsage.rst:3818 ../../../AMDGPUUsage.rst:3848 -#: ../../../AMDGPUUsage.rst:3910 +#: ../../../AMDGPUUsage.rst:4026 ../../../AMDGPUUsage.rst:4056 +#: ../../../AMDGPUUsage.rst:4118 msgid "``address_size`` (ubyte)" msgstr "" -#: ../../../AMDGPUUsage.rst:3820 +#: ../../../AMDGPUUsage.rst:4028 msgid "" "Match the address size for the ``Global`` address space defined in :ref:" "`amdgpu-dwarf-address-space-identifier`." msgstr "" -#: ../../../AMDGPUUsage.rst:3823 ../../../AMDGPUUsage.rst:3851 +#: ../../../AMDGPUUsage.rst:4031 ../../../AMDGPUUsage.rst:4059 msgid "``segment_selector_size`` (ubyte)" msgstr "" -#: ../../../AMDGPUUsage.rst:3825 +#: ../../../AMDGPUUsage.rst:4033 msgid "" "AMDGPU does not use a segment selector so this is 0. The entries in the ``." "debug_aranges`` do not have a segment selector." msgstr "" -#: ../../../AMDGPUUsage.rst:3829 +#: ../../../AMDGPUUsage.rst:4037 msgid "Line Number Information" msgstr "" -#: ../../../AMDGPUUsage.rst:3831 +#: ../../../AMDGPUUsage.rst:4039 msgid "" "See DWARF Version 5 section 6.2 and :ref:`amdgpu-dwarf-line-number-" "information`." msgstr "" -#: ../../../AMDGPUUsage.rst:3833 +#: ../../../AMDGPUUsage.rst:4041 msgid "" "AMDGPU does not use the ``isa`` state machine registers and always sets it " "to 0. The instruction set must be obtained from the ELF file header " @@ -8493,45 +8881,45 @@ msgid "" "Header `). See DWARF Version 5 section 6.2.2." msgstr "" -#: ../../../AMDGPUUsage.rst:3840 +#: ../../../AMDGPUUsage.rst:4048 msgid "" "Should the ``isa`` state machine register be used to indicate if the code is " "in wavefront32 or wavefront64 mode? Or used to specify the architecture ISA?" msgstr "" -#: ../../../AMDGPUUsage.rst:3843 +#: ../../../AMDGPUUsage.rst:4051 msgid "" "For AMDGPU the line number program header fields have the following values " "(see DWARF Version 5 section 6.2.4):" msgstr "" -#: ../../../AMDGPUUsage.rst:3847 ../../../AMDGPUUsage.rst:3909 +#: ../../../AMDGPUUsage.rst:4055 ../../../AMDGPUUsage.rst:4117 msgid "" "Matches the address size for the ``Global`` address space defined in :ref:" "`amdgpu-dwarf-address-space-identifier`." msgstr "" -#: ../../../AMDGPUUsage.rst:3851 +#: ../../../AMDGPUUsage.rst:4059 msgid "AMDGPU does not use a segment selector so this is 0." msgstr "" -#: ../../../AMDGPUUsage.rst:3854 +#: ../../../AMDGPUUsage.rst:4062 msgid "``minimum_instruction_length`` (ubyte)" msgstr "" -#: ../../../AMDGPUUsage.rst:3854 +#: ../../../AMDGPUUsage.rst:4062 msgid "For GFX9-GFX11 this is 4." msgstr "" -#: ../../../AMDGPUUsage.rst:3857 +#: ../../../AMDGPUUsage.rst:4065 msgid "``maximum_operations_per_instruction`` (ubyte)" msgstr "" -#: ../../../AMDGPUUsage.rst:3857 +#: ../../../AMDGPUUsage.rst:4065 msgid "For GFX9-GFX11 this is 1." msgstr "" -#: ../../../AMDGPUUsage.rst:3859 +#: ../../../AMDGPUUsage.rst:4067 msgid "" "Source text for online-compiled programs (for example, those compiled by the " "OpenCL language runtime) may be embedded into the DWARF Version 5 line " @@ -8540,108 +8928,108 @@ msgid "" "`." msgstr "" -#: ../../../AMDGPUUsage.rst:3865 +#: ../../../AMDGPUUsage.rst:4073 msgid "" "The Clang option used to control source embedding in AMDGPU is defined in :" "ref:`amdgpu-clang-debug-options-table`." msgstr "" -#: ../../../AMDGPUUsage.rst:3868 +#: ../../../AMDGPUUsage.rst:4076 msgid "AMDGPU Clang Debug Options" msgstr "" -#: ../../../AMDGPUUsage.rst:3872 +#: ../../../AMDGPUUsage.rst:4080 msgid "Debug Flag" msgstr "" -#: ../../../AMDGPUUsage.rst:3874 +#: ../../../AMDGPUUsage.rst:4082 msgid "-g[no-]embed-source" msgstr "" -#: ../../../AMDGPUUsage.rst:3874 +#: ../../../AMDGPUUsage.rst:4082 msgid "" "Enable/disable embedding source text in DWARF debug sections. Useful for " "environments where source cannot be written to disk, such as when performing " "online compilation." msgstr "" -#: ../../../AMDGPUUsage.rst:3883 +#: ../../../AMDGPUUsage.rst:4091 msgid "``-gembed-source``" msgstr "" -#: ../../../AMDGPUUsage.rst:3883 +#: ../../../AMDGPUUsage.rst:4091 msgid "Enable the embedded source." msgstr "" -#: ../../../AMDGPUUsage.rst:3886 +#: ../../../AMDGPUUsage.rst:4094 msgid "``-gno-embed-source``" msgstr "" -#: ../../../AMDGPUUsage.rst:3886 +#: ../../../AMDGPUUsage.rst:4094 msgid "Disable the embedded source." msgstr "" -#: ../../../AMDGPUUsage.rst:3889 +#: ../../../AMDGPUUsage.rst:4097 msgid "32-Bit and 64-Bit DWARF Formats" msgstr "" -#: ../../../AMDGPUUsage.rst:3891 +#: ../../../AMDGPUUsage.rst:4099 msgid "" "See DWARF Version 5 section 7.4 and :ref:`amdgpu-dwarf-32-bit-and-64-bit-" "dwarf-formats`." msgstr "" -#: ../../../AMDGPUUsage.rst:3894 +#: ../../../AMDGPUUsage.rst:4102 msgid "For AMDGPU:" msgstr "" -#: ../../../AMDGPUUsage.rst:3896 +#: ../../../AMDGPUUsage.rst:4104 msgid "" "For the ``amdgcn`` target architecture only the 64-bit process address space " "is supported." msgstr "" -#: ../../../AMDGPUUsage.rst:3899 +#: ../../../AMDGPUUsage.rst:4107 msgid "" "The producer can generate either 32-bit or 64-bit DWARF format. LLVM " "generates the 32-bit DWARF format." msgstr "" -#: ../../../AMDGPUUsage.rst:3903 +#: ../../../AMDGPUUsage.rst:4111 msgid "Unit Headers" msgstr "" -#: ../../../AMDGPUUsage.rst:3905 +#: ../../../AMDGPUUsage.rst:4113 msgid "" "For AMDGPU the following values apply for each of the unit headers described " "in DWARF Version 5 sections 7.5.1.1, 7.5.1.2, and 7.5.1.3:" msgstr "" -#: ../../../AMDGPUUsage.rst:3915 +#: ../../../AMDGPUUsage.rst:4123 msgid "Code Conventions" msgstr "" -#: ../../../AMDGPUUsage.rst:3917 +#: ../../../AMDGPUUsage.rst:4125 msgid "" "This section provides code conventions used for each supported target triple " "OS (see :ref:`amdgpu-target-triples`)." msgstr "" -#: ../../../AMDGPUUsage.rst:3921 +#: ../../../AMDGPUUsage.rst:4129 msgid "AMDHSA" msgstr "" -#: ../../../AMDGPUUsage.rst:3923 +#: ../../../AMDGPUUsage.rst:4131 msgid "" "This section provides code conventions used when the target triple OS is " "``amdhsa`` (see :ref:`amdgpu-target-triples`)." msgstr "" -#: ../../../AMDGPUUsage.rst:3929 ../../../AMDGPUUsage.rst:19315 +#: ../../../AMDGPUUsage.rst:4137 ../../../AMDGPUUsage.rst:20304 msgid "Code Object Metadata" msgstr "" -#: ../../../AMDGPUUsage.rst:3931 +#: ../../../AMDGPUUsage.rst:4139 msgid "" "The code object metadata specifies extensible metadata associated with the " "code objects executed on HSA [HSA]_ compatible runtimes (see :ref:`amdgpu-" @@ -8651,7 +9039,7 @@ msgid "" "v4` and :ref:`amdgpu-amdhsa-code-object-metadata-v5`." msgstr "" -#: ../../../AMDGPUUsage.rst:3939 +#: ../../../AMDGPUUsage.rst:4147 msgid "" "Code object metadata is specified in a note record (see :ref:`amdgpu-note-" "records`) and is required when the target triple OS is ``amdhsa`` (see :ref:" @@ -8662,376 +9050,376 @@ msgid "" "the AMD OpenCL runtime records kernel argument information." msgstr "" -#: ../../../AMDGPUUsage.rst:3950 +#: ../../../AMDGPUUsage.rst:4158 msgid "Code Object V2 Metadata" msgstr "" -#: ../../../AMDGPUUsage.rst:3955 +#: ../../../AMDGPUUsage.rst:4163 msgid "" "Code object V2 metadata is specified by the ``NT_AMD_HSA_METADATA`` note " "record (see :ref:`amdgpu-note-records-v2`)." msgstr "" -#: ../../../AMDGPUUsage.rst:3958 +#: ../../../AMDGPUUsage.rst:4166 msgid "" "The metadata is specified as a YAML formatted string (see [YAML]_ and :doc:" "`YamlIO`)." msgstr "" -#: ../../../AMDGPUUsage.rst:3963 +#: ../../../AMDGPUUsage.rst:4171 msgid "" "Is the string null terminated? It probably should not if YAML allows it to " "contain null characters, otherwise it should be." msgstr "" -#: ../../../AMDGPUUsage.rst:3966 +#: ../../../AMDGPUUsage.rst:4174 msgid "" "The metadata is represented as a single YAML document comprised of the " "mapping defined in table :ref:`amdgpu-amdhsa-code-object-metadata-map-v2-" "table` and referenced tables." msgstr "" -#: ../../../AMDGPUUsage.rst:3970 +#: ../../../AMDGPUUsage.rst:4178 msgid "" "For boolean values, the string values of ``false`` and ``true`` are used for " "false and true respectively." msgstr "" -#: ../../../AMDGPUUsage.rst:3973 +#: ../../../AMDGPUUsage.rst:4181 msgid "" "Additional information can be added to the mappings. To avoid conflicts, any " "non-AMD key names should be prefixed by \"*vendor-name*.\"." msgstr "" -#: ../../../AMDGPUUsage.rst:3976 +#: ../../../AMDGPUUsage.rst:4184 msgid "AMDHSA Code Object V2 Metadata Map" msgstr "" -#: ../../../AMDGPUUsage.rst:3980 ../../../AMDGPUUsage.rst:4024 -#: ../../../AMDGPUUsage.rst:4061 ../../../AMDGPUUsage.rst:4102 -#: ../../../AMDGPUUsage.rst:4301 ../../../AMDGPUUsage.rst:4404 -#: ../../../AMDGPUUsage.rst:4449 ../../../AMDGPUUsage.rst:4633 -#: ../../../AMDGPUUsage.rst:4846 ../../../AMDGPUUsage.rst:4878 -#: ../../../AMDGPUUsage.rst:4892 ../../../AMDGPUUsage.rst:4906 -#: ../../../AMDGPUUsage.rst:4926 ../../../AMDGPUUsage.rst:5041 -#: ../../../AMDGPUUsage.rst:19341 ../../../AMDGPUUsage.rst:19356 -#: ../../../AMDGPUUsage.rst:19427 ../../../AMDGPUUsage.rst:19443 -#: ../../../AMDGPUUsage.rst:19467 ../../../AMDGPUUsage.rst:19484 -#: ../../../AMDGPUUsage.rst:19519 ../../../AMDGPUUsage.rst:19532 +#: ../../../AMDGPUUsage.rst:4188 ../../../AMDGPUUsage.rst:4232 +#: ../../../AMDGPUUsage.rst:4269 ../../../AMDGPUUsage.rst:4310 +#: ../../../AMDGPUUsage.rst:4509 ../../../AMDGPUUsage.rst:4612 +#: ../../../AMDGPUUsage.rst:4657 ../../../AMDGPUUsage.rst:4841 +#: ../../../AMDGPUUsage.rst:5054 ../../../AMDGPUUsage.rst:5086 +#: ../../../AMDGPUUsage.rst:5100 ../../../AMDGPUUsage.rst:5114 +#: ../../../AMDGPUUsage.rst:5134 ../../../AMDGPUUsage.rst:5249 +#: ../../../AMDGPUUsage.rst:20330 ../../../AMDGPUUsage.rst:20345 +#: ../../../AMDGPUUsage.rst:20416 ../../../AMDGPUUsage.rst:20432 +#: ../../../AMDGPUUsage.rst:20456 ../../../AMDGPUUsage.rst:20473 +#: ../../../AMDGPUUsage.rst:20508 ../../../AMDGPUUsage.rst:20521 msgid "String Key" msgstr "" -#: ../../../AMDGPUUsage.rst:3980 ../../../AMDGPUUsage.rst:4024 -#: ../../../AMDGPUUsage.rst:4061 ../../../AMDGPUUsage.rst:4102 -#: ../../../AMDGPUUsage.rst:4301 ../../../AMDGPUUsage.rst:4404 -#: ../../../AMDGPUUsage.rst:4449 ../../../AMDGPUUsage.rst:4633 -#: ../../../AMDGPUUsage.rst:4846 ../../../AMDGPUUsage.rst:4878 -#: ../../../AMDGPUUsage.rst:4892 ../../../AMDGPUUsage.rst:4906 -#: ../../../AMDGPUUsage.rst:4926 ../../../AMDGPUUsage.rst:5041 -#: ../../../AMDGPUUsage.rst:19341 ../../../AMDGPUUsage.rst:19356 -#: ../../../AMDGPUUsage.rst:19427 ../../../AMDGPUUsage.rst:19443 -#: ../../../AMDGPUUsage.rst:19467 ../../../AMDGPUUsage.rst:19484 -#: ../../../AMDGPUUsage.rst:19519 ../../../AMDGPUUsage.rst:19532 -#: ../../../AMDGPUUsage.rst:19554 +#: ../../../AMDGPUUsage.rst:4188 ../../../AMDGPUUsage.rst:4232 +#: ../../../AMDGPUUsage.rst:4269 ../../../AMDGPUUsage.rst:4310 +#: ../../../AMDGPUUsage.rst:4509 ../../../AMDGPUUsage.rst:4612 +#: ../../../AMDGPUUsage.rst:4657 ../../../AMDGPUUsage.rst:4841 +#: ../../../AMDGPUUsage.rst:5054 ../../../AMDGPUUsage.rst:5086 +#: ../../../AMDGPUUsage.rst:5100 ../../../AMDGPUUsage.rst:5114 +#: ../../../AMDGPUUsage.rst:5134 ../../../AMDGPUUsage.rst:5249 +#: ../../../AMDGPUUsage.rst:20330 ../../../AMDGPUUsage.rst:20345 +#: ../../../AMDGPUUsage.rst:20416 ../../../AMDGPUUsage.rst:20432 +#: ../../../AMDGPUUsage.rst:20456 ../../../AMDGPUUsage.rst:20473 +#: ../../../AMDGPUUsage.rst:20508 ../../../AMDGPUUsage.rst:20521 +#: ../../../AMDGPUUsage.rst:20543 msgid "Value Type" msgstr "" -#: ../../../AMDGPUUsage.rst:3980 ../../../AMDGPUUsage.rst:4024 -#: ../../../AMDGPUUsage.rst:4061 ../../../AMDGPUUsage.rst:4102 -#: ../../../AMDGPUUsage.rst:4301 ../../../AMDGPUUsage.rst:4404 -#: ../../../AMDGPUUsage.rst:4449 ../../../AMDGPUUsage.rst:4633 -#: ../../../AMDGPUUsage.rst:4846 ../../../AMDGPUUsage.rst:4878 -#: ../../../AMDGPUUsage.rst:4892 ../../../AMDGPUUsage.rst:4906 -#: ../../../AMDGPUUsage.rst:4926 ../../../AMDGPUUsage.rst:5041 -#: ../../../AMDGPUUsage.rst:19341 ../../../AMDGPUUsage.rst:19356 -#: ../../../AMDGPUUsage.rst:19443 ../../../AMDGPUUsage.rst:19484 +#: ../../../AMDGPUUsage.rst:4188 ../../../AMDGPUUsage.rst:4232 +#: ../../../AMDGPUUsage.rst:4269 ../../../AMDGPUUsage.rst:4310 +#: ../../../AMDGPUUsage.rst:4509 ../../../AMDGPUUsage.rst:4612 +#: ../../../AMDGPUUsage.rst:4657 ../../../AMDGPUUsage.rst:4841 +#: ../../../AMDGPUUsage.rst:5054 ../../../AMDGPUUsage.rst:5086 +#: ../../../AMDGPUUsage.rst:5100 ../../../AMDGPUUsage.rst:5114 +#: ../../../AMDGPUUsage.rst:5134 ../../../AMDGPUUsage.rst:5249 +#: ../../../AMDGPUUsage.rst:20330 ../../../AMDGPUUsage.rst:20345 +#: ../../../AMDGPUUsage.rst:20432 ../../../AMDGPUUsage.rst:20473 msgid "Required?" msgstr "" -#: ../../../AMDGPUUsage.rst:3982 +#: ../../../AMDGPUUsage.rst:4190 msgid "\"Version\"" msgstr "" -#: ../../../AMDGPUUsage.rst:3982 ../../../AMDGPUUsage.rst:4037 -#: ../../../AMDGPUUsage.rst:4406 ../../../AMDGPUUsage.rst:4464 -#: ../../../AMDGPUUsage.rst:4848 ../../../AMDGPUUsage.rst:4880 -#: ../../../AMDGPUUsage.rst:19343 ../../../AMDGPUUsage.rst:19369 -#: ../../../AMDGPUUsage.rst:19445 ../../../AMDGPUUsage.rst:19534 +#: ../../../AMDGPUUsage.rst:4190 ../../../AMDGPUUsage.rst:4245 +#: ../../../AMDGPUUsage.rst:4614 ../../../AMDGPUUsage.rst:4672 +#: ../../../AMDGPUUsage.rst:5056 ../../../AMDGPUUsage.rst:5088 +#: ../../../AMDGPUUsage.rst:20332 ../../../AMDGPUUsage.rst:20358 +#: ../../../AMDGPUUsage.rst:20434 ../../../AMDGPUUsage.rst:20523 msgid "sequence of 2 integers" msgstr "" -#: ../../../AMDGPUUsage.rst:3982 ../../../AMDGPUUsage.rst:4012 -#: ../../../AMDGPUUsage.rst:4026 ../../../AMDGPUUsage.rst:4027 -#: ../../../AMDGPUUsage.rst:4106 ../../../AMDGPUUsage.rst:4107 -#: ../../../AMDGPUUsage.rst:4109 ../../../AMDGPUUsage.rst:4303 -#: ../../../AMDGPUUsage.rst:4308 ../../../AMDGPUUsage.rst:4319 -#: ../../../AMDGPUUsage.rst:4329 ../../../AMDGPUUsage.rst:4334 -#: ../../../AMDGPUUsage.rst:4336 ../../../AMDGPUUsage.rst:4352 -#: ../../../AMDGPUUsage.rst:4356 ../../../AMDGPUUsage.rst:4406 -#: ../../../AMDGPUUsage.rst:4436 ../../../AMDGPUUsage.rst:4451 -#: ../../../AMDGPUUsage.rst:4452 ../../../AMDGPUUsage.rst:4504 -#: ../../../AMDGPUUsage.rst:4509 ../../../AMDGPUUsage.rst:4520 -#: ../../../AMDGPUUsage.rst:4530 ../../../AMDGPUUsage.rst:4535 -#: ../../../AMDGPUUsage.rst:4537 ../../../AMDGPUUsage.rst:4558 -#: ../../../AMDGPUUsage.rst:4567 ../../../AMDGPUUsage.rst:4571 -#: ../../../AMDGPUUsage.rst:4637 ../../../AMDGPUUsage.rst:4638 -#: ../../../AMDGPUUsage.rst:4642 ../../../AMDGPUUsage.rst:4848 -#: ../../../AMDGPUUsage.rst:4852 ../../../AMDGPUUsage.rst:4880 -#: ../../../AMDGPUUsage.rst:4928 ../../../AMDGPUUsage.rst:19343 -#: ../../../AMDGPUUsage.rst:19345 ../../../AMDGPUUsage.rst:19369 -#: ../../../AMDGPUUsage.rst:19388 ../../../AMDGPUUsage.rst:19445 -#: ../../../AMDGPUUsage.rst:19448 ../../../AMDGPUUsage.rst:20508 -#: ../../../AMDGPUUsage.rst:20511 ../../../AMDGPUUsage.rst:20514 +#: ../../../AMDGPUUsage.rst:4190 ../../../AMDGPUUsage.rst:4220 +#: ../../../AMDGPUUsage.rst:4234 ../../../AMDGPUUsage.rst:4235 +#: ../../../AMDGPUUsage.rst:4314 ../../../AMDGPUUsage.rst:4315 +#: ../../../AMDGPUUsage.rst:4317 ../../../AMDGPUUsage.rst:4511 +#: ../../../AMDGPUUsage.rst:4516 ../../../AMDGPUUsage.rst:4527 +#: ../../../AMDGPUUsage.rst:4537 ../../../AMDGPUUsage.rst:4542 +#: ../../../AMDGPUUsage.rst:4544 ../../../AMDGPUUsage.rst:4560 +#: ../../../AMDGPUUsage.rst:4564 ../../../AMDGPUUsage.rst:4614 +#: ../../../AMDGPUUsage.rst:4644 ../../../AMDGPUUsage.rst:4659 +#: ../../../AMDGPUUsage.rst:4660 ../../../AMDGPUUsage.rst:4712 +#: ../../../AMDGPUUsage.rst:4717 ../../../AMDGPUUsage.rst:4728 +#: ../../../AMDGPUUsage.rst:4738 ../../../AMDGPUUsage.rst:4743 +#: ../../../AMDGPUUsage.rst:4745 ../../../AMDGPUUsage.rst:4766 +#: ../../../AMDGPUUsage.rst:4775 ../../../AMDGPUUsage.rst:4779 +#: ../../../AMDGPUUsage.rst:4845 ../../../AMDGPUUsage.rst:4846 +#: ../../../AMDGPUUsage.rst:4850 ../../../AMDGPUUsage.rst:5056 +#: ../../../AMDGPUUsage.rst:5060 ../../../AMDGPUUsage.rst:5088 +#: ../../../AMDGPUUsage.rst:5136 ../../../AMDGPUUsage.rst:20332 +#: ../../../AMDGPUUsage.rst:20334 ../../../AMDGPUUsage.rst:20358 +#: ../../../AMDGPUUsage.rst:20377 ../../../AMDGPUUsage.rst:20434 +#: ../../../AMDGPUUsage.rst:20437 ../../../AMDGPUUsage.rst:21497 +#: ../../../AMDGPUUsage.rst:21500 ../../../AMDGPUUsage.rst:21503 msgid "Required" msgstr "" -#: ../../../AMDGPUUsage.rst:3982 ../../../AMDGPUUsage.rst:4406 -#: ../../../AMDGPUUsage.rst:4848 ../../../AMDGPUUsage.rst:4880 +#: ../../../AMDGPUUsage.rst:4190 ../../../AMDGPUUsage.rst:4614 +#: ../../../AMDGPUUsage.rst:5056 ../../../AMDGPUUsage.rst:5088 msgid "The first integer is the major version. Currently 1." msgstr "" -#: ../../../AMDGPUUsage.rst:3984 ../../../AMDGPUUsage.rst:4408 +#: ../../../AMDGPUUsage.rst:4192 ../../../AMDGPUUsage.rst:4616 msgid "The second integer is the minor version. Currently 0." msgstr "" -#: ../../../AMDGPUUsage.rst:3986 +#: ../../../AMDGPUUsage.rst:4194 msgid "\"Printf\"" msgstr "" -#: ../../../AMDGPUUsage.rst:3986 ../../../AMDGPUUsage.rst:4410 +#: ../../../AMDGPUUsage.rst:4194 ../../../AMDGPUUsage.rst:4618 msgid "sequence of strings" msgstr "" -#: ../../../AMDGPUUsage.rst:3986 ../../../AMDGPUUsage.rst:4410 +#: ../../../AMDGPUUsage.rst:4194 ../../../AMDGPUUsage.rst:4618 msgid "" "Each string is encoded information about a printf function call. The encoded " "information is organized as fields separated by colon (':'):" msgstr "" -#: ../../../AMDGPUUsage.rst:3991 ../../../AMDGPUUsage.rst:4415 +#: ../../../AMDGPUUsage.rst:4199 ../../../AMDGPUUsage.rst:4623 msgid "``ID:N:S[0]:S[1]:...:S[N-1]:FormatString``" msgstr "" -#: ../../../AMDGPUUsage.rst:3993 ../../../AMDGPUUsage.rst:4417 +#: ../../../AMDGPUUsage.rst:4201 ../../../AMDGPUUsage.rst:4625 msgid "where:" msgstr "" -#: ../../../AMDGPUUsage.rst:3997 ../../../AMDGPUUsage.rst:4421 +#: ../../../AMDGPUUsage.rst:4205 ../../../AMDGPUUsage.rst:4629 msgid "``ID``" msgstr "" -#: ../../../AMDGPUUsage.rst:3996 ../../../AMDGPUUsage.rst:4420 +#: ../../../AMDGPUUsage.rst:4204 ../../../AMDGPUUsage.rst:4628 msgid "A 32-bit integer as a unique id for each printf function call" msgstr "" -#: ../../../AMDGPUUsage.rst:4002 ../../../AMDGPUUsage.rst:4426 +#: ../../../AMDGPUUsage.rst:4210 ../../../AMDGPUUsage.rst:4634 msgid "``N``" msgstr "" -#: ../../../AMDGPUUsage.rst:4000 ../../../AMDGPUUsage.rst:4424 +#: ../../../AMDGPUUsage.rst:4208 ../../../AMDGPUUsage.rst:4632 msgid "" "A 32-bit integer equal to the number of arguments of printf function call " "minus 1" msgstr "" -#: ../../../AMDGPUUsage.rst:4007 ../../../AMDGPUUsage.rst:4431 +#: ../../../AMDGPUUsage.rst:4215 ../../../AMDGPUUsage.rst:4639 msgid "``S[i]`` (where i = 0, 1, ... , N-1)" msgstr "" -#: ../../../AMDGPUUsage.rst:4005 ../../../AMDGPUUsage.rst:4429 +#: ../../../AMDGPUUsage.rst:4213 ../../../AMDGPUUsage.rst:4637 msgid "" "32-bit integers for the size in bytes of the i-th FormatString argument of " "the printf function call" msgstr "" -#: ../../../AMDGPUUsage.rst:4010 ../../../AMDGPUUsage.rst:4434 +#: ../../../AMDGPUUsage.rst:4218 ../../../AMDGPUUsage.rst:4642 msgid "FormatString" msgstr "" -#: ../../../AMDGPUUsage.rst:4010 ../../../AMDGPUUsage.rst:4434 +#: ../../../AMDGPUUsage.rst:4218 ../../../AMDGPUUsage.rst:4642 msgid "The format string passed to the printf function call." msgstr "" -#: ../../../AMDGPUUsage.rst:4012 +#: ../../../AMDGPUUsage.rst:4220 msgid "\"Kernels\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4012 ../../../AMDGPUUsage.rst:4045 +#: ../../../AMDGPUUsage.rst:4220 ../../../AMDGPUUsage.rst:4253 msgid "sequence of mapping" msgstr "" -#: ../../../AMDGPUUsage.rst:4012 +#: ../../../AMDGPUUsage.rst:4220 msgid "" "Sequence of the mappings for each kernel in the code object. See :ref:" "`amdgpu-amdhsa-code-object-kernel-metadata-map-v2-table` for the definition " "of the mapping." msgstr "" -#: ../../../AMDGPUUsage.rst:4020 +#: ../../../AMDGPUUsage.rst:4228 msgid "AMDHSA Code Object V2 Kernel Metadata Map" msgstr "" -#: ../../../AMDGPUUsage.rst:4026 ../../../AMDGPUUsage.rst:4104 +#: ../../../AMDGPUUsage.rst:4234 ../../../AMDGPUUsage.rst:4312 msgid "\"Name\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4026 ../../../AMDGPUUsage.rst:4027 -#: ../../../AMDGPUUsage.rst:4029 ../../../AMDGPUUsage.rst:4079 -#: ../../../AMDGPUUsage.rst:4085 ../../../AMDGPUUsage.rst:4104 -#: ../../../AMDGPUUsage.rst:4105 ../../../AMDGPUUsage.rst:4109 -#: ../../../AMDGPUUsage.rst:4205 ../../../AMDGPUUsage.rst:4215 -#: ../../../AMDGPUUsage.rst:4237 ../../../AMDGPUUsage.rst:4252 -#: ../../../AMDGPUUsage.rst:4451 ../../../AMDGPUUsage.rst:4452 -#: ../../../AMDGPUUsage.rst:4454 ../../../AMDGPUUsage.rst:4489 -#: ../../../AMDGPUUsage.rst:4495 ../../../AMDGPUUsage.rst:4589 -#: ../../../AMDGPUUsage.rst:4635 ../../../AMDGPUUsage.rst:4636 -#: ../../../AMDGPUUsage.rst:4642 ../../../AMDGPUUsage.rst:4740 -#: ../../../AMDGPUUsage.rst:4749 ../../../AMDGPUUsage.rst:4771 -#: ../../../AMDGPUUsage.rst:4786 ../../../AMDGPUUsage.rst:4852 -#: ../../../AMDGPUUsage.rst:4928 ../../../AMDGPUUsage.rst:19358 -#: ../../../AMDGPUUsage.rst:19359 ../../../AMDGPUUsage.rst:19413 -#: ../../../AMDGPUUsage.rst:19486 ../../../AMDGPUUsage.rst:19542 +#: ../../../AMDGPUUsage.rst:4234 ../../../AMDGPUUsage.rst:4235 +#: ../../../AMDGPUUsage.rst:4237 ../../../AMDGPUUsage.rst:4287 +#: ../../../AMDGPUUsage.rst:4293 ../../../AMDGPUUsage.rst:4312 +#: ../../../AMDGPUUsage.rst:4313 ../../../AMDGPUUsage.rst:4317 +#: ../../../AMDGPUUsage.rst:4413 ../../../AMDGPUUsage.rst:4423 +#: ../../../AMDGPUUsage.rst:4445 ../../../AMDGPUUsage.rst:4460 +#: ../../../AMDGPUUsage.rst:4659 ../../../AMDGPUUsage.rst:4660 +#: ../../../AMDGPUUsage.rst:4662 ../../../AMDGPUUsage.rst:4697 +#: ../../../AMDGPUUsage.rst:4703 ../../../AMDGPUUsage.rst:4797 +#: ../../../AMDGPUUsage.rst:4843 ../../../AMDGPUUsage.rst:4844 +#: ../../../AMDGPUUsage.rst:4850 ../../../AMDGPUUsage.rst:4948 +#: ../../../AMDGPUUsage.rst:4957 ../../../AMDGPUUsage.rst:4979 +#: ../../../AMDGPUUsage.rst:4994 ../../../AMDGPUUsage.rst:5060 +#: ../../../AMDGPUUsage.rst:5136 ../../../AMDGPUUsage.rst:20347 +#: ../../../AMDGPUUsage.rst:20348 ../../../AMDGPUUsage.rst:20402 +#: ../../../AMDGPUUsage.rst:20475 ../../../AMDGPUUsage.rst:20531 msgid "string" msgstr "" -#: ../../../AMDGPUUsage.rst:4026 ../../../AMDGPUUsage.rst:4451 +#: ../../../AMDGPUUsage.rst:4234 ../../../AMDGPUUsage.rst:4659 msgid "Source name of the kernel." msgstr "" -#: ../../../AMDGPUUsage.rst:4027 +#: ../../../AMDGPUUsage.rst:4235 msgid "\"SymbolName\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4027 ../../../AMDGPUUsage.rst:4452 +#: ../../../AMDGPUUsage.rst:4235 ../../../AMDGPUUsage.rst:4660 msgid "Name of the kernel descriptor ELF symbol." msgstr "" -#: ../../../AMDGPUUsage.rst:4029 +#: ../../../AMDGPUUsage.rst:4237 msgid "\"Language\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4029 ../../../AMDGPUUsage.rst:4454 +#: ../../../AMDGPUUsage.rst:4237 ../../../AMDGPUUsage.rst:4662 msgid "Source language of the kernel. Values include:" msgstr "" -#: ../../../AMDGPUUsage.rst:4032 ../../../AMDGPUUsage.rst:4457 +#: ../../../AMDGPUUsage.rst:4240 ../../../AMDGPUUsage.rst:4665 msgid "\"OpenCL C\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4033 ../../../AMDGPUUsage.rst:4458 +#: ../../../AMDGPUUsage.rst:4241 ../../../AMDGPUUsage.rst:4666 msgid "\"OpenCL C++\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4034 ../../../AMDGPUUsage.rst:4459 +#: ../../../AMDGPUUsage.rst:4242 ../../../AMDGPUUsage.rst:4667 msgid "\"HCC\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4035 ../../../AMDGPUUsage.rst:4461 +#: ../../../AMDGPUUsage.rst:4243 ../../../AMDGPUUsage.rst:4669 msgid "\"OpenMP\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4037 +#: ../../../AMDGPUUsage.rst:4245 msgid "\"LanguageVersion\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4037 ../../../AMDGPUUsage.rst:4464 +#: ../../../AMDGPUUsage.rst:4245 ../../../AMDGPUUsage.rst:4672 msgid "The first integer is the major version." msgstr "" -#: ../../../AMDGPUUsage.rst:4039 ../../../AMDGPUUsage.rst:4466 +#: ../../../AMDGPUUsage.rst:4247 ../../../AMDGPUUsage.rst:4674 msgid "The second integer is the minor version." msgstr "" -#: ../../../AMDGPUUsage.rst:4041 +#: ../../../AMDGPUUsage.rst:4249 msgid "\"Attrs\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4041 ../../../AMDGPUUsage.rst:4049 +#: ../../../AMDGPUUsage.rst:4249 ../../../AMDGPUUsage.rst:4257 msgid "mapping" msgstr "" -#: ../../../AMDGPUUsage.rst:4041 +#: ../../../AMDGPUUsage.rst:4249 msgid "" "Mapping of kernel attributes. See :ref:`amdgpu-amdhsa-code-object-kernel-" "attribute-metadata-map-v2-table` for the mapping definition." msgstr "" -#: ../../../AMDGPUUsage.rst:4045 +#: ../../../AMDGPUUsage.rst:4253 msgid "\"Args\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4045 +#: ../../../AMDGPUUsage.rst:4253 msgid "" "Sequence of mappings of the kernel arguments. See :ref:`amdgpu-amdhsa-code-" "object-kernel-argument-metadata-map-v2-table` for the definition of the " "mapping." msgstr "" -#: ../../../AMDGPUUsage.rst:4049 +#: ../../../AMDGPUUsage.rst:4257 msgid "\"CodeProps\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4049 +#: ../../../AMDGPUUsage.rst:4257 msgid "" "Mapping of properties related to the kernel code. See :ref:`amdgpu-amdhsa-" "code-object-kernel-code-properties-metadata-map-v2-table` for the mapping " "definition." msgstr "" -#: ../../../AMDGPUUsage.rst:4057 +#: ../../../AMDGPUUsage.rst:4265 msgid "AMDHSA Code Object V2 Kernel Attribute Metadata Map" msgstr "" -#: ../../../AMDGPUUsage.rst:4063 +#: ../../../AMDGPUUsage.rst:4271 msgid "\"ReqdWorkGroupSize\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4063 ../../../AMDGPUUsage.rst:4072 -#: ../../../AMDGPUUsage.rst:4473 ../../../AMDGPUUsage.rst:4482 -#: ../../../AMDGPUUsage.rst:5043 ../../../AMDGPUUsage.rst:19501 +#: ../../../AMDGPUUsage.rst:4271 ../../../AMDGPUUsage.rst:4280 +#: ../../../AMDGPUUsage.rst:4681 ../../../AMDGPUUsage.rst:4690 +#: ../../../AMDGPUUsage.rst:5251 ../../../AMDGPUUsage.rst:20490 msgid "sequence of 3 integers" msgstr "" -#: ../../../AMDGPUUsage.rst:4063 ../../../AMDGPUUsage.rst:4473 +#: ../../../AMDGPUUsage.rst:4271 ../../../AMDGPUUsage.rst:4681 msgid "" "If not 0, 0, 0 then all values must be >=1 and the dispatch work-group size " "X, Y, Z must correspond to the specified values. Defaults to 0, 0, 0." msgstr "" -#: ../../../AMDGPUUsage.rst:4069 ../../../AMDGPUUsage.rst:4479 +#: ../../../AMDGPUUsage.rst:4277 ../../../AMDGPUUsage.rst:4687 msgid "Corresponds to the OpenCL ``reqd_work_group_size`` attribute." msgstr "" -#: ../../../AMDGPUUsage.rst:4072 +#: ../../../AMDGPUUsage.rst:4280 msgid "\"WorkGroupSizeHint\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4072 ../../../AMDGPUUsage.rst:4482 +#: ../../../AMDGPUUsage.rst:4280 ../../../AMDGPUUsage.rst:4690 msgid "" "The dispatch work-group size X, Y, Z is likely to be the specified values." msgstr "" -#: ../../../AMDGPUUsage.rst:4076 ../../../AMDGPUUsage.rst:4486 +#: ../../../AMDGPUUsage.rst:4284 ../../../AMDGPUUsage.rst:4694 msgid "Corresponds to the OpenCL ``work_group_size_hint`` attribute." msgstr "" -#: ../../../AMDGPUUsage.rst:4079 +#: ../../../AMDGPUUsage.rst:4287 msgid "\"VecTypeHint\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4079 ../../../AMDGPUUsage.rst:4489 +#: ../../../AMDGPUUsage.rst:4287 ../../../AMDGPUUsage.rst:4697 msgid "The name of a scalar or vector type." msgstr "" -#: ../../../AMDGPUUsage.rst:4082 ../../../AMDGPUUsage.rst:4492 +#: ../../../AMDGPUUsage.rst:4290 ../../../AMDGPUUsage.rst:4700 msgid "Corresponds to the OpenCL ``vec_type_hint`` attribute." msgstr "" -#: ../../../AMDGPUUsage.rst:4085 +#: ../../../AMDGPUUsage.rst:4293 msgid "\"RuntimeHandle\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4085 ../../../AMDGPUUsage.rst:4495 +#: ../../../AMDGPUUsage.rst:4293 ../../../AMDGPUUsage.rst:4703 msgid "" "The external symbol name associated with a kernel. OpenCL runtime allocates " "a global buffer for the symbol and saves the kernel's address to it, which " @@ -9039,319 +9427,319 @@ msgid "" "kernels." msgstr "" -#: ../../../AMDGPUUsage.rst:4098 +#: ../../../AMDGPUUsage.rst:4306 msgid "AMDHSA Code Object V2 Kernel Argument Metadata Map" msgstr "" -#: ../../../AMDGPUUsage.rst:4104 ../../../AMDGPUUsage.rst:4635 +#: ../../../AMDGPUUsage.rst:4312 ../../../AMDGPUUsage.rst:4843 msgid "Kernel argument name." msgstr "" -#: ../../../AMDGPUUsage.rst:4105 +#: ../../../AMDGPUUsage.rst:4313 msgid "\"TypeName\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4105 ../../../AMDGPUUsage.rst:4636 +#: ../../../AMDGPUUsage.rst:4313 ../../../AMDGPUUsage.rst:4844 msgid "Kernel argument type name." msgstr "" -#: ../../../AMDGPUUsage.rst:4106 +#: ../../../AMDGPUUsage.rst:4314 msgid "\"Size\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4106 ../../../AMDGPUUsage.rst:4107 -#: ../../../AMDGPUUsage.rst:4209 ../../../AMDGPUUsage.rst:4303 -#: ../../../AMDGPUUsage.rst:4308 ../../../AMDGPUUsage.rst:4319 -#: ../../../AMDGPUUsage.rst:4329 ../../../AMDGPUUsage.rst:4334 -#: ../../../AMDGPUUsage.rst:4336 ../../../AMDGPUUsage.rst:4352 -#: ../../../AMDGPUUsage.rst:4356 ../../../AMDGPUUsage.rst:4364 -#: ../../../AMDGPUUsage.rst:4369 ../../../AMDGPUUsage.rst:4504 -#: ../../../AMDGPUUsage.rst:4509 ../../../AMDGPUUsage.rst:4520 -#: ../../../AMDGPUUsage.rst:4530 ../../../AMDGPUUsage.rst:4535 -#: ../../../AMDGPUUsage.rst:4537 ../../../AMDGPUUsage.rst:4558 -#: ../../../AMDGPUUsage.rst:4567 ../../../AMDGPUUsage.rst:4571 -#: ../../../AMDGPUUsage.rst:4579 ../../../AMDGPUUsage.rst:4584 -#: ../../../AMDGPUUsage.rst:4620 ../../../AMDGPUUsage.rst:4637 -#: ../../../AMDGPUUsage.rst:4638 ../../../AMDGPUUsage.rst:4743 -#: ../../../AMDGPUUsage.rst:4908 ../../../AMDGPUUsage.rst:19392 -#: ../../../AMDGPUUsage.rst:19394 ../../../AMDGPUUsage.rst:19401 -#: ../../../AMDGPUUsage.rst:19409 ../../../AMDGPUUsage.rst:19411 -#: ../../../AMDGPUUsage.rst:19412 ../../../AMDGPUUsage.rst:19487 -#: ../../../AMDGPUUsage.rst:19488 ../../../AMDGPUUsage.rst:19489 -#: ../../../AMDGPUUsage.rst:19490 ../../../AMDGPUUsage.rst:19491 -#: ../../../AMDGPUUsage.rst:19492 ../../../AMDGPUUsage.rst:19493 -#: ../../../AMDGPUUsage.rst:19495 ../../../AMDGPUUsage.rst:19499 -#: ../../../AMDGPUUsage.rst:19503 ../../../AMDGPUUsage.rst:19537 -#: ../../../AMDGPUUsage.rst:19538 ../../../AMDGPUUsage.rst:19539 -#: ../../../AMDGPUUsage.rst:19540 ../../../AMDGPUUsage.rst:19541 +#: ../../../AMDGPUUsage.rst:4314 ../../../AMDGPUUsage.rst:4315 +#: ../../../AMDGPUUsage.rst:4417 ../../../AMDGPUUsage.rst:4511 +#: ../../../AMDGPUUsage.rst:4516 ../../../AMDGPUUsage.rst:4527 +#: ../../../AMDGPUUsage.rst:4537 ../../../AMDGPUUsage.rst:4542 +#: ../../../AMDGPUUsage.rst:4544 ../../../AMDGPUUsage.rst:4560 +#: ../../../AMDGPUUsage.rst:4564 ../../../AMDGPUUsage.rst:4572 +#: ../../../AMDGPUUsage.rst:4577 ../../../AMDGPUUsage.rst:4712 +#: ../../../AMDGPUUsage.rst:4717 ../../../AMDGPUUsage.rst:4728 +#: ../../../AMDGPUUsage.rst:4738 ../../../AMDGPUUsage.rst:4743 +#: ../../../AMDGPUUsage.rst:4745 ../../../AMDGPUUsage.rst:4766 +#: ../../../AMDGPUUsage.rst:4775 ../../../AMDGPUUsage.rst:4779 +#: ../../../AMDGPUUsage.rst:4787 ../../../AMDGPUUsage.rst:4792 +#: ../../../AMDGPUUsage.rst:4828 ../../../AMDGPUUsage.rst:4845 +#: ../../../AMDGPUUsage.rst:4846 ../../../AMDGPUUsage.rst:4951 +#: ../../../AMDGPUUsage.rst:5116 ../../../AMDGPUUsage.rst:20381 +#: ../../../AMDGPUUsage.rst:20383 ../../../AMDGPUUsage.rst:20390 +#: ../../../AMDGPUUsage.rst:20398 ../../../AMDGPUUsage.rst:20400 +#: ../../../AMDGPUUsage.rst:20401 ../../../AMDGPUUsage.rst:20476 +#: ../../../AMDGPUUsage.rst:20477 ../../../AMDGPUUsage.rst:20478 +#: ../../../AMDGPUUsage.rst:20479 ../../../AMDGPUUsage.rst:20480 +#: ../../../AMDGPUUsage.rst:20481 ../../../AMDGPUUsage.rst:20482 +#: ../../../AMDGPUUsage.rst:20484 ../../../AMDGPUUsage.rst:20488 +#: ../../../AMDGPUUsage.rst:20492 ../../../AMDGPUUsage.rst:20526 +#: ../../../AMDGPUUsage.rst:20527 ../../../AMDGPUUsage.rst:20528 +#: ../../../AMDGPUUsage.rst:20529 ../../../AMDGPUUsage.rst:20530 msgid "integer" msgstr "" -#: ../../../AMDGPUUsage.rst:4106 ../../../AMDGPUUsage.rst:4637 +#: ../../../AMDGPUUsage.rst:4314 ../../../AMDGPUUsage.rst:4845 msgid "Kernel argument size in bytes." msgstr "" -#: ../../../AMDGPUUsage.rst:4107 +#: ../../../AMDGPUUsage.rst:4315 msgid "\"Align\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4107 +#: ../../../AMDGPUUsage.rst:4315 msgid "Kernel argument alignment in bytes. Must be a power of two." msgstr "" -#: ../../../AMDGPUUsage.rst:4109 +#: ../../../AMDGPUUsage.rst:4317 msgid "\"ValueKind\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4109 ../../../AMDGPUUsage.rst:4642 +#: ../../../AMDGPUUsage.rst:4317 ../../../AMDGPUUsage.rst:4850 msgid "" "Kernel argument kind that specifies how to set up the corresponding " "argument. Values include:" msgstr "" -#: ../../../AMDGPUUsage.rst:4116 +#: ../../../AMDGPUUsage.rst:4324 msgid "\"ByValue\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4115 ../../../AMDGPUUsage.rst:4648 +#: ../../../AMDGPUUsage.rst:4323 ../../../AMDGPUUsage.rst:4856 msgid "The argument is copied directly into the kernarg." msgstr "" -#: ../../../AMDGPUUsage.rst:4121 +#: ../../../AMDGPUUsage.rst:4329 msgid "\"GlobalBuffer\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4119 ../../../AMDGPUUsage.rst:4652 +#: ../../../AMDGPUUsage.rst:4327 ../../../AMDGPUUsage.rst:4860 msgid "" "A global address space pointer to the buffer data is passed in the kernarg." msgstr "" -#: ../../../AMDGPUUsage.rst:4126 +#: ../../../AMDGPUUsage.rst:4334 msgid "\"DynamicSharedPointer\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4124 ../../../AMDGPUUsage.rst:4657 +#: ../../../AMDGPUUsage.rst:4332 ../../../AMDGPUUsage.rst:4865 msgid "" "A group address space pointer to dynamically allocated LDS is passed in the " "kernarg." msgstr "" -#: ../../../AMDGPUUsage.rst:4131 +#: ../../../AMDGPUUsage.rst:4339 msgid "\"Sampler\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4129 ../../../AMDGPUUsage.rst:4662 +#: ../../../AMDGPUUsage.rst:4337 ../../../AMDGPUUsage.rst:4870 msgid "A global address space pointer to a S# is passed in the kernarg." msgstr "" -#: ../../../AMDGPUUsage.rst:4136 +#: ../../../AMDGPUUsage.rst:4344 msgid "\"Image\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4134 ../../../AMDGPUUsage.rst:4667 +#: ../../../AMDGPUUsage.rst:4342 ../../../AMDGPUUsage.rst:4875 msgid "A global address space pointer to a T# is passed in the kernarg." msgstr "" -#: ../../../AMDGPUUsage.rst:4141 +#: ../../../AMDGPUUsage.rst:4349 msgid "\"Pipe\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4139 ../../../AMDGPUUsage.rst:4672 +#: ../../../AMDGPUUsage.rst:4347 ../../../AMDGPUUsage.rst:4880 msgid "" "A global address space pointer to an OpenCL pipe is passed in the kernarg." msgstr "" -#: ../../../AMDGPUUsage.rst:4147 +#: ../../../AMDGPUUsage.rst:4355 msgid "\"Queue\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4144 ../../../AMDGPUUsage.rst:4677 +#: ../../../AMDGPUUsage.rst:4352 ../../../AMDGPUUsage.rst:4885 msgid "" "A global address space pointer to an OpenCL device enqueue queue is passed " "in the kernarg." msgstr "" -#: ../../../AMDGPUUsage.rst:4153 +#: ../../../AMDGPUUsage.rst:4361 msgid "\"HiddenGlobalOffsetX\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4150 ../../../AMDGPUUsage.rst:4683 +#: ../../../AMDGPUUsage.rst:4358 ../../../AMDGPUUsage.rst:4891 msgid "" "The OpenCL grid dispatch global offset for the X dimension is passed in the " "kernarg." msgstr "" -#: ../../../AMDGPUUsage.rst:4159 +#: ../../../AMDGPUUsage.rst:4367 msgid "\"HiddenGlobalOffsetY\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4156 ../../../AMDGPUUsage.rst:4689 +#: ../../../AMDGPUUsage.rst:4364 ../../../AMDGPUUsage.rst:4897 msgid "" "The OpenCL grid dispatch global offset for the Y dimension is passed in the " "kernarg." msgstr "" -#: ../../../AMDGPUUsage.rst:4165 +#: ../../../AMDGPUUsage.rst:4373 msgid "\"HiddenGlobalOffsetZ\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4162 ../../../AMDGPUUsage.rst:4695 +#: ../../../AMDGPUUsage.rst:4370 ../../../AMDGPUUsage.rst:4903 msgid "" "The OpenCL grid dispatch global offset for the Z dimension is passed in the " "kernarg." msgstr "" -#: ../../../AMDGPUUsage.rst:4171 +#: ../../../AMDGPUUsage.rst:4379 msgid "\"HiddenNone\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4168 ../../../AMDGPUUsage.rst:4701 +#: ../../../AMDGPUUsage.rst:4376 ../../../AMDGPUUsage.rst:4909 msgid "" "An argument that is not used by the kernel. Space needs to be left for it, " "but it does not need to be set up." msgstr "" -#: ../../../AMDGPUUsage.rst:4178 +#: ../../../AMDGPUUsage.rst:4386 msgid "\"HiddenPrintfBuffer\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4174 +#: ../../../AMDGPUUsage.rst:4382 msgid "" "A global address space pointer to the runtime printf buffer is passed in " "kernarg. Mutually exclusive with \"HiddenHostcallBuffer\"." msgstr "" -#: ../../../AMDGPUUsage.rst:4185 +#: ../../../AMDGPUUsage.rst:4393 msgid "\"HiddenHostcallBuffer\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4181 +#: ../../../AMDGPUUsage.rst:4389 msgid "" "A global address space pointer to the runtime hostcall buffer is passed in " "kernarg. Mutually exclusive with \"HiddenPrintfBuffer\"." msgstr "" -#: ../../../AMDGPUUsage.rst:4192 +#: ../../../AMDGPUUsage.rst:4400 msgid "\"HiddenDefaultQueue\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4188 ../../../AMDGPUUsage.rst:4723 +#: ../../../AMDGPUUsage.rst:4396 ../../../AMDGPUUsage.rst:4931 msgid "" "A global address space pointer to the OpenCL device enqueue queue that " "should be used by the kernel by default is passed in the kernarg." msgstr "" -#: ../../../AMDGPUUsage.rst:4198 +#: ../../../AMDGPUUsage.rst:4406 msgid "\"HiddenCompletionAction\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4195 ../../../AMDGPUUsage.rst:4730 +#: ../../../AMDGPUUsage.rst:4403 ../../../AMDGPUUsage.rst:4938 msgid "" "A global address space pointer to help link enqueued kernels into the " "ancestor tree for determining when the parent kernel has finished." msgstr "" -#: ../../../AMDGPUUsage.rst:4203 +#: ../../../AMDGPUUsage.rst:4411 msgid "\"HiddenMultiGridSyncArg\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4201 ../../../AMDGPUUsage.rst:4736 +#: ../../../AMDGPUUsage.rst:4409 ../../../AMDGPUUsage.rst:4944 msgid "" "A global address space pointer for multi-grid synchronization is passed in " "the kernarg." msgstr "" -#: ../../../AMDGPUUsage.rst:4205 +#: ../../../AMDGPUUsage.rst:4413 msgid "\"ValueType\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4205 ../../../AMDGPUUsage.rst:4740 +#: ../../../AMDGPUUsage.rst:4413 ../../../AMDGPUUsage.rst:4948 msgid "" "Unused and deprecated. This should no longer be emitted, but is accepted for " "compatibility." msgstr "" -#: ../../../AMDGPUUsage.rst:4209 +#: ../../../AMDGPUUsage.rst:4417 msgid "\"PointeeAlign\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4209 +#: ../../../AMDGPUUsage.rst:4417 msgid "" "Alignment in bytes of pointee type for pointer type kernel argument. Must be " "a power of 2. Only present if \"ValueKind\" is \"DynamicSharedPointer\"." msgstr "" -#: ../../../AMDGPUUsage.rst:4215 +#: ../../../AMDGPUUsage.rst:4423 msgid "\"AddrSpaceQual\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4215 +#: ../../../AMDGPUUsage.rst:4423 msgid "" "Kernel argument address space qualifier. Only present if \"ValueKind\" is " "\"GlobalBuffer\" or \"DynamicSharedPointer\". Values are:" msgstr "" -#: ../../../AMDGPUUsage.rst:4221 +#: ../../../AMDGPUUsage.rst:4429 msgid "\"Private\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4222 +#: ../../../AMDGPUUsage.rst:4430 msgid "\"Global\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4223 +#: ../../../AMDGPUUsage.rst:4431 msgid "\"Constant\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4224 +#: ../../../AMDGPUUsage.rst:4432 msgid "\"Local\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4225 +#: ../../../AMDGPUUsage.rst:4433 msgid "\"Generic\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4226 +#: ../../../AMDGPUUsage.rst:4434 msgid "\"Region\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4230 +#: ../../../AMDGPUUsage.rst:4438 msgid "" "Is GlobalBuffer only Global or Constant? Is DynamicSharedPointer always " "Local? Can HCC allow Generic? How can Private or Region ever happen?" msgstr "" -#: ../../../AMDGPUUsage.rst:4237 +#: ../../../AMDGPUUsage.rst:4445 msgid "\"AccQual\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4237 +#: ../../../AMDGPUUsage.rst:4445 msgid "" "Kernel argument access qualifier. Only present if \"ValueKind\" is \"Image\" " "or \"Pipe\". Values are:" msgstr "" -#: ../../../AMDGPUUsage.rst:4243 ../../../AMDGPUUsage.rst:4265 +#: ../../../AMDGPUUsage.rst:4451 ../../../AMDGPUUsage.rst:4473 msgid "\"ReadOnly\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4244 ../../../AMDGPUUsage.rst:4266 +#: ../../../AMDGPUUsage.rst:4452 ../../../AMDGPUUsage.rst:4474 msgid "\"WriteOnly\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4245 ../../../AMDGPUUsage.rst:4267 +#: ../../../AMDGPUUsage.rst:4453 ../../../AMDGPUUsage.rst:4475 msgid "\"ReadWrite\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4249 +#: ../../../AMDGPUUsage.rst:4457 msgid "Does this apply to GlobalBuffer?" msgstr "" -#: ../../../AMDGPUUsage.rst:4252 +#: ../../../AMDGPUUsage.rst:4460 msgid "\"ActualAccQual\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4252 +#: ../../../AMDGPUUsage.rst:4460 msgid "" "The actual memory accesses performed by the kernel on the kernel argument. " "Only present if \"ValueKind\" is \"GlobalBuffer\", \"Image\", or \"Pipe\". " @@ -9360,121 +9748,121 @@ msgid "" "is implied by \"AccQual\" and \"IsConst\". Values are:" msgstr "" -#: ../../../AMDGPUUsage.rst:4269 +#: ../../../AMDGPUUsage.rst:4477 msgid "\"IsConst\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4269 ../../../AMDGPUUsage.rst:4274 -#: ../../../AMDGPUUsage.rst:4279 ../../../AMDGPUUsage.rst:4284 -#: ../../../AMDGPUUsage.rst:4803 ../../../AMDGPUUsage.rst:4808 -#: ../../../AMDGPUUsage.rst:4813 ../../../AMDGPUUsage.rst:4818 -#: ../../../AMDGPUUsage.rst:4894 ../../../AMDGPUUsage.rst:4896 -#: ../../../AMDGPUUsage.rst:19396 ../../../AMDGPUUsage.rst:19504 -#: ../../../AMDGPUUsage.rst:19505 ../../../AMDGPUUsage.rst:19506 -#: ../../../AMDGPUUsage.rst:19507 ../../../AMDGPUUsage.rst:19508 -#: ../../../AMDGPUUsage.rst:19510 +#: ../../../AMDGPUUsage.rst:4477 ../../../AMDGPUUsage.rst:4482 +#: ../../../AMDGPUUsage.rst:4487 ../../../AMDGPUUsage.rst:4492 +#: ../../../AMDGPUUsage.rst:5011 ../../../AMDGPUUsage.rst:5016 +#: ../../../AMDGPUUsage.rst:5021 ../../../AMDGPUUsage.rst:5026 +#: ../../../AMDGPUUsage.rst:5102 ../../../AMDGPUUsage.rst:5104 +#: ../../../AMDGPUUsage.rst:20385 ../../../AMDGPUUsage.rst:20493 +#: ../../../AMDGPUUsage.rst:20494 ../../../AMDGPUUsage.rst:20495 +#: ../../../AMDGPUUsage.rst:20496 ../../../AMDGPUUsage.rst:20497 +#: ../../../AMDGPUUsage.rst:20499 msgid "boolean" msgstr "" -#: ../../../AMDGPUUsage.rst:4269 +#: ../../../AMDGPUUsage.rst:4477 msgid "" "Indicates if the kernel argument is const qualified. Only present if " "\"ValueKind\" is \"GlobalBuffer\"." msgstr "" -#: ../../../AMDGPUUsage.rst:4274 +#: ../../../AMDGPUUsage.rst:4482 msgid "\"IsRestrict\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4274 +#: ../../../AMDGPUUsage.rst:4482 msgid "" "Indicates if the kernel argument is restrict qualified. Only present if " "\"ValueKind\" is \"GlobalBuffer\"." msgstr "" -#: ../../../AMDGPUUsage.rst:4279 +#: ../../../AMDGPUUsage.rst:4487 msgid "\"IsVolatile\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4279 +#: ../../../AMDGPUUsage.rst:4487 msgid "" "Indicates if the kernel argument is volatile qualified. Only present if " "\"ValueKind\" is \"GlobalBuffer\"." msgstr "" -#: ../../../AMDGPUUsage.rst:4284 +#: ../../../AMDGPUUsage.rst:4492 msgid "\"IsPipe\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4284 +#: ../../../AMDGPUUsage.rst:4492 msgid "" "Indicates if the kernel argument is pipe qualified. Only present if " "\"ValueKind\" is \"Pipe\"." msgstr "" -#: ../../../AMDGPUUsage.rst:4290 +#: ../../../AMDGPUUsage.rst:4498 msgid "Can GlobalBuffer be pipe qualified?" msgstr "" -#: ../../../AMDGPUUsage.rst:4297 +#: ../../../AMDGPUUsage.rst:4505 msgid "AMDHSA Code Object V2 Kernel Code Properties Metadata Map" msgstr "" -#: ../../../AMDGPUUsage.rst:4303 +#: ../../../AMDGPUUsage.rst:4511 msgid "\"KernargSegmentSize\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4303 ../../../AMDGPUUsage.rst:4504 +#: ../../../AMDGPUUsage.rst:4511 ../../../AMDGPUUsage.rst:4712 msgid "" "The size in bytes of the kernarg segment that holds the values of the " "arguments to the kernel." msgstr "" -#: ../../../AMDGPUUsage.rst:4308 +#: ../../../AMDGPUUsage.rst:4516 msgid "\"GroupSegmentFixedSize\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4308 ../../../AMDGPUUsage.rst:4509 +#: ../../../AMDGPUUsage.rst:4516 ../../../AMDGPUUsage.rst:4717 msgid "" "The amount of group segment memory required by a work-group in bytes. This " "does not include any dynamically allocated group segment memory that may be " "added when the kernel is dispatched." msgstr "" -#: ../../../AMDGPUUsage.rst:4319 +#: ../../../AMDGPUUsage.rst:4527 msgid "\"PrivateSegmentFixedSize\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4319 ../../../AMDGPUUsage.rst:4520 +#: ../../../AMDGPUUsage.rst:4527 ../../../AMDGPUUsage.rst:4728 msgid "" "The amount of fixed private address space memory required for a work-item in " "bytes. If the kernel uses a dynamic call stack then additional space must be " "added to this value for the call stack." msgstr "" -#: ../../../AMDGPUUsage.rst:4329 +#: ../../../AMDGPUUsage.rst:4537 msgid "\"KernargSegmentAlign\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4329 ../../../AMDGPUUsage.rst:4530 +#: ../../../AMDGPUUsage.rst:4537 ../../../AMDGPUUsage.rst:4738 msgid "" "The maximum byte alignment of arguments in the kernarg segment. Must be a " "power of 2." msgstr "" -#: ../../../AMDGPUUsage.rst:4334 +#: ../../../AMDGPUUsage.rst:4542 msgid "\"WavefrontSize\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4334 ../../../AMDGPUUsage.rst:4535 +#: ../../../AMDGPUUsage.rst:4542 ../../../AMDGPUUsage.rst:4743 msgid "Wavefront size. Must be a power of 2." msgstr "" -#: ../../../AMDGPUUsage.rst:4336 +#: ../../../AMDGPUUsage.rst:4544 msgid "\"NumSGPRs\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4336 +#: ../../../AMDGPUUsage.rst:4544 msgid "" "Number of scalar registers used by a wavefront for GFX6-GFX11. This includes " "the special SGPRs for VCC, Flat Scratch (GFX7-GFX10) and XNACK (for GFX8-" @@ -9482,60 +9870,60 @@ msgid "" "It is not rounded up to the allocation granularity." msgstr "" -#: ../../../AMDGPUUsage.rst:4352 +#: ../../../AMDGPUUsage.rst:4560 msgid "\"NumVGPRs\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4352 +#: ../../../AMDGPUUsage.rst:4560 msgid "Number of vector registers used by each work-item for GFX6-GFX11" msgstr "" -#: ../../../AMDGPUUsage.rst:4356 +#: ../../../AMDGPUUsage.rst:4564 msgid "\"MaxFlatWorkGroupSize\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4356 ../../../AMDGPUUsage.rst:4571 +#: ../../../AMDGPUUsage.rst:4564 ../../../AMDGPUUsage.rst:4779 msgid "" "Maximum flat work-group size supported by the kernel in work-items. Must be " ">=1 and consistent with ReqdWorkGroupSize if not 0, 0, 0." msgstr "" -#: ../../../AMDGPUUsage.rst:4364 +#: ../../../AMDGPUUsage.rst:4572 msgid "\"NumSpilledSGPRs\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4364 ../../../AMDGPUUsage.rst:4579 +#: ../../../AMDGPUUsage.rst:4572 ../../../AMDGPUUsage.rst:4787 msgid "" "Number of stores from a scalar register to a register allocator created " "spill location." msgstr "" -#: ../../../AMDGPUUsage.rst:4369 +#: ../../../AMDGPUUsage.rst:4577 msgid "\"NumSpilledVGPRs\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4369 ../../../AMDGPUUsage.rst:4584 +#: ../../../AMDGPUUsage.rst:4577 ../../../AMDGPUUsage.rst:4792 msgid "" "Number of stores from a vector register to a register allocator created " "spill location." msgstr "" -#: ../../../AMDGPUUsage.rst:4379 +#: ../../../AMDGPUUsage.rst:4587 msgid "Code Object V3 Metadata" msgstr "" -#: ../../../AMDGPUUsage.rst:4382 +#: ../../../AMDGPUUsage.rst:4590 msgid "" "Code object V3 generation is no longer supported by this version of LLVM." msgstr "" -#: ../../../AMDGPUUsage.rst:4384 +#: ../../../AMDGPUUsage.rst:4592 msgid "" "Code object V3 and above metadata is specified by the ``NT_AMDGPU_METADATA`` " "note record (see :ref:`amdgpu-note-records-v3-onwards`)." msgstr "" -#: ../../../AMDGPUUsage.rst:4387 +#: ../../../AMDGPUUsage.rst:4595 msgid "" "The metadata is represented as Message Pack formatted binary data (see " "[MsgPack]_). The top level is a Message Pack map that includes the keys " @@ -9543,7 +9931,7 @@ msgid "" "referenced tables." msgstr "" -#: ../../../AMDGPUUsage.rst:4393 ../../../AMDGPUUsage.rst:19331 +#: ../../../AMDGPUUsage.rst:4601 ../../../AMDGPUUsage.rst:20320 msgid "" "Additional information can be added to the maps. To avoid conflicts, any key " "names should be prefixed by \"*vendor-name*.\" where ``vendor-name`` can be " @@ -9552,117 +9940,117 @@ msgid "" "within a map that has been added by the same *vendor-name*." msgstr "" -#: ../../../AMDGPUUsage.rst:4400 +#: ../../../AMDGPUUsage.rst:4608 msgid "AMDHSA Code Object V3 Metadata Map" msgstr "" -#: ../../../AMDGPUUsage.rst:4406 ../../../AMDGPUUsage.rst:4848 -#: ../../../AMDGPUUsage.rst:4880 +#: ../../../AMDGPUUsage.rst:4614 ../../../AMDGPUUsage.rst:5056 +#: ../../../AMDGPUUsage.rst:5088 msgid "\"amdhsa.version\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4410 +#: ../../../AMDGPUUsage.rst:4618 msgid "\"amdhsa.printf\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4436 +#: ../../../AMDGPUUsage.rst:4644 msgid "\"amdhsa.kernels\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4436 ../../../AMDGPUUsage.rst:4468 -#: ../../../AMDGPUUsage.rst:19345 +#: ../../../AMDGPUUsage.rst:4644 ../../../AMDGPUUsage.rst:4676 +#: ../../../AMDGPUUsage.rst:20334 msgid "sequence of map" msgstr "" -#: ../../../AMDGPUUsage.rst:4436 +#: ../../../AMDGPUUsage.rst:4644 msgid "" "Sequence of the maps for each kernel in the code object. See :ref:`amdgpu-" "amdhsa-code-object-kernel-metadata-map-table-v3` for the definition of the " "keys included in that map." msgstr "" -#: ../../../AMDGPUUsage.rst:4445 +#: ../../../AMDGPUUsage.rst:4653 msgid "AMDHSA Code Object V3 Kernel Metadata Map" msgstr "" -#: ../../../AMDGPUUsage.rst:4451 ../../../AMDGPUUsage.rst:4635 -#: ../../../AMDGPUUsage.rst:19358 +#: ../../../AMDGPUUsage.rst:4659 ../../../AMDGPUUsage.rst:4843 +#: ../../../AMDGPUUsage.rst:20347 msgid "\".name\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4452 +#: ../../../AMDGPUUsage.rst:4660 msgid "\".symbol\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4454 +#: ../../../AMDGPUUsage.rst:4662 msgid "\".language\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4460 +#: ../../../AMDGPUUsage.rst:4668 msgid "\"HIP\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4462 +#: ../../../AMDGPUUsage.rst:4670 msgid "\"Assembler\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4464 +#: ../../../AMDGPUUsage.rst:4672 msgid "\".language_version\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4468 +#: ../../../AMDGPUUsage.rst:4676 msgid "\".args\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4468 +#: ../../../AMDGPUUsage.rst:4676 msgid "" "Sequence of maps of the kernel arguments. See :ref:`amdgpu-amdhsa-code-" "object-kernel-argument-metadata-map-table-v3` for the definition of the keys " "included in that map." msgstr "" -#: ../../../AMDGPUUsage.rst:4473 +#: ../../../AMDGPUUsage.rst:4681 msgid "\".reqd_workgroup_size\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4482 +#: ../../../AMDGPUUsage.rst:4690 msgid "\".workgroup_size_hint\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4489 +#: ../../../AMDGPUUsage.rst:4697 msgid "\".vec_type_hint\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4495 +#: ../../../AMDGPUUsage.rst:4703 msgid "\".device_enqueue_symbol\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4504 +#: ../../../AMDGPUUsage.rst:4712 msgid "\".kernarg_segment_size\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4509 +#: ../../../AMDGPUUsage.rst:4717 msgid "\".group_segment_fixed_size\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4520 +#: ../../../AMDGPUUsage.rst:4728 msgid "\".private_segment_fixed_size\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4530 +#: ../../../AMDGPUUsage.rst:4738 msgid "\".kernarg_segment_align\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4535 ../../../AMDGPUUsage.rst:19503 +#: ../../../AMDGPUUsage.rst:4743 ../../../AMDGPUUsage.rst:20492 msgid "\".wavefront_size\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4537 ../../../AMDGPUUsage.rst:19492 -#: ../../../AMDGPUUsage.rst:19540 +#: ../../../AMDGPUUsage.rst:4745 ../../../AMDGPUUsage.rst:20481 +#: ../../../AMDGPUUsage.rst:20529 msgid "\".sgpr_count\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4537 +#: ../../../AMDGPUUsage.rst:4745 msgid "" "Number of scalar registers required by a wavefront for GFX6-GFX9. A register " "is required if it is used explicitly, or if a higher numbered register is " @@ -9671,282 +10059,282 @@ msgid "" "trap handler is enabled. It is not rounded up to the allocation granularity." msgstr "" -#: ../../../AMDGPUUsage.rst:4558 ../../../AMDGPUUsage.rst:19490 -#: ../../../AMDGPUUsage.rst:19539 +#: ../../../AMDGPUUsage.rst:4766 ../../../AMDGPUUsage.rst:20479 +#: ../../../AMDGPUUsage.rst:20528 msgid "\".vgpr_count\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4558 +#: ../../../AMDGPUUsage.rst:4766 msgid "" "Number of vector registers required by each work-item for GFX6-GFX9. A " "register is required if it is used explicitly, or if a higher numbered " "register is used explicitly." msgstr "" -#: ../../../AMDGPUUsage.rst:4567 ../../../AMDGPUUsage.rst:19491 +#: ../../../AMDGPUUsage.rst:4775 ../../../AMDGPUUsage.rst:20480 msgid "\".agpr_count\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4567 +#: ../../../AMDGPUUsage.rst:4775 msgid "" "Number of accumulator registers required by each work-item for GFX90A, " "GFX908." msgstr "" -#: ../../../AMDGPUUsage.rst:4571 +#: ../../../AMDGPUUsage.rst:4779 msgid "\".max_flat_workgroup_size\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4579 +#: ../../../AMDGPUUsage.rst:4787 msgid "\".sgpr_spill_count\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4584 +#: ../../../AMDGPUUsage.rst:4792 msgid "\".vgpr_spill_count\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4589 +#: ../../../AMDGPUUsage.rst:4797 msgid "\".kind\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4589 +#: ../../../AMDGPUUsage.rst:4797 msgid "The kind of the kernel with the following values:" msgstr "" -#: ../../../AMDGPUUsage.rst:4594 +#: ../../../AMDGPUUsage.rst:4802 msgid "\"normal\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4594 +#: ../../../AMDGPUUsage.rst:4802 msgid "Regular kernels." msgstr "" -#: ../../../AMDGPUUsage.rst:4605 +#: ../../../AMDGPUUsage.rst:4813 msgid "\"init\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4597 +#: ../../../AMDGPUUsage.rst:4805 msgid "" "These kernels must be invoked after loading the containing code object and " "must complete before any normal and fini kernels in the same code object are " "invoked." msgstr "" -#: ../../../AMDGPUUsage.rst:4616 +#: ../../../AMDGPUUsage.rst:4824 msgid "\"fini\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4608 +#: ../../../AMDGPUUsage.rst:4816 msgid "" "These kernels must be invoked before unloading the containing code object " "and after all init and normal kernels in the same code object have been " "invoked and completed." msgstr "" -#: ../../../AMDGPUUsage.rst:4618 +#: ../../../AMDGPUUsage.rst:4826 msgid "If omitted, \"normal\" is assumed." msgstr "" -#: ../../../AMDGPUUsage.rst:4620 +#: ../../../AMDGPUUsage.rst:4828 msgid "\".max_num_work_groups_{x,y,z}\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4620 +#: ../../../AMDGPUUsage.rst:4828 msgid "" "The max number of launched work-groups in the X, Y, and Z dimensions. Each " "number must be >=1." msgstr "" -#: ../../../AMDGPUUsage.rst:4629 +#: ../../../AMDGPUUsage.rst:4837 msgid "AMDHSA Code Object V3 Kernel Argument Metadata Map" msgstr "" -#: ../../../AMDGPUUsage.rst:4636 +#: ../../../AMDGPUUsage.rst:4844 msgid "\".type_name\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4637 +#: ../../../AMDGPUUsage.rst:4845 msgid "\".size\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4638 +#: ../../../AMDGPUUsage.rst:4846 msgid "\".offset\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4638 +#: ../../../AMDGPUUsage.rst:4846 msgid "" "Kernel argument offset in bytes. The offset must be a multiple of the " "alignment required by the argument." msgstr "" -#: ../../../AMDGPUUsage.rst:4642 ../../../AMDGPUUsage.rst:4928 +#: ../../../AMDGPUUsage.rst:4850 ../../../AMDGPUUsage.rst:5136 msgid "\".value_kind\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4649 +#: ../../../AMDGPUUsage.rst:4857 msgid "\"by_value\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4654 +#: ../../../AMDGPUUsage.rst:4862 msgid "\"global_buffer\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4659 +#: ../../../AMDGPUUsage.rst:4867 msgid "\"dynamic_shared_pointer\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4664 +#: ../../../AMDGPUUsage.rst:4872 msgid "\"sampler\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4669 +#: ../../../AMDGPUUsage.rst:4877 msgid "\"image\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4674 +#: ../../../AMDGPUUsage.rst:4882 msgid "\"pipe\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4680 +#: ../../../AMDGPUUsage.rst:4888 msgid "\"queue\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4686 +#: ../../../AMDGPUUsage.rst:4894 msgid "\"hidden_global_offset_x\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4692 +#: ../../../AMDGPUUsage.rst:4900 msgid "\"hidden_global_offset_y\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4698 +#: ../../../AMDGPUUsage.rst:4906 msgid "\"hidden_global_offset_z\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4704 +#: ../../../AMDGPUUsage.rst:4912 msgid "\"hidden_none\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4712 +#: ../../../AMDGPUUsage.rst:4920 msgid "\"hidden_printf_buffer\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4707 +#: ../../../AMDGPUUsage.rst:4915 msgid "" "A global address space pointer to the runtime printf buffer is passed in " "kernarg. Mutually exclusive with \"hidden_hostcall_buffer\" before Code " "Object V5." msgstr "" -#: ../../../AMDGPUUsage.rst:4720 +#: ../../../AMDGPUUsage.rst:4928 msgid "\"hidden_hostcall_buffer\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4715 +#: ../../../AMDGPUUsage.rst:4923 msgid "" "A global address space pointer to the runtime hostcall buffer is passed in " "kernarg. Mutually exclusive with \"hidden_printf_buffer\" before Code Object " "V5." msgstr "" -#: ../../../AMDGPUUsage.rst:4727 +#: ../../../AMDGPUUsage.rst:4935 msgid "\"hidden_default_queue\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4733 +#: ../../../AMDGPUUsage.rst:4941 msgid "\"hidden_completion_action\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4738 +#: ../../../AMDGPUUsage.rst:4946 msgid "\"hidden_multigrid_sync_arg\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4740 +#: ../../../AMDGPUUsage.rst:4948 msgid "\".value_type\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4743 +#: ../../../AMDGPUUsage.rst:4951 msgid "\".pointee_align\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4743 +#: ../../../AMDGPUUsage.rst:4951 msgid "" "Alignment in bytes of pointee type for pointer type kernel argument. Must be " "a power of 2. Only present if \".value_kind\" is \"dynamic_shared_pointer\"." msgstr "" -#: ../../../AMDGPUUsage.rst:4749 +#: ../../../AMDGPUUsage.rst:4957 msgid "\".address_space\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4749 +#: ../../../AMDGPUUsage.rst:4957 msgid "" "Kernel argument address space qualifier. Only present if \".value_kind\" is " "\"global_buffer\" or \"dynamic_shared_pointer\". Values are:" msgstr "" -#: ../../../AMDGPUUsage.rst:4755 +#: ../../../AMDGPUUsage.rst:4963 msgid "\"private\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4756 +#: ../../../AMDGPUUsage.rst:4964 msgid "\"global\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4757 +#: ../../../AMDGPUUsage.rst:4965 msgid "\"constant\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4758 +#: ../../../AMDGPUUsage.rst:4966 msgid "\"local\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4759 +#: ../../../AMDGPUUsage.rst:4967 msgid "\"generic\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4760 +#: ../../../AMDGPUUsage.rst:4968 msgid "\"region\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4764 +#: ../../../AMDGPUUsage.rst:4972 msgid "" "Is \"global_buffer\" only \"global\" or \"constant\"? Is " "\"dynamic_shared_pointer\" always \"local\"? Can HCC allow \"generic\"? How " "can \"private\" or \"region\" ever happen?" msgstr "" -#: ../../../AMDGPUUsage.rst:4771 +#: ../../../AMDGPUUsage.rst:4979 msgid "\".access\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4771 +#: ../../../AMDGPUUsage.rst:4979 msgid "" "Kernel argument access qualifier. Only present if \".value_kind\" is " "\"image\" or \"pipe\". Values are:" msgstr "" -#: ../../../AMDGPUUsage.rst:4777 ../../../AMDGPUUsage.rst:4799 +#: ../../../AMDGPUUsage.rst:4985 ../../../AMDGPUUsage.rst:5007 msgid "\"read_only\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4778 ../../../AMDGPUUsage.rst:4800 +#: ../../../AMDGPUUsage.rst:4986 ../../../AMDGPUUsage.rst:5008 msgid "\"write_only\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4779 ../../../AMDGPUUsage.rst:4801 +#: ../../../AMDGPUUsage.rst:4987 ../../../AMDGPUUsage.rst:5009 msgid "\"read_write\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4783 +#: ../../../AMDGPUUsage.rst:4991 msgid "Does this apply to \"global_buffer\"?" msgstr "" -#: ../../../AMDGPUUsage.rst:4786 +#: ../../../AMDGPUUsage.rst:4994 msgid "\".actual_access\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4786 +#: ../../../AMDGPUUsage.rst:4994 msgid "" "The actual memory accesses performed by the kernel on the kernel argument. " "Only present if \".value_kind\" is \"global_buffer\", \"image\", or " @@ -9955,94 +10343,94 @@ msgid "" "assume what is implied by \".access\" and \".is_const\" . Values are:" msgstr "" -#: ../../../AMDGPUUsage.rst:4803 +#: ../../../AMDGPUUsage.rst:5011 msgid "\".is_const\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4803 +#: ../../../AMDGPUUsage.rst:5011 msgid "" "Indicates if the kernel argument is const qualified. Only present if \"." "value_kind\" is \"global_buffer\"." msgstr "" -#: ../../../AMDGPUUsage.rst:4808 +#: ../../../AMDGPUUsage.rst:5016 msgid "\".is_restrict\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4808 +#: ../../../AMDGPUUsage.rst:5016 msgid "" "Indicates if the kernel argument is restrict qualified. Only present if \"." "value_kind\" is \"global_buffer\"." msgstr "" -#: ../../../AMDGPUUsage.rst:4813 +#: ../../../AMDGPUUsage.rst:5021 msgid "\".is_volatile\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4813 +#: ../../../AMDGPUUsage.rst:5021 msgid "" "Indicates if the kernel argument is volatile qualified. Only present if \"." "value_kind\" is \"global_buffer\"." msgstr "" -#: ../../../AMDGPUUsage.rst:4818 +#: ../../../AMDGPUUsage.rst:5026 msgid "\".is_pipe\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4818 +#: ../../../AMDGPUUsage.rst:5026 msgid "" "Indicates if the kernel argument is pipe qualified. Only present if \"." "value_kind\" is \"pipe\"." msgstr "" -#: ../../../AMDGPUUsage.rst:4824 +#: ../../../AMDGPUUsage.rst:5032 msgid "Can \"global_buffer\" be pipe qualified?" msgstr "" -#: ../../../AMDGPUUsage.rst:4832 +#: ../../../AMDGPUUsage.rst:5040 msgid "Code Object V4 Metadata" msgstr "" -#: ../../../AMDGPUUsage.rst:4835 +#: ../../../AMDGPUUsage.rst:5043 msgid "" "Code object V4 is not the default code object version emitted by this " "version of LLVM." msgstr "" -#: ../../../AMDGPUUsage.rst:4838 +#: ../../../AMDGPUUsage.rst:5046 msgid "" "Code object V4 metadata is the same as :ref:`amdgpu-amdhsa-code-object-" "metadata-v3` with the changes and additions defined in table :ref:`amdgpu-" "amdhsa-code-object-metadata-map-table-v4`." msgstr "" -#: ../../../AMDGPUUsage.rst:4842 +#: ../../../AMDGPUUsage.rst:5050 msgid "AMDHSA Code Object V4 Metadata Map Changes" msgstr "" -#: ../../../AMDGPUUsage.rst:4850 +#: ../../../AMDGPUUsage.rst:5058 msgid "The second integer is the minor version. Currently 1." msgstr "" -#: ../../../AMDGPUUsage.rst:4852 +#: ../../../AMDGPUUsage.rst:5060 msgid "\"amdhsa.target\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4852 +#: ../../../AMDGPUUsage.rst:5060 msgid "The target name of the code using the syntax:" msgstr "" -#: ../../../AMDGPUUsage.rst:4858 +#: ../../../AMDGPUUsage.rst:5066 msgid "" "A canonical target ID must be used. See :ref:`amdgpu-target-triples` and :" "ref:`amdgpu-target-id`." msgstr "" -#: ../../../AMDGPUUsage.rst:4866 +#: ../../../AMDGPUUsage.rst:5074 msgid "Code Object V5 Metadata" msgstr "" -#: ../../../AMDGPUUsage.rst:4868 +#: ../../../AMDGPUUsage.rst:5076 msgid "" "Code object V5 metadata is the same as :ref:`amdgpu-amdhsa-code-object-" "metadata-v4` with the changes defined in table :ref:`amdgpu-amdhsa-code-" @@ -10051,58 +10439,58 @@ msgid "" "argument-metadata-map-table-v5`." msgstr "" -#: ../../../AMDGPUUsage.rst:4874 +#: ../../../AMDGPUUsage.rst:5082 msgid "AMDHSA Code Object V5 Metadata Map Changes" msgstr "" -#: ../../../AMDGPUUsage.rst:4882 +#: ../../../AMDGPUUsage.rst:5090 msgid "The second integer is the minor version. Currently 2." msgstr "" -#: ../../../AMDGPUUsage.rst:4888 +#: ../../../AMDGPUUsage.rst:5096 msgid "AMDHSA Code Object V5 Kernel Metadata Map Additions" msgstr "" -#: ../../../AMDGPUUsage.rst:4894 +#: ../../../AMDGPUUsage.rst:5102 msgid "\".uses_dynamic_stack\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4894 +#: ../../../AMDGPUUsage.rst:5102 msgid "" "Indicates if the generated machine code is using a dynamically sized stack." msgstr "" -#: ../../../AMDGPUUsage.rst:4896 +#: ../../../AMDGPUUsage.rst:5104 msgid "\".workgroup_processor_mode\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4896 +#: ../../../AMDGPUUsage.rst:5104 msgid "" "(GFX10+) Controls ENABLE_WGP_MODE in :ref:`amdgpu-amdhsa-kernel-descriptor-" "v3-table`." msgstr "" -#: ../../../AMDGPUUsage.rst:4902 +#: ../../../AMDGPUUsage.rst:5110 msgid "AMDHSA Code Object V5 Kernel Attribute Metadata Map" msgstr "" -#: ../../../AMDGPUUsage.rst:4908 +#: ../../../AMDGPUUsage.rst:5116 msgid "\".uniform_work_group_size\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4908 +#: ../../../AMDGPUUsage.rst:5116 msgid "" "Indicates if the kernel requires that each dimension of global size is a " "multiple of corresponding dimension of work-group size. Value of 1 implies " "true and value of 0 implies false. Metadata is only emitted when value is 1." msgstr "" -#: ../../../AMDGPUUsage.rst:4922 +#: ../../../AMDGPUUsage.rst:5130 msgid "" "AMDHSA Code Object V5 Kernel Argument Metadata Map Additions and Changes" msgstr "" -#: ../../../AMDGPUUsage.rst:4928 +#: ../../../AMDGPUUsage.rst:5136 msgid "" "Kernel argument kind that specifies how to set up the corresponding " "argument. Values include: the same as code object V3 metadata (see :ref:" @@ -10110,11 +10498,11 @@ msgid "" "following additions:" msgstr "" -#: ../../../AMDGPUUsage.rst:4942 +#: ../../../AMDGPUUsage.rst:5150 msgid "\"hidden_block_count_x\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4937 +#: ../../../AMDGPUUsage.rst:5145 msgid "" "The grid dispatch work-group count for the X dimension is passed in the " "kernarg. Some languages, such as OpenCL, support a last work-group in each " @@ -10123,11 +10511,11 @@ msgid "" "has the grid size in work-items." msgstr "" -#: ../../../AMDGPUUsage.rst:4951 +#: ../../../AMDGPUUsage.rst:5159 msgid "\"hidden_block_count_y\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4945 +#: ../../../AMDGPUUsage.rst:5153 msgid "" "The grid dispatch work-group count for the Y dimension is passed in the " "kernarg. Some languages, such as OpenCL, support a last work-group in each " @@ -10137,11 +10525,11 @@ msgid "" "be 1." msgstr "" -#: ../../../AMDGPUUsage.rst:4960 +#: ../../../AMDGPUUsage.rst:5168 msgid "\"hidden_block_count_z\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4954 +#: ../../../AMDGPUUsage.rst:5162 msgid "" "The grid dispatch work-group count for the Z dimension is passed in the " "kernarg. Some languages, such as OpenCL, support a last work-group in each " @@ -10151,22 +10539,22 @@ msgid "" "must be 1." msgstr "" -#: ../../../AMDGPUUsage.rst:4966 +#: ../../../AMDGPUUsage.rst:5174 msgid "\"hidden_group_size_x\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4963 +#: ../../../AMDGPUUsage.rst:5171 msgid "" "The grid dispatch work-group size for the X dimension is passed in the " "kernarg. This size only applies to the non-partial work-groups. This is the " "same value as the AQL dispatch packet work-group size." msgstr "" -#: ../../../AMDGPUUsage.rst:4973 +#: ../../../AMDGPUUsage.rst:5181 msgid "\"hidden_group_size_y\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4969 +#: ../../../AMDGPUUsage.rst:5177 msgid "" "The grid dispatch work-group size for the Y dimension is passed in the " "kernarg. This size only applies to the non-partial work-groups. This is the " @@ -10174,11 +10562,11 @@ msgid "" "dimensionality is 1, then must be 1." msgstr "" -#: ../../../AMDGPUUsage.rst:4980 +#: ../../../AMDGPUUsage.rst:5188 msgid "\"hidden_group_size_z\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4976 +#: ../../../AMDGPUUsage.rst:5184 msgid "" "The grid dispatch work-group size for the Z dimension is passed in the " "kernarg. This size only applies to the non-partial work-groups. This is the " @@ -10186,95 +10574,95 @@ msgid "" "dimensionality is 1 or 2, then must be 1." msgstr "" -#: ../../../AMDGPUUsage.rst:4985 +#: ../../../AMDGPUUsage.rst:5193 msgid "\"hidden_remainder_x\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4983 +#: ../../../AMDGPUUsage.rst:5191 msgid "" "The grid dispatch work group size of the partial work group of the X " "dimension, if it exists. Must be zero if a partial work group does not exist " "in the X dimension." msgstr "" -#: ../../../AMDGPUUsage.rst:4990 +#: ../../../AMDGPUUsage.rst:5198 msgid "\"hidden_remainder_y\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4988 +#: ../../../AMDGPUUsage.rst:5196 msgid "" "The grid dispatch work group size of the partial work group of the Y " "dimension, if it exists. Must be zero if a partial work group does not exist " "in the Y dimension." msgstr "" -#: ../../../AMDGPUUsage.rst:4995 +#: ../../../AMDGPUUsage.rst:5203 msgid "\"hidden_remainder_z\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4993 +#: ../../../AMDGPUUsage.rst:5201 msgid "" "The grid dispatch work group size of the partial work group of the Z " "dimension, if it exists. Must be zero if a partial work group does not exist " "in the Z dimension." msgstr "" -#: ../../../AMDGPUUsage.rst:5000 +#: ../../../AMDGPUUsage.rst:5208 msgid "\"hidden_grid_dims\"" msgstr "" -#: ../../../AMDGPUUsage.rst:4998 +#: ../../../AMDGPUUsage.rst:5206 msgid "" "The grid dispatch dimensionality. This is the same value as the AQL dispatch " "packet dimensionality. Must be a value between 1 and 3." msgstr "" -#: ../../../AMDGPUUsage.rst:5005 +#: ../../../AMDGPUUsage.rst:5213 msgid "\"hidden_heap_v1\"" msgstr "" -#: ../../../AMDGPUUsage.rst:5003 +#: ../../../AMDGPUUsage.rst:5211 msgid "" "A global address space pointer to an initialized memory buffer that conforms " "to the requirements of the malloc/free device library V1 version " "implementation." msgstr "" -#: ../../../AMDGPUUsage.rst:5008 +#: ../../../AMDGPUUsage.rst:5216 msgid "\"hidden_dynamic_lds_size\"" msgstr "" -#: ../../../AMDGPUUsage.rst:5008 +#: ../../../AMDGPUUsage.rst:5216 msgid "Size of the dynamically allocated LDS memory is passed in the kernarg." msgstr "" -#: ../../../AMDGPUUsage.rst:5013 +#: ../../../AMDGPUUsage.rst:5221 msgid "\"hidden_private_base\"" msgstr "" -#: ../../../AMDGPUUsage.rst:5011 +#: ../../../AMDGPUUsage.rst:5219 msgid "" "The high 32 bits of the flat addressing private aperture base. Only used by " "GFX8 to allow conversion between private segment and flat addresses. See :" "ref:`amdgpu-amdhsa-kernel-prolog-flat-scratch`." msgstr "" -#: ../../../AMDGPUUsage.rst:5018 +#: ../../../AMDGPUUsage.rst:5226 msgid "\"hidden_shared_base\"" msgstr "" -#: ../../../AMDGPUUsage.rst:5016 +#: ../../../AMDGPUUsage.rst:5224 msgid "" "The high 32 bits of the flat addressing shared aperture base. Only used by " "GFX8 to allow conversion between shared segment and flat addresses. See :ref:" "`amdgpu-amdhsa-kernel-prolog-flat-scratch`." msgstr "" -#: ../../../AMDGPUUsage.rst:5024 +#: ../../../AMDGPUUsage.rst:5232 msgid "\"hidden_queue_ptr\"" msgstr "" -#: ../../../AMDGPUUsage.rst:5021 +#: ../../../AMDGPUUsage.rst:5229 msgid "" "A global memory address space pointer to the ROCm runtime ``struct " "amd_queue_t`` structure for the HSA queue of the associated dispatch AQL " @@ -10282,34 +10670,34 @@ msgid "" "(see :ref:`amdgpu-amdhsa-trap-handler-abi`)." msgstr "" -#: ../../../AMDGPUUsage.rst:5031 +#: ../../../AMDGPUUsage.rst:5239 msgid "Code Object V6 Metadata" msgstr "" -#: ../../../AMDGPUUsage.rst:5033 +#: ../../../AMDGPUUsage.rst:5241 msgid "" "Code object V6 metadata is the same as :ref:`amdgpu-amdhsa-code-object-" "metadata-v5` with the changes defined in table :ref:`amdgpu-amdhsa-code-" "object-kernel-metadata-map-table-v6`." msgstr "" -#: ../../../AMDGPUUsage.rst:5037 +#: ../../../AMDGPUUsage.rst:5245 msgid "AMDHSA Code Object V6 Kernel Metadata Map Additions" msgstr "" -#: ../../../AMDGPUUsage.rst:5043 +#: ../../../AMDGPUUsage.rst:5251 msgid "\".cluster_dims\"" msgstr "" -#: ../../../AMDGPUUsage.rst:5043 +#: ../../../AMDGPUUsage.rst:5251 msgid "The dimension of the cluster." msgstr "" -#: ../../../AMDGPUUsage.rst:5048 +#: ../../../AMDGPUUsage.rst:5256 msgid "Kernel Dispatch" msgstr "" -#: ../../../AMDGPUUsage.rst:5050 +#: ../../../AMDGPUUsage.rst:5258 msgid "" "The HSA architected queuing language (AQL) defines a user space memory " "interface that can be used to control the dispatch of kernels, in an agent " @@ -10320,7 +10708,7 @@ msgid "" "layouts." msgstr "" -#: ../../../AMDGPUUsage.rst:5057 +#: ../../../AMDGPUUsage.rst:5265 msgid "" "The packet processor of a kernel agent is responsible for detecting and " "dispatching HSA kernels from the AQL queues associated with it. For AMD GPUs " @@ -10329,25 +10717,25 @@ msgid "" "(SPI)." msgstr "" -#: ../../../AMDGPUUsage.rst:5063 +#: ../../../AMDGPUUsage.rst:5271 msgid "" "An HSA compatible runtime can be used to allocate an AQL queue object. It " "uses the kernel mode driver to initialize and register the AQL queue with CP." msgstr "" -#: ../../../AMDGPUUsage.rst:5066 +#: ../../../AMDGPUUsage.rst:5274 msgid "" "To dispatch a kernel the following actions are performed. This can occur in " "the CPU host program, or from an HSA kernel executing on a GPU." msgstr "" -#: ../../../AMDGPUUsage.rst:5069 +#: ../../../AMDGPUUsage.rst:5277 msgid "" "A pointer to an AQL queue for the kernel agent on which the kernel is to be " "executed is obtained." msgstr "" -#: ../../../AMDGPUUsage.rst:5071 +#: ../../../AMDGPUUsage.rst:5279 msgid "" "A pointer to the kernel descriptor (see :ref:`amdgpu-amdhsa-kernel-" "descriptor`) of the kernel to execute is obtained. It must be for a kernel " @@ -10355,14 +10743,14 @@ msgid "" "runtime on the kernel agent with which the AQL queue is associated." msgstr "" -#: ../../../AMDGPUUsage.rst:5076 +#: ../../../AMDGPUUsage.rst:5284 msgid "" "Space is allocated for the kernel arguments using the HSA compatible runtime " "allocator for a memory region with the kernarg property for the kernel agent " "that will execute the kernel. It must be at least 16-byte aligned." msgstr "" -#: ../../../AMDGPUUsage.rst:5079 +#: ../../../AMDGPUUsage.rst:5287 msgid "" "Kernel argument values are assigned to the kernel argument memory " "allocation. The layout is defined in the *HSA Programmer's Language " @@ -10372,7 +10760,7 @@ msgid "" "argument contents to another location that is accessed by the kernel.)" msgstr "" -#: ../../../AMDGPUUsage.rst:5085 +#: ../../../AMDGPUUsage.rst:5293 msgid "" "An AQL kernel dispatch packet is created on the AQL queue. The HSA " "compatible runtime api uses 64-bit atomic operations to reserve space in the " @@ -10384,7 +10772,7 @@ msgid "" "defined in the *HSA System Architecture Specification* [HSA]_." msgstr "" -#: ../../../AMDGPUUsage.rst:5093 +#: ../../../AMDGPUUsage.rst:5301 msgid "" "A kernel dispatch packet includes information about the actual dispatch, " "such as grid and work-group size, together with information from the code " @@ -10393,13 +10781,13 @@ msgid "" "which are recorded in the :ref:`amdgpu-amdhsa-code-object-metadata`." msgstr "" -#: ../../../AMDGPUUsage.rst:5098 +#: ../../../AMDGPUUsage.rst:5306 msgid "" "CP executes micro-code and is responsible for detecting and setting up the " "GPU to execute the wavefronts of a kernel dispatch." msgstr "" -#: ../../../AMDGPUUsage.rst:5100 +#: ../../../AMDGPUUsage.rst:5308 msgid "" "CP ensures that when the a wavefront starts executing the kernel machine " "code, the scalar general purpose registers (SGPR) and vector general purpose " @@ -10409,32 +10797,32 @@ msgid "" "state`." msgstr "" -#: ../../../AMDGPUUsage.rst:5106 +#: ../../../AMDGPUUsage.rst:5314 msgid "" "The prolog of the kernel machine code (see :ref:`amdgpu-amdhsa-kernel-" "prolog`) sets up the machine state as necessary before continuing executing " "the machine code that corresponds to the kernel." msgstr "" -#: ../../../AMDGPUUsage.rst:5109 +#: ../../../AMDGPUUsage.rst:5317 msgid "" "When the kernel dispatch has completed execution, CP signals the completion " "signal specified in the kernel dispatch packet if not 0." msgstr "" -#: ../../../AMDGPUUsage.rst:5115 +#: ../../../AMDGPUUsage.rst:5323 msgid "Memory Spaces" msgstr "" -#: ../../../AMDGPUUsage.rst:5117 +#: ../../../AMDGPUUsage.rst:5325 msgid "The memory space properties are:" msgstr "" -#: ../../../AMDGPUUsage.rst:5119 +#: ../../../AMDGPUUsage.rst:5327 msgid "AMDHSA Memory Spaces" msgstr "" -#: ../../../AMDGPUUsage.rst:5136 +#: ../../../AMDGPUUsage.rst:5344 msgid "" "The global and constant memory spaces both use global virtual addresses, " "which are the same virtual address space used by the CPU. However, some " @@ -10442,7 +10830,7 @@ msgid "" "the GPU, and some by both." msgstr "" -#: ../../../AMDGPUUsage.rst:5141 +#: ../../../AMDGPUUsage.rst:5349 msgid "" "Using the constant memory space indicates that the data will not change " "during the execution of the kernel. This allows scalar read instructions to " @@ -10451,7 +10839,7 @@ msgid "" "values between kernel dispatches." msgstr "" -#: ../../../AMDGPUUsage.rst:5147 +#: ../../../AMDGPUUsage.rst:5355 msgid "" "The local memory space uses the hardware Local Data Store (LDS) which is " "automatically allocated when the hardware creates work-groups of wavefronts, " @@ -10459,7 +10847,7 @@ msgid "" "store (DS) instructions can be used to access it." msgstr "" -#: ../../../AMDGPUUsage.rst:5152 +#: ../../../AMDGPUUsage.rst:5360 msgid "" "The private memory space uses the hardware scratch memory support. If the " "kernel uses scratch, then the hardware allocates memory that is accessed " @@ -10467,13 +10855,13 @@ msgid "" "private address to physical address is:" msgstr "" -#: ../../../AMDGPUUsage.rst:5157 +#: ../../../AMDGPUUsage.rst:5365 msgid "" "``wavefront-scratch-base + (private-address * wavefront-size * 4) + " "(wavefront-lane-id * 4)``" msgstr "" -#: ../../../AMDGPUUsage.rst:5161 +#: ../../../AMDGPUUsage.rst:5369 msgid "" "There are different ways that the wavefront scratch base address is " "determined by a wavefront (see :ref:`amdgpu-amdhsa-initial-kernel-execution-" @@ -10486,7 +10874,7 @@ msgid "" "instructions in GFX9-GFX11." msgstr "" -#: ../../../AMDGPUUsage.rst:5170 +#: ../../../AMDGPUUsage.rst:5378 msgid "" "The generic address space uses the hardware flat address support available " "in GFX7-GFX11. This uses two fixed ranges of virtual addresses (the private " @@ -10494,7 +10882,7 @@ msgid "" "memory, to map from a flat address to a private or local address." msgstr "" -#: ../../../AMDGPUUsage.rst:5175 +#: ../../../AMDGPUUsage.rst:5383 msgid "" "FLAT instructions can take a flat address and access global, private " "(scratch) and group (LDS) memory depending on if the address is within one " @@ -10505,7 +10893,7 @@ msgid "" "m0`)." msgstr "" -#: ../../../AMDGPUUsage.rst:5183 +#: ../../../AMDGPUUsage.rst:5391 msgid "" "To convert between a segment address and a flat address the base address of " "the apertures address can be used. For GFX7-GFX8 these are available in the :" @@ -10518,11 +10906,11 @@ msgid "" "segment to flat." msgstr "" -#: ../../../AMDGPUUsage.rst:5193 +#: ../../../AMDGPUUsage.rst:5401 msgid "Image and Samplers" msgstr "" -#: ../../../AMDGPUUsage.rst:5195 +#: ../../../AMDGPUUsage.rst:5403 msgid "" "Image and sample handles created by an HSA compatible runtime (see :ref:" "`amdgpu-os`) are 64-bit addresses of a hardware 32-byte V# and 48 byte S# " @@ -10532,11 +10920,11 @@ msgid "" "representation." msgstr "" -#: ../../../AMDGPUUsage.rst:5202 +#: ../../../AMDGPUUsage.rst:5410 msgid "HSA Signals" msgstr "" -#: ../../../AMDGPUUsage.rst:5204 +#: ../../../AMDGPUUsage.rst:5412 msgid "" "HSA signal handles created by an HSA compatible runtime (see :ref:`amdgpu-" "os`) are 64-bit addresses of a structure allocated in memory accessible from " @@ -10544,11 +10932,11 @@ msgid "" "change between releases. For example, see [AMD-ROCm-github]_." msgstr "" -#: ../../../AMDGPUUsage.rst:5212 +#: ../../../AMDGPUUsage.rst:5420 msgid "HSA AQL Queue" msgstr "" -#: ../../../AMDGPUUsage.rst:5214 +#: ../../../AMDGPUUsage.rst:5422 msgid "" "The HSA AQL queue structure is defined by an HSA compatible runtime (see :" "ref:`amdgpu-os`) and subject to change between releases. For example, see " @@ -10558,118 +10946,118 @@ msgid "" "scratch memory." msgstr "" -#: ../../../AMDGPUUsage.rst:5223 +#: ../../../AMDGPUUsage.rst:5431 msgid "Kernel Descriptor" msgstr "" -#: ../../../AMDGPUUsage.rst:5225 +#: ../../../AMDGPUUsage.rst:5433 msgid "" "A kernel descriptor consists of the information needed by CP to initiate the " "execution of a kernel, including the entry point address of the machine code " "that implements the kernel." msgstr "" -#: ../../../AMDGPUUsage.rst:5230 ../../../AMDGPUUsage.rst:5238 +#: ../../../AMDGPUUsage.rst:5438 ../../../AMDGPUUsage.rst:5446 msgid "Code Object V3 Kernel Descriptor" msgstr "" -#: ../../../AMDGPUUsage.rst:5232 +#: ../../../AMDGPUUsage.rst:5440 msgid "" "CP microcode requires the Kernel descriptor to be allocated on 64-byte " "alignment." msgstr "" -#: ../../../AMDGPUUsage.rst:5235 +#: ../../../AMDGPUUsage.rst:5443 msgid "" "The fields used by CP for code objects before V3 also match those specified " "in :ref:`amdgpu-amdhsa-kernel-descriptor-v3-table`." msgstr "" -#: ../../../AMDGPUUsage.rst:5242 ../../../AMDGPUUsage.rst:5413 -#: ../../../AMDGPUUsage.rst:5734 ../../../AMDGPUUsage.rst:5930 -#: ../../../AMDGPUUsage.rst:5953 ../../../AMDGPUUsage.rst:6005 -#: ../../../AMDGPUUsage.rst:6256 ../../../AMDGPUUsage.rst:19143 +#: ../../../AMDGPUUsage.rst:5450 ../../../AMDGPUUsage.rst:5621 +#: ../../../AMDGPUUsage.rst:5946 ../../../AMDGPUUsage.rst:6142 +#: ../../../AMDGPUUsage.rst:6165 ../../../AMDGPUUsage.rst:6217 +#: ../../../AMDGPUUsage.rst:6468 ../../../AMDGPUUsage.rst:20132 msgid "Bits" msgstr "" -#: ../../../AMDGPUUsage.rst:5242 ../../../AMDGPUUsage.rst:5413 -#: ../../../AMDGPUUsage.rst:5734 ../../../AMDGPUUsage.rst:5930 -#: ../../../AMDGPUUsage.rst:5953 ../../../AMDGPUUsage.rst:6005 -#: ../../../AMDGPUUsage.rst:6256 ../../../AMDGPUUsage.rst:19143 +#: ../../../AMDGPUUsage.rst:5450 ../../../AMDGPUUsage.rst:5621 +#: ../../../AMDGPUUsage.rst:5946 ../../../AMDGPUUsage.rst:6142 +#: ../../../AMDGPUUsage.rst:6165 ../../../AMDGPUUsage.rst:6217 +#: ../../../AMDGPUUsage.rst:6468 ../../../AMDGPUUsage.rst:20132 msgid "Size" msgstr "" -#: ../../../AMDGPUUsage.rst:5242 ../../../AMDGPUUsage.rst:5413 -#: ../../../AMDGPUUsage.rst:5734 ../../../AMDGPUUsage.rst:5930 -#: ../../../AMDGPUUsage.rst:5953 ../../../AMDGPUUsage.rst:6005 -#: ../../../AMDGPUUsage.rst:6256 ../../../AMDGPUUsage.rst:19143 +#: ../../../AMDGPUUsage.rst:5450 ../../../AMDGPUUsage.rst:5621 +#: ../../../AMDGPUUsage.rst:5946 ../../../AMDGPUUsage.rst:6142 +#: ../../../AMDGPUUsage.rst:6165 ../../../AMDGPUUsage.rst:6217 +#: ../../../AMDGPUUsage.rst:6468 ../../../AMDGPUUsage.rst:20132 msgid "Field Name" msgstr "" -#: ../../../AMDGPUUsage.rst:5244 +#: ../../../AMDGPUUsage.rst:5452 msgid "31:0" msgstr "" -#: ../../../AMDGPUUsage.rst:5244 ../../../AMDGPUUsage.rst:5253 -#: ../../../AMDGPUUsage.rst:5262 ../../../AMDGPUUsage.rst:5292 -#: ../../../AMDGPUUsage.rst:5302 ../../../AMDGPUUsage.rst:5328 -#: ../../../AMDGPUUsage.rst:5335 ../../../AMDGPUUsage.rst:5403 +#: ../../../AMDGPUUsage.rst:5452 ../../../AMDGPUUsage.rst:5461 +#: ../../../AMDGPUUsage.rst:5470 ../../../AMDGPUUsage.rst:5500 +#: ../../../AMDGPUUsage.rst:5510 ../../../AMDGPUUsage.rst:5536 +#: ../../../AMDGPUUsage.rst:5543 ../../../AMDGPUUsage.rst:5611 msgid "4 bytes" msgstr "" -#: ../../../AMDGPUUsage.rst:5244 +#: ../../../AMDGPUUsage.rst:5452 msgid "GROUP_SEGMENT_FIXED_SIZE" msgstr "" -#: ../../../AMDGPUUsage.rst:5244 +#: ../../../AMDGPUUsage.rst:5452 msgid "" "The amount of fixed local address space memory required for a work-group in " "bytes. This does not include any dynamically allocated local address space " "memory that may be added when the kernel is dispatched." msgstr "" -#: ../../../AMDGPUUsage.rst:5253 +#: ../../../AMDGPUUsage.rst:5461 msgid "63:32" msgstr "" -#: ../../../AMDGPUUsage.rst:5253 +#: ../../../AMDGPUUsage.rst:5461 msgid "PRIVATE_SEGMENT_FIXED_SIZE" msgstr "" -#: ../../../AMDGPUUsage.rst:5253 +#: ../../../AMDGPUUsage.rst:5461 msgid "" "The amount of fixed private address space memory required for a work-item in " "bytes. When this cannot be predicted, code object v4 and older sets this " "value to be higher than the minimum requirement." msgstr "" -#: ../../../AMDGPUUsage.rst:5262 +#: ../../../AMDGPUUsage.rst:5470 msgid "95:64" msgstr "" -#: ../../../AMDGPUUsage.rst:5262 +#: ../../../AMDGPUUsage.rst:5470 msgid "KERNARG_SIZE" msgstr "" -#: ../../../AMDGPUUsage.rst:5262 +#: ../../../AMDGPUUsage.rst:5470 msgid "" "The size of the kernarg memory pointed to by the AQL dispatch packet. The " "kernarg memory is used to pass arguments to the kernel." msgstr "" -#: ../../../AMDGPUUsage.rst:5269 +#: ../../../AMDGPUUsage.rst:5477 msgid "" "If the kernarg pointer in the dispatch packet is NULL then there are no " "kernel arguments." msgstr "" -#: ../../../AMDGPUUsage.rst:5273 +#: ../../../AMDGPUUsage.rst:5481 msgid "" "If the kernarg pointer in the dispatch packet is not NULL and this value is " "0 then the kernarg memory size is unspecified." msgstr "" -#: ../../../AMDGPUUsage.rst:5279 +#: ../../../AMDGPUUsage.rst:5487 msgid "" "If the kernarg pointer in the dispatch packet is not NULL and this value is " "not 0 then the value specifies the kernarg memory size in bytes. It is " @@ -10677,421 +11065,421 @@ msgid "" "the kernarg memory visible to the kernel code." msgstr "" -#: ../../../AMDGPUUsage.rst:5292 +#: ../../../AMDGPUUsage.rst:5500 msgid "127:96" msgstr "" -#: ../../../AMDGPUUsage.rst:5292 ../../../AMDGPUUsage.rst:5300 -#: ../../../AMDGPUUsage.rst:5303 ../../../AMDGPUUsage.rst:5372 -#: ../../../AMDGPUUsage.rst:5374 ../../../AMDGPUUsage.rst:5386 -#: ../../../AMDGPUUsage.rst:5388 ../../../AMDGPUUsage.rst:5396 -#: ../../../AMDGPUUsage.rst:5403 ../../../AMDGPUUsage.rst:5647 -#: ../../../AMDGPUUsage.rst:5665 ../../../AMDGPUUsage.rst:5678 -#: ../../../AMDGPUUsage.rst:5680 ../../../AMDGPUUsage.rst:5692 -#: ../../../AMDGPUUsage.rst:5715 ../../../AMDGPUUsage.rst:5920 -#: ../../../AMDGPUUsage.rst:5935 ../../../AMDGPUUsage.rst:5942 -#: ../../../AMDGPUUsage.rst:5960 ../../../AMDGPUUsage.rst:5966 -#: ../../../AMDGPUUsage.rst:5976 ../../../AMDGPUUsage.rst:5984 -#: ../../../AMDGPUUsage.rst:5986 ../../../AMDGPUUsage.rst:6007 -#: ../../../AMDGPUUsage.rst:6011 ../../../AMDGPUUsage.rst:6014 -#: ../../../AMDGPUUsage.rst:6019 ../../../AMDGPUUsage.rst:6027 -#: ../../../AMDGPUUsage.rst:6033 ../../../AMDGPUUsage.rst:6036 +#: ../../../AMDGPUUsage.rst:5500 ../../../AMDGPUUsage.rst:5508 +#: ../../../AMDGPUUsage.rst:5511 ../../../AMDGPUUsage.rst:5580 +#: ../../../AMDGPUUsage.rst:5582 ../../../AMDGPUUsage.rst:5594 +#: ../../../AMDGPUUsage.rst:5596 ../../../AMDGPUUsage.rst:5604 +#: ../../../AMDGPUUsage.rst:5611 ../../../AMDGPUUsage.rst:5859 +#: ../../../AMDGPUUsage.rst:5877 ../../../AMDGPUUsage.rst:5890 +#: ../../../AMDGPUUsage.rst:5892 ../../../AMDGPUUsage.rst:5904 +#: ../../../AMDGPUUsage.rst:5927 ../../../AMDGPUUsage.rst:6132 +#: ../../../AMDGPUUsage.rst:6147 ../../../AMDGPUUsage.rst:6154 +#: ../../../AMDGPUUsage.rst:6172 ../../../AMDGPUUsage.rst:6178 +#: ../../../AMDGPUUsage.rst:6188 ../../../AMDGPUUsage.rst:6196 +#: ../../../AMDGPUUsage.rst:6198 ../../../AMDGPUUsage.rst:6219 +#: ../../../AMDGPUUsage.rst:6223 ../../../AMDGPUUsage.rst:6226 +#: ../../../AMDGPUUsage.rst:6231 ../../../AMDGPUUsage.rst:6239 +#: ../../../AMDGPUUsage.rst:6245 ../../../AMDGPUUsage.rst:6248 msgid "Reserved, must be 0." msgstr "" -#: ../../../AMDGPUUsage.rst:5293 +#: ../../../AMDGPUUsage.rst:5501 msgid "191:128" msgstr "" -#: ../../../AMDGPUUsage.rst:5293 +#: ../../../AMDGPUUsage.rst:5501 msgid "8 bytes" msgstr "" -#: ../../../AMDGPUUsage.rst:5293 +#: ../../../AMDGPUUsage.rst:5501 msgid "KERNEL_CODE_ENTRY_BYTE_OFFSET" msgstr "" -#: ../../../AMDGPUUsage.rst:5293 +#: ../../../AMDGPUUsage.rst:5501 msgid "" "Byte offset (possibly negative) from base address of kernel descriptor to " "kernel's entry point instruction which must be 256 byte aligned." msgstr "" -#: ../../../AMDGPUUsage.rst:5300 +#: ../../../AMDGPUUsage.rst:5508 msgid "351:192" msgstr "" -#: ../../../AMDGPUUsage.rst:5300 +#: ../../../AMDGPUUsage.rst:5508 msgid "20 bytes" msgstr "" -#: ../../../AMDGPUUsage.rst:5302 +#: ../../../AMDGPUUsage.rst:5510 msgid "383:352" msgstr "" -#: ../../../AMDGPUUsage.rst:5302 +#: ../../../AMDGPUUsage.rst:5510 msgid "COMPUTE_PGM_RSRC3" msgstr "" -#: ../../../AMDGPUUsage.rst:5302 ../../../AMDGPUUsage.rst:5373 -#: ../../../AMDGPUUsage.rst:5387 ../../../AMDGPUUsage.rst:5395 -#: ../../../AMDGPUUsage.rst:5421 ../../../AMDGPUUsage.rst:5679 -#: ../../../AMDGPUUsage.rst:5691 ../../../AMDGPUUsage.rst:5714 +#: ../../../AMDGPUUsage.rst:5510 ../../../AMDGPUUsage.rst:5581 +#: ../../../AMDGPUUsage.rst:5595 ../../../AMDGPUUsage.rst:5603 +#: ../../../AMDGPUUsage.rst:5629 ../../../AMDGPUUsage.rst:5891 +#: ../../../AMDGPUUsage.rst:5903 ../../../AMDGPUUsage.rst:5926 msgid "GFX6-GFX9" msgstr "" -#: ../../../AMDGPUUsage.rst:5310 ../../../AMDGPUUsage.rst:5393 -#: ../../../AMDGPUUsage.rst:5401 ../../../AMDGPUUsage.rst:5426 -#: ../../../AMDGPUUsage.rst:20514 ../../../AMDGPUUsage.rst:20583 -#: ../../../AMDGPUUsage.rst:20585 +#: ../../../AMDGPUUsage.rst:5518 ../../../AMDGPUUsage.rst:5601 +#: ../../../AMDGPUUsage.rst:5609 ../../../AMDGPUUsage.rst:5634 +#: ../../../AMDGPUUsage.rst:21503 ../../../AMDGPUUsage.rst:21574 +#: ../../../AMDGPUUsage.rst:21576 msgid "GFX90A, GFX942" msgstr "" -#: ../../../AMDGPUUsage.rst:5305 +#: ../../../AMDGPUUsage.rst:5513 msgid "" "Compute Shader (CS) program settings used by CP to set up " "``COMPUTE_PGM_RSRC3`` configuration register. See :ref:`amdgpu-amdhsa-" "compute_pgm_rsrc3-gfx90a-table`." msgstr "" -#: ../../../AMDGPUUsage.rst:5318 ../../../AMDGPUUsage.rst:5379 -#: ../../../AMDGPUUsage.rst:20564 +#: ../../../AMDGPUUsage.rst:5526 ../../../AMDGPUUsage.rst:5587 +#: ../../../AMDGPUUsage.rst:21555 msgid "GFX10-GFX11" msgstr "" -#: ../../../AMDGPUUsage.rst:5313 +#: ../../../AMDGPUUsage.rst:5521 msgid "" "Compute Shader (CS) program settings used by CP to set up " "``COMPUTE_PGM_RSRC3`` configuration register. See :ref:`amdgpu-amdhsa-" "compute_pgm_rsrc3-gfx10-gfx11-table`." msgstr "" -#: ../../../AMDGPUUsage.rst:5326 ../../../AMDGPUUsage.rst:5601 -#: ../../../AMDGPUUsage.rst:5627 ../../../AMDGPUUsage.rst:20548 +#: ../../../AMDGPUUsage.rst:5534 ../../../AMDGPUUsage.rst:5811 +#: ../../../AMDGPUUsage.rst:5839 ../../../AMDGPUUsage.rst:21539 msgid "GFX12" msgstr "" -#: ../../../AMDGPUUsage.rst:5321 +#: ../../../AMDGPUUsage.rst:5529 msgid "" "Compute Shader (CS) program settings used by CP to set up " "``COMPUTE_PGM_RSRC3`` configuration register. See :ref:`amdgpu-amdhsa-" "compute_pgm_rsrc3-gfx12-table`." msgstr "" -#: ../../../AMDGPUUsage.rst:5328 +#: ../../../AMDGPUUsage.rst:5536 msgid "415:384" msgstr "" -#: ../../../AMDGPUUsage.rst:5328 +#: ../../../AMDGPUUsage.rst:5536 msgid "COMPUTE_PGM_RSRC1" msgstr "" -#: ../../../AMDGPUUsage.rst:5328 +#: ../../../AMDGPUUsage.rst:5536 msgid "" "Compute Shader (CS) program settings used by CP to set up " "``COMPUTE_PGM_RSRC1`` configuration register. See :ref:`amdgpu-amdhsa-" "compute_pgm_rsrc1-gfx6-gfx12-table`." msgstr "" -#: ../../../AMDGPUUsage.rst:5335 +#: ../../../AMDGPUUsage.rst:5543 msgid "447:416" msgstr "" -#: ../../../AMDGPUUsage.rst:5335 +#: ../../../AMDGPUUsage.rst:5543 msgid "COMPUTE_PGM_RSRC2" msgstr "" -#: ../../../AMDGPUUsage.rst:5335 +#: ../../../AMDGPUUsage.rst:5543 msgid "" "Compute Shader (CS) program settings used by CP to set up " "``COMPUTE_PGM_RSRC2`` configuration register. See :ref:`amdgpu-amdhsa-" "compute_pgm_rsrc2-gfx6-gfx12-table`." msgstr "" -#: ../../../AMDGPUUsage.rst:5342 +#: ../../../AMDGPUUsage.rst:5550 msgid "458:448" msgstr "" -#: ../../../AMDGPUUsage.rst:5342 ../../../AMDGPUUsage.rst:5387 +#: ../../../AMDGPUUsage.rst:5550 ../../../AMDGPUUsage.rst:5595 msgid "7 bits" msgstr "" -#: ../../../AMDGPUUsage.rst:5342 +#: ../../../AMDGPUUsage.rst:5550 msgid "*See separate bits below.*" msgstr "" -#: ../../../AMDGPUUsage.rst:5342 +#: ../../../AMDGPUUsage.rst:5550 msgid "" "Enable the setup of the SGPR user data registers (see :ref:`amdgpu-amdhsa-" "initial-kernel-execution-state`)." msgstr "" -#: ../../../AMDGPUUsage.rst:5347 +#: ../../../AMDGPUUsage.rst:5555 msgid "" "The total number of SGPR user data registers requested must not exceed 16 " "and match value in ``compute_pgm_rsrc2.user_sgpr.user_sgpr_count``. Any " "requests beyond 16 will be ignored." msgstr "" -#: ../../../AMDGPUUsage.rst:5354 +#: ../../../AMDGPUUsage.rst:5562 msgid ">448" msgstr "" -#: ../../../AMDGPUUsage.rst:5354 ../../../AMDGPUUsage.rst:5360 -#: ../../../AMDGPUUsage.rst:5361 ../../../AMDGPUUsage.rst:5362 -#: ../../../AMDGPUUsage.rst:5363 ../../../AMDGPUUsage.rst:5364 -#: ../../../AMDGPUUsage.rst:5370 ../../../AMDGPUUsage.rst:5373 -#: ../../../AMDGPUUsage.rst:5381 ../../../AMDGPUUsage.rst:5573 -#: ../../../AMDGPUUsage.rst:5582 ../../../AMDGPUUsage.rst:5603 -#: ../../../AMDGPUUsage.rst:5611 ../../../AMDGPUUsage.rst:5629 -#: ../../../AMDGPUUsage.rst:5638 ../../../AMDGPUUsage.rst:5646 -#: ../../../AMDGPUUsage.rst:5664 ../../../AMDGPUUsage.rst:5678 -#: ../../../AMDGPUUsage.rst:5679 ../../../AMDGPUUsage.rst:5691 -#: ../../../AMDGPUUsage.rst:5714 ../../../AMDGPUUsage.rst:5736 -#: ../../../AMDGPUUsage.rst:5770 ../../../AMDGPUUsage.rst:5797 -#: ../../../AMDGPUUsage.rst:5805 ../../../AMDGPUUsage.rst:5813 -#: ../../../AMDGPUUsage.rst:5821 ../../../AMDGPUUsage.rst:5836 -#: ../../../AMDGPUUsage.rst:5852 ../../../AMDGPUUsage.rst:5896 -#: ../../../AMDGPUUsage.rst:5906 ../../../AMDGPUUsage.rst:5909 -#: ../../../AMDGPUUsage.rst:5911 ../../../AMDGPUUsage.rst:5913 -#: ../../../AMDGPUUsage.rst:5915 ../../../AMDGPUUsage.rst:5917 -#: ../../../AMDGPUUsage.rst:5920 ../../../AMDGPUUsage.rst:5937 -#: ../../../AMDGPUUsage.rst:5965 ../../../AMDGPUUsage.rst:5975 -#: ../../../AMDGPUUsage.rst:5985 ../../../AMDGPUUsage.rst:6011 -#: ../../../AMDGPUUsage.rst:6012 ../../../AMDGPUUsage.rst:6018 -#: ../../../AMDGPUUsage.rst:6032 ../../../AMDGPUUsage.rst:6037 +#: ../../../AMDGPUUsage.rst:5562 ../../../AMDGPUUsage.rst:5568 +#: ../../../AMDGPUUsage.rst:5569 ../../../AMDGPUUsage.rst:5570 +#: ../../../AMDGPUUsage.rst:5571 ../../../AMDGPUUsage.rst:5572 +#: ../../../AMDGPUUsage.rst:5578 ../../../AMDGPUUsage.rst:5581 +#: ../../../AMDGPUUsage.rst:5589 ../../../AMDGPUUsage.rst:5781 +#: ../../../AMDGPUUsage.rst:5790 ../../../AMDGPUUsage.rst:5813 +#: ../../../AMDGPUUsage.rst:5821 ../../../AMDGPUUsage.rst:5841 +#: ../../../AMDGPUUsage.rst:5850 ../../../AMDGPUUsage.rst:5858 +#: ../../../AMDGPUUsage.rst:5876 ../../../AMDGPUUsage.rst:5890 +#: ../../../AMDGPUUsage.rst:5891 ../../../AMDGPUUsage.rst:5903 +#: ../../../AMDGPUUsage.rst:5926 ../../../AMDGPUUsage.rst:5948 +#: ../../../AMDGPUUsage.rst:5982 ../../../AMDGPUUsage.rst:6009 +#: ../../../AMDGPUUsage.rst:6017 ../../../AMDGPUUsage.rst:6025 +#: ../../../AMDGPUUsage.rst:6033 ../../../AMDGPUUsage.rst:6048 +#: ../../../AMDGPUUsage.rst:6064 ../../../AMDGPUUsage.rst:6108 +#: ../../../AMDGPUUsage.rst:6118 ../../../AMDGPUUsage.rst:6121 +#: ../../../AMDGPUUsage.rst:6123 ../../../AMDGPUUsage.rst:6125 +#: ../../../AMDGPUUsage.rst:6127 ../../../AMDGPUUsage.rst:6129 +#: ../../../AMDGPUUsage.rst:6132 ../../../AMDGPUUsage.rst:6149 +#: ../../../AMDGPUUsage.rst:6177 ../../../AMDGPUUsage.rst:6187 +#: ../../../AMDGPUUsage.rst:6197 ../../../AMDGPUUsage.rst:6223 +#: ../../../AMDGPUUsage.rst:6224 ../../../AMDGPUUsage.rst:6230 +#: ../../../AMDGPUUsage.rst:6244 ../../../AMDGPUUsage.rst:6249 msgid "1 bit" msgstr "" -#: ../../../AMDGPUUsage.rst:5354 +#: ../../../AMDGPUUsage.rst:5562 msgid "ENABLE_SGPR_PRIVATE_SEGMENT _BUFFER" msgstr "" -#: ../../../AMDGPUUsage.rst:5354 ../../../AMDGPUUsage.rst:5364 +#: ../../../AMDGPUUsage.rst:5562 ../../../AMDGPUUsage.rst:5572 msgid "" "If the *Target Properties* column of :ref:`amdgpu-processor-table` specifies " "*Architected flat scratch* then not supported and must be 0," msgstr "" -#: ../../../AMDGPUUsage.rst:5360 +#: ../../../AMDGPUUsage.rst:5568 msgid ">449" msgstr "" -#: ../../../AMDGPUUsage.rst:5360 +#: ../../../AMDGPUUsage.rst:5568 msgid "ENABLE_SGPR_DISPATCH_PTR" msgstr "" -#: ../../../AMDGPUUsage.rst:5361 +#: ../../../AMDGPUUsage.rst:5569 msgid ">450" msgstr "" -#: ../../../AMDGPUUsage.rst:5361 +#: ../../../AMDGPUUsage.rst:5569 msgid "ENABLE_SGPR_QUEUE_PTR" msgstr "" -#: ../../../AMDGPUUsage.rst:5362 +#: ../../../AMDGPUUsage.rst:5570 msgid ">451" msgstr "" -#: ../../../AMDGPUUsage.rst:5362 +#: ../../../AMDGPUUsage.rst:5570 msgid "ENABLE_SGPR_KERNARG_SEGMENT_PTR" msgstr "" -#: ../../../AMDGPUUsage.rst:5363 +#: ../../../AMDGPUUsage.rst:5571 msgid ">452" msgstr "" -#: ../../../AMDGPUUsage.rst:5363 +#: ../../../AMDGPUUsage.rst:5571 msgid "ENABLE_SGPR_DISPATCH_ID" msgstr "" -#: ../../../AMDGPUUsage.rst:5364 +#: ../../../AMDGPUUsage.rst:5572 msgid ">453" msgstr "" -#: ../../../AMDGPUUsage.rst:5364 +#: ../../../AMDGPUUsage.rst:5572 msgid "ENABLE_SGPR_FLAT_SCRATCH_INIT" msgstr "" -#: ../../../AMDGPUUsage.rst:5370 +#: ../../../AMDGPUUsage.rst:5578 msgid ">454" msgstr "" -#: ../../../AMDGPUUsage.rst:5370 +#: ../../../AMDGPUUsage.rst:5578 msgid "ENABLE_SGPR_PRIVATE_SEGMENT _SIZE" msgstr "" -#: ../../../AMDGPUUsage.rst:5372 +#: ../../../AMDGPUUsage.rst:5580 msgid "457:455" msgstr "" -#: ../../../AMDGPUUsage.rst:5372 ../../../AMDGPUUsage.rst:6013 -#: ../../../AMDGPUUsage.rst:6026 +#: ../../../AMDGPUUsage.rst:5580 ../../../AMDGPUUsage.rst:6225 +#: ../../../AMDGPUUsage.rst:6238 msgid "3 bits" msgstr "" -#: ../../../AMDGPUUsage.rst:5373 +#: ../../../AMDGPUUsage.rst:5581 msgid "458" msgstr "" -#: ../../../AMDGPUUsage.rst:5373 +#: ../../../AMDGPUUsage.rst:5581 msgid "ENABLE_WAVEFRONT_SIZE32" msgstr "" -#: ../../../AMDGPUUsage.rst:5376 +#: ../../../AMDGPUUsage.rst:5584 msgid "If 0 execute in wavefront size 64 mode." msgstr "" -#: ../../../AMDGPUUsage.rst:5378 +#: ../../../AMDGPUUsage.rst:5586 msgid "If 1 execute in native wavefront size 32 mode." msgstr "" -#: ../../../AMDGPUUsage.rst:5381 +#: ../../../AMDGPUUsage.rst:5589 msgid "459" msgstr "" -#: ../../../AMDGPUUsage.rst:5381 +#: ../../../AMDGPUUsage.rst:5589 msgid "USES_DYNAMIC_STACK" msgstr "" -#: ../../../AMDGPUUsage.rst:5381 +#: ../../../AMDGPUUsage.rst:5589 msgid "" "Indicates if the generated machine code is using a dynamically sized stack. " "This is only set in code object v5 and later." msgstr "" -#: ../../../AMDGPUUsage.rst:5386 +#: ../../../AMDGPUUsage.rst:5594 msgid "463:460" msgstr "" -#: ../../../AMDGPUUsage.rst:5386 ../../../AMDGPUUsage.rst:5457 -#: ../../../AMDGPUUsage.rst:5955 ../../../AMDGPUUsage.rst:6007 +#: ../../../AMDGPUUsage.rst:5594 ../../../AMDGPUUsage.rst:5665 +#: ../../../AMDGPUUsage.rst:6167 ../../../AMDGPUUsage.rst:6219 msgid "4 bits" msgstr "" -#: ../../../AMDGPUUsage.rst:5387 +#: ../../../AMDGPUUsage.rst:5595 msgid "470:464" msgstr "" -#: ../../../AMDGPUUsage.rst:5387 +#: ../../../AMDGPUUsage.rst:5595 msgid "KERNARG_PRELOAD_SPEC_LENGTH" msgstr "" -#: ../../../AMDGPUUsage.rst:5390 +#: ../../../AMDGPUUsage.rst:5598 msgid "" "The number of dwords from the kernarg segment to preload into User SGPRs " "before kernel execution. (see :ref:`amdgpu-amdhsa-kernarg-preload`)." msgstr "" -#: ../../../AMDGPUUsage.rst:5395 +#: ../../../AMDGPUUsage.rst:5603 msgid "479:471" msgstr "" -#: ../../../AMDGPUUsage.rst:5395 ../../../AMDGPUUsage.rst:5871 -#: ../../../AMDGPUUsage.rst:6036 +#: ../../../AMDGPUUsage.rst:5603 ../../../AMDGPUUsage.rst:6083 +#: ../../../AMDGPUUsage.rst:6248 msgid "9 bits" msgstr "" -#: ../../../AMDGPUUsage.rst:5395 +#: ../../../AMDGPUUsage.rst:5603 msgid "KERNARG_PRELOAD_SPEC_OFFSET" msgstr "" -#: ../../../AMDGPUUsage.rst:5398 +#: ../../../AMDGPUUsage.rst:5606 msgid "" "An offset in dwords into the kernarg segment to begin preloading data into " "User SGPRs. (see :ref:`amdgpu-amdhsa-kernarg-preload`)." msgstr "" -#: ../../../AMDGPUUsage.rst:5403 +#: ../../../AMDGPUUsage.rst:5611 msgid "511:480" msgstr "" -#: ../../../AMDGPUUsage.rst:5404 +#: ../../../AMDGPUUsage.rst:5612 msgid "**Total size 64 bytes.**" msgstr "" -#: ../../../AMDGPUUsage.rst:5409 +#: ../../../AMDGPUUsage.rst:5617 msgid "compute_pgm_rsrc1 for GFX6-GFX12" msgstr "" -#: ../../../AMDGPUUsage.rst:5415 ../../../AMDGPUUsage.rst:5932 +#: ../../../AMDGPUUsage.rst:5623 ../../../AMDGPUUsage.rst:6144 msgid "5:0" msgstr "" -#: ../../../AMDGPUUsage.rst:5415 ../../../AMDGPUUsage.rst:5787 -#: ../../../AMDGPUUsage.rst:5932 ../../../AMDGPUUsage.rst:5959 +#: ../../../AMDGPUUsage.rst:5623 ../../../AMDGPUUsage.rst:5999 +#: ../../../AMDGPUUsage.rst:6144 ../../../AMDGPUUsage.rst:6171 msgid "6 bits" msgstr "" -#: ../../../AMDGPUUsage.rst:5415 +#: ../../../AMDGPUUsage.rst:5623 msgid "GRANULATED_WORKITEM_VGPR_COUNT" msgstr "" -#: ../../../AMDGPUUsage.rst:5415 +#: ../../../AMDGPUUsage.rst:5623 msgid "" "Number of vector register blocks used by each work-item; granularity is " "device specific:" msgstr "" -#: ../../../AMDGPUUsage.rst:5421 +#: ../../../AMDGPUUsage.rst:5629 msgid "vgprs_used 0..256" msgstr "" -#: ../../../AMDGPUUsage.rst:5422 ../../../AMDGPUUsage.rst:5430 +#: ../../../AMDGPUUsage.rst:5630 ../../../AMDGPUUsage.rst:5638 msgid "max(0, ceil(vgprs_used / 4) - 1)" msgstr "" -#: ../../../AMDGPUUsage.rst:5424 +#: ../../../AMDGPUUsage.rst:5632 msgid "vgprs_used 0..512" msgstr "" -#: ../../../AMDGPUUsage.rst:5425 +#: ../../../AMDGPUUsage.rst:5633 msgid "vgprs_used = align(arch_vgprs, 4)" msgstr "" -#: ../../../AMDGPUUsage.rst:5426 +#: ../../../AMDGPUUsage.rst:5634 msgid "acc_vgprs" msgstr "" -#: ../../../AMDGPUUsage.rst:5427 ../../../AMDGPUUsage.rst:5433 +#: ../../../AMDGPUUsage.rst:5635 ../../../AMDGPUUsage.rst:5641 msgid "max(0, ceil(vgprs_used / 8) - 1)" msgstr "" -#: ../../../AMDGPUUsage.rst:5429 +#: ../../../AMDGPUUsage.rst:5637 msgid "GFX10-GFX12 (wavefront size 64)" msgstr "" -#: ../../../AMDGPUUsage.rst:5429 ../../../AMDGPUUsage.rst:5432 +#: ../../../AMDGPUUsage.rst:5637 ../../../AMDGPUUsage.rst:5640 msgid "max_vgpr 1..256" msgstr "" -#: ../../../AMDGPUUsage.rst:5432 +#: ../../../AMDGPUUsage.rst:5640 msgid "GFX10-GFX12 (wavefront size 32)" msgstr "" -#: ../../../AMDGPUUsage.rst:5436 +#: ../../../AMDGPUUsage.rst:5644 msgid "GFX125X (wavefront size 32)" msgstr "" -#: ../../../AMDGPUUsage.rst:5435 +#: ../../../AMDGPUUsage.rst:5643 msgid "max_vgpr 1..1024" msgstr "" -#: ../../../AMDGPUUsage.rst:5436 +#: ../../../AMDGPUUsage.rst:5644 msgid "max(0, ceil(vgprs_used / 16) - 1)" msgstr "" -#: ../../../AMDGPUUsage.rst:5438 +#: ../../../AMDGPUUsage.rst:5646 msgid "" "Where vgprs_used is defined as the highest VGPR number explicitly referenced " "plus one." msgstr "" -#: ../../../AMDGPUUsage.rst:5443 +#: ../../../AMDGPUUsage.rst:5651 msgid "Used by CP to set up ``COMPUTE_PGM_RSRC1.VGPRS``." msgstr "" -#: ../../../AMDGPUUsage.rst:5446 +#: ../../../AMDGPUUsage.rst:5654 msgid "" "The :ref:`amdgpu-assembler` calculates this automatically for the selected " "processor from values provided to the `.amdhsa_kernel` directive by the `." @@ -11099,53 +11487,53 @@ msgid "" "table`)." msgstr "" -#: ../../../AMDGPUUsage.rst:5457 +#: ../../../AMDGPUUsage.rst:5665 msgid "9:6" msgstr "" -#: ../../../AMDGPUUsage.rst:5457 +#: ../../../AMDGPUUsage.rst:5665 msgid "GRANULATED_WAVEFRONT_SGPR_COUNT" msgstr "" -#: ../../../AMDGPUUsage.rst:5457 +#: ../../../AMDGPUUsage.rst:5665 msgid "" "Number of scalar register blocks used by a wavefront; granularity is device " "specific:" msgstr "" -#: ../../../AMDGPUUsage.rst:5463 ../../../AMDGPUUsage.rst:5646 -#: ../../../AMDGPUUsage.rst:6370 +#: ../../../AMDGPUUsage.rst:5671 ../../../AMDGPUUsage.rst:5858 +#: ../../../AMDGPUUsage.rst:6582 msgid "GFX6-GFX8" msgstr "" -#: ../../../AMDGPUUsage.rst:5463 ../../../AMDGPUUsage.rst:5466 +#: ../../../AMDGPUUsage.rst:5671 ../../../AMDGPUUsage.rst:5674 msgid "sgprs_used 0..112" msgstr "" -#: ../../../AMDGPUUsage.rst:5464 +#: ../../../AMDGPUUsage.rst:5672 msgid "max(0, ceil(sgprs_used / 8) - 1)" msgstr "" -#: ../../../AMDGPUUsage.rst:5466 +#: ../../../AMDGPUUsage.rst:5674 msgid "GFX9" msgstr "" -#: ../../../AMDGPUUsage.rst:5467 +#: ../../../AMDGPUUsage.rst:5675 msgid "2 * max(0, ceil(sgprs_used / 16) - 1)" msgstr "" -#: ../../../AMDGPUUsage.rst:5471 ../../../AMDGPUUsage.rst:5689 -#: ../../../AMDGPUUsage.rst:5712 ../../../AMDGPUUsage.rst:5723 -#: ../../../AMDGPUUsage.rst:20483 ../../../AMDGPUUsage.rst:20556 -#: ../../../AMDGPUUsage.rst:20560 ../../../AMDGPUUsage.rst:20562 +#: ../../../AMDGPUUsage.rst:5679 ../../../AMDGPUUsage.rst:5901 +#: ../../../AMDGPUUsage.rst:5924 ../../../AMDGPUUsage.rst:5935 +#: ../../../AMDGPUUsage.rst:21472 ../../../AMDGPUUsage.rst:21547 +#: ../../../AMDGPUUsage.rst:21551 ../../../AMDGPUUsage.rst:21553 msgid "GFX10-GFX12" msgstr "" -#: ../../../AMDGPUUsage.rst:5469 +#: ../../../AMDGPUUsage.rst:5677 msgid "Reserved, must be 0. (128 SGPRs always allocated.)" msgstr "" -#: ../../../AMDGPUUsage.rst:5473 +#: ../../../AMDGPUUsage.rst:5681 msgid "" "Where sgprs_used is defined as the highest SGPR number explicitly referenced " "plus one, plus a target specific number of additional special SGPRs for VCC, " @@ -11154,18 +11542,18 @@ msgid "" "handler is enabled." msgstr "" -#: ../../../AMDGPUUsage.rst:5489 +#: ../../../AMDGPUUsage.rst:5697 msgid "" "The target specific limitations and special SGPR layout are defined in the " "hardware documentation, which can be found in the :ref:`amdgpu-processors` " "table." msgstr "" -#: ../../../AMDGPUUsage.rst:5498 +#: ../../../AMDGPUUsage.rst:5706 msgid "Used by CP to set up ``COMPUTE_PGM_RSRC1.SGPRS``." msgstr "" -#: ../../../AMDGPUUsage.rst:5501 +#: ../../../AMDGPUUsage.rst:5709 msgid "" "The :ref:`amdgpu-assembler` calculates this automatically for the selected " "processor from values provided to the `.amdhsa_kernel` directive by the `." @@ -11173,194 +11561,203 @@ msgid "" "`amdhsa-kernel-directives-table`)." msgstr "" -#: ../../../AMDGPUUsage.rst:5513 +#: ../../../AMDGPUUsage.rst:5721 msgid "11:10" msgstr "" -#: ../../../AMDGPUUsage.rst:5513 ../../../AMDGPUUsage.rst:5521 -#: ../../../AMDGPUUsage.rst:5534 ../../../AMDGPUUsage.rst:5547 -#: ../../../AMDGPUUsage.rst:5560 ../../../AMDGPUUsage.rst:5828 -#: ../../../AMDGPUUsage.rst:6276 ../../../AMDGPUUsage.rst:19148 +#: ../../../AMDGPUUsage.rst:5721 ../../../AMDGPUUsage.rst:5729 +#: ../../../AMDGPUUsage.rst:5742 ../../../AMDGPUUsage.rst:5755 +#: ../../../AMDGPUUsage.rst:5768 ../../../AMDGPUUsage.rst:6040 +#: ../../../AMDGPUUsage.rst:6488 ../../../AMDGPUUsage.rst:20137 msgid "2 bits" msgstr "" -#: ../../../AMDGPUUsage.rst:5513 +#: ../../../AMDGPUUsage.rst:5721 msgid "PRIORITY" msgstr "" -#: ../../../AMDGPUUsage.rst:5513 ../../../AMDGPUUsage.rst:5573 -#: ../../../AMDGPUUsage.rst:5603 ../../../AMDGPUUsage.rst:5629 -#: ../../../AMDGPUUsage.rst:5638 ../../../AMDGPUUsage.rst:5771 -#: ../../../AMDGPUUsage.rst:5836 ../../../AMDGPUUsage.rst:5852 -#: ../../../AMDGPUUsage.rst:5871 ../../../AMDGPUUsage.rst:5968 -#: ../../../AMDGPUUsage.rst:5978 +#: ../../../AMDGPUUsage.rst:5721 ../../../AMDGPUUsage.rst:5781 +#: ../../../AMDGPUUsage.rst:5813 ../../../AMDGPUUsage.rst:5841 +#: ../../../AMDGPUUsage.rst:5850 ../../../AMDGPUUsage.rst:5983 +#: ../../../AMDGPUUsage.rst:6048 ../../../AMDGPUUsage.rst:6064 +#: ../../../AMDGPUUsage.rst:6083 ../../../AMDGPUUsage.rst:6180 +#: ../../../AMDGPUUsage.rst:6190 msgid "Must be 0." msgstr "" -#: ../../../AMDGPUUsage.rst:5515 +#: ../../../AMDGPUUsage.rst:5723 msgid "Start executing wavefront at the specified priority." msgstr "" -#: ../../../AMDGPUUsage.rst:5518 +#: ../../../AMDGPUUsage.rst:5726 msgid "CP is responsible for filling in ``COMPUTE_PGM_RSRC1.PRIORITY``." msgstr "" -#: ../../../AMDGPUUsage.rst:5521 +#: ../../../AMDGPUUsage.rst:5729 msgid "13:12" msgstr "" -#: ../../../AMDGPUUsage.rst:5521 +#: ../../../AMDGPUUsage.rst:5729 msgid "FLOAT_ROUND_MODE_32" msgstr "" -#: ../../../AMDGPUUsage.rst:5521 +#: ../../../AMDGPUUsage.rst:5729 msgid "" "Wavefront starts execution with specified rounding mode for single (32-bit) " "floating point precision floating point operations." msgstr "" -#: ../../../AMDGPUUsage.rst:5528 ../../../AMDGPUUsage.rst:5541 +#: ../../../AMDGPUUsage.rst:5736 ../../../AMDGPUUsage.rst:5749 msgid "" "Floating point rounding mode values are defined in :ref:`amdgpu-amdhsa-" "floating-point-rounding-mode-enumeration-values-table`." msgstr "" -#: ../../../AMDGPUUsage.rst:5532 ../../../AMDGPUUsage.rst:5545 -#: ../../../AMDGPUUsage.rst:5558 ../../../AMDGPUUsage.rst:5571 +#: ../../../AMDGPUUsage.rst:5740 ../../../AMDGPUUsage.rst:5753 +#: ../../../AMDGPUUsage.rst:5766 ../../../AMDGPUUsage.rst:5779 msgid "Used by CP to set up ``COMPUTE_PGM_RSRC1.FLOAT_MODE``." msgstr "" -#: ../../../AMDGPUUsage.rst:5534 +#: ../../../AMDGPUUsage.rst:5742 msgid "15:14" msgstr "" -#: ../../../AMDGPUUsage.rst:5534 +#: ../../../AMDGPUUsage.rst:5742 msgid "FLOAT_ROUND_MODE_16_64" msgstr "" -#: ../../../AMDGPUUsage.rst:5534 +#: ../../../AMDGPUUsage.rst:5742 msgid "" "Wavefront starts execution with specified rounding denorm mode for half/" "double (16 and 64-bit) floating point precision floating point operations." msgstr "" -#: ../../../AMDGPUUsage.rst:5547 +#: ../../../AMDGPUUsage.rst:5755 msgid "17:16" msgstr "" -#: ../../../AMDGPUUsage.rst:5547 +#: ../../../AMDGPUUsage.rst:5755 msgid "FLOAT_DENORM_MODE_32" msgstr "" -#: ../../../AMDGPUUsage.rst:5547 +#: ../../../AMDGPUUsage.rst:5755 msgid "" "Wavefront starts execution with specified denorm mode for single (32 bit) " "floating point precision floating point operations." msgstr "" -#: ../../../AMDGPUUsage.rst:5554 ../../../AMDGPUUsage.rst:5567 +#: ../../../AMDGPUUsage.rst:5762 ../../../AMDGPUUsage.rst:5775 msgid "" "Floating point denorm mode values are defined in :ref:`amdgpu-amdhsa-" "floating-point-denorm-mode-enumeration-values-table`." msgstr "" -#: ../../../AMDGPUUsage.rst:5560 +#: ../../../AMDGPUUsage.rst:5768 msgid "19:18" msgstr "" -#: ../../../AMDGPUUsage.rst:5560 +#: ../../../AMDGPUUsage.rst:5768 msgid "FLOAT_DENORM_MODE_16_64" msgstr "" -#: ../../../AMDGPUUsage.rst:5560 +#: ../../../AMDGPUUsage.rst:5768 msgid "" "Wavefront starts execution with specified denorm mode for half/double (16 " "and 64-bit) floating point precision floating point operations." msgstr "" -#: ../../../AMDGPUUsage.rst:5573 +#: ../../../AMDGPUUsage.rst:5781 msgid "20" msgstr "" -#: ../../../AMDGPUUsage.rst:5573 +#: ../../../AMDGPUUsage.rst:5781 msgid "PRIV" msgstr "" -#: ../../../AMDGPUUsage.rst:5575 +#: ../../../AMDGPUUsage.rst:5783 msgid "Start executing wavefront in privilege trap handler mode." msgstr "" -#: ../../../AMDGPUUsage.rst:5579 +#: ../../../AMDGPUUsage.rst:5787 msgid "CP is responsible for filling in ``COMPUTE_PGM_RSRC1.PRIV``." msgstr "" -#: ../../../AMDGPUUsage.rst:5582 ../../../AMDGPUUsage.rst:6032 +#: ../../../AMDGPUUsage.rst:5790 ../../../AMDGPUUsage.rst:6244 msgid "21" msgstr "" -#: ../../../AMDGPUUsage.rst:5582 +#: ../../../AMDGPUUsage.rst:5790 msgid "ENABLE_DX10_CLAMP" msgstr "" -#: ../../../AMDGPUUsage.rst:5594 +#: ../../../AMDGPUUsage.rst:5804 msgid "WG_RR_EN" msgstr "" -#: ../../../AMDGPUUsage.rst:5592 ../../../AMDGPUUsage.rst:5625 -msgid "GFX9-GFX11" +#: ../../../AMDGPUUsage.rst:5800 ../../../AMDGPUUsage.rst:5835 +msgid "GFX9-GFX11 (except GFX1170)" msgstr "" -#: ../../../AMDGPUUsage.rst:5583 +#: ../../../AMDGPUUsage.rst:5791 msgid "" "Wavefront starts execution with DX10 clamp mode enabled. Used by the vector " "ALU to force DX10 style treatment of NaN's (when set, clamp NaN to zero, " "otherwise pass NaN through)." msgstr "" -#: ../../../AMDGPUUsage.rst:5592 +#: ../../../AMDGPUUsage.rst:5800 msgid "Used by CP to set up ``COMPUTE_PGM_RSRC1.DX10_CLAMP``." msgstr "" -#: ../../../AMDGPUUsage.rst:5595 +#: ../../../AMDGPUUsage.rst:5802 ../../../AMDGPUUsage.rst:5837 +msgid "GFX1170" +msgstr "" + +#: ../../../AMDGPUUsage.rst:5803 ../../../AMDGPUUsage.rst:5838 +#: ../../../AMDGPUUsage.rst:5840 +msgid "Reserved. Must be 0." +msgstr "" + +#: ../../../AMDGPUUsage.rst:5805 msgid "" "If 1, wavefronts are scheduled in a round-robin fashion with respect to the " "other wavefronts of the SIMD. Otherwise, wavefronts are scheduled in oldest " "age order." msgstr "" -#: ../../../AMDGPUUsage.rst:5601 +#: ../../../AMDGPUUsage.rst:5811 msgid "CP is responsible for filling in ``COMPUTE_PGM_RSRC1.WG_RR_EN``." msgstr "" -#: ../../../AMDGPUUsage.rst:5603 +#: ../../../AMDGPUUsage.rst:5813 msgid "22" msgstr "" -#: ../../../AMDGPUUsage.rst:5603 +#: ../../../AMDGPUUsage.rst:5813 msgid "DEBUG_MODE" msgstr "" -#: ../../../AMDGPUUsage.rst:5605 +#: ../../../AMDGPUUsage.rst:5815 msgid "Start executing wavefront in single step mode." msgstr "" -#: ../../../AMDGPUUsage.rst:5608 +#: ../../../AMDGPUUsage.rst:5818 msgid "CP is responsible for filling in ``COMPUTE_PGM_RSRC1.DEBUG_MODE``." msgstr "" -#: ../../../AMDGPUUsage.rst:5611 +#: ../../../AMDGPUUsage.rst:5821 msgid "23" msgstr "" -#: ../../../AMDGPUUsage.rst:5611 +#: ../../../AMDGPUUsage.rst:5821 msgid "ENABLE_IEEE_MODE" msgstr "" -#: ../../../AMDGPUUsage.rst:5627 +#: ../../../AMDGPUUsage.rst:5839 msgid "DISABLE_PERF" msgstr "" -#: ../../../AMDGPUUsage.rst:5612 +#: ../../../AMDGPUUsage.rst:5822 msgid "" "Wavefront starts execution with IEEE mode enabled. Floating point opcodes " "that support exception flag gathering will quiet and propagate signaling-NaN " @@ -11368,105 +11765,101 @@ msgid "" "compliant due to signaling-NaN propagation and quieting." msgstr "" -#: ../../../AMDGPUUsage.rst:5625 +#: ../../../AMDGPUUsage.rst:5835 msgid "Used by CP to set up ``COMPUTE_PGM_RSRC1.IEEE_MODE``." msgstr "" -#: ../../../AMDGPUUsage.rst:5628 -msgid "Reserved. Must be 0." -msgstr "" - -#: ../../../AMDGPUUsage.rst:5629 ../../../AMDGPUUsage.rst:5896 +#: ../../../AMDGPUUsage.rst:5841 ../../../AMDGPUUsage.rst:6108 msgid "24" msgstr "" -#: ../../../AMDGPUUsage.rst:5629 +#: ../../../AMDGPUUsage.rst:5841 msgid "BULKY" msgstr "" -#: ../../../AMDGPUUsage.rst:5631 +#: ../../../AMDGPUUsage.rst:5843 msgid "Only one work-group allowed to execute on a compute unit." msgstr "" -#: ../../../AMDGPUUsage.rst:5635 +#: ../../../AMDGPUUsage.rst:5847 msgid "CP is responsible for filling in ``COMPUTE_PGM_RSRC1.BULKY``." msgstr "" -#: ../../../AMDGPUUsage.rst:5638 ../../../AMDGPUUsage.rst:5906 +#: ../../../AMDGPUUsage.rst:5850 ../../../AMDGPUUsage.rst:6118 msgid "25" msgstr "" -#: ../../../AMDGPUUsage.rst:5638 +#: ../../../AMDGPUUsage.rst:5850 msgid "CDBG_USER" msgstr "" -#: ../../../AMDGPUUsage.rst:5640 +#: ../../../AMDGPUUsage.rst:5852 msgid "Flag that can be used to control debugging code." msgstr "" -#: ../../../AMDGPUUsage.rst:5643 +#: ../../../AMDGPUUsage.rst:5855 msgid "CP is responsible for filling in ``COMPUTE_PGM_RSRC1.CDBG_USER``." msgstr "" -#: ../../../AMDGPUUsage.rst:5646 ../../../AMDGPUUsage.rst:5909 +#: ../../../AMDGPUUsage.rst:5858 ../../../AMDGPUUsage.rst:6121 msgid "26" msgstr "" -#: ../../../AMDGPUUsage.rst:5646 +#: ../../../AMDGPUUsage.rst:5858 msgid "FP16_OVFL" msgstr "" -#: ../../../AMDGPUUsage.rst:5662 ../../../AMDGPUUsage.rst:20550 +#: ../../../AMDGPUUsage.rst:5874 ../../../AMDGPUUsage.rst:21541 msgid "GFX9-GFX12" msgstr "" -#: ../../../AMDGPUUsage.rst:5649 +#: ../../../AMDGPUUsage.rst:5861 msgid "Wavefront starts execution with specified fp16 overflow mode." msgstr "" -#: ../../../AMDGPUUsage.rst:5653 +#: ../../../AMDGPUUsage.rst:5865 msgid "If 0, fp16 overflow generates +/-INF values." msgstr "" -#: ../../../AMDGPUUsage.rst:5655 +#: ../../../AMDGPUUsage.rst:5867 msgid "" "If 1, fp16 overflow that is the result of an +/-INF input value or divide by " "0 produces a +/-INF, otherwise clamps computed overflow to +/-MAX_FP16 as " "appropriate." msgstr "" -#: ../../../AMDGPUUsage.rst:5662 +#: ../../../AMDGPUUsage.rst:5874 msgid "Used by CP to set up ``COMPUTE_PGM_RSRC1.FP16_OVFL``." msgstr "" -#: ../../../AMDGPUUsage.rst:5664 ../../../AMDGPUUsage.rst:5911 +#: ../../../AMDGPUUsage.rst:5876 ../../../AMDGPUUsage.rst:6123 msgid "27" msgstr "" -#: ../../../AMDGPUUsage.rst:5664 ../../../AMDGPUUsage.rst:5678 -#: ../../../AMDGPUUsage.rst:5920 ../../../AMDGPUUsage.rst:6007 -#: ../../../AMDGPUUsage.rst:6011 ../../../AMDGPUUsage.rst:6013 -#: ../../../AMDGPUUsage.rst:6018 ../../../AMDGPUUsage.rst:6026 -#: ../../../AMDGPUUsage.rst:6032 ../../../AMDGPUUsage.rst:6036 +#: ../../../AMDGPUUsage.rst:5876 ../../../AMDGPUUsage.rst:5890 +#: ../../../AMDGPUUsage.rst:6132 ../../../AMDGPUUsage.rst:6219 +#: ../../../AMDGPUUsage.rst:6223 ../../../AMDGPUUsage.rst:6225 +#: ../../../AMDGPUUsage.rst:6230 ../../../AMDGPUUsage.rst:6238 +#: ../../../AMDGPUUsage.rst:6244 ../../../AMDGPUUsage.rst:6248 msgid "RESERVED" msgstr "" -#: ../../../AMDGPUUsage.rst:5666 +#: ../../../AMDGPUUsage.rst:5878 msgid "FLAT_SCRATCH_IS_NV" msgstr "" -#: ../../../AMDGPUUsage.rst:5664 ../../../AMDGPUUsage.rst:5768 +#: ../../../AMDGPUUsage.rst:5876 ../../../AMDGPUUsage.rst:5980 msgid "GFX6-GFX120*" msgstr "" -#: ../../../AMDGPUUsage.rst:5676 ../../../AMDGPUUsage.rst:5795 -#: ../../../AMDGPUUsage.rst:5894 ../../../AMDGPUUsage.rst:6016 -#: ../../../AMDGPUUsage.rst:6024 ../../../AMDGPUUsage.rst:6030 -#: ../../../AMDGPUUsage.rst:6034 +#: ../../../AMDGPUUsage.rst:5888 ../../../AMDGPUUsage.rst:6007 +#: ../../../AMDGPUUsage.rst:6106 ../../../AMDGPUUsage.rst:6228 +#: ../../../AMDGPUUsage.rst:6236 ../../../AMDGPUUsage.rst:6242 +#: ../../../AMDGPUUsage.rst:6246 msgid "GFX125*" msgstr "" -#: ../../../AMDGPUUsage.rst:5667 +#: ../../../AMDGPUUsage.rst:5879 msgid "" "0 - Use the NV ISA as indication that scratch is NV. 1 - Force scratch to NV " "= 1, even if ISA.NV == 0 if the address falls into scratch space (not " @@ -11474,108 +11867,108 @@ msgid "" "threads use the ISA bit value." msgstr "" -#: ../../../AMDGPUUsage.rst:5676 +#: ../../../AMDGPUUsage.rst:5888 msgid "Used by CP to set up ``COMPUTE_PGM_RSRC1.FLAT_SCRATCH_IS_NV``." msgstr "" -#: ../../../AMDGPUUsage.rst:5678 ../../../AMDGPUUsage.rst:5913 +#: ../../../AMDGPUUsage.rst:5890 ../../../AMDGPUUsage.rst:6125 msgid "28" msgstr "" -#: ../../../AMDGPUUsage.rst:5679 ../../../AMDGPUUsage.rst:5915 +#: ../../../AMDGPUUsage.rst:5891 ../../../AMDGPUUsage.rst:6127 msgid "29" msgstr "" -#: ../../../AMDGPUUsage.rst:5679 +#: ../../../AMDGPUUsage.rst:5891 msgid "WGP_MODE" msgstr "" -#: ../../../AMDGPUUsage.rst:5682 +#: ../../../AMDGPUUsage.rst:5894 msgid "If 0 execute work-groups in CU wavefront execution mode." msgstr "" -#: ../../../AMDGPUUsage.rst:5684 +#: ../../../AMDGPUUsage.rst:5896 msgid "If 1 execute work-groups on in WGP wavefront execution mode." msgstr "" -#: ../../../AMDGPUUsage.rst:5687 +#: ../../../AMDGPUUsage.rst:5899 msgid "See :ref:`amdgpu-amdhsa-memory-model`." msgstr "" -#: ../../../AMDGPUUsage.rst:5689 +#: ../../../AMDGPUUsage.rst:5901 msgid "Used by CP to set up ``COMPUTE_PGM_RSRC1.WGP_MODE``." msgstr "" -#: ../../../AMDGPUUsage.rst:5691 ../../../AMDGPUUsage.rst:5917 +#: ../../../AMDGPUUsage.rst:5903 ../../../AMDGPUUsage.rst:6129 msgid "30" msgstr "" -#: ../../../AMDGPUUsage.rst:5691 +#: ../../../AMDGPUUsage.rst:5903 msgid "MEM_ORDERED" msgstr "" -#: ../../../AMDGPUUsage.rst:5694 +#: ../../../AMDGPUUsage.rst:5906 msgid "Controls the behavior of the s_waitcnt's vmcnt and vscnt counters." msgstr "" -#: ../../../AMDGPUUsage.rst:5698 +#: ../../../AMDGPUUsage.rst:5910 msgid "" "If 0 vmcnt reports completion of load and atomic with return out of order " "with sample instructions, and the vscnt reports the completion of store and " "atomic without return in order." msgstr "" -#: ../../../AMDGPUUsage.rst:5705 +#: ../../../AMDGPUUsage.rst:5917 msgid "" "If 1 vmcnt reports completion of load, atomic with return and sample " "instructions in order, and the vscnt reports the completion of store and " "atomic without return in order." msgstr "" -#: ../../../AMDGPUUsage.rst:5712 +#: ../../../AMDGPUUsage.rst:5924 msgid "Used by CP to set up ``COMPUTE_PGM_RSRC1.MEM_ORDERED``." msgstr "" -#: ../../../AMDGPUUsage.rst:5714 ../../../AMDGPUUsage.rst:5920 -#: ../../../AMDGPUUsage.rst:5985 ../../../AMDGPUUsage.rst:6037 +#: ../../../AMDGPUUsage.rst:5926 ../../../AMDGPUUsage.rst:6132 +#: ../../../AMDGPUUsage.rst:6197 ../../../AMDGPUUsage.rst:6249 msgid "31" msgstr "" -#: ../../../AMDGPUUsage.rst:5714 +#: ../../../AMDGPUUsage.rst:5926 msgid "FWD_PROGRESS" msgstr "" -#: ../../../AMDGPUUsage.rst:5717 +#: ../../../AMDGPUUsage.rst:5929 msgid "If 0 execute SIMD wavefronts using oldest first policy." msgstr "" -#: ../../../AMDGPUUsage.rst:5719 +#: ../../../AMDGPUUsage.rst:5931 msgid "" "If 1 execute SIMD wavefronts to ensure wavefronts will make some forward " "progress." msgstr "" -#: ../../../AMDGPUUsage.rst:5723 +#: ../../../AMDGPUUsage.rst:5935 msgid "Used by CP to set up ``COMPUTE_PGM_RSRC1.FWD_PROGRESS``." msgstr "" -#: ../../../AMDGPUUsage.rst:5725 +#: ../../../AMDGPUUsage.rst:5937 msgid "**Total size 4 bytes**" msgstr "" -#: ../../../AMDGPUUsage.rst:5730 +#: ../../../AMDGPUUsage.rst:5942 msgid "compute_pgm_rsrc2 for GFX6-GFX12" msgstr "" -#: ../../../AMDGPUUsage.rst:5736 +#: ../../../AMDGPUUsage.rst:5948 msgid "ENABLE_PRIVATE_SEGMENT" msgstr "" -#: ../../../AMDGPUUsage.rst:5736 +#: ../../../AMDGPUUsage.rst:5948 msgid "Enable the setup of the private segment." msgstr "" -#: ../../../AMDGPUUsage.rst:5738 +#: ../../../AMDGPUUsage.rst:5950 msgid "" "If the *Target Properties* column of :ref:`amdgpu-processor-table` does not " "specify *Architected flat scratch* then enable the setup of the SGPR " @@ -11583,174 +11976,173 @@ msgid "" "kernel-execution-state`)." msgstr "" -#: ../../../AMDGPUUsage.rst:5748 +#: ../../../AMDGPUUsage.rst:5960 msgid "" "If the *Target Properties* column of :ref:`amdgpu-processor-table` specifies " "*Architected flat scratch* then enable the setup of the FLAT_SCRATCH " "register pair (see :ref:`amdgpu-amdhsa-initial-kernel-execution-state`)." msgstr "" -#: ../../../AMDGPUUsage.rst:5758 +#: ../../../AMDGPUUsage.rst:5970 msgid "Used by CP to set up ``COMPUTE_PGM_RSRC2.SCRATCH_EN``." msgstr "" -#: ../../../AMDGPUUsage.rst:5760 +#: ../../../AMDGPUUsage.rst:5972 msgid "5:1" msgstr "" -#: ../../../AMDGPUUsage.rst:5760 +#: ../../../AMDGPUUsage.rst:5972 msgid "5 bits" msgstr "" -#: ../../../AMDGPUUsage.rst:5760 ../../../AMDGPUUsage.rst:5787 +#: ../../../AMDGPUUsage.rst:5972 ../../../AMDGPUUsage.rst:5999 msgid "USER_SGPR_COUNT" msgstr "" -#: ../../../AMDGPUUsage.rst:5761 ../../../AMDGPUUsage.rst:5788 +#: ../../../AMDGPUUsage.rst:5973 ../../../AMDGPUUsage.rst:6000 msgid "" "The total number of SGPR user data registers requested. This number must be " "greater than or equal to the number of user data registers enabled." msgstr "" -#: ../../../AMDGPUUsage.rst:5768 ../../../AMDGPUUsage.rst:5795 +#: ../../../AMDGPUUsage.rst:5980 ../../../AMDGPUUsage.rst:6007 msgid "Used by CP to set up ``COMPUTE_PGM_RSRC2.USER_SGPR``." msgstr "" -#: ../../../AMDGPUUsage.rst:5770 +#: ../../../AMDGPUUsage.rst:5982 msgid "ENABLE_TRAP_HANDLER" msgstr "" -#: ../../../AMDGPUUsage.rst:5778 ../../../AMDGPUUsage.rst:6020 +#: ../../../AMDGPUUsage.rst:5990 ../../../AMDGPUUsage.rst:6232 msgid "ENABLE_DYNAMIC_VGPR" msgstr "" -#: ../../../AMDGPUUsage.rst:5776 ../../../AMDGPUUsage.rst:20544 -#: ../../../AMDGPUUsage.rst:20546 +#: ../../../AMDGPUUsage.rst:5988 msgid "GFX6-GFX11" msgstr "" -#: ../../../AMDGPUUsage.rst:5773 +#: ../../../AMDGPUUsage.rst:5985 msgid "" "This bit represents ``COMPUTE_PGM_RSRC2.TRAP_PRESENT``, which is set by the " "CP if the runtime has installed a trap handler." msgstr "" -#: ../../../AMDGPUUsage.rst:5785 ../../../AMDGPUUsage.rst:6013 -#: ../../../AMDGPUUsage.rst:6018 ../../../AMDGPUUsage.rst:6026 -#: ../../../AMDGPUUsage.rst:6032 +#: ../../../AMDGPUUsage.rst:5997 ../../../AMDGPUUsage.rst:6225 +#: ../../../AMDGPUUsage.rst:6230 ../../../AMDGPUUsage.rst:6238 +#: ../../../AMDGPUUsage.rst:6244 msgid "GFX120*" msgstr "" -#: ../../../AMDGPUUsage.rst:5779 ../../../AMDGPUUsage.rst:6021 +#: ../../../AMDGPUUsage.rst:5991 ../../../AMDGPUUsage.rst:6233 msgid "" "Enables dynamic VGPR mode, where each wave allocates one VGPR chunk at " "launch and can request for additional space to use during execution in SQ." msgstr "" -#: ../../../AMDGPUUsage.rst:5785 +#: ../../../AMDGPUUsage.rst:5997 msgid "Used by CP to set up ``COMPUTE_PGM_RSRC2.DYNAMIC_VGPR``." msgstr "" -#: ../../../AMDGPUUsage.rst:5787 +#: ../../../AMDGPUUsage.rst:5999 msgid "6:1" msgstr "" -#: ../../../AMDGPUUsage.rst:5797 +#: ../../../AMDGPUUsage.rst:6009 msgid "ENABLE_SGPR_WORKGROUP_ID_X" msgstr "" -#: ../../../AMDGPUUsage.rst:5797 +#: ../../../AMDGPUUsage.rst:6009 msgid "" "Enable the setup of the system SGPR register for the work-group id in the X " "dimension (see :ref:`amdgpu-amdhsa-initial-kernel-execution-state`)." msgstr "" -#: ../../../AMDGPUUsage.rst:5803 +#: ../../../AMDGPUUsage.rst:6015 msgid "Used by CP to set up ``COMPUTE_PGM_RSRC2.TGID_X_EN``." msgstr "" -#: ../../../AMDGPUUsage.rst:5805 +#: ../../../AMDGPUUsage.rst:6017 msgid "ENABLE_SGPR_WORKGROUP_ID_Y" msgstr "" -#: ../../../AMDGPUUsage.rst:5805 +#: ../../../AMDGPUUsage.rst:6017 msgid "" "Enable the setup of the system SGPR register for the work-group id in the Y " "dimension (see :ref:`amdgpu-amdhsa-initial-kernel-execution-state`)." msgstr "" -#: ../../../AMDGPUUsage.rst:5811 +#: ../../../AMDGPUUsage.rst:6023 msgid "Used by CP to set up ``COMPUTE_PGM_RSRC2.TGID_Y_EN``." msgstr "" -#: ../../../AMDGPUUsage.rst:5813 +#: ../../../AMDGPUUsage.rst:6025 msgid "ENABLE_SGPR_WORKGROUP_ID_Z" msgstr "" -#: ../../../AMDGPUUsage.rst:5813 +#: ../../../AMDGPUUsage.rst:6025 msgid "" "Enable the setup of the system SGPR register for the work-group id in the Z " "dimension (see :ref:`amdgpu-amdhsa-initial-kernel-execution-state`)." msgstr "" -#: ../../../AMDGPUUsage.rst:5819 +#: ../../../AMDGPUUsage.rst:6031 msgid "Used by CP to set up ``COMPUTE_PGM_RSRC2.TGID_Z_EN``." msgstr "" -#: ../../../AMDGPUUsage.rst:5821 +#: ../../../AMDGPUUsage.rst:6033 msgid "ENABLE_SGPR_WORKGROUP_INFO" msgstr "" -#: ../../../AMDGPUUsage.rst:5821 +#: ../../../AMDGPUUsage.rst:6033 msgid "" "Enable the setup of the system SGPR register for work-group information " "(see :ref:`amdgpu-amdhsa-initial-kernel-execution-state`)." msgstr "" -#: ../../../AMDGPUUsage.rst:5826 +#: ../../../AMDGPUUsage.rst:6038 msgid "Used by CP to set up ``COMPUTE_PGM_RSRC2.TGID_SIZE_EN``." msgstr "" -#: ../../../AMDGPUUsage.rst:5828 +#: ../../../AMDGPUUsage.rst:6040 msgid "12:11" msgstr "" -#: ../../../AMDGPUUsage.rst:5828 +#: ../../../AMDGPUUsage.rst:6040 msgid "ENABLE_VGPR_WORKITEM_ID" msgstr "" -#: ../../../AMDGPUUsage.rst:5828 +#: ../../../AMDGPUUsage.rst:6040 msgid "" "Enable the setup of the VGPR system registers used for the work-item ID. :" "ref:`amdgpu-amdhsa-system-vgpr-work-item-id-enumeration-values-table` " "defines the values." msgstr "" -#: ../../../AMDGPUUsage.rst:5834 +#: ../../../AMDGPUUsage.rst:6046 msgid "Used by CP to set up ``COMPUTE_PGM_RSRC2.TIDIG_CMP_CNT``." msgstr "" -#: ../../../AMDGPUUsage.rst:5836 +#: ../../../AMDGPUUsage.rst:6048 msgid "ENABLE_EXCEPTION_ADDRESS_WATCH" msgstr "" -#: ../../../AMDGPUUsage.rst:5838 +#: ../../../AMDGPUUsage.rst:6050 msgid "" "Wavefront starts execution with address watch exceptions enabled which are " "generated when L1 has witnessed a thread access an *address of interest*." msgstr "" -#: ../../../AMDGPUUsage.rst:5846 +#: ../../../AMDGPUUsage.rst:6058 msgid "" "CP is responsible for filling in the address watch bit in " "``COMPUTE_PGM_RSRC2.EXCP_EN_MSB`` according to what the runtime requests." msgstr "" -#: ../../../AMDGPUUsage.rst:5852 +#: ../../../AMDGPUUsage.rst:6064 msgid "ENABLE_EXCEPTION_MEMORY" msgstr "" -#: ../../../AMDGPUUsage.rst:5854 +#: ../../../AMDGPUUsage.rst:6066 msgid "" "Wavefront starts execution with memory violation exceptions enabled which " "are generated when a memory violation has occurred for this wavefront from " @@ -11758,192 +12150,192 @@ msgid "" "range, illegal address, etc.)." msgstr "" -#: ../../../AMDGPUUsage.rst:5866 +#: ../../../AMDGPUUsage.rst:6078 msgid "" "CP sets the memory violation bit in ``COMPUTE_PGM_RSRC2.EXCP_EN_MSB`` " "according to what the runtime requests." msgstr "" -#: ../../../AMDGPUUsage.rst:5871 +#: ../../../AMDGPUUsage.rst:6083 msgid "23:15" msgstr "" -#: ../../../AMDGPUUsage.rst:5871 +#: ../../../AMDGPUUsage.rst:6083 msgid "GRANULATED_LDS_SIZE" msgstr "" -#: ../../../AMDGPUUsage.rst:5873 +#: ../../../AMDGPUUsage.rst:6085 msgid "" "CP uses the rounded value from the dispatch packet, not this value, as the " "dispatch may contain dynamically allocated group segment memory. CP writes " "directly to ``COMPUTE_PGM_RSRC2.LDS_SIZE``." msgstr "" -#: ../../../AMDGPUUsage.rst:5882 +#: ../../../AMDGPUUsage.rst:6094 msgid "" "Amount of group segment (LDS) to allocate for each work-group. Granularity " "is device specific:" msgstr "" -#: ../../../AMDGPUUsage.rst:5887 +#: ../../../AMDGPUUsage.rst:6099 msgid "GFX6" msgstr "" -#: ../../../AMDGPUUsage.rst:5888 +#: ../../../AMDGPUUsage.rst:6100 msgid "roundup(lds-size / (64 * 4))" msgstr "" -#: ../../../AMDGPUUsage.rst:5889 +#: ../../../AMDGPUUsage.rst:6101 msgid "GFX7-GFX12" msgstr "" -#: ../../../AMDGPUUsage.rst:5890 +#: ../../../AMDGPUUsage.rst:6102 msgid "roundup(lds-size / (128 * 4))" msgstr "" -#: ../../../AMDGPUUsage.rst:5891 +#: ../../../AMDGPUUsage.rst:6103 msgid "GFX950" msgstr "" -#: ../../../AMDGPUUsage.rst:5892 +#: ../../../AMDGPUUsage.rst:6104 msgid "roundup(lds-size / (320 * 4))" msgstr "" -#: ../../../AMDGPUUsage.rst:5894 +#: ../../../AMDGPUUsage.rst:6106 msgid "roundup(lds-size / (512 * 4))" msgstr "" -#: ../../../AMDGPUUsage.rst:5896 +#: ../../../AMDGPUUsage.rst:6108 msgid "ENABLE_EXCEPTION_IEEE_754_FP _INVALID_OPERATION" msgstr "" -#: ../../../AMDGPUUsage.rst:5896 +#: ../../../AMDGPUUsage.rst:6108 msgid "Wavefront starts execution with specified exceptions enabled." msgstr "" -#: ../../../AMDGPUUsage.rst:5900 +#: ../../../AMDGPUUsage.rst:6112 msgid "" "Used by CP to set up ``COMPUTE_PGM_RSRC2.EXCP_EN`` (set from bits 0..6)." msgstr "" -#: ../../../AMDGPUUsage.rst:5904 +#: ../../../AMDGPUUsage.rst:6116 msgid "IEEE 754 FP Invalid Operation" msgstr "" -#: ../../../AMDGPUUsage.rst:5906 +#: ../../../AMDGPUUsage.rst:6118 msgid "ENABLE_EXCEPTION_FP_DENORMAL _SOURCE" msgstr "" -#: ../../../AMDGPUUsage.rst:5906 +#: ../../../AMDGPUUsage.rst:6118 msgid "FP Denormal one or more input operands is a denormal number" msgstr "" -#: ../../../AMDGPUUsage.rst:5909 +#: ../../../AMDGPUUsage.rst:6121 msgid "ENABLE_EXCEPTION_IEEE_754_FP _DIVISION_BY_ZERO" msgstr "" -#: ../../../AMDGPUUsage.rst:5909 +#: ../../../AMDGPUUsage.rst:6121 msgid "IEEE 754 FP Division by Zero" msgstr "" -#: ../../../AMDGPUUsage.rst:5911 +#: ../../../AMDGPUUsage.rst:6123 msgid "ENABLE_EXCEPTION_IEEE_754_FP _OVERFLOW" msgstr "" -#: ../../../AMDGPUUsage.rst:5911 +#: ../../../AMDGPUUsage.rst:6123 msgid "IEEE 754 FP FP Overflow" msgstr "" -#: ../../../AMDGPUUsage.rst:5913 +#: ../../../AMDGPUUsage.rst:6125 msgid "ENABLE_EXCEPTION_IEEE_754_FP _UNDERFLOW" msgstr "" -#: ../../../AMDGPUUsage.rst:5913 +#: ../../../AMDGPUUsage.rst:6125 msgid "IEEE 754 FP Underflow" msgstr "" -#: ../../../AMDGPUUsage.rst:5915 +#: ../../../AMDGPUUsage.rst:6127 msgid "ENABLE_EXCEPTION_IEEE_754_FP _INEXACT" msgstr "" -#: ../../../AMDGPUUsage.rst:5915 +#: ../../../AMDGPUUsage.rst:6127 msgid "IEEE 754 FP Inexact" msgstr "" -#: ../../../AMDGPUUsage.rst:5917 +#: ../../../AMDGPUUsage.rst:6129 msgid "ENABLE_EXCEPTION_INT_DIVIDE_BY _ZERO" msgstr "" -#: ../../../AMDGPUUsage.rst:5917 +#: ../../../AMDGPUUsage.rst:6129 msgid "Integer Division by Zero (rcp_iflag_f32 instruction only)" msgstr "" -#: ../../../AMDGPUUsage.rst:5921 ../../../AMDGPUUsage.rst:5944 -#: ../../../AMDGPUUsage.rst:5996 ../../../AMDGPUUsage.rst:6045 +#: ../../../AMDGPUUsage.rst:6133 ../../../AMDGPUUsage.rst:6156 +#: ../../../AMDGPUUsage.rst:6208 ../../../AMDGPUUsage.rst:6257 msgid "**Total size 4 bytes.**" msgstr "" -#: ../../../AMDGPUUsage.rst:5926 +#: ../../../AMDGPUUsage.rst:6138 msgid "compute_pgm_rsrc3 for GFX90A, GFX942" msgstr "" -#: ../../../AMDGPUUsage.rst:5932 +#: ../../../AMDGPUUsage.rst:6144 msgid "ACCUM_OFFSET" msgstr "" -#: ../../../AMDGPUUsage.rst:5932 +#: ../../../AMDGPUUsage.rst:6144 msgid "" "Offset of a first AccVGPR in the unified register file. Granularity 4. Value " "0-63. 0 - accum-offset = 4, 1 - accum-offset = 8, ..., 63 - accum-offset = " "256." msgstr "" -#: ../../../AMDGPUUsage.rst:5935 +#: ../../../AMDGPUUsage.rst:6147 msgid "15:6" msgstr "" -#: ../../../AMDGPUUsage.rst:5935 ../../../AMDGPUUsage.rst:6258 -#: ../../../AMDGPUUsage.rst:6264 ../../../AMDGPUUsage.rst:6270 -#: ../../../AMDGPUUsage.rst:19145 ../../../AMDGPUUsage.rst:19146 -#: ../../../AMDGPUUsage.rst:19147 +#: ../../../AMDGPUUsage.rst:6147 ../../../AMDGPUUsage.rst:6470 +#: ../../../AMDGPUUsage.rst:6476 ../../../AMDGPUUsage.rst:6482 +#: ../../../AMDGPUUsage.rst:20134 ../../../AMDGPUUsage.rst:20135 +#: ../../../AMDGPUUsage.rst:20136 msgid "10 bits" msgstr "" -#: ../../../AMDGPUUsage.rst:5937 +#: ../../../AMDGPUUsage.rst:6149 msgid "TG_SPLIT" msgstr "" -#: ../../../AMDGPUUsage.rst:5937 +#: ../../../AMDGPUUsage.rst:6149 msgid "If 0 the waves of a work-group are launched in the same CU." msgstr "" -#: ../../../AMDGPUUsage.rst:5939 +#: ../../../AMDGPUUsage.rst:6151 msgid "" "If 1 the waves of a work-group can be launched in different CUs. The waves " "cannot use S_BARRIER or LDS." msgstr "" -#: ../../../AMDGPUUsage.rst:5942 +#: ../../../AMDGPUUsage.rst:6154 msgid "31:17" msgstr "" -#: ../../../AMDGPUUsage.rst:5942 +#: ../../../AMDGPUUsage.rst:6154 msgid "15 bits" msgstr "" -#: ../../../AMDGPUUsage.rst:5949 +#: ../../../AMDGPUUsage.rst:6161 msgid "compute_pgm_rsrc3 for GFX10-GFX11" msgstr "" -#: ../../../AMDGPUUsage.rst:5955 ../../../AMDGPUUsage.rst:6007 +#: ../../../AMDGPUUsage.rst:6167 ../../../AMDGPUUsage.rst:6219 msgid "3:0" msgstr "" -#: ../../../AMDGPUUsage.rst:5955 +#: ../../../AMDGPUUsage.rst:6167 msgid "SHARED_VGPR_COUNT" msgstr "" -#: ../../../AMDGPUUsage.rst:5955 +#: ../../../AMDGPUUsage.rst:6167 msgid "" "Number of shared VGPR blocks when executing in subvector mode. For wavefront " "size 64 the value is 0-15, representing 0-120 VGPRs (granularity of 8), such " @@ -11951,72 +12343,72 @@ msgid "" "256. For wavefront size 32 shared_vgpr_count must be 0." msgstr "" -#: ../../../AMDGPUUsage.rst:5959 +#: ../../../AMDGPUUsage.rst:6171 msgid "9:4" msgstr "" -#: ../../../AMDGPUUsage.rst:5959 ../../../AMDGPUUsage.rst:6008 +#: ../../../AMDGPUUsage.rst:6171 ../../../AMDGPUUsage.rst:6220 msgid "INST_PREF_SIZE" msgstr "" -#: ../../../AMDGPUUsage.rst:5959 ../../../AMDGPUUsage.rst:5965 -#: ../../../AMDGPUUsage.rst:5975 ../../../AMDGPUUsage.rst:5985 +#: ../../../AMDGPUUsage.rst:6171 ../../../AMDGPUUsage.rst:6177 +#: ../../../AMDGPUUsage.rst:6187 ../../../AMDGPUUsage.rst:6197 msgid "GFX10" msgstr "" -#: ../../../AMDGPUUsage.rst:5963 ../../../AMDGPUUsage.rst:5973 -#: ../../../AMDGPUUsage.rst:5982 ../../../AMDGPUUsage.rst:5994 +#: ../../../AMDGPUUsage.rst:6175 ../../../AMDGPUUsage.rst:6185 +#: ../../../AMDGPUUsage.rst:6194 ../../../AMDGPUUsage.rst:6206 msgid "GFX11" msgstr "" -#: ../../../AMDGPUUsage.rst:5962 +#: ../../../AMDGPUUsage.rst:6174 msgid "" "Number of instruction bytes to prefetch, starting at the kernel's entry " "point instruction, before wavefront starts execution. The value is 0..63 " "with a granularity of 128 bytes." msgstr "" -#: ../../../AMDGPUUsage.rst:5965 +#: ../../../AMDGPUUsage.rst:6177 msgid "TRAP_ON_START" msgstr "" -#: ../../../AMDGPUUsage.rst:5970 +#: ../../../AMDGPUUsage.rst:6182 msgid "If 1, wavefront starts execution by trapping into the trap handler." msgstr "" -#: ../../../AMDGPUUsage.rst:5972 +#: ../../../AMDGPUUsage.rst:6184 msgid "" "CP is responsible for filling in the trap on start bit in " "``COMPUTE_PGM_RSRC3.TRAP_ON_START`` according to what the runtime requests." msgstr "" -#: ../../../AMDGPUUsage.rst:5975 +#: ../../../AMDGPUUsage.rst:6187 msgid "TRAP_ON_END" msgstr "" -#: ../../../AMDGPUUsage.rst:5980 +#: ../../../AMDGPUUsage.rst:6192 msgid "If 1, wavefront execution terminates by trapping into the trap handler." msgstr "" -#: ../../../AMDGPUUsage.rst:5982 +#: ../../../AMDGPUUsage.rst:6194 msgid "" "CP is responsible for filling in the trap on end bit in ``COMPUTE_PGM_RSRC3." "TRAP_ON_END`` according to what the runtime requests." msgstr "" -#: ../../../AMDGPUUsage.rst:5984 +#: ../../../AMDGPUUsage.rst:6196 msgid "30:12" msgstr "" -#: ../../../AMDGPUUsage.rst:5984 +#: ../../../AMDGPUUsage.rst:6196 msgid "19 bits" msgstr "" -#: ../../../AMDGPUUsage.rst:5985 ../../../AMDGPUUsage.rst:6037 +#: ../../../AMDGPUUsage.rst:6197 ../../../AMDGPUUsage.rst:6249 msgid "IMAGE_OP" msgstr "" -#: ../../../AMDGPUUsage.rst:5988 ../../../AMDGPUUsage.rst:6037 +#: ../../../AMDGPUUsage.rst:6200 ../../../AMDGPUUsage.rst:6249 msgid "" "If 1, the kernel execution contains image instructions. If executed as part " "of a graphics pipeline, image read instructions will stall waiting for any " @@ -12024,264 +12416,264 @@ msgid "" "earlier pipeline stages have completed writing to the image." msgstr "" -#: ../../../AMDGPUUsage.rst:5994 ../../../AMDGPUUsage.rst:6043 +#: ../../../AMDGPUUsage.rst:6206 ../../../AMDGPUUsage.rst:6255 msgid "" "Not used for compute kernels that are not part of a graphics pipeline and " "must be 0." msgstr "" -#: ../../../AMDGPUUsage.rst:6001 +#: ../../../AMDGPUUsage.rst:6213 msgid "compute_pgm_rsrc3 for GFX12" msgstr "" -#: ../../../AMDGPUUsage.rst:6008 +#: ../../../AMDGPUUsage.rst:6220 msgid "11:4" msgstr "" -#: ../../../AMDGPUUsage.rst:6008 +#: ../../../AMDGPUUsage.rst:6220 msgid "8 bits" msgstr "" -#: ../../../AMDGPUUsage.rst:6008 +#: ../../../AMDGPUUsage.rst:6220 msgid "" "Number of instruction bytes to prefetch, starting at the kernel's entry " "point instruction, before wavefront starts execution. The value is 0..255 " "with a granularity of 128 bytes." msgstr "" -#: ../../../AMDGPUUsage.rst:6012 +#: ../../../AMDGPUUsage.rst:6224 msgid "GLG_EN" msgstr "" -#: ../../../AMDGPUUsage.rst:6012 +#: ../../../AMDGPUUsage.rst:6224 msgid "If 1, group launch guarantee will be enabled for this dispatch" msgstr "" -#: ../../../AMDGPUUsage.rst:6013 +#: ../../../AMDGPUUsage.rst:6225 msgid "16:14" msgstr "" -#: ../../../AMDGPUUsage.rst:6015 +#: ../../../AMDGPUUsage.rst:6227 msgid "NAMED_BAR_CNT" msgstr "" -#: ../../../AMDGPUUsage.rst:6016 +#: ../../../AMDGPUUsage.rst:6228 msgid "" "Number of named barriers to alloc for each workgroup, in granularity of 4. " "Range is from 0-4 allocating 0, 4, 8, 12, 16." msgstr "" -#: ../../../AMDGPUUsage.rst:6025 +#: ../../../AMDGPUUsage.rst:6237 msgid "Used by CP to set up ``COMPUTE_PGM_RSRC3.DYNAMIC_VGPR``." msgstr "" -#: ../../../AMDGPUUsage.rst:6026 +#: ../../../AMDGPUUsage.rst:6238 msgid "20:18" msgstr "" -#: ../../../AMDGPUUsage.rst:6028 +#: ../../../AMDGPUUsage.rst:6240 msgid "TCP_SPLIT" msgstr "" -#: ../../../AMDGPUUsage.rst:6029 +#: ../../../AMDGPUUsage.rst:6241 msgid "" "Desired LDS/VC split of TCP. 0: no preference 1: LDS=0, VC=448kB 2: " "LDS=64kB, VC=384kB 3: LDS=128kB, VC=320kB 4: LDS=192kB, VC=256kB 5: " "LDS=256kB, VC=192kB 6: LDS=320kB, VC=128kB 7: LDS=384kB, VC=64kB" msgstr "" -#: ../../../AMDGPUUsage.rst:6034 +#: ../../../AMDGPUUsage.rst:6246 msgid "ENABLE_DIDT_THROTTLE" msgstr "" -#: ../../../AMDGPUUsage.rst:6035 +#: ../../../AMDGPUUsage.rst:6247 msgid "Enable DIDT throttling for all ACE pipes" msgstr "" -#: ../../../AMDGPUUsage.rst:6036 +#: ../../../AMDGPUUsage.rst:6248 msgid "30:22" msgstr "" -#: ../../../AMDGPUUsage.rst:6050 +#: ../../../AMDGPUUsage.rst:6262 msgid "Floating Point Rounding Mode Enumeration Values" msgstr "" -#: ../../../AMDGPUUsage.rst:6054 ../../../AMDGPUUsage.rst:6084 -#: ../../../AMDGPUUsage.rst:6102 +#: ../../../AMDGPUUsage.rst:6266 ../../../AMDGPUUsage.rst:6296 +#: ../../../AMDGPUUsage.rst:6314 msgid "Enumeration Name" msgstr "" -#: ../../../AMDGPUUsage.rst:6056 +#: ../../../AMDGPUUsage.rst:6268 msgid "FLOAT_ROUND_MODE_NEAR_EVEN" msgstr "" -#: ../../../AMDGPUUsage.rst:6056 +#: ../../../AMDGPUUsage.rst:6268 msgid "Round Ties To Even" msgstr "" -#: ../../../AMDGPUUsage.rst:6057 +#: ../../../AMDGPUUsage.rst:6269 msgid "FLOAT_ROUND_MODE_PLUS_INFINITY" msgstr "" -#: ../../../AMDGPUUsage.rst:6057 +#: ../../../AMDGPUUsage.rst:6269 msgid "Round Toward +infinity" msgstr "" -#: ../../../AMDGPUUsage.rst:6058 +#: ../../../AMDGPUUsage.rst:6270 msgid "FLOAT_ROUND_MODE_MINUS_INFINITY" msgstr "" -#: ../../../AMDGPUUsage.rst:6058 +#: ../../../AMDGPUUsage.rst:6270 msgid "Round Toward -infinity" msgstr "" -#: ../../../AMDGPUUsage.rst:6059 +#: ../../../AMDGPUUsage.rst:6271 msgid "FLOAT_ROUND_MODE_ZERO" msgstr "" -#: ../../../AMDGPUUsage.rst:6059 +#: ../../../AMDGPUUsage.rst:6271 msgid "Round Toward 0" msgstr "" -#: ../../../AMDGPUUsage.rst:6063 +#: ../../../AMDGPUUsage.rst:6275 msgid "Extended FLT_ROUNDS Enumeration Values" msgstr "" -#: ../../../AMDGPUUsage.rst:6067 +#: ../../../AMDGPUUsage.rst:6279 msgid "F32 NEAR_EVEN" msgstr "" -#: ../../../AMDGPUUsage.rst:6067 +#: ../../../AMDGPUUsage.rst:6279 msgid "F32 PLUS_INFINITY" msgstr "" -#: ../../../AMDGPUUsage.rst:6067 +#: ../../../AMDGPUUsage.rst:6279 msgid "F32 MINUS_INFINITY" msgstr "" -#: ../../../AMDGPUUsage.rst:6067 +#: ../../../AMDGPUUsage.rst:6279 msgid "F32 ZERO" msgstr "" -#: ../../../AMDGPUUsage.rst:6069 +#: ../../../AMDGPUUsage.rst:6281 msgid "F64/F16 NEAR_EVEN" msgstr "" -#: ../../../AMDGPUUsage.rst:6071 +#: ../../../AMDGPUUsage.rst:6283 msgid "F64/F16 PLUS_INFINITY" msgstr "" -#: ../../../AMDGPUUsage.rst:6071 +#: ../../../AMDGPUUsage.rst:6283 msgid "15" msgstr "" -#: ../../../AMDGPUUsage.rst:6071 +#: ../../../AMDGPUUsage.rst:6283 msgid "18" msgstr "" -#: ../../../AMDGPUUsage.rst:6073 +#: ../../../AMDGPUUsage.rst:6285 msgid "F64/F16 MINUS_INFINITY" msgstr "" -#: ../../../AMDGPUUsage.rst:6073 +#: ../../../AMDGPUUsage.rst:6285 msgid "19" msgstr "" -#: ../../../AMDGPUUsage.rst:6075 +#: ../../../AMDGPUUsage.rst:6287 msgid "F64/F16 ZERO" msgstr "" -#: ../../../AMDGPUUsage.rst:6080 +#: ../../../AMDGPUUsage.rst:6292 msgid "Floating Point Denorm Mode Enumeration Values" msgstr "" -#: ../../../AMDGPUUsage.rst:6086 +#: ../../../AMDGPUUsage.rst:6298 msgid "FLOAT_DENORM_MODE_FLUSH_SRC_DST" msgstr "" -#: ../../../AMDGPUUsage.rst:6086 +#: ../../../AMDGPUUsage.rst:6298 msgid "Flush Source and Destination Denorms" msgstr "" -#: ../../../AMDGPUUsage.rst:6087 +#: ../../../AMDGPUUsage.rst:6299 msgid "FLOAT_DENORM_MODE_FLUSH_DST" msgstr "" -#: ../../../AMDGPUUsage.rst:6087 +#: ../../../AMDGPUUsage.rst:6299 msgid "Flush Output Denorms" msgstr "" -#: ../../../AMDGPUUsage.rst:6088 +#: ../../../AMDGPUUsage.rst:6300 msgid "FLOAT_DENORM_MODE_FLUSH_SRC" msgstr "" -#: ../../../AMDGPUUsage.rst:6088 +#: ../../../AMDGPUUsage.rst:6300 msgid "Flush Source Denorms" msgstr "" -#: ../../../AMDGPUUsage.rst:6089 +#: ../../../AMDGPUUsage.rst:6301 msgid "FLOAT_DENORM_MODE_FLUSH_NONE" msgstr "" -#: ../../../AMDGPUUsage.rst:6089 +#: ../../../AMDGPUUsage.rst:6301 msgid "No Flush" msgstr "" -#: ../../../AMDGPUUsage.rst:6092 +#: ../../../AMDGPUUsage.rst:6304 msgid "" "Denormal flushing is sign respecting, i.e., the behavior expected by " "``\"denormal-fp-math\"=\"preserve-sign\"``. The behavior is undefined with " "``\"denormal-fp-math\"=\"positive-zero\"``" msgstr "" -#: ../../../AMDGPUUsage.rst:6098 +#: ../../../AMDGPUUsage.rst:6310 msgid "System VGPR Work-Item ID Enumeration Values" msgstr "" -#: ../../../AMDGPUUsage.rst:6104 +#: ../../../AMDGPUUsage.rst:6316 msgid "SYSTEM_VGPR_WORKITEM_ID_X" msgstr "" -#: ../../../AMDGPUUsage.rst:6104 +#: ../../../AMDGPUUsage.rst:6316 msgid "Set work-item X dimension ID." msgstr "" -#: ../../../AMDGPUUsage.rst:6106 +#: ../../../AMDGPUUsage.rst:6318 msgid "SYSTEM_VGPR_WORKITEM_ID_X_Y" msgstr "" -#: ../../../AMDGPUUsage.rst:6106 +#: ../../../AMDGPUUsage.rst:6318 msgid "Set work-item X and Y dimensions ID." msgstr "" -#: ../../../AMDGPUUsage.rst:6108 +#: ../../../AMDGPUUsage.rst:6320 msgid "SYSTEM_VGPR_WORKITEM_ID_X_Y_Z" msgstr "" -#: ../../../AMDGPUUsage.rst:6108 +#: ../../../AMDGPUUsage.rst:6320 msgid "Set work-item X, Y and Z dimensions ID." msgstr "" -#: ../../../AMDGPUUsage.rst:6110 +#: ../../../AMDGPUUsage.rst:6322 msgid "SYSTEM_VGPR_WORKITEM_ID_UNDEFINED" msgstr "" -#: ../../../AMDGPUUsage.rst:6110 +#: ../../../AMDGPUUsage.rst:6322 msgid "Undefined." msgstr "" -#: ../../../AMDGPUUsage.rst:6116 +#: ../../../AMDGPUUsage.rst:6328 msgid "Initial Kernel Execution State" msgstr "" -#: ../../../AMDGPUUsage.rst:6118 +#: ../../../AMDGPUUsage.rst:6330 msgid "" "This section defines the register state that will be set up by the packet " "processor prior to the start of execution of every wavefront. This is " "limited by the constraints of the hardware controllers of CP/ADC/SPI." msgstr "" -#: ../../../AMDGPUUsage.rst:6122 +#: ../../../AMDGPUUsage.rst:6334 msgid "" "The order of the SGPR registers is defined, but the compiler can specify " "which ones are actually setup in the kernel descriptor using the " @@ -12291,7 +12683,7 @@ msgid "" "etc.; disabled registers do not have an SGPR number." msgstr "" -#: ../../../AMDGPUUsage.rst:6129 +#: ../../../AMDGPUUsage.rst:6341 msgid "" "The initial SGPRs comprise up to 16 User SGPRs that are set by CP and apply " "to all wavefronts of the grid. It is possible to specify more than 16 User " @@ -12301,172 +12693,172 @@ msgid "" "each wavefront of the grid dispatch." msgstr "" -#: ../../../AMDGPUUsage.rst:6136 +#: ../../../AMDGPUUsage.rst:6348 msgid "" "SGPR register initial state is defined in :ref:`amdgpu-amdhsa-sgpr-register-" "set-up-order-table`." msgstr "" -#: ../../../AMDGPUUsage.rst:6139 +#: ../../../AMDGPUUsage.rst:6351 msgid "SGPR Register Set Up Order" msgstr "" -#: ../../../AMDGPUUsage.rst:6143 +#: ../../../AMDGPUUsage.rst:6355 msgid "SGPR Order" msgstr "" -#: ../../../AMDGPUUsage.rst:6143 ../../../AMDGPUUsage.rst:6235 +#: ../../../AMDGPUUsage.rst:6355 ../../../AMDGPUUsage.rst:6447 msgid "Name (kernel descriptor enable field)" msgstr "" -#: ../../../AMDGPUUsage.rst:6143 +#: ../../../AMDGPUUsage.rst:6355 msgid "Number of SGPRs" msgstr "" -#: ../../../AMDGPUUsage.rst:6147 ../../../AMDGPUUsage.rst:6239 +#: ../../../AMDGPUUsage.rst:6359 ../../../AMDGPUUsage.rst:6451 msgid "First" msgstr "" -#: ../../../AMDGPUUsage.rst:6147 +#: ../../../AMDGPUUsage.rst:6359 msgid "Private Segment Buffer (enable_sgpr_private _segment_buffer)" msgstr "" -#: ../../../AMDGPUUsage.rst:6147 +#: ../../../AMDGPUUsage.rst:6359 msgid "See :ref:`amdgpu-amdhsa-kernel-prolog-private-segment-buffer`." msgstr "" -#: ../../../AMDGPUUsage.rst:6150 ../../../AMDGPUUsage.rst:6153 -#: ../../../AMDGPUUsage.rst:6157 ../../../AMDGPUUsage.rst:6166 -#: ../../../AMDGPUUsage.rst:6169 ../../../AMDGPUUsage.rst:6172 -#: ../../../AMDGPUUsage.rst:6192 ../../../AMDGPUUsage.rst:6195 -#: ../../../AMDGPUUsage.rst:6198 ../../../AMDGPUUsage.rst:6201 -#: ../../../AMDGPUUsage.rst:6204 ../../../AMDGPUUsage.rst:6207 -#: ../../../AMDGPUUsage.rst:6242 ../../../AMDGPUUsage.rst:6245 +#: ../../../AMDGPUUsage.rst:6362 ../../../AMDGPUUsage.rst:6365 +#: ../../../AMDGPUUsage.rst:6369 ../../../AMDGPUUsage.rst:6378 +#: ../../../AMDGPUUsage.rst:6381 ../../../AMDGPUUsage.rst:6384 +#: ../../../AMDGPUUsage.rst:6404 ../../../AMDGPUUsage.rst:6407 +#: ../../../AMDGPUUsage.rst:6410 ../../../AMDGPUUsage.rst:6413 +#: ../../../AMDGPUUsage.rst:6416 ../../../AMDGPUUsage.rst:6419 +#: ../../../AMDGPUUsage.rst:6454 ../../../AMDGPUUsage.rst:6457 msgid "then" msgstr "" -#: ../../../AMDGPUUsage.rst:6150 +#: ../../../AMDGPUUsage.rst:6362 msgid "Dispatch Ptr (enable_sgpr_dispatch_ptr)" msgstr "" -#: ../../../AMDGPUUsage.rst:6150 +#: ../../../AMDGPUUsage.rst:6362 msgid "" "64-bit address of AQL dispatch packet for kernel dispatch actually executing." msgstr "" -#: ../../../AMDGPUUsage.rst:6153 +#: ../../../AMDGPUUsage.rst:6365 msgid "Queue Ptr (enable_sgpr_queue_ptr)" msgstr "" -#: ../../../AMDGPUUsage.rst:6153 +#: ../../../AMDGPUUsage.rst:6365 msgid "" "64-bit address of amd_queue_t object for AQL queue on which the dispatch " "packet was queued." msgstr "" -#: ../../../AMDGPUUsage.rst:6157 +#: ../../../AMDGPUUsage.rst:6369 msgid "Kernarg Segment Ptr (enable_sgpr_kernarg _segment_ptr)" msgstr "" -#: ../../../AMDGPUUsage.rst:6157 +#: ../../../AMDGPUUsage.rst:6369 msgid "" "64-bit address of Kernarg segment. This is directly copied from the " "kernarg_address in the kernel dispatch packet." msgstr "" -#: ../../../AMDGPUUsage.rst:6163 ../../../AMDGPUUsage.rst:6181 +#: ../../../AMDGPUUsage.rst:6375 ../../../AMDGPUUsage.rst:6393 msgid "" "Having CP load it once avoids loading it at the beginning of every wavefront." msgstr "" -#: ../../../AMDGPUUsage.rst:6166 +#: ../../../AMDGPUUsage.rst:6378 msgid "Dispatch Id (enable_sgpr_dispatch_id)" msgstr "" -#: ../../../AMDGPUUsage.rst:6166 +#: ../../../AMDGPUUsage.rst:6378 msgid "64-bit Dispatch ID of the dispatch packet being executed." msgstr "" -#: ../../../AMDGPUUsage.rst:6169 +#: ../../../AMDGPUUsage.rst:6381 msgid "Flat Scratch Init (enable_sgpr_flat_scratch _init)" msgstr "" -#: ../../../AMDGPUUsage.rst:6169 +#: ../../../AMDGPUUsage.rst:6381 msgid "See :ref:`amdgpu-amdhsa-kernel-prolog-flat-scratch`." msgstr "" -#: ../../../AMDGPUUsage.rst:6172 +#: ../../../AMDGPUUsage.rst:6384 msgid "Private Segment Size (enable_sgpr_private _segment_size)" msgstr "" -#: ../../../AMDGPUUsage.rst:6172 +#: ../../../AMDGPUUsage.rst:6384 msgid "" "The 32-bit byte size of a single work-item's memory allocation. This is the " "value from the kernel dispatch packet Private Segment Byte Size rounded up " "by CP to a multiple of DWORD." msgstr "" -#: ../../../AMDGPUUsage.rst:6185 +#: ../../../AMDGPUUsage.rst:6397 msgid "" "This is not used for GFX7-GFX8 since it is the same value as the second SGPR " "of Flat Scratch Init. However, it may be needed for GFX9-GFX11 which changes " "the meaning of the Flat Scratch Init value." msgstr "" -#: ../../../AMDGPUUsage.rst:6192 +#: ../../../AMDGPUUsage.rst:6404 msgid "Preloaded Kernargs (kernarg_preload_spec _length)" msgstr "" -#: ../../../AMDGPUUsage.rst:6192 +#: ../../../AMDGPUUsage.rst:6404 msgid "See :ref:`amdgpu-amdhsa-kernarg-preload`." msgstr "" -#: ../../../AMDGPUUsage.rst:6195 +#: ../../../AMDGPUUsage.rst:6407 msgid "Work-Group Id X (enable_sgpr_workgroup_id _X)" msgstr "" -#: ../../../AMDGPUUsage.rst:6195 +#: ../../../AMDGPUUsage.rst:6407 msgid "32-bit work-group id in X dimension of grid for wavefront." msgstr "" -#: ../../../AMDGPUUsage.rst:6198 +#: ../../../AMDGPUUsage.rst:6410 msgid "Work-Group Id Y (enable_sgpr_workgroup_id _Y)" msgstr "" -#: ../../../AMDGPUUsage.rst:6198 +#: ../../../AMDGPUUsage.rst:6410 msgid "32-bit work-group id in Y dimension of grid for wavefront." msgstr "" -#: ../../../AMDGPUUsage.rst:6201 +#: ../../../AMDGPUUsage.rst:6413 msgid "Work-Group Id Z (enable_sgpr_workgroup_id _Z)" msgstr "" -#: ../../../AMDGPUUsage.rst:6201 +#: ../../../AMDGPUUsage.rst:6413 msgid "32-bit work-group id in Z dimension of grid for wavefront." msgstr "" -#: ../../../AMDGPUUsage.rst:6204 +#: ../../../AMDGPUUsage.rst:6416 msgid "Work-Group Info (enable_sgpr_workgroup _info)" msgstr "" -#: ../../../AMDGPUUsage.rst:6204 +#: ../../../AMDGPUUsage.rst:6416 msgid "" "{first_wavefront, 14'b0000, ordered_append_term[10:0], " "threadgroup_size_in_wavefronts[5:0]}" msgstr "" -#: ../../../AMDGPUUsage.rst:6207 +#: ../../../AMDGPUUsage.rst:6419 msgid "" "Scratch Wavefront Offset (enable_sgpr_private _segment_wavefront_offset)" msgstr "" -#: ../../../AMDGPUUsage.rst:6207 +#: ../../../AMDGPUUsage.rst:6419 msgid "" "See :ref:`amdgpu-amdhsa-kernel-prolog-flat-scratch`. and :ref:`amdgpu-amdhsa-" "kernel-prolog-private-segment-buffer`." msgstr "" -#: ../../../AMDGPUUsage.rst:6213 +#: ../../../AMDGPUUsage.rst:6425 msgid "" "The order of the VGPR registers is defined, but the compiler can specify " "which ones are actually setup in the kernel descriptor using the " @@ -12476,11 +12868,11 @@ msgid "" "etc.; disabled registers do not have a VGPR number." msgstr "" -#: ../../../AMDGPUUsage.rst:6220 +#: ../../../AMDGPUUsage.rst:6432 msgid "There are different methods used for the VGPR initial state:" msgstr "" -#: ../../../AMDGPUUsage.rst:6222 +#: ../../../AMDGPUUsage.rst:6434 msgid "" "Unless the *Target Properties* column of :ref:`amdgpu-processor-table` " "specifies otherwise, a separate VGPR register is used per work-item ID. The " @@ -12488,7 +12880,7 @@ msgid "" "amdhsa-vgpr-register-set-up-order-for-unpacked-work-item-id-method-table`." msgstr "" -#: ../../../AMDGPUUsage.rst:6226 +#: ../../../AMDGPUUsage.rst:6438 msgid "" "If *Target Properties* column of :ref:`amdgpu-processor-table` specifies " "*Packed work-item IDs*, the initial value of VGPR0 register is used for all " @@ -12496,177 +12888,177 @@ msgid "" "`amdgpu-amdhsa-register-layout-for-packed-work-item-id-method-table`." msgstr "" -#: ../../../AMDGPUUsage.rst:6231 +#: ../../../AMDGPUUsage.rst:6443 msgid "VGPR Register Set Up Order for Unpacked Work-Item ID Method" msgstr "" -#: ../../../AMDGPUUsage.rst:6235 +#: ../../../AMDGPUUsage.rst:6447 msgid "VGPR Order" msgstr "" -#: ../../../AMDGPUUsage.rst:6235 +#: ../../../AMDGPUUsage.rst:6447 msgid "Number of VGPRs" msgstr "" -#: ../../../AMDGPUUsage.rst:6239 +#: ../../../AMDGPUUsage.rst:6451 msgid "Work-Item Id X (Always initialized)" msgstr "" -#: ../../../AMDGPUUsage.rst:6239 +#: ../../../AMDGPUUsage.rst:6451 msgid "32-bit work-item id in X dimension of work-group for wavefront lane." msgstr "" -#: ../../../AMDGPUUsage.rst:6242 +#: ../../../AMDGPUUsage.rst:6454 msgid "Work-Item Id Y (enable_vgpr_workitem_id > 0)" msgstr "" -#: ../../../AMDGPUUsage.rst:6242 +#: ../../../AMDGPUUsage.rst:6454 msgid "32-bit work-item id in Y dimension of work-group for wavefront lane." msgstr "" -#: ../../../AMDGPUUsage.rst:6245 +#: ../../../AMDGPUUsage.rst:6457 msgid "Work-Item Id Z (enable_vgpr_workitem_id > 1)" msgstr "" -#: ../../../AMDGPUUsage.rst:6245 +#: ../../../AMDGPUUsage.rst:6457 msgid "32-bit work-item id in Z dimension of work-group for wavefront lane." msgstr "" -#: ../../../AMDGPUUsage.rst:6252 +#: ../../../AMDGPUUsage.rst:6464 msgid "Register Layout for Packed Work-Item ID Method" msgstr "" -#: ../../../AMDGPUUsage.rst:6258 +#: ../../../AMDGPUUsage.rst:6470 msgid "0:9" msgstr "" -#: ../../../AMDGPUUsage.rst:6258 +#: ../../../AMDGPUUsage.rst:6470 msgid "Work-Item Id X" msgstr "" -#: ../../../AMDGPUUsage.rst:6258 +#: ../../../AMDGPUUsage.rst:6470 msgid "Work-item id in X dimension of work-group for wavefront lane." msgstr "" -#: ../../../AMDGPUUsage.rst:6262 +#: ../../../AMDGPUUsage.rst:6474 msgid "Always initialized." msgstr "" -#: ../../../AMDGPUUsage.rst:6264 +#: ../../../AMDGPUUsage.rst:6476 msgid "10:19" msgstr "" -#: ../../../AMDGPUUsage.rst:6264 +#: ../../../AMDGPUUsage.rst:6476 msgid "Work-Item Id Y" msgstr "" -#: ../../../AMDGPUUsage.rst:6264 +#: ../../../AMDGPUUsage.rst:6476 msgid "Work-item id in Y dimension of work-group for wavefront lane." msgstr "" -#: ../../../AMDGPUUsage.rst:6268 +#: ../../../AMDGPUUsage.rst:6480 msgid "Initialized if enable_vgpr_workitem_id > 0, otherwise set to 0." msgstr "" -#: ../../../AMDGPUUsage.rst:6270 +#: ../../../AMDGPUUsage.rst:6482 msgid "20:29" msgstr "" -#: ../../../AMDGPUUsage.rst:6270 +#: ../../../AMDGPUUsage.rst:6482 msgid "Work-Item Id Z" msgstr "" -#: ../../../AMDGPUUsage.rst:6270 +#: ../../../AMDGPUUsage.rst:6482 msgid "Work-item id in Z dimension of work-group for wavefront lane." msgstr "" -#: ../../../AMDGPUUsage.rst:6274 +#: ../../../AMDGPUUsage.rst:6486 msgid "Initialized if enable_vgpr_workitem_id > 1, otherwise set to 0." msgstr "" -#: ../../../AMDGPUUsage.rst:6276 +#: ../../../AMDGPUUsage.rst:6488 msgid "30:31" msgstr "" -#: ../../../AMDGPUUsage.rst:6276 +#: ../../../AMDGPUUsage.rst:6488 msgid "Reserved, set to 0." msgstr "" -#: ../../../AMDGPUUsage.rst:6279 +#: ../../../AMDGPUUsage.rst:6491 msgid "The setting of registers is done by GPU CP/ADC/SPI hardware as follows:" msgstr "" -#: ../../../AMDGPUUsage.rst:6281 +#: ../../../AMDGPUUsage.rst:6493 msgid "" "SGPRs before the Work-Group Ids are set by CP using the 16 User Data " "registers." msgstr "" -#: ../../../AMDGPUUsage.rst:6283 +#: ../../../AMDGPUUsage.rst:6495 msgid "" "Work-group Id registers X, Y, Z are set by ADC which supports any " "combination including none." msgstr "" -#: ../../../AMDGPUUsage.rst:6285 +#: ../../../AMDGPUUsage.rst:6497 msgid "" "Scratch Wavefront Offset is set by SPI in a per wavefront basis which is why " "its value cannot be included with the flat scratch init value which is per " "queue (see :ref:`amdgpu-amdhsa-kernel-prolog-flat-scratch`)." msgstr "" -#: ../../../AMDGPUUsage.rst:6288 +#: ../../../AMDGPUUsage.rst:6500 msgid "" "The VGPRs are set by SPI which only supports specifying either (X), (X, Y) " "or (X, Y, Z)." msgstr "" -#: ../../../AMDGPUUsage.rst:6290 +#: ../../../AMDGPUUsage.rst:6502 msgid "" "Flat Scratch register pair initialization is described in :ref:`amdgpu-" "amdhsa-kernel-prolog-flat-scratch`." msgstr "" -#: ../../../AMDGPUUsage.rst:6293 +#: ../../../AMDGPUUsage.rst:6505 msgid "" "The global segment can be accessed either using buffer instructions (GFX6 " "which has V# 64-bit address support), flat instructions (GFX7-GFX11), or " "global instructions (GFX9-GFX11)." msgstr "" -#: ../../../AMDGPUUsage.rst:6297 +#: ../../../AMDGPUUsage.rst:6509 msgid "" "If buffer operations are used, then the compiler can generate a V# with the " "following properties:" msgstr "" -#: ../../../AMDGPUUsage.rst:6300 +#: ../../../AMDGPUUsage.rst:6512 msgid "base address of 0" msgstr "" -#: ../../../AMDGPUUsage.rst:6301 +#: ../../../AMDGPUUsage.rst:6513 msgid "no swizzle" msgstr "" -#: ../../../AMDGPUUsage.rst:6302 +#: ../../../AMDGPUUsage.rst:6514 msgid "ATC: 1 if IOMMU present (such as APU)" msgstr "" -#: ../../../AMDGPUUsage.rst:6303 +#: ../../../AMDGPUUsage.rst:6515 msgid "ptr64: 1" msgstr "" -#: ../../../AMDGPUUsage.rst:6304 +#: ../../../AMDGPUUsage.rst:6516 msgid "" "MTYPE set to support memory coherence that matches the runtime (such as CC " "for APU and NC for dGPU)." msgstr "" -#: ../../../AMDGPUUsage.rst:6310 +#: ../../../AMDGPUUsage.rst:6522 msgid "Preloaded Kernel Arguments" msgstr "" -#: ../../../AMDGPUUsage.rst:6312 +#: ../../../AMDGPUUsage.rst:6524 msgid "" "On hardware that supports this feature, kernel arguments can be preloaded " "into User SGPRs, up to the maximum number of User SGPRs available. The " @@ -12675,7 +13067,7 @@ msgid "" "state`)" msgstr "" -#: ../../../AMDGPUUsage.rst:6317 +#: ../../../AMDGPUUsage.rst:6529 msgid "" "The data preloaded is copied from the kernarg segment, the amount of data is " "determined by the value specified in the kernarg_preload_spec_length field " @@ -12686,7 +13078,7 @@ msgid "" "kernarg_preload_spec_offset field." msgstr "" -#: ../../../AMDGPUUsage.rst:6325 +#: ../../../AMDGPUUsage.rst:6537 msgid "" "If the kernarg_preload_spec_length is non-zero, the CP firmware will append " "an additional 256 bytes to the kernel_code_entry_byte_offset. This addition " @@ -12696,7 +13088,7 @@ msgid "" "256 bytes at the start of the kernel entry will be skipped." msgstr "" -#: ../../../AMDGPUUsage.rst:6332 +#: ../../../AMDGPUUsage.rst:6544 msgid "" "With code object V5 and later, hidden kernel arguments that are normally " "accessed through the Implicit Argument Ptr, may be preloaded into User " @@ -12705,11 +13097,11 @@ msgid "" "ref:`amdgpu-llvm-ir-attributes-table`)." msgstr "" -#: ../../../AMDGPUUsage.rst:6341 +#: ../../../AMDGPUUsage.rst:6553 msgid "Kernel Prolog" msgstr "" -#: ../../../AMDGPUUsage.rst:6343 +#: ../../../AMDGPUUsage.rst:6555 msgid "" "The compiler performs initialization in the kernel prologue depending on the " "target and information about things like stack usage in the kernel and " @@ -12719,26 +13111,26 @@ msgid "" "descriptor`." msgstr "" -#: ../../../AMDGPUUsage.rst:6353 +#: ../../../AMDGPUUsage.rst:6565 msgid "CFI" msgstr "" -#: ../../../AMDGPUUsage.rst:6355 +#: ../../../AMDGPUUsage.rst:6567 msgid "The CFI return address is undefined." msgstr "" -#: ../../../AMDGPUUsage.rst:6357 +#: ../../../AMDGPUUsage.rst:6569 msgid "" "The CFI CFA is defined using an expression which evaluates to a location " "description that comprises one memory location description for the " "``DW_ASPACE_AMDGPU_private_lane`` address space address ``0``." msgstr "" -#: ../../../AMDGPUUsage.rst:6364 +#: ../../../AMDGPUUsage.rst:6576 msgid "M0" msgstr "" -#: ../../../AMDGPUUsage.rst:6367 +#: ../../../AMDGPUUsage.rst:6579 msgid "" "The M0 register must be initialized with a value at least the total LDS size " "if the kernel may access LDS via DS or flat operations. Total LDS size is " @@ -12747,21 +13139,21 @@ msgid "" "GFX8)." msgstr "" -#: ../../../AMDGPUUsage.rst:6374 +#: ../../../AMDGPUUsage.rst:6586 msgid "GFX9 and later" msgstr "" -#: ../../../AMDGPUUsage.rst:6373 +#: ../../../AMDGPUUsage.rst:6585 msgid "" "The M0 register is not used for range checking LDS accesses and so does not " "need to be initialized in the prolog." msgstr "" -#: ../../../AMDGPUUsage.rst:6379 +#: ../../../AMDGPUUsage.rst:6591 msgid "Stack Pointer" msgstr "" -#: ../../../AMDGPUUsage.rst:6381 +#: ../../../AMDGPUUsage.rst:6593 msgid "" "If the kernel has function calls it must set up the ABI stack pointer " "described in :ref:`amdgpu-amdhsa-function-call-convention-non-kernel-" @@ -12769,11 +13161,11 @@ msgid "" "past the last local allocation." msgstr "" -#: ../../../AMDGPUUsage.rst:6389 +#: ../../../AMDGPUUsage.rst:6601 msgid "Frame Pointer" msgstr "" -#: ../../../AMDGPUUsage.rst:6391 +#: ../../../AMDGPUUsage.rst:6603 msgid "" "If the kernel needs a frame pointer for the reasons defined in " "``SIFrameLowering`` then SGPR33 is used and is always set to ``0`` in the " @@ -12786,32 +13178,32 @@ msgid "" "``0`` offsets." msgstr "" -#: ../../../AMDGPUUsage.rst:6404 +#: ../../../AMDGPUUsage.rst:6616 msgid "Flat Scratch" msgstr "" -#: ../../../AMDGPUUsage.rst:6406 +#: ../../../AMDGPUUsage.rst:6618 msgid "There are different methods used for initializing flat scratch:" msgstr "" -#: ../../../AMDGPUUsage.rst:6408 +#: ../../../AMDGPUUsage.rst:6620 msgid "" "If the *Target Properties* column of :ref:`amdgpu-processor-table` specifies " "*Does not support generic address space*:" msgstr "" -#: ../../../AMDGPUUsage.rst:6411 +#: ../../../AMDGPUUsage.rst:6623 msgid "" "Flat scratch is not supported and there is no flat scratch register pair." msgstr "" -#: ../../../AMDGPUUsage.rst:6413 +#: ../../../AMDGPUUsage.rst:6625 msgid "" "If the *Target Properties* column of :ref:`amdgpu-processor-table` specifies " "*Offset flat scratch*:" msgstr "" -#: ../../../AMDGPUUsage.rst:6416 +#: ../../../AMDGPUUsage.rst:6628 msgid "" "If the kernel or any function it calls may use flat operations to access " "scratch memory, the prolog code must set up the FLAT_SCRATCH register pair " @@ -12820,7 +13212,7 @@ msgid "" "kernel-execution-state`):" msgstr "" -#: ../../../AMDGPUUsage.rst:6422 +#: ../../../AMDGPUUsage.rst:6634 msgid "" "The low word of Flat Scratch Init is the 32-bit byte offset from " "``SH_HIDDEN_PRIVATE_BASE_VIMID`` to the base of scratch backing memory being " @@ -12828,32 +13220,32 @@ msgid "" "value used in the Scratch Segment Buffer V# base address." msgstr "" -#: ../../../AMDGPUUsage.rst:6427 +#: ../../../AMDGPUUsage.rst:6639 msgid "" "CP obtains this from the runtime. (The Scratch Segment Buffer base address " "is ``SH_HIDDEN_PRIVATE_BASE_VIMID`` plus this offset.)" msgstr "" -#: ../../../AMDGPUUsage.rst:6430 +#: ../../../AMDGPUUsage.rst:6642 msgid "" "The prolog must add the value of Scratch Wavefront Offset to get the " "wavefront's byte scratch backing memory offset from " "``SH_HIDDEN_PRIVATE_BASE_VIMID``." msgstr "" -#: ../../../AMDGPUUsage.rst:6434 +#: ../../../AMDGPUUsage.rst:6646 msgid "" "The Scratch Wavefront Offset must also be used as an offset with Private " "segment address when using the Scratch Segment Buffer." msgstr "" -#: ../../../AMDGPUUsage.rst:6437 +#: ../../../AMDGPUUsage.rst:6649 msgid "" "Since FLAT_SCRATCH_LO is in units of 256 bytes, the offset must be right " "shifted by 8 before moving into FLAT_SCRATCH_HI." msgstr "" -#: ../../../AMDGPUUsage.rst:6440 +#: ../../../AMDGPUUsage.rst:6652 msgid "" "FLAT_SCRATCH_HI corresponds to SGPRn-4 on GFX7, and SGPRn-6 on GFX8 (where " "SGPRn is the highest numbered SGPR allocated to the wavefront). " @@ -12863,13 +13255,13 @@ msgid "" "aperture." msgstr "" -#: ../../../AMDGPUUsage.rst:6446 +#: ../../../AMDGPUUsage.rst:6658 msgid "" "The second word of Flat Scratch Init is 32-bit byte size of a single work-" "items scratch memory usage." msgstr "" -#: ../../../AMDGPUUsage.rst:6449 +#: ../../../AMDGPUUsage.rst:6661 msgid "" "CP obtains this from the runtime, and it is always a multiple of DWORD. CP " "checks that the value in the kernel dispatch packet Private Segment Byte " @@ -12877,27 +13269,27 @@ msgid "" "size if necessary." msgstr "" -#: ../../../AMDGPUUsage.rst:6454 +#: ../../../AMDGPUUsage.rst:6666 msgid "" "CP directly loads from the kernel dispatch packet Private Segment Byte Size " "field and rounds up to a multiple of DWORD. Having CP load it once avoids " "loading it at the beginning of every wavefront." msgstr "" -#: ../../../AMDGPUUsage.rst:6458 +#: ../../../AMDGPUUsage.rst:6670 msgid "" "The kernel prolog code must move it to FLAT_SCRATCH_LO which is SGPRn-3 on " "GFX7 and SGPRn-5 on GFX8. FLAT_SCRATCH_LO is used as the FLAT SCRATCH SIZE " "in flat memory instructions." msgstr "" -#: ../../../AMDGPUUsage.rst:6462 +#: ../../../AMDGPUUsage.rst:6674 msgid "" "If the *Target Properties* column of :ref:`amdgpu-processor-table` specifies " "*Absolute flat scratch*:" msgstr "" -#: ../../../AMDGPUUsage.rst:6465 +#: ../../../AMDGPUUsage.rst:6677 msgid "" "If the kernel or any function it calls may use flat operations to access " "scratch memory, the prolog code must set up the FLAT_SCRATCH register pair " @@ -12906,17 +13298,17 @@ msgid "" "registers (see :ref:`amdgpu-amdhsa-initial-kernel-execution-state`):" msgstr "" -#: ../../../AMDGPUUsage.rst:6471 +#: ../../../AMDGPUUsage.rst:6683 msgid "" "The Flat Scratch Init is the 64-bit address of the base of scratch backing " "memory being managed by SPI for the queue executing the kernel dispatch." msgstr "" -#: ../../../AMDGPUUsage.rst:6474 +#: ../../../AMDGPUUsage.rst:6686 msgid "CP obtains this from the runtime." msgstr "" -#: ../../../AMDGPUUsage.rst:6476 +#: ../../../AMDGPUUsage.rst:6688 msgid "" "The kernel prolog must add the value of the wave's Scratch Wavefront Offset " "and move the result as a 64-bit value to the FLAT_SCRATCH SGPR register pair " @@ -12924,20 +13316,20 @@ msgid "" "memory instructions." msgstr "" -#: ../../../AMDGPUUsage.rst:6481 +#: ../../../AMDGPUUsage.rst:6693 msgid "" "The Scratch Wavefront Offset must also be used as an offset with Private " "segment address when using the Scratch Segment Buffer (see :ref:`amdgpu-" "amdhsa-kernel-prolog-private-segment-buffer`)." msgstr "" -#: ../../../AMDGPUUsage.rst:6485 +#: ../../../AMDGPUUsage.rst:6697 msgid "" "If the *Target Properties* column of :ref:`amdgpu-processor-table` specifies " "*Architected flat scratch*:" msgstr "" -#: ../../../AMDGPUUsage.rst:6488 +#: ../../../AMDGPUUsage.rst:6700 msgid "" "If ENABLE_PRIVATE_SEGMENT is enabled in :ref:`amdgpu-amdhsa-" "compute_pgm_rsrc2-gfx6-gfx12-table` then the FLAT_SCRATCH register pair will " @@ -12947,18 +13339,18 @@ msgid "" "base in flat memory instructions." msgstr "" -#: ../../../AMDGPUUsage.rst:6498 +#: ../../../AMDGPUUsage.rst:6710 msgid "Private Segment Buffer" msgstr "" -#: ../../../AMDGPUUsage.rst:6500 +#: ../../../AMDGPUUsage.rst:6712 msgid "" "If the *Target Properties* column of :ref:`amdgpu-processor-table` specifies " "*Architected flat scratch* then a Private Segment Buffer is not supported. " "Instead the flat SCRATCH instructions are used." msgstr "" -#: ../../../AMDGPUUsage.rst:6504 +#: ../../../AMDGPUUsage.rst:6716 msgid "" "Otherwise, Private Segment Buffer SGPR register is used to initialize 4 " "SGPRs that are used as a V# to access scratch. CP uses the value provided by " @@ -12967,13 +13359,13 @@ msgid "" "`amdgpu-amdhsa-initial-kernel-execution-state`." msgstr "" -#: ../../../AMDGPUUsage.rst:6510 +#: ../../../AMDGPUUsage.rst:6722 msgid "" "The scratch V# is a four-aligned SGPR and always selected for the kernel as " "follows:" msgstr "" -#: ../../../AMDGPUUsage.rst:6513 +#: ../../../AMDGPUUsage.rst:6725 msgid "" "If it is known during instruction selection that there is stack usage, " "SGPR0-3 is reserved for use as the scratch V#. Stack usage is assumed if " @@ -12981,20 +13373,20 @@ msgid "" "locals, etc.), or if there are any function calls." msgstr "" -#: ../../../AMDGPUUsage.rst:6518 +#: ../../../AMDGPUUsage.rst:6730 msgid "" "Otherwise, four high numbered SGPRs beginning at a four-aligned SGPR index " "are reserved for the tentative scratch V#. These will be used if it is " "determined that spilling is needed." msgstr "" -#: ../../../AMDGPUUsage.rst:6522 +#: ../../../AMDGPUUsage.rst:6734 msgid "" "If no use is made of the tentative scratch V#, then it is unreserved, and " "the register count is determined ignoring it." msgstr "" -#: ../../../AMDGPUUsage.rst:6524 +#: ../../../AMDGPUUsage.rst:6736 msgid "" "If use is made of the tentative scratch V#, then its register numbers are " "shifted to the first four-aligned SGPR index after the highest one allocated " @@ -13002,14 +13394,14 @@ msgid "" "includes them in the shifted location." msgstr "" -#: ../../../AMDGPUUsage.rst:6528 +#: ../../../AMDGPUUsage.rst:6740 msgid "" "In either case, if the processor has the SGPR allocation bug, the tentative " "allocation is not shifted or unreserved in order to ensure the register " "count is higher to workaround the bug." msgstr "" -#: ../../../AMDGPUUsage.rst:6534 +#: ../../../AMDGPUUsage.rst:6746 msgid "" "This approach of using a tentative scratch V# and shifting the register " "numbers if used avoids having to perform register allocation a second time " @@ -13018,7 +13410,7 @@ msgid "" "fail as there is no longer a scratch V#." msgstr "" -#: ../../../AMDGPUUsage.rst:6540 +#: ../../../AMDGPUUsage.rst:6752 msgid "" "When the kernel prolog code is being emitted it is known whether the scratch " "V# described above is actually used. If it is, the prolog code must set it " @@ -13028,30 +13420,685 @@ msgid "" "of the wavefront scratch backing memory." msgstr "" -#: ../../../AMDGPUUsage.rst:6547 +#: ../../../AMDGPUUsage.rst:6759 msgid "" "The Private Segment Buffer is always requested, but the Private Segment " "Wavefront Offset is only requested if it is used (see :ref:`amdgpu-amdhsa-" "initial-kernel-execution-state`)." msgstr "" -#: ../../../AMDGPUUsage.rst:6554 +#: ../../../AMDGPUUsage.rst:6766 ../../../AMDGPUUsage.rst:7203 +msgid "Execution Barriers" +msgstr "" + +#: ../../../AMDGPUUsage.rst:6770 +msgid "" +"This specification is a work-in-progress (see lines annotated with :sup:" +"`WIP`), and is not complete for GFX12.5." +msgstr "" + +#: ../../../AMDGPUUsage.rst:6772 +msgid "" +"Threads can synchronize execution by performing barrier operations on " +"barrier *objects* as described below:" +msgstr "" + +#: ../../../AMDGPUUsage.rst:6774 +msgid "Each barrier *object* has the following state:" +msgstr "" + +#: ../../../AMDGPUUsage.rst:6776 +msgid "" +"An unsigned positive integer *expected count*: counts the number of *signal* " +"operations expected for this barrier *object*." +msgstr "" + +#: ../../../AMDGPUUsage.rst:6778 +msgid "" +"An unsigned non-negative integer *signal count*: counts the number of " +"*signal* operations already performed on this barrier *object*." +msgstr "" + +#: ../../../AMDGPUUsage.rst:6781 +msgid "The initial value of *signal count* is zero." +msgstr "" + +#: ../../../AMDGPUUsage.rst:6782 +msgid "" +"When an operation causes *signal count* to be equal to *expected count*, the " +"barrier is completed, and the *signal count* is reset to zero." +msgstr "" + +#: ../../../AMDGPUUsage.rst:6785 +msgid "" +"Barrier operations are performed on barrier *objects*. A barrier operation " +"is a dynamic instance of one of the following:" +msgstr "" + +#: ../../../AMDGPUUsage.rst:6788 ../../../AMDGPUUsage.rst:6802 +msgid "Barrier *init*." +msgstr "" + +#: ../../../AMDGPUUsage.rst:6789 +msgid "Barrier *join*." +msgstr "" + +#: ../../../AMDGPUUsage.rst:6790 ../../../AMDGPUUsage.rst:6803 +msgid "Barrier *leave*." +msgstr "" + +#: ../../../AMDGPUUsage.rst:6792 +msgid "Decrements *expected count* of the barrier *object* by one." +msgstr "" + +#: ../../../AMDGPUUsage.rst:6794 ../../../AMDGPUUsage.rst:6804 +msgid "Barrier *signal*." +msgstr "" + +#: ../../../AMDGPUUsage.rst:6796 +msgid "Increments *signal count* of the barrier *object* by one." +msgstr "" + +#: ../../../AMDGPUUsage.rst:6798 +msgid "Barrier *wait*." +msgstr "" + +#: ../../../AMDGPUUsage.rst:6800 +msgid "" +"Barrier modification operations are barrier operations that modify the " +"barrier *object* state:" +msgstr "" + +#: ../../../AMDGPUUsage.rst:6806 +msgid "For a given barrier *object* ``BO``:" +msgstr "" + +#: ../../../AMDGPUUsage.rst:6808 +msgid "There is exactly one barrier *init* for ``BO``. :sup:`WIP`" +msgstr "" + +#: ../../../AMDGPUUsage.rst:6809 +msgid "" +"*Thread-barrier-order* is the subset of *program-order* that only " +"relates barrier operations performed on ``BO``." +msgstr "" + +#: ../../../AMDGPUUsage.rst:6811 +msgid "" +"Let ``S`` be the set of barrier modification operations on ``BO``, then " +"*barrier-modification-order* is a strict total order over ``S``. It is " +"the order in which ``BO`` observes barrier operations that change its state." +msgstr "" + +#: ../../../AMDGPUUsage.rst:6815 +msgid "*Barrier-modification-order* is consistent with *happens-before*." +msgstr "" + +#: ../../../AMDGPUUsage.rst:6816 +msgid "" +"Let ``A`` and ``B`` be two barrier modification operations where ``A -> B`` " +"in *thread-barrier-order*, then ``A -> B`` in *barrier-modification-" +"order*." +msgstr "" + +#: ../../../AMDGPUUsage.rst:6818 +msgid "" +"The first element in *barrier-modification-order* is a barrier *init*. " +"There is only one barrier *init* in *barrier-modification-order*." +msgstr "" + +#: ../../../AMDGPUUsage.rst:6821 +msgid "" +"*Barrier-joined-before* is a strict partial order over barrier " +"operations on ``BO``. A barrier *join* ``J`` is *barrier-joined-before* " +"a barrier operation ``X`` if and only if all of the following is true:" +msgstr "" + +#: ../../../AMDGPUUsage.rst:6825 +msgid "``J -> X`` in *thread-barrier-order*." +msgstr "" + +#: ../../../AMDGPUUsage.rst:6826 +msgid "" +"There is no barrier *leave* ``L`` where ``J -> L -> X`` in *thread-barrier-" +"order*." +msgstr "" + +#: ../../../AMDGPUUsage.rst:6828 +msgid "" +"*Barrier-participates-in* is a partial order that relates barrier " +"operations to barrier *waits*. A barrier operation ``X`` may *barrier-" +"participates-in* a barrier *wait* ``W`` if all of the following is true:" +msgstr "" + +#: ../../../AMDGPUUsage.rst:6832 +msgid "``X`` and ``W`` are both performed on ``BO``." +msgstr "" + +#: ../../../AMDGPUUsage.rst:6833 +msgid "``X`` is a barrier *signal* or *leave* operation." +msgstr "" + +#: ../../../AMDGPUUsage.rst:6834 +msgid "" +"``X`` does not *barrier-participates-in* another barrier *wait* ``W'`` " +"in the same thread as ``W``." +msgstr "" + +#: ../../../AMDGPUUsage.rst:6835 +msgid "``W -> X`` **not** in *thread-barrier-order*." +msgstr "" + +#: ../../../AMDGPUUsage.rst:6837 +msgid "*Barrier-participates-in* is consistent with *happens-before*." +msgstr "" + +#: ../../../AMDGPUUsage.rst:6839 +msgid "" +"Let ``S`` be the set of barrier operations that *barrier-participate-in* " +"a barrier *wait* ``W`` for some barrier *object* ``BO``, then all of the " +"following is true:" +msgstr "" + +#: ../../../AMDGPUUsage.rst:6842 +msgid "``S`` cannot be empty." +msgstr "" + +#: ../../../AMDGPUUsage.rst:6843 +msgid "" +"The elements of ``S`` all exist in a continuous interval of *barrier-" +"modification-order*." +msgstr "" + +#: ../../../AMDGPUUsage.rst:6844 +msgid "" +"Let ``A`` be the first operation of ``S`` in *barrier-modification-" +"order*, then the *signal count* of ``BO`` is zero before ``A`` is " +"performed." +msgstr "" + +#: ../../../AMDGPUUsage.rst:6846 +msgid "" +"Let ``B`` be the last operation of ``S`` in *barrier-modification-" +"order*, then the *signal count* and *expected count* of ``BO`` are equal " +"after ``B`` is performed. ``B`` is the only barrier operation in ``S`` that " +"causes the *signal count* and *expected count* of ``BO`` to be equal." +msgstr "" + +#: ../../../AMDGPUUsage.rst:6850 +msgid "" +"For every barrier *signal* ``S`` performed on a barrier *object* ``BO``:" +msgstr "" + +#: ../../../AMDGPUUsage.rst:6852 +msgid "" +"The immediate successor of ``S`` in *thread-barrier-order* is a barrier " +"*wait*. :sup:`WIP`" +msgstr "" + +#: ../../../AMDGPUUsage.rst:6854 +msgid "For every barrier *wait* ``W`` performed on a barrier *object* ``BO``:" +msgstr "" + +#: ../../../AMDGPUUsage.rst:6856 +msgid "" +"There is a barrier *join* ``J`` such that ``J -> W`` in *barrier-joined-" +"before*. :sup:`WIP`" +msgstr "" + +#: ../../../AMDGPUUsage.rst:6858 +msgid "For every barrier *join* ``J`` performed on a barrier *object* ``BO``:" +msgstr "" + +#: ../../../AMDGPUUsage.rst:6860 +msgid "``J`` is not *barrier-joined-before* another barrier *join*." +msgstr "" + +#: ../../../AMDGPUUsage.rst:6862 +msgid "" +"*Barrier-executes-before* is a strict partial order defined over the union " +"of all barrier operations performed by all threads on all barriers. It is " +"the transitive closure of all the following orders:" +msgstr "" + +#: ../../../AMDGPUUsage.rst:6865 +msgid "*Thread-barrier-order* for every barrier object ``BO``." +msgstr "" + +#: ../../../AMDGPUUsage.rst:6866 +msgid "*Barrier-participates-in* for every barrier object ``BO``." +msgstr "" + +#: ../../../AMDGPUUsage.rst:6868 +msgid "*Barrier-executes-before* is consistent with *program-order*." +msgstr "" + +#: ../../../AMDGPUUsage.rst:6869 +msgid "For every barrier *object* ``BO``:" +msgstr "" + +#: ../../../AMDGPUUsage.rst:6871 +msgid "" +"*Barrier-modification-order* is consistent with *barrier-executes-" +"before*." +msgstr "" + +#: ../../../AMDGPUUsage.rst:6873 +msgid "" +"For every barrier operation ``X`` on a barrier *object* ``BO``, there is a " +"barrier *init* ``I`` on ``BO`` such that ``I`` *barrier-executes-before* " +"``X``." +msgstr "" + +#: ../../../AMDGPUUsage.rst:6878 +msgid "" +"Barriers only synchronize execution and do not affect the visibility of " +"memory operations between threads. Refer to the :ref:`execution barriers " +"memory model` to determine " +"how to synchronize memory operations through *barrier-executes-before*." +msgstr "" + +#: ../../../AMDGPUUsage.rst:6883 +msgid "Target-Specific Properties" +msgstr "" + +#: ../../../AMDGPUUsage.rst:6885 +msgid "" +"This section covers properties of barrier operation and *objects* that are " +"specific to the implementation of barriers in AMDGPU hardware." +msgstr "" + +#: ../../../AMDGPUUsage.rst:6888 +msgid "" +"Barrier operations have the following additional target-specific properties:" +msgstr "" + +#: ../../../AMDGPUUsage.rst:6890 +msgid "" +"Barrier operations are convergent within a wave. All threads of a wavefront " +"use the same barrier *object* when performing any barrier operation." +msgstr "" + +#: ../../../AMDGPUUsage.rst:6893 +msgid "" +"Thus, barrier operations can only be performed in wave-uniform control flow." +msgstr "" + +#: ../../../AMDGPUUsage.rst:6895 +msgid "" +"All barrier *objects* have the following additional target-specific " +"properties:" +msgstr "" + +#: ../../../AMDGPUUsage.rst:6897 +msgid "" +"Barrier *join* does not increment the *expected count* of a barrier " +"*object*. The *expected count* is set during initialization of the barrier " +"by the hardware. :sup:`WIP`" +msgstr "" + +#: ../../../AMDGPUUsage.rst:6899 +msgid "Barrier *objects* are allocated and managed by the hardware." +msgstr "" + +#: ../../../AMDGPUUsage.rst:6901 +msgid "" +"Barrier *objects* are stored in an unspecified memory region that does not " +"alias with any other address space. Updates to the barrier *object* are not " +"done in order with any other memory operation in any other :ref:`address " +"space`." +msgstr "" + +#: ../../../AMDGPUUsage.rst:6905 +msgid "" +"Barrier *objects* exist within a *scope* (see :ref:`amdgpu-amdhsa-llvm-sync-" +"scopes-table`), and can only be accessed by threads in that *scope*." +msgstr "" + +#: ../../../AMDGPUUsage.rst:6908 +msgid "" +"See :ref:`amdgpu-llvm-ir-intrinsics-table` for more information on how to " +"perform barrier operations using LLVM IR intrinsic calls, or see the " +"sections below to perform barrier operations using machine code." +msgstr "" + +#: ../../../AMDGPUUsage.rst:6914 +msgid "Workgroup Barrier Operations" +msgstr "" + +#: ../../../AMDGPUUsage.rst:6918 +msgid "" +"This section only applies to entries of the target code sequence tables " +"below that reference this section." +msgstr "" + +#: ../../../AMDGPUUsage.rst:6920 +msgid "" +"This section covers properties of barrier operation on *workgroup barrier " +"objects* implemented in AMDGPU hardware." +msgstr "" + +#: ../../../AMDGPUUsage.rst:6923 +msgid "" +"The following barrier operations can never be performed by the shader on " +"*workgroup barrier objects*. The hardware will instead perform them " +"automatically under certain conditions." +msgstr "" + +#: ../../../AMDGPUUsage.rst:6926 +msgid "Barrier *init*:" +msgstr "" + +#: ../../../AMDGPUUsage.rst:6928 +msgid "" +"The hardware automatically initializes *workgroup barrier objects* when a " +"workgroup is launched: The *expected count* of the barrier object is set to " +"the number of waves in the workgroup." +msgstr "" + +#: ../../../AMDGPUUsage.rst:6931 +msgid "Barrier *join*:" +msgstr "" + +#: ../../../AMDGPUUsage.rst:6933 +msgid "" +"Any thread launched within a workgroup automatically *joins* *workgroup " +"barrier objects*." +msgstr "" + +#: ../../../AMDGPUUsage.rst:6935 +msgid "Barrier *leave*" +msgstr "" + +#: ../../../AMDGPUUsage.rst:6937 +msgid "" +"When a thread ends, it automatically *leaves* any *workgroup barrier object* " +"it had previously *joined*." +msgstr "" + +#: ../../../AMDGPUUsage.rst:6939 +msgid "" +"Additionally, no barrier *wait* operation on a *workgroup barrier object* " +"can complete before all waves of the workgroup have launched." +msgstr "" + +#: ../../../AMDGPUUsage.rst:6943 +msgid "Informational Notes" +msgstr "" + +#: ../../../AMDGPUUsage.rst:6945 +msgid "" +"Informally, we can deduce from the above formal model that execution " +"barriers behave as follows:" +msgstr "" + +#: ../../../AMDGPUUsage.rst:6947 +msgid "Synchronization of threads always happens at a wavefront granularity." +msgstr "" + +#: ../../../AMDGPUUsage.rst:6948 +msgid "" +"*Barrier-executes-before* relates the dynamic instances of operations from " +"different threads together. For example, if ``A -> B`` in *barrier-executes-" +"before*, then the execution of ``A`` must complete before the execution of " +"``B`` can complete." +msgstr "" + +#: ../../../AMDGPUUsage.rst:6951 +msgid "" +"When a barrier *signal* or *leave* causes the *signal count* of a barrier " +"*object* to be identical to the *expected count*, the *signal count* is " +"reset to zero, and threads that have *joined* the barrier *object* will:" +msgstr "" + +#: ../../../AMDGPUUsage.rst:6955 +msgid "Wake-up if they were sleeping because of a barrier *wait*, **or**" +msgstr "" + +#: ../../../AMDGPUUsage.rst:6956 +msgid "" +"Skip the next barrier *wait* operation if they have not previously *waited*." +msgstr "" + +#: ../../../AMDGPUUsage.rst:6958 +msgid "" +"Barriers do not complete \"out-of-thin-air\"; a barrier *wait* ``W`` cannot " +"depend on a barrier operation ``X`` to complete if ``W -> X`` in *barrier-" +"executes-before*." +msgstr "" + +#: ../../../AMDGPUUsage.rst:6960 +msgid "It is undefined behavior to operate on an uninitialized barrier." +msgstr "" + +#: ../../../AMDGPUUsage.rst:6961 +msgid "It is undefined behavior for a barrier *wait* to never complete." +msgstr "" + +#: ../../../AMDGPUUsage.rst:6964 +msgid "Execution Barrier GFX6-11" +msgstr "" + +#: ../../../AMDGPUUsage.rst:6966 +msgid "" +"Targets from GFX6 through GFX11 included do not have the split barrier " +"feature. The barrier *signal* and barrier *wait* operations cannot be " +"performed independently." +msgstr "" + +#: ../../../AMDGPUUsage.rst:6969 +msgid "" +"There is only one *workgroup barrier* object of ``workgroup`` scope that is " +"implicitly used by all barrier operations." +msgstr "" + +#: ../../../AMDGPUUsage.rst:6972 +msgid "AMDHSA Execution Barriers Code Sequences GFX6-GFX11" +msgstr "" + +#: ../../../AMDGPUUsage.rst:6976 ../../../AMDGPUUsage.rst:7025 +msgid "Barrier Operation(s)" +msgstr "" + +#: ../../../AMDGPUUsage.rst:6976 ../../../AMDGPUUsage.rst:7025 +msgid "Barrier *Object*" +msgstr "" + +#: ../../../AMDGPUUsage.rst:6976 ../../../AMDGPUUsage.rst:7025 +msgid "AMDGPU Machine Code" +msgstr "" + +#: ../../../AMDGPUUsage.rst:6978 ../../../AMDGPUUsage.rst:7027 +msgid "**Init, Join and Leave**" +msgstr "" + +#: ../../../AMDGPUUsage.rst:6980 ../../../AMDGPUUsage.rst:7029 +msgid "*init*" +msgstr "" + +#: ../../../AMDGPUUsage.rst:6980 ../../../AMDGPUUsage.rst:6983 +#: ../../../AMDGPUUsage.rst:6986 ../../../AMDGPUUsage.rst:6991 +#: ../../../AMDGPUUsage.rst:7006 ../../../AMDGPUUsage.rst:7008 +#: ../../../AMDGPUUsage.rst:7029 ../../../AMDGPUUsage.rst:7032 +#: ../../../AMDGPUUsage.rst:7035 ../../../AMDGPUUsage.rst:7041 +#: ../../../AMDGPUUsage.rst:7046 +msgid "*Workgroup barrier*" +msgstr "" + +#: ../../../AMDGPUUsage.rst:6980 ../../../AMDGPUUsage.rst:7029 +msgid "" +"See barrier *init* in :ref:`amdgpu-amdhsa-execution-barriers-workgroup-" +"barriers`." +msgstr "" + +#: ../../../AMDGPUUsage.rst:6983 ../../../AMDGPUUsage.rst:7032 +msgid "*join*" +msgstr "" + +#: ../../../AMDGPUUsage.rst:6983 ../../../AMDGPUUsage.rst:7032 +msgid "" +"See barrier *join* in :ref:`amdgpu-amdhsa-execution-barriers-workgroup-" +"barriers`." +msgstr "" + +#: ../../../AMDGPUUsage.rst:6986 ../../../AMDGPUUsage.rst:7035 +msgid "*leave*" +msgstr "" + +#: ../../../AMDGPUUsage.rst:6986 ../../../AMDGPUUsage.rst:7035 +msgid "" +"See barrier *leave* in :ref:`amdgpu-amdhsa-execution-barriers-workgroup-" +"barriers`." +msgstr "" + +#: ../../../AMDGPUUsage.rst:6989 ../../../AMDGPUUsage.rst:7038 +msgid "**Signal and Wait**" +msgstr "" + +#: ../../../AMDGPUUsage.rst:6991 +msgid "*signal* then *wait*" +msgstr "" + +#: ../../../AMDGPUUsage.rst:0 +msgid "**BackOffBarrier**" +msgstr "" + +#: ../../../AMDGPUUsage.rst:0 +msgid "``s_barrier``" +msgstr "" + +#: ../../../AMDGPUUsage.rst:0 +msgid "**No BackOffBarrier**" +msgstr "" + +#: ../../../AMDGPUUsage.rst:0 +msgid "``s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)``" +msgstr "" + +#: ../../../AMDGPUUsage.rst:0 +msgid "``s_waitcnt_vscnt null, 0x0``" +msgstr "" + +#: ../../../AMDGPUUsage.rst:6998 +msgid "" +"If the target does not have the BackOffBarrier feature, then there cannot be " +"any outstanding memory operations before issuing the ``s_barrier`` " +"instruction." +msgstr "" + +#: ../../../AMDGPUUsage.rst:7001 +msgid "" +"The waitcnts can independently be moved earlier, or removed entirely as long " +"as the associated counter remains at zero before issuing the ``s_barrier`` " +"instruction." +msgstr "" + +#: ../../../AMDGPUUsage.rst:7006 ../../../AMDGPUUsage.rst:7041 +#: ../../../AMDGPUUsage.rst:7048 +msgid "*signal*" +msgstr "" + +#: ../../../AMDGPUUsage.rst:7006 ../../../AMDGPUUsage.rst:7008 +msgid "Not available separately, see *signal* then *wait*" +msgstr "" + +#: ../../../AMDGPUUsage.rst:7008 ../../../AMDGPUUsage.rst:7046 +#: ../../../AMDGPUUsage.rst:7050 +msgid "*wait*" +msgstr "" + +#: ../../../AMDGPUUsage.rst:7012 +msgid "Execution Barrier GFX12" +msgstr "" + +#: ../../../AMDGPUUsage.rst:7016 +msgid "This is incomplete for GFX12.5." +msgstr "" + +#: ../../../AMDGPUUsage.rst:7018 +msgid "" +"GFX12 targets have the split-barrier feature, and also offer multiple " +"barrier *objects* per workgroup (see :ref:`amdgpu-amdhsa-execution-barriers-" +"ids-gfx12-table`)." +msgstr "" + +#: ../../../AMDGPUUsage.rst:7021 +msgid "AMDHSA Execution Barriers Code Sequences GFX12" +msgstr "" + +#: ../../../AMDGPUUsage.rst:7030 ../../../AMDGPUUsage.rst:7033 +#: ../../../AMDGPUUsage.rst:7036 ../../../AMDGPUUsage.rst:7048 +#: ../../../AMDGPUUsage.rst:7050 +msgid "*Workgroup trap barrier*" +msgstr "" + +#: ../../../AMDGPUUsage.rst:0 +msgid "``s_barrier_signal -1``" +msgstr "" + +#: ../../../AMDGPUUsage.rst:0 +msgid "Or" +msgstr "" + +#: ../../../AMDGPUUsage.rst:0 +msgid "``s_barrier_signal_isfirst -1``" +msgstr "" + +#: ../../../AMDGPUUsage.rst:7046 +msgid "``s_barrier_wait -1``." +msgstr "" + +#: ../../../AMDGPUUsage.rst:7048 ../../../AMDGPUUsage.rst:7050 +msgid "Not available to the shader." +msgstr "" + +#: ../../../AMDGPUUsage.rst:7054 +msgid "AMDHSA Execution Barriers IDs GFX12" +msgstr "" + +#: ../../../AMDGPUUsage.rst:7058 +msgid "Barrier ID" +msgstr "" + +#: ../../../AMDGPUUsage.rst:7058 +msgid "Scope" +msgstr "" + +#: ../../../AMDGPUUsage.rst:7060 +msgid "``-2``" +msgstr "" + +#: ../../../AMDGPUUsage.rst:7060 +msgid "" +"*Workgroup trap barrier*, dedicated for the trap handler and only available " +"in privileged execution mode (not accessible by the shader)." +msgstr "" + +#: ../../../AMDGPUUsage.rst:7064 +msgid "``-1``" +msgstr "" + +#: ../../../AMDGPUUsage.rst:7064 +msgid "*Workgroup barrier*." +msgstr "" + +#: ../../../AMDGPUUsage.rst:7070 msgid "Memory Model" msgstr "" -#: ../../../AMDGPUUsage.rst:6556 +#: ../../../AMDGPUUsage.rst:7072 msgid "" "This section describes the mapping of the LLVM memory model onto AMDGPU " "machine code (see :ref:`memmodel`)." msgstr "" -#: ../../../AMDGPUUsage.rst:6559 +#: ../../../AMDGPUUsage.rst:7075 msgid "" "The AMDGPU backend supports the memory synchronization scopes specified in :" "ref:`amdgpu-memory-scopes`." msgstr "" -#: ../../../AMDGPUUsage.rst:6562 +#: ../../../AMDGPUUsage.rst:7078 msgid "" "The code sequences used to implement the memory model specify the order of " "instructions that a single thread must execute. The ``s_waitcnt`` and cache " @@ -13065,25 +14112,25 @@ msgid "" "with the memory model ``s_waitcnt`` instructions as described above." msgstr "" -#: ../../../AMDGPUUsage.rst:6573 +#: ../../../AMDGPUUsage.rst:7089 msgid "The AMDGPU backend supports the following memory models:" msgstr "" -#: ../../../AMDGPUUsage.rst:6576 +#: ../../../AMDGPUUsage.rst:7092 msgid "HSA Memory Model [HSA]_" msgstr "" -#: ../../../AMDGPUUsage.rst:6576 +#: ../../../AMDGPUUsage.rst:7092 msgid "" "The HSA memory model uses a single happens-before relation for all address " "spaces (see :ref:`amdgpu-address-spaces`)." msgstr "" -#: ../../../AMDGPUUsage.rst:6589 +#: ../../../AMDGPUUsage.rst:7105 msgid "OpenCL Memory Model [OpenCL]_" msgstr "" -#: ../../../AMDGPUUsage.rst:6579 +#: ../../../AMDGPUUsage.rst:7095 msgid "" "The OpenCL memory model which has separate happens-before relations for the " "global and local address spaces. Only a fence specifying both global and " @@ -13098,19 +14145,19 @@ msgid "" "source language is OpenCL (see :ref:`amdgpu-opencl`)." msgstr "" -#: ../../../AMDGPUUsage.rst:6591 +#: ../../../AMDGPUUsage.rst:7107 msgid "" "``ds/flat_load/store/atomic`` instructions to local memory are termed LDS " "operations." msgstr "" -#: ../../../AMDGPUUsage.rst:6594 +#: ../../../AMDGPUUsage.rst:7110 msgid "" "``buffer/global/flat_load/store/atomic`` instructions to global memory are " "termed vector memory operations." msgstr "" -#: ../../../AMDGPUUsage.rst:6597 +#: ../../../AMDGPUUsage.rst:7113 msgid "" "``global_load_lds`` or ``buffer/global_load`` instructions with the `lds` " "flag are LDS DMA loads. They interact with caches as if the loaded data were " @@ -13120,7 +14167,18 @@ msgid "" "were loads from the global address space." msgstr "" -#: ../../../AMDGPUUsage.rst:6604 +#: ../../../AMDGPUUsage.rst:7120 +msgid "" +"The LDS DMA instructions are synchronous by default, which means that the " +"compiler will automatically ensure that the corresponding operation has " +"completed before its side-effects are used. The :ref:`asynchronous " +"versions` of these same instructions perform the " +"same operations, but without automatic tracking in the compiler; the user " +"must explicitly track the completion of these instructions before using " +"their side-effects." +msgstr "" + +#: ../../../AMDGPUUsage.rst:7128 msgid "" "Private address space uses ``buffer_load/store`` using the scratch V# (GFX6-" "GFX8), or ``scratch_load/store`` (GFX9-GFX11). Since only a single thread is " @@ -13128,7 +14186,7 @@ msgid "" "accesses are treated as non-atomic." msgstr "" -#: ../../../AMDGPUUsage.rst:6609 +#: ../../../AMDGPUUsage.rst:7133 msgid "" "Constant address space uses ``buffer/global_load`` instructions (or " "equivalent scalar memory instructions). Since the constant address space " @@ -13137,344 +14195,398 @@ msgid "" "all accesses are treated as non-atomic." msgstr "" -#: ../../../AMDGPUUsage.rst:6615 +#: ../../../AMDGPUUsage.rst:7139 msgid "" "A memory synchronization scope wider than work-group is not meaningful for " "the group (LDS) address space and is treated as work-group." msgstr "" -#: ../../../AMDGPUUsage.rst:6618 +#: ../../../AMDGPUUsage.rst:7142 msgid "" "The memory model does not support the region address space which is treated " "as non-atomic." msgstr "" -#: ../../../AMDGPUUsage.rst:6621 +#: ../../../AMDGPUUsage.rst:7145 msgid "" "Acquire memory ordering is not meaningful on store atomic instructions and " "is treated as non-atomic." msgstr "" -#: ../../../AMDGPUUsage.rst:6624 +#: ../../../AMDGPUUsage.rst:7148 msgid "" "Release memory ordering is not meaningful on load atomic instructions and is " "treated as non-atomic." msgstr "" -#: ../../../AMDGPUUsage.rst:6627 +#: ../../../AMDGPUUsage.rst:7151 msgid "" "Acquire-release memory ordering is not meaningful on load or store atomic " "instructions and is treated as acquire and release respectively." msgstr "" -#: ../../../AMDGPUUsage.rst:6630 +#: ../../../AMDGPUUsage.rst:7154 msgid "" "The memory order also adds the single thread optimization constraints " "defined in table :ref:`amdgpu-amdhsa-memory-model-single-thread-optimization-" "constraints-table`." msgstr "" -#: ../../../AMDGPUUsage.rst:6634 +#: ../../../AMDGPUUsage.rst:7158 msgid "AMDHSA Memory Model Single Thread Optimization Constraints" msgstr "" -#: ../../../AMDGPUUsage.rst:6638 +#: ../../../AMDGPUUsage.rst:7162 msgid "LLVM Memory" msgstr "" -#: ../../../AMDGPUUsage.rst:6638 +#: ../../../AMDGPUUsage.rst:7162 msgid "Optimization Constraints" msgstr "" -#: ../../../AMDGPUUsage.rst:6639 +#: ../../../AMDGPUUsage.rst:7163 msgid "Ordering" msgstr "" -#: ../../../AMDGPUUsage.rst:6641 ../../../AMDGPUUsage.rst:6865 -#: ../../../AMDGPUUsage.rst:6866 ../../../AMDGPUUsage.rst:6867 -#: ../../../AMDGPUUsage.rst:8125 ../../../AMDGPUUsage.rst:8126 -#: ../../../AMDGPUUsage.rst:8127 ../../../AMDGPUUsage.rst:10449 -#: ../../../AMDGPUUsage.rst:10450 ../../../AMDGPUUsage.rst:10451 -#: ../../../AMDGPUUsage.rst:12811 ../../../AMDGPUUsage.rst:12812 -#: ../../../AMDGPUUsage.rst:12813 ../../../AMDGPUUsage.rst:14888 -#: ../../../AMDGPUUsage.rst:14889 ../../../AMDGPUUsage.rst:14890 -#: ../../../AMDGPUUsage.rst:17014 ../../../AMDGPUUsage.rst:17015 -#: ../../../AMDGPUUsage.rst:17016 +#: ../../../AMDGPUUsage.rst:7165 ../../../AMDGPUUsage.rst:7420 +#: ../../../AMDGPUUsage.rst:7421 ../../../AMDGPUUsage.rst:7422 +#: ../../../AMDGPUUsage.rst:8680 ../../../AMDGPUUsage.rst:8681 +#: ../../../AMDGPUUsage.rst:8682 ../../../AMDGPUUsage.rst:11004 +#: ../../../AMDGPUUsage.rst:11005 ../../../AMDGPUUsage.rst:11006 +#: ../../../AMDGPUUsage.rst:13366 ../../../AMDGPUUsage.rst:13367 +#: ../../../AMDGPUUsage.rst:13368 ../../../AMDGPUUsage.rst:15443 +#: ../../../AMDGPUUsage.rst:15444 ../../../AMDGPUUsage.rst:15445 +#: ../../../AMDGPUUsage.rst:17580 ../../../AMDGPUUsage.rst:17581 +#: ../../../AMDGPUUsage.rst:17582 msgid "unordered" msgstr "" -#: ../../../AMDGPUUsage.rst:6642 ../../../AMDGPUUsage.rst:6870 -#: ../../../AMDGPUUsage.rst:6873 ../../../AMDGPUUsage.rst:6875 -#: ../../../AMDGPUUsage.rst:6880 ../../../AMDGPUUsage.rst:6883 -#: ../../../AMDGPUUsage.rst:6888 ../../../AMDGPUUsage.rst:8130 -#: ../../../AMDGPUUsage.rst:8132 ../../../AMDGPUUsage.rst:8138 -#: ../../../AMDGPUUsage.rst:8143 ../../../AMDGPUUsage.rst:8145 -#: ../../../AMDGPUUsage.rst:8147 ../../../AMDGPUUsage.rst:8151 -#: ../../../AMDGPUUsage.rst:8153 ../../../AMDGPUUsage.rst:8158 -#: ../../../AMDGPUUsage.rst:8162 ../../../AMDGPUUsage.rst:8164 -#: ../../../AMDGPUUsage.rst:10454 ../../../AMDGPUUsage.rst:10456 -#: ../../../AMDGPUUsage.rst:10458 ../../../AMDGPUUsage.rst:10463 -#: ../../../AMDGPUUsage.rst:10465 ../../../AMDGPUUsage.rst:10467 -#: ../../../AMDGPUUsage.rst:10469 ../../../AMDGPUUsage.rst:10471 -#: ../../../AMDGPUUsage.rst:10473 ../../../AMDGPUUsage.rst:10475 -#: ../../../AMDGPUUsage.rst:10480 ../../../AMDGPUUsage.rst:10484 -#: ../../../AMDGPUUsage.rst:10486 ../../../AMDGPUUsage.rst:12816 -#: ../../../AMDGPUUsage.rst:12818 ../../../AMDGPUUsage.rst:12824 -#: ../../../AMDGPUUsage.rst:12827 ../../../AMDGPUUsage.rst:12832 -#: ../../../AMDGPUUsage.rst:12837 ../../../AMDGPUUsage.rst:12840 -#: ../../../AMDGPUUsage.rst:12845 ../../../AMDGPUUsage.rst:14893 -#: ../../../AMDGPUUsage.rst:14898 ../../../AMDGPUUsage.rst:14901 -#: ../../../AMDGPUUsage.rst:14906 ../../../AMDGPUUsage.rst:14909 -#: ../../../AMDGPUUsage.rst:14914 ../../../AMDGPUUsage.rst:17019 -#: ../../../AMDGPUUsage.rst:17025 ../../../AMDGPUUsage.rst:17028 -#: ../../../AMDGPUUsage.rst:17037 ../../../AMDGPUUsage.rst:17040 -#: ../../../AMDGPUUsage.rst:17049 +#: ../../../AMDGPUUsage.rst:7166 ../../../AMDGPUUsage.rst:7425 +#: ../../../AMDGPUUsage.rst:7428 ../../../AMDGPUUsage.rst:7430 +#: ../../../AMDGPUUsage.rst:7435 ../../../AMDGPUUsage.rst:7438 +#: ../../../AMDGPUUsage.rst:7443 ../../../AMDGPUUsage.rst:8685 +#: ../../../AMDGPUUsage.rst:8687 ../../../AMDGPUUsage.rst:8693 +#: ../../../AMDGPUUsage.rst:8698 ../../../AMDGPUUsage.rst:8700 +#: ../../../AMDGPUUsage.rst:8702 ../../../AMDGPUUsage.rst:8706 +#: ../../../AMDGPUUsage.rst:8708 ../../../AMDGPUUsage.rst:8713 +#: ../../../AMDGPUUsage.rst:8717 ../../../AMDGPUUsage.rst:8719 +#: ../../../AMDGPUUsage.rst:11009 ../../../AMDGPUUsage.rst:11011 +#: ../../../AMDGPUUsage.rst:11013 ../../../AMDGPUUsage.rst:11018 +#: ../../../AMDGPUUsage.rst:11020 ../../../AMDGPUUsage.rst:11022 +#: ../../../AMDGPUUsage.rst:11024 ../../../AMDGPUUsage.rst:11026 +#: ../../../AMDGPUUsage.rst:11028 ../../../AMDGPUUsage.rst:11030 +#: ../../../AMDGPUUsage.rst:11035 ../../../AMDGPUUsage.rst:11039 +#: ../../../AMDGPUUsage.rst:11041 ../../../AMDGPUUsage.rst:13371 +#: ../../../AMDGPUUsage.rst:13373 ../../../AMDGPUUsage.rst:13379 +#: ../../../AMDGPUUsage.rst:13382 ../../../AMDGPUUsage.rst:13387 +#: ../../../AMDGPUUsage.rst:13392 ../../../AMDGPUUsage.rst:13395 +#: ../../../AMDGPUUsage.rst:13400 ../../../AMDGPUUsage.rst:15448 +#: ../../../AMDGPUUsage.rst:15453 ../../../AMDGPUUsage.rst:15456 +#: ../../../AMDGPUUsage.rst:15461 ../../../AMDGPUUsage.rst:15464 +#: ../../../AMDGPUUsage.rst:15469 ../../../AMDGPUUsage.rst:17585 +#: ../../../AMDGPUUsage.rst:17591 ../../../AMDGPUUsage.rst:17594 +#: ../../../AMDGPUUsage.rst:17603 ../../../AMDGPUUsage.rst:17606 +#: ../../../AMDGPUUsage.rst:17615 msgid "monotonic" msgstr "" -#: ../../../AMDGPUUsage.rst:6643 ../../../AMDGPUUsage.rst:6893 -#: ../../../AMDGPUUsage.rst:6896 ../../../AMDGPUUsage.rst:6897 -#: ../../../AMDGPUUsage.rst:6914 ../../../AMDGPUUsage.rst:6938 -#: ../../../AMDGPUUsage.rst:6964 ../../../AMDGPUUsage.rst:6967 -#: ../../../AMDGPUUsage.rst:6968 ../../../AMDGPUUsage.rst:6985 -#: ../../../AMDGPUUsage.rst:7009 ../../../AMDGPUUsage.rst:7036 -#: ../../../AMDGPUUsage.rst:7038 ../../../AMDGPUUsage.rst:7070 -#: ../../../AMDGPUUsage.rst:8171 ../../../AMDGPUUsage.rst:8174 -#: ../../../AMDGPUUsage.rst:8201 ../../../AMDGPUUsage.rst:8222 -#: ../../../AMDGPUUsage.rst:8257 ../../../AMDGPUUsage.rst:8281 -#: ../../../AMDGPUUsage.rst:8311 ../../../AMDGPUUsage.rst:8339 -#: ../../../AMDGPUUsage.rst:8374 ../../../AMDGPUUsage.rst:8376 -#: ../../../AMDGPUUsage.rst:8381 ../../../AMDGPUUsage.rst:8407 -#: ../../../AMDGPUUsage.rst:8428 ../../../AMDGPUUsage.rst:8460 -#: ../../../AMDGPUUsage.rst:8484 ../../../AMDGPUUsage.rst:8514 -#: ../../../AMDGPUUsage.rst:8543 ../../../AMDGPUUsage.rst:8579 -#: ../../../AMDGPUUsage.rst:8581 ../../../AMDGPUUsage.rst:8647 -#: ../../../AMDGPUUsage.rst:8720 ../../../AMDGPUUsage.rst:10493 -#: ../../../AMDGPUUsage.rst:10496 ../../../AMDGPUUsage.rst:10519 -#: ../../../AMDGPUUsage.rst:10540 ../../../AMDGPUUsage.rst:10571 -#: ../../../AMDGPUUsage.rst:10595 ../../../AMDGPUUsage.rst:10622 -#: ../../../AMDGPUUsage.rst:10650 ../../../AMDGPUUsage.rst:10681 -#: ../../../AMDGPUUsage.rst:10683 ../../../AMDGPUUsage.rst:10688 -#: ../../../AMDGPUUsage.rst:10714 ../../../AMDGPUUsage.rst:10735 -#: ../../../AMDGPUUsage.rst:10767 ../../../AMDGPUUsage.rst:10791 -#: ../../../AMDGPUUsage.rst:10819 ../../../AMDGPUUsage.rst:10848 -#: ../../../AMDGPUUsage.rst:10880 ../../../AMDGPUUsage.rst:10882 -#: ../../../AMDGPUUsage.rst:10948 ../../../AMDGPUUsage.rst:11021 -#: ../../../AMDGPUUsage.rst:12850 ../../../AMDGPUUsage.rst:12853 -#: ../../../AMDGPUUsage.rst:12879 ../../../AMDGPUUsage.rst:12906 -#: ../../../AMDGPUUsage.rst:12941 ../../../AMDGPUUsage.rst:12969 -#: ../../../AMDGPUUsage.rst:12999 ../../../AMDGPUUsage.rst:13002 -#: ../../../AMDGPUUsage.rst:13027 ../../../AMDGPUUsage.rst:13049 -#: ../../../AMDGPUUsage.rst:13078 ../../../AMDGPUUsage.rst:13106 -#: ../../../AMDGPUUsage.rst:13137 ../../../AMDGPUUsage.rst:13139 -#: ../../../AMDGPUUsage.rst:13227 ../../../AMDGPUUsage.rst:14919 -#: ../../../AMDGPUUsage.rst:14922 ../../../AMDGPUUsage.rst:14947 -#: ../../../AMDGPUUsage.rst:14973 ../../../AMDGPUUsage.rst:15006 -#: ../../../AMDGPUUsage.rst:15033 ../../../AMDGPUUsage.rst:15062 -#: ../../../AMDGPUUsage.rst:15065 ../../../AMDGPUUsage.rst:15095 -#: ../../../AMDGPUUsage.rst:15119 ../../../AMDGPUUsage.rst:15157 -#: ../../../AMDGPUUsage.rst:15189 ../../../AMDGPUUsage.rst:15225 -#: ../../../AMDGPUUsage.rst:15227 ../../../AMDGPUUsage.rst:15311 -#: ../../../AMDGPUUsage.rst:17054 ../../../AMDGPUUsage.rst:17057 -#: ../../../AMDGPUUsage.rst:17070 ../../../AMDGPUUsage.rst:17086 -#: ../../../AMDGPUUsage.rst:17106 ../../../AMDGPUUsage.rst:17133 -#: ../../../AMDGPUUsage.rst:17162 ../../../AMDGPUUsage.rst:17169 -#: ../../../AMDGPUUsage.rst:17191 ../../../AMDGPUUsage.rst:17203 -#: ../../../AMDGPUUsage.rst:17228 ../../../AMDGPUUsage.rst:17265 -#: ../../../AMDGPUUsage.rst:17305 ../../../AMDGPUUsage.rst:17307 -#: ../../../AMDGPUUsage.rst:17372 +#: ../../../AMDGPUUsage.rst:7167 ../../../AMDGPUUsage.rst:7448 +#: ../../../AMDGPUUsage.rst:7451 ../../../AMDGPUUsage.rst:7452 +#: ../../../AMDGPUUsage.rst:7469 ../../../AMDGPUUsage.rst:7493 +#: ../../../AMDGPUUsage.rst:7519 ../../../AMDGPUUsage.rst:7522 +#: ../../../AMDGPUUsage.rst:7523 ../../../AMDGPUUsage.rst:7540 +#: ../../../AMDGPUUsage.rst:7564 ../../../AMDGPUUsage.rst:7591 +#: ../../../AMDGPUUsage.rst:7593 ../../../AMDGPUUsage.rst:7625 +#: ../../../AMDGPUUsage.rst:8726 ../../../AMDGPUUsage.rst:8729 +#: ../../../AMDGPUUsage.rst:8756 ../../../AMDGPUUsage.rst:8777 +#: ../../../AMDGPUUsage.rst:8812 ../../../AMDGPUUsage.rst:8836 +#: ../../../AMDGPUUsage.rst:8866 ../../../AMDGPUUsage.rst:8894 +#: ../../../AMDGPUUsage.rst:8929 ../../../AMDGPUUsage.rst:8931 +#: ../../../AMDGPUUsage.rst:8936 ../../../AMDGPUUsage.rst:8962 +#: ../../../AMDGPUUsage.rst:8983 ../../../AMDGPUUsage.rst:9015 +#: ../../../AMDGPUUsage.rst:9039 ../../../AMDGPUUsage.rst:9069 +#: ../../../AMDGPUUsage.rst:9098 ../../../AMDGPUUsage.rst:9134 +#: ../../../AMDGPUUsage.rst:9136 ../../../AMDGPUUsage.rst:9202 +#: ../../../AMDGPUUsage.rst:9275 ../../../AMDGPUUsage.rst:11048 +#: ../../../AMDGPUUsage.rst:11051 ../../../AMDGPUUsage.rst:11074 +#: ../../../AMDGPUUsage.rst:11095 ../../../AMDGPUUsage.rst:11126 +#: ../../../AMDGPUUsage.rst:11150 ../../../AMDGPUUsage.rst:11177 +#: ../../../AMDGPUUsage.rst:11205 ../../../AMDGPUUsage.rst:11236 +#: ../../../AMDGPUUsage.rst:11238 ../../../AMDGPUUsage.rst:11243 +#: ../../../AMDGPUUsage.rst:11269 ../../../AMDGPUUsage.rst:11290 +#: ../../../AMDGPUUsage.rst:11322 ../../../AMDGPUUsage.rst:11346 +#: ../../../AMDGPUUsage.rst:11374 ../../../AMDGPUUsage.rst:11403 +#: ../../../AMDGPUUsage.rst:11435 ../../../AMDGPUUsage.rst:11437 +#: ../../../AMDGPUUsage.rst:11503 ../../../AMDGPUUsage.rst:11576 +#: ../../../AMDGPUUsage.rst:13405 ../../../AMDGPUUsage.rst:13408 +#: ../../../AMDGPUUsage.rst:13434 ../../../AMDGPUUsage.rst:13461 +#: ../../../AMDGPUUsage.rst:13496 ../../../AMDGPUUsage.rst:13524 +#: ../../../AMDGPUUsage.rst:13554 ../../../AMDGPUUsage.rst:13557 +#: ../../../AMDGPUUsage.rst:13582 ../../../AMDGPUUsage.rst:13604 +#: ../../../AMDGPUUsage.rst:13633 ../../../AMDGPUUsage.rst:13661 +#: ../../../AMDGPUUsage.rst:13692 ../../../AMDGPUUsage.rst:13694 +#: ../../../AMDGPUUsage.rst:13782 ../../../AMDGPUUsage.rst:15474 +#: ../../../AMDGPUUsage.rst:15477 ../../../AMDGPUUsage.rst:15502 +#: ../../../AMDGPUUsage.rst:15528 ../../../AMDGPUUsage.rst:15561 +#: ../../../AMDGPUUsage.rst:15588 ../../../AMDGPUUsage.rst:15617 +#: ../../../AMDGPUUsage.rst:15620 ../../../AMDGPUUsage.rst:15650 +#: ../../../AMDGPUUsage.rst:15674 ../../../AMDGPUUsage.rst:15712 +#: ../../../AMDGPUUsage.rst:15744 ../../../AMDGPUUsage.rst:15780 +#: ../../../AMDGPUUsage.rst:15782 ../../../AMDGPUUsage.rst:15866 +#: ../../../AMDGPUUsage.rst:17620 ../../../AMDGPUUsage.rst:17623 +#: ../../../AMDGPUUsage.rst:17636 ../../../AMDGPUUsage.rst:17652 +#: ../../../AMDGPUUsage.rst:17672 ../../../AMDGPUUsage.rst:17699 +#: ../../../AMDGPUUsage.rst:17731 ../../../AMDGPUUsage.rst:17760 +#: ../../../AMDGPUUsage.rst:17794 ../../../AMDGPUUsage.rst:17801 +#: ../../../AMDGPUUsage.rst:17823 ../../../AMDGPUUsage.rst:17835 +#: ../../../AMDGPUUsage.rst:17860 ../../../AMDGPUUsage.rst:17897 +#: ../../../AMDGPUUsage.rst:17938 ../../../AMDGPUUsage.rst:17978 +#: ../../../AMDGPUUsage.rst:18023 ../../../AMDGPUUsage.rst:18025 +#: ../../../AMDGPUUsage.rst:18090 ../../../AMDGPUUsage.rst:18163 msgid "acquire" msgstr "" -#: ../../../AMDGPUUsage.rst:6643 +#: ../../../AMDGPUUsage.rst:7167 msgid "" "If a load atomic/atomicrmw then no following load/load atomic/store/store " "atomic/atomicrmw/fence instruction can be moved before the acquire." msgstr "" -#: ../../../AMDGPUUsage.rst:6646 +#: ../../../AMDGPUUsage.rst:7170 msgid "" "If a fence then same as load atomic, plus no preceding associated fence-" "paired-atomic can be moved after the fence." msgstr "" -#: ../../../AMDGPUUsage.rst:6648 ../../../AMDGPUUsage.rst:7143 -#: ../../../AMDGPUUsage.rst:7146 ../../../AMDGPUUsage.rst:7167 -#: ../../../AMDGPUUsage.rst:7168 ../../../AMDGPUUsage.rst:7210 -#: ../../../AMDGPUUsage.rst:7213 ../../../AMDGPUUsage.rst:7234 -#: ../../../AMDGPUUsage.rst:7235 ../../../AMDGPUUsage.rst:7275 -#: ../../../AMDGPUUsage.rst:7277 ../../../AMDGPUUsage.rst:7309 -#: ../../../AMDGPUUsage.rst:8800 ../../../AMDGPUUsage.rst:8802 -#: ../../../AMDGPUUsage.rst:8807 ../../../AMDGPUUsage.rst:8839 -#: ../../../AMDGPUUsage.rst:8844 ../../../AMDGPUUsage.rst:8888 -#: ../../../AMDGPUUsage.rst:8943 ../../../AMDGPUUsage.rst:8945 -#: ../../../AMDGPUUsage.rst:8950 ../../../AMDGPUUsage.rst:8983 -#: ../../../AMDGPUUsage.rst:8988 ../../../AMDGPUUsage.rst:9030 -#: ../../../AMDGPUUsage.rst:9083 ../../../AMDGPUUsage.rst:9085 -#: ../../../AMDGPUUsage.rst:9134 ../../../AMDGPUUsage.rst:9191 -#: ../../../AMDGPUUsage.rst:11096 ../../../AMDGPUUsage.rst:11099 -#: ../../../AMDGPUUsage.rst:11104 ../../../AMDGPUUsage.rst:11138 -#: ../../../AMDGPUUsage.rst:11143 ../../../AMDGPUUsage.rst:11199 -#: ../../../AMDGPUUsage.rst:11255 ../../../AMDGPUUsage.rst:11257 -#: ../../../AMDGPUUsage.rst:11262 ../../../AMDGPUUsage.rst:11295 -#: ../../../AMDGPUUsage.rst:11300 ../../../AMDGPUUsage.rst:11352 -#: ../../../AMDGPUUsage.rst:11406 ../../../AMDGPUUsage.rst:11408 -#: ../../../AMDGPUUsage.rst:11457 ../../../AMDGPUUsage.rst:11527 -#: ../../../AMDGPUUsage.rst:13318 ../../../AMDGPUUsage.rst:13321 -#: ../../../AMDGPUUsage.rst:13367 ../../../AMDGPUUsage.rst:13402 -#: ../../../AMDGPUUsage.rst:13450 ../../../AMDGPUUsage.rst:13453 -#: ../../../AMDGPUUsage.rst:13498 ../../../AMDGPUUsage.rst:13533 -#: ../../../AMDGPUUsage.rst:13578 ../../../AMDGPUUsage.rst:13580 -#: ../../../AMDGPUUsage.rst:13641 ../../../AMDGPUUsage.rst:15393 -#: ../../../AMDGPUUsage.rst:15396 ../../../AMDGPUUsage.rst:15441 -#: ../../../AMDGPUUsage.rst:15478 ../../../AMDGPUUsage.rst:15531 -#: ../../../AMDGPUUsage.rst:15534 ../../../AMDGPUUsage.rst:15583 -#: ../../../AMDGPUUsage.rst:15620 ../../../AMDGPUUsage.rst:15672 -#: ../../../AMDGPUUsage.rst:15674 ../../../AMDGPUUsage.rst:15732 -#: ../../../AMDGPUUsage.rst:17448 ../../../AMDGPUUsage.rst:17455 -#: ../../../AMDGPUUsage.rst:17503 ../../../AMDGPUUsage.rst:17536 -#: ../../../AMDGPUUsage.rst:17590 ../../../AMDGPUUsage.rst:17596 -#: ../../../AMDGPUUsage.rst:17644 ../../../AMDGPUUsage.rst:17677 -#: ../../../AMDGPUUsage.rst:17730 ../../../AMDGPUUsage.rst:17732 -#: ../../../AMDGPUUsage.rst:17786 +#: ../../../AMDGPUUsage.rst:7172 ../../../AMDGPUUsage.rst:7698 +#: ../../../AMDGPUUsage.rst:7701 ../../../AMDGPUUsage.rst:7722 +#: ../../../AMDGPUUsage.rst:7723 ../../../AMDGPUUsage.rst:7765 +#: ../../../AMDGPUUsage.rst:7768 ../../../AMDGPUUsage.rst:7789 +#: ../../../AMDGPUUsage.rst:7790 ../../../AMDGPUUsage.rst:7830 +#: ../../../AMDGPUUsage.rst:7832 ../../../AMDGPUUsage.rst:7864 +#: ../../../AMDGPUUsage.rst:9355 ../../../AMDGPUUsage.rst:9357 +#: ../../../AMDGPUUsage.rst:9362 ../../../AMDGPUUsage.rst:9394 +#: ../../../AMDGPUUsage.rst:9399 ../../../AMDGPUUsage.rst:9443 +#: ../../../AMDGPUUsage.rst:9498 ../../../AMDGPUUsage.rst:9500 +#: ../../../AMDGPUUsage.rst:9505 ../../../AMDGPUUsage.rst:9538 +#: ../../../AMDGPUUsage.rst:9543 ../../../AMDGPUUsage.rst:9585 +#: ../../../AMDGPUUsage.rst:9638 ../../../AMDGPUUsage.rst:9640 +#: ../../../AMDGPUUsage.rst:9689 ../../../AMDGPUUsage.rst:9746 +#: ../../../AMDGPUUsage.rst:11651 ../../../AMDGPUUsage.rst:11654 +#: ../../../AMDGPUUsage.rst:11659 ../../../AMDGPUUsage.rst:11693 +#: ../../../AMDGPUUsage.rst:11698 ../../../AMDGPUUsage.rst:11754 +#: ../../../AMDGPUUsage.rst:11810 ../../../AMDGPUUsage.rst:11812 +#: ../../../AMDGPUUsage.rst:11817 ../../../AMDGPUUsage.rst:11850 +#: ../../../AMDGPUUsage.rst:11855 ../../../AMDGPUUsage.rst:11907 +#: ../../../AMDGPUUsage.rst:11961 ../../../AMDGPUUsage.rst:11963 +#: ../../../AMDGPUUsage.rst:12012 ../../../AMDGPUUsage.rst:12082 +#: ../../../AMDGPUUsage.rst:13873 ../../../AMDGPUUsage.rst:13876 +#: ../../../AMDGPUUsage.rst:13922 ../../../AMDGPUUsage.rst:13957 +#: ../../../AMDGPUUsage.rst:14005 ../../../AMDGPUUsage.rst:14008 +#: ../../../AMDGPUUsage.rst:14053 ../../../AMDGPUUsage.rst:14088 +#: ../../../AMDGPUUsage.rst:14133 ../../../AMDGPUUsage.rst:14135 +#: ../../../AMDGPUUsage.rst:14196 ../../../AMDGPUUsage.rst:15948 +#: ../../../AMDGPUUsage.rst:15951 ../../../AMDGPUUsage.rst:15996 +#: ../../../AMDGPUUsage.rst:16033 ../../../AMDGPUUsage.rst:16086 +#: ../../../AMDGPUUsage.rst:16089 ../../../AMDGPUUsage.rst:16138 +#: ../../../AMDGPUUsage.rst:16175 ../../../AMDGPUUsage.rst:16227 +#: ../../../AMDGPUUsage.rst:16229 ../../../AMDGPUUsage.rst:16287 +#: ../../../AMDGPUUsage.rst:18244 ../../../AMDGPUUsage.rst:18251 +#: ../../../AMDGPUUsage.rst:18299 ../../../AMDGPUUsage.rst:18332 +#: ../../../AMDGPUUsage.rst:18416 ../../../AMDGPUUsage.rst:18422 +#: ../../../AMDGPUUsage.rst:18470 ../../../AMDGPUUsage.rst:18503 +#: ../../../AMDGPUUsage.rst:18586 ../../../AMDGPUUsage.rst:18588 +#: ../../../AMDGPUUsage.rst:18642 msgid "release" msgstr "" -#: ../../../AMDGPUUsage.rst:6648 +#: ../../../AMDGPUUsage.rst:7172 msgid "" "If a store atomic/atomicrmw then no preceding load/load atomic/store/store " "atomic/atomicrmw/fence instruction can be moved after the release." msgstr "" -#: ../../../AMDGPUUsage.rst:6651 +#: ../../../AMDGPUUsage.rst:7175 msgid "" "If a fence then same as store atomic, plus no following associated fence-" "paired-atomic can be moved before the fence." msgstr "" -#: ../../../AMDGPUUsage.rst:6654 ../../../AMDGPUUsage.rst:7366 -#: ../../../AMDGPUUsage.rst:7369 ../../../AMDGPUUsage.rst:7391 -#: ../../../AMDGPUUsage.rst:7408 ../../../AMDGPUUsage.rst:7445 -#: ../../../AMDGPUUsage.rst:7508 ../../../AMDGPUUsage.rst:7574 -#: ../../../AMDGPUUsage.rst:7576 ../../../AMDGPUUsage.rst:7645 -#: ../../../AMDGPUUsage.rst:9263 ../../../AMDGPUUsage.rst:9265 -#: ../../../AMDGPUUsage.rst:9270 ../../../AMDGPUUsage.rst:9332 -#: ../../../AMDGPUUsage.rst:9353 ../../../AMDGPUUsage.rst:9417 -#: ../../../AMDGPUUsage.rst:9482 ../../../AMDGPUUsage.rst:9563 -#: ../../../AMDGPUUsage.rst:9633 ../../../AMDGPUUsage.rst:9719 -#: ../../../AMDGPUUsage.rst:9721 ../../../AMDGPUUsage.rst:9831 -#: ../../../AMDGPUUsage.rst:9922 ../../../AMDGPUUsage.rst:11596 -#: ../../../AMDGPUUsage.rst:11598 ../../../AMDGPUUsage.rst:11603 -#: ../../../AMDGPUUsage.rst:11665 ../../../AMDGPUUsage.rst:11686 -#: ../../../AMDGPUUsage.rst:11750 ../../../AMDGPUUsage.rst:11825 -#: ../../../AMDGPUUsage.rst:11904 ../../../AMDGPUUsage.rst:11984 -#: ../../../AMDGPUUsage.rst:12067 ../../../AMDGPUUsage.rst:12069 -#: ../../../AMDGPUUsage.rst:12179 ../../../AMDGPUUsage.rst:12283 -#: ../../../AMDGPUUsage.rst:13703 ../../../AMDGPUUsage.rst:13706 -#: ../../../AMDGPUUsage.rst:13782 ../../../AMDGPUUsage.rst:13840 -#: ../../../AMDGPUUsage.rst:13911 ../../../AMDGPUUsage.rst:13983 -#: ../../../AMDGPUUsage.rst:14058 ../../../AMDGPUUsage.rst:14060 -#: ../../../AMDGPUUsage.rst:14182 ../../../AMDGPUUsage.rst:15800 -#: ../../../AMDGPUUsage.rst:15803 ../../../AMDGPUUsage.rst:15883 -#: ../../../AMDGPUUsage.rst:15944 ../../../AMDGPUUsage.rst:16023 -#: ../../../AMDGPUUsage.rst:16106 ../../../AMDGPUUsage.rst:16193 -#: ../../../AMDGPUUsage.rst:16195 ../../../AMDGPUUsage.rst:16311 -#: ../../../AMDGPUUsage.rst:17848 ../../../AMDGPUUsage.rst:17854 -#: ../../../AMDGPUUsage.rst:17923 ../../../AMDGPUUsage.rst:17967 -#: ../../../AMDGPUUsage.rst:18033 ../../../AMDGPUUsage.rst:18112 -#: ../../../AMDGPUUsage.rst:18195 ../../../AMDGPUUsage.rst:18197 -#: ../../../AMDGPUUsage.rst:18297 +#: ../../../AMDGPUUsage.rst:7178 ../../../AMDGPUUsage.rst:7921 +#: ../../../AMDGPUUsage.rst:7924 ../../../AMDGPUUsage.rst:7946 +#: ../../../AMDGPUUsage.rst:7963 ../../../AMDGPUUsage.rst:8000 +#: ../../../AMDGPUUsage.rst:8063 ../../../AMDGPUUsage.rst:8129 +#: ../../../AMDGPUUsage.rst:8131 ../../../AMDGPUUsage.rst:8200 +#: ../../../AMDGPUUsage.rst:9818 ../../../AMDGPUUsage.rst:9820 +#: ../../../AMDGPUUsage.rst:9825 ../../../AMDGPUUsage.rst:9887 +#: ../../../AMDGPUUsage.rst:9908 ../../../AMDGPUUsage.rst:9972 +#: ../../../AMDGPUUsage.rst:10037 ../../../AMDGPUUsage.rst:10118 +#: ../../../AMDGPUUsage.rst:10188 ../../../AMDGPUUsage.rst:10274 +#: ../../../AMDGPUUsage.rst:10276 ../../../AMDGPUUsage.rst:10386 +#: ../../../AMDGPUUsage.rst:10477 ../../../AMDGPUUsage.rst:12151 +#: ../../../AMDGPUUsage.rst:12153 ../../../AMDGPUUsage.rst:12158 +#: ../../../AMDGPUUsage.rst:12220 ../../../AMDGPUUsage.rst:12241 +#: ../../../AMDGPUUsage.rst:12305 ../../../AMDGPUUsage.rst:12380 +#: ../../../AMDGPUUsage.rst:12459 ../../../AMDGPUUsage.rst:12539 +#: ../../../AMDGPUUsage.rst:12622 ../../../AMDGPUUsage.rst:12624 +#: ../../../AMDGPUUsage.rst:12734 ../../../AMDGPUUsage.rst:12838 +#: ../../../AMDGPUUsage.rst:14258 ../../../AMDGPUUsage.rst:14261 +#: ../../../AMDGPUUsage.rst:14337 ../../../AMDGPUUsage.rst:14395 +#: ../../../AMDGPUUsage.rst:14466 ../../../AMDGPUUsage.rst:14538 +#: ../../../AMDGPUUsage.rst:14613 ../../../AMDGPUUsage.rst:14615 +#: ../../../AMDGPUUsage.rst:14737 ../../../AMDGPUUsage.rst:16355 +#: ../../../AMDGPUUsage.rst:16358 ../../../AMDGPUUsage.rst:16438 +#: ../../../AMDGPUUsage.rst:16499 ../../../AMDGPUUsage.rst:16578 +#: ../../../AMDGPUUsage.rst:16661 ../../../AMDGPUUsage.rst:16748 +#: ../../../AMDGPUUsage.rst:16750 ../../../AMDGPUUsage.rst:16866 +#: ../../../AMDGPUUsage.rst:18734 ../../../AMDGPUUsage.rst:18740 +#: ../../../AMDGPUUsage.rst:18809 ../../../AMDGPUUsage.rst:18853 +#: ../../../AMDGPUUsage.rst:18919 ../../../AMDGPUUsage.rst:19033 +#: ../../../AMDGPUUsage.rst:19150 ../../../AMDGPUUsage.rst:19152 +#: ../../../AMDGPUUsage.rst:19252 msgid "acq_rel" msgstr "" -#: ../../../AMDGPUUsage.rst:6654 +#: ../../../AMDGPUUsage.rst:7178 msgid "Same constraints as both acquire and release." msgstr "" -#: ../../../AMDGPUUsage.rst:6655 ../../../AMDGPUUsage.rst:7736 -#: ../../../AMDGPUUsage.rst:7741 ../../../AMDGPUUsage.rst:7807 -#: ../../../AMDGPUUsage.rst:7813 ../../../AMDGPUUsage.rst:7904 -#: ../../../AMDGPUUsage.rst:7909 ../../../AMDGPUUsage.rst:7914 -#: ../../../AMDGPUUsage.rst:10031 ../../../AMDGPUUsage.rst:10036 -#: ../../../AMDGPUUsage.rst:10121 ../../../AMDGPUUsage.rst:10131 -#: ../../../AMDGPUUsage.rst:10224 ../../../AMDGPUUsage.rst:10229 -#: ../../../AMDGPUUsage.rst:10234 ../../../AMDGPUUsage.rst:12389 -#: ../../../AMDGPUUsage.rst:12394 ../../../AMDGPUUsage.rst:12479 -#: ../../../AMDGPUUsage.rst:12489 ../../../AMDGPUUsage.rst:12582 -#: ../../../AMDGPUUsage.rst:12587 ../../../AMDGPUUsage.rst:12592 -#: ../../../AMDGPUUsage.rst:14284 ../../../AMDGPUUsage.rst:14289 -#: ../../../AMDGPUUsage.rst:14396 ../../../AMDGPUUsage.rst:14488 -#: ../../../AMDGPUUsage.rst:14595 ../../../AMDGPUUsage.rst:14600 -#: ../../../AMDGPUUsage.rst:14605 ../../../AMDGPUUsage.rst:16418 -#: ../../../AMDGPUUsage.rst:16423 ../../../AMDGPUUsage.rst:16529 -#: ../../../AMDGPUUsage.rst:16621 ../../../AMDGPUUsage.rst:16729 -#: ../../../AMDGPUUsage.rst:16734 ../../../AMDGPUUsage.rst:16739 -#: ../../../AMDGPUUsage.rst:18396 ../../../AMDGPUUsage.rst:18401 -#: ../../../AMDGPUUsage.rst:18503 ../../../AMDGPUUsage.rst:18591 -#: ../../../AMDGPUUsage.rst:18695 ../../../AMDGPUUsage.rst:18701 -#: ../../../AMDGPUUsage.rst:18707 +#: ../../../AMDGPUUsage.rst:7179 ../../../AMDGPUUsage.rst:8291 +#: ../../../AMDGPUUsage.rst:8296 ../../../AMDGPUUsage.rst:8362 +#: ../../../AMDGPUUsage.rst:8368 ../../../AMDGPUUsage.rst:8459 +#: ../../../AMDGPUUsage.rst:8464 ../../../AMDGPUUsage.rst:8469 +#: ../../../AMDGPUUsage.rst:10586 ../../../AMDGPUUsage.rst:10591 +#: ../../../AMDGPUUsage.rst:10676 ../../../AMDGPUUsage.rst:10686 +#: ../../../AMDGPUUsage.rst:10779 ../../../AMDGPUUsage.rst:10784 +#: ../../../AMDGPUUsage.rst:10789 ../../../AMDGPUUsage.rst:12944 +#: ../../../AMDGPUUsage.rst:12949 ../../../AMDGPUUsage.rst:13034 +#: ../../../AMDGPUUsage.rst:13044 ../../../AMDGPUUsage.rst:13137 +#: ../../../AMDGPUUsage.rst:13142 ../../../AMDGPUUsage.rst:13147 +#: ../../../AMDGPUUsage.rst:14839 ../../../AMDGPUUsage.rst:14844 +#: ../../../AMDGPUUsage.rst:14951 ../../../AMDGPUUsage.rst:15043 +#: ../../../AMDGPUUsage.rst:15150 ../../../AMDGPUUsage.rst:15155 +#: ../../../AMDGPUUsage.rst:15160 ../../../AMDGPUUsage.rst:16973 +#: ../../../AMDGPUUsage.rst:16978 ../../../AMDGPUUsage.rst:17084 +#: ../../../AMDGPUUsage.rst:17176 ../../../AMDGPUUsage.rst:17284 +#: ../../../AMDGPUUsage.rst:17289 ../../../AMDGPUUsage.rst:17294 +#: ../../../AMDGPUUsage.rst:19385 ../../../AMDGPUUsage.rst:19390 +#: ../../../AMDGPUUsage.rst:19492 ../../../AMDGPUUsage.rst:19580 +#: ../../../AMDGPUUsage.rst:19684 ../../../AMDGPUUsage.rst:19690 +#: ../../../AMDGPUUsage.rst:19696 msgid "seq_cst" msgstr "" -#: ../../../AMDGPUUsage.rst:6655 +#: ../../../AMDGPUUsage.rst:7179 msgid "" "If a load atomic then same constraints as acquire, plus no preceding " "sequentially consistent load atomic/store atomic/atomicrmw/fence instruction " "can be moved after the seq_cst." msgstr "" -#: ../../../AMDGPUUsage.rst:6659 +#: ../../../AMDGPUUsage.rst:7183 msgid "" "If a store atomic then the same constraints as release, plus no following " "sequentially consistent load atomic/store atomic/atomicrmw/fence instruction " "can be moved before the seq_cst." msgstr "" -#: ../../../AMDGPUUsage.rst:6663 -msgid "If an atomicrmw/fence then same constraints as acq_rel." +#: ../../../AMDGPUUsage.rst:7187 +msgid "If an atomicrmw/fence then same constraints as acq_rel." +msgstr "" + +#: ../../../AMDGPUUsage.rst:7190 +msgid "" +"The code sequences used to implement the memory model are defined in the " +"following sections:" +msgstr "" + +#: ../../../AMDGPUUsage.rst:7193 +msgid ":ref:`amdgpu-amdhsa-memory-model-gfx6-gfx9`" +msgstr "" + +#: ../../../AMDGPUUsage.rst:7194 +msgid ":ref:`amdgpu-amdhsa-memory-model-gfx90a`" +msgstr "" + +#: ../../../AMDGPUUsage.rst:7195 +msgid ":ref:`amdgpu-amdhsa-memory-model-gfx942`" +msgstr "" + +#: ../../../AMDGPUUsage.rst:7196 +msgid ":ref:`amdgpu-amdhsa-memory-model-gfx10-gfx11`" +msgstr "" + +#: ../../../AMDGPUUsage.rst:7197 +msgid ":ref:`amdgpu-amdhsa-memory-model-gfx12`" +msgstr "" + +#: ../../../AMDGPUUsage.rst:7198 +msgid ":ref:`amdgpu-amdhsa-memory-model-gfx125x`" +msgstr "" + +#: ../../../AMDGPUUsage.rst:7206 +msgid "" +"See :ref:`amdgpu-amdhsa-execution-barriers` for definitions of the " +"terminology used in this section." +msgstr "" + +#: ../../../AMDGPUUsage.rst:7209 +msgid "" +"A barrier *signal* operation ``S`` can pair with a release fence program-" +"ordered before it to form a ``barrier-signal-release`` ``BR``. The " +"synchronization scope and the set of address spaces affected are determined " +"by the release fence." msgstr "" -#: ../../../AMDGPUUsage.rst:6666 +#: ../../../AMDGPUUsage.rst:7212 msgid "" -"The code sequences used to implement the memory model are defined in the " -"following sections:" +"A barrier *wait* operation ``W`` can pair with an acquire fence program-" +"ordered after it to form a ``barrier-wait-acquire`` ``BA``. The " +"synchronization scope and the set of address spaces affected are determined " +"by the acquire fence." msgstr "" -#: ../../../AMDGPUUsage.rst:6669 -msgid ":ref:`amdgpu-amdhsa-memory-model-gfx6-gfx9`" +#: ../../../AMDGPUUsage.rst:7216 +msgid "" +"A ``BR`` *synchronizes-with* ``BA`` in an address space *AS* if and only if:" msgstr "" -#: ../../../AMDGPUUsage.rst:6670 -msgid ":ref:`amdgpu-amdhsa-memory-model-gfx90a`" +#: ../../../AMDGPUUsage.rst:7218 +msgid "``S`` *barrier-executes-before* ``W``." msgstr "" -#: ../../../AMDGPUUsage.rst:6671 -msgid ":ref:`amdgpu-amdhsa-memory-model-gfx942`" +#: ../../../AMDGPUUsage.rst:7219 +msgid "" +"*BA* and *BR*'s :ref:`synchronization scope` overlap." msgstr "" -#: ../../../AMDGPUUsage.rst:6672 -msgid ":ref:`amdgpu-amdhsa-memory-model-gfx10-gfx11`" +#: ../../../AMDGPUUsage.rst:7220 +msgid "" +"*BA* and *BR*'s :ref:`synchronization scope` allow " +"cross address space synchronization (they cannot have ``one-as``) :sup:`1`." msgstr "" -#: ../../../AMDGPUUsage.rst:6673 -msgid ":ref:`amdgpu-amdhsa-memory-model-gfx12`" +#: ../../../AMDGPUUsage.rst:7222 +msgid "*BA* and *BR*'s address spaces both include *AS*." msgstr "" -#: ../../../AMDGPUUsage.rst:6674 -msgid ":ref:`amdgpu-amdhsa-memory-model-gfx125x`" +#: ../../../AMDGPUUsage.rst:7224 +msgid "" +":sup:`1`: This is a requirement due to how current hardware implements " +"barrier operations. This limitation may be lifted in the future." msgstr "" -#: ../../../AMDGPUUsage.rst:6679 +#: ../../../AMDGPUUsage.rst:7230 msgid "Fence and Address Spaces" msgstr "" -#: ../../../AMDGPUUsage.rst:6681 +#: ../../../AMDGPUUsage.rst:7232 msgid "" "LLVM fences do not have address space information, thus, fence codegen " "usually needs to conservatively synchronize all address spaces." msgstr "" -#: ../../../AMDGPUUsage.rst:6684 +#: ../../../AMDGPUUsage.rst:7235 msgid "" "In the case of OpenCL, where fences only need to synchronize user-specified " "address spaces, this can result in extra unnecessary waits. For instance, a " @@ -13482,7 +14594,7 @@ msgid "" "wait on all global memory operations, which is unnecessary." msgstr "" -#: ../../../AMDGPUUsage.rst:6689 +#: ../../../AMDGPUUsage.rst:7240 msgid "" ":doc:`Memory Model Relaxation Annotations " "` can be used as an optimization hint for " @@ -13490,74 +14602,74 @@ msgid "" "tags on fences to control which address space a fence can synchronize:" msgstr "" -#: ../../../AMDGPUUsage.rst:6694 +#: ../../../AMDGPUUsage.rst:7245 msgid "``amdgpu-synchronize-as:local`` - for the local address space" msgstr "" -#: ../../../AMDGPUUsage.rst:6695 +#: ../../../AMDGPUUsage.rst:7246 msgid "``amdgpu-synchronize-as:global``- for the global address space" msgstr "" -#: ../../../AMDGPUUsage.rst:6697 +#: ../../../AMDGPUUsage.rst:7248 msgid "" "Multiple tags can be used at the same time to synchronize with more than one " "address space." msgstr "" -#: ../../../AMDGPUUsage.rst:6701 +#: ../../../AMDGPUUsage.rst:7252 msgid "" "As an optimization hint, those tags are not guaranteed to survive until code " "generation. Optimizations are free to drop the tags to allow for better code " "optimization, at the cost of synchronizing additional address spaces." msgstr "" -#: ../../../AMDGPUUsage.rst:6709 +#: ../../../AMDGPUUsage.rst:7260 msgid "Memory Model GFX6-GFX9" msgstr "" -#: ../../../AMDGPUUsage.rst:6711 +#: ../../../AMDGPUUsage.rst:7262 msgid "For GFX6-GFX9:" msgstr "" -#: ../../../AMDGPUUsage.rst:6713 ../../../AMDGPUUsage.rst:7928 -#: ../../../AMDGPUUsage.rst:10248 ../../../AMDGPUUsage.rst:12606 -#: ../../../AMDGPUUsage.rst:14620 +#: ../../../AMDGPUUsage.rst:7264 ../../../AMDGPUUsage.rst:8483 +#: ../../../AMDGPUUsage.rst:10803 ../../../AMDGPUUsage.rst:13161 +#: ../../../AMDGPUUsage.rst:15175 msgid "Each agent has multiple shader arrays (SA)." msgstr "" -#: ../../../AMDGPUUsage.rst:6714 ../../../AMDGPUUsage.rst:7929 -#: ../../../AMDGPUUsage.rst:10249 +#: ../../../AMDGPUUsage.rst:7265 ../../../AMDGPUUsage.rst:8484 +#: ../../../AMDGPUUsage.rst:10804 msgid "Each SA has multiple compute units (CU)." msgstr "" -#: ../../../AMDGPUUsage.rst:6715 ../../../AMDGPUUsage.rst:7930 -#: ../../../AMDGPUUsage.rst:10250 ../../../AMDGPUUsage.rst:12609 -#: ../../../AMDGPUUsage.rst:14623 +#: ../../../AMDGPUUsage.rst:7266 ../../../AMDGPUUsage.rst:8485 +#: ../../../AMDGPUUsage.rst:10805 ../../../AMDGPUUsage.rst:13164 +#: ../../../AMDGPUUsage.rst:15178 msgid "Each CU has multiple SIMDs that execute wavefronts." msgstr "" -#: ../../../AMDGPUUsage.rst:6716 +#: ../../../AMDGPUUsage.rst:7267 msgid "" "The wavefronts for a single work-group are executed in the same CU but may " "be executed by different SIMDs." msgstr "" -#: ../../../AMDGPUUsage.rst:6718 +#: ../../../AMDGPUUsage.rst:7269 msgid "" "Each CU has a single LDS memory shared by the wavefronts of the work-groups " "executing on it." msgstr "" -#: ../../../AMDGPUUsage.rst:6720 ../../../AMDGPUUsage.rst:7937 -#: ../../../AMDGPUUsage.rst:10257 +#: ../../../AMDGPUUsage.rst:7271 ../../../AMDGPUUsage.rst:8492 +#: ../../../AMDGPUUsage.rst:10812 msgid "" "All LDS operations of a CU are performed as wavefront wide operations in a " "global order and involve no caching. Completion is reported to a wavefront " "in execution order." msgstr "" -#: ../../../AMDGPUUsage.rst:6723 ../../../AMDGPUUsage.rst:7940 -#: ../../../AMDGPUUsage.rst:10260 +#: ../../../AMDGPUUsage.rst:7274 ../../../AMDGPUUsage.rst:8495 +#: ../../../AMDGPUUsage.rst:10815 msgid "" "The LDS memory has multiple request queues shared by the SIMDs of a CU. " "Therefore, the LDS operations performed by different wavefronts of a work-" @@ -13569,7 +14681,7 @@ msgid "" "between operations performed by the same wavefront." msgstr "" -#: ../../../AMDGPUUsage.rst:6731 +#: ../../../AMDGPUUsage.rst:7282 msgid "" "The vector memory operations are performed as wavefront wide operations and " "completion is reported to a wavefront in execution order. The exception is " @@ -13578,7 +14690,7 @@ msgid "" "order if they access global memory." msgstr "" -#: ../../../AMDGPUUsage.rst:6736 +#: ../../../AMDGPUUsage.rst:7287 msgid "" "The vector memory operations access a single vector L1 cache shared by all " "SIMDs a CU. Therefore, no special action is required for coherence between " @@ -13588,8 +14700,8 @@ msgid "" "different CUs." msgstr "" -#: ../../../AMDGPUUsage.rst:6742 ../../../AMDGPUUsage.rst:7969 -#: ../../../AMDGPUUsage.rst:10294 +#: ../../../AMDGPUUsage.rst:7293 ../../../AMDGPUUsage.rst:8524 +#: ../../../AMDGPUUsage.rst:10849 msgid "" "The scalar memory operations access a scalar L1 cache shared by all " "wavefronts on a group of CUs. The scalar and vector L1 caches are not " @@ -13597,21 +14709,21 @@ msgid "" "impact the memory model. See :ref:`amdgpu-amdhsa-memory-spaces`." msgstr "" -#: ../../../AMDGPUUsage.rst:6746 ../../../AMDGPUUsage.rst:7973 +#: ../../../AMDGPUUsage.rst:7297 ../../../AMDGPUUsage.rst:8528 msgid "" "The vector and scalar memory operations use an L2 cache shared by all CUs on " "the same agent." msgstr "" -#: ../../../AMDGPUUsage.rst:6748 ../../../AMDGPUUsage.rst:7976 -#: ../../../AMDGPUUsage.rst:10304 ../../../AMDGPUUsage.rst:12661 -#: ../../../AMDGPUUsage.rst:14724 +#: ../../../AMDGPUUsage.rst:7299 ../../../AMDGPUUsage.rst:8531 +#: ../../../AMDGPUUsage.rst:10859 ../../../AMDGPUUsage.rst:13216 +#: ../../../AMDGPUUsage.rst:15279 msgid "" "The L2 cache has independent channels to service disjoint ranges of virtual " "addresses." msgstr "" -#: ../../../AMDGPUUsage.rst:6750 +#: ../../../AMDGPUUsage.rst:7301 msgid "" "Each CU has a separate request queue per channel. Therefore, the vector and " "scalar memory operations performed by wavefronts executing in different work-" @@ -13623,16 +14735,16 @@ msgid "" "requirements of acquire and release." msgstr "" -#: ../../../AMDGPUUsage.rst:6758 ../../../AMDGPUUsage.rst:12672 +#: ../../../AMDGPUUsage.rst:7309 ../../../AMDGPUUsage.rst:13227 msgid "" "The L2 cache can be kept coherent with other agents on some targets, or " "ranges of virtual addresses can be set up to bypass it to ensure system " "coherence." msgstr "" -#: ../../../AMDGPUUsage.rst:6761 ../../../AMDGPUUsage.rst:8021 -#: ../../../AMDGPUUsage.rst:10342 ../../../AMDGPUUsage.rst:12678 -#: ../../../AMDGPUUsage.rst:14747 ../../../AMDGPUUsage.rst:16897 +#: ../../../AMDGPUUsage.rst:7312 ../../../AMDGPUUsage.rst:8576 +#: ../../../AMDGPUUsage.rst:10897 ../../../AMDGPUUsage.rst:13233 +#: ../../../AMDGPUUsage.rst:15302 ../../../AMDGPUUsage.rst:17463 msgid "" "Scalar memory operations are only used to access memory that is proven to " "not change during the execution of the kernel dispatch. This includes " @@ -13644,8 +14756,8 @@ msgid "" "`amdgpu-amdhsa-memory-spaces`." msgstr "" -#: ../../../AMDGPUUsage.rst:6770 ../../../AMDGPUUsage.rst:8030 -#: ../../../AMDGPUUsage.rst:10351 ../../../AMDGPUUsage.rst:12687 +#: ../../../AMDGPUUsage.rst:7321 ../../../AMDGPUUsage.rst:8585 +#: ../../../AMDGPUUsage.rst:10906 ../../../AMDGPUUsage.rst:13242 msgid "" "The one exception is if scalar writes are used to spill SGPR registers. In " "this case the AMDGPU backend ensures the memory location used to spill is " @@ -13658,18 +14770,18 @@ msgid "" "before-read in the same thread." msgstr "" -#: ../../../AMDGPUUsage.rst:6779 ../../../AMDGPUUsage.rst:8039 -#: ../../../AMDGPUUsage.rst:10360 ../../../AMDGPUUsage.rst:12696 -#: ../../../AMDGPUUsage.rst:14756 +#: ../../../AMDGPUUsage.rst:7330 ../../../AMDGPUUsage.rst:8594 +#: ../../../AMDGPUUsage.rst:10915 ../../../AMDGPUUsage.rst:13251 +#: ../../../AMDGPUUsage.rst:15311 msgid "For kernarg backing memory:" msgstr "" -#: ../../../AMDGPUUsage.rst:6781 ../../../AMDGPUUsage.rst:8041 -#: ../../../AMDGPUUsage.rst:10362 +#: ../../../AMDGPUUsage.rst:7332 ../../../AMDGPUUsage.rst:8596 +#: ../../../AMDGPUUsage.rst:10917 msgid "CP invalidates the L1 cache at the start of each kernel dispatch." msgstr "" -#: ../../../AMDGPUUsage.rst:6782 +#: ../../../AMDGPUUsage.rst:7333 msgid "" "On dGPU the kernarg backing memory is allocated in host memory accessed as " "MTYPE UC (uncached) to avoid needing to invalidate the L2 cache. This also " @@ -13677,14 +14789,14 @@ msgid "" "``*_vol``." msgstr "" -#: ../../../AMDGPUUsage.rst:6786 +#: ../../../AMDGPUUsage.rst:7337 msgid "" "On APU the kernarg backing memory it is accessed as MTYPE CC (cache " "coherent) and so the L2 cache will be coherent with the CPU and other agents." msgstr "" -#: ../../../AMDGPUUsage.rst:6789 ../../../AMDGPUUsage.rst:8049 -#: ../../../AMDGPUUsage.rst:10370 +#: ../../../AMDGPUUsage.rst:7340 ../../../AMDGPUUsage.rst:8604 +#: ../../../AMDGPUUsage.rst:10925 msgid "" "Scratch backing memory (which is used for the private address space) is " "accessed with MTYPE NC_NV (non-coherent non-volatile). Since the private " @@ -13694,1596 +14806,1616 @@ msgid "" "the volatile cache lines." msgstr "" -#: ../../../AMDGPUUsage.rst:6795 +#: ../../../AMDGPUUsage.rst:7346 +msgid "" +"A wave waiting on a ``s_barrier`` is unable to handle traps or exceptions, " +"thus a ``s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)`` is required before " +"entering the barrier so that no memory exception can occur during the " +"barrier." +msgstr "" + +#: ../../../AMDGPUUsage.rst:7350 msgid "" "The code sequences used to implement the memory model for GFX6-GFX9 are " "defined in table :ref:`amdgpu-amdhsa-memory-model-code-sequences-gfx6-gfx9-" "table`." msgstr "" -#: ../../../AMDGPUUsage.rst:6798 +#: ../../../AMDGPUUsage.rst:7353 msgid "AMDHSA Memory Model Code Sequences GFX6-GFX9" msgstr "" -#: ../../../AMDGPUUsage.rst:6802 ../../../AMDGPUUsage.rst:8062 -#: ../../../AMDGPUUsage.rst:10383 ../../../AMDGPUUsage.rst:12739 -#: ../../../AMDGPUUsage.rst:14822 ../../../AMDGPUUsage.rst:16948 +#: ../../../AMDGPUUsage.rst:7357 ../../../AMDGPUUsage.rst:8617 +#: ../../../AMDGPUUsage.rst:10938 ../../../AMDGPUUsage.rst:13294 +#: ../../../AMDGPUUsage.rst:15377 ../../../AMDGPUUsage.rst:17514 msgid "LLVM Instr" msgstr "" -#: ../../../AMDGPUUsage.rst:6802 ../../../AMDGPUUsage.rst:8062 -#: ../../../AMDGPUUsage.rst:10383 ../../../AMDGPUUsage.rst:12739 -#: ../../../AMDGPUUsage.rst:14822 ../../../AMDGPUUsage.rst:16948 +#: ../../../AMDGPUUsage.rst:7357 ../../../AMDGPUUsage.rst:8617 +#: ../../../AMDGPUUsage.rst:10938 ../../../AMDGPUUsage.rst:13294 +#: ../../../AMDGPUUsage.rst:15377 ../../../AMDGPUUsage.rst:17514 msgid "LLVM Memory Ordering" msgstr "" -#: ../../../AMDGPUUsage.rst:6802 ../../../AMDGPUUsage.rst:8062 -#: ../../../AMDGPUUsage.rst:10383 ../../../AMDGPUUsage.rst:12739 -#: ../../../AMDGPUUsage.rst:14822 ../../../AMDGPUUsage.rst:16948 +#: ../../../AMDGPUUsage.rst:7357 ../../../AMDGPUUsage.rst:8617 +#: ../../../AMDGPUUsage.rst:10938 ../../../AMDGPUUsage.rst:13294 +#: ../../../AMDGPUUsage.rst:15377 ../../../AMDGPUUsage.rst:17514 msgid "LLVM Memory Sync Scope" msgstr "" -#: ../../../AMDGPUUsage.rst:6802 ../../../AMDGPUUsage.rst:8062 -#: ../../../AMDGPUUsage.rst:10383 ../../../AMDGPUUsage.rst:12739 -#: ../../../AMDGPUUsage.rst:14822 ../../../AMDGPUUsage.rst:16948 +#: ../../../AMDGPUUsage.rst:7357 ../../../AMDGPUUsage.rst:8617 +#: ../../../AMDGPUUsage.rst:10938 ../../../AMDGPUUsage.rst:13294 +#: ../../../AMDGPUUsage.rst:15377 ../../../AMDGPUUsage.rst:17514 msgid "AMDGPU Address Space" msgstr "" -#: ../../../AMDGPUUsage.rst:6802 +#: ../../../AMDGPUUsage.rst:7357 msgid "AMDGPU Machine Code GFX6-GFX9" msgstr "" -#: ../../../AMDGPUUsage.rst:6806 ../../../AMDGPUUsage.rst:8066 -#: ../../../AMDGPUUsage.rst:10387 ../../../AMDGPUUsage.rst:12743 -#: ../../../AMDGPUUsage.rst:14826 ../../../AMDGPUUsage.rst:16952 +#: ../../../AMDGPUUsage.rst:7361 ../../../AMDGPUUsage.rst:8621 +#: ../../../AMDGPUUsage.rst:10942 ../../../AMDGPUUsage.rst:13298 +#: ../../../AMDGPUUsage.rst:15381 ../../../AMDGPUUsage.rst:17518 msgid "**Non-Atomic**" msgstr "" -#: ../../../AMDGPUUsage.rst:6808 ../../../AMDGPUUsage.rst:6835 -#: ../../../AMDGPUUsage.rst:8068 ../../../AMDGPUUsage.rst:8095 -#: ../../../AMDGPUUsage.rst:10389 ../../../AMDGPUUsage.rst:10416 -#: ../../../AMDGPUUsage.rst:12745 ../../../AMDGPUUsage.rst:12775 -#: ../../../AMDGPUUsage.rst:14828 ../../../AMDGPUUsage.rst:14856 -#: ../../../AMDGPUUsage.rst:16954 ../../../AMDGPUUsage.rst:16982 +#: ../../../AMDGPUUsage.rst:7363 ../../../AMDGPUUsage.rst:7390 +#: ../../../AMDGPUUsage.rst:8623 ../../../AMDGPUUsage.rst:8650 +#: ../../../AMDGPUUsage.rst:10944 ../../../AMDGPUUsage.rst:10971 +#: ../../../AMDGPUUsage.rst:13300 ../../../AMDGPUUsage.rst:13330 +#: ../../../AMDGPUUsage.rst:15383 ../../../AMDGPUUsage.rst:15411 +#: ../../../AMDGPUUsage.rst:17520 ../../../AMDGPUUsage.rst:17548 msgid "load" msgstr "" -#: ../../../AMDGPUUsage.rst:6809 ../../../AMDGPUUsage.rst:6837 -#: ../../../AMDGPUUsage.rst:6872 ../../../AMDGPUUsage.rst:6874 -#: ../../../AMDGPUUsage.rst:6876 ../../../AMDGPUUsage.rst:6884 -#: ../../../AMDGPUUsage.rst:6895 ../../../AMDGPUUsage.rst:6898 -#: ../../../AMDGPUUsage.rst:6938 ../../../AMDGPUUsage.rst:6966 -#: ../../../AMDGPUUsage.rst:6969 ../../../AMDGPUUsage.rst:7009 -#: ../../../AMDGPUUsage.rst:7145 ../../../AMDGPUUsage.rst:7147 -#: ../../../AMDGPUUsage.rst:7169 ../../../AMDGPUUsage.rst:7212 -#: ../../../AMDGPUUsage.rst:7214 ../../../AMDGPUUsage.rst:7236 -#: ../../../AMDGPUUsage.rst:7368 ../../../AMDGPUUsage.rst:7408 -#: ../../../AMDGPUUsage.rst:7508 ../../../AMDGPUUsage.rst:7738 -#: ../../../AMDGPUUsage.rst:7742 ../../../AMDGPUUsage.rst:7814 -#: ../../../AMDGPUUsage.rst:7906 ../../../AMDGPUUsage.rst:7911 -#: ../../../AMDGPUUsage.rst:8069 ../../../AMDGPUUsage.rst:8097 -#: ../../../AMDGPUUsage.rst:8131 ../../../AMDGPUUsage.rst:8133 -#: ../../../AMDGPUUsage.rst:8144 ../../../AMDGPUUsage.rst:8146 -#: ../../../AMDGPUUsage.rst:8148 ../../../AMDGPUUsage.rst:8152 -#: ../../../AMDGPUUsage.rst:8159 ../../../AMDGPUUsage.rst:8163 -#: ../../../AMDGPUUsage.rst:8173 ../../../AMDGPUUsage.rst:8222 -#: ../../../AMDGPUUsage.rst:8311 ../../../AMDGPUUsage.rst:8339 -#: ../../../AMDGPUUsage.rst:8375 ../../../AMDGPUUsage.rst:8428 -#: ../../../AMDGPUUsage.rst:8514 ../../../AMDGPUUsage.rst:8543 -#: ../../../AMDGPUUsage.rst:8801 ../../../AMDGPUUsage.rst:8808 -#: ../../../AMDGPUUsage.rst:8845 ../../../AMDGPUUsage.rst:8889 -#: ../../../AMDGPUUsage.rst:8944 ../../../AMDGPUUsage.rst:8951 -#: ../../../AMDGPUUsage.rst:8989 ../../../AMDGPUUsage.rst:9031 -#: ../../../AMDGPUUsage.rst:9264 ../../../AMDGPUUsage.rst:9353 -#: ../../../AMDGPUUsage.rst:9563 ../../../AMDGPUUsage.rst:9633 -#: ../../../AMDGPUUsage.rst:10033 ../../../AMDGPUUsage.rst:10037 -#: ../../../AMDGPUUsage.rst:10132 ../../../AMDGPUUsage.rst:10226 -#: ../../../AMDGPUUsage.rst:10231 ../../../AMDGPUUsage.rst:10390 -#: ../../../AMDGPUUsage.rst:10418 ../../../AMDGPUUsage.rst:10455 -#: ../../../AMDGPUUsage.rst:10457 ../../../AMDGPUUsage.rst:10464 -#: ../../../AMDGPUUsage.rst:10466 ../../../AMDGPUUsage.rst:10468 -#: ../../../AMDGPUUsage.rst:10470 ../../../AMDGPUUsage.rst:10472 -#: ../../../AMDGPUUsage.rst:10474 ../../../AMDGPUUsage.rst:10481 -#: ../../../AMDGPUUsage.rst:10485 ../../../AMDGPUUsage.rst:10495 -#: ../../../AMDGPUUsage.rst:10540 ../../../AMDGPUUsage.rst:10622 -#: ../../../AMDGPUUsage.rst:10650 ../../../AMDGPUUsage.rst:10682 -#: ../../../AMDGPUUsage.rst:10735 ../../../AMDGPUUsage.rst:10819 -#: ../../../AMDGPUUsage.rst:10848 ../../../AMDGPUUsage.rst:11097 -#: ../../../AMDGPUUsage.rst:11105 ../../../AMDGPUUsage.rst:11144 -#: ../../../AMDGPUUsage.rst:11200 ../../../AMDGPUUsage.rst:11256 -#: ../../../AMDGPUUsage.rst:11263 ../../../AMDGPUUsage.rst:11301 -#: ../../../AMDGPUUsage.rst:11353 ../../../AMDGPUUsage.rst:11597 -#: ../../../AMDGPUUsage.rst:11686 ../../../AMDGPUUsage.rst:11904 -#: ../../../AMDGPUUsage.rst:11984 ../../../AMDGPUUsage.rst:12391 -#: ../../../AMDGPUUsage.rst:12395 ../../../AMDGPUUsage.rst:12490 -#: ../../../AMDGPUUsage.rst:12584 ../../../AMDGPUUsage.rst:12589 -#: ../../../AMDGPUUsage.rst:12746 ../../../AMDGPUUsage.rst:12777 -#: ../../../AMDGPUUsage.rst:12817 ../../../AMDGPUUsage.rst:12819 -#: ../../../AMDGPUUsage.rst:12828 ../../../AMDGPUUsage.rst:12833 -#: ../../../AMDGPUUsage.rst:12841 ../../../AMDGPUUsage.rst:12852 -#: ../../../AMDGPUUsage.rst:12906 ../../../AMDGPUUsage.rst:12969 -#: ../../../AMDGPUUsage.rst:13001 ../../../AMDGPUUsage.rst:13049 -#: ../../../AMDGPUUsage.rst:13106 ../../../AMDGPUUsage.rst:13320 -#: ../../../AMDGPUUsage.rst:13322 ../../../AMDGPUUsage.rst:13403 -#: ../../../AMDGPUUsage.rst:13452 ../../../AMDGPUUsage.rst:13454 -#: ../../../AMDGPUUsage.rst:13534 ../../../AMDGPUUsage.rst:13705 -#: ../../../AMDGPUUsage.rst:13840 ../../../AMDGPUUsage.rst:13983 -#: ../../../AMDGPUUsage.rst:14286 ../../../AMDGPUUsage.rst:14290 -#: ../../../AMDGPUUsage.rst:14489 ../../../AMDGPUUsage.rst:14597 -#: ../../../AMDGPUUsage.rst:14602 ../../../AMDGPUUsage.rst:14829 -#: ../../../AMDGPUUsage.rst:14858 ../../../AMDGPUUsage.rst:14894 -#: ../../../AMDGPUUsage.rst:14902 ../../../AMDGPUUsage.rst:14910 -#: ../../../AMDGPUUsage.rst:14921 ../../../AMDGPUUsage.rst:14973 -#: ../../../AMDGPUUsage.rst:15033 ../../../AMDGPUUsage.rst:15064 -#: ../../../AMDGPUUsage.rst:15119 ../../../AMDGPUUsage.rst:15189 -#: ../../../AMDGPUUsage.rst:15395 ../../../AMDGPUUsage.rst:15479 -#: ../../../AMDGPUUsage.rst:15533 ../../../AMDGPUUsage.rst:15535 -#: ../../../AMDGPUUsage.rst:15621 ../../../AMDGPUUsage.rst:15802 -#: ../../../AMDGPUUsage.rst:15944 ../../../AMDGPUUsage.rst:16106 -#: ../../../AMDGPUUsage.rst:16420 ../../../AMDGPUUsage.rst:16424 -#: ../../../AMDGPUUsage.rst:16622 ../../../AMDGPUUsage.rst:16731 -#: ../../../AMDGPUUsage.rst:16736 ../../../AMDGPUUsage.rst:16955 -#: ../../../AMDGPUUsage.rst:16984 ../../../AMDGPUUsage.rst:17020 -#: ../../../AMDGPUUsage.rst:17029 ../../../AMDGPUUsage.rst:17041 -#: ../../../AMDGPUUsage.rst:17056 ../../../AMDGPUUsage.rst:17086 -#: ../../../AMDGPUUsage.rst:17133 ../../../AMDGPUUsage.rst:17164 -#: ../../../AMDGPUUsage.rst:17203 ../../../AMDGPUUsage.rst:17265 -#: ../../../AMDGPUUsage.rst:17450 ../../../AMDGPUUsage.rst:17456 -#: ../../../AMDGPUUsage.rst:17537 ../../../AMDGPUUsage.rst:17592 -#: ../../../AMDGPUUsage.rst:17597 ../../../AMDGPUUsage.rst:17678 -#: ../../../AMDGPUUsage.rst:17850 ../../../AMDGPUUsage.rst:17967 -#: ../../../AMDGPUUsage.rst:18112 ../../../AMDGPUUsage.rst:18398 -#: ../../../AMDGPUUsage.rst:18402 ../../../AMDGPUUsage.rst:18592 -#: ../../../AMDGPUUsage.rst:18697 ../../../AMDGPUUsage.rst:18703 +#: ../../../AMDGPUUsage.rst:7364 ../../../AMDGPUUsage.rst:7392 +#: ../../../AMDGPUUsage.rst:7427 ../../../AMDGPUUsage.rst:7429 +#: ../../../AMDGPUUsage.rst:7431 ../../../AMDGPUUsage.rst:7439 +#: ../../../AMDGPUUsage.rst:7450 ../../../AMDGPUUsage.rst:7453 +#: ../../../AMDGPUUsage.rst:7493 ../../../AMDGPUUsage.rst:7521 +#: ../../../AMDGPUUsage.rst:7524 ../../../AMDGPUUsage.rst:7564 +#: ../../../AMDGPUUsage.rst:7700 ../../../AMDGPUUsage.rst:7702 +#: ../../../AMDGPUUsage.rst:7724 ../../../AMDGPUUsage.rst:7767 +#: ../../../AMDGPUUsage.rst:7769 ../../../AMDGPUUsage.rst:7791 +#: ../../../AMDGPUUsage.rst:7923 ../../../AMDGPUUsage.rst:7963 +#: ../../../AMDGPUUsage.rst:8063 ../../../AMDGPUUsage.rst:8293 +#: ../../../AMDGPUUsage.rst:8297 ../../../AMDGPUUsage.rst:8369 +#: ../../../AMDGPUUsage.rst:8461 ../../../AMDGPUUsage.rst:8466 +#: ../../../AMDGPUUsage.rst:8624 ../../../AMDGPUUsage.rst:8652 +#: ../../../AMDGPUUsage.rst:8686 ../../../AMDGPUUsage.rst:8688 +#: ../../../AMDGPUUsage.rst:8699 ../../../AMDGPUUsage.rst:8701 +#: ../../../AMDGPUUsage.rst:8703 ../../../AMDGPUUsage.rst:8707 +#: ../../../AMDGPUUsage.rst:8714 ../../../AMDGPUUsage.rst:8718 +#: ../../../AMDGPUUsage.rst:8728 ../../../AMDGPUUsage.rst:8777 +#: ../../../AMDGPUUsage.rst:8866 ../../../AMDGPUUsage.rst:8894 +#: ../../../AMDGPUUsage.rst:8930 ../../../AMDGPUUsage.rst:8983 +#: ../../../AMDGPUUsage.rst:9069 ../../../AMDGPUUsage.rst:9098 +#: ../../../AMDGPUUsage.rst:9356 ../../../AMDGPUUsage.rst:9363 +#: ../../../AMDGPUUsage.rst:9400 ../../../AMDGPUUsage.rst:9444 +#: ../../../AMDGPUUsage.rst:9499 ../../../AMDGPUUsage.rst:9506 +#: ../../../AMDGPUUsage.rst:9544 ../../../AMDGPUUsage.rst:9586 +#: ../../../AMDGPUUsage.rst:9819 ../../../AMDGPUUsage.rst:9908 +#: ../../../AMDGPUUsage.rst:10118 ../../../AMDGPUUsage.rst:10188 +#: ../../../AMDGPUUsage.rst:10588 ../../../AMDGPUUsage.rst:10592 +#: ../../../AMDGPUUsage.rst:10687 ../../../AMDGPUUsage.rst:10781 +#: ../../../AMDGPUUsage.rst:10786 ../../../AMDGPUUsage.rst:10945 +#: ../../../AMDGPUUsage.rst:10973 ../../../AMDGPUUsage.rst:11010 +#: ../../../AMDGPUUsage.rst:11012 ../../../AMDGPUUsage.rst:11019 +#: ../../../AMDGPUUsage.rst:11021 ../../../AMDGPUUsage.rst:11023 +#: ../../../AMDGPUUsage.rst:11025 ../../../AMDGPUUsage.rst:11027 +#: ../../../AMDGPUUsage.rst:11029 ../../../AMDGPUUsage.rst:11036 +#: ../../../AMDGPUUsage.rst:11040 ../../../AMDGPUUsage.rst:11050 +#: ../../../AMDGPUUsage.rst:11095 ../../../AMDGPUUsage.rst:11177 +#: ../../../AMDGPUUsage.rst:11205 ../../../AMDGPUUsage.rst:11237 +#: ../../../AMDGPUUsage.rst:11290 ../../../AMDGPUUsage.rst:11374 +#: ../../../AMDGPUUsage.rst:11403 ../../../AMDGPUUsage.rst:11652 +#: ../../../AMDGPUUsage.rst:11660 ../../../AMDGPUUsage.rst:11699 +#: ../../../AMDGPUUsage.rst:11755 ../../../AMDGPUUsage.rst:11811 +#: ../../../AMDGPUUsage.rst:11818 ../../../AMDGPUUsage.rst:11856 +#: ../../../AMDGPUUsage.rst:11908 ../../../AMDGPUUsage.rst:12152 +#: ../../../AMDGPUUsage.rst:12241 ../../../AMDGPUUsage.rst:12459 +#: ../../../AMDGPUUsage.rst:12539 ../../../AMDGPUUsage.rst:12946 +#: ../../../AMDGPUUsage.rst:12950 ../../../AMDGPUUsage.rst:13045 +#: ../../../AMDGPUUsage.rst:13139 ../../../AMDGPUUsage.rst:13144 +#: ../../../AMDGPUUsage.rst:13301 ../../../AMDGPUUsage.rst:13332 +#: ../../../AMDGPUUsage.rst:13372 ../../../AMDGPUUsage.rst:13374 +#: ../../../AMDGPUUsage.rst:13383 ../../../AMDGPUUsage.rst:13388 +#: ../../../AMDGPUUsage.rst:13396 ../../../AMDGPUUsage.rst:13407 +#: ../../../AMDGPUUsage.rst:13461 ../../../AMDGPUUsage.rst:13524 +#: ../../../AMDGPUUsage.rst:13556 ../../../AMDGPUUsage.rst:13604 +#: ../../../AMDGPUUsage.rst:13661 ../../../AMDGPUUsage.rst:13875 +#: ../../../AMDGPUUsage.rst:13877 ../../../AMDGPUUsage.rst:13958 +#: ../../../AMDGPUUsage.rst:14007 ../../../AMDGPUUsage.rst:14009 +#: ../../../AMDGPUUsage.rst:14089 ../../../AMDGPUUsage.rst:14260 +#: ../../../AMDGPUUsage.rst:14395 ../../../AMDGPUUsage.rst:14538 +#: ../../../AMDGPUUsage.rst:14841 ../../../AMDGPUUsage.rst:14845 +#: ../../../AMDGPUUsage.rst:15044 ../../../AMDGPUUsage.rst:15152 +#: ../../../AMDGPUUsage.rst:15157 ../../../AMDGPUUsage.rst:15384 +#: ../../../AMDGPUUsage.rst:15413 ../../../AMDGPUUsage.rst:15449 +#: ../../../AMDGPUUsage.rst:15457 ../../../AMDGPUUsage.rst:15465 +#: ../../../AMDGPUUsage.rst:15476 ../../../AMDGPUUsage.rst:15528 +#: ../../../AMDGPUUsage.rst:15588 ../../../AMDGPUUsage.rst:15619 +#: ../../../AMDGPUUsage.rst:15674 ../../../AMDGPUUsage.rst:15744 +#: ../../../AMDGPUUsage.rst:15950 ../../../AMDGPUUsage.rst:15952 +#: ../../../AMDGPUUsage.rst:16034 ../../../AMDGPUUsage.rst:16088 +#: ../../../AMDGPUUsage.rst:16090 ../../../AMDGPUUsage.rst:16176 +#: ../../../AMDGPUUsage.rst:16357 ../../../AMDGPUUsage.rst:16499 +#: ../../../AMDGPUUsage.rst:16661 ../../../AMDGPUUsage.rst:16975 +#: ../../../AMDGPUUsage.rst:16979 ../../../AMDGPUUsage.rst:17177 +#: ../../../AMDGPUUsage.rst:17286 ../../../AMDGPUUsage.rst:17291 +#: ../../../AMDGPUUsage.rst:17521 ../../../AMDGPUUsage.rst:17550 +#: ../../../AMDGPUUsage.rst:17586 ../../../AMDGPUUsage.rst:17595 +#: ../../../AMDGPUUsage.rst:17607 ../../../AMDGPUUsage.rst:17622 +#: ../../../AMDGPUUsage.rst:17652 ../../../AMDGPUUsage.rst:17731 +#: ../../../AMDGPUUsage.rst:17760 ../../../AMDGPUUsage.rst:17796 +#: ../../../AMDGPUUsage.rst:17835 ../../../AMDGPUUsage.rst:17938 +#: ../../../AMDGPUUsage.rst:17978 ../../../AMDGPUUsage.rst:18246 +#: ../../../AMDGPUUsage.rst:18252 ../../../AMDGPUUsage.rst:18333 +#: ../../../AMDGPUUsage.rst:18418 ../../../AMDGPUUsage.rst:18423 +#: ../../../AMDGPUUsage.rst:18504 ../../../AMDGPUUsage.rst:18736 +#: ../../../AMDGPUUsage.rst:18853 ../../../AMDGPUUsage.rst:19033 +#: ../../../AMDGPUUsage.rst:19387 ../../../AMDGPUUsage.rst:19391 +#: ../../../AMDGPUUsage.rst:19581 ../../../AMDGPUUsage.rst:19686 +#: ../../../AMDGPUUsage.rst:19692 msgid "generic" msgstr "" -#: ../../../AMDGPUUsage.rst:6808 ../../../AMDGPUUsage.rst:6836 -#: ../../../AMDGPUUsage.rst:8068 ../../../AMDGPUUsage.rst:8096 -#: ../../../AMDGPUUsage.rst:10389 ../../../AMDGPUUsage.rst:10417 -#: ../../../AMDGPUUsage.rst:12745 ../../../AMDGPUUsage.rst:12776 -#: ../../../AMDGPUUsage.rst:14828 ../../../AMDGPUUsage.rst:14857 -#: ../../../AMDGPUUsage.rst:16954 ../../../AMDGPUUsage.rst:16983 +#: ../../../AMDGPUUsage.rst:7363 ../../../AMDGPUUsage.rst:7391 +#: ../../../AMDGPUUsage.rst:8623 ../../../AMDGPUUsage.rst:8651 +#: ../../../AMDGPUUsage.rst:10944 ../../../AMDGPUUsage.rst:10972 +#: ../../../AMDGPUUsage.rst:13300 ../../../AMDGPUUsage.rst:13331 +#: ../../../AMDGPUUsage.rst:15383 ../../../AMDGPUUsage.rst:15412 +#: ../../../AMDGPUUsage.rst:17520 ../../../AMDGPUUsage.rst:17549 msgid "!volatile & !nontemporal" msgstr "" -#: ../../../AMDGPUUsage.rst:6810 ../../../AMDGPUUsage.rst:8070 -#: ../../../AMDGPUUsage.rst:8130 ../../../AMDGPUUsage.rst:10391 -#: ../../../AMDGPUUsage.rst:10454 ../../../AMDGPUUsage.rst:12747 -#: ../../../AMDGPUUsage.rst:12816 ../../../AMDGPUUsage.rst:14830 -#: ../../../AMDGPUUsage.rst:14893 ../../../AMDGPUUsage.rst:16956 -#: ../../../AMDGPUUsage.rst:17019 +#: ../../../AMDGPUUsage.rst:7365 ../../../AMDGPUUsage.rst:8625 +#: ../../../AMDGPUUsage.rst:8685 ../../../AMDGPUUsage.rst:10946 +#: ../../../AMDGPUUsage.rst:11009 ../../../AMDGPUUsage.rst:13302 +#: ../../../AMDGPUUsage.rst:13371 ../../../AMDGPUUsage.rst:15385 +#: ../../../AMDGPUUsage.rst:15448 ../../../AMDGPUUsage.rst:17522 +#: ../../../AMDGPUUsage.rst:17585 msgid "buffer/global/flat_load" msgstr "" -#: ../../../AMDGPUUsage.rst:6812 ../../../AMDGPUUsage.rst:6840 -#: ../../../AMDGPUUsage.rst:8072 ../../../AMDGPUUsage.rst:8100 -#: ../../../AMDGPUUsage.rst:10393 ../../../AMDGPUUsage.rst:10422 -#: ../../../AMDGPUUsage.rst:12749 ../../../AMDGPUUsage.rst:12780 -#: ../../../AMDGPUUsage.rst:14832 ../../../AMDGPUUsage.rst:14861 -#: ../../../AMDGPUUsage.rst:16958 ../../../AMDGPUUsage.rst:16987 +#: ../../../AMDGPUUsage.rst:7367 ../../../AMDGPUUsage.rst:7395 +#: ../../../AMDGPUUsage.rst:8627 ../../../AMDGPUUsage.rst:8655 +#: ../../../AMDGPUUsage.rst:10948 ../../../AMDGPUUsage.rst:10977 +#: ../../../AMDGPUUsage.rst:13304 ../../../AMDGPUUsage.rst:13335 +#: ../../../AMDGPUUsage.rst:15387 ../../../AMDGPUUsage.rst:15416 +#: ../../../AMDGPUUsage.rst:17524 ../../../AMDGPUUsage.rst:17553 msgid "!volatile & nontemporal" msgstr "" -#: ../../../AMDGPUUsage.rst:6814 ../../../AMDGPUUsage.rst:8074 +#: ../../../AMDGPUUsage.rst:7369 ../../../AMDGPUUsage.rst:8629 msgid "buffer/global/flat_load glc=1 slc=1" msgstr "" -#: ../../../AMDGPUUsage.rst:6817 ../../../AMDGPUUsage.rst:6845 -#: ../../../AMDGPUUsage.rst:8077 ../../../AMDGPUUsage.rst:8105 -#: ../../../AMDGPUUsage.rst:10398 ../../../AMDGPUUsage.rst:10428 -#: ../../../AMDGPUUsage.rst:12756 ../../../AMDGPUUsage.rst:12787 -#: ../../../AMDGPUUsage.rst:14837 ../../../AMDGPUUsage.rst:14866 -#: ../../../AMDGPUUsage.rst:16963 ../../../AMDGPUUsage.rst:16992 +#: ../../../AMDGPUUsage.rst:7372 ../../../AMDGPUUsage.rst:7400 +#: ../../../AMDGPUUsage.rst:8632 ../../../AMDGPUUsage.rst:8660 +#: ../../../AMDGPUUsage.rst:10953 ../../../AMDGPUUsage.rst:10983 +#: ../../../AMDGPUUsage.rst:13311 ../../../AMDGPUUsage.rst:13342 +#: ../../../AMDGPUUsage.rst:15392 ../../../AMDGPUUsage.rst:15421 +#: ../../../AMDGPUUsage.rst:17529 ../../../AMDGPUUsage.rst:17558 msgid "volatile" msgstr "" -#: ../../../AMDGPUUsage.rst:6819 ../../../AMDGPUUsage.rst:6873 -#: ../../../AMDGPUUsage.rst:8079 ../../../AMDGPUUsage.rst:8132 -#: ../../../AMDGPUUsage.rst:8143 ../../../AMDGPUUsage.rst:8145 -#: ../../../AMDGPUUsage.rst:8281 ../../../AMDGPUUsage.rst:12818 +#: ../../../AMDGPUUsage.rst:7374 ../../../AMDGPUUsage.rst:7428 +#: ../../../AMDGPUUsage.rst:8634 ../../../AMDGPUUsage.rst:8687 +#: ../../../AMDGPUUsage.rst:8698 ../../../AMDGPUUsage.rst:8700 +#: ../../../AMDGPUUsage.rst:8836 ../../../AMDGPUUsage.rst:13373 msgid "buffer/global/flat_load glc=1" msgstr "" -#: ../../../AMDGPUUsage.rst:6821 ../../../AMDGPUUsage.rst:6848 -#: ../../../AMDGPUUsage.rst:6916 ../../../AMDGPUUsage.rst:6986 -#: ../../../AMDGPUUsage.rst:7485 ../../../AMDGPUUsage.rst:8081 -#: ../../../AMDGPUUsage.rst:8108 ../../../AMDGPUUsage.rst:8179 -#: ../../../AMDGPUUsage.rst:8259 ../../../AMDGPUUsage.rst:8283 -#: ../../../AMDGPUUsage.rst:8382 ../../../AMDGPUUsage.rst:8461 -#: ../../../AMDGPUUsage.rst:8485 ../../../AMDGPUUsage.rst:9309 -#: ../../../AMDGPUUsage.rst:9459 ../../../AMDGPUUsage.rst:9534 -#: ../../../AMDGPUUsage.rst:10402 ../../../AMDGPUUsage.rst:10432 -#: ../../../AMDGPUUsage.rst:10497 ../../../AMDGPUUsage.rst:10573 -#: ../../../AMDGPUUsage.rst:10597 ../../../AMDGPUUsage.rst:10689 -#: ../../../AMDGPUUsage.rst:10768 ../../../AMDGPUUsage.rst:10793 -#: ../../../AMDGPUUsage.rst:11642 ../../../AMDGPUUsage.rst:11802 -#: ../../../AMDGPUUsage.rst:11878 ../../../AMDGPUUsage.rst:12761 -#: ../../../AMDGPUUsage.rst:12858 ../../../AMDGPUUsage.rst:12946 +#: ../../../AMDGPUUsage.rst:7376 ../../../AMDGPUUsage.rst:7403 +#: ../../../AMDGPUUsage.rst:7471 ../../../AMDGPUUsage.rst:7541 +#: ../../../AMDGPUUsage.rst:8040 ../../../AMDGPUUsage.rst:8636 +#: ../../../AMDGPUUsage.rst:8663 ../../../AMDGPUUsage.rst:8734 +#: ../../../AMDGPUUsage.rst:8814 ../../../AMDGPUUsage.rst:8838 +#: ../../../AMDGPUUsage.rst:8937 ../../../AMDGPUUsage.rst:9016 +#: ../../../AMDGPUUsage.rst:9040 ../../../AMDGPUUsage.rst:9864 +#: ../../../AMDGPUUsage.rst:10014 ../../../AMDGPUUsage.rst:10089 +#: ../../../AMDGPUUsage.rst:10957 ../../../AMDGPUUsage.rst:10987 +#: ../../../AMDGPUUsage.rst:11052 ../../../AMDGPUUsage.rst:11128 +#: ../../../AMDGPUUsage.rst:11152 ../../../AMDGPUUsage.rst:11244 +#: ../../../AMDGPUUsage.rst:11323 ../../../AMDGPUUsage.rst:11348 +#: ../../../AMDGPUUsage.rst:12197 ../../../AMDGPUUsage.rst:12357 +#: ../../../AMDGPUUsage.rst:12433 ../../../AMDGPUUsage.rst:13316 +#: ../../../AMDGPUUsage.rst:13413 ../../../AMDGPUUsage.rst:13501 msgid "s_waitcnt vmcnt(0)" msgstr "" -#: ../../../AMDGPUUsage.rst:6823 ../../../AMDGPUUsage.rst:6850 -#: ../../../AMDGPUUsage.rst:8083 ../../../AMDGPUUsage.rst:8110 -#: ../../../AMDGPUUsage.rst:10404 ../../../AMDGPUUsage.rst:10434 -#: ../../../AMDGPUUsage.rst:12763 ../../../AMDGPUUsage.rst:12796 -#: ../../../AMDGPUUsage.rst:14844 ../../../AMDGPUUsage.rst:14873 -#: ../../../AMDGPUUsage.rst:16970 ../../../AMDGPUUsage.rst:16999 +#: ../../../AMDGPUUsage.rst:7378 ../../../AMDGPUUsage.rst:7405 +#: ../../../AMDGPUUsage.rst:8638 ../../../AMDGPUUsage.rst:8665 +#: ../../../AMDGPUUsage.rst:10959 ../../../AMDGPUUsage.rst:10989 +#: ../../../AMDGPUUsage.rst:13318 ../../../AMDGPUUsage.rst:13351 +#: ../../../AMDGPUUsage.rst:15399 ../../../AMDGPUUsage.rst:15428 +#: ../../../AMDGPUUsage.rst:17536 ../../../AMDGPUUsage.rst:17565 msgid "Must happen before any following volatile global/generic load/store." msgstr "" -#: ../../../AMDGPUUsage.rst:6827 ../../../AMDGPUUsage.rst:6854 -#: ../../../AMDGPUUsage.rst:8087 ../../../AMDGPUUsage.rst:8114 -#: ../../../AMDGPUUsage.rst:10408 ../../../AMDGPUUsage.rst:10438 -#: ../../../AMDGPUUsage.rst:12767 ../../../AMDGPUUsage.rst:12800 -#: ../../../AMDGPUUsage.rst:14848 ../../../AMDGPUUsage.rst:14877 -#: ../../../AMDGPUUsage.rst:16974 ../../../AMDGPUUsage.rst:17003 +#: ../../../AMDGPUUsage.rst:7382 ../../../AMDGPUUsage.rst:7409 +#: ../../../AMDGPUUsage.rst:8642 ../../../AMDGPUUsage.rst:8669 +#: ../../../AMDGPUUsage.rst:10963 ../../../AMDGPUUsage.rst:10993 +#: ../../../AMDGPUUsage.rst:13322 ../../../AMDGPUUsage.rst:13355 +#: ../../../AMDGPUUsage.rst:15403 ../../../AMDGPUUsage.rst:15432 +#: ../../../AMDGPUUsage.rst:17540 ../../../AMDGPUUsage.rst:17569 msgid "" "Ensures that volatile operations to different addresses will not be " "reordered by hardware." msgstr "" -#: ../../../AMDGPUUsage.rst:6835 ../../../AMDGPUUsage.rst:6862 -#: ../../../AMDGPUUsage.rst:6871 ../../../AMDGPUUsage.rst:6880 -#: ../../../AMDGPUUsage.rst:6888 ../../../AMDGPUUsage.rst:6894 -#: ../../../AMDGPUUsage.rst:6897 ../../../AMDGPUUsage.rst:6965 -#: ../../../AMDGPUUsage.rst:6968 ../../../AMDGPUUsage.rst:7144 -#: ../../../AMDGPUUsage.rst:7167 ../../../AMDGPUUsage.rst:7211 -#: ../../../AMDGPUUsage.rst:7234 ../../../AMDGPUUsage.rst:7367 -#: ../../../AMDGPUUsage.rst:7391 ../../../AMDGPUUsage.rst:7737 -#: ../../../AMDGPUUsage.rst:7807 ../../../AMDGPUUsage.rst:7905 -#: ../../../AMDGPUUsage.rst:7910 ../../../AMDGPUUsage.rst:8095 -#: ../../../AMDGPUUsage.rst:8122 ../../../AMDGPUUsage.rst:8138 -#: ../../../AMDGPUUsage.rst:8153 ../../../AMDGPUUsage.rst:8164 -#: ../../../AMDGPUUsage.rst:8172 ../../../AMDGPUUsage.rst:8201 -#: ../../../AMDGPUUsage.rst:8376 ../../../AMDGPUUsage.rst:8407 -#: ../../../AMDGPUUsage.rst:8802 ../../../AMDGPUUsage.rst:8839 -#: ../../../AMDGPUUsage.rst:8945 ../../../AMDGPUUsage.rst:8983 -#: ../../../AMDGPUUsage.rst:9265 ../../../AMDGPUUsage.rst:9332 -#: ../../../AMDGPUUsage.rst:10032 ../../../AMDGPUUsage.rst:10121 -#: ../../../AMDGPUUsage.rst:10225 ../../../AMDGPUUsage.rst:10230 -#: ../../../AMDGPUUsage.rst:10416 ../../../AMDGPUUsage.rst:10446 -#: ../../../AMDGPUUsage.rst:10458 ../../../AMDGPUUsage.rst:10475 -#: ../../../AMDGPUUsage.rst:10486 ../../../AMDGPUUsage.rst:10494 -#: ../../../AMDGPUUsage.rst:10519 ../../../AMDGPUUsage.rst:10683 -#: ../../../AMDGPUUsage.rst:10714 ../../../AMDGPUUsage.rst:11099 -#: ../../../AMDGPUUsage.rst:11138 ../../../AMDGPUUsage.rst:11257 -#: ../../../AMDGPUUsage.rst:11295 ../../../AMDGPUUsage.rst:11598 -#: ../../../AMDGPUUsage.rst:11665 ../../../AMDGPUUsage.rst:12390 -#: ../../../AMDGPUUsage.rst:12479 ../../../AMDGPUUsage.rst:12583 -#: ../../../AMDGPUUsage.rst:12588 ../../../AMDGPUUsage.rst:12775 -#: ../../../AMDGPUUsage.rst:12808 ../../../AMDGPUUsage.rst:12824 -#: ../../../AMDGPUUsage.rst:12837 ../../../AMDGPUUsage.rst:12845 -#: ../../../AMDGPUUsage.rst:12851 ../../../AMDGPUUsage.rst:12879 -#: ../../../AMDGPUUsage.rst:13000 ../../../AMDGPUUsage.rst:13027 -#: ../../../AMDGPUUsage.rst:13319 ../../../AMDGPUUsage.rst:13367 -#: ../../../AMDGPUUsage.rst:13451 ../../../AMDGPUUsage.rst:13498 -#: ../../../AMDGPUUsage.rst:13704 ../../../AMDGPUUsage.rst:13782 -#: ../../../AMDGPUUsage.rst:14285 ../../../AMDGPUUsage.rst:14396 -#: ../../../AMDGPUUsage.rst:14596 ../../../AMDGPUUsage.rst:14601 -#: ../../../AMDGPUUsage.rst:14856 ../../../AMDGPUUsage.rst:14885 -#: ../../../AMDGPUUsage.rst:14898 ../../../AMDGPUUsage.rst:14906 -#: ../../../AMDGPUUsage.rst:14914 ../../../AMDGPUUsage.rst:14920 -#: ../../../AMDGPUUsage.rst:14947 ../../../AMDGPUUsage.rst:15063 -#: ../../../AMDGPUUsage.rst:15095 ../../../AMDGPUUsage.rst:15394 -#: ../../../AMDGPUUsage.rst:15441 ../../../AMDGPUUsage.rst:15532 -#: ../../../AMDGPUUsage.rst:15583 ../../../AMDGPUUsage.rst:15801 -#: ../../../AMDGPUUsage.rst:15883 ../../../AMDGPUUsage.rst:16419 -#: ../../../AMDGPUUsage.rst:16529 ../../../AMDGPUUsage.rst:16730 -#: ../../../AMDGPUUsage.rst:16735 ../../../AMDGPUUsage.rst:16982 -#: ../../../AMDGPUUsage.rst:17011 ../../../AMDGPUUsage.rst:17025 -#: ../../../AMDGPUUsage.rst:17037 ../../../AMDGPUUsage.rst:17049 -#: ../../../AMDGPUUsage.rst:17055 ../../../AMDGPUUsage.rst:17070 -#: ../../../AMDGPUUsage.rst:17163 ../../../AMDGPUUsage.rst:17191 -#: ../../../AMDGPUUsage.rst:17449 ../../../AMDGPUUsage.rst:17503 -#: ../../../AMDGPUUsage.rst:17591 ../../../AMDGPUUsage.rst:17644 -#: ../../../AMDGPUUsage.rst:17849 ../../../AMDGPUUsage.rst:17923 -#: ../../../AMDGPUUsage.rst:18397 ../../../AMDGPUUsage.rst:18503 -#: ../../../AMDGPUUsage.rst:18696 ../../../AMDGPUUsage.rst:18702 +#: ../../../AMDGPUUsage.rst:7390 ../../../AMDGPUUsage.rst:7417 +#: ../../../AMDGPUUsage.rst:7426 ../../../AMDGPUUsage.rst:7435 +#: ../../../AMDGPUUsage.rst:7443 ../../../AMDGPUUsage.rst:7449 +#: ../../../AMDGPUUsage.rst:7452 ../../../AMDGPUUsage.rst:7520 +#: ../../../AMDGPUUsage.rst:7523 ../../../AMDGPUUsage.rst:7699 +#: ../../../AMDGPUUsage.rst:7722 ../../../AMDGPUUsage.rst:7766 +#: ../../../AMDGPUUsage.rst:7789 ../../../AMDGPUUsage.rst:7922 +#: ../../../AMDGPUUsage.rst:7946 ../../../AMDGPUUsage.rst:8292 +#: ../../../AMDGPUUsage.rst:8362 ../../../AMDGPUUsage.rst:8460 +#: ../../../AMDGPUUsage.rst:8465 ../../../AMDGPUUsage.rst:8650 +#: ../../../AMDGPUUsage.rst:8677 ../../../AMDGPUUsage.rst:8693 +#: ../../../AMDGPUUsage.rst:8708 ../../../AMDGPUUsage.rst:8719 +#: ../../../AMDGPUUsage.rst:8727 ../../../AMDGPUUsage.rst:8756 +#: ../../../AMDGPUUsage.rst:8931 ../../../AMDGPUUsage.rst:8962 +#: ../../../AMDGPUUsage.rst:9357 ../../../AMDGPUUsage.rst:9394 +#: ../../../AMDGPUUsage.rst:9500 ../../../AMDGPUUsage.rst:9538 +#: ../../../AMDGPUUsage.rst:9820 ../../../AMDGPUUsage.rst:9887 +#: ../../../AMDGPUUsage.rst:10587 ../../../AMDGPUUsage.rst:10676 +#: ../../../AMDGPUUsage.rst:10780 ../../../AMDGPUUsage.rst:10785 +#: ../../../AMDGPUUsage.rst:10971 ../../../AMDGPUUsage.rst:11001 +#: ../../../AMDGPUUsage.rst:11013 ../../../AMDGPUUsage.rst:11030 +#: ../../../AMDGPUUsage.rst:11041 ../../../AMDGPUUsage.rst:11049 +#: ../../../AMDGPUUsage.rst:11074 ../../../AMDGPUUsage.rst:11238 +#: ../../../AMDGPUUsage.rst:11269 ../../../AMDGPUUsage.rst:11654 +#: ../../../AMDGPUUsage.rst:11693 ../../../AMDGPUUsage.rst:11812 +#: ../../../AMDGPUUsage.rst:11850 ../../../AMDGPUUsage.rst:12153 +#: ../../../AMDGPUUsage.rst:12220 ../../../AMDGPUUsage.rst:12945 +#: ../../../AMDGPUUsage.rst:13034 ../../../AMDGPUUsage.rst:13138 +#: ../../../AMDGPUUsage.rst:13143 ../../../AMDGPUUsage.rst:13330 +#: ../../../AMDGPUUsage.rst:13363 ../../../AMDGPUUsage.rst:13379 +#: ../../../AMDGPUUsage.rst:13392 ../../../AMDGPUUsage.rst:13400 +#: ../../../AMDGPUUsage.rst:13406 ../../../AMDGPUUsage.rst:13434 +#: ../../../AMDGPUUsage.rst:13555 ../../../AMDGPUUsage.rst:13582 +#: ../../../AMDGPUUsage.rst:13874 ../../../AMDGPUUsage.rst:13922 +#: ../../../AMDGPUUsage.rst:14006 ../../../AMDGPUUsage.rst:14053 +#: ../../../AMDGPUUsage.rst:14259 ../../../AMDGPUUsage.rst:14337 +#: ../../../AMDGPUUsage.rst:14840 ../../../AMDGPUUsage.rst:14951 +#: ../../../AMDGPUUsage.rst:15151 ../../../AMDGPUUsage.rst:15156 +#: ../../../AMDGPUUsage.rst:15411 ../../../AMDGPUUsage.rst:15440 +#: ../../../AMDGPUUsage.rst:15453 ../../../AMDGPUUsage.rst:15461 +#: ../../../AMDGPUUsage.rst:15469 ../../../AMDGPUUsage.rst:15475 +#: ../../../AMDGPUUsage.rst:15502 ../../../AMDGPUUsage.rst:15618 +#: ../../../AMDGPUUsage.rst:15650 ../../../AMDGPUUsage.rst:15949 +#: ../../../AMDGPUUsage.rst:15996 ../../../AMDGPUUsage.rst:16087 +#: ../../../AMDGPUUsage.rst:16138 ../../../AMDGPUUsage.rst:16356 +#: ../../../AMDGPUUsage.rst:16438 ../../../AMDGPUUsage.rst:16974 +#: ../../../AMDGPUUsage.rst:17084 ../../../AMDGPUUsage.rst:17285 +#: ../../../AMDGPUUsage.rst:17290 ../../../AMDGPUUsage.rst:17548 +#: ../../../AMDGPUUsage.rst:17577 ../../../AMDGPUUsage.rst:17591 +#: ../../../AMDGPUUsage.rst:17603 ../../../AMDGPUUsage.rst:17615 +#: ../../../AMDGPUUsage.rst:17621 ../../../AMDGPUUsage.rst:17636 +#: ../../../AMDGPUUsage.rst:17795 ../../../AMDGPUUsage.rst:17823 +#: ../../../AMDGPUUsage.rst:18245 ../../../AMDGPUUsage.rst:18299 +#: ../../../AMDGPUUsage.rst:18417 ../../../AMDGPUUsage.rst:18470 +#: ../../../AMDGPUUsage.rst:18735 ../../../AMDGPUUsage.rst:18809 +#: ../../../AMDGPUUsage.rst:19386 ../../../AMDGPUUsage.rst:19492 +#: ../../../AMDGPUUsage.rst:19685 ../../../AMDGPUUsage.rst:19691 msgid "local" msgstr "" -#: ../../../AMDGPUUsage.rst:6835 ../../../AMDGPUUsage.rst:8095 -#: ../../../AMDGPUUsage.rst:8142 ../../../AMDGPUUsage.rst:8205 -#: ../../../AMDGPUUsage.rst:10416 ../../../AMDGPUUsage.rst:10462 -#: ../../../AMDGPUUsage.rst:10523 ../../../AMDGPUUsage.rst:12775 -#: ../../../AMDGPUUsage.rst:12824 ../../../AMDGPUUsage.rst:12879 -#: ../../../AMDGPUUsage.rst:14856 ../../../AMDGPUUsage.rst:14898 -#: ../../../AMDGPUUsage.rst:14947 ../../../AMDGPUUsage.rst:16982 -#: ../../../AMDGPUUsage.rst:17025 ../../../AMDGPUUsage.rst:17070 +#: ../../../AMDGPUUsage.rst:7390 ../../../AMDGPUUsage.rst:8650 +#: ../../../AMDGPUUsage.rst:8697 ../../../AMDGPUUsage.rst:8760 +#: ../../../AMDGPUUsage.rst:10971 ../../../AMDGPUUsage.rst:11017 +#: ../../../AMDGPUUsage.rst:11078 ../../../AMDGPUUsage.rst:13330 +#: ../../../AMDGPUUsage.rst:13379 ../../../AMDGPUUsage.rst:13434 +#: ../../../AMDGPUUsage.rst:15411 ../../../AMDGPUUsage.rst:15453 +#: ../../../AMDGPUUsage.rst:15502 ../../../AMDGPUUsage.rst:17548 +#: ../../../AMDGPUUsage.rst:17591 ../../../AMDGPUUsage.rst:17636 msgid "ds_load" msgstr "" -#: ../../../AMDGPUUsage.rst:6836 ../../../AMDGPUUsage.rst:6862 -#: ../../../AMDGPUUsage.rst:8096 ../../../AMDGPUUsage.rst:8122 -#: ../../../AMDGPUUsage.rst:10417 ../../../AMDGPUUsage.rst:10446 -#: ../../../AMDGPUUsage.rst:12776 ../../../AMDGPUUsage.rst:12808 -#: ../../../AMDGPUUsage.rst:14857 ../../../AMDGPUUsage.rst:14885 -#: ../../../AMDGPUUsage.rst:16983 ../../../AMDGPUUsage.rst:17011 +#: ../../../AMDGPUUsage.rst:7391 ../../../AMDGPUUsage.rst:7417 +#: ../../../AMDGPUUsage.rst:8651 ../../../AMDGPUUsage.rst:8677 +#: ../../../AMDGPUUsage.rst:10972 ../../../AMDGPUUsage.rst:11001 +#: ../../../AMDGPUUsage.rst:13331 ../../../AMDGPUUsage.rst:13363 +#: ../../../AMDGPUUsage.rst:15412 ../../../AMDGPUUsage.rst:15440 +#: ../../../AMDGPUUsage.rst:17549 ../../../AMDGPUUsage.rst:17577 msgid "store" msgstr "" -#: ../../../AMDGPUUsage.rst:6838 ../../../AMDGPUUsage.rst:6847 -#: ../../../AMDGPUUsage.rst:6875 ../../../AMDGPUUsage.rst:7166 -#: ../../../AMDGPUUsage.rst:7209 ../../../AMDGPUUsage.rst:8098 -#: ../../../AMDGPUUsage.rst:8107 ../../../AMDGPUUsage.rst:8147 -#: ../../../AMDGPUUsage.rst:8151 ../../../AMDGPUUsage.rst:8800 -#: ../../../AMDGPUUsage.rst:8838 ../../../AMDGPUUsage.rst:8887 -#: ../../../AMDGPUUsage.rst:8942 ../../../AMDGPUUsage.rst:10420 -#: ../../../AMDGPUUsage.rst:10467 ../../../AMDGPUUsage.rst:11097 -#: ../../../AMDGPUUsage.rst:12778 ../../../AMDGPUUsage.rst:12832 -#: ../../../AMDGPUUsage.rst:13366 ../../../AMDGPUUsage.rst:13449 -#: ../../../AMDGPUUsage.rst:14859 ../../../AMDGPUUsage.rst:14901 -#: ../../../AMDGPUUsage.rst:15437 ../../../AMDGPUUsage.rst:15527 -#: ../../../AMDGPUUsage.rst:16985 ../../../AMDGPUUsage.rst:17033 -#: ../../../AMDGPUUsage.rst:17499 ../../../AMDGPUUsage.rst:17586 +#: ../../../AMDGPUUsage.rst:7393 ../../../AMDGPUUsage.rst:7402 +#: ../../../AMDGPUUsage.rst:7430 ../../../AMDGPUUsage.rst:7721 +#: ../../../AMDGPUUsage.rst:7764 ../../../AMDGPUUsage.rst:8653 +#: ../../../AMDGPUUsage.rst:8662 ../../../AMDGPUUsage.rst:8702 +#: ../../../AMDGPUUsage.rst:8706 ../../../AMDGPUUsage.rst:9355 +#: ../../../AMDGPUUsage.rst:9393 ../../../AMDGPUUsage.rst:9442 +#: ../../../AMDGPUUsage.rst:9497 ../../../AMDGPUUsage.rst:10975 +#: ../../../AMDGPUUsage.rst:11022 ../../../AMDGPUUsage.rst:11652 +#: ../../../AMDGPUUsage.rst:13333 ../../../AMDGPUUsage.rst:13387 +#: ../../../AMDGPUUsage.rst:13921 ../../../AMDGPUUsage.rst:14004 +#: ../../../AMDGPUUsage.rst:15414 ../../../AMDGPUUsage.rst:15456 +#: ../../../AMDGPUUsage.rst:15992 ../../../AMDGPUUsage.rst:16082 +#: ../../../AMDGPUUsage.rst:17551 ../../../AMDGPUUsage.rst:17599 +#: ../../../AMDGPUUsage.rst:18295 ../../../AMDGPUUsage.rst:18412 msgid "buffer/global/flat_store" msgstr "" -#: ../../../AMDGPUUsage.rst:6842 ../../../AMDGPUUsage.rst:8102 +#: ../../../AMDGPUUsage.rst:7397 ../../../AMDGPUUsage.rst:8657 msgid "buffer/global/flat_store glc=1 slc=1" msgstr "" -#: ../../../AMDGPUUsage.rst:6862 ../../../AMDGPUUsage.rst:6880 -#: ../../../AMDGPUUsage.rst:7167 ../../../AMDGPUUsage.rst:8122 -#: ../../../AMDGPUUsage.rst:8157 ../../../AMDGPUUsage.rst:8806 -#: ../../../AMDGPUUsage.rst:8843 ../../../AMDGPUUsage.rst:10446 -#: ../../../AMDGPUUsage.rst:10479 ../../../AMDGPUUsage.rst:11103 -#: ../../../AMDGPUUsage.rst:11142 ../../../AMDGPUUsage.rst:12808 -#: ../../../AMDGPUUsage.rst:12837 ../../../AMDGPUUsage.rst:13401 -#: ../../../AMDGPUUsage.rst:14885 ../../../AMDGPUUsage.rst:14906 -#: ../../../AMDGPUUsage.rst:15477 ../../../AMDGPUUsage.rst:17011 -#: ../../../AMDGPUUsage.rst:17037 ../../../AMDGPUUsage.rst:17535 +#: ../../../AMDGPUUsage.rst:7417 ../../../AMDGPUUsage.rst:7435 +#: ../../../AMDGPUUsage.rst:7722 ../../../AMDGPUUsage.rst:8677 +#: ../../../AMDGPUUsage.rst:8712 ../../../AMDGPUUsage.rst:9361 +#: ../../../AMDGPUUsage.rst:9398 ../../../AMDGPUUsage.rst:11001 +#: ../../../AMDGPUUsage.rst:11034 ../../../AMDGPUUsage.rst:11658 +#: ../../../AMDGPUUsage.rst:11697 ../../../AMDGPUUsage.rst:13363 +#: ../../../AMDGPUUsage.rst:13392 ../../../AMDGPUUsage.rst:13956 +#: ../../../AMDGPUUsage.rst:15440 ../../../AMDGPUUsage.rst:15461 +#: ../../../AMDGPUUsage.rst:16032 ../../../AMDGPUUsage.rst:17577 +#: ../../../AMDGPUUsage.rst:17603 ../../../AMDGPUUsage.rst:18331 msgid "ds_store" msgstr "" -#: ../../../AMDGPUUsage.rst:6863 ../../../AMDGPUUsage.rst:8123 -#: ../../../AMDGPUUsage.rst:10447 ../../../AMDGPUUsage.rst:12809 -#: ../../../AMDGPUUsage.rst:14886 ../../../AMDGPUUsage.rst:17012 +#: ../../../AMDGPUUsage.rst:7418 ../../../AMDGPUUsage.rst:8678 +#: ../../../AMDGPUUsage.rst:11002 ../../../AMDGPUUsage.rst:13364 +#: ../../../AMDGPUUsage.rst:15441 ../../../AMDGPUUsage.rst:17578 msgid "**Unordered Atomic**" msgstr "" -#: ../../../AMDGPUUsage.rst:6865 ../../../AMDGPUUsage.rst:6870 -#: ../../../AMDGPUUsage.rst:6873 ../../../AMDGPUUsage.rst:6893 -#: ../../../AMDGPUUsage.rst:6896 ../../../AMDGPUUsage.rst:6897 -#: ../../../AMDGPUUsage.rst:6914 ../../../AMDGPUUsage.rst:6938 -#: ../../../AMDGPUUsage.rst:7736 ../../../AMDGPUUsage.rst:7741 -#: ../../../AMDGPUUsage.rst:7807 ../../../AMDGPUUsage.rst:7813 -#: ../../../AMDGPUUsage.rst:8125 ../../../AMDGPUUsage.rst:8130 -#: ../../../AMDGPUUsage.rst:8132 ../../../AMDGPUUsage.rst:8138 -#: ../../../AMDGPUUsage.rst:8143 ../../../AMDGPUUsage.rst:8145 -#: ../../../AMDGPUUsage.rst:8171 ../../../AMDGPUUsage.rst:8174 -#: ../../../AMDGPUUsage.rst:8201 ../../../AMDGPUUsage.rst:8222 -#: ../../../AMDGPUUsage.rst:8257 ../../../AMDGPUUsage.rst:8281 -#: ../../../AMDGPUUsage.rst:8311 ../../../AMDGPUUsage.rst:8339 -#: ../../../AMDGPUUsage.rst:10031 ../../../AMDGPUUsage.rst:10036 -#: ../../../AMDGPUUsage.rst:10121 ../../../AMDGPUUsage.rst:10131 -#: ../../../AMDGPUUsage.rst:10449 ../../../AMDGPUUsage.rst:10454 -#: ../../../AMDGPUUsage.rst:10456 ../../../AMDGPUUsage.rst:10458 -#: ../../../AMDGPUUsage.rst:10463 ../../../AMDGPUUsage.rst:10465 -#: ../../../AMDGPUUsage.rst:10493 ../../../AMDGPUUsage.rst:10496 -#: ../../../AMDGPUUsage.rst:10519 ../../../AMDGPUUsage.rst:10540 -#: ../../../AMDGPUUsage.rst:10571 ../../../AMDGPUUsage.rst:10595 -#: ../../../AMDGPUUsage.rst:10622 ../../../AMDGPUUsage.rst:10650 -#: ../../../AMDGPUUsage.rst:12389 ../../../AMDGPUUsage.rst:12394 -#: ../../../AMDGPUUsage.rst:12479 ../../../AMDGPUUsage.rst:12489 -#: ../../../AMDGPUUsage.rst:12811 ../../../AMDGPUUsage.rst:12816 -#: ../../../AMDGPUUsage.rst:12818 ../../../AMDGPUUsage.rst:12824 -#: ../../../AMDGPUUsage.rst:12827 ../../../AMDGPUUsage.rst:12850 -#: ../../../AMDGPUUsage.rst:12853 ../../../AMDGPUUsage.rst:12879 -#: ../../../AMDGPUUsage.rst:12906 ../../../AMDGPUUsage.rst:12941 -#: ../../../AMDGPUUsage.rst:12969 ../../../AMDGPUUsage.rst:14284 -#: ../../../AMDGPUUsage.rst:14289 ../../../AMDGPUUsage.rst:14396 -#: ../../../AMDGPUUsage.rst:14488 ../../../AMDGPUUsage.rst:14888 -#: ../../../AMDGPUUsage.rst:14893 ../../../AMDGPUUsage.rst:14898 -#: ../../../AMDGPUUsage.rst:14919 ../../../AMDGPUUsage.rst:14922 -#: ../../../AMDGPUUsage.rst:14947 ../../../AMDGPUUsage.rst:14973 -#: ../../../AMDGPUUsage.rst:15006 ../../../AMDGPUUsage.rst:15033 -#: ../../../AMDGPUUsage.rst:16418 ../../../AMDGPUUsage.rst:16423 -#: ../../../AMDGPUUsage.rst:16529 ../../../AMDGPUUsage.rst:16621 -#: ../../../AMDGPUUsage.rst:17014 ../../../AMDGPUUsage.rst:17019 -#: ../../../AMDGPUUsage.rst:17025 ../../../AMDGPUUsage.rst:17054 -#: ../../../AMDGPUUsage.rst:17057 ../../../AMDGPUUsage.rst:17070 -#: ../../../AMDGPUUsage.rst:17086 ../../../AMDGPUUsage.rst:17106 -#: ../../../AMDGPUUsage.rst:17133 ../../../AMDGPUUsage.rst:18396 -#: ../../../AMDGPUUsage.rst:18401 ../../../AMDGPUUsage.rst:18503 -#: ../../../AMDGPUUsage.rst:18591 +#: ../../../AMDGPUUsage.rst:7420 ../../../AMDGPUUsage.rst:7425 +#: ../../../AMDGPUUsage.rst:7428 ../../../AMDGPUUsage.rst:7448 +#: ../../../AMDGPUUsage.rst:7451 ../../../AMDGPUUsage.rst:7452 +#: ../../../AMDGPUUsage.rst:7469 ../../../AMDGPUUsage.rst:7493 +#: ../../../AMDGPUUsage.rst:8291 ../../../AMDGPUUsage.rst:8296 +#: ../../../AMDGPUUsage.rst:8362 ../../../AMDGPUUsage.rst:8368 +#: ../../../AMDGPUUsage.rst:8680 ../../../AMDGPUUsage.rst:8685 +#: ../../../AMDGPUUsage.rst:8687 ../../../AMDGPUUsage.rst:8693 +#: ../../../AMDGPUUsage.rst:8698 ../../../AMDGPUUsage.rst:8700 +#: ../../../AMDGPUUsage.rst:8726 ../../../AMDGPUUsage.rst:8729 +#: ../../../AMDGPUUsage.rst:8756 ../../../AMDGPUUsage.rst:8777 +#: ../../../AMDGPUUsage.rst:8812 ../../../AMDGPUUsage.rst:8836 +#: ../../../AMDGPUUsage.rst:8866 ../../../AMDGPUUsage.rst:8894 +#: ../../../AMDGPUUsage.rst:10586 ../../../AMDGPUUsage.rst:10591 +#: ../../../AMDGPUUsage.rst:10676 ../../../AMDGPUUsage.rst:10686 +#: ../../../AMDGPUUsage.rst:11004 ../../../AMDGPUUsage.rst:11009 +#: ../../../AMDGPUUsage.rst:11011 ../../../AMDGPUUsage.rst:11013 +#: ../../../AMDGPUUsage.rst:11018 ../../../AMDGPUUsage.rst:11020 +#: ../../../AMDGPUUsage.rst:11048 ../../../AMDGPUUsage.rst:11051 +#: ../../../AMDGPUUsage.rst:11074 ../../../AMDGPUUsage.rst:11095 +#: ../../../AMDGPUUsage.rst:11126 ../../../AMDGPUUsage.rst:11150 +#: ../../../AMDGPUUsage.rst:11177 ../../../AMDGPUUsage.rst:11205 +#: ../../../AMDGPUUsage.rst:12944 ../../../AMDGPUUsage.rst:12949 +#: ../../../AMDGPUUsage.rst:13034 ../../../AMDGPUUsage.rst:13044 +#: ../../../AMDGPUUsage.rst:13366 ../../../AMDGPUUsage.rst:13371 +#: ../../../AMDGPUUsage.rst:13373 ../../../AMDGPUUsage.rst:13379 +#: ../../../AMDGPUUsage.rst:13382 ../../../AMDGPUUsage.rst:13405 +#: ../../../AMDGPUUsage.rst:13408 ../../../AMDGPUUsage.rst:13434 +#: ../../../AMDGPUUsage.rst:13461 ../../../AMDGPUUsage.rst:13496 +#: ../../../AMDGPUUsage.rst:13524 ../../../AMDGPUUsage.rst:14839 +#: ../../../AMDGPUUsage.rst:14844 ../../../AMDGPUUsage.rst:14951 +#: ../../../AMDGPUUsage.rst:15043 ../../../AMDGPUUsage.rst:15443 +#: ../../../AMDGPUUsage.rst:15448 ../../../AMDGPUUsage.rst:15453 +#: ../../../AMDGPUUsage.rst:15474 ../../../AMDGPUUsage.rst:15477 +#: ../../../AMDGPUUsage.rst:15502 ../../../AMDGPUUsage.rst:15528 +#: ../../../AMDGPUUsage.rst:15561 ../../../AMDGPUUsage.rst:15588 +#: ../../../AMDGPUUsage.rst:16973 ../../../AMDGPUUsage.rst:16978 +#: ../../../AMDGPUUsage.rst:17084 ../../../AMDGPUUsage.rst:17176 +#: ../../../AMDGPUUsage.rst:17580 ../../../AMDGPUUsage.rst:17585 +#: ../../../AMDGPUUsage.rst:17591 ../../../AMDGPUUsage.rst:17620 +#: ../../../AMDGPUUsage.rst:17623 ../../../AMDGPUUsage.rst:17636 +#: ../../../AMDGPUUsage.rst:17652 ../../../AMDGPUUsage.rst:17672 +#: ../../../AMDGPUUsage.rst:17699 ../../../AMDGPUUsage.rst:17731 +#: ../../../AMDGPUUsage.rst:17760 ../../../AMDGPUUsage.rst:19385 +#: ../../../AMDGPUUsage.rst:19390 ../../../AMDGPUUsage.rst:19492 +#: ../../../AMDGPUUsage.rst:19580 msgid "load atomic" msgstr "" -#: ../../../AMDGPUUsage.rst:6865 ../../../AMDGPUUsage.rst:6866 -#: ../../../AMDGPUUsage.rst:6867 ../../../AMDGPUUsage.rst:8125 -#: ../../../AMDGPUUsage.rst:8126 ../../../AMDGPUUsage.rst:8127 -#: ../../../AMDGPUUsage.rst:10449 ../../../AMDGPUUsage.rst:10450 -#: ../../../AMDGPUUsage.rst:10451 ../../../AMDGPUUsage.rst:12811 -#: ../../../AMDGPUUsage.rst:12812 ../../../AMDGPUUsage.rst:12813 -#: ../../../AMDGPUUsage.rst:14888 ../../../AMDGPUUsage.rst:14889 -#: ../../../AMDGPUUsage.rst:14890 ../../../AMDGPUUsage.rst:17014 -#: ../../../AMDGPUUsage.rst:17015 ../../../AMDGPUUsage.rst:17016 +#: ../../../AMDGPUUsage.rst:7420 ../../../AMDGPUUsage.rst:7421 +#: ../../../AMDGPUUsage.rst:7422 ../../../AMDGPUUsage.rst:8680 +#: ../../../AMDGPUUsage.rst:8681 ../../../AMDGPUUsage.rst:8682 +#: ../../../AMDGPUUsage.rst:11004 ../../../AMDGPUUsage.rst:11005 +#: ../../../AMDGPUUsage.rst:11006 ../../../AMDGPUUsage.rst:13366 +#: ../../../AMDGPUUsage.rst:13367 ../../../AMDGPUUsage.rst:13368 +#: ../../../AMDGPUUsage.rst:15443 ../../../AMDGPUUsage.rst:15444 +#: ../../../AMDGPUUsage.rst:15445 ../../../AMDGPUUsage.rst:17580 +#: ../../../AMDGPUUsage.rst:17581 ../../../AMDGPUUsage.rst:17582 msgid "*any*" msgstr "" -#: ../../../AMDGPUUsage.rst:6865 ../../../AMDGPUUsage.rst:6866 -#: ../../../AMDGPUUsage.rst:8125 ../../../AMDGPUUsage.rst:8126 -#: ../../../AMDGPUUsage.rst:10449 ../../../AMDGPUUsage.rst:10450 -#: ../../../AMDGPUUsage.rst:12811 ../../../AMDGPUUsage.rst:12812 -#: ../../../AMDGPUUsage.rst:14888 ../../../AMDGPUUsage.rst:14889 -#: ../../../AMDGPUUsage.rst:17014 ../../../AMDGPUUsage.rst:17015 +#: ../../../AMDGPUUsage.rst:7420 ../../../AMDGPUUsage.rst:7421 +#: ../../../AMDGPUUsage.rst:8680 ../../../AMDGPUUsage.rst:8681 +#: ../../../AMDGPUUsage.rst:11004 ../../../AMDGPUUsage.rst:11005 +#: ../../../AMDGPUUsage.rst:13366 ../../../AMDGPUUsage.rst:13367 +#: ../../../AMDGPUUsage.rst:15443 ../../../AMDGPUUsage.rst:15444 +#: ../../../AMDGPUUsage.rst:17580 ../../../AMDGPUUsage.rst:17581 msgid "*Same as non-atomic*." msgstr "" -#: ../../../AMDGPUUsage.rst:6866 ../../../AMDGPUUsage.rst:6875 -#: ../../../AMDGPUUsage.rst:6880 ../../../AMDGPUUsage.rst:7143 -#: ../../../AMDGPUUsage.rst:7146 ../../../AMDGPUUsage.rst:7167 -#: ../../../AMDGPUUsage.rst:7168 ../../../AMDGPUUsage.rst:7904 -#: ../../../AMDGPUUsage.rst:8126 ../../../AMDGPUUsage.rst:8147 -#: ../../../AMDGPUUsage.rst:8151 ../../../AMDGPUUsage.rst:8153 -#: ../../../AMDGPUUsage.rst:8800 ../../../AMDGPUUsage.rst:8802 -#: ../../../AMDGPUUsage.rst:8807 ../../../AMDGPUUsage.rst:8839 -#: ../../../AMDGPUUsage.rst:8844 ../../../AMDGPUUsage.rst:8888 -#: ../../../AMDGPUUsage.rst:10224 ../../../AMDGPUUsage.rst:10450 -#: ../../../AMDGPUUsage.rst:10467 ../../../AMDGPUUsage.rst:10469 -#: ../../../AMDGPUUsage.rst:10471 ../../../AMDGPUUsage.rst:10473 -#: ../../../AMDGPUUsage.rst:10475 ../../../AMDGPUUsage.rst:11096 -#: ../../../AMDGPUUsage.rst:11099 ../../../AMDGPUUsage.rst:11104 -#: ../../../AMDGPUUsage.rst:11138 ../../../AMDGPUUsage.rst:11143 -#: ../../../AMDGPUUsage.rst:11199 ../../../AMDGPUUsage.rst:12582 -#: ../../../AMDGPUUsage.rst:12812 ../../../AMDGPUUsage.rst:12832 -#: ../../../AMDGPUUsage.rst:12837 ../../../AMDGPUUsage.rst:13318 -#: ../../../AMDGPUUsage.rst:13321 ../../../AMDGPUUsage.rst:13367 -#: ../../../AMDGPUUsage.rst:13402 ../../../AMDGPUUsage.rst:14595 -#: ../../../AMDGPUUsage.rst:14889 ../../../AMDGPUUsage.rst:14901 -#: ../../../AMDGPUUsage.rst:14906 ../../../AMDGPUUsage.rst:15393 -#: ../../../AMDGPUUsage.rst:15396 ../../../AMDGPUUsage.rst:15441 -#: ../../../AMDGPUUsage.rst:15478 ../../../AMDGPUUsage.rst:16729 -#: ../../../AMDGPUUsage.rst:17015 ../../../AMDGPUUsage.rst:17028 -#: ../../../AMDGPUUsage.rst:17037 ../../../AMDGPUUsage.rst:17448 -#: ../../../AMDGPUUsage.rst:17455 ../../../AMDGPUUsage.rst:17503 -#: ../../../AMDGPUUsage.rst:17536 ../../../AMDGPUUsage.rst:18695 +#: ../../../AMDGPUUsage.rst:7421 ../../../AMDGPUUsage.rst:7430 +#: ../../../AMDGPUUsage.rst:7435 ../../../AMDGPUUsage.rst:7698 +#: ../../../AMDGPUUsage.rst:7701 ../../../AMDGPUUsage.rst:7722 +#: ../../../AMDGPUUsage.rst:7723 ../../../AMDGPUUsage.rst:8459 +#: ../../../AMDGPUUsage.rst:8681 ../../../AMDGPUUsage.rst:8702 +#: ../../../AMDGPUUsage.rst:8706 ../../../AMDGPUUsage.rst:8708 +#: ../../../AMDGPUUsage.rst:9355 ../../../AMDGPUUsage.rst:9357 +#: ../../../AMDGPUUsage.rst:9362 ../../../AMDGPUUsage.rst:9394 +#: ../../../AMDGPUUsage.rst:9399 ../../../AMDGPUUsage.rst:9443 +#: ../../../AMDGPUUsage.rst:10779 ../../../AMDGPUUsage.rst:11005 +#: ../../../AMDGPUUsage.rst:11022 ../../../AMDGPUUsage.rst:11024 +#: ../../../AMDGPUUsage.rst:11026 ../../../AMDGPUUsage.rst:11028 +#: ../../../AMDGPUUsage.rst:11030 ../../../AMDGPUUsage.rst:11651 +#: ../../../AMDGPUUsage.rst:11654 ../../../AMDGPUUsage.rst:11659 +#: ../../../AMDGPUUsage.rst:11693 ../../../AMDGPUUsage.rst:11698 +#: ../../../AMDGPUUsage.rst:11754 ../../../AMDGPUUsage.rst:13137 +#: ../../../AMDGPUUsage.rst:13367 ../../../AMDGPUUsage.rst:13387 +#: ../../../AMDGPUUsage.rst:13392 ../../../AMDGPUUsage.rst:13873 +#: ../../../AMDGPUUsage.rst:13876 ../../../AMDGPUUsage.rst:13922 +#: ../../../AMDGPUUsage.rst:13957 ../../../AMDGPUUsage.rst:15150 +#: ../../../AMDGPUUsage.rst:15444 ../../../AMDGPUUsage.rst:15456 +#: ../../../AMDGPUUsage.rst:15461 ../../../AMDGPUUsage.rst:15948 +#: ../../../AMDGPUUsage.rst:15951 ../../../AMDGPUUsage.rst:15996 +#: ../../../AMDGPUUsage.rst:16033 ../../../AMDGPUUsage.rst:17284 +#: ../../../AMDGPUUsage.rst:17581 ../../../AMDGPUUsage.rst:17594 +#: ../../../AMDGPUUsage.rst:17603 ../../../AMDGPUUsage.rst:18244 +#: ../../../AMDGPUUsage.rst:18251 ../../../AMDGPUUsage.rst:18299 +#: ../../../AMDGPUUsage.rst:18332 ../../../AMDGPUUsage.rst:19684 msgid "store atomic" msgstr "" -#: ../../../AMDGPUUsage.rst:6867 ../../../AMDGPUUsage.rst:6883 -#: ../../../AMDGPUUsage.rst:6888 ../../../AMDGPUUsage.rst:6964 -#: ../../../AMDGPUUsage.rst:6967 ../../../AMDGPUUsage.rst:6968 -#: ../../../AMDGPUUsage.rst:6985 ../../../AMDGPUUsage.rst:7009 -#: ../../../AMDGPUUsage.rst:7210 ../../../AMDGPUUsage.rst:7213 -#: ../../../AMDGPUUsage.rst:7234 ../../../AMDGPUUsage.rst:7235 -#: ../../../AMDGPUUsage.rst:7366 ../../../AMDGPUUsage.rst:7369 -#: ../../../AMDGPUUsage.rst:7391 ../../../AMDGPUUsage.rst:7408 -#: ../../../AMDGPUUsage.rst:7445 ../../../AMDGPUUsage.rst:7508 -#: ../../../AMDGPUUsage.rst:7909 ../../../AMDGPUUsage.rst:8127 -#: ../../../AMDGPUUsage.rst:8158 ../../../AMDGPUUsage.rst:8162 -#: ../../../AMDGPUUsage.rst:8164 ../../../AMDGPUUsage.rst:8374 -#: ../../../AMDGPUUsage.rst:8376 ../../../AMDGPUUsage.rst:8381 -#: ../../../AMDGPUUsage.rst:8407 ../../../AMDGPUUsage.rst:8428 -#: ../../../AMDGPUUsage.rst:8460 ../../../AMDGPUUsage.rst:8484 -#: ../../../AMDGPUUsage.rst:8514 ../../../AMDGPUUsage.rst:8543 -#: ../../../AMDGPUUsage.rst:8943 ../../../AMDGPUUsage.rst:8945 -#: ../../../AMDGPUUsage.rst:8950 ../../../AMDGPUUsage.rst:8983 -#: ../../../AMDGPUUsage.rst:8988 ../../../AMDGPUUsage.rst:9030 -#: ../../../AMDGPUUsage.rst:9263 ../../../AMDGPUUsage.rst:9265 -#: ../../../AMDGPUUsage.rst:9270 ../../../AMDGPUUsage.rst:9332 -#: ../../../AMDGPUUsage.rst:9353 ../../../AMDGPUUsage.rst:9417 -#: ../../../AMDGPUUsage.rst:9482 ../../../AMDGPUUsage.rst:9563 -#: ../../../AMDGPUUsage.rst:9633 ../../../AMDGPUUsage.rst:10229 -#: ../../../AMDGPUUsage.rst:10451 ../../../AMDGPUUsage.rst:10480 -#: ../../../AMDGPUUsage.rst:10484 ../../../AMDGPUUsage.rst:10486 -#: ../../../AMDGPUUsage.rst:10681 ../../../AMDGPUUsage.rst:10683 -#: ../../../AMDGPUUsage.rst:10688 ../../../AMDGPUUsage.rst:10714 -#: ../../../AMDGPUUsage.rst:10735 ../../../AMDGPUUsage.rst:10767 -#: ../../../AMDGPUUsage.rst:10791 ../../../AMDGPUUsage.rst:10819 -#: ../../../AMDGPUUsage.rst:10848 ../../../AMDGPUUsage.rst:11255 -#: ../../../AMDGPUUsage.rst:11257 ../../../AMDGPUUsage.rst:11262 -#: ../../../AMDGPUUsage.rst:11295 ../../../AMDGPUUsage.rst:11300 -#: ../../../AMDGPUUsage.rst:11352 ../../../AMDGPUUsage.rst:11596 -#: ../../../AMDGPUUsage.rst:11598 ../../../AMDGPUUsage.rst:11603 -#: ../../../AMDGPUUsage.rst:11665 ../../../AMDGPUUsage.rst:11686 -#: ../../../AMDGPUUsage.rst:11750 ../../../AMDGPUUsage.rst:11825 -#: ../../../AMDGPUUsage.rst:11904 ../../../AMDGPUUsage.rst:11984 -#: ../../../AMDGPUUsage.rst:12587 ../../../AMDGPUUsage.rst:12813 -#: ../../../AMDGPUUsage.rst:12840 ../../../AMDGPUUsage.rst:12845 -#: ../../../AMDGPUUsage.rst:12999 ../../../AMDGPUUsage.rst:13002 -#: ../../../AMDGPUUsage.rst:13027 ../../../AMDGPUUsage.rst:13049 -#: ../../../AMDGPUUsage.rst:13078 ../../../AMDGPUUsage.rst:13106 -#: ../../../AMDGPUUsage.rst:13450 ../../../AMDGPUUsage.rst:13453 -#: ../../../AMDGPUUsage.rst:13498 ../../../AMDGPUUsage.rst:13533 -#: ../../../AMDGPUUsage.rst:13703 ../../../AMDGPUUsage.rst:13706 -#: ../../../AMDGPUUsage.rst:13782 ../../../AMDGPUUsage.rst:13840 -#: ../../../AMDGPUUsage.rst:13911 ../../../AMDGPUUsage.rst:13983 -#: ../../../AMDGPUUsage.rst:14600 ../../../AMDGPUUsage.rst:14890 -#: ../../../AMDGPUUsage.rst:14909 ../../../AMDGPUUsage.rst:14914 -#: ../../../AMDGPUUsage.rst:15062 ../../../AMDGPUUsage.rst:15065 -#: ../../../AMDGPUUsage.rst:15095 ../../../AMDGPUUsage.rst:15119 -#: ../../../AMDGPUUsage.rst:15157 ../../../AMDGPUUsage.rst:15189 -#: ../../../AMDGPUUsage.rst:15531 ../../../AMDGPUUsage.rst:15534 -#: ../../../AMDGPUUsage.rst:15583 ../../../AMDGPUUsage.rst:15620 -#: ../../../AMDGPUUsage.rst:15800 ../../../AMDGPUUsage.rst:15803 -#: ../../../AMDGPUUsage.rst:15883 ../../../AMDGPUUsage.rst:15944 -#: ../../../AMDGPUUsage.rst:16023 ../../../AMDGPUUsage.rst:16106 -#: ../../../AMDGPUUsage.rst:16734 ../../../AMDGPUUsage.rst:17016 -#: ../../../AMDGPUUsage.rst:17040 ../../../AMDGPUUsage.rst:17049 -#: ../../../AMDGPUUsage.rst:17162 ../../../AMDGPUUsage.rst:17169 -#: ../../../AMDGPUUsage.rst:17191 ../../../AMDGPUUsage.rst:17203 -#: ../../../AMDGPUUsage.rst:17228 ../../../AMDGPUUsage.rst:17265 -#: ../../../AMDGPUUsage.rst:17590 ../../../AMDGPUUsage.rst:17596 -#: ../../../AMDGPUUsage.rst:17644 ../../../AMDGPUUsage.rst:17677 -#: ../../../AMDGPUUsage.rst:17848 ../../../AMDGPUUsage.rst:17854 -#: ../../../AMDGPUUsage.rst:17923 ../../../AMDGPUUsage.rst:17967 -#: ../../../AMDGPUUsage.rst:18033 ../../../AMDGPUUsage.rst:18112 -#: ../../../AMDGPUUsage.rst:18701 +#: ../../../AMDGPUUsage.rst:7422 ../../../AMDGPUUsage.rst:7438 +#: ../../../AMDGPUUsage.rst:7443 ../../../AMDGPUUsage.rst:7519 +#: ../../../AMDGPUUsage.rst:7522 ../../../AMDGPUUsage.rst:7523 +#: ../../../AMDGPUUsage.rst:7540 ../../../AMDGPUUsage.rst:7564 +#: ../../../AMDGPUUsage.rst:7765 ../../../AMDGPUUsage.rst:7768 +#: ../../../AMDGPUUsage.rst:7789 ../../../AMDGPUUsage.rst:7790 +#: ../../../AMDGPUUsage.rst:7921 ../../../AMDGPUUsage.rst:7924 +#: ../../../AMDGPUUsage.rst:7946 ../../../AMDGPUUsage.rst:7963 +#: ../../../AMDGPUUsage.rst:8000 ../../../AMDGPUUsage.rst:8063 +#: ../../../AMDGPUUsage.rst:8464 ../../../AMDGPUUsage.rst:8682 +#: ../../../AMDGPUUsage.rst:8713 ../../../AMDGPUUsage.rst:8717 +#: ../../../AMDGPUUsage.rst:8719 ../../../AMDGPUUsage.rst:8929 +#: ../../../AMDGPUUsage.rst:8931 ../../../AMDGPUUsage.rst:8936 +#: ../../../AMDGPUUsage.rst:8962 ../../../AMDGPUUsage.rst:8983 +#: ../../../AMDGPUUsage.rst:9015 ../../../AMDGPUUsage.rst:9039 +#: ../../../AMDGPUUsage.rst:9069 ../../../AMDGPUUsage.rst:9098 +#: ../../../AMDGPUUsage.rst:9498 ../../../AMDGPUUsage.rst:9500 +#: ../../../AMDGPUUsage.rst:9505 ../../../AMDGPUUsage.rst:9538 +#: ../../../AMDGPUUsage.rst:9543 ../../../AMDGPUUsage.rst:9585 +#: ../../../AMDGPUUsage.rst:9818 ../../../AMDGPUUsage.rst:9820 +#: ../../../AMDGPUUsage.rst:9825 ../../../AMDGPUUsage.rst:9887 +#: ../../../AMDGPUUsage.rst:9908 ../../../AMDGPUUsage.rst:9972 +#: ../../../AMDGPUUsage.rst:10037 ../../../AMDGPUUsage.rst:10118 +#: ../../../AMDGPUUsage.rst:10188 ../../../AMDGPUUsage.rst:10784 +#: ../../../AMDGPUUsage.rst:11006 ../../../AMDGPUUsage.rst:11035 +#: ../../../AMDGPUUsage.rst:11039 ../../../AMDGPUUsage.rst:11041 +#: ../../../AMDGPUUsage.rst:11236 ../../../AMDGPUUsage.rst:11238 +#: ../../../AMDGPUUsage.rst:11243 ../../../AMDGPUUsage.rst:11269 +#: ../../../AMDGPUUsage.rst:11290 ../../../AMDGPUUsage.rst:11322 +#: ../../../AMDGPUUsage.rst:11346 ../../../AMDGPUUsage.rst:11374 +#: ../../../AMDGPUUsage.rst:11403 ../../../AMDGPUUsage.rst:11810 +#: ../../../AMDGPUUsage.rst:11812 ../../../AMDGPUUsage.rst:11817 +#: ../../../AMDGPUUsage.rst:11850 ../../../AMDGPUUsage.rst:11855 +#: ../../../AMDGPUUsage.rst:11907 ../../../AMDGPUUsage.rst:12151 +#: ../../../AMDGPUUsage.rst:12153 ../../../AMDGPUUsage.rst:12158 +#: ../../../AMDGPUUsage.rst:12220 ../../../AMDGPUUsage.rst:12241 +#: ../../../AMDGPUUsage.rst:12305 ../../../AMDGPUUsage.rst:12380 +#: ../../../AMDGPUUsage.rst:12459 ../../../AMDGPUUsage.rst:12539 +#: ../../../AMDGPUUsage.rst:13142 ../../../AMDGPUUsage.rst:13368 +#: ../../../AMDGPUUsage.rst:13395 ../../../AMDGPUUsage.rst:13400 +#: ../../../AMDGPUUsage.rst:13554 ../../../AMDGPUUsage.rst:13557 +#: ../../../AMDGPUUsage.rst:13582 ../../../AMDGPUUsage.rst:13604 +#: ../../../AMDGPUUsage.rst:13633 ../../../AMDGPUUsage.rst:13661 +#: ../../../AMDGPUUsage.rst:14005 ../../../AMDGPUUsage.rst:14008 +#: ../../../AMDGPUUsage.rst:14053 ../../../AMDGPUUsage.rst:14088 +#: ../../../AMDGPUUsage.rst:14258 ../../../AMDGPUUsage.rst:14261 +#: ../../../AMDGPUUsage.rst:14337 ../../../AMDGPUUsage.rst:14395 +#: ../../../AMDGPUUsage.rst:14466 ../../../AMDGPUUsage.rst:14538 +#: ../../../AMDGPUUsage.rst:15155 ../../../AMDGPUUsage.rst:15445 +#: ../../../AMDGPUUsage.rst:15464 ../../../AMDGPUUsage.rst:15469 +#: ../../../AMDGPUUsage.rst:15617 ../../../AMDGPUUsage.rst:15620 +#: ../../../AMDGPUUsage.rst:15650 ../../../AMDGPUUsage.rst:15674 +#: ../../../AMDGPUUsage.rst:15712 ../../../AMDGPUUsage.rst:15744 +#: ../../../AMDGPUUsage.rst:16086 ../../../AMDGPUUsage.rst:16089 +#: ../../../AMDGPUUsage.rst:16138 ../../../AMDGPUUsage.rst:16175 +#: ../../../AMDGPUUsage.rst:16355 ../../../AMDGPUUsage.rst:16358 +#: ../../../AMDGPUUsage.rst:16438 ../../../AMDGPUUsage.rst:16499 +#: ../../../AMDGPUUsage.rst:16578 ../../../AMDGPUUsage.rst:16661 +#: ../../../AMDGPUUsage.rst:17289 ../../../AMDGPUUsage.rst:17582 +#: ../../../AMDGPUUsage.rst:17606 ../../../AMDGPUUsage.rst:17615 +#: ../../../AMDGPUUsage.rst:17794 ../../../AMDGPUUsage.rst:17801 +#: ../../../AMDGPUUsage.rst:17823 ../../../AMDGPUUsage.rst:17835 +#: ../../../AMDGPUUsage.rst:17860 ../../../AMDGPUUsage.rst:17897 +#: ../../../AMDGPUUsage.rst:17938 ../../../AMDGPUUsage.rst:17978 +#: ../../../AMDGPUUsage.rst:18416 ../../../AMDGPUUsage.rst:18422 +#: ../../../AMDGPUUsage.rst:18470 ../../../AMDGPUUsage.rst:18503 +#: ../../../AMDGPUUsage.rst:18734 ../../../AMDGPUUsage.rst:18740 +#: ../../../AMDGPUUsage.rst:18809 ../../../AMDGPUUsage.rst:18853 +#: ../../../AMDGPUUsage.rst:18919 ../../../AMDGPUUsage.rst:19033 +#: ../../../AMDGPUUsage.rst:19690 msgid "atomicrmw" msgstr "" -#: ../../../AMDGPUUsage.rst:6867 ../../../AMDGPUUsage.rst:8127 -#: ../../../AMDGPUUsage.rst:10451 ../../../AMDGPUUsage.rst:12813 -#: ../../../AMDGPUUsage.rst:14890 ../../../AMDGPUUsage.rst:17016 +#: ../../../AMDGPUUsage.rst:7422 ../../../AMDGPUUsage.rst:8682 +#: ../../../AMDGPUUsage.rst:11006 ../../../AMDGPUUsage.rst:13368 +#: ../../../AMDGPUUsage.rst:15445 ../../../AMDGPUUsage.rst:17582 msgid "*Same as monotonic atomic*." msgstr "" -#: ../../../AMDGPUUsage.rst:6868 ../../../AMDGPUUsage.rst:8128 -#: ../../../AMDGPUUsage.rst:10452 ../../../AMDGPUUsage.rst:12814 -#: ../../../AMDGPUUsage.rst:14891 ../../../AMDGPUUsage.rst:17017 +#: ../../../AMDGPUUsage.rst:7423 ../../../AMDGPUUsage.rst:8683 +#: ../../../AMDGPUUsage.rst:11007 ../../../AMDGPUUsage.rst:13369 +#: ../../../AMDGPUUsage.rst:15446 ../../../AMDGPUUsage.rst:17583 msgid "**Monotonic Atomic**" msgstr "" -#: ../../../AMDGPUUsage.rst:6870 ../../../AMDGPUUsage.rst:6875 -#: ../../../AMDGPUUsage.rst:6880 ../../../AMDGPUUsage.rst:6883 -#: ../../../AMDGPUUsage.rst:6888 ../../../AMDGPUUsage.rst:6893 -#: ../../../AMDGPUUsage.rst:6964 ../../../AMDGPUUsage.rst:7036 -#: ../../../AMDGPUUsage.rst:7143 ../../../AMDGPUUsage.rst:7210 -#: ../../../AMDGPUUsage.rst:7275 ../../../AMDGPUUsage.rst:7366 -#: ../../../AMDGPUUsage.rst:7574 ../../../AMDGPUUsage.rst:7736 -#: ../../../AMDGPUUsage.rst:7904 ../../../AMDGPUUsage.rst:7909 -#: ../../../AMDGPUUsage.rst:7914 ../../../AMDGPUUsage.rst:8130 -#: ../../../AMDGPUUsage.rst:8138 ../../../AMDGPUUsage.rst:8147 -#: ../../../AMDGPUUsage.rst:8153 ../../../AMDGPUUsage.rst:8158 -#: ../../../AMDGPUUsage.rst:8164 ../../../AMDGPUUsage.rst:8171 -#: ../../../AMDGPUUsage.rst:8374 ../../../AMDGPUUsage.rst:8376 -#: ../../../AMDGPUUsage.rst:8579 ../../../AMDGPUUsage.rst:8800 -#: ../../../AMDGPUUsage.rst:8802 ../../../AMDGPUUsage.rst:8943 -#: ../../../AMDGPUUsage.rst:8945 ../../../AMDGPUUsage.rst:9083 -#: ../../../AMDGPUUsage.rst:9263 ../../../AMDGPUUsage.rst:9265 -#: ../../../AMDGPUUsage.rst:9719 ../../../AMDGPUUsage.rst:10031 -#: ../../../AMDGPUUsage.rst:10224 ../../../AMDGPUUsage.rst:10229 -#: ../../../AMDGPUUsage.rst:10234 ../../../AMDGPUUsage.rst:10454 -#: ../../../AMDGPUUsage.rst:10458 ../../../AMDGPUUsage.rst:10467 -#: ../../../AMDGPUUsage.rst:10475 ../../../AMDGPUUsage.rst:10480 -#: ../../../AMDGPUUsage.rst:10486 ../../../AMDGPUUsage.rst:10493 -#: ../../../AMDGPUUsage.rst:10681 ../../../AMDGPUUsage.rst:10683 -#: ../../../AMDGPUUsage.rst:10880 ../../../AMDGPUUsage.rst:11096 -#: ../../../AMDGPUUsage.rst:11099 ../../../AMDGPUUsage.rst:11255 -#: ../../../AMDGPUUsage.rst:11257 ../../../AMDGPUUsage.rst:11406 -#: ../../../AMDGPUUsage.rst:11596 ../../../AMDGPUUsage.rst:11598 -#: ../../../AMDGPUUsage.rst:12067 ../../../AMDGPUUsage.rst:12389 -#: ../../../AMDGPUUsage.rst:12582 ../../../AMDGPUUsage.rst:12587 -#: ../../../AMDGPUUsage.rst:12592 ../../../AMDGPUUsage.rst:12816 -#: ../../../AMDGPUUsage.rst:12824 ../../../AMDGPUUsage.rst:12832 -#: ../../../AMDGPUUsage.rst:12837 ../../../AMDGPUUsage.rst:12840 -#: ../../../AMDGPUUsage.rst:12845 ../../../AMDGPUUsage.rst:12850 -#: ../../../AMDGPUUsage.rst:12999 ../../../AMDGPUUsage.rst:13137 -#: ../../../AMDGPUUsage.rst:13318 ../../../AMDGPUUsage.rst:13450 -#: ../../../AMDGPUUsage.rst:13578 ../../../AMDGPUUsage.rst:13703 -#: ../../../AMDGPUUsage.rst:14058 ../../../AMDGPUUsage.rst:14284 -#: ../../../AMDGPUUsage.rst:14595 ../../../AMDGPUUsage.rst:14600 -#: ../../../AMDGPUUsage.rst:14605 ../../../AMDGPUUsage.rst:14809 -#: ../../../AMDGPUUsage.rst:14893 ../../../AMDGPUUsage.rst:14898 -#: ../../../AMDGPUUsage.rst:14901 ../../../AMDGPUUsage.rst:14906 -#: ../../../AMDGPUUsage.rst:14909 ../../../AMDGPUUsage.rst:14914 -#: ../../../AMDGPUUsage.rst:14919 ../../../AMDGPUUsage.rst:15062 -#: ../../../AMDGPUUsage.rst:15225 ../../../AMDGPUUsage.rst:15393 -#: ../../../AMDGPUUsage.rst:15531 ../../../AMDGPUUsage.rst:15672 -#: ../../../AMDGPUUsage.rst:15800 ../../../AMDGPUUsage.rst:16193 -#: ../../../AMDGPUUsage.rst:16418 ../../../AMDGPUUsage.rst:16729 -#: ../../../AMDGPUUsage.rst:16734 ../../../AMDGPUUsage.rst:16739 -#: ../../../AMDGPUUsage.rst:17019 ../../../AMDGPUUsage.rst:17025 -#: ../../../AMDGPUUsage.rst:17028 ../../../AMDGPUUsage.rst:17037 -#: ../../../AMDGPUUsage.rst:17040 ../../../AMDGPUUsage.rst:17049 -#: ../../../AMDGPUUsage.rst:17054 ../../../AMDGPUUsage.rst:17162 -#: ../../../AMDGPUUsage.rst:17305 ../../../AMDGPUUsage.rst:17448 -#: ../../../AMDGPUUsage.rst:17590 ../../../AMDGPUUsage.rst:17730 -#: ../../../AMDGPUUsage.rst:17848 ../../../AMDGPUUsage.rst:18195 -#: ../../../AMDGPUUsage.rst:18396 ../../../AMDGPUUsage.rst:18695 -#: ../../../AMDGPUUsage.rst:18701 ../../../AMDGPUUsage.rst:18707 +#: ../../../AMDGPUUsage.rst:7425 ../../../AMDGPUUsage.rst:7430 +#: ../../../AMDGPUUsage.rst:7435 ../../../AMDGPUUsage.rst:7438 +#: ../../../AMDGPUUsage.rst:7443 ../../../AMDGPUUsage.rst:7448 +#: ../../../AMDGPUUsage.rst:7519 ../../../AMDGPUUsage.rst:7591 +#: ../../../AMDGPUUsage.rst:7698 ../../../AMDGPUUsage.rst:7765 +#: ../../../AMDGPUUsage.rst:7830 ../../../AMDGPUUsage.rst:7921 +#: ../../../AMDGPUUsage.rst:8129 ../../../AMDGPUUsage.rst:8291 +#: ../../../AMDGPUUsage.rst:8459 ../../../AMDGPUUsage.rst:8464 +#: ../../../AMDGPUUsage.rst:8469 ../../../AMDGPUUsage.rst:8685 +#: ../../../AMDGPUUsage.rst:8693 ../../../AMDGPUUsage.rst:8702 +#: ../../../AMDGPUUsage.rst:8708 ../../../AMDGPUUsage.rst:8713 +#: ../../../AMDGPUUsage.rst:8719 ../../../AMDGPUUsage.rst:8726 +#: ../../../AMDGPUUsage.rst:8929 ../../../AMDGPUUsage.rst:8931 +#: ../../../AMDGPUUsage.rst:9134 ../../../AMDGPUUsage.rst:9355 +#: ../../../AMDGPUUsage.rst:9357 ../../../AMDGPUUsage.rst:9498 +#: ../../../AMDGPUUsage.rst:9500 ../../../AMDGPUUsage.rst:9638 +#: ../../../AMDGPUUsage.rst:9818 ../../../AMDGPUUsage.rst:9820 +#: ../../../AMDGPUUsage.rst:10274 ../../../AMDGPUUsage.rst:10586 +#: ../../../AMDGPUUsage.rst:10779 ../../../AMDGPUUsage.rst:10784 +#: ../../../AMDGPUUsage.rst:10789 ../../../AMDGPUUsage.rst:11009 +#: ../../../AMDGPUUsage.rst:11013 ../../../AMDGPUUsage.rst:11022 +#: ../../../AMDGPUUsage.rst:11030 ../../../AMDGPUUsage.rst:11035 +#: ../../../AMDGPUUsage.rst:11041 ../../../AMDGPUUsage.rst:11048 +#: ../../../AMDGPUUsage.rst:11236 ../../../AMDGPUUsage.rst:11238 +#: ../../../AMDGPUUsage.rst:11435 ../../../AMDGPUUsage.rst:11651 +#: ../../../AMDGPUUsage.rst:11654 ../../../AMDGPUUsage.rst:11810 +#: ../../../AMDGPUUsage.rst:11812 ../../../AMDGPUUsage.rst:11961 +#: ../../../AMDGPUUsage.rst:12151 ../../../AMDGPUUsage.rst:12153 +#: ../../../AMDGPUUsage.rst:12622 ../../../AMDGPUUsage.rst:12944 +#: ../../../AMDGPUUsage.rst:13137 ../../../AMDGPUUsage.rst:13142 +#: ../../../AMDGPUUsage.rst:13147 ../../../AMDGPUUsage.rst:13371 +#: ../../../AMDGPUUsage.rst:13379 ../../../AMDGPUUsage.rst:13387 +#: ../../../AMDGPUUsage.rst:13392 ../../../AMDGPUUsage.rst:13395 +#: ../../../AMDGPUUsage.rst:13400 ../../../AMDGPUUsage.rst:13405 +#: ../../../AMDGPUUsage.rst:13554 ../../../AMDGPUUsage.rst:13692 +#: ../../../AMDGPUUsage.rst:13873 ../../../AMDGPUUsage.rst:14005 +#: ../../../AMDGPUUsage.rst:14133 ../../../AMDGPUUsage.rst:14258 +#: ../../../AMDGPUUsage.rst:14613 ../../../AMDGPUUsage.rst:14839 +#: ../../../AMDGPUUsage.rst:15150 ../../../AMDGPUUsage.rst:15155 +#: ../../../AMDGPUUsage.rst:15160 ../../../AMDGPUUsage.rst:15364 +#: ../../../AMDGPUUsage.rst:15448 ../../../AMDGPUUsage.rst:15453 +#: ../../../AMDGPUUsage.rst:15456 ../../../AMDGPUUsage.rst:15461 +#: ../../../AMDGPUUsage.rst:15464 ../../../AMDGPUUsage.rst:15469 +#: ../../../AMDGPUUsage.rst:15474 ../../../AMDGPUUsage.rst:15617 +#: ../../../AMDGPUUsage.rst:15780 ../../../AMDGPUUsage.rst:15948 +#: ../../../AMDGPUUsage.rst:16086 ../../../AMDGPUUsage.rst:16227 +#: ../../../AMDGPUUsage.rst:16355 ../../../AMDGPUUsage.rst:16748 +#: ../../../AMDGPUUsage.rst:16973 ../../../AMDGPUUsage.rst:17284 +#: ../../../AMDGPUUsage.rst:17289 ../../../AMDGPUUsage.rst:17294 +#: ../../../AMDGPUUsage.rst:17585 ../../../AMDGPUUsage.rst:17591 +#: ../../../AMDGPUUsage.rst:17594 ../../../AMDGPUUsage.rst:17603 +#: ../../../AMDGPUUsage.rst:17606 ../../../AMDGPUUsage.rst:17615 +#: ../../../AMDGPUUsage.rst:17620 ../../../AMDGPUUsage.rst:17794 +#: ../../../AMDGPUUsage.rst:18023 ../../../AMDGPUUsage.rst:18244 +#: ../../../AMDGPUUsage.rst:18416 ../../../AMDGPUUsage.rst:18586 +#: ../../../AMDGPUUsage.rst:18734 ../../../AMDGPUUsage.rst:19150 +#: ../../../AMDGPUUsage.rst:19385 ../../../AMDGPUUsage.rst:19684 +#: ../../../AMDGPUUsage.rst:19690 ../../../AMDGPUUsage.rst:19696 msgid "singlethread" msgstr "" -#: ../../../AMDGPUUsage.rst:6871 ../../../AMDGPUUsage.rst:6876 -#: ../../../AMDGPUUsage.rst:6881 ../../../AMDGPUUsage.rst:6884 -#: ../../../AMDGPUUsage.rst:6889 ../../../AMDGPUUsage.rst:6894 -#: ../../../AMDGPUUsage.rst:6965 ../../../AMDGPUUsage.rst:7037 -#: ../../../AMDGPUUsage.rst:7144 ../../../AMDGPUUsage.rst:7211 -#: ../../../AMDGPUUsage.rst:7276 ../../../AMDGPUUsage.rst:7367 -#: ../../../AMDGPUUsage.rst:7575 ../../../AMDGPUUsage.rst:7737 -#: ../../../AMDGPUUsage.rst:7905 ../../../AMDGPUUsage.rst:7910 -#: ../../../AMDGPUUsage.rst:7915 ../../../AMDGPUUsage.rst:8131 -#: ../../../AMDGPUUsage.rst:8139 ../../../AMDGPUUsage.rst:8148 -#: ../../../AMDGPUUsage.rst:8154 ../../../AMDGPUUsage.rst:8159 -#: ../../../AMDGPUUsage.rst:8165 ../../../AMDGPUUsage.rst:8172 -#: ../../../AMDGPUUsage.rst:8375 ../../../AMDGPUUsage.rst:8377 -#: ../../../AMDGPUUsage.rst:8580 ../../../AMDGPUUsage.rst:8801 -#: ../../../AMDGPUUsage.rst:8803 ../../../AMDGPUUsage.rst:8944 -#: ../../../AMDGPUUsage.rst:8946 ../../../AMDGPUUsage.rst:9084 -#: ../../../AMDGPUUsage.rst:9264 ../../../AMDGPUUsage.rst:9266 -#: ../../../AMDGPUUsage.rst:9720 ../../../AMDGPUUsage.rst:10032 -#: ../../../AMDGPUUsage.rst:10225 ../../../AMDGPUUsage.rst:10230 -#: ../../../AMDGPUUsage.rst:10235 ../../../AMDGPUUsage.rst:10455 -#: ../../../AMDGPUUsage.rst:10459 ../../../AMDGPUUsage.rst:10468 -#: ../../../AMDGPUUsage.rst:10476 ../../../AMDGPUUsage.rst:10481 -#: ../../../AMDGPUUsage.rst:10487 ../../../AMDGPUUsage.rst:10494 -#: ../../../AMDGPUUsage.rst:10682 ../../../AMDGPUUsage.rst:10684 -#: ../../../AMDGPUUsage.rst:10881 ../../../AMDGPUUsage.rst:11097 -#: ../../../AMDGPUUsage.rst:11100 ../../../AMDGPUUsage.rst:11256 -#: ../../../AMDGPUUsage.rst:11258 ../../../AMDGPUUsage.rst:11407 -#: ../../../AMDGPUUsage.rst:11597 ../../../AMDGPUUsage.rst:11599 -#: ../../../AMDGPUUsage.rst:12068 ../../../AMDGPUUsage.rst:12390 -#: ../../../AMDGPUUsage.rst:12583 ../../../AMDGPUUsage.rst:12588 -#: ../../../AMDGPUUsage.rst:12593 ../../../AMDGPUUsage.rst:12817 -#: ../../../AMDGPUUsage.rst:12825 ../../../AMDGPUUsage.rst:12833 -#: ../../../AMDGPUUsage.rst:12838 ../../../AMDGPUUsage.rst:12841 -#: ../../../AMDGPUUsage.rst:12846 ../../../AMDGPUUsage.rst:12851 -#: ../../../AMDGPUUsage.rst:13000 ../../../AMDGPUUsage.rst:13138 -#: ../../../AMDGPUUsage.rst:13319 ../../../AMDGPUUsage.rst:13451 -#: ../../../AMDGPUUsage.rst:13579 ../../../AMDGPUUsage.rst:13704 -#: ../../../AMDGPUUsage.rst:14059 ../../../AMDGPUUsage.rst:14285 -#: ../../../AMDGPUUsage.rst:14596 ../../../AMDGPUUsage.rst:14601 -#: ../../../AMDGPUUsage.rst:14606 ../../../AMDGPUUsage.rst:14808 -#: ../../../AMDGPUUsage.rst:14894 ../../../AMDGPUUsage.rst:14899 -#: ../../../AMDGPUUsage.rst:14902 ../../../AMDGPUUsage.rst:14907 -#: ../../../AMDGPUUsage.rst:14910 ../../../AMDGPUUsage.rst:14915 -#: ../../../AMDGPUUsage.rst:14920 ../../../AMDGPUUsage.rst:15063 -#: ../../../AMDGPUUsage.rst:15226 ../../../AMDGPUUsage.rst:15394 -#: ../../../AMDGPUUsage.rst:15532 ../../../AMDGPUUsage.rst:15673 -#: ../../../AMDGPUUsage.rst:15801 ../../../AMDGPUUsage.rst:16194 -#: ../../../AMDGPUUsage.rst:16419 ../../../AMDGPUUsage.rst:16730 -#: ../../../AMDGPUUsage.rst:16735 ../../../AMDGPUUsage.rst:16740 -#: ../../../AMDGPUUsage.rst:17020 ../../../AMDGPUUsage.rst:17026 -#: ../../../AMDGPUUsage.rst:17029 ../../../AMDGPUUsage.rst:17038 -#: ../../../AMDGPUUsage.rst:17041 ../../../AMDGPUUsage.rst:17050 -#: ../../../AMDGPUUsage.rst:17055 ../../../AMDGPUUsage.rst:17163 -#: ../../../AMDGPUUsage.rst:17306 ../../../AMDGPUUsage.rst:17449 -#: ../../../AMDGPUUsage.rst:17591 ../../../AMDGPUUsage.rst:17731 -#: ../../../AMDGPUUsage.rst:17849 ../../../AMDGPUUsage.rst:18196 -#: ../../../AMDGPUUsage.rst:18397 ../../../AMDGPUUsage.rst:18696 -#: ../../../AMDGPUUsage.rst:18702 ../../../AMDGPUUsage.rst:18708 +#: ../../../AMDGPUUsage.rst:7426 ../../../AMDGPUUsage.rst:7431 +#: ../../../AMDGPUUsage.rst:7436 ../../../AMDGPUUsage.rst:7439 +#: ../../../AMDGPUUsage.rst:7444 ../../../AMDGPUUsage.rst:7449 +#: ../../../AMDGPUUsage.rst:7520 ../../../AMDGPUUsage.rst:7592 +#: ../../../AMDGPUUsage.rst:7699 ../../../AMDGPUUsage.rst:7766 +#: ../../../AMDGPUUsage.rst:7831 ../../../AMDGPUUsage.rst:7922 +#: ../../../AMDGPUUsage.rst:8130 ../../../AMDGPUUsage.rst:8292 +#: ../../../AMDGPUUsage.rst:8460 ../../../AMDGPUUsage.rst:8465 +#: ../../../AMDGPUUsage.rst:8470 ../../../AMDGPUUsage.rst:8686 +#: ../../../AMDGPUUsage.rst:8694 ../../../AMDGPUUsage.rst:8703 +#: ../../../AMDGPUUsage.rst:8709 ../../../AMDGPUUsage.rst:8714 +#: ../../../AMDGPUUsage.rst:8720 ../../../AMDGPUUsage.rst:8727 +#: ../../../AMDGPUUsage.rst:8930 ../../../AMDGPUUsage.rst:8932 +#: ../../../AMDGPUUsage.rst:9135 ../../../AMDGPUUsage.rst:9356 +#: ../../../AMDGPUUsage.rst:9358 ../../../AMDGPUUsage.rst:9499 +#: ../../../AMDGPUUsage.rst:9501 ../../../AMDGPUUsage.rst:9639 +#: ../../../AMDGPUUsage.rst:9819 ../../../AMDGPUUsage.rst:9821 +#: ../../../AMDGPUUsage.rst:10275 ../../../AMDGPUUsage.rst:10587 +#: ../../../AMDGPUUsage.rst:10780 ../../../AMDGPUUsage.rst:10785 +#: ../../../AMDGPUUsage.rst:10790 ../../../AMDGPUUsage.rst:11010 +#: ../../../AMDGPUUsage.rst:11014 ../../../AMDGPUUsage.rst:11023 +#: ../../../AMDGPUUsage.rst:11031 ../../../AMDGPUUsage.rst:11036 +#: ../../../AMDGPUUsage.rst:11042 ../../../AMDGPUUsage.rst:11049 +#: ../../../AMDGPUUsage.rst:11237 ../../../AMDGPUUsage.rst:11239 +#: ../../../AMDGPUUsage.rst:11436 ../../../AMDGPUUsage.rst:11652 +#: ../../../AMDGPUUsage.rst:11655 ../../../AMDGPUUsage.rst:11811 +#: ../../../AMDGPUUsage.rst:11813 ../../../AMDGPUUsage.rst:11962 +#: ../../../AMDGPUUsage.rst:12152 ../../../AMDGPUUsage.rst:12154 +#: ../../../AMDGPUUsage.rst:12623 ../../../AMDGPUUsage.rst:12945 +#: ../../../AMDGPUUsage.rst:13138 ../../../AMDGPUUsage.rst:13143 +#: ../../../AMDGPUUsage.rst:13148 ../../../AMDGPUUsage.rst:13372 +#: ../../../AMDGPUUsage.rst:13380 ../../../AMDGPUUsage.rst:13388 +#: ../../../AMDGPUUsage.rst:13393 ../../../AMDGPUUsage.rst:13396 +#: ../../../AMDGPUUsage.rst:13401 ../../../AMDGPUUsage.rst:13406 +#: ../../../AMDGPUUsage.rst:13555 ../../../AMDGPUUsage.rst:13693 +#: ../../../AMDGPUUsage.rst:13874 ../../../AMDGPUUsage.rst:14006 +#: ../../../AMDGPUUsage.rst:14134 ../../../AMDGPUUsage.rst:14259 +#: ../../../AMDGPUUsage.rst:14614 ../../../AMDGPUUsage.rst:14840 +#: ../../../AMDGPUUsage.rst:15151 ../../../AMDGPUUsage.rst:15156 +#: ../../../AMDGPUUsage.rst:15161 ../../../AMDGPUUsage.rst:15363 +#: ../../../AMDGPUUsage.rst:15449 ../../../AMDGPUUsage.rst:15454 +#: ../../../AMDGPUUsage.rst:15457 ../../../AMDGPUUsage.rst:15462 +#: ../../../AMDGPUUsage.rst:15465 ../../../AMDGPUUsage.rst:15470 +#: ../../../AMDGPUUsage.rst:15475 ../../../AMDGPUUsage.rst:15618 +#: ../../../AMDGPUUsage.rst:15781 ../../../AMDGPUUsage.rst:15949 +#: ../../../AMDGPUUsage.rst:16087 ../../../AMDGPUUsage.rst:16228 +#: ../../../AMDGPUUsage.rst:16356 ../../../AMDGPUUsage.rst:16749 +#: ../../../AMDGPUUsage.rst:16974 ../../../AMDGPUUsage.rst:17285 +#: ../../../AMDGPUUsage.rst:17290 ../../../AMDGPUUsage.rst:17295 +#: ../../../AMDGPUUsage.rst:17586 ../../../AMDGPUUsage.rst:17592 +#: ../../../AMDGPUUsage.rst:17595 ../../../AMDGPUUsage.rst:17604 +#: ../../../AMDGPUUsage.rst:17607 ../../../AMDGPUUsage.rst:17616 +#: ../../../AMDGPUUsage.rst:17621 ../../../AMDGPUUsage.rst:17795 +#: ../../../AMDGPUUsage.rst:18024 ../../../AMDGPUUsage.rst:18245 +#: ../../../AMDGPUUsage.rst:18417 ../../../AMDGPUUsage.rst:18587 +#: ../../../AMDGPUUsage.rst:18735 ../../../AMDGPUUsage.rst:19151 +#: ../../../AMDGPUUsage.rst:19386 ../../../AMDGPUUsage.rst:19685 +#: ../../../AMDGPUUsage.rst:19691 ../../../AMDGPUUsage.rst:19697 msgid "wavefront" msgstr "" -#: ../../../AMDGPUUsage.rst:6872 ../../../AMDGPUUsage.rst:6877 -#: ../../../AMDGPUUsage.rst:6882 ../../../AMDGPUUsage.rst:6885 -#: ../../../AMDGPUUsage.rst:6890 ../../../AMDGPUUsage.rst:6896 -#: ../../../AMDGPUUsage.rst:6897 ../../../AMDGPUUsage.rst:6967 -#: ../../../AMDGPUUsage.rst:6968 ../../../AMDGPUUsage.rst:7038 -#: ../../../AMDGPUUsage.rst:7146 ../../../AMDGPUUsage.rst:7167 -#: ../../../AMDGPUUsage.rst:7213 ../../../AMDGPUUsage.rst:7234 -#: ../../../AMDGPUUsage.rst:7277 ../../../AMDGPUUsage.rst:7369 -#: ../../../AMDGPUUsage.rst:7391 ../../../AMDGPUUsage.rst:7408 -#: ../../../AMDGPUUsage.rst:7576 ../../../AMDGPUUsage.rst:7741 -#: ../../../AMDGPUUsage.rst:7807 ../../../AMDGPUUsage.rst:7906 -#: ../../../AMDGPUUsage.rst:7911 ../../../AMDGPUUsage.rst:7916 -#: ../../../AMDGPUUsage.rst:8132 ../../../AMDGPUUsage.rst:8140 -#: ../../../AMDGPUUsage.rst:8149 ../../../AMDGPUUsage.rst:8155 -#: ../../../AMDGPUUsage.rst:8160 ../../../AMDGPUUsage.rst:8166 -#: ../../../AMDGPUUsage.rst:8174 ../../../AMDGPUUsage.rst:8201 -#: ../../../AMDGPUUsage.rst:8222 ../../../AMDGPUUsage.rst:8381 -#: ../../../AMDGPUUsage.rst:8407 ../../../AMDGPUUsage.rst:8428 -#: ../../../AMDGPUUsage.rst:8581 ../../../AMDGPUUsage.rst:8807 -#: ../../../AMDGPUUsage.rst:8839 ../../../AMDGPUUsage.rst:8950 -#: ../../../AMDGPUUsage.rst:8983 ../../../AMDGPUUsage.rst:9085 -#: ../../../AMDGPUUsage.rst:9270 ../../../AMDGPUUsage.rst:9332 -#: ../../../AMDGPUUsage.rst:9353 ../../../AMDGPUUsage.rst:9721 -#: ../../../AMDGPUUsage.rst:10036 ../../../AMDGPUUsage.rst:10121 -#: ../../../AMDGPUUsage.rst:10226 ../../../AMDGPUUsage.rst:10231 -#: ../../../AMDGPUUsage.rst:10236 ../../../AMDGPUUsage.rst:10456 -#: ../../../AMDGPUUsage.rst:10460 ../../../AMDGPUUsage.rst:10469 -#: ../../../AMDGPUUsage.rst:10477 ../../../AMDGPUUsage.rst:10482 -#: ../../../AMDGPUUsage.rst:10488 ../../../AMDGPUUsage.rst:10496 -#: ../../../AMDGPUUsage.rst:10519 ../../../AMDGPUUsage.rst:10540 -#: ../../../AMDGPUUsage.rst:10688 ../../../AMDGPUUsage.rst:10714 -#: ../../../AMDGPUUsage.rst:10735 ../../../AMDGPUUsage.rst:10882 -#: ../../../AMDGPUUsage.rst:11104 ../../../AMDGPUUsage.rst:11138 -#: ../../../AMDGPUUsage.rst:11262 ../../../AMDGPUUsage.rst:11295 -#: ../../../AMDGPUUsage.rst:11408 ../../../AMDGPUUsage.rst:11603 -#: ../../../AMDGPUUsage.rst:11665 ../../../AMDGPUUsage.rst:11686 -#: ../../../AMDGPUUsage.rst:12069 ../../../AMDGPUUsage.rst:12394 -#: ../../../AMDGPUUsage.rst:12479 ../../../AMDGPUUsage.rst:12584 -#: ../../../AMDGPUUsage.rst:12589 ../../../AMDGPUUsage.rst:12594 -#: ../../../AMDGPUUsage.rst:12818 ../../../AMDGPUUsage.rst:12826 -#: ../../../AMDGPUUsage.rst:12834 ../../../AMDGPUUsage.rst:12839 -#: ../../../AMDGPUUsage.rst:12842 ../../../AMDGPUUsage.rst:12847 -#: ../../../AMDGPUUsage.rst:12853 ../../../AMDGPUUsage.rst:12879 -#: ../../../AMDGPUUsage.rst:12906 ../../../AMDGPUUsage.rst:13002 -#: ../../../AMDGPUUsage.rst:13027 ../../../AMDGPUUsage.rst:13049 -#: ../../../AMDGPUUsage.rst:13139 ../../../AMDGPUUsage.rst:13321 -#: ../../../AMDGPUUsage.rst:13367 ../../../AMDGPUUsage.rst:13453 -#: ../../../AMDGPUUsage.rst:13498 ../../../AMDGPUUsage.rst:13580 -#: ../../../AMDGPUUsage.rst:13706 ../../../AMDGPUUsage.rst:13782 -#: ../../../AMDGPUUsage.rst:13840 ../../../AMDGPUUsage.rst:14060 -#: ../../../AMDGPUUsage.rst:14289 ../../../AMDGPUUsage.rst:14396 -#: ../../../AMDGPUUsage.rst:14597 ../../../AMDGPUUsage.rst:14602 -#: ../../../AMDGPUUsage.rst:14607 ../../../AMDGPUUsage.rst:14807 -#: ../../../AMDGPUUsage.rst:14895 ../../../AMDGPUUsage.rst:14900 -#: ../../../AMDGPUUsage.rst:14903 ../../../AMDGPUUsage.rst:14908 -#: ../../../AMDGPUUsage.rst:14911 ../../../AMDGPUUsage.rst:14916 -#: ../../../AMDGPUUsage.rst:14922 ../../../AMDGPUUsage.rst:14947 -#: ../../../AMDGPUUsage.rst:14973 ../../../AMDGPUUsage.rst:15065 -#: ../../../AMDGPUUsage.rst:15095 ../../../AMDGPUUsage.rst:15119 -#: ../../../AMDGPUUsage.rst:15227 ../../../AMDGPUUsage.rst:15396 -#: ../../../AMDGPUUsage.rst:15441 ../../../AMDGPUUsage.rst:15534 -#: ../../../AMDGPUUsage.rst:15583 ../../../AMDGPUUsage.rst:15674 -#: ../../../AMDGPUUsage.rst:15803 ../../../AMDGPUUsage.rst:15883 -#: ../../../AMDGPUUsage.rst:15944 ../../../AMDGPUUsage.rst:16195 -#: ../../../AMDGPUUsage.rst:16423 ../../../AMDGPUUsage.rst:16529 -#: ../../../AMDGPUUsage.rst:16731 ../../../AMDGPUUsage.rst:16736 -#: ../../../AMDGPUUsage.rst:16741 ../../../AMDGPUUsage.rst:17021 -#: ../../../AMDGPUUsage.rst:17027 ../../../AMDGPUUsage.rst:17030 -#: ../../../AMDGPUUsage.rst:17039 ../../../AMDGPUUsage.rst:17042 -#: ../../../AMDGPUUsage.rst:17051 ../../../AMDGPUUsage.rst:17057 -#: ../../../AMDGPUUsage.rst:17070 ../../../AMDGPUUsage.rst:17086 -#: ../../../AMDGPUUsage.rst:17169 ../../../AMDGPUUsage.rst:17191 -#: ../../../AMDGPUUsage.rst:17203 ../../../AMDGPUUsage.rst:17307 -#: ../../../AMDGPUUsage.rst:17455 ../../../AMDGPUUsage.rst:17503 -#: ../../../AMDGPUUsage.rst:17596 ../../../AMDGPUUsage.rst:17644 -#: ../../../AMDGPUUsage.rst:17732 ../../../AMDGPUUsage.rst:17854 -#: ../../../AMDGPUUsage.rst:17923 ../../../AMDGPUUsage.rst:17967 -#: ../../../AMDGPUUsage.rst:18197 ../../../AMDGPUUsage.rst:18401 -#: ../../../AMDGPUUsage.rst:18503 ../../../AMDGPUUsage.rst:18697 -#: ../../../AMDGPUUsage.rst:18703 ../../../AMDGPUUsage.rst:18709 +#: ../../../AMDGPUUsage.rst:7427 ../../../AMDGPUUsage.rst:7432 +#: ../../../AMDGPUUsage.rst:7437 ../../../AMDGPUUsage.rst:7440 +#: ../../../AMDGPUUsage.rst:7445 ../../../AMDGPUUsage.rst:7451 +#: ../../../AMDGPUUsage.rst:7452 ../../../AMDGPUUsage.rst:7522 +#: ../../../AMDGPUUsage.rst:7523 ../../../AMDGPUUsage.rst:7593 +#: ../../../AMDGPUUsage.rst:7701 ../../../AMDGPUUsage.rst:7722 +#: ../../../AMDGPUUsage.rst:7768 ../../../AMDGPUUsage.rst:7789 +#: ../../../AMDGPUUsage.rst:7832 ../../../AMDGPUUsage.rst:7924 +#: ../../../AMDGPUUsage.rst:7946 ../../../AMDGPUUsage.rst:7963 +#: ../../../AMDGPUUsage.rst:8131 ../../../AMDGPUUsage.rst:8296 +#: ../../../AMDGPUUsage.rst:8362 ../../../AMDGPUUsage.rst:8461 +#: ../../../AMDGPUUsage.rst:8466 ../../../AMDGPUUsage.rst:8471 +#: ../../../AMDGPUUsage.rst:8687 ../../../AMDGPUUsage.rst:8695 +#: ../../../AMDGPUUsage.rst:8704 ../../../AMDGPUUsage.rst:8710 +#: ../../../AMDGPUUsage.rst:8715 ../../../AMDGPUUsage.rst:8721 +#: ../../../AMDGPUUsage.rst:8729 ../../../AMDGPUUsage.rst:8756 +#: ../../../AMDGPUUsage.rst:8777 ../../../AMDGPUUsage.rst:8936 +#: ../../../AMDGPUUsage.rst:8962 ../../../AMDGPUUsage.rst:8983 +#: ../../../AMDGPUUsage.rst:9136 ../../../AMDGPUUsage.rst:9362 +#: ../../../AMDGPUUsage.rst:9394 ../../../AMDGPUUsage.rst:9505 +#: ../../../AMDGPUUsage.rst:9538 ../../../AMDGPUUsage.rst:9640 +#: ../../../AMDGPUUsage.rst:9825 ../../../AMDGPUUsage.rst:9887 +#: ../../../AMDGPUUsage.rst:9908 ../../../AMDGPUUsage.rst:10276 +#: ../../../AMDGPUUsage.rst:10591 ../../../AMDGPUUsage.rst:10676 +#: ../../../AMDGPUUsage.rst:10781 ../../../AMDGPUUsage.rst:10786 +#: ../../../AMDGPUUsage.rst:10791 ../../../AMDGPUUsage.rst:11011 +#: ../../../AMDGPUUsage.rst:11015 ../../../AMDGPUUsage.rst:11024 +#: ../../../AMDGPUUsage.rst:11032 ../../../AMDGPUUsage.rst:11037 +#: ../../../AMDGPUUsage.rst:11043 ../../../AMDGPUUsage.rst:11051 +#: ../../../AMDGPUUsage.rst:11074 ../../../AMDGPUUsage.rst:11095 +#: ../../../AMDGPUUsage.rst:11243 ../../../AMDGPUUsage.rst:11269 +#: ../../../AMDGPUUsage.rst:11290 ../../../AMDGPUUsage.rst:11437 +#: ../../../AMDGPUUsage.rst:11659 ../../../AMDGPUUsage.rst:11693 +#: ../../../AMDGPUUsage.rst:11817 ../../../AMDGPUUsage.rst:11850 +#: ../../../AMDGPUUsage.rst:11963 ../../../AMDGPUUsage.rst:12158 +#: ../../../AMDGPUUsage.rst:12220 ../../../AMDGPUUsage.rst:12241 +#: ../../../AMDGPUUsage.rst:12624 ../../../AMDGPUUsage.rst:12949 +#: ../../../AMDGPUUsage.rst:13034 ../../../AMDGPUUsage.rst:13139 +#: ../../../AMDGPUUsage.rst:13144 ../../../AMDGPUUsage.rst:13149 +#: ../../../AMDGPUUsage.rst:13373 ../../../AMDGPUUsage.rst:13381 +#: ../../../AMDGPUUsage.rst:13389 ../../../AMDGPUUsage.rst:13394 +#: ../../../AMDGPUUsage.rst:13397 ../../../AMDGPUUsage.rst:13402 +#: ../../../AMDGPUUsage.rst:13408 ../../../AMDGPUUsage.rst:13434 +#: ../../../AMDGPUUsage.rst:13461 ../../../AMDGPUUsage.rst:13557 +#: ../../../AMDGPUUsage.rst:13582 ../../../AMDGPUUsage.rst:13604 +#: ../../../AMDGPUUsage.rst:13694 ../../../AMDGPUUsage.rst:13876 +#: ../../../AMDGPUUsage.rst:13922 ../../../AMDGPUUsage.rst:14008 +#: ../../../AMDGPUUsage.rst:14053 ../../../AMDGPUUsage.rst:14135 +#: ../../../AMDGPUUsage.rst:14261 ../../../AMDGPUUsage.rst:14337 +#: ../../../AMDGPUUsage.rst:14395 ../../../AMDGPUUsage.rst:14615 +#: ../../../AMDGPUUsage.rst:14844 ../../../AMDGPUUsage.rst:14951 +#: ../../../AMDGPUUsage.rst:15152 ../../../AMDGPUUsage.rst:15157 +#: ../../../AMDGPUUsage.rst:15162 ../../../AMDGPUUsage.rst:15362 +#: ../../../AMDGPUUsage.rst:15450 ../../../AMDGPUUsage.rst:15455 +#: ../../../AMDGPUUsage.rst:15458 ../../../AMDGPUUsage.rst:15463 +#: ../../../AMDGPUUsage.rst:15466 ../../../AMDGPUUsage.rst:15471 +#: ../../../AMDGPUUsage.rst:15477 ../../../AMDGPUUsage.rst:15502 +#: ../../../AMDGPUUsage.rst:15528 ../../../AMDGPUUsage.rst:15620 +#: ../../../AMDGPUUsage.rst:15650 ../../../AMDGPUUsage.rst:15674 +#: ../../../AMDGPUUsage.rst:15782 ../../../AMDGPUUsage.rst:15951 +#: ../../../AMDGPUUsage.rst:15996 ../../../AMDGPUUsage.rst:16089 +#: ../../../AMDGPUUsage.rst:16138 ../../../AMDGPUUsage.rst:16229 +#: ../../../AMDGPUUsage.rst:16358 ../../../AMDGPUUsage.rst:16438 +#: ../../../AMDGPUUsage.rst:16499 ../../../AMDGPUUsage.rst:16750 +#: ../../../AMDGPUUsage.rst:16978 ../../../AMDGPUUsage.rst:17084 +#: ../../../AMDGPUUsage.rst:17286 ../../../AMDGPUUsage.rst:17291 +#: ../../../AMDGPUUsage.rst:17296 ../../../AMDGPUUsage.rst:17587 +#: ../../../AMDGPUUsage.rst:17593 ../../../AMDGPUUsage.rst:17596 +#: ../../../AMDGPUUsage.rst:17605 ../../../AMDGPUUsage.rst:17608 +#: ../../../AMDGPUUsage.rst:17617 ../../../AMDGPUUsage.rst:17623 +#: ../../../AMDGPUUsage.rst:17636 ../../../AMDGPUUsage.rst:17652 +#: ../../../AMDGPUUsage.rst:17801 ../../../AMDGPUUsage.rst:17823 +#: ../../../AMDGPUUsage.rst:17835 ../../../AMDGPUUsage.rst:18025 +#: ../../../AMDGPUUsage.rst:18251 ../../../AMDGPUUsage.rst:18299 +#: ../../../AMDGPUUsage.rst:18422 ../../../AMDGPUUsage.rst:18470 +#: ../../../AMDGPUUsage.rst:18588 ../../../AMDGPUUsage.rst:18740 +#: ../../../AMDGPUUsage.rst:18809 ../../../AMDGPUUsage.rst:18853 +#: ../../../AMDGPUUsage.rst:19152 ../../../AMDGPUUsage.rst:19390 +#: ../../../AMDGPUUsage.rst:19492 ../../../AMDGPUUsage.rst:19686 +#: ../../../AMDGPUUsage.rst:19692 ../../../AMDGPUUsage.rst:19698 msgid "workgroup" msgstr "" -#: ../../../AMDGPUUsage.rst:6870 ../../../AMDGPUUsage.rst:6893 -#: ../../../AMDGPUUsage.rst:8171 ../../../AMDGPUUsage.rst:10493 -#: ../../../AMDGPUUsage.rst:12850 ../../../AMDGPUUsage.rst:14919 -#: ../../../AMDGPUUsage.rst:17054 +#: ../../../AMDGPUUsage.rst:7425 ../../../AMDGPUUsage.rst:7448 +#: ../../../AMDGPUUsage.rst:8726 ../../../AMDGPUUsage.rst:11048 +#: ../../../AMDGPUUsage.rst:13405 ../../../AMDGPUUsage.rst:15474 +#: ../../../AMDGPUUsage.rst:17620 msgid "buffer/global/ds/flat_load" msgstr "" -#: ../../../AMDGPUUsage.rst:6873 ../../../AMDGPUUsage.rst:6878 -#: ../../../AMDGPUUsage.rst:6886 ../../../AMDGPUUsage.rst:6914 -#: ../../../AMDGPUUsage.rst:6938 ../../../AMDGPUUsage.rst:6985 -#: ../../../AMDGPUUsage.rst:7009 ../../../AMDGPUUsage.rst:7070 -#: ../../../AMDGPUUsage.rst:7168 ../../../AMDGPUUsage.rst:7235 -#: ../../../AMDGPUUsage.rst:7309 ../../../AMDGPUUsage.rst:7445 -#: ../../../AMDGPUUsage.rst:7508 ../../../AMDGPUUsage.rst:7645 -#: ../../../AMDGPUUsage.rst:7813 ../../../AMDGPUUsage.rst:7907 -#: ../../../AMDGPUUsage.rst:7912 ../../../AMDGPUUsage.rst:7917 -#: ../../../AMDGPUUsage.rst:8143 ../../../AMDGPUUsage.rst:8150 -#: ../../../AMDGPUUsage.rst:8161 ../../../AMDGPUUsage.rst:8257 -#: ../../../AMDGPUUsage.rst:8311 ../../../AMDGPUUsage.rst:8460 -#: ../../../AMDGPUUsage.rst:8514 ../../../AMDGPUUsage.rst:8647 -#: ../../../AMDGPUUsage.rst:8844 ../../../AMDGPUUsage.rst:8988 -#: ../../../AMDGPUUsage.rst:9134 ../../../AMDGPUUsage.rst:9417 -#: ../../../AMDGPUUsage.rst:9563 ../../../AMDGPUUsage.rst:9831 -#: ../../../AMDGPUUsage.rst:10131 ../../../AMDGPUUsage.rst:10227 -#: ../../../AMDGPUUsage.rst:10232 ../../../AMDGPUUsage.rst:10237 -#: ../../../AMDGPUUsage.rst:10463 ../../../AMDGPUUsage.rst:10471 -#: ../../../AMDGPUUsage.rst:10483 ../../../AMDGPUUsage.rst:10571 -#: ../../../AMDGPUUsage.rst:10622 ../../../AMDGPUUsage.rst:10767 -#: ../../../AMDGPUUsage.rst:10819 ../../../AMDGPUUsage.rst:10948 -#: ../../../AMDGPUUsage.rst:11143 ../../../AMDGPUUsage.rst:11300 -#: ../../../AMDGPUUsage.rst:11457 ../../../AMDGPUUsage.rst:11750 -#: ../../../AMDGPUUsage.rst:11904 ../../../AMDGPUUsage.rst:12179 -#: ../../../AMDGPUUsage.rst:12489 ../../../AMDGPUUsage.rst:12585 -#: ../../../AMDGPUUsage.rst:12590 ../../../AMDGPUUsage.rst:12595 -#: ../../../AMDGPUUsage.rst:12827 ../../../AMDGPUUsage.rst:12835 -#: ../../../AMDGPUUsage.rst:12843 ../../../AMDGPUUsage.rst:12941 -#: ../../../AMDGPUUsage.rst:12969 ../../../AMDGPUUsage.rst:13078 -#: ../../../AMDGPUUsage.rst:13106 ../../../AMDGPUUsage.rst:13227 -#: ../../../AMDGPUUsage.rst:13402 ../../../AMDGPUUsage.rst:13533 -#: ../../../AMDGPUUsage.rst:13641 ../../../AMDGPUUsage.rst:13911 -#: ../../../AMDGPUUsage.rst:13983 ../../../AMDGPUUsage.rst:14182 -#: ../../../AMDGPUUsage.rst:14488 ../../../AMDGPUUsage.rst:14598 -#: ../../../AMDGPUUsage.rst:14603 ../../../AMDGPUUsage.rst:14608 -#: ../../../AMDGPUUsage.rst:14806 ../../../AMDGPUUsage.rst:14896 -#: ../../../AMDGPUUsage.rst:14904 ../../../AMDGPUUsage.rst:14912 -#: ../../../AMDGPUUsage.rst:15006 ../../../AMDGPUUsage.rst:15033 -#: ../../../AMDGPUUsage.rst:15157 ../../../AMDGPUUsage.rst:15189 -#: ../../../AMDGPUUsage.rst:15311 ../../../AMDGPUUsage.rst:15478 -#: ../../../AMDGPUUsage.rst:15620 ../../../AMDGPUUsage.rst:15732 -#: ../../../AMDGPUUsage.rst:16023 ../../../AMDGPUUsage.rst:16106 -#: ../../../AMDGPUUsage.rst:16311 ../../../AMDGPUUsage.rst:16621 -#: ../../../AMDGPUUsage.rst:16732 ../../../AMDGPUUsage.rst:16737 -#: ../../../AMDGPUUsage.rst:16742 ../../../AMDGPUUsage.rst:17023 -#: ../../../AMDGPUUsage.rst:17032 ../../../AMDGPUUsage.rst:17044 -#: ../../../AMDGPUUsage.rst:17107 ../../../AMDGPUUsage.rst:17134 -#: ../../../AMDGPUUsage.rst:17229 ../../../AMDGPUUsage.rst:17266 -#: ../../../AMDGPUUsage.rst:17373 ../../../AMDGPUUsage.rst:17536 -#: ../../../AMDGPUUsage.rst:17677 ../../../AMDGPUUsage.rst:17786 -#: ../../../AMDGPUUsage.rst:18033 ../../../AMDGPUUsage.rst:18112 -#: ../../../AMDGPUUsage.rst:18297 ../../../AMDGPUUsage.rst:18592 -#: ../../../AMDGPUUsage.rst:18699 ../../../AMDGPUUsage.rst:18705 -#: ../../../AMDGPUUsage.rst:18711 +#: ../../../AMDGPUUsage.rst:7428 ../../../AMDGPUUsage.rst:7433 +#: ../../../AMDGPUUsage.rst:7441 ../../../AMDGPUUsage.rst:7469 +#: ../../../AMDGPUUsage.rst:7493 ../../../AMDGPUUsage.rst:7540 +#: ../../../AMDGPUUsage.rst:7564 ../../../AMDGPUUsage.rst:7625 +#: ../../../AMDGPUUsage.rst:7723 ../../../AMDGPUUsage.rst:7790 +#: ../../../AMDGPUUsage.rst:7864 ../../../AMDGPUUsage.rst:8000 +#: ../../../AMDGPUUsage.rst:8063 ../../../AMDGPUUsage.rst:8200 +#: ../../../AMDGPUUsage.rst:8368 ../../../AMDGPUUsage.rst:8462 +#: ../../../AMDGPUUsage.rst:8467 ../../../AMDGPUUsage.rst:8472 +#: ../../../AMDGPUUsage.rst:8698 ../../../AMDGPUUsage.rst:8705 +#: ../../../AMDGPUUsage.rst:8716 ../../../AMDGPUUsage.rst:8812 +#: ../../../AMDGPUUsage.rst:8866 ../../../AMDGPUUsage.rst:9015 +#: ../../../AMDGPUUsage.rst:9069 ../../../AMDGPUUsage.rst:9202 +#: ../../../AMDGPUUsage.rst:9399 ../../../AMDGPUUsage.rst:9543 +#: ../../../AMDGPUUsage.rst:9689 ../../../AMDGPUUsage.rst:9972 +#: ../../../AMDGPUUsage.rst:10118 ../../../AMDGPUUsage.rst:10386 +#: ../../../AMDGPUUsage.rst:10686 ../../../AMDGPUUsage.rst:10782 +#: ../../../AMDGPUUsage.rst:10787 ../../../AMDGPUUsage.rst:10792 +#: ../../../AMDGPUUsage.rst:11018 ../../../AMDGPUUsage.rst:11026 +#: ../../../AMDGPUUsage.rst:11038 ../../../AMDGPUUsage.rst:11126 +#: ../../../AMDGPUUsage.rst:11177 ../../../AMDGPUUsage.rst:11322 +#: ../../../AMDGPUUsage.rst:11374 ../../../AMDGPUUsage.rst:11503 +#: ../../../AMDGPUUsage.rst:11698 ../../../AMDGPUUsage.rst:11855 +#: ../../../AMDGPUUsage.rst:12012 ../../../AMDGPUUsage.rst:12305 +#: ../../../AMDGPUUsage.rst:12459 ../../../AMDGPUUsage.rst:12734 +#: ../../../AMDGPUUsage.rst:13044 ../../../AMDGPUUsage.rst:13140 +#: ../../../AMDGPUUsage.rst:13145 ../../../AMDGPUUsage.rst:13150 +#: ../../../AMDGPUUsage.rst:13382 ../../../AMDGPUUsage.rst:13390 +#: ../../../AMDGPUUsage.rst:13398 ../../../AMDGPUUsage.rst:13496 +#: ../../../AMDGPUUsage.rst:13524 ../../../AMDGPUUsage.rst:13633 +#: ../../../AMDGPUUsage.rst:13661 ../../../AMDGPUUsage.rst:13782 +#: ../../../AMDGPUUsage.rst:13957 ../../../AMDGPUUsage.rst:14088 +#: ../../../AMDGPUUsage.rst:14196 ../../../AMDGPUUsage.rst:14466 +#: ../../../AMDGPUUsage.rst:14538 ../../../AMDGPUUsage.rst:14737 +#: ../../../AMDGPUUsage.rst:15043 ../../../AMDGPUUsage.rst:15153 +#: ../../../AMDGPUUsage.rst:15158 ../../../AMDGPUUsage.rst:15163 +#: ../../../AMDGPUUsage.rst:15361 ../../../AMDGPUUsage.rst:15451 +#: ../../../AMDGPUUsage.rst:15459 ../../../AMDGPUUsage.rst:15467 +#: ../../../AMDGPUUsage.rst:15561 ../../../AMDGPUUsage.rst:15588 +#: ../../../AMDGPUUsage.rst:15712 ../../../AMDGPUUsage.rst:15744 +#: ../../../AMDGPUUsage.rst:15866 ../../../AMDGPUUsage.rst:16033 +#: ../../../AMDGPUUsage.rst:16175 ../../../AMDGPUUsage.rst:16287 +#: ../../../AMDGPUUsage.rst:16578 ../../../AMDGPUUsage.rst:16661 +#: ../../../AMDGPUUsage.rst:16866 ../../../AMDGPUUsage.rst:17176 +#: ../../../AMDGPUUsage.rst:17287 ../../../AMDGPUUsage.rst:17292 +#: ../../../AMDGPUUsage.rst:17297 ../../../AMDGPUUsage.rst:17589 +#: ../../../AMDGPUUsage.rst:17598 ../../../AMDGPUUsage.rst:17610 +#: ../../../AMDGPUUsage.rst:17699 ../../../AMDGPUUsage.rst:17760 +#: ../../../AMDGPUUsage.rst:17897 ../../../AMDGPUUsage.rst:17978 +#: ../../../AMDGPUUsage.rst:18163 ../../../AMDGPUUsage.rst:18332 +#: ../../../AMDGPUUsage.rst:18503 ../../../AMDGPUUsage.rst:18642 +#: ../../../AMDGPUUsage.rst:18919 ../../../AMDGPUUsage.rst:19033 +#: ../../../AMDGPUUsage.rst:19252 ../../../AMDGPUUsage.rst:19581 +#: ../../../AMDGPUUsage.rst:19688 ../../../AMDGPUUsage.rst:19694 +#: ../../../AMDGPUUsage.rst:19700 msgid "agent" msgstr "" -#: ../../../AMDGPUUsage.rst:6874 ../../../AMDGPUUsage.rst:6879 -#: ../../../AMDGPUUsage.rst:6887 ../../../AMDGPUUsage.rst:6915 -#: ../../../AMDGPUUsage.rst:6939 ../../../AMDGPUUsage.rst:6986 -#: ../../../AMDGPUUsage.rst:7010 ../../../AMDGPUUsage.rst:7071 -#: ../../../AMDGPUUsage.rst:7169 ../../../AMDGPUUsage.rst:7236 -#: ../../../AMDGPUUsage.rst:7310 ../../../AMDGPUUsage.rst:7446 -#: ../../../AMDGPUUsage.rst:7509 ../../../AMDGPUUsage.rst:7646 -#: ../../../AMDGPUUsage.rst:7814 ../../../AMDGPUUsage.rst:7908 -#: ../../../AMDGPUUsage.rst:7913 ../../../AMDGPUUsage.rst:7918 -#: ../../../AMDGPUUsage.rst:8145 ../../../AMDGPUUsage.rst:8151 -#: ../../../AMDGPUUsage.rst:8162 ../../../AMDGPUUsage.rst:8281 -#: ../../../AMDGPUUsage.rst:8339 ../../../AMDGPUUsage.rst:8484 -#: ../../../AMDGPUUsage.rst:8543 ../../../AMDGPUUsage.rst:8720 -#: ../../../AMDGPUUsage.rst:8888 ../../../AMDGPUUsage.rst:9030 -#: ../../../AMDGPUUsage.rst:9191 ../../../AMDGPUUsage.rst:9482 -#: ../../../AMDGPUUsage.rst:9633 ../../../AMDGPUUsage.rst:9922 -#: ../../../AMDGPUUsage.rst:10132 ../../../AMDGPUUsage.rst:10228 -#: ../../../AMDGPUUsage.rst:10233 ../../../AMDGPUUsage.rst:10238 -#: ../../../AMDGPUUsage.rst:10465 ../../../AMDGPUUsage.rst:10473 -#: ../../../AMDGPUUsage.rst:10484 ../../../AMDGPUUsage.rst:10595 -#: ../../../AMDGPUUsage.rst:10650 ../../../AMDGPUUsage.rst:10791 -#: ../../../AMDGPUUsage.rst:10848 ../../../AMDGPUUsage.rst:11021 -#: ../../../AMDGPUUsage.rst:11199 ../../../AMDGPUUsage.rst:11352 -#: ../../../AMDGPUUsage.rst:11527 ../../../AMDGPUUsage.rst:11825 -#: ../../../AMDGPUUsage.rst:11984 ../../../AMDGPUUsage.rst:12283 -#: ../../../AMDGPUUsage.rst:12490 ../../../AMDGPUUsage.rst:12586 -#: ../../../AMDGPUUsage.rst:12591 ../../../AMDGPUUsage.rst:12596 -#: ../../../AMDGPUUsage.rst:12828 ../../../AMDGPUUsage.rst:12836 -#: ../../../AMDGPUUsage.rst:12844 ../../../AMDGPUUsage.rst:12942 -#: ../../../AMDGPUUsage.rst:12970 ../../../AMDGPUUsage.rst:13079 -#: ../../../AMDGPUUsage.rst:13107 ../../../AMDGPUUsage.rst:13228 -#: ../../../AMDGPUUsage.rst:13403 ../../../AMDGPUUsage.rst:13534 -#: ../../../AMDGPUUsage.rst:13642 ../../../AMDGPUUsage.rst:13912 -#: ../../../AMDGPUUsage.rst:13984 ../../../AMDGPUUsage.rst:14183 -#: ../../../AMDGPUUsage.rst:14489 ../../../AMDGPUUsage.rst:14599 -#: ../../../AMDGPUUsage.rst:14604 ../../../AMDGPUUsage.rst:14609 -#: ../../../AMDGPUUsage.rst:14805 ../../../AMDGPUUsage.rst:14897 -#: ../../../AMDGPUUsage.rst:14905 ../../../AMDGPUUsage.rst:14913 -#: ../../../AMDGPUUsage.rst:15007 ../../../AMDGPUUsage.rst:15034 -#: ../../../AMDGPUUsage.rst:15158 ../../../AMDGPUUsage.rst:15190 -#: ../../../AMDGPUUsage.rst:15479 ../../../AMDGPUUsage.rst:15621 -#: ../../../AMDGPUUsage.rst:15733 ../../../AMDGPUUsage.rst:16024 -#: ../../../AMDGPUUsage.rst:16107 ../../../AMDGPUUsage.rst:16312 -#: ../../../AMDGPUUsage.rst:16622 ../../../AMDGPUUsage.rst:16733 -#: ../../../AMDGPUUsage.rst:16738 ../../../AMDGPUUsage.rst:16743 -#: ../../../AMDGPUUsage.rst:17024 ../../../AMDGPUUsage.rst:17033 -#: ../../../AMDGPUUsage.rst:17045 ../../../AMDGPUUsage.rst:17108 -#: ../../../AMDGPUUsage.rst:17135 ../../../AMDGPUUsage.rst:17230 -#: ../../../AMDGPUUsage.rst:17267 ../../../AMDGPUUsage.rst:17374 -#: ../../../AMDGPUUsage.rst:17537 ../../../AMDGPUUsage.rst:17678 -#: ../../../AMDGPUUsage.rst:17787 ../../../AMDGPUUsage.rst:18034 -#: ../../../AMDGPUUsage.rst:18113 ../../../AMDGPUUsage.rst:18298 -#: ../../../AMDGPUUsage.rst:18593 ../../../AMDGPUUsage.rst:18700 -#: ../../../AMDGPUUsage.rst:18706 ../../../AMDGPUUsage.rst:18712 +#: ../../../AMDGPUUsage.rst:7429 ../../../AMDGPUUsage.rst:7434 +#: ../../../AMDGPUUsage.rst:7442 ../../../AMDGPUUsage.rst:7470 +#: ../../../AMDGPUUsage.rst:7494 ../../../AMDGPUUsage.rst:7541 +#: ../../../AMDGPUUsage.rst:7565 ../../../AMDGPUUsage.rst:7626 +#: ../../../AMDGPUUsage.rst:7724 ../../../AMDGPUUsage.rst:7791 +#: ../../../AMDGPUUsage.rst:7865 ../../../AMDGPUUsage.rst:8001 +#: ../../../AMDGPUUsage.rst:8064 ../../../AMDGPUUsage.rst:8201 +#: ../../../AMDGPUUsage.rst:8369 ../../../AMDGPUUsage.rst:8463 +#: ../../../AMDGPUUsage.rst:8468 ../../../AMDGPUUsage.rst:8473 +#: ../../../AMDGPUUsage.rst:8700 ../../../AMDGPUUsage.rst:8706 +#: ../../../AMDGPUUsage.rst:8717 ../../../AMDGPUUsage.rst:8836 +#: ../../../AMDGPUUsage.rst:8894 ../../../AMDGPUUsage.rst:9039 +#: ../../../AMDGPUUsage.rst:9098 ../../../AMDGPUUsage.rst:9275 +#: ../../../AMDGPUUsage.rst:9443 ../../../AMDGPUUsage.rst:9585 +#: ../../../AMDGPUUsage.rst:9746 ../../../AMDGPUUsage.rst:10037 +#: ../../../AMDGPUUsage.rst:10188 ../../../AMDGPUUsage.rst:10477 +#: ../../../AMDGPUUsage.rst:10687 ../../../AMDGPUUsage.rst:10783 +#: ../../../AMDGPUUsage.rst:10788 ../../../AMDGPUUsage.rst:10793 +#: ../../../AMDGPUUsage.rst:11020 ../../../AMDGPUUsage.rst:11028 +#: ../../../AMDGPUUsage.rst:11039 ../../../AMDGPUUsage.rst:11150 +#: ../../../AMDGPUUsage.rst:11205 ../../../AMDGPUUsage.rst:11346 +#: ../../../AMDGPUUsage.rst:11403 ../../../AMDGPUUsage.rst:11576 +#: ../../../AMDGPUUsage.rst:11754 ../../../AMDGPUUsage.rst:11907 +#: ../../../AMDGPUUsage.rst:12082 ../../../AMDGPUUsage.rst:12380 +#: ../../../AMDGPUUsage.rst:12539 ../../../AMDGPUUsage.rst:12838 +#: ../../../AMDGPUUsage.rst:13045 ../../../AMDGPUUsage.rst:13141 +#: ../../../AMDGPUUsage.rst:13146 ../../../AMDGPUUsage.rst:13151 +#: ../../../AMDGPUUsage.rst:13383 ../../../AMDGPUUsage.rst:13391 +#: ../../../AMDGPUUsage.rst:13399 ../../../AMDGPUUsage.rst:13497 +#: ../../../AMDGPUUsage.rst:13525 ../../../AMDGPUUsage.rst:13634 +#: ../../../AMDGPUUsage.rst:13662 ../../../AMDGPUUsage.rst:13783 +#: ../../../AMDGPUUsage.rst:13958 ../../../AMDGPUUsage.rst:14089 +#: ../../../AMDGPUUsage.rst:14197 ../../../AMDGPUUsage.rst:14467 +#: ../../../AMDGPUUsage.rst:14539 ../../../AMDGPUUsage.rst:14738 +#: ../../../AMDGPUUsage.rst:15044 ../../../AMDGPUUsage.rst:15154 +#: ../../../AMDGPUUsage.rst:15159 ../../../AMDGPUUsage.rst:15164 +#: ../../../AMDGPUUsage.rst:15360 ../../../AMDGPUUsage.rst:15452 +#: ../../../AMDGPUUsage.rst:15460 ../../../AMDGPUUsage.rst:15468 +#: ../../../AMDGPUUsage.rst:15562 ../../../AMDGPUUsage.rst:15589 +#: ../../../AMDGPUUsage.rst:15713 ../../../AMDGPUUsage.rst:15745 +#: ../../../AMDGPUUsage.rst:16034 ../../../AMDGPUUsage.rst:16176 +#: ../../../AMDGPUUsage.rst:16288 ../../../AMDGPUUsage.rst:16579 +#: ../../../AMDGPUUsage.rst:16662 ../../../AMDGPUUsage.rst:16867 +#: ../../../AMDGPUUsage.rst:17177 ../../../AMDGPUUsage.rst:17288 +#: ../../../AMDGPUUsage.rst:17293 ../../../AMDGPUUsage.rst:17298 +#: ../../../AMDGPUUsage.rst:17590 ../../../AMDGPUUsage.rst:17599 +#: ../../../AMDGPUUsage.rst:17611 ../../../AMDGPUUsage.rst:17700 +#: ../../../AMDGPUUsage.rst:17761 ../../../AMDGPUUsage.rst:17898 +#: ../../../AMDGPUUsage.rst:17979 ../../../AMDGPUUsage.rst:18164 +#: ../../../AMDGPUUsage.rst:18333 ../../../AMDGPUUsage.rst:18504 +#: ../../../AMDGPUUsage.rst:18643 ../../../AMDGPUUsage.rst:18920 +#: ../../../AMDGPUUsage.rst:19034 ../../../AMDGPUUsage.rst:19253 +#: ../../../AMDGPUUsage.rst:19582 ../../../AMDGPUUsage.rst:19689 +#: ../../../AMDGPUUsage.rst:19695 ../../../AMDGPUUsage.rst:19701 msgid "system" msgstr "" -#: ../../../AMDGPUUsage.rst:6883 ../../../AMDGPUUsage.rst:7233 -#: ../../../AMDGPUUsage.rst:7274 ../../../AMDGPUUsage.rst:8158 -#: ../../../AMDGPUUsage.rst:8162 ../../../AMDGPUUsage.rst:8374 -#: ../../../AMDGPUUsage.rst:8943 ../../../AMDGPUUsage.rst:8982 -#: ../../../AMDGPUUsage.rst:9029 ../../../AMDGPUUsage.rst:9082 -#: ../../../AMDGPUUsage.rst:9263 ../../../AMDGPUUsage.rst:10480 -#: ../../../AMDGPUUsage.rst:10681 ../../../AMDGPUUsage.rst:11255 -#: ../../../AMDGPUUsage.rst:11596 ../../../AMDGPUUsage.rst:12840 -#: ../../../AMDGPUUsage.rst:13497 ../../../AMDGPUUsage.rst:13577 -#: ../../../AMDGPUUsage.rst:14909 ../../../AMDGPUUsage.rst:15579 -#: ../../../AMDGPUUsage.rst:15668 ../../../AMDGPUUsage.rst:17045 -#: ../../../AMDGPUUsage.rst:17640 ../../../AMDGPUUsage.rst:17726 +#: ../../../AMDGPUUsage.rst:7438 ../../../AMDGPUUsage.rst:7788 +#: ../../../AMDGPUUsage.rst:7829 ../../../AMDGPUUsage.rst:8713 +#: ../../../AMDGPUUsage.rst:8717 ../../../AMDGPUUsage.rst:8929 +#: ../../../AMDGPUUsage.rst:9498 ../../../AMDGPUUsage.rst:9537 +#: ../../../AMDGPUUsage.rst:9584 ../../../AMDGPUUsage.rst:9637 +#: ../../../AMDGPUUsage.rst:9818 ../../../AMDGPUUsage.rst:11035 +#: ../../../AMDGPUUsage.rst:11236 ../../../AMDGPUUsage.rst:11810 +#: ../../../AMDGPUUsage.rst:12151 ../../../AMDGPUUsage.rst:13395 +#: ../../../AMDGPUUsage.rst:14052 ../../../AMDGPUUsage.rst:14132 +#: ../../../AMDGPUUsage.rst:15464 ../../../AMDGPUUsage.rst:16134 +#: ../../../AMDGPUUsage.rst:16223 ../../../AMDGPUUsage.rst:17611 +#: ../../../AMDGPUUsage.rst:18466 ../../../AMDGPUUsage.rst:18582 msgid "buffer/global/flat_atomic" msgstr "" -#: ../../../AMDGPUUsage.rst:6888 ../../../AMDGPUUsage.rst:7234 -#: ../../../AMDGPUUsage.rst:7391 ../../../AMDGPUUsage.rst:8168 -#: ../../../AMDGPUUsage.rst:8380 ../../../AMDGPUUsage.rst:8411 -#: ../../../AMDGPUUsage.rst:8949 ../../../AMDGPUUsage.rst:8987 -#: ../../../AMDGPUUsage.rst:9269 ../../../AMDGPUUsage.rst:9336 -#: ../../../AMDGPUUsage.rst:10490 ../../../AMDGPUUsage.rst:10687 -#: ../../../AMDGPUUsage.rst:10718 ../../../AMDGPUUsage.rst:11261 -#: ../../../AMDGPUUsage.rst:11299 ../../../AMDGPUUsage.rst:11602 -#: ../../../AMDGPUUsage.rst:11669 ../../../AMDGPUUsage.rst:12845 -#: ../../../AMDGPUUsage.rst:13027 ../../../AMDGPUUsage.rst:13532 -#: ../../../AMDGPUUsage.rst:13816 ../../../AMDGPUUsage.rst:14914 -#: ../../../AMDGPUUsage.rst:15095 ../../../AMDGPUUsage.rst:15619 -#: ../../../AMDGPUUsage.rst:15920 ../../../AMDGPUUsage.rst:17049 -#: ../../../AMDGPUUsage.rst:17191 ../../../AMDGPUUsage.rst:17676 -#: ../../../AMDGPUUsage.rst:17956 +#: ../../../AMDGPUUsage.rst:7443 ../../../AMDGPUUsage.rst:7789 +#: ../../../AMDGPUUsage.rst:7946 ../../../AMDGPUUsage.rst:8723 +#: ../../../AMDGPUUsage.rst:8935 ../../../AMDGPUUsage.rst:8966 +#: ../../../AMDGPUUsage.rst:9504 ../../../AMDGPUUsage.rst:9542 +#: ../../../AMDGPUUsage.rst:9824 ../../../AMDGPUUsage.rst:9891 +#: ../../../AMDGPUUsage.rst:11045 ../../../AMDGPUUsage.rst:11242 +#: ../../../AMDGPUUsage.rst:11273 ../../../AMDGPUUsage.rst:11816 +#: ../../../AMDGPUUsage.rst:11854 ../../../AMDGPUUsage.rst:12157 +#: ../../../AMDGPUUsage.rst:12224 ../../../AMDGPUUsage.rst:13400 +#: ../../../AMDGPUUsage.rst:13582 ../../../AMDGPUUsage.rst:14087 +#: ../../../AMDGPUUsage.rst:14371 ../../../AMDGPUUsage.rst:15469 +#: ../../../AMDGPUUsage.rst:15650 ../../../AMDGPUUsage.rst:16174 +#: ../../../AMDGPUUsage.rst:16475 ../../../AMDGPUUsage.rst:17615 +#: ../../../AMDGPUUsage.rst:17823 ../../../AMDGPUUsage.rst:18502 +#: ../../../AMDGPUUsage.rst:18842 msgid "ds_atomic" msgstr "" -#: ../../../AMDGPUUsage.rst:6891 ../../../AMDGPUUsage.rst:8169 -#: ../../../AMDGPUUsage.rst:10491 ../../../AMDGPUUsage.rst:12848 -#: ../../../AMDGPUUsage.rst:14917 ../../../AMDGPUUsage.rst:17052 +#: ../../../AMDGPUUsage.rst:7446 ../../../AMDGPUUsage.rst:8724 +#: ../../../AMDGPUUsage.rst:11046 ../../../AMDGPUUsage.rst:13403 +#: ../../../AMDGPUUsage.rst:15472 ../../../AMDGPUUsage.rst:17618 msgid "**Acquire Atomic**" msgstr "" -#: ../../../AMDGPUUsage.rst:6896 ../../../AMDGPUUsage.rst:15006 -#: ../../../AMDGPUUsage.rst:17057 ../../../AMDGPUUsage.rst:17106 +#: ../../../AMDGPUUsage.rst:7451 ../../../AMDGPUUsage.rst:15561 +#: ../../../AMDGPUUsage.rst:17623 ../../../AMDGPUUsage.rst:17672 +#: ../../../AMDGPUUsage.rst:17699 msgid "buffer/global_load" msgstr "" -#: ../../../AMDGPUUsage.rst:6897 +#: ../../../AMDGPUUsage.rst:7452 msgid "ds/flat_load" msgstr "" -#: ../../../AMDGPUUsage.rst:6898 ../../../AMDGPUUsage.rst:6969 -#: ../../../AMDGPUUsage.rst:7038 ../../../AMDGPUUsage.rst:7146 -#: ../../../AMDGPUUsage.rst:7213 ../../../AMDGPUUsage.rst:7277 -#: ../../../AMDGPUUsage.rst:7369 ../../../AMDGPUUsage.rst:7392 -#: ../../../AMDGPUUsage.rst:7408 ../../../AMDGPUUsage.rst:7429 -#: ../../../AMDGPUUsage.rst:7576 ../../../AMDGPUUsage.rst:7741 -#: ../../../AMDGPUUsage.rst:8206 ../../../AMDGPUUsage.rst:8412 -#: ../../../AMDGPUUsage.rst:9337 ../../../AMDGPUUsage.rst:10524 -#: ../../../AMDGPUUsage.rst:10719 ../../../AMDGPUUsage.rst:11670 -#: ../../../AMDGPUUsage.rst:12880 ../../../AMDGPUUsage.rst:13028 -#: ../../../AMDGPUUsage.rst:13817 +#: ../../../AMDGPUUsage.rst:7453 ../../../AMDGPUUsage.rst:7524 +#: ../../../AMDGPUUsage.rst:7593 ../../../AMDGPUUsage.rst:7701 +#: ../../../AMDGPUUsage.rst:7768 ../../../AMDGPUUsage.rst:7832 +#: ../../../AMDGPUUsage.rst:7924 ../../../AMDGPUUsage.rst:7947 +#: ../../../AMDGPUUsage.rst:7963 ../../../AMDGPUUsage.rst:7984 +#: ../../../AMDGPUUsage.rst:8131 ../../../AMDGPUUsage.rst:8296 +#: ../../../AMDGPUUsage.rst:8761 ../../../AMDGPUUsage.rst:8967 +#: ../../../AMDGPUUsage.rst:9892 ../../../AMDGPUUsage.rst:11079 +#: ../../../AMDGPUUsage.rst:11274 ../../../AMDGPUUsage.rst:12225 +#: ../../../AMDGPUUsage.rst:13435 ../../../AMDGPUUsage.rst:13583 +#: ../../../AMDGPUUsage.rst:14372 msgid "s_waitcnt lgkmcnt(0)" msgstr "" -#: ../../../AMDGPUUsage.rst:6900 ../../../AMDGPUUsage.rst:6971 -#: ../../../AMDGPUUsage.rst:7148 ../../../AMDGPUUsage.rst:7215 -#: ../../../AMDGPUUsage.rst:7371 ../../../AMDGPUUsage.rst:7394 -#: ../../../AMDGPUUsage.rst:7410 ../../../AMDGPUUsage.rst:7431 -#: ../../../AMDGPUUsage.rst:8208 ../../../AMDGPUUsage.rst:8414 -#: ../../../AMDGPUUsage.rst:9339 ../../../AMDGPUUsage.rst:10526 -#: ../../../AMDGPUUsage.rst:10721 ../../../AMDGPUUsage.rst:11672 -#: ../../../AMDGPUUsage.rst:12882 ../../../AMDGPUUsage.rst:12900 -#: ../../../AMDGPUUsage.rst:13030 ../../../AMDGPUUsage.rst:13369 -#: ../../../AMDGPUUsage.rst:13500 ../../../AMDGPUUsage.rst:13784 -#: ../../../AMDGPUUsage.rst:13819 ../../../AMDGPUUsage.rst:14950 -#: ../../../AMDGPUUsage.rst:15098 ../../../AMDGPUUsage.rst:15447 -#: ../../../AMDGPUUsage.rst:15889 ../../../AMDGPUUsage.rst:15923 -#: ../../../AMDGPUUsage.rst:17073 ../../../AMDGPUUsage.rst:17194 -#: ../../../AMDGPUUsage.rst:17507 ../../../AMDGPUUsage.rst:17927 -#: ../../../AMDGPUUsage.rst:17959 +#: ../../../AMDGPUUsage.rst:7455 ../../../AMDGPUUsage.rst:7526 +#: ../../../AMDGPUUsage.rst:7703 ../../../AMDGPUUsage.rst:7770 +#: ../../../AMDGPUUsage.rst:7926 ../../../AMDGPUUsage.rst:7949 +#: ../../../AMDGPUUsage.rst:7965 ../../../AMDGPUUsage.rst:7986 +#: ../../../AMDGPUUsage.rst:8763 ../../../AMDGPUUsage.rst:8969 +#: ../../../AMDGPUUsage.rst:9894 ../../../AMDGPUUsage.rst:11081 +#: ../../../AMDGPUUsage.rst:11276 ../../../AMDGPUUsage.rst:12227 +#: ../../../AMDGPUUsage.rst:13437 ../../../AMDGPUUsage.rst:13455 +#: ../../../AMDGPUUsage.rst:13585 ../../../AMDGPUUsage.rst:13924 +#: ../../../AMDGPUUsage.rst:14055 ../../../AMDGPUUsage.rst:14339 +#: ../../../AMDGPUUsage.rst:14374 ../../../AMDGPUUsage.rst:15505 +#: ../../../AMDGPUUsage.rst:15653 ../../../AMDGPUUsage.rst:16002 +#: ../../../AMDGPUUsage.rst:16444 ../../../AMDGPUUsage.rst:16478 +#: ../../../AMDGPUUsage.rst:17639 ../../../AMDGPUUsage.rst:17826 +#: ../../../AMDGPUUsage.rst:18303 ../../../AMDGPUUsage.rst:18813 +#: ../../../AMDGPUUsage.rst:18845 msgid "If OpenCL, omit." msgstr "" -#: ../../../AMDGPUUsage.rst:6901 ../../../AMDGPUUsage.rst:6972 -#: ../../../AMDGPUUsage.rst:7057 ../../../AMDGPUUsage.rst:7131 -#: ../../../AMDGPUUsage.rst:7395 ../../../AMDGPUUsage.rst:7432 -#: ../../../AMDGPUUsage.rst:7596 ../../../AMDGPUUsage.rst:7720 -#: ../../../AMDGPUUsage.rst:8190 ../../../AMDGPUUsage.rst:8209 -#: ../../../AMDGPUUsage.rst:8415 ../../../AMDGPUUsage.rst:8710 -#: ../../../AMDGPUUsage.rst:8784 ../../../AMDGPUUsage.rst:9340 -#: ../../../AMDGPUUsage.rst:9758 ../../../AMDGPUUsage.rst:9908 -#: ../../../AMDGPUUsage.rst:10013 ../../../AMDGPUUsage.rst:10508 -#: ../../../AMDGPUUsage.rst:10527 ../../../AMDGPUUsage.rst:10722 -#: ../../../AMDGPUUsage.rst:11011 ../../../AMDGPUUsage.rst:11084 -#: ../../../AMDGPUUsage.rst:11673 ../../../AMDGPUUsage.rst:12106 -#: ../../../AMDGPUUsage.rst:12269 ../../../AMDGPUUsage.rst:12373 -#: ../../../AMDGPUUsage.rst:13306 ../../../AMDGPUUsage.rst:14109 -#: ../../../AMDGPUUsage.rst:14268 ../../../AMDGPUUsage.rst:16238 -#: ../../../AMDGPUUsage.rst:16402 ../../../AMDGPUUsage.rst:17063 -#: ../../../AMDGPUUsage.rst:17074 ../../../AMDGPUUsage.rst:17094 -#: ../../../AMDGPUUsage.rst:17185 ../../../AMDGPUUsage.rst:18236 -#: ../../../AMDGPUUsage.rst:18380 +#: ../../../AMDGPUUsage.rst:7456 ../../../AMDGPUUsage.rst:7527 +#: ../../../AMDGPUUsage.rst:7612 ../../../AMDGPUUsage.rst:7686 +#: ../../../AMDGPUUsage.rst:7950 ../../../AMDGPUUsage.rst:7987 +#: ../../../AMDGPUUsage.rst:8151 ../../../AMDGPUUsage.rst:8275 +#: ../../../AMDGPUUsage.rst:8745 ../../../AMDGPUUsage.rst:8764 +#: ../../../AMDGPUUsage.rst:8970 ../../../AMDGPUUsage.rst:9265 +#: ../../../AMDGPUUsage.rst:9339 ../../../AMDGPUUsage.rst:9895 +#: ../../../AMDGPUUsage.rst:10313 ../../../AMDGPUUsage.rst:10463 +#: ../../../AMDGPUUsage.rst:10568 ../../../AMDGPUUsage.rst:11063 +#: ../../../AMDGPUUsage.rst:11082 ../../../AMDGPUUsage.rst:11277 +#: ../../../AMDGPUUsage.rst:11566 ../../../AMDGPUUsage.rst:11639 +#: ../../../AMDGPUUsage.rst:12228 ../../../AMDGPUUsage.rst:12661 +#: ../../../AMDGPUUsage.rst:12824 ../../../AMDGPUUsage.rst:12928 +#: ../../../AMDGPUUsage.rst:13861 ../../../AMDGPUUsage.rst:14664 +#: ../../../AMDGPUUsage.rst:14823 ../../../AMDGPUUsage.rst:16793 +#: ../../../AMDGPUUsage.rst:16957 ../../../AMDGPUUsage.rst:17629 +#: ../../../AMDGPUUsage.rst:17640 ../../../AMDGPUUsage.rst:17660 +#: ../../../AMDGPUUsage.rst:17817 ../../../AMDGPUUsage.rst:19191 +#: ../../../AMDGPUUsage.rst:19364 msgid "" "Must happen before any following global/generic load/load atomic/store/store " "atomic/atomicrmw." msgstr "" -#: ../../../AMDGPUUsage.rst:6907 ../../../AMDGPUUsage.rst:7438 -#: ../../../AMDGPUUsage.rst:8241 ../../../AMDGPUUsage.rst:9401 -#: ../../../AMDGPUUsage.rst:10555 ../../../AMDGPUUsage.rst:11734 -#: ../../../AMDGPUUsage.rst:12925 ../../../AMDGPUUsage.rst:14990 -#: ../../../AMDGPUUsage.rst:17099 +#: ../../../AMDGPUUsage.rst:7462 ../../../AMDGPUUsage.rst:7993 +#: ../../../AMDGPUUsage.rst:8796 ../../../AMDGPUUsage.rst:9956 +#: ../../../AMDGPUUsage.rst:11110 ../../../AMDGPUUsage.rst:12289 +#: ../../../AMDGPUUsage.rst:13480 ../../../AMDGPUUsage.rst:15545 +#: ../../../AMDGPUUsage.rst:17665 msgid "" "Ensures any following global data read is no older than a local load atomic " "value being acquired." msgstr "" -#: ../../../AMDGPUUsage.rst:6914 ../../../AMDGPUUsage.rst:8174 -#: ../../../AMDGPUUsage.rst:8257 ../../../AMDGPUUsage.rst:12853 +#: ../../../AMDGPUUsage.rst:7469 ../../../AMDGPUUsage.rst:8729 +#: ../../../AMDGPUUsage.rst:8812 ../../../AMDGPUUsage.rst:13408 msgid "buffer/global_load glc=1" msgstr "" -#: ../../../AMDGPUUsage.rst:6918 ../../../AMDGPUUsage.rst:6944 -#: ../../../AMDGPUUsage.rst:6988 ../../../AMDGPUUsage.rst:7015 -#: ../../../AMDGPUUsage.rst:7487 ../../../AMDGPUUsage.rst:7553 -#: ../../../AMDGPUUsage.rst:8261 ../../../AMDGPUUsage.rst:8319 -#: ../../../AMDGPUUsage.rst:8463 ../../../AMDGPUUsage.rst:8522 -#: ../../../AMDGPUUsage.rst:9461 ../../../AMDGPUUsage.rst:9612 +#: ../../../AMDGPUUsage.rst:7473 ../../../AMDGPUUsage.rst:7499 +#: ../../../AMDGPUUsage.rst:7543 ../../../AMDGPUUsage.rst:7570 +#: ../../../AMDGPUUsage.rst:8042 ../../../AMDGPUUsage.rst:8108 +#: ../../../AMDGPUUsage.rst:8816 ../../../AMDGPUUsage.rst:8874 +#: ../../../AMDGPUUsage.rst:9018 ../../../AMDGPUUsage.rst:9077 +#: ../../../AMDGPUUsage.rst:10016 ../../../AMDGPUUsage.rst:10167 msgid "Must happen before following buffer_wbinvl1_vol." msgstr "" -#: ../../../AMDGPUUsage.rst:6921 ../../../AMDGPUUsage.rst:8264 -#: ../../../AMDGPUUsage.rst:8288 ../../../AMDGPUUsage.rst:10578 -#: ../../../AMDGPUUsage.rst:10602 +#: ../../../AMDGPUUsage.rst:7476 ../../../AMDGPUUsage.rst:8819 +#: ../../../AMDGPUUsage.rst:8843 ../../../AMDGPUUsage.rst:11133 +#: ../../../AMDGPUUsage.rst:11157 msgid "Ensures the load has completed before invalidating the cache." msgstr "" -#: ../../../AMDGPUUsage.rst:6926 ../../../AMDGPUUsage.rst:6952 -#: ../../../AMDGPUUsage.rst:6997 ../../../AMDGPUUsage.rst:7024 -#: ../../../AMDGPUUsage.rst:7129 ../../../AMDGPUUsage.rst:7496 -#: ../../../AMDGPUUsage.rst:7562 ../../../AMDGPUUsage.rst:7718 -#: ../../../AMDGPUUsage.rst:8186 ../../../AMDGPUUsage.rst:8248 -#: ../../../AMDGPUUsage.rst:8269 ../../../AMDGPUUsage.rst:8327 -#: ../../../AMDGPUUsage.rst:8393 ../../../AMDGPUUsage.rst:8451 -#: ../../../AMDGPUUsage.rst:8472 ../../../AMDGPUUsage.rst:8531 -#: ../../../AMDGPUUsage.rst:8638 ../../../AMDGPUUsage.rst:8708 -#: ../../../AMDGPUUsage.rst:9323 ../../../AMDGPUUsage.rst:9408 -#: ../../../AMDGPUUsage.rst:9470 ../../../AMDGPUUsage.rst:9621 -#: ../../../AMDGPUUsage.rst:9822 ../../../AMDGPUUsage.rst:9906 +#: ../../../AMDGPUUsage.rst:7481 ../../../AMDGPUUsage.rst:7507 +#: ../../../AMDGPUUsage.rst:7552 ../../../AMDGPUUsage.rst:7579 +#: ../../../AMDGPUUsage.rst:7684 ../../../AMDGPUUsage.rst:8051 +#: ../../../AMDGPUUsage.rst:8117 ../../../AMDGPUUsage.rst:8273 +#: ../../../AMDGPUUsage.rst:8741 ../../../AMDGPUUsage.rst:8803 +#: ../../../AMDGPUUsage.rst:8824 ../../../AMDGPUUsage.rst:8882 +#: ../../../AMDGPUUsage.rst:8948 ../../../AMDGPUUsage.rst:9006 +#: ../../../AMDGPUUsage.rst:9027 ../../../AMDGPUUsage.rst:9086 +#: ../../../AMDGPUUsage.rst:9193 ../../../AMDGPUUsage.rst:9263 +#: ../../../AMDGPUUsage.rst:9878 ../../../AMDGPUUsage.rst:9963 +#: ../../../AMDGPUUsage.rst:10025 ../../../AMDGPUUsage.rst:10176 +#: ../../../AMDGPUUsage.rst:10377 ../../../AMDGPUUsage.rst:10461 msgid "buffer_wbinvl1_vol" msgstr "" -#: ../../../AMDGPUUsage.rst:6928 ../../../AMDGPUUsage.rst:6954 -#: ../../../AMDGPUUsage.rst:6999 ../../../AMDGPUUsage.rst:7026 -#: ../../../AMDGPUUsage.rst:7498 ../../../AMDGPUUsage.rst:7564 -#: ../../../AMDGPUUsage.rst:8271 ../../../AMDGPUUsage.rst:8296 -#: ../../../AMDGPUUsage.rst:8329 ../../../AMDGPUUsage.rst:8359 -#: ../../../AMDGPUUsage.rst:8397 ../../../AMDGPUUsage.rst:8474 -#: ../../../AMDGPUUsage.rst:8499 ../../../AMDGPUUsage.rst:8533 -#: ../../../AMDGPUUsage.rst:8564 ../../../AMDGPUUsage.rst:9472 -#: ../../../AMDGPUUsage.rst:9548 ../../../AMDGPUUsage.rst:9623 -#: ../../../AMDGPUUsage.rst:9704 ../../../AMDGPUUsage.rst:10585 -#: ../../../AMDGPUUsage.rst:10609 ../../../AMDGPUUsage.rst:10640 -#: ../../../AMDGPUUsage.rst:10668 ../../../AMDGPUUsage.rst:10704 -#: ../../../AMDGPUUsage.rst:10781 ../../../AMDGPUUsage.rst:10806 -#: ../../../AMDGPUUsage.rst:10838 ../../../AMDGPUUsage.rst:10867 -#: ../../../AMDGPUUsage.rst:11815 ../../../AMDGPUUsage.rst:11891 -#: ../../../AMDGPUUsage.rst:11974 ../../../AMDGPUUsage.rst:12054 -#: ../../../AMDGPUUsage.rst:12959 ../../../AMDGPUUsage.rst:12989 -#: ../../../AMDGPUUsage.rst:13096 ../../../AMDGPUUsage.rst:13127 -#: ../../../AMDGPUUsage.rst:13973 ../../../AMDGPUUsage.rst:14048 -#: ../../../AMDGPUUsage.rst:15023 ../../../AMDGPUUsage.rst:15052 -#: ../../../AMDGPUUsage.rst:15179 ../../../AMDGPUUsage.rst:15215 -#: ../../../AMDGPUUsage.rst:16096 ../../../AMDGPUUsage.rst:16183 -#: ../../../AMDGPUUsage.rst:17123 ../../../AMDGPUUsage.rst:17152 -#: ../../../AMDGPUUsage.rst:17255 ../../../AMDGPUUsage.rst:17295 -#: ../../../AMDGPUUsage.rst:18102 ../../../AMDGPUUsage.rst:18185 +#: ../../../AMDGPUUsage.rst:7483 ../../../AMDGPUUsage.rst:7509 +#: ../../../AMDGPUUsage.rst:7554 ../../../AMDGPUUsage.rst:7581 +#: ../../../AMDGPUUsage.rst:8053 ../../../AMDGPUUsage.rst:8119 +#: ../../../AMDGPUUsage.rst:8826 ../../../AMDGPUUsage.rst:8851 +#: ../../../AMDGPUUsage.rst:8884 ../../../AMDGPUUsage.rst:8914 +#: ../../../AMDGPUUsage.rst:8952 ../../../AMDGPUUsage.rst:9029 +#: ../../../AMDGPUUsage.rst:9054 ../../../AMDGPUUsage.rst:9088 +#: ../../../AMDGPUUsage.rst:9119 ../../../AMDGPUUsage.rst:10027 +#: ../../../AMDGPUUsage.rst:10103 ../../../AMDGPUUsage.rst:10178 +#: ../../../AMDGPUUsage.rst:10259 ../../../AMDGPUUsage.rst:11140 +#: ../../../AMDGPUUsage.rst:11164 ../../../AMDGPUUsage.rst:11195 +#: ../../../AMDGPUUsage.rst:11223 ../../../AMDGPUUsage.rst:11259 +#: ../../../AMDGPUUsage.rst:11336 ../../../AMDGPUUsage.rst:11361 +#: ../../../AMDGPUUsage.rst:11393 ../../../AMDGPUUsage.rst:11422 +#: ../../../AMDGPUUsage.rst:12370 ../../../AMDGPUUsage.rst:12446 +#: ../../../AMDGPUUsage.rst:12529 ../../../AMDGPUUsage.rst:12609 +#: ../../../AMDGPUUsage.rst:13514 ../../../AMDGPUUsage.rst:13544 +#: ../../../AMDGPUUsage.rst:13651 ../../../AMDGPUUsage.rst:13682 +#: ../../../AMDGPUUsage.rst:14528 ../../../AMDGPUUsage.rst:14603 +#: ../../../AMDGPUUsage.rst:15578 ../../../AMDGPUUsage.rst:15607 +#: ../../../AMDGPUUsage.rst:15734 ../../../AMDGPUUsage.rst:15770 +#: ../../../AMDGPUUsage.rst:16651 ../../../AMDGPUUsage.rst:16738 +#: ../../../AMDGPUUsage.rst:17689 ../../../AMDGPUUsage.rst:17716 +#: ../../../AMDGPUUsage.rst:17750 ../../../AMDGPUUsage.rst:17779 +#: ../../../AMDGPUUsage.rst:17887 ../../../AMDGPUUsage.rst:17924 +#: ../../../AMDGPUUsage.rst:17968 ../../../AMDGPUUsage.rst:18008 +#: ../../../AMDGPUUsage.rst:19018 ../../../AMDGPUUsage.rst:19135 msgid "" "Must happen before any following global/generic load/load atomic/atomicrmw." msgstr "" -#: ../../../AMDGPUUsage.rst:6933 ../../../AMDGPUUsage.rst:6959 -#: ../../../AMDGPUUsage.rst:7004 ../../../AMDGPUUsage.rst:7031 -#: ../../../AMDGPUUsage.rst:7136 ../../../AMDGPUUsage.rst:7503 -#: ../../../AMDGPUUsage.rst:7569 ../../../AMDGPUUsage.rst:8276 -#: ../../../AMDGPUUsage.rst:8334 ../../../AMDGPUUsage.rst:8402 -#: ../../../AMDGPUUsage.rst:8479 ../../../AMDGPUUsage.rst:8538 -#: ../../../AMDGPUUsage.rst:8715 ../../../AMDGPUUsage.rst:9477 -#: ../../../AMDGPUUsage.rst:9628 ../../../AMDGPUUsage.rst:10590 -#: ../../../AMDGPUUsage.rst:10645 ../../../AMDGPUUsage.rst:10709 -#: ../../../AMDGPUUsage.rst:10786 ../../../AMDGPUUsage.rst:10843 -#: ../../../AMDGPUUsage.rst:11016 ../../../AMDGPUUsage.rst:11089 -#: ../../../AMDGPUUsage.rst:11820 ../../../AMDGPUUsage.rst:11979 -#: ../../../AMDGPUUsage.rst:12964 ../../../AMDGPUUsage.rst:12994 -#: ../../../AMDGPUUsage.rst:13101 ../../../AMDGPUUsage.rst:13132 -#: ../../../AMDGPUUsage.rst:13311 ../../../AMDGPUUsage.rst:13978 -#: ../../../AMDGPUUsage.rst:14053 ../../../AMDGPUUsage.rst:15028 -#: ../../../AMDGPUUsage.rst:15057 ../../../AMDGPUUsage.rst:15184 -#: ../../../AMDGPUUsage.rst:15220 ../../../AMDGPUUsage.rst:16101 -#: ../../../AMDGPUUsage.rst:16188 ../../../AMDGPUUsage.rst:17128 -#: ../../../AMDGPUUsage.rst:17157 ../../../AMDGPUUsage.rst:17260 -#: ../../../AMDGPUUsage.rst:17300 ../../../AMDGPUUsage.rst:18107 -#: ../../../AMDGPUUsage.rst:18190 +#: ../../../AMDGPUUsage.rst:7488 ../../../AMDGPUUsage.rst:7514 +#: ../../../AMDGPUUsage.rst:7559 ../../../AMDGPUUsage.rst:7586 +#: ../../../AMDGPUUsage.rst:7691 ../../../AMDGPUUsage.rst:8058 +#: ../../../AMDGPUUsage.rst:8124 ../../../AMDGPUUsage.rst:8831 +#: ../../../AMDGPUUsage.rst:8889 ../../../AMDGPUUsage.rst:8957 +#: ../../../AMDGPUUsage.rst:9034 ../../../AMDGPUUsage.rst:9093 +#: ../../../AMDGPUUsage.rst:9270 ../../../AMDGPUUsage.rst:10032 +#: ../../../AMDGPUUsage.rst:10183 ../../../AMDGPUUsage.rst:11145 +#: ../../../AMDGPUUsage.rst:11200 ../../../AMDGPUUsage.rst:11264 +#: ../../../AMDGPUUsage.rst:11341 ../../../AMDGPUUsage.rst:11398 +#: ../../../AMDGPUUsage.rst:11571 ../../../AMDGPUUsage.rst:11644 +#: ../../../AMDGPUUsage.rst:12375 ../../../AMDGPUUsage.rst:12534 +#: ../../../AMDGPUUsage.rst:13519 ../../../AMDGPUUsage.rst:13549 +#: ../../../AMDGPUUsage.rst:13656 ../../../AMDGPUUsage.rst:13687 +#: ../../../AMDGPUUsage.rst:13866 ../../../AMDGPUUsage.rst:14533 +#: ../../../AMDGPUUsage.rst:14608 ../../../AMDGPUUsage.rst:15583 +#: ../../../AMDGPUUsage.rst:15612 ../../../AMDGPUUsage.rst:15739 +#: ../../../AMDGPUUsage.rst:15775 ../../../AMDGPUUsage.rst:16656 +#: ../../../AMDGPUUsage.rst:16743 ../../../AMDGPUUsage.rst:17694 +#: ../../../AMDGPUUsage.rst:17721 ../../../AMDGPUUsage.rst:17755 +#: ../../../AMDGPUUsage.rst:17784 ../../../AMDGPUUsage.rst:17892 +#: ../../../AMDGPUUsage.rst:17929 ../../../AMDGPUUsage.rst:17973 +#: ../../../AMDGPUUsage.rst:18013 ../../../AMDGPUUsage.rst:19023 +#: ../../../AMDGPUUsage.rst:19140 msgid "Ensures that following loads will not see stale global data." msgstr "" -#: ../../../AMDGPUUsage.rst:6938 ../../../AMDGPUUsage.rst:8222 -#: ../../../AMDGPUUsage.rst:8311 ../../../AMDGPUUsage.rst:8339 -#: ../../../AMDGPUUsage.rst:12906 +#: ../../../AMDGPUUsage.rst:7493 ../../../AMDGPUUsage.rst:8777 +#: ../../../AMDGPUUsage.rst:8866 ../../../AMDGPUUsage.rst:8894 +#: ../../../AMDGPUUsage.rst:13461 msgid "flat_load glc=1" msgstr "" -#: ../../../AMDGPUUsage.rst:6939 ../../../AMDGPUUsage.rst:7010 -#: ../../../AMDGPUUsage.rst:7548 ../../../AMDGPUUsage.rst:8312 -#: ../../../AMDGPUUsage.rst:8340 ../../../AMDGPUUsage.rst:8515 -#: ../../../AMDGPUUsage.rst:8544 ../../../AMDGPUUsage.rst:9605 -#: ../../../AMDGPUUsage.rst:9685 ../../../AMDGPUUsage.rst:10623 -#: ../../../AMDGPUUsage.rst:10651 ../../../AMDGPUUsage.rst:10820 -#: ../../../AMDGPUUsage.rst:10849 ../../../AMDGPUUsage.rst:11956 -#: ../../../AMDGPUUsage.rst:12036 ../../../AMDGPUUsage.rst:12973 +#: ../../../AMDGPUUsage.rst:7494 ../../../AMDGPUUsage.rst:7565 +#: ../../../AMDGPUUsage.rst:8103 ../../../AMDGPUUsage.rst:8867 +#: ../../../AMDGPUUsage.rst:8895 ../../../AMDGPUUsage.rst:9070 +#: ../../../AMDGPUUsage.rst:9099 ../../../AMDGPUUsage.rst:10160 +#: ../../../AMDGPUUsage.rst:10240 ../../../AMDGPUUsage.rst:11178 +#: ../../../AMDGPUUsage.rst:11206 ../../../AMDGPUUsage.rst:11375 +#: ../../../AMDGPUUsage.rst:11404 ../../../AMDGPUUsage.rst:12511 +#: ../../../AMDGPUUsage.rst:12591 ../../../AMDGPUUsage.rst:13528 msgid "s_waitcnt vmcnt(0) & lgkmcnt(0)" msgstr "" -#: ../../../AMDGPUUsage.rst:6942 ../../../AMDGPUUsage.rst:8317 -#: ../../../AMDGPUUsage.rst:8345 ../../../AMDGPUUsage.rst:10628 -#: ../../../AMDGPUUsage.rst:10656 ../../../AMDGPUUsage.rst:12976 +#: ../../../AMDGPUUsage.rst:7497 ../../../AMDGPUUsage.rst:8872 +#: ../../../AMDGPUUsage.rst:8900 ../../../AMDGPUUsage.rst:11183 +#: ../../../AMDGPUUsage.rst:11211 ../../../AMDGPUUsage.rst:13531 msgid "If OpenCL omit lgkmcnt(0)." msgstr "" -#: ../../../AMDGPUUsage.rst:6947 ../../../AMDGPUUsage.rst:8322 -#: ../../../AMDGPUUsage.rst:10633 +#: ../../../AMDGPUUsage.rst:7502 ../../../AMDGPUUsage.rst:8877 +#: ../../../AMDGPUUsage.rst:11188 msgid "Ensures the flat_load has completed before invalidating the cache." msgstr "" -#: ../../../AMDGPUUsage.rst:6964 ../../../AMDGPUUsage.rst:7210 -#: ../../../AMDGPUUsage.rst:7366 ../../../AMDGPUUsage.rst:12999 -#: ../../../AMDGPUUsage.rst:13450 ../../../AMDGPUUsage.rst:13703 -#: ../../../AMDGPUUsage.rst:15062 ../../../AMDGPUUsage.rst:15531 -#: ../../../AMDGPUUsage.rst:15800 ../../../AMDGPUUsage.rst:17167 -#: ../../../AMDGPUUsage.rst:17595 ../../../AMDGPUUsage.rst:17853 +#: ../../../AMDGPUUsage.rst:7519 ../../../AMDGPUUsage.rst:7765 +#: ../../../AMDGPUUsage.rst:7921 ../../../AMDGPUUsage.rst:13554 +#: ../../../AMDGPUUsage.rst:14005 ../../../AMDGPUUsage.rst:14258 +#: ../../../AMDGPUUsage.rst:15617 ../../../AMDGPUUsage.rst:16086 +#: ../../../AMDGPUUsage.rst:16355 ../../../AMDGPUUsage.rst:17799 +#: ../../../AMDGPUUsage.rst:18421 ../../../AMDGPUUsage.rst:18739 msgid "buffer/global/ds/flat_atomic" msgstr "" -#: ../../../AMDGPUUsage.rst:6967 ../../../AMDGPUUsage.rst:6985 -#: ../../../AMDGPUUsage.rst:7389 ../../../AMDGPUUsage.rst:7484 -#: ../../../AMDGPUUsage.rst:8381 ../../../AMDGPUUsage.rst:8460 -#: ../../../AMDGPUUsage.rst:8484 ../../../AMDGPUUsage.rst:9308 -#: ../../../AMDGPUUsage.rst:9458 ../../../AMDGPUUsage.rst:9533 -#: ../../../AMDGPUUsage.rst:10688 ../../../AMDGPUUsage.rst:10767 -#: ../../../AMDGPUUsage.rst:11641 ../../../AMDGPUUsage.rst:11801 -#: ../../../AMDGPUUsage.rst:13002 ../../../AMDGPUUsage.rst:13078 -#: ../../../AMDGPUUsage.rst:13757 ../../../AMDGPUUsage.rst:13955 -#: ../../../AMDGPUUsage.rst:15065 ../../../AMDGPUUsage.rst:15157 -#: ../../../AMDGPUUsage.rst:15853 ../../../AMDGPUUsage.rst:16073 -#: ../../../AMDGPUUsage.rst:17174 ../../../AMDGPUUsage.rst:17233 -#: ../../../AMDGPUUsage.rst:17905 ../../../AMDGPUUsage.rst:18079 +#: ../../../AMDGPUUsage.rst:7522 ../../../AMDGPUUsage.rst:7540 +#: ../../../AMDGPUUsage.rst:7944 ../../../AMDGPUUsage.rst:8039 +#: ../../../AMDGPUUsage.rst:8936 ../../../AMDGPUUsage.rst:9015 +#: ../../../AMDGPUUsage.rst:9039 ../../../AMDGPUUsage.rst:9863 +#: ../../../AMDGPUUsage.rst:10013 ../../../AMDGPUUsage.rst:10088 +#: ../../../AMDGPUUsage.rst:11243 ../../../AMDGPUUsage.rst:11322 +#: ../../../AMDGPUUsage.rst:12196 ../../../AMDGPUUsage.rst:12356 +#: ../../../AMDGPUUsage.rst:13557 ../../../AMDGPUUsage.rst:13633 +#: ../../../AMDGPUUsage.rst:14312 ../../../AMDGPUUsage.rst:14510 +#: ../../../AMDGPUUsage.rst:15620 ../../../AMDGPUUsage.rst:15712 +#: ../../../AMDGPUUsage.rst:16408 ../../../AMDGPUUsage.rst:16628 +#: ../../../AMDGPUUsage.rst:17806 ../../../AMDGPUUsage.rst:17865 +#: ../../../AMDGPUUsage.rst:17902 ../../../AMDGPUUsage.rst:18791 +#: ../../../AMDGPUUsage.rst:18995 msgid "buffer/global_atomic" msgstr "" -#: ../../../AMDGPUUsage.rst:6968 +#: ../../../AMDGPUUsage.rst:7523 msgid "ds/flat_atomic" msgstr "" -#: ../../../AMDGPUUsage.rst:6978 ../../../AMDGPUUsage.rst:8444 -#: ../../../AMDGPUUsage.rst:10751 ../../../AMDGPUUsage.rst:13062 -#: ../../../AMDGPUUsage.rst:15141 +#: ../../../AMDGPUUsage.rst:7533 ../../../AMDGPUUsage.rst:8999 +#: ../../../AMDGPUUsage.rst:11306 ../../../AMDGPUUsage.rst:13617 +#: ../../../AMDGPUUsage.rst:15696 msgid "" "Ensures any following global data read is no older than a local atomicrmw " "value being acquired." msgstr "" -#: ../../../AMDGPUUsage.rst:6991 ../../../AMDGPUUsage.rst:7018 -#: ../../../AMDGPUUsage.rst:7490 ../../../AMDGPUUsage.rst:7556 -#: ../../../AMDGPUUsage.rst:8388 ../../../AMDGPUUsage.rst:8466 -#: ../../../AMDGPUUsage.rst:8525 ../../../AMDGPUUsage.rst:9464 -#: ../../../AMDGPUUsage.rst:9615 ../../../AMDGPUUsage.rst:10695 -#: ../../../AMDGPUUsage.rst:10773 ../../../AMDGPUUsage.rst:10830 -#: ../../../AMDGPUUsage.rst:11807 ../../../AMDGPUUsage.rst:11966 +#: ../../../AMDGPUUsage.rst:7546 ../../../AMDGPUUsage.rst:7573 +#: ../../../AMDGPUUsage.rst:8045 ../../../AMDGPUUsage.rst:8111 +#: ../../../AMDGPUUsage.rst:8943 ../../../AMDGPUUsage.rst:9021 +#: ../../../AMDGPUUsage.rst:9080 ../../../AMDGPUUsage.rst:10019 +#: ../../../AMDGPUUsage.rst:10170 ../../../AMDGPUUsage.rst:11250 +#: ../../../AMDGPUUsage.rst:11328 ../../../AMDGPUUsage.rst:11385 +#: ../../../AMDGPUUsage.rst:12362 ../../../AMDGPUUsage.rst:12521 msgid "Ensures the atomicrmw has completed before invalidating the cache." msgstr "" -#: ../../../AMDGPUUsage.rst:7009 ../../../AMDGPUUsage.rst:7428 -#: ../../../AMDGPUUsage.rst:7547 ../../../AMDGPUUsage.rst:8428 -#: ../../../AMDGPUUsage.rst:8514 ../../../AMDGPUUsage.rst:8543 -#: ../../../AMDGPUUsage.rst:9385 ../../../AMDGPUUsage.rst:9604 -#: ../../../AMDGPUUsage.rst:9684 ../../../AMDGPUUsage.rst:10735 -#: ../../../AMDGPUUsage.rst:10819 ../../../AMDGPUUsage.rst:11718 -#: ../../../AMDGPUUsage.rst:11955 ../../../AMDGPUUsage.rst:13049 -#: ../../../AMDGPUUsage.rst:13106 ../../../AMDGPUUsage.rst:13884 -#: ../../../AMDGPUUsage.rst:14027 ../../../AMDGPUUsage.rst:15119 -#: ../../../AMDGPUUsage.rst:15189 ../../../AMDGPUUsage.rst:15988 -#: ../../../AMDGPUUsage.rst:16155 ../../../AMDGPUUsage.rst:17207 -#: ../../../AMDGPUUsage.rst:17269 ../../../AMDGPUUsage.rst:18011 -#: ../../../AMDGPUUsage.rst:18157 +#: ../../../AMDGPUUsage.rst:7564 ../../../AMDGPUUsage.rst:7983 +#: ../../../AMDGPUUsage.rst:8102 ../../../AMDGPUUsage.rst:8983 +#: ../../../AMDGPUUsage.rst:9069 ../../../AMDGPUUsage.rst:9098 +#: ../../../AMDGPUUsage.rst:9940 ../../../AMDGPUUsage.rst:10159 +#: ../../../AMDGPUUsage.rst:10239 ../../../AMDGPUUsage.rst:11290 +#: ../../../AMDGPUUsage.rst:11374 ../../../AMDGPUUsage.rst:12273 +#: ../../../AMDGPUUsage.rst:12510 ../../../AMDGPUUsage.rst:13604 +#: ../../../AMDGPUUsage.rst:13661 ../../../AMDGPUUsage.rst:14439 +#: ../../../AMDGPUUsage.rst:14582 ../../../AMDGPUUsage.rst:15674 +#: ../../../AMDGPUUsage.rst:15744 ../../../AMDGPUUsage.rst:16543 +#: ../../../AMDGPUUsage.rst:16710 ../../../AMDGPUUsage.rst:17839 +#: ../../../AMDGPUUsage.rst:17942 ../../../AMDGPUUsage.rst:17982 +#: ../../../AMDGPUUsage.rst:18897 ../../../AMDGPUUsage.rst:19107 msgid "flat_atomic" msgstr "" -#: ../../../AMDGPUUsage.rst:7013 ../../../AMDGPUUsage.rst:7238 -#: ../../../AMDGPUUsage.rst:7448 ../../../AMDGPUUsage.rst:7511 -#: ../../../AMDGPUUsage.rst:7551 ../../../AMDGPUUsage.rst:8233 -#: ../../../AMDGPUUsage.rst:8435 ../../../AMDGPUUsage.rst:8520 -#: ../../../AMDGPUUsage.rst:8549 ../../../AMDGPUUsage.rst:8813 -#: ../../../AMDGPUUsage.rst:8956 ../../../AMDGPUUsage.rst:8993 -#: ../../../AMDGPUUsage.rst:9045 ../../../AMDGPUUsage.rst:9276 -#: ../../../AMDGPUUsage.rst:9359 ../../../AMDGPUUsage.rst:9391 -#: ../../../AMDGPUUsage.rst:9422 ../../../AMDGPUUsage.rst:9497 -#: ../../../AMDGPUUsage.rst:9568 ../../../AMDGPUUsage.rst:9610 -#: ../../../AMDGPUUsage.rst:9648 ../../../AMDGPUUsage.rst:9690 -#: ../../../AMDGPUUsage.rst:10547 ../../../AMDGPUUsage.rst:10742 -#: ../../../AMDGPUUsage.rst:10825 ../../../AMDGPUUsage.rst:10854 -#: ../../../AMDGPUUsage.rst:11110 ../../../AMDGPUUsage.rst:11268 -#: ../../../AMDGPUUsage.rst:11315 ../../../AMDGPUUsage.rst:11367 -#: ../../../AMDGPUUsage.rst:11609 ../../../AMDGPUUsage.rst:11692 -#: ../../../AMDGPUUsage.rst:11724 ../../../AMDGPUUsage.rst:11765 -#: ../../../AMDGPUUsage.rst:11840 ../../../AMDGPUUsage.rst:11919 -#: ../../../AMDGPUUsage.rst:11961 ../../../AMDGPUUsage.rst:11999 -#: ../../../AMDGPUUsage.rst:12041 ../../../AMDGPUUsage.rst:12916 -#: ../../../AMDGPUUsage.rst:13055 ../../../AMDGPUUsage.rst:13110 -#: ../../../AMDGPUUsage.rst:13324 ../../../AMDGPUUsage.rst:13456 -#: ../../../AMDGPUUsage.rst:13536 ../../../AMDGPUUsage.rst:13709 -#: ../../../AMDGPUUsage.rst:13843 ../../../AMDGPUUsage.rst:13891 -#: ../../../AMDGPUUsage.rst:13914 ../../../AMDGPUUsage.rst:13986 -#: ../../../AMDGPUUsage.rst:14031 +#: ../../../AMDGPUUsage.rst:7568 ../../../AMDGPUUsage.rst:7793 +#: ../../../AMDGPUUsage.rst:8003 ../../../AMDGPUUsage.rst:8066 +#: ../../../AMDGPUUsage.rst:8106 ../../../AMDGPUUsage.rst:8788 +#: ../../../AMDGPUUsage.rst:8990 ../../../AMDGPUUsage.rst:9075 +#: ../../../AMDGPUUsage.rst:9104 ../../../AMDGPUUsage.rst:9368 +#: ../../../AMDGPUUsage.rst:9511 ../../../AMDGPUUsage.rst:9548 +#: ../../../AMDGPUUsage.rst:9600 ../../../AMDGPUUsage.rst:9831 +#: ../../../AMDGPUUsage.rst:9914 ../../../AMDGPUUsage.rst:9946 +#: ../../../AMDGPUUsage.rst:9977 ../../../AMDGPUUsage.rst:10052 +#: ../../../AMDGPUUsage.rst:10123 ../../../AMDGPUUsage.rst:10165 +#: ../../../AMDGPUUsage.rst:10203 ../../../AMDGPUUsage.rst:10245 +#: ../../../AMDGPUUsage.rst:11102 ../../../AMDGPUUsage.rst:11297 +#: ../../../AMDGPUUsage.rst:11380 ../../../AMDGPUUsage.rst:11409 +#: ../../../AMDGPUUsage.rst:11665 ../../../AMDGPUUsage.rst:11823 +#: ../../../AMDGPUUsage.rst:11870 ../../../AMDGPUUsage.rst:11922 +#: ../../../AMDGPUUsage.rst:12164 ../../../AMDGPUUsage.rst:12247 +#: ../../../AMDGPUUsage.rst:12279 ../../../AMDGPUUsage.rst:12320 +#: ../../../AMDGPUUsage.rst:12395 ../../../AMDGPUUsage.rst:12474 +#: ../../../AMDGPUUsage.rst:12516 ../../../AMDGPUUsage.rst:12554 +#: ../../../AMDGPUUsage.rst:12596 ../../../AMDGPUUsage.rst:13471 +#: ../../../AMDGPUUsage.rst:13610 ../../../AMDGPUUsage.rst:13665 +#: ../../../AMDGPUUsage.rst:13879 ../../../AMDGPUUsage.rst:14011 +#: ../../../AMDGPUUsage.rst:14091 ../../../AMDGPUUsage.rst:14264 +#: ../../../AMDGPUUsage.rst:14398 ../../../AMDGPUUsage.rst:14446 +#: ../../../AMDGPUUsage.rst:14469 ../../../AMDGPUUsage.rst:14541 +#: ../../../AMDGPUUsage.rst:14586 msgid "If OpenCL, omit lgkmcnt(0)." msgstr "" -#: ../../../AMDGPUUsage.rst:7036 ../../../AMDGPUUsage.rst:7038 -#: ../../../AMDGPUUsage.rst:7070 ../../../AMDGPUUsage.rst:7275 -#: ../../../AMDGPUUsage.rst:7277 ../../../AMDGPUUsage.rst:7309 -#: ../../../AMDGPUUsage.rst:7574 ../../../AMDGPUUsage.rst:7576 -#: ../../../AMDGPUUsage.rst:7645 ../../../AMDGPUUsage.rst:7914 -#: ../../../AMDGPUUsage.rst:8579 ../../../AMDGPUUsage.rst:8581 -#: ../../../AMDGPUUsage.rst:8647 ../../../AMDGPUUsage.rst:8720 -#: ../../../AMDGPUUsage.rst:9083 ../../../AMDGPUUsage.rst:9085 -#: ../../../AMDGPUUsage.rst:9134 ../../../AMDGPUUsage.rst:9191 -#: ../../../AMDGPUUsage.rst:9719 ../../../AMDGPUUsage.rst:9721 -#: ../../../AMDGPUUsage.rst:9831 ../../../AMDGPUUsage.rst:9922 -#: ../../../AMDGPUUsage.rst:10234 ../../../AMDGPUUsage.rst:10880 -#: ../../../AMDGPUUsage.rst:10882 ../../../AMDGPUUsage.rst:10948 -#: ../../../AMDGPUUsage.rst:11021 ../../../AMDGPUUsage.rst:11406 -#: ../../../AMDGPUUsage.rst:11408 ../../../AMDGPUUsage.rst:11457 -#: ../../../AMDGPUUsage.rst:11527 ../../../AMDGPUUsage.rst:12067 -#: ../../../AMDGPUUsage.rst:12069 ../../../AMDGPUUsage.rst:12179 -#: ../../../AMDGPUUsage.rst:12283 ../../../AMDGPUUsage.rst:12592 -#: ../../../AMDGPUUsage.rst:13137 ../../../AMDGPUUsage.rst:13139 -#: ../../../AMDGPUUsage.rst:13227 ../../../AMDGPUUsage.rst:13578 -#: ../../../AMDGPUUsage.rst:13580 ../../../AMDGPUUsage.rst:13641 -#: ../../../AMDGPUUsage.rst:14058 ../../../AMDGPUUsage.rst:14060 -#: ../../../AMDGPUUsage.rst:14182 ../../../AMDGPUUsage.rst:14605 -#: ../../../AMDGPUUsage.rst:15225 ../../../AMDGPUUsage.rst:15227 -#: ../../../AMDGPUUsage.rst:15311 ../../../AMDGPUUsage.rst:15672 -#: ../../../AMDGPUUsage.rst:15674 ../../../AMDGPUUsage.rst:15732 -#: ../../../AMDGPUUsage.rst:16193 ../../../AMDGPUUsage.rst:16195 -#: ../../../AMDGPUUsage.rst:16311 ../../../AMDGPUUsage.rst:16739 -#: ../../../AMDGPUUsage.rst:17305 ../../../AMDGPUUsage.rst:17307 -#: ../../../AMDGPUUsage.rst:17372 ../../../AMDGPUUsage.rst:17730 -#: ../../../AMDGPUUsage.rst:17732 ../../../AMDGPUUsage.rst:17786 -#: ../../../AMDGPUUsage.rst:18195 ../../../AMDGPUUsage.rst:18197 -#: ../../../AMDGPUUsage.rst:18297 ../../../AMDGPUUsage.rst:18707 +#: ../../../AMDGPUUsage.rst:7591 ../../../AMDGPUUsage.rst:7593 +#: ../../../AMDGPUUsage.rst:7625 ../../../AMDGPUUsage.rst:7830 +#: ../../../AMDGPUUsage.rst:7832 ../../../AMDGPUUsage.rst:7864 +#: ../../../AMDGPUUsage.rst:8129 ../../../AMDGPUUsage.rst:8131 +#: ../../../AMDGPUUsage.rst:8200 ../../../AMDGPUUsage.rst:8469 +#: ../../../AMDGPUUsage.rst:9134 ../../../AMDGPUUsage.rst:9136 +#: ../../../AMDGPUUsage.rst:9202 ../../../AMDGPUUsage.rst:9275 +#: ../../../AMDGPUUsage.rst:9638 ../../../AMDGPUUsage.rst:9640 +#: ../../../AMDGPUUsage.rst:9689 ../../../AMDGPUUsage.rst:9746 +#: ../../../AMDGPUUsage.rst:10274 ../../../AMDGPUUsage.rst:10276 +#: ../../../AMDGPUUsage.rst:10386 ../../../AMDGPUUsage.rst:10477 +#: ../../../AMDGPUUsage.rst:10789 ../../../AMDGPUUsage.rst:11435 +#: ../../../AMDGPUUsage.rst:11437 ../../../AMDGPUUsage.rst:11503 +#: ../../../AMDGPUUsage.rst:11576 ../../../AMDGPUUsage.rst:11961 +#: ../../../AMDGPUUsage.rst:11963 ../../../AMDGPUUsage.rst:12012 +#: ../../../AMDGPUUsage.rst:12082 ../../../AMDGPUUsage.rst:12622 +#: ../../../AMDGPUUsage.rst:12624 ../../../AMDGPUUsage.rst:12734 +#: ../../../AMDGPUUsage.rst:12838 ../../../AMDGPUUsage.rst:13147 +#: ../../../AMDGPUUsage.rst:13692 ../../../AMDGPUUsage.rst:13694 +#: ../../../AMDGPUUsage.rst:13782 ../../../AMDGPUUsage.rst:14133 +#: ../../../AMDGPUUsage.rst:14135 ../../../AMDGPUUsage.rst:14196 +#: ../../../AMDGPUUsage.rst:14613 ../../../AMDGPUUsage.rst:14615 +#: ../../../AMDGPUUsage.rst:14737 ../../../AMDGPUUsage.rst:15160 +#: ../../../AMDGPUUsage.rst:15780 ../../../AMDGPUUsage.rst:15782 +#: ../../../AMDGPUUsage.rst:15866 ../../../AMDGPUUsage.rst:16227 +#: ../../../AMDGPUUsage.rst:16229 ../../../AMDGPUUsage.rst:16287 +#: ../../../AMDGPUUsage.rst:16748 ../../../AMDGPUUsage.rst:16750 +#: ../../../AMDGPUUsage.rst:16866 ../../../AMDGPUUsage.rst:17294 +#: ../../../AMDGPUUsage.rst:18023 ../../../AMDGPUUsage.rst:18025 +#: ../../../AMDGPUUsage.rst:18090 ../../../AMDGPUUsage.rst:18163 +#: ../../../AMDGPUUsage.rst:18586 ../../../AMDGPUUsage.rst:18588 +#: ../../../AMDGPUUsage.rst:18642 ../../../AMDGPUUsage.rst:19150 +#: ../../../AMDGPUUsage.rst:19152 ../../../AMDGPUUsage.rst:19252 +#: ../../../AMDGPUUsage.rst:19696 msgid "fence" msgstr "" -#: ../../../AMDGPUUsage.rst:7040 ../../../AMDGPUUsage.rst:7279 -#: ../../../AMDGPUUsage.rst:7578 +#: ../../../AMDGPUUsage.rst:7595 ../../../AMDGPUUsage.rst:7834 +#: ../../../AMDGPUUsage.rst:8133 msgid "If OpenCL and address space is not generic, omit." msgstr "" -#: ../../../AMDGPUUsage.rst:7043 ../../../AMDGPUUsage.rst:7077 -#: ../../../AMDGPUUsage.rst:7282 ../../../AMDGPUUsage.rst:7320 -#: ../../../AMDGPUUsage.rst:7652 ../../../AMDGPUUsage.rst:8595 -#: ../../../AMDGPUUsage.rst:8656 ../../../AMDGPUUsage.rst:8729 -#: ../../../AMDGPUUsage.rst:9099 ../../../AMDGPUUsage.rst:9147 -#: ../../../AMDGPUUsage.rst:9217 ../../../AMDGPUUsage.rst:9840 -#: ../../../AMDGPUUsage.rst:9944 ../../../AMDGPUUsage.rst:10896 -#: ../../../AMDGPUUsage.rst:10957 ../../../AMDGPUUsage.rst:11030 -#: ../../../AMDGPUUsage.rst:11422 ../../../AMDGPUUsage.rst:11483 -#: ../../../AMDGPUUsage.rst:11550 ../../../AMDGPUUsage.rst:12201 -#: ../../../AMDGPUUsage.rst:12305 ../../../AMDGPUUsage.rst:13153 -#: ../../../AMDGPUUsage.rst:13238 ../../../AMDGPUUsage.rst:13591 -#: ../../../AMDGPUUsage.rst:13652 ../../../AMDGPUUsage.rst:14193 -#: ../../../AMDGPUUsage.rst:15236 ../../../AMDGPUUsage.rst:15318 -#: ../../../AMDGPUUsage.rst:15684 ../../../AMDGPUUsage.rst:15750 -#: ../../../AMDGPUUsage.rst:16209 ../../../AMDGPUUsage.rst:16329 -#: ../../../AMDGPUUsage.rst:17314 ../../../AMDGPUUsage.rst:17379 -#: ../../../AMDGPUUsage.rst:17740 ../../../AMDGPUUsage.rst:17800 -#: ../../../AMDGPUUsage.rst:18209 ../../../AMDGPUUsage.rst:18313 +#: ../../../AMDGPUUsage.rst:7598 ../../../AMDGPUUsage.rst:7632 +#: ../../../AMDGPUUsage.rst:7837 ../../../AMDGPUUsage.rst:7875 +#: ../../../AMDGPUUsage.rst:8207 ../../../AMDGPUUsage.rst:9150 +#: ../../../AMDGPUUsage.rst:9211 ../../../AMDGPUUsage.rst:9284 +#: ../../../AMDGPUUsage.rst:9654 ../../../AMDGPUUsage.rst:9702 +#: ../../../AMDGPUUsage.rst:9772 ../../../AMDGPUUsage.rst:10395 +#: ../../../AMDGPUUsage.rst:10499 ../../../AMDGPUUsage.rst:11451 +#: ../../../AMDGPUUsage.rst:11512 ../../../AMDGPUUsage.rst:11585 +#: ../../../AMDGPUUsage.rst:11977 ../../../AMDGPUUsage.rst:12038 +#: ../../../AMDGPUUsage.rst:12105 ../../../AMDGPUUsage.rst:12756 +#: ../../../AMDGPUUsage.rst:12860 ../../../AMDGPUUsage.rst:13708 +#: ../../../AMDGPUUsage.rst:13793 ../../../AMDGPUUsage.rst:14146 +#: ../../../AMDGPUUsage.rst:14207 ../../../AMDGPUUsage.rst:14748 +#: ../../../AMDGPUUsage.rst:15791 ../../../AMDGPUUsage.rst:15873 +#: ../../../AMDGPUUsage.rst:16239 ../../../AMDGPUUsage.rst:16305 +#: ../../../AMDGPUUsage.rst:16764 ../../../AMDGPUUsage.rst:16884 +#: ../../../AMDGPUUsage.rst:18032 ../../../AMDGPUUsage.rst:18097 +#: ../../../AMDGPUUsage.rst:18170 ../../../AMDGPUUsage.rst:18596 +#: ../../../AMDGPUUsage.rst:18686 ../../../AMDGPUUsage.rst:19164 +#: ../../../AMDGPUUsage.rst:19297 msgid "" "See :ref:`amdgpu-fence-as` for more details on fencing specific address " "spaces." msgstr "" -#: ../../../AMDGPUUsage.rst:7046 +#: ../../../AMDGPUUsage.rst:7601 msgid "" "Must happen after any preceding local/generic load atomic/atomicrmw with an " "equal or wider sync scope and memory ordering stronger than unordered (this " "is termed the fence-paired-atomic)." msgstr "" -#: ../../../AMDGPUUsage.rst:7063 ../../../AMDGPUUsage.rst:8631 -#: ../../../AMDGPUUsage.rst:10932 +#: ../../../AMDGPUUsage.rst:7618 ../../../AMDGPUUsage.rst:9186 +#: ../../../AMDGPUUsage.rst:11487 msgid "" "Ensures any following global data read is no older than the value read by " "the fence-paired-atomic." msgstr "" -#: ../../../AMDGPUUsage.rst:7070 ../../../AMDGPUUsage.rst:7168 -#: ../../../AMDGPUUsage.rst:7235 ../../../AMDGPUUsage.rst:7309 -#: ../../../AMDGPUUsage.rst:7445 ../../../AMDGPUUsage.rst:7508 -#: ../../../AMDGPUUsage.rst:7645 ../../../AMDGPUUsage.rst:7813 -#: ../../../AMDGPUUsage.rst:8647 ../../../AMDGPUUsage.rst:8720 -#: ../../../AMDGPUUsage.rst:8844 ../../../AMDGPUUsage.rst:8898 -#: ../../../AMDGPUUsage.rst:8988 ../../../AMDGPUUsage.rst:9040 -#: ../../../AMDGPUUsage.rst:9134 ../../../AMDGPUUsage.rst:9204 -#: ../../../AMDGPUUsage.rst:9386 ../../../AMDGPUUsage.rst:9417 -#: ../../../AMDGPUUsage.rst:9492 ../../../AMDGPUUsage.rst:9563 -#: ../../../AMDGPUUsage.rst:9643 ../../../AMDGPUUsage.rst:9831 -#: ../../../AMDGPUUsage.rst:9935 ../../../AMDGPUUsage.rst:10131 -#: ../../../AMDGPUUsage.rst:10948 ../../../AMDGPUUsage.rst:11021 -#: ../../../AMDGPUUsage.rst:11153 ../../../AMDGPUUsage.rst:11209 -#: ../../../AMDGPUUsage.rst:11310 ../../../AMDGPUUsage.rst:11362 -#: ../../../AMDGPUUsage.rst:11470 ../../../AMDGPUUsage.rst:11537 -#: ../../../AMDGPUUsage.rst:11719 ../../../AMDGPUUsage.rst:11760 -#: ../../../AMDGPUUsage.rst:11835 ../../../AMDGPUUsage.rst:11914 -#: ../../../AMDGPUUsage.rst:11994 ../../../AMDGPUUsage.rst:12192 -#: ../../../AMDGPUUsage.rst:12296 ../../../AMDGPUUsage.rst:12489 -#: ../../../AMDGPUUsage.rst:12911 +#: ../../../AMDGPUUsage.rst:7625 ../../../AMDGPUUsage.rst:7723 +#: ../../../AMDGPUUsage.rst:7790 ../../../AMDGPUUsage.rst:7864 +#: ../../../AMDGPUUsage.rst:8000 ../../../AMDGPUUsage.rst:8063 +#: ../../../AMDGPUUsage.rst:8200 ../../../AMDGPUUsage.rst:8368 +#: ../../../AMDGPUUsage.rst:9202 ../../../AMDGPUUsage.rst:9275 +#: ../../../AMDGPUUsage.rst:9399 ../../../AMDGPUUsage.rst:9453 +#: ../../../AMDGPUUsage.rst:9543 ../../../AMDGPUUsage.rst:9595 +#: ../../../AMDGPUUsage.rst:9689 ../../../AMDGPUUsage.rst:9759 +#: ../../../AMDGPUUsage.rst:9941 ../../../AMDGPUUsage.rst:9972 +#: ../../../AMDGPUUsage.rst:10047 ../../../AMDGPUUsage.rst:10118 +#: ../../../AMDGPUUsage.rst:10198 ../../../AMDGPUUsage.rst:10386 +#: ../../../AMDGPUUsage.rst:10490 ../../../AMDGPUUsage.rst:10686 +#: ../../../AMDGPUUsage.rst:11503 ../../../AMDGPUUsage.rst:11576 +#: ../../../AMDGPUUsage.rst:11708 ../../../AMDGPUUsage.rst:11764 +#: ../../../AMDGPUUsage.rst:11865 ../../../AMDGPUUsage.rst:11917 +#: ../../../AMDGPUUsage.rst:12025 ../../../AMDGPUUsage.rst:12092 +#: ../../../AMDGPUUsage.rst:12274 ../../../AMDGPUUsage.rst:12315 +#: ../../../AMDGPUUsage.rst:12390 ../../../AMDGPUUsage.rst:12469 +#: ../../../AMDGPUUsage.rst:12549 ../../../AMDGPUUsage.rst:12747 +#: ../../../AMDGPUUsage.rst:12851 ../../../AMDGPUUsage.rst:13044 +#: ../../../AMDGPUUsage.rst:13466 msgid "s_waitcnt lgkmcnt(0) & vmcnt(0)" msgstr "" -#: ../../../AMDGPUUsage.rst:7073 ../../../AMDGPUUsage.rst:7171 -#: ../../../AMDGPUUsage.rst:7312 ../../../AMDGPUUsage.rst:7648 -#: ../../../AMDGPUUsage.rst:8587 ../../../AMDGPUUsage.rst:8652 -#: ../../../AMDGPUUsage.rst:8725 ../../../AMDGPUUsage.rst:8849 -#: ../../../AMDGPUUsage.rst:8903 ../../../AMDGPUUsage.rst:9091 -#: ../../../AMDGPUUsage.rst:9139 ../../../AMDGPUUsage.rst:9209 -#: ../../../AMDGPUUsage.rst:9727 ../../../AMDGPUUsage.rst:9836 -#: ../../../AMDGPUUsage.rst:9940 ../../../AMDGPUUsage.rst:10888 -#: ../../../AMDGPUUsage.rst:10953 ../../../AMDGPUUsage.rst:11026 -#: ../../../AMDGPUUsage.rst:11158 ../../../AMDGPUUsage.rst:11214 -#: ../../../AMDGPUUsage.rst:11414 ../../../AMDGPUUsage.rst:11475 -#: ../../../AMDGPUUsage.rst:11542 ../../../AMDGPUUsage.rst:12075 -#: ../../../AMDGPUUsage.rst:12197 ../../../AMDGPUUsage.rst:12301 -#: ../../../AMDGPUUsage.rst:13145 ../../../AMDGPUUsage.rst:13230 -#: ../../../AMDGPUUsage.rst:13405 ../../../AMDGPUUsage.rst:13583 -#: ../../../AMDGPUUsage.rst:13644 ../../../AMDGPUUsage.rst:14063 -#: ../../../AMDGPUUsage.rst:14185 +#: ../../../AMDGPUUsage.rst:7628 ../../../AMDGPUUsage.rst:7726 +#: ../../../AMDGPUUsage.rst:7867 ../../../AMDGPUUsage.rst:8203 +#: ../../../AMDGPUUsage.rst:9142 ../../../AMDGPUUsage.rst:9207 +#: ../../../AMDGPUUsage.rst:9280 ../../../AMDGPUUsage.rst:9404 +#: ../../../AMDGPUUsage.rst:9458 ../../../AMDGPUUsage.rst:9646 +#: ../../../AMDGPUUsage.rst:9694 ../../../AMDGPUUsage.rst:9764 +#: ../../../AMDGPUUsage.rst:10282 ../../../AMDGPUUsage.rst:10391 +#: ../../../AMDGPUUsage.rst:10495 ../../../AMDGPUUsage.rst:11443 +#: ../../../AMDGPUUsage.rst:11508 ../../../AMDGPUUsage.rst:11581 +#: ../../../AMDGPUUsage.rst:11713 ../../../AMDGPUUsage.rst:11769 +#: ../../../AMDGPUUsage.rst:11969 ../../../AMDGPUUsage.rst:12030 +#: ../../../AMDGPUUsage.rst:12097 ../../../AMDGPUUsage.rst:12630 +#: ../../../AMDGPUUsage.rst:12752 ../../../AMDGPUUsage.rst:12856 +#: ../../../AMDGPUUsage.rst:13700 ../../../AMDGPUUsage.rst:13785 +#: ../../../AMDGPUUsage.rst:13960 ../../../AMDGPUUsage.rst:14138 +#: ../../../AMDGPUUsage.rst:14199 ../../../AMDGPUUsage.rst:14618 +#: ../../../AMDGPUUsage.rst:14740 msgid "If OpenCL and address space is not generic, omit lgkmcnt(0)." msgstr "" -#: ../../../AMDGPUUsage.rst:7080 ../../../AMDGPUUsage.rst:7175 -#: ../../../AMDGPUUsage.rst:7240 ../../../AMDGPUUsage.rst:7323 -#: ../../../AMDGPUUsage.rst:7450 ../../../AMDGPUUsage.rst:7513 -#: ../../../AMDGPUUsage.rst:7655 ../../../AMDGPUUsage.rst:7816 -#: ../../../AMDGPUUsage.rst:8659 ../../../AMDGPUUsage.rst:8732 -#: ../../../AMDGPUUsage.rst:8853 ../../../AMDGPUUsage.rst:8907 -#: ../../../AMDGPUUsage.rst:8995 ../../../AMDGPUUsage.rst:9047 -#: ../../../AMDGPUUsage.rst:9150 ../../../AMDGPUUsage.rst:9220 -#: ../../../AMDGPUUsage.rst:9424 ../../../AMDGPUUsage.rst:9499 -#: ../../../AMDGPUUsage.rst:9570 ../../../AMDGPUUsage.rst:9650 -#: ../../../AMDGPUUsage.rst:9843 ../../../AMDGPUUsage.rst:9947 -#: ../../../AMDGPUUsage.rst:10136 ../../../AMDGPUUsage.rst:10960 -#: ../../../AMDGPUUsage.rst:11033 ../../../AMDGPUUsage.rst:11162 -#: ../../../AMDGPUUsage.rst:11218 ../../../AMDGPUUsage.rst:11317 -#: ../../../AMDGPUUsage.rst:11369 ../../../AMDGPUUsage.rst:11486 -#: ../../../AMDGPUUsage.rst:11553 ../../../AMDGPUUsage.rst:11767 -#: ../../../AMDGPUUsage.rst:11842 ../../../AMDGPUUsage.rst:11921 -#: ../../../AMDGPUUsage.rst:12001 ../../../AMDGPUUsage.rst:12204 -#: ../../../AMDGPUUsage.rst:12308 ../../../AMDGPUUsage.rst:12494 +#: ../../../AMDGPUUsage.rst:7635 ../../../AMDGPUUsage.rst:7730 +#: ../../../AMDGPUUsage.rst:7795 ../../../AMDGPUUsage.rst:7878 +#: ../../../AMDGPUUsage.rst:8005 ../../../AMDGPUUsage.rst:8068 +#: ../../../AMDGPUUsage.rst:8210 ../../../AMDGPUUsage.rst:8371 +#: ../../../AMDGPUUsage.rst:9214 ../../../AMDGPUUsage.rst:9287 +#: ../../../AMDGPUUsage.rst:9408 ../../../AMDGPUUsage.rst:9462 +#: ../../../AMDGPUUsage.rst:9550 ../../../AMDGPUUsage.rst:9602 +#: ../../../AMDGPUUsage.rst:9705 ../../../AMDGPUUsage.rst:9775 +#: ../../../AMDGPUUsage.rst:9979 ../../../AMDGPUUsage.rst:10054 +#: ../../../AMDGPUUsage.rst:10125 ../../../AMDGPUUsage.rst:10205 +#: ../../../AMDGPUUsage.rst:10398 ../../../AMDGPUUsage.rst:10502 +#: ../../../AMDGPUUsage.rst:10691 ../../../AMDGPUUsage.rst:11515 +#: ../../../AMDGPUUsage.rst:11588 ../../../AMDGPUUsage.rst:11717 +#: ../../../AMDGPUUsage.rst:11773 ../../../AMDGPUUsage.rst:11872 +#: ../../../AMDGPUUsage.rst:11924 ../../../AMDGPUUsage.rst:12041 +#: ../../../AMDGPUUsage.rst:12108 ../../../AMDGPUUsage.rst:12322 +#: ../../../AMDGPUUsage.rst:12397 ../../../AMDGPUUsage.rst:12476 +#: ../../../AMDGPUUsage.rst:12556 ../../../AMDGPUUsage.rst:12759 +#: ../../../AMDGPUUsage.rst:12863 ../../../AMDGPUUsage.rst:13049 msgid "" "Could be split into separate s_waitcnt vmcnt(0) and s_waitcnt lgkmcnt(0) to " "allow them to be independently moved according to the following rules." msgstr "" -#: ../../../AMDGPUUsage.rst:7089 ../../../AMDGPUUsage.rst:8668 -#: ../../../AMDGPUUsage.rst:8741 ../../../AMDGPUUsage.rst:10969 -#: ../../../AMDGPUUsage.rst:11042 +#: ../../../AMDGPUUsage.rst:7644 ../../../AMDGPUUsage.rst:9223 +#: ../../../AMDGPUUsage.rst:9296 ../../../AMDGPUUsage.rst:11524 +#: ../../../AMDGPUUsage.rst:11597 msgid "" "s_waitcnt vmcnt(0) must happen after any preceding global/generic load " "atomic/atomicrmw with an equal or wider sync scope and memory ordering " "stronger than unordered (this is termed the fence-paired-atomic)." msgstr "" -#: ../../../AMDGPUUsage.rst:7101 ../../../AMDGPUUsage.rst:8611 -#: ../../../AMDGPUUsage.rst:8680 ../../../AMDGPUUsage.rst:8753 -#: ../../../AMDGPUUsage.rst:10912 ../../../AMDGPUUsage.rst:10981 -#: ../../../AMDGPUUsage.rst:11054 ../../../AMDGPUUsage.rst:13190 -#: ../../../AMDGPUUsage.rst:13275 +#: ../../../AMDGPUUsage.rst:7656 ../../../AMDGPUUsage.rst:9166 +#: ../../../AMDGPUUsage.rst:9235 ../../../AMDGPUUsage.rst:9308 +#: ../../../AMDGPUUsage.rst:11467 ../../../AMDGPUUsage.rst:11536 +#: ../../../AMDGPUUsage.rst:11609 ../../../AMDGPUUsage.rst:13745 +#: ../../../AMDGPUUsage.rst:13830 msgid "" "s_waitcnt lgkmcnt(0) must happen after any preceding local/generic load " "atomic/atomicrmw with an equal or wider sync scope and memory ordering " "stronger than unordered (this is termed the fence-paired-atomic)." msgstr "" -#: ../../../AMDGPUUsage.rst:7113 ../../../AMDGPUUsage.rst:7678 -#: ../../../AMDGPUUsage.rst:8183 ../../../AMDGPUUsage.rst:8386 -#: ../../../AMDGPUUsage.rst:8692 ../../../AMDGPUUsage.rst:9313 -#: ../../../AMDGPUUsage.rst:9806 ../../../AMDGPUUsage.rst:9866 +#: ../../../AMDGPUUsage.rst:7668 ../../../AMDGPUUsage.rst:8233 +#: ../../../AMDGPUUsage.rst:8738 ../../../AMDGPUUsage.rst:8941 +#: ../../../AMDGPUUsage.rst:9247 ../../../AMDGPUUsage.rst:9868 +#: ../../../AMDGPUUsage.rst:10361 ../../../AMDGPUUsage.rst:10421 msgid "Must happen before the following buffer_wbinvl1_vol." msgstr "" -#: ../../../AMDGPUUsage.rst:7116 ../../../AMDGPUUsage.rst:8695 -#: ../../../AMDGPUUsage.rst:8768 ../../../AMDGPUUsage.rst:10996 -#: ../../../AMDGPUUsage.rst:11069 ../../../AMDGPUUsage.rst:13205 -#: ../../../AMDGPUUsage.rst:15289 ../../../AMDGPUUsage.rst:17358 +#: ../../../AMDGPUUsage.rst:7671 ../../../AMDGPUUsage.rst:9250 +#: ../../../AMDGPUUsage.rst:9323 ../../../AMDGPUUsage.rst:11551 +#: ../../../AMDGPUUsage.rst:11624 ../../../AMDGPUUsage.rst:13760 +#: ../../../AMDGPUUsage.rst:15844 ../../../AMDGPUUsage.rst:18076 msgid "" "Ensures that the fence-paired atomic has completed before invalidating the " "cache. Therefore any following locations read must be no older than the " "value read by the fence-paired-atomic." msgstr "" -#: ../../../AMDGPUUsage.rst:7141 ../../../AMDGPUUsage.rst:8798 -#: ../../../AMDGPUUsage.rst:11094 ../../../AMDGPUUsage.rst:13316 -#: ../../../AMDGPUUsage.rst:15391 ../../../AMDGPUUsage.rst:17446 +#: ../../../AMDGPUUsage.rst:7696 ../../../AMDGPUUsage.rst:9353 +#: ../../../AMDGPUUsage.rst:11649 ../../../AMDGPUUsage.rst:13871 +#: ../../../AMDGPUUsage.rst:15946 ../../../AMDGPUUsage.rst:18242 msgid "**Release Atomic**" msgstr "" -#: ../../../AMDGPUUsage.rst:7143 ../../../AMDGPUUsage.rst:13318 -#: ../../../AMDGPUUsage.rst:15393 ../../../AMDGPUUsage.rst:17453 +#: ../../../AMDGPUUsage.rst:7698 ../../../AMDGPUUsage.rst:13873 +#: ../../../AMDGPUUsage.rst:15948 ../../../AMDGPUUsage.rst:18249 msgid "buffer/global/ds/flat_store" msgstr "" -#: ../../../AMDGPUUsage.rst:7149 ../../../AMDGPUUsage.rst:7216 -#: ../../../AMDGPUUsage.rst:7372 ../../../AMDGPUUsage.rst:7411 -#: ../../../AMDGPUUsage.rst:9278 ../../../AMDGPUUsage.rst:11611 -#: ../../../AMDGPUUsage.rst:13711 ../../../AMDGPUUsage.rst:15810 -#: ../../../AMDGPUUsage.rst:17859 +#: ../../../AMDGPUUsage.rst:7704 ../../../AMDGPUUsage.rst:7771 +#: ../../../AMDGPUUsage.rst:7927 ../../../AMDGPUUsage.rst:7966 +#: ../../../AMDGPUUsage.rst:9833 ../../../AMDGPUUsage.rst:12166 +#: ../../../AMDGPUUsage.rst:14266 ../../../AMDGPUUsage.rst:16365 +#: ../../../AMDGPUUsage.rst:18745 msgid "" "Must happen after any preceding local/generic load/store/load atomic/store " "atomic/atomicrmw." msgstr "" -#: ../../../AMDGPUUsage.rst:7155 ../../../AMDGPUUsage.rst:7198 -#: ../../../AMDGPUUsage.rst:8827 ../../../AMDGPUUsage.rst:8876 -#: ../../../AMDGPUUsage.rst:8930 ../../../AMDGPUUsage.rst:11124 -#: ../../../AMDGPUUsage.rst:11185 ../../../AMDGPUUsage.rst:11241 -#: ../../../AMDGPUUsage.rst:13355 ../../../AMDGPUUsage.rst:13390 -#: ../../../AMDGPUUsage.rst:13438 ../../../AMDGPUUsage.rst:13521 -#: ../../../AMDGPUUsage.rst:13805 ../../../AMDGPUUsage.rst:15467 -#: ../../../AMDGPUUsage.rst:15517 ../../../AMDGPUUsage.rst:15909 -#: ../../../AMDGPUUsage.rst:17484 ../../../AMDGPUUsage.rst:17525 -#: ../../../AMDGPUUsage.rst:17571 ../../../AMDGPUUsage.rst:17945 +#: ../../../AMDGPUUsage.rst:7710 ../../../AMDGPUUsage.rst:7753 +#: ../../../AMDGPUUsage.rst:9382 ../../../AMDGPUUsage.rst:9431 +#: ../../../AMDGPUUsage.rst:9485 ../../../AMDGPUUsage.rst:11679 +#: ../../../AMDGPUUsage.rst:11740 ../../../AMDGPUUsage.rst:11796 +#: ../../../AMDGPUUsage.rst:13910 ../../../AMDGPUUsage.rst:13945 +#: ../../../AMDGPUUsage.rst:13993 ../../../AMDGPUUsage.rst:14076 +#: ../../../AMDGPUUsage.rst:14360 ../../../AMDGPUUsage.rst:16022 +#: ../../../AMDGPUUsage.rst:16072 ../../../AMDGPUUsage.rst:16464 +#: ../../../AMDGPUUsage.rst:18280 ../../../AMDGPUUsage.rst:18321 +#: ../../../AMDGPUUsage.rst:18397 ../../../AMDGPUUsage.rst:18831 msgid "Must happen before the following store." msgstr "" -#: ../../../AMDGPUUsage.rst:7158 +#: ../../../AMDGPUUsage.rst:7713 msgid "" "Ensures that all memory operations to local have completed before performing " "the store that is being released." msgstr "" -#: ../../../AMDGPUUsage.rst:7184 ../../../AMDGPUUsage.rst:7249 -#: ../../../AMDGPUUsage.rst:7332 ../../../AMDGPUUsage.rst:7459 -#: ../../../AMDGPUUsage.rst:7522 ../../../AMDGPUUsage.rst:7664 -#: ../../../AMDGPUUsage.rst:8862 ../../../AMDGPUUsage.rst:8916 -#: ../../../AMDGPUUsage.rst:9004 ../../../AMDGPUUsage.rst:9056 -#: ../../../AMDGPUUsage.rst:9159 ../../../AMDGPUUsage.rst:9229 -#: ../../../AMDGPUUsage.rst:9433 ../../../AMDGPUUsage.rst:9508 -#: ../../../AMDGPUUsage.rst:9579 ../../../AMDGPUUsage.rst:9659 -#: ../../../AMDGPUUsage.rst:9852 ../../../AMDGPUUsage.rst:9956 -#: ../../../AMDGPUUsage.rst:11171 ../../../AMDGPUUsage.rst:11227 -#: ../../../AMDGPUUsage.rst:11326 ../../../AMDGPUUsage.rst:11378 -#: ../../../AMDGPUUsage.rst:11495 ../../../AMDGPUUsage.rst:11562 -#: ../../../AMDGPUUsage.rst:11776 ../../../AMDGPUUsage.rst:11851 -#: ../../../AMDGPUUsage.rst:11930 ../../../AMDGPUUsage.rst:12010 -#: ../../../AMDGPUUsage.rst:12213 ../../../AMDGPUUsage.rst:12317 +#: ../../../AMDGPUUsage.rst:7739 ../../../AMDGPUUsage.rst:7804 +#: ../../../AMDGPUUsage.rst:7887 ../../../AMDGPUUsage.rst:8014 +#: ../../../AMDGPUUsage.rst:8077 ../../../AMDGPUUsage.rst:8219 +#: ../../../AMDGPUUsage.rst:9417 ../../../AMDGPUUsage.rst:9471 +#: ../../../AMDGPUUsage.rst:9559 ../../../AMDGPUUsage.rst:9611 +#: ../../../AMDGPUUsage.rst:9714 ../../../AMDGPUUsage.rst:9784 +#: ../../../AMDGPUUsage.rst:9988 ../../../AMDGPUUsage.rst:10063 +#: ../../../AMDGPUUsage.rst:10134 ../../../AMDGPUUsage.rst:10214 +#: ../../../AMDGPUUsage.rst:10407 ../../../AMDGPUUsage.rst:10511 +#: ../../../AMDGPUUsage.rst:11726 ../../../AMDGPUUsage.rst:11782 +#: ../../../AMDGPUUsage.rst:11881 ../../../AMDGPUUsage.rst:11933 +#: ../../../AMDGPUUsage.rst:12050 ../../../AMDGPUUsage.rst:12117 +#: ../../../AMDGPUUsage.rst:12331 ../../../AMDGPUUsage.rst:12406 +#: ../../../AMDGPUUsage.rst:12485 ../../../AMDGPUUsage.rst:12565 +#: ../../../AMDGPUUsage.rst:12768 ../../../AMDGPUUsage.rst:12872 msgid "" "s_waitcnt vmcnt(0) must happen after any preceding global/generic load/store/" "load atomic/store atomic/atomicrmw." msgstr "" -#: ../../../AMDGPUUsage.rst:7191 ../../../AMDGPUUsage.rst:7256 -#: ../../../AMDGPUUsage.rst:7339 ../../../AMDGPUUsage.rst:7466 -#: ../../../AMDGPUUsage.rst:7529 ../../../AMDGPUUsage.rst:7671 -#: ../../../AMDGPUUsage.rst:8820 ../../../AMDGPUUsage.rst:8869 -#: ../../../AMDGPUUsage.rst:8923 ../../../AMDGPUUsage.rst:8964 -#: ../../../AMDGPUUsage.rst:9011 ../../../AMDGPUUsage.rst:9063 -#: ../../../AMDGPUUsage.rst:9166 ../../../AMDGPUUsage.rst:9236 -#: ../../../AMDGPUUsage.rst:9290 ../../../AMDGPUUsage.rst:9367 -#: ../../../AMDGPUUsage.rst:9440 ../../../AMDGPUUsage.rst:9515 -#: ../../../AMDGPUUsage.rst:9586 ../../../AMDGPUUsage.rst:9666 -#: ../../../AMDGPUUsage.rst:9859 ../../../AMDGPUUsage.rst:9963 -#: ../../../AMDGPUUsage.rst:11117 ../../../AMDGPUUsage.rst:11178 -#: ../../../AMDGPUUsage.rst:11234 ../../../AMDGPUUsage.rst:11276 -#: ../../../AMDGPUUsage.rst:11333 ../../../AMDGPUUsage.rst:11385 -#: ../../../AMDGPUUsage.rst:11502 ../../../AMDGPUUsage.rst:11569 -#: ../../../AMDGPUUsage.rst:11623 ../../../AMDGPUUsage.rst:11700 -#: ../../../AMDGPUUsage.rst:11783 ../../../AMDGPUUsage.rst:11858 -#: ../../../AMDGPUUsage.rst:11937 ../../../AMDGPUUsage.rst:12017 -#: ../../../AMDGPUUsage.rst:12220 ../../../AMDGPUUsage.rst:12324 -#: ../../../AMDGPUUsage.rst:13348 ../../../AMDGPUUsage.rst:13431 -#: ../../../AMDGPUUsage.rst:13479 ../../../AMDGPUUsage.rst:13559 -#: ../../../AMDGPUUsage.rst:13676 ../../../AMDGPUUsage.rst:13739 -#: ../../../AMDGPUUsage.rst:13866 ../../../AMDGPUUsage.rst:13937 -#: ../../../AMDGPUUsage.rst:14009 ../../../AMDGPUUsage.rst:14218 +#: ../../../AMDGPUUsage.rst:7746 ../../../AMDGPUUsage.rst:7811 +#: ../../../AMDGPUUsage.rst:7894 ../../../AMDGPUUsage.rst:8021 +#: ../../../AMDGPUUsage.rst:8084 ../../../AMDGPUUsage.rst:8226 +#: ../../../AMDGPUUsage.rst:9375 ../../../AMDGPUUsage.rst:9424 +#: ../../../AMDGPUUsage.rst:9478 ../../../AMDGPUUsage.rst:9519 +#: ../../../AMDGPUUsage.rst:9566 ../../../AMDGPUUsage.rst:9618 +#: ../../../AMDGPUUsage.rst:9721 ../../../AMDGPUUsage.rst:9791 +#: ../../../AMDGPUUsage.rst:9845 ../../../AMDGPUUsage.rst:9922 +#: ../../../AMDGPUUsage.rst:9995 ../../../AMDGPUUsage.rst:10070 +#: ../../../AMDGPUUsage.rst:10141 ../../../AMDGPUUsage.rst:10221 +#: ../../../AMDGPUUsage.rst:10414 ../../../AMDGPUUsage.rst:10518 +#: ../../../AMDGPUUsage.rst:11672 ../../../AMDGPUUsage.rst:11733 +#: ../../../AMDGPUUsage.rst:11789 ../../../AMDGPUUsage.rst:11831 +#: ../../../AMDGPUUsage.rst:11888 ../../../AMDGPUUsage.rst:11940 +#: ../../../AMDGPUUsage.rst:12057 ../../../AMDGPUUsage.rst:12124 +#: ../../../AMDGPUUsage.rst:12178 ../../../AMDGPUUsage.rst:12255 +#: ../../../AMDGPUUsage.rst:12338 ../../../AMDGPUUsage.rst:12413 +#: ../../../AMDGPUUsage.rst:12492 ../../../AMDGPUUsage.rst:12572 +#: ../../../AMDGPUUsage.rst:12775 ../../../AMDGPUUsage.rst:12879 +#: ../../../AMDGPUUsage.rst:13903 ../../../AMDGPUUsage.rst:13986 +#: ../../../AMDGPUUsage.rst:14034 ../../../AMDGPUUsage.rst:14114 +#: ../../../AMDGPUUsage.rst:14231 ../../../AMDGPUUsage.rst:14294 +#: ../../../AMDGPUUsage.rst:14421 ../../../AMDGPUUsage.rst:14492 +#: ../../../AMDGPUUsage.rst:14564 ../../../AMDGPUUsage.rst:14773 msgid "" "s_waitcnt lgkmcnt(0) must happen after any preceding local/generic load/" "store/load atomic/store atomic/atomicrmw." msgstr "" -#: ../../../AMDGPUUsage.rst:7201 ../../../AMDGPUUsage.rst:8879 -#: ../../../AMDGPUUsage.rst:11188 +#: ../../../AMDGPUUsage.rst:7756 ../../../AMDGPUUsage.rst:9434 +#: ../../../AMDGPUUsage.rst:11743 msgid "" "Ensures that all memory operations to memory have completed before " "performing the store that is being released." msgstr "" -#: ../../../AMDGPUUsage.rst:7222 ../../../AMDGPUUsage.rst:7263 -#: ../../../AMDGPUUsage.rst:7378 ../../../AMDGPUUsage.rst:7417 -#: ../../../AMDGPUUsage.rst:7473 ../../../AMDGPUUsage.rst:7536 -#: ../../../AMDGPUUsage.rst:8971 ../../../AMDGPUUsage.rst:9018 -#: ../../../AMDGPUUsage.rst:9070 ../../../AMDGPUUsage.rst:9297 -#: ../../../AMDGPUUsage.rst:9374 ../../../AMDGPUUsage.rst:9447 -#: ../../../AMDGPUUsage.rst:9522 ../../../AMDGPUUsage.rst:9593 -#: ../../../AMDGPUUsage.rst:9673 ../../../AMDGPUUsage.rst:11283 -#: ../../../AMDGPUUsage.rst:11340 ../../../AMDGPUUsage.rst:11392 -#: ../../../AMDGPUUsage.rst:11630 ../../../AMDGPUUsage.rst:11707 -#: ../../../AMDGPUUsage.rst:11790 ../../../AMDGPUUsage.rst:11865 -#: ../../../AMDGPUUsage.rst:11944 ../../../AMDGPUUsage.rst:12024 -#: ../../../AMDGPUUsage.rst:13486 ../../../AMDGPUUsage.rst:13566 -#: ../../../AMDGPUUsage.rst:13746 ../../../AMDGPUUsage.rst:13873 -#: ../../../AMDGPUUsage.rst:13944 ../../../AMDGPUUsage.rst:14016 -#: ../../../AMDGPUUsage.rst:15842 ../../../AMDGPUUsage.rst:15977 -#: ../../../AMDGPUUsage.rst:16062 ../../../AMDGPUUsage.rst:16144 -#: ../../../AMDGPUUsage.rst:17889 ../../../AMDGPUUsage.rst:17996 -#: ../../../AMDGPUUsage.rst:18063 ../../../AMDGPUUsage.rst:18142 +#: ../../../AMDGPUUsage.rst:7777 ../../../AMDGPUUsage.rst:7818 +#: ../../../AMDGPUUsage.rst:7933 ../../../AMDGPUUsage.rst:7972 +#: ../../../AMDGPUUsage.rst:8028 ../../../AMDGPUUsage.rst:8091 +#: ../../../AMDGPUUsage.rst:9526 ../../../AMDGPUUsage.rst:9573 +#: ../../../AMDGPUUsage.rst:9625 ../../../AMDGPUUsage.rst:9852 +#: ../../../AMDGPUUsage.rst:9929 ../../../AMDGPUUsage.rst:10002 +#: ../../../AMDGPUUsage.rst:10077 ../../../AMDGPUUsage.rst:10148 +#: ../../../AMDGPUUsage.rst:10228 ../../../AMDGPUUsage.rst:11838 +#: ../../../AMDGPUUsage.rst:11895 ../../../AMDGPUUsage.rst:11947 +#: ../../../AMDGPUUsage.rst:12185 ../../../AMDGPUUsage.rst:12262 +#: ../../../AMDGPUUsage.rst:12345 ../../../AMDGPUUsage.rst:12420 +#: ../../../AMDGPUUsage.rst:12499 ../../../AMDGPUUsage.rst:12579 +#: ../../../AMDGPUUsage.rst:14041 ../../../AMDGPUUsage.rst:14121 +#: ../../../AMDGPUUsage.rst:14301 ../../../AMDGPUUsage.rst:14428 +#: ../../../AMDGPUUsage.rst:14499 ../../../AMDGPUUsage.rst:14571 +#: ../../../AMDGPUUsage.rst:16397 ../../../AMDGPUUsage.rst:16532 +#: ../../../AMDGPUUsage.rst:16617 ../../../AMDGPUUsage.rst:16699 +#: ../../../AMDGPUUsage.rst:18775 ../../../AMDGPUUsage.rst:18882 +#: ../../../AMDGPUUsage.rst:18979 ../../../AMDGPUUsage.rst:19092 msgid "Must happen before the following atomicrmw." msgstr "" -#: ../../../AMDGPUUsage.rst:7225 ../../../AMDGPUUsage.rst:7381 -#: ../../../AMDGPUUsage.rst:7420 +#: ../../../AMDGPUUsage.rst:7780 ../../../AMDGPUUsage.rst:7936 +#: ../../../AMDGPUUsage.rst:7975 msgid "" "Ensures that all memory operations to local have completed before performing " "the atomicrmw that is being released." msgstr "" -#: ../../../AMDGPUUsage.rst:7266 ../../../AMDGPUUsage.rst:9021 -#: ../../../AMDGPUUsage.rst:11343 ../../../AMDGPUUsage.rst:13569 -#: ../../../AMDGPUUsage.rst:15660 ../../../AMDGPUUsage.rst:17713 +#: ../../../AMDGPUUsage.rst:7821 ../../../AMDGPUUsage.rst:9576 +#: ../../../AMDGPUUsage.rst:11898 ../../../AMDGPUUsage.rst:14124 +#: ../../../AMDGPUUsage.rst:16215 ../../../AMDGPUUsage.rst:18569 msgid "" "Ensures that all memory operations to global and local have completed before " "performing the atomicrmw that is being released." msgstr "" -#: ../../../AMDGPUUsage.rst:7285 ../../../AMDGPUUsage.rst:7590 +#: ../../../AMDGPUUsage.rst:7840 ../../../AMDGPUUsage.rst:8145 msgid "" "Must happen after any preceding local/generic load/load atomic/store/store " "atomic/atomicrmw." msgstr "" -#: ../../../AMDGPUUsage.rst:7291 ../../../AMDGPUUsage.rst:7346 -#: ../../../AMDGPUUsage.rst:9116 ../../../AMDGPUUsage.rst:9173 -#: ../../../AMDGPUUsage.rst:9243 ../../../AMDGPUUsage.rst:11439 -#: ../../../AMDGPUUsage.rst:11509 ../../../AMDGPUUsage.rst:11576 -#: ../../../AMDGPUUsage.rst:13623 ../../../AMDGPUUsage.rst:13683 -#: ../../../AMDGPUUsage.rst:15714 ../../../AMDGPUUsage.rst:15780 -#: ../../../AMDGPUUsage.rst:17768 ../../../AMDGPUUsage.rst:17828 +#: ../../../AMDGPUUsage.rst:7846 ../../../AMDGPUUsage.rst:7901 +#: ../../../AMDGPUUsage.rst:9671 ../../../AMDGPUUsage.rst:9728 +#: ../../../AMDGPUUsage.rst:9798 ../../../AMDGPUUsage.rst:11994 +#: ../../../AMDGPUUsage.rst:12064 ../../../AMDGPUUsage.rst:12131 +#: ../../../AMDGPUUsage.rst:14178 ../../../AMDGPUUsage.rst:14238 +#: ../../../AMDGPUUsage.rst:16269 ../../../AMDGPUUsage.rst:16335 +#: ../../../AMDGPUUsage.rst:18624 ../../../AMDGPUUsage.rst:18714 msgid "" "Must happen before any following store atomic/atomicrmw with an equal or " "wider sync scope and memory ordering stronger than unordered (this is termed " "the fence-paired-atomic)." msgstr "" -#: ../../../AMDGPUUsage.rst:7301 +#: ../../../AMDGPUUsage.rst:7856 msgid "" "Ensures that all memory operations to local have completed before performing " "the following fence-paired-atomic." msgstr "" -#: ../../../AMDGPUUsage.rst:7316 ../../../AMDGPUUsage.rst:8591 -#: ../../../AMDGPUUsage.rst:9095 ../../../AMDGPUUsage.rst:9143 -#: ../../../AMDGPUUsage.rst:9213 ../../../AMDGPUUsage.rst:9731 -#: ../../../AMDGPUUsage.rst:10892 ../../../AMDGPUUsage.rst:11418 -#: ../../../AMDGPUUsage.rst:11479 ../../../AMDGPUUsage.rst:11546 -#: ../../../AMDGPUUsage.rst:12079 +#: ../../../AMDGPUUsage.rst:7871 ../../../AMDGPUUsage.rst:9146 +#: ../../../AMDGPUUsage.rst:9650 ../../../AMDGPUUsage.rst:9698 +#: ../../../AMDGPUUsage.rst:9768 ../../../AMDGPUUsage.rst:10286 +#: ../../../AMDGPUUsage.rst:11447 ../../../AMDGPUUsage.rst:11973 +#: ../../../AMDGPUUsage.rst:12034 ../../../AMDGPUUsage.rst:12101 +#: ../../../AMDGPUUsage.rst:12634 msgid "If OpenCL and address space is local, omit vmcnt(0)." msgstr "" -#: ../../../AMDGPUUsage.rst:7356 ../../../AMDGPUUsage.rst:9126 -#: ../../../AMDGPUUsage.rst:9183 ../../../AMDGPUUsage.rst:9253 -#: ../../../AMDGPUUsage.rst:11449 ../../../AMDGPUUsage.rst:11519 -#: ../../../AMDGPUUsage.rst:11586 ../../../AMDGPUUsage.rst:13633 -#: ../../../AMDGPUUsage.rst:13693 ../../../AMDGPUUsage.rst:15724 -#: ../../../AMDGPUUsage.rst:15790 ../../../AMDGPUUsage.rst:17778 -#: ../../../AMDGPUUsage.rst:17838 +#: ../../../AMDGPUUsage.rst:7911 ../../../AMDGPUUsage.rst:9681 +#: ../../../AMDGPUUsage.rst:9738 ../../../AMDGPUUsage.rst:9808 +#: ../../../AMDGPUUsage.rst:12004 ../../../AMDGPUUsage.rst:12074 +#: ../../../AMDGPUUsage.rst:12141 ../../../AMDGPUUsage.rst:14188 +#: ../../../AMDGPUUsage.rst:14248 ../../../AMDGPUUsage.rst:16279 +#: ../../../AMDGPUUsage.rst:16345 ../../../AMDGPUUsage.rst:18634 +#: ../../../AMDGPUUsage.rst:18724 msgid "" "Ensures that all memory operations have completed before performing the " "following fence-paired-atomic." msgstr "" -#: ../../../AMDGPUUsage.rst:7364 ../../../AMDGPUUsage.rst:9261 -#: ../../../AMDGPUUsage.rst:11594 ../../../AMDGPUUsage.rst:13701 -#: ../../../AMDGPUUsage.rst:15798 ../../../AMDGPUUsage.rst:17846 +#: ../../../AMDGPUUsage.rst:7919 ../../../AMDGPUUsage.rst:9816 +#: ../../../AMDGPUUsage.rst:12149 ../../../AMDGPUUsage.rst:14256 +#: ../../../AMDGPUUsage.rst:16353 ../../../AMDGPUUsage.rst:18732 msgid "**Acquire-Release Atomic**" msgstr "" -#: ../../../AMDGPUUsage.rst:7401 ../../../AMDGPUUsage.rst:8215 -#: ../../../AMDGPUUsage.rst:9346 ../../../AMDGPUUsage.rst:10533 -#: ../../../AMDGPUUsage.rst:11679 ../../../AMDGPUUsage.rst:12889 -#: ../../../AMDGPUUsage.rst:13823 ../../../AMDGPUUsage.rst:14957 -#: ../../../AMDGPUUsage.rst:15927 ../../../AMDGPUUsage.rst:17078 -#: ../../../AMDGPUUsage.rst:17960 +#: ../../../AMDGPUUsage.rst:7956 ../../../AMDGPUUsage.rst:8770 +#: ../../../AMDGPUUsage.rst:9901 ../../../AMDGPUUsage.rst:11088 +#: ../../../AMDGPUUsage.rst:12234 ../../../AMDGPUUsage.rst:13444 +#: ../../../AMDGPUUsage.rst:14378 ../../../AMDGPUUsage.rst:15512 +#: ../../../AMDGPUUsage.rst:16482 ../../../AMDGPUUsage.rst:17644 +#: ../../../AMDGPUUsage.rst:18846 msgid "" "Ensures any following global data read is no older than the local load " "atomic value being acquired." msgstr "" -#: ../../../AMDGPUUsage.rst:7476 ../../../AMDGPUUsage.rst:7539 -#: ../../../AMDGPUUsage.rst:9450 ../../../AMDGPUUsage.rst:9596 -#: ../../../AMDGPUUsage.rst:11793 ../../../AMDGPUUsage.rst:11947 -#: ../../../AMDGPUUsage.rst:13947 ../../../AMDGPUUsage.rst:16065 -#: ../../../AMDGPUUsage.rst:18066 +#: ../../../AMDGPUUsage.rst:8031 ../../../AMDGPUUsage.rst:8094 +#: ../../../AMDGPUUsage.rst:10005 ../../../AMDGPUUsage.rst:10151 +#: ../../../AMDGPUUsage.rst:12348 ../../../AMDGPUUsage.rst:12502 +#: ../../../AMDGPUUsage.rst:14502 ../../../AMDGPUUsage.rst:16620 +#: ../../../AMDGPUUsage.rst:18982 msgid "" "Ensures that all memory operations to global have completed before " "performing the atomicrmw that is being released." msgstr "" -#: ../../../AMDGPUUsage.rst:7581 ../../../AMDGPUUsage.rst:9735 -#: ../../../AMDGPUUsage.rst:12083 ../../../AMDGPUUsage.rst:14071 +#: ../../../AMDGPUUsage.rst:8136 ../../../AMDGPUUsage.rst:10290 +#: ../../../AMDGPUUsage.rst:12638 ../../../AMDGPUUsage.rst:14626 msgid "" "However, since LLVM currently has no address space on the fence need to " "conservatively always generate (see comment for previous fence)." msgstr "" -#: ../../../AMDGPUUsage.rst:7602 +#: ../../../AMDGPUUsage.rst:8157 msgid "" "Ensures that all memory operations to local have completed before performing " "any following global memory operations." msgstr "" -#: ../../../AMDGPUUsage.rst:7609 ../../../AMDGPUUsage.rst:9771 -#: ../../../AMDGPUUsage.rst:12119 ../../../AMDGPUUsage.rst:14122 -#: ../../../AMDGPUUsage.rst:16251 ../../../AMDGPUUsage.rst:18249 +#: ../../../AMDGPUUsage.rst:8164 ../../../AMDGPUUsage.rst:10326 +#: ../../../AMDGPUUsage.rst:12674 ../../../AMDGPUUsage.rst:14677 +#: ../../../AMDGPUUsage.rst:16806 ../../../AMDGPUUsage.rst:19204 msgid "" "Ensures that the preceding local/generic load atomic/atomicrmw with an equal " "or wider sync scope and memory ordering stronger than unordered (this is " @@ -15291,9 +16423,9 @@ msgid "" "global memory operations. This satisfies the requirements of acquire." msgstr "" -#: ../../../AMDGPUUsage.rst:7627 ../../../AMDGPUUsage.rst:9789 -#: ../../../AMDGPUUsage.rst:12137 ../../../AMDGPUUsage.rst:14140 -#: ../../../AMDGPUUsage.rst:16269 ../../../AMDGPUUsage.rst:18267 +#: ../../../AMDGPUUsage.rst:8182 ../../../AMDGPUUsage.rst:10344 +#: ../../../AMDGPUUsage.rst:12692 ../../../AMDGPUUsage.rst:14695 +#: ../../../AMDGPUUsage.rst:16824 ../../../AMDGPUUsage.rst:19222 msgid "" "Ensures that all previous memory operations have completed before a " "following local/generic store atomic/atomicrmw with an equal or wider sync " @@ -15301,9 +16433,9 @@ msgid "" "release-fence-paired-atomic). This satisfies the requirements of release." msgstr "" -#: ../../../AMDGPUUsage.rst:7681 ../../../AMDGPUUsage.rst:9869 -#: ../../../AMDGPUUsage.rst:9973 ../../../AMDGPUUsage.rst:12230 -#: ../../../AMDGPUUsage.rst:12334 +#: ../../../AMDGPUUsage.rst:8236 ../../../AMDGPUUsage.rst:10424 +#: ../../../AMDGPUUsage.rst:10528 ../../../AMDGPUUsage.rst:12785 +#: ../../../AMDGPUUsage.rst:12889 msgid "" "Ensures that the preceding global/local/generic load atomic/atomicrmw with " "an equal or wider sync scope and memory ordering stronger than unordered " @@ -15311,10 +16443,10 @@ msgid "" "invalidating the cache. This satisfies the requirements of acquire." msgstr "" -#: ../../../AMDGPUUsage.rst:7699 ../../../AMDGPUUsage.rst:9887 -#: ../../../AMDGPUUsage.rst:9991 ../../../AMDGPUUsage.rst:12248 -#: ../../../AMDGPUUsage.rst:12352 ../../../AMDGPUUsage.rst:14246 -#: ../../../AMDGPUUsage.rst:16380 ../../../AMDGPUUsage.rst:18358 +#: ../../../AMDGPUUsage.rst:8254 ../../../AMDGPUUsage.rst:10442 +#: ../../../AMDGPUUsage.rst:10546 ../../../AMDGPUUsage.rst:12803 +#: ../../../AMDGPUUsage.rst:12907 ../../../AMDGPUUsage.rst:14801 +#: ../../../AMDGPUUsage.rst:16935 ../../../AMDGPUUsage.rst:19342 msgid "" "Ensures that all previous memory operations have completed before a " "following global/local/generic store atomic/atomicrmw with an equal or wider " @@ -15322,31 +16454,31 @@ msgid "" "release-fence-paired-atomic). This satisfies the requirements of release." msgstr "" -#: ../../../AMDGPUUsage.rst:7726 ../../../AMDGPUUsage.rst:9914 -#: ../../../AMDGPUUsage.rst:12275 ../../../AMDGPUUsage.rst:14274 -#: ../../../AMDGPUUsage.rst:16408 ../../../AMDGPUUsage.rst:18386 +#: ../../../AMDGPUUsage.rst:8281 ../../../AMDGPUUsage.rst:10469 +#: ../../../AMDGPUUsage.rst:12830 ../../../AMDGPUUsage.rst:14829 +#: ../../../AMDGPUUsage.rst:16963 ../../../AMDGPUUsage.rst:19370 msgid "" "Ensures that following loads will not see stale global data. This satisfies " "the requirements of acquire." msgstr "" -#: ../../../AMDGPUUsage.rst:7734 ../../../AMDGPUUsage.rst:10029 -#: ../../../AMDGPUUsage.rst:12387 ../../../AMDGPUUsage.rst:14282 -#: ../../../AMDGPUUsage.rst:16416 ../../../AMDGPUUsage.rst:18394 +#: ../../../AMDGPUUsage.rst:8289 ../../../AMDGPUUsage.rst:10584 +#: ../../../AMDGPUUsage.rst:12942 ../../../AMDGPUUsage.rst:14837 +#: ../../../AMDGPUUsage.rst:16971 ../../../AMDGPUUsage.rst:19383 msgid "**Sequential Consistent Atomic**" msgstr "" -#: ../../../AMDGPUUsage.rst:7736 ../../../AMDGPUUsage.rst:7807 -#: ../../../AMDGPUUsage.rst:10031 ../../../AMDGPUUsage.rst:10125 -#: ../../../AMDGPUUsage.rst:12389 ../../../AMDGPUUsage.rst:12483 -#: ../../../AMDGPUUsage.rst:14284 ../../../AMDGPUUsage.rst:16418 -#: ../../../AMDGPUUsage.rst:18396 +#: ../../../AMDGPUUsage.rst:8291 ../../../AMDGPUUsage.rst:8362 +#: ../../../AMDGPUUsage.rst:10586 ../../../AMDGPUUsage.rst:10680 +#: ../../../AMDGPUUsage.rst:12944 ../../../AMDGPUUsage.rst:13038 +#: ../../../AMDGPUUsage.rst:14839 ../../../AMDGPUUsage.rst:16973 +#: ../../../AMDGPUUsage.rst:19385 msgid "" "*Same as corresponding load atomic acquire, except must generate all " "instructions even for OpenCL.*" msgstr "" -#: ../../../AMDGPUUsage.rst:7744 +#: ../../../AMDGPUUsage.rst:8299 msgid "" "Must happen after preceding local/generic load atomic/store atomic/atomicrmw " "with memory ordering of seq_cst and with equal or wider sync scope. (Note " @@ -15354,7 +16486,7 @@ msgid "" "to be considered.)" msgstr "" -#: ../../../AMDGPUUsage.rst:7760 +#: ../../../AMDGPUUsage.rst:8315 msgid "" "Ensures any preceding sequential consistent local memory instructions have " "completed before executing this sequentially consistent instruction. This " @@ -15367,21 +16499,21 @@ msgid "" "as possible so that the store may have already completed.)" msgstr "" -#: ../../../AMDGPUUsage.rst:7800 ../../../AMDGPUUsage.rst:7897 -#: ../../../AMDGPUUsage.rst:10114 ../../../AMDGPUUsage.rst:10217 -#: ../../../AMDGPUUsage.rst:12472 ../../../AMDGPUUsage.rst:12575 -#: ../../../AMDGPUUsage.rst:14389 ../../../AMDGPUUsage.rst:14480 -#: ../../../AMDGPUUsage.rst:14588 ../../../AMDGPUUsage.rst:16522 -#: ../../../AMDGPUUsage.rst:16613 ../../../AMDGPUUsage.rst:16722 -#: ../../../AMDGPUUsage.rst:18496 ../../../AMDGPUUsage.rst:18583 -#: ../../../AMDGPUUsage.rst:18688 +#: ../../../AMDGPUUsage.rst:8355 ../../../AMDGPUUsage.rst:8452 +#: ../../../AMDGPUUsage.rst:10669 ../../../AMDGPUUsage.rst:10772 +#: ../../../AMDGPUUsage.rst:13027 ../../../AMDGPUUsage.rst:13130 +#: ../../../AMDGPUUsage.rst:14944 ../../../AMDGPUUsage.rst:15035 +#: ../../../AMDGPUUsage.rst:15143 ../../../AMDGPUUsage.rst:17077 +#: ../../../AMDGPUUsage.rst:17168 ../../../AMDGPUUsage.rst:17277 +#: ../../../AMDGPUUsage.rst:19485 ../../../AMDGPUUsage.rst:19572 +#: ../../../AMDGPUUsage.rst:19677 msgid "" "*Following instructions same as corresponding load atomic acquire, except " "must generate all instructions even for OpenCL.*" msgstr "" -#: ../../../AMDGPUUsage.rst:7825 ../../../AMDGPUUsage.rst:10145 -#: ../../../AMDGPUUsage.rst:12503 +#: ../../../AMDGPUUsage.rst:8380 ../../../AMDGPUUsage.rst:10700 +#: ../../../AMDGPUUsage.rst:13058 msgid "" "s_waitcnt lgkmcnt(0) must happen after preceding global/generic load atomic/" "store atomic/atomicrmw with memory ordering of seq_cst and with equal or " @@ -15389,9 +16521,9 @@ msgid "" "lgkmcnt(0) and so do not need to be considered.)" msgstr "" -#: ../../../AMDGPUUsage.rst:7841 ../../../AMDGPUUsage.rst:10058 -#: ../../../AMDGPUUsage.rst:10161 ../../../AMDGPUUsage.rst:12416 -#: ../../../AMDGPUUsage.rst:12519 +#: ../../../AMDGPUUsage.rst:8396 ../../../AMDGPUUsage.rst:10613 +#: ../../../AMDGPUUsage.rst:10716 ../../../AMDGPUUsage.rst:12971 +#: ../../../AMDGPUUsage.rst:13074 msgid "" "s_waitcnt vmcnt(0) must happen after preceding global/generic load atomic/" "store atomic/atomicrmw with memory ordering of seq_cst and with equal or " @@ -15399,9 +16531,9 @@ msgid "" "vmcnt(0) and so do not need to be considered.)" msgstr "" -#: ../../../AMDGPUUsage.rst:7857 ../../../AMDGPUUsage.rst:10177 -#: ../../../AMDGPUUsage.rst:12535 ../../../AMDGPUUsage.rst:14440 -#: ../../../AMDGPUUsage.rst:14548 +#: ../../../AMDGPUUsage.rst:8412 ../../../AMDGPUUsage.rst:10732 +#: ../../../AMDGPUUsage.rst:13090 ../../../AMDGPUUsage.rst:14995 +#: ../../../AMDGPUUsage.rst:15103 msgid "" "Ensures any preceding sequential consistent global memory instructions have " "completed before executing this sequentially consistent instruction. This " @@ -15414,53 +16546,53 @@ msgid "" "as possible so that the store may have already completed.)" msgstr "" -#: ../../../AMDGPUUsage.rst:7904 ../../../AMDGPUUsage.rst:10224 -#: ../../../AMDGPUUsage.rst:12582 ../../../AMDGPUUsage.rst:14595 -#: ../../../AMDGPUUsage.rst:16729 ../../../AMDGPUUsage.rst:18695 +#: ../../../AMDGPUUsage.rst:8459 ../../../AMDGPUUsage.rst:10779 +#: ../../../AMDGPUUsage.rst:13137 ../../../AMDGPUUsage.rst:15150 +#: ../../../AMDGPUUsage.rst:17284 ../../../AMDGPUUsage.rst:19684 msgid "" "*Same as corresponding store atomic release, except must generate all " "instructions even for OpenCL.*" msgstr "" -#: ../../../AMDGPUUsage.rst:7909 ../../../AMDGPUUsage.rst:10229 -#: ../../../AMDGPUUsage.rst:12587 ../../../AMDGPUUsage.rst:14600 -#: ../../../AMDGPUUsage.rst:16734 ../../../AMDGPUUsage.rst:18701 +#: ../../../AMDGPUUsage.rst:8464 ../../../AMDGPUUsage.rst:10784 +#: ../../../AMDGPUUsage.rst:13142 ../../../AMDGPUUsage.rst:15155 +#: ../../../AMDGPUUsage.rst:17289 ../../../AMDGPUUsage.rst:19690 msgid "" "*Same as corresponding atomicrmw acq_rel, except must generate all " "instructions even for OpenCL.*" msgstr "" -#: ../../../AMDGPUUsage.rst:7914 ../../../AMDGPUUsage.rst:10234 -#: ../../../AMDGPUUsage.rst:12592 ../../../AMDGPUUsage.rst:14605 -#: ../../../AMDGPUUsage.rst:16739 ../../../AMDGPUUsage.rst:18707 +#: ../../../AMDGPUUsage.rst:8469 ../../../AMDGPUUsage.rst:10789 +#: ../../../AMDGPUUsage.rst:13147 ../../../AMDGPUUsage.rst:15160 +#: ../../../AMDGPUUsage.rst:17294 ../../../AMDGPUUsage.rst:19696 msgid "" "*Same as corresponding fence acq_rel, except must generate all instructions " "even for OpenCL.*" msgstr "" -#: ../../../AMDGPUUsage.rst:7924 +#: ../../../AMDGPUUsage.rst:8479 msgid "Memory Model GFX90A" msgstr "" -#: ../../../AMDGPUUsage.rst:7926 +#: ../../../AMDGPUUsage.rst:8481 msgid "For GFX90A:" msgstr "" -#: ../../../AMDGPUUsage.rst:7931 ../../../AMDGPUUsage.rst:10251 +#: ../../../AMDGPUUsage.rst:8486 ../../../AMDGPUUsage.rst:10806 msgid "" "The wavefronts for a single work-group are executed in the same CU but may " "be executed by different SIMDs. The exception is when in tgsplit execution " "mode when the wavefronts may be executed by different SIMDs in different CUs." msgstr "" -#: ../../../AMDGPUUsage.rst:7934 ../../../AMDGPUUsage.rst:10254 +#: ../../../AMDGPUUsage.rst:8489 ../../../AMDGPUUsage.rst:10809 msgid "" "Each CU has a single LDS memory shared by the wavefronts of the work-groups " "executing on it. The exception is when in tgsplit execution mode when no LDS " "is allocated as wavefronts of the same work-group can be in different CUs." msgstr "" -#: ../../../AMDGPUUsage.rst:7948 ../../../AMDGPUUsage.rst:10268 +#: ../../../AMDGPUUsage.rst:8503 ../../../AMDGPUUsage.rst:10823 msgid "" "The vector memory operations are performed as wavefront wide operations and " "completion is reported to a wavefront in execution order. The exception is " @@ -15469,19 +16601,19 @@ msgid "" "access global memory." msgstr "" -#: ../../../AMDGPUUsage.rst:7953 ../../../AMDGPUUsage.rst:10273 +#: ../../../AMDGPUUsage.rst:8508 ../../../AMDGPUUsage.rst:10828 msgid "" "The vector memory operations access a single vector L1 cache shared by all " "SIMDs a CU. Therefore:" msgstr "" -#: ../../../AMDGPUUsage.rst:7956 ../../../AMDGPUUsage.rst:10276 +#: ../../../AMDGPUUsage.rst:8511 ../../../AMDGPUUsage.rst:10831 msgid "" "No special action is required for coherence between the lanes of a single " "wavefront." msgstr "" -#: ../../../AMDGPUUsage.rst:7959 +#: ../../../AMDGPUUsage.rst:8514 msgid "" "No special action is required for coherence between wavefronts in the same " "work-group since they execute on the same CU. The exception is when in " @@ -15490,13 +16622,13 @@ msgid "" "the following item." msgstr "" -#: ../../../AMDGPUUsage.rst:7965 +#: ../../../AMDGPUUsage.rst:8520 msgid "" "A ``buffer_wbinvl1_vol`` is required for coherence between wavefronts " "executing in different work-groups as they may be executing on different CUs." msgstr "" -#: ../../../AMDGPUUsage.rst:7978 +#: ../../../AMDGPUUsage.rst:8533 msgid "" "Each CU has a separate request queue per channel. Therefore, the vector and " "scalar memory operations performed by wavefronts executing in different work-" @@ -15509,7 +16641,7 @@ msgid "" "acquire and release." msgstr "" -#: ../../../AMDGPUUsage.rst:7987 +#: ../../../AMDGPUUsage.rst:8542 msgid "" "The L2 cache of one agent can be kept coherent with other agents by: using " "the MTYPE RW (read-write) or MTYPE CC (cache-coherent) with the PTE C-bit " @@ -15517,7 +16649,7 @@ msgid "" "PTE C-bit set or MTYPE UC (uncached) for memory not local to the L2." msgstr "" -#: ../../../AMDGPUUsage.rst:7992 +#: ../../../AMDGPUUsage.rst:8547 msgid "" "Any local memory cache lines will be automatically invalidated by writes " "from CUs associated with other L2 caches, or writes from the CPU, due to the " @@ -15526,20 +16658,20 @@ msgid "" "PCIe requests that are configured to be coherent requests." msgstr "" -#: ../../../AMDGPUUsage.rst:7997 +#: ../../../AMDGPUUsage.rst:8552 msgid "" "XGMI accesses from the CPU to local memory may be cached on the CPU. " "Subsequent access from the GPU will automatically invalidate or writeback " "the CPU cache due to the L2 probe filter and and the PTE C-bit being set." msgstr "" -#: ../../../AMDGPUUsage.rst:8000 +#: ../../../AMDGPUUsage.rst:8555 msgid "" "Since all work-groups on the same agent share the same L2, no L2 " "invalidation or writeback is required for coherence." msgstr "" -#: ../../../AMDGPUUsage.rst:8002 +#: ../../../AMDGPUUsage.rst:8557 msgid "" "To ensure coherence of local and remote memory writes of work-groups in " "different agents a ``buffer_wbl2`` is required. It will writeback dirty L2 " @@ -15550,7 +16682,7 @@ msgid "" "dirty L2 cache lines." msgstr "" -#: ../../../AMDGPUUsage.rst:8009 +#: ../../../AMDGPUUsage.rst:8564 msgid "" "To ensure coherence of local and remote memory reads of work-groups in " "different agents a ``buffer_invl2`` is required. It will invalidate L2 cache " @@ -15562,13 +16694,13 @@ msgid "" "cache lines that need to be invalidated." msgstr "" -#: ../../../AMDGPUUsage.rst:8018 +#: ../../../AMDGPUUsage.rst:8573 msgid "" "PCIe access from the GPU to the CPU memory is kept coherent by using the " "MTYPE UC (uncached) which bypasses the L2." msgstr "" -#: ../../../AMDGPUUsage.rst:8042 ../../../AMDGPUUsage.rst:10363 +#: ../../../AMDGPUUsage.rst:8597 ../../../AMDGPUUsage.rst:10918 msgid "" "On dGPU over XGMI or PCIe the kernarg backing memory is allocated in host " "memory accessed as MTYPE UC (uncached) to avoid needing to invalidate the L2 " @@ -15576,325 +16708,327 @@ msgid "" "invalidated by ``*_vol``." msgstr "" -#: ../../../AMDGPUUsage.rst:8046 ../../../AMDGPUUsage.rst:10367 -#: ../../../AMDGPUUsage.rst:12701 ../../../AMDGPUUsage.rst:14761 +#: ../../../AMDGPUUsage.rst:8601 ../../../AMDGPUUsage.rst:10922 +#: ../../../AMDGPUUsage.rst:13256 ../../../AMDGPUUsage.rst:15316 msgid "" "On APU the kernarg backing memory is accessed as MTYPE CC (cache coherent) " "and so the L2 cache will be coherent with the CPU and other agents." msgstr "" -#: ../../../AMDGPUUsage.rst:8055 +#: ../../../AMDGPUUsage.rst:8610 msgid "" "The code sequences used to implement the memory model for GFX90A are defined " "in table :ref:`amdgpu-amdhsa-memory-model-code-sequences-gfx90a-table`." msgstr "" -#: ../../../AMDGPUUsage.rst:8058 +#: ../../../AMDGPUUsage.rst:8613 msgid "AMDHSA Memory Model Code Sequences GFX90A" msgstr "" -#: ../../../AMDGPUUsage.rst:8062 +#: ../../../AMDGPUUsage.rst:8617 msgid "AMDGPU Machine Code GFX90A" msgstr "" -#: ../../../AMDGPUUsage.rst:8135 ../../../AMDGPUUsage.rst:8176 -#: ../../../AMDGPUUsage.rst:8224 +#: ../../../AMDGPUUsage.rst:8690 ../../../AMDGPUUsage.rst:8731 +#: ../../../AMDGPUUsage.rst:8779 msgid "If not TgSplit execution mode, omit glc=1." msgstr "" -#: ../../../AMDGPUUsage.rst:8138 ../../../AMDGPUUsage.rst:8153 -#: ../../../AMDGPUUsage.rst:8164 ../../../AMDGPUUsage.rst:8201 -#: ../../../AMDGPUUsage.rst:8376 ../../../AMDGPUUsage.rst:8407 -#: ../../../AMDGPUUsage.rst:8802 ../../../AMDGPUUsage.rst:8839 -#: ../../../AMDGPUUsage.rst:8945 ../../../AMDGPUUsage.rst:8983 -#: ../../../AMDGPUUsage.rst:9265 ../../../AMDGPUUsage.rst:9332 -#: ../../../AMDGPUUsage.rst:10121 ../../../AMDGPUUsage.rst:10458 -#: ../../../AMDGPUUsage.rst:10475 ../../../AMDGPUUsage.rst:10486 -#: ../../../AMDGPUUsage.rst:10519 ../../../AMDGPUUsage.rst:10683 -#: ../../../AMDGPUUsage.rst:10714 ../../../AMDGPUUsage.rst:11099 -#: ../../../AMDGPUUsage.rst:11138 ../../../AMDGPUUsage.rst:11257 -#: ../../../AMDGPUUsage.rst:11295 ../../../AMDGPUUsage.rst:11598 -#: ../../../AMDGPUUsage.rst:11665 ../../../AMDGPUUsage.rst:12479 +#: ../../../AMDGPUUsage.rst:8693 ../../../AMDGPUUsage.rst:8708 +#: ../../../AMDGPUUsage.rst:8719 ../../../AMDGPUUsage.rst:8756 +#: ../../../AMDGPUUsage.rst:8931 ../../../AMDGPUUsage.rst:8962 +#: ../../../AMDGPUUsage.rst:9357 ../../../AMDGPUUsage.rst:9394 +#: ../../../AMDGPUUsage.rst:9500 ../../../AMDGPUUsage.rst:9538 +#: ../../../AMDGPUUsage.rst:9820 ../../../AMDGPUUsage.rst:9887 +#: ../../../AMDGPUUsage.rst:10676 ../../../AMDGPUUsage.rst:11013 +#: ../../../AMDGPUUsage.rst:11030 ../../../AMDGPUUsage.rst:11041 +#: ../../../AMDGPUUsage.rst:11074 ../../../AMDGPUUsage.rst:11238 +#: ../../../AMDGPUUsage.rst:11269 ../../../AMDGPUUsage.rst:11654 +#: ../../../AMDGPUUsage.rst:11693 ../../../AMDGPUUsage.rst:11812 +#: ../../../AMDGPUUsage.rst:11850 ../../../AMDGPUUsage.rst:12153 +#: ../../../AMDGPUUsage.rst:12220 ../../../AMDGPUUsage.rst:13034 msgid "*If TgSplit execution mode, local address space cannot be used.*" msgstr "" -#: ../../../AMDGPUUsage.rst:8181 ../../../AMDGPUUsage.rst:8188 -#: ../../../AMDGPUUsage.rst:8250 ../../../AMDGPUUsage.rst:8384 -#: ../../../AMDGPUUsage.rst:8395 ../../../AMDGPUUsage.rst:8453 -#: ../../../AMDGPUUsage.rst:8640 ../../../AMDGPUUsage.rst:9311 -#: ../../../AMDGPUUsage.rst:9325 ../../../AMDGPUUsage.rst:9410 -#: ../../../AMDGPUUsage.rst:9824 ../../../AMDGPUUsage.rst:10499 -#: ../../../AMDGPUUsage.rst:10506 ../../../AMDGPUUsage.rst:10564 -#: ../../../AMDGPUUsage.rst:10691 ../../../AMDGPUUsage.rst:10702 -#: ../../../AMDGPUUsage.rst:10760 ../../../AMDGPUUsage.rst:10941 -#: ../../../AMDGPUUsage.rst:11644 ../../../AMDGPUUsage.rst:11658 -#: ../../../AMDGPUUsage.rst:11743 ../../../AMDGPUUsage.rst:12172 +#: ../../../AMDGPUUsage.rst:8736 ../../../AMDGPUUsage.rst:8743 +#: ../../../AMDGPUUsage.rst:8805 ../../../AMDGPUUsage.rst:8939 +#: ../../../AMDGPUUsage.rst:8950 ../../../AMDGPUUsage.rst:9008 +#: ../../../AMDGPUUsage.rst:9195 ../../../AMDGPUUsage.rst:9866 +#: ../../../AMDGPUUsage.rst:9880 ../../../AMDGPUUsage.rst:9965 +#: ../../../AMDGPUUsage.rst:10379 ../../../AMDGPUUsage.rst:11054 +#: ../../../AMDGPUUsage.rst:11061 ../../../AMDGPUUsage.rst:11119 +#: ../../../AMDGPUUsage.rst:11246 ../../../AMDGPUUsage.rst:11257 +#: ../../../AMDGPUUsage.rst:11315 ../../../AMDGPUUsage.rst:11496 +#: ../../../AMDGPUUsage.rst:12199 ../../../AMDGPUUsage.rst:12213 +#: ../../../AMDGPUUsage.rst:12298 ../../../AMDGPUUsage.rst:12727 msgid "If not TgSplit execution mode, omit." msgstr "" -#: ../../../AMDGPUUsage.rst:8196 ../../../AMDGPUUsage.rst:8252 -#: ../../../AMDGPUUsage.rst:8455 ../../../AMDGPUUsage.rst:8642 -#: ../../../AMDGPUUsage.rst:9327 ../../../AMDGPUUsage.rst:9412 -#: ../../../AMDGPUUsage.rst:9826 ../../../AMDGPUUsage.rst:10514 -#: ../../../AMDGPUUsage.rst:10566 ../../../AMDGPUUsage.rst:10762 -#: ../../../AMDGPUUsage.rst:10943 ../../../AMDGPUUsage.rst:11660 -#: ../../../AMDGPUUsage.rst:11745 ../../../AMDGPUUsage.rst:12174 -#: ../../../AMDGPUUsage.rst:12874 ../../../AMDGPUUsage.rst:12901 -#: ../../../AMDGPUUsage.rst:12936 ../../../AMDGPUUsage.rst:13022 -#: ../../../AMDGPUUsage.rst:13044 ../../../AMDGPUUsage.rst:13073 -#: ../../../AMDGPUUsage.rst:13222 ../../../AMDGPUUsage.rst:13777 -#: ../../../AMDGPUUsage.rst:13835 ../../../AMDGPUUsage.rst:13906 -#: ../../../AMDGPUUsage.rst:14177 ../../../AMDGPUUsage.rst:14942 -#: ../../../AMDGPUUsage.rst:14968 ../../../AMDGPUUsage.rst:15001 -#: ../../../AMDGPUUsage.rst:15090 ../../../AMDGPUUsage.rst:15114 -#: ../../../AMDGPUUsage.rst:15152 ../../../AMDGPUUsage.rst:15306 -#: ../../../AMDGPUUsage.rst:15386 ../../../AMDGPUUsage.rst:15878 -#: ../../../AMDGPUUsage.rst:15939 ../../../AMDGPUUsage.rst:16018 -#: ../../../AMDGPUUsage.rst:16306 ../../../AMDGPUUsage.rst:17441 +#: ../../../AMDGPUUsage.rst:8751 ../../../AMDGPUUsage.rst:8807 +#: ../../../AMDGPUUsage.rst:9010 ../../../AMDGPUUsage.rst:9197 +#: ../../../AMDGPUUsage.rst:9882 ../../../AMDGPUUsage.rst:9967 +#: ../../../AMDGPUUsage.rst:10381 ../../../AMDGPUUsage.rst:11069 +#: ../../../AMDGPUUsage.rst:11121 ../../../AMDGPUUsage.rst:11317 +#: ../../../AMDGPUUsage.rst:11498 ../../../AMDGPUUsage.rst:12215 +#: ../../../AMDGPUUsage.rst:12300 ../../../AMDGPUUsage.rst:12729 +#: ../../../AMDGPUUsage.rst:13429 ../../../AMDGPUUsage.rst:13456 +#: ../../../AMDGPUUsage.rst:13491 ../../../AMDGPUUsage.rst:13577 +#: ../../../AMDGPUUsage.rst:13599 ../../../AMDGPUUsage.rst:13628 +#: ../../../AMDGPUUsage.rst:13777 ../../../AMDGPUUsage.rst:14332 +#: ../../../AMDGPUUsage.rst:14390 ../../../AMDGPUUsage.rst:14461 +#: ../../../AMDGPUUsage.rst:14732 ../../../AMDGPUUsage.rst:15497 +#: ../../../AMDGPUUsage.rst:15523 ../../../AMDGPUUsage.rst:15556 +#: ../../../AMDGPUUsage.rst:15645 ../../../AMDGPUUsage.rst:15669 +#: ../../../AMDGPUUsage.rst:15707 ../../../AMDGPUUsage.rst:15861 +#: ../../../AMDGPUUsage.rst:15941 ../../../AMDGPUUsage.rst:16433 +#: ../../../AMDGPUUsage.rst:16494 ../../../AMDGPUUsage.rst:16573 +#: ../../../AMDGPUUsage.rst:16861 ../../../AMDGPUUsage.rst:18159 +#: ../../../AMDGPUUsage.rst:18232 msgid "Ensures that following loads will not see stale data." msgstr "" -#: ../../../AMDGPUUsage.rst:8227 ../../../AMDGPUUsage.rst:8429 -#: ../../../AMDGPUUsage.rst:8581 ../../../AMDGPUUsage.rst:8807 -#: ../../../AMDGPUUsage.rst:8950 ../../../AMDGPUUsage.rst:9085 -#: ../../../AMDGPUUsage.rst:9270 ../../../AMDGPUUsage.rst:9353 -#: ../../../AMDGPUUsage.rst:9721 ../../../AMDGPUUsage.rst:10036 -#: ../../../AMDGPUUsage.rst:10541 ../../../AMDGPUUsage.rst:10736 -#: ../../../AMDGPUUsage.rst:10882 ../../../AMDGPUUsage.rst:11104 -#: ../../../AMDGPUUsage.rst:11262 ../../../AMDGPUUsage.rst:11408 -#: ../../../AMDGPUUsage.rst:11603 ../../../AMDGPUUsage.rst:11686 -#: ../../../AMDGPUUsage.rst:12069 ../../../AMDGPUUsage.rst:12394 +#: ../../../AMDGPUUsage.rst:8782 ../../../AMDGPUUsage.rst:8984 +#: ../../../AMDGPUUsage.rst:9136 ../../../AMDGPUUsage.rst:9362 +#: ../../../AMDGPUUsage.rst:9505 ../../../AMDGPUUsage.rst:9640 +#: ../../../AMDGPUUsage.rst:9825 ../../../AMDGPUUsage.rst:9908 +#: ../../../AMDGPUUsage.rst:10276 ../../../AMDGPUUsage.rst:10591 +#: ../../../AMDGPUUsage.rst:11096 ../../../AMDGPUUsage.rst:11291 +#: ../../../AMDGPUUsage.rst:11437 ../../../AMDGPUUsage.rst:11659 +#: ../../../AMDGPUUsage.rst:11817 ../../../AMDGPUUsage.rst:11963 +#: ../../../AMDGPUUsage.rst:12158 ../../../AMDGPUUsage.rst:12241 +#: ../../../AMDGPUUsage.rst:12624 ../../../AMDGPUUsage.rst:12949 msgid "s_waitcnt lgkm/vmcnt(0)" msgstr "" -#: ../../../AMDGPUUsage.rst:8229 ../../../AMDGPUUsage.rst:8431 -#: ../../../AMDGPUUsage.rst:8583 ../../../AMDGPUUsage.rst:8809 -#: ../../../AMDGPUUsage.rst:8952 ../../../AMDGPUUsage.rst:9087 -#: ../../../AMDGPUUsage.rst:9272 ../../../AMDGPUUsage.rst:9355 -#: ../../../AMDGPUUsage.rst:9723 ../../../AMDGPUUsage.rst:10038 -#: ../../../AMDGPUUsage.rst:10543 ../../../AMDGPUUsage.rst:10738 -#: ../../../AMDGPUUsage.rst:10884 ../../../AMDGPUUsage.rst:11106 -#: ../../../AMDGPUUsage.rst:11264 ../../../AMDGPUUsage.rst:11410 -#: ../../../AMDGPUUsage.rst:11605 ../../../AMDGPUUsage.rst:11688 -#: ../../../AMDGPUUsage.rst:12071 ../../../AMDGPUUsage.rst:12396 +#: ../../../AMDGPUUsage.rst:8784 ../../../AMDGPUUsage.rst:8986 +#: ../../../AMDGPUUsage.rst:9138 ../../../AMDGPUUsage.rst:9364 +#: ../../../AMDGPUUsage.rst:9507 ../../../AMDGPUUsage.rst:9642 +#: ../../../AMDGPUUsage.rst:9827 ../../../AMDGPUUsage.rst:9910 +#: ../../../AMDGPUUsage.rst:10278 ../../../AMDGPUUsage.rst:10593 +#: ../../../AMDGPUUsage.rst:11098 ../../../AMDGPUUsage.rst:11293 +#: ../../../AMDGPUUsage.rst:11439 ../../../AMDGPUUsage.rst:11661 +#: ../../../AMDGPUUsage.rst:11819 ../../../AMDGPUUsage.rst:11965 +#: ../../../AMDGPUUsage.rst:12160 ../../../AMDGPUUsage.rst:12243 +#: ../../../AMDGPUUsage.rst:12626 ../../../AMDGPUUsage.rst:12951 msgid "" "Use lgkmcnt(0) if not TgSplit execution mode and vmcnt(0) if TgSplit " "execution mode." msgstr "" -#: ../../../AMDGPUUsage.rst:8234 ../../../AMDGPUUsage.rst:8436 -#: ../../../AMDGPUUsage.rst:8623 ../../../AMDGPUUsage.rst:9393 +#: ../../../AMDGPUUsage.rst:8789 ../../../AMDGPUUsage.rst:8991 +#: ../../../AMDGPUUsage.rst:9178 ../../../AMDGPUUsage.rst:9948 msgid "" "Must happen before the following buffer_wbinvl1_vol and any following global/" "generic load/load atomic/store/store atomic/atomicrmw." msgstr "" -#: ../../../AMDGPUUsage.rst:8285 ../../../AMDGPUUsage.rst:8347 -#: ../../../AMDGPUUsage.rst:8487 ../../../AMDGPUUsage.rst:8551 -#: ../../../AMDGPUUsage.rst:9536 ../../../AMDGPUUsage.rst:9692 +#: ../../../AMDGPUUsage.rst:8840 ../../../AMDGPUUsage.rst:8902 +#: ../../../AMDGPUUsage.rst:9042 ../../../AMDGPUUsage.rst:9106 +#: ../../../AMDGPUUsage.rst:10091 ../../../AMDGPUUsage.rst:10247 msgid "Must happen before following buffer_invl2 and buffer_wbinvl1_vol." msgstr "" -#: ../../../AMDGPUUsage.rst:8293 ../../../AMDGPUUsage.rst:8356 -#: ../../../AMDGPUUsage.rst:8496 ../../../AMDGPUUsage.rst:8561 -#: ../../../AMDGPUUsage.rst:8781 ../../../AMDGPUUsage.rst:9545 -#: ../../../AMDGPUUsage.rst:9701 ../../../AMDGPUUsage.rst:10010 +#: ../../../AMDGPUUsage.rst:8848 ../../../AMDGPUUsage.rst:8911 +#: ../../../AMDGPUUsage.rst:9051 ../../../AMDGPUUsage.rst:9116 +#: ../../../AMDGPUUsage.rst:9336 ../../../AMDGPUUsage.rst:10100 +#: ../../../AMDGPUUsage.rst:10256 ../../../AMDGPUUsage.rst:10565 msgid "buffer_invl2; buffer_wbinvl1_vol" msgstr "" -#: ../../../AMDGPUUsage.rst:8301 ../../../AMDGPUUsage.rst:8364 -#: ../../../AMDGPUUsage.rst:8504 ../../../AMDGPUUsage.rst:8569 -#: ../../../AMDGPUUsage.rst:8789 ../../../AMDGPUUsage.rst:9553 -#: ../../../AMDGPUUsage.rst:9709 ../../../AMDGPUUsage.rst:10019 +#: ../../../AMDGPUUsage.rst:8856 ../../../AMDGPUUsage.rst:8919 +#: ../../../AMDGPUUsage.rst:9059 ../../../AMDGPUUsage.rst:9124 +#: ../../../AMDGPUUsage.rst:9344 ../../../AMDGPUUsage.rst:10108 +#: ../../../AMDGPUUsage.rst:10264 ../../../AMDGPUUsage.rst:10574 msgid "" "Ensures that following loads will not see stale L1 global data, nor see " "stale L2 MTYPE NC global data. MTYPE RW and CC memory will never be stale in " "L2 due to the memory probes." msgstr "" -#: ../../../AMDGPUUsage.rst:8315 ../../../AMDGPUUsage.rst:8343 -#: ../../../AMDGPUUsage.rst:8518 ../../../AMDGPUUsage.rst:8547 -#: ../../../AMDGPUUsage.rst:8650 ../../../AMDGPUUsage.rst:8723 -#: ../../../AMDGPUUsage.rst:8847 ../../../AMDGPUUsage.rst:8901 -#: ../../../AMDGPUUsage.rst:8991 ../../../AMDGPUUsage.rst:9043 -#: ../../../AMDGPUUsage.rst:9137 ../../../AMDGPUUsage.rst:9207 -#: ../../../AMDGPUUsage.rst:9420 ../../../AMDGPUUsage.rst:9495 -#: ../../../AMDGPUUsage.rst:9566 ../../../AMDGPUUsage.rst:9608 -#: ../../../AMDGPUUsage.rst:9646 ../../../AMDGPUUsage.rst:9688 -#: ../../../AMDGPUUsage.rst:9834 ../../../AMDGPUUsage.rst:9938 -#: ../../../AMDGPUUsage.rst:10134 ../../../AMDGPUUsage.rst:10626 -#: ../../../AMDGPUUsage.rst:10654 ../../../AMDGPUUsage.rst:10823 -#: ../../../AMDGPUUsage.rst:10852 ../../../AMDGPUUsage.rst:10951 -#: ../../../AMDGPUUsage.rst:11024 ../../../AMDGPUUsage.rst:11156 -#: ../../../AMDGPUUsage.rst:11212 ../../../AMDGPUUsage.rst:11313 -#: ../../../AMDGPUUsage.rst:11365 ../../../AMDGPUUsage.rst:11473 -#: ../../../AMDGPUUsage.rst:11540 ../../../AMDGPUUsage.rst:11763 -#: ../../../AMDGPUUsage.rst:11838 ../../../AMDGPUUsage.rst:11917 -#: ../../../AMDGPUUsage.rst:11959 ../../../AMDGPUUsage.rst:11997 -#: ../../../AMDGPUUsage.rst:12039 ../../../AMDGPUUsage.rst:12195 -#: ../../../AMDGPUUsage.rst:12299 ../../../AMDGPUUsage.rst:12492 +#: ../../../AMDGPUUsage.rst:8870 ../../../AMDGPUUsage.rst:8898 +#: ../../../AMDGPUUsage.rst:9073 ../../../AMDGPUUsage.rst:9102 +#: ../../../AMDGPUUsage.rst:9205 ../../../AMDGPUUsage.rst:9278 +#: ../../../AMDGPUUsage.rst:9402 ../../../AMDGPUUsage.rst:9456 +#: ../../../AMDGPUUsage.rst:9546 ../../../AMDGPUUsage.rst:9598 +#: ../../../AMDGPUUsage.rst:9692 ../../../AMDGPUUsage.rst:9762 +#: ../../../AMDGPUUsage.rst:9975 ../../../AMDGPUUsage.rst:10050 +#: ../../../AMDGPUUsage.rst:10121 ../../../AMDGPUUsage.rst:10163 +#: ../../../AMDGPUUsage.rst:10201 ../../../AMDGPUUsage.rst:10243 +#: ../../../AMDGPUUsage.rst:10389 ../../../AMDGPUUsage.rst:10493 +#: ../../../AMDGPUUsage.rst:10689 ../../../AMDGPUUsage.rst:11181 +#: ../../../AMDGPUUsage.rst:11209 ../../../AMDGPUUsage.rst:11378 +#: ../../../AMDGPUUsage.rst:11407 ../../../AMDGPUUsage.rst:11506 +#: ../../../AMDGPUUsage.rst:11579 ../../../AMDGPUUsage.rst:11711 +#: ../../../AMDGPUUsage.rst:11767 ../../../AMDGPUUsage.rst:11868 +#: ../../../AMDGPUUsage.rst:11920 ../../../AMDGPUUsage.rst:12028 +#: ../../../AMDGPUUsage.rst:12095 ../../../AMDGPUUsage.rst:12318 +#: ../../../AMDGPUUsage.rst:12393 ../../../AMDGPUUsage.rst:12472 +#: ../../../AMDGPUUsage.rst:12514 ../../../AMDGPUUsage.rst:12552 +#: ../../../AMDGPUUsage.rst:12594 ../../../AMDGPUUsage.rst:12750 +#: ../../../AMDGPUUsage.rst:12854 ../../../AMDGPUUsage.rst:13047 msgid "If TgSplit execution mode, omit lgkmcnt(0)." msgstr "" -#: ../../../AMDGPUUsage.rst:8351 ../../../AMDGPUUsage.rst:10661 -#: ../../../AMDGPUUsage.rst:12981 ../../../AMDGPUUsage.rst:15044 -#: ../../../AMDGPUUsage.rst:17144 +#: ../../../AMDGPUUsage.rst:8906 ../../../AMDGPUUsage.rst:11216 +#: ../../../AMDGPUUsage.rst:13536 ../../../AMDGPUUsage.rst:15599 +#: ../../../AMDGPUUsage.rst:17742 ../../../AMDGPUUsage.rst:17771 msgid "Ensures the flat_load has completed before invalidating the caches." msgstr "" -#: ../../../AMDGPUUsage.rst:8421 ../../../AMDGPUUsage.rst:10728 -#: ../../../AMDGPUUsage.rst:13034 ../../../AMDGPUUsage.rst:15102 -#: ../../../AMDGPUUsage.rst:17195 ../../../AMDGPUUsage.rst:17221 +#: ../../../AMDGPUUsage.rst:8976 ../../../AMDGPUUsage.rst:11283 +#: ../../../AMDGPUUsage.rst:13589 ../../../AMDGPUUsage.rst:15657 +#: ../../../AMDGPUUsage.rst:17827 ../../../AMDGPUUsage.rst:17853 msgid "" "Ensures any following global data read is no older than the local atomicrmw " "value being acquired." msgstr "" -#: ../../../AMDGPUUsage.rst:8490 ../../../AMDGPUUsage.rst:8555 -#: ../../../AMDGPUUsage.rst:9539 ../../../AMDGPUUsage.rst:9695 -#: ../../../AMDGPUUsage.rst:10798 ../../../AMDGPUUsage.rst:10859 -#: ../../../AMDGPUUsage.rst:11883 ../../../AMDGPUUsage.rst:12046 -#: ../../../AMDGPUUsage.rst:13087 ../../../AMDGPUUsage.rst:13118 -#: ../../../AMDGPUUsage.rst:13964 ../../../AMDGPUUsage.rst:14039 -#: ../../../AMDGPUUsage.rst:15170 ../../../AMDGPUUsage.rst:15206 -#: ../../../AMDGPUUsage.rst:16087 ../../../AMDGPUUsage.rst:16174 -#: ../../../AMDGPUUsage.rst:17246 ../../../AMDGPUUsage.rst:17286 -#: ../../../AMDGPUUsage.rst:18093 ../../../AMDGPUUsage.rst:18176 +#: ../../../AMDGPUUsage.rst:9045 ../../../AMDGPUUsage.rst:9110 +#: ../../../AMDGPUUsage.rst:10094 ../../../AMDGPUUsage.rst:10250 +#: ../../../AMDGPUUsage.rst:11353 ../../../AMDGPUUsage.rst:11414 +#: ../../../AMDGPUUsage.rst:12438 ../../../AMDGPUUsage.rst:12601 +#: ../../../AMDGPUUsage.rst:13642 ../../../AMDGPUUsage.rst:13673 +#: ../../../AMDGPUUsage.rst:14519 ../../../AMDGPUUsage.rst:14594 +#: ../../../AMDGPUUsage.rst:15725 ../../../AMDGPUUsage.rst:15761 +#: ../../../AMDGPUUsage.rst:16642 ../../../AMDGPUUsage.rst:16729 +#: ../../../AMDGPUUsage.rst:17878 ../../../AMDGPUUsage.rst:17915 +#: ../../../AMDGPUUsage.rst:17959 ../../../AMDGPUUsage.rst:17999 +#: ../../../AMDGPUUsage.rst:19009 ../../../AMDGPUUsage.rst:19126 msgid "Ensures the atomicrmw has completed before invalidating the caches." msgstr "" -#: ../../../AMDGPUUsage.rst:8598 ../../../AMDGPUUsage.rst:10899 +#: ../../../AMDGPUUsage.rst:9153 ../../../AMDGPUUsage.rst:11454 msgid "" "s_waitcnt vmcnt(0) must happen after any preceding global/generic load " "atomic/ atomicrmw with an equal or wider sync scope and memory ordering " "stronger than unordered (this is termed the fence-paired-atomic)." msgstr "" -#: ../../../AMDGPUUsage.rst:8765 ../../../AMDGPUUsage.rst:9970 +#: ../../../AMDGPUUsage.rst:9320 ../../../AMDGPUUsage.rst:10525 msgid "Must happen before the following buffer_invl2 and buffer_wbinvl1_vol." msgstr "" -#: ../../../AMDGPUUsage.rst:8814 ../../../AMDGPUUsage.rst:8958 -#: ../../../AMDGPUUsage.rst:9102 ../../../AMDGPUUsage.rst:9284 -#: ../../../AMDGPUUsage.rst:9361 ../../../AMDGPUUsage.rst:9744 -#: ../../../AMDGPUUsage.rst:11111 ../../../AMDGPUUsage.rst:11270 -#: ../../../AMDGPUUsage.rst:11425 ../../../AMDGPUUsage.rst:11617 -#: ../../../AMDGPUUsage.rst:11694 ../../../AMDGPUUsage.rst:12092 +#: ../../../AMDGPUUsage.rst:9369 ../../../AMDGPUUsage.rst:9513 +#: ../../../AMDGPUUsage.rst:9657 ../../../AMDGPUUsage.rst:9839 +#: ../../../AMDGPUUsage.rst:9916 ../../../AMDGPUUsage.rst:10299 +#: ../../../AMDGPUUsage.rst:11666 ../../../AMDGPUUsage.rst:11825 +#: ../../../AMDGPUUsage.rst:11980 ../../../AMDGPUUsage.rst:12172 +#: ../../../AMDGPUUsage.rst:12249 ../../../AMDGPUUsage.rst:12647 msgid "" "s_waitcnt vmcnt(0) must happen after any preceding global/generic load/" "store/ load atomic/store atomic/ atomicrmw." msgstr "" -#: ../../../AMDGPUUsage.rst:8830 ../../../AMDGPUUsage.rst:11127 -#: ../../../AMDGPUUsage.rst:13358 ../../../AMDGPUUsage.rst:13441 -#: ../../../AMDGPUUsage.rst:15429 ../../../AMDGPUUsage.rst:15519 -#: ../../../AMDGPUUsage.rst:17486 ../../../AMDGPUUsage.rst:17573 +#: ../../../AMDGPUUsage.rst:9385 ../../../AMDGPUUsage.rst:11682 +#: ../../../AMDGPUUsage.rst:13913 ../../../AMDGPUUsage.rst:13996 +#: ../../../AMDGPUUsage.rst:15984 ../../../AMDGPUUsage.rst:16074 +#: ../../../AMDGPUUsage.rst:18282 ../../../AMDGPUUsage.rst:18399 msgid "" "Ensures that all memory operations have completed before performing the " "store that is being released." msgstr "" -#: ../../../AMDGPUUsage.rst:8888 ../../../AMDGPUUsage.rst:9030 -#: ../../../AMDGPUUsage.rst:9191 ../../../AMDGPUUsage.rst:9482 -#: ../../../AMDGPUUsage.rst:9633 ../../../AMDGPUUsage.rst:9922 +#: ../../../AMDGPUUsage.rst:9443 ../../../AMDGPUUsage.rst:9585 +#: ../../../AMDGPUUsage.rst:9746 ../../../AMDGPUUsage.rst:10037 +#: ../../../AMDGPUUsage.rst:10188 ../../../AMDGPUUsage.rst:10477 msgid "buffer_wbl2" msgstr "" -#: ../../../AMDGPUUsage.rst:8890 ../../../AMDGPUUsage.rst:9032 -#: ../../../AMDGPUUsage.rst:9196 ../../../AMDGPUUsage.rst:9484 -#: ../../../AMDGPUUsage.rst:9635 ../../../AMDGPUUsage.rst:9927 -#: ../../../AMDGPUUsage.rst:11145 ../../../AMDGPUUsage.rst:11201 -#: ../../../AMDGPUUsage.rst:11302 ../../../AMDGPUUsage.rst:11354 -#: ../../../AMDGPUUsage.rst:11462 ../../../AMDGPUUsage.rst:11529 -#: ../../../AMDGPUUsage.rst:11752 ../../../AMDGPUUsage.rst:11827 -#: ../../../AMDGPUUsage.rst:11906 ../../../AMDGPUUsage.rst:11986 -#: ../../../AMDGPUUsage.rst:12184 ../../../AMDGPUUsage.rst:12288 +#: ../../../AMDGPUUsage.rst:9445 ../../../AMDGPUUsage.rst:9587 +#: ../../../AMDGPUUsage.rst:9751 ../../../AMDGPUUsage.rst:10039 +#: ../../../AMDGPUUsage.rst:10190 ../../../AMDGPUUsage.rst:10482 +#: ../../../AMDGPUUsage.rst:11700 ../../../AMDGPUUsage.rst:11756 +#: ../../../AMDGPUUsage.rst:11857 ../../../AMDGPUUsage.rst:11909 +#: ../../../AMDGPUUsage.rst:12017 ../../../AMDGPUUsage.rst:12084 +#: ../../../AMDGPUUsage.rst:12307 ../../../AMDGPUUsage.rst:12382 +#: ../../../AMDGPUUsage.rst:12461 ../../../AMDGPUUsage.rst:12541 +#: ../../../AMDGPUUsage.rst:12739 ../../../AMDGPUUsage.rst:12843 msgid "Must happen before following s_waitcnt." msgstr "" -#: ../../../AMDGPUUsage.rst:8892 ../../../AMDGPUUsage.rst:9034 -#: ../../../AMDGPUUsage.rst:9198 ../../../AMDGPUUsage.rst:9486 -#: ../../../AMDGPUUsage.rst:9637 ../../../AMDGPUUsage.rst:9929 -#: ../../../AMDGPUUsage.rst:11203 ../../../AMDGPUUsage.rst:11356 -#: ../../../AMDGPUUsage.rst:11531 ../../../AMDGPUUsage.rst:11829 -#: ../../../AMDGPUUsage.rst:11988 ../../../AMDGPUUsage.rst:12290 +#: ../../../AMDGPUUsage.rst:9447 ../../../AMDGPUUsage.rst:9589 +#: ../../../AMDGPUUsage.rst:9753 ../../../AMDGPUUsage.rst:10041 +#: ../../../AMDGPUUsage.rst:10192 ../../../AMDGPUUsage.rst:10484 +#: ../../../AMDGPUUsage.rst:11758 ../../../AMDGPUUsage.rst:11911 +#: ../../../AMDGPUUsage.rst:12086 ../../../AMDGPUUsage.rst:12384 +#: ../../../AMDGPUUsage.rst:12543 ../../../AMDGPUUsage.rst:12845 msgid "" "Performs L2 writeback to ensure previous global/generic store/atomicrmw are " "visible at system scope." msgstr "" -#: ../../../AMDGPUUsage.rst:8933 ../../../AMDGPUUsage.rst:9073 -#: ../../../AMDGPUUsage.rst:11244 ../../../AMDGPUUsage.rst:11395 +#: ../../../AMDGPUUsage.rst:9488 ../../../AMDGPUUsage.rst:9628 +#: ../../../AMDGPUUsage.rst:11799 ../../../AMDGPUUsage.rst:11950 msgid "" "Ensures that all memory operations to memory and the L2 writeback have " "completed before performing the store that is being released." msgstr "" -#: ../../../AMDGPUUsage.rst:8974 ../../../AMDGPUUsage.rst:9300 -#: ../../../AMDGPUUsage.rst:9377 ../../../AMDGPUUsage.rst:11286 -#: ../../../AMDGPUUsage.rst:11633 ../../../AMDGPUUsage.rst:11710 -#: ../../../AMDGPUUsage.rst:13489 ../../../AMDGPUUsage.rst:13749 -#: ../../../AMDGPUUsage.rst:13876 ../../../AMDGPUUsage.rst:14019 -#: ../../../AMDGPUUsage.rst:15571 ../../../AMDGPUUsage.rst:15845 -#: ../../../AMDGPUUsage.rst:15980 ../../../AMDGPUUsage.rst:16147 -#: ../../../AMDGPUUsage.rst:17627 ../../../AMDGPUUsage.rst:17892 -#: ../../../AMDGPUUsage.rst:17999 ../../../AMDGPUUsage.rst:18145 +#: ../../../AMDGPUUsage.rst:9529 ../../../AMDGPUUsage.rst:9855 +#: ../../../AMDGPUUsage.rst:9932 ../../../AMDGPUUsage.rst:11841 +#: ../../../AMDGPUUsage.rst:12188 ../../../AMDGPUUsage.rst:12265 +#: ../../../AMDGPUUsage.rst:14044 ../../../AMDGPUUsage.rst:14304 +#: ../../../AMDGPUUsage.rst:14431 ../../../AMDGPUUsage.rst:14574 +#: ../../../AMDGPUUsage.rst:16126 ../../../AMDGPUUsage.rst:16400 +#: ../../../AMDGPUUsage.rst:16535 ../../../AMDGPUUsage.rst:16702 +#: ../../../AMDGPUUsage.rst:18453 ../../../AMDGPUUsage.rst:18778 +#: ../../../AMDGPUUsage.rst:18885 ../../../AMDGPUUsage.rst:19095 msgid "" "Ensures that all memory operations have completed before performing the " "atomicrmw that is being released." msgstr "" -#: ../../../AMDGPUUsage.rst:9109 ../../../AMDGPUUsage.rst:9751 -#: ../../../AMDGPUUsage.rst:11432 ../../../AMDGPUUsage.rst:12099 +#: ../../../AMDGPUUsage.rst:9664 ../../../AMDGPUUsage.rst:10306 +#: ../../../AMDGPUUsage.rst:11987 ../../../AMDGPUUsage.rst:12654 msgid "" "s_waitcnt lgkmcnt(0) must happen after any preceding local/generic load/load " "atomic/store/store atomic/atomicrmw." msgstr "" -#: ../../../AMDGPUUsage.rst:9193 ../../../AMDGPUUsage.rst:9924 -#: ../../../AMDGPUUsage.rst:11459 ../../../AMDGPUUsage.rst:12181 -#: ../../../AMDGPUUsage.rst:12285 +#: ../../../AMDGPUUsage.rst:9748 ../../../AMDGPUUsage.rst:10479 +#: ../../../AMDGPUUsage.rst:12014 ../../../AMDGPUUsage.rst:12736 +#: ../../../AMDGPUUsage.rst:12840 msgid "If OpenCL and address space is local, omit." msgstr "" -#: ../../../AMDGPUUsage.rst:9316 ../../../AMDGPUUsage.rst:11649 -#: ../../../AMDGPUUsage.rst:13766 ../../../AMDGPUUsage.rst:15867 -#: ../../../AMDGPUUsage.rst:17916 +#: ../../../AMDGPUUsage.rst:9871 ../../../AMDGPUUsage.rst:12204 +#: ../../../AMDGPUUsage.rst:14321 ../../../AMDGPUUsage.rst:16422 +#: ../../../AMDGPUUsage.rst:18802 msgid "" "Ensures any following global data read is no older than the atomicrmw value " "being acquired." msgstr "" -#: ../../../AMDGPUUsage.rst:9389 ../../../AMDGPUUsage.rst:11722 +#: ../../../AMDGPUUsage.rst:9944 ../../../AMDGPUUsage.rst:12277 msgid "If not TgSplit execution mode, omit vmcnt(0)." msgstr "" -#: ../../../AMDGPUUsage.rst:9525 ../../../AMDGPUUsage.rst:9676 -#: ../../../AMDGPUUsage.rst:11868 ../../../AMDGPUUsage.rst:12027 +#: ../../../AMDGPUUsage.rst:10080 ../../../AMDGPUUsage.rst:10231 +#: ../../../AMDGPUUsage.rst:12423 ../../../AMDGPUUsage.rst:12582 msgid "" "Ensures that all memory operations to global and L2 writeback have completed " "before performing the atomicrmw that is being released." msgstr "" -#: ../../../AMDGPUUsage.rst:9764 ../../../AMDGPUUsage.rst:12112 -#: ../../../AMDGPUUsage.rst:14115 ../../../AMDGPUUsage.rst:16244 -#: ../../../AMDGPUUsage.rst:18242 +#: ../../../AMDGPUUsage.rst:10319 ../../../AMDGPUUsage.rst:12667 +#: ../../../AMDGPUUsage.rst:14670 ../../../AMDGPUUsage.rst:16799 +#: ../../../AMDGPUUsage.rst:19197 msgid "" "Ensures that all memory operations have completed before performing any " "following global memory operations." msgstr "" -#: ../../../AMDGPUUsage.rst:9809 ../../../AMDGPUUsage.rst:12157 -#: ../../../AMDGPUUsage.rst:14160 ../../../AMDGPUUsage.rst:16289 -#: ../../../AMDGPUUsage.rst:18284 +#: ../../../AMDGPUUsage.rst:10364 ../../../AMDGPUUsage.rst:12712 +#: ../../../AMDGPUUsage.rst:14715 ../../../AMDGPUUsage.rst:16844 +#: ../../../AMDGPUUsage.rst:19239 msgid "" "Ensures that the acquire-fence-paired atomic has completed before " "invalidating the cache. Therefore any following locations read must be no " "older than the value read by the acquire-fence-paired-atomic." msgstr "" -#: ../../../AMDGPUUsage.rst:10042 ../../../AMDGPUUsage.rst:12400 -#: ../../../AMDGPUUsage.rst:14301 +#: ../../../AMDGPUUsage.rst:10597 ../../../AMDGPUUsage.rst:12955 +#: ../../../AMDGPUUsage.rst:14856 msgid "" "s_waitcnt lgkmcnt(0) must happen after preceding local/generic load atomic/" "store atomic/atomicrmw with memory ordering of seq_cst and with equal or " @@ -15902,8 +17036,8 @@ msgid "" "lgkmcnt(0) and so do not need to be considered.)" msgstr "" -#: ../../../AMDGPUUsage.rst:10074 ../../../AMDGPUUsage.rst:12432 -#: ../../../AMDGPUUsage.rst:14349 +#: ../../../AMDGPUUsage.rst:10629 ../../../AMDGPUUsage.rst:12987 +#: ../../../AMDGPUUsage.rst:14904 msgid "" "Ensures any preceding sequential consistent global/local memory instructions " "have completed before executing this sequentially consistent instruction. " @@ -15916,15 +17050,15 @@ msgid "" "be as late as possible so that the store may have already completed.)" msgstr "" -#: ../../../AMDGPUUsage.rst:10244 +#: ../../../AMDGPUUsage.rst:10799 msgid "Memory Model GFX942" msgstr "" -#: ../../../AMDGPUUsage.rst:10246 +#: ../../../AMDGPUUsage.rst:10801 msgid "For GFX942:" msgstr "" -#: ../../../AMDGPUUsage.rst:10279 +#: ../../../AMDGPUUsage.rst:10834 msgid "" "No special action is required for coherence between wavefronts in the same " "work-group since they execute on the same CU. The exception is when in " @@ -15933,14 +17067,14 @@ msgid "" "the L1 cache." msgstr "" -#: ../../../AMDGPUUsage.rst:10285 +#: ../../../AMDGPUUsage.rst:10840 msgid "" "A ``buffer_inv sc0`` is required to invalidate the L1 cache for coherence " "between wavefronts executing in different work-groups as they may be " "executing on different CUs." msgstr "" -#: ../../../AMDGPUUsage.rst:10289 +#: ../../../AMDGPUUsage.rst:10844 msgid "" "Atomic read-modify-write instructions implicitly bypass the L1 cache. " "Therefore, they do not use the sc0 bit for coherence and instead use it to " @@ -15948,11 +17082,11 @@ msgid "" "do use sc1 to indicate system or agent scope coherence." msgstr "" -#: ../../../AMDGPUUsage.rst:10298 +#: ../../../AMDGPUUsage.rst:10853 msgid "The vector and scalar memory operations use an L2 cache." msgstr "" -#: ../../../AMDGPUUsage.rst:10300 +#: ../../../AMDGPUUsage.rst:10855 msgid "" "The gfx942 can be configured as a number of smaller agents with each having " "a single L2 shared by all CUs on the same agent, or as fewer (possibly one) " @@ -15960,7 +17094,7 @@ msgid "" "caches." msgstr "" -#: ../../../AMDGPUUsage.rst:10306 +#: ../../../AMDGPUUsage.rst:10861 msgid "" "Each CU has a separate request queue per channel for its associated L2. " "Therefore, the vector and scalar memory operations performed by wavefronts " @@ -15968,7 +17102,7 @@ msgid "" "relative to each other." msgstr "" -#: ../../../AMDGPUUsage.rst:10310 +#: ../../../AMDGPUUsage.rst:10865 msgid "" "A ``s_waitcnt vmcnt(0)`` is required to ensure synchronization between " "vector memory operations of different CUs. It ensures a previous vector " @@ -15977,28 +17111,28 @@ msgid "" "release." msgstr "" -#: ../../../AMDGPUUsage.rst:10315 +#: ../../../AMDGPUUsage.rst:10870 msgid "" "An L2 cache can be kept coherent with other L2 caches by using the MTYPE RW " "(read-write) for memory local to the L2, and MTYPE NC (non-coherent) with " "the PTE C-bit set for memory not local to the L2." msgstr "" -#: ../../../AMDGPUUsage.rst:10319 +#: ../../../AMDGPUUsage.rst:10874 msgid "" "Any local memory cache lines will be automatically invalidated by writes " "from CUs associated with other L2 caches, or writes from the CPU, due to the " "cache probe caused by the PTE C-bit." msgstr "" -#: ../../../AMDGPUUsage.rst:10322 +#: ../../../AMDGPUUsage.rst:10877 msgid "" "XGMI accesses from the CPU to local memory may be cached on the CPU. " "Subsequent access from the GPU will automatically invalidate or writeback " "the CPU cache due to the L2 probe filter." msgstr "" -#: ../../../AMDGPUUsage.rst:10325 +#: ../../../AMDGPUUsage.rst:10880 msgid "" "To ensure coherence of local memory writes of CUs with different L1 caches " "in the same agent a ``buffer_wbl2`` is required. It does nothing if the " @@ -16006,13 +17140,13 @@ msgid "" "lines if configured to have multiple L2 caches." msgstr "" -#: ../../../AMDGPUUsage.rst:10329 +#: ../../../AMDGPUUsage.rst:10884 msgid "" "To ensure coherence of local memory writes of CUs in different agents a " "``buffer_wbl2 sc1`` is required. It will writeback dirty L2 cache lines." msgstr "" -#: ../../../AMDGPUUsage.rst:10331 +#: ../../../AMDGPUUsage.rst:10886 msgid "" "To ensure coherence of local memory reads of CUs with different L1 caches in " "the same agent a ``buffer_inv sc1`` is required. It does nothing if the " @@ -16020,205 +17154,205 @@ msgid "" "cache lines if configured to have multiple L2 caches." msgstr "" -#: ../../../AMDGPUUsage.rst:10335 +#: ../../../AMDGPUUsage.rst:10890 msgid "" "To ensure coherence of local memory reads of CUs in different agents a " "``buffer_inv sc0 sc1`` is required. It will invalidate non-local L2 cache " "lines if configured to have multiple L2 caches." msgstr "" -#: ../../../AMDGPUUsage.rst:10339 +#: ../../../AMDGPUUsage.rst:10894 msgid "" "PCIe access from the GPU to the CPU can be kept coherent by using the MTYPE " "UC (uncached) which bypasses the L2." msgstr "" -#: ../../../AMDGPUUsage.rst:10376 +#: ../../../AMDGPUUsage.rst:10931 msgid "" "The code sequences used to implement the memory model for GFX942 are defined " "in table :ref:`amdgpu-amdhsa-memory-model-code-sequences-gfx942-table`." msgstr "" -#: ../../../AMDGPUUsage.rst:10379 +#: ../../../AMDGPUUsage.rst:10934 msgid "AMDHSA Memory Model Code Sequences GFX942" msgstr "" -#: ../../../AMDGPUUsage.rst:10383 +#: ../../../AMDGPUUsage.rst:10938 msgid "AMDGPU Machine Code GFX942" msgstr "" -#: ../../../AMDGPUUsage.rst:10395 +#: ../../../AMDGPUUsage.rst:10950 msgid "buffer/global/flat_load nt=1" msgstr "" -#: ../../../AMDGPUUsage.rst:10400 ../../../AMDGPUUsage.rst:10465 -#: ../../../AMDGPUUsage.rst:10595 +#: ../../../AMDGPUUsage.rst:10955 ../../../AMDGPUUsage.rst:11020 +#: ../../../AMDGPUUsage.rst:11150 msgid "buffer/global/flat_load sc0=1 sc1=1" msgstr "" -#: ../../../AMDGPUUsage.rst:10420 ../../../AMDGPUUsage.rst:10426 -#: ../../../AMDGPUUsage.rst:11097 ../../../AMDGPUUsage.rst:11136 -#: ../../../AMDGPUUsage.rst:11197 +#: ../../../AMDGPUUsage.rst:10975 ../../../AMDGPUUsage.rst:10981 +#: ../../../AMDGPUUsage.rst:11652 ../../../AMDGPUUsage.rst:11691 +#: ../../../AMDGPUUsage.rst:11752 msgid "GFX942" msgstr "" -#: ../../../AMDGPUUsage.rst:10425 +#: ../../../AMDGPUUsage.rst:10980 msgid "buffer/global/flat_store nt=1" msgstr "" -#: ../../../AMDGPUUsage.rst:10430 ../../../AMDGPUUsage.rst:10473 -#: ../../../AMDGPUUsage.rst:11253 +#: ../../../AMDGPUUsage.rst:10985 ../../../AMDGPUUsage.rst:11028 +#: ../../../AMDGPUUsage.rst:11808 msgid "buffer/global/flat_store sc0=1 sc1=1" msgstr "" -#: ../../../AMDGPUUsage.rst:10456 +#: ../../../AMDGPUUsage.rst:11011 msgid "buffer/global/flat_load sc0=1" msgstr "" -#: ../../../AMDGPUUsage.rst:10463 +#: ../../../AMDGPUUsage.rst:11018 msgid "buffer/global/flat_load sc1=1" msgstr "" -#: ../../../AMDGPUUsage.rst:10469 ../../../AMDGPUUsage.rst:11136 +#: ../../../AMDGPUUsage.rst:11024 ../../../AMDGPUUsage.rst:11691 msgid "buffer/global/flat_store sc0=1" msgstr "" -#: ../../../AMDGPUUsage.rst:10471 ../../../AMDGPUUsage.rst:11197 +#: ../../../AMDGPUUsage.rst:11026 ../../../AMDGPUUsage.rst:11752 msgid "buffer/global/flat_store sc1=1" msgstr "" -#: ../../../AMDGPUUsage.rst:10484 ../../../AMDGPUUsage.rst:11351 +#: ../../../AMDGPUUsage.rst:11039 ../../../AMDGPUUsage.rst:11906 msgid "buffer/global/flat_atomic sc1=1" msgstr "" -#: ../../../AMDGPUUsage.rst:10496 +#: ../../../AMDGPUUsage.rst:11051 msgid "buffer/global_load sc0=1" msgstr "" -#: ../../../AMDGPUUsage.rst:10501 ../../../AMDGPUUsage.rst:10658 -#: ../../../AMDGPUUsage.rst:10693 ../../../AMDGPUUsage.rst:10993 -#: ../../../AMDGPUUsage.rst:11066 ../../../AMDGPUUsage.rst:11646 -#: ../../../AMDGPUUsage.rst:12154 ../../../AMDGPUUsage.rst:12227 -#: ../../../AMDGPUUsage.rst:12331 +#: ../../../AMDGPUUsage.rst:11056 ../../../AMDGPUUsage.rst:11213 +#: ../../../AMDGPUUsage.rst:11248 ../../../AMDGPUUsage.rst:11548 +#: ../../../AMDGPUUsage.rst:11621 ../../../AMDGPUUsage.rst:12201 +#: ../../../AMDGPUUsage.rst:12709 ../../../AMDGPUUsage.rst:12782 +#: ../../../AMDGPUUsage.rst:12886 msgid "Must happen before the following buffer_inv." msgstr "" -#: ../../../AMDGPUUsage.rst:10504 ../../../AMDGPUUsage.rst:10562 -#: ../../../AMDGPUUsage.rst:10700 ../../../AMDGPUUsage.rst:10758 -#: ../../../AMDGPUUsage.rst:10939 ../../../AMDGPUUsage.rst:11656 -#: ../../../AMDGPUUsage.rst:11741 ../../../AMDGPUUsage.rst:12170 +#: ../../../AMDGPUUsage.rst:11059 ../../../AMDGPUUsage.rst:11117 +#: ../../../AMDGPUUsage.rst:11255 ../../../AMDGPUUsage.rst:11313 +#: ../../../AMDGPUUsage.rst:11494 ../../../AMDGPUUsage.rst:12211 +#: ../../../AMDGPUUsage.rst:12296 ../../../AMDGPUUsage.rst:12725 msgid "buffer_inv sc0=1" msgstr "" -#: ../../../AMDGPUUsage.rst:10540 +#: ../../../AMDGPUUsage.rst:11095 msgid "flat_load sc0=1" msgstr "" -#: ../../../AMDGPUUsage.rst:10548 ../../../AMDGPUUsage.rst:10743 -#: ../../../AMDGPUUsage.rst:10924 ../../../AMDGPUUsage.rst:11726 +#: ../../../AMDGPUUsage.rst:11103 ../../../AMDGPUUsage.rst:11298 +#: ../../../AMDGPUUsage.rst:11479 ../../../AMDGPUUsage.rst:12281 msgid "" "Must happen before the following buffer_inv and any following global/generic " "load/load atomic/store/store atomic/atomicrmw." msgstr "" -#: ../../../AMDGPUUsage.rst:10571 +#: ../../../AMDGPUUsage.rst:11126 msgid "buffer/global_load sc1=1" msgstr "" -#: ../../../AMDGPUUsage.rst:10575 ../../../AMDGPUUsage.rst:10599 -#: ../../../AMDGPUUsage.rst:10630 ../../../AMDGPUUsage.rst:10770 -#: ../../../AMDGPUUsage.rst:10795 ../../../AMDGPUUsage.rst:10827 -#: ../../../AMDGPUUsage.rst:10856 ../../../AMDGPUUsage.rst:11804 -#: ../../../AMDGPUUsage.rst:11880 ../../../AMDGPUUsage.rst:11963 -#: ../../../AMDGPUUsage.rst:12043 +#: ../../../AMDGPUUsage.rst:11130 ../../../AMDGPUUsage.rst:11154 +#: ../../../AMDGPUUsage.rst:11185 ../../../AMDGPUUsage.rst:11325 +#: ../../../AMDGPUUsage.rst:11350 ../../../AMDGPUUsage.rst:11382 +#: ../../../AMDGPUUsage.rst:11411 ../../../AMDGPUUsage.rst:12359 +#: ../../../AMDGPUUsage.rst:12435 ../../../AMDGPUUsage.rst:12518 +#: ../../../AMDGPUUsage.rst:12598 msgid "Must happen before following buffer_inv." msgstr "" -#: ../../../AMDGPUUsage.rst:10583 ../../../AMDGPUUsage.rst:10638 -#: ../../../AMDGPUUsage.rst:10779 ../../../AMDGPUUsage.rst:10836 -#: ../../../AMDGPUUsage.rst:11009 ../../../AMDGPUUsage.rst:11813 -#: ../../../AMDGPUUsage.rst:11972 ../../../AMDGPUUsage.rst:12267 +#: ../../../AMDGPUUsage.rst:11138 ../../../AMDGPUUsage.rst:11193 +#: ../../../AMDGPUUsage.rst:11334 ../../../AMDGPUUsage.rst:11391 +#: ../../../AMDGPUUsage.rst:11564 ../../../AMDGPUUsage.rst:12368 +#: ../../../AMDGPUUsage.rst:12527 ../../../AMDGPUUsage.rst:12822 msgid "buffer_inv sc1=1" msgstr "" -#: ../../../AMDGPUUsage.rst:10607 ../../../AMDGPUUsage.rst:10666 -#: ../../../AMDGPUUsage.rst:10804 ../../../AMDGPUUsage.rst:10865 -#: ../../../AMDGPUUsage.rst:11082 ../../../AMDGPUUsage.rst:11889 -#: ../../../AMDGPUUsage.rst:12052 ../../../AMDGPUUsage.rst:12371 +#: ../../../AMDGPUUsage.rst:11162 ../../../AMDGPUUsage.rst:11221 +#: ../../../AMDGPUUsage.rst:11359 ../../../AMDGPUUsage.rst:11420 +#: ../../../AMDGPUUsage.rst:11637 ../../../AMDGPUUsage.rst:12444 +#: ../../../AMDGPUUsage.rst:12607 ../../../AMDGPUUsage.rst:12926 msgid "buffer_inv sc0=1 sc1=1" msgstr "" -#: ../../../AMDGPUUsage.rst:10614 ../../../AMDGPUUsage.rst:10673 -#: ../../../AMDGPUUsage.rst:10811 ../../../AMDGPUUsage.rst:10872 -#: ../../../AMDGPUUsage.rst:11896 ../../../AMDGPUUsage.rst:12059 -#: ../../../AMDGPUUsage.rst:12379 +#: ../../../AMDGPUUsage.rst:11169 ../../../AMDGPUUsage.rst:11228 +#: ../../../AMDGPUUsage.rst:11366 ../../../AMDGPUUsage.rst:11427 +#: ../../../AMDGPUUsage.rst:12451 ../../../AMDGPUUsage.rst:12614 +#: ../../../AMDGPUUsage.rst:12934 msgid "" "Ensures that following loads will not see stale MTYPE NC global data. MTYPE " "RW and CC memory will never be stale due to the memory probes." msgstr "" -#: ../../../AMDGPUUsage.rst:10622 +#: ../../../AMDGPUUsage.rst:11177 msgid "flat_load sc1=1" msgstr "" -#: ../../../AMDGPUUsage.rst:10650 +#: ../../../AMDGPUUsage.rst:11205 msgid "flat_load sc0=1 sc1=1" msgstr "" -#: ../../../AMDGPUUsage.rst:10791 ../../../AMDGPUUsage.rst:11876 +#: ../../../AMDGPUUsage.rst:11346 ../../../AMDGPUUsage.rst:12431 msgid "buffer/global_atomic sc1=1" msgstr "" -#: ../../../AMDGPUUsage.rst:10848 ../../../AMDGPUUsage.rst:12035 +#: ../../../AMDGPUUsage.rst:11403 ../../../AMDGPUUsage.rst:12590 msgid "flat_atomic sc1=1" msgstr "" -#: ../../../AMDGPUUsage.rst:11143 ../../../AMDGPUUsage.rst:11300 -#: ../../../AMDGPUUsage.rst:11457 ../../../AMDGPUUsage.rst:11750 -#: ../../../AMDGPUUsage.rst:11904 ../../../AMDGPUUsage.rst:12179 +#: ../../../AMDGPUUsage.rst:11698 ../../../AMDGPUUsage.rst:11855 +#: ../../../AMDGPUUsage.rst:12012 ../../../AMDGPUUsage.rst:12305 +#: ../../../AMDGPUUsage.rst:12459 ../../../AMDGPUUsage.rst:12734 msgid "buffer_wbl2 sc1=1" msgstr "" -#: ../../../AMDGPUUsage.rst:11147 ../../../AMDGPUUsage.rst:11304 -#: ../../../AMDGPUUsage.rst:11464 ../../../AMDGPUUsage.rst:11754 -#: ../../../AMDGPUUsage.rst:11908 ../../../AMDGPUUsage.rst:12186 +#: ../../../AMDGPUUsage.rst:11702 ../../../AMDGPUUsage.rst:11859 +#: ../../../AMDGPUUsage.rst:12019 ../../../AMDGPUUsage.rst:12309 +#: ../../../AMDGPUUsage.rst:12463 ../../../AMDGPUUsage.rst:12741 msgid "" "Performs L2 writeback to ensure previous global/generic store/atomicrmw are " "visible at agent scope." msgstr "" -#: ../../../AMDGPUUsage.rst:11199 ../../../AMDGPUUsage.rst:11352 -#: ../../../AMDGPUUsage.rst:11527 ../../../AMDGPUUsage.rst:11825 -#: ../../../AMDGPUUsage.rst:11984 ../../../AMDGPUUsage.rst:12283 +#: ../../../AMDGPUUsage.rst:11754 ../../../AMDGPUUsage.rst:11907 +#: ../../../AMDGPUUsage.rst:12082 ../../../AMDGPUUsage.rst:12380 +#: ../../../AMDGPUUsage.rst:12539 ../../../AMDGPUUsage.rst:12838 msgid "buffer_wbl2 sc0=1 sc1=1" msgstr "" -#: ../../../AMDGPUUsage.rst:11294 +#: ../../../AMDGPUUsage.rst:11849 msgid "buffer/global/flat_atomic sc0=1" msgstr "" -#: ../../../AMDGPUUsage.rst:11404 +#: ../../../AMDGPUUsage.rst:11959 msgid "buffer/global/flat_atomic sc0=1 sc1=1" msgstr "" -#: ../../../AMDGPUUsage.rst:12602 +#: ../../../AMDGPUUsage.rst:13157 msgid "Memory Model GFX10-GFX11" msgstr "" -#: ../../../AMDGPUUsage.rst:12604 +#: ../../../AMDGPUUsage.rst:13159 msgid "For GFX10-GFX11:" msgstr "" -#: ../../../AMDGPUUsage.rst:12607 ../../../AMDGPUUsage.rst:14621 -#: ../../../AMDGPUUsage.rst:16757 +#: ../../../AMDGPUUsage.rst:13162 ../../../AMDGPUUsage.rst:15176 +#: ../../../AMDGPUUsage.rst:17312 msgid "Each SA has multiple work-group processors (WGP)." msgstr "" -#: ../../../AMDGPUUsage.rst:12608 ../../../AMDGPUUsage.rst:14622 +#: ../../../AMDGPUUsage.rst:13163 ../../../AMDGPUUsage.rst:15177 msgid "Each WGP has multiple compute units (CU)." msgstr "" -#: ../../../AMDGPUUsage.rst:12610 +#: ../../../AMDGPUUsage.rst:13165 msgid "" "The wavefronts for a single work-group are executed in the same WGP. In CU " "wavefront execution mode the wavefronts may be executed by different SIMDs " @@ -16226,20 +17360,20 @@ msgid "" "executed by different SIMDs in different CUs in the same WGP." msgstr "" -#: ../../../AMDGPUUsage.rst:12615 ../../../AMDGPUUsage.rst:14632 +#: ../../../AMDGPUUsage.rst:13170 ../../../AMDGPUUsage.rst:15187 msgid "" "Each WGP has a single LDS memory shared by the wavefronts of the work-groups " "executing on it." msgstr "" -#: ../../../AMDGPUUsage.rst:12617 ../../../AMDGPUUsage.rst:14634 +#: ../../../AMDGPUUsage.rst:13172 ../../../AMDGPUUsage.rst:15189 msgid "" "All LDS operations of a WGP are performed as wavefront wide operations in a " "global order and involve no caching. Completion is reported to a wavefront " "in execution order." msgstr "" -#: ../../../AMDGPUUsage.rst:12620 +#: ../../../AMDGPUUsage.rst:13175 msgid "" "The LDS memory has multiple request queues shared by the SIMDs of a WGP. " "Therefore, the LDS operations performed by different wavefronts of a work-" @@ -16251,7 +17385,7 @@ msgid "" "between operations performed by the same wavefront." msgstr "" -#: ../../../AMDGPUUsage.rst:12628 +#: ../../../AMDGPUUsage.rst:13183 msgid "" "The vector memory operations are performed as wavefront wide operations. " "Completion of load/store/sample operations are reported to a wavefront in " @@ -16259,7 +17393,7 @@ msgid "" "wavefront." msgstr "" -#: ../../../AMDGPUUsage.rst:12632 +#: ../../../AMDGPUUsage.rst:13187 msgid "" "The vector memory operations access a vector L0 cache. There is a single L0 " "cache per CU. Each SIMD of a CU accesses the same L0 cache. Therefore, no " @@ -16271,7 +17405,7 @@ msgid "" "groups as they may be executing on different WGPs." msgstr "" -#: ../../../AMDGPUUsage.rst:12640 ../../../AMDGPUUsage.rst:14700 +#: ../../../AMDGPUUsage.rst:13195 ../../../AMDGPUUsage.rst:15255 msgid "" "The scalar memory operations access a scalar L0 cache shared by all " "wavefronts on a WGP. The scalar and vector L0 caches are not coherent. " @@ -16279,7 +17413,7 @@ msgid "" "memory model. See :ref:`amdgpu-amdhsa-memory-spaces`." msgstr "" -#: ../../../AMDGPUUsage.rst:12644 +#: ../../../AMDGPUUsage.rst:13199 msgid "" "The vector and scalar memory L0 caches use an L1 cache shared by all WGPs on " "the same SA. Therefore, no special action is required for coherence between " @@ -16288,13 +17422,13 @@ msgid "" "as they may be executing on different SAs that access different L1s." msgstr "" -#: ../../../AMDGPUUsage.rst:12649 +#: ../../../AMDGPUUsage.rst:13204 msgid "" "The L1 caches have independent quadrants to service disjoint ranges of " "virtual addresses." msgstr "" -#: ../../../AMDGPUUsage.rst:12651 +#: ../../../AMDGPUUsage.rst:13206 msgid "" "Each L0 cache has a separate request queue per L1 quadrant. Therefore, the " "vector and scalar memory operations performed by different wavefronts, " @@ -16307,11 +17441,11 @@ msgid "" "used to meet the requirements of acquire, release and sequential consistency." msgstr "" -#: ../../../AMDGPUUsage.rst:12660 +#: ../../../AMDGPUUsage.rst:13215 msgid "The L1 caches use an L2 cache shared by all SAs on the same agent." msgstr "" -#: ../../../AMDGPUUsage.rst:12663 +#: ../../../AMDGPUUsage.rst:13218 msgid "" "Each L1 quadrant of a single SA accesses a different L2 channel. Each L1 " "quadrant has a separate request queue per L2 channel. Therefore, the vector " @@ -16324,7 +17458,7 @@ msgid "" "requirements of acquire, release and sequential consistency." msgstr "" -#: ../../../AMDGPUUsage.rst:12674 +#: ../../../AMDGPUUsage.rst:13229 msgid "" "On GFX10.3 and GFX11 a memory attached last level (MALL) cache exists for " "GPU memory. The MALL cache is fully coherent with GPU memory and has no " @@ -16332,18 +17466,18 @@ msgid "" "through the MALL cache." msgstr "" -#: ../../../AMDGPUUsage.rst:12698 +#: ../../../AMDGPUUsage.rst:13253 msgid "" "CP invalidates the L0 and L1 caches at the start of each kernel dispatch." msgstr "" -#: ../../../AMDGPUUsage.rst:12699 ../../../AMDGPUUsage.rst:14759 +#: ../../../AMDGPUUsage.rst:13254 ../../../AMDGPUUsage.rst:15314 msgid "" "On dGPU the kernarg backing memory is accessed as MTYPE UC (uncached) to " "avoid needing to invalidate the L2 cache." msgstr "" -#: ../../../AMDGPUUsage.rst:12704 +#: ../../../AMDGPUUsage.rst:13259 msgid "" "Scratch backing memory (which is used for the private address space) is " "accessed with MTYPE NC (non-coherent). Since the private address space is " @@ -16351,7 +17485,7 @@ msgid "" "never a need to invalidate these entries from the L0 or L1 caches." msgstr "" -#: ../../../AMDGPUUsage.rst:12709 +#: ../../../AMDGPUUsage.rst:13264 msgid "" "Wavefronts are executed in native mode with in-order reporting of loads and " "sample instructions. In this mode vmcnt reports completion of load, atomic " @@ -16360,11 +17494,11 @@ msgid "" "field in :ref:`amdgpu-amdhsa-compute_pgm_rsrc1-gfx6-gfx12-table`." msgstr "" -#: ../../../AMDGPUUsage.rst:12715 ../../../AMDGPUUsage.rst:14769 +#: ../../../AMDGPUUsage.rst:13270 ../../../AMDGPUUsage.rst:15324 msgid "Wavefronts can be executed in WGP or CU wavefront execution mode:" msgstr "" -#: ../../../AMDGPUUsage.rst:12717 ../../../AMDGPUUsage.rst:14771 +#: ../../../AMDGPUUsage.rst:13272 ../../../AMDGPUUsage.rst:15326 msgid "" "In WGP wavefront execution mode the wavefronts of a work-group are executed " "on the SIMDs of both CUs of the WGP. Therefore, explicit management of the " @@ -16373,7 +17507,7 @@ msgid "" "different CUs are not ordered." msgstr "" -#: ../../../AMDGPUUsage.rst:12722 ../../../AMDGPUUsage.rst:14776 +#: ../../../AMDGPUUsage.rst:13277 ../../../AMDGPUUsage.rst:15331 msgid "" "In CU wavefront execution mode the wavefronts of a work-group are executed " "on the SIMDs of a single CU of the WGP. Therefore, all global memory access " @@ -16382,205 +17516,205 @@ msgid "" "group synchronization." msgstr "" -#: ../../../AMDGPUUsage.rst:12728 ../../../AMDGPUUsage.rst:14782 +#: ../../../AMDGPUUsage.rst:13283 ../../../AMDGPUUsage.rst:15337 msgid "" "See ``WGP_MODE`` field in :ref:`amdgpu-amdhsa-compute_pgm_rsrc1-gfx6-gfx12-" "table` and :ref:`amdgpu-target-features`." msgstr "" -#: ../../../AMDGPUUsage.rst:12732 +#: ../../../AMDGPUUsage.rst:13287 msgid "" "The code sequences used to implement the memory model for GFX10-GFX11 are " "defined in table :ref:`amdgpu-amdhsa-memory-model-code-sequences-gfx10-gfx11-" "table`." msgstr "" -#: ../../../AMDGPUUsage.rst:12735 +#: ../../../AMDGPUUsage.rst:13290 msgid "AMDHSA Memory Model Code Sequences GFX10-GFX11" msgstr "" -#: ../../../AMDGPUUsage.rst:12739 +#: ../../../AMDGPUUsage.rst:13294 msgid "AMDGPU Machine Code GFX10-GFX11" msgstr "" -#: ../../../AMDGPUUsage.rst:12751 +#: ../../../AMDGPUUsage.rst:13306 msgid "buffer/global/flat_load slc=1 dlc=1" msgstr "" -#: ../../../AMDGPUUsage.rst:12754 ../../../AMDGPUUsage.rst:12785 -#: ../../../AMDGPUUsage.rst:12792 +#: ../../../AMDGPUUsage.rst:13309 ../../../AMDGPUUsage.rst:13340 +#: ../../../AMDGPUUsage.rst:13347 msgid "If GFX10, omit dlc=1." msgstr "" -#: ../../../AMDGPUUsage.rst:12758 ../../../AMDGPUUsage.rst:12827 +#: ../../../AMDGPUUsage.rst:13313 ../../../AMDGPUUsage.rst:13382 msgid "buffer/global/flat_load glc=1 dlc=1" msgstr "" -#: ../../../AMDGPUUsage.rst:12782 +#: ../../../AMDGPUUsage.rst:13337 msgid "buffer/global/flat_store glc=1 slc=1 dlc=1" msgstr "" -#: ../../../AMDGPUUsage.rst:12789 +#: ../../../AMDGPUUsage.rst:13344 msgid "buffer/global/flat_store dlc=1" msgstr "" -#: ../../../AMDGPUUsage.rst:12794 +#: ../../../AMDGPUUsage.rst:13349 msgid "s_waitcnt vscnt(0)" msgstr "" -#: ../../../AMDGPUUsage.rst:12821 ../../../AMDGPUUsage.rst:12855 -#: ../../../AMDGPUUsage.rst:12908 +#: ../../../AMDGPUUsage.rst:13376 ../../../AMDGPUUsage.rst:13410 +#: ../../../AMDGPUUsage.rst:13463 msgid "If CU wavefront execution mode, omit glc=1." msgstr "" -#: ../../../AMDGPUUsage.rst:12830 ../../../AMDGPUUsage.rst:12944 -#: ../../../AMDGPUUsage.rst:12971 +#: ../../../AMDGPUUsage.rst:13385 ../../../AMDGPUUsage.rst:13499 +#: ../../../AMDGPUUsage.rst:13526 msgid "If GFX11, omit dlc=1." msgstr "" -#: ../../../AMDGPUUsage.rst:12860 ../../../AMDGPUUsage.rst:12872 -#: ../../../AMDGPUUsage.rst:12898 ../../../AMDGPUUsage.rst:12934 -#: ../../../AMDGPUUsage.rst:13005 ../../../AMDGPUUsage.rst:13020 -#: ../../../AMDGPUUsage.rst:13071 ../../../AMDGPUUsage.rst:13220 -#: ../../../AMDGPUUsage.rst:13775 ../../../AMDGPUUsage.rst:13832 -#: ../../../AMDGPUUsage.rst:13904 ../../../AMDGPUUsage.rst:14175 -#: ../../../AMDGPUUsage.rst:14928 ../../../AMDGPUUsage.rst:14940 -#: ../../../AMDGPUUsage.rst:14999 ../../../AMDGPUUsage.rst:15076 -#: ../../../AMDGPUUsage.rst:15088 ../../../AMDGPUUsage.rst:15112 -#: ../../../AMDGPUUsage.rst:15150 ../../../AMDGPUUsage.rst:15304 -#: ../../../AMDGPUUsage.rst:15876 ../../../AMDGPUUsage.rst:15936 -#: ../../../AMDGPUUsage.rst:16016 ../../../AMDGPUUsage.rst:16304 +#: ../../../AMDGPUUsage.rst:13415 ../../../AMDGPUUsage.rst:13427 +#: ../../../AMDGPUUsage.rst:13453 ../../../AMDGPUUsage.rst:13489 +#: ../../../AMDGPUUsage.rst:13560 ../../../AMDGPUUsage.rst:13575 +#: ../../../AMDGPUUsage.rst:13626 ../../../AMDGPUUsage.rst:13775 +#: ../../../AMDGPUUsage.rst:14330 ../../../AMDGPUUsage.rst:14387 +#: ../../../AMDGPUUsage.rst:14459 ../../../AMDGPUUsage.rst:14730 +#: ../../../AMDGPUUsage.rst:15483 ../../../AMDGPUUsage.rst:15495 +#: ../../../AMDGPUUsage.rst:15554 ../../../AMDGPUUsage.rst:15631 +#: ../../../AMDGPUUsage.rst:15643 ../../../AMDGPUUsage.rst:15667 +#: ../../../AMDGPUUsage.rst:15705 ../../../AMDGPUUsage.rst:15859 +#: ../../../AMDGPUUsage.rst:16431 ../../../AMDGPUUsage.rst:16491 +#: ../../../AMDGPUUsage.rst:16571 ../../../AMDGPUUsage.rst:16859 msgid "If CU wavefront execution mode, omit." msgstr "" -#: ../../../AMDGPUUsage.rst:12862 ../../../AMDGPUUsage.rst:12883 -#: ../../../AMDGPUUsage.rst:13010 +#: ../../../AMDGPUUsage.rst:13417 ../../../AMDGPUUsage.rst:13438 +#: ../../../AMDGPUUsage.rst:13565 msgid "" "Must happen before the following buffer_gl0_inv and before any following " "global/generic load/load atomic/store/store atomic/atomicrmw." msgstr "" -#: ../../../AMDGPUUsage.rst:12870 ../../../AMDGPUUsage.rst:12896 -#: ../../../AMDGPUUsage.rst:12932 ../../../AMDGPUUsage.rst:13018 -#: ../../../AMDGPUUsage.rst:13041 ../../../AMDGPUUsage.rst:13069 -#: ../../../AMDGPUUsage.rst:13218 ../../../AMDGPUUsage.rst:13773 -#: ../../../AMDGPUUsage.rst:13830 ../../../AMDGPUUsage.rst:13902 -#: ../../../AMDGPUUsage.rst:14173 +#: ../../../AMDGPUUsage.rst:13425 ../../../AMDGPUUsage.rst:13451 +#: ../../../AMDGPUUsage.rst:13487 ../../../AMDGPUUsage.rst:13573 +#: ../../../AMDGPUUsage.rst:13596 ../../../AMDGPUUsage.rst:13624 +#: ../../../AMDGPUUsage.rst:13773 ../../../AMDGPUUsage.rst:14328 +#: ../../../AMDGPUUsage.rst:14385 ../../../AMDGPUUsage.rst:14457 +#: ../../../AMDGPUUsage.rst:14728 msgid "buffer_gl0_inv" msgstr "" -#: ../../../AMDGPUUsage.rst:12914 +#: ../../../AMDGPUUsage.rst:13469 msgid "If CU wavefront execution mode, omit vmcnt(0)." msgstr "" -#: ../../../AMDGPUUsage.rst:12918 +#: ../../../AMDGPUUsage.rst:13473 msgid "" "Must happen before the following buffer_gl0_inv and any following global/" "generic load/load atomic/store/store atomic/atomicrmw." msgstr "" -#: ../../../AMDGPUUsage.rst:12941 +#: ../../../AMDGPUUsage.rst:13496 msgid "buffer/global_load glc=1 dlc=1" msgstr "" -#: ../../../AMDGPUUsage.rst:12948 ../../../AMDGPUUsage.rst:13084 -#: ../../../AMDGPUUsage.rst:13115 ../../../AMDGPUUsage.rst:13961 -#: ../../../AMDGPUUsage.rst:14036 +#: ../../../AMDGPUUsage.rst:13503 ../../../AMDGPUUsage.rst:13639 +#: ../../../AMDGPUUsage.rst:13670 ../../../AMDGPUUsage.rst:14516 +#: ../../../AMDGPUUsage.rst:14591 msgid "Must happen before following buffer_gl*_inv." msgstr "" -#: ../../../AMDGPUUsage.rst:12951 ../../../AMDGPUUsage.rst:15015 -#: ../../../AMDGPUUsage.rst:17115 +#: ../../../AMDGPUUsage.rst:13506 ../../../AMDGPUUsage.rst:15570 +#: ../../../AMDGPUUsage.rst:17681 ../../../AMDGPUUsage.rst:17708 msgid "Ensures the load has completed before invalidating the caches." msgstr "" -#: ../../../AMDGPUUsage.rst:12956 ../../../AMDGPUUsage.rst:12986 -#: ../../../AMDGPUUsage.rst:13093 ../../../AMDGPUUsage.rst:13124 -#: ../../../AMDGPUUsage.rst:13303 ../../../AMDGPUUsage.rst:13970 -#: ../../../AMDGPUUsage.rst:14045 ../../../AMDGPUUsage.rst:14265 +#: ../../../AMDGPUUsage.rst:13511 ../../../AMDGPUUsage.rst:13541 +#: ../../../AMDGPUUsage.rst:13648 ../../../AMDGPUUsage.rst:13679 +#: ../../../AMDGPUUsage.rst:13858 ../../../AMDGPUUsage.rst:14525 +#: ../../../AMDGPUUsage.rst:14600 ../../../AMDGPUUsage.rst:14820 msgid "buffer_gl1_inv; buffer_gl0_inv" msgstr "" -#: ../../../AMDGPUUsage.rst:12969 +#: ../../../AMDGPUUsage.rst:13524 msgid "flat_load glc=1 dlc=1" msgstr "" -#: ../../../AMDGPUUsage.rst:12978 +#: ../../../AMDGPUUsage.rst:13533 msgid "Must happen before following buffer_gl*_invl." msgstr "" -#: ../../../AMDGPUUsage.rst:13003 ../../../AMDGPUUsage.rst:13079 -#: ../../../AMDGPUUsage.rst:13758 ../../../AMDGPUUsage.rst:13956 +#: ../../../AMDGPUUsage.rst:13558 ../../../AMDGPUUsage.rst:13634 +#: ../../../AMDGPUUsage.rst:14313 ../../../AMDGPUUsage.rst:14511 msgid "s_waitcnt vm/vscnt(0)" msgstr "" -#: ../../../AMDGPUUsage.rst:13007 ../../../AMDGPUUsage.rst:13056 -#: ../../../AMDGPUUsage.rst:13081 ../../../AMDGPUUsage.rst:13112 -#: ../../../AMDGPUUsage.rst:13760 ../../../AMDGPUUsage.rst:13958 -#: ../../../AMDGPUUsage.rst:14033 +#: ../../../AMDGPUUsage.rst:13562 ../../../AMDGPUUsage.rst:13611 +#: ../../../AMDGPUUsage.rst:13636 ../../../AMDGPUUsage.rst:13667 +#: ../../../AMDGPUUsage.rst:14315 ../../../AMDGPUUsage.rst:14513 +#: ../../../AMDGPUUsage.rst:14588 msgid "" "Use vmcnt(0) if atomic with return and vscnt(0) if atomic with no-return." msgstr "" -#: ../../../AMDGPUUsage.rst:13031 ../../../AMDGPUUsage.rst:13059 -#: ../../../AMDGPUUsage.rst:13202 ../../../AMDGPUUsage.rst:13763 -#: ../../../AMDGPUUsage.rst:13820 ../../../AMDGPUUsage.rst:13892 -#: ../../../AMDGPUUsage.rst:14157 +#: ../../../AMDGPUUsage.rst:13586 ../../../AMDGPUUsage.rst:13614 +#: ../../../AMDGPUUsage.rst:13757 ../../../AMDGPUUsage.rst:14318 +#: ../../../AMDGPUUsage.rst:14375 ../../../AMDGPUUsage.rst:14447 +#: ../../../AMDGPUUsage.rst:14712 msgid "Must happen before the following buffer_gl0_inv." msgstr "" -#: ../../../AMDGPUUsage.rst:13043 ../../../AMDGPUUsage.rst:13834 -#: ../../../AMDGPUUsage.rst:15111 ../../../AMDGPUUsage.rst:15938 +#: ../../../AMDGPUUsage.rst:13598 ../../../AMDGPUUsage.rst:14389 +#: ../../../AMDGPUUsage.rst:15666 ../../../AMDGPUUsage.rst:16493 msgid "If OpenCL omit." msgstr "" -#: ../../../AMDGPUUsage.rst:13050 +#: ../../../AMDGPUUsage.rst:13605 msgid "s_waitcnt lgkmcnt(0) & vm/vscnt(0)" msgstr "" -#: ../../../AMDGPUUsage.rst:13053 +#: ../../../AMDGPUUsage.rst:13608 msgid "If CU wavefront execution mode, omit vm/vscnt(0)." msgstr "" -#: ../../../AMDGPUUsage.rst:13107 ../../../AMDGPUUsage.rst:14028 +#: ../../../AMDGPUUsage.rst:13662 ../../../AMDGPUUsage.rst:14583 msgid "s_waitcnt vm/vscnt(0) & lgkmcnt(0)" msgstr "" -#: ../../../AMDGPUUsage.rst:13139 ../../../AMDGPUUsage.rst:13227 -#: ../../../AMDGPUUsage.rst:13321 ../../../AMDGPUUsage.rst:13402 -#: ../../../AMDGPUUsage.rst:13453 ../../../AMDGPUUsage.rst:13580 -#: ../../../AMDGPUUsage.rst:13641 ../../../AMDGPUUsage.rst:13706 -#: ../../../AMDGPUUsage.rst:13840 ../../../AMDGPUUsage.rst:13885 -#: ../../../AMDGPUUsage.rst:13911 ../../../AMDGPUUsage.rst:13983 -#: ../../../AMDGPUUsage.rst:14060 ../../../AMDGPUUsage.rst:14182 -#: ../../../AMDGPUUsage.rst:14289 ../../../AMDGPUUsage.rst:14488 +#: ../../../AMDGPUUsage.rst:13694 ../../../AMDGPUUsage.rst:13782 +#: ../../../AMDGPUUsage.rst:13876 ../../../AMDGPUUsage.rst:13957 +#: ../../../AMDGPUUsage.rst:14008 ../../../AMDGPUUsage.rst:14135 +#: ../../../AMDGPUUsage.rst:14196 ../../../AMDGPUUsage.rst:14261 +#: ../../../AMDGPUUsage.rst:14395 ../../../AMDGPUUsage.rst:14440 +#: ../../../AMDGPUUsage.rst:14466 ../../../AMDGPUUsage.rst:14538 +#: ../../../AMDGPUUsage.rst:14615 ../../../AMDGPUUsage.rst:14737 +#: ../../../AMDGPUUsage.rst:14844 ../../../AMDGPUUsage.rst:15043 msgid "s_waitcnt lgkmcnt(0) & vmcnt(0) & vscnt(0)" msgstr "" -#: ../../../AMDGPUUsage.rst:13142 +#: ../../../AMDGPUUsage.rst:13697 msgid "If CU wavefront execution mode, omit vmcnt(0) and vscnt(0)." msgstr "" -#: ../../../AMDGPUUsage.rst:13149 ../../../AMDGPUUsage.rst:13234 -#: ../../../AMDGPUUsage.rst:13587 ../../../AMDGPUUsage.rst:13648 -#: ../../../AMDGPUUsage.rst:14067 ../../../AMDGPUUsage.rst:14189 +#: ../../../AMDGPUUsage.rst:13704 ../../../AMDGPUUsage.rst:13789 +#: ../../../AMDGPUUsage.rst:14142 ../../../AMDGPUUsage.rst:14203 +#: ../../../AMDGPUUsage.rst:14622 ../../../AMDGPUUsage.rst:14744 msgid "If OpenCL and address space is local, omit vmcnt(0) and vscnt(0)." msgstr "" -#: ../../../AMDGPUUsage.rst:13156 ../../../AMDGPUUsage.rst:13241 -#: ../../../AMDGPUUsage.rst:13326 ../../../AMDGPUUsage.rst:13409 -#: ../../../AMDGPUUsage.rst:13457 ../../../AMDGPUUsage.rst:13538 -#: ../../../AMDGPUUsage.rst:13594 ../../../AMDGPUUsage.rst:13655 -#: ../../../AMDGPUUsage.rst:13844 ../../../AMDGPUUsage.rst:13916 -#: ../../../AMDGPUUsage.rst:14080 ../../../AMDGPUUsage.rst:14196 -#: ../../../AMDGPUUsage.rst:14491 +#: ../../../AMDGPUUsage.rst:13711 ../../../AMDGPUUsage.rst:13796 +#: ../../../AMDGPUUsage.rst:13881 ../../../AMDGPUUsage.rst:13964 +#: ../../../AMDGPUUsage.rst:14012 ../../../AMDGPUUsage.rst:14093 +#: ../../../AMDGPUUsage.rst:14149 ../../../AMDGPUUsage.rst:14210 +#: ../../../AMDGPUUsage.rst:14399 ../../../AMDGPUUsage.rst:14471 +#: ../../../AMDGPUUsage.rst:14635 ../../../AMDGPUUsage.rst:14751 +#: ../../../AMDGPUUsage.rst:15046 msgid "" "Could be split into separate s_waitcnt vmcnt(0), s_waitcnt vscnt(0) and " "s_waitcnt lgkmcnt(0) to allow them to be independently moved according to " "the following rules." msgstr "" -#: ../../../AMDGPUUsage.rst:13165 ../../../AMDGPUUsage.rst:13250 +#: ../../../AMDGPUUsage.rst:13720 ../../../AMDGPUUsage.rst:13805 msgid "" "s_waitcnt vmcnt(0) must happen after any preceding global/generic load " "atomic/ atomicrmw-with-return-value with an equal or wider sync scope and " @@ -16588,115 +17722,115 @@ msgid "" "atomic)." msgstr "" -#: ../../../AMDGPUUsage.rst:13178 ../../../AMDGPUUsage.rst:13263 +#: ../../../AMDGPUUsage.rst:13733 ../../../AMDGPUUsage.rst:13818 msgid "" "s_waitcnt vscnt(0) must happen after any preceding global/generic atomicrmw-" "no-return-value with an equal or wider sync scope and memory ordering " "stronger than unordered (this is termed the fence-paired-atomic)." msgstr "" -#: ../../../AMDGPUUsage.rst:13287 ../../../AMDGPUUsage.rst:14225 +#: ../../../AMDGPUUsage.rst:13842 ../../../AMDGPUUsage.rst:14780 msgid "Must happen before the following buffer_gl*_inv." msgstr "" -#: ../../../AMDGPUUsage.rst:13290 ../../../AMDGPUUsage.rst:15371 -#: ../../../AMDGPUUsage.rst:17426 +#: ../../../AMDGPUUsage.rst:13845 ../../../AMDGPUUsage.rst:15926 +#: ../../../AMDGPUUsage.rst:18144 ../../../AMDGPUUsage.rst:18217 msgid "" "Ensures that the fence-paired atomic has completed before invalidating the " "caches. Therefore any following locations read must be no older than the " "value read by the fence-paired-atomic." msgstr "" -#: ../../../AMDGPUUsage.rst:13335 ../../../AMDGPUUsage.rst:13378 -#: ../../../AMDGPUUsage.rst:13418 ../../../AMDGPUUsage.rst:13466 -#: ../../../AMDGPUUsage.rst:13509 ../../../AMDGPUUsage.rst:13547 -#: ../../../AMDGPUUsage.rst:13603 ../../../AMDGPUUsage.rst:13664 -#: ../../../AMDGPUUsage.rst:13726 ../../../AMDGPUUsage.rst:13793 -#: ../../../AMDGPUUsage.rst:13853 ../../../AMDGPUUsage.rst:13925 -#: ../../../AMDGPUUsage.rst:14089 ../../../AMDGPUUsage.rst:14205 +#: ../../../AMDGPUUsage.rst:13890 ../../../AMDGPUUsage.rst:13933 +#: ../../../AMDGPUUsage.rst:13973 ../../../AMDGPUUsage.rst:14021 +#: ../../../AMDGPUUsage.rst:14064 ../../../AMDGPUUsage.rst:14102 +#: ../../../AMDGPUUsage.rst:14158 ../../../AMDGPUUsage.rst:14219 +#: ../../../AMDGPUUsage.rst:14281 ../../../AMDGPUUsage.rst:14348 +#: ../../../AMDGPUUsage.rst:14408 ../../../AMDGPUUsage.rst:14480 +#: ../../../AMDGPUUsage.rst:14644 ../../../AMDGPUUsage.rst:14760 msgid "" "s_waitcnt vmcnt(0) must happen after any preceding global/generic load/load " "atomic/ atomicrmw-with-return-value." msgstr "" -#: ../../../AMDGPUUsage.rst:13341 ../../../AMDGPUUsage.rst:13384 -#: ../../../AMDGPUUsage.rst:13425 ../../../AMDGPUUsage.rst:13472 -#: ../../../AMDGPUUsage.rst:13515 ../../../AMDGPUUsage.rst:13553 -#: ../../../AMDGPUUsage.rst:13610 ../../../AMDGPUUsage.rst:13670 -#: ../../../AMDGPUUsage.rst:13732 ../../../AMDGPUUsage.rst:13799 -#: ../../../AMDGPUUsage.rst:13859 ../../../AMDGPUUsage.rst:13931 -#: ../../../AMDGPUUsage.rst:14003 ../../../AMDGPUUsage.rst:14096 -#: ../../../AMDGPUUsage.rst:14212 +#: ../../../AMDGPUUsage.rst:13896 ../../../AMDGPUUsage.rst:13939 +#: ../../../AMDGPUUsage.rst:13980 ../../../AMDGPUUsage.rst:14027 +#: ../../../AMDGPUUsage.rst:14070 ../../../AMDGPUUsage.rst:14108 +#: ../../../AMDGPUUsage.rst:14165 ../../../AMDGPUUsage.rst:14225 +#: ../../../AMDGPUUsage.rst:14287 ../../../AMDGPUUsage.rst:14354 +#: ../../../AMDGPUUsage.rst:14414 ../../../AMDGPUUsage.rst:14486 +#: ../../../AMDGPUUsage.rst:14558 ../../../AMDGPUUsage.rst:14651 +#: ../../../AMDGPUUsage.rst:14767 msgid "" "s_waitcnt vscnt(0) must happen after any preceding global/generic store/" "store atomic/ atomicrmw-no-return-value." msgstr "" -#: ../../../AMDGPUUsage.rst:13367 ../../../AMDGPUUsage.rst:13498 -#: ../../../AMDGPUUsage.rst:13782 ../../../AMDGPUUsage.rst:14398 +#: ../../../AMDGPUUsage.rst:13922 ../../../AMDGPUUsage.rst:14053 +#: ../../../AMDGPUUsage.rst:14337 ../../../AMDGPUUsage.rst:14953 msgid "s_waitcnt vmcnt(0) & vscnt(0)" msgstr "" -#: ../../../AMDGPUUsage.rst:13370 ../../../AMDGPUUsage.rst:13501 -#: ../../../AMDGPUUsage.rst:13785 ../../../AMDGPUUsage.rst:14400 +#: ../../../AMDGPUUsage.rst:13925 ../../../AMDGPUUsage.rst:14056 +#: ../../../AMDGPUUsage.rst:14340 ../../../AMDGPUUsage.rst:14955 msgid "" "Could be split into separate s_waitcnt vmcnt(0) and s_waitcnt vscnt(0) to " "allow them to be independently moved according to the following rules." msgstr "" -#: ../../../AMDGPUUsage.rst:13393 ../../../AMDGPUUsage.rst:13524 -#: ../../../AMDGPUUsage.rst:13808 ../../../AMDGPUUsage.rst:15469 -#: ../../../AMDGPUUsage.rst:15611 ../../../AMDGPUUsage.rst:15912 -#: ../../../AMDGPUUsage.rst:17527 ../../../AMDGPUUsage.rst:17668 -#: ../../../AMDGPUUsage.rst:17948 +#: ../../../AMDGPUUsage.rst:13948 ../../../AMDGPUUsage.rst:14079 +#: ../../../AMDGPUUsage.rst:14363 ../../../AMDGPUUsage.rst:16024 +#: ../../../AMDGPUUsage.rst:16166 ../../../AMDGPUUsage.rst:16467 +#: ../../../AMDGPUUsage.rst:18323 ../../../AMDGPUUsage.rst:18494 +#: ../../../AMDGPUUsage.rst:18834 msgid "" "Ensures that all global memory operations have completed before performing " "the store that is being released." msgstr "" -#: ../../../AMDGPUUsage.rst:13534 +#: ../../../AMDGPUUsage.rst:14089 msgid "s_waitcnt lgkmcnt(0) &" msgstr "" -#: ../../../AMDGPUUsage.rst:13534 +#: ../../../AMDGPUUsage.rst:14089 msgid "vmcnt(0) & vscnt(0)" msgstr "" -#: ../../../AMDGPUUsage.rst:13616 ../../../AMDGPUUsage.rst:14102 +#: ../../../AMDGPUUsage.rst:14171 ../../../AMDGPUUsage.rst:14657 msgid "" "s_waitcnt lgkmcnt(0) must happen after any preceding local/generic load/" "store/load atomic/store atomic/ atomicrmw." msgstr "" -#: ../../../AMDGPUUsage.rst:13717 ../../../AMDGPUUsage.rst:13988 -#: ../../../AMDGPUUsage.rst:14292 +#: ../../../AMDGPUUsage.rst:14272 ../../../AMDGPUUsage.rst:14543 +#: ../../../AMDGPUUsage.rst:14847 msgid "" "Could be split into separate s_waitcnt vmcnt(0), s_waitcnt vscnt(0), and " "s_waitcnt lgkmcnt(0) to allow them to be independently moved according to " "the following rules." msgstr "" -#: ../../../AMDGPUUsage.rst:13888 +#: ../../../AMDGPUUsage.rst:14443 msgid "" "If atomic with return, omit vscnt(0), if atomic with no-return, omit " "vmcnt(0)." msgstr "" -#: ../../../AMDGPUUsage.rst:13895 ../../../AMDGPUUsage.rst:16007 -#: ../../../AMDGPUUsage.rst:18025 +#: ../../../AMDGPUUsage.rst:14450 ../../../AMDGPUUsage.rst:16562 +#: ../../../AMDGPUUsage.rst:18911 msgid "" "Ensures any following global data read is no older than the load atomic " "value being acquired." msgstr "" -#: ../../../AMDGPUUsage.rst:13997 +#: ../../../AMDGPUUsage.rst:14552 msgid "" "s_waitcnt vmcnt(0) must happen after any preceding global/generic load/load " "atomic atomicrmw-with-return-value." msgstr "" -#: ../../../AMDGPUUsage.rst:14228 ../../../AMDGPUUsage.rst:16362 -#: ../../../AMDGPUUsage.rst:18340 +#: ../../../AMDGPUUsage.rst:14783 ../../../AMDGPUUsage.rst:16917 +#: ../../../AMDGPUUsage.rst:19324 msgid "" "Ensures that the preceding global/local/generic load atomic/atomicrmw with " "an equal or wider sync scope and memory ordering stronger than unordered " @@ -16704,7 +17838,7 @@ msgid "" "invalidating the caches. This satisfies the requirements of acquire." msgstr "" -#: ../../../AMDGPUUsage.rst:14317 ../../../AMDGPUUsage.rst:14516 +#: ../../../AMDGPUUsage.rst:14872 ../../../AMDGPUUsage.rst:15071 msgid "" "s_waitcnt vmcnt(0) must happen after preceding global/generic load atomic/ " "atomicrmw-with-return-value with memory ordering of seq_cst and with equal " @@ -16712,8 +17846,8 @@ msgid "" "vmcnt(0) and so do not need to be considered.)" msgstr "" -#: ../../../AMDGPUUsage.rst:14333 ../../../AMDGPUUsage.rst:14424 -#: ../../../AMDGPUUsage.rst:14532 +#: ../../../AMDGPUUsage.rst:14888 ../../../AMDGPUUsage.rst:14979 +#: ../../../AMDGPUUsage.rst:15087 msgid "" "s_waitcnt vscnt(0) Must happen after preceding global/generic store atomic/ " "atomicrmw-no-return-value with memory ordering of seq_cst and with equal or " @@ -16721,7 +17855,7 @@ msgid "" "vscnt(0) and so do not need to be considered.)" msgstr "" -#: ../../../AMDGPUUsage.rst:14408 +#: ../../../AMDGPUUsage.rst:14963 msgid "" "s_waitcnt vmcnt(0) Must happen after preceding global/generic load atomic/ " "atomicrmw-with-return-value with memory ordering of seq_cst and with equal " @@ -16729,7 +17863,7 @@ msgid "" "vmcnt(0) and so do not need to be considered.)" msgstr "" -#: ../../../AMDGPUUsage.rst:14500 +#: ../../../AMDGPUUsage.rst:15055 msgid "" "s_waitcnt lgkmcnt(0) must happen after preceding local load atomic/store " "atomic/atomicrmw with memory ordering of seq_cst and with equal or wider " @@ -16737,31 +17871,31 @@ msgid "" "and so do not need to be considered.)" msgstr "" -#: ../../../AMDGPUUsage.rst:14616 +#: ../../../AMDGPUUsage.rst:15171 msgid "Memory Model GFX12" msgstr "" -#: ../../../AMDGPUUsage.rst:14618 +#: ../../../AMDGPUUsage.rst:15173 msgid "For GFX12:" msgstr "" -#: ../../../AMDGPUUsage.rst:14624 ../../../AMDGPUUsage.rst:16759 +#: ../../../AMDGPUUsage.rst:15179 ../../../AMDGPUUsage.rst:17314 msgid "The wavefronts for a single work-group are executed in the same WGP." msgstr "" -#: ../../../AMDGPUUsage.rst:14627 +#: ../../../AMDGPUUsage.rst:15182 msgid "" "In CU wavefront execution mode the wavefronts may be executed by different " "SIMDs in the same CU." msgstr "" -#: ../../../AMDGPUUsage.rst:14629 +#: ../../../AMDGPUUsage.rst:15184 msgid "" "In WGP wavefront execution mode the wavefronts may be executed by different " "SIMDs in different CUs in the same WGP." msgstr "" -#: ../../../AMDGPUUsage.rst:14637 +#: ../../../AMDGPUUsage.rst:15192 msgid "" "The LDS memory has multiple request queues shared by the SIMDs of a WGP. " "Therefore, the LDS operations performed by different wavefronts of a work-" @@ -16773,7 +17907,7 @@ msgid "" "operations performed by the same wavefront." msgstr "" -#: ../../../AMDGPUUsage.rst:14645 +#: ../../../AMDGPUUsage.rst:15200 msgid "" "The vector memory operations are performed as wavefront wide operations. " "Vector memory operations are divided in different types. Completion of a " @@ -16782,27 +17916,27 @@ msgid "" "(and their associated ``s_wait`` instructions) are:" msgstr "" -#: ../../../AMDGPUUsage.rst:14651 +#: ../../../AMDGPUUsage.rst:15206 msgid "LDS: ``s_wait_dscnt``" msgstr "" -#: ../../../AMDGPUUsage.rst:14652 +#: ../../../AMDGPUUsage.rst:15207 msgid "Load (global, scratch, flat, buffer and image): ``s_wait_loadcnt``" msgstr "" -#: ../../../AMDGPUUsage.rst:14653 +#: ../../../AMDGPUUsage.rst:15208 msgid "Store (global, scratch, flat, buffer and image): ``s_wait_storecnt``" msgstr "" -#: ../../../AMDGPUUsage.rst:14654 +#: ../../../AMDGPUUsage.rst:15209 msgid "Sample and Gather4: ``s_wait_samplecnt``" msgstr "" -#: ../../../AMDGPUUsage.rst:14655 +#: ../../../AMDGPUUsage.rst:15210 msgid "BVH: ``s_wait_bvhcnt``" msgstr "" -#: ../../../AMDGPUUsage.rst:14657 +#: ../../../AMDGPUUsage.rst:15212 msgid "" "Vector and scalar memory instructions contain a ``SCOPE`` field with values " "corresponding to each cache level. The ``SCOPE`` determines whether a cache " @@ -16810,75 +17944,75 @@ msgid "" "operation to the next cache level. The ``SCOPE`` values are:" msgstr "" -#: ../../../AMDGPUUsage.rst:14662 +#: ../../../AMDGPUUsage.rst:15217 msgid "``SCOPE_CU``: Compute Unit (NOTE: not affected by CU/WGP mode)" msgstr "" -#: ../../../AMDGPUUsage.rst:14663 ../../../AMDGPUUsage.rst:16847 +#: ../../../AMDGPUUsage.rst:15218 ../../../AMDGPUUsage.rst:17402 msgid "``SCOPE_SE``: Shader Engine" msgstr "" -#: ../../../AMDGPUUsage.rst:14664 ../../../AMDGPUUsage.rst:16848 +#: ../../../AMDGPUUsage.rst:15219 ../../../AMDGPUUsage.rst:17403 msgid "``SCOPE_DEV``: Device/Agent" msgstr "" -#: ../../../AMDGPUUsage.rst:14665 ../../../AMDGPUUsage.rst:16849 +#: ../../../AMDGPUUsage.rst:15220 ../../../AMDGPUUsage.rst:17404 msgid "``SCOPE_SYS``: System" msgstr "" -#: ../../../AMDGPUUsage.rst:14667 +#: ../../../AMDGPUUsage.rst:15222 msgid "" "When a memory operation with a given ``SCOPE`` reaches a cache with a " "smaller ``SCOPE`` value, it is forwarded to the next level of cache." msgstr "" -#: ../../../AMDGPUUsage.rst:14669 +#: ../../../AMDGPUUsage.rst:15224 msgid "" "When a memory operation with a given ``SCOPE`` reaches a cache with a " "``SCOPE`` value greater than or equal to its own, the operation can proceed:" msgstr "" -#: ../../../AMDGPUUsage.rst:14672 +#: ../../../AMDGPUUsage.rst:15227 msgid "Reads can hit into the cache" msgstr "" -#: ../../../AMDGPUUsage.rst:14673 +#: ../../../AMDGPUUsage.rst:15228 msgid "" "Writes can happen in this cache and the transaction is acknowledged from " "this level of cache." msgstr "" -#: ../../../AMDGPUUsage.rst:14675 ../../../AMDGPUUsage.rst:16865 +#: ../../../AMDGPUUsage.rst:15230 ../../../AMDGPUUsage.rst:17420 msgid "RMW operations can be done locally." msgstr "" -#: ../../../AMDGPUUsage.rst:14677 +#: ../../../AMDGPUUsage.rst:15232 msgid "" "``global_inv``, ``global_wb`` and ``global_wbinv`` instructions are used to " "invalidate, write-back and write-back+invalidate caches. The affected " "cache(s) are controlled by the ``SCOPE:`` of the instruction." msgstr "" -#: ../../../AMDGPUUsage.rst:14680 +#: ../../../AMDGPUUsage.rst:15235 msgid "" "``global_inv`` invalidates caches whose scope is strictly smaller than the " "instruction's. The invalidation requests cannot be reordered with pending or " "upcoming memory operations." msgstr "" -#: ../../../AMDGPUUsage.rst:14683 +#: ../../../AMDGPUUsage.rst:15238 msgid "" "``global_wb`` is a writeback operation that additionally ensures previous " "memory operation done at a lower scope level have reached the ``SCOPE:`` of " "the ``global_wb``." msgstr "" -#: ../../../AMDGPUUsage.rst:14687 +#: ../../../AMDGPUUsage.rst:15242 msgid "" "``global_wb`` can be omitted for scopes other than ``SCOPE_SYS`` in gfx120x." msgstr "" -#: ../../../AMDGPUUsage.rst:14690 +#: ../../../AMDGPUUsage.rst:15245 msgid "" "The vector memory operations access a vector L0 cache. There is a single L0 " "cache per CU. Each SIMD of a CU accesses the same L0 cache. Therefore, no " @@ -16887,30 +18021,30 @@ msgid "" "work-group:" msgstr "" -#: ../../../AMDGPUUsage.rst:14696 +#: ../../../AMDGPUUsage.rst:15251 msgid "In CU wavefront execution mode, no special action is required." msgstr "" -#: ../../../AMDGPUUsage.rst:14697 +#: ../../../AMDGPUUsage.rst:15252 msgid "" "In WGP wavefront execution mode, a ``global_inv scope:SCOPE_SE`` is required " "as wavefronts may be executing on SIMDs of different CUs that access " "different L0s." msgstr "" -#: ../../../AMDGPUUsage.rst:14704 +#: ../../../AMDGPUUsage.rst:15259 msgid "" "The vector and scalar memory L0 caches use an L1 buffer shared by all WGPs " "on the same SA. The L1 buffer acts as a bridge to L2 for clients within a SA." msgstr "" -#: ../../../AMDGPUUsage.rst:14706 +#: ../../../AMDGPUUsage.rst:15261 msgid "" "The L1 buffers have independent quadrants to service disjoint ranges of " "virtual addresses." msgstr "" -#: ../../../AMDGPUUsage.rst:14708 +#: ../../../AMDGPUUsage.rst:15263 msgid "" "Each L0 cache has a separate request queue per L1 quadrant. Therefore, the " "vector and scalar memory operations performed by different wavefronts, " @@ -16924,35 +18058,35 @@ msgid "" "consistency." msgstr "" -#: ../../../AMDGPUUsage.rst:0 ../../../AMDGPUUsage.rst:14718 -#: ../../../AMDGPUUsage.rst:14736 ../../../AMDGPUUsage.rst:14842 -#: ../../../AMDGPUUsage.rst:14926 ../../../AMDGPUUsage.rst:15010 -#: ../../../AMDGPUUsage.rst:16968 ../../../AMDGPUUsage.rst:17061 -#: ../../../AMDGPUUsage.rst:17110 +#: ../../../AMDGPUUsage.rst:0 ../../../AMDGPUUsage.rst:15273 +#: ../../../AMDGPUUsage.rst:15291 ../../../AMDGPUUsage.rst:15397 +#: ../../../AMDGPUUsage.rst:15481 ../../../AMDGPUUsage.rst:15565 +#: ../../../AMDGPUUsage.rst:17534 ../../../AMDGPUUsage.rst:17627 +#: ../../../AMDGPUUsage.rst:17676 ../../../AMDGPUUsage.rst:17703 msgid "``s_wait_loadcnt 0x0``" msgstr "" -#: ../../../AMDGPUUsage.rst:0 ../../../AMDGPUUsage.rst:14719 -#: ../../../AMDGPUUsage.rst:14737 +#: ../../../AMDGPUUsage.rst:0 ../../../AMDGPUUsage.rst:15274 +#: ../../../AMDGPUUsage.rst:15292 msgid "``s_wait_samplecnt 0x0``" msgstr "" -#: ../../../AMDGPUUsage.rst:0 ../../../AMDGPUUsage.rst:14720 -#: ../../../AMDGPUUsage.rst:14738 +#: ../../../AMDGPUUsage.rst:0 ../../../AMDGPUUsage.rst:15275 +#: ../../../AMDGPUUsage.rst:15293 msgid "``s_wait_bvhcnt 0x0``" msgstr "" -#: ../../../AMDGPUUsage.rst:0 ../../../AMDGPUUsage.rst:14721 -#: ../../../AMDGPUUsage.rst:14739 ../../../AMDGPUUsage.rst:14871 -#: ../../../AMDGPUUsage.rst:16997 +#: ../../../AMDGPUUsage.rst:0 ../../../AMDGPUUsage.rst:15276 +#: ../../../AMDGPUUsage.rst:15294 ../../../AMDGPUUsage.rst:15426 +#: ../../../AMDGPUUsage.rst:17563 msgid "``s_wait_storecnt 0x0``" msgstr "" -#: ../../../AMDGPUUsage.rst:14723 +#: ../../../AMDGPUUsage.rst:15278 msgid "The L1 buffers use an L2 cache shared by all SAs on the same agent." msgstr "" -#: ../../../AMDGPUUsage.rst:14726 +#: ../../../AMDGPUUsage.rst:15281 msgid "" "Each L1 quadrant of a single SA accesses a different L2 channel. Each L1 " "quadrant has a separate request queue per L2 channel. Therefore, the vector " @@ -16965,24 +18099,24 @@ msgid "" "requirements of acquire, release and sequential consistency." msgstr "" -#: ../../../AMDGPUUsage.rst:14741 +#: ../../../AMDGPUUsage.rst:15296 msgid "" "The L2 cache can be kept coherent with other agents, or ranges of virtual " "addresses can be set up to bypass it to ensure system coherence." msgstr "" -#: ../../../AMDGPUUsage.rst:14743 +#: ../../../AMDGPUUsage.rst:15298 msgid "" "A memory attached last level (MALL) cache exists for GPU memory. The MALL " "cache is fully coherent with GPU memory and has no impact on system " "coherence. All agents (GPU and CPU) access GPU memory through the MALL cache." msgstr "" -#: ../../../AMDGPUUsage.rst:14758 +#: ../../../AMDGPUUsage.rst:15313 msgid "CP invalidates caches at the start of each kernel dispatch." msgstr "" -#: ../../../AMDGPUUsage.rst:14764 +#: ../../../AMDGPUUsage.rst:15319 msgid "" "Scratch backing memory (which is used for the private address space) is " "accessed with MTYPE NC (non-coherent). Since the private address space is " @@ -16990,157 +18124,158 @@ msgid "" "never a need to invalidate these entries from L0." msgstr "" -#: ../../../AMDGPUUsage.rst:14786 +#: ../../../AMDGPUUsage.rst:15341 msgid "" "The code sequences used to implement the memory model for GFX12 are defined " "in table :ref:`amdgpu-amdhsa-memory-model-code-sequences-gfx12-table`." msgstr "" -#: ../../../AMDGPUUsage.rst:14789 +#: ../../../AMDGPUUsage.rst:15344 msgid "" "The mapping of LLVM IR syncscope to GFX12 instruction ``scope`` operands is " "defined in :ref:`amdgpu-amdhsa-memory-model-code-sequences-gfx12-scopes-" "table`." msgstr "" -#: ../../../AMDGPUUsage.rst:14792 +#: ../../../AMDGPUUsage.rst:15347 msgid "" "The table only applies if and only if it is directly referenced by an entry " "in :ref:`amdgpu-amdhsa-memory-model-code-sequences-gfx12-table`, and it only " "applies to the instruction in the code sequence that references the table." msgstr "" -#: ../../../AMDGPUUsage.rst:14796 +#: ../../../AMDGPUUsage.rst:15351 msgid "AMDHSA Memory Model Code Sequences GFX12 - Instruction Scopes" msgstr "" -#: ../../../AMDGPUUsage.rst:14800 ../../../AMDGPUUsage.rst:16928 +#: ../../../AMDGPUUsage.rst:15355 ../../../AMDGPUUsage.rst:17494 msgid "LLVM syncscope" msgstr "" -#: ../../../AMDGPUUsage.rst:14800 +#: ../../../AMDGPUUsage.rst:15355 msgid "CU wavefront execution mode" msgstr "" -#: ../../../AMDGPUUsage.rst:14800 +#: ../../../AMDGPUUsage.rst:15355 msgid "WGP wavefront execution mode" msgstr "" -#: ../../../AMDGPUUsage.rst:14804 ../../../AMDGPUUsage.rst:14805 -#: ../../../AMDGPUUsage.rst:14810 ../../../AMDGPUUsage.rst:14811 -#: ../../../AMDGPUUsage.rst:16932 ../../../AMDGPUUsage.rst:16933 +#: ../../../AMDGPUUsage.rst:15359 ../../../AMDGPUUsage.rst:15360 +#: ../../../AMDGPUUsage.rst:15365 ../../../AMDGPUUsage.rst:15366 +#: ../../../AMDGPUUsage.rst:17498 ../../../AMDGPUUsage.rst:17499 msgid "``scope:SCOPE_SYS``" msgstr "" -#: ../../../AMDGPUUsage.rst:14806 ../../../AMDGPUUsage.rst:14812 -#: ../../../AMDGPUUsage.rst:16934 +#: ../../../AMDGPUUsage.rst:15361 ../../../AMDGPUUsage.rst:15367 +#: ../../../AMDGPUUsage.rst:17500 msgid "``scope:SCOPE_DEV``" msgstr "" -#: ../../../AMDGPUUsage.rst:14807 ../../../AMDGPUUsage.rst:14813 -#: ../../../AMDGPUUsage.rst:16935 +#: ../../../AMDGPUUsage.rst:15362 ../../../AMDGPUUsage.rst:15368 +#: ../../../AMDGPUUsage.rst:17501 msgid "``scope:SCOPE_SE``" msgstr "" -#: ../../../AMDGPUUsage.rst:14810 +#: ../../../AMDGPUUsage.rst:15365 msgid "one-as" msgstr "" -#: ../../../AMDGPUUsage.rst:14811 +#: ../../../AMDGPUUsage.rst:15366 msgid "system-one-as" msgstr "" -#: ../../../AMDGPUUsage.rst:14812 +#: ../../../AMDGPUUsage.rst:15367 msgid "agent-one-as" msgstr "" -#: ../../../AMDGPUUsage.rst:14813 +#: ../../../AMDGPUUsage.rst:15368 msgid "workgroup-one-as" msgstr "" -#: ../../../AMDGPUUsage.rst:14814 +#: ../../../AMDGPUUsage.rst:15369 msgid "wavefront-one-as" msgstr "" -#: ../../../AMDGPUUsage.rst:14815 +#: ../../../AMDGPUUsage.rst:15370 msgid "singlethread-one-as" msgstr "" -#: ../../../AMDGPUUsage.rst:14818 +#: ../../../AMDGPUUsage.rst:15373 msgid "AMDHSA Memory Model Code Sequences GFX12" msgstr "" -#: ../../../AMDGPUUsage.rst:14822 +#: ../../../AMDGPUUsage.rst:15377 msgid "AMDGPU Machine Code GFX12" msgstr "" -#: ../../../AMDGPUUsage.rst:14834 ../../../AMDGPUUsage.rst:16960 +#: ../../../AMDGPUUsage.rst:15389 ../../../AMDGPUUsage.rst:17526 msgid "buffer/global/flat_load ``th:TH_LOAD_NT``" msgstr "" -#: ../../../AMDGPUUsage.rst:14839 ../../../AMDGPUUsage.rst:16965 +#: ../../../AMDGPUUsage.rst:15394 ../../../AMDGPUUsage.rst:17531 msgid "buffer/global/flat_load ``scope:SCOPE_SYS``" msgstr "" -#: ../../../AMDGPUUsage.rst:14863 ../../../AMDGPUUsage.rst:16989 +#: ../../../AMDGPUUsage.rst:15418 ../../../AMDGPUUsage.rst:17555 msgid "buffer/global/flat_store ``th:TH_STORE_NT``" msgstr "" -#: ../../../AMDGPUUsage.rst:14868 ../../../AMDGPUUsage.rst:16994 +#: ../../../AMDGPUUsage.rst:15423 ../../../AMDGPUUsage.rst:17560 msgid "buffer/global/flat_store ``scope:SCOPE_SYS``" msgstr "" -#: ../../../AMDGPUUsage.rst:14895 ../../../AMDGPUUsage.rst:14903 -#: ../../../AMDGPUUsage.rst:14911 ../../../AMDGPUUsage.rst:14924 -#: ../../../AMDGPUUsage.rst:14975 ../../../AMDGPUUsage.rst:15008 -#: ../../../AMDGPUUsage.rst:15022 ../../../AMDGPUUsage.rst:15035 -#: ../../../AMDGPUUsage.rst:15051 ../../../AMDGPUUsage.rst:15067 -#: ../../../AMDGPUUsage.rst:15121 ../../../AMDGPUUsage.rst:15159 -#: ../../../AMDGPUUsage.rst:15178 ../../../AMDGPUUsage.rst:15191 -#: ../../../AMDGPUUsage.rst:15214 ../../../AMDGPUUsage.rst:15385 -#: ../../../AMDGPUUsage.rst:15439 ../../../AMDGPUUsage.rst:15529 -#: ../../../AMDGPUUsage.rst:15581 ../../../AMDGPUUsage.rst:15670 -#: ../../../AMDGPUUsage.rst:15855 ../../../AMDGPUUsage.rst:15990 -#: ../../../AMDGPUUsage.rst:16075 ../../../AMDGPUUsage.rst:16095 -#: ../../../AMDGPUUsage.rst:16157 ../../../AMDGPUUsage.rst:16182 -#: ../../../AMDGPUUsage.rst:16401 +#: ../../../AMDGPUUsage.rst:15450 ../../../AMDGPUUsage.rst:15458 +#: ../../../AMDGPUUsage.rst:15466 ../../../AMDGPUUsage.rst:15479 +#: ../../../AMDGPUUsage.rst:15530 ../../../AMDGPUUsage.rst:15563 +#: ../../../AMDGPUUsage.rst:15577 ../../../AMDGPUUsage.rst:15590 +#: ../../../AMDGPUUsage.rst:15606 ../../../AMDGPUUsage.rst:15622 +#: ../../../AMDGPUUsage.rst:15676 ../../../AMDGPUUsage.rst:15714 +#: ../../../AMDGPUUsage.rst:15733 ../../../AMDGPUUsage.rst:15746 +#: ../../../AMDGPUUsage.rst:15769 ../../../AMDGPUUsage.rst:15940 +#: ../../../AMDGPUUsage.rst:15994 ../../../AMDGPUUsage.rst:16084 +#: ../../../AMDGPUUsage.rst:16136 ../../../AMDGPUUsage.rst:16225 +#: ../../../AMDGPUUsage.rst:16410 ../../../AMDGPUUsage.rst:16545 +#: ../../../AMDGPUUsage.rst:16630 ../../../AMDGPUUsage.rst:16650 +#: ../../../AMDGPUUsage.rst:16712 ../../../AMDGPUUsage.rst:16737 +#: ../../../AMDGPUUsage.rst:16956 msgid "" "Apply :ref:`amdgpu-amdhsa-memory-model-code-sequences-gfx12-scopes-table`." msgstr "" -#: ../../../AMDGPUUsage.rst:14922 +#: ../../../AMDGPUUsage.rst:15477 msgid "buffer/global_load ``scope:SCOPE_SE``" msgstr "" -#: ../../../AMDGPUUsage.rst:14930 ../../../AMDGPUUsage.rst:14951 -#: ../../../AMDGPUUsage.rst:15078 +#: ../../../AMDGPUUsage.rst:15485 ../../../AMDGPUUsage.rst:15506 +#: ../../../AMDGPUUsage.rst:15633 msgid "" "Must happen before the following ``global_inv`` and before any following " "global/generic load/load atomic/store/store atomic/atomicrmw." msgstr "" -#: ../../../AMDGPUUsage.rst:14938 ../../../AMDGPUUsage.rst:14964 -#: ../../../AMDGPUUsage.rst:14997 ../../../AMDGPUUsage.rst:15086 -#: ../../../AMDGPUUsage.rst:15109 ../../../AMDGPUUsage.rst:15148 -#: ../../../AMDGPUUsage.rst:15302 ../../../AMDGPUUsage.rst:15874 -#: ../../../AMDGPUUsage.rst:15934 ../../../AMDGPUUsage.rst:16014 -#: ../../../AMDGPUUsage.rst:16302 +#: ../../../AMDGPUUsage.rst:15493 ../../../AMDGPUUsage.rst:15519 +#: ../../../AMDGPUUsage.rst:15552 ../../../AMDGPUUsage.rst:15641 +#: ../../../AMDGPUUsage.rst:15664 ../../../AMDGPUUsage.rst:15703 +#: ../../../AMDGPUUsage.rst:15857 ../../../AMDGPUUsage.rst:16429 +#: ../../../AMDGPUUsage.rst:16489 ../../../AMDGPUUsage.rst:16569 +#: ../../../AMDGPUUsage.rst:16857 msgid "``global_inv scope:SCOPE_SE``" msgstr "" -#: ../../../AMDGPUUsage.rst:0 ../../../AMDGPUUsage.rst:14948 -#: ../../../AMDGPUUsage.rst:15096 ../../../AMDGPUUsage.rst:15921 -#: ../../../AMDGPUUsage.rst:17071 ../../../AMDGPUUsage.rst:17192 -#: ../../../AMDGPUUsage.rst:17957 +#: ../../../AMDGPUUsage.rst:0 ../../../AMDGPUUsage.rst:15503 +#: ../../../AMDGPUUsage.rst:15651 ../../../AMDGPUUsage.rst:16476 +#: ../../../AMDGPUUsage.rst:17637 ../../../AMDGPUUsage.rst:17824 +#: ../../../AMDGPUUsage.rst:18843 msgid "``s_wait_dscnt 0x0``" msgstr "" -#: ../../../AMDGPUUsage.rst:14966 +#: ../../../AMDGPUUsage.rst:15521 msgid "If OpenCL or CU wavefront execution mode, omit." msgstr "" -#: ../../../AMDGPUUsage.rst:14973 ../../../AMDGPUUsage.rst:15033 -#: ../../../AMDGPUUsage.rst:17086 ../../../AMDGPUUsage.rst:17133 +#: ../../../AMDGPUUsage.rst:15528 ../../../AMDGPUUsage.rst:15588 +#: ../../../AMDGPUUsage.rst:17652 ../../../AMDGPUUsage.rst:17731 +#: ../../../AMDGPUUsage.rst:17760 msgid "flat_load" msgstr "" @@ -17148,47 +18283,53 @@ msgstr "" msgid "**CU wavefront execution mode:**" msgstr "" -#: ../../../AMDGPUUsage.rst:14982 ../../../AMDGPUUsage.rst:15040 -#: ../../../AMDGPUUsage.rst:15137 ../../../AMDGPUUsage.rst:15233 -#: ../../../AMDGPUUsage.rst:16003 ../../../AMDGPUUsage.rst:16033 -#: ../../../AMDGPUUsage.rst:16116 ../../../AMDGPUUsage.rst:16429 -#: ../../../AMDGPUUsage.rst:16627 ../../../AMDGPUUsage.rst:17093 -#: ../../../AMDGPUUsage.rst:17140 ../../../AMDGPUUsage.rst:17220 -#: ../../../AMDGPUUsage.rst:17311 ../../../AMDGPUUsage.rst:18024 -#: ../../../AMDGPUUsage.rst:18041 ../../../AMDGPUUsage.rst:18120 -#: ../../../AMDGPUUsage.rst:18405 ../../../AMDGPUUsage.rst:18595 +#: ../../../AMDGPUUsage.rst:15537 ../../../AMDGPUUsage.rst:15595 +#: ../../../AMDGPUUsage.rst:15692 ../../../AMDGPUUsage.rst:15788 +#: ../../../AMDGPUUsage.rst:16558 ../../../AMDGPUUsage.rst:16588 +#: ../../../AMDGPUUsage.rst:16671 ../../../AMDGPUUsage.rst:16984 +#: ../../../AMDGPUUsage.rst:17182 ../../../AMDGPUUsage.rst:17659 +#: ../../../AMDGPUUsage.rst:17738 ../../../AMDGPUUsage.rst:17767 +#: ../../../AMDGPUUsage.rst:17852 ../../../AMDGPUUsage.rst:18029 +#: ../../../AMDGPUUsage.rst:18910 ../../../AMDGPUUsage.rst:18957 +#: ../../../AMDGPUUsage.rst:19070 ../../../AMDGPUUsage.rst:19394 +#: ../../../AMDGPUUsage.rst:19584 msgid "If OpenCL, omit ``s_wait_dscnt 0x0``" msgstr "" -#: ../../../AMDGPUUsage.rst:14983 +#: ../../../AMDGPUUsage.rst:15538 msgid "" "Must happen before the following ``global_inv`` and any following global/" "generic load/load atomic/store/store atomic/atomicrmw." msgstr "" -#: ../../../AMDGPUUsage.rst:15012 ../../../AMDGPUUsage.rst:15041 -#: ../../../AMDGPUUsage.rst:15168 ../../../AMDGPUUsage.rst:16084 -#: ../../../AMDGPUUsage.rst:16171 ../../../AMDGPUUsage.rst:17112 -#: ../../../AMDGPUUsage.rst:17141 ../../../AMDGPUUsage.rst:17244 -#: ../../../AMDGPUUsage.rst:18090 ../../../AMDGPUUsage.rst:18173 +#: ../../../AMDGPUUsage.rst:15567 ../../../AMDGPUUsage.rst:15596 +#: ../../../AMDGPUUsage.rst:15723 ../../../AMDGPUUsage.rst:16639 +#: ../../../AMDGPUUsage.rst:16726 ../../../AMDGPUUsage.rst:17678 +#: ../../../AMDGPUUsage.rst:17705 ../../../AMDGPUUsage.rst:17739 +#: ../../../AMDGPUUsage.rst:17768 ../../../AMDGPUUsage.rst:17876 +#: ../../../AMDGPUUsage.rst:17913 ../../../AMDGPUUsage.rst:19006 +#: ../../../AMDGPUUsage.rst:19123 msgid "Must happen before following ``global_inv``." msgstr "" -#: ../../../AMDGPUUsage.rst:15020 ../../../AMDGPUUsage.rst:15049 -#: ../../../AMDGPUUsage.rst:15176 ../../../AMDGPUUsage.rst:15212 -#: ../../../AMDGPUUsage.rst:15383 ../../../AMDGPUUsage.rst:16093 -#: ../../../AMDGPUUsage.rst:16180 ../../../AMDGPUUsage.rst:17120 -#: ../../../AMDGPUUsage.rst:17149 ../../../AMDGPUUsage.rst:17252 -#: ../../../AMDGPUUsage.rst:17292 ../../../AMDGPUUsage.rst:17438 -#: ../../../AMDGPUUsage.rst:18099 ../../../AMDGPUUsage.rst:18182 -#: ../../../AMDGPUUsage.rst:18377 +#: ../../../AMDGPUUsage.rst:15575 ../../../AMDGPUUsage.rst:15604 +#: ../../../AMDGPUUsage.rst:15731 ../../../AMDGPUUsage.rst:15767 +#: ../../../AMDGPUUsage.rst:15938 ../../../AMDGPUUsage.rst:16648 +#: ../../../AMDGPUUsage.rst:16735 ../../../AMDGPUUsage.rst:17686 +#: ../../../AMDGPUUsage.rst:17713 ../../../AMDGPUUsage.rst:17747 +#: ../../../AMDGPUUsage.rst:17776 ../../../AMDGPUUsage.rst:17884 +#: ../../../AMDGPUUsage.rst:17921 ../../../AMDGPUUsage.rst:17965 +#: ../../../AMDGPUUsage.rst:18005 ../../../AMDGPUUsage.rst:18156 +#: ../../../AMDGPUUsage.rst:18229 ../../../AMDGPUUsage.rst:19015 +#: ../../../AMDGPUUsage.rst:19132 ../../../AMDGPUUsage.rst:19361 msgid "``global_inv``" msgstr "" -#: ../../../AMDGPUUsage.rst:15068 ../../../AMDGPUUsage.rst:15122 -#: ../../../AMDGPUUsage.rst:15160 ../../../AMDGPUUsage.rst:15192 -#: ../../../AMDGPUUsage.rst:17177 ../../../AMDGPUUsage.rst:17210 -#: ../../../AMDGPUUsage.rst:17236 ../../../AMDGPUUsage.rst:17272 +#: ../../../AMDGPUUsage.rst:15623 ../../../AMDGPUUsage.rst:15677 +#: ../../../AMDGPUUsage.rst:15715 ../../../AMDGPUUsage.rst:15747 +#: ../../../AMDGPUUsage.rst:17809 ../../../AMDGPUUsage.rst:17842 +#: ../../../AMDGPUUsage.rst:17868 ../../../AMDGPUUsage.rst:17905 +#: ../../../AMDGPUUsage.rst:17945 ../../../AMDGPUUsage.rst:17985 msgid "If atomic with return, use ``th:TH_ATOMIC_RETURN``" msgstr "" @@ -17200,66 +18341,74 @@ msgstr "" msgid "**Atomic without return:**" msgstr "" -#: ../../../AMDGPUUsage.rst:15099 ../../../AMDGPUUsage.rst:15138 -#: ../../../AMDGPUUsage.rst:15286 ../../../AMDGPUUsage.rst:15864 -#: ../../../AMDGPUUsage.rst:15924 ../../../AMDGPUUsage.rst:16004 -#: ../../../AMDGPUUsage.rst:16286 +#: ../../../AMDGPUUsage.rst:15654 ../../../AMDGPUUsage.rst:15693 +#: ../../../AMDGPUUsage.rst:15841 ../../../AMDGPUUsage.rst:16419 +#: ../../../AMDGPUUsage.rst:16479 ../../../AMDGPUUsage.rst:16559 +#: ../../../AMDGPUUsage.rst:16841 msgid "Must happen before the following ``global_inv``." msgstr "" -#: ../../../AMDGPUUsage.rst:15132 +#: ../../../AMDGPUUsage.rst:15687 msgid "" "If CU wavefront execution mode, omit all for atomics without return, and " "only emit ``s_wait_dscnt 0x0`` for atomics with return." msgstr "" -#: ../../../AMDGPUUsage.rst:15202 ../../../AMDGPUUsage.rst:17282 +#: ../../../AMDGPUUsage.rst:15757 ../../../AMDGPUUsage.rst:17955 +#: ../../../AMDGPUUsage.rst:17995 msgid "If OpenCL, omit dscnt" msgstr "" -#: ../../../AMDGPUUsage.rst:15203 ../../../AMDGPUUsage.rst:17283 +#: ../../../AMDGPUUsage.rst:15758 ../../../AMDGPUUsage.rst:17956 +#: ../../../AMDGPUUsage.rst:17996 msgid "Must happen before following global_inv" msgstr "" -#: ../../../AMDGPUUsage.rst:15234 ../../../AMDGPUUsage.rst:15316 -#: ../../../AMDGPUUsage.rst:15681 ../../../AMDGPUUsage.rst:15748 -#: ../../../AMDGPUUsage.rst:17312 ../../../AMDGPUUsage.rst:17377 -#: ../../../AMDGPUUsage.rst:17737 ../../../AMDGPUUsage.rst:17798 +#: ../../../AMDGPUUsage.rst:15789 ../../../AMDGPUUsage.rst:15871 +#: ../../../AMDGPUUsage.rst:16236 ../../../AMDGPUUsage.rst:16303 +#: ../../../AMDGPUUsage.rst:18030 ../../../AMDGPUUsage.rst:18095 +#: ../../../AMDGPUUsage.rst:18168 ../../../AMDGPUUsage.rst:18593 +#: ../../../AMDGPUUsage.rst:18684 msgid "If OpenCL and address space is local, omit all." msgstr "" -#: ../../../AMDGPUUsage.rst:15239 ../../../AMDGPUUsage.rst:15321 +#: ../../../AMDGPUUsage.rst:15794 ../../../AMDGPUUsage.rst:15876 msgid "" "Note: we don't have to use ``s_wait_samplecnt 0x0`` or ``s_wait_bvhcnt 0x0`` " "because there are no atomic sample or BVH instructions that the fence could " "pair with." msgstr "" -#: ../../../AMDGPUUsage.rst:15245 ../../../AMDGPUUsage.rst:15327 -#: ../../../AMDGPUUsage.rst:15403 ../../../AMDGPUUsage.rst:15448 -#: ../../../AMDGPUUsage.rst:15489 ../../../AMDGPUUsage.rst:15543 -#: ../../../AMDGPUUsage.rst:15590 ../../../AMDGPUUsage.rst:15631 -#: ../../../AMDGPUUsage.rst:15687 ../../../AMDGPUUsage.rst:15753 -#: ../../../AMDGPUUsage.rst:15816 ../../../AMDGPUUsage.rst:15890 -#: ../../../AMDGPUUsage.rst:15951 ../../../AMDGPUUsage.rst:16035 -#: ../../../AMDGPUUsage.rst:16118 ../../../AMDGPUUsage.rst:16212 -#: ../../../AMDGPUUsage.rst:16332 ../../../AMDGPUUsage.rst:16431 -#: ../../../AMDGPUUsage.rst:16536 ../../../AMDGPUUsage.rst:16629 -#: ../../../AMDGPUUsage.rst:17317 ../../../AMDGPUUsage.rst:17382 -#: ../../../AMDGPUUsage.rst:17460 ../../../AMDGPUUsage.rst:17508 -#: ../../../AMDGPUUsage.rst:17545 ../../../AMDGPUUsage.rst:17601 -#: ../../../AMDGPUUsage.rst:17649 ../../../AMDGPUUsage.rst:17686 -#: ../../../AMDGPUUsage.rst:17743 ../../../AMDGPUUsage.rst:17803 -#: ../../../AMDGPUUsage.rst:17865 ../../../AMDGPUUsage.rst:17928 -#: ../../../AMDGPUUsage.rst:17972 ../../../AMDGPUUsage.rst:18043 -#: ../../../AMDGPUUsage.rst:18122 ../../../AMDGPUUsage.rst:18212 -#: ../../../AMDGPUUsage.rst:18316 ../../../AMDGPUUsage.rst:18407 -#: ../../../AMDGPUUsage.rst:18508 ../../../AMDGPUUsage.rst:18597 +#: ../../../AMDGPUUsage.rst:15800 ../../../AMDGPUUsage.rst:15882 +#: ../../../AMDGPUUsage.rst:15958 ../../../AMDGPUUsage.rst:16003 +#: ../../../AMDGPUUsage.rst:16044 ../../../AMDGPUUsage.rst:16098 +#: ../../../AMDGPUUsage.rst:16145 ../../../AMDGPUUsage.rst:16186 +#: ../../../AMDGPUUsage.rst:16242 ../../../AMDGPUUsage.rst:16308 +#: ../../../AMDGPUUsage.rst:16371 ../../../AMDGPUUsage.rst:16445 +#: ../../../AMDGPUUsage.rst:16506 ../../../AMDGPUUsage.rst:16590 +#: ../../../AMDGPUUsage.rst:16673 ../../../AMDGPUUsage.rst:16767 +#: ../../../AMDGPUUsage.rst:16887 ../../../AMDGPUUsage.rst:16986 +#: ../../../AMDGPUUsage.rst:17091 ../../../AMDGPUUsage.rst:17184 +#: ../../../AMDGPUUsage.rst:18035 ../../../AMDGPUUsage.rst:18100 +#: ../../../AMDGPUUsage.rst:18173 ../../../AMDGPUUsage.rst:18256 +#: ../../../AMDGPUUsage.rst:18304 ../../../AMDGPUUsage.rst:18335 +#: ../../../AMDGPUUsage.rst:18371 ../../../AMDGPUUsage.rst:18427 +#: ../../../AMDGPUUsage.rst:18475 ../../../AMDGPUUsage.rst:18506 +#: ../../../AMDGPUUsage.rst:18542 ../../../AMDGPUUsage.rst:18599 +#: ../../../AMDGPUUsage.rst:18645 ../../../AMDGPUUsage.rst:18689 +#: ../../../AMDGPUUsage.rst:18751 ../../../AMDGPUUsage.rst:18814 +#: ../../../AMDGPUUsage.rst:18858 ../../../AMDGPUUsage.rst:18922 +#: ../../../AMDGPUUsage.rst:18959 ../../../AMDGPUUsage.rst:19036 +#: ../../../AMDGPUUsage.rst:19072 ../../../AMDGPUUsage.rst:19167 +#: ../../../AMDGPUUsage.rst:19255 ../../../AMDGPUUsage.rst:19300 +#: ../../../AMDGPUUsage.rst:19396 ../../../AMDGPUUsage.rst:19497 +#: ../../../AMDGPUUsage.rst:19586 msgid "The waits can be independently moved according to the following rules:" msgstr "" -#: ../../../AMDGPUUsage.rst:15249 ../../../AMDGPUUsage.rst:15331 -#: ../../../AMDGPUUsage.rst:17321 ../../../AMDGPUUsage.rst:17386 +#: ../../../AMDGPUUsage.rst:15804 ../../../AMDGPUUsage.rst:15886 +#: ../../../AMDGPUUsage.rst:18039 ../../../AMDGPUUsage.rst:18104 +#: ../../../AMDGPUUsage.rst:18177 msgid "" "``s_wait_loadcnt 0x0`` must happen after any preceding global/generic load " "atomic/ atomicrmw-with-return-value with an equal or wider sync scope and " @@ -17267,117 +18416,124 @@ msgid "" "atomic)." msgstr "" -#: ../../../AMDGPUUsage.rst:15262 ../../../AMDGPUUsage.rst:15344 -#: ../../../AMDGPUUsage.rst:17334 ../../../AMDGPUUsage.rst:17399 +#: ../../../AMDGPUUsage.rst:15817 ../../../AMDGPUUsage.rst:15899 +#: ../../../AMDGPUUsage.rst:18052 ../../../AMDGPUUsage.rst:18117 +#: ../../../AMDGPUUsage.rst:18190 msgid "" "``s_wait_storecnt 0x0`` must happen after any preceding global/generic " "atomicrmw-no-return-value with an equal or wider sync scope and memory " "ordering stronger than unordered (this is termed the fence-paired-atomic)." msgstr "" -#: ../../../AMDGPUUsage.rst:15274 ../../../AMDGPUUsage.rst:15356 -#: ../../../AMDGPUUsage.rst:17346 ../../../AMDGPUUsage.rst:17411 +#: ../../../AMDGPUUsage.rst:15829 ../../../AMDGPUUsage.rst:15911 +#: ../../../AMDGPUUsage.rst:18064 ../../../AMDGPUUsage.rst:18129 +#: ../../../AMDGPUUsage.rst:18202 msgid "" "``s_wait_dscnt 0x0`` must happen after any preceding local/generic load " "atomic/atomicrmw with an equal or wider sync scope and memory ordering " "stronger than unordered (this is termed the fence-paired-atomic)." msgstr "" -#: ../../../AMDGPUUsage.rst:15315 ../../../AMDGPUUsage.rst:15402 -#: ../../../AMDGPUUsage.rst:15488 ../../../AMDGPUUsage.rst:15540 -#: ../../../AMDGPUUsage.rst:15630 ../../../AMDGPUUsage.rst:15680 -#: ../../../AMDGPUUsage.rst:15809 ../../../AMDGPUUsage.rst:16169 -#: ../../../AMDGPUUsage.rst:17376 ../../../AMDGPUUsage.rst:17459 -#: ../../../AMDGPUUsage.rst:17544 ../../../AMDGPUUsage.rst:17600 -#: ../../../AMDGPUUsage.rst:17685 ../../../AMDGPUUsage.rst:17736 -#: ../../../AMDGPUUsage.rst:17858 ../../../AMDGPUUsage.rst:18171 +#: ../../../AMDGPUUsage.rst:15870 ../../../AMDGPUUsage.rst:15957 +#: ../../../AMDGPUUsage.rst:16043 ../../../AMDGPUUsage.rst:16095 +#: ../../../AMDGPUUsage.rst:16185 ../../../AMDGPUUsage.rst:16235 +#: ../../../AMDGPUUsage.rst:16364 ../../../AMDGPUUsage.rst:16724 +#: ../../../AMDGPUUsage.rst:18094 ../../../AMDGPUUsage.rst:18167 +#: ../../../AMDGPUUsage.rst:18255 ../../../AMDGPUUsage.rst:18370 +#: ../../../AMDGPUUsage.rst:18426 ../../../AMDGPUUsage.rst:18541 +#: ../../../AMDGPUUsage.rst:18592 ../../../AMDGPUUsage.rst:18744 +#: ../../../AMDGPUUsage.rst:19121 msgid "If OpenCL, omit ``s_wait_dscnt 0x0``." msgstr "" -#: ../../../AMDGPUUsage.rst:15368 ../../../AMDGPUUsage.rst:16359 -#: ../../../AMDGPUUsage.rst:17423 ../../../AMDGPUUsage.rst:18337 +#: ../../../AMDGPUUsage.rst:15923 ../../../AMDGPUUsage.rst:16914 +#: ../../../AMDGPUUsage.rst:18141 ../../../AMDGPUUsage.rst:18214 +#: ../../../AMDGPUUsage.rst:19321 msgid "Must happen before the following ``global_inv``" msgstr "" -#: ../../../AMDGPUUsage.rst:15407 ../../../AMDGPUUsage.rst:15452 -#: ../../../AMDGPUUsage.rst:15493 ../../../AMDGPUUsage.rst:15547 -#: ../../../AMDGPUUsage.rst:15594 ../../../AMDGPUUsage.rst:15635 -#: ../../../AMDGPUUsage.rst:15691 ../../../AMDGPUUsage.rst:15757 -#: ../../../AMDGPUUsage.rst:15820 ../../../AMDGPUUsage.rst:15894 -#: ../../../AMDGPUUsage.rst:15955 ../../../AMDGPUUsage.rst:16039 -#: ../../../AMDGPUUsage.rst:16216 ../../../AMDGPUUsage.rst:16336 +#: ../../../AMDGPUUsage.rst:15962 ../../../AMDGPUUsage.rst:16007 +#: ../../../AMDGPUUsage.rst:16048 ../../../AMDGPUUsage.rst:16102 +#: ../../../AMDGPUUsage.rst:16149 ../../../AMDGPUUsage.rst:16190 +#: ../../../AMDGPUUsage.rst:16246 ../../../AMDGPUUsage.rst:16312 +#: ../../../AMDGPUUsage.rst:16375 ../../../AMDGPUUsage.rst:16449 +#: ../../../AMDGPUUsage.rst:16510 ../../../AMDGPUUsage.rst:16594 +#: ../../../AMDGPUUsage.rst:16771 ../../../AMDGPUUsage.rst:16891 msgid "" "``s_wait_loadcnt 0x0``, ``s_wait_samplecnt 0x0`` and ``s_wait_bvhcnt 0x0`` " "must happen after any preceding global/generic load/load atomic/ atomicrmw-" "with-return-value." msgstr "" -#: ../../../AMDGPUUsage.rst:15415 ../../../AMDGPUUsage.rst:15460 -#: ../../../AMDGPUUsage.rst:15555 ../../../AMDGPUUsage.rst:15602 -#: ../../../AMDGPUUsage.rst:15700 ../../../AMDGPUUsage.rst:15828 -#: ../../../AMDGPUUsage.rst:15902 ../../../AMDGPUUsage.rst:15963 -#: ../../../AMDGPUUsage.rst:16225 ../../../AMDGPUUsage.rst:17470 -#: ../../../AMDGPUUsage.rst:17518 ../../../AMDGPUUsage.rst:17611 -#: ../../../AMDGPUUsage.rst:17659 ../../../AMDGPUUsage.rst:17754 -#: ../../../AMDGPUUsage.rst:17875 ../../../AMDGPUUsage.rst:17938 -#: ../../../AMDGPUUsage.rst:17982 ../../../AMDGPUUsage.rst:18223 +#: ../../../AMDGPUUsage.rst:15970 ../../../AMDGPUUsage.rst:16015 +#: ../../../AMDGPUUsage.rst:16110 ../../../AMDGPUUsage.rst:16157 +#: ../../../AMDGPUUsage.rst:16255 ../../../AMDGPUUsage.rst:16383 +#: ../../../AMDGPUUsage.rst:16457 ../../../AMDGPUUsage.rst:16518 +#: ../../../AMDGPUUsage.rst:16780 ../../../AMDGPUUsage.rst:18266 +#: ../../../AMDGPUUsage.rst:18314 ../../../AMDGPUUsage.rst:18345 +#: ../../../AMDGPUUsage.rst:18437 ../../../AMDGPUUsage.rst:18485 +#: ../../../AMDGPUUsage.rst:18516 ../../../AMDGPUUsage.rst:18610 +#: ../../../AMDGPUUsage.rst:18655 ../../../AMDGPUUsage.rst:18761 +#: ../../../AMDGPUUsage.rst:18824 ../../../AMDGPUUsage.rst:18868 +#: ../../../AMDGPUUsage.rst:18932 ../../../AMDGPUUsage.rst:19046 +#: ../../../AMDGPUUsage.rst:19178 ../../../AMDGPUUsage.rst:19265 msgid "" "``s_wait_storecnt 0x0`` must happen after any preceding global/generic store/" "store atomic/ atomicrmw-no-return-value." msgstr "" -#: ../../../AMDGPUUsage.rst:15422 ../../../AMDGPUUsage.rst:15510 -#: ../../../AMDGPUUsage.rst:15562 ../../../AMDGPUUsage.rst:15651 -#: ../../../AMDGPUUsage.rst:15773 ../../../AMDGPUUsage.rst:15835 -#: ../../../AMDGPUUsage.rst:15970 ../../../AMDGPUUsage.rst:16055 -#: ../../../AMDGPUUsage.rst:16137 ../../../AMDGPUUsage.rst:16352 -#: ../../../AMDGPUUsage.rst:17477 ../../../AMDGPUUsage.rst:17564 -#: ../../../AMDGPUUsage.rst:17618 ../../../AMDGPUUsage.rst:17704 -#: ../../../AMDGPUUsage.rst:17821 ../../../AMDGPUUsage.rst:17882 -#: ../../../AMDGPUUsage.rst:17989 ../../../AMDGPUUsage.rst:18056 -#: ../../../AMDGPUUsage.rst:18135 ../../../AMDGPUUsage.rst:18330 +#: ../../../AMDGPUUsage.rst:15977 ../../../AMDGPUUsage.rst:16065 +#: ../../../AMDGPUUsage.rst:16117 ../../../AMDGPUUsage.rst:16206 +#: ../../../AMDGPUUsage.rst:16328 ../../../AMDGPUUsage.rst:16390 +#: ../../../AMDGPUUsage.rst:16525 ../../../AMDGPUUsage.rst:16610 +#: ../../../AMDGPUUsage.rst:16692 ../../../AMDGPUUsage.rst:16907 +#: ../../../AMDGPUUsage.rst:18273 ../../../AMDGPUUsage.rst:18390 +#: ../../../AMDGPUUsage.rst:18444 ../../../AMDGPUUsage.rst:18560 +#: ../../../AMDGPUUsage.rst:18707 ../../../AMDGPUUsage.rst:18768 +#: ../../../AMDGPUUsage.rst:18875 ../../../AMDGPUUsage.rst:18972 +#: ../../../AMDGPUUsage.rst:19085 ../../../AMDGPUUsage.rst:19314 msgid "" "``s_wait_dscnt 0x0`` must happen after any preceding local/generic load/" "store/load atomic/store atomic/atomicrmw." msgstr "" -#: ../../../AMDGPUUsage.rst:15478 ../../../AMDGPUUsage.rst:15620 -#: ../../../AMDGPUUsage.rst:15732 ../../../AMDGPUUsage.rst:16023 -#: ../../../AMDGPUUsage.rst:16106 ../../../AMDGPUUsage.rst:16311 +#: ../../../AMDGPUUsage.rst:16033 ../../../AMDGPUUsage.rst:16175 +#: ../../../AMDGPUUsage.rst:16287 ../../../AMDGPUUsage.rst:16578 +#: ../../../AMDGPUUsage.rst:16661 ../../../AMDGPUUsage.rst:16866 msgid "``global_wb scope:SCOPE_SYS``" msgstr "" -#: ../../../AMDGPUUsage.rst:15480 ../../../AMDGPUUsage.rst:15622 -#: ../../../AMDGPUUsage.rst:15734 ../../../AMDGPUUsage.rst:16025 -#: ../../../AMDGPUUsage.rst:16108 ../../../AMDGPUUsage.rst:16313 +#: ../../../AMDGPUUsage.rst:16035 ../../../AMDGPUUsage.rst:16177 +#: ../../../AMDGPUUsage.rst:16289 ../../../AMDGPUUsage.rst:16580 +#: ../../../AMDGPUUsage.rst:16663 ../../../AMDGPUUsage.rst:16868 msgid "If agent scope, omit." msgstr "" -#: ../../../AMDGPUUsage.rst:15502 ../../../AMDGPUUsage.rst:15643 -#: ../../../AMDGPUUsage.rst:15765 ../../../AMDGPUUsage.rst:16047 -#: ../../../AMDGPUUsage.rst:16130 ../../../AMDGPUUsage.rst:16345 +#: ../../../AMDGPUUsage.rst:16057 ../../../AMDGPUUsage.rst:16198 +#: ../../../AMDGPUUsage.rst:16320 ../../../AMDGPUUsage.rst:16602 +#: ../../../AMDGPUUsage.rst:16685 ../../../AMDGPUUsage.rst:16900 msgid "" "``s_wait_storecnt 0x0`` must happen after ``global_wb`` if present, or any " "preceding global/generic store/store atomic/ atomicrmw-no-return-value." msgstr "" -#: ../../../AMDGPUUsage.rst:15541 +#: ../../../AMDGPUUsage.rst:16096 msgid "If OpenCL and CU wavefront execution mode, omit all." msgstr "" -#: ../../../AMDGPUUsage.rst:15569 ../../../AMDGPUUsage.rst:15609 -#: ../../../AMDGPUUsage.rst:15658 ../../../AMDGPUUsage.rst:17625 -#: ../../../AMDGPUUsage.rst:17666 ../../../AMDGPUUsage.rst:17711 +#: ../../../AMDGPUUsage.rst:16124 ../../../AMDGPUUsage.rst:16164 +#: ../../../AMDGPUUsage.rst:16213 ../../../AMDGPUUsage.rst:18451 +#: ../../../AMDGPUUsage.rst:18492 ../../../AMDGPUUsage.rst:18567 msgid "Must happen before the following atomic." msgstr "" -#: ../../../AMDGPUUsage.rst:15589 ../../../AMDGPUUsage.rst:16535 -#: ../../../AMDGPUUsage.rst:17648 ../../../AMDGPUUsage.rst:18507 +#: ../../../AMDGPUUsage.rst:16144 ../../../AMDGPUUsage.rst:17090 +#: ../../../AMDGPUUsage.rst:18474 ../../../AMDGPUUsage.rst:19496 msgid "If OpenCL, omit all." msgstr "" -#: ../../../AMDGPUUsage.rst:15707 ../../../AMDGPUUsage.rst:16231 -#: ../../../AMDGPUUsage.rst:17761 ../../../AMDGPUUsage.rst:18229 +#: ../../../AMDGPUUsage.rst:16262 ../../../AMDGPUUsage.rst:16786 +#: ../../../AMDGPUUsage.rst:18617 ../../../AMDGPUUsage.rst:19184 msgid "" "``s_wait_dscnt 0x0`` must happen after any preceding local/generic load/" "store/load atomic/store atomic/ atomicrmw." @@ -17387,48 +18543,48 @@ msgstr "" msgid "**OpenCL:**" msgstr "" -#: ../../../AMDGPUUsage.rst:15747 ../../../AMDGPUUsage.rst:17797 +#: ../../../AMDGPUUsage.rst:16302 ../../../AMDGPUUsage.rst:18683 msgid "If OpenCl, omit ``s_wait_dscnt 0x0``." msgstr "" -#: ../../../AMDGPUUsage.rst:15856 ../../../AMDGPUUsage.rst:15991 -#: ../../../AMDGPUUsage.rst:16076 ../../../AMDGPUUsage.rst:16158 -#: ../../../AMDGPUUsage.rst:17908 ../../../AMDGPUUsage.rst:18014 -#: ../../../AMDGPUUsage.rst:18082 ../../../AMDGPUUsage.rst:18160 +#: ../../../AMDGPUUsage.rst:16411 ../../../AMDGPUUsage.rst:16546 +#: ../../../AMDGPUUsage.rst:16631 ../../../AMDGPUUsage.rst:16713 +#: ../../../AMDGPUUsage.rst:18794 ../../../AMDGPUUsage.rst:18900 +#: ../../../AMDGPUUsage.rst:18998 ../../../AMDGPUUsage.rst:19110 msgid "If atomic with return, use ``th:TH_ATOMIC_RETURN``." msgstr "" -#: ../../../AMDGPUUsage.rst:15918 +#: ../../../AMDGPUUsage.rst:16473 msgid "1 | ``s_wait_bvhcnt 0x0``" msgstr "" -#: ../../../AMDGPUUsage.rst:15950 ../../../AMDGPUUsage.rst:17971 +#: ../../../AMDGPUUsage.rst:16505 ../../../AMDGPUUsage.rst:18857 msgid "If OpenCL, omit ``s_wait_loadcnt 0x0``." msgstr "" -#: ../../../AMDGPUUsage.rst:16122 +#: ../../../AMDGPUUsage.rst:16677 msgid "" "``s_wait_loadcnt 0x0``, ``s_wait_samplecnt 0x0`` and ``s_wait_bvhcnt 0x0`` " "must happen after any preceding global/generic load/load atomic atomicrmw-" "with-return-value." msgstr "" -#: ../../../AMDGPUUsage.rst:16201 ../../../AMDGPUUsage.rst:16321 -#: ../../../AMDGPUUsage.rst:18201 ../../../AMDGPUUsage.rst:18305 +#: ../../../AMDGPUUsage.rst:16756 ../../../AMDGPUUsage.rst:16876 +#: ../../../AMDGPUUsage.rst:19156 ../../../AMDGPUUsage.rst:19289 msgid "If OpenCL and address space is not generic, omit ``s_wait_dscnt 0x0``" msgstr "" -#: ../../../AMDGPUUsage.rst:16205 ../../../AMDGPUUsage.rst:16325 -#: ../../../AMDGPUUsage.rst:18205 ../../../AMDGPUUsage.rst:18309 +#: ../../../AMDGPUUsage.rst:16760 ../../../AMDGPUUsage.rst:16880 +#: ../../../AMDGPUUsage.rst:19160 ../../../AMDGPUUsage.rst:19293 msgid "" "If OpenCL and address space is local, omit all but ``s_wait_dscnt 0x0``." msgstr "" -#: ../../../AMDGPUUsage.rst:16399 +#: ../../../AMDGPUUsage.rst:16954 msgid "``global_inv scope:``" msgstr "" -#: ../../../AMDGPUUsage.rst:16435 ../../../AMDGPUUsage.rst:18411 +#: ../../../AMDGPUUsage.rst:16990 ../../../AMDGPUUsage.rst:19400 msgid "" "``s_wait_dscnt 0x0`` must happen after preceding local/generic load atomic/" "store atomic/atomicrmw with memory ordering of seq_cst and with equal or " @@ -17436,7 +18592,7 @@ msgid "" "0x0`` and so do not need to be considered.)" msgstr "" -#: ../../../AMDGPUUsage.rst:16450 +#: ../../../AMDGPUUsage.rst:17005 msgid "" "``s_wait_loadcnt 0x0``\\, ``s_wait_samplecnt 0x0`` and ``s_wait_bvhcnt 0x0`` " "must happen after preceding global/generic load atomic/ atomicrmw-with-" @@ -17445,9 +18601,9 @@ msgid "" "be considered.)" msgstr "" -#: ../../../AMDGPUUsage.rst:16467 ../../../AMDGPUUsage.rst:16557 -#: ../../../AMDGPUUsage.rst:16666 ../../../AMDGPUUsage.rst:18441 -#: ../../../AMDGPUUsage.rst:18527 ../../../AMDGPUUsage.rst:18632 +#: ../../../AMDGPUUsage.rst:17022 ../../../AMDGPUUsage.rst:17112 +#: ../../../AMDGPUUsage.rst:17221 ../../../AMDGPUUsage.rst:19430 +#: ../../../AMDGPUUsage.rst:19516 ../../../AMDGPUUsage.rst:19621 msgid "" "``s_wait_storecnt 0x0`` Must happen after preceding global/generic store " "atomic/ atomicrmw-no-return-value with memory ordering of seq_cst and with " @@ -17455,7 +18611,7 @@ msgid "" "``s_wait_storecnt 0x0`` and so do not need to be considered.)" msgstr "" -#: ../../../AMDGPUUsage.rst:16482 ../../../AMDGPUUsage.rst:18456 +#: ../../../AMDGPUUsage.rst:17037 ../../../AMDGPUUsage.rst:19445 msgid "" "Ensures any preceding sequential consistent global/local memory instructions " "have completed before executing this sequentially consistent instruction. " @@ -17469,7 +18625,7 @@ msgid "" "completed.)" msgstr "" -#: ../../../AMDGPUUsage.rst:16540 +#: ../../../AMDGPUUsage.rst:17095 msgid "" "``s_wait_loadcnt 0x0``\\, ``s_wait_samplecnt 0x0`` and ``s_wait_bvhcnt 0x0`` " "Must happen after preceding global/generic load atomic/ atomicrmw-with-" @@ -17478,7 +18634,7 @@ msgid "" "need to be considered.)" msgstr "" -#: ../../../AMDGPUUsage.rst:16573 ../../../AMDGPUUsage.rst:18543 +#: ../../../AMDGPUUsage.rst:17128 ../../../AMDGPUUsage.rst:19532 msgid "" "Ensures any preceding sequential consistent global memory instructions have " "completed before executing this sequentially consistent instruction. This " @@ -17492,7 +18648,7 @@ msgid "" "completed.)" msgstr "" -#: ../../../AMDGPUUsage.rst:16633 ../../../AMDGPUUsage.rst:18601 +#: ../../../AMDGPUUsage.rst:17188 ../../../AMDGPUUsage.rst:19590 msgid "" "``s_wait_dscnt 0x0`` must happen after preceding local load atomic/store " "atomic/atomicrmw with memory ordering of seq_cst and with equal or wider " @@ -17500,7 +18656,7 @@ msgid "" "and so do not need to be considered.)" msgstr "" -#: ../../../AMDGPUUsage.rst:16649 +#: ../../../AMDGPUUsage.rst:17204 msgid "" "``s_wait_loadcnt 0x0``\\, ``s_wait_samplecnt 0x0`` and ``s_wait_bvhcnt 0x0`` " "must happen after preceding global/generic load atomic/ atomicrmw-with-" @@ -17509,7 +18665,7 @@ msgid "" "need to be considered.)" msgstr "" -#: ../../../AMDGPUUsage.rst:16682 ../../../AMDGPUUsage.rst:18648 +#: ../../../AMDGPUUsage.rst:17237 ../../../AMDGPUUsage.rst:19637 msgid "" "Ensures any preceding sequential consistent global memory instructions have " "completed before executing this sequentially consistent instruction. This " @@ -17523,53 +18679,53 @@ msgid "" "completed.)" msgstr "" -#: ../../../AMDGPUUsage.rst:16749 +#: ../../../AMDGPUUsage.rst:17304 msgid "Memory Model GFX125x" msgstr "" -#: ../../../AMDGPUUsage.rst:16751 +#: ../../../AMDGPUUsage.rst:17306 msgid "For GFX125x:" msgstr "" -#: ../../../AMDGPUUsage.rst:16753 +#: ../../../AMDGPUUsage.rst:17308 msgid "**Device Structure:**" msgstr "" -#: ../../../AMDGPUUsage.rst:16755 +#: ../../../AMDGPUUsage.rst:17310 msgid "Each agent has multiple shader engines (SE)." msgstr "" -#: ../../../AMDGPUUsage.rst:16756 +#: ../../../AMDGPUUsage.rst:17311 msgid "Each SE has multiple shader arrays (SA)." msgstr "" -#: ../../../AMDGPUUsage.rst:16758 +#: ../../../AMDGPUUsage.rst:17313 msgid "Each WGP has 4 SIMD32 (2 SIMD32-pairs) that execute wavefronts." msgstr "" -#: ../../../AMDGPUUsage.rst:16762 +#: ../../../AMDGPUUsage.rst:17317 msgid "**Device Memory:**" msgstr "" -#: ../../../AMDGPUUsage.rst:16764 +#: ../../../AMDGPUUsage.rst:17319 msgid "" "Each WGP has a single write-through WGP cache (WGP$) shared by the " "wavefronts of the work-groups executing on it. The WGP$ is divided between " "LDS and vector L0 memory." msgstr "" -#: ../../../AMDGPUUsage.rst:16767 +#: ../../../AMDGPUUsage.rst:17322 msgid "Vector L0 memory holds clean data only." msgstr "" -#: ../../../AMDGPUUsage.rst:16769 +#: ../../../AMDGPUUsage.rst:17324 msgid "" "Each WGP$ has two request queues; one per SIMD32-pair. Each queue can handle " "both LDS and vector L0 requests. Requests in one queue are executed serially " "and in-order, but are not kept in order with the other queue." msgstr "" -#: ../../../AMDGPUUsage.rst:16772 +#: ../../../AMDGPUUsage.rst:17327 msgid "" "The scalar memory operations access a scalar L0 cache shared by all " "wavefronts on a WGP. The scalar and vector L0 caches are not kept coherent " @@ -17577,79 +18733,79 @@ msgid "" "not impact the memory model. See :ref:`amdgpu-amdhsa-memory-spaces`." msgstr "" -#: ../../../AMDGPUUsage.rst:16776 +#: ../../../AMDGPUUsage.rst:17331 msgid "" "The vector and scalar memory L0 caches are both clients of an L1 buffer " "shared by all WGPs on the same SE." msgstr "" -#: ../../../AMDGPUUsage.rst:16778 +#: ../../../AMDGPUUsage.rst:17333 msgid "" "L1 buffers have separate request queues for each WGP$ it serves. Requests in " "one queue are executed serially and in-order, but are not kept in order with " "other queues." msgstr "" -#: ../../../AMDGPUUsage.rst:16780 +#: ../../../AMDGPUUsage.rst:17335 msgid "L1 buffers are clients of the L2 cache." msgstr "" -#: ../../../AMDGPUUsage.rst:16781 +#: ../../../AMDGPUUsage.rst:17336 msgid "" "There may be multiple L2 caches per agent. Ranges of virtual addresses can " "be set up as follows:" msgstr "" -#: ../../../AMDGPUUsage.rst:16783 +#: ../../../AMDGPUUsage.rst:17338 msgid "" "Be non-hardware-coherent; copies of the data are not coherent between " "multiple L2s." msgstr "" -#: ../../../AMDGPUUsage.rst:16784 +#: ../../../AMDGPUUsage.rst:17339 msgid "" "Be read-write hardware-coherent with other L2 caches on the same or other " "agents." msgstr "" -#: ../../../AMDGPUUsage.rst:16785 +#: ../../../AMDGPUUsage.rst:17340 msgid "Bypass L2 entirely to ensure system coherence." msgstr "" -#: ../../../AMDGPUUsage.rst:16787 +#: ../../../AMDGPUUsage.rst:17342 msgid "" "L2 caches have multiple memory channels to service disjoint ranges of " "virtual addresses." msgstr "" -#: ../../../AMDGPUUsage.rst:16790 +#: ../../../AMDGPUUsage.rst:17345 msgid "**Memory Model:**" msgstr "" -#: ../../../AMDGPUUsage.rst:16794 +#: ../../../AMDGPUUsage.rst:17349 msgid "" "This section is currently incomplete as work on the compiler is still " "ongoing. The following is a non-exhaustive list of unimplemented/" -"undocumented features: non-volatile bit code sequences, monitor and wait, " -"globally accessing scratch atomics, multicast loads, barriers (including " -"split barriers) and cooperative atomics. Scalar operations memory model " -"needs more elaboration as well." +"undocumented features: non-volatile bit code sequences, globally accessing " +"scratch atomics, multicast loads, barriers (including split barriers) and " +"cooperative atomics. Scalar operations memory model needs more elaboration " +"as well." msgstr "" -#: ../../../AMDGPUUsage.rst:16800 +#: ../../../AMDGPUUsage.rst:17355 msgid "" "Vector memory operations are performed as wavefront wide operations, with " "the ``EXEC`` mask predicating which lanes execute." msgstr "" -#: ../../../AMDGPUUsage.rst:16802 +#: ../../../AMDGPUUsage.rst:17357 msgid "" "Consecutive vector memory operations from the same wavefront are issued in " "program order. Vector memory operations are issued (and executed) in no " "particular order between wavefronts." msgstr "" -#: ../../../AMDGPUUsage.rst:16804 +#: ../../../AMDGPUUsage.rst:17359 msgid "" "Wave execution of a vector memory operation instruction issues (initiates) " "the operation, but completion occurs an unspecified amount of time later. " @@ -17657,33 +18813,33 @@ msgid "" "has completed." msgstr "" -#: ../../../AMDGPUUsage.rst:16807 +#: ../../../AMDGPUUsage.rst:17362 msgid "" "The types of vector memory operations (and their associated ``s_wait_*cnt`` " "instructions) are:" msgstr "" -#: ../../../AMDGPUUsage.rst:16809 +#: ../../../AMDGPUUsage.rst:17364 msgid "Load (global, scratch, flat, buffer): ``s_wait_loadcnt``" msgstr "" -#: ../../../AMDGPUUsage.rst:16810 +#: ../../../AMDGPUUsage.rst:17365 msgid "Store (global, scratch, flat, buffer): ``s_wait_storecnt``" msgstr "" -#: ../../../AMDGPUUsage.rst:16811 +#: ../../../AMDGPUUsage.rst:17366 msgid "non-ASYNC LDS: ``s_wait_dscnt``" msgstr "" -#: ../../../AMDGPUUsage.rst:16812 +#: ../../../AMDGPUUsage.rst:17367 msgid "ASYNC LDS: ``s_wait_asynccnt``" msgstr "" -#: ../../../AMDGPUUsage.rst:16813 +#: ../../../AMDGPUUsage.rst:17368 msgid "Tensor: ``s_wait_tensorcnt``" msgstr "" -#: ../../../AMDGPUUsage.rst:16815 +#: ../../../AMDGPUUsage.rst:17370 msgid "" "``s_wait_xcnt`` is a counter that is incremented when a memory operation is " "issued, and decremented when memory address translation for that instruction " @@ -17691,27 +18847,27 @@ msgid "" "``s_wait_xcnt N``." msgstr "" -#: ../../../AMDGPUUsage.rst:16819 +#: ../../../AMDGPUUsage.rst:17374 msgid "" "``s_wait_xcnt 0x0`` is required before flat and global atomic stores/read-" "modify-write operations to guarantee atomicity during a xnack replay." msgstr "" -#: ../../../AMDGPUUsage.rst:16822 +#: ../../../AMDGPUUsage.rst:17377 msgid "" "Within a wavefront, vector memory operation completion (``s_wait_*cnt`` " "decrement) is reported in order of issue within a type, but in no particular " "order between types." msgstr "" -#: ../../../AMDGPUUsage.rst:16824 +#: ../../../AMDGPUUsage.rst:17379 msgid "" "Within a wavefront, the order in which data is returned to registers by a " "vector memory operation can be different from the order in which the vector " "memory operations were issued." msgstr "" -#: ../../../AMDGPUUsage.rst:16827 +#: ../../../AMDGPUUsage.rst:17382 msgid "" "Thus, a ``s_wait_*cnt`` instruction must be used to prevent multiple vector " "memory operations that return results to the same register from executing " @@ -17720,7 +18876,7 @@ msgid "" "order by the decrementing of the counter." msgstr "" -#: ../../../AMDGPUUsage.rst:16832 +#: ../../../AMDGPUUsage.rst:17387 msgid "" "Within a wavefront, consecutive loads and store to the same address will be " "processed in program order by the memory subsystem. Loads and stores to " @@ -17728,14 +18884,14 @@ msgid "" "different address." msgstr "" -#: ../../../AMDGPUUsage.rst:16835 +#: ../../../AMDGPUUsage.rst:17390 msgid "" "All non-ASYNC LDS vector memory operations of a WGP are performed as " "wavefront wide operations in a global order and involve no caching. " "Completion is reported to a wavefront in execution order." msgstr "" -#: ../../../AMDGPUUsage.rst:16838 +#: ../../../AMDGPUUsage.rst:17393 msgid "" "ASYNC LDS and tensor vector memory operations are not covered by the memory " "model implemented by the AMDGPU backend. Neither ``s_wait_asynccnt`` nor " @@ -17743,7 +18899,7 @@ msgid "" "compiler built-in calls." msgstr "" -#: ../../../AMDGPUUsage.rst:16841 +#: ../../../AMDGPUUsage.rst:17396 msgid "" "Some vector memory operations contain a ``SCOPE`` field with values " "corresponding to each cache level. The ``SCOPE`` determines whether a cache " @@ -17751,46 +18907,46 @@ msgid "" "operation to the next cache level. The ``SCOPE`` values are:" msgstr "" -#: ../../../AMDGPUUsage.rst:16846 +#: ../../../AMDGPUUsage.rst:17401 msgid "``SCOPE_CU``: WGP" msgstr "" -#: ../../../AMDGPUUsage.rst:16851 +#: ../../../AMDGPUUsage.rst:17406 msgid "" "Each cache is assigned a ``SCOPE`` by the hardware depending on the agent's " "configuration." msgstr "" -#: ../../../AMDGPUUsage.rst:16854 +#: ../../../AMDGPUUsage.rst:17409 msgid "" "This ensures that ``SCOPE_DEV`` can always be used to implement agent " "coherence, even in the presence of multiple non-coherent L2 caches on the " "same agent." msgstr "" -#: ../../../AMDGPUUsage.rst:16857 +#: ../../../AMDGPUUsage.rst:17412 msgid "" "When a vector memory operation with a given ``SCOPE`` reaches a cache with a " "smaller ``SCOPE`` value, it is forwarded to the next level of cache." msgstr "" -#: ../../../AMDGPUUsage.rst:16859 +#: ../../../AMDGPUUsage.rst:17414 msgid "" "When a vector memory operation with a given ``SCOPE`` reaches a cache with a " "``SCOPE`` value greater than or equal to its own, the operation can proceed:" msgstr "" -#: ../../../AMDGPUUsage.rst:16862 +#: ../../../AMDGPUUsage.rst:17417 msgid "Reads can hit into the cache." msgstr "" -#: ../../../AMDGPUUsage.rst:16863 +#: ../../../AMDGPUUsage.rst:17418 msgid "" "Writes can happen in this cache and completion (``s_wait`` decrement) can be " "reported." msgstr "" -#: ../../../AMDGPUUsage.rst:16867 +#: ../../../AMDGPUUsage.rst:17422 msgid "" "Some memory operations contain a ``nv`` bit, for \"non-volatile\", which " "indicates memory that is not expected to change during a kernel's execution. " @@ -17798,7 +18954,7 @@ msgid "" "to as ``$nv``)." msgstr "" -#: ../../../AMDGPUUsage.rst:16872 +#: ../../../AMDGPUUsage.rst:17427 msgid "" "When ``nv=0`` reads hit dirty ``$nv=1`` data in cache, the hardware will " "writeback the data to the next level in the hierarchy and then subsequently " @@ -17806,7 +18962,7 @@ msgid "" "data." msgstr "" -#: ../../../AMDGPUUsage.rst:16876 +#: ../../../AMDGPUUsage.rst:17431 msgid "" "``global_inv``, ``global_wb`` and ``global_wbinv`` are cache control " "instructions. The affected cache(s) are controlled by the ``SCOPE`` of the " @@ -17814,7 +18970,7 @@ msgid "" "instruction's are affected." msgstr "" -#: ../../../AMDGPUUsage.rst:16880 +#: ../../../AMDGPUUsage.rst:17435 msgid "" "``global_inv`` invalidates the data in affected caches so that subsequent " "reads will re-read from the next level in the cache hierarchy. The " @@ -17822,7 +18978,7 @@ msgid "" "operations. Instruction completion is reported using ``s_wait_loadcnt``." msgstr "" -#: ../../../AMDGPUUsage.rst:16884 +#: ../../../AMDGPUUsage.rst:17439 msgid "" "``global_wb`` flushes the dirty data in affected caches to the next level " "in the cache hierarchy. This instruction additionally ensures previous " @@ -17831,30 +18987,51 @@ msgid "" "once all data has been acknowledged by the next level in the cache hierarchy." msgstr "" -#: ../../../AMDGPUUsage.rst:16889 +#: ../../../AMDGPUUsage.rst:17444 msgid "" "``global_wbinv`` performs a ``global_inv`` then a ``global_wb``. Instruction " "completion is reported using ``s_wait_storecnt``." msgstr "" -#: ../../../AMDGPUUsage.rst:16891 +#: ../../../AMDGPUUsage.rst:17446 msgid "" "``global_inv``, ``global_wb`` and ``global_wbinv`` with ``nv=0`` can only " "affect ``$nv=0`` cache lines, whereas ``nv=1`` can affect all cache lines." msgstr "" -#: ../../../AMDGPUUsage.rst:16893 +#: ../../../AMDGPUUsage.rst:17448 msgid "" "``global_inv``, ``global_wb`` and ``global_wbinv`` behave like memory " "operations issued to every address at the same time. They are kept in order " "with other memory operations from the same wave." msgstr "" -#: ../../../AMDGPUUsage.rst:16906 +#: ../../../AMDGPUUsage.rst:17452 +msgid "" +"``global_load_monitor_*`` and ``flat_load_monitor_*`` instructions load data " +"and request that the wave is notified (see ``s_monitor_sleep``) if the L2 " +"cache line that holds the data is evicted, or written to." +msgstr "" + +#: ../../../AMDGPUUsage.rst:17456 +msgid "" +"In order to monitor a cache line in the L2 cache, these instructions must " +"ensure that the L2 cache is always hit by setting the ``SCOPE`` of the " +"instruction appropriately." +msgstr "" + +#: ../../../AMDGPUUsage.rst:17459 +msgid "" +"For non-atomic and atomic code sequences, it is valid to replace " +"``global_load_b32/64/128`` with a ``global_load_monitor_b32/64/128`` and a " +"``flat_load_b32/64/128`` with a ``flat_load_monitor_b32/64/128``." +msgstr "" + +#: ../../../AMDGPUUsage.rst:17472 msgid "Atomics in the scratch address space are handled as follows:" msgstr "" -#: ../../../AMDGPUUsage.rst:16908 +#: ../../../AMDGPUUsage.rst:17474 msgid "" "Data types <= 32 bits: The instruction is converted into an atomic in the " "generic (``flat``) address space. All properties of the atomic (atomic " @@ -17862,25 +19039,25 @@ msgid "" "address space code sequences for further information." msgstr "" -#: ../../../AMDGPUUsage.rst:16912 +#: ../../../AMDGPUUsage.rst:17478 msgid "Data types >32 bits: unsupported and an error is emitted." msgstr "" -#: ../../../AMDGPUUsage.rst:16914 +#: ../../../AMDGPUUsage.rst:17480 msgid "" "The code sequences used to implement the memory model for GFX125x are " "defined in table :ref:`amdgpu-amdhsa-memory-model-code-sequences-gfx125x-" "table`." msgstr "" -#: ../../../AMDGPUUsage.rst:16917 +#: ../../../AMDGPUUsage.rst:17483 msgid "" "The mapping of LLVM IR syncscope to GFX125x instruction ``scope`` operands " "is defined in :ref:`amdgpu-amdhsa-memory-model-code-sequences-gfx125x-scopes-" "table`." msgstr "" -#: ../../../AMDGPUUsage.rst:16920 +#: ../../../AMDGPUUsage.rst:17486 msgid "" "The table only applies if and only if it is directly referenced by an entry " "in :ref:`amdgpu-amdhsa-memory-model-code-sequences-gfx125x-table`, and it " @@ -17888,177 +19065,221 @@ msgid "" "table." msgstr "" -#: ../../../AMDGPUUsage.rst:16924 +#: ../../../AMDGPUUsage.rst:17490 msgid "AMDHSA Memory Model Code Sequences GFX125x - Instruction Scopes" msgstr "" -#: ../../../AMDGPUUsage.rst:16928 +#: ../../../AMDGPUUsage.rst:17494 msgid "ISA" msgstr "" -#: ../../../AMDGPUUsage.rst:16932 +#: ../../../AMDGPUUsage.rst:17498 msgid "*none*, one-as" msgstr "" -#: ../../../AMDGPUUsage.rst:16933 +#: ../../../AMDGPUUsage.rst:17499 msgid "system, system-one-as" msgstr "" -#: ../../../AMDGPUUsage.rst:16934 +#: ../../../AMDGPUUsage.rst:17500 msgid "agent, agent-one-as" msgstr "" -#: ../../../AMDGPUUsage.rst:16935 +#: ../../../AMDGPUUsage.rst:17501 msgid "cluster, cluster-one-as" msgstr "" -#: ../../../AMDGPUUsage.rst:16936 +#: ../../../AMDGPUUsage.rst:17502 msgid "workgroup, workgroup-one-as" msgstr "" -#: ../../../AMDGPUUsage.rst:16936 ../../../AMDGPUUsage.rst:16937 -#: ../../../AMDGPUUsage.rst:16938 +#: ../../../AMDGPUUsage.rst:17502 ../../../AMDGPUUsage.rst:17503 +#: ../../../AMDGPUUsage.rst:17504 msgid "``scope:SCOPE_CU`` [1]_" msgstr "" -#: ../../../AMDGPUUsage.rst:16937 +#: ../../../AMDGPUUsage.rst:17503 msgid "wavefront, wavefront-one-as" msgstr "" -#: ../../../AMDGPUUsage.rst:16938 +#: ../../../AMDGPUUsage.rst:17504 msgid "singlethread, singlethread-one-as" msgstr "" -#: ../../../AMDGPUUsage.rst:16941 +#: ../../../AMDGPUUsage.rst:17507 msgid "" "``SCOPE_CU`` is the default ``scope:`` emitted by the compiler. It will be " "omitted when instructions are emitted in textual form by the compiler." msgstr "" -#: ../../../AMDGPUUsage.rst:16944 +#: ../../../AMDGPUUsage.rst:17510 msgid "AMDHSA Memory Model Code Sequences GFX125x" msgstr "" -#: ../../../AMDGPUUsage.rst:16948 +#: ../../../AMDGPUUsage.rst:17514 msgid "AMDGPU Machine Code GFX125x" msgstr "" -#: ../../../AMDGPUUsage.rst:17022 ../../../AMDGPUUsage.rst:17031 -#: ../../../AMDGPUUsage.rst:17043 ../../../AMDGPUUsage.rst:17106 -#: ../../../AMDGPUUsage.rst:17133 ../../../AMDGPUUsage.rst:17228 -#: ../../../AMDGPUUsage.rst:17265 ../../../AMDGPUUsage.rst:17372 -#: ../../../AMDGPUUsage.rst:17456 ../../../AMDGPUUsage.rst:17597 -#: ../../../AMDGPUUsage.rst:17733 ../../../AMDGPUUsage.rst:17855 -#: ../../../AMDGPUUsage.rst:17968 ../../../AMDGPUUsage.rst:18198 -#: ../../../AMDGPUUsage.rst:18591 ../../../AMDGPUUsage.rst:18698 -#: ../../../AMDGPUUsage.rst:18704 ../../../AMDGPUUsage.rst:18710 +#: ../../../AMDGPUUsage.rst:17588 ../../../AMDGPUUsage.rst:17597 +#: ../../../AMDGPUUsage.rst:17609 ../../../AMDGPUUsage.rst:17672 +#: ../../../AMDGPUUsage.rst:17731 ../../../AMDGPUUsage.rst:17860 +#: ../../../AMDGPUUsage.rst:17938 ../../../AMDGPUUsage.rst:18090 +#: ../../../AMDGPUUsage.rst:18252 ../../../AMDGPUUsage.rst:18423 +#: ../../../AMDGPUUsage.rst:18589 ../../../AMDGPUUsage.rst:18741 +#: ../../../AMDGPUUsage.rst:18854 ../../../AMDGPUUsage.rst:19153 +#: ../../../AMDGPUUsage.rst:19580 ../../../AMDGPUUsage.rst:19687 +#: ../../../AMDGPUUsage.rst:19693 ../../../AMDGPUUsage.rst:19699 msgid "cluster" msgstr "" -#: ../../../AMDGPUUsage.rst:17021 ../../../AMDGPUUsage.rst:17035 -#: ../../../AMDGPUUsage.rst:17047 ../../../AMDGPUUsage.rst:17059 -#: ../../../AMDGPUUsage.rst:17088 ../../../AMDGPUUsage.rst:17108 -#: ../../../AMDGPUUsage.rst:17122 ../../../AMDGPUUsage.rst:17135 -#: ../../../AMDGPUUsage.rst:17151 ../../../AMDGPUUsage.rst:17176 -#: ../../../AMDGPUUsage.rst:17209 ../../../AMDGPUUsage.rst:17235 -#: ../../../AMDGPUUsage.rst:17254 ../../../AMDGPUUsage.rst:17271 -#: ../../../AMDGPUUsage.rst:17294 ../../../AMDGPUUsage.rst:17440 -#: ../../../AMDGPUUsage.rst:17501 ../../../AMDGPUUsage.rst:17538 -#: ../../../AMDGPUUsage.rst:17588 ../../../AMDGPUUsage.rst:17642 -#: ../../../AMDGPUUsage.rst:17679 ../../../AMDGPUUsage.rst:17728 -#: ../../../AMDGPUUsage.rst:17788 ../../../AMDGPUUsage.rst:17907 -#: ../../../AMDGPUUsage.rst:18013 ../../../AMDGPUUsage.rst:18035 -#: ../../../AMDGPUUsage.rst:18081 ../../../AMDGPUUsage.rst:18101 -#: ../../../AMDGPUUsage.rst:18114 ../../../AMDGPUUsage.rst:18159 -#: ../../../AMDGPUUsage.rst:18184 ../../../AMDGPUUsage.rst:18299 -#: ../../../AMDGPUUsage.rst:18379 +#: ../../../AMDGPUUsage.rst:17587 ../../../AMDGPUUsage.rst:17601 +#: ../../../AMDGPUUsage.rst:17613 ../../../AMDGPUUsage.rst:17625 +#: ../../../AMDGPUUsage.rst:17654 ../../../AMDGPUUsage.rst:17674 +#: ../../../AMDGPUUsage.rst:17688 ../../../AMDGPUUsage.rst:17701 +#: ../../../AMDGPUUsage.rst:17715 ../../../AMDGPUUsage.rst:17733 +#: ../../../AMDGPUUsage.rst:17749 ../../../AMDGPUUsage.rst:17762 +#: ../../../AMDGPUUsage.rst:17778 ../../../AMDGPUUsage.rst:17808 +#: ../../../AMDGPUUsage.rst:17841 ../../../AMDGPUUsage.rst:17867 +#: ../../../AMDGPUUsage.rst:17886 ../../../AMDGPUUsage.rst:17904 +#: ../../../AMDGPUUsage.rst:17923 ../../../AMDGPUUsage.rst:17944 +#: ../../../AMDGPUUsage.rst:17967 ../../../AMDGPUUsage.rst:17984 +#: ../../../AMDGPUUsage.rst:18007 ../../../AMDGPUUsage.rst:18158 +#: ../../../AMDGPUUsage.rst:18231 ../../../AMDGPUUsage.rst:18297 +#: ../../../AMDGPUUsage.rst:18364 ../../../AMDGPUUsage.rst:18414 +#: ../../../AMDGPUUsage.rst:18468 ../../../AMDGPUUsage.rst:18535 +#: ../../../AMDGPUUsage.rst:18584 ../../../AMDGPUUsage.rst:18674 +#: ../../../AMDGPUUsage.rst:18793 ../../../AMDGPUUsage.rst:18899 +#: ../../../AMDGPUUsage.rst:18951 ../../../AMDGPUUsage.rst:18997 +#: ../../../AMDGPUUsage.rst:19017 ../../../AMDGPUUsage.rst:19064 +#: ../../../AMDGPUUsage.rst:19109 ../../../AMDGPUUsage.rst:19134 +#: ../../../AMDGPUUsage.rst:19283 ../../../AMDGPUUsage.rst:19363 msgid "" "Apply :ref:`amdgpu-amdhsa-memory-model-code-sequences-gfx125x-scopes-table`." msgstr "" -#: ../../../AMDGPUUsage.rst:17028 ../../../AMDGPUUsage.rst:17040 -#: ../../../AMDGPUUsage.rst:17162 ../../../AMDGPUUsage.rst:17169 -#: ../../../AMDGPUUsage.rst:17203 ../../../AMDGPUUsage.rst:17228 -#: ../../../AMDGPUUsage.rst:17265 ../../../AMDGPUUsage.rst:17448 -#: ../../../AMDGPUUsage.rst:17494 ../../../AMDGPUUsage.rst:17581 -#: ../../../AMDGPUUsage.rst:17590 ../../../AMDGPUUsage.rst:17635 -#: ../../../AMDGPUUsage.rst:17721 ../../../AMDGPUUsage.rst:17848 -#: ../../../AMDGPUUsage.rst:17900 ../../../AMDGPUUsage.rst:18007 -#: ../../../AMDGPUUsage.rst:18074 ../../../AMDGPUUsage.rst:18153 +#: ../../../AMDGPUUsage.rst:17594 ../../../AMDGPUUsage.rst:17606 +#: ../../../AMDGPUUsage.rst:17794 ../../../AMDGPUUsage.rst:17801 +#: ../../../AMDGPUUsage.rst:17835 ../../../AMDGPUUsage.rst:17860 +#: ../../../AMDGPUUsage.rst:17897 ../../../AMDGPUUsage.rst:17938 +#: ../../../AMDGPUUsage.rst:17978 ../../../AMDGPUUsage.rst:18244 +#: ../../../AMDGPUUsage.rst:18290 ../../../AMDGPUUsage.rst:18407 +#: ../../../AMDGPUUsage.rst:18416 ../../../AMDGPUUsage.rst:18461 +#: ../../../AMDGPUUsage.rst:18577 ../../../AMDGPUUsage.rst:18734 +#: ../../../AMDGPUUsage.rst:18786 ../../../AMDGPUUsage.rst:18893 +#: ../../../AMDGPUUsage.rst:18990 ../../../AMDGPUUsage.rst:19103 msgid "``s_wait_xcnt 0x0``" msgstr "" -#: ../../../AMDGPUUsage.rst:17030 ../../../AMDGPUUsage.rst:17042 -#: ../../../AMDGPUUsage.rst:17164 ../../../AMDGPUUsage.rst:17171 -#: ../../../AMDGPUUsage.rst:17205 ../../../AMDGPUUsage.rst:17230 -#: ../../../AMDGPUUsage.rst:17267 ../../../AMDGPUUsage.rst:17450 -#: ../../../AMDGPUUsage.rst:17496 ../../../AMDGPUUsage.rst:17583 -#: ../../../AMDGPUUsage.rst:17592 ../../../AMDGPUUsage.rst:17637 -#: ../../../AMDGPUUsage.rst:17723 ../../../AMDGPUUsage.rst:17850 -#: ../../../AMDGPUUsage.rst:17902 ../../../AMDGPUUsage.rst:18009 -#: ../../../AMDGPUUsage.rst:18076 ../../../AMDGPUUsage.rst:18155 +#: ../../../AMDGPUUsage.rst:17596 ../../../AMDGPUUsage.rst:17608 +#: ../../../AMDGPUUsage.rst:17796 ../../../AMDGPUUsage.rst:17803 +#: ../../../AMDGPUUsage.rst:17837 ../../../AMDGPUUsage.rst:17862 +#: ../../../AMDGPUUsage.rst:17899 ../../../AMDGPUUsage.rst:17940 +#: ../../../AMDGPUUsage.rst:17980 ../../../AMDGPUUsage.rst:18246 +#: ../../../AMDGPUUsage.rst:18292 ../../../AMDGPUUsage.rst:18409 +#: ../../../AMDGPUUsage.rst:18418 ../../../AMDGPUUsage.rst:18463 +#: ../../../AMDGPUUsage.rst:18579 ../../../AMDGPUUsage.rst:18736 +#: ../../../AMDGPUUsage.rst:18788 ../../../AMDGPUUsage.rst:18895 +#: ../../../AMDGPUUsage.rst:18992 ../../../AMDGPUUsage.rst:19105 msgid "Ensure operation remains atomic even during a xnack replay." msgstr "" -#: ../../../AMDGPUUsage.rst:17031 ../../../AMDGPUUsage.rst:17043 -#: ../../../AMDGPUUsage.rst:17165 ../../../AMDGPUUsage.rst:17172 -#: ../../../AMDGPUUsage.rst:17451 ../../../AMDGPUUsage.rst:17497 -#: ../../../AMDGPUUsage.rst:17584 ../../../AMDGPUUsage.rst:17593 -#: ../../../AMDGPUUsage.rst:17638 ../../../AMDGPUUsage.rst:17724 -#: ../../../AMDGPUUsage.rst:17851 ../../../AMDGPUUsage.rst:17903 +#: ../../../AMDGPUUsage.rst:17597 ../../../AMDGPUUsage.rst:17609 +#: ../../../AMDGPUUsage.rst:17797 ../../../AMDGPUUsage.rst:17804 +#: ../../../AMDGPUUsage.rst:18247 ../../../AMDGPUUsage.rst:18293 +#: ../../../AMDGPUUsage.rst:18410 ../../../AMDGPUUsage.rst:18419 +#: ../../../AMDGPUUsage.rst:18464 ../../../AMDGPUUsage.rst:18580 +#: ../../../AMDGPUUsage.rst:18737 ../../../AMDGPUUsage.rst:18789 msgid "Only needed for ``flat`` and ``global`` operations." msgstr "" -#: ../../../AMDGPUUsage.rst:17231 ../../../AMDGPUUsage.rst:18077 +#: ../../../AMDGPUUsage.rst:17726 ../../../AMDGPUUsage.rst:17789 +#: ../../../AMDGPUUsage.rst:18018 ../../../AMDGPUUsage.rst:18237 +#: ../../../AMDGPUUsage.rst:19028 ../../../AMDGPUUsage.rst:19145 +#: ../../../AMDGPUUsage.rst:19378 +msgid "" +"``s_wait_loadcnt 0x0`` must happen after ``global_inv`` and before " +"subsequent memory operations." +msgstr "" + +#: ../../../AMDGPUUsage.rst:17863 ../../../AMDGPUUsage.rst:17900 +#: ../../../AMDGPUUsage.rst:18993 msgid "Only needed for ``global`` operations." msgstr "" -#: ../../../AMDGPUUsage.rst:17464 ../../../AMDGPUUsage.rst:17512 -#: ../../../AMDGPUUsage.rst:17549 ../../../AMDGPUUsage.rst:17605 -#: ../../../AMDGPUUsage.rst:17653 ../../../AMDGPUUsage.rst:17690 -#: ../../../AMDGPUUsage.rst:17747 ../../../AMDGPUUsage.rst:17807 -#: ../../../AMDGPUUsage.rst:17869 ../../../AMDGPUUsage.rst:17932 -#: ../../../AMDGPUUsage.rst:17976 ../../../AMDGPUUsage.rst:18047 -#: ../../../AMDGPUUsage.rst:18216 ../../../AMDGPUUsage.rst:18320 +#: ../../../AMDGPUUsage.rst:17934 +msgid "" +"``s_wait_loadcnt 0x0`` ``global_inv`` and before subsequent memory " +"operations." +msgstr "" + +#: ../../../AMDGPUUsage.rst:18260 ../../../AMDGPUUsage.rst:18308 +#: ../../../AMDGPUUsage.rst:18375 ../../../AMDGPUUsage.rst:18431 +#: ../../../AMDGPUUsage.rst:18479 ../../../AMDGPUUsage.rst:18546 +#: ../../../AMDGPUUsage.rst:18603 ../../../AMDGPUUsage.rst:18693 +#: ../../../AMDGPUUsage.rst:18755 ../../../AMDGPUUsage.rst:18818 +#: ../../../AMDGPUUsage.rst:18862 ../../../AMDGPUUsage.rst:18963 +#: ../../../AMDGPUUsage.rst:19171 ../../../AMDGPUUsage.rst:19304 msgid "" "``s_wait_loadcnt 0x0`` must happen after any preceding global/generic load/" "load atomic/ atomicrmw-with-return-value." msgstr "" -#: ../../../AMDGPUUsage.rst:17536 ../../../AMDGPUUsage.rst:17677 -#: ../../../AMDGPUUsage.rst:17786 ../../../AMDGPUUsage.rst:18033 -#: ../../../AMDGPUUsage.rst:18112 ../../../AMDGPUUsage.rst:18297 +#: ../../../AMDGPUUsage.rst:18340 ../../../AMDGPUUsage.rst:18511 +#: ../../../AMDGPUUsage.rst:18650 ../../../AMDGPUUsage.rst:18927 +#: ../../../AMDGPUUsage.rst:19041 ../../../AMDGPUUsage.rst:19260 +msgid "" +"``s_wait_loadcnt 0x0`` must happen after any preceding global/generic " +"atomicrmw-with-return-value." +msgstr "" + +#: ../../../AMDGPUUsage.rst:18353 ../../../AMDGPUUsage.rst:18524 +#: ../../../AMDGPUUsage.rst:18663 ../../../AMDGPUUsage.rst:18940 +#: ../../../AMDGPUUsage.rst:19054 ../../../AMDGPUUsage.rst:19273 +msgid "Must happen before the following ``global_wb``." +msgstr "" + +#: ../../../AMDGPUUsage.rst:18355 ../../../AMDGPUUsage.rst:18526 +#: ../../../AMDGPUUsage.rst:18665 ../../../AMDGPUUsage.rst:18942 +#: ../../../AMDGPUUsage.rst:19056 ../../../AMDGPUUsage.rst:19275 +msgid "" +"Ensures that all global memory store/rmw operations have completed before " +"their data is written back." +msgstr "" + +#: ../../../AMDGPUUsage.rst:18362 ../../../AMDGPUUsage.rst:18533 +#: ../../../AMDGPUUsage.rst:18672 ../../../AMDGPUUsage.rst:18949 +#: ../../../AMDGPUUsage.rst:19064 ../../../AMDGPUUsage.rst:19283 msgid "``global_wb``" msgstr "" -#: ../../../AMDGPUUsage.rst:17556 ../../../AMDGPUUsage.rst:17696 +#: ../../../AMDGPUUsage.rst:18382 ../../../AMDGPUUsage.rst:18552 msgid "" "``s_wait_storecnt 0x0`` must happen after ``global_wb`` or any preceding " "global/generic store/store atomic/ atomicrmw-no-return-value." msgstr "" -#: ../../../AMDGPUUsage.rst:17813 +#: ../../../AMDGPUUsage.rst:18699 msgid "" "``s_wait_storecnt 0x0`` must happen after ``global_wb`` or any preceding " "global/generic store/store atomic/ atomicrmw-no-return-value." msgstr "" -#: ../../../AMDGPUUsage.rst:17954 +#: ../../../AMDGPUUsage.rst:18840 msgid "1 | ``s_wait_storecnt 0x0``" msgstr "" -#: ../../../AMDGPUUsage.rst:18053 ../../../AMDGPUUsage.rst:18132 -#: ../../../AMDGPUUsage.rst:18327 +#: ../../../AMDGPUUsage.rst:18969 ../../../AMDGPUUsage.rst:19082 +#: ../../../AMDGPUUsage.rst:19311 msgid "``s_wait_storecnt 0x0`` must happen after ``global_wb``." msgstr "" -#: ../../../AMDGPUUsage.rst:18126 +#: ../../../AMDGPUUsage.rst:19076 msgid "" "``s_wait_loadcnt 0x0`` must happen after any preceding global/generic load/" "load atomic atomicrmw-with-return-value." msgstr "" -#: ../../../AMDGPUUsage.rst:18426 +#: ../../../AMDGPUUsage.rst:19415 msgid "" "``s_wait_loadcnt 0x0`` must happen after preceding global/generic load " "atomic/ atomicrmw-with-return-value with memory ordering of seq_cst and with " @@ -18066,7 +19287,7 @@ msgid "" "and so do not need to be considered.)" msgstr "" -#: ../../../AMDGPUUsage.rst:18512 ../../../AMDGPUUsage.rst:18617 +#: ../../../AMDGPUUsage.rst:19501 ../../../AMDGPUUsage.rst:19606 msgid "" "``s_wait_loadcnt 0x0`` must happen after preceding global/generic load " "atomic/ atomicrmw-with-return-value with memory ordering of seq_cst and with " @@ -18074,13 +19295,13 @@ msgid "" "``s_wait``\\s and so do not need to be considered.)" msgstr "" -#: ../../../AMDGPUUsage.rst:18720 +#: ../../../AMDGPUUsage.rst:19709 msgid "" "The collection of convergent threads participating in a cooperative atomic " "must belong to the same wave32." msgstr "" -#: ../../../AMDGPUUsage.rst:18723 +#: ../../../AMDGPUUsage.rst:19712 msgid "" "Only naturally-aligned, contiguous groups of lanes may be used; see :ref:" "`the table below` for the set " @@ -18089,163 +19310,163 @@ msgid "" "groups per wave than the maximum will cause undefined behavior." msgstr "" -#: ../../../AMDGPUUsage.rst:18730 +#: ../../../AMDGPUUsage.rst:19719 msgid "" "Using the intrinsic also causes undefined behavior if it loads or stores to " "addresses that:" msgstr "" -#: ../../../AMDGPUUsage.rst:18732 +#: ../../../AMDGPUUsage.rst:19721 msgid "" "Are not in the global address space (e.g.: private and local addresses " "spaces)." msgstr "" -#: ../../../AMDGPUUsage.rst:18733 +#: ../../../AMDGPUUsage.rst:19722 msgid "" "Are only reachable through a bus that does not support 128B/256B requests (e." "g.: host memory over PCIe)" msgstr "" -#: ../../../AMDGPUUsage.rst:18735 +#: ../../../AMDGPUUsage.rst:19724 msgid "Any other unsupported addresses (TBD, needs refinement)" msgstr "" -#: ../../../AMDGPUUsage.rst:18739 +#: ../../../AMDGPUUsage.rst:19728 msgid "" "Enumerate all cases where UB is invoked when using this intrinsic instead of " "hand-waving \"specific global memory locations\"." msgstr "" -#: ../../../AMDGPUUsage.rst:18742 +#: ../../../AMDGPUUsage.rst:19731 msgid "GFX125x Cooperative Atomic Intrinsics" msgstr "" -#: ../../../AMDGPUUsage.rst:18746 +#: ../../../AMDGPUUsage.rst:19735 msgid "Lane Groups" msgstr "" -#: ../../../AMDGPUUsage.rst:18748 ../../../AMDGPUUsage.rst:18750 +#: ../../../AMDGPUUsage.rst:19737 ../../../AMDGPUUsage.rst:19739 msgid "``0-31``" msgstr "" -#: ../../../AMDGPUUsage.rst:18752 ../../../AMDGPUUsage.rst:18754 +#: ../../../AMDGPUUsage.rst:19741 ../../../AMDGPUUsage.rst:19743 msgid "``0-15``, ``16-31``" msgstr "" -#: ../../../AMDGPUUsage.rst:18756 ../../../AMDGPUUsage.rst:18758 +#: ../../../AMDGPUUsage.rst:19745 ../../../AMDGPUUsage.rst:19747 msgid "``0-7``, ``8-15``, ``16-23``, ``24-31``" msgstr "" -#: ../../../AMDGPUUsage.rst:18765 ../../../AMDGPUUsage.rst:19697 +#: ../../../AMDGPUUsage.rst:19754 ../../../AMDGPUUsage.rst:20686 msgid "Trap Handler ABI" msgstr "" -#: ../../../AMDGPUUsage.rst:18767 +#: ../../../AMDGPUUsage.rst:19756 msgid "" "For code objects generated by the AMDGPU backend for HSA [HSA]_ compatible " "runtimes (see :ref:`amdgpu-os`), the runtime installs a trap handler that " "supports the ``s_trap`` instruction. For usage see:" msgstr "" -#: ../../../AMDGPUUsage.rst:18771 +#: ../../../AMDGPUUsage.rst:19760 msgid ":ref:`amdgpu-trap-handler-for-amdhsa-os-v2-table`" msgstr "" -#: ../../../AMDGPUUsage.rst:18772 +#: ../../../AMDGPUUsage.rst:19761 msgid ":ref:`amdgpu-trap-handler-for-amdhsa-os-v3-table`" msgstr "" -#: ../../../AMDGPUUsage.rst:18773 +#: ../../../AMDGPUUsage.rst:19762 msgid ":ref:`amdgpu-trap-handler-for-amdhsa-os-v4-onwards-table`" msgstr "" -#: ../../../AMDGPUUsage.rst:18775 +#: ../../../AMDGPUUsage.rst:19764 msgid "AMDGPU Trap Handler for AMDHSA OS Code Object V2" msgstr "" -#: ../../../AMDGPUUsage.rst:18779 ../../../AMDGPUUsage.rst:18819 -#: ../../../AMDGPUUsage.rst:18861 ../../../AMDGPUUsage.rst:19707 +#: ../../../AMDGPUUsage.rst:19768 ../../../AMDGPUUsage.rst:19808 +#: ../../../AMDGPUUsage.rst:19850 ../../../AMDGPUUsage.rst:20696 msgid "Usage" msgstr "" -#: ../../../AMDGPUUsage.rst:18779 ../../../AMDGPUUsage.rst:18819 -#: ../../../AMDGPUUsage.rst:18861 ../../../AMDGPUUsage.rst:19707 +#: ../../../AMDGPUUsage.rst:19768 ../../../AMDGPUUsage.rst:19808 +#: ../../../AMDGPUUsage.rst:19850 ../../../AMDGPUUsage.rst:20696 msgid "Code Sequence" msgstr "" -#: ../../../AMDGPUUsage.rst:18779 ../../../AMDGPUUsage.rst:18819 +#: ../../../AMDGPUUsage.rst:19768 ../../../AMDGPUUsage.rst:19808 msgid "Trap Handler Inputs" msgstr "" -#: ../../../AMDGPUUsage.rst:18782 ../../../AMDGPUUsage.rst:18804 -#: ../../../AMDGPUUsage.rst:18805 ../../../AMDGPUUsage.rst:18806 -#: ../../../AMDGPUUsage.rst:18807 ../../../AMDGPUUsage.rst:18808 -#: ../../../AMDGPUUsage.rst:18809 ../../../AMDGPUUsage.rst:18810 -#: ../../../AMDGPUUsage.rst:18822 ../../../AMDGPUUsage.rst:18846 -#: ../../../AMDGPUUsage.rst:18847 ../../../AMDGPUUsage.rst:18848 -#: ../../../AMDGPUUsage.rst:18849 ../../../AMDGPUUsage.rst:18850 -#: ../../../AMDGPUUsage.rst:18851 ../../../AMDGPUUsage.rst:18852 -#: ../../../AMDGPUUsage.rst:18863 ../../../AMDGPUUsage.rst:18887 -#: ../../../AMDGPUUsage.rst:18888 ../../../AMDGPUUsage.rst:18889 -#: ../../../AMDGPUUsage.rst:18890 ../../../AMDGPUUsage.rst:18891 -#: ../../../AMDGPUUsage.rst:18892 ../../../AMDGPUUsage.rst:18893 +#: ../../../AMDGPUUsage.rst:19771 ../../../AMDGPUUsage.rst:19793 +#: ../../../AMDGPUUsage.rst:19794 ../../../AMDGPUUsage.rst:19795 +#: ../../../AMDGPUUsage.rst:19796 ../../../AMDGPUUsage.rst:19797 +#: ../../../AMDGPUUsage.rst:19798 ../../../AMDGPUUsage.rst:19799 +#: ../../../AMDGPUUsage.rst:19811 ../../../AMDGPUUsage.rst:19835 +#: ../../../AMDGPUUsage.rst:19836 ../../../AMDGPUUsage.rst:19837 +#: ../../../AMDGPUUsage.rst:19838 ../../../AMDGPUUsage.rst:19839 +#: ../../../AMDGPUUsage.rst:19840 ../../../AMDGPUUsage.rst:19841 +#: ../../../AMDGPUUsage.rst:19852 ../../../AMDGPUUsage.rst:19876 +#: ../../../AMDGPUUsage.rst:19877 ../../../AMDGPUUsage.rst:19878 +#: ../../../AMDGPUUsage.rst:19879 ../../../AMDGPUUsage.rst:19880 +#: ../../../AMDGPUUsage.rst:19881 ../../../AMDGPUUsage.rst:19882 msgid "reserved" msgstr "" -#: ../../../AMDGPUUsage.rst:18782 ../../../AMDGPUUsage.rst:18822 -#: ../../../AMDGPUUsage.rst:18863 +#: ../../../AMDGPUUsage.rst:19771 ../../../AMDGPUUsage.rst:19811 +#: ../../../AMDGPUUsage.rst:19852 msgid "``s_trap 0x00``" msgstr "" -#: ../../../AMDGPUUsage.rst:18782 ../../../AMDGPUUsage.rst:18822 -#: ../../../AMDGPUUsage.rst:18863 +#: ../../../AMDGPUUsage.rst:19771 ../../../AMDGPUUsage.rst:19811 +#: ../../../AMDGPUUsage.rst:19852 msgid "Reserved by hardware." msgstr "" -#: ../../../AMDGPUUsage.rst:18783 +#: ../../../AMDGPUUsage.rst:19772 msgid "``debugtrap(arg)``" msgstr "" -#: ../../../AMDGPUUsage.rst:18783 ../../../AMDGPUUsage.rst:18823 -#: ../../../AMDGPUUsage.rst:18864 +#: ../../../AMDGPUUsage.rst:19772 ../../../AMDGPUUsage.rst:19812 +#: ../../../AMDGPUUsage.rst:19853 msgid "``s_trap 0x01``" msgstr "" -#: ../../../AMDGPUUsage.rst:18783 ../../../AMDGPUUsage.rst:18792 -#: ../../../AMDGPUUsage.rst:18834 ../../../AMDGPUUsage.rst:18875 +#: ../../../AMDGPUUsage.rst:19772 ../../../AMDGPUUsage.rst:19781 +#: ../../../AMDGPUUsage.rst:19823 ../../../AMDGPUUsage.rst:19864 msgid "``SGPR0-1``:" msgstr "" -#: ../../../AMDGPUUsage.rst:18784 ../../../AMDGPUUsage.rst:18788 -#: ../../../AMDGPUUsage.rst:18830 ../../../AMDGPUUsage.rst:18871 +#: ../../../AMDGPUUsage.rst:19773 ../../../AMDGPUUsage.rst:19777 +#: ../../../AMDGPUUsage.rst:19819 ../../../AMDGPUUsage.rst:19860 msgid "``queue_ptr``" msgstr "" -#: ../../../AMDGPUUsage.rst:18785 +#: ../../../AMDGPUUsage.rst:19774 msgid "``VGPR0``:" msgstr "" -#: ../../../AMDGPUUsage.rst:18786 +#: ../../../AMDGPUUsage.rst:19775 msgid "``arg``" msgstr "" -#: ../../../AMDGPUUsage.rst:18783 +#: ../../../AMDGPUUsage.rst:19772 msgid "Reserved for Finalizer HSA ``debugtrap`` intrinsic (not implemented)." msgstr "" -#: ../../../AMDGPUUsage.rst:18787 ../../../AMDGPUUsage.rst:18829 -#: ../../../AMDGPUUsage.rst:18870 +#: ../../../AMDGPUUsage.rst:19776 ../../../AMDGPUUsage.rst:19818 +#: ../../../AMDGPUUsage.rst:19859 msgid "``llvm.trap``" msgstr "" -#: ../../../AMDGPUUsage.rst:18787 ../../../AMDGPUUsage.rst:18829 -#: ../../../AMDGPUUsage.rst:18870 +#: ../../../AMDGPUUsage.rst:19776 ../../../AMDGPUUsage.rst:19818 +#: ../../../AMDGPUUsage.rst:19859 msgid "``s_trap 0x02``" msgstr "" -#: ../../../AMDGPUUsage.rst:18787 ../../../AMDGPUUsage.rst:18829 -#: ../../../AMDGPUUsage.rst:18870 +#: ../../../AMDGPUUsage.rst:19776 ../../../AMDGPUUsage.rst:19818 +#: ../../../AMDGPUUsage.rst:19859 msgid "" "Causes wave to be halted with the PC at the trap instruction. The associated " "queue is signalled to put it into the error state. When the queue is put in " @@ -18253,244 +19474,244 @@ msgid "" "terminated." msgstr "" -#: ../../../AMDGPUUsage.rst:18794 ../../../AMDGPUUsage.rst:18836 -#: ../../../AMDGPUUsage.rst:18877 +#: ../../../AMDGPUUsage.rst:19783 ../../../AMDGPUUsage.rst:19825 +#: ../../../AMDGPUUsage.rst:19866 msgid "``llvm.debugtrap``" msgstr "" -#: ../../../AMDGPUUsage.rst:18794 ../../../AMDGPUUsage.rst:18836 -#: ../../../AMDGPUUsage.rst:18877 +#: ../../../AMDGPUUsage.rst:19783 ../../../AMDGPUUsage.rst:19825 +#: ../../../AMDGPUUsage.rst:19866 msgid "``s_trap 0x03``" msgstr "" -#: ../../../AMDGPUUsage.rst:18794 ../../../AMDGPUUsage.rst:18836 -#: ../../../AMDGPUUsage.rst:18877 +#: ../../../AMDGPUUsage.rst:19783 ../../../AMDGPUUsage.rst:19825 +#: ../../../AMDGPUUsage.rst:19866 msgid "" "If debugger not enabled then behaves as a no-operation. The trap handler is " "entered and immediately returns to continue execution of the wavefront." msgstr "" -#: ../../../AMDGPUUsage.rst:18798 ../../../AMDGPUUsage.rst:18840 -#: ../../../AMDGPUUsage.rst:18881 +#: ../../../AMDGPUUsage.rst:19787 ../../../AMDGPUUsage.rst:19829 +#: ../../../AMDGPUUsage.rst:19870 msgid "" "If the debugger is enabled, causes the debug trap to be reported by the " "debugger and the wavefront is put in the halt state with the PC at the " "instruction. The debugger must increment the PC and resume the wave." msgstr "" -#: ../../../AMDGPUUsage.rst:18804 ../../../AMDGPUUsage.rst:18846 -#: ../../../AMDGPUUsage.rst:18887 +#: ../../../AMDGPUUsage.rst:19793 ../../../AMDGPUUsage.rst:19835 +#: ../../../AMDGPUUsage.rst:19876 msgid "``s_trap 0x04``" msgstr "" -#: ../../../AMDGPUUsage.rst:18805 ../../../AMDGPUUsage.rst:18847 -#: ../../../AMDGPUUsage.rst:18888 +#: ../../../AMDGPUUsage.rst:19794 ../../../AMDGPUUsage.rst:19836 +#: ../../../AMDGPUUsage.rst:19877 msgid "``s_trap 0x05``" msgstr "" -#: ../../../AMDGPUUsage.rst:18806 ../../../AMDGPUUsage.rst:18848 -#: ../../../AMDGPUUsage.rst:18889 +#: ../../../AMDGPUUsage.rst:19795 ../../../AMDGPUUsage.rst:19837 +#: ../../../AMDGPUUsage.rst:19878 msgid "``s_trap 0x06``" msgstr "" -#: ../../../AMDGPUUsage.rst:18807 ../../../AMDGPUUsage.rst:18849 -#: ../../../AMDGPUUsage.rst:18890 +#: ../../../AMDGPUUsage.rst:19796 ../../../AMDGPUUsage.rst:19838 +#: ../../../AMDGPUUsage.rst:19879 msgid "``s_trap 0x07``" msgstr "" -#: ../../../AMDGPUUsage.rst:18808 ../../../AMDGPUUsage.rst:18850 -#: ../../../AMDGPUUsage.rst:18891 +#: ../../../AMDGPUUsage.rst:19797 ../../../AMDGPUUsage.rst:19839 +#: ../../../AMDGPUUsage.rst:19880 msgid "``s_trap 0x08``" msgstr "" -#: ../../../AMDGPUUsage.rst:18809 ../../../AMDGPUUsage.rst:18851 -#: ../../../AMDGPUUsage.rst:18892 +#: ../../../AMDGPUUsage.rst:19798 ../../../AMDGPUUsage.rst:19840 +#: ../../../AMDGPUUsage.rst:19881 msgid "``s_trap 0xfe``" msgstr "" -#: ../../../AMDGPUUsage.rst:18810 ../../../AMDGPUUsage.rst:18852 -#: ../../../AMDGPUUsage.rst:18893 +#: ../../../AMDGPUUsage.rst:19799 ../../../AMDGPUUsage.rst:19841 +#: ../../../AMDGPUUsage.rst:19882 msgid "``s_trap 0xff``" msgstr "" -#: ../../../AMDGPUUsage.rst:18815 +#: ../../../AMDGPUUsage.rst:19804 msgid "AMDGPU Trap Handler for AMDHSA OS Code Object V3" msgstr "" -#: ../../../AMDGPUUsage.rst:18823 ../../../AMDGPUUsage.rst:18864 +#: ../../../AMDGPUUsage.rst:19812 ../../../AMDGPUUsage.rst:19853 msgid "debugger breakpoint" msgstr "" -#: ../../../AMDGPUUsage.rst:18823 ../../../AMDGPUUsage.rst:18864 +#: ../../../AMDGPUUsage.rst:19812 ../../../AMDGPUUsage.rst:19853 msgid "" "Reserved for debugger to use for breakpoints. Causes wave to be halted with " "the PC at the trap instruction. The debugger is responsible to resume the " "wave, including the instruction that the breakpoint overwrote." msgstr "" -#: ../../../AMDGPUUsage.rst:18857 +#: ../../../AMDGPUUsage.rst:19846 msgid "AMDGPU Trap Handler for AMDHSA OS Code Object V4 and Above" msgstr "" -#: ../../../AMDGPUUsage.rst:18861 +#: ../../../AMDGPUUsage.rst:19850 msgid "GFX6-GFX8 Inputs" msgstr "" -#: ../../../AMDGPUUsage.rst:18861 +#: ../../../AMDGPUUsage.rst:19850 msgid "GFX9-GFX11 Inputs" msgstr "" -#: ../../../AMDGPUUsage.rst:18899 +#: ../../../AMDGPUUsage.rst:19888 msgid "Call Convention" msgstr "" -#: ../../../AMDGPUUsage.rst:18903 +#: ../../../AMDGPUUsage.rst:19892 msgid "" "This section is currently incomplete and has inaccuracies. It is WIP that " "will be updated as information is determined." msgstr "" -#: ../../../AMDGPUUsage.rst:18906 +#: ../../../AMDGPUUsage.rst:19895 msgid "" "See :ref:`amdgpu-dwarf-address-space-identifier` for information on swizzled " "addresses. Unswizzled addresses are normal linear addresses." msgstr "" -#: ../../../AMDGPUUsage.rst:18912 +#: ../../../AMDGPUUsage.rst:19901 msgid "Kernel Functions" msgstr "" -#: ../../../AMDGPUUsage.rst:18914 +#: ../../../AMDGPUUsage.rst:19903 msgid "" "This section describes the call convention ABI for the outer kernel function." msgstr "" -#: ../../../AMDGPUUsage.rst:18916 +#: ../../../AMDGPUUsage.rst:19905 msgid "" "See :ref:`amdgpu-amdhsa-initial-kernel-execution-state` for the kernel call " "convention." msgstr "" -#: ../../../AMDGPUUsage.rst:18919 +#: ../../../AMDGPUUsage.rst:19908 msgid "" "The following is not part of the AMDGPU kernel calling convention but " "describes how the AMDGPU implements function calls:" msgstr "" -#: ../../../AMDGPUUsage.rst:18922 +#: ../../../AMDGPUUsage.rst:19911 msgid "" "Clang decides the kernarg layout to match the *HSA Programmer's Language " "Reference* [HSA]_." msgstr "" -#: ../../../AMDGPUUsage.rst:18925 +#: ../../../AMDGPUUsage.rst:19914 msgid "All structs are passed directly." msgstr "" -#: ../../../AMDGPUUsage.rst:18926 +#: ../../../AMDGPUUsage.rst:19915 msgid "Lambda values are passed *TBA*." msgstr "" -#: ../../../AMDGPUUsage.rst:18930 +#: ../../../AMDGPUUsage.rst:19919 msgid "" "Does this really follow HSA rules? Or are structs >16 bytes passed by-value " "struct?" msgstr "" -#: ../../../AMDGPUUsage.rst:18932 +#: ../../../AMDGPUUsage.rst:19921 msgid "What is ABI for lambda values?" msgstr "" -#: ../../../AMDGPUUsage.rst:18934 +#: ../../../AMDGPUUsage.rst:19923 msgid "" "The kernel performs certain setup in its prolog, as described in :ref:" "`amdgpu-amdhsa-kernel-prolog`." msgstr "" -#: ../../../AMDGPUUsage.rst:18940 +#: ../../../AMDGPUUsage.rst:19929 msgid "Non-Kernel Functions" msgstr "" -#: ../../../AMDGPUUsage.rst:18942 +#: ../../../AMDGPUUsage.rst:19931 msgid "" "This section describes the call convention ABI for functions other than the " "outer kernel function." msgstr "" -#: ../../../AMDGPUUsage.rst:18945 +#: ../../../AMDGPUUsage.rst:19934 msgid "" "If a kernel has function calls then scratch is always allocated and used for " "the call stack which grows from low address to high address using the " "swizzled scratch address space." msgstr "" -#: ../../../AMDGPUUsage.rst:18949 +#: ../../../AMDGPUUsage.rst:19938 msgid "On entry to a function:" msgstr "" -#: ../../../AMDGPUUsage.rst:18951 +#: ../../../AMDGPUUsage.rst:19940 msgid "" "SGPR0-3 contain a V# with the following properties (see :ref:`amdgpu-amdhsa-" "kernel-prolog-private-segment-buffer`):" msgstr "" -#: ../../../AMDGPUUsage.rst:18954 +#: ../../../AMDGPUUsage.rst:19943 msgid "" "Base address pointing to the beginning of the wavefront scratch backing " "memory." msgstr "" -#: ../../../AMDGPUUsage.rst:18956 +#: ../../../AMDGPUUsage.rst:19945 msgid "Swizzled with dword element size and stride of wavefront size elements." msgstr "" -#: ../../../AMDGPUUsage.rst:18958 +#: ../../../AMDGPUUsage.rst:19947 msgid "" "The FLAT_SCRATCH register pair is setup. See :ref:`amdgpu-amdhsa-kernel-" "prolog-flat-scratch`." msgstr "" -#: ../../../AMDGPUUsage.rst:18960 +#: ../../../AMDGPUUsage.rst:19949 msgid "" "GFX6-GFX8: M0 register set to the size of LDS in bytes. See :ref:`amdgpu-" "amdhsa-kernel-prolog-m0`." msgstr "" -#: ../../../AMDGPUUsage.rst:18962 +#: ../../../AMDGPUUsage.rst:19951 msgid "The EXEC register is set to the lanes active on entry to the function." msgstr "" -#: ../../../AMDGPUUsage.rst:18963 +#: ../../../AMDGPUUsage.rst:19952 msgid "MODE register: *TBD*" msgstr "" -#: ../../../AMDGPUUsage.rst:18964 +#: ../../../AMDGPUUsage.rst:19953 msgid "" "VGPR0-31 and SGPR4-29 are used to pass function input arguments as described " "below." msgstr "" -#: ../../../AMDGPUUsage.rst:18966 +#: ../../../AMDGPUUsage.rst:19955 msgid "" "SGPR30-31 return address (RA). The code address that the function must " "return to when it completes. The value is undefined if the function is *no " "return*." msgstr "" -#: ../../../AMDGPUUsage.rst:18969 +#: ../../../AMDGPUUsage.rst:19958 msgid "" "SGPR32 is used for the stack pointer (SP). It is an unswizzled scratch " "offset relative to the beginning of the wavefront scratch backing memory." msgstr "" -#: ../../../AMDGPUUsage.rst:18972 +#: ../../../AMDGPUUsage.rst:19961 msgid "" "The unswizzled SP can be used with buffer instructions as an unswizzled SGPR " "offset with the scratch V# in SGPR0-3 to access the stack in a swizzled " "manner." msgstr "" -#: ../../../AMDGPUUsage.rst:18976 +#: ../../../AMDGPUUsage.rst:19965 msgid "The unswizzled SP value can be converted into the swizzled SP value by:" msgstr "" @@ -18498,33 +19719,33 @@ msgstr "" msgid "swizzled SP = unswizzled SP / wavefront size" msgstr "" -#: ../../../AMDGPUUsage.rst:18980 +#: ../../../AMDGPUUsage.rst:19969 msgid "" "This may be used to obtain the private address space address of stack " "objects and to convert this address to a flat address by adding the flat " "scratch aperture base address." msgstr "" -#: ../../../AMDGPUUsage.rst:18984 +#: ../../../AMDGPUUsage.rst:19973 msgid "" "The swizzled SP value is always 4-byte aligned for the ``r600`` architecture " "and 16-byte aligned for the ``amdgcn`` architecture." msgstr "" -#: ../../../AMDGPUUsage.rst:18989 +#: ../../../AMDGPUUsage.rst:19978 msgid "" "The ``amdgcn`` value is selected to avoid dynamic stack alignment for the " "OpenCL language which has the largest base type defined as 16 bytes." msgstr "" -#: ../../../AMDGPUUsage.rst:18992 +#: ../../../AMDGPUUsage.rst:19981 msgid "" "On entry, the swizzled SP value is the address of the first function " "argument passed on the stack. Other stack passed arguments are positive " "offsets from the entry swizzled SP value." msgstr "" -#: ../../../AMDGPUUsage.rst:18996 +#: ../../../AMDGPUUsage.rst:19985 msgid "" "The function may use positive offsets beyond the last stack passed argument " "for stack allocated local variables and register spill slots. If necessary, " @@ -18533,24 +19754,24 @@ msgid "" "``alloca`` local allocations." msgstr "" -#: ../../../AMDGPUUsage.rst:19002 +#: ../../../AMDGPUUsage.rst:19991 msgid "" "If the function calls another function, it will place any stack allocated " "arguments after the last local allocation and adjust SGPR32 to the address " "after the last local allocation." msgstr "" -#: ../../../AMDGPUUsage.rst:19006 +#: ../../../AMDGPUUsage.rst:19995 msgid "All other registers are unspecified." msgstr "" -#: ../../../AMDGPUUsage.rst:19007 +#: ../../../AMDGPUUsage.rst:19996 msgid "" "Any necessary ``s_waitcnt`` has been performed to ensure memory is available " "to the function." msgstr "" -#: ../../../AMDGPUUsage.rst:19009 +#: ../../../AMDGPUUsage.rst:19998 msgid "" "Use pass-by-reference (byref) instead of pass-by-value (byval) for struct " "arguments in C ABI. Callee is responsible for allocating stack memory and " @@ -18558,170 +19779,170 @@ msgid "" "supports byval for struct arguments." msgstr "" -#: ../../../AMDGPUUsage.rst:19014 +#: ../../../AMDGPUUsage.rst:20003 msgid "On exit from a function:" msgstr "" -#: ../../../AMDGPUUsage.rst:19016 +#: ../../../AMDGPUUsage.rst:20005 msgid "" "VGPR0-31 and SGPR4-29 are used to pass function result arguments as " "described below. Any registers used are considered clobbered registers." msgstr "" -#: ../../../AMDGPUUsage.rst:19018 +#: ../../../AMDGPUUsage.rst:20007 msgid "" "The following registers are preserved and have the same value as on entry:" msgstr "" -#: ../../../AMDGPUUsage.rst:19020 +#: ../../../AMDGPUUsage.rst:20009 msgid "FLAT_SCRATCH" msgstr "" -#: ../../../AMDGPUUsage.rst:19021 +#: ../../../AMDGPUUsage.rst:20010 msgid "EXEC" msgstr "" -#: ../../../AMDGPUUsage.rst:19022 +#: ../../../AMDGPUUsage.rst:20011 msgid "GFX6-GFX8: M0" msgstr "" -#: ../../../AMDGPUUsage.rst:19023 +#: ../../../AMDGPUUsage.rst:20012 msgid "All SGPR registers except the clobbered registers of SGPR4-31." msgstr "" -#: ../../../AMDGPUUsage.rst:19024 +#: ../../../AMDGPUUsage.rst:20013 msgid "VGPR40-47" msgstr "" -#: ../../../AMDGPUUsage.rst:19025 +#: ../../../AMDGPUUsage.rst:20014 msgid "VGPR56-63" msgstr "" -#: ../../../AMDGPUUsage.rst:19026 +#: ../../../AMDGPUUsage.rst:20015 msgid "VGPR72-79" msgstr "" -#: ../../../AMDGPUUsage.rst:19027 +#: ../../../AMDGPUUsage.rst:20016 msgid "VGPR88-95" msgstr "" -#: ../../../AMDGPUUsage.rst:19028 +#: ../../../AMDGPUUsage.rst:20017 msgid "VGPR104-111" msgstr "" -#: ../../../AMDGPUUsage.rst:19029 +#: ../../../AMDGPUUsage.rst:20018 msgid "VGPR120-127" msgstr "" -#: ../../../AMDGPUUsage.rst:19030 +#: ../../../AMDGPUUsage.rst:20019 msgid "VGPR136-143" msgstr "" -#: ../../../AMDGPUUsage.rst:19031 +#: ../../../AMDGPUUsage.rst:20020 msgid "VGPR152-159" msgstr "" -#: ../../../AMDGPUUsage.rst:19032 +#: ../../../AMDGPUUsage.rst:20021 msgid "VGPR168-175" msgstr "" -#: ../../../AMDGPUUsage.rst:19033 +#: ../../../AMDGPUUsage.rst:20022 msgid "VGPR184-191" msgstr "" -#: ../../../AMDGPUUsage.rst:19034 +#: ../../../AMDGPUUsage.rst:20023 msgid "VGPR200-207" msgstr "" -#: ../../../AMDGPUUsage.rst:19035 +#: ../../../AMDGPUUsage.rst:20024 msgid "VGPR216-223" msgstr "" -#: ../../../AMDGPUUsage.rst:19036 +#: ../../../AMDGPUUsage.rst:20025 msgid "VGPR232-239" msgstr "" -#: ../../../AMDGPUUsage.rst:19037 +#: ../../../AMDGPUUsage.rst:20026 msgid "VGPR248-255" msgstr "" -#: ../../../AMDGPUUsage.rst:19041 +#: ../../../AMDGPUUsage.rst:20030 msgid "" "Except the argument registers, the VGPRs clobbered and the preserved " "registers are intermixed at regular intervals in order to keep a similar " "ratio independent of the number of allocated VGPRs." msgstr "" -#: ../../../AMDGPUUsage.rst:19045 +#: ../../../AMDGPUUsage.rst:20034 msgid "GFX90A: All AGPR registers except the clobbered registers AGPR0-31." msgstr "" -#: ../../../AMDGPUUsage.rst:19046 +#: ../../../AMDGPUUsage.rst:20035 msgid "Lanes of all VGPRs that are inactive at the call site." msgstr "" -#: ../../../AMDGPUUsage.rst:19048 +#: ../../../AMDGPUUsage.rst:20037 msgid "" "For the AMDGPU backend, an inter-procedural register allocation (IPRA) " "optimization may mark some of clobbered SGPR and VGPR registers as preserved " "if it can be determined that the called function does not change their value." msgstr "" -#: ../../../AMDGPUUsage.rst:19053 +#: ../../../AMDGPUUsage.rst:20042 msgid "The PC is set to the RA provided on entry." msgstr "" -#: ../../../AMDGPUUsage.rst:19054 +#: ../../../AMDGPUUsage.rst:20043 msgid "MODE register: *TBD*." msgstr "" -#: ../../../AMDGPUUsage.rst:19055 +#: ../../../AMDGPUUsage.rst:20044 msgid "All other registers are clobbered." msgstr "" -#: ../../../AMDGPUUsage.rst:19056 +#: ../../../AMDGPUUsage.rst:20045 msgid "" "Any necessary ``s_waitcnt`` has been performed to ensure memory accessed by " "function is available to the caller." msgstr "" -#: ../../../AMDGPUUsage.rst:19061 +#: ../../../AMDGPUUsage.rst:20050 msgid "" "How are function results returned? The address of structured types is passed " "by reference, but what about other types?" msgstr "" -#: ../../../AMDGPUUsage.rst:19064 +#: ../../../AMDGPUUsage.rst:20053 msgid "" "The function input arguments are made up of the formal arguments explicitly " "declared by the source language function plus the implicit input arguments " "used by the implementation." msgstr "" -#: ../../../AMDGPUUsage.rst:19068 +#: ../../../AMDGPUUsage.rst:20057 msgid "The source language input arguments are:" msgstr "" -#: ../../../AMDGPUUsage.rst:19070 +#: ../../../AMDGPUUsage.rst:20059 msgid "" "Any source language implicit ``this`` or ``self`` argument comes first as a " "pointer type." msgstr "" -#: ../../../AMDGPUUsage.rst:19072 +#: ../../../AMDGPUUsage.rst:20061 msgid "" "Followed by the function formal arguments in left to right source order." msgstr "" -#: ../../../AMDGPUUsage.rst:19074 +#: ../../../AMDGPUUsage.rst:20063 msgid "The source language result arguments are:" msgstr "" -#: ../../../AMDGPUUsage.rst:19076 +#: ../../../AMDGPUUsage.rst:20065 msgid "The function result argument." msgstr "" -#: ../../../AMDGPUUsage.rst:19078 +#: ../../../AMDGPUUsage.rst:20067 msgid "" "The source language input or result struct type arguments that are less than " "or equal to 16 bytes, are decomposed recursively into their base type " @@ -18732,7 +19953,7 @@ msgid "" "Clang terms this *direct struct*." msgstr "" -#: ../../../AMDGPUUsage.rst:19086 +#: ../../../AMDGPUUsage.rst:20075 msgid "" "The source language input struct type arguments that are greater than 16 " "bytes, are passed by reference. The caller is responsible for allocating a " @@ -18742,7 +19963,7 @@ msgid "" "struct*." msgstr "" -#: ../../../AMDGPUUsage.rst:19092 +#: ../../../AMDGPUUsage.rst:20081 msgid "" "A source language result struct type argument that is greater than 16 bytes, " "is returned by reference. The caller is responsible for allocating a stack " @@ -18753,11 +19974,11 @@ msgid "" "return (sret)*." msgstr "" -#: ../../../AMDGPUUsage.rst:19099 +#: ../../../AMDGPUUsage.rst:20088 msgid "*TODO: correct the ``sret`` definition.*" msgstr "" -#: ../../../AMDGPUUsage.rst:19103 +#: ../../../AMDGPUUsage.rst:20092 msgid "" "Is this definition correct? Or is ``sret`` only used if passing in " "registers, and pass as non-decomposed struct as stack argument? Or something " @@ -18768,24 +19989,24 @@ msgid "" "last one?" msgstr "" -#: ../../../AMDGPUUsage.rst:19110 +#: ../../../AMDGPUUsage.rst:20099 msgid "" "Lambda argument types are treated as struct types with an implementation " "defined set of fields." msgstr "" -#: ../../../AMDGPUUsage.rst:19115 +#: ../../../AMDGPUUsage.rst:20104 msgid "Need to specify the ABI for lambda types for AMDGPU." msgstr "" -#: ../../../AMDGPUUsage.rst:19117 +#: ../../../AMDGPUUsage.rst:20106 msgid "" "For AMDGPU backend all source language arguments (including the decomposed " "struct type arguments) are passed in VGPRs unless marked ``inreg`` in which " "case they are passed in SGPRs." msgstr "" -#: ../../../AMDGPUUsage.rst:19121 +#: ../../../AMDGPUUsage.rst:20110 msgid "" "The AMDGPU backend walks the function call graph from the leaves to " "determine which implicit input arguments are used, propagating to each " @@ -18794,156 +20015,156 @@ msgid "" "order:" msgstr "" -#: ../../../AMDGPUUsage.rst:19128 +#: ../../../AMDGPUUsage.rst:20117 msgid "Is recursion or external functions supported?" msgstr "" -#: ../../../AMDGPUUsage.rst:19130 +#: ../../../AMDGPUUsage.rst:20119 msgid "Work-Item ID (1 VGPR)" msgstr "" -#: ../../../AMDGPUUsage.rst:19132 +#: ../../../AMDGPUUsage.rst:20121 msgid "" "The X, Y and Z work-item ID are packed into a single VGRP with the following " "layout. Only fields actually used by the function are set. The other bits " "are undefined." msgstr "" -#: ../../../AMDGPUUsage.rst:19136 +#: ../../../AMDGPUUsage.rst:20125 msgid "" "The values come from the initial kernel execution state. See :ref:`amdgpu-" "amdhsa-initial-kernel-execution-state`." msgstr "" -#: ../../../AMDGPUUsage.rst:19139 +#: ../../../AMDGPUUsage.rst:20128 msgid "Work-item implicit argument layout" msgstr "" -#: ../../../AMDGPUUsage.rst:19145 +#: ../../../AMDGPUUsage.rst:20134 msgid "9:0" msgstr "" -#: ../../../AMDGPUUsage.rst:19145 +#: ../../../AMDGPUUsage.rst:20134 msgid "X Work-Item ID" msgstr "" -#: ../../../AMDGPUUsage.rst:19146 +#: ../../../AMDGPUUsage.rst:20135 msgid "19:10" msgstr "" -#: ../../../AMDGPUUsage.rst:19146 +#: ../../../AMDGPUUsage.rst:20135 msgid "Y Work-Item ID" msgstr "" -#: ../../../AMDGPUUsage.rst:19147 +#: ../../../AMDGPUUsage.rst:20136 msgid "29:20" msgstr "" -#: ../../../AMDGPUUsage.rst:19147 +#: ../../../AMDGPUUsage.rst:20136 msgid "Z Work-Item ID" msgstr "" -#: ../../../AMDGPUUsage.rst:19148 +#: ../../../AMDGPUUsage.rst:20137 msgid "31:30" msgstr "" -#: ../../../AMDGPUUsage.rst:19148 +#: ../../../AMDGPUUsage.rst:20137 msgid "Unused" msgstr "" -#: ../../../AMDGPUUsage.rst:19151 +#: ../../../AMDGPUUsage.rst:20140 msgid "Dispatch Ptr (2 SGPRs)" msgstr "" -#: ../../../AMDGPUUsage.rst:19153 ../../../AMDGPUUsage.rst:19158 -#: ../../../AMDGPUUsage.rst:19163 ../../../AMDGPUUsage.rst:19168 -#: ../../../AMDGPUUsage.rst:19173 ../../../AMDGPUUsage.rst:19178 -#: ../../../AMDGPUUsage.rst:19183 +#: ../../../AMDGPUUsage.rst:20142 ../../../AMDGPUUsage.rst:20147 +#: ../../../AMDGPUUsage.rst:20152 ../../../AMDGPUUsage.rst:20157 +#: ../../../AMDGPUUsage.rst:20162 ../../../AMDGPUUsage.rst:20167 +#: ../../../AMDGPUUsage.rst:20172 msgid "" "The value comes from the initial kernel execution state. See :ref:`amdgpu-" "amdhsa-sgpr-register-set-up-order-table`." msgstr "" -#: ../../../AMDGPUUsage.rst:19156 +#: ../../../AMDGPUUsage.rst:20145 msgid "Queue Ptr (2 SGPRs)" msgstr "" -#: ../../../AMDGPUUsage.rst:19161 +#: ../../../AMDGPUUsage.rst:20150 msgid "Kernarg Segment Ptr (2 SGPRs)" msgstr "" -#: ../../../AMDGPUUsage.rst:19166 +#: ../../../AMDGPUUsage.rst:20155 msgid "Dispatch id (2 SGPRs)" msgstr "" -#: ../../../AMDGPUUsage.rst:19171 +#: ../../../AMDGPUUsage.rst:20160 msgid "Work-Group ID X (1 SGPR)" msgstr "" -#: ../../../AMDGPUUsage.rst:19176 +#: ../../../AMDGPUUsage.rst:20165 msgid "Work-Group ID Y (1 SGPR)" msgstr "" -#: ../../../AMDGPUUsage.rst:19181 +#: ../../../AMDGPUUsage.rst:20170 msgid "Work-Group ID Z (1 SGPR)" msgstr "" -#: ../../../AMDGPUUsage.rst:19186 +#: ../../../AMDGPUUsage.rst:20175 msgid "Implicit Argument Ptr (2 SGPRs)" msgstr "" -#: ../../../AMDGPUUsage.rst:19188 +#: ../../../AMDGPUUsage.rst:20177 msgid "" "The value is computed by adding an offset to Kernarg Segment Ptr to get the " "global address space pointer to the first kernarg implicit argument." msgstr "" -#: ../../../AMDGPUUsage.rst:19191 +#: ../../../AMDGPUUsage.rst:20180 msgid "" "The input and result arguments are assigned in order in the following manner:" msgstr "" -#: ../../../AMDGPUUsage.rst:19195 +#: ../../../AMDGPUUsage.rst:20184 msgid "" "There are likely some errors and omissions in the following description that " "need correction." msgstr "" -#: ../../../AMDGPUUsage.rst:19200 +#: ../../../AMDGPUUsage.rst:20189 msgid "" "Check the Clang source code to decipher how function arguments and return " "results are handled. Also see the AMDGPU specific values used." msgstr "" -#: ../../../AMDGPUUsage.rst:19203 +#: ../../../AMDGPUUsage.rst:20192 msgid "" "VGPR arguments are assigned to consecutive VGPRs starting at VGPR0 up to " "VGPR31." msgstr "" -#: ../../../AMDGPUUsage.rst:19206 ../../../AMDGPUUsage.rst:19217 +#: ../../../AMDGPUUsage.rst:20195 ../../../AMDGPUUsage.rst:20206 msgid "" "If there are more arguments than will fit in these registers, the remaining " "arguments are allocated on the stack in order on naturally aligned addresses." msgstr "" -#: ../../../AMDGPUUsage.rst:19212 +#: ../../../AMDGPUUsage.rst:20201 msgid "How are overly aligned structures allocated on the stack?" msgstr "" -#: ../../../AMDGPUUsage.rst:19214 +#: ../../../AMDGPUUsage.rst:20203 msgid "" "SGPR arguments are assigned to consecutive SGPRs starting at SGPR0 up to " "SGPR29." msgstr "" -#: ../../../AMDGPUUsage.rst:19221 +#: ../../../AMDGPUUsage.rst:20210 msgid "" "Note that decomposed struct type arguments may have some fields passed in " "registers and some in memory." msgstr "" -#: ../../../AMDGPUUsage.rst:19226 +#: ../../../AMDGPUUsage.rst:20215 msgid "" "So, a struct which can pass some fields as decomposed register arguments, " "will pass the rest as decomposed stack elements? But an argument that will " @@ -18951,44 +20172,44 @@ msgid "" "decomposed stack value?" msgstr "" -#: ../../../AMDGPUUsage.rst:19231 +#: ../../../AMDGPUUsage.rst:20220 msgid "" "The following is not part of the AMDGPU function calling convention but " "describes how the AMDGPU implements function calls:" msgstr "" -#: ../../../AMDGPUUsage.rst:19234 +#: ../../../AMDGPUUsage.rst:20223 msgid "" "SGPR33 is used as a frame pointer (FP) if necessary. Like the SP it is an " "unswizzled scratch address. It is only needed if runtime sized ``alloca`` " "are used, or for the reasons defined in ``SIFrameLowering``." msgstr "" -#: ../../../AMDGPUUsage.rst:19237 +#: ../../../AMDGPUUsage.rst:20226 msgid "" "Runtime stack alignment is supported. SGPR34 is used as a base pointer (BP) " "to access the incoming stack arguments in the function. The BP is needed " "only when the function requires the runtime stack alignment." msgstr "" -#: ../../../AMDGPUUsage.rst:19241 +#: ../../../AMDGPUUsage.rst:20230 msgid "Allocating SGPR arguments on the stack are not supported." msgstr "" -#: ../../../AMDGPUUsage.rst:19243 +#: ../../../AMDGPUUsage.rst:20232 msgid "" "No CFI is currently generated. See :ref:`amdgpu-dwarf-call-frame-" "information`." msgstr "" -#: ../../../AMDGPUUsage.rst:19248 +#: ../../../AMDGPUUsage.rst:20237 msgid "" "CFI will be generated that defines the CFA as the unswizzled address " "relative to the wave scratch base in the unswizzled private address space of " "the lowest address stack allocated local variable." msgstr "" -#: ../../../AMDGPUUsage.rst:19252 +#: ../../../AMDGPUUsage.rst:20241 msgid "" "``DW_AT_frame_base`` will be defined as the swizzled address in the swizzled " "private address space by dividing the CFA by the wavefront size (since CFA " @@ -18996,7 +20217,7 @@ msgid "" "size)." msgstr "" -#: ../../../AMDGPUUsage.rst:19257 +#: ../../../AMDGPUUsage.rst:20246 msgid "" "If no dynamic stack alignment was performed, the stack allocated arguments " "are accessed as negative offsets relative to ``DW_AT_frame_base``, and the " @@ -19004,7 +20225,7 @@ msgid "" "relative to ``DW_AT_frame_base``." msgstr "" -#: ../../../AMDGPUUsage.rst:19262 +#: ../../../AMDGPUUsage.rst:20251 msgid "" "Function argument passing is implemented by copying the input physical " "registers to virtual registers on entry. The register allocator can spill if " @@ -19013,77 +20234,77 @@ msgid "" "distinct locations. The IPRA can help avoid shuffling argument registers." msgstr "" -#: ../../../AMDGPUUsage.rst:19267 +#: ../../../AMDGPUUsage.rst:20256 msgid "" "Call sites are implemented by setting up the arguments at positive offsets " "from SP. Then SP is incremented to account for the known frame size before " "the call and decremented after the call." msgstr "" -#: ../../../AMDGPUUsage.rst:19273 +#: ../../../AMDGPUUsage.rst:20262 msgid "" "The CFI will reflect the changed calculation needed to compute the CFA from " "SP." msgstr "" -#: ../../../AMDGPUUsage.rst:19276 +#: ../../../AMDGPUUsage.rst:20265 msgid "" "4-byte spill slots are used in the stack frame. One slot is allocated for an " "emergency spill slot. Buffer instructions are used for stack accesses and " "not the ``flat_scratch`` instruction." msgstr "" -#: ../../../AMDGPUUsage.rst:19282 +#: ../../../AMDGPUUsage.rst:20271 msgid "Explain when the emergency spill slot is used." msgstr "" -#: ../../../AMDGPUUsage.rst:19286 +#: ../../../AMDGPUUsage.rst:20275 msgid "Possible broken issues:" msgstr "" -#: ../../../AMDGPUUsage.rst:19288 +#: ../../../AMDGPUUsage.rst:20277 msgid "Stack arguments must be aligned to required alignment." msgstr "" -#: ../../../AMDGPUUsage.rst:19289 +#: ../../../AMDGPUUsage.rst:20278 msgid "Stack is aligned to max(16, max formal argument alignment)" msgstr "" -#: ../../../AMDGPUUsage.rst:19290 +#: ../../../AMDGPUUsage.rst:20279 msgid "Direct argument < 64 bits should check register budget." msgstr "" -#: ../../../AMDGPUUsage.rst:19291 +#: ../../../AMDGPUUsage.rst:20280 msgid "Register budget calculation should respect ``inreg`` for SGPR." msgstr "" -#: ../../../AMDGPUUsage.rst:19292 +#: ../../../AMDGPUUsage.rst:20281 msgid "SGPR overflow is not handled." msgstr "" -#: ../../../AMDGPUUsage.rst:19293 +#: ../../../AMDGPUUsage.rst:20282 msgid "struct with 1 member unpeeling is not checking size of member." msgstr "" -#: ../../../AMDGPUUsage.rst:19294 +#: ../../../AMDGPUUsage.rst:20283 msgid "``sret`` is after ``this`` pointer." msgstr "" -#: ../../../AMDGPUUsage.rst:19295 +#: ../../../AMDGPUUsage.rst:20284 msgid "Caller is not implementing stack realignment: need an extra pointer." msgstr "" -#: ../../../AMDGPUUsage.rst:19296 +#: ../../../AMDGPUUsage.rst:20285 msgid "Should say AMDGPU passes FP rather than SP." msgstr "" -#: ../../../AMDGPUUsage.rst:19297 +#: ../../../AMDGPUUsage.rst:20286 msgid "" "Should CFI define CFA as address of locals or arguments. Difference is " "apparent when have implemented dynamic alignment." msgstr "" -#: ../../../AMDGPUUsage.rst:19299 +#: ../../../AMDGPUUsage.rst:20288 msgid "" "If ``SCRATCH`` instruction could allow negative offsets, then can make FP be " "highest address of stack frame and use negative offset for locals. Would " @@ -19091,36 +20312,36 @@ msgid "" "have a real SP for the top of the stack." msgstr "" -#: ../../../AMDGPUUsage.rst:19303 +#: ../../../AMDGPUUsage.rst:20292 msgid "" "How is ``sret`` passed on the stack? In argument stack area? Can it overlay " "arguments?" msgstr "" -#: ../../../AMDGPUUsage.rst:19307 +#: ../../../AMDGPUUsage.rst:20296 msgid "AMDPAL" msgstr "" -#: ../../../AMDGPUUsage.rst:19309 +#: ../../../AMDGPUUsage.rst:20298 msgid "" "This section provides code conventions used when the target triple OS is " "``amdpal`` (see :ref:`amdgpu-target-triples`)." msgstr "" -#: ../../../AMDGPUUsage.rst:19319 +#: ../../../AMDGPUUsage.rst:20308 msgid "" "The metadata is currently in development and is subject to major changes. " "Only the current version is supported. *When this document was generated the " "version was 2.6.*" msgstr "" -#: ../../../AMDGPUUsage.rst:19323 +#: ../../../AMDGPUUsage.rst:20312 msgid "" "Code object metadata is specified by the ``NT_AMDGPU_METADATA`` note record " "(see :ref:`amdgpu-note-records-v3-onwards`)." msgstr "" -#: ../../../AMDGPUUsage.rst:19326 +#: ../../../AMDGPUUsage.rst:20315 msgid "" "The metadata is represented as Message Pack formatted binary data (see " "[MsgPack]_). The top level is a Message Pack map that includes the keys " @@ -19128,79 +20349,79 @@ msgid "" "referenced tables." msgstr "" -#: ../../../AMDGPUUsage.rst:19337 +#: ../../../AMDGPUUsage.rst:20326 msgid "AMDPAL Code Object Metadata Map" msgstr "" -#: ../../../AMDGPUUsage.rst:19343 +#: ../../../AMDGPUUsage.rst:20332 msgid "\"amdpal.version\"" msgstr "" -#: ../../../AMDGPUUsage.rst:19343 +#: ../../../AMDGPUUsage.rst:20332 msgid "" "PAL code object metadata (major, minor) version. The current values are " "defined by *Util::Abi::PipelineMetadata(Major|Minor)Version*." msgstr "" -#: ../../../AMDGPUUsage.rst:19345 +#: ../../../AMDGPUUsage.rst:20334 msgid "\"amdpal.pipelines\"" msgstr "" -#: ../../../AMDGPUUsage.rst:19345 +#: ../../../AMDGPUUsage.rst:20334 msgid "" "Per-pipeline metadata. See :ref:`amdgpu-amdpal-code-object-pipeline-metadata-" "map-table` for the definition of the keys included in that map." msgstr "" -#: ../../../AMDGPUUsage.rst:19352 +#: ../../../AMDGPUUsage.rst:20341 msgid "AMDPAL Code Object Pipeline Metadata Map" msgstr "" -#: ../../../AMDGPUUsage.rst:19358 +#: ../../../AMDGPUUsage.rst:20347 msgid "Source name of the pipeline." msgstr "" -#: ../../../AMDGPUUsage.rst:19359 +#: ../../../AMDGPUUsage.rst:20348 msgid "\".type\"" msgstr "" -#: ../../../AMDGPUUsage.rst:19359 +#: ../../../AMDGPUUsage.rst:20348 msgid "Pipeline type, e.g. VsPs. Values include:" msgstr "" -#: ../../../AMDGPUUsage.rst:19361 +#: ../../../AMDGPUUsage.rst:20350 msgid "\"VsPs\"" msgstr "" -#: ../../../AMDGPUUsage.rst:19362 +#: ../../../AMDGPUUsage.rst:20351 msgid "\"Gs\"" msgstr "" -#: ../../../AMDGPUUsage.rst:19363 +#: ../../../AMDGPUUsage.rst:20352 msgid "\"Cs\"" msgstr "" -#: ../../../AMDGPUUsage.rst:19364 +#: ../../../AMDGPUUsage.rst:20353 msgid "\"Ngg\"" msgstr "" -#: ../../../AMDGPUUsage.rst:19365 +#: ../../../AMDGPUUsage.rst:20354 msgid "\"Tess\"" msgstr "" -#: ../../../AMDGPUUsage.rst:19366 +#: ../../../AMDGPUUsage.rst:20355 msgid "\"GsTess\"" msgstr "" -#: ../../../AMDGPUUsage.rst:19367 +#: ../../../AMDGPUUsage.rst:20356 msgid "\"NggTess\"" msgstr "" -#: ../../../AMDGPUUsage.rst:19369 +#: ../../../AMDGPUUsage.rst:20358 msgid "\".internal_pipeline_hash\"" msgstr "" -#: ../../../AMDGPUUsage.rst:19369 +#: ../../../AMDGPUUsage.rst:20358 msgid "" "Internal compiler hash for this pipeline. Lower 64 bits is the \"stable\" " "portion of the hash, used for e.g. shader replacement lookup. Upper 64 bits " @@ -19209,85 +20430,85 @@ msgid "" "different builds of the compiler." msgstr "" -#: ../../../AMDGPUUsage.rst:19376 +#: ../../../AMDGPUUsage.rst:20365 msgid "\".shaders\"" msgstr "" -#: ../../../AMDGPUUsage.rst:19376 ../../../AMDGPUUsage.rst:19380 -#: ../../../AMDGPUUsage.rst:19384 ../../../AMDGPUUsage.rst:19388 -#: ../../../AMDGPUUsage.rst:19429 ../../../AMDGPUUsage.rst:19469 -#: ../../../AMDGPUUsage.rst:19521 +#: ../../../AMDGPUUsage.rst:20365 ../../../AMDGPUUsage.rst:20369 +#: ../../../AMDGPUUsage.rst:20373 ../../../AMDGPUUsage.rst:20377 +#: ../../../AMDGPUUsage.rst:20418 ../../../AMDGPUUsage.rst:20458 +#: ../../../AMDGPUUsage.rst:20510 msgid "map" msgstr "" -#: ../../../AMDGPUUsage.rst:19376 +#: ../../../AMDGPUUsage.rst:20365 msgid "" "Per-API shader metadata. See :ref:`amdgpu-amdpal-code-object-shader-map-" "table` for the definition of the keys included in that map." msgstr "" -#: ../../../AMDGPUUsage.rst:19380 +#: ../../../AMDGPUUsage.rst:20369 msgid "\".hardware_stages\"" msgstr "" -#: ../../../AMDGPUUsage.rst:19380 +#: ../../../AMDGPUUsage.rst:20369 msgid "" "Per-hardware stage metadata. See :ref:`amdgpu-amdpal-code-object-hardware-" "stage-map-table` for the definition of the keys included in that map." msgstr "" -#: ../../../AMDGPUUsage.rst:19384 +#: ../../../AMDGPUUsage.rst:20373 msgid "\".shader_functions\"" msgstr "" -#: ../../../AMDGPUUsage.rst:19384 +#: ../../../AMDGPUUsage.rst:20373 msgid "" "Per-shader function metadata. See :ref:`amdgpu-amdpal-code-object-shader-" "function-map-table` for the definition of the keys included in that map." msgstr "" -#: ../../../AMDGPUUsage.rst:19388 +#: ../../../AMDGPUUsage.rst:20377 msgid "\".registers\"" msgstr "" -#: ../../../AMDGPUUsage.rst:19388 +#: ../../../AMDGPUUsage.rst:20377 msgid "" "Hardware register configuration. See :ref:`amdgpu-amdpal-code-object-" "register-map-table` for the definition of the keys included in that map." msgstr "" -#: ../../../AMDGPUUsage.rst:19392 +#: ../../../AMDGPUUsage.rst:20381 msgid "\".user_data_limit\"" msgstr "" -#: ../../../AMDGPUUsage.rst:19392 +#: ../../../AMDGPUUsage.rst:20381 msgid "Number of user data entries accessed by this pipeline." msgstr "" -#: ../../../AMDGPUUsage.rst:19394 +#: ../../../AMDGPUUsage.rst:20383 msgid "\".spill_threshold\"" msgstr "" -#: ../../../AMDGPUUsage.rst:19394 +#: ../../../AMDGPUUsage.rst:20383 msgid "The user data spill threshold. 0xFFFF for NoUserDataSpilling." msgstr "" -#: ../../../AMDGPUUsage.rst:19396 +#: ../../../AMDGPUUsage.rst:20385 msgid "\".uses_viewport_array_index\"" msgstr "" -#: ../../../AMDGPUUsage.rst:19396 +#: ../../../AMDGPUUsage.rst:20385 msgid "" "Indicates whether or not the pipeline uses the viewport array index feature. " "Pipelines which use this feature can render into all 16 viewports, whereas " "pipelines which do not use it are restricted to viewport #0." msgstr "" -#: ../../../AMDGPUUsage.rst:19401 +#: ../../../AMDGPUUsage.rst:20390 msgid "\".es_gs_lds_size\"" msgstr "" -#: ../../../AMDGPUUsage.rst:19401 +#: ../../../AMDGPUUsage.rst:20390 msgid "" "Size in bytes of LDS space used internally for handling data-passing between " "the ES and GS shader stages. This can be zero if the data is passed using " @@ -19296,367 +20517,367 @@ msgid "" "GS and VS HW stages will ever have a user-SGPR so marked)." msgstr "" -#: ../../../AMDGPUUsage.rst:19409 +#: ../../../AMDGPUUsage.rst:20398 msgid "\".nggSubgroupSize\"" msgstr "" -#: ../../../AMDGPUUsage.rst:19409 +#: ../../../AMDGPUUsage.rst:20398 msgid "" "Explicit maximum subgroup size for NGG shaders (maximum number of threads in " "a subgroup)." msgstr "" -#: ../../../AMDGPUUsage.rst:19411 +#: ../../../AMDGPUUsage.rst:20400 msgid "\".num_interpolants\"" msgstr "" -#: ../../../AMDGPUUsage.rst:19411 +#: ../../../AMDGPUUsage.rst:20400 msgid "Graphics only. Number of PS interpolants." msgstr "" -#: ../../../AMDGPUUsage.rst:19412 +#: ../../../AMDGPUUsage.rst:20401 msgid "\".mesh_scratch_memory_size\"" msgstr "" -#: ../../../AMDGPUUsage.rst:19412 +#: ../../../AMDGPUUsage.rst:20401 msgid "Max mesh shader scratch memory used." msgstr "" -#: ../../../AMDGPUUsage.rst:19413 +#: ../../../AMDGPUUsage.rst:20402 msgid "\".api\"" msgstr "" -#: ../../../AMDGPUUsage.rst:19413 +#: ../../../AMDGPUUsage.rst:20402 msgid "Name of the client graphics API." msgstr "" -#: ../../../AMDGPUUsage.rst:19414 +#: ../../../AMDGPUUsage.rst:20403 msgid "\".api_create_info\"" msgstr "" -#: ../../../AMDGPUUsage.rst:19414 +#: ../../../AMDGPUUsage.rst:20403 msgid "binary" msgstr "" -#: ../../../AMDGPUUsage.rst:19414 +#: ../../../AMDGPUUsage.rst:20403 msgid "" "Graphics API shader create info binary blob. Can be defined by the driver " "using the compiler if they want to be able to correlate API-specific " "information used during creation at a later time." msgstr "" -#: ../../../AMDGPUUsage.rst:19422 +#: ../../../AMDGPUUsage.rst:20411 msgid "AMDPAL Code Object Shader Map" msgstr "" -#: ../../../AMDGPUUsage.rst:19429 +#: ../../../AMDGPUUsage.rst:20418 msgid "\".compute\"" msgstr "" -#: ../../../AMDGPUUsage.rst:19430 +#: ../../../AMDGPUUsage.rst:20419 msgid "\".vertex\"" msgstr "" -#: ../../../AMDGPUUsage.rst:19431 +#: ../../../AMDGPUUsage.rst:20420 msgid "\".hull\"" msgstr "" -#: ../../../AMDGPUUsage.rst:19432 +#: ../../../AMDGPUUsage.rst:20421 msgid "\".domain\"" msgstr "" -#: ../../../AMDGPUUsage.rst:19433 +#: ../../../AMDGPUUsage.rst:20422 msgid "\".geometry\"" msgstr "" -#: ../../../AMDGPUUsage.rst:19434 +#: ../../../AMDGPUUsage.rst:20423 msgid "\".pixel\"" msgstr "" -#: ../../../AMDGPUUsage.rst:19429 +#: ../../../AMDGPUUsage.rst:20418 msgid "" "See :ref:`amdgpu-amdpal-code-object-api-shader-metadata-map-table` for the " "definition of the keys included in that map." msgstr "" -#: ../../../AMDGPUUsage.rst:19439 +#: ../../../AMDGPUUsage.rst:20428 msgid "AMDPAL Code Object API Shader Metadata Map" msgstr "" -#: ../../../AMDGPUUsage.rst:19445 ../../../AMDGPUUsage.rst:19534 +#: ../../../AMDGPUUsage.rst:20434 ../../../AMDGPUUsage.rst:20523 msgid "\".api_shader_hash\"" msgstr "" -#: ../../../AMDGPUUsage.rst:19445 ../../../AMDGPUUsage.rst:19534 +#: ../../../AMDGPUUsage.rst:20434 ../../../AMDGPUUsage.rst:20523 msgid "" "Input shader hash, typically passed in from the client. The value is " "implementation defined, and can not be relied on between different builds of " "the compiler." msgstr "" -#: ../../../AMDGPUUsage.rst:19448 +#: ../../../AMDGPUUsage.rst:20437 msgid "\".hardware_mapping\"" msgstr "" -#: ../../../AMDGPUUsage.rst:19448 +#: ../../../AMDGPUUsage.rst:20437 msgid "sequence of string" msgstr "" -#: ../../../AMDGPUUsage.rst:19448 +#: ../../../AMDGPUUsage.rst:20437 msgid "Flags indicating the HW stages this API shader maps to. Values include:" msgstr "" -#: ../../../AMDGPUUsage.rst:19451 ../../../AMDGPUUsage.rst:19469 +#: ../../../AMDGPUUsage.rst:20440 ../../../AMDGPUUsage.rst:20458 msgid "\".ls\"" msgstr "" -#: ../../../AMDGPUUsage.rst:19452 ../../../AMDGPUUsage.rst:19470 +#: ../../../AMDGPUUsage.rst:20441 ../../../AMDGPUUsage.rst:20459 msgid "\".hs\"" msgstr "" -#: ../../../AMDGPUUsage.rst:19453 ../../../AMDGPUUsage.rst:19471 +#: ../../../AMDGPUUsage.rst:20442 ../../../AMDGPUUsage.rst:20460 msgid "\".es\"" msgstr "" -#: ../../../AMDGPUUsage.rst:19454 ../../../AMDGPUUsage.rst:19472 +#: ../../../AMDGPUUsage.rst:20443 ../../../AMDGPUUsage.rst:20461 msgid "\".gs\"" msgstr "" -#: ../../../AMDGPUUsage.rst:19455 ../../../AMDGPUUsage.rst:19473 +#: ../../../AMDGPUUsage.rst:20444 ../../../AMDGPUUsage.rst:20462 msgid "\".vs\"" msgstr "" -#: ../../../AMDGPUUsage.rst:19456 ../../../AMDGPUUsage.rst:19474 +#: ../../../AMDGPUUsage.rst:20445 ../../../AMDGPUUsage.rst:20463 msgid "\".ps\"" msgstr "" -#: ../../../AMDGPUUsage.rst:19457 ../../../AMDGPUUsage.rst:19475 +#: ../../../AMDGPUUsage.rst:20446 ../../../AMDGPUUsage.rst:20464 msgid "\".cs\"" msgstr "" -#: ../../../AMDGPUUsage.rst:19463 +#: ../../../AMDGPUUsage.rst:20452 msgid "AMDPAL Code Object Hardware Stage Map" msgstr "" -#: ../../../AMDGPUUsage.rst:19469 +#: ../../../AMDGPUUsage.rst:20458 msgid "" "See :ref:`amdgpu-amdpal-code-object-hardware-stage-metadata-map-table` for " "the definition of the keys included in that map." msgstr "" -#: ../../../AMDGPUUsage.rst:19480 +#: ../../../AMDGPUUsage.rst:20469 msgid "AMDPAL Code Object Hardware Stage Metadata Map" msgstr "" -#: ../../../AMDGPUUsage.rst:19486 +#: ../../../AMDGPUUsage.rst:20475 msgid "\".entry_point\"" msgstr "" -#: ../../../AMDGPUUsage.rst:19486 +#: ../../../AMDGPUUsage.rst:20475 msgid "The ELF symbol pointing to this pipeline's stage entry point." msgstr "" -#: ../../../AMDGPUUsage.rst:19487 ../../../AMDGPUUsage.rst:19537 +#: ../../../AMDGPUUsage.rst:20476 ../../../AMDGPUUsage.rst:20526 msgid "\".scratch_memory_size\"" msgstr "" -#: ../../../AMDGPUUsage.rst:19487 +#: ../../../AMDGPUUsage.rst:20476 msgid "Scratch memory size in bytes." msgstr "" -#: ../../../AMDGPUUsage.rst:19488 ../../../AMDGPUUsage.rst:19538 +#: ../../../AMDGPUUsage.rst:20477 ../../../AMDGPUUsage.rst:20527 msgid "\".lds_size\"" msgstr "" -#: ../../../AMDGPUUsage.rst:19488 +#: ../../../AMDGPUUsage.rst:20477 msgid "Local Data Share size in bytes." msgstr "" -#: ../../../AMDGPUUsage.rst:19489 +#: ../../../AMDGPUUsage.rst:20478 msgid "\".perf_data_buffer_size\"" msgstr "" -#: ../../../AMDGPUUsage.rst:19489 +#: ../../../AMDGPUUsage.rst:20478 msgid "Performance data buffer size in bytes." msgstr "" -#: ../../../AMDGPUUsage.rst:19490 +#: ../../../AMDGPUUsage.rst:20479 msgid "Number of VGPRs used." msgstr "" -#: ../../../AMDGPUUsage.rst:19491 +#: ../../../AMDGPUUsage.rst:20480 msgid "Number of AGPRs used." msgstr "" -#: ../../../AMDGPUUsage.rst:19492 +#: ../../../AMDGPUUsage.rst:20481 msgid "Number of SGPRs used." msgstr "" -#: ../../../AMDGPUUsage.rst:19493 +#: ../../../AMDGPUUsage.rst:20482 msgid "\".dynamic_vgpr_saved_count\"" msgstr "" -#: ../../../AMDGPUUsage.rst:19493 +#: ../../../AMDGPUUsage.rst:20482 msgid "No" msgstr "" -#: ../../../AMDGPUUsage.rst:19493 +#: ../../../AMDGPUUsage.rst:20482 msgid "" "Number of dynamic VGPRs that can be stored in scratch by the CWSR trap " "handler. Only used on GFX12+." msgstr "" -#: ../../../AMDGPUUsage.rst:19495 +#: ../../../AMDGPUUsage.rst:20484 msgid "\".vgpr_limit\"" msgstr "" -#: ../../../AMDGPUUsage.rst:19495 +#: ../../../AMDGPUUsage.rst:20484 msgid "" "If non-zero, indicates the shader was compiled with a directive to instruct " "the compiler to limit the VGPR usage to be less than or equal to the " "specified value (only set if different from HW default)." msgstr "" -#: ../../../AMDGPUUsage.rst:19499 +#: ../../../AMDGPUUsage.rst:20488 msgid "\".sgpr_limit\"" msgstr "" -#: ../../../AMDGPUUsage.rst:19499 +#: ../../../AMDGPUUsage.rst:20488 msgid "SGPR count upper limit (only set if different from HW default)." msgstr "" -#: ../../../AMDGPUUsage.rst:19501 +#: ../../../AMDGPUUsage.rst:20490 msgid "\".threadgroup_dimensions\"" msgstr "" -#: ../../../AMDGPUUsage.rst:19501 +#: ../../../AMDGPUUsage.rst:20490 msgid "Thread-group X/Y/Z dimensions (Compute only)." msgstr "" -#: ../../../AMDGPUUsage.rst:19503 +#: ../../../AMDGPUUsage.rst:20492 msgid "Wavefront size (only set if different from HW default)." msgstr "" -#: ../../../AMDGPUUsage.rst:19504 +#: ../../../AMDGPUUsage.rst:20493 msgid "\".uses_uavs\"" msgstr "" -#: ../../../AMDGPUUsage.rst:19504 +#: ../../../AMDGPUUsage.rst:20493 msgid "The shader reads or writes UAVs." msgstr "" -#: ../../../AMDGPUUsage.rst:19505 +#: ../../../AMDGPUUsage.rst:20494 msgid "\".uses_rovs\"" msgstr "" -#: ../../../AMDGPUUsage.rst:19505 +#: ../../../AMDGPUUsage.rst:20494 msgid "The shader reads or writes ROVs." msgstr "" -#: ../../../AMDGPUUsage.rst:19506 +#: ../../../AMDGPUUsage.rst:20495 msgid "\".writes_uavs\"" msgstr "" -#: ../../../AMDGPUUsage.rst:19506 +#: ../../../AMDGPUUsage.rst:20495 msgid "The shader writes to one or more UAVs." msgstr "" -#: ../../../AMDGPUUsage.rst:19507 +#: ../../../AMDGPUUsage.rst:20496 msgid "\".writes_depth\"" msgstr "" -#: ../../../AMDGPUUsage.rst:19507 +#: ../../../AMDGPUUsage.rst:20496 msgid "The shader writes out a depth value." msgstr "" -#: ../../../AMDGPUUsage.rst:19508 +#: ../../../AMDGPUUsage.rst:20497 msgid "\".uses_append_consume\"" msgstr "" -#: ../../../AMDGPUUsage.rst:19508 +#: ../../../AMDGPUUsage.rst:20497 msgid "The shader uses append and/or consume operations, either memory or GDS." msgstr "" -#: ../../../AMDGPUUsage.rst:19510 +#: ../../../AMDGPUUsage.rst:20499 msgid "\".uses_prim_id\"" msgstr "" -#: ../../../AMDGPUUsage.rst:19510 +#: ../../../AMDGPUUsage.rst:20499 msgid "The shader uses PrimID." msgstr "" -#: ../../../AMDGPUUsage.rst:19515 +#: ../../../AMDGPUUsage.rst:20504 msgid "AMDPAL Code Object Shader Function Map" msgstr "" -#: ../../../AMDGPUUsage.rst:19521 +#: ../../../AMDGPUUsage.rst:20510 msgid "*symbol name*" msgstr "" -#: ../../../AMDGPUUsage.rst:19521 +#: ../../../AMDGPUUsage.rst:20510 msgid "" "*symbol name* is the ELF symbol name of the shader function code entry " "address. The value is the function's metadata. See :ref:`amdgpu-amdpal-code-" "object-shader-function-metadata-map-table`." msgstr "" -#: ../../../AMDGPUUsage.rst:19528 +#: ../../../AMDGPUUsage.rst:20517 msgid "AMDPAL Code Object Shader Function Metadata Map" msgstr "" -#: ../../../AMDGPUUsage.rst:19537 +#: ../../../AMDGPUUsage.rst:20526 msgid "Size in bytes of scratch memory used by the shader." msgstr "" -#: ../../../AMDGPUUsage.rst:19538 +#: ../../../AMDGPUUsage.rst:20527 msgid "Size in bytes of LDS memory." msgstr "" -#: ../../../AMDGPUUsage.rst:19539 +#: ../../../AMDGPUUsage.rst:20528 msgid "Number of VGPRs used by the shader." msgstr "" -#: ../../../AMDGPUUsage.rst:19540 +#: ../../../AMDGPUUsage.rst:20529 msgid "Number of SGPRs used by the shader." msgstr "" -#: ../../../AMDGPUUsage.rst:19541 +#: ../../../AMDGPUUsage.rst:20530 msgid "\".stack_frame_size_in_bytes\"" msgstr "" -#: ../../../AMDGPUUsage.rst:19541 +#: ../../../AMDGPUUsage.rst:20530 msgid "Amount of stack size used by the shader." msgstr "" -#: ../../../AMDGPUUsage.rst:19542 +#: ../../../AMDGPUUsage.rst:20531 msgid "\".shader_subtype\"" msgstr "" -#: ../../../AMDGPUUsage.rst:19542 +#: ../../../AMDGPUUsage.rst:20531 msgid "Shader subtype/kind. Values include:" msgstr "" -#: ../../../AMDGPUUsage.rst:19544 +#: ../../../AMDGPUUsage.rst:20533 msgid "\"Unknown\"" msgstr "" -#: ../../../AMDGPUUsage.rst:19550 +#: ../../../AMDGPUUsage.rst:20539 msgid "AMDPAL Code Object Register Map" msgstr "" -#: ../../../AMDGPUUsage.rst:19554 +#: ../../../AMDGPUUsage.rst:20543 msgid "32-bit Integer Key" msgstr "" -#: ../../../AMDGPUUsage.rst:19556 +#: ../../../AMDGPUUsage.rst:20545 msgid "``reg offset``" msgstr "" -#: ../../../AMDGPUUsage.rst:19556 +#: ../../../AMDGPUUsage.rst:20545 msgid "32-bit integer" msgstr "" -#: ../../../AMDGPUUsage.rst:19556 +#: ../../../AMDGPUUsage.rst:20545 msgid "" "``reg offset`` is the dword offset into the GFXIP register space of a GRBM " "register (i.e., driver accessible GPU register number, not shader GPR " @@ -19669,11 +20890,11 @@ msgid "" "object-user-data-section` section for more information." msgstr "" -#: ../../../AMDGPUUsage.rst:19572 +#: ../../../AMDGPUUsage.rst:20561 msgid "User Data" msgstr "" -#: ../../../AMDGPUUsage.rst:19574 +#: ../../../AMDGPUUsage.rst:20563 msgid "" "Each hardware stage has a set of 32-bit physical SPI *user data registers* " "(either 16 or 32 based on graphics IP and the stage) which can be written " @@ -19682,7 +20903,7 @@ msgid "" "passed from the application/runtime to a hardware shader." msgstr "" -#: ../../../AMDGPUUsage.rst:19581 +#: ../../../AMDGPUUsage.rst:20570 msgid "" "PAL abstracts this functionality by exposing a set of 128 *user data " "entries* per pipeline a client can use to pass arguments from a command " @@ -19692,7 +20913,7 @@ msgid "" "including spilling overflow *user data entries* to memory if needed." msgstr "" -#: ../../../AMDGPUUsage.rst:19588 +#: ../../../AMDGPUUsage.rst:20577 msgid "" "Since the *user data registers* are GRBM-accessible SPI registers, this " "mapping is actually embedded in the ``.registers`` metadata entry. For most " @@ -19704,7 +20925,7 @@ msgid "" "This encoding is described in the following table:" msgstr "" -#: ../../../AMDGPUUsage.rst:19600 +#: ../../../AMDGPUUsage.rst:20589 msgid "" "Currently, *user data registers* 0 and 1 (e.g., SPI_SHADER_USER_DATA_PS_0, " "and SPI_SHADER_USER_DATA_PS_1) are reserved. *User data register* 0 must " @@ -19712,118 +20933,118 @@ msgid "" "register* 1 must always be programmed to the address of the PerShaderTable." msgstr "" -#: ../../../AMDGPUUsage.rst:19607 +#: ../../../AMDGPUUsage.rst:20596 msgid "AMDPAL User Data Mapping" msgstr "" -#: ../../../AMDGPUUsage.rst:19613 +#: ../../../AMDGPUUsage.rst:20602 msgid "0..127" msgstr "" -#: ../../../AMDGPUUsage.rst:19613 +#: ../../../AMDGPUUsage.rst:20602 msgid "*User Data Entry*" msgstr "" -#: ../../../AMDGPUUsage.rst:19613 +#: ../../../AMDGPUUsage.rst:20602 msgid "32-bit value of user_data_entry[N] as specified via *CmdSetUserData()*" msgstr "" -#: ../../../AMDGPUUsage.rst:19614 +#: ../../../AMDGPUUsage.rst:20603 msgid "0x10000000" msgstr "" -#: ../../../AMDGPUUsage.rst:19614 +#: ../../../AMDGPUUsage.rst:20603 msgid "GlobalTable" msgstr "" -#: ../../../AMDGPUUsage.rst:19614 +#: ../../../AMDGPUUsage.rst:20603 msgid "" "32-bit pointer to GPU memory containing the global internal table (should " "always point to *user data register* 0)." msgstr "" -#: ../../../AMDGPUUsage.rst:19616 +#: ../../../AMDGPUUsage.rst:20605 msgid "0x10000001" msgstr "" -#: ../../../AMDGPUUsage.rst:19616 +#: ../../../AMDGPUUsage.rst:20605 msgid "PerShaderTable" msgstr "" -#: ../../../AMDGPUUsage.rst:19616 +#: ../../../AMDGPUUsage.rst:20605 msgid "" "32-bit pointer to GPU memory containing the per-shader internal table. See :" "ref:`amdgpu-amdpal-code-object-metadata-user-data-per-shader-table-section` " "for more detail (should always point to *user data register* 1)." msgstr "" -#: ../../../AMDGPUUsage.rst:19619 +#: ../../../AMDGPUUsage.rst:20608 msgid "0x10000002" msgstr "" -#: ../../../AMDGPUUsage.rst:19619 +#: ../../../AMDGPUUsage.rst:20608 msgid "SpillTable" msgstr "" -#: ../../../AMDGPUUsage.rst:19619 +#: ../../../AMDGPUUsage.rst:20608 msgid "" "32-bit pointer to GPU memory containing the user data spill table. See :ref:" "`amdgpu-amdpal-code-object-metadata-user-data-spill-table-section` for more " "detail." msgstr "" -#: ../../../AMDGPUUsage.rst:19622 +#: ../../../AMDGPUUsage.rst:20611 msgid "0x10000003" msgstr "" -#: ../../../AMDGPUUsage.rst:19622 +#: ../../../AMDGPUUsage.rst:20611 msgid "BaseVertex" msgstr "" -#: ../../../AMDGPUUsage.rst:19622 +#: ../../../AMDGPUUsage.rst:20611 msgid "" "Vertex offset (32-bit unsigned integer). Not needed if the pipeline doesn't " "reference the draw index in the vertex shader. Only supported by the first " "stage in a graphics pipeline." msgstr "" -#: ../../../AMDGPUUsage.rst:19625 +#: ../../../AMDGPUUsage.rst:20614 msgid "0x10000004" msgstr "" -#: ../../../AMDGPUUsage.rst:19625 +#: ../../../AMDGPUUsage.rst:20614 msgid "BaseInstance" msgstr "" -#: ../../../AMDGPUUsage.rst:19625 +#: ../../../AMDGPUUsage.rst:20614 msgid "" "Instance offset (32-bit unsigned integer). Only supported by the first stage " "in a graphics pipeline." msgstr "" -#: ../../../AMDGPUUsage.rst:19627 +#: ../../../AMDGPUUsage.rst:20616 msgid "0x10000005" msgstr "" -#: ../../../AMDGPUUsage.rst:19627 +#: ../../../AMDGPUUsage.rst:20616 msgid "DrawIndex" msgstr "" -#: ../../../AMDGPUUsage.rst:19627 +#: ../../../AMDGPUUsage.rst:20616 msgid "" "Draw index (32-bit unsigned integer). Only supported by the first stage in a " "graphics pipeline." msgstr "" -#: ../../../AMDGPUUsage.rst:19629 +#: ../../../AMDGPUUsage.rst:20618 msgid "0x10000006" msgstr "" -#: ../../../AMDGPUUsage.rst:19629 +#: ../../../AMDGPUUsage.rst:20618 msgid "Workgroup" msgstr "" -#: ../../../AMDGPUUsage.rst:19629 +#: ../../../AMDGPUUsage.rst:20618 msgid "" "Thread group count (32-bit unsigned integer). Low half of a 64-bit address " "of a buffer containing the grid dimensions for a Compute dispatch operation. " @@ -19831,86 +21052,86 @@ msgid "" "Only supported by compute pipelines." msgstr "" -#: ../../../AMDGPUUsage.rst:19633 +#: ../../../AMDGPUUsage.rst:20622 msgid "0x1000000A" msgstr "" -#: ../../../AMDGPUUsage.rst:19633 +#: ../../../AMDGPUUsage.rst:20622 msgid "EsGsLdsSize" msgstr "" -#: ../../../AMDGPUUsage.rst:19633 +#: ../../../AMDGPUUsage.rst:20622 msgid "" "Indicates that PAL will program this user-SGPR to contain the amount of LDS " "space used for the ES/GS pseudo-ring-buffer for passing data between shader " "stages." msgstr "" -#: ../../../AMDGPUUsage.rst:19636 +#: ../../../AMDGPUUsage.rst:20625 msgid "0x1000000B" msgstr "" -#: ../../../AMDGPUUsage.rst:19636 +#: ../../../AMDGPUUsage.rst:20625 msgid "ViewId" msgstr "" -#: ../../../AMDGPUUsage.rst:19636 +#: ../../../AMDGPUUsage.rst:20625 msgid "" "View id (32-bit unsigned integer) identifies a view of graphic pipeline " "instancing." msgstr "" -#: ../../../AMDGPUUsage.rst:19638 +#: ../../../AMDGPUUsage.rst:20627 msgid "0x1000000C" msgstr "" -#: ../../../AMDGPUUsage.rst:19638 +#: ../../../AMDGPUUsage.rst:20627 msgid "StreamOutTable" msgstr "" -#: ../../../AMDGPUUsage.rst:19638 +#: ../../../AMDGPUUsage.rst:20627 msgid "" "32-bit pointer to GPU memory containing the stream out target SRD table. " "This can only appear for one shader stage per pipeline." msgstr "" -#: ../../../AMDGPUUsage.rst:19640 +#: ../../../AMDGPUUsage.rst:20629 msgid "0x1000000D" msgstr "" -#: ../../../AMDGPUUsage.rst:19640 +#: ../../../AMDGPUUsage.rst:20629 msgid "PerShaderPerfData" msgstr "" -#: ../../../AMDGPUUsage.rst:19640 +#: ../../../AMDGPUUsage.rst:20629 msgid "" "32-bit pointer to GPU memory containing the per-shader performance data " "buffer." msgstr "" -#: ../../../AMDGPUUsage.rst:19641 +#: ../../../AMDGPUUsage.rst:20630 msgid "0x1000000F" msgstr "" -#: ../../../AMDGPUUsage.rst:19641 +#: ../../../AMDGPUUsage.rst:20630 msgid "VertexBufferTable" msgstr "" -#: ../../../AMDGPUUsage.rst:19641 +#: ../../../AMDGPUUsage.rst:20630 msgid "" "32-bit pointer to GPU memory containing the vertex buffer SRD table. This " "can only appear for one shader stage per pipeline." msgstr "" -#: ../../../AMDGPUUsage.rst:19643 +#: ../../../AMDGPUUsage.rst:20632 msgid "0x10000010" msgstr "" -#: ../../../AMDGPUUsage.rst:19643 +#: ../../../AMDGPUUsage.rst:20632 msgid "UavExportTable" msgstr "" -#: ../../../AMDGPUUsage.rst:19643 +#: ../../../AMDGPUUsage.rst:20632 msgid "" "32-bit pointer to GPU memory containing the UAV export SRD table. This can " "only appear for one shader stage per pipeline (PS). These replace color " @@ -19919,45 +21140,45 @@ msgid "" "color-target exports to optimize specific shaders." msgstr "" -#: ../../../AMDGPUUsage.rst:19648 +#: ../../../AMDGPUUsage.rst:20637 msgid "0x10000011" msgstr "" -#: ../../../AMDGPUUsage.rst:19648 +#: ../../../AMDGPUUsage.rst:20637 msgid "NggCullingData" msgstr "" -#: ../../../AMDGPUUsage.rst:19648 +#: ../../../AMDGPUUsage.rst:20637 msgid "" "64-bit pointer to GPU memory containing the hardware register data needed by " "some NGG pipelines to perform culling. This value contains the address of " "the first of two consecutive registers which provide the full GPU address." msgstr "" -#: ../../../AMDGPUUsage.rst:19651 +#: ../../../AMDGPUUsage.rst:20640 msgid "0x10000015" msgstr "" -#: ../../../AMDGPUUsage.rst:19651 +#: ../../../AMDGPUUsage.rst:20640 msgid "FetchShaderPtr" msgstr "" -#: ../../../AMDGPUUsage.rst:19651 +#: ../../../AMDGPUUsage.rst:20640 msgid "64-bit pointer to GPU memory containing the fetch shader subroutine." msgstr "" -#: ../../../AMDGPUUsage.rst:19657 +#: ../../../AMDGPUUsage.rst:20646 msgid "Per-Shader Table" msgstr "" -#: ../../../AMDGPUUsage.rst:19659 +#: ../../../AMDGPUUsage.rst:20648 msgid "" "Low 32 bits of the GPU address for an optional buffer in the ``.data`` " "section of the ELF. The high 32 bits of the address match the high 32 bits " "of the shader's program counter." msgstr "" -#: ../../../AMDGPUUsage.rst:19663 +#: ../../../AMDGPUUsage.rst:20652 msgid "" "The buffer can be anything the shader compiler needs it for, and allows each " "shader to have its own region of the ``.data`` section. Typically, this " @@ -19966,7 +21187,7 @@ msgid "" "and usage are defined by the shader compiler." msgstr "" -#: ../../../AMDGPUUsage.rst:19669 +#: ../../../AMDGPUUsage.rst:20658 msgid "" "Each shader's table in the ``.data`` section is referenced by the symbol " "``_amdgpu_``\\ *xs*\\ ``_shdr_intrl_data`` where *xs* corresponds with the " @@ -19974,11 +21195,11 @@ msgid "" "for the compute shader hardware stage." msgstr "" -#: ../../../AMDGPUUsage.rst:19677 +#: ../../../AMDGPUUsage.rst:20666 msgid "Spill Table" msgstr "" -#: ../../../AMDGPUUsage.rst:19679 +#: ../../../AMDGPUUsage.rst:20668 msgid "" "It is possible for a hardware shader to need access to more *user data " "entries* than there are slots available in user data registers for one or " @@ -19992,59 +21213,59 @@ msgid "" "shader." msgstr "" -#: ../../../AMDGPUUsage.rst:19691 +#: ../../../AMDGPUUsage.rst:20680 msgid "Unspecified OS" msgstr "" -#: ../../../AMDGPUUsage.rst:19693 +#: ../../../AMDGPUUsage.rst:20682 msgid "" "This section provides code conventions used when the target triple OS is " "empty (see :ref:`amdgpu-target-triples`)." msgstr "" -#: ../../../AMDGPUUsage.rst:19699 +#: ../../../AMDGPUUsage.rst:20688 msgid "" "For code objects generated by AMDGPU backend for non-amdhsa OS, the runtime " "does not install a trap handler. The ``llvm.trap`` and ``llvm.debugtrap`` " "instructions are handled as follows:" msgstr "" -#: ../../../AMDGPUUsage.rst:19703 +#: ../../../AMDGPUUsage.rst:20692 msgid "AMDGPU Trap Handler for Non-AMDHSA OS" msgstr "" -#: ../../../AMDGPUUsage.rst:19709 +#: ../../../AMDGPUUsage.rst:20698 msgid "llvm.trap" msgstr "" -#: ../../../AMDGPUUsage.rst:19709 +#: ../../../AMDGPUUsage.rst:20698 msgid "s_endpgm" msgstr "" -#: ../../../AMDGPUUsage.rst:19709 +#: ../../../AMDGPUUsage.rst:20698 msgid "Causes wavefront to be terminated." msgstr "" -#: ../../../AMDGPUUsage.rst:19710 +#: ../../../AMDGPUUsage.rst:20699 msgid "llvm.debugtrap" msgstr "" -#: ../../../AMDGPUUsage.rst:19710 +#: ../../../AMDGPUUsage.rst:20699 msgid "Compiler warning given that there is no trap handler installed." msgstr "" -#: ../../../AMDGPUUsage.rst:19715 +#: ../../../AMDGPUUsage.rst:20704 msgid "Core file format" msgstr "" -#: ../../../AMDGPUUsage.rst:19717 +#: ../../../AMDGPUUsage.rst:20706 msgid "" "This section describes the format of core files supporting AMDGPU. Core " "dumps for an AMDGPU program can come in 2 flavors: split or unified core " "files." msgstr "" -#: ../../../AMDGPUUsage.rst:19720 +#: ../../../AMDGPUUsage.rst:20709 msgid "" "The split layout consists of one host core file containing the information " "to rebuild the image of the host process and one AMDGPU core file that " @@ -20052,19 +21273,19 @@ msgid "" "AMDGPU core file consists of:" msgstr "" -#: ../../../AMDGPUUsage.rst:19725 +#: ../../../AMDGPUUsage.rst:20714 msgid "" "A note describing the state of the AMDGPU agents, AMDGPU queues, and AMDGPU " "runtime for the process (see :ref:`amdgpu_corefile_note`)." msgstr "" -#: ../../../AMDGPUUsage.rst:19727 +#: ../../../AMDGPUUsage.rst:20716 msgid "" "A list of load segments containing an image of the AMDGPU agents' memory " "(see :ref:`amdgpu_corefile_memory`)." msgstr "" -#: ../../../AMDGPUUsage.rst:19730 +#: ../../../AMDGPUUsage.rst:20719 msgid "" "The unified core file is the union of all the information contained in the " "two files of the split layout (all notes and load segments). It contains " @@ -20072,186 +21293,186 @@ msgid "" "all the agents." msgstr "" -#: ../../../AMDGPUUsage.rst:19736 +#: ../../../AMDGPUUsage.rst:20725 msgid "Core file header" msgstr "" -#: ../../../AMDGPUUsage.rst:19738 +#: ../../../AMDGPUUsage.rst:20727 msgid "" "An AMDGPU core file is an ``ELF64`` core file. The content of the header " "differs in unified core file layout and AMDGPU core file layout." msgstr "" -#: ../../../AMDGPUUsage.rst:19742 +#: ../../../AMDGPUUsage.rst:20731 msgid "Split files" msgstr "" -#: ../../../AMDGPUUsage.rst:19744 +#: ../../../AMDGPUUsage.rst:20733 msgid "" "In the split files layout, the AMDGPU core file is an ``ELF64`` file with " "the header configured as described in :ref:`amdgpu-corefile-headers-table`:" msgstr "" -#: ../../../AMDGPUUsage.rst:19747 +#: ../../../AMDGPUUsage.rst:20736 msgid "AMDGPU corefile headers" msgstr "" -#: ../../../AMDGPUUsage.rst:19753 +#: ../../../AMDGPUUsage.rst:20742 msgid "``ELFCLASS64`` (``0x2``)" msgstr "" -#: ../../../AMDGPUUsage.rst:19754 +#: ../../../AMDGPUUsage.rst:20743 msgid "``ELFDATA2LSB`` (``0x1``)" msgstr "" -#: ../../../AMDGPUUsage.rst:19755 +#: ../../../AMDGPUUsage.rst:20744 msgid "``ELFOSABI_AMDGPU_HSA`` (``0x40``)" msgstr "" -#: ../../../AMDGPUUsage.rst:19756 +#: ../../../AMDGPUUsage.rst:20745 msgid "``ET_CORE``(``0x4``)" msgstr "" -#: ../../../AMDGPUUsage.rst:19757 +#: ../../../AMDGPUUsage.rst:20746 msgid "``ELFABIVERSION_AMDGPU_HSA_5``" msgstr "" -#: ../../../AMDGPUUsage.rst:19758 +#: ../../../AMDGPUUsage.rst:20747 msgid "``EM_AMDGPU`` (``0xe0``)" msgstr "" -#: ../../../AMDGPUUsage.rst:19762 +#: ../../../AMDGPUUsage.rst:20751 msgid "Unified file" msgstr "" -#: ../../../AMDGPUUsage.rst:19764 +#: ../../../AMDGPUUsage.rst:20753 msgid "" "In the unified core file mode, the ``ELF64`` headers are set to describe the " "host architecture and process." msgstr "" -#: ../../../AMDGPUUsage.rst:19770 +#: ../../../AMDGPUUsage.rst:20759 msgid "Core file notes" msgstr "" -#: ../../../AMDGPUUsage.rst:19772 +#: ../../../AMDGPUUsage.rst:20761 msgid "" "An AMDGPU core file must contain one snapshot note in a ``PT_NOTE`` segment. " "When using a split core file layout, this note is in the AMDGPU file." msgstr "" -#: ../../../AMDGPUUsage.rst:19775 +#: ../../../AMDGPUUsage.rst:20764 msgid "" "The note record vendor field is \"``AMDGPU``\" and the record type is " "\"``NT_AMDGPU_KFD_CORE_STATE``\" (see :ref:`amdgpu-note-records-v3-onwards`)" msgstr "" -#: ../../../AMDGPUUsage.rst:19778 +#: ../../../AMDGPUUsage.rst:20767 msgid "" "The content of the note is defined in table :ref:`amdgpu-core-snapshot-note-" "layout-table-v1`:" msgstr "" -#: ../../../AMDGPUUsage.rst:19781 +#: ../../../AMDGPUUsage.rst:20770 msgid "AMDGPU snapshot note format V1" msgstr "" -#: ../../../AMDGPUUsage.rst:19785 +#: ../../../AMDGPUUsage.rst:20774 msgid "Size (bytes)" msgstr "" -#: ../../../AMDGPUUsage.rst:19785 +#: ../../../AMDGPUUsage.rst:20774 msgid "Byte alignment" msgstr "" -#: ../../../AMDGPUUsage.rst:19785 +#: ../../../AMDGPUUsage.rst:20774 msgid "Comment" msgstr "" -#: ../../../AMDGPUUsage.rst:19787 +#: ../../../AMDGPUUsage.rst:20776 msgid "``version_major``" msgstr "" -#: ../../../AMDGPUUsage.rst:19787 ../../../AMDGPUUsage.rst:19788 -#: ../../../AMDGPUUsage.rst:19790 ../../../AMDGPUUsage.rst:19791 -#: ../../../AMDGPUUsage.rst:19792 ../../../AMDGPUUsage.rst:19793 +#: ../../../AMDGPUUsage.rst:20776 ../../../AMDGPUUsage.rst:20777 +#: ../../../AMDGPUUsage.rst:20779 ../../../AMDGPUUsage.rst:20780 +#: ../../../AMDGPUUsage.rst:20781 ../../../AMDGPUUsage.rst:20782 msgid "``uint32``" msgstr "" -#: ../../../AMDGPUUsage.rst:19787 +#: ../../../AMDGPUUsage.rst:20776 msgid "``KFD_IOCTL_MAJOR_VERSION``" msgstr "" -#: ../../../AMDGPUUsage.rst:19788 +#: ../../../AMDGPUUsage.rst:20777 msgid "``version_minor``" msgstr "" -#: ../../../AMDGPUUsage.rst:19788 +#: ../../../AMDGPUUsage.rst:20777 msgid "``KFD_IOCTL_MINOR_VERSION``" msgstr "" -#: ../../../AMDGPUUsage.rst:19789 ../../../AMDGPUUsage.rst:19794 +#: ../../../AMDGPUUsage.rst:20778 ../../../AMDGPUUsage.rst:20783 msgid "``runtime_info_size``" msgstr "" -#: ../../../AMDGPUUsage.rst:19789 +#: ../../../AMDGPUUsage.rst:20778 msgid "``uint64``" msgstr "" -#: ../../../AMDGPUUsage.rst:19789 ../../../AMDGPUUsage.rst:19791 -#: ../../../AMDGPUUsage.rst:19793 +#: ../../../AMDGPUUsage.rst:20778 ../../../AMDGPUUsage.rst:20780 +#: ../../../AMDGPUUsage.rst:20782 msgid "Must be a multiple of 8" msgstr "" -#: ../../../AMDGPUUsage.rst:19790 +#: ../../../AMDGPUUsage.rst:20779 msgid "``n_agents``" msgstr "" -#: ../../../AMDGPUUsage.rst:19791 +#: ../../../AMDGPUUsage.rst:20780 msgid "``agent_info_entry_size``" msgstr "" -#: ../../../AMDGPUUsage.rst:19792 +#: ../../../AMDGPUUsage.rst:20781 msgid "``n_queues``" msgstr "" -#: ../../../AMDGPUUsage.rst:19793 +#: ../../../AMDGPUUsage.rst:20782 msgid "``queue_info_entry_size``" msgstr "" -#: ../../../AMDGPUUsage.rst:19794 +#: ../../../AMDGPUUsage.rst:20783 msgid "``runtime_info``" msgstr "" -#: ../../../AMDGPUUsage.rst:19794 +#: ../../../AMDGPUUsage.rst:20783 msgid "``kfd_runtime_info``" msgstr "" -#: ../../../AMDGPUUsage.rst:19795 +#: ../../../AMDGPUUsage.rst:20784 msgid "``agents_info``" msgstr "" -#: ../../../AMDGPUUsage.rst:19795 +#: ../../../AMDGPUUsage.rst:20784 msgid "``kfd_dbg_device_info_entry[n_agents]``" msgstr "" -#: ../../../AMDGPUUsage.rst:19795 +#: ../../../AMDGPUUsage.rst:20784 msgid "``n_agents * agent_info_entry_size``" msgstr "" -#: ../../../AMDGPUUsage.rst:19797 +#: ../../../AMDGPUUsage.rst:20786 msgid "``queues_info``" msgstr "" -#: ../../../AMDGPUUsage.rst:19797 +#: ../../../AMDGPUUsage.rst:20786 msgid "``kfd_queue_snapshot_entry[n_queues]``" msgstr "" -#: ../../../AMDGPUUsage.rst:19797 +#: ../../../AMDGPUUsage.rst:20786 msgid "``n_queues * queue_info_entry_size``" msgstr "" -#: ../../../AMDGPUUsage.rst:19801 +#: ../../../AMDGPUUsage.rst:20790 msgid "" "The definition of all the ``kfd_*`` types comes from the ``include/uapi/" "linux/kfd_ioctl.h`` header file from the KFD repository. It is usually " @@ -20261,11 +21482,11 @@ msgid "" "and ``kfd_version_major`` from the note." msgstr "" -#: ../../../AMDGPUUsage.rst:19812 +#: ../../../AMDGPUUsage.rst:20801 msgid "Memory segments" msgstr "" -#: ../../../AMDGPUUsage.rst:19814 +#: ../../../AMDGPUUsage.rst:20803 msgid "" "An AMDGPU core file must contain an image of the AMDGPU agents' memory in " "load segments (of type ``PT_LOAD``). Those segments must correspond to the " @@ -20274,117 +21495,117 @@ msgid "" "readable by the process itself)." msgstr "" -#: ../../../AMDGPUUsage.rst:19820 +#: ../../../AMDGPUUsage.rst:20809 msgid "" "When using the split core file layout, those segments must be included in " "the AMDGPU core file." msgstr "" -#: ../../../AMDGPUUsage.rst:19824 +#: ../../../AMDGPUUsage.rst:20813 msgid "Source Languages" msgstr "" -#: ../../../AMDGPUUsage.rst:19829 +#: ../../../AMDGPUUsage.rst:20818 msgid "OpenCL" msgstr "" -#: ../../../AMDGPUUsage.rst:19831 +#: ../../../AMDGPUUsage.rst:20820 msgid "When the language is OpenCL the following differences occur:" msgstr "" -#: ../../../AMDGPUUsage.rst:19833 +#: ../../../AMDGPUUsage.rst:20822 msgid "" "The OpenCL memory model is used (see :ref:`amdgpu-amdhsa-memory-model`)." msgstr "" -#: ../../../AMDGPUUsage.rst:19834 +#: ../../../AMDGPUUsage.rst:20823 msgid "" "The AMDGPU backend appends additional arguments to the kernel's explicit " "arguments for the AMDHSA OS (see :ref:`opencl-kernel-implicit-arguments-" "appended-for-amdhsa-os-table`)." msgstr "" -#: ../../../AMDGPUUsage.rst:19837 +#: ../../../AMDGPUUsage.rst:20826 msgid "" "Additional metadata is generated (see :ref:`amdgpu-amdhsa-code-object-" "metadata`)." msgstr "" -#: ../../../AMDGPUUsage.rst:19840 +#: ../../../AMDGPUUsage.rst:20829 msgid "OpenCL kernel implicit arguments appended for AMDHSA OS" msgstr "" -#: ../../../AMDGPUUsage.rst:19844 +#: ../../../AMDGPUUsage.rst:20833 msgid "Position" msgstr "" -#: ../../../AMDGPUUsage.rst:19844 +#: ../../../AMDGPUUsage.rst:20833 msgid "Byte Size" msgstr "" -#: ../../../AMDGPUUsage.rst:19844 +#: ../../../AMDGPUUsage.rst:20833 msgid "Byte Alignment" msgstr "" -#: ../../../AMDGPUUsage.rst:19847 +#: ../../../AMDGPUUsage.rst:20836 msgid "OpenCL Global Offset X" msgstr "" -#: ../../../AMDGPUUsage.rst:19848 +#: ../../../AMDGPUUsage.rst:20837 msgid "OpenCL Global Offset Y" msgstr "" -#: ../../../AMDGPUUsage.rst:19849 +#: ../../../AMDGPUUsage.rst:20838 msgid "OpenCL Global Offset Z" msgstr "" -#: ../../../AMDGPUUsage.rst:19850 +#: ../../../AMDGPUUsage.rst:20839 msgid "OpenCL address of printf buffer" msgstr "" -#: ../../../AMDGPUUsage.rst:19851 +#: ../../../AMDGPUUsage.rst:20840 msgid "OpenCL address of virtual queue used by enqueue_kernel." msgstr "" -#: ../../../AMDGPUUsage.rst:19853 +#: ../../../AMDGPUUsage.rst:20842 msgid "OpenCL address of AqlWrap struct used by enqueue_kernel." msgstr "" -#: ../../../AMDGPUUsage.rst:19855 +#: ../../../AMDGPUUsage.rst:20844 msgid "Pointer argument used for Multi-gird synchronization." msgstr "" -#: ../../../AMDGPUUsage.rst:19862 +#: ../../../AMDGPUUsage.rst:20851 msgid "HCC" msgstr "" -#: ../../../AMDGPUUsage.rst:19864 +#: ../../../AMDGPUUsage.rst:20853 msgid "When the language is HCC the following differences occur:" msgstr "" -#: ../../../AMDGPUUsage.rst:19866 +#: ../../../AMDGPUUsage.rst:20855 msgid "The HSA memory model is used (see :ref:`amdgpu-amdhsa-memory-model`)." msgstr "" -#: ../../../AMDGPUUsage.rst:19871 +#: ../../../AMDGPUUsage.rst:20860 msgid "Assembler" msgstr "" -#: ../../../AMDGPUUsage.rst:19873 +#: ../../../AMDGPUUsage.rst:20862 msgid "" "AMDGPU backend has LLVM-MC based assembler which is currently in " "development. It supports AMDGCN GFX6-GFX11." msgstr "" -#: ../../../AMDGPUUsage.rst:19876 +#: ../../../AMDGPUUsage.rst:20865 msgid "This section describes general syntax for instructions and operands." msgstr "" -#: ../../../AMDGPUUsage.rst:19879 +#: ../../../AMDGPUUsage.rst:20868 msgid "Instructions" msgstr "" -#: ../../../AMDGPUUsage.rst:19881 +#: ../../../AMDGPUUsage.rst:20870 msgid "" "An instruction has the following :doc:`syntax`:" msgstr "" @@ -20395,207 +21616,207 @@ msgid "" "<``\\ *modifier0*\\ ``> <``\\ *modifier1*\\ ``>...``" msgstr "" -#: ../../../AMDGPUUsage.rst:19886 +#: ../../../AMDGPUUsage.rst:20875 msgid "" ":doc:`Operands` are comma-separated while :doc:" "`modifiers` are space-separated." msgstr "" -#: ../../../AMDGPUUsage.rst:19889 +#: ../../../AMDGPUUsage.rst:20878 msgid "" "The order of operands and modifiers is fixed. Most modifiers are optional " "and may be omitted." msgstr "" -#: ../../../AMDGPUUsage.rst:19892 +#: ../../../AMDGPUUsage.rst:20881 msgid "" "Links to detailed instruction syntax description may be found in the " "following table. Note that features under development are not included in " "this description." msgstr "" -#: ../../../AMDGPUUsage.rst:19897 +#: ../../../AMDGPUUsage.rst:20886 msgid "Core ISA" msgstr "" -#: ../../../AMDGPUUsage.rst:19897 +#: ../../../AMDGPUUsage.rst:20886 msgid "ISA Variants and Extensions" msgstr "" -#: ../../../AMDGPUUsage.rst:19899 +#: ../../../AMDGPUUsage.rst:20888 msgid "GCN 2" msgstr "" -#: ../../../AMDGPUUsage.rst:19899 +#: ../../../AMDGPUUsage.rst:20888 msgid ":doc:`GFX7`" msgstr "" -#: ../../../AMDGPUUsage.rst:19899 ../../../AMDGPUUsage.rst:19900 +#: ../../../AMDGPUUsage.rst:20888 ../../../AMDGPUUsage.rst:20889 msgid "\\-" msgstr "" -#: ../../../AMDGPUUsage.rst:19900 +#: ../../../AMDGPUUsage.rst:20889 msgid "GCN 3, GCN 4" msgstr "" -#: ../../../AMDGPUUsage.rst:19900 +#: ../../../AMDGPUUsage.rst:20889 msgid ":doc:`GFX8`" msgstr "" -#: ../../../AMDGPUUsage.rst:19901 +#: ../../../AMDGPUUsage.rst:20890 msgid "GCN 5" msgstr "" -#: ../../../AMDGPUUsage.rst:19901 ../../../AMDGPUUsage.rst:19913 -#: ../../../AMDGPUUsage.rst:19915 ../../../AMDGPUUsage.rst:19917 +#: ../../../AMDGPUUsage.rst:20890 ../../../AMDGPUUsage.rst:20902 +#: ../../../AMDGPUUsage.rst:20904 ../../../AMDGPUUsage.rst:20906 msgid ":doc:`GFX9`" msgstr "" -#: ../../../AMDGPUUsage.rst:19901 +#: ../../../AMDGPUUsage.rst:20890 msgid ":doc:`gfx900`" msgstr "" -#: ../../../AMDGPUUsage.rst:19903 +#: ../../../AMDGPUUsage.rst:20892 msgid ":doc:`gfx902`" msgstr "" -#: ../../../AMDGPUUsage.rst:19905 +#: ../../../AMDGPUUsage.rst:20894 msgid ":doc:`gfx904`" msgstr "" -#: ../../../AMDGPUUsage.rst:19907 +#: ../../../AMDGPUUsage.rst:20896 msgid ":doc:`gfx906`" msgstr "" -#: ../../../AMDGPUUsage.rst:19909 +#: ../../../AMDGPUUsage.rst:20898 msgid ":doc:`gfx909`" msgstr "" -#: ../../../AMDGPUUsage.rst:19911 +#: ../../../AMDGPUUsage.rst:20900 msgid ":doc:`gfx90c`" msgstr "" -#: ../../../AMDGPUUsage.rst:19913 +#: ../../../AMDGPUUsage.rst:20902 msgid "CDNA 1" msgstr "" -#: ../../../AMDGPUUsage.rst:19913 +#: ../../../AMDGPUUsage.rst:20902 msgid ":doc:`gfx908`" msgstr "" -#: ../../../AMDGPUUsage.rst:19915 +#: ../../../AMDGPUUsage.rst:20904 msgid "CDNA 2" msgstr "" -#: ../../../AMDGPUUsage.rst:19915 +#: ../../../AMDGPUUsage.rst:20904 msgid ":doc:`gfx90a`" msgstr "" -#: ../../../AMDGPUUsage.rst:19917 +#: ../../../AMDGPUUsage.rst:20906 msgid "CDNA 3" msgstr "" -#: ../../../AMDGPUUsage.rst:19917 +#: ../../../AMDGPUUsage.rst:20906 msgid ":doc:`gfx942`" msgstr "" -#: ../../../AMDGPUUsage.rst:19919 +#: ../../../AMDGPUUsage.rst:20908 msgid "RDNA 1" msgstr "" -#: ../../../AMDGPUUsage.rst:19919 +#: ../../../AMDGPUUsage.rst:20908 msgid ":doc:`GFX10 RDNA1`" msgstr "" -#: ../../../AMDGPUUsage.rst:19919 +#: ../../../AMDGPUUsage.rst:20908 msgid ":doc:`gfx1010`" msgstr "" -#: ../../../AMDGPUUsage.rst:19921 +#: ../../../AMDGPUUsage.rst:20910 msgid ":doc:`gfx1011`" msgstr "" -#: ../../../AMDGPUUsage.rst:19923 +#: ../../../AMDGPUUsage.rst:20912 msgid ":doc:`gfx1012`" msgstr "" -#: ../../../AMDGPUUsage.rst:19925 +#: ../../../AMDGPUUsage.rst:20914 msgid ":doc:`gfx1013`" msgstr "" -#: ../../../AMDGPUUsage.rst:19927 +#: ../../../AMDGPUUsage.rst:20916 msgid "RDNA 2" msgstr "" -#: ../../../AMDGPUUsage.rst:19927 +#: ../../../AMDGPUUsage.rst:20916 msgid ":doc:`GFX10 RDNA2`" msgstr "" -#: ../../../AMDGPUUsage.rst:19927 +#: ../../../AMDGPUUsage.rst:20916 msgid ":doc:`gfx1030`" msgstr "" -#: ../../../AMDGPUUsage.rst:19929 +#: ../../../AMDGPUUsage.rst:20918 msgid ":doc:`gfx1031`" msgstr "" -#: ../../../AMDGPUUsage.rst:19931 +#: ../../../AMDGPUUsage.rst:20920 msgid ":doc:`gfx1032`" msgstr "" -#: ../../../AMDGPUUsage.rst:19933 +#: ../../../AMDGPUUsage.rst:20922 msgid ":doc:`gfx1033`" msgstr "" -#: ../../../AMDGPUUsage.rst:19935 +#: ../../../AMDGPUUsage.rst:20924 msgid ":doc:`gfx1034`" msgstr "" -#: ../../../AMDGPUUsage.rst:19937 +#: ../../../AMDGPUUsage.rst:20926 msgid ":doc:`gfx1035`" msgstr "" -#: ../../../AMDGPUUsage.rst:19939 +#: ../../../AMDGPUUsage.rst:20928 msgid ":doc:`gfx1036`" msgstr "" -#: ../../../AMDGPUUsage.rst:19941 +#: ../../../AMDGPUUsage.rst:20930 msgid "RDNA 3" msgstr "" -#: ../../../AMDGPUUsage.rst:19941 +#: ../../../AMDGPUUsage.rst:20930 msgid ":doc:`GFX11`" msgstr "" -#: ../../../AMDGPUUsage.rst:19941 +#: ../../../AMDGPUUsage.rst:20930 msgid ":doc:`gfx1100`" msgstr "" -#: ../../../AMDGPUUsage.rst:19943 +#: ../../../AMDGPUUsage.rst:20932 msgid ":doc:`gfx1101`" msgstr "" -#: ../../../AMDGPUUsage.rst:19945 +#: ../../../AMDGPUUsage.rst:20934 msgid ":doc:`gfx1102`" msgstr "" -#: ../../../AMDGPUUsage.rst:19947 +#: ../../../AMDGPUUsage.rst:20936 msgid ":doc:`gfx1103`" msgstr "" -#: ../../../AMDGPUUsage.rst:19948 +#: ../../../AMDGPUUsage.rst:20937 msgid "RDNA 4" msgstr "" -#: ../../../AMDGPUUsage.rst:19948 +#: ../../../AMDGPUUsage.rst:20937 msgid ":doc:`GFX12`" msgstr "" -#: ../../../AMDGPUUsage.rst:19948 +#: ../../../AMDGPUUsage.rst:20937 msgid ":doc:`gfx1200`" msgstr "" -#: ../../../AMDGPUUsage.rst:19951 +#: ../../../AMDGPUUsage.rst:20940 msgid "" "For more information about instructions, their semantics and supported " "combinations of operands, refer to one of instruction set architecture " @@ -20606,118 +21827,118 @@ msgid "" "GFX12-RDNA4]_." msgstr "" -#: ../../../AMDGPUUsage.rst:19962 +#: ../../../AMDGPUUsage.rst:20951 msgid "" "Detailed description of operands may be found :doc:" "`here`." msgstr "" -#: ../../../AMDGPUUsage.rst:19965 +#: ../../../AMDGPUUsage.rst:20954 msgid "Modifiers" msgstr "" -#: ../../../AMDGPUUsage.rst:19967 +#: ../../../AMDGPUUsage.rst:20956 msgid "" "Detailed description of modifiers may be found :doc:" "`here`." msgstr "" -#: ../../../AMDGPUUsage.rst:19971 +#: ../../../AMDGPUUsage.rst:20960 msgid "Instruction Examples" msgstr "" -#: ../../../AMDGPUUsage.rst:19974 +#: ../../../AMDGPUUsage.rst:20963 msgid "DS" msgstr "" -#: ../../../AMDGPUUsage.rst:19983 +#: ../../../AMDGPUUsage.rst:20972 msgid "" "For full list of supported instructions, refer to \"LDS/GDS instructions\" " "in ISA Manual." msgstr "" -#: ../../../AMDGPUUsage.rst:19987 +#: ../../../AMDGPUUsage.rst:20976 msgid "FLAT" msgstr "" -#: ../../../AMDGPUUsage.rst:19997 +#: ../../../AMDGPUUsage.rst:20986 msgid "" "For full list of supported instructions, refer to \"FLAT instructions\" in " "ISA Manual." msgstr "" -#: ../../../AMDGPUUsage.rst:20001 +#: ../../../AMDGPUUsage.rst:20990 msgid "MUBUF" msgstr "" -#: ../../../AMDGPUUsage.rst:20011 +#: ../../../AMDGPUUsage.rst:21000 msgid "" "For full list of supported instructions, refer to \"MUBUF Instructions\" in " "ISA Manual." msgstr "" -#: ../../../AMDGPUUsage.rst:20015 +#: ../../../AMDGPUUsage.rst:21004 msgid "SMRD/SMEM" msgstr "" -#: ../../../AMDGPUUsage.rst:20025 +#: ../../../AMDGPUUsage.rst:21014 msgid "" "For full list of supported instructions, refer to \"Scalar Memory " "Operations\" in ISA Manual." msgstr "" -#: ../../../AMDGPUUsage.rst:20029 +#: ../../../AMDGPUUsage.rst:21018 msgid "SOP1" msgstr "" -#: ../../../AMDGPUUsage.rst:20041 +#: ../../../AMDGPUUsage.rst:21030 msgid "" "For full list of supported instructions, refer to \"SOP1 Instructions\" in " "ISA Manual." msgstr "" -#: ../../../AMDGPUUsage.rst:20045 +#: ../../../AMDGPUUsage.rst:21034 msgid "SOP2" msgstr "" -#: ../../../AMDGPUUsage.rst:20059 +#: ../../../AMDGPUUsage.rst:21048 msgid "" "For full list of supported instructions, refer to \"SOP2 Instructions\" in " "ISA Manual." msgstr "" -#: ../../../AMDGPUUsage.rst:20063 +#: ../../../AMDGPUUsage.rst:21052 msgid "SOPC" msgstr "" -#: ../../../AMDGPUUsage.rst:20072 +#: ../../../AMDGPUUsage.rst:21061 msgid "" "For full list of supported instructions, refer to \"SOPC Instructions\" in " "ISA Manual." msgstr "" -#: ../../../AMDGPUUsage.rst:20076 +#: ../../../AMDGPUUsage.rst:21065 msgid "SOPP" msgstr "" -#: ../../../AMDGPUUsage.rst:20092 +#: ../../../AMDGPUUsage.rst:21081 msgid "" "For full list of supported instructions, refer to \"SOPP Instructions\" in " "ISA Manual." msgstr "" -#: ../../../AMDGPUUsage.rst:20095 +#: ../../../AMDGPUUsage.rst:21084 msgid "" "Unless otherwise mentioned, little verification is performed on the operands " "of SOPP Instructions, so it is up to the programmer to be familiar with the " "range or acceptable values." msgstr "" -#: ../../../AMDGPUUsage.rst:20100 +#: ../../../AMDGPUUsage.rst:21089 msgid "VALU" msgstr "" -#: ../../../AMDGPUUsage.rst:20102 +#: ../../../AMDGPUUsage.rst:21091 msgid "" "For vector ALU instruction opcodes (VOP1, VOP2, VOP3, VOPC, VOP_DPP, " "VOP_SDWA), the assembler will automatically use optimal encoding based on " @@ -20725,63 +21946,63 @@ msgid "" "of the instruction:" msgstr "" -#: ../../../AMDGPUUsage.rst:20106 +#: ../../../AMDGPUUsage.rst:21095 msgid "_e32 for 32-bit VOP1/VOP2/VOPC" msgstr "" -#: ../../../AMDGPUUsage.rst:20107 +#: ../../../AMDGPUUsage.rst:21096 msgid "_e64 for 64-bit VOP3" msgstr "" -#: ../../../AMDGPUUsage.rst:20108 +#: ../../../AMDGPUUsage.rst:21097 msgid "_dpp for VOP_DPP" msgstr "" -#: ../../../AMDGPUUsage.rst:20109 +#: ../../../AMDGPUUsage.rst:21098 msgid "_e64_dpp for VOP3 with DPP" msgstr "" -#: ../../../AMDGPUUsage.rst:20110 +#: ../../../AMDGPUUsage.rst:21099 msgid "_sdwa for VOP_SDWA" msgstr "" -#: ../../../AMDGPUUsage.rst:20112 +#: ../../../AMDGPUUsage.rst:21101 msgid "VOP1/VOP2/VOP3/VOPC examples:" msgstr "" -#: ../../../AMDGPUUsage.rst:20129 +#: ../../../AMDGPUUsage.rst:21118 msgid "VOP_DPP examples:" msgstr "" -#: ../../../AMDGPUUsage.rst:20143 +#: ../../../AMDGPUUsage.rst:21132 msgid "VOP3_DPP examples (Available on GFX11+):" msgstr "" -#: ../../../AMDGPUUsage.rst:20151 +#: ../../../AMDGPUUsage.rst:21140 msgid "VOP_SDWA examples:" msgstr "" -#: ../../../AMDGPUUsage.rst:20161 +#: ../../../AMDGPUUsage.rst:21150 msgid "" "For full list of supported instructions, refer to \"Vector ALU " "instructions\"." msgstr "" -#: ../../../AMDGPUUsage.rst:20166 +#: ../../../AMDGPUUsage.rst:21155 msgid "Code Object V2 Predefined Symbols" msgstr "" -#: ../../../AMDGPUUsage.rst:20171 ../../../AMDGPUUsage.rst:20342 +#: ../../../AMDGPUUsage.rst:21160 ../../../AMDGPUUsage.rst:21331 msgid "" "The AMDGPU assembler defines and updates some symbols automatically. These " "symbols do not affect code generation." msgstr "" -#: ../../../AMDGPUUsage.rst:20175 +#: ../../../AMDGPUUsage.rst:21164 msgid ".option.machine_version_major" msgstr "" -#: ../../../AMDGPUUsage.rst:20177 ../../../AMDGPUUsage.rst:20348 +#: ../../../AMDGPUUsage.rst:21166 ../../../AMDGPUUsage.rst:21337 msgid "" "Set to the GFX major generation number of the target being assembled for. " "For example, when assembling for a \"GFX9\" target this will be set to the " @@ -20789,11 +22010,11 @@ msgid "" "in :ref:`amdgpu-processors`." msgstr "" -#: ../../../AMDGPUUsage.rst:20183 +#: ../../../AMDGPUUsage.rst:21172 msgid ".option.machine_version_minor" msgstr "" -#: ../../../AMDGPUUsage.rst:20185 ../../../AMDGPUUsage.rst:20356 +#: ../../../AMDGPUUsage.rst:21174 ../../../AMDGPUUsage.rst:21345 msgid "" "Set to the GFX minor generation number of the target being assembled for. " "For example, when assembling for a \"GFX810\" target this will be set to the " @@ -20801,11 +22022,11 @@ msgid "" "in :ref:`amdgpu-processors`." msgstr "" -#: ../../../AMDGPUUsage.rst:20191 +#: ../../../AMDGPUUsage.rst:21180 msgid ".option.machine_version_stepping" msgstr "" -#: ../../../AMDGPUUsage.rst:20193 ../../../AMDGPUUsage.rst:20364 +#: ../../../AMDGPUUsage.rst:21182 ../../../AMDGPUUsage.rst:21353 msgid "" "Set to the GFX stepping generation number of the target being assembled for. " "For example, when assembling for a \"GFX704\" target this will be set to the " @@ -20813,11 +22034,11 @@ msgid "" "presented in :ref:`amdgpu-processors`." msgstr "" -#: ../../../AMDGPUUsage.rst:20199 +#: ../../../AMDGPUUsage.rst:21188 msgid ".kernel.vgpr_count" msgstr "" -#: ../../../AMDGPUUsage.rst:20201 +#: ../../../AMDGPUUsage.rst:21190 msgid "" "Set to zero each time a :ref:`amdgpu-amdhsa-assembler-directive-" "amdgpu_hsa_kernel` directive is encountered. At each instruction, if the " @@ -20826,11 +22047,11 @@ msgid "" "is updated to equal that VGPR number plus one." msgstr "" -#: ../../../AMDGPUUsage.rst:20209 +#: ../../../AMDGPUUsage.rst:21198 msgid ".kernel.sgpr_count" msgstr "" -#: ../../../AMDGPUUsage.rst:20211 +#: ../../../AMDGPUUsage.rst:21200 msgid "" "Set to zero each time a :ref:`amdgpu-amdhsa-assembler-directive-" "amdgpu_hsa_kernel` directive is encountered. At each instruction, if the " @@ -20839,64 +22060,64 @@ msgid "" "is updated to equal that SGPR number plus one." msgstr "" -#: ../../../AMDGPUUsage.rst:20221 +#: ../../../AMDGPUUsage.rst:21210 msgid "Code Object V2 Directives" msgstr "" -#: ../../../AMDGPUUsage.rst:20226 +#: ../../../AMDGPUUsage.rst:21215 msgid "" "AMDGPU ABI defines auxiliary data in output code object. In assembly source, " "one can specify them with assembler directives." msgstr "" -#: ../../../AMDGPUUsage.rst:20230 +#: ../../../AMDGPUUsage.rst:21219 msgid ".hsa_code_object_version major, minor" msgstr "" -#: ../../../AMDGPUUsage.rst:20232 +#: ../../../AMDGPUUsage.rst:21221 msgid "" "*major* and *minor* are integers that specify the version of the HSA code " "object that will be generated by the assembler." msgstr "" -#: ../../../AMDGPUUsage.rst:20236 +#: ../../../AMDGPUUsage.rst:21225 msgid ".hsa_code_object_isa [major, minor, stepping, vendor, arch]" msgstr "" -#: ../../../AMDGPUUsage.rst:20239 +#: ../../../AMDGPUUsage.rst:21228 msgid "" "*major*, *minor*, and *stepping* are all integers that describe the " "instruction set architecture (ISA) version of the assembly program." msgstr "" -#: ../../../AMDGPUUsage.rst:20242 +#: ../../../AMDGPUUsage.rst:21231 msgid "" "*vendor* and *arch* are quoted strings. *vendor* should always be equal to " "\"AMD\" and *arch* should always be equal to \"AMDGPU\"." msgstr "" -#: ../../../AMDGPUUsage.rst:20245 +#: ../../../AMDGPUUsage.rst:21234 msgid "" "By default, the assembler will derive the ISA version, *vendor*, and *arch* " "from the value of the ``-mcpu`` option that is passed to the assembler." msgstr "" -#: ../../../AMDGPUUsage.rst:20251 +#: ../../../AMDGPUUsage.rst:21240 msgid ".amdgpu_hsa_kernel (name)" msgstr "" -#: ../../../AMDGPUUsage.rst:20253 +#: ../../../AMDGPUUsage.rst:21242 msgid "" "This directive specifies that the symbol with given name is a kernel entry " "point (label) and the object should contain corresponding symbol of type " "STT_AMDGPU_HSA_KERNEL." msgstr "" -#: ../../../AMDGPUUsage.rst:20258 +#: ../../../AMDGPUUsage.rst:21247 msgid ".amd_kernel_code_t" msgstr "" -#: ../../../AMDGPUUsage.rst:20260 +#: ../../../AMDGPUUsage.rst:21249 msgid "" "This directive marks the beginning of a list of key / value pairs that are " "used to specify the amd_kernel_code_t object that will be emitted by the " @@ -20906,30 +22127,30 @@ msgid "" "exceptions:" msgstr "" -#: ../../../AMDGPUUsage.rst:20266 +#: ../../../AMDGPUUsage.rst:21255 msgid "*amd_code_version_major* defaults to 1." msgstr "" -#: ../../../AMDGPUUsage.rst:20267 +#: ../../../AMDGPUUsage.rst:21256 msgid "*amd_kernel_code_version_minor* defaults to 2." msgstr "" -#: ../../../AMDGPUUsage.rst:20268 +#: ../../../AMDGPUUsage.rst:21257 msgid "*amd_machine_kind* defaults to 1." msgstr "" -#: ../../../AMDGPUUsage.rst:20269 +#: ../../../AMDGPUUsage.rst:21258 msgid "" "*amd_machine_version_major*, *machine_version_minor*, and " "*amd_machine_version_stepping* are derived from the value of the ``-mcpu`` " "option that is passed to the assembler." msgstr "" -#: ../../../AMDGPUUsage.rst:20272 +#: ../../../AMDGPUUsage.rst:21261 msgid "*kernel_code_entry_byte_offset* defaults to 256." msgstr "" -#: ../../../AMDGPUUsage.rst:20273 +#: ../../../AMDGPUUsage.rst:21262 msgid "" "*wavefront_size* defaults 6 for all targets before GFX10. For GFX10 onwards " "defaults to 6 if target feature ``wavefrontsize64`` is enabled, otherwise 5. " @@ -20937,76 +22158,76 @@ msgid "" "means a size of 2^ **n**." msgstr "" -#: ../../../AMDGPUUsage.rst:20277 +#: ../../../AMDGPUUsage.rst:21266 msgid "*call_convention* defaults to -1." msgstr "" -#: ../../../AMDGPUUsage.rst:20278 +#: ../../../AMDGPUUsage.rst:21267 msgid "" "*kernarg_segment_alignment*, *group_segment_alignment*, and " "*private_segment_alignment* default to 4. Note that alignments are specified " "as a power of 2, so a value of **n** means an alignment of 2^ **n**." msgstr "" -#: ../../../AMDGPUUsage.rst:20281 +#: ../../../AMDGPUUsage.rst:21270 msgid "" "*enable_tg_split* defaults to 1 if target feature ``tgsplit`` is enabled for " "GFX90A onwards." msgstr "" -#: ../../../AMDGPUUsage.rst:20283 +#: ../../../AMDGPUUsage.rst:21272 msgid "" "*enable_wgp_mode* defaults to 1 if target feature ``cumode`` is disabled for " "GFX10 onwards." msgstr "" -#: ../../../AMDGPUUsage.rst:20285 +#: ../../../AMDGPUUsage.rst:21274 msgid "*enable_mem_ordered* defaults to 1 for GFX10 onwards." msgstr "" -#: ../../../AMDGPUUsage.rst:20287 +#: ../../../AMDGPUUsage.rst:21276 msgid "" "The *.amd_kernel_code_t* directive must be placed immediately after the " "function label and before any instructions." msgstr "" -#: ../../../AMDGPUUsage.rst:20290 +#: ../../../AMDGPUUsage.rst:21279 msgid "" "For a full list of amd_kernel_code_t keys, refer to AMDGPU ABI document, " "comments in lib/Target/AMDGPU/AmdKernelCodeT.h and test/CodeGen/AMDGPU/hsa.s." msgstr "" -#: ../../../AMDGPUUsage.rst:20296 +#: ../../../AMDGPUUsage.rst:21285 msgid "Code Object V2 Example Source Code" msgstr "" -#: ../../../AMDGPUUsage.rst:20301 ../../../AMDGPUUsage.rst:20607 +#: ../../../AMDGPUUsage.rst:21290 ../../../AMDGPUUsage.rst:21598 msgid "" "Here is an example of a minimal assembly source file, defining one HSA " "kernel:" msgstr "" -#: ../../../AMDGPUUsage.rst:20340 +#: ../../../AMDGPUUsage.rst:21329 msgid "Code Object V3 and Above Predefined Symbols" msgstr "" -#: ../../../AMDGPUUsage.rst:20346 +#: ../../../AMDGPUUsage.rst:21335 msgid ".amdgcn.gfx_generation_number" msgstr "" -#: ../../../AMDGPUUsage.rst:20354 +#: ../../../AMDGPUUsage.rst:21343 msgid ".amdgcn.gfx_generation_minor" msgstr "" -#: ../../../AMDGPUUsage.rst:20362 +#: ../../../AMDGPUUsage.rst:21351 msgid ".amdgcn.gfx_generation_stepping" msgstr "" -#: ../../../AMDGPUUsage.rst:20372 +#: ../../../AMDGPUUsage.rst:21361 msgid ".amdgcn.next_free_vgpr" msgstr "" -#: ../../../AMDGPUUsage.rst:20374 +#: ../../../AMDGPUUsage.rst:21363 msgid "" "Set to zero before assembly begins. At each instruction, if the current " "value of this symbol is less than or equal to the maximum VGPR number " @@ -21014,23 +22235,23 @@ msgid "" "updated to equal that VGPR number plus one." msgstr "" -#: ../../../AMDGPUUsage.rst:20379 +#: ../../../AMDGPUUsage.rst:21368 msgid "" "May be used to set the `.amdhsa_next_free_vgpr` directive in :ref:`amdhsa-" "kernel-directives-table`." msgstr "" -#: ../../../AMDGPUUsage.rst:20382 ../../../AMDGPUUsage.rst:20397 +#: ../../../AMDGPUUsage.rst:21371 ../../../AMDGPUUsage.rst:21386 msgid "" "May be set at any time, e.g. manually set to zero at the start of each " "kernel." msgstr "" -#: ../../../AMDGPUUsage.rst:20387 +#: ../../../AMDGPUUsage.rst:21376 msgid ".amdgcn.next_free_sgpr" msgstr "" -#: ../../../AMDGPUUsage.rst:20389 +#: ../../../AMDGPUUsage.rst:21378 msgid "" "Set to zero before assembly begins. At each instruction, if the current " "value of this symbol is less than or equal the maximum SGPR number " @@ -21038,17 +22259,17 @@ msgid "" "updated to equal that SGPR number plus one." msgstr "" -#: ../../../AMDGPUUsage.rst:20394 +#: ../../../AMDGPUUsage.rst:21383 msgid "" "May be used to set the `.amdhsa_next_free_spgr` directive in :ref:`amdhsa-" "kernel-directives-table`." msgstr "" -#: ../../../AMDGPUUsage.rst:20402 +#: ../../../AMDGPUUsage.rst:21391 msgid "Code Object V3 and Above Directives" msgstr "" -#: ../../../AMDGPUUsage.rst:20404 +#: ../../../AMDGPUUsage.rst:21393 msgid "" "Directives which begin with ``.amdgcn`` are valid for all ``amdgcn`` " "architecture processors, and are not OS-specific. Directives which begin " @@ -21057,11 +22278,11 @@ msgid "" "`amdgpu-processors`." msgstr "" -#: ../../../AMDGPUUsage.rst:20413 +#: ../../../AMDGPUUsage.rst:21402 msgid ".amdgcn_target \"-\" " msgstr "" -#: ../../../AMDGPUUsage.rst:20415 +#: ../../../AMDGPUUsage.rst:21404 msgid "" "Optional directive which declares the ``-`` " "supported by the containing assembler source file. Used by the assembler to " @@ -21070,27 +22291,27 @@ msgid "" "`amdgpu-target-triples` and :ref:`amdgpu-target-id`." msgstr "" -#: ../../../AMDGPUUsage.rst:20423 +#: ../../../AMDGPUUsage.rst:21412 msgid "" "The target ID syntax used for code object V2 to V3 for this directive " "differs from that used elsewhere. See :ref:`amdgpu-target-id-v2-v3`." msgstr "" -#: ../../../AMDGPUUsage.rst:20429 +#: ../../../AMDGPUUsage.rst:21418 msgid ".amdhsa_code_object_version " msgstr "" -#: ../../../AMDGPUUsage.rst:20431 +#: ../../../AMDGPUUsage.rst:21420 msgid "" "Optional directive which declares the code object version to be generated by " "the assembler. If not present, a default value will be used." msgstr "" -#: ../../../AMDGPUUsage.rst:20435 +#: ../../../AMDGPUUsage.rst:21424 msgid ".amdhsa_kernel " msgstr "" -#: ../../../AMDGPUUsage.rst:20437 +#: ../../../AMDGPUUsage.rst:21426 msgid "" "Creates a correctly aligned AMDHSA kernel descriptor and a symbol, ``." "kd``, in the current location of the current section. Only valid when the OS " @@ -21098,7 +22319,7 @@ msgid "" "to execute, and does not need to be previously defined." msgstr "" -#: ../../../AMDGPUUsage.rst:20442 +#: ../../../AMDGPUUsage.rst:21431 msgid "" "Marks the beginning of a list of directives used to generate the bytes of a " "kernel descriptor, as described in :ref:`amdgpu-amdhsa-kernel-descriptor`. " @@ -21112,596 +22333,600 @@ msgid "" "terminated by an ``.end_amdhsa_kernel`` directive." msgstr "" -#: ../../../AMDGPUUsage.rst:20453 +#: ../../../AMDGPUUsage.rst:21442 msgid "AMDHSA Kernel Assembler Directives" msgstr "" -#: ../../../AMDGPUUsage.rst:20457 +#: ../../../AMDGPUUsage.rst:21446 msgid "Directive" msgstr "" -#: ../../../AMDGPUUsage.rst:20457 +#: ../../../AMDGPUUsage.rst:21446 msgid "Default" msgstr "" -#: ../../../AMDGPUUsage.rst:20457 +#: ../../../AMDGPUUsage.rst:21446 msgid "Supported On" msgstr "" -#: ../../../AMDGPUUsage.rst:20459 +#: ../../../AMDGPUUsage.rst:21448 msgid "``.amdhsa_group_segment_fixed_size``" msgstr "" -#: ../../../AMDGPUUsage.rst:20459 ../../../AMDGPUUsage.rst:20461 -#: ../../../AMDGPUUsage.rst:20463 ../../../AMDGPUUsage.rst:20465 -#: ../../../AMDGPUUsage.rst:20470 ../../../AMDGPUUsage.rst:20472 -#: ../../../AMDGPUUsage.rst:20474 ../../../AMDGPUUsage.rst:20476 -#: ../../../AMDGPUUsage.rst:20481 ../../../AMDGPUUsage.rst:20487 -#: ../../../AMDGPUUsage.rst:20496 ../../../AMDGPUUsage.rst:20498 -#: ../../../AMDGPUUsage.rst:20500 ../../../AMDGPUUsage.rst:20502 -#: ../../../AMDGPUUsage.rst:20504 ../../../AMDGPUUsage.rst:20508 -#: ../../../AMDGPUUsage.rst:20511 ../../../AMDGPUUsage.rst:20517 -#: ../../../AMDGPUUsage.rst:20528 ../../../AMDGPUUsage.rst:20532 -#: ../../../AMDGPUUsage.rst:20536 ../../../AMDGPUUsage.rst:20540 -#: ../../../AMDGPUUsage.rst:20569 ../../../AMDGPUUsage.rst:20571 -#: ../../../AMDGPUUsage.rst:20573 ../../../AMDGPUUsage.rst:20575 -#: ../../../AMDGPUUsage.rst:20577 ../../../AMDGPUUsage.rst:20579 -#: ../../../AMDGPUUsage.rst:20581 +#: ../../../AMDGPUUsage.rst:21448 ../../../AMDGPUUsage.rst:21450 +#: ../../../AMDGPUUsage.rst:21452 ../../../AMDGPUUsage.rst:21454 +#: ../../../AMDGPUUsage.rst:21459 ../../../AMDGPUUsage.rst:21461 +#: ../../../AMDGPUUsage.rst:21463 ../../../AMDGPUUsage.rst:21465 +#: ../../../AMDGPUUsage.rst:21470 ../../../AMDGPUUsage.rst:21476 +#: ../../../AMDGPUUsage.rst:21485 ../../../AMDGPUUsage.rst:21487 +#: ../../../AMDGPUUsage.rst:21489 ../../../AMDGPUUsage.rst:21491 +#: ../../../AMDGPUUsage.rst:21493 ../../../AMDGPUUsage.rst:21497 +#: ../../../AMDGPUUsage.rst:21500 ../../../AMDGPUUsage.rst:21506 +#: ../../../AMDGPUUsage.rst:21517 ../../../AMDGPUUsage.rst:21521 +#: ../../../AMDGPUUsage.rst:21525 ../../../AMDGPUUsage.rst:21529 +#: ../../../AMDGPUUsage.rst:21560 ../../../AMDGPUUsage.rst:21562 +#: ../../../AMDGPUUsage.rst:21564 ../../../AMDGPUUsage.rst:21566 +#: ../../../AMDGPUUsage.rst:21568 ../../../AMDGPUUsage.rst:21570 +#: ../../../AMDGPUUsage.rst:21572 msgid "GFX6-GFX12" msgstr "" -#: ../../../AMDGPUUsage.rst:20459 +#: ../../../AMDGPUUsage.rst:21448 msgid "" "Controls GROUP_SEGMENT_FIXED_SIZE in :ref:`amdgpu-amdhsa-kernel-descriptor-" "v3-table`." msgstr "" -#: ../../../AMDGPUUsage.rst:20461 +#: ../../../AMDGPUUsage.rst:21450 msgid "``.amdhsa_private_segment_fixed_size``" msgstr "" -#: ../../../AMDGPUUsage.rst:20461 +#: ../../../AMDGPUUsage.rst:21450 msgid "" "Controls PRIVATE_SEGMENT_FIXED_SIZE in :ref:`amdgpu-amdhsa-kernel-descriptor-" "v3-table`." msgstr "" -#: ../../../AMDGPUUsage.rst:20463 +#: ../../../AMDGPUUsage.rst:21452 msgid "``.amdhsa_kernarg_size``" msgstr "" -#: ../../../AMDGPUUsage.rst:20463 +#: ../../../AMDGPUUsage.rst:21452 msgid "" "Controls KERNARG_SIZE in :ref:`amdgpu-amdhsa-kernel-descriptor-v3-table`." msgstr "" -#: ../../../AMDGPUUsage.rst:20465 +#: ../../../AMDGPUUsage.rst:21454 msgid "``.amdhsa_user_sgpr_count``" msgstr "" -#: ../../../AMDGPUUsage.rst:20465 +#: ../../../AMDGPUUsage.rst:21454 msgid "" "Controls USER_SGPR_COUNT in COMPUTE_PGM_RSRC2 :ref:`amdgpu-amdhsa-" "compute_pgm_rsrc2-gfx6-gfx12-table`" msgstr "" -#: ../../../AMDGPUUsage.rst:20467 +#: ../../../AMDGPUUsage.rst:21456 msgid "``.amdhsa_user_sgpr_private_segment_buffer``" msgstr "" -#: ../../../AMDGPUUsage.rst:20467 ../../../AMDGPUUsage.rst:20478 -#: ../../../AMDGPUUsage.rst:20491 +#: ../../../AMDGPUUsage.rst:21456 ../../../AMDGPUUsage.rst:21467 +#: ../../../AMDGPUUsage.rst:21480 msgid "GFX6-GFX10 (except GFX942)" msgstr "" -#: ../../../AMDGPUUsage.rst:20467 +#: ../../../AMDGPUUsage.rst:21456 msgid "" "Controls ENABLE_SGPR_PRIVATE_SEGMENT_BUFFER in :ref:`amdgpu-amdhsa-kernel-" "descriptor-v3-table`." msgstr "" -#: ../../../AMDGPUUsage.rst:20470 +#: ../../../AMDGPUUsage.rst:21459 msgid "``.amdhsa_user_sgpr_dispatch_ptr``" msgstr "" -#: ../../../AMDGPUUsage.rst:20470 +#: ../../../AMDGPUUsage.rst:21459 msgid "" "Controls ENABLE_SGPR_DISPATCH_PTR in :ref:`amdgpu-amdhsa-kernel-descriptor-" "v3-table`." msgstr "" -#: ../../../AMDGPUUsage.rst:20472 +#: ../../../AMDGPUUsage.rst:21461 msgid "``.amdhsa_user_sgpr_queue_ptr``" msgstr "" -#: ../../../AMDGPUUsage.rst:20472 +#: ../../../AMDGPUUsage.rst:21461 msgid "" "Controls ENABLE_SGPR_QUEUE_PTR in :ref:`amdgpu-amdhsa-kernel-descriptor-v3-" "table`." msgstr "" -#: ../../../AMDGPUUsage.rst:20474 +#: ../../../AMDGPUUsage.rst:21463 msgid "``.amdhsa_user_sgpr_kernarg_segment_ptr``" msgstr "" -#: ../../../AMDGPUUsage.rst:20474 +#: ../../../AMDGPUUsage.rst:21463 msgid "" "Controls ENABLE_SGPR_KERNARG_SEGMENT_PTR in :ref:`amdgpu-amdhsa-kernel-" "descriptor-v3-table`." msgstr "" -#: ../../../AMDGPUUsage.rst:20476 +#: ../../../AMDGPUUsage.rst:21465 msgid "``.amdhsa_user_sgpr_dispatch_id``" msgstr "" -#: ../../../AMDGPUUsage.rst:20476 +#: ../../../AMDGPUUsage.rst:21465 msgid "" "Controls ENABLE_SGPR_DISPATCH_ID in :ref:`amdgpu-amdhsa-kernel-descriptor-v3-" "table`." msgstr "" -#: ../../../AMDGPUUsage.rst:20478 +#: ../../../AMDGPUUsage.rst:21467 msgid "``.amdhsa_user_sgpr_flat_scratch_init``" msgstr "" -#: ../../../AMDGPUUsage.rst:20478 +#: ../../../AMDGPUUsage.rst:21467 msgid "" "Controls ENABLE_SGPR_FLAT_SCRATCH_INIT in :ref:`amdgpu-amdhsa-kernel-" "descriptor-v3-table`." msgstr "" -#: ../../../AMDGPUUsage.rst:20481 +#: ../../../AMDGPUUsage.rst:21470 msgid "``.amdhsa_user_sgpr_private_segment_size``" msgstr "" -#: ../../../AMDGPUUsage.rst:20481 +#: ../../../AMDGPUUsage.rst:21470 msgid "" "Controls ENABLE_SGPR_PRIVATE_SEGMENT_SIZE in :ref:`amdgpu-amdhsa-kernel-" "descriptor-v3-table`." msgstr "" -#: ../../../AMDGPUUsage.rst:20483 +#: ../../../AMDGPUUsage.rst:21472 msgid "``.amdhsa_wavefront_size32``" msgstr "" -#: ../../../AMDGPUUsage.rst:20483 +#: ../../../AMDGPUUsage.rst:21472 msgid "Target Feature Specific (wavefrontsize64)" msgstr "" -#: ../../../AMDGPUUsage.rst:20483 +#: ../../../AMDGPUUsage.rst:21472 msgid "" "Controls ENABLE_WAVEFRONT_SIZE32 in :ref:`amdgpu-amdhsa-kernel-descriptor-v3-" "table`." msgstr "" -#: ../../../AMDGPUUsage.rst:20487 +#: ../../../AMDGPUUsage.rst:21476 msgid "``.amdhsa_uses_dynamic_stack``" msgstr "" -#: ../../../AMDGPUUsage.rst:20487 +#: ../../../AMDGPUUsage.rst:21476 msgid "" "Controls USES_DYNAMIC_STACK in :ref:`amdgpu-amdhsa-kernel-descriptor-v3-" "table`." msgstr "" -#: ../../../AMDGPUUsage.rst:20489 +#: ../../../AMDGPUUsage.rst:21478 msgid "``.amdhsa_named_barrier_count``" msgstr "" -#: ../../../AMDGPUUsage.rst:20489 +#: ../../../AMDGPUUsage.rst:21478 msgid "GFX1250+" msgstr "" -#: ../../../AMDGPUUsage.rst:20489 +#: ../../../AMDGPUUsage.rst:21478 msgid "" "Controls NAMED_BAR_CNT in :ref:`amdgpu-amdhsa-compute_pgm_rsrc3-gfx12-table`." msgstr "" -#: ../../../AMDGPUUsage.rst:20491 +#: ../../../AMDGPUUsage.rst:21480 msgid "``.amdhsa_system_sgpr_private_segment_wavefront_offset``" msgstr "" -#: ../../../AMDGPUUsage.rst:20491 ../../../AMDGPUUsage.rst:20494 +#: ../../../AMDGPUUsage.rst:21480 ../../../AMDGPUUsage.rst:21483 msgid "" "Controls ENABLE_PRIVATE_SEGMENT in :ref:`amdgpu-amdhsa-compute_pgm_rsrc2-" "gfx6-gfx12-table`." msgstr "" -#: ../../../AMDGPUUsage.rst:20494 +#: ../../../AMDGPUUsage.rst:21483 msgid "``.amdhsa_enable_private_segment``" msgstr "" -#: ../../../AMDGPUUsage.rst:20494 +#: ../../../AMDGPUUsage.rst:21483 msgid "GFX942, GFX11-GFX12" msgstr "" -#: ../../../AMDGPUUsage.rst:20496 +#: ../../../AMDGPUUsage.rst:21485 msgid "``.amdhsa_system_sgpr_workgroup_id_x``" msgstr "" -#: ../../../AMDGPUUsage.rst:20496 +#: ../../../AMDGPUUsage.rst:21485 msgid "" "Controls ENABLE_SGPR_WORKGROUP_ID_X in :ref:`amdgpu-amdhsa-compute_pgm_rsrc2-" "gfx6-gfx12-table`." msgstr "" -#: ../../../AMDGPUUsage.rst:20498 +#: ../../../AMDGPUUsage.rst:21487 msgid "``.amdhsa_system_sgpr_workgroup_id_y``" msgstr "" -#: ../../../AMDGPUUsage.rst:20498 +#: ../../../AMDGPUUsage.rst:21487 msgid "" "Controls ENABLE_SGPR_WORKGROUP_ID_Y in :ref:`amdgpu-amdhsa-compute_pgm_rsrc2-" "gfx6-gfx12-table`." msgstr "" -#: ../../../AMDGPUUsage.rst:20500 +#: ../../../AMDGPUUsage.rst:21489 msgid "``.amdhsa_system_sgpr_workgroup_id_z``" msgstr "" -#: ../../../AMDGPUUsage.rst:20500 +#: ../../../AMDGPUUsage.rst:21489 msgid "" "Controls ENABLE_SGPR_WORKGROUP_ID_Z in :ref:`amdgpu-amdhsa-compute_pgm_rsrc2-" "gfx6-gfx12-table`." msgstr "" -#: ../../../AMDGPUUsage.rst:20502 +#: ../../../AMDGPUUsage.rst:21491 msgid "``.amdhsa_system_sgpr_workgroup_info``" msgstr "" -#: ../../../AMDGPUUsage.rst:20502 +#: ../../../AMDGPUUsage.rst:21491 msgid "" "Controls ENABLE_SGPR_WORKGROUP_INFO in :ref:`amdgpu-amdhsa-compute_pgm_rsrc2-" "gfx6-gfx12-table`." msgstr "" -#: ../../../AMDGPUUsage.rst:20504 +#: ../../../AMDGPUUsage.rst:21493 msgid "``.amdhsa_system_vgpr_workitem_id``" msgstr "" -#: ../../../AMDGPUUsage.rst:20504 +#: ../../../AMDGPUUsage.rst:21493 msgid "" "Controls ENABLE_VGPR_WORKITEM_ID in :ref:`amdgpu-amdhsa-compute_pgm_rsrc2-" "gfx6-gfx12-table`. Possible values are defined in :ref:`amdgpu-amdhsa-system-" "vgpr-work-item-id-enumeration-values-table`." msgstr "" -#: ../../../AMDGPUUsage.rst:20508 +#: ../../../AMDGPUUsage.rst:21497 msgid "``.amdhsa_next_free_vgpr``" msgstr "" -#: ../../../AMDGPUUsage.rst:20508 +#: ../../../AMDGPUUsage.rst:21497 msgid "" "Maximum VGPR number explicitly referenced, plus one. Used to calculate " "GRANULATED_WORKITEM_VGPR_COUNT in :ref:`amdgpu-amdhsa-compute_pgm_rsrc1-gfx6-" "gfx12-table`." msgstr "" -#: ../../../AMDGPUUsage.rst:20511 +#: ../../../AMDGPUUsage.rst:21500 msgid "``.amdhsa_next_free_sgpr``" msgstr "" -#: ../../../AMDGPUUsage.rst:20511 +#: ../../../AMDGPUUsage.rst:21500 msgid "" "Maximum SGPR number explicitly referenced, plus one. Used to calculate " "GRANULATED_WAVEFRONT_SGPR_COUNT in :ref:`amdgpu-amdhsa-compute_pgm_rsrc1-" "gfx6-gfx12-table`." msgstr "" -#: ../../../AMDGPUUsage.rst:20514 +#: ../../../AMDGPUUsage.rst:21503 msgid "``.amdhsa_accum_offset``" msgstr "" -#: ../../../AMDGPUUsage.rst:20514 +#: ../../../AMDGPUUsage.rst:21503 msgid "" "Offset of a first AccVGPR in the unified register file. Used to calculate " "ACCUM_OFFSET in :ref:`amdgpu-amdhsa-compute_pgm_rsrc3-gfx90a-table`." msgstr "" -#: ../../../AMDGPUUsage.rst:20517 +#: ../../../AMDGPUUsage.rst:21506 msgid "``.amdhsa_reserve_vcc``" msgstr "" -#: ../../../AMDGPUUsage.rst:20517 +#: ../../../AMDGPUUsage.rst:21506 msgid "" "Whether the kernel may use the special VCC SGPR. Used to calculate " "GRANULATED_WAVEFRONT_SGPR_COUNT in :ref:`amdgpu-amdhsa-compute_pgm_rsrc1-" "gfx6-gfx12-table`." msgstr "" -#: ../../../AMDGPUUsage.rst:20520 +#: ../../../AMDGPUUsage.rst:21509 msgid "``.amdhsa_reserve_flat_scratch``" msgstr "" -#: ../../../AMDGPUUsage.rst:20520 +#: ../../../AMDGPUUsage.rst:21509 msgid "GFX7-GFX10 (except GFX942)" msgstr "" -#: ../../../AMDGPUUsage.rst:20520 +#: ../../../AMDGPUUsage.rst:21509 msgid "" "Whether the kernel may use flat instructions to access scratch memory. Used " "to calculate GRANULATED_WAVEFRONT_SGPR_COUNT in :ref:`amdgpu-amdhsa-" "compute_pgm_rsrc1-gfx6-gfx12-table`." msgstr "" -#: ../../../AMDGPUUsage.rst:20524 +#: ../../../AMDGPUUsage.rst:21513 msgid "``.amdhsa_reserve_xnack_mask``" msgstr "" -#: ../../../AMDGPUUsage.rst:20524 +#: ../../../AMDGPUUsage.rst:21513 msgid "Target Feature Specific (xnack)" msgstr "" -#: ../../../AMDGPUUsage.rst:20524 +#: ../../../AMDGPUUsage.rst:21513 msgid "GFX8-GFX10" msgstr "" -#: ../../../AMDGPUUsage.rst:20524 +#: ../../../AMDGPUUsage.rst:21513 msgid "" "Whether the kernel may trigger XNACK replay. Used to calculate " "GRANULATED_WAVEFRONT_SGPR_COUNT in :ref:`amdgpu-amdhsa-compute_pgm_rsrc1-" "gfx6-gfx12-table`." msgstr "" -#: ../../../AMDGPUUsage.rst:20528 +#: ../../../AMDGPUUsage.rst:21517 msgid "``.amdhsa_float_round_mode_32``" msgstr "" -#: ../../../AMDGPUUsage.rst:20528 +#: ../../../AMDGPUUsage.rst:21517 msgid "" "Controls FLOAT_ROUND_MODE_32 in :ref:`amdgpu-amdhsa-compute_pgm_rsrc1-gfx6-" "gfx12-table`. Possible values are defined in :ref:`amdgpu-amdhsa-floating-" "point-rounding-mode-enumeration-values-table`." msgstr "" -#: ../../../AMDGPUUsage.rst:20532 +#: ../../../AMDGPUUsage.rst:21521 msgid "``.amdhsa_float_round_mode_16_64``" msgstr "" -#: ../../../AMDGPUUsage.rst:20532 +#: ../../../AMDGPUUsage.rst:21521 msgid "" "Controls FLOAT_ROUND_MODE_16_64 in :ref:`amdgpu-amdhsa-compute_pgm_rsrc1-" "gfx6-gfx12-table`. Possible values are defined in :ref:`amdgpu-amdhsa-" "floating-point-rounding-mode-enumeration-values-table`." msgstr "" -#: ../../../AMDGPUUsage.rst:20536 +#: ../../../AMDGPUUsage.rst:21525 msgid "``.amdhsa_float_denorm_mode_32``" msgstr "" -#: ../../../AMDGPUUsage.rst:20536 +#: ../../../AMDGPUUsage.rst:21525 msgid "" "Controls FLOAT_DENORM_MODE_32 in :ref:`amdgpu-amdhsa-compute_pgm_rsrc1-gfx6-" "gfx12-table`. Possible values are defined in :ref:`amdgpu-amdhsa-floating-" "point-denorm-mode-enumeration-values-table`." msgstr "" -#: ../../../AMDGPUUsage.rst:20540 +#: ../../../AMDGPUUsage.rst:21529 msgid "``.amdhsa_float_denorm_mode_16_64``" msgstr "" -#: ../../../AMDGPUUsage.rst:20540 +#: ../../../AMDGPUUsage.rst:21529 msgid "" "Controls FLOAT_DENORM_MODE_16_64 in :ref:`amdgpu-amdhsa-compute_pgm_rsrc1-" "gfx6-gfx12-table`. Possible values are defined in :ref:`amdgpu-amdhsa-" "floating-point-denorm-mode-enumeration-values-table`." msgstr "" -#: ../../../AMDGPUUsage.rst:20544 +#: ../../../AMDGPUUsage.rst:21533 msgid "``.amdhsa_dx10_clamp``" msgstr "" -#: ../../../AMDGPUUsage.rst:20544 +#: ../../../AMDGPUUsage.rst:21533 ../../../AMDGPUUsage.rst:21536 +msgid "GFX6-GFX11 (except GFX1170)" +msgstr "" + +#: ../../../AMDGPUUsage.rst:21533 msgid "" "Controls ENABLE_DX10_CLAMP in :ref:`amdgpu-amdhsa-compute_pgm_rsrc1-gfx6-" "gfx12-table`." msgstr "" -#: ../../../AMDGPUUsage.rst:20546 +#: ../../../AMDGPUUsage.rst:21536 msgid "``.amdhsa_ieee_mode``" msgstr "" -#: ../../../AMDGPUUsage.rst:20546 +#: ../../../AMDGPUUsage.rst:21536 msgid "" "Controls ENABLE_IEEE_MODE in :ref:`amdgpu-amdhsa-compute_pgm_rsrc1-gfx6-" "gfx12-table`." msgstr "" -#: ../../../AMDGPUUsage.rst:20548 +#: ../../../AMDGPUUsage.rst:21539 msgid "``.amdhsa_round_robin_scheduling``" msgstr "" -#: ../../../AMDGPUUsage.rst:20548 +#: ../../../AMDGPUUsage.rst:21539 msgid "" "Controls ENABLE_WG_RR_EN in :ref:`amdgpu-amdhsa-compute_pgm_rsrc1-gfx6-gfx12-" "table`." msgstr "" -#: ../../../AMDGPUUsage.rst:20550 +#: ../../../AMDGPUUsage.rst:21541 msgid "``.amdhsa_fp16_overflow``" msgstr "" -#: ../../../AMDGPUUsage.rst:20550 +#: ../../../AMDGPUUsage.rst:21541 msgid "" "Controls FP16_OVFL in :ref:`amdgpu-amdhsa-compute_pgm_rsrc1-gfx6-gfx12-" "table`." msgstr "" -#: ../../../AMDGPUUsage.rst:20552 +#: ../../../AMDGPUUsage.rst:21543 msgid "``.amdhsa_tg_split``" msgstr "" -#: ../../../AMDGPUUsage.rst:20552 +#: ../../../AMDGPUUsage.rst:21543 msgid "Target Feature Specific (tgsplit)" msgstr "" -#: ../../../AMDGPUUsage.rst:20552 +#: ../../../AMDGPUUsage.rst:21543 msgid "GFX90A, GFX942, GFX11-GFX12" msgstr "" -#: ../../../AMDGPUUsage.rst:20552 +#: ../../../AMDGPUUsage.rst:21543 msgid "" "Controls TG_SPLIT in :ref:`amdgpu-amdhsa-compute_pgm_rsrc3-gfx90a-table`." msgstr "" -#: ../../../AMDGPUUsage.rst:20556 +#: ../../../AMDGPUUsage.rst:21547 msgid "``.amdhsa_workgroup_processor_mode``" msgstr "" -#: ../../../AMDGPUUsage.rst:20556 +#: ../../../AMDGPUUsage.rst:21547 msgid "Target Feature Specific (cumode)" msgstr "" -#: ../../../AMDGPUUsage.rst:20556 +#: ../../../AMDGPUUsage.rst:21547 msgid "" "Controls ENABLE_WGP_MODE in :ref:`amdgpu-amdhsa-kernel-descriptor-v3-table`." msgstr "" -#: ../../../AMDGPUUsage.rst:20560 +#: ../../../AMDGPUUsage.rst:21551 msgid "``.amdhsa_memory_ordered``" msgstr "" -#: ../../../AMDGPUUsage.rst:20560 +#: ../../../AMDGPUUsage.rst:21551 msgid "" "Controls MEM_ORDERED in :ref:`amdgpu-amdhsa-compute_pgm_rsrc1-gfx6-gfx12-" "table`." msgstr "" -#: ../../../AMDGPUUsage.rst:20562 +#: ../../../AMDGPUUsage.rst:21553 msgid "``.amdhsa_forward_progress``" msgstr "" -#: ../../../AMDGPUUsage.rst:20562 +#: ../../../AMDGPUUsage.rst:21553 msgid "" "Controls FWD_PROGRESS in :ref:`amdgpu-amdhsa-compute_pgm_rsrc1-gfx6-gfx12-" "table`." msgstr "" -#: ../../../AMDGPUUsage.rst:20564 +#: ../../../AMDGPUUsage.rst:21555 msgid "``.amdhsa_shared_vgpr_count``" msgstr "" -#: ../../../AMDGPUUsage.rst:20564 +#: ../../../AMDGPUUsage.rst:21555 msgid "" "Controls SHARED_VGPR_COUNT in :ref:`amdgpu-amdhsa-compute_pgm_rsrc3-gfx10-" "gfx11-table`." msgstr "" -#: ../../../AMDGPUUsage.rst:20566 +#: ../../../AMDGPUUsage.rst:21557 msgid "``.amdhsa_inst_pref_size``" msgstr "" -#: ../../../AMDGPUUsage.rst:20566 +#: ../../../AMDGPUUsage.rst:21557 msgid "GFX11-GFX12" msgstr "" -#: ../../../AMDGPUUsage.rst:20566 +#: ../../../AMDGPUUsage.rst:21557 msgid "" "Controls INST_PREF_SIZE in :ref:`amdgpu-amdhsa-compute_pgm_rsrc3-gfx10-gfx11-" "table` or :ref:`amdgpu-amdhsa-compute_pgm_rsrc3-gfx12-table`" msgstr "" -#: ../../../AMDGPUUsage.rst:20569 +#: ../../../AMDGPUUsage.rst:21560 msgid "``.amdhsa_exception_fp_ieee_invalid_op``" msgstr "" -#: ../../../AMDGPUUsage.rst:20569 +#: ../../../AMDGPUUsage.rst:21560 msgid "" "Controls ENABLE_EXCEPTION_IEEE_754_FP_INVALID_OPERATION in :ref:`amdgpu-" "amdhsa-compute_pgm_rsrc2-gfx6-gfx12-table`." msgstr "" -#: ../../../AMDGPUUsage.rst:20571 +#: ../../../AMDGPUUsage.rst:21562 msgid "``.amdhsa_exception_fp_denorm_src``" msgstr "" -#: ../../../AMDGPUUsage.rst:20571 +#: ../../../AMDGPUUsage.rst:21562 msgid "" "Controls ENABLE_EXCEPTION_FP_DENORMAL_SOURCE in :ref:`amdgpu-amdhsa-" "compute_pgm_rsrc2-gfx6-gfx12-table`." msgstr "" -#: ../../../AMDGPUUsage.rst:20573 +#: ../../../AMDGPUUsage.rst:21564 msgid "``.amdhsa_exception_fp_ieee_div_zero``" msgstr "" -#: ../../../AMDGPUUsage.rst:20573 +#: ../../../AMDGPUUsage.rst:21564 msgid "" "Controls ENABLE_EXCEPTION_IEEE_754_FP_DIVISION_BY_ZERO in :ref:`amdgpu-" "amdhsa-compute_pgm_rsrc2-gfx6-gfx12-table`." msgstr "" -#: ../../../AMDGPUUsage.rst:20575 +#: ../../../AMDGPUUsage.rst:21566 msgid "``.amdhsa_exception_fp_ieee_overflow``" msgstr "" -#: ../../../AMDGPUUsage.rst:20575 +#: ../../../AMDGPUUsage.rst:21566 msgid "" "Controls ENABLE_EXCEPTION_IEEE_754_FP_OVERFLOW in :ref:`amdgpu-amdhsa-" "compute_pgm_rsrc2-gfx6-gfx12-table`." msgstr "" -#: ../../../AMDGPUUsage.rst:20577 +#: ../../../AMDGPUUsage.rst:21568 msgid "``.amdhsa_exception_fp_ieee_underflow``" msgstr "" -#: ../../../AMDGPUUsage.rst:20577 +#: ../../../AMDGPUUsage.rst:21568 msgid "" "Controls ENABLE_EXCEPTION_IEEE_754_FP_UNDERFLOW in :ref:`amdgpu-amdhsa-" "compute_pgm_rsrc2-gfx6-gfx12-table`." msgstr "" -#: ../../../AMDGPUUsage.rst:20579 +#: ../../../AMDGPUUsage.rst:21570 msgid "``.amdhsa_exception_fp_ieee_inexact``" msgstr "" -#: ../../../AMDGPUUsage.rst:20579 +#: ../../../AMDGPUUsage.rst:21570 msgid "" "Controls ENABLE_EXCEPTION_IEEE_754_FP_INEXACT in :ref:`amdgpu-amdhsa-" "compute_pgm_rsrc2-gfx6-gfx12-table`." msgstr "" -#: ../../../AMDGPUUsage.rst:20581 +#: ../../../AMDGPUUsage.rst:21572 msgid "``.amdhsa_exception_int_div_zero``" msgstr "" -#: ../../../AMDGPUUsage.rst:20581 +#: ../../../AMDGPUUsage.rst:21572 msgid "" "Controls ENABLE_EXCEPTION_INT_DIVIDE_BY_ZERO in :ref:`amdgpu-amdhsa-" "compute_pgm_rsrc2-gfx6-gfx12-table`." msgstr "" -#: ../../../AMDGPUUsage.rst:20583 +#: ../../../AMDGPUUsage.rst:21574 msgid "``.amdhsa_user_sgpr_kernarg_preload_length``" msgstr "" -#: ../../../AMDGPUUsage.rst:20583 +#: ../../../AMDGPUUsage.rst:21574 msgid "" "Controls KERNARG_PRELOAD_SPEC_LENGTH in :ref:`amdgpu-amdhsa-kernel-" "descriptor-v3-table`." msgstr "" -#: ../../../AMDGPUUsage.rst:20585 +#: ../../../AMDGPUUsage.rst:21576 msgid "``.amdhsa_user_sgpr_kernarg_preload_offset``" msgstr "" -#: ../../../AMDGPUUsage.rst:20585 +#: ../../../AMDGPUUsage.rst:21576 msgid "" "Controls KERNARG_PRELOAD_SPEC_OFFSET in :ref:`amdgpu-amdhsa-kernel-" "descriptor-v3-table`." msgstr "" -#: ../../../AMDGPUUsage.rst:20590 +#: ../../../AMDGPUUsage.rst:21581 msgid ".amdgpu_metadata" msgstr "" -#: ../../../AMDGPUUsage.rst:20592 +#: ../../../AMDGPUUsage.rst:21583 msgid "" "Optional directive which declares the contents of the ``NT_AMDGPU_METADATA`` " "note record (see :ref:`amdgpu-elf-note-records-table-v3-onwards`)." msgstr "" -#: ../../../AMDGPUUsage.rst:20595 +#: ../../../AMDGPUUsage.rst:21586 msgid "" "The contents must be in the [YAML]_ markup format, with the same structure " "and semantics described in :ref:`amdgpu-amdhsa-code-object-metadata-v3`, :" @@ -21709,19 +22934,19 @@ msgid "" "object-metadata-v5`." msgstr "" -#: ../../../AMDGPUUsage.rst:20600 +#: ../../../AMDGPUUsage.rst:21591 msgid "This directive is terminated by an ``.end_amdgpu_metadata`` directive." msgstr "" -#: ../../../AMDGPUUsage.rst:20605 +#: ../../../AMDGPUUsage.rst:21596 msgid "Code Object V3 and Above Example Source Code" msgstr "" -#: ../../../AMDGPUUsage.rst:20662 +#: ../../../AMDGPUUsage.rst:21653 msgid "This kernel is equivalent to the following HIP program:" msgstr "" -#: ../../../AMDGPUUsage.rst:20671 +#: ../../../AMDGPUUsage.rst:21662 msgid "" "If an assembly source file contains multiple kernels and/or functions, the :" "ref:`amdgpu-amdhsa-assembler-symbol-next_free_vgpr` and :ref:`amdgpu-amdhsa-" @@ -21732,7 +22957,7 @@ msgid "" "between the two connected components:" msgstr "" -#: ../../../AMDGPUUsage.rst:20741 +#: ../../../AMDGPUUsage.rst:21732 msgid "" "These symbols cannot identify connected components in order to automatically " "track the usage for each kernel. However, in some cases careful organization " @@ -21740,170 +22965,170 @@ msgid "" "additional effort required to accurately calculate GPR usage." msgstr "" -#: ../../../AMDGPUUsage.rst:20747 +#: ../../../AMDGPUUsage.rst:21738 msgid "Additional Documentation" msgstr "" -#: ../../../AMDGPUUsage.rst:20749 +#: ../../../AMDGPUUsage.rst:21740 msgid "" "`AMD Southern Islands Series ISA `__" msgstr "" -#: ../../../AMDGPUUsage.rst:20750 +#: ../../../AMDGPUUsage.rst:21741 msgid "" "`AMD Sea Islands Series ISA `_" msgstr "" -#: ../../../AMDGPUUsage.rst:20751 +#: ../../../AMDGPUUsage.rst:21742 msgid "" "`AMD GCN3 Instruction Set Architecture `__" msgstr "" -#: ../../../AMDGPUUsage.rst:20752 +#: ../../../AMDGPUUsage.rst:21743 msgid "" "`AMD Vega Instruction Set Architecture `__" msgstr "" -#: ../../../AMDGPUUsage.rst:20753 +#: ../../../AMDGPUUsage.rst:21744 msgid "" "`AMD Vega 7nm Instruction Set Architecture `__" msgstr "" -#: ../../../AMDGPUUsage.rst:20754 +#: ../../../AMDGPUUsage.rst:21745 msgid "" "`AMD Instinct MI100 Instruction Set Architecture `__" msgstr "" -#: ../../../AMDGPUUsage.rst:20755 +#: ../../../AMDGPUUsage.rst:21746 msgid "" "`AMD Instinct MI200 Instruction Set Architecture `__" msgstr "" -#: ../../../AMDGPUUsage.rst:20756 +#: ../../../AMDGPUUsage.rst:21747 msgid "" "`AMD Instinct MI300 Instruction Set Architecture `__" msgstr "" -#: ../../../AMDGPUUsage.rst:20757 +#: ../../../AMDGPUUsage.rst:21748 msgid "" "`AMD RDNA 1.0 Instruction Set Architecture `__" msgstr "" -#: ../../../AMDGPUUsage.rst:20758 +#: ../../../AMDGPUUsage.rst:21749 msgid "" "`AMD RDNA 2 Instruction Set Architecture `__" msgstr "" -#: ../../../AMDGPUUsage.rst:20759 +#: ../../../AMDGPUUsage.rst:21750 msgid "" "`AMD RDNA 3 Instruction Set Architecture `__" msgstr "" -#: ../../../AMDGPUUsage.rst:20760 +#: ../../../AMDGPUUsage.rst:21751 msgid "" "`AMD RDNA 3.5 Instruction Set Architecture `__" msgstr "" -#: ../../../AMDGPUUsage.rst:20761 +#: ../../../AMDGPUUsage.rst:21752 msgid "" "`AMD RDNA 4 Instruction Set Architecture `__" msgstr "" -#: ../../../AMDGPUUsage.rst:20762 +#: ../../../AMDGPUUsage.rst:21753 msgid "" "`AMD R6xx shader ISA `__" msgstr "" -#: ../../../AMDGPUUsage.rst:20763 +#: ../../../AMDGPUUsage.rst:21754 msgid "" "`AMD R7xx shader ISA `__" msgstr "" -#: ../../../AMDGPUUsage.rst:20764 +#: ../../../AMDGPUUsage.rst:21755 msgid "" "`AMD Evergreen shader ISA `__" msgstr "" -#: ../../../AMDGPUUsage.rst:20765 +#: ../../../AMDGPUUsage.rst:21756 msgid "" "`AMD Cayman/Trinity shader ISA `__" msgstr "" -#: ../../../AMDGPUUsage.rst:20766 +#: ../../../AMDGPUUsage.rst:21757 msgid "`AMD ROCm™ Platform `__" msgstr "" -#: ../../../AMDGPUUsage.rst:20767 +#: ../../../AMDGPUUsage.rst:21758 msgid "`AMD ROCm™ github `__" msgstr "" -#: ../../../AMDGPUUsage.rst:20768 +#: ../../../AMDGPUUsage.rst:21759 msgid "`AMD ROCm Release Notes `__" msgstr "" -#: ../../../AMDGPUUsage.rst:20769 +#: ../../../AMDGPUUsage.rst:21760 msgid "" "`Attributes in Clang `__" msgstr "" -#: ../../../AMDGPUUsage.rst:20770 +#: ../../../AMDGPUUsage.rst:21761 msgid "`DWARF Debugging Information Format `__" msgstr "" -#: ../../../AMDGPUUsage.rst:20771 +#: ../../../AMDGPUUsage.rst:21762 msgid "" "`Executable and Linkable Format (ELF) `__" msgstr "" -#: ../../../AMDGPUUsage.rst:20772 +#: ../../../AMDGPUUsage.rst:21763 msgid "" "`Heterogeneous-race-free Memory Models `__" msgstr "" -#: ../../../AMDGPUUsage.rst:20773 +#: ../../../AMDGPUUsage.rst:21764 msgid "" "`Heterogeneous System Architecture (HSA) Foundation `__" msgstr "" -#: ../../../AMDGPUUsage.rst:20774 +#: ../../../AMDGPUUsage.rst:21765 msgid "`Message Pack `__" msgstr "" -#: ../../../AMDGPUUsage.rst:20775 +#: ../../../AMDGPUUsage.rst:21766 msgid "" "`The OpenCL Specification Version 2.0 `__" msgstr "" -#: ../../../AMDGPUUsage.rst:20776 +#: ../../../AMDGPUUsage.rst:21767 msgid "`Semantic Versioning `__" msgstr "" -#: ../../../AMDGPUUsage.rst:20777 +#: ../../../AMDGPUUsage.rst:21768 msgid "" "`YAML Ain't Markup Language (YAML™) Version 1.2 `__" diff --git a/main/locale/pot/LC_MESSAGES/CMake.pot b/main/locale/pot/LC_MESSAGES/CMake.pot index f2842cc15b5..546bbc202b6 100644 --- a/main/locale/pot/LC_MESSAGES/CMake.pot +++ b/main/locale/pot/LC_MESSAGES/CMake.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: LLVM main\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-12-22 08:34+0000\n" +"POT-Creation-Date: 2026-03-09 08:48+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -448,7 +448,7 @@ msgid "" "specify ``-G Ninja -DLLVM_PARALLEL_LINK_JOBS=2``." msgstr "" -#: ../../../CMake.rst:267 ../../../CMake.rst:867 +#: ../../../CMake.rst:267 ../../../CMake.rst:872 msgid "**LLVM_TARGETS_TO_BUILD**:STRING" msgstr "" @@ -458,7 +458,7 @@ msgid "" "your native target with, for example, ``-DLLVM_TARGETS_TO_BUILD=X86``." msgstr "" -#: ../../../CMake.rst:273 ../../../CMake.rst:892 +#: ../../../CMake.rst:273 ../../../CMake.rst:897 msgid "**LLVM_USE_LINKER**:STRING" msgstr "" @@ -1179,63 +1179,74 @@ msgstr "" msgid "Enable all compiler warnings. Defaults to ON." msgstr "" +#: ../../../CMake.rst:650 +msgid "**LLVM_ENABLE_WARNING_SUPPRESSIONS**:BOOL" +msgstr "" + #: ../../../CMake.rst:648 +msgid "" +"Suppress specific compiler warnings. When disabled, this prevents " +"suppressing warnings with flags such as MSVC's ``-wd`` or GCC/Clang's ``-" +"Wno-...``. Defaults to ON." +msgstr "" + +#: ../../../CMake.rst:653 msgid "**LLVM_ENABLE_WERROR**:BOOL" msgstr "" -#: ../../../CMake.rst:648 +#: ../../../CMake.rst:653 msgid "" "Stop and fail the build, if a compiler warning is triggered. Defaults to OFF." msgstr "" -#: ../../../CMake.rst:652 +#: ../../../CMake.rst:657 msgid "**LLVM_ENABLE_Z3_SOLVER**:BOOL" msgstr "" -#: ../../../CMake.rst:651 +#: ../../../CMake.rst:656 msgid "" "If enabled, the Z3 constraint solver is activated for the Clang static " "analyzer. A recent version of the z3 library must be available on the system." msgstr "" -#: ../../../CMake.rst:657 +#: ../../../CMake.rst:662 msgid "**LLVM_ENABLE_ZLIB**:STRING" msgstr "" -#: ../../../CMake.rst:655 +#: ../../../CMake.rst:660 msgid "" "Used to decide if LLVM tools should support compression/decompression with " "zlib. Allowed values are ``OFF``, ``ON`` (default, enable if zlib is found), " "and ``FORCE_ON`` (error if zlib is not found)." msgstr "" -#: ../../../CMake.rst:662 +#: ../../../CMake.rst:667 msgid "**LLVM_ENABLE_ZSTD**:STRING" msgstr "" -#: ../../../CMake.rst:660 +#: ../../../CMake.rst:665 msgid "" "Used to decide if LLVM tools should support compression/decompression with " "zstd. Allowed values are ``OFF``, ``ON`` (default, enable if zstd is found), " "and ``FORCE_ON`` (error if zstd is not found)." msgstr "" -#: ../../../CMake.rst:667 +#: ../../../CMake.rst:672 msgid "**LLVM_EXPERIMENTAL_TARGETS_TO_BUILD**:STRING" msgstr "" -#: ../../../CMake.rst:665 +#: ../../../CMake.rst:670 msgid "" "Semicolon-separated list of experimental targets to build and linked into " "llvm. This will build the experimental target without needing it to add to " "the list of all the targets available in the LLVM's main ``CMakeLists.txt``." msgstr "" -#: ../../../CMake.rst:675 +#: ../../../CMake.rst:680 msgid "**LLVM_EXTERNAL_PROJECTS**:STRING" msgstr "" -#: ../../../CMake.rst:670 +#: ../../../CMake.rst:675 msgid "" "Semicolon-separated list of additional external projects to build as part of " "llvm. For each project, ``LLVM_EXTERNAL__SOURCE_DIR`` has to be " @@ -1244,11 +1255,11 @@ msgid "" "DLLVM_EXTERNAL_BAR_SOURCE_DIR=/src/bar``." msgstr "" -#: ../../../CMake.rst:683 +#: ../../../CMake.rst:688 msgid "**LLVM_EXTERNAL_{CLANG,LLD,POLLY}_SOURCE_DIR**:PATH" msgstr "" -#: ../../../CMake.rst:678 +#: ../../../CMake.rst:683 msgid "" "These variables specify the path to the source directory for the external " "LLVM projects Clang, lld, and Polly, respectively, relative to the top-level " @@ -1258,82 +1269,82 @@ msgid "" "point to a valid path, then that project will not be built." msgstr "" -#: ../../../CMake.rst:687 +#: ../../../CMake.rst:692 msgid "**LLVM_EXTERNALIZE_DEBUGINFO**:BOOL" msgstr "" -#: ../../../CMake.rst:686 +#: ../../../CMake.rst:691 msgid "" "Generate dSYM files and strip executables and libraries (Darwin only). " "Defaults to OFF." msgstr "" -#: ../../../CMake.rst:692 +#: ../../../CMake.rst:697 msgid "**LLVM_ENABLE_EXPORTED_SYMBOLS_IN_EXECUTABLES**:BOOL" msgstr "" -#: ../../../CMake.rst:690 +#: ../../../CMake.rst:695 msgid "" "When building executables, preserve symbol exports. Defaults to ON. You can " "use this option to disable exported symbols from all executables (Darwin " "Only)." msgstr "" -#: ../../../CMake.rst:697 +#: ../../../CMake.rst:702 msgid "**LLVM_FORCE_USE_OLD_TOOLCHAIN**:BOOL" msgstr "" -#: ../../../CMake.rst:695 +#: ../../../CMake.rst:700 msgid "" "If enabled, the compiler and standard library versions won't be checked. " "LLVM may not compile at all, or might fail at runtime due to known bugs in " "these toolchains." msgstr "" -#: ../../../CMake.rst:700 +#: ../../../CMake.rst:705 msgid "**LLVM_INCLUDE_BENCHMARKS**:BOOL" msgstr "" -#: ../../../CMake.rst:700 +#: ../../../CMake.rst:705 msgid "Generate build targets for the LLVM benchmarks. Defaults to ON." msgstr "" -#: ../../../CMake.rst:704 +#: ../../../CMake.rst:709 msgid "**LLVM_INCLUDE_EXAMPLES**:BOOL" msgstr "" -#: ../../../CMake.rst:703 +#: ../../../CMake.rst:708 msgid "" "Generate build targets for the LLVM examples. Defaults to ON. You can use " "this option to disable the generation of build targets for the LLVM examples." msgstr "" -#: ../../../CMake.rst:709 +#: ../../../CMake.rst:714 msgid "**LLVM_INCLUDE_TESTS**:BOOL" msgstr "" -#: ../../../CMake.rst:707 +#: ../../../CMake.rst:712 msgid "" "Generate build targets for the LLVM unit tests. Defaults to ON. You can use " "this option to disable the generation of build targets for the LLVM unit " "tests." msgstr "" -#: ../../../CMake.rst:713 +#: ../../../CMake.rst:718 msgid "**LLVM_INCLUDE_TOOLS**:BOOL" msgstr "" -#: ../../../CMake.rst:712 +#: ../../../CMake.rst:717 msgid "" "Generate build targets for the LLVM tools. Defaults to ON. You can use this " "option to disable the generation of build targets for the LLVM tools." msgstr "" -#: ../../../CMake.rst:719 +#: ../../../CMake.rst:724 msgid "**LLVM_INDIVIDUAL_TEST_COVERAGE**:BOOL" msgstr "" -#: ../../../CMake.rst:716 +#: ../../../CMake.rst:721 msgid "" "Enable individual test case coverage. When set to ON, code coverage data for " "each test case will be generated and stored in a separate directory under " @@ -1341,74 +1352,74 @@ msgid "" "of each individual test case. Defaults to OFF." msgstr "" -#: ../../../CMake.rst:723 +#: ../../../CMake.rst:728 msgid "**LLVM_INSTALL_BINUTILS_SYMLINKS**:BOOL" msgstr "" -#: ../../../CMake.rst:722 +#: ../../../CMake.rst:727 msgid "" "Install symlinks from the binutils tool names to the corresponding LLVM " "tools. For example, ar will be symlinked to llvm-ar." msgstr "" -#: ../../../CMake.rst:727 +#: ../../../CMake.rst:732 msgid "**LLVM_INSTALL_CCTOOLS_SYMLINKS**:BOOL" msgstr "" -#: ../../../CMake.rst:726 +#: ../../../CMake.rst:731 msgid "" "Install symlinks from the cctools tool names to the corresponding LLVM " "tools. For example, lipo will be symlinked to llvm-lipo." msgstr "" -#: ../../../CMake.rst:732 +#: ../../../CMake.rst:737 msgid "**LLVM_INSTALL_OCAMLDOC_HTML_DIR**:STRING" msgstr "" -#: ../../../CMake.rst:730 +#: ../../../CMake.rst:735 msgid "" "The path to install OCamldoc-generated HTML documentation to. This path can " "either be absolute or relative to the ``CMAKE_INSTALL_PREFIX``. Defaults to " "``${CMAKE_INSTALL_DOCDIR}/llvm/ocaml-html``." msgstr "" -#: ../../../CMake.rst:737 +#: ../../../CMake.rst:742 msgid "**LLVM_INSTALL_SPHINX_HTML_DIR**:STRING" msgstr "" -#: ../../../CMake.rst:735 +#: ../../../CMake.rst:740 msgid "" "The path to install Sphinx-generated HTML documentation to. This path can " "either be absolute or relative to the ``CMAKE_INSTALL_PREFIX``. Defaults to " "``${CMAKE_INSTALL_DOCDIR}/llvm/html``." msgstr "" -#: ../../../CMake.rst:741 +#: ../../../CMake.rst:746 msgid "**LLVM_INSTALL_UTILS**:BOOL" msgstr "" -#: ../../../CMake.rst:740 +#: ../../../CMake.rst:745 msgid "" "If enabled, utility binaries like ``FileCheck`` and ``not`` will be " "installed to ``CMAKE_INSTALL_PREFIX``." msgstr "" -#: ../../../CMake.rst:746 +#: ../../../CMake.rst:751 msgid "**LLVM_INSTALL_DOXYGEN_HTML_DIR**:STRING" msgstr "" -#: ../../../CMake.rst:744 +#: ../../../CMake.rst:749 msgid "" "The path to install Doxygen-generated HTML documentation to. This path can " "either be absolute or relative to the *CMAKE_INSTALL_PREFIX*. Defaults to " "``${CMAKE_INSTALL_DOCDIR}/llvm/doxygen-html``." msgstr "" -#: ../../../CMake.rst:763 +#: ../../../CMake.rst:768 msgid "**LLVM_INTEGRATED_CRT_ALLOC**:PATH" msgstr "" -#: ../../../CMake.rst:749 +#: ../../../CMake.rst:754 msgid "" "On Windows, allows embedding a different C runtime allocator into the LLVM " "tools and libraries. Using a lock-free allocator such as the ones listed " @@ -1418,18 +1429,18 @@ msgid "" "to select the respective allocator, for example:" msgstr "" -#: ../../../CMake.rst:761 +#: ../../../CMake.rst:766 msgid "" "This option needs to be used along with the static CRT, i.e., if building " "the Release target, add ``-DCMAKE_MSVC_RUNTIME_LIBRARY=MultiThreaded``. Note " "that rpmalloc is also supported natively in-tree, see option below." msgstr "" -#: ../../../CMake.rst:769 +#: ../../../CMake.rst:774 msgid "**LLVM_ENABLE_RPMALLOC**:BOOL" msgstr "" -#: ../../../CMake.rst:766 +#: ../../../CMake.rst:771 msgid "" "Similar to LLVM_INTEGRATED_CRT_ALLOC, embeds the in-tree rpmalloc into the " "host toolchain as a C runtime allocator. The version currently used is " @@ -1437,41 +1448,41 @@ msgid "" "there's no need to provide CMAKE_MSVC_RUNTIME_LIBRARY." msgstr "" -#: ../../../CMake.rst:775 +#: ../../../CMake.rst:780 msgid "**LLVM_LINK_LLVM_DYLIB**:BOOL" msgstr "" -#: ../../../CMake.rst:772 +#: ../../../CMake.rst:777 msgid "" "If enabled, tools will be linked with the libLLVM shared library. Defaults " "to OFF. Setting ``LLVM_LINK_LLVM_DYLIB`` to ON also sets " "``LLVM_BUILD_LLVM_DYLIB`` to ON. This option is not available on Windows." msgstr "" -#: ../../../CMake.rst:778 +#: ../../../CMake.rst:783 msgid "**LLVM__LINKER_FLAGS**:STRING" msgstr "" -#: ../../../CMake.rst:778 +#: ../../../CMake.rst:783 msgid "Defines the set of linker flags that should be applied to a ." msgstr "" -#: ../../../CMake.rst:783 +#: ../../../CMake.rst:788 msgid "**LLVM_LIT_ARGS**:STRING" msgstr "" -#: ../../../CMake.rst:781 +#: ../../../CMake.rst:786 msgid "" "Arguments given to lit. ``make check`` and ``make clang-test`` are " "affected. By default, ``'-sv --no-progress-bar'`` on Visual C++ and Xcode, " "``'-sv'`` on others." msgstr "" -#: ../../../CMake.rst:790 +#: ../../../CMake.rst:795 msgid "**LLVM_LIT_TOOLS_DIR**:PATH" msgstr "" -#: ../../../CMake.rst:786 +#: ../../../CMake.rst:791 msgid "" "The path to GnuWin32 tools for tests. Valid on Windows host. Defaults to " "the empty string, in which case lit will look for tools needed for tests (e." @@ -1480,11 +1491,11 @@ msgid "" "lit can find tools needed for tests in that directory." msgstr "" -#: ../../../CMake.rst:797 +#: ../../../CMake.rst:802 msgid "**LLVM_NATIVE_TOOL_DIR**:STRING" msgstr "" -#: ../../../CMake.rst:793 +#: ../../../CMake.rst:798 msgid "" "Full path to a directory containing executables for the build host " "(containing binaries such as ``llvm-tblgen`` and ``clang-tblgen``). This is " @@ -1493,11 +1504,11 @@ msgid "" "versions of those executables will be built." msgstr "" -#: ../../../CMake.rst:804 +#: ../../../CMake.rst:809 msgid "**LLVM_NO_INSTALL_NAME_DIR_FOR_BUILD_TREE**:BOOL" msgstr "" -#: ../../../CMake.rst:800 +#: ../../../CMake.rst:805 msgid "" "Defaults to ``OFF``. If set to ``ON``, CMake's default logic for library IDs " "on Darwin in the build tree will be used. Otherwise the install-time library " @@ -1506,11 +1517,11 @@ msgid "" "set to non-standard values." msgstr "" -#: ../../../CMake.rst:810 +#: ../../../CMake.rst:815 msgid "**LLVM_OPTIMIZED_TABLEGEN**:BOOL" msgstr "" -#: ../../../CMake.rst:807 +#: ../../../CMake.rst:812 msgid "" "If enabled and building a debug or assert build, the CMake build system will " "generate a Release build tree to build a fully optimized tablegen for use " @@ -1518,32 +1529,32 @@ msgid "" "times, especially when building LLVM in Debug configurations." msgstr "" -#: ../../../CMake.rst:815 +#: ../../../CMake.rst:820 msgid "**LLVM_PARALLEL_{COMPILE,LINK,TABLEGEN}_JOBS**:STRING" msgstr "" -#: ../../../CMake.rst:813 +#: ../../../CMake.rst:818 msgid "" "Limit the maximum number of concurrent compilation, link or tablegen jobs " "respectively. The default total number of parallel jobs is determined by the " "number of logical CPUs." msgstr "" -#: ../../../CMake.rst:819 +#: ../../../CMake.rst:824 msgid "**LLVM_PROFDATA_FILE**:PATH" msgstr "" -#: ../../../CMake.rst:818 +#: ../../../CMake.rst:823 msgid "" "Path to a profdata file to pass into clang's ``-fprofile-instr-use`` flag. " "This can only be specified if you're building with clang." msgstr "" -#: ../../../CMake.rst:833 +#: ../../../CMake.rst:838 msgid "**LLVM_RAM_PER_{COMPILE,LINK,TABLEGEN}_JOB**:STRING" msgstr "" -#: ../../../CMake.rst:822 +#: ../../../CMake.rst:827 msgid "" "Limit the number of concurrent compile, link or tablegen jobs respectively, " "depending on available physical memory. The value specified is in MB. The " @@ -1557,22 +1568,22 @@ msgid "" "``LLVM_USE_SPLIT_DWARF``." msgstr "" -#: ../../../CMake.rst:838 +#: ../../../CMake.rst:843 msgid "**LLVM_REVERSE_ITERATION**:BOOL" msgstr "" -#: ../../../CMake.rst:836 +#: ../../../CMake.rst:841 msgid "" "If enabled, all supported unordered llvm containers would be iterated in " "reverse order. This is useful for uncovering non-determinism caused by " "iteration of unordered containers." msgstr "" -#: ../../../CMake.rst:843 +#: ../../../CMake.rst:848 msgid "**LLVM_STATIC_LINK_CXX_STDLIB**:BOOL" msgstr "" -#: ../../../CMake.rst:841 +#: ../../../CMake.rst:846 msgid "" "Statically link to the C++ standard library if possible. This uses the flag " "``-static-libstdc++``, but a Clang host compiler will statically link to " @@ -1580,22 +1591,22 @@ msgid "" "to OFF." msgstr "" -#: ../../../CMake.rst:848 +#: ../../../CMake.rst:853 msgid "**LLVM_TABLEGEN**:STRING" msgstr "" -#: ../../../CMake.rst:846 +#: ../../../CMake.rst:851 msgid "" "Full path to a native TableGen executable (usually named ``llvm-tblgen``). " "This is intended for cross-compiling: if the user sets this variable, no " "native TableGen will be created." msgstr "" -#: ../../../CMake.rst:854 +#: ../../../CMake.rst:859 msgid "**LLVM_TARGET_ARCH**:STRING" msgstr "" -#: ../../../CMake.rst:851 +#: ../../../CMake.rst:856 msgid "" "LLVM target to use for native code generation. This is required for JIT " "generation. It defaults to \"host\", meaning that it shall pick the " @@ -1603,7 +1614,7 @@ msgid "" "compiling, set it to the target architecture name." msgstr "" -#: ../../../CMake.rst:857 +#: ../../../CMake.rst:862 msgid "" "Semicolon-separated list of targets to build, or *all* for building all " "targets. Case-sensitive. Defaults to *all*. Example: ``-" @@ -1612,7 +1623,7 @@ msgid "" "PowerPC;RISCV;Sparc;SPIRV;SystemZ;VE;WebAssembly;X86;XCore``" msgstr "" -#: ../../../CMake.rst:863 +#: ../../../CMake.rst:868 msgid "" "You can also specify ``host`` or ``Native`` to automatically detect and " "include the target corresponding to the host machine's architecture, or use " @@ -1620,32 +1631,32 @@ msgid "" "specifying ``-DLLVM_TARGETS_TO_BUILD=host`` will include the ``X86`` target." msgstr "" -#: ../../../CMake.rst:871 +#: ../../../CMake.rst:876 msgid "**LLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN**:BOOL" msgstr "" -#: ../../../CMake.rst:870 +#: ../../../CMake.rst:875 msgid "" "If enabled, the compiler version check will only warn when using a toolchain " "which is about to be deprecated, instead of emitting an error." msgstr "" -#: ../../../CMake.rst:876 +#: ../../../CMake.rst:881 msgid "**LLVM_UBSAN_FLAGS**:STRING" msgstr "" -#: ../../../CMake.rst:874 +#: ../../../CMake.rst:879 msgid "" "Defines the set of compile flags used to enable UBSan. Only used if " "``LLVM_USE_SANITIZER`` contains ``Undefined``. This can be used to override " "the default set of UBSan flags." msgstr "" -#: ../../../CMake.rst:882 +#: ../../../CMake.rst:887 msgid "**LLVM_UNREACHABLE_OPTIMIZE**:BOOL" msgstr "" -#: ../../../CMake.rst:879 +#: ../../../CMake.rst:884 msgid "" "This flag controls the behavior of ``llvm_unreachable()`` in a release build " "(when assertions are disabled in general). When ON (default) then " @@ -1653,15 +1664,15 @@ msgid "" "such. When OFF it is instead replaced with a guaranteed \"trap\"." msgstr "" -#: ../../../CMake.rst:885 +#: ../../../CMake.rst:890 msgid "**LLVM_USE_INTEL_JITEVENTS**:BOOL" msgstr "" -#: ../../../CMake.rst:885 +#: ../../../CMake.rst:890 msgid "Enable building support for Intel JIT Events API. Defaults to OFF." msgstr "" -#: ../../../CMake.rst:888 +#: ../../../CMake.rst:893 msgid "" "Add ``-fuse-ld={name}`` to the link invocation. The possible values depend " "on your compiler. For clang, the value can be an absolute path to your " @@ -1670,49 +1681,49 @@ msgid "" "be invoked with ``-DLLVM_USE_LINKER=gold``." msgstr "" -#: ../../../CMake.rst:895 +#: ../../../CMake.rst:900 msgid "**LLVM_USE_OPROFILE**:BOOL" msgstr "" -#: ../../../CMake.rst:895 +#: ../../../CMake.rst:900 msgid "Enable building OProfile JIT support. Defaults to OFF." msgstr "" -#: ../../../CMake.rst:898 +#: ../../../CMake.rst:903 msgid "**LLVM_USE_PERF**:BOOL" msgstr "" -#: ../../../CMake.rst:898 +#: ../../../CMake.rst:903 msgid "" "Enable building support for Perf (linux profiling tool) JIT support. " "Defaults to OFF." msgstr "" -#: ../../../CMake.rst:902 +#: ../../../CMake.rst:907 msgid "**LLVM_USE_RELATIVE_PATHS_IN_FILES**:BOOL" msgstr "" -#: ../../../CMake.rst:901 +#: ../../../CMake.rst:906 msgid "" "Rewrite absolute source paths in sources and debug info to relative ones. " "The source prefix can be adjusted via the ``LLVM_SOURCE_PREFIX`` variable." msgstr "" -#: ../../../CMake.rst:906 +#: ../../../CMake.rst:911 msgid "**LLVM_USE_RELATIVE_PATHS_IN_DEBUG_INFO**:BOOL" msgstr "" -#: ../../../CMake.rst:905 +#: ../../../CMake.rst:910 msgid "" "Rewrite absolute source paths in debug info to relative ones. The source " "prefix can be adjusted via the ``LLVM_SOURCE_PREFIX`` variable." msgstr "" -#: ../../../CMake.rst:911 +#: ../../../CMake.rst:916 msgid "**LLVM_USE_SANITIZER**:STRING" msgstr "" -#: ../../../CMake.rst:909 +#: ../../../CMake.rst:914 msgid "" "Define the sanitizer used to build LLVM binaries and tests. Possible values " "are ``Address``, ``Memory``, ``MemoryWithOrigins``, ``Undefined``, " @@ -1720,11 +1731,11 @@ msgid "" "string." msgstr "" -#: ../../../CMake.rst:917 +#: ../../../CMake.rst:922 msgid "**LLVM_USE_SPLIT_DWARF**:BOOL" msgstr "" -#: ../../../CMake.rst:914 +#: ../../../CMake.rst:919 msgid "" "If enabled CMake will pass ``-gsplit-dwarf`` to the compiler. This option " "reduces link-time memory usage by reducing the amount of debug information " @@ -1732,22 +1743,22 @@ msgid "" "ELF object format, like Linux systems when linker memory usage is too high." msgstr "" -#: ../../../CMake.rst:922 +#: ../../../CMake.rst:927 msgid "**SPHINX_EXECUTABLE**:STRING" msgstr "" -#: ../../../CMake.rst:920 +#: ../../../CMake.rst:925 msgid "" "The path to the ``sphinx-build`` executable detected by CMake. For " "installation instructions, see https://www.sphinx-doc.org/en/master/usage/" "installation.html" msgstr "" -#: ../../../CMake.rst:929 +#: ../../../CMake.rst:934 msgid "**SPHINX_OUTPUT_HTML**:BOOL" msgstr "" -#: ../../../CMake.rst:925 +#: ../../../CMake.rst:930 msgid "" "If enabled (and ``LLVM_ENABLE_SPHINX`` is enabled) then the targets for " "building the documentation as HTML are added (but not built by default " @@ -1756,11 +1767,11 @@ msgid "" "html`` and ``docs-lld-html``). Defaults to ON." msgstr "" -#: ../../../CMake.rst:935 +#: ../../../CMake.rst:940 msgid "**SPHINX_OUTPUT_MAN**:BOOL" msgstr "" -#: ../../../CMake.rst:932 +#: ../../../CMake.rst:937 msgid "" "If enabled (and ``LLVM_ENABLE_SPHINX`` is enabled) the targets for building " "the man pages are added (but not built by default unless ``LLVM_BUILD_DOCS`` " @@ -1768,62 +1779,62 @@ msgid "" "to ON." msgstr "" -#: ../../../CMake.rst:939 +#: ../../../CMake.rst:944 msgid "**SPHINX_WARNINGS_AS_ERRORS**:BOOL" msgstr "" -#: ../../../CMake.rst:938 +#: ../../../CMake.rst:943 msgid "" "If enabled, then sphinx documentation warnings will be treated as errors. " "Defaults to ON." msgstr "" -#: ../../../CMake.rst:942 +#: ../../../CMake.rst:947 msgid "Advanced variables" msgstr "" -#: ../../../CMake.rst:944 +#: ../../../CMake.rst:949 msgid "" "These are niche, and changing them from their defaults is more likely to " "cause things to go wrong. They are also unstable across LLVM versions." msgstr "" -#: ../../../CMake.rst:950 +#: ../../../CMake.rst:955 msgid "**LLVM_EXAMPLES_INSTALL_DIR**:STRING" msgstr "" -#: ../../../CMake.rst:948 +#: ../../../CMake.rst:953 msgid "" "The path for examples of using LLVM, relative to the *CMAKE_INSTALL_PREFIX*. " "Only matters if *LLVM_BUILD_EXAMPLES* is enabled. Defaults to \"examples\"." msgstr "" -#: ../../../CMake.rst:954 +#: ../../../CMake.rst:959 msgid "**LLVM_TOOLS_INSTALL_DIR**:STRING" msgstr "" -#: ../../../CMake.rst:953 +#: ../../../CMake.rst:958 msgid "" "The path to install the main LLVM tools, relative to the " "*CMAKE_INSTALL_PREFIX*. Defaults to *CMAKE_INSTALL_BINDIR*." msgstr "" -#: ../../../CMake.rst:959 +#: ../../../CMake.rst:964 msgid "**LLVM_UTILS_INSTALL_DIR**:STRING" msgstr "" -#: ../../../CMake.rst:957 +#: ../../../CMake.rst:962 msgid "" "The path to install auxiliary LLVM utilities, relative to the " "*CMAKE_INSTALL_PREFIX*. Only matters if *LLVM_INSTALL_UTILS* is enabled. " "Defaults to *LLVM_TOOLS_INSTALL_DIR*." msgstr "" -#: ../../../CMake.rst:962 +#: ../../../CMake.rst:967 msgid "CMake Caches" msgstr "" -#: ../../../CMake.rst:964 +#: ../../../CMake.rst:969 msgid "" "Recently, LLVM and Clang have been adding some more complicated build system " "features. Utilizing these new features often involves a complicated chain of " @@ -1831,11 +1842,11 @@ msgid "" "CMake cache scripts to make these features more approachable." msgstr "" -#: ../../../CMake.rst:969 +#: ../../../CMake.rst:974 msgid "CMake cache files are utilized using CMake's ``-C`` flag:" msgstr "" -#: ../../../CMake.rst:975 +#: ../../../CMake.rst:980 msgid "" "CMake cache scripts are processed in an isolated scope, only cached " "variables remain set when the main configuration runs. CMake cached " @@ -1843,68 +1854,68 @@ msgid "" "option is specified." msgstr "" -#: ../../../CMake.rst:979 +#: ../../../CMake.rst:984 msgid "A few notes about CMake Caches:" msgstr "" -#: ../../../CMake.rst:981 +#: ../../../CMake.rst:986 msgid "Order of command line arguments is important" msgstr "" -#: ../../../CMake.rst:983 +#: ../../../CMake.rst:988 msgid "" "``-D`` arguments specified before ``-C`` are set before the cache is " "processed and can be read inside the cache file" msgstr "" -#: ../../../CMake.rst:985 +#: ../../../CMake.rst:990 msgid "" "``-D`` arguments specified after ``-C`` are set after the cache is processed " "and are unset inside the cache file" msgstr "" -#: ../../../CMake.rst:988 +#: ../../../CMake.rst:993 msgid "All ``-D`` arguments will override cache file settings" msgstr "" -#: ../../../CMake.rst:989 +#: ../../../CMake.rst:994 msgid "" "CMAKE_TOOLCHAIN_FILE is evaluated after both the cache file and the command " "line arguments" msgstr "" -#: ../../../CMake.rst:991 +#: ../../../CMake.rst:996 msgid "It is recommended that all ``-D`` options be specified *before* ``-C``" msgstr "" -#: ../../../CMake.rst:993 +#: ../../../CMake.rst:998 msgid "" "For more information about some of the advanced build configurations " "supported via Cache files see :doc:`AdvancedBuilds`." msgstr "" -#: ../../../CMake.rst:997 +#: ../../../CMake.rst:1002 msgid "Executing the Tests" msgstr "" -#: ../../../CMake.rst:999 +#: ../../../CMake.rst:1004 msgid "" "Testing is performed when the *check-all* target is built. For instance, if " "you are using Makefiles, execute this command in the root of your build " "directory:" msgstr "" -#: ../../../CMake.rst:1006 +#: ../../../CMake.rst:1011 msgid "" "On Visual Studio, you may run tests by building the project \"check-all\". " "For more information about testing, see the :doc:`TestingGuide`." msgstr "" -#: ../../../CMake.rst:1010 +#: ../../../CMake.rst:1015 msgid "Cross compiling" msgstr "" -#: ../../../CMake.rst:1012 +#: ../../../CMake.rst:1017 msgid "" "See `this wiki page `_ for generic instructions on how to cross-compile " @@ -1914,17 +1925,17 @@ msgid "" "toolchains`` section for a quick solution." msgstr "" -#: ../../../CMake.rst:1019 +#: ../../../CMake.rst:1024 msgid "" "Also see the `LLVM-related variables`_ section for variables used when cross-" "compiling." msgstr "" -#: ../../../CMake.rst:1023 +#: ../../../CMake.rst:1028 msgid "Embedding LLVM in your project" msgstr "" -#: ../../../CMake.rst:1025 +#: ../../../CMake.rst:1030 msgid "" "From LLVM 3.5 onward, the CMake build system exports LLVM libraries as " "importable CMake targets. This means that clients of LLVM can now reliably " @@ -1932,13 +1943,13 @@ msgid "" "version of LLVM regardless of how it was built." msgstr "" -#: ../../../CMake.rst:1030 +#: ../../../CMake.rst:1035 msgid "" "Here is a simple example of a ``CMakeLists.txt`` file that imports the LLVM " "libraries and uses them to build a simple application ``simple-tool``." msgstr "" -#: ../../../CMake.rst:1062 +#: ../../../CMake.rst:1067 msgid "" "The ``find_package(...)`` directive when used in CONFIG mode (as in the " "above example) will look for the ``LLVMConfig.cmake`` file in various " @@ -1949,11 +1960,11 @@ msgid "" "``ccmake`` or ``cmake-gui``)." msgstr "" -#: ../../../CMake.rst:1069 +#: ../../../CMake.rst:1074 msgid "This file is available in two different locations." msgstr "" -#: ../../../CMake.rst:1071 +#: ../../../CMake.rst:1076 msgid "" "``/LLVMConfig.cmake`` where " "```` is the location where LLVM CMake modules are " @@ -1962,14 +1973,14 @@ msgid "" "cmake/llvm/LLVMConfig.cmake``." msgstr "" -#: ../../../CMake.rst:1077 +#: ../../../CMake.rst:1082 msgid "" "``/lib/cmake/llvm/LLVMConfig.cmake`` where " "```` is the root of the LLVM build tree. **Note: this is " "only available when building LLVM with CMake.**" msgstr "" -#: ../../../CMake.rst:1081 +#: ../../../CMake.rst:1086 msgid "" "If LLVM is installed in your operating system's normal installation prefix " "(e.g. on Linux this is usually ``/usr/``) ``find_package(LLVM ...)`` will " @@ -1978,88 +1989,88 @@ msgid "" "use ``LLVM_DIR`` as previously mentioned." msgstr "" -#: ../../../CMake.rst:1087 +#: ../../../CMake.rst:1092 msgid "" "The ``LLVMConfig.cmake`` file sets various useful variables. Notable " "variables include:" msgstr "" -#: ../../../CMake.rst:1092 +#: ../../../CMake.rst:1097 msgid "``LLVM_CMAKE_DIR``" msgstr "" -#: ../../../CMake.rst:1091 +#: ../../../CMake.rst:1096 msgid "" "The path to the LLVM CMake directory (i.e., the directory containing " "``LLVMConfig.cmake``)." msgstr "" -#: ../../../CMake.rst:1095 +#: ../../../CMake.rst:1100 msgid "``LLVM_DEFINITIONS``" msgstr "" -#: ../../../CMake.rst:1095 +#: ../../../CMake.rst:1100 msgid "" "A list of preprocessor defines that should be used when building against " "LLVM." msgstr "" -#: ../../../CMake.rst:1098 +#: ../../../CMake.rst:1103 msgid "``LLVM_ENABLE_ASSERTIONS``" msgstr "" -#: ../../../CMake.rst:1098 +#: ../../../CMake.rst:1103 msgid "This is set to ON if LLVM was built with assertions, otherwise OFF." msgstr "" -#: ../../../CMake.rst:1102 +#: ../../../CMake.rst:1107 msgid "``LLVM_ENABLE_EH``" msgstr "" -#: ../../../CMake.rst:1101 +#: ../../../CMake.rst:1106 msgid "" "This is set to ON if LLVM was built with exception handling (EH) enabled, " "otherwise OFF." msgstr "" -#: ../../../CMake.rst:1106 +#: ../../../CMake.rst:1111 msgid "``LLVM_ENABLE_RTTI``" msgstr "" -#: ../../../CMake.rst:1105 +#: ../../../CMake.rst:1110 msgid "" "This is set to ON if LLVM was built with run time type information (RTTI), " "otherwise OFF." msgstr "" -#: ../../../CMake.rst:1109 +#: ../../../CMake.rst:1114 msgid "``LLVM_INCLUDE_DIRS``" msgstr "" -#: ../../../CMake.rst:1109 +#: ../../../CMake.rst:1114 msgid "A list of include paths to directories containing LLVM header files." msgstr "" -#: ../../../CMake.rst:1113 +#: ../../../CMake.rst:1118 msgid "``LLVM_PACKAGE_VERSION``" msgstr "" -#: ../../../CMake.rst:1112 +#: ../../../CMake.rst:1117 msgid "" "The LLVM version. This string can be used with CMake conditionals, e.g., " "``if (${LLVM_PACKAGE_VERSION} VERSION_LESS \"3.5\")``." msgstr "" -#: ../../../CMake.rst:1116 +#: ../../../CMake.rst:1121 msgid "``LLVM_TOOLS_BINARY_DIR``" msgstr "" -#: ../../../CMake.rst:1116 +#: ../../../CMake.rst:1121 msgid "" "The path to the directory containing the LLVM tools (e.g., ``llvm-as``)." msgstr "" -#: ../../../CMake.rst:1118 +#: ../../../CMake.rst:1123 msgid "" "Notice that in the above example we link ``simple-tool`` against several " "LLVM libraries. The list of libraries is determined by using the " @@ -2068,115 +2079,115 @@ msgid "" "components``." msgstr "" -#: ../../../CMake.rst:1123 +#: ../../../CMake.rst:1128 msgid "" "Note that for LLVM < 3.5 ``llvm_map_components_to_libraries()`` was used " "instead of ``llvm_map_components_to_libnames()``. This is now deprecated and " "will be removed in a future version of LLVM." msgstr "" -#: ../../../CMake.rst:1130 +#: ../../../CMake.rst:1135 msgid "Developing LLVM passes out of source" msgstr "" -#: ../../../CMake.rst:1132 +#: ../../../CMake.rst:1137 msgid "" "You can develop LLVM passes out of LLVM's source tree (i.e., against an " "installed or built LLVM). An example of a project layout is provided below." msgstr "" -#: ../../../CMake.rst:1146 +#: ../../../CMake.rst:1151 msgid "Contents of ``/CMakeLists.txt``:" msgstr "" -#: ../../../CMake.rst:1158 +#: ../../../CMake.rst:1163 msgid "Contents of ``//CMakeLists.txt``:" msgstr "" -#: ../../../CMake.rst:1164 +#: ../../../CMake.rst:1169 msgid "" "Note if you intend for this pass to be merged into the LLVM source tree at " "some point in the future it might make more sense to use LLVM's internal " "``add_llvm_library`` function with the MODULE argument instead by..." msgstr "" -#: ../../../CMake.rst:1169 +#: ../../../CMake.rst:1174 msgid "" "Adding the following to ``/CMakeLists.txt`` (after " "``find_package(LLVM ...)``)" msgstr "" -#: ../../../CMake.rst:1177 +#: ../../../CMake.rst:1182 msgid "And then changing ``//CMakeLists.txt`` to" msgstr "" -#: ../../../CMake.rst:1185 +#: ../../../CMake.rst:1190 msgid "" "When you are done developing your pass, you may wish to integrate it into " "the LLVM source tree. You can achieve it in two easy steps:" msgstr "" -#: ../../../CMake.rst:1188 +#: ../../../CMake.rst:1193 msgid "" "Copying ```` folder into ``/lib/Transforms`` directory." msgstr "" -#: ../../../CMake.rst:1190 +#: ../../../CMake.rst:1195 msgid "" "Adding ``add_subdirectory()`` line into ``/lib/" "Transforms/CMakeLists.txt``." msgstr "" -#: ../../../CMake.rst:1194 +#: ../../../CMake.rst:1199 msgid "Compiler/Platform-specific topics" msgstr "" -#: ../../../CMake.rst:1196 +#: ../../../CMake.rst:1201 msgid "Notes for specific compilers and/or platforms." msgstr "" -#: ../../../CMake.rst:1199 +#: ../../../CMake.rst:1204 msgid "Windows" msgstr "" -#: ../../../CMake.rst:1204 +#: ../../../CMake.rst:1209 msgid "**LLVM_COMPILER_JOBS**:STRING" msgstr "" -#: ../../../CMake.rst:1202 +#: ../../../CMake.rst:1207 msgid "" "Specifies the maximum number of parallel compiler jobs to use per project " "when building with msbuild or Visual Studio. Only supported for the Visual " "Studio 2010 CMake generator. 0 means use all processors. Default is 0." msgstr "" -#: ../../../CMake.rst:1209 +#: ../../../CMake.rst:1214 msgid "**CMAKE_MT**:STRING" msgstr "" -#: ../../../CMake.rst:1207 +#: ../../../CMake.rst:1212 msgid "" "When compiling with clang-cl, CMake may use ``llvm-mt`` as the Manifest Tool " "when available. ```llvm-mt``` is only present when libxml2 is found at build-" "time. To ensure using Microsoft's Manifest Tool set `CMAKE_MT=mt`." msgstr "" -#: ../../../CMake.rst:1212 +#: ../../../CMake.rst:1217 msgid "Apple/OSX" msgstr "" -#: ../../../CMake.rst:1219 +#: ../../../CMake.rst:1224 msgid "**CMAKE_OSX_SYSROOT**:STRING" msgstr "" -#: ../../../CMake.rst:1215 +#: ../../../CMake.rst:1220 msgid "" "When compiling for OSX, in order for the test suite to find libSystem to " "link dylib tests you'll need to run CMake with ```xcrun --show-sdk-path``` " "as the string to pass in so that the testsuite can find your os libraries." msgstr "" -#: ../../../CMake.rst:1219 +#: ../../../CMake.rst:1224 msgid "" "This will show up as ```ld: library not found for -lSystem``` when running " "tests." diff --git a/main/locale/pot/LC_MESSAGES/CodingStandards.pot b/main/locale/pot/LC_MESSAGES/CodingStandards.pot index f2f040d2a39..d71e123979d 100644 --- a/main/locale/pot/LC_MESSAGES/CodingStandards.pot +++ b/main/locale/pot/LC_MESSAGES/CodingStandards.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: LLVM main\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-10-27 08:36+0000\n" +"POT-Creation-Date: 2026-03-09 08:48+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -405,24 +405,36 @@ msgstr "" msgid "" "Include descriptive paragraphs for all public interfaces (public classes, " "member and non-member functions). Avoid restating the information that can " -"be inferred from the API name. The first sentence (or a paragraph beginning " -"with ``\\brief``) is used as an abstract. Try to use a single sentence as " -"the ``\\brief`` adds visual clutter. Put detailed discussion into separate " -"paragraphs." +"be inferred from the API name or signature. The first sentence (or a " +"paragraph beginning with ``\\brief``) is used as an abstract. Try to use a " +"single sentence as the ``\\brief`` adds visual clutter. Put detailed " +"discussion into separate paragraphs." msgstr "" #: ../../../CodingStandards.rst:287 +msgid "A minimal documentation comment:" +msgstr "" + +#: ../../../CodingStandards.rst:294 +msgid "" +"Only include code examples, function parameters and return values when it " +"provides additional information, such as intent, usage, or behavior that’s " +"non-obvious. Use descriptive function and argument names to eliminate the " +"need for documentation comments when possible." +msgstr "" + +#: ../../../CodingStandards.rst:299 msgid "" "To refer to parameter names inside a paragraph, use the ``\\p name`` " "command. Don't use the ``\\arg name`` command since it starts a new " "paragraph that contains documentation for the parameter." msgstr "" -#: ../../../CodingStandards.rst:291 +#: ../../../CodingStandards.rst:303 msgid "Wrap non-inline code examples in ``\\code ... \\endcode``." msgstr "" -#: ../../../CodingStandards.rst:293 +#: ../../../CodingStandards.rst:305 msgid "" "To document a function parameter, start a new paragraph with the ``\\param " "name`` command. If the parameter is used as an out or an in/out parameter, " @@ -430,22 +442,18 @@ msgid "" "respectively." msgstr "" -#: ../../../CodingStandards.rst:298 +#: ../../../CodingStandards.rst:310 msgid "" "To describe function return value, start a new paragraph with the " "``\\returns`` command." msgstr "" -#: ../../../CodingStandards.rst:301 -msgid "A minimal documentation comment:" -msgstr "" - -#: ../../../CodingStandards.rst:308 +#: ../../../CodingStandards.rst:313 msgid "" "A documentation comment that uses all Doxygen features in a preferred way:" msgstr "" -#: ../../../CodingStandards.rst:327 +#: ../../../CodingStandards.rst:332 msgid "" "Don't duplicate the documentation comment in the header file and in the " "implementation file. Put the documentation comments for public APIs into " @@ -455,7 +463,7 @@ msgid "" "implementation details as needed." msgstr "" -#: ../../../CodingStandards.rst:334 +#: ../../../CodingStandards.rst:339 msgid "" "Don't duplicate the function or class name at the beginning of the comment. " "For humans, it is obvious which function or class is being documented; " @@ -463,19 +471,19 @@ msgid "" "comment to the correct declaration." msgstr "" -#: ../../../CodingStandards.rst:339 +#: ../../../CodingStandards.rst:344 msgid "Avoid:" msgstr "" -#: ../../../CodingStandards.rst:353 +#: ../../../CodingStandards.rst:358 msgid "Preferred:" msgstr "" -#: ../../../CodingStandards.rst:368 +#: ../../../CodingStandards.rst:373 msgid "Error and Warning Messages" msgstr "" -#: ../../../CodingStandards.rst:370 +#: ../../../CodingStandards.rst:375 msgid "" "Clear diagnostic messages are important to help users identify and fix " "issues in their inputs. Use succinct but correct English prose that gives " @@ -486,17 +494,17 @@ msgid "" "punctuation, such as \"did you forget ';'?\", should still do so." msgstr "" -#: ../../../CodingStandards.rst:378 +#: ../../../CodingStandards.rst:383 msgid "For example, this is a good error message:" msgstr "" -#: ../../../CodingStandards.rst:384 +#: ../../../CodingStandards.rst:389 msgid "" "This is a bad message, since it does not provide useful information and uses " "the wrong style:" msgstr "" -#: ../../../CodingStandards.rst:391 +#: ../../../CodingStandards.rst:396 msgid "" "As with other coding standards, individual projects, such as the Clang " "Static Analyzer, may have preexisting styles that do not conform to this. If " @@ -505,7 +513,7 @@ msgid "" "including clang, clang-tidy, and so on." msgstr "" -#: ../../../CodingStandards.rst:397 +#: ../../../CodingStandards.rst:402 msgid "" "If the tool or project does not have existing functions to emit warnings or " "errors, use the error and warning handlers provided in ``Support/WithColor." @@ -513,7 +521,7 @@ msgid "" "printing to stderr directly." msgstr "" -#: ../../../CodingStandards.rst:402 +#: ../../../CodingStandards.rst:407 msgid "" "When using ``report_fatal_error``, follow the same standards for the message " "as regular error messages. Assertion messages and ``llvm_unreachable`` calls " @@ -521,11 +529,11 @@ msgid "" "automatically formatted, and thus these guidelines may not be suitable." msgstr "" -#: ../../../CodingStandards.rst:408 +#: ../../../CodingStandards.rst:413 msgid "``#include`` Style" msgstr "" -#: ../../../CodingStandards.rst:410 +#: ../../../CodingStandards.rst:415 msgid "" "Immediately after the `header file comment`_ (and include guards if working " "on a header file), the `minimal list of #includes`_ required by the file " @@ -533,29 +541,29 @@ msgid "" "order:" msgstr "" -#: ../../../CodingStandards.rst:417 +#: ../../../CodingStandards.rst:422 msgid "Main Module Header" msgstr "" -#: ../../../CodingStandards.rst:418 +#: ../../../CodingStandards.rst:423 msgid "Local/Private Headers" msgstr "" -#: ../../../CodingStandards.rst:419 +#: ../../../CodingStandards.rst:424 msgid "" "LLVM project/subproject headers (``clang/...``, ``lldb/...``, ``llvm/...``, " "etc)" msgstr "" -#: ../../../CodingStandards.rst:420 +#: ../../../CodingStandards.rst:425 msgid "System ``#include``\\s" msgstr "" -#: ../../../CodingStandards.rst:422 +#: ../../../CodingStandards.rst:427 msgid "and each category should be sorted lexicographically by the full path." msgstr "" -#: ../../../CodingStandards.rst:424 +#: ../../../CodingStandards.rst:429 msgid "" "The `Main Module Header`_ file applies to ``.cpp`` files which implement an " "interface defined by a ``.h`` file. This ``#include`` should always be " @@ -567,7 +575,7 @@ msgid "" "interfaces it implements are defined." msgstr "" -#: ../../../CodingStandards.rst:432 +#: ../../../CodingStandards.rst:437 msgid "" "LLVM project and subproject headers should be grouped from most specific to " "least specific, for the same reasons described above. For example, LLDB " @@ -580,15 +588,15 @@ msgid "" "including llvm headers. This rule applies to all LLVM subprojects." msgstr "" -#: ../../../CodingStandards.rst:445 +#: ../../../CodingStandards.rst:450 msgid "Source Code Width" msgstr "" -#: ../../../CodingStandards.rst:447 +#: ../../../CodingStandards.rst:452 msgid "Write your code to fit within 80 columns." msgstr "" -#: ../../../CodingStandards.rst:449 +#: ../../../CodingStandards.rst:454 msgid "" "There must be some limit to the width of the code in order to allow " "developers to have multiple files side-by-side in windows on a modest " @@ -600,11 +608,11 @@ msgid "" "editors for it (vs something else, like 90 columns)." msgstr "" -#: ../../../CodingStandards.rst:459 +#: ../../../CodingStandards.rst:464 msgid "Whitespace" msgstr "" -#: ../../../CodingStandards.rst:461 +#: ../../../CodingStandards.rst:466 msgid "" "In all cases, prefer spaces to tabs in source files. People have different " "preferred indentation levels, and different styles of indentation that they " @@ -613,24 +621,24 @@ msgid "" "completely unreadable, and it is not worth dealing with." msgstr "" -#: ../../../CodingStandards.rst:467 +#: ../../../CodingStandards.rst:472 msgid "" "As always, follow the `Golden Rule`_ above: follow the style of existing " "code if you are modifying and extending it." msgstr "" -#: ../../../CodingStandards.rst:470 +#: ../../../CodingStandards.rst:475 msgid "" "Do not add trailing whitespace. Some common editors will automatically " "remove trailing whitespace when saving a file which causes unrelated changes " "to appear in diffs and commits." msgstr "" -#: ../../../CodingStandards.rst:475 +#: ../../../CodingStandards.rst:480 msgid "Format Lambdas Like Blocks Of Code" msgstr "" -#: ../../../CodingStandards.rst:477 +#: ../../../CodingStandards.rst:482 msgid "" "When formatting a multi-line lambda, format it like a block of code. If " "there is only one multi-line lambda in a statement, and there are no " @@ -639,25 +647,25 @@ msgid "" "opened by the preceding part of the statement:" msgstr "" -#: ../../../CodingStandards.rst:493 +#: ../../../CodingStandards.rst:498 msgid "" "To take best advantage of this formatting, if you are designing an API which " "accepts a continuation or single callable argument (be it a function object, " "or a ``std::function``), it should be the last argument if at all possible." msgstr "" -#: ../../../CodingStandards.rst:497 +#: ../../../CodingStandards.rst:502 msgid "" "If there are multiple multi-line lambdas in a statement, or additional " "parameters after the lambda, indent the block two spaces from the indent of " "the ``[]``:" msgstr "" -#: ../../../CodingStandards.rst:518 +#: ../../../CodingStandards.rst:523 msgid "Braced Initializer Lists" msgstr "" -#: ../../../CodingStandards.rst:520 +#: ../../../CodingStandards.rst:525 msgid "" "Starting from C++11, there are significantly more uses of braced lists to " "perform initialization. For example, they can be used to construct aggregate " @@ -666,7 +674,7 @@ msgid "" "(such as option structs) from local variables." msgstr "" -#: ../../../CodingStandards.rst:526 +#: ../../../CodingStandards.rst:531 msgid "" "The historically common formatting of braced initialization of aggregate " "variables does not mix cleanly with deep nesting, general expression " @@ -676,56 +684,56 @@ msgid "" "already well understood for formatting nested function calls. Examples:" msgstr "" -#: ../../../CodingStandards.rst:542 +#: ../../../CodingStandards.rst:547 msgid "" "This formatting scheme also makes it particularly easy to get predictable, " "consistent, and automatic formatting with tools like `Clang Format`_." msgstr "" -#: ../../../CodingStandards.rst:548 +#: ../../../CodingStandards.rst:553 msgid "Language and Compiler Issues" msgstr "" -#: ../../../CodingStandards.rst:551 +#: ../../../CodingStandards.rst:556 msgid "Treat Compiler Warnings Like Errors" msgstr "" -#: ../../../CodingStandards.rst:553 +#: ../../../CodingStandards.rst:558 msgid "" "Compiler warnings are often useful and help improve the code. Those that " "are not useful, can be often suppressed with a small code change. For " "example, an assignment in the ``if`` condition is often a typo:" msgstr "" -#: ../../../CodingStandards.rst:563 +#: ../../../CodingStandards.rst:568 msgid "" "Several compilers will print a warning for the code above. It can be " "suppressed by adding parentheses:" msgstr "" -#: ../../../CodingStandards.rst:573 +#: ../../../CodingStandards.rst:578 msgid "Write Portable Code" msgstr "" -#: ../../../CodingStandards.rst:575 +#: ../../../CodingStandards.rst:580 msgid "" "In almost all cases, it is possible to write completely portable code. When " "you need to rely on non-portable code, put it behind a well-defined and well-" "documented interface." msgstr "" -#: ../../../CodingStandards.rst:580 +#: ../../../CodingStandards.rst:585 msgid "Do not use RTTI or Exceptions" msgstr "" -#: ../../../CodingStandards.rst:582 +#: ../../../CodingStandards.rst:587 msgid "" "In an effort to reduce code and executable size, LLVM does not use " "exceptions or RTTI (`runtime type information `_, for example, ``dynamic_cast<>``)." msgstr "" -#: ../../../CodingStandards.rst:587 +#: ../../../CodingStandards.rst:592 msgid "" "That said, LLVM does make extensive use of a hand-rolled form of RTTI that " "use templates like :ref:`isa\\<>, cast\\<>, and dyn_cast\\<> `. This " @@ -733,17 +741,17 @@ msgid "" "`." msgstr "" -#: ../../../CodingStandards.rst:593 +#: ../../../CodingStandards.rst:598 msgid "Prefer C++-style casts" msgstr "" -#: ../../../CodingStandards.rst:595 +#: ../../../CodingStandards.rst:600 msgid "" "When casting, use ``static_cast``, ``reinterpret_cast``, and ``const_cast``, " "rather than C-style casts. There are two exceptions to this:" msgstr "" -#: ../../../CodingStandards.rst:598 +#: ../../../CodingStandards.rst:603 msgid "" "When casting to ``void`` to suppress warnings about unused variables (as an " "alternative to ``[[maybe_unused]]``). Prefer C-style casts in this instance. " @@ -751,32 +759,32 @@ msgid "" "use ``[[maybe_unused]]`` instead of a C-style void cast." msgstr "" -#: ../../../CodingStandards.rst:603 +#: ../../../CodingStandards.rst:608 msgid "" "When casting between integral types (including enums that are not strongly- " "typed), functional-style casts are permitted as an alternative to " "``static_cast``." msgstr "" -#: ../../../CodingStandards.rst:610 +#: ../../../CodingStandards.rst:615 msgid "Do not use Static Constructors" msgstr "" -#: ../../../CodingStandards.rst:612 +#: ../../../CodingStandards.rst:617 msgid "" "Static constructors and destructors (e.g., global variables whose types have " "a constructor or destructor) should not be added to the code base, and " "should be removed wherever possible." msgstr "" -#: ../../../CodingStandards.rst:616 +#: ../../../CodingStandards.rst:621 msgid "" "Globals in different source files are initialized in an `arbitrary order " "`_, making the code more " "difficult to reason about." msgstr "" -#: ../../../CodingStandards.rst:620 +#: ../../../CodingStandards.rst:625 msgid "" "Static constructors have a negative impact on the launch time of programs " "that use LLVM as a library. We would really like for there to be zero cost " @@ -784,11 +792,11 @@ msgid "" "application, but static constructors undermine this goal." msgstr "" -#: ../../../CodingStandards.rst:626 +#: ../../../CodingStandards.rst:631 msgid "Use of ``class`` and ``struct`` Keywords" msgstr "" -#: ../../../CodingStandards.rst:628 +#: ../../../CodingStandards.rst:633 msgid "" "In C++, the ``class`` and ``struct`` keywords can be used almost " "interchangeably. The only difference is when they are used to declare a " @@ -796,21 +804,21 @@ msgid "" "all members public by default." msgstr "" -#: ../../../CodingStandards.rst:633 +#: ../../../CodingStandards.rst:638 msgid "" "All declarations and definitions of a given ``class`` or ``struct`` must use " "the same keyword. For example:" msgstr "" -#: ../../../CodingStandards.rst:646 +#: ../../../CodingStandards.rst:651 msgid "``struct`` should be used when *all* members are declared public." msgstr "" -#: ../../../CodingStandards.rst:667 +#: ../../../CodingStandards.rst:672 msgid "Do not use Braced Initializer Lists to Call a Constructor" msgstr "" -#: ../../../CodingStandards.rst:669 +#: ../../../CodingStandards.rst:674 msgid "" "Starting from C++11 there is a \"generalized initialization syntax\" which " "allows calling constructors using braced initializer lists. Do not use these " @@ -823,17 +831,17 @@ msgid "" "initialization or something notionally equivalent. Examples:" msgstr "" -#: ../../../CodingStandards.rst:698 +#: ../../../CodingStandards.rst:703 msgid "" "If you use a braced initializer list when initializing a variable, use an " "equals before the open curly brace:" msgstr "" -#: ../../../CodingStandards.rst:705 +#: ../../../CodingStandards.rst:710 msgid "Use ``auto`` Type Deduction to Make Code More Readable" msgstr "" -#: ../../../CodingStandards.rst:707 +#: ../../../CodingStandards.rst:712 msgid "" "Some are advocating a policy of \"almost always ``auto``\" in C++11; " "however, LLVM uses a more moderate stance. Use ``auto`` if and only if it " @@ -845,34 +853,34 @@ msgid "" "``std::vector::iterator``." msgstr "" -#: ../../../CodingStandards.rst:715 +#: ../../../CodingStandards.rst:720 msgid "" "Similarly, C++14 adds generic lambda expressions where parameter types can " "be ``auto``. Use these where you would have used a template." msgstr "" -#: ../../../CodingStandards.rst:719 +#: ../../../CodingStandards.rst:724 msgid "Beware unnecessary copies with ``auto``" msgstr "" -#: ../../../CodingStandards.rst:721 +#: ../../../CodingStandards.rst:726 msgid "" "The convenience of ``auto`` makes it easy to forget that its default " "behavior is a copy. Particularly in range-based ``for`` loops, careless " "copies are expensive." msgstr "" -#: ../../../CodingStandards.rst:725 +#: ../../../CodingStandards.rst:730 msgid "" "Use ``auto &`` for values and ``auto *`` for pointers unless you need to " "make a copy." msgstr "" -#: ../../../CodingStandards.rst:742 +#: ../../../CodingStandards.rst:747 msgid "Beware of non-determinism due to ordering of pointers" msgstr "" -#: ../../../CodingStandards.rst:744 +#: ../../../CodingStandards.rst:749 msgid "" "In general, there is no relative ordering among pointers. As a result, when " "unordered containers like sets and maps are used with pointer keys the " @@ -882,18 +890,18 @@ msgid "" "the compiler." msgstr "" -#: ../../../CodingStandards.rst:751 +#: ../../../CodingStandards.rst:756 msgid "" "In case an ordered result is expected, remember to sort an unordered " "container before iteration. Or use ordered containers like ``vector``/" "``MapVector``/``SetVector`` if you want to iterate pointer keys." msgstr "" -#: ../../../CodingStandards.rst:757 +#: ../../../CodingStandards.rst:762 msgid "Beware of non-deterministic sorting order of equal elements" msgstr "" -#: ../../../CodingStandards.rst:759 +#: ../../../CodingStandards.rst:764 msgid "" "``std::sort`` uses a non-stable sorting algorithm in which the order of " "equal elements is not guaranteed to be preserved. Thus using ``std::sort`` " @@ -904,26 +912,26 @@ msgid "" "``llvm::sort`` instead of ``std::sort``." msgstr "" -#: ../../../CodingStandards.rst:768 +#: ../../../CodingStandards.rst:773 msgid "Style Issues" msgstr "" -#: ../../../CodingStandards.rst:771 +#: ../../../CodingStandards.rst:776 msgid "The High-Level Issues" msgstr "" -#: ../../../CodingStandards.rst:774 +#: ../../../CodingStandards.rst:779 msgid "Self-contained Headers" msgstr "" -#: ../../../CodingStandards.rst:776 +#: ../../../CodingStandards.rst:781 msgid "" "Header files should be self-contained (compile on their own) and end in ``." "h``. Non-header files that are meant for inclusion should end in ``.inc`` " "and be used sparingly." msgstr "" -#: ../../../CodingStandards.rst:780 +#: ../../../CodingStandards.rst:785 msgid "" "All header files should be self-contained. Users and refactoring tools " "should not have to adhere to special conditions to include the header. " @@ -931,7 +939,7 @@ msgid "" "headers it needs." msgstr "" -#: ../../../CodingStandards.rst:784 +#: ../../../CodingStandards.rst:789 msgid "" "There are rare cases where a file designed to be included is not self-" "contained. These are typically intended to be included at unusual locations, " @@ -940,7 +948,7 @@ msgid "" "extension. Use sparingly, and prefer self-contained headers when possible." msgstr "" -#: ../../../CodingStandards.rst:790 +#: ../../../CodingStandards.rst:795 msgid "" "In general, a header should be implemented by one or more ``.cpp`` files. " "Each of these ``.cpp`` files should include the header that defines their " @@ -949,18 +957,18 @@ msgid "" "headers should be included after user headers for a translation unit." msgstr "" -#: ../../../CodingStandards.rst:797 +#: ../../../CodingStandards.rst:802 msgid "Library Layering" msgstr "" -#: ../../../CodingStandards.rst:799 +#: ../../../CodingStandards.rst:804 msgid "" "A directory of header files (for example, ``include/llvm/Foo``) defines a " "library (``Foo``). One library (both its headers and implementation) should " "only use things from the libraries listed in its dependencies." msgstr "" -#: ../../../CodingStandards.rst:804 +#: ../../../CodingStandards.rst:809 msgid "" "Some of this constraint can be enforced by classic Unix linkers (Mac & " "Windows linkers, as well as lld, do not enforce this constraint). A Unix " @@ -969,7 +977,7 @@ msgid "" "between libraries can exist." msgstr "" -#: ../../../CodingStandards.rst:810 +#: ../../../CodingStandards.rst:815 msgid "" "This doesn't fully enforce all inter-library dependencies, and importantly " "doesn't enforce header file circular dependencies created by inline " @@ -984,17 +992,17 @@ msgid "" "second case)" msgstr "" -#: ../../../CodingStandards.rst:824 +#: ../../../CodingStandards.rst:829 msgid "``#include`` as Little as Possible" msgstr "" -#: ../../../CodingStandards.rst:826 +#: ../../../CodingStandards.rst:831 msgid "" "``#include`` hurts compile time performance. Don't do it unless you have " "to, especially in header files." msgstr "" -#: ../../../CodingStandards.rst:829 +#: ../../../CodingStandards.rst:834 msgid "" "But wait! Sometimes you need to have the definition of a class to use it, or " "to inherit from it. In these cases go ahead and ``#include`` that header " @@ -1006,7 +1014,7 @@ msgid "" "class. And not ``#include``\\ing speeds up compilation." msgstr "" -#: ../../../CodingStandards.rst:838 +#: ../../../CodingStandards.rst:843 msgid "" "It is easy to try to go overboard on this recommendation, however. You " "**must** include all of the header files that you are using --- you can " @@ -1017,11 +1025,11 @@ msgid "" "hidden dependencies that you'll find out about later." msgstr "" -#: ../../../CodingStandards.rst:847 +#: ../../../CodingStandards.rst:852 msgid "Keep \"Internal\" Headers Private" msgstr "" -#: ../../../CodingStandards.rst:849 +#: ../../../CodingStandards.rst:854 msgid "" "Many modules have a complex implementation that causes them to use more than " "one implementation (``.cpp``) file. It is often tempting to put the " @@ -1029,7 +1037,7 @@ msgid "" "the public module header file. Don't do this!" msgstr "" -#: ../../../CodingStandards.rst:854 +#: ../../../CodingStandards.rst:859 msgid "" "If you really need to do something like this, put a private header file in " "the same directory as the source files, and include it locally. This " @@ -1037,17 +1045,17 @@ msgid "" "outsiders." msgstr "" -#: ../../../CodingStandards.rst:860 +#: ../../../CodingStandards.rst:865 msgid "" "It's okay to put extra implementation methods in a public class itself. Just " "make them private (or protected) and all is well." msgstr "" -#: ../../../CodingStandards.rst:864 +#: ../../../CodingStandards.rst:869 msgid "Use Namespace Qualifiers to Define Previously Declared Symbols" msgstr "" -#: ../../../CodingStandards.rst:866 +#: ../../../CodingStandards.rst:871 msgid "" "When providing an out-of-line definition for various symbols (variables, " "functions, opaque classes) in a source file, do not open namespace blocks in " @@ -1055,7 +1063,7 @@ msgid "" "definition matches an existing declaration. Do this:" msgstr "" -#: ../../../CodingStandards.rst:897 +#: ../../../CodingStandards.rst:902 msgid "" "Doing this helps to avoid bugs where the definition does not match the " "declaration from the header. For example, the following C++ code defines a " @@ -1063,7 +1071,7 @@ msgid "" "existing function declared in the header:" msgstr "" -#: ../../../CodingStandards.rst:911 +#: ../../../CodingStandards.rst:916 msgid "" "This error will not be caught until the build is nearly complete, when the " "linker fails to find a definition for any uses of the original function. If " @@ -1071,18 +1079,18 @@ msgid "" "would have been caught immediately when the definition was compiled." msgstr "" -#: ../../../CodingStandards.rst:916 +#: ../../../CodingStandards.rst:921 msgid "" "Class method implementations must already name the class and new overloads " "cannot be introduced out of line, so this recommendation does not apply to " "them." msgstr "" -#: ../../../CodingStandards.rst:922 +#: ../../../CodingStandards.rst:927 msgid "Use Early Exits and ``continue`` to Simplify Code" msgstr "" -#: ../../../CodingStandards.rst:924 +#: ../../../CodingStandards.rst:929 msgid "" "When reading code, keep in mind how much state and how many previous " "decisions have to be remembered by the reader to understand a block of " @@ -1092,7 +1100,7 @@ msgid "" "code that does not use an early exit:" msgstr "" -#: ../../../CodingStandards.rst:942 +#: ../../../CodingStandards.rst:947 msgid "" "This code has several problems if the body of the ``'if'`` is large. When " "you're looking at the top of the function, it isn't immediately clear that " @@ -1106,17 +1114,17 @@ msgid "" "the function to know that it returns null." msgstr "" -#: ../../../CodingStandards.rst:953 +#: ../../../CodingStandards.rst:958 msgid "It is much preferred to format the code like this:" msgstr "" -#: ../../../CodingStandards.rst:974 +#: ../../../CodingStandards.rst:979 msgid "" "This fixes these problems. A similar problem frequently happens in ``for`` " "loops. A silly example is something like this:" msgstr "" -#: ../../../CodingStandards.rst:989 +#: ../../../CodingStandards.rst:994 msgid "" "When you have very, very small loops, this sort of structure is fine. But if " "it exceeds more than 10-15 lines, it becomes difficult for people to read " @@ -1128,7 +1136,7 @@ msgid "" "this:" msgstr "" -#: ../../../CodingStandards.rst:1010 +#: ../../../CodingStandards.rst:1015 msgid "" "This has all the benefits of using early exits for functions: it reduces the " "nesting of the loop, it makes it easier to describe why the conditions are " @@ -1137,11 +1145,11 @@ msgid "" "this can be a big understandability win." msgstr "" -#: ../../../CodingStandards.rst:1017 +#: ../../../CodingStandards.rst:1022 msgid "Don't use ``else`` after a ``return``" msgstr "" -#: ../../../CodingStandards.rst:1019 +#: ../../../CodingStandards.rst:1024 msgid "" "For similar reasons as above (reduction of indentation and easier reading), " "please do not use ``'else'`` or ``'else if'`` after something that " @@ -1149,21 +1157,21 @@ msgid "" "``goto``, etc. For example:" msgstr "" -#: ../../../CodingStandards.rst:1045 +#: ../../../CodingStandards.rst:1050 msgid "It is better to write it like this:" msgstr "" -#: ../../../CodingStandards.rst:1065 +#: ../../../CodingStandards.rst:1070 msgid "Or better yet (in this case) as:" msgstr "" -#: ../../../CodingStandards.rst:1082 +#: ../../../CodingStandards.rst:1087 msgid "" "The idea is to reduce indentation and the amount of code you have to keep " "track of when reading the code." msgstr "" -#: ../../../CodingStandards.rst:1085 +#: ../../../CodingStandards.rst:1090 msgid "" "Note: this advice does not apply to a ``constexpr if`` statement. The " "substatement of the ``else`` clause may be a discarded statement, so " @@ -1171,24 +1179,24 @@ msgid "" "the following example is correct:" msgstr "" -#: ../../../CodingStandards.rst:1104 +#: ../../../CodingStandards.rst:1109 msgid "Turn Predicate Loops into Predicate Functions" msgstr "" -#: ../../../CodingStandards.rst:1106 +#: ../../../CodingStandards.rst:1111 msgid "" "It is very common to write small loops that just compute a boolean value. " "There are a number of ways that people commonly write these, but an example " "of this sort of thing is:" msgstr "" -#: ../../../CodingStandards.rst:1123 +#: ../../../CodingStandards.rst:1128 msgid "" "Instead of this sort of loop, we prefer to use a predicate function (which " "may be `static`_) that uses `early exits`_:" msgstr "" -#: ../../../CodingStandards.rst:1141 +#: ../../../CodingStandards.rst:1146 msgid "" "There are many reasons for doing this: it reduces indentation and factors " "out code which can often be shared by other code that checks for the same " @@ -1201,15 +1209,15 @@ msgid "" "and continue reading with better locality." msgstr "" -#: ../../../CodingStandards.rst:1152 +#: ../../../CodingStandards.rst:1157 msgid "The Low-Level Issues" msgstr "" -#: ../../../CodingStandards.rst:1155 +#: ../../../CodingStandards.rst:1160 msgid "Name Types, Functions, Variables, and Enumerators Properly" msgstr "" -#: ../../../CodingStandards.rst:1157 +#: ../../../CodingStandards.rst:1162 msgid "" "Poorly-chosen names can mislead the reader and cause bugs. We cannot stress " "enough how important it is to use *descriptive* names. Pick names that " @@ -1220,33 +1228,33 @@ msgid "" "exact spelling." msgstr "" -#: ../../../CodingStandards.rst:1164 +#: ../../../CodingStandards.rst:1169 msgid "" "In general, names should be in camel case (e.g. ``TextFileReader`` and " "``isLValue()``). Different kinds of declarations have different rules:" msgstr "" -#: ../../../CodingStandards.rst:1167 +#: ../../../CodingStandards.rst:1172 msgid "" "**Type names** (including classes, structs, enums, typedefs, etc) should be " "nouns and start with an upper-case letter (e.g. ``TextFileReader``)." msgstr "" -#: ../../../CodingStandards.rst:1170 +#: ../../../CodingStandards.rst:1175 msgid "" "**Variable names** should be nouns (as they represent state). The name " "should be camel case, and start with an upper-case letter (e.g. ``Leader`` " "or ``Boats``)." msgstr "" -#: ../../../CodingStandards.rst:1174 +#: ../../../CodingStandards.rst:1179 msgid "" "**Function names** should be verb phrases (as they represent actions), and " "command-like function should be imperative. The name should be camel case, " "and start with a lowercase letter (e.g. ``openFile()`` or ``isFoo()``)." msgstr "" -#: ../../../CodingStandards.rst:1178 +#: ../../../CodingStandards.rst:1183 msgid "" "**Enum declarations** (e.g. ``enum Foo {...}``) are types, so they should " "follow the naming conventions for types. A common use for enums is as a " @@ -1255,7 +1263,7 @@ msgid "" "``ValueKind``)." msgstr "" -#: ../../../CodingStandards.rst:1184 +#: ../../../CodingStandards.rst:1189 msgid "" "**Enumerators** (e.g. ``enum { Foo, Bar }``) and **public member variables** " "should start with an upper-case letter, just like types. Unless the " @@ -1267,7 +1275,7 @@ msgid "" "instance:" msgstr "" -#: ../../../CodingStandards.rst:1200 +#: ../../../CodingStandards.rst:1205 msgid "" "As an exception, classes that mimic STL classes can have member names in " "STL's style of lowercase words separated by underscores (e.g. ``begin()``, " @@ -1276,15 +1284,15 @@ msgid "" "``global_begin()`` and ``use_begin()``)." msgstr "" -#: ../../../CodingStandards.rst:1206 +#: ../../../CodingStandards.rst:1211 msgid "Here are some examples:" msgstr "" -#: ../../../CodingStandards.rst:1226 +#: ../../../CodingStandards.rst:1231 msgid "Assert Liberally" msgstr "" -#: ../../../CodingStandards.rst:1228 +#: ../../../CodingStandards.rst:1233 msgid "" "Use the \"``assert``\" macro to its fullest. Check all of your " "preconditions and assumptions. You never know when a bug (not necessarily " @@ -1294,7 +1302,7 @@ msgid "" "use it." msgstr "" -#: ../../../CodingStandards.rst:1234 +#: ../../../CodingStandards.rst:1239 msgid "" "To further assist with debugging, make sure to put some kind of error " "message in the assertion statement, which is printed if the assertion is " @@ -1303,32 +1311,32 @@ msgid "" "complete example:" msgstr "" -#: ../../../CodingStandards.rst:1246 +#: ../../../CodingStandards.rst:1251 msgid "Here are more examples:" msgstr "" -#: ../../../CodingStandards.rst:1260 +#: ../../../CodingStandards.rst:1265 msgid "You get the idea." msgstr "" -#: ../../../CodingStandards.rst:1262 +#: ../../../CodingStandards.rst:1267 msgid "" "In the past, asserts were used to indicate a piece of code that should not " "be reached. These were typically of the form:" msgstr "" -#: ../../../CodingStandards.rst:1269 +#: ../../../CodingStandards.rst:1274 msgid "" "This has a few issues, the main one being that some compilers might not " "understand the assertion, or warn about a missing return in builds where " "assertions are compiled out." msgstr "" -#: ../../../CodingStandards.rst:1273 +#: ../../../CodingStandards.rst:1278 msgid "Today, we have something much better: ``llvm_unreachable``:" msgstr "" -#: ../../../CodingStandards.rst:1279 +#: ../../../CodingStandards.rst:1284 msgid "" "When assertions are enabled, this will print the message if it's ever " "reached and then exit the program. When assertions are disabled (i.e. in " @@ -1337,7 +1345,7 @@ msgid "" "will fall back to the \"abort\" implementation." msgstr "" -#: ../../../CodingStandards.rst:1285 +#: ../../../CodingStandards.rst:1290 msgid "" "Use ``llvm_unreachable`` to mark a specific point in code that should never " "be reached. This is especially desirable for addressing warnings about " @@ -1347,7 +1355,7 @@ msgid "" "predicate (as opposed to ``assert(false)``)." msgstr "" -#: ../../../CodingStandards.rst:1292 +#: ../../../CodingStandards.rst:1297 msgid "" "If the error condition can be triggered by user input then the recoverable " "error mechanism described in :doc:`ProgrammersManual` should be used " @@ -1355,14 +1363,14 @@ msgid "" "used." msgstr "" -#: ../../../CodingStandards.rst:1297 +#: ../../../CodingStandards.rst:1302 msgid "" "Another issue is that values used only by assertions will produce an " "\"unused value\" warning when assertions are disabled. For example, this " "code will warn:" msgstr "" -#: ../../../CodingStandards.rst:1308 +#: ../../../CodingStandards.rst:1313 msgid "" "These are two interesting different cases. In the first case, the call to " "``V.size()`` is only useful for the assert, and we don't want it executed " @@ -1373,31 +1381,31 @@ msgid "" "be specific, it is preferred to write the code like this:" msgstr "" -#: ../../../CodingStandards.rst:1323 +#: ../../../CodingStandards.rst:1328 msgid "" "In C code where ``[[maybe_unused]]`` is not supported, use ``void`` cast to " "suppress an unused variable warning as follows:" msgstr "" -#: ../../../CodingStandards.rst:1333 +#: ../../../CodingStandards.rst:1338 msgid "Do Not Use ``using namespace std``" msgstr "" -#: ../../../CodingStandards.rst:1335 +#: ../../../CodingStandards.rst:1340 msgid "" "In LLVM, we prefer to explicitly prefix all identifiers from the standard " "namespace with an \"``std::``\" prefix, rather than rely on \"``using " "namespace std;``\"." msgstr "" -#: ../../../CodingStandards.rst:1339 +#: ../../../CodingStandards.rst:1344 msgid "" "In header files, adding a ``'using namespace XXX'`` directive pollutes the " "namespace of any source file that ``#include``\\s the header, creating " "maintenance issues." msgstr "" -#: ../../../CodingStandards.rst:1343 +#: ../../../CodingStandards.rst:1348 msgid "" "In implementation files (e.g. ``.cpp`` files), the rule is more of a " "stylistic rule, but is still important. Basically, using explicit namespace " @@ -1411,7 +1419,7 @@ msgid "" "std;'`` in LLVM." msgstr "" -#: ../../../CodingStandards.rst:1353 +#: ../../../CodingStandards.rst:1358 msgid "" "The exception to the general rule (i.e. it's not an exception for the " "``std`` namespace) is for implementation files. For example, all of the " @@ -1425,11 +1433,11 @@ msgid "" "but should not use any others." msgstr "" -#: ../../../CodingStandards.rst:1364 +#: ../../../CodingStandards.rst:1369 msgid "Provide a Virtual Method Anchor for Classes in Headers" msgstr "" -#: ../../../CodingStandards.rst:1366 +#: ../../../CodingStandards.rst:1371 msgid "" "If a class is defined in a header file and has a vtable (either it has " "virtual methods or it derives from classes with virtual methods), it must " @@ -1439,11 +1447,11 @@ msgid "" "times." msgstr "" -#: ../../../CodingStandards.rst:1373 +#: ../../../CodingStandards.rst:1378 msgid "Don't use default labels in fully covered switches over enumerations" msgstr "" -#: ../../../CodingStandards.rst:1375 +#: ../../../CodingStandards.rst:1380 msgid "" "``-Wswitch`` warns if a switch, without a default label, over an enumeration " "does not cover every enumeration value. If you write a default label on a " @@ -1454,7 +1462,7 @@ msgid "" "Clang that supports the warning." msgstr "" -#: ../../../CodingStandards.rst:1383 +#: ../../../CodingStandards.rst:1388 msgid "" "A knock-on effect of this stylistic requirement is that when building LLVM " "with GCC you may get warnings related to \"control may reach end of non-void " @@ -1464,28 +1472,28 @@ msgid "" "use ``llvm_unreachable`` after the switch." msgstr "" -#: ../../../CodingStandards.rst:1391 +#: ../../../CodingStandards.rst:1396 msgid "Use range-based ``for`` loops wherever possible" msgstr "" -#: ../../../CodingStandards.rst:1393 +#: ../../../CodingStandards.rst:1398 msgid "" "The introduction of range-based ``for`` loops in C++11 means that explicit " "manipulation of iterators is rarely necessary. We use range-based ``for`` " "loops wherever possible for all newly added code. For example:" msgstr "" -#: ../../../CodingStandards.rst:1403 +#: ../../../CodingStandards.rst:1408 msgid "" "Usage of ``std::for_each()``/``llvm::for_each()`` functions is discouraged, " "unless the callable object already exists." msgstr "" -#: ../../../CodingStandards.rst:1407 +#: ../../../CodingStandards.rst:1412 msgid "Don't evaluate ``end()`` every time through a loop" msgstr "" -#: ../../../CodingStandards.rst:1409 +#: ../../../CodingStandards.rst:1414 msgid "" "In cases where range-based ``for`` loops can't be used and it is necessary " "to write an explicit iterator-based loop, pay close attention to whether " @@ -1493,7 +1501,7 @@ msgid "" "write a loop in this style:" msgstr "" -#: ../../../CodingStandards.rst:1420 +#: ../../../CodingStandards.rst:1425 msgid "" "The problem with this construct is that it evaluates \"``BB->end()``\" every " "time through the loop. Instead of writing the loop like this, we strongly " @@ -1501,7 +1509,7 @@ msgid "" "starts. A convenient way to do this is like so:" msgstr "" -#: ../../../CodingStandards.rst:1431 +#: ../../../CodingStandards.rst:1436 msgid "" "The observant may quickly point out that these two loops may have different " "semantics: if the container (a basic block in this case) is being mutated, " @@ -1511,7 +1519,7 @@ msgid "" "indicating that you did it intentionally." msgstr "" -#: ../../../CodingStandards.rst:1438 +#: ../../../CodingStandards.rst:1443 msgid "" "Why do we prefer the second form (when correct)? Writing the loop in the " "first form has two problems. First, it may be less efficient than evaluating " @@ -1524,7 +1532,7 @@ msgid "" "think about it." msgstr "" -#: ../../../CodingStandards.rst:1447 +#: ../../../CodingStandards.rst:1452 msgid "" "The second (even bigger) issue is that writing the loop in the first form " "hints to the reader that the loop is mutating the container (a fact that a " @@ -1534,24 +1542,24 @@ msgid "" "and understand what it does." msgstr "" -#: ../../../CodingStandards.rst:1454 +#: ../../../CodingStandards.rst:1459 msgid "" "While the second form of the loop is a few extra keystrokes, we do strongly " "prefer it." msgstr "" -#: ../../../CodingStandards.rst:1458 +#: ../../../CodingStandards.rst:1463 msgid "``#include `` is Forbidden" msgstr "" -#: ../../../CodingStandards.rst:1460 +#: ../../../CodingStandards.rst:1465 msgid "" "The use of ``#include `` in library files is hereby **forbidden**, " "because many common implementations transparently inject a `static " "constructor`_ into every translation unit that includes it." msgstr "" -#: ../../../CodingStandards.rst:1464 +#: ../../../CodingStandards.rst:1469 msgid "" "Note that using the other stream headers (```` for example) is not " "problematic in this regard --- just ````. However, ``raw_ostream`` " @@ -1559,17 +1567,17 @@ msgid "" "``std::ostream`` style APIs." msgstr "" -#: ../../../CodingStandards.rst:1471 +#: ../../../CodingStandards.rst:1476 msgid "" "New code should always use `raw_ostream`_ for writing, or the ``llvm::" "MemoryBuffer`` API for reading files." msgstr "" -#: ../../../CodingStandards.rst:1477 +#: ../../../CodingStandards.rst:1482 msgid "Use ``raw_ostream``" msgstr "" -#: ../../../CodingStandards.rst:1479 +#: ../../../CodingStandards.rst:1484 msgid "" "LLVM includes a lightweight, simple, and efficient stream implementation in " "``llvm/Support/raw_ostream.h``, which provides all of the common features of " @@ -1577,7 +1585,7 @@ msgid "" "``ostream``." msgstr "" -#: ../../../CodingStandards.rst:1484 +#: ../../../CodingStandards.rst:1489 msgid "" "Unlike ``std::ostream``, ``raw_ostream`` is not a template and can be " "forward declared as ``class raw_ostream``. Public headers should generally " @@ -1585,80 +1593,80 @@ msgid "" "constant references to ``raw_ostream`` instances." msgstr "" -#: ../../../CodingStandards.rst:1490 +#: ../../../CodingStandards.rst:1495 msgid "Avoid ``std::endl``" msgstr "" -#: ../../../CodingStandards.rst:1492 +#: ../../../CodingStandards.rst:1497 msgid "" "The ``std::endl`` modifier, when used with ``iostreams`` outputs a newline " "to the output stream specified. In addition to doing this, however, it also " "flushes the output stream. In other words, these are equivalent:" msgstr "" -#: ../../../CodingStandards.rst:1501 +#: ../../../CodingStandards.rst:1506 msgid "" "Most of the time, you probably have no reason to flush the output stream, so " "it's better to use a literal ``'\\n'``." msgstr "" -#: ../../../CodingStandards.rst:1505 +#: ../../../CodingStandards.rst:1510 msgid "Don't use ``inline`` when defining a function in a class definition" msgstr "" -#: ../../../CodingStandards.rst:1507 +#: ../../../CodingStandards.rst:1512 msgid "" "A member function defined in a class definition is implicitly inline, so " "don't put the ``inline`` keyword in this case." msgstr "" -#: ../../../CodingStandards.rst:1510 +#: ../../../CodingStandards.rst:1515 msgid "Don't:" msgstr "" -#: ../../../CodingStandards.rst:1521 +#: ../../../CodingStandards.rst:1526 msgid "Do:" msgstr "" -#: ../../../CodingStandards.rst:1533 +#: ../../../CodingStandards.rst:1538 msgid "Microscopic Details" msgstr "" -#: ../../../CodingStandards.rst:1535 +#: ../../../CodingStandards.rst:1540 msgid "" "This section describes preferred low-level formatting guidelines along with " "reasoning on why we prefer them." msgstr "" -#: ../../../CodingStandards.rst:1539 +#: ../../../CodingStandards.rst:1544 msgid "Spaces Before Parentheses" msgstr "" -#: ../../../CodingStandards.rst:1541 +#: ../../../CodingStandards.rst:1546 msgid "" "Put a space before an open parenthesis only in control flow statements, but " "not in normal function call expressions and function-like macros. For " "example:" msgstr "" -#: ../../../CodingStandards.rst:1555 +#: ../../../CodingStandards.rst:1560 msgid "" "The reason for doing this is not completely arbitrary. This style makes " "control flow operators stand out more, and makes expressions flow better." msgstr "" -#: ../../../CodingStandards.rst:1559 +#: ../../../CodingStandards.rst:1564 msgid "Prefer Preincrement" msgstr "" -#: ../../../CodingStandards.rst:1561 +#: ../../../CodingStandards.rst:1566 msgid "" "Hard fast rule: Preincrement (``++X``) may be no slower than postincrement " "(``X++``) and could very well be a lot faster than it. Use " "preincrementation whenever possible." msgstr "" -#: ../../../CodingStandards.rst:1565 +#: ../../../CodingStandards.rst:1570 msgid "" "The semantics of postincrement include making a copy of the value being " "incremented, returning it, and then preincrementing the \"work value\". For " @@ -1669,11 +1677,11 @@ msgid "" "problem." msgstr "" -#: ../../../CodingStandards.rst:1574 +#: ../../../CodingStandards.rst:1579 msgid "Namespace Indentation" msgstr "" -#: ../../../CodingStandards.rst:1576 +#: ../../../CodingStandards.rst:1581 msgid "" "In general, we strive to reduce indentation wherever possible. This is " "useful because we want code to `fit into 80 columns`_ without excessive " @@ -1683,7 +1691,7 @@ msgid "" "indicating what namespace is being closed by a ``}``. For example:" msgstr "" -#: ../../../CodingStandards.rst:1604 +#: ../../../CodingStandards.rst:1609 msgid "" "Feel free to skip the closing comment when the namespace being closed is " "obvious for any reason. For example, the outer-most namespace in a header " @@ -1692,36 +1700,36 @@ msgid "" "probably could use clarification." msgstr "" -#: ../../../CodingStandards.rst:1613 +#: ../../../CodingStandards.rst:1618 msgid "Restrict Visibility" msgstr "" -#: ../../../CodingStandards.rst:1615 +#: ../../../CodingStandards.rst:1620 msgid "" "Functions and variables should have the most restricted visibility possible." msgstr "" -#: ../../../CodingStandards.rst:1617 +#: ../../../CodingStandards.rst:1622 msgid "" "For class members, that means using appropriate ``private``, ``protected``, " "or ``public`` keyword to restrict their access." msgstr "" -#: ../../../CodingStandards.rst:1620 +#: ../../../CodingStandards.rst:1625 msgid "" "For non-member functions, variables, and classes, that means restricting " "visibility to a single ``.cpp`` file if it is not referenced outside that " "file." msgstr "" -#: ../../../CodingStandards.rst:1623 +#: ../../../CodingStandards.rst:1628 msgid "" "Visibility of file-scope non-member variables and functions can be " "restricted to the current translation unit by using either the ``static`` " "keyword or an anonymous namespace." msgstr "" -#: ../../../CodingStandards.rst:1627 +#: ../../../CodingStandards.rst:1632 msgid "" "Anonymous namespaces are a great language feature that tells the C++ " "compiler that the contents of the namespace are only visible within the " @@ -1729,14 +1737,14 @@ msgid "" "eliminating the possibility of symbol name collisions." msgstr "" -#: ../../../CodingStandards.rst:1632 +#: ../../../CodingStandards.rst:1637 msgid "" "Anonymous namespaces are to C++ as ``static`` is to C functions and global " "variables. While ``static`` is available in C++, anonymous namespaces are " "more general: they can make entire classes private to a file." msgstr "" -#: ../../../CodingStandards.rst:1636 +#: ../../../CodingStandards.rst:1641 msgid "" "The problem with anonymous namespaces is that they naturally want to " "encourage indentation of their body, and they reduce locality of reference: " @@ -1745,115 +1753,115 @@ msgid "" "scanning a big chunk of the file." msgstr "" -#: ../../../CodingStandards.rst:1642 +#: ../../../CodingStandards.rst:1647 msgid "" "Because of this, we have a simple guideline: make anonymous namespaces as " "small as possible, and only use them for class declarations. For example:" msgstr "" -#: ../../../CodingStandards.rst:1664 +#: ../../../CodingStandards.rst:1669 msgid "" "Avoid putting declarations other than classes into anonymous namespaces:" msgstr "" -#: ../../../CodingStandards.rst:1680 +#: ../../../CodingStandards.rst:1685 msgid "" "When you are looking at ``runHelper`` in the middle of a large C++ file, you " "have no immediate way to tell if this function is local to the file." msgstr "" -#: ../../../CodingStandards.rst:1683 +#: ../../../CodingStandards.rst:1688 msgid "" "In contrast, when the function is marked static, you don't need to cross-" "reference faraway places in the file to tell that the function is local:" msgstr "" -#: ../../../CodingStandards.rst:1693 +#: ../../../CodingStandards.rst:1698 msgid "" "Don't Use Braces on Simple Single-Statement Bodies of if/else/loop Statements" msgstr "" -#: ../../../CodingStandards.rst:1695 +#: ../../../CodingStandards.rst:1700 msgid "" "When writing the body of an ``if``, ``else``, or ``for``/``while`` loop " "statement, we aim to reduce unnecessary line noise." msgstr "" -#: ../../../CodingStandards.rst:1698 +#: ../../../CodingStandards.rst:1703 msgid "**Omit braces when:**" msgstr "" -#: ../../../CodingStandards.rst:1700 +#: ../../../CodingStandards.rst:1705 msgid "The body consists of a single **simple** statement." msgstr "" -#: ../../../CodingStandards.rst:1701 +#: ../../../CodingStandards.rst:1706 msgid "" "The single statement is not preceded by a comment. (Hoist comments above the " "control statement if you can.)" msgstr "" -#: ../../../CodingStandards.rst:1703 +#: ../../../CodingStandards.rst:1708 msgid "" "An ``else`` clause, if present, also meets the above criteria (single simple " "statement, no associated comments)." msgstr "" -#: ../../../CodingStandards.rst:1706 +#: ../../../CodingStandards.rst:1711 msgid "**Use braces in all other cases, including:**" msgstr "" -#: ../../../CodingStandards.rst:1708 +#: ../../../CodingStandards.rst:1713 msgid "Multi-statement bodies" msgstr "" -#: ../../../CodingStandards.rst:1709 +#: ../../../CodingStandards.rst:1714 msgid "Single-statement bodies with non-hoistable comments" msgstr "" -#: ../../../CodingStandards.rst:1710 +#: ../../../CodingStandards.rst:1715 msgid "" "Complex single-statement bodies (e.g., deep nesting, complex nested loops)" msgstr "" -#: ../../../CodingStandards.rst:1712 +#: ../../../CodingStandards.rst:1717 msgid "" "Inconsistent bracing within ``if``/``else if``/``else`` chains (if one block " "requires braces, all must)" msgstr "" -#: ../../../CodingStandards.rst:1714 +#: ../../../CodingStandards.rst:1719 msgid "" "``if`` statements ending with a nested ``if`` lacking an ``else`` (to " "prevent \"dangling else\")" msgstr "" -#: ../../../CodingStandards.rst:1717 +#: ../../../CodingStandards.rst:1722 msgid "The examples below provide guidelines for these cases:" msgstr "" -#: ../../../CodingStandards.rst:1807 +#: ../../../CodingStandards.rst:1812 msgid "Use Unix line endings for files" msgstr "" -#: ../../../CodingStandards.rst:1809 +#: ../../../CodingStandards.rst:1814 msgid "" "Use Unix line endings for all files. CRLF line endings are allowed as an " "exception for test files that intend to test CRLF handling or when the file " "format requires it (like ``.bat`` or ``.rc`` files)." msgstr "" -#: ../../../CodingStandards.rst:1814 +#: ../../../CodingStandards.rst:1819 msgid "See Also" msgstr "" -#: ../../../CodingStandards.rst:1816 +#: ../../../CodingStandards.rst:1821 msgid "" "A lot of these comments and recommendations have been culled from other " "sources. Two particularly important books for our work are:" msgstr "" -#: ../../../CodingStandards.rst:1819 +#: ../../../CodingStandards.rst:1824 msgid "" "`Effective C++ `_ by Scott Meyers. Also interesting " @@ -1861,13 +1869,13 @@ msgid "" "author." msgstr "" -#: ../../../CodingStandards.rst:1824 +#: ../../../CodingStandards.rst:1829 msgid "" "`Large-Scale C++ Software Design `_ by John Lakos" msgstr "" -#: ../../../CodingStandards.rst:1828 +#: ../../../CodingStandards.rst:1833 msgid "" "If you get some free time, and you haven't read them: do so, you might learn " "something." diff --git a/main/locale/pot/LC_MESSAGES/CommandGuide/FileCheck.pot b/main/locale/pot/LC_MESSAGES/CommandGuide/FileCheck.pot index 80d51a53855..77279982e2f 100644 --- a/main/locale/pot/LC_MESSAGES/CommandGuide/FileCheck.pot +++ b/main/locale/pot/LC_MESSAGES/CommandGuide/FileCheck.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: LLVM main\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-10-13 08:36+0000\n" +"POT-Creation-Date: 2026-03-09 08:48+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -27,7 +27,7 @@ msgstr "" #: ../../../CommandGuide/FileCheck.rst:9 msgid "" -":program:`FileCheck` *match-filename* [*--check-prefix=XXX*] [*--strict-" +":program:`FileCheck` *match-filename* [*--check-prefixes=XXX*] [*--strict-" "whitespace*]" msgstr "" @@ -72,7 +72,7 @@ msgid "" "FileCheck searches the contents of ``match-filename`` for patterns to " "match. By default, these patterns are prefixed with \"``CHECK:``\". If " "you'd like to use a different prefix (e.g. because the same input file is " -"checking multiple different tool or options), the :option:`--check-prefix` " +"checking multiple different tool or options), the :option:`--check-prefixes` " "argument allows you to specify (without the trailing \"``:``\") one or more " "prefixes to match. Multiple prefixes are useful for tests which might change " "for different run options, but most lines remain the same." @@ -85,19 +85,17 @@ msgid "" msgstr "" #: ../../../CommandGuide/FileCheck.rst:51 -msgid "" -"An alias of :option:`--check-prefix` that allows multiple prefixes to be " -"specified as a comma separated list." +msgid "An alias of :option:`--check-prefixes`." msgstr "" -#: ../../../CommandGuide/FileCheck.rst:56 +#: ../../../CommandGuide/FileCheck.rst:55 msgid "" "By default, FileCheck ignores any occurrence in ``match-filename`` of any " "check prefix if it is preceded on the same line by \"``COM:``\" or \"``RUN:" "``\". See the section `The \"COM:\" directive`_ for usage details." msgstr "" -#: ../../../CommandGuide/FileCheck.rst:60 +#: ../../../CommandGuide/FileCheck.rst:59 msgid "" "These default comment prefixes can be overridden by :option:`--comment-" "prefixes` if they are not appropriate for your testing environment. However, " @@ -106,20 +104,19 @@ msgid "" "case, consider proposing a change to the default comment prefixes instead." msgstr "" -#: ../../../CommandGuide/FileCheck.rst:69 +#: ../../../CommandGuide/FileCheck.rst:68 msgid "" "This option controls the behavior when using more than one prefix as " -"specified by :option:`--check-prefix` or :option:`--check-prefixes`, and " -"some of these prefixes are missing in the test file. If true, this is " -"allowed, if false, FileCheck will report an error, listing the missing " -"prefixes. The default value is false." +"specified by :option:`--check-prefixes`, and some of these prefixes are " +"missing in the test file. If true, this is allowed, if false, FileCheck will " +"report an error, listing the missing prefixes. The default value is false." msgstr "" -#: ../../../CommandGuide/FileCheck.rst:77 +#: ../../../CommandGuide/FileCheck.rst:76 msgid "File to check (defaults to stdin)." msgstr "" -#: ../../../CommandGuide/FileCheck.rst:81 +#: ../../../CommandGuide/FileCheck.rst:80 msgid "" "By default, FileCheck allows matches of anywhere on a line. This option will " "require all positive matches to cover an entire line. Leading and trailing " @@ -128,13 +125,13 @@ msgid "" "this option!)" msgstr "" -#: ../../../CommandGuide/FileCheck.rst:87 +#: ../../../CommandGuide/FileCheck.rst:86 msgid "" "Passing this option is equivalent to inserting ``{{^ *}}`` or ``{{^}}`` " "before, and ``{{ *$}}`` or ``{{$}}`` after every positive check pattern." msgstr "" -#: ../../../CommandGuide/FileCheck.rst:93 +#: ../../../CommandGuide/FileCheck.rst:92 msgid "" "By default, FileCheck canonicalizes input horizontal whitespace (spaces and " "tabs) which causes it to ignore these differences (a space will match a " @@ -142,20 +139,20 @@ msgid "" "of-line sequences are canonicalized to UNIX-style ``\\n`` in all modes." msgstr "" -#: ../../../CommandGuide/FileCheck.rst:100 +#: ../../../CommandGuide/FileCheck.rst:99 msgid "" "By default, FileCheck uses case-sensitive matching. This option causes " "FileCheck to use case-insensitive matching." msgstr "" -#: ../../../CommandGuide/FileCheck.rst:105 +#: ../../../CommandGuide/FileCheck.rst:104 msgid "" "Adds implicit negative checks for the specified patterns between positive " "checks. The option allows writing stricter tests without stuffing them with " "``CHECK-NOT``\\ s." msgstr "" -#: ../../../CommandGuide/FileCheck.rst:109 +#: ../../../CommandGuide/FileCheck.rst:108 msgid "" "For example, \"``--implicit-check-not warning:``\" can be useful when " "testing diagnostic messages from tools that don't have an option similar to " @@ -163,7 +160,7 @@ msgid "" "not contain warnings not covered by any ``CHECK:`` patterns." msgstr "" -#: ../../../CommandGuide/FileCheck.rst:116 +#: ../../../CommandGuide/FileCheck.rst:115 msgid "" "Dump input to stderr, adding annotations representing currently enabled " "diagnostics. When there are multiple occurrences of this option, the " @@ -171,23 +168,23 @@ msgid "" "default is ``fail``." msgstr "" -#: ../../../CommandGuide/FileCheck.rst:121 +#: ../../../CommandGuide/FileCheck.rst:120 msgid "``help`` - Explain input dump and quit" msgstr "" -#: ../../../CommandGuide/FileCheck.rst:122 +#: ../../../CommandGuide/FileCheck.rst:121 msgid "``always`` - Always dump input" msgstr "" -#: ../../../CommandGuide/FileCheck.rst:123 +#: ../../../CommandGuide/FileCheck.rst:122 msgid "``fail`` - Dump input on failure" msgstr "" -#: ../../../CommandGuide/FileCheck.rst:124 +#: ../../../CommandGuide/FileCheck.rst:123 msgid "``never`` - Never dump input" msgstr "" -#: ../../../CommandGuide/FileCheck.rst:128 +#: ../../../CommandGuide/FileCheck.rst:127 msgid "" "In the dump requested by ``--dump-input``, print ```` input lines before " "and ```` input lines after any lines specified by ``--dump-input-" @@ -195,7 +192,7 @@ msgid "" "specified ```` has precedence. The default is 5." msgstr "" -#: ../../../CommandGuide/FileCheck.rst:135 +#: ../../../CommandGuide/FileCheck.rst:134 msgid "" "In the dump requested by ``--dump-input``, print only input lines of kind " "```` plus any context specified by ``--dump-input-context``. When " @@ -204,45 +201,45 @@ msgid "" "``--dump-input=fail``, and it's ``all`` when ``--dump-input=always``." msgstr "" -#: ../../../CommandGuide/FileCheck.rst:141 +#: ../../../CommandGuide/FileCheck.rst:140 msgid "``all`` - All input lines" msgstr "" -#: ../../../CommandGuide/FileCheck.rst:142 +#: ../../../CommandGuide/FileCheck.rst:141 msgid "``annotation-full`` - Input lines with annotations" msgstr "" -#: ../../../CommandGuide/FileCheck.rst:143 +#: ../../../CommandGuide/FileCheck.rst:142 msgid "``annotation`` - Input lines with starting points of annotations" msgstr "" -#: ../../../CommandGuide/FileCheck.rst:144 +#: ../../../CommandGuide/FileCheck.rst:143 msgid "" "``error`` - Input lines with starting points of error annotations" msgstr "" -#: ../../../CommandGuide/FileCheck.rst:148 +#: ../../../CommandGuide/FileCheck.rst:147 msgid "Enables scope for regex variables." msgstr "" -#: ../../../CommandGuide/FileCheck.rst:150 +#: ../../../CommandGuide/FileCheck.rst:149 msgid "" "Variables with names that start with ``$`` are considered global and remain " "set throughout the file." msgstr "" -#: ../../../CommandGuide/FileCheck.rst:153 +#: ../../../CommandGuide/FileCheck.rst:152 msgid "" "All other variables get undefined after each encountered ``CHECK-LABEL``." msgstr "" -#: ../../../CommandGuide/FileCheck.rst:157 +#: ../../../CommandGuide/FileCheck.rst:156 msgid "" "Sets a filecheck pattern variable ``VAR`` with value ``VALUE`` that can be " "used in ``CHECK:`` lines." msgstr "" -#: ../../../CommandGuide/FileCheck.rst:162 +#: ../../../CommandGuide/FileCheck.rst:161 msgid "" "Sets a filecheck numeric variable ``NUMVAR`` of matching format ``FMT`` to " "the result of evaluating ```` that can be used in " @@ -250,17 +247,17 @@ msgid "" "Expressions`` for details on supported numeric expressions." msgstr "" -#: ../../../CommandGuide/FileCheck.rst:170 +#: ../../../CommandGuide/FileCheck.rst:169 msgid "Show the version number of this program." msgstr "" -#: ../../../CommandGuide/FileCheck.rst:174 +#: ../../../CommandGuide/FileCheck.rst:173 msgid "" "Print good directive pattern matches. However, if ``-dump-input=fail`` or " "``-dump-input=always``, add those matches as input annotations instead." msgstr "" -#: ../../../CommandGuide/FileCheck.rst:179 +#: ../../../CommandGuide/FileCheck.rst:178 msgid "" "Print information helpful in diagnosing internal FileCheck issues, such as " "discarded overlapping ``CHECK-DAG:`` matches, implicit EOF pattern matches, " @@ -269,7 +266,7 @@ msgid "" "information as input annotations instead." msgstr "" -#: ../../../CommandGuide/FileCheck.rst:187 +#: ../../../CommandGuide/FileCheck.rst:186 msgid "" "Enable overlapping among matches in a group of consecutive ``CHECK-DAG:`` " "directives. This option is deprecated and is only provided for convenience " @@ -277,37 +274,37 @@ msgid "" "implementation." msgstr "" -#: ../../../CommandGuide/FileCheck.rst:194 +#: ../../../CommandGuide/FileCheck.rst:193 msgid "Allow checking empty input. By default, empty input is rejected." msgstr "" -#: ../../../CommandGuide/FileCheck.rst:198 +#: ../../../CommandGuide/FileCheck.rst:197 msgid "Use colors in output (autodetected by default)." msgstr "" -#: ../../../CommandGuide/FileCheck.rst:201 +#: ../../../CommandGuide/FileCheck.rst:200 msgid "EXIT STATUS" msgstr "" -#: ../../../CommandGuide/FileCheck.rst:203 +#: ../../../CommandGuide/FileCheck.rst:202 msgid "" "If :program:`FileCheck` verifies that the file matches the expected " "contents, it exits with 0. Otherwise, if not, or if an error occurs, it " "will exit with a non-zero value." msgstr "" -#: ../../../CommandGuide/FileCheck.rst:208 +#: ../../../CommandGuide/FileCheck.rst:207 msgid "TUTORIAL" msgstr "" -#: ../../../CommandGuide/FileCheck.rst:210 +#: ../../../CommandGuide/FileCheck.rst:209 msgid "" "FileCheck is typically used from LLVM regression tests, being invoked on the " "RUN line of the test. A simple example of using FileCheck from a RUN line " "looks like this:" msgstr "" -#: ../../../CommandGuide/FileCheck.rst:218 +#: ../../../CommandGuide/FileCheck.rst:217 msgid "" "This syntax says to pipe the current file (\"``%s``\") into ``llvm-as``, " "pipe that into ``llc``, then pipe the output of ``llc`` into ``FileCheck``. " @@ -317,7 +314,7 @@ msgid "" "the ``.ll`` file (after the RUN line):" msgstr "" -#: ../../../CommandGuide/FileCheck.rst:243 +#: ../../../CommandGuide/FileCheck.rst:242 msgid "" "Here you can see some \"``CHECK:``\" lines specified in comments. Now you " "can see how the file is piped into ``llvm-as``, then ``llc``, and the " @@ -325,7 +322,7 @@ msgid "" "code output to verify that it matches what the \"``CHECK:``\" lines specify." msgstr "" -#: ../../../CommandGuide/FileCheck.rst:248 +#: ../../../CommandGuide/FileCheck.rst:247 msgid "" "The syntax of the \"``CHECK:``\" lines is very simple: they are fixed " "strings that must occur in order. FileCheck defaults to ignoring horizontal " @@ -334,7 +331,7 @@ msgid "" "thing in the test file exactly." msgstr "" -#: ../../../CommandGuide/FileCheck.rst:253 +#: ../../../CommandGuide/FileCheck.rst:252 msgid "" "One nice thing about FileCheck (compared to grep) is that it allows merging " "test cases together into logical groups. For example, because the test " @@ -344,29 +341,29 @@ msgid "" "matches if \"``subl``\" exists anywhere in the file." msgstr "" -#: ../../../CommandGuide/FileCheck.rst:261 -msgid "The FileCheck -check-prefix option" +#: ../../../CommandGuide/FileCheck.rst:260 +msgid "The FileCheck -check-prefixes option" msgstr "" -#: ../../../CommandGuide/FileCheck.rst:263 +#: ../../../CommandGuide/FileCheck.rst:262 msgid "" -"The FileCheck `-check-prefix` option allows multiple test configurations to " -"be driven from one `.ll` file. This is useful in many circumstances, for " +"The FileCheck `-check-prefixes` option allows multiple test configurations " +"to be driven from one `.ll` file. This is useful in many circumstances, for " "example, testing different architectural variants with :program:`llc`. " "Here's a simple example:" msgstr "" -#: ../../../CommandGuide/FileCheck.rst:285 +#: ../../../CommandGuide/FileCheck.rst:284 msgid "" "In this case, we're testing that we get the expected code generation with " "both 32-bit and 64-bit code generation." msgstr "" -#: ../../../CommandGuide/FileCheck.rst:289 +#: ../../../CommandGuide/FileCheck.rst:288 msgid "The \"COM:\" directive" msgstr "" -#: ../../../CommandGuide/FileCheck.rst:291 +#: ../../../CommandGuide/FileCheck.rst:290 msgid "" "Sometimes you want to disable a FileCheck directive without removing it " "entirely, or you want to write comments that mention a directive by name. " @@ -374,7 +371,7 @@ msgid "" "have:" msgstr "" -#: ../../../CommandGuide/FileCheck.rst:306 +#: ../../../CommandGuide/FileCheck.rst:305 msgid "" "Without \"``COM:``\", you would need to use some combination of rewording " "and directive syntax mangling to prevent FileCheck from recognizing the " @@ -386,17 +383,17 @@ msgid "" "purpose of test code unclear. \"``COM:``\" avoids all these problems." msgstr "" -#: ../../../CommandGuide/FileCheck.rst:315 +#: ../../../CommandGuide/FileCheck.rst:314 msgid "A few important usage notes:" msgstr "" -#: ../../../CommandGuide/FileCheck.rst:317 +#: ../../../CommandGuide/FileCheck.rst:316 msgid "" "\"``COM:``\" within another directive's pattern does *not* comment out the " "remainder of the pattern. For example:" msgstr "" -#: ../../../CommandGuide/FileCheck.rst:324 +#: ../../../CommandGuide/FileCheck.rst:323 msgid "" "If you need to temporarily comment out part of a directive's pattern, move " "it to another line. The reason is that FileCheck parses \"``COM:``\" in the " @@ -404,14 +401,14 @@ msgid "" "recognized as a directive." msgstr "" -#: ../../../CommandGuide/FileCheck.rst:329 +#: ../../../CommandGuide/FileCheck.rst:328 msgid "" "For the sake of LIT, FileCheck treats \"``RUN:``\" just like \"``COM:``\". " "If this is not suitable for your test environment, see :option:`--comment-" "prefixes`." msgstr "" -#: ../../../CommandGuide/FileCheck.rst:332 +#: ../../../CommandGuide/FileCheck.rst:331 msgid "" "FileCheck does not recognize \"``COM``\", \"``RUN``\", or any user-defined " "comment prefix as a comment directive if it's combined with one of the usual " @@ -421,11 +418,11 @@ msgid "" "such with :option:`--comment-prefixes`." msgstr "" -#: ../../../CommandGuide/FileCheck.rst:340 +#: ../../../CommandGuide/FileCheck.rst:339 msgid "The \"CHECK-NEXT:\" directive" msgstr "" -#: ../../../CommandGuide/FileCheck.rst:342 +#: ../../../CommandGuide/FileCheck.rst:341 msgid "" "Sometimes you want to match lines and would like to verify that matches " "happen on exactly consecutive lines with no other lines in between them. In " @@ -434,18 +431,18 @@ msgid "" "NEXT:``\". For example, something like this works as you'd expect:" msgstr "" -#: ../../../CommandGuide/FileCheck.rst:368 +#: ../../../CommandGuide/FileCheck.rst:367 msgid "" "\"``CHECK-NEXT:``\" directives reject the input unless there is exactly one " "newline between it and the previous directive. A \"``CHECK-NEXT:``\" cannot " "be the first directive in a file." msgstr "" -#: ../../../CommandGuide/FileCheck.rst:373 +#: ../../../CommandGuide/FileCheck.rst:372 msgid "The \"CHECK-SAME:\" directive" msgstr "" -#: ../../../CommandGuide/FileCheck.rst:375 +#: ../../../CommandGuide/FileCheck.rst:374 msgid "" "Sometimes you want to match lines and would like to verify that matches " "happen on the same line as the previous match. In this case, you can use " @@ -453,36 +450,36 @@ msgid "" "specified a custom check prefix, just use \"``-SAME:``\"." msgstr "" -#: ../../../CommandGuide/FileCheck.rst:380 +#: ../../../CommandGuide/FileCheck.rst:379 msgid "" "\"``CHECK-SAME:``\" is particularly powerful in conjunction with \"``CHECK-" "NOT:``\" (described below)." msgstr "" -#: ../../../CommandGuide/FileCheck.rst:383 +#: ../../../CommandGuide/FileCheck.rst:382 msgid "For example, the following works like you'd expect:" msgstr "" -#: ../../../CommandGuide/FileCheck.rst:393 +#: ../../../CommandGuide/FileCheck.rst:392 msgid "" "\"``CHECK-SAME:``\" directives reject the input if there are any newlines " "between it and the previous directive." msgstr "" -#: ../../../CommandGuide/FileCheck.rst:396 +#: ../../../CommandGuide/FileCheck.rst:395 msgid "" "\"``CHECK-SAME:``\" is also useful to avoid writing matchers for irrelevant " "fields. For example, suppose you're writing a test which parses a tool that " "generates output like this:" msgstr "" -#: ../../../CommandGuide/FileCheck.rst:420 +#: ../../../CommandGuide/FileCheck.rst:419 msgid "" "To write a test that verifies ``foo`` has the value ``1``, you might first " "write this:" msgstr "" -#: ../../../CommandGuide/FileCheck.rst:428 +#: ../../../CommandGuide/FileCheck.rst:427 msgid "" "However, this would be a bad test: if the value for ``foo`` changes, the " "test would still pass because the \"``CHECK: Value: 1``\" line would match " @@ -492,38 +489,38 @@ msgid "" "using the \"``CHECK-SAME:``\" matcher would be as follows:" msgstr "" -#: ../../../CommandGuide/FileCheck.rst:441 +#: ../../../CommandGuide/FileCheck.rst:440 msgid "" "This verifies that the *next* time \"``Value:``\" appears in the output, it " "has the value ``1``." msgstr "" -#: ../../../CommandGuide/FileCheck.rst:444 +#: ../../../CommandGuide/FileCheck.rst:443 msgid "Note: a \"``CHECK-SAME:``\" cannot be the first directive in a file." msgstr "" -#: ../../../CommandGuide/FileCheck.rst:447 +#: ../../../CommandGuide/FileCheck.rst:446 msgid "The \"CHECK-EMPTY:\" directive" msgstr "" -#: ../../../CommandGuide/FileCheck.rst:449 +#: ../../../CommandGuide/FileCheck.rst:448 msgid "" "If you need to check that the next line has nothing on it, not even " "whitespace, you can use the \"``CHECK-EMPTY:``\" directive." msgstr "" -#: ../../../CommandGuide/FileCheck.rst:461 +#: ../../../CommandGuide/FileCheck.rst:460 msgid "" "Just like \"``CHECK-NEXT:``\" the directive will fail if there is more than " "one newline before it finds the next blank line, and it cannot be the first " "directive in a file." msgstr "" -#: ../../../CommandGuide/FileCheck.rst:466 +#: ../../../CommandGuide/FileCheck.rst:465 msgid "The \"CHECK-NOT:\" directive" msgstr "" -#: ../../../CommandGuide/FileCheck.rst:468 +#: ../../../CommandGuide/FileCheck.rst:467 msgid "" "The \"``CHECK-NOT:``\" directive is used to verify that a string doesn't " "occur between two matches (or before the first match, or after the last " @@ -531,11 +528,11 @@ msgid "" "a test like this can be used:" msgstr "" -#: ../../../CommandGuide/FileCheck.rst:489 +#: ../../../CommandGuide/FileCheck.rst:488 msgid "The \"CHECK-COUNT:\" directive" msgstr "" -#: ../../../CommandGuide/FileCheck.rst:491 +#: ../../../CommandGuide/FileCheck.rst:490 msgid "" "If you need to match multiple lines with the same pattern over and over " "again you can repeat a plain ``CHECK:`` as many times as needed. If that " @@ -546,11 +543,11 @@ msgid "" "effect. Here is a simple example:" msgstr "" -#: ../../../CommandGuide/FileCheck.rst:512 +#: ../../../CommandGuide/FileCheck.rst:511 msgid "The \"CHECK-DAG:\" directive" msgstr "" -#: ../../../CommandGuide/FileCheck.rst:514 +#: ../../../CommandGuide/FileCheck.rst:513 msgid "" "If it's necessary to match strings that don't occur in a strictly sequential " "order, \"``CHECK-DAG:``\" could be used to verify them between two matches " @@ -559,7 +556,7 @@ msgid "" "checks in the natural order:" msgstr "" -#: ../../../CommandGuide/FileCheck.rst:532 +#: ../../../CommandGuide/FileCheck.rst:531 msgid "" "``CHECK-NOT:`` directives could be mixed with ``CHECK-DAG:`` directives to " "exclude strings between the surrounding ``CHECK-DAG:`` directives. As a " @@ -568,12 +565,12 @@ msgid "" "behind occurrences matching ``CHECK-DAG:`` after ``CHECK-NOT:``. For example," msgstr "" -#: ../../../CommandGuide/FileCheck.rst:544 +#: ../../../CommandGuide/FileCheck.rst:543 msgid "" "This case will reject input strings where ``BEFORE`` occurs after ``AFTER``." msgstr "" -#: ../../../CommandGuide/FileCheck.rst:546 +#: ../../../CommandGuide/FileCheck.rst:545 msgid "" "With captured variables, ``CHECK-DAG:`` is able to match valid topological " "orderings of a DAG with edges from the definition of a variable to its use. " @@ -581,26 +578,26 @@ msgid "" "sequences from the instruction scheduler. For example," msgstr "" -#: ../../../CommandGuide/FileCheck.rst:557 +#: ../../../CommandGuide/FileCheck.rst:556 msgid "" "In this case, any order of that two ``add`` instructions will be allowed." msgstr "" -#: ../../../CommandGuide/FileCheck.rst:559 +#: ../../../CommandGuide/FileCheck.rst:558 msgid "" "If you are defining `and` using variables in the same ``CHECK-DAG:`` block, " "be aware that the definition rule can match `after` its use." msgstr "" -#: ../../../CommandGuide/FileCheck.rst:562 +#: ../../../CommandGuide/FileCheck.rst:561 msgid "So, for instance, the code below will pass:" msgstr "" -#: ../../../CommandGuide/FileCheck.rst:571 +#: ../../../CommandGuide/FileCheck.rst:570 msgid "While this other code, will not:" msgstr "" -#: ../../../CommandGuide/FileCheck.rst:580 +#: ../../../CommandGuide/FileCheck.rst:579 msgid "" "While this can be very useful, it's also dangerous, because in the case of " "register sequence, you must have a strong order (read before write, copy " @@ -609,13 +606,13 @@ msgid "" "and mask real bugs away." msgstr "" -#: ../../../CommandGuide/FileCheck.rst:586 +#: ../../../CommandGuide/FileCheck.rst:585 msgid "" "In those cases, to enforce the order, use a non-DAG directive between DAG-" "blocks." msgstr "" -#: ../../../CommandGuide/FileCheck.rst:588 +#: ../../../CommandGuide/FileCheck.rst:587 msgid "" "A ``CHECK-DAG:`` directive skips matches that overlap the matches of any " "preceding ``CHECK-DAG:`` directives in the same ``CHECK-DAG:`` block. Not " @@ -625,7 +622,7 @@ msgid "" "tasks in a parallel program, such as the OpenMP runtime:" msgstr "" -#: ../../../CommandGuide/FileCheck.rst:603 +#: ../../../CommandGuide/FileCheck.rst:602 msgid "" "The second pair of directives is guaranteed not to match the same log " "entries as the first pair even though the patterns are identical and even if " @@ -633,11 +630,11 @@ msgid "" "reused." msgstr "" -#: ../../../CommandGuide/FileCheck.rst:608 +#: ../../../CommandGuide/FileCheck.rst:607 msgid "The \"CHECK-LABEL:\" directive" msgstr "" -#: ../../../CommandGuide/FileCheck.rst:610 +#: ../../../CommandGuide/FileCheck.rst:609 msgid "" "Sometimes in a file containing multiple tests divided into logical blocks, " "one or more ``CHECK:`` directives may inadvertently succeed by matching " @@ -646,7 +643,7 @@ msgid "" "relationship to the actual source of the problem." msgstr "" -#: ../../../CommandGuide/FileCheck.rst:616 +#: ../../../CommandGuide/FileCheck.rst:615 msgid "" "In order to produce better error messages in these cases, the \"``CHECK-" "LABEL:``\" directive can be used. It is treated identically to a normal " @@ -660,11 +657,11 @@ msgid "" "all local variables are cleared at the beginning of the block." msgstr "" -#: ../../../CommandGuide/FileCheck.rst:627 +#: ../../../CommandGuide/FileCheck.rst:626 msgid "For example," msgstr "" -#: ../../../CommandGuide/FileCheck.rst:648 +#: ../../../CommandGuide/FileCheck.rst:647 msgid "" "The use of ``CHECK-LABEL:`` directives in this case ensures that the three " "``CHECK:`` directives only accept lines corresponding to the body of the " @@ -674,30 +671,30 @@ msgid "" "test failures to be detected in a single invocation." msgstr "" -#: ../../../CommandGuide/FileCheck.rst:655 +#: ../../../CommandGuide/FileCheck.rst:654 msgid "" "There is no requirement that ``CHECK-LABEL:`` directives contain strings " "that correspond to actual syntactic labels in a source or output language: " "they must simply uniquely match a single line in the file being verified." msgstr "" -#: ../../../CommandGuide/FileCheck.rst:659 +#: ../../../CommandGuide/FileCheck.rst:658 msgid "" "``CHECK-LABEL:`` directives cannot contain variable definitions or uses." msgstr "" -#: ../../../CommandGuide/FileCheck.rst:662 +#: ../../../CommandGuide/FileCheck.rst:661 msgid "Directive modifiers" msgstr "" -#: ../../../CommandGuide/FileCheck.rst:664 +#: ../../../CommandGuide/FileCheck.rst:663 msgid "" "A directive modifier can be append to a directive by following the directive " "with ``{}`` where the only supported value for ```` is " "``LITERAL``." msgstr "" -#: ../../../CommandGuide/FileCheck.rst:668 +#: ../../../CommandGuide/FileCheck.rst:667 msgid "" "The ``LITERAL`` directive modifier can be used to perform a literal match. " "The modifier results in the directive not recognizing any syntax to perform " @@ -707,11 +704,11 @@ msgid "" "regular expressions:" msgstr "" -#: ../../../CommandGuide/FileCheck.rst:686 +#: ../../../CommandGuide/FileCheck.rst:685 msgid "FileCheck Regex Matching Syntax" msgstr "" -#: ../../../CommandGuide/FileCheck.rst:688 +#: ../../../CommandGuide/FileCheck.rst:687 msgid "" "All FileCheck directives take a pattern to match. For most uses of " "FileCheck, fixed string matching is perfectly sufficient. For some things, " @@ -725,13 +722,13 @@ msgid "" "this:" msgstr "" -#: ../../../CommandGuide/FileCheck.rst:702 +#: ../../../CommandGuide/FileCheck.rst:701 msgid "" "In this case, any offset from the ESP register will be allowed, and any xmm " "register will be allowed." msgstr "" -#: ../../../CommandGuide/FileCheck.rst:705 +#: ../../../CommandGuide/FileCheck.rst:704 msgid "" "Because regular expressions are enclosed with double braces, they are " "visually distinct, and you don't need to use escape characters within the " @@ -743,11 +740,11 @@ msgid "" "confusion with FileCheck's closing double-brace." msgstr "" -#: ../../../CommandGuide/FileCheck.rst:715 +#: ../../../CommandGuide/FileCheck.rst:714 msgid "FileCheck String Substitution Blocks" msgstr "" -#: ../../../CommandGuide/FileCheck.rst:717 +#: ../../../CommandGuide/FileCheck.rst:716 msgid "" "It is often useful to match a pattern and then verify that it occurs again " "later in the file. For codegen tests, this can be useful to allow any " @@ -757,7 +754,7 @@ msgid "" "simple example:" msgstr "" -#: ../../../CommandGuide/FileCheck.rst:730 +#: ../../../CommandGuide/FileCheck.rst:729 msgid "" "The first check line matches a regex ``%[a-z]+`` and captures it into the " "string variable ``REGISTER``. The second line verifies that whatever is in " @@ -768,20 +765,20 @@ msgid "" "the variable; otherwise, it is a substitution." msgstr "" -#: ../../../CommandGuide/FileCheck.rst:738 +#: ../../../CommandGuide/FileCheck.rst:737 msgid "" ":program:`FileCheck` variables can be defined multiple times, and " "substitutions always get the latest value. Variables can also be " "substituted later on the same line they were defined on. For example:" msgstr "" -#: ../../../CommandGuide/FileCheck.rst:746 +#: ../../../CommandGuide/FileCheck.rst:745 msgid "" "Can be useful if you want the operands of ``op`` to be the same register, " "and don't care exactly which register it is." msgstr "" -#: ../../../CommandGuide/FileCheck.rst:749 +#: ../../../CommandGuide/FileCheck.rst:748 msgid "" "If ``--enable-var-scope`` is in effect, variables with names that start with " "``$`` are considered to be global. All others variables are local. All " @@ -791,11 +788,11 @@ msgid "" "tests." msgstr "" -#: ../../../CommandGuide/FileCheck.rst:757 +#: ../../../CommandGuide/FileCheck.rst:756 msgid "FileCheck Numeric Substitution Blocks" msgstr "" -#: ../../../CommandGuide/FileCheck.rst:759 +#: ../../../CommandGuide/FileCheck.rst:758 msgid "" ":program:`FileCheck` also supports numeric substitution blocks that allow " "defining numeric variables and checking for numeric values that satisfy a " @@ -804,44 +801,44 @@ msgid "" "between two numbers, such as the need for consecutive registers to be used." msgstr "" -#: ../../../CommandGuide/FileCheck.rst:765 +#: ../../../CommandGuide/FileCheck.rst:764 msgid "" "The syntax to capture a numeric value is ``[[#%,:]]`` where:" msgstr "" -#: ../../../CommandGuide/FileCheck.rst:768 +#: ../../../CommandGuide/FileCheck.rst:767 msgid "" "``%,`` is an optional format specifier to indicate what number " "format to match and the minimum number of digits to expect." msgstr "" -#: ../../../CommandGuide/FileCheck.rst:771 +#: ../../../CommandGuide/FileCheck.rst:770 msgid "" "``:`` is an optional definition of variable ```` from the " "captured value." msgstr "" -#: ../../../CommandGuide/FileCheck.rst:774 +#: ../../../CommandGuide/FileCheck.rst:773 msgid "" "The syntax of ```` is: ``#.`` " "where:" msgstr "" -#: ../../../CommandGuide/FileCheck.rst:776 +#: ../../../CommandGuide/FileCheck.rst:775 msgid "" "``#`` is an optional flag available for hex values (see ```` below) which requires the value matched to be prefixed by " "``0x``." msgstr "" -#: ../../../CommandGuide/FileCheck.rst:779 +#: ../../../CommandGuide/FileCheck.rst:778 msgid "" "``.`` is an optional printf-style precision specifier in which " "```` indicates the minimum number of digits that the value " "matched must have, expecting leading zeros if needed." msgstr "" -#: ../../../CommandGuide/FileCheck.rst:783 +#: ../../../CommandGuide/FileCheck.rst:782 msgid "" "```` is an optional scanf-style conversion specifier " "to indicate what number format to match (e.g. hex number). Currently " @@ -849,36 +846,36 @@ msgid "" "absent, the format specifier defaults to ``%u``." msgstr "" -#: ../../../CommandGuide/FileCheck.rst:789 -#: ../../../CommandGuide/FileCheck.rst:859 +#: ../../../CommandGuide/FileCheck.rst:788 +#: ../../../CommandGuide/FileCheck.rst:858 msgid "For example:" msgstr "" -#: ../../../CommandGuide/FileCheck.rst:795 +#: ../../../CommandGuide/FileCheck.rst:794 msgid "" "would match ``mov r5, 0x0000FEFE`` and set ``REG`` to the value ``5`` and " "``ADDR`` to the value ``0xFEFE``. Note that due to the precision it would " "fail to match ``mov r5, 0xFEFE``." msgstr "" -#: ../../../CommandGuide/FileCheck.rst:799 +#: ../../../CommandGuide/FileCheck.rst:798 msgid "" "As a result of the numeric variable definition being optional, it is " "possible to only check that a numeric value is present in a given format. " "This can be useful when the value itself is not useful, for instance:" msgstr "" -#: ../../../CommandGuide/FileCheck.rst:807 +#: ../../../CommandGuide/FileCheck.rst:806 msgid "to check that a value is synthesized rather than moved around." msgstr "" -#: ../../../CommandGuide/FileCheck.rst:810 +#: ../../../CommandGuide/FileCheck.rst:809 msgid "" "The syntax of a numeric substitution is ``[[#%, " "]]`` where:" msgstr "" -#: ../../../CommandGuide/FileCheck.rst:813 +#: ../../../CommandGuide/FileCheck.rst:812 msgid "" "```` is the same format specifier as for defining a variable but in " "this context indicating how a numeric expression value should be matched " @@ -891,7 +888,7 @@ msgid "" "optional." msgstr "" -#: ../../../CommandGuide/FileCheck.rst:823 +#: ../../../CommandGuide/FileCheck.rst:822 msgid "" "```` is the constraint describing how the value to match must " "relate to the value of the numeric expression. The only currently accepted " @@ -900,20 +897,20 @@ msgid "" "when the ```` is empty." msgstr "" -#: ../../../CommandGuide/FileCheck.rst:829 +#: ../../../CommandGuide/FileCheck.rst:828 msgid "" "```` is an expression. An expression is in turn recursively defined as:" msgstr "" -#: ../../../CommandGuide/FileCheck.rst:832 +#: ../../../CommandGuide/FileCheck.rst:831 msgid "a numeric operand, or" msgstr "" -#: ../../../CommandGuide/FileCheck.rst:833 +#: ../../../CommandGuide/FileCheck.rst:832 msgid "an expression followed by an operator and a numeric operand." msgstr "" -#: ../../../CommandGuide/FileCheck.rst:835 +#: ../../../CommandGuide/FileCheck.rst:834 msgid "" "A numeric operand is a previously defined numeric variable, an integer " "literal, or a function. Spaces are accepted before, after and between any of " @@ -922,69 +919,69 @@ msgid "" "parentheses can be used to change the evaluation order." msgstr "" -#: ../../../CommandGuide/FileCheck.rst:841 +#: ../../../CommandGuide/FileCheck.rst:840 msgid "The supported operators are:" msgstr "" -#: ../../../CommandGuide/FileCheck.rst:843 +#: ../../../CommandGuide/FileCheck.rst:842 msgid "``+`` - Returns the sum of its two operands." msgstr "" -#: ../../../CommandGuide/FileCheck.rst:844 +#: ../../../CommandGuide/FileCheck.rst:843 msgid "``-`` - Returns the difference of its two operands." msgstr "" -#: ../../../CommandGuide/FileCheck.rst:846 +#: ../../../CommandGuide/FileCheck.rst:845 msgid "The syntax of a function call is ``()`` where:" msgstr "" -#: ../../../CommandGuide/FileCheck.rst:848 +#: ../../../CommandGuide/FileCheck.rst:847 msgid "``name`` is a predefined string literal. Accepted values are:" msgstr "" -#: ../../../CommandGuide/FileCheck.rst:850 +#: ../../../CommandGuide/FileCheck.rst:849 msgid "add - Returns the sum of its two operands." msgstr "" -#: ../../../CommandGuide/FileCheck.rst:851 +#: ../../../CommandGuide/FileCheck.rst:850 msgid "div - Returns the quotient of its two operands." msgstr "" -#: ../../../CommandGuide/FileCheck.rst:852 +#: ../../../CommandGuide/FileCheck.rst:851 msgid "max - Returns the largest of its two operands." msgstr "" -#: ../../../CommandGuide/FileCheck.rst:853 +#: ../../../CommandGuide/FileCheck.rst:852 msgid "min - Returns the smallest of its two operands." msgstr "" -#: ../../../CommandGuide/FileCheck.rst:854 +#: ../../../CommandGuide/FileCheck.rst:853 msgid "mul - Returns the product of its two operands." msgstr "" -#: ../../../CommandGuide/FileCheck.rst:855 +#: ../../../CommandGuide/FileCheck.rst:854 msgid "sub - Returns the difference of its two operands." msgstr "" -#: ../../../CommandGuide/FileCheck.rst:857 +#: ../../../CommandGuide/FileCheck.rst:856 msgid "```` is a comma separated list of expressions." msgstr "" -#: ../../../CommandGuide/FileCheck.rst:868 +#: ../../../CommandGuide/FileCheck.rst:867 msgid "The above example would match the text:" msgstr "" -#: ../../../CommandGuide/FileCheck.rst:876 +#: ../../../CommandGuide/FileCheck.rst:875 msgid "but would not match the text:" msgstr "" -#: ../../../CommandGuide/FileCheck.rst:884 +#: ../../../CommandGuide/FileCheck.rst:883 msgid "" "Due to ``7`` being unequal to ``5 + 1`` and ``a0463443`` being unequal to " "``a0463440 + 7``." msgstr "" -#: ../../../CommandGuide/FileCheck.rst:888 +#: ../../../CommandGuide/FileCheck.rst:887 msgid "" "A numeric variable can also be defined to the result of a numeric " "expression, in which case the numeric expression constraint is checked and " @@ -995,27 +992,27 @@ msgid "" "more self-describing by using variables instead of values:" msgstr "" -#: ../../../CommandGuide/FileCheck.rst:901 +#: ../../../CommandGuide/FileCheck.rst:900 msgid "which would match:" msgstr "" -#: ../../../CommandGuide/FileCheck.rst:908 +#: ../../../CommandGuide/FileCheck.rst:907 msgid "" "The ``--enable-var-scope`` option has the same effect on numeric variables " "as on string variables." msgstr "" -#: ../../../CommandGuide/FileCheck.rst:911 +#: ../../../CommandGuide/FileCheck.rst:910 msgid "" "Important note: In its current implementation, an expression cannot use a " "numeric variable defined earlier in the same CHECK directive." msgstr "" -#: ../../../CommandGuide/FileCheck.rst:915 +#: ../../../CommandGuide/FileCheck.rst:914 msgid "FileCheck Pseudo Numeric Variables" msgstr "" -#: ../../../CommandGuide/FileCheck.rst:917 +#: ../../../CommandGuide/FileCheck.rst:916 msgid "" "Sometimes there's a need to verify output that contains line numbers of the " "match file, e.g. when testing compiler diagnostics. This introduces a " @@ -1024,20 +1021,20 @@ msgid "" "whenever line numbers change due to text addition or deletion." msgstr "" -#: ../../../CommandGuide/FileCheck.rst:923 +#: ../../../CommandGuide/FileCheck.rst:922 msgid "" "To support this case, FileCheck expressions understand the ``@LINE`` pseudo " "numeric variable which evaluates to the line number of the CHECK pattern " "where it is found." msgstr "" -#: ../../../CommandGuide/FileCheck.rst:927 +#: ../../../CommandGuide/FileCheck.rst:926 msgid "" "This way match patterns can be put near the relevant test lines and include " "relative line number references, for example:" msgstr "" -#: ../../../CommandGuide/FileCheck.rst:938 +#: ../../../CommandGuide/FileCheck.rst:937 msgid "" "To support legacy uses of ``@LINE`` as a special string variable, :program:" "`FileCheck` also accepts the following uses of ``@LINE`` with string " @@ -1046,21 +1043,21 @@ msgid "" "``offset`` is an integer." msgstr "" -#: ../../../CommandGuide/FileCheck.rst:945 +#: ../../../CommandGuide/FileCheck.rst:944 msgid "Matching Newline Characters" msgstr "" -#: ../../../CommandGuide/FileCheck.rst:947 +#: ../../../CommandGuide/FileCheck.rst:946 msgid "" "To match newline characters in regular expressions the character class ``[[:" "space:]]`` can be used. For example, the following pattern:" msgstr "" -#: ../../../CommandGuide/FileCheck.rst:954 +#: ../../../CommandGuide/FileCheck.rst:953 msgid "matches output of the form (from llvm-dwarfdump):" msgstr "" -#: ../../../CommandGuide/FileCheck.rst:961 +#: ../../../CommandGuide/FileCheck.rst:960 msgid "" "letting us set the :program:`FileCheck` variable ``DLOC`` to the desired " "value ``0x00000233``, extracted from the line immediately preceding " diff --git a/main/locale/pot/LC_MESSAGES/CommandGuide/dsymutil.pot b/main/locale/pot/LC_MESSAGES/CommandGuide/dsymutil.pot index eea5423dc61..d3059906dae 100644 --- a/main/locale/pot/LC_MESSAGES/CommandGuide/dsymutil.pot +++ b/main/locale/pot/LC_MESSAGES/CommandGuide/dsymutil.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: LLVM main\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-10 08:42+0000\n" +"POT-Creation-Date: 2026-03-09 08:48+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -53,6 +53,13 @@ msgstr "" #: ../../../CommandGuide/dsymutil.rst:28 msgid "" +"Only process debug map objects listed in the YAML file at . Only " +"filters N_OSO entries. If `--oso-prepend-path` is specified, the path prefix " +"applies, i.e. paths in the file should exact match that of N_OSO entries." +msgstr "" + +#: ../../../CommandGuide/dsymutil.rst:34 +msgid "" "Link DWARF debug information only for specified CPU architecture types. " "Architectures may be specified by name. When using this option, an error " "will be returned if any architectures can not be properly linked. This " @@ -61,7 +68,7 @@ msgid "" "can't be properly linked will cause :program:`dsymutil` to return an error." msgstr "" -#: ../../../CommandGuide/dsymutil.rst:37 +#: ../../../CommandGuide/dsymutil.rst:43 msgid "" "Specify the build variant suffix used to build the executable file. There " "can be multiple variants for the binary of a product, each built slightly " @@ -70,41 +77,48 @@ msgid "" "the specified variant at runtime." msgstr "" -#: ../../../CommandGuide/dsymutil.rst:45 +#: ../../../CommandGuide/dsymutil.rst:51 +msgid "" +"Exclude debug map objects listed in the YAML file at . Only filters " +"N_OSO entries. If `--oso-prepend-path` is specified, the path prefix " +"applies, i.e. paths in the file should exact match that of N_OSO entries." +msgstr "" + +#: ../../../CommandGuide/dsymutil.rst:57 msgid "" "Dump the *executable*'s debug-map (the list of the object files containing " "the debug information) in YAML format and exit. No DWARF link will take " "place." msgstr "" -#: ../../../CommandGuide/dsymutil.rst:50 +#: ../../../CommandGuide/dsymutil.rst:62 msgid "" "Specify a directory that contain dSYM files to search for. This is used for " "mergeable libraries, so dsymutil knows where to look for dSYM files with " "debug information about symbols present in those libraries." msgstr "" -#: ../../../CommandGuide/dsymutil.rst:57 +#: ../../../CommandGuide/dsymutil.rst:69 msgid "Use a 64-bit header when emitting universal binaries." msgstr "" -#: ../../../CommandGuide/dsymutil.rst:61 +#: ../../../CommandGuide/dsymutil.rst:73 msgid "" "Produce a flat dSYM file. A ``.dwarf`` extension will be appended to the " "executable name unless the output file is specified using the ``-o`` option." msgstr "" -#: ../../../CommandGuide/dsymutil.rst:66 +#: ../../../CommandGuide/dsymutil.rst:78 msgid "" "Generate a reproducer consisting of the input object files. Alias for --" "reproducer=GenerateOnExit." msgstr "" -#: ../../../CommandGuide/dsymutil.rst:71 +#: ../../../CommandGuide/dsymutil.rst:83 msgid "Print this help output." msgstr "" -#: ../../../CommandGuide/dsymutil.rst:75 +#: ../../../CommandGuide/dsymutil.rst:87 msgid "" "Whether or not to copy binary swiftmodules built from textual ." "swiftinterface files into the dSYM bundle. These typically come only from " @@ -113,76 +127,76 @@ msgid "" "different from those in the SDK." msgstr "" -#: ../../../CommandGuide/dsymutil.rst:83 +#: ../../../CommandGuide/dsymutil.rst:95 msgid "" "Make a static variable keep the enclosing function even if it would have " "been omitted otherwise." msgstr "" -#: ../../../CommandGuide/dsymutil.rst:88 +#: ../../../CommandGuide/dsymutil.rst:100 msgid "Don't check timestamp for object files." msgstr "" -#: ../../../CommandGuide/dsymutil.rst:92 +#: ../../../CommandGuide/dsymutil.rst:104 msgid "Do not use ODR (One Definition Rule) for uniquing C++ types." msgstr "" -#: ../../../CommandGuide/dsymutil.rst:96 +#: ../../../CommandGuide/dsymutil.rst:108 msgid "Do the link in memory, but do not emit the result file." msgstr "" -#: ../../../CommandGuide/dsymutil.rst:100 +#: ../../../CommandGuide/dsymutil.rst:112 msgid "Don't check the timestamp for swiftmodule files." msgstr "" -#: ../../../CommandGuide/dsymutil.rst:104 +#: ../../../CommandGuide/dsymutil.rst:116 msgid "" "Specifies the maximum number (``n``) of simultaneous threads to use when " "linking multiple architectures." msgstr "" -#: ../../../CommandGuide/dsymutil.rst:109 +#: ../../../CommandGuide/dsymutil.rst:121 msgid "" "Remap object file paths (but no source paths) before processing. Use this " "for Clang objects where the module cache location was remapped using ``-" "fdebug-prefix-map``; to help dsymutil find the Clang module cache." msgstr "" -#: ../../../CommandGuide/dsymutil.rst:115 +#: ../../../CommandGuide/dsymutil.rst:127 msgid "Specifies a ``path`` to prepend to all debug symbol object file paths." msgstr "" -#: ../../../CommandGuide/dsymutil.rst:119 +#: ../../../CommandGuide/dsymutil.rst:131 msgid "" "Specifies an alternate ``path`` to place the dSYM bundle. The default dSYM " "bundle path is created by appending ``.dSYM`` to the executable name." msgstr "" -#: ../../../CommandGuide/dsymutil.rst:124 +#: ../../../CommandGuide/dsymutil.rst:136 msgid "Enable quiet mode and limit output." msgstr "" -#: ../../../CommandGuide/dsymutil.rst:128 +#: ../../../CommandGuide/dsymutil.rst:140 msgid "" "Drop remarks without valid debug locations. Without this flags, all remarks " "are kept." msgstr "" -#: ../../../CommandGuide/dsymutil.rst:132 +#: ../../../CommandGuide/dsymutil.rst:144 msgid "Specify the format to be used when serializing the linked remarks." msgstr "" -#: ../../../CommandGuide/dsymutil.rst:136 +#: ../../../CommandGuide/dsymutil.rst:148 msgid "Specify a directory to prepend the paths of the external remark files." msgstr "" -#: ../../../CommandGuide/dsymutil.rst:140 +#: ../../../CommandGuide/dsymutil.rst:152 msgid "" "Specify the reproducer generation mode. Valid options are 'GenerateOnExit', " "'GenerateOnCrash', 'Use', 'Off'." msgstr "" -#: ../../../CommandGuide/dsymutil.rst:145 +#: ../../../CommandGuide/dsymutil.rst:157 msgid "" "Print statistics about the contribution of each object file to the linked " "debug info. This prints a table after linking with the object file name, the " @@ -191,62 +205,62 @@ msgid "" "size listing the object files with the largest contribution first." msgstr "" -#: ../../../CommandGuide/dsymutil.rst:153 +#: ../../../CommandGuide/dsymutil.rst:165 msgid "" "Dumps the symbol table found in *executable* or object file(s) and exits." msgstr "" -#: ../../../CommandGuide/dsymutil.rst:157 +#: ../../../CommandGuide/dsymutil.rst:169 msgid "Output textual assembly instead of a binary dSYM companion file." msgstr "" -#: ../../../CommandGuide/dsymutil.rst:161 +#: ../../../CommandGuide/dsymutil.rst:173 msgid "Embed the toolchain in the dSYM bundle's property list." msgstr "" -#: ../../../CommandGuide/dsymutil.rst:165 +#: ../../../CommandGuide/dsymutil.rst:177 msgid "" "Update an existing dSYM file to contain the latest accelerator tables and " "other DWARF optimizations. This option will rebuild the '.apple_names' and '." "apple_types' hashed accelerator tables." msgstr "" -#: ../../../CommandGuide/dsymutil.rst:171 +#: ../../../CommandGuide/dsymutil.rst:183 msgid "" "Use the object files from the given reproducer path. Alias for --" "reproducer=Use." msgstr "" -#: ../../../CommandGuide/dsymutil.rst:176 +#: ../../../CommandGuide/dsymutil.rst:188 msgid "Display verbose information when linking." msgstr "" -#: ../../../CommandGuide/dsymutil.rst:180 +#: ../../../CommandGuide/dsymutil.rst:192 msgid "Run the DWARF verifier on the linked DWARF debug info." msgstr "" -#: ../../../CommandGuide/dsymutil.rst:184 +#: ../../../CommandGuide/dsymutil.rst:196 msgid "Display the version of the tool." msgstr "" -#: ../../../CommandGuide/dsymutil.rst:188 +#: ../../../CommandGuide/dsymutil.rst:200 msgid "Treat *executable* as a YAML debug-map rather than an executable." msgstr "" -#: ../../../CommandGuide/dsymutil.rst:191 +#: ../../../CommandGuide/dsymutil.rst:203 msgid "EXIT STATUS" msgstr "" -#: ../../../CommandGuide/dsymutil.rst:193 +#: ../../../CommandGuide/dsymutil.rst:205 msgid "" ":program:`dsymutil` returns 0 if the DWARF debug information was linked " "successfully. Otherwise, it returns 1." msgstr "" -#: ../../../CommandGuide/dsymutil.rst:197 +#: ../../../CommandGuide/dsymutil.rst:209 msgid "SEE ALSO" msgstr "" -#: ../../../CommandGuide/dsymutil.rst:199 +#: ../../../CommandGuide/dsymutil.rst:211 msgid ":manpage:`llvm-dwarfdump(1)`" msgstr "" diff --git a/main/locale/pot/LC_MESSAGES/CommandGuide/index.pot b/main/locale/pot/LC_MESSAGES/CommandGuide/index.pot index f9554e5fc52..3abce6c23b8 100644 --- a/main/locale/pot/LC_MESSAGES/CommandGuide/index.pot +++ b/main/locale/pot/LC_MESSAGES/CommandGuide/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: LLVM main\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-10-13 08:36+0000\n" +"POT-Creation-Date: 2026-03-09 08:48+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -35,18 +35,18 @@ msgstr "" msgid "Basic Commands" msgstr "" -#: ../../../CommandGuide/index.rst:47 +#: ../../../CommandGuide/index.rst:48 msgid "GNU binutils replacements" msgstr "" -#: ../../../CommandGuide/index.rst:66 +#: ../../../CommandGuide/index.rst:67 msgid "Debugging Tools" msgstr "" -#: ../../../CommandGuide/index.rst:76 +#: ../../../CommandGuide/index.rst:77 msgid "Developer Tools" msgstr "" -#: ../../../CommandGuide/index.rst:98 +#: ../../../CommandGuide/index.rst:99 msgid "Remarks Tools" msgstr "" diff --git a/main/locale/pot/LC_MESSAGES/CommandGuide/lli.pot b/main/locale/pot/LC_MESSAGES/CommandGuide/lli.pot index d66ea6e9cc1..92a438fe38b 100644 --- a/main/locale/pot/LC_MESSAGES/CommandGuide/lli.pot +++ b/main/locale/pot/LC_MESSAGES/CommandGuide/lli.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: LLVM main\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-10-27 08:36+0000\n" +"POT-Creation-Date: 2026-03-09 08:48+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -85,39 +85,33 @@ msgstr "" #: ../../../CommandGuide/lli.rst:48 msgid "" -"Causes :program:`lli` to load the plugin (shared object) named " -"*pluginfilename* and use it for optimization." -msgstr "" - -#: ../../../CommandGuide/lli.rst:53 -msgid "" "Print statistics from the code-generation passes. This is only meaningful " "for the just-in-time compiler, at present." msgstr "" -#: ../../../CommandGuide/lli.rst:58 +#: ../../../CommandGuide/lli.rst:53 msgid "" "Record the amount of time needed for each code-generation pass and print it " "to standard error." msgstr "" -#: ../../../CommandGuide/lli.rst:63 +#: ../../../CommandGuide/lli.rst:58 msgid "" "Print out the version of :program:`lli` and exit without doing anything else." msgstr "" -#: ../../../CommandGuide/lli.rst:66 +#: ../../../CommandGuide/lli.rst:61 msgid "TARGET OPTIONS" msgstr "" -#: ../../../CommandGuide/lli.rst:70 +#: ../../../CommandGuide/lli.rst:65 msgid "" "Override the target triple specified in the input bitcode file with the " "specified string. This may result in a crash if you pick an architecture " "which is not compatible with the current system." msgstr "" -#: ../../../CommandGuide/lli.rst:76 +#: ../../../CommandGuide/lli.rst:71 msgid "" "Specify the architecture for which to generate assembly, overriding the " "target encoded in the bitcode file. See the output of **llc -help** for a " @@ -125,7 +119,7 @@ msgid "" "triple or autodetected to the current architecture." msgstr "" -#: ../../../CommandGuide/lli.rst:83 +#: ../../../CommandGuide/lli.rst:78 msgid "" "Specify a specific chip in the current architecture to generate code for. By " "default this is inferred from the target triple and autodetected to the " @@ -133,7 +127,7 @@ msgid "" "null | llc -march=xyz -mcpu=help**" msgstr "" -#: ../../../CommandGuide/lli.rst:90 +#: ../../../CommandGuide/lli.rst:85 msgid "" "Override or control specific attributes of the target, such as whether SIMD " "operations are enabled or not. The default set of attributes is set by the " @@ -141,90 +135,90 @@ msgid "" "| llc -march=xyz -mattr=help**" msgstr "" -#: ../../../CommandGuide/lli.rst:96 +#: ../../../CommandGuide/lli.rst:91 msgid "FLOATING POINT OPTIONS" msgstr "" -#: ../../../CommandGuide/lli.rst:100 +#: ../../../CommandGuide/lli.rst:95 msgid "Disable optimizations that may increase floating point precision." msgstr "" -#: ../../../CommandGuide/lli.rst:104 +#: ../../../CommandGuide/lli.rst:99 msgid "Enable optimizations that assume no Inf values." msgstr "" -#: ../../../CommandGuide/lli.rst:108 +#: ../../../CommandGuide/lli.rst:103 msgid "Enable optimizations that assume no NAN values." msgstr "" -#: ../../../CommandGuide/lli.rst:112 +#: ../../../CommandGuide/lli.rst:107 msgid "" "Causes :program:`lli` to generate software floating point library calls " "instead of equivalent hardware instructions." msgstr "" -#: ../../../CommandGuide/lli.rst:116 +#: ../../../CommandGuide/lli.rst:111 msgid "CODE GENERATION OPTIONS" msgstr "" -#: ../../../CommandGuide/lli.rst:120 +#: ../../../CommandGuide/lli.rst:115 msgid "Choose the code model from:" msgstr "" -#: ../../../CommandGuide/lli.rst:133 +#: ../../../CommandGuide/lli.rst:128 msgid "Disable scheduling after register allocation." msgstr "" -#: ../../../CommandGuide/lli.rst:137 +#: ../../../CommandGuide/lli.rst:132 msgid "Disable fusing of spill code into instructions." msgstr "" -#: ../../../CommandGuide/lli.rst:141 +#: ../../../CommandGuide/lli.rst:136 msgid "Exception handling should be enabled in the just-in-time compiler." msgstr "" -#: ../../../CommandGuide/lli.rst:145 +#: ../../../CommandGuide/lli.rst:140 msgid "Coalesce copies (default=true)." msgstr "" -#: ../../../CommandGuide/lli.rst:149 +#: ../../../CommandGuide/lli.rst:144 msgid "Don't place zero-initialized symbols into the BSS section." msgstr "" -#: ../../../CommandGuide/lli.rst:153 +#: ../../../CommandGuide/lli.rst:148 msgid "Instruction schedulers available (before register allocation):" msgstr "" -#: ../../../CommandGuide/lli.rst:167 +#: ../../../CommandGuide/lli.rst:162 msgid "Register allocator to use (default=linearscan)" msgstr "" -#: ../../../CommandGuide/lli.rst:178 +#: ../../../CommandGuide/lli.rst:173 msgid "Choose relocation model from:" msgstr "" -#: ../../../CommandGuide/lli.rst:189 +#: ../../../CommandGuide/lli.rst:184 msgid "Spiller to use (default=local)" msgstr "" -#: ../../../CommandGuide/lli.rst:198 +#: ../../../CommandGuide/lli.rst:193 msgid "Choose style of code to emit from X86 backend:" msgstr "" -#: ../../../CommandGuide/lli.rst:206 +#: ../../../CommandGuide/lli.rst:201 msgid "EXIT STATUS" msgstr "" -#: ../../../CommandGuide/lli.rst:208 +#: ../../../CommandGuide/lli.rst:203 msgid "" "If :program:`lli` fails to load the program, it will exit with an exit code " "of 1. Otherwise, it will return the exit code of the program it executes." msgstr "" -#: ../../../CommandGuide/lli.rst:212 +#: ../../../CommandGuide/lli.rst:207 msgid "SEE ALSO" msgstr "" -#: ../../../CommandGuide/lli.rst:214 +#: ../../../CommandGuide/lli.rst:209 msgid ":manpage:`llc(1)`" msgstr "" diff --git a/main/locale/pot/LC_MESSAGES/CommandGuide/llubi.pot b/main/locale/pot/LC_MESSAGES/CommandGuide/llubi.pot new file mode 100644 index 00000000000..6e7a5070746 --- /dev/null +++ b/main/locale/pot/LC_MESSAGES/CommandGuide/llubi.pot @@ -0,0 +1,145 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2003-2026, LLVM Project +# This file is distributed under the same license as the LLVM package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: LLVM main\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-03-09 08:48+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../../../CommandGuide/llubi.rst:2 +msgid "llubi - LLVM UB-aware Interpreter" +msgstr "" + +#: ../../../CommandGuide/llubi.rst:7 +msgid "SYNOPSIS" +msgstr "" + +#: ../../../CommandGuide/llubi.rst:9 +msgid ":program:`llubi` [*options*] [*filename*] [*program args*]" +msgstr "" + +#: ../../../CommandGuide/llubi.rst:12 +msgid "DESCRIPTION" +msgstr "" + +#: ../../../CommandGuide/llubi.rst:14 +msgid "" +":program:`llubi` directly executes programs in LLVM bitcode format and " +"tracks values in LLVM IR semantics. Unlike :program:`lli`, :program:`llubi` " +"is designed to be aware of undefined behaviors during execution. It detects " +"immediate undefined behaviors such as integer division by zero, and respects " +"poison generating flags like `nsw` and `nuw`. As it captures most of the " +"guardable undefined behaviors, it is highly suitable for constructing an " +"interesting-ness test for miscompilation bugs." +msgstr "" + +#: ../../../CommandGuide/llubi.rst:20 +msgid "" +"If `filename` is not specified, then :program:`llubi` reads the LLVM bitcode " +"for the program from standard input." +msgstr "" + +#: ../../../CommandGuide/llubi.rst:23 +msgid "" +"The optional *args* specified on the command line are passed to the program " +"as arguments." +msgstr "" + +#: ../../../CommandGuide/llubi.rst:27 +msgid "GENERAL OPTIONS" +msgstr "" + +#: ../../../CommandGuide/llubi.rst:31 +msgid "Override the ``argv[0]`` value passed into the executing program." +msgstr "" + +#: ../../../CommandGuide/llubi.rst:35 +msgid "" +"Specify the name of the function to execute as the program's entry point. By " +"default, :program:`llubi` uses the function named ``main``." +msgstr "" + +#: ../../../CommandGuide/llubi.rst:40 +msgid "Print a summary of command line options." +msgstr "" + +#: ../../../CommandGuide/llubi.rst:44 +msgid "Print results for each instruction executed." +msgstr "" + +#: ../../../CommandGuide/llubi.rst:48 +msgid "" +"Print out the version of :program:`llubi` and exit without doing anything " +"else." +msgstr "" + +#: ../../../CommandGuide/llubi.rst:51 +msgid "INTERPRETER OPTIONS" +msgstr "" + +#: ../../../CommandGuide/llubi.rst:55 +msgid "" +"Limit the amount of memory (in bytes) that can be allocated by the program, " +"including stack, heap, and global variables. If the limit is exceeded, " +"execution will be terminated. By default, there is no limit (N = 0)." +msgstr "" + +#: ../../../CommandGuide/llubi.rst:61 +msgid "" +"Limit the maximum stack depth to N. If the limit is exceeded, execution will " +"be terminated. The default limit is 256. Set N to 0 to disable the limit." +msgstr "" + +#: ../../../CommandGuide/llubi.rst:66 +msgid "" +"Limit the number of instructions executed to N. If the limit is reached, " +"execution will be terminated. By default, there is no limit (N = 0)." +msgstr "" + +#: ../../../CommandGuide/llubi.rst:71 +msgid "Set the value of `llvm.vscale` to N. The default value is 4." +msgstr "" + +#: ../../../CommandGuide/llubi.rst:75 +msgid "" +"Set the seed for random number generator to N. By default, the seed is 0." +msgstr "" + +#: ../../../CommandGuide/llubi.rst:79 +msgid "" +"Set the behavior for undefined values (e.g., load from uninitialized memory " +"or freeze a poison value). The options for `mode` are:" +msgstr "" + +#: ../../../CommandGuide/llubi.rst:82 +msgid "" +"`nondet`: Each load from the same uninitialized byte yields a freshly random " +"value. This is the default behavior." +msgstr "" + +#: ../../../CommandGuide/llubi.rst:83 +msgid "`zero`: Uninitialized values are treated as zero." +msgstr "" + +#: ../../../CommandGuide/llubi.rst:86 +msgid "EXIT STATUS" +msgstr "" + +#: ../../../CommandGuide/llubi.rst:88 +msgid "" +"If :program:`llubi` fails to load the program, or an error occurs during " +"execution (e.g, an immediate undefined behavior is triggered), it will exit " +"with an exit code of 1. If the return type of entry function is not an " +"integer type, it will return 0. Otherwise, it will return the exit code of " +"the program." +msgstr "" diff --git a/main/locale/pot/LC_MESSAGES/CommandGuide/llvm-cov.pot b/main/locale/pot/LC_MESSAGES/CommandGuide/llvm-cov.pot index 3dc5d46bb28..39e0e4dcfc5 100644 --- a/main/locale/pot/LC_MESSAGES/CommandGuide/llvm-cov.pot +++ b/main/locale/pot/LC_MESSAGES/CommandGuide/llvm-cov.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: LLVM main\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-10-13 08:36+0000\n" +"POT-Creation-Date: 2026-03-09 08:48+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -23,9 +23,9 @@ msgstr "" #: ../../../CommandGuide/llvm-cov.rst:7 ../../../CommandGuide/llvm-cov.rst:39 #: ../../../CommandGuide/llvm-cov.rst:189 -#: ../../../CommandGuide/llvm-cov.rst:396 -#: ../../../CommandGuide/llvm-cov.rst:491 -#: ../../../CommandGuide/llvm-cov.rst:587 +#: ../../../CommandGuide/llvm-cov.rst:400 +#: ../../../CommandGuide/llvm-cov.rst:495 +#: ../../../CommandGuide/llvm-cov.rst:591 msgid "SYNOPSIS" msgstr "" @@ -35,9 +35,9 @@ msgstr "" #: ../../../CommandGuide/llvm-cov.rst:12 ../../../CommandGuide/llvm-cov.rst:44 #: ../../../CommandGuide/llvm-cov.rst:194 -#: ../../../CommandGuide/llvm-cov.rst:401 -#: ../../../CommandGuide/llvm-cov.rst:496 -#: ../../../CommandGuide/llvm-cov.rst:592 +#: ../../../CommandGuide/llvm-cov.rst:405 +#: ../../../CommandGuide/llvm-cov.rst:500 +#: ../../../CommandGuide/llvm-cov.rst:596 msgid "DESCRIPTION" msgstr "" @@ -147,8 +147,8 @@ msgid "" msgstr "" #: ../../../CommandGuide/llvm-cov.rst:90 ../../../CommandGuide/llvm-cov.rst:218 -#: ../../../CommandGuide/llvm-cov.rst:418 -#: ../../../CommandGuide/llvm-cov.rst:513 +#: ../../../CommandGuide/llvm-cov.rst:422 +#: ../../../CommandGuide/llvm-cov.rst:517 msgid "OPTIONS" msgstr "" @@ -272,7 +272,7 @@ msgid "" msgstr "" #: ../../../CommandGuide/llvm-cov.rst:200 -#: ../../../CommandGuide/llvm-cov.rst:407 +#: ../../../CommandGuide/llvm-cov.rst:411 msgid "" "*BIN* may be an executable, object file, dynamic library, or archive (thin " "or otherwise)." @@ -350,7 +350,7 @@ msgid "" msgstr "" #: ../../../CommandGuide/llvm-cov.rst:264 -#: ../../../CommandGuide/llvm-cov.rst:422 +#: ../../../CommandGuide/llvm-cov.rst:426 msgid "Enable or disable color output. By default this is autodetected." msgstr "" @@ -381,8 +381,8 @@ msgid "" msgstr "" #: ../../../CommandGuide/llvm-cov.rst:290 -#: ../../../CommandGuide/llvm-cov.rst:453 -#: ../../../CommandGuide/llvm-cov.rst:537 +#: ../../../CommandGuide/llvm-cov.rst:457 +#: ../../../CommandGuide/llvm-cov.rst:541 msgid "" "Skip source code files with file paths that match the given regular " "expression." @@ -390,17 +390,23 @@ msgstr "" #: ../../../CommandGuide/llvm-cov.rst:294 msgid "" +"Only include source code files with file paths that match the given regular " +"expression." +msgstr "" + +#: ../../../CommandGuide/llvm-cov.rst:298 +msgid "" "Use the specified output format. The supported formats are: \"text\", " "\"html\"." msgstr "" -#: ../../../CommandGuide/llvm-cov.rst:298 +#: ../../../CommandGuide/llvm-cov.rst:302 msgid "" "Replace tabs with spaces when preparing reports. Currently, this " "is only supported for the html format." msgstr "" -#: ../../../CommandGuide/llvm-cov.rst:303 +#: ../../../CommandGuide/llvm-cov.rst:307 msgid "" "Specify a directory to write coverage reports into. If the directory does " "not exist, it is created. When used in function view mode (i.e when -name or " @@ -409,7 +415,7 @@ msgid "" "file is written to PATH/REL_PATH_TO_FILE.EXTENSION." msgstr "" -#: ../../../CommandGuide/llvm-cov.rst:311 +#: ../../../CommandGuide/llvm-cov.rst:315 msgid "" "Specify a symbol demangler. This can be used to make reports more human-" "readable. This option can be specified multiple times to supply arguments to " @@ -418,47 +424,47 @@ msgid "" "and write a newline-separated list of the same length to stdout." msgstr "" -#: ../../../CommandGuide/llvm-cov.rst:319 +#: ../../../CommandGuide/llvm-cov.rst:323 msgid "" "Use N threads to write file reports (only applicable when -output-dir is " "specified). When N=0, llvm-cov auto-detects an appropriate number of threads " "to use. This is the default." msgstr "" -#: ../../../CommandGuide/llvm-cov.rst:325 -#: ../../../CommandGuide/llvm-cov.rst:457 -#: ../../../CommandGuide/llvm-cov.rst:554 +#: ../../../CommandGuide/llvm-cov.rst:329 +#: ../../../CommandGuide/llvm-cov.rst:461 +#: ../../../CommandGuide/llvm-cov.rst:558 msgid "" "Directory used as a base for relative coverage mapping paths. Only " "applicable when binaries have been compiled with one of `-fcoverage-prefix-" "map` `-fcoverage-compilation-dir`, or `-ffile-compilation-dir`." msgstr "" -#: ../../../CommandGuide/llvm-cov.rst:331 +#: ../../../CommandGuide/llvm-cov.rst:335 msgid "" "Show code coverage only for functions with line coverage greater than the " "given threshold." msgstr "" -#: ../../../CommandGuide/llvm-cov.rst:336 +#: ../../../CommandGuide/llvm-cov.rst:340 msgid "" "Show code coverage only for functions with line coverage less than the given " "threshold." msgstr "" -#: ../../../CommandGuide/llvm-cov.rst:341 +#: ../../../CommandGuide/llvm-cov.rst:345 msgid "" "Show code coverage only for functions with region coverage greater than the " "given threshold." msgstr "" -#: ../../../CommandGuide/llvm-cov.rst:346 +#: ../../../CommandGuide/llvm-cov.rst:350 msgid "" "Show code coverage only for functions with region coverage less than the " "given threshold." msgstr "" -#: ../../../CommandGuide/llvm-cov.rst:351 +#: ../../../CommandGuide/llvm-cov.rst:355 msgid "" "Map the paths in the coverage data to local source file paths. This allows " "you to generate the coverage data on one machine, and then use llvm-cov on a " @@ -470,7 +476,7 @@ msgid "" "first mapping encountered is used." msgstr "" -#: ../../../CommandGuide/llvm-cov.rst:361 +#: ../../../CommandGuide/llvm-cov.rst:365 msgid "" "Set high and low watermarks for coverage in html format output. This allows " "you to set the high and low watermark of coverage as desired, green when " @@ -478,7 +484,7 @@ msgid "" "and low should be between 0-100 and high > low." msgstr "" -#: ../../../CommandGuide/llvm-cov.rst:368 +#: ../../../CommandGuide/llvm-cov.rst:372 msgid "" "Use debuginfod to look up coverage mapping for binary IDs present in the " "profile but not in any object given on the command line. Defaults to true if " @@ -486,45 +492,45 @@ msgid "" "variable." msgstr "" -#: ../../../CommandGuide/llvm-cov.rst:375 +#: ../../../CommandGuide/llvm-cov.rst:379 msgid "" "Provides local directories to search for objects corresponding to binary IDs " "in the profile (as with debuginfod). Defaults to system build ID directories." msgstr "" -#: ../../../CommandGuide/llvm-cov.rst:380 -#: ../../../CommandGuide/llvm-cov.rst:475 -#: ../../../CommandGuide/llvm-cov.rst:572 +#: ../../../CommandGuide/llvm-cov.rst:384 +#: ../../../CommandGuide/llvm-cov.rst:479 +#: ../../../CommandGuide/llvm-cov.rst:576 msgid "" "Fail if an object file cannot be found for a binary ID present in the " "profile, neither on the command line nor via binary ID lookup." msgstr "" -#: ../../../CommandGuide/llvm-cov.rst:385 -#: ../../../CommandGuide/llvm-cov.rst:480 +#: ../../../CommandGuide/llvm-cov.rst:389 +#: ../../../CommandGuide/llvm-cov.rst:484 msgid "" "Display the baseline coverage of the binaries with all zero execution " "counts. Mutually exclusive with -instr-profile." msgstr "" -#: ../../../CommandGuide/llvm-cov.rst:393 +#: ../../../CommandGuide/llvm-cov.rst:397 msgid "REPORT COMMAND" msgstr "" -#: ../../../CommandGuide/llvm-cov.rst:398 +#: ../../../CommandGuide/llvm-cov.rst:402 msgid "" ":program:`llvm-cov report` [*options*] -instr-profile *PROFILE* [*BIN*] [*-" "object BIN*]... [*-sources*] [*SOURCE*]..." msgstr "" -#: ../../../CommandGuide/llvm-cov.rst:403 +#: ../../../CommandGuide/llvm-cov.rst:407 msgid "" "The :program:`llvm-cov report` command displays a summary of the coverage of " "the binaries *BIN*... using the profile data *PROFILE*. It can optionally be " "filtered to only show the coverage for the files listed in *SOURCE*...." msgstr "" -#: ../../../CommandGuide/llvm-cov.rst:410 +#: ../../../CommandGuide/llvm-cov.rst:414 msgid "" "If no source files are provided, a summary line is printed for each file in " "the coverage data. If any files are provided, summaries can be shown for " @@ -532,15 +538,15 @@ msgid "" "enabled." msgstr "" -#: ../../../CommandGuide/llvm-cov.rst:414 -#: ../../../CommandGuide/llvm-cov.rst:509 +#: ../../../CommandGuide/llvm-cov.rst:418 +#: ../../../CommandGuide/llvm-cov.rst:513 msgid "" "For information on compiling programs for coverage and generating profile " "data, see :ref:`llvm-cov-show`." msgstr "" -#: ../../../CommandGuide/llvm-cov.rst:426 -#: ../../../CommandGuide/llvm-cov.rst:517 +#: ../../../CommandGuide/llvm-cov.rst:430 +#: ../../../CommandGuide/llvm-cov.rst:521 msgid "" "If the covered binary is a universal binary, select the architecture to use. " "It is an error to specify an architecture that is not included in the " @@ -548,28 +554,28 @@ msgid "" "universal binary." msgstr "" -#: ../../../CommandGuide/llvm-cov.rst:433 +#: ../../../CommandGuide/llvm-cov.rst:437 msgid "Show statistics for all regions. Defaults to true." msgstr "" -#: ../../../CommandGuide/llvm-cov.rst:437 +#: ../../../CommandGuide/llvm-cov.rst:441 msgid "Show statistics for all branch conditions. Defaults to true." msgstr "" -#: ../../../CommandGuide/llvm-cov.rst:441 +#: ../../../CommandGuide/llvm-cov.rst:445 msgid "Show MC/DC statistics. Defaults to false." msgstr "" -#: ../../../CommandGuide/llvm-cov.rst:445 +#: ../../../CommandGuide/llvm-cov.rst:449 msgid "Show coverage summaries for each function. Defaults to false." msgstr "" -#: ../../../CommandGuide/llvm-cov.rst:449 +#: ../../../CommandGuide/llvm-cov.rst:453 msgid "Show statistics for all function instantiations. Defaults to false." msgstr "" -#: ../../../CommandGuide/llvm-cov.rst:463 -#: ../../../CommandGuide/llvm-cov.rst:560 +#: ../../../CommandGuide/llvm-cov.rst:467 +#: ../../../CommandGuide/llvm-cov.rst:564 msgid "" "Attempt to look up coverage mapping from objects using debuginfod. This is " "attempted by default for binary IDs present in the profile but not provided " @@ -577,31 +583,31 @@ msgid "" "DEBUGINFOD_URLS." msgstr "" -#: ../../../CommandGuide/llvm-cov.rst:470 -#: ../../../CommandGuide/llvm-cov.rst:567 +#: ../../../CommandGuide/llvm-cov.rst:474 +#: ../../../CommandGuide/llvm-cov.rst:571 msgid "" "Provides a directory to search for objects corresponding to binary IDs in " "the profile." msgstr "" -#: ../../../CommandGuide/llvm-cov.rst:488 +#: ../../../CommandGuide/llvm-cov.rst:492 msgid "EXPORT COMMAND" msgstr "" -#: ../../../CommandGuide/llvm-cov.rst:493 +#: ../../../CommandGuide/llvm-cov.rst:497 msgid "" ":program:`llvm-cov export` [*options*] -instr-profile *PROFILE* [*BIN*] [*-" "object BIN*]... [*-sources*] [*SOURCE*]..." msgstr "" -#: ../../../CommandGuide/llvm-cov.rst:498 +#: ../../../CommandGuide/llvm-cov.rst:502 msgid "" "The :program:`llvm-cov export` command exports coverage data of the binaries " "*BIN*... using the profile data *PROFILE* in either JSON or lcov trace file " "format." msgstr "" -#: ../../../CommandGuide/llvm-cov.rst:502 +#: ../../../CommandGuide/llvm-cov.rst:506 msgid "" "When exporting JSON, the regions, functions, branches, expansions, and " "summaries of the coverage data will be exported. When exporting an lcov " @@ -609,19 +615,19 @@ msgid "" "exported." msgstr "" -#: ../../../CommandGuide/llvm-cov.rst:506 +#: ../../../CommandGuide/llvm-cov.rst:510 msgid "" "The exported data can optionally be filtered to only export the coverage for " "the files listed in *SOURCE*...." msgstr "" -#: ../../../CommandGuide/llvm-cov.rst:524 +#: ../../../CommandGuide/llvm-cov.rst:528 msgid "" "Use the specified output format. The supported formats are: \"text\" (JSON), " "\"lcov\"." msgstr "" -#: ../../../CommandGuide/llvm-cov.rst:529 +#: ../../../CommandGuide/llvm-cov.rst:533 msgid "" "Export only summary information for each file in the coverage data. This " "mode will not export coverage information for smaller units such as " @@ -630,40 +636,40 @@ msgid "" "presented in JSON or lcov format rather than text." msgstr "" -#: ../../../CommandGuide/llvm-cov.rst:541 +#: ../../../CommandGuide/llvm-cov.rst:545 msgid "Skip exporting macro expansion coverage data." msgstr "" -#: ../../../CommandGuide/llvm-cov.rst:545 +#: ../../../CommandGuide/llvm-cov.rst:549 msgid "Skip exporting per-function coverage data." msgstr "" -#: ../../../CommandGuide/llvm-cov.rst:549 +#: ../../../CommandGuide/llvm-cov.rst:553 msgid "" "Use N threads to export coverage data. When N=0, llvm-cov auto-detects an " "appropriate number of threads to use. This is the default." msgstr "" -#: ../../../CommandGuide/llvm-cov.rst:577 +#: ../../../CommandGuide/llvm-cov.rst:581 msgid "" "Export the baseline coverage of the binaries with all zero execution counts. " "Mutually exclusive with -instr-profile." msgstr "" -#: ../../../CommandGuide/llvm-cov.rst:581 +#: ../../../CommandGuide/llvm-cov.rst:585 msgid "CONVERT-FOR-TESTING COMMAND" msgstr "" -#: ../../../CommandGuide/llvm-cov.rst:584 +#: ../../../CommandGuide/llvm-cov.rst:588 msgid "" "This command is for the LLVM developers who are working on ``llvm-cov`` only." msgstr "" -#: ../../../CommandGuide/llvm-cov.rst:589 +#: ../../../CommandGuide/llvm-cov.rst:593 msgid ":program:`llvm-cov convert-for-testing` *BIN* -o *OUT*" msgstr "" -#: ../../../CommandGuide/llvm-cov.rst:594 +#: ../../../CommandGuide/llvm-cov.rst:598 msgid "" "The :program:`llvm-cov convert-for-testing` command serves the purpose of " "testing `llvm-cov` itself. It can extract all code coverage data from the " @@ -671,7 +677,7 @@ msgid "" "output file typically bears the :program:`.covmapping` extension." msgstr "" -#: ../../../CommandGuide/llvm-cov.rst:599 +#: ../../../CommandGuide/llvm-cov.rst:603 msgid "" "The :program:`.covmapping` files can be read back by ``llvm-cov`` just as " "ordinary binary files." diff --git a/main/locale/pot/LC_MESSAGES/CommandGuide/llvm-dwarfdump.pot b/main/locale/pot/LC_MESSAGES/CommandGuide/llvm-dwarfdump.pot index f98d2f1e093..2a119880bf5 100644 --- a/main/locale/pot/LC_MESSAGES/CommandGuide/llvm-dwarfdump.pot +++ b/main/locale/pot/LC_MESSAGES/CommandGuide/llvm-dwarfdump.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: LLVM main\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-10 08:42+0000\n" +"POT-Creation-Date: 2026-03-09 08:48+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -244,14 +244,26 @@ msgid "" msgstr "" #: ../../../CommandGuide/llvm-dwarfdump.rst:198 -msgid "Read command-line options from ``." +msgid "" +"Show per-variable coverage metrics. The output format is described in the " +"section below (:ref:`variable-coverage-format`)." msgstr "" #: ../../../CommandGuide/llvm-dwarfdump.rst:203 +msgid "" +"Use with :option:`--show-variable-coverage` to average variable coverage " +"across inlined subroutine instances instead of printing them separately." +msgstr "" + +#: ../../../CommandGuide/llvm-dwarfdump.rst:209 +msgid "Read command-line options from ``." +msgstr "" + +#: ../../../CommandGuide/llvm-dwarfdump.rst:214 msgid "FORMAT OF STATISTICS OUTPUT" msgstr "" -#: ../../../CommandGuide/llvm-dwarfdump.rst:205 +#: ../../../CommandGuide/llvm-dwarfdump.rst:216 msgid "" "The :option:`--statistics` option generates single-line JSON output " "representing quality metrics of the processed debug info. These metrics are " @@ -259,69 +271,119 @@ msgid "" "the effect that a change to the compiler has on the debug info quality." msgstr "" -#: ../../../CommandGuide/llvm-dwarfdump.rst:210 +#: ../../../CommandGuide/llvm-dwarfdump.rst:221 msgid "" "The output is formatted as key-value pairs. The first pair contains a " "version number. The following naming scheme is used for the keys:" msgstr "" -#: ../../../CommandGuide/llvm-dwarfdump.rst:213 +#: ../../../CommandGuide/llvm-dwarfdump.rst:224 msgid "`variables` ==> local variables and parameters" msgstr "" -#: ../../../CommandGuide/llvm-dwarfdump.rst:214 +#: ../../../CommandGuide/llvm-dwarfdump.rst:225 msgid "`local vars` ==> local variables" msgstr "" -#: ../../../CommandGuide/llvm-dwarfdump.rst:215 +#: ../../../CommandGuide/llvm-dwarfdump.rst:226 msgid "`params` ==> formal parameters" msgstr "" -#: ../../../CommandGuide/llvm-dwarfdump.rst:217 +#: ../../../CommandGuide/llvm-dwarfdump.rst:228 msgid "For aggregated values, the following keys are used:" msgstr "" -#: ../../../CommandGuide/llvm-dwarfdump.rst:219 +#: ../../../CommandGuide/llvm-dwarfdump.rst:230 msgid "`sum_of_all_variables(...)` ==> the sum applied to all variables" msgstr "" -#: ../../../CommandGuide/llvm-dwarfdump.rst:220 +#: ../../../CommandGuide/llvm-dwarfdump.rst:231 msgid "`#bytes` ==> the number of bytes" msgstr "" -#: ../../../CommandGuide/llvm-dwarfdump.rst:221 +#: ../../../CommandGuide/llvm-dwarfdump.rst:232 msgid "" "`#variables - entry values ...` ==> the number of variables excluding the " "entry values etc." msgstr "" -#: ../../../CommandGuide/llvm-dwarfdump.rst:227 +#: ../../../CommandGuide/llvm-dwarfdump.rst:238 msgid "FORMAT OF VERIFY JSON OUTPUT" msgstr "" -#: ../../../CommandGuide/llvm-dwarfdump.rst:229 +#: ../../../CommandGuide/llvm-dwarfdump.rst:240 msgid "" "The format of the JSON output created by the :option:`--verify-json` is::" msgstr "" -#: ../../../CommandGuide/llvm-dwarfdump.rst:239 +#: ../../../CommandGuide/llvm-dwarfdump.rst:250 msgid "The following is generated if there are no errors reported::" msgstr "" -#: ../../../CommandGuide/llvm-dwarfdump.rst:247 +#: ../../../CommandGuide/llvm-dwarfdump.rst:260 +msgid "FORMAT OF VARIABLE COVERAGE OUTPUT" +msgstr "" + +#: ../../../CommandGuide/llvm-dwarfdump.rst:262 +msgid "" +"The :option:`--show-variable-coverage` option differs from :option:`--" +"statistics` by printing per-variable debug info coverage metrics based on " +"the number of source lines covered instead of the number of instruction " +"bytes. Compared to counting instruction bytes, this is more stable across " +"compilations and better reflects the debugging experience. The output is a " +"tab-separated table containing the following columns:" +msgstr "" + +#: ../../../CommandGuide/llvm-dwarfdump.rst:269 +msgid "`Function` ==> Name of the function the variable was found in" +msgstr "" + +#: ../../../CommandGuide/llvm-dwarfdump.rst:270 +msgid "" +"`InstanceCount` (when :option:`--combine-inline-variable-instances` is " +"specified) ==> Number of instances of the function; this is 1 for functions " +"that have not been inlined, and n+1 for functions that have been inlined n " +"times" +msgstr "" + +#: ../../../CommandGuide/llvm-dwarfdump.rst:274 +msgid "" +"`InlChain` (when :option:`--combine-inline-variable-instances` is not " +"specified) ==> Chain of call sites (file and line number) that the function " +"has been inlined into; this will be empty if the function has not been " +"inlined" +msgstr "" + +#: ../../../CommandGuide/llvm-dwarfdump.rst:278 +msgid "`Variable` ==> Name of the variable" +msgstr "" + +#: ../../../CommandGuide/llvm-dwarfdump.rst:279 +msgid "" +"`Decl` ==> Source location (file and line number) of the variable's " +"declaration" +msgstr "" + +#: ../../../CommandGuide/llvm-dwarfdump.rst:281 +msgid "" +"`LinesCovered` ==> Number of source lines covered by the variable's debug " +"information in the input file" +msgstr "" + +#: ../../../CommandGuide/llvm-dwarfdump.rst:286 msgid "EXIT STATUS" msgstr "" -#: ../../../CommandGuide/llvm-dwarfdump.rst:249 +#: ../../../CommandGuide/llvm-dwarfdump.rst:288 msgid "" ":program:`llvm-dwarfdump` returns 0 if the input files were parsed and " "dumped successfully. Otherwise, it returns 1." msgstr "" -#: ../../../CommandGuide/llvm-dwarfdump.rst:253 +#: ../../../CommandGuide/llvm-dwarfdump.rst:292 msgid "SEE ALSO" msgstr "" -#: ../../../CommandGuide/llvm-dwarfdump.rst:255 +#: ../../../CommandGuide/llvm-dwarfdump.rst:294 msgid ":manpage:`dsymutil(1)`" msgstr "" diff --git a/main/locale/pot/LC_MESSAGES/CommandGuide/llvm-extract.pot b/main/locale/pot/LC_MESSAGES/CommandGuide/llvm-extract.pot index ca9dac1ce4d..2d0f07aa636 100644 --- a/main/locale/pot/LC_MESSAGES/CommandGuide/llvm-extract.pot +++ b/main/locale/pot/LC_MESSAGES/CommandGuide/llvm-extract.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: LLVM main\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-10-13 08:36+0000\n" +"POT-Creation-Date: 2026-03-09 08:48+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -212,5 +212,5 @@ msgid "SEE ALSO" msgstr "" #: ../../../CommandGuide/llvm-extract.rst:110 -msgid ":manpage:`bugpoint(1)`" +msgid ":manpage:`llvm-reduce(1)`" msgstr "" diff --git a/main/locale/pot/LC_MESSAGES/CommandGuide/llvm-objcopy.pot b/main/locale/pot/LC_MESSAGES/CommandGuide/llvm-objcopy.pot index 6a0bd686f82..f6b03f89ea9 100644 --- a/main/locale/pot/LC_MESSAGES/CommandGuide/llvm-objcopy.pot +++ b/main/locale/pot/LC_MESSAGES/CommandGuide/llvm-objcopy.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: LLVM main\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-10-13 08:36+0000\n" +"POT-Creation-Date: 2026-03-09 08:48+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -387,17 +387,23 @@ msgid "" "relocations from the output." msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:256 +#: ../../../CommandGuide/llvm-objcopy.rst:254 +msgid "" +"For WebAssembly objects, remove all custom sections except for those named " +"metadata.code.*." +msgstr "" + +#: ../../../CommandGuide/llvm-objcopy.rst:259 msgid "Remove all debug sections from the output." msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:260 +#: ../../../CommandGuide/llvm-objcopy.rst:263 msgid "" "Remove all symbols named ```` from the output. Can be specified " "multiple times to remove multiple symbols." msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:265 +#: ../../../CommandGuide/llvm-objcopy.rst:268 msgid "" "Remove all symbols whose names appear in the file ````, from the " "output. In the file, each line represents a single symbol name, with leading " @@ -405,13 +411,13 @@ msgid "" "specified multiple times to read names from multiple files." msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:272 +#: ../../../CommandGuide/llvm-objcopy.rst:275 msgid "" "Remove from the output all symbols named ```` that are local or " "undefined and are not required by any relocation." msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:277 +#: ../../../CommandGuide/llvm-objcopy.rst:280 msgid "" "Remove all symbols whose names appear in the file ````, from the " "output, if they are local or undefined and are not required by any " @@ -420,126 +426,126 @@ msgid "" "be specified multiple times to read names from multiple files." msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:285 +#: ../../../CommandGuide/llvm-objcopy.rst:288 msgid "" "Remove from the output all local or undefined symbols that are not required " "by relocations. Also remove all debug sections." msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:290 +#: ../../../CommandGuide/llvm-objcopy.rst:293 msgid "" "Replace the contents of the section ```` with contents from the file " "````. If the section ```` is part of a segment, the new contents " "cannot be larger than the existing section." msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:296 +#: ../../../CommandGuide/llvm-objcopy.rst:299 msgid "Display the version of the :program:`llvm-objcopy` executable." msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:300 +#: ../../../CommandGuide/llvm-objcopy.rst:303 msgid "" "Allow wildcard syntax for symbol-related flags. On by default for section-" "related flags. Incompatible with --regex." msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:303 +#: ../../../CommandGuide/llvm-objcopy.rst:306 msgid "Wildcard syntax allows the following special symbols:" msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:306 +#: ../../../CommandGuide/llvm-objcopy.rst:309 msgid "Character" msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:306 +#: ../../../CommandGuide/llvm-objcopy.rst:309 msgid "Meaning" msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:306 +#: ../../../CommandGuide/llvm-objcopy.rst:309 msgid "Equivalent" msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:308 +#: ../../../CommandGuide/llvm-objcopy.rst:311 msgid "``*``" msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:308 +#: ../../../CommandGuide/llvm-objcopy.rst:311 msgid "Any number of characters" msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:308 +#: ../../../CommandGuide/llvm-objcopy.rst:311 msgid "``.*``" msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:309 +#: ../../../CommandGuide/llvm-objcopy.rst:312 msgid "``?``" msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:309 +#: ../../../CommandGuide/llvm-objcopy.rst:312 msgid "Any single character" msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:309 +#: ../../../CommandGuide/llvm-objcopy.rst:312 msgid "``.``" msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:310 +#: ../../../CommandGuide/llvm-objcopy.rst:313 msgid "``\\``" msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:310 +#: ../../../CommandGuide/llvm-objcopy.rst:313 msgid "Escape the next character" msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:311 +#: ../../../CommandGuide/llvm-objcopy.rst:314 msgid "``[a-z]``" msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:311 +#: ../../../CommandGuide/llvm-objcopy.rst:314 msgid "Character class" msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:312 +#: ../../../CommandGuide/llvm-objcopy.rst:315 msgid "``[!a-z]``, ``[^a-z]``" msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:312 +#: ../../../CommandGuide/llvm-objcopy.rst:315 msgid "Negated character class" msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:312 +#: ../../../CommandGuide/llvm-objcopy.rst:315 msgid "``[^a-z]``" msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:315 +#: ../../../CommandGuide/llvm-objcopy.rst:318 msgid "" "Additionally, starting a wildcard with '!' will prevent a match, even if " "another flag matches. For example ``-w -N '*' -N '!x'`` will strip all " "symbols except for ``x``." msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:319 +#: ../../../CommandGuide/llvm-objcopy.rst:322 msgid "" "The order of wildcards does not matter. For example, ``-w -N '*' -N '!x'`` " "is the same as ``-w -N '!x' -N '*'``." msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:324 +#: ../../../CommandGuide/llvm-objcopy.rst:327 msgid "Read command-line options and commands from response file ``." msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:327 +#: ../../../CommandGuide/llvm-objcopy.rst:330 msgid "ELF-SPECIFIC OPTIONS" msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:329 +#: ../../../CommandGuide/llvm-objcopy.rst:332 msgid "" "The following options are implemented only for ELF objects. If used with " "other objects, :program:`llvm-objcopy` will either emit an error or silently " "ignore them." msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:335 +#: ../../../CommandGuide/llvm-objcopy.rst:338 msgid "" "Add a new symbol called ```` to the output symbol table, in the " "section named ``
``, with value ````. If ``
`` is not " @@ -547,71 +553,71 @@ msgid "" "the symbol properties. Accepted values are:" msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:340 +#: ../../../CommandGuide/llvm-objcopy.rst:343 msgid "`global` = the symbol will have global binding." msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:341 +#: ../../../CommandGuide/llvm-objcopy.rst:344 msgid "`local` = the symbol will have local binding." msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:342 +#: ../../../CommandGuide/llvm-objcopy.rst:345 msgid "`weak` = the symbol will have weak binding." msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:343 +#: ../../../CommandGuide/llvm-objcopy.rst:346 msgid "`default` = the symbol will have default visibility." msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:344 +#: ../../../CommandGuide/llvm-objcopy.rst:347 msgid "`hidden` = the symbol will have hidden visibility." msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:345 +#: ../../../CommandGuide/llvm-objcopy.rst:348 msgid "`protected` = the symbol will have protected visibility." msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:346 +#: ../../../CommandGuide/llvm-objcopy.rst:349 msgid "`file` = the symbol will be an `STT_FILE` symbol." msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:347 +#: ../../../CommandGuide/llvm-objcopy.rst:350 msgid "`section` = the symbol will be an `STT_SECTION` symbol." msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:348 +#: ../../../CommandGuide/llvm-objcopy.rst:351 msgid "`object` = the symbol will be an `STT_OBJECT` symbol." msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:349 +#: ../../../CommandGuide/llvm-objcopy.rst:352 msgid "`function` = the symbol will be an `STT_FUNC` symbol." msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:350 +#: ../../../CommandGuide/llvm-objcopy.rst:353 msgid "`indirect-function` = the symbol will be an `STT_GNU_IFUNC` symbol." msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:352 +#: ../../../CommandGuide/llvm-objcopy.rst:355 msgid "" "Additionally, the following flags are accepted but ignored: `debug`, " "`constructor`, `warning`, `indirect`, `synthetic`, `unique-object`, `before`." msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:355 +#: ../../../CommandGuide/llvm-objcopy.rst:358 msgid "Can be specified multiple times to add multiple symbols." msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:359 +#: ../../../CommandGuide/llvm-objcopy.rst:362 msgid "" "Allow :program:`llvm-objcopy` to remove sections even if it would leave " "invalid section references. Any invalid sh_link fields will be set to zero." msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:364 +#: ../../../CommandGuide/llvm-objcopy.rst:367 msgid "Shift LMA of non-zero-sized segments by ````." msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:368 +#: ../../../CommandGuide/llvm-objcopy.rst:371 msgid "" "Change the address of sections that match ``
`` pattern to the " "specified value, or apply ``+``/``-`` to the current value. Can be " @@ -621,20 +627,20 @@ msgid "" "needs to be of ET_REL type." msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:377 +#: ../../../CommandGuide/llvm-objcopy.rst:380 msgid "" "Add ```` to the program's start address. Can be specified multiple " "times, in which case the values will be applied cumulatively." msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:382 +#: ../../../CommandGuide/llvm-objcopy.rst:385 msgid "" "Compress DWARF debug sections in the output, using the specified format. " "Supported formats are ``zlib`` and ``zstd``. Use ``zlib`` if ```` is " "omitted." msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:387 +#: ../../../CommandGuide/llvm-objcopy.rst:390 msgid "" "Compress or decompress sections matched by ``
`` using the specified " "format. Supported formats are ``zlib`` and ``zstd``. Specify ``none`` for " @@ -643,59 +649,59 @@ msgid "" "within a segment cannot be (de)compressed." msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:395 +#: ../../../CommandGuide/llvm-objcopy.rst:398 msgid "Decompress any compressed DWARF debug sections in the output." msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:399 +#: ../../../CommandGuide/llvm-objcopy.rst:402 msgid "" "Remove local symbols starting with \".L\" not referenced by relocations from " "the output." msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:403 +#: ../../../CommandGuide/llvm-objcopy.rst:406 msgid "Remove all sections that are not DWARF .dwo sections from the output." msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:407 +#: ../../../CommandGuide/llvm-objcopy.rst:410 msgid "Extract the main partition from the output." msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:411 +#: ../../../CommandGuide/llvm-objcopy.rst:414 msgid "Extract the named partition from the output." msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:415 +#: ../../../CommandGuide/llvm-objcopy.rst:418 msgid "" "For binary outputs, fill the gaps between sections with ```` instead " "of zero. The value must be an unsigned 8-bit integer." msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:420 +#: ../../../CommandGuide/llvm-objcopy.rst:423 msgid "" "Read the input as the specified format. See `SUPPORTED FORMATS`_ for a list " "of valid ```` values. If unspecified, :program:`llvm-objcopy` will " "attempt to determine the format automatically." msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:426 +#: ../../../CommandGuide/llvm-objcopy.rst:429 msgid "" "Keep symbols of type `STT_FILE`, even if they would otherwise be stripped." msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:430 +#: ../../../CommandGuide/llvm-objcopy.rst:433 msgid "" "When removing sections from the output, do not remove sections named " "``
``. Can be specified multiple times to keep multiple sections." msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:435 +#: ../../../CommandGuide/llvm-objcopy.rst:438 msgid "" "When removing symbols from the output, do not remove symbols named " "````. Can be specified multiple times to keep multiple symbols." msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:440 +#: ../../../CommandGuide/llvm-objcopy.rst:443 msgid "" "When removing symbols from the output do not remove symbols named in the " "file ````. In the file, each line represents a single symbol, with " @@ -703,43 +709,43 @@ msgid "" "be specified multiple times to read names from multiple files." msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:447 +#: ../../../CommandGuide/llvm-objcopy.rst:450 msgid "" "Mark all symbols with hidden or internal visibility local in the output." msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:451 +#: ../../../CommandGuide/llvm-objcopy.rst:454 msgid "" "Specify the visibility of the symbols automatically created when using " "binary input or :option:`--add-symbol`. Valid options are:" msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:454 +#: ../../../CommandGuide/llvm-objcopy.rst:457 msgid "`default`" msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:455 +#: ../../../CommandGuide/llvm-objcopy.rst:458 msgid "`hidden`" msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:456 +#: ../../../CommandGuide/llvm-objcopy.rst:459 msgid "`internal`" msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:457 +#: ../../../CommandGuide/llvm-objcopy.rst:460 msgid "`protected`" msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:459 +#: ../../../CommandGuide/llvm-objcopy.rst:462 msgid "The default is `default`." msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:463 +#: ../../../CommandGuide/llvm-objcopy.rst:466 msgid "" "When adding note sections, do not verify if the section format is valid." msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:467 +#: ../../../CommandGuide/llvm-objcopy.rst:470 msgid "" "Write the output as the specified format. See `SUPPORTED FORMATS`_ for a " "list of valid ```` values. If unspecified, the output format is " @@ -747,105 +753,105 @@ msgid "" "or the input file's format if that option is also unspecified." msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:474 +#: ../../../CommandGuide/llvm-objcopy.rst:477 msgid "" "For binary outputs, pad the output to the load address ``
`` using a " "value of zero or the value specified by :option:`--gap-fill`." msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:479 +#: ../../../CommandGuide/llvm-objcopy.rst:482 msgid "" "Add ```` to the front of the names of all allocatable sections in " "the output." msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:484 +#: ../../../CommandGuide/llvm-objcopy.rst:487 msgid "Add ```` to the front of every symbol name in the output." msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:488 +#: ../../../CommandGuide/llvm-objcopy.rst:491 msgid "Preserve access and modification timestamps in the output." msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:492 +#: ../../../CommandGuide/llvm-objcopy.rst:495 msgid "" "Remove notes of integer type ```` and name ```` from SHT_NOTE " "sections that are not in a segment. Can be specified multiple times." msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:497 +#: ../../../CommandGuide/llvm-objcopy.rst:500 msgid "" "Rename sections called ```` to ```` in the output, and apply any " "specified ```` values. See :option:`--set-section-flags` for a list of " "supported flags. Can be specified multiple times to rename multiple sections." msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:503 +#: ../../../CommandGuide/llvm-objcopy.rst:506 msgid "" "Set the type of section ``
`` to the integer ````. Can be " "specified multiple times to update multiple sections." msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:508 +#: ../../../CommandGuide/llvm-objcopy.rst:511 msgid "" "Set the start address of the output to ````. Overrides any previously " "specified :option:`--change-start` or :option:`--adjust-start` options." msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:513 +#: ../../../CommandGuide/llvm-objcopy.rst:516 msgid "Change the visibility of a symbol to the specified value." msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:517 +#: ../../../CommandGuide/llvm-objcopy.rst:520 msgid "" "Read a list of symbols from and change their visibility to the " "specified value. Visibility values: default, internal, hidden, protected." msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:522 +#: ../../../CommandGuide/llvm-objcopy.rst:525 msgid "" "Equivalent to running :program:`llvm-objcopy` with :option:`--extract-dwo` " "and ```` as the output file and no other options, and then with :" "option:`--strip-dwo` on the input file." msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:528 +#: ../../../CommandGuide/llvm-objcopy.rst:531 msgid "Remove all DWARF .dwo sections from the output." msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:532 +#: ../../../CommandGuide/llvm-objcopy.rst:535 msgid "" "Remove from the output all non-allocatable sections that are not within " "segments." msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:537 +#: ../../../CommandGuide/llvm-objcopy.rst:540 msgid "" "Remove from the output all section headers and all section data not within " "segments. Note that many tools will not be able to use an object without " "section headers." msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:543 +#: ../../../CommandGuide/llvm-objcopy.rst:546 msgid "" "Equivalent to :option:`--input-target` and :option:`--output-target` for the " "specified format. See `SUPPORTED FORMATS`_ for a list of valid ```` " "values." msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:549 +#: ../../../CommandGuide/llvm-objcopy.rst:552 msgid "" "When adding note sections, verify if the section format is valid. On by " "default." msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:554 +#: ../../../CommandGuide/llvm-objcopy.rst:557 msgid "" "Mark global symbols named ```` as weak symbols in the output. Can be " "specified multiple times to mark multiple symbols as weak." msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:559 +#: ../../../CommandGuide/llvm-objcopy.rst:562 msgid "" "Read a list of names from the file ```` and mark global symbols " "with those names as weak in the output. In the file, each line represents a " @@ -854,31 +860,31 @@ msgid "" "files." msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:566 +#: ../../../CommandGuide/llvm-objcopy.rst:569 msgid "Mark all defined global symbols as weak in the output." msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:569 +#: ../../../CommandGuide/llvm-objcopy.rst:572 msgid "MACH-O-SPECIFIC OPTIONS" msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:573 +#: ../../../CommandGuide/llvm-objcopy.rst:576 msgid "Keep undefined symbols, even if they would otherwise be stripped." msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:576 +#: ../../../CommandGuide/llvm-objcopy.rst:579 msgid "COFF-SPECIFIC OPTIONS" msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:580 +#: ../../../CommandGuide/llvm-objcopy.rst:583 msgid "Set the PE subsystem, and optionally subsystem version." msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:583 +#: ../../../CommandGuide/llvm-objcopy.rst:586 msgid "SUPPORTED FORMATS" msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:585 +#: ../../../CommandGuide/llvm-objcopy.rst:588 msgid "" "The following values are currently supported by :program:`llvm-objcopy` for " "the :option:`--input-target`, :option:`--output-target`, and :option:`--" @@ -886,139 +892,139 @@ msgid "" "all bfdnames." msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:589 +#: ../../../CommandGuide/llvm-objcopy.rst:592 msgid "`binary`" msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:590 +#: ../../../CommandGuide/llvm-objcopy.rst:593 msgid "`ihex`" msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:591 +#: ../../../CommandGuide/llvm-objcopy.rst:594 msgid "`elf32-i386`" msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:592 +#: ../../../CommandGuide/llvm-objcopy.rst:595 msgid "`elf32-x86-64`" msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:593 +#: ../../../CommandGuide/llvm-objcopy.rst:596 msgid "`elf64-x86-64`" msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:594 +#: ../../../CommandGuide/llvm-objcopy.rst:597 msgid "`elf32-iamcu`" msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:595 +#: ../../../CommandGuide/llvm-objcopy.rst:598 msgid "`elf32-littlearm`" msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:596 +#: ../../../CommandGuide/llvm-objcopy.rst:599 msgid "`elf64-aarch64`" msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:597 +#: ../../../CommandGuide/llvm-objcopy.rst:600 msgid "`elf64-littleaarch64`" msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:598 +#: ../../../CommandGuide/llvm-objcopy.rst:601 msgid "`elf32-littleriscv`" msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:599 +#: ../../../CommandGuide/llvm-objcopy.rst:602 msgid "`elf64-littleriscv`" msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:600 +#: ../../../CommandGuide/llvm-objcopy.rst:603 msgid "`elf32-powerpc`" msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:601 +#: ../../../CommandGuide/llvm-objcopy.rst:604 msgid "`elf32-powerpcle`" msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:602 +#: ../../../CommandGuide/llvm-objcopy.rst:605 msgid "`elf64-powerpc`" msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:603 +#: ../../../CommandGuide/llvm-objcopy.rst:606 msgid "`elf64-powerpcle`" msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:604 +#: ../../../CommandGuide/llvm-objcopy.rst:607 msgid "`elf32-bigmips`" msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:605 +#: ../../../CommandGuide/llvm-objcopy.rst:608 msgid "`elf32-ntradbigmips`" msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:606 +#: ../../../CommandGuide/llvm-objcopy.rst:609 msgid "`elf32-ntradlittlemips`" msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:607 +#: ../../../CommandGuide/llvm-objcopy.rst:610 msgid "`elf32-tradbigmips`" msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:608 +#: ../../../CommandGuide/llvm-objcopy.rst:611 msgid "`elf32-tradlittlemips`" msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:609 +#: ../../../CommandGuide/llvm-objcopy.rst:612 msgid "`elf64-tradbigmips`" msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:610 +#: ../../../CommandGuide/llvm-objcopy.rst:613 msgid "`elf64-tradlittlemips`" msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:611 +#: ../../../CommandGuide/llvm-objcopy.rst:614 msgid "`elf32-sparc`" msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:612 +#: ../../../CommandGuide/llvm-objcopy.rst:615 msgid "`elf32-sparcel`" msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:613 +#: ../../../CommandGuide/llvm-objcopy.rst:616 msgid "`elf32-hexagon`" msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:614 +#: ../../../CommandGuide/llvm-objcopy.rst:617 msgid "`elf32-loongarch`" msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:615 +#: ../../../CommandGuide/llvm-objcopy.rst:618 msgid "`elf64-loongarch`" msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:616 +#: ../../../CommandGuide/llvm-objcopy.rst:619 msgid "`elf64-s390`" msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:618 +#: ../../../CommandGuide/llvm-objcopy.rst:621 msgid "" "The following formats are supported by :program:`llvm-objcopy` for the :" "option:`--output-target` only:" msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:621 +#: ../../../CommandGuide/llvm-objcopy.rst:624 msgid "`srec`" msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:623 +#: ../../../CommandGuide/llvm-objcopy.rst:626 msgid "" "Additionally, all targets except `binary`, `ihex`, and `srec` can have `-" "freebsd` as a suffix." msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:627 +#: ../../../CommandGuide/llvm-objcopy.rst:630 msgid "BINARY INPUT AND OUTPUT" msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:629 +#: ../../../CommandGuide/llvm-objcopy.rst:632 msgid "" "If `binary` is used as the value for :option:`--input-target`, the input " "file will be embedded as a data section in an ELF relocatable object, with " @@ -1028,7 +1034,7 @@ msgid "" "the command line with non-alphanumeric characters converted to ``_``." msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:636 +#: ../../../CommandGuide/llvm-objcopy.rst:639 msgid "" "If `binary` is used as the value for :option:`--output-target`, the output " "file will be a raw binary file, containing the memory image of the input " @@ -1036,27 +1042,27 @@ msgid "" "start at the address of the first loadable section in the output." msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:642 +#: ../../../CommandGuide/llvm-objcopy.rst:645 msgid "EXIT STATUS" msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:644 +#: ../../../CommandGuide/llvm-objcopy.rst:647 msgid "" ":program:`llvm-objcopy` exits with a non-zero exit code if there is an " "error. Otherwise, it exits with code 0." msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:648 +#: ../../../CommandGuide/llvm-objcopy.rst:651 msgid "BUGS" msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:650 +#: ../../../CommandGuide/llvm-objcopy.rst:653 msgid "" "To report bugs, please visit ." msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:652 +#: ../../../CommandGuide/llvm-objcopy.rst:655 msgid "" "There is a known issue with :option:`--input-target` and :option:`--target` " "causing only ``binary`` and ``ihex`` formats to have any effect. Other " @@ -1064,10 +1070,10 @@ msgid "" "input format." msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:658 +#: ../../../CommandGuide/llvm-objcopy.rst:661 msgid "SEE ALSO" msgstr "" -#: ../../../CommandGuide/llvm-objcopy.rst:660 +#: ../../../CommandGuide/llvm-objcopy.rst:663 msgid ":manpage:`llvm-strip(1)`" msgstr "" diff --git a/main/locale/pot/LC_MESSAGES/CommandGuide/llvm-objdump.pot b/main/locale/pot/LC_MESSAGES/CommandGuide/llvm-objdump.pot index 76ae901c805..d7b4279af7a 100644 --- a/main/locale/pot/LC_MESSAGES/CommandGuide/llvm-objdump.pot +++ b/main/locale/pot/LC_MESSAGES/CommandGuide/llvm-objdump.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: LLVM main\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-10-13 08:36+0000\n" +"POT-Creation-Date: 2026-03-09 08:48+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -407,24 +407,26 @@ msgid "" msgstr "" #: ../../../CommandGuide/llvm-objdump.rst:287 -msgid "Only supported for AArch64, BPF, PowerPC, and X86." +msgid "" +"Only supported for AArch64, BPF, PowerPC, RISC-V, and X86. Enabled by " +"default for BPF; use ``--no-symbolize-operands`` to disable." msgstr "" -#: ../../../CommandGuide/llvm-objdump.rst:290 +#: ../../../CommandGuide/llvm-objdump.rst:291 msgid "Example:" msgstr "" -#: ../../../CommandGuide/llvm-objdump.rst:290 +#: ../../../CommandGuide/llvm-objdump.rst:291 msgid "" "A non-symbolized branch instruction with a local target and pc-relative " "memory access like" msgstr "" -#: ../../../CommandGuide/llvm-objdump.rst:297 +#: ../../../CommandGuide/llvm-objdump.rst:298 msgid "might become" msgstr "" -#: ../../../CommandGuide/llvm-objdump.rst:307 +#: ../../../CommandGuide/llvm-objdump.rst:308 msgid "" "When using :option:`--symbolize-operands` with bb-address-map and pgo-" "analysis-map, print analyses using the same format as their analysis passes " @@ -432,100 +434,100 @@ msgid "" "relative to the entry block, the same as BFI." msgstr "" -#: ../../../CommandGuide/llvm-objdump.rst:312 +#: ../../../CommandGuide/llvm-objdump.rst:313 msgid "Only works when :option:`--symbolize-operands` is enabled." msgstr "" -#: ../../../CommandGuide/llvm-objdump.rst:316 +#: ../../../CommandGuide/llvm-objdump.rst:317 msgid "" "Target triple to disassemble for, see ``--version`` for available targets." msgstr "" -#: ../../../CommandGuide/llvm-objdump.rst:320 +#: ../../../CommandGuide/llvm-objdump.rst:321 msgid "Ignored for compatibility with GNU objdump." msgstr "" -#: ../../../CommandGuide/llvm-objdump.rst:324 +#: ../../../CommandGuide/llvm-objdump.rst:325 msgid "" "Deprecated. When used with :option:`--disassemble`, choose style of code to " "emit from X86 backend. Supported values are:" msgstr "" -#: ../../../CommandGuide/llvm-objdump.rst:330 +#: ../../../CommandGuide/llvm-objdump.rst:331 msgid "AT&T-style assembly" msgstr "" -#: ../../../CommandGuide/llvm-objdump.rst:334 +#: ../../../CommandGuide/llvm-objdump.rst:335 msgid "Intel-style assembly" msgstr "" -#: ../../../CommandGuide/llvm-objdump.rst:337 +#: ../../../CommandGuide/llvm-objdump.rst:338 msgid "The default disassembly style is **att**." msgstr "" -#: ../../../CommandGuide/llvm-objdump.rst:341 +#: ../../../CommandGuide/llvm-objdump.rst:342 msgid "Do not skip blocks of zeroes when disassembling." msgstr "" -#: ../../../CommandGuide/llvm-objdump.rst:345 +#: ../../../CommandGuide/llvm-objdump.rst:346 msgid "Read command-line options and commands from response file ``." msgstr "" -#: ../../../CommandGuide/llvm-objdump.rst:348 +#: ../../../CommandGuide/llvm-objdump.rst:349 msgid "MACH-O ONLY OPTIONS AND COMMANDS" msgstr "" -#: ../../../CommandGuide/llvm-objdump.rst:352 +#: ../../../CommandGuide/llvm-objdump.rst:353 msgid "" "Specify the architecture to disassemble. see ``--version`` for available " "architectures." msgstr "" -#: ../../../CommandGuide/llvm-objdump.rst:357 +#: ../../../CommandGuide/llvm-objdump.rst:358 msgid "" "Print the offset to each archive member for Mach-O archives (requires :" "option:`--archive-headers`)." msgstr "" -#: ../../../CommandGuide/llvm-objdump.rst:362 +#: ../../../CommandGuide/llvm-objdump.rst:363 msgid "Display binding info" msgstr "" -#: ../../../CommandGuide/llvm-objdump.rst:366 +#: ../../../CommandGuide/llvm-objdump.rst:367 msgid "Display the data in code table." msgstr "" -#: ../../../CommandGuide/llvm-objdump.rst:370 +#: ../../../CommandGuide/llvm-objdump.rst:371 msgid "Disassemble just the specified symbol's instructions." msgstr "" -#: ../../../CommandGuide/llvm-objdump.rst:374 +#: ../../../CommandGuide/llvm-objdump.rst:375 msgid "Print chained fixup information." msgstr "" -#: ../../../CommandGuide/llvm-objdump.rst:378 +#: ../../../CommandGuide/llvm-objdump.rst:379 msgid "" "Print bind and rebase information used by dyld to resolve external " "references in a final linked binary." msgstr "" -#: ../../../CommandGuide/llvm-objdump.rst:383 +#: ../../../CommandGuide/llvm-objdump.rst:384 msgid "Display the shared libraries used for linked files." msgstr "" -#: ../../../CommandGuide/llvm-objdump.rst:387 +#: ../../../CommandGuide/llvm-objdump.rst:388 msgid "Use .dSYM file for debug info." msgstr "" -#: ../../../CommandGuide/llvm-objdump.rst:391 +#: ../../../CommandGuide/llvm-objdump.rst:392 msgid "Display the shared library's ID for dylib files." msgstr "" -#: ../../../CommandGuide/llvm-objdump.rst:395 +#: ../../../CommandGuide/llvm-objdump.rst:396 msgid "Display exported symbols." msgstr "" -#: ../../../CommandGuide/llvm-objdump.rst:399 +#: ../../../CommandGuide/llvm-objdump.rst:400 msgid "" "Print the function starts table for Mach-O objects. Either ``addrs`` " "(default) to print only the addresses of functions, ``names`` to print only " @@ -533,102 +535,102 @@ msgid "" "beside the addresses." msgstr "" -#: ../../../CommandGuide/llvm-objdump.rst:406 +#: ../../../CommandGuide/llvm-objdump.rst:407 msgid "Print line information from debug info if available." msgstr "" -#: ../../../CommandGuide/llvm-objdump.rst:410 +#: ../../../CommandGuide/llvm-objdump.rst:411 msgid "Print the full leading address when disassembling." msgstr "" -#: ../../../CommandGuide/llvm-objdump.rst:414 +#: ../../../CommandGuide/llvm-objdump.rst:415 msgid "Display the indirect symbol table." msgstr "" -#: ../../../CommandGuide/llvm-objdump.rst:418 +#: ../../../CommandGuide/llvm-objdump.rst:419 msgid "Display the info plist section as strings." msgstr "" -#: ../../../CommandGuide/llvm-objdump.rst:422 +#: ../../../CommandGuide/llvm-objdump.rst:423 msgid "Display lazy binding info." msgstr "" -#: ../../../CommandGuide/llvm-objdump.rst:426 +#: ../../../CommandGuide/llvm-objdump.rst:427 msgid "Display the linker optimization hints." msgstr "" -#: ../../../CommandGuide/llvm-objdump.rst:430 +#: ../../../CommandGuide/llvm-objdump.rst:431 msgid "" "Use Mach-O specific object file parser. Commands and other options may " "behave differently when used with ``--macho``." msgstr "" -#: ../../../CommandGuide/llvm-objdump.rst:435 +#: ../../../CommandGuide/llvm-objdump.rst:436 msgid "Do not print any leading headers." msgstr "" -#: ../../../CommandGuide/llvm-objdump.rst:439 +#: ../../../CommandGuide/llvm-objdump.rst:440 msgid "Do not print symbolic operands when disassembling." msgstr "" -#: ../../../CommandGuide/llvm-objdump.rst:443 +#: ../../../CommandGuide/llvm-objdump.rst:444 msgid "" "Display the information for Mach-O objects in non-verbose or numeric form." msgstr "" -#: ../../../CommandGuide/llvm-objdump.rst:447 +#: ../../../CommandGuide/llvm-objdump.rst:448 msgid "Display the Objective-C runtime meta data." msgstr "" -#: ../../../CommandGuide/llvm-objdump.rst:451 +#: ../../../CommandGuide/llvm-objdump.rst:452 msgid "Display only the first format specific file header." msgstr "" -#: ../../../CommandGuide/llvm-objdump.rst:455 +#: ../../../CommandGuide/llvm-objdump.rst:456 msgid "Display rebasing information." msgstr "" -#: ../../../CommandGuide/llvm-objdump.rst:459 +#: ../../../CommandGuide/llvm-objdump.rst:460 msgid "Display runtime search paths for the binary." msgstr "" -#: ../../../CommandGuide/llvm-objdump.rst:463 +#: ../../../CommandGuide/llvm-objdump.rst:464 msgid "Display universal headers." msgstr "" -#: ../../../CommandGuide/llvm-objdump.rst:467 +#: ../../../CommandGuide/llvm-objdump.rst:468 msgid "Display weak binding information." msgstr "" -#: ../../../CommandGuide/llvm-objdump.rst:470 +#: ../../../CommandGuide/llvm-objdump.rst:471 msgid "XCOFF ONLY OPTIONS AND COMMANDS" msgstr "" -#: ../../../CommandGuide/llvm-objdump.rst:474 +#: ../../../CommandGuide/llvm-objdump.rst:475 msgid "Add symbol description to disassembly output." msgstr "" -#: ../../../CommandGuide/llvm-objdump.rst:478 +#: ../../../CommandGuide/llvm-objdump.rst:479 msgid "" "Decode traceback table in disassembly output. Implies :option:`--" "disassemble`." msgstr "" -#: ../../../CommandGuide/llvm-objdump.rst:481 +#: ../../../CommandGuide/llvm-objdump.rst:482 msgid "BUGS" msgstr "" -#: ../../../CommandGuide/llvm-objdump.rst:483 +#: ../../../CommandGuide/llvm-objdump.rst:484 msgid "" "To report bugs, please visit ." msgstr "" -#: ../../../CommandGuide/llvm-objdump.rst:486 +#: ../../../CommandGuide/llvm-objdump.rst:487 msgid "SEE ALSO" msgstr "" -#: ../../../CommandGuide/llvm-objdump.rst:488 +#: ../../../CommandGuide/llvm-objdump.rst:489 msgid "" ":manpage:`llvm-nm(1)`, :manpage:`llvm-otool(1)`, :manpage:`llvm-" "readelf(1)`, :manpage:`llvm-readobj(1)`" diff --git a/main/locale/pot/LC_MESSAGES/CommandGuide/llvm-readelf.pot b/main/locale/pot/LC_MESSAGES/CommandGuide/llvm-readelf.pot index 91c6962ad3a..55a48eff685 100644 --- a/main/locale/pot/LC_MESSAGES/CommandGuide/llvm-readelf.pot +++ b/main/locale/pot/LC_MESSAGES/CommandGuide/llvm-readelf.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: LLVM main\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-10-13 08:36+0000\n" +"POT-Creation-Date: 2026-03-09 08:48+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -50,15 +50,15 @@ msgid "OPTIONS" msgstr "" #: ../../../CommandGuide/llvm-readelf.rst:25 +msgid "Display the address-significance table." +msgstr "" + +#: ../../../CommandGuide/llvm-readelf.rst:29 msgid "" "Equivalent to specifying all the main display options relevant to the file " "format." msgstr "" -#: ../../../CommandGuide/llvm-readelf.rst:30 -msgid "Display the address-significance table." -msgstr "" - #: ../../../CommandGuide/llvm-readelf.rst:34 msgid "" "Display architecture-specific information, e.g. the ARM attributes section " @@ -74,43 +74,48 @@ msgstr "" #: ../../../CommandGuide/llvm-readelf.rst:43 msgid "" -"Dump decompressed section content when used with ``-x`` or ``-p``. If the " -"section(s) are not compressed, they are displayed as is." -msgstr "" - -#: ../../../CommandGuide/llvm-readelf.rst:48 -msgid "Display demangled symbol names in the output." +"Display the call graph section entries i.e. for each function its " +"identifying information, each of its direct callees' information and for " +"each indirect callee a 64-bit number representing the callee's function " +"signature. This information can be used to reconstruct the program call " +"graph." msgstr "" -#: ../../../CommandGuide/llvm-readelf.rst:52 -msgid "Display the dependent libraries section." +#: ../../../CommandGuide/llvm-readelf.rst:51 +msgid "Display the callgraph profile section." msgstr "" -#: ../../../CommandGuide/llvm-readelf.rst:56 -msgid "Display the dynamic relocation entries." +#: ../../../CommandGuide/llvm-readelf.rst:55 +msgid "" +"Dump decompressed section content when used with ``-x`` or ``-p``. If the " +"section(s) are not compressed, they are displayed as is." msgstr "" #: ../../../CommandGuide/llvm-readelf.rst:60 -msgid "Display the dynamic symbol table." +msgid "Display demangled symbol names in the output." msgstr "" #: ../../../CommandGuide/llvm-readelf.rst:64 -msgid "Display the dynamic table." +msgid "Display the dependent libraries section." msgstr "" #: ../../../CommandGuide/llvm-readelf.rst:68 -msgid "Display the callgraph profile section." +msgid "Display the dynamic table." msgstr "" #: ../../../CommandGuide/llvm-readelf.rst:72 -msgid "Display a bucket list histogram for dynamic symbol hash tables." +msgid "Display the dynamic relocation entries." msgstr "" #: ../../../CommandGuide/llvm-readelf.rst:76 -msgid "Display the linker options section." +msgid "Display the dynamic symbol table." msgstr "" #: ../../../CommandGuide/llvm-readelf.rst:80 +msgid "Display the linker options section." +msgstr "" + +#: ../../../CommandGuide/llvm-readelf.rst:84 msgid "" "Format ELF information in the specified style. Valid options are ``LLVM``, " "``GNU``, and ``JSON``. ``LLVM`` output is an expanded and structured format. " @@ -118,12 +123,8 @@ msgid "" "output. ``JSON`` is JSON formatted output intended for machine consumption." msgstr "" -#: ../../../CommandGuide/llvm-readelf.rst:87 -msgid "Display extra information (section name) when showing symbols." -msgstr "" - #: ../../../CommandGuide/llvm-readelf.rst:91 -msgid "Display section groups." +msgid "Display extra information (section name) when showing symbols." msgstr "" #: ../../../CommandGuide/llvm-readelf.rst:95 @@ -165,44 +166,44 @@ msgid "" msgstr "" #: ../../../CommandGuide/llvm-readelf.rst:130 +msgid "Display a bucket list histogram for dynamic symbol hash tables." +msgstr "" + +#: ../../../CommandGuide/llvm-readelf.rst:134 msgid "" "Display information about memory tagging present in the binary. This " "includes various memtag-specific dynamic entries, decoded global descriptor " "sections, and decoded Android-specific ELF notes." msgstr "" -#: ../../../CommandGuide/llvm-readelf.rst:136 +#: ../../../CommandGuide/llvm-readelf.rst:140 msgid "Display the needed libraries." msgstr "" -#: ../../../CommandGuide/llvm-readelf.rst:140 +#: ../../../CommandGuide/llvm-readelf.rst:144 msgid "Do not display demangled symbol names in the output. On by default." msgstr "" -#: ../../../CommandGuide/llvm-readelf.rst:144 +#: ../../../CommandGuide/llvm-readelf.rst:148 msgid "Display all notes." msgstr "" -#: ../../../CommandGuide/llvm-readelf.rst:148 +#: ../../../CommandGuide/llvm-readelf.rst:152 msgid "Display list of HIP offload bundles." msgstr "" -#: ../../../CommandGuide/llvm-readelf.rst:152 +#: ../../../CommandGuide/llvm-readelf.rst:156 msgid "" "When used with :option:`--elf-output-style`, JSON output will be formatted " "in a more readable format." msgstr "" -#: ../../../CommandGuide/llvm-readelf.rst:157 -msgid "Display the program headers." -msgstr "" - #: ../../../CommandGuide/llvm-readelf.rst:161 -msgid "Display the relocation entries in the file." +msgid "Display the program headers." msgstr "" #: ../../../CommandGuide/llvm-readelf.rst:165 -msgid "Display all sections." +msgid "Display the relocation entries in the file." msgstr "" #: ../../../CommandGuide/llvm-readelf.rst:169 @@ -217,81 +218,89 @@ msgid "" msgstr "" #: ../../../CommandGuide/llvm-readelf.rst:178 -msgid "Display the section to segment mapping." +msgid "Display section groups." msgstr "" #: ../../../CommandGuide/llvm-readelf.rst:182 +msgid "Display the section to segment mapping." +msgstr "" + +#: ../../../CommandGuide/llvm-readelf.rst:186 msgid "" "When used with :option:`--sections`, display relocations for each section " "shown. This option has no effect for GNU style output." msgstr "" -#: ../../../CommandGuide/llvm-readelf.rst:187 +#: ../../../CommandGuide/llvm-readelf.rst:191 +msgid "Display all sections." +msgstr "" + +#: ../../../CommandGuide/llvm-readelf.rst:195 msgid "" "When used with :option:`--sections`, display symbols for each section shown. " "This option has no effect for GNU style output." msgstr "" -#: ../../../CommandGuide/llvm-readelf.rst:192 +#: ../../../CommandGuide/llvm-readelf.rst:200 msgid "Display contents of the stackmap section." msgstr "" -#: ../../../CommandGuide/llvm-readelf.rst:196 +#: ../../../CommandGuide/llvm-readelf.rst:204 msgid "" "Display the contents of the stack sizes section(s), i.e. pairs of function " "names and the size of their stack frames. Currently only implemented for GNU " "style output." msgstr "" -#: ../../../CommandGuide/llvm-readelf.rst:202 +#: ../../../CommandGuide/llvm-readelf.rst:210 msgid "" "Display the specified section(s) as a list of strings. ``section`` may be a " "section index or section name." msgstr "" -#: ../../../CommandGuide/llvm-readelf.rst:207 +#: ../../../CommandGuide/llvm-readelf.rst:215 msgid "" "Display the symbol table. Also display the dynamic symbol table when using " "GNU output style for ELF." msgstr "" -#: ../../../CommandGuide/llvm-readelf.rst:211 +#: ../../../CommandGuide/llvm-readelf.rst:219 msgid "Display unwind information." msgstr "" -#: ../../../CommandGuide/llvm-readelf.rst:215 +#: ../../../CommandGuide/llvm-readelf.rst:223 msgid "Display the version of the :program:`llvm-readelf` executable." msgstr "" -#: ../../../CommandGuide/llvm-readelf.rst:219 +#: ../../../CommandGuide/llvm-readelf.rst:227 msgid "Display version sections." msgstr "" -#: ../../../CommandGuide/llvm-readelf.rst:223 +#: ../../../CommandGuide/llvm-readelf.rst:231 msgid "" "Ignored for GNU readelf compatibility. The output is already similar to when " "using -W with GNU readelf." msgstr "" -#: ../../../CommandGuide/llvm-readelf.rst:227 +#: ../../../CommandGuide/llvm-readelf.rst:235 msgid "Read command-line options from response file ``." msgstr "" -#: ../../../CommandGuide/llvm-readelf.rst:230 +#: ../../../CommandGuide/llvm-readelf.rst:238 msgid "EXIT STATUS" msgstr "" -#: ../../../CommandGuide/llvm-readelf.rst:232 +#: ../../../CommandGuide/llvm-readelf.rst:240 msgid "" ":program:`llvm-readelf` returns 0 under normal operation. It returns a non-" "zero exit code if there were any errors." msgstr "" -#: ../../../CommandGuide/llvm-readelf.rst:236 +#: ../../../CommandGuide/llvm-readelf.rst:244 msgid "SEE ALSO" msgstr "" -#: ../../../CommandGuide/llvm-readelf.rst:238 +#: ../../../CommandGuide/llvm-readelf.rst:246 msgid "" ":manpage:`llvm-nm(1)`, :manpage:`llvm-objdump(1)`, :manpage:`llvm-readobj(1)`" msgstr "" diff --git a/main/locale/pot/LC_MESSAGES/CommandGuide/llvm-readobj.pot b/main/locale/pot/LC_MESSAGES/CommandGuide/llvm-readobj.pot index c91b77178a7..a38ee925e82 100644 --- a/main/locale/pot/LC_MESSAGES/CommandGuide/llvm-readobj.pot +++ b/main/locale/pot/LC_MESSAGES/CommandGuide/llvm-readobj.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: LLVM main\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-10-13 08:36+0000\n" +"POT-Creation-Date: 2026-03-09 08:48+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -103,15 +103,15 @@ msgid "" msgstr "" #: ../../../CommandGuide/llvm-readobj.rst:52 +msgid "Display the address-significance table." +msgstr "" + +#: ../../../CommandGuide/llvm-readobj.rst:56 msgid "" "Equivalent to specifying all the main display options relevant to the file " "format." msgstr "" -#: ../../../CommandGuide/llvm-readobj.rst:57 -msgid "Display the address-significance table." -msgstr "" - #: ../../../CommandGuide/llvm-readobj.rst:61 msgid "" "Dump decompressed section content when used with ``-x`` or ``-p``. If the " @@ -151,156 +151,142 @@ msgid "" msgstr "" #: ../../../CommandGuide/llvm-readobj.rst:94 -msgid "" -"Display information about memory tagging present in the binary. This " -"includes various memtag-specific dynamic entries, decoded global descriptor " -"sections, and decoded Android-specific ELF notes." -msgstr "" - -#: ../../../CommandGuide/llvm-readobj.rst:100 msgid "Display the needed libraries." msgstr "" -#: ../../../CommandGuide/llvm-readobj.rst:104 +#: ../../../CommandGuide/llvm-readobj.rst:98 msgid "" "Do not demangle symbol names in the output. This option is only for ELF and " "XCOFF file formats. The option is enabled by default." msgstr "" -#: ../../../CommandGuide/llvm-readobj.rst:109 +#: ../../../CommandGuide/llvm-readobj.rst:103 msgid "Display list of HIP offload bundles." msgstr "" -#: ../../../CommandGuide/llvm-readobj.rst:113 +#: ../../../CommandGuide/llvm-readobj.rst:107 msgid "Display the relocation entries in the file." msgstr "" -#: ../../../CommandGuide/llvm-readobj.rst:117 -msgid "Display all sections." -msgstr "" - -#: ../../../CommandGuide/llvm-readobj.rst:121 +#: ../../../CommandGuide/llvm-readobj.rst:111 msgid "" "When used with :option:`--sections`, display section data for each section " "shown. This option has no effect for GNU style output." msgstr "" -#: ../../../CommandGuide/llvm-readobj.rst:126 +#: ../../../CommandGuide/llvm-readobj.rst:116 msgid "" "When used with :option:`--sections`, display relocations for each section " "shown. This option has no effect for GNU style output." msgstr "" -#: ../../../CommandGuide/llvm-readobj.rst:131 +#: ../../../CommandGuide/llvm-readobj.rst:121 +msgid "Display all sections." +msgstr "" + +#: ../../../CommandGuide/llvm-readobj.rst:125 msgid "" "When used with :option:`--sections`, display symbols for each section shown. " "This option has no effect for GNU style output." msgstr "" -#: ../../../CommandGuide/llvm-readobj.rst:136 +#: ../../../CommandGuide/llvm-readobj.rst:130 msgid "" "Specify the keys to sort symbols before displaying symtab. Valid values for " "sort_key are ``name`` and ``type``." msgstr "" -#: ../../../CommandGuide/llvm-readobj.rst:140 +#: ../../../CommandGuide/llvm-readobj.rst:134 msgid "Display contents of the stackmap section." msgstr "" -#: ../../../CommandGuide/llvm-readobj.rst:144 +#: ../../../CommandGuide/llvm-readobj.rst:138 msgid "" "Display the specified section(s) as a list of strings. ``section`` may be a " "section index or section name." msgstr "" -#: ../../../CommandGuide/llvm-readobj.rst:149 +#: ../../../CommandGuide/llvm-readobj.rst:143 msgid "Display contents of the string table." msgstr "" -#: ../../../CommandGuide/llvm-readobj.rst:153 +#: ../../../CommandGuide/llvm-readobj.rst:147 msgid "Display the symbol table." msgstr "" -#: ../../../CommandGuide/llvm-readobj.rst:157 +#: ../../../CommandGuide/llvm-readobj.rst:151 msgid "Display unwind information." msgstr "" -#: ../../../CommandGuide/llvm-readobj.rst:161 +#: ../../../CommandGuide/llvm-readobj.rst:155 msgid "Display the version of the :program:`llvm-readobj` executable." msgstr "" -#: ../../../CommandGuide/llvm-readobj.rst:165 +#: ../../../CommandGuide/llvm-readobj.rst:159 msgid "Read command-line options from response file ``." msgstr "" -#: ../../../CommandGuide/llvm-readobj.rst:168 +#: ../../../CommandGuide/llvm-readobj.rst:162 msgid "ELF SPECIFIC OPTIONS" msgstr "" -#: ../../../CommandGuide/llvm-readobj.rst:170 +#: ../../../CommandGuide/llvm-readobj.rst:164 msgid "The following options are implemented only for the ELF file format." msgstr "" -#: ../../../CommandGuide/llvm-readobj.rst:174 +#: ../../../CommandGuide/llvm-readobj.rst:168 msgid "" "Display architecture-specific information, e.g. the ARM attributes section " "on ARM." msgstr "" -#: ../../../CommandGuide/llvm-readobj.rst:178 +#: ../../../CommandGuide/llvm-readobj.rst:172 msgid "" "Display the contents of the basic block address map section(s), which " "contain the address of each function, along with the relative offset of each " "basic block." msgstr "" -#: ../../../CommandGuide/llvm-readobj.rst:181 +#: ../../../CommandGuide/llvm-readobj.rst:175 msgid "" "When pgo analysis maps are present, all analyses are printed as their raw " "value." msgstr "" -#: ../../../CommandGuide/llvm-readobj.rst:186 +#: ../../../CommandGuide/llvm-readobj.rst:180 msgid "" -"When pgo analysis maps are present in the basic block address map " -"section(s), analyses with special formats (i.e. BlockFrequency, " -"BranchProbability, etc) are printed using the same format as their " -"respective analysis pass." +"Display the call graph section entries i.e. for each function its " +"identifying information, each of its direct callees' information and for " +"each indirect callee a 64-bit number representing the callee's function " +"signature. This information can be used to reconstruct the program call " +"graph." msgstr "" -#: ../../../CommandGuide/llvm-readobj.rst:190 -msgid "Requires :option:`--bb-addr-map` to have an effect." +#: ../../../CommandGuide/llvm-readobj.rst:188 +msgid "Display the callgraph profile section." msgstr "" -#: ../../../CommandGuide/llvm-readobj.rst:194 +#: ../../../CommandGuide/llvm-readobj.rst:192 msgid "Display the dependent libraries section." msgstr "" -#: ../../../CommandGuide/llvm-readobj.rst:198 -msgid "Display the dynamic relocation entries." -msgstr "" - -#: ../../../CommandGuide/llvm-readobj.rst:202 -msgid "Display the dynamic symbol table." -msgstr "" - -#: ../../../CommandGuide/llvm-readobj.rst:206 +#: ../../../CommandGuide/llvm-readobj.rst:196 msgid "Display the dynamic table." msgstr "" -#: ../../../CommandGuide/llvm-readobj.rst:210 -msgid "Display the callgraph profile section." +#: ../../../CommandGuide/llvm-readobj.rst:200 +msgid "Display the dynamic relocation entries." msgstr "" -#: ../../../CommandGuide/llvm-readobj.rst:214 -msgid "Display a bucket list histogram for dynamic symbol hash tables." +#: ../../../CommandGuide/llvm-readobj.rst:204 +msgid "Display the dynamic symbol table." msgstr "" -#: ../../../CommandGuide/llvm-readobj.rst:218 +#: ../../../CommandGuide/llvm-readobj.rst:208 msgid "Display the linker options section." msgstr "" -#: ../../../CommandGuide/llvm-readobj.rst:222 +#: ../../../CommandGuide/llvm-readobj.rst:212 msgid "" "Format ELF information in the specified style. Valid options are ``LLVM``, " "``GNU``, and ``JSON``. ``LLVM`` output (the default) is an expanded and " @@ -309,189 +295,205 @@ msgid "" "consumption." msgstr "" -#: ../../../CommandGuide/llvm-readobj.rst:229 -msgid "Display section groups." -msgstr "" - -#: ../../../CommandGuide/llvm-readobj.rst:233 +#: ../../../CommandGuide/llvm-readobj.rst:219 msgid "Display the GNU hash table for dynamic symbols." msgstr "" -#: ../../../CommandGuide/llvm-readobj.rst:237 +#: ../../../CommandGuide/llvm-readobj.rst:223 msgid "Display the expanded hash table with dynamic symbol data." msgstr "" -#: ../../../CommandGuide/llvm-readobj.rst:241 +#: ../../../CommandGuide/llvm-readobj.rst:227 msgid "Display the hash table for dynamic symbols." msgstr "" -#: ../../../CommandGuide/llvm-readobj.rst:245 +#: ../../../CommandGuide/llvm-readobj.rst:231 +msgid "Display a bucket list histogram for dynamic symbol hash tables." +msgstr "" + +#: ../../../CommandGuide/llvm-readobj.rst:235 msgid "" "Display information about memory tagging present in the binary. This " "includes various dynamic entries, decoded global descriptor sections, and " "decoded Android-specific ELF notes." msgstr "" -#: ../../../CommandGuide/llvm-readobj.rst:251 +#: ../../../CommandGuide/llvm-readobj.rst:241 msgid "Display all notes." msgstr "" -#: ../../../CommandGuide/llvm-readobj.rst:255 +#: ../../../CommandGuide/llvm-readobj.rst:245 +msgid "" +"When pgo analysis maps are present in the basic block address map " +"section(s), analyses with special formats (i.e. BlockFrequency, " +"BranchProbability, etc) are printed using the same format as their " +"respective analysis pass." +msgstr "" + +#: ../../../CommandGuide/llvm-readobj.rst:249 +msgid "Requires :option:`--bb-addr-map` to have an effect." +msgstr "" + +#: ../../../CommandGuide/llvm-readobj.rst:253 msgid "" "When used with :option:`--elf-output-style`, JSON output will be formatted " "in a more readable format." msgstr "" -#: ../../../CommandGuide/llvm-readobj.rst:260 +#: ../../../CommandGuide/llvm-readobj.rst:258 msgid "Display the program headers." msgstr "" -#: ../../../CommandGuide/llvm-readobj.rst:264 +#: ../../../CommandGuide/llvm-readobj.rst:262 +msgid "Display section groups." +msgstr "" + +#: ../../../CommandGuide/llvm-readobj.rst:266 msgid "Display the section to segment mapping." msgstr "" -#: ../../../CommandGuide/llvm-readobj.rst:268 +#: ../../../CommandGuide/llvm-readobj.rst:270 msgid "" "Display the contents of the stack sizes section(s), i.e. pairs of function " "names and the size of their stack frames. Currently only implemented for GNU " "style output." msgstr "" -#: ../../../CommandGuide/llvm-readobj.rst:274 +#: ../../../CommandGuide/llvm-readobj.rst:276 msgid "Display version sections." msgstr "" -#: ../../../CommandGuide/llvm-readobj.rst:277 +#: ../../../CommandGuide/llvm-readobj.rst:279 msgid "MACH-O SPECIFIC OPTIONS" msgstr "" -#: ../../../CommandGuide/llvm-readobj.rst:279 +#: ../../../CommandGuide/llvm-readobj.rst:281 msgid "The following options are implemented only for the Mach-O file format." msgstr "" -#: ../../../CommandGuide/llvm-readobj.rst:283 +#: ../../../CommandGuide/llvm-readobj.rst:285 msgid "Display the Data in Code command." msgstr "" -#: ../../../CommandGuide/llvm-readobj.rst:287 +#: ../../../CommandGuide/llvm-readobj.rst:289 msgid "Display the Dsymtab command." msgstr "" -#: ../../../CommandGuide/llvm-readobj.rst:291 +#: ../../../CommandGuide/llvm-readobj.rst:293 msgid "Display indirect symbols." msgstr "" -#: ../../../CommandGuide/llvm-readobj.rst:295 +#: ../../../CommandGuide/llvm-readobj.rst:297 msgid "Display the Mach-O-specific linker options." msgstr "" -#: ../../../CommandGuide/llvm-readobj.rst:299 +#: ../../../CommandGuide/llvm-readobj.rst:301 msgid "Display the Segment command." msgstr "" -#: ../../../CommandGuide/llvm-readobj.rst:303 +#: ../../../CommandGuide/llvm-readobj.rst:305 msgid "Display the version min command." msgstr "" -#: ../../../CommandGuide/llvm-readobj.rst:306 +#: ../../../CommandGuide/llvm-readobj.rst:308 msgid "PE/COFF SPECIFIC OPTIONS" msgstr "" -#: ../../../CommandGuide/llvm-readobj.rst:308 +#: ../../../CommandGuide/llvm-readobj.rst:310 msgid "The following options are implemented only for the PE/COFF file format." msgstr "" -#: ../../../CommandGuide/llvm-readobj.rst:312 +#: ../../../CommandGuide/llvm-readobj.rst:314 msgid "Display CodeView debug information." msgstr "" -#: ../../../CommandGuide/llvm-readobj.rst:316 +#: ../../../CommandGuide/llvm-readobj.rst:318 msgid "Enable global hashing for CodeView type stream de-duplication." msgstr "" -#: ../../../CommandGuide/llvm-readobj.rst:320 +#: ../../../CommandGuide/llvm-readobj.rst:322 msgid "Display the merged CodeView type stream." msgstr "" -#: ../../../CommandGuide/llvm-readobj.rst:324 +#: ../../../CommandGuide/llvm-readobj.rst:326 msgid "Dump raw contents of CodeView debug sections and records." msgstr "" -#: ../../../CommandGuide/llvm-readobj.rst:328 +#: ../../../CommandGuide/llvm-readobj.rst:330 msgid "Display the .reloc section." msgstr "" -#: ../../../CommandGuide/llvm-readobj.rst:332 +#: ../../../CommandGuide/llvm-readobj.rst:334 msgid "Display the debug directory." msgstr "" -#: ../../../CommandGuide/llvm-readobj.rst:336 -msgid "Display the TLS directory." -msgstr "" - -#: ../../../CommandGuide/llvm-readobj.rst:340 +#: ../../../CommandGuide/llvm-readobj.rst:338 msgid "Display the .drectve section." msgstr "" -#: ../../../CommandGuide/llvm-readobj.rst:344 +#: ../../../CommandGuide/llvm-readobj.rst:342 msgid "Display the export table." msgstr "" -#: ../../../CommandGuide/llvm-readobj.rst:348 +#: ../../../CommandGuide/llvm-readobj.rst:346 msgid "Display the import table." msgstr "" -#: ../../../CommandGuide/llvm-readobj.rst:352 +#: ../../../CommandGuide/llvm-readobj.rst:350 msgid "Display the load config." msgstr "" -#: ../../../CommandGuide/llvm-readobj.rst:356 +#: ../../../CommandGuide/llvm-readobj.rst:354 msgid "Display the .rsrc section." msgstr "" -#: ../../../CommandGuide/llvm-readobj.rst:359 -msgid "XCOFF SPECIFIC OPTIONS" +#: ../../../CommandGuide/llvm-readobj.rst:358 +msgid "Display the TLS directory." msgstr "" #: ../../../CommandGuide/llvm-readobj.rst:361 +msgid "XCOFF SPECIFIC OPTIONS" +msgstr "" + +#: ../../../CommandGuide/llvm-readobj.rst:363 msgid "The following options are implemented only for the XCOFF file format." msgstr "" -#: ../../../CommandGuide/llvm-readobj.rst:365 +#: ../../../CommandGuide/llvm-readobj.rst:367 msgid "Display XCOFF Auxiliary header." msgstr "" -#: ../../../CommandGuide/llvm-readobj.rst:369 +#: ../../../CommandGuide/llvm-readobj.rst:371 msgid "Display XCOFF exception section entries." msgstr "" -#: ../../../CommandGuide/llvm-readobj.rst:373 +#: ../../../CommandGuide/llvm-readobj.rst:375 msgid "Display XCOFF loader section header." msgstr "" -#: ../../../CommandGuide/llvm-readobj.rst:377 -msgid "Display symbol table of loader section." +#: ../../../CommandGuide/llvm-readobj.rst:379 +msgid "Display relocation entries of loader section." msgstr "" -#: ../../../CommandGuide/llvm-readobj.rst:381 -msgid "Display relocation entries of loader section." +#: ../../../CommandGuide/llvm-readobj.rst:383 +msgid "Display symbol table of loader section." msgstr "" -#: ../../../CommandGuide/llvm-readobj.rst:384 +#: ../../../CommandGuide/llvm-readobj.rst:386 msgid "EXIT STATUS" msgstr "" -#: ../../../CommandGuide/llvm-readobj.rst:386 +#: ../../../CommandGuide/llvm-readobj.rst:388 msgid "" ":program:`llvm-readobj` returns 0 under normal operation. It returns a non-" "zero exit code if there were any errors." msgstr "" -#: ../../../CommandGuide/llvm-readobj.rst:390 +#: ../../../CommandGuide/llvm-readobj.rst:392 msgid "SEE ALSO" msgstr "" -#: ../../../CommandGuide/llvm-readobj.rst:392 +#: ../../../CommandGuide/llvm-readobj.rst:394 msgid "" ":manpage:`llvm-nm(1)`, :manpage:`llvm-objdump(1)`, :manpage:`llvm-readelf(1)`" msgstr "" diff --git a/main/locale/pot/LC_MESSAGES/CommandGuide/llvm-strip.pot b/main/locale/pot/LC_MESSAGES/CommandGuide/llvm-strip.pot index 2431359df61..d5ff5d282df 100644 --- a/main/locale/pot/LC_MESSAGES/CommandGuide/llvm-strip.pot +++ b/main/locale/pot/LC_MESSAGES/CommandGuide/llvm-strip.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: LLVM main\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-12-01 08:45+0000\n" +"POT-Creation-Date: 2026-03-09 08:48+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -142,211 +142,217 @@ msgstr "" #: ../../../CommandGuide/llvm-strip.rst:93 msgid "" -"For COFF objects, remove all symbols, debug sections, and relocations from " -"the output." +"For COFF and Mach-O objects, remove all symbols, debug sections, and " +"relocations from the output." msgstr "" -#: ../../../CommandGuide/llvm-strip.rst:98 +#: ../../../CommandGuide/llvm-strip.rst:96 +msgid "" +"For WebAssembly objects, remove all custom sections except for those named " +"metadata.code.*." +msgstr "" + +#: ../../../CommandGuide/llvm-strip.rst:101 msgid "Remove all debug sections from the output." msgstr "" -#: ../../../CommandGuide/llvm-strip.rst:102 +#: ../../../CommandGuide/llvm-strip.rst:105 msgid "" "Remove all symbols named ```` from the output. Can be specified " "multiple times to remove multiple symbols." msgstr "" -#: ../../../CommandGuide/llvm-strip.rst:107 +#: ../../../CommandGuide/llvm-strip.rst:110 msgid "" "Remove from the output all local or undefined symbols that are not required " "by relocations. Also remove all debug sections." msgstr "" -#: ../../../CommandGuide/llvm-strip.rst:112 +#: ../../../CommandGuide/llvm-strip.rst:115 msgid "Display the version of the :program:`llvm-strip` executable." msgstr "" -#: ../../../CommandGuide/llvm-strip.rst:116 +#: ../../../CommandGuide/llvm-strip.rst:119 msgid "" "Allow wildcard syntax for symbol-related flags. On by default for section-" "related flags. Incompatible with --regex." msgstr "" -#: ../../../CommandGuide/llvm-strip.rst:119 +#: ../../../CommandGuide/llvm-strip.rst:122 msgid "Wildcard syntax allows the following special symbols:" msgstr "" -#: ../../../CommandGuide/llvm-strip.rst:122 +#: ../../../CommandGuide/llvm-strip.rst:125 msgid "Character" msgstr "" -#: ../../../CommandGuide/llvm-strip.rst:122 +#: ../../../CommandGuide/llvm-strip.rst:125 msgid "Meaning" msgstr "" -#: ../../../CommandGuide/llvm-strip.rst:122 +#: ../../../CommandGuide/llvm-strip.rst:125 msgid "Equivalent" msgstr "" -#: ../../../CommandGuide/llvm-strip.rst:124 +#: ../../../CommandGuide/llvm-strip.rst:127 msgid "``*``" msgstr "" -#: ../../../CommandGuide/llvm-strip.rst:124 +#: ../../../CommandGuide/llvm-strip.rst:127 msgid "Any number of characters" msgstr "" -#: ../../../CommandGuide/llvm-strip.rst:124 +#: ../../../CommandGuide/llvm-strip.rst:127 msgid "``.*``" msgstr "" -#: ../../../CommandGuide/llvm-strip.rst:125 +#: ../../../CommandGuide/llvm-strip.rst:128 msgid "``?``" msgstr "" -#: ../../../CommandGuide/llvm-strip.rst:125 +#: ../../../CommandGuide/llvm-strip.rst:128 msgid "Any single character" msgstr "" -#: ../../../CommandGuide/llvm-strip.rst:125 +#: ../../../CommandGuide/llvm-strip.rst:128 msgid "``.``" msgstr "" -#: ../../../CommandGuide/llvm-strip.rst:126 +#: ../../../CommandGuide/llvm-strip.rst:129 msgid "``\\``" msgstr "" -#: ../../../CommandGuide/llvm-strip.rst:126 +#: ../../../CommandGuide/llvm-strip.rst:129 msgid "Escape the next character" msgstr "" -#: ../../../CommandGuide/llvm-strip.rst:127 +#: ../../../CommandGuide/llvm-strip.rst:130 msgid "``[a-z]``" msgstr "" -#: ../../../CommandGuide/llvm-strip.rst:127 +#: ../../../CommandGuide/llvm-strip.rst:130 msgid "Character class" msgstr "" -#: ../../../CommandGuide/llvm-strip.rst:128 +#: ../../../CommandGuide/llvm-strip.rst:131 msgid "``[!a-z]``, ``[^a-z]``" msgstr "" -#: ../../../CommandGuide/llvm-strip.rst:128 +#: ../../../CommandGuide/llvm-strip.rst:131 msgid "Negated character class" msgstr "" -#: ../../../CommandGuide/llvm-strip.rst:128 +#: ../../../CommandGuide/llvm-strip.rst:131 msgid "``[^a-z]``" msgstr "" -#: ../../../CommandGuide/llvm-strip.rst:131 +#: ../../../CommandGuide/llvm-strip.rst:134 msgid "" "Additionally, starting a wildcard with '!' will prevent a match, even if " "another flag matches. For example ``-w -N '*' -N '!x'`` will strip all " "symbols except for ``x``." msgstr "" -#: ../../../CommandGuide/llvm-strip.rst:135 +#: ../../../CommandGuide/llvm-strip.rst:138 msgid "" "The order of wildcards does not matter. For example, ``-w -N '*' -N '!x'`` " "is the same as ``-w -N '!x' -N '*'``." msgstr "" -#: ../../../CommandGuide/llvm-strip.rst:140 +#: ../../../CommandGuide/llvm-strip.rst:143 msgid "Read command-line options and commands from response file ``." msgstr "" -#: ../../../CommandGuide/llvm-strip.rst:143 +#: ../../../CommandGuide/llvm-strip.rst:146 msgid "ELF-SPECIFIC OPTIONS" msgstr "" -#: ../../../CommandGuide/llvm-strip.rst:145 +#: ../../../CommandGuide/llvm-strip.rst:148 msgid "" "The following options are implemented only for ELF objects. If used with " "other objects, :program:`llvm-strip` will either emit an error or silently " "ignore them." msgstr "" -#: ../../../CommandGuide/llvm-strip.rst:151 +#: ../../../CommandGuide/llvm-strip.rst:154 msgid "" "Allow :program:`llvm-strip` to remove sections even if it would leave " "invalid section references. Any invalid sh_link fields will be set to zero." msgstr "" -#: ../../../CommandGuide/llvm-strip.rst:156 +#: ../../../CommandGuide/llvm-strip.rst:159 msgid "" "Remove local symbols starting with \".L\" not referenced by relocations from " "the output." msgstr "" -#: ../../../CommandGuide/llvm-strip.rst:160 +#: ../../../CommandGuide/llvm-strip.rst:163 msgid "" "Keep symbols of type `STT_FILE`, even if they would otherwise be stripped." msgstr "" -#: ../../../CommandGuide/llvm-strip.rst:164 +#: ../../../CommandGuide/llvm-strip.rst:167 msgid "" "When removing sections from the output, do not remove sections named " "``
``. Can be specified multiple times to keep multiple sections." msgstr "" -#: ../../../CommandGuide/llvm-strip.rst:169 +#: ../../../CommandGuide/llvm-strip.rst:172 msgid "" "When removing symbols from the output, do not remove symbols named " "````. Can be specified multiple times to keep multiple symbols." msgstr "" -#: ../../../CommandGuide/llvm-strip.rst:174 +#: ../../../CommandGuide/llvm-strip.rst:177 msgid "Preserve access and modification timestamps in the output." msgstr "" -#: ../../../CommandGuide/llvm-strip.rst:178 +#: ../../../CommandGuide/llvm-strip.rst:181 msgid "" "Remove from the output all section headers and all section data not within " "segments. Note that many tools will not be able to use an object without " "section headers." msgstr "" -#: ../../../CommandGuide/llvm-strip.rst:183 +#: ../../../CommandGuide/llvm-strip.rst:186 msgid "MACH-O-SPECIFIC OPTIONS" msgstr "" -#: ../../../CommandGuide/llvm-strip.rst:185 +#: ../../../CommandGuide/llvm-strip.rst:188 msgid "" "The following options are implemented only for Mach-O objects. If used with " "other objects, :program:`llvm-strip` will either emit an error or silently " "ignore them." msgstr "" -#: ../../../CommandGuide/llvm-strip.rst:191 +#: ../../../CommandGuide/llvm-strip.rst:194 msgid "Remove Swift symbols." msgstr "" -#: ../../../CommandGuide/llvm-strip.rst:194 +#: ../../../CommandGuide/llvm-strip.rst:197 msgid "EXIT STATUS" msgstr "" -#: ../../../CommandGuide/llvm-strip.rst:196 +#: ../../../CommandGuide/llvm-strip.rst:199 msgid "" ":program:`llvm-strip` exits with a non-zero exit code if there is an error. " "Otherwise, it exits with code 0." msgstr "" -#: ../../../CommandGuide/llvm-strip.rst:200 +#: ../../../CommandGuide/llvm-strip.rst:203 msgid "BUGS" msgstr "" -#: ../../../CommandGuide/llvm-strip.rst:202 +#: ../../../CommandGuide/llvm-strip.rst:205 msgid "" "To report bugs, please visit ." msgstr "" -#: ../../../CommandGuide/llvm-strip.rst:205 +#: ../../../CommandGuide/llvm-strip.rst:208 msgid "SEE ALSO" msgstr "" -#: ../../../CommandGuide/llvm-strip.rst:207 +#: ../../../CommandGuide/llvm-strip.rst:210 msgid ":manpage:`llvm-objcopy(1)`" msgstr "" diff --git a/main/locale/pot/LC_MESSAGES/Contributing.pot b/main/locale/pot/LC_MESSAGES/Contributing.pot index 25a271bd6c8..7139b1461f8 100644 --- a/main/locale/pot/LC_MESSAGES/Contributing.pot +++ b/main/locale/pot/LC_MESSAGES/Contributing.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: LLVM main\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-10-13 08:36+0000\n" +"POT-Creation-Date: 2026-03-09 08:48+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -201,7 +201,7 @@ msgid "" "anyone else working in the area your patch touches. To find maintainers, " "look for the ``Maintainers.md`` or ``Maintainers.rst`` file in the root of " "the project's sub-directory. For example, LLVM's is ``llvm/Maintainers.md`` " -"and Clang's is ``clang/Maintainers.rst``." +"and clang-tools-extra's is ``clang-tools-extra/Maintainers.rst``." msgstr "" #: ../../../Contributing.rst:123 diff --git a/main/locale/pot/LC_MESSAGES/DTLTO.pot b/main/locale/pot/LC_MESSAGES/DTLTO.pot index b9f12d77430..17d154433dd 100644 --- a/main/locale/pot/LC_MESSAGES/DTLTO.pot +++ b/main/locale/pot/LC_MESSAGES/DTLTO.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: LLVM main\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-10-13 08:36+0000\n" +"POT-Creation-Date: 2026-03-09 08:48+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -48,38 +48,42 @@ msgid "" "Using the *separate thin-link* approach requires a build system capable of " "handling the dynamic dependencies specified in the individual summary index " "files, such as Bazel. DTLTO removes this requirement, allowing it to be used " -"with any build process that supports in-process ThinLTO." +"with any build process that supports in-process ThinLTO. To facilitate this, " +"DTLTO supports common in-process ThinLTO features, such as caching. Bitcode " +"objects in static libraries/archives (e.g. libc.a) are also handled " +"transparently by temporarily extracting referenced objects for distribution; " +"when thin archives are used, no extraction is required." msgstr "" -#: ../../../DTLTO.rst:29 +#: ../../../DTLTO.rst:33 msgid "" "The following commands show the steps used for the *separate thin-link* " "approach for a basic example:" msgstr "" -#: ../../../DTLTO.rst:40 +#: ../../../DTLTO.rst:44 msgid "" "With DTLTO, steps 2-5 are performed internally as part of the link step. The " "equivalent DTLTO commands for the above are:" msgstr "" -#: ../../../DTLTO.rst:48 +#: ../../../DTLTO.rst:52 msgid "" "For DTLTO, LLD prepares the following for each ThinLTO backend compilation " "job:" msgstr "" -#: ../../../DTLTO.rst:50 +#: ../../../DTLTO.rst:54 msgid "" "An individual index file and a list of input and output files (corresponds " "to step 2 above)." msgstr "" -#: ../../../DTLTO.rst:52 +#: ../../../DTLTO.rst:56 msgid "A Clang command line to perform the ThinLTO backend compilations." msgstr "" -#: ../../../DTLTO.rst:54 +#: ../../../DTLTO.rst:58 msgid "" "This information is supplied, via a JSON file, to ``distributor_process``, " "which executes the backend compilations using a distribution system " @@ -88,119 +92,119 @@ msgid "" "(corresponds to step 5 above)." msgstr "" -#: ../../../DTLTO.rst:60 +#: ../../../DTLTO.rst:64 msgid "" "This design keeps the details of distribution systems out of the LLVM source " "code." msgstr "" -#: ../../../DTLTO.rst:63 +#: ../../../DTLTO.rst:67 msgid "" "An example distributor that performs all work on the local system is " "included in the LLVM source tree. To run an example with that distributor, a " "command line such as the following can be used:" msgstr "" -#: ../../../DTLTO.rst:73 +#: ../../../DTLTO.rst:77 msgid "Distributors" msgstr "" -#: ../../../DTLTO.rst:75 +#: ../../../DTLTO.rst:79 msgid "Distributors are programs responsible for:" msgstr "" -#: ../../../DTLTO.rst:77 +#: ../../../DTLTO.rst:81 msgid "Consuming the JSON backend compilations job description file." msgstr "" -#: ../../../DTLTO.rst:78 +#: ../../../DTLTO.rst:82 msgid "Translating job descriptions into requests for the distribution system." msgstr "" -#: ../../../DTLTO.rst:79 +#: ../../../DTLTO.rst:83 msgid "Blocking execution until all backend compilations are complete." msgstr "" -#: ../../../DTLTO.rst:81 +#: ../../../DTLTO.rst:85 msgid "" "Distributors must return a non-zero exit code on failure. They can be " "implemented as platform native executables or in a scripting language, such " "as Python." msgstr "" -#: ../../../DTLTO.rst:85 +#: ../../../DTLTO.rst:89 msgid "" "Clang and LLD provide options to specify a distributor program for managing " "backend compilations. Distributor options and backend compilation options " "can also be specified. Such options are transparently forwarded." msgstr "" -#: ../../../DTLTO.rst:89 +#: ../../../DTLTO.rst:93 msgid "" "The backend compilations are currently performed by invoking Clang. For " "further details, refer to:" msgstr "" -#: ../../../DTLTO.rst:92 +#: ../../../DTLTO.rst:96 msgid "Clang documentation: https://clang.llvm.org/docs/ThinLTO.html" msgstr "" -#: ../../../DTLTO.rst:93 +#: ../../../DTLTO.rst:97 msgid "LLD documentation: https://lld.llvm.org/DTLTO.html" msgstr "" -#: ../../../DTLTO.rst:95 +#: ../../../DTLTO.rst:99 msgid "" "When invoked with a distributor, LLD generates a JSON file describing the " "backend compilation jobs and executes the distributor, passing it this file." msgstr "" -#: ../../../DTLTO.rst:99 +#: ../../../DTLTO.rst:103 msgid "JSON Schema" msgstr "" -#: ../../../DTLTO.rst:101 +#: ../../../DTLTO.rst:105 msgid "" "The JSON format is explained by reference to the following example, which " "describes the backend compilation of the modules ``t1.o`` and ``t2.o``:" msgstr "" -#: ../../../DTLTO.rst:126 +#: ../../../DTLTO.rst:130 msgid "" "Each entry in the ``jobs`` array represents a single backend compilation " "job. Each job object records its own command-line arguments and input/output " "files. Shared arguments and inputs are defined once in the ``common`` object." msgstr "" -#: ../../../DTLTO.rst:130 +#: ../../../DTLTO.rst:134 msgid "Reserved Entries:" msgstr "" -#: ../../../DTLTO.rst:132 +#: ../../../DTLTO.rst:136 msgid "" "The first entry in the ``common.args`` array specifies the compiler " "executable to invoke." msgstr "" -#: ../../../DTLTO.rst:134 +#: ../../../DTLTO.rst:138 msgid "" "The first entry in each job's ``inputs`` array is the bitcode file for the " "module being compiled." msgstr "" -#: ../../../DTLTO.rst:136 +#: ../../../DTLTO.rst:140 msgid "" "The second entry in each job's ``inputs`` array is the corresponding " "individual summary index file." msgstr "" -#: ../../../DTLTO.rst:138 +#: ../../../DTLTO.rst:142 msgid "" "The first entry in each job's ``outputs`` array is the primary output object " "file." msgstr "" -#: ../../../DTLTO.rst:141 +#: ../../../DTLTO.rst:145 msgid "" "For the ``outputs`` array, only the first entry is reserved for the primary " "output file; there is no guaranteed order for the remaining entries. The " @@ -212,7 +216,7 @@ msgid "" "files will also be included in this array." msgstr "" -#: ../../../DTLTO.rst:149 +#: ../../../DTLTO.rst:153 msgid "" "Command-line arguments and input/output files are stored separately to allow " "the remote compiler to be changed without updating the distributors, as the " @@ -220,54 +224,53 @@ msgid "" "line." msgstr "" -#: ../../../DTLTO.rst:154 +#: ../../../DTLTO.rst:158 msgid "" "To generate the backend compilation commands, the common and job-specific " "arguments are concatenated." msgstr "" -#: ../../../DTLTO.rst:157 +#: ../../../DTLTO.rst:161 msgid "" "When consuming the example JSON above, a distributor is expected to issue " "the following backend compilation commands with maximum parallelism:" msgstr "" -#: ../../../DTLTO.rst:169 -msgid "TODOs" -msgstr "" - -#: ../../../DTLTO.rst:171 -msgid "The following features are planned for DTLTO but not yet implemented:" +#: ../../../DTLTO.rst:173 +msgid "Limitations" msgstr "" -#: ../../../DTLTO.rst:173 -msgid "Support for the ThinLTO in-process cache." +#: ../../../DTLTO.rst:175 +msgid "The following features are not implemented at this time:" msgstr "" -#: ../../../DTLTO.rst:174 +#: ../../../DTLTO.rst:177 msgid "Support for platforms other than ELF and COFF." msgstr "" -#: ../../../DTLTO.rst:175 -msgid "Support for archives with bitcode members." +#: ../../../DTLTO.rst:178 +msgid "" +"Support for more CodeGen configurations in the LTO backend; only a very " +"limited set is supported currently, e.g. support for basic block sections is " +"not currently available." msgstr "" -#: ../../../DTLTO.rst:176 +#: ../../../DTLTO.rst:181 msgid "" -"Support for more LTO configurations; only a very limited set of LTO " -"configurations is supported currently, e.g., support for basic block " -"sections is not currently available." +"Support for sharing ThinLTO cache entries with in-process ThinLTO entries. " +"This is not currently supported because identical code generation is not yet " +"guaranteed." msgstr "" -#: ../../../DTLTO.rst:181 +#: ../../../DTLTO.rst:186 msgid "Constraints" msgstr "" -#: ../../../DTLTO.rst:183 +#: ../../../DTLTO.rst:188 msgid "Matching versions of Clang and LLD should be used." msgstr "" -#: ../../../DTLTO.rst:184 +#: ../../../DTLTO.rst:189 msgid "" "The distributor used must support the JSON schema generated by the version " "of LLD in use." diff --git a/main/locale/pot/LC_MESSAGES/DebuggingLLVM.pot b/main/locale/pot/LC_MESSAGES/DebuggingLLVM.pot index 18d320b4f91..0015a892a5d 100644 --- a/main/locale/pot/LC_MESSAGES/DebuggingLLVM.pot +++ b/main/locale/pot/LC_MESSAGES/DebuggingLLVM.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: LLVM main\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-10-13 08:36+0000\n" +"POT-Creation-Date: 2026-03-09 08:48+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -47,14 +47,13 @@ msgstr "" #: ../../../DebuggingLLVM.rst:20 msgid "" -"For Bazel-based build systems using Bazel 9 or newer (not released yet as of " -"this writing), you can pass ``--output=commands`` to the ``bazel aquery`` " -"subcommand for a similar result. For example: ``bazel aquery --" -"output=commands 'deps(//myprogram)' | grep path/to/file.cpp``. Build " -"commands must generally be run from a subdirectory of the source directory " -"named ``bazel-$PROJECTNAME``. Bazel typically makes the target paths of ``-" -"o`` and ``-MF`` read-only when running commands outside of a build, so it " -"may be necessary to change or remove these flags." +"For Bazel-based build systems using Bazel 9 or newer, you can pass ``--" +"output=commands`` to the ``bazel aquery`` subcommand for a similar result. " +"For example: ``bazel aquery --output=commands 'deps(//myprogram)' | grep " +"path/to/file.cpp``. Build commands must generally be run from a subdirectory " +"of the source directory named ``bazel-$PROJECTNAME``. Bazel typically makes " +"the target paths of ``-o`` and ``-MF`` read-only when running commands " +"outside of a build, so it may be necessary to change or remove these flags." msgstr "" #: ../../../DebuggingLLVM.rst:29 @@ -135,11 +134,18 @@ msgid "" "desired location, but in the author's experience this is unlikely to occur." msgstr "" -#: ../../../DebuggingLLVM.rst:91 +#: ../../../DebuggingLLVM.rst:90 +msgid "" +"Similar flags exist for the backend: ``-print-sdnode-addrs`` for printing " +"``SDNode`` addresses, and ``-print-mi-addrs`` for printing ``MachineInstr`` " +"addresses." +msgstr "" + +#: ../../../DebuggingLLVM.rst:95 msgid "Identifying the source locations of instructions" msgstr "" -#: ../../../DebuggingLLVM.rst:93 +#: ../../../DebuggingLLVM.rst:97 msgid "" "To identify the source location that caused a particular instruction to be " "created, you can pass the LLVM flag ``-print-inst-debug-locs`` and each " @@ -148,29 +154,29 @@ msgid "" "debug information to be enabled (e.g. pass ``-g`` to Clang)." msgstr "" -#: ../../../DebuggingLLVM.rst:100 +#: ../../../DebuggingLLVM.rst:104 msgid "LLDB Data Formatters" msgstr "" -#: ../../../DebuggingLLVM.rst:102 +#: ../../../DebuggingLLVM.rst:106 msgid "" "A handful of `LLDB data formatters `__ are provided for some of the core LLVM libraries. To " "use them, execute the following (or add it to your ``~/.lldbinit``)::" msgstr "" -#: ../../../DebuggingLLVM.rst:110 +#: ../../../DebuggingLLVM.rst:114 msgid "GDB pretty printers" msgstr "" -#: ../../../DebuggingLLVM.rst:112 +#: ../../../DebuggingLLVM.rst:116 msgid "" "A handful of `GDB pretty printers `__ are provided for some of the core LLVM libraries. " "To use them, execute the following (or add it to your ``~/.gdbinit``)::" msgstr "" -#: ../../../DebuggingLLVM.rst:119 +#: ../../../DebuggingLLVM.rst:123 msgid "" "It also might be handy to enable the `print pretty `__ option to avoid data " diff --git a/main/locale/pot/LC_MESSAGES/DeveloperPolicy.pot b/main/locale/pot/LC_MESSAGES/DeveloperPolicy.pot index bf5adbf330e..1a7d710bd30 100644 --- a/main/locale/pot/LC_MESSAGES/DeveloperPolicy.pot +++ b/main/locale/pot/LC_MESSAGES/DeveloperPolicy.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: LLVM main\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-12-22 08:34+0000\n" +"POT-Creation-Date: 2026-03-09 08:48+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -1289,11 +1289,17 @@ msgid "" "expected, but no promises are made." msgstr "" -#: ../../../DeveloperPolicy.rst:797 +#: ../../../DeveloperPolicy.rst:796 +msgid "" +"Legacy bitcode may have degraded performance when compared to the compiled " +"output with the legacy compiler." +msgstr "" + +#: ../../../DeveloperPolicy.rst:800 msgid "C API Changes" msgstr "" -#: ../../../DeveloperPolicy.rst:799 +#: ../../../DeveloperPolicy.rst:802 msgid "" "Stability Guarantees: The C API is, in general, a \"best effort\" for " "stability. This means that we make every attempt to keep the C API stable, " @@ -1304,7 +1310,7 @@ msgid "" "machine\"." msgstr "" -#: ../../../DeveloperPolicy.rst:806 +#: ../../../DeveloperPolicy.rst:809 msgid "" "Release stability: We won't break the C API on the release branch with " "patches that go on that branch, with the exception that we will fix an " @@ -1312,13 +1318,13 @@ msgid "" "the previous and next release." msgstr "" -#: ../../../DeveloperPolicy.rst:811 +#: ../../../DeveloperPolicy.rst:814 msgid "" "Testing: Patches to the C API are expected to come with tests just like any " "other patch." msgstr "" -#: ../../../DeveloperPolicy.rst:814 +#: ../../../DeveloperPolicy.rst:817 msgid "" "Including new things into the API: If an LLVM subcomponent has a C API " "already included, then expanding that C API is acceptable. Adding C API for " @@ -1327,18 +1333,18 @@ msgid "" "implementation." msgstr "" -#: ../../../DeveloperPolicy.rst:819 +#: ../../../DeveloperPolicy.rst:822 msgid "" "Documentation: Any changes to the C API are required to be documented in the " "release notes so that it's clear to external users who do not follow the " "project how the C API is changing and evolving." msgstr "" -#: ../../../DeveloperPolicy.rst:826 +#: ../../../DeveloperPolicy.rst:829 msgid "Updating Toolchain Requirements" msgstr "" -#: ../../../DeveloperPolicy.rst:828 +#: ../../../DeveloperPolicy.rst:831 msgid "" "We intend to require newer toolchains as time goes by. This means LLVM's " "codebase can use newer versions of C++ as they get standardized. Requiring " @@ -1346,33 +1352,33 @@ msgid "" "therefore, it will only be done through the following process:" msgstr "" -#: ../../../DeveloperPolicy.rst:833 +#: ../../../DeveloperPolicy.rst:836 msgid "" "It is a general goal to support LLVM and GCC versions from the last 3 years " "at a minimum. This time-based guideline is not strict: we may support much " "older compilers, or decide to support fewer versions." msgstr "" -#: ../../../DeveloperPolicy.rst:837 +#: ../../../DeveloperPolicy.rst:840 msgid "An RFC is sent to the `LLVM Discourse forums`_" msgstr "" -#: ../../../DeveloperPolicy.rst:839 +#: ../../../DeveloperPolicy.rst:842 msgid "" "Detail upsides of the version increase (e.g. which newer C++ language or " "library features LLVM should use; avoid miscompiles in particular compiler " "versions, etc)." msgstr "" -#: ../../../DeveloperPolicy.rst:842 +#: ../../../DeveloperPolicy.rst:845 msgid "Detail downsides on important platforms (e.g. Ubuntu LTS status)." msgstr "" -#: ../../../DeveloperPolicy.rst:843 +#: ../../../DeveloperPolicy.rst:846 msgid "See the :doc:`RFC process ` documentation for more details." msgstr "" -#: ../../../DeveloperPolicy.rst:845 +#: ../../../DeveloperPolicy.rst:848 msgid "" "Once the RFC reaches consensus, update the CMake toolchain version checks as " "well as the :doc:`getting started` guide. This provides a " @@ -1382,40 +1388,40 @@ msgid "" "If you compile LLVM but don't read the forums, we should tell you!" msgstr "" -#: ../../../DeveloperPolicy.rst:853 +#: ../../../DeveloperPolicy.rst:856 msgid "" "Ensure that at least one LLVM release has had this soft-error. Not all " "developers compile LLVM top-of-tree. These release-bound developers should " "also be told about upcoming changes." msgstr "" -#: ../../../DeveloperPolicy.rst:857 +#: ../../../DeveloperPolicy.rst:860 msgid "" "Turn the soft-error into a hard-error after said LLVM release has branched." msgstr "" -#: ../../../DeveloperPolicy.rst:859 +#: ../../../DeveloperPolicy.rst:862 msgid "" "Update the :doc:`coding standards` to allow the new " "features we've explicitly approved in the RFC." msgstr "" -#: ../../../DeveloperPolicy.rst:862 +#: ../../../DeveloperPolicy.rst:865 msgid "Start using the new features in LLVM's codebase." msgstr "" -#: ../../../DeveloperPolicy.rst:864 +#: ../../../DeveloperPolicy.rst:867 msgid "" "Here's a `sample RFC `_ and the `corresponding change `_." msgstr "" -#: ../../../DeveloperPolicy.rst:871 +#: ../../../DeveloperPolicy.rst:874 msgid "Working with the CI system" msgstr "" -#: ../../../DeveloperPolicy.rst:873 +#: ../../../DeveloperPolicy.rst:876 msgid "" "The main continuous integration (CI) tool for the LLVM project is the `LLVM " "Buildbot `_. It uses different *builders* to " @@ -1424,7 +1430,7 @@ msgid "" "provided by community members." msgstr "" -#: ../../../DeveloperPolicy.rst:879 +#: ../../../DeveloperPolicy.rst:882 msgid "" "The Buildbot tracks the commits on the main branch and the release branches. " "This means that patches are built and tested after they are merged to the " @@ -1433,27 +1439,27 @@ msgid "" "and test their patch with every possible configuration." msgstr "" -#: ../../../DeveloperPolicy.rst:885 +#: ../../../DeveloperPolicy.rst:888 msgid "*If your commit broke the build:*" msgstr "" -#: ../../../DeveloperPolicy.rst:887 +#: ../../../DeveloperPolicy.rst:890 msgid "" "Fix the build as soon as possible as this might block other contributors or " "downstream users." msgstr "" -#: ../../../DeveloperPolicy.rst:889 +#: ../../../DeveloperPolicy.rst:892 msgid "" "If you need more time to analyze and fix the bug, please revert your change " "to unblock others." msgstr "" -#: ../../../DeveloperPolicy.rst:892 +#: ../../../DeveloperPolicy.rst:895 msgid "*If someone else broke the build and this blocks your work*" msgstr "" -#: ../../../DeveloperPolicy.rst:894 +#: ../../../DeveloperPolicy.rst:897 msgid "" "Comment on the code review in `GitHub `_ (if available) or email the author, explain the problem and how " @@ -1461,45 +1467,45 @@ msgid "" "folks can understand the problem." msgstr "" -#: ../../../DeveloperPolicy.rst:898 +#: ../../../DeveloperPolicy.rst:901 msgid "Revert the commit if this blocks your work, see revert_policy_ ." msgstr "" -#: ../../../DeveloperPolicy.rst:900 +#: ../../../DeveloperPolicy.rst:903 msgid "*If a build/worker is permanently broken*" msgstr "" -#: ../../../DeveloperPolicy.rst:902 +#: ../../../DeveloperPolicy.rst:905 msgid "" "1st step: contact the owner of the worker. You can find the name and contact " "information for the *Admin* of worker on the page of the build in the " "*Worker* tab:" msgstr "" -#: ../../../DeveloperPolicy.rst:908 +#: ../../../DeveloperPolicy.rst:911 msgid "" "2nd step: If the owner does not respond or fix the worker, please escalate " "to Galina Kostanova, the maintainer of the BuildBot master." msgstr "" -#: ../../../DeveloperPolicy.rst:910 +#: ../../../DeveloperPolicy.rst:913 msgid "" "3rd step: If Galina could not help you, please escalate to the " "`Infrastructure Working Group `_." msgstr "" -#: ../../../DeveloperPolicy.rst:916 +#: ../../../DeveloperPolicy.rst:919 msgid "Introducing New Components into LLVM" msgstr "" -#: ../../../DeveloperPolicy.rst:918 +#: ../../../DeveloperPolicy.rst:921 msgid "" "The LLVM community is a vibrant and exciting place to be, and we look to be " "inclusive of new projects and foster new communities, and increase " "collaboration across industry and academia." msgstr "" -#: ../../../DeveloperPolicy.rst:922 +#: ../../../DeveloperPolicy.rst:925 msgid "" "That said, we need to strike a balance between being inclusive of new ideas " "and people and the cost of ongoing maintenance that new code requires. As " @@ -1510,7 +1516,7 @@ msgid "" "differences." msgstr "" -#: ../../../DeveloperPolicy.rst:929 +#: ../../../DeveloperPolicy.rst:932 msgid "" "However, this is really only intended to cover common cases that we have " "seen arise: different situations are different, and we are open to " @@ -1518,11 +1524,11 @@ msgid "" "Discourse forums`_." msgstr "" -#: ../../../DeveloperPolicy.rst:935 +#: ../../../DeveloperPolicy.rst:938 msgid "Adding a New Target" msgstr "" -#: ../../../DeveloperPolicy.rst:937 +#: ../../../DeveloperPolicy.rst:940 msgid "" "LLVM is very receptive to new targets, even experimental ones, but a number " "of problems can appear when adding new large portions of code, and back-ends " @@ -1531,7 +1537,7 @@ msgid "" "of our :doc:`support policy`." msgstr "" -#: ../../../DeveloperPolicy.rst:943 +#: ../../../DeveloperPolicy.rst:946 msgid "" "We have found that landing large pieces of new code and then trying to fix " "emergent problems in-tree is problematic for a variety of reasons. For these " @@ -1539,29 +1545,29 @@ msgid "" "proven stable, and later moved to non-experimental." msgstr "" -#: ../../../DeveloperPolicy.rst:948 +#: ../../../DeveloperPolicy.rst:951 msgid "The differences between both classes are:" msgstr "" -#: ../../../DeveloperPolicy.rst:950 +#: ../../../DeveloperPolicy.rst:953 msgid "" "Experimental targets are not built by default (they need to be explicitly " "enabled at CMake time)." msgstr "" -#: ../../../DeveloperPolicy.rst:953 +#: ../../../DeveloperPolicy.rst:956 msgid "" "Test failures, bugs, and build breakages that only appear when the " "experimental target is enabled, caused by changes unrelated to the target, " "are the responsibility of the community behind the target to fix." msgstr "" -#: ../../../DeveloperPolicy.rst:957 +#: ../../../DeveloperPolicy.rst:960 msgid "" "The basic rules for a back-end to be upstreamed in **experimental** mode are:" msgstr "" -#: ../../../DeveloperPolicy.rst:959 +#: ../../../DeveloperPolicy.rst:962 msgid "" "Every target must have at least one :ref:`maintainer`. The " "`Maintainers.rst` file has to be updated as part of the first merge. These " @@ -1569,7 +1575,7 @@ msgid "" "overall effort." msgstr "" -#: ../../../DeveloperPolicy.rst:964 +#: ../../../DeveloperPolicy.rst:967 msgid "" "There must be an active community behind the target. This community will " "help maintain the target by providing buildbots, fixing bugs, answering the " @@ -1578,7 +1584,7 @@ msgid "" "throughout the lifetime of the target's code." msgstr "" -#: ../../../DeveloperPolicy.rst:971 +#: ../../../DeveloperPolicy.rst:974 msgid "" "The code must be free of contentious issues, for example, large changes in " "how the IR behaves or should be formed by the front-ends, unless agreed by " @@ -1587,13 +1593,13 @@ msgid "" "following the :ref:`IR backwards compatibility`." msgstr "" -#: ../../../DeveloperPolicy.rst:977 +#: ../../../DeveloperPolicy.rst:980 msgid "" "The code conforms to all of the policies laid out in this developer policy " "document, including license, patent, and coding standards." msgstr "" -#: ../../../DeveloperPolicy.rst:980 +#: ../../../DeveloperPolicy.rst:983 msgid "" "The target should have either reasonable documentation on how it works (ISA, " "ABI, etc.) or a publicly available simulator/hardware (either free or cheap " @@ -1601,12 +1607,12 @@ msgid "" "understand constraints and review code that can affect the target." msgstr "" -#: ../../../DeveloperPolicy.rst:986 +#: ../../../DeveloperPolicy.rst:989 msgid "" "In addition, the rules for a back-end to be promoted to **official** are:" msgstr "" -#: ../../../DeveloperPolicy.rst:988 +#: ../../../DeveloperPolicy.rst:991 msgid "" "The target must have addressed every other minimum requirement and have been " "stable in tree for at least 3 months. This cool down period is to make sure " @@ -1614,7 +1620,7 @@ msgid "" "development for the foreseeable future." msgstr "" -#: ../../../DeveloperPolicy.rst:993 +#: ../../../DeveloperPolicy.rst:996 msgid "" "The target's code must have been completely adapted to this policy as well " "as the :doc:`coding standards`. Any exceptions that were " @@ -1622,7 +1628,7 @@ msgid "" "official." msgstr "" -#: ../../../DeveloperPolicy.rst:998 +#: ../../../DeveloperPolicy.rst:1001 msgid "" "The test coverage needs to be broad and well written (small tests, well " "documented). The build target ``check-all`` must pass with the new target " @@ -1631,7 +1637,7 @@ msgid "" "via buildbots)." msgstr "" -#: ../../../DeveloperPolicy.rst:1004 +#: ../../../DeveloperPolicy.rst:1007 msgid "" "Public buildbots need to be created and actively maintained, unless the " "target requires no additional buildbots (ex. ``check-all`` covers all " @@ -1639,44 +1645,44 @@ msgid "" "the more the LLVM community will embrace it." msgstr "" -#: ../../../DeveloperPolicy.rst:1009 +#: ../../../DeveloperPolicy.rst:1012 msgid "To **continue** as a supported and official target:" msgstr "" -#: ../../../DeveloperPolicy.rst:1011 +#: ../../../DeveloperPolicy.rst:1014 msgid "" "The maintainer(s) must continue following these rules throughout the " "lifetime of the target. Continuous violations of aforementioned rules and " "policies could lead to complete removal of the target from the code base." msgstr "" -#: ../../../DeveloperPolicy.rst:1015 +#: ../../../DeveloperPolicy.rst:1018 msgid "" "Degradation in support, documentation or test coverage will make the target " "as nuisance to other targets and be considered a candidate for deprecation " "and ultimately removed." msgstr "" -#: ../../../DeveloperPolicy.rst:1019 +#: ../../../DeveloperPolicy.rst:1022 msgid "" "In essence, these rules are necessary for targets to gain and retain their " "status, but also markers to define bit-rot, and will be used to clean up the " "tree from unmaintained targets." msgstr "" -#: ../../../DeveloperPolicy.rst:1023 +#: ../../../DeveloperPolicy.rst:1026 msgid "" "Those wishing to add a new target to LLVM must follow the procedure below:" msgstr "" -#: ../../../DeveloperPolicy.rst:1025 +#: ../../../DeveloperPolicy.rst:1028 msgid "" "Read this section and make sure your target follows all requirements. For " "minor issues, your community will be responsible for making all necessary " "adjustments soon after the initial merge." msgstr "" -#: ../../../DeveloperPolicy.rst:1028 +#: ../../../DeveloperPolicy.rst:1031 msgid "" "Send a request for comment (RFC) to the `LLVM Discourse forums`_ describing " "your target and how it follows all the requirements and what work has been " @@ -1686,7 +1692,7 @@ msgid "" "` documentation for more details." msgstr "" -#: ../../../DeveloperPolicy.rst:1034 +#: ../../../DeveloperPolicy.rst:1037 msgid "" "Once the response is positive, the LLVM community can start reviewing the " "actual patches (but they can be prepared before, to support the RFC). Create " @@ -1695,7 +1701,7 @@ msgid "" "target." msgstr "" -#: ../../../DeveloperPolicy.rst:1038 +#: ../../../DeveloperPolicy.rst:1041 msgid "" "The initial patch should add documentation, maintainers, and triple support " "in clang and LLVM. The following patches add TableGen infrastructure to " @@ -1704,14 +1710,14 @@ msgid "" "MIR, MIR to ASM, etc)." msgstr "" -#: ../../../DeveloperPolicy.rst:1043 +#: ../../../DeveloperPolicy.rst:1046 msgid "" "Some patches may be approved before others, but only after *all* patches are " "approved that the whole set can be merged in one go. This is to guarantee " "that all changes are good as a single block." msgstr "" -#: ../../../DeveloperPolicy.rst:1046 +#: ../../../DeveloperPolicy.rst:1049 msgid "" "After the initial merge, the target community can stop numbering patches and " "start working asynchronously on the target to complete support. They should " @@ -1719,18 +1725,18 @@ msgid "" "sure the progress is still consistent." msgstr "" -#: ../../../DeveloperPolicy.rst:1050 +#: ../../../DeveloperPolicy.rst:1053 msgid "" "Once all official requirements have been fulfilled (as above), the " "maintainers should request the target to be enabled by default by sending " "another RFC to the `LLVM Discourse forums`_." msgstr "" -#: ../../../DeveloperPolicy.rst:1055 +#: ../../../DeveloperPolicy.rst:1058 msgid "Adding an Established Project To the LLVM Monorepo" msgstr "" -#: ../../../DeveloperPolicy.rst:1057 +#: ../../../DeveloperPolicy.rst:1060 msgid "" "The `LLVM monorepo `_ is the " "centerpoint of development in the LLVM world, and has all of the primary " @@ -1740,7 +1746,7 @@ msgid "" "make it easier for subcommunities to collaborate." msgstr "" -#: ../../../DeveloperPolicy.rst:1064 +#: ../../../DeveloperPolicy.rst:1067 msgid "" "Like new targets, most projects already in the monorepo are considered to be " "in the *core tier* of our :doc:`support policy`. The burden " @@ -1749,43 +1755,43 @@ msgid "" "such, we hold components to a high bar similar to \"official targets\", they:" msgstr "" -#: ../../../DeveloperPolicy.rst:1070 ../../../DeveloperPolicy.rst:1110 +#: ../../../DeveloperPolicy.rst:1073 ../../../DeveloperPolicy.rst:1113 msgid "" "Must be generally aligned with the mission of the LLVM project to advance " "compilers, languages, tools, runtimes, etc." msgstr "" -#: ../../../DeveloperPolicy.rst:1072 +#: ../../../DeveloperPolicy.rst:1075 msgid "" "Must conform to all of the policies laid out in this developer policy " "document, including license, patent, coding standards, and code of conduct." msgstr "" -#: ../../../DeveloperPolicy.rst:1074 +#: ../../../DeveloperPolicy.rst:1077 msgid "" "Must have an active community that maintains the code, including established " "maintainers." msgstr "" -#: ../../../DeveloperPolicy.rst:1076 +#: ../../../DeveloperPolicy.rst:1079 msgid "" "Should have reasonable documentation about how it works, including a high " "quality README file." msgstr "" -#: ../../../DeveloperPolicy.rst:1078 +#: ../../../DeveloperPolicy.rst:1081 msgid "" "Should have CI to catch breakage within the project itself or due to " "underlying LLVM dependencies." msgstr "" -#: ../../../DeveloperPolicy.rst:1080 +#: ../../../DeveloperPolicy.rst:1083 msgid "" "Should have code free of issues the community finds contentious, or be on a " "clear path to resolving them." msgstr "" -#: ../../../DeveloperPolicy.rst:1082 ../../../DeveloperPolicy.rst:1127 +#: ../../../DeveloperPolicy.rst:1085 ../../../DeveloperPolicy.rst:1130 msgid "" "Must be proposed through the LLVM RFC process, and have its addition " "approved by the LLVM community - this ultimately mediates the resolution of " @@ -1793,7 +1799,7 @@ msgid "" "documentation for more details." msgstr "" -#: ../../../DeveloperPolicy.rst:1087 +#: ../../../DeveloperPolicy.rst:1090 msgid "" "If you have a project that you think would make sense to add to the LLVM " "monorepo, please start an RFC topic on the `LLVM Discourse forums`_ to kick " @@ -1801,17 +1807,17 @@ msgid "" "don’t be discouraged or intimidated by that!" msgstr "" -#: ../../../DeveloperPolicy.rst:1092 +#: ../../../DeveloperPolicy.rst:1095 msgid "" "If you have an earlier stage project that you think is aligned with LLVM, " "please see the \"Incubating New Projects\" section." msgstr "" -#: ../../../DeveloperPolicy.rst:1096 +#: ../../../DeveloperPolicy.rst:1099 msgid "Incubating New Projects" msgstr "" -#: ../../../DeveloperPolicy.rst:1098 +#: ../../../DeveloperPolicy.rst:1101 msgid "" "The burden to add a new project to the LLVM monorepo is intentionally very " "high, but that can have a chilling effect on new and innovative projects. " @@ -1823,52 +1829,52 @@ msgid "" "permissions to make contributions to projects under the LLVM umbrella." msgstr "" -#: ../../../DeveloperPolicy.rst:1107 +#: ../../../DeveloperPolicy.rst:1110 msgid "" "Projects which can be considered for the LLVM incubator meet the following " "criteria:" msgstr "" -#: ../../../DeveloperPolicy.rst:1112 +#: ../../../DeveloperPolicy.rst:1115 msgid "" "Must conform to the license, patent, and code of conduct policies laid out " "in this developer policy document." msgstr "" -#: ../../../DeveloperPolicy.rst:1114 +#: ../../../DeveloperPolicy.rst:1117 msgid "" "Must have a documented charter and development plan, e.g. in the form of a " "README file, mission statement, and/or manifesto." msgstr "" -#: ../../../DeveloperPolicy.rst:1116 +#: ../../../DeveloperPolicy.rst:1119 msgid "" "Should conform to coding standards, incremental development process, and " "other expectations." msgstr "" -#: ../../../DeveloperPolicy.rst:1118 +#: ../../../DeveloperPolicy.rst:1121 msgid "" "Should have a sense of the community that it hopes to eventually foster, and " "there should be interest from members with different affiliations / " "organizations." msgstr "" -#: ../../../DeveloperPolicy.rst:1121 +#: ../../../DeveloperPolicy.rst:1124 msgid "" "Should have a feasible path to eventually graduate as a dedicated top-level " "or sub-project within the `LLVM monorepo `_." msgstr "" -#: ../../../DeveloperPolicy.rst:1124 +#: ../../../DeveloperPolicy.rst:1127 msgid "" "Should include a notice (e.g. in the project README or web page) that the " "project is in ‘incubation status’ and is not included in LLVM releases (see " "suggested wording below)." msgstr "" -#: ../../../DeveloperPolicy.rst:1132 +#: ../../../DeveloperPolicy.rst:1135 msgid "" "That said, the project need not have any code to get started, and need not " "have an established community at all! Furthermore, incubating projects may " @@ -1878,27 +1884,27 @@ msgid "" "experimental components or APIs that are not yet upstream, etc)." msgstr "" -#: ../../../DeveloperPolicy.rst:1143 +#: ../../../DeveloperPolicy.rst:1146 msgid "When approved, the llvm-admin group can grant the new project:" msgstr "" -#: ../../../DeveloperPolicy.rst:1140 +#: ../../../DeveloperPolicy.rst:1143 msgid "" "A new repository in the LLVM Github Organization - but not the LLVM monorepo." msgstr "" -#: ../../../DeveloperPolicy.rst:1141 +#: ../../../DeveloperPolicy.rst:1144 msgid "" "New mailing list, discourse forum, and/or discord chat hosted with other " "LLVM forums." msgstr "" -#: ../../../DeveloperPolicy.rst:1143 +#: ../../../DeveloperPolicy.rst:1146 msgid "" "Other infrastructure integration can be discussed on a case-by-case basis." msgstr "" -#: ../../../DeveloperPolicy.rst:1145 +#: ../../../DeveloperPolicy.rst:1148 msgid "" "Graduation to the mono-repo would follow existing processes and standards " "for becoming a first-class part of the monorepo. Similarly, an incubating " @@ -1907,22 +1913,22 @@ msgid "" "`LLVM Discourse forums`_." msgstr "" -#: ../../../DeveloperPolicy.rst:1150 +#: ../../../DeveloperPolicy.rst:1153 msgid "" "This process is very new - please expect the details to change, it is always " "safe to ask on the `LLVM Discourse forums`_ about this." msgstr "" -#: ../../../DeveloperPolicy.rst:1153 +#: ../../../DeveloperPolicy.rst:1156 msgid "" "Suggested disclaimer for the project README and the main project web page:" msgstr "" -#: ../../../DeveloperPolicy.rst:1163 +#: ../../../DeveloperPolicy.rst:1166 msgid "Adding or enabling a new LLVM pass" msgstr "" -#: ../../../DeveloperPolicy.rst:1165 +#: ../../../DeveloperPolicy.rst:1168 msgid "" "The guidelines here are primarily targeted at the enablement of new major " "passes in the target-independent optimization pipeline. Small additions, or " @@ -1931,7 +1937,7 @@ msgid "" "existing pass first. This is often both faster and more powerful." msgstr "" -#: ../../../DeveloperPolicy.rst:1171 +#: ../../../DeveloperPolicy.rst:1174 msgid "" "When adding a new pass, the goal should be to enable it as part of the " "default optimization pipeline as early as possible and then continue " @@ -1939,51 +1945,51 @@ msgid "" "relevant for specific uses of LLVM, such as GC support passes.)" msgstr "" -#: ../../../DeveloperPolicy.rst:1176 +#: ../../../DeveloperPolicy.rst:1179 msgid "The recommended workflow is:" msgstr "" -#: ../../../DeveloperPolicy.rst:1178 +#: ../../../DeveloperPolicy.rst:1181 msgid "" "Implement a basic version of the pass and add it to the pass pipeline behind " "a flag that is disabled by default. The initial version should focus on " "handling simple cases correctly and efficiently." msgstr "" -#: ../../../DeveloperPolicy.rst:1181 +#: ../../../DeveloperPolicy.rst:1184 msgid "" "Enable the pass by default. Separating this step allows easily disabling the " "pass if issues are encountered, without having to revert the entire " "implementation." msgstr "" -#: ../../../DeveloperPolicy.rst:1184 +#: ../../../DeveloperPolicy.rst:1187 msgid "" "Incrementally extend the pass with new functionality. As the pass is already " "enabled, it becomes easier to identify the specific change that has caused a " "regression in correctness, optimization quality or compile-time." msgstr "" -#: ../../../DeveloperPolicy.rst:1188 +#: ../../../DeveloperPolicy.rst:1191 msgid "" "When enabling a pass, certain requirements must be met (in no particular " "order):" msgstr "" -#: ../../../DeveloperPolicy.rst:1190 +#: ../../../DeveloperPolicy.rst:1193 msgid "" "**Maintenance:** The pass (and any analyses it depends on) must have at " "least one maintainer." msgstr "" -#: ../../../DeveloperPolicy.rst:1192 +#: ../../../DeveloperPolicy.rst:1195 msgid "" "**Usefulness:** There should be evidence that the pass improves performance " "(or whatever metric it optimizes for) on real-world workloads. Improvements " "seen only on synthetic benchmarks may be insufficient." msgstr "" -#: ../../../DeveloperPolicy.rst:1195 +#: ../../../DeveloperPolicy.rst:1198 msgid "" "**Compile-Time:** The pass should not have a large impact on compile-time, " "where the evaluation of what \"large\" means is up to reviewer discretion, " @@ -1992,7 +1998,7 @@ msgid "" "impact, both for the average case, and for pathological cases." msgstr "" -#: ../../../DeveloperPolicy.rst:1200 +#: ../../../DeveloperPolicy.rst:1203 msgid "" "**Correctness:** The pass should have no known correctness issues (except " "global correctness issues that affect all of LLVM). If an old pass is being " @@ -2003,23 +2009,23 @@ msgid "" "implementation." msgstr "" -#: ../../../DeveloperPolicy.rst:1208 +#: ../../../DeveloperPolicy.rst:1211 msgid "" "If non-trivial issues are found in a newly enabled pass, it may be " "temporarily disabled again, until the issues have been resolved." msgstr "" -#: ../../../DeveloperPolicy.rst:1214 +#: ../../../DeveloperPolicy.rst:1217 msgid "Copyright, License, and Patents" msgstr "" -#: ../../../DeveloperPolicy.rst:1218 +#: ../../../DeveloperPolicy.rst:1221 msgid "" "This section deals with legal matters but does not provide legal advice. We " "are not lawyers --- please seek legal counsel from a licensed attorney." msgstr "" -#: ../../../DeveloperPolicy.rst:1221 +#: ../../../DeveloperPolicy.rst:1224 msgid "" "This section addresses the issues of copyright, license and patents for the " "LLVM project. The copyright for the code is held by the contributors of the " @@ -2029,7 +2035,7 @@ msgid "" "project, you license it under these terms." msgstr "" -#: ../../../DeveloperPolicy.rst:1228 +#: ../../../DeveloperPolicy.rst:1231 msgid "" "In certain circumstances, code licensed under other licenses can be added to " "the codebase. However, this may only be done with approval of the LLVM " @@ -2039,7 +2045,7 @@ msgid "" "want to contribute and email board@llvm.org requesting a review." msgstr "" -#: ../../../DeveloperPolicy.rst:1235 +#: ../../../DeveloperPolicy.rst:1238 msgid "" "If you have questions or comments about these topics, please ask on the " "`LLVM Discourse forums`_. However, please realize that most compiler " @@ -2047,11 +2053,11 @@ msgid "" "legal advice." msgstr "" -#: ../../../DeveloperPolicy.rst:1243 +#: ../../../DeveloperPolicy.rst:1246 msgid "Copyright" msgstr "" -#: ../../../DeveloperPolicy.rst:1245 +#: ../../../DeveloperPolicy.rst:1248 msgid "" "The LLVM project does not collect copyright assignments, which means that " "the copyright for the code in the project is held by the respective " @@ -2061,7 +2067,7 @@ msgid "" "be changed in the future without your approval." msgstr "" -#: ../../../DeveloperPolicy.rst:1252 +#: ../../../DeveloperPolicy.rst:1255 msgid "" "Because the LLVM project does not require copyright assignments, changing " "the LLVM license requires tracking down the contributors to LLVM and getting " @@ -2071,18 +2077,18 @@ msgid "" "which they disagree." msgstr "" -#: ../../../DeveloperPolicy.rst:1260 +#: ../../../DeveloperPolicy.rst:1263 msgid "Embedded Copyright or 'Contributed by' Statements" msgstr "" -#: ../../../DeveloperPolicy.rst:1262 +#: ../../../DeveloperPolicy.rst:1265 msgid "" "The LLVM project does not accept contributions that include in-source " "copyright notices except where such notices are part of a larger external " "project being added as a vendored dependency." msgstr "" -#: ../../../DeveloperPolicy.rst:1266 +#: ../../../DeveloperPolicy.rst:1269 msgid "" "LLVM source code lives for a long time and is edited by many people, the " "best way to track contributions is through revision control history. See the " @@ -2090,50 +2096,50 @@ msgid "" "changes to authors other than the committer." msgstr "" -#: ../../../DeveloperPolicy.rst:1272 +#: ../../../DeveloperPolicy.rst:1275 msgid "Relicensing" msgstr "" -#: ../../../DeveloperPolicy.rst:1274 +#: ../../../DeveloperPolicy.rst:1277 msgid "" "The last paragraph notwithstanding, the LLVM Project is in the middle of a " "large effort to change licenses, which aims to solve several problems:" msgstr "" -#: ../../../DeveloperPolicy.rst:1277 +#: ../../../DeveloperPolicy.rst:1280 msgid "" "The old licenses made it difficult to move code from (e.g.) the compiler to " "runtime libraries, because runtime libraries used a different license from " "the rest of the compiler." msgstr "" -#: ../../../DeveloperPolicy.rst:1280 +#: ../../../DeveloperPolicy.rst:1283 msgid "" "Some contributions were not submitted to LLVM due to concerns that the " "patent grant required by the project was overly broad." msgstr "" -#: ../../../DeveloperPolicy.rst:1282 +#: ../../../DeveloperPolicy.rst:1285 msgid "" "The patent grant was unique to the LLVM Project, not written by a lawyer, " "and was difficult to determine what protection was provided (if any)." msgstr "" -#: ../../../DeveloperPolicy.rst:1285 +#: ../../../DeveloperPolicy.rst:1288 msgid "" "The scope of relicensing is all code that is considered part of the LLVM " "project, including the main LLVM repository, runtime libraries (compiler_rt, " "OpenMP, etc), Polly, and all other subprojects. There are a few exceptions:" msgstr "" -#: ../../../DeveloperPolicy.rst:1289 +#: ../../../DeveloperPolicy.rst:1292 msgid "" "Code imported from other projects (e.g. Google Test, Autoconf, etc) will " "remain as it is. This code isn't developed as part of the LLVM project, it " "is used by LLVM." msgstr "" -#: ../../../DeveloperPolicy.rst:1292 +#: ../../../DeveloperPolicy.rst:1295 msgid "" "Some subprojects are impractical or uninteresting to relicense (e.g. llvm-" "gcc and dragonegg). These will be split off from the LLVM project (e.g. to " @@ -2141,7 +2147,7 @@ msgid "" "development elsewhere." msgstr "" -#: ../../../DeveloperPolicy.rst:1297 +#: ../../../DeveloperPolicy.rst:1300 msgid "" "To relicense LLVM, we will be seeking approval from all of the copyright " "holders of code in the repository, or potentially remove/rewrite code if we " @@ -2149,7 +2155,7 @@ msgid "" "significant amount of time to complete." msgstr "" -#: ../../../DeveloperPolicy.rst:1303 +#: ../../../DeveloperPolicy.rst:1306 msgid "" "Starting on 2024-06-01 (first of June 2024), new contributions only need to " "be covered by the new LLVM license, i.e. Apache-2.0 WITH LLVM-exception. " @@ -2157,7 +2163,7 @@ msgid "" "both the new license and the legacy license." msgstr "" -#: ../../../DeveloperPolicy.rst:1308 +#: ../../../DeveloperPolicy.rst:1311 msgid "" "If you are a contributor to LLVM with contributions committed before " "2019-01-19 and have not done so already, please do follow the instructions " @@ -2166,11 +2172,11 @@ msgid "" "license." msgstr "" -#: ../../../DeveloperPolicy.rst:1317 +#: ../../../DeveloperPolicy.rst:1320 msgid "New LLVM Project License Framework" msgstr "" -#: ../../../DeveloperPolicy.rst:1319 +#: ../../../DeveloperPolicy.rst:1322 msgid "" "Contributions to LLVM are licensed under the `Apache License, Version 2.0 " "`_, with two limited exceptions " @@ -2179,7 +2185,7 @@ msgid "" "The exceptions read:" msgstr "" -#: ../../../DeveloperPolicy.rst:1344 +#: ../../../DeveloperPolicy.rst:1347 msgid "" "We intend to keep LLVM perpetually open source and available under a " "permissive license - this fosters the widest adoption of LLVM by **allowing " @@ -2188,43 +2194,43 @@ msgid "" "particular, LLVM's license is not a \"copyleft\" license like the GPL." msgstr "" -#: ../../../DeveloperPolicy.rst:1350 +#: ../../../DeveloperPolicy.rst:1353 msgid "The \"Apache 2.0 License with LLVM exceptions\" allows you to:" msgstr "" -#: ../../../DeveloperPolicy.rst:1352 +#: ../../../DeveloperPolicy.rst:1355 msgid "" "freely download and use LLVM (in whole or in part) for personal, internal, " "or commercial purposes." msgstr "" -#: ../../../DeveloperPolicy.rst:1354 +#: ../../../DeveloperPolicy.rst:1357 msgid "include LLVM in packages or distributions you create." msgstr "" -#: ../../../DeveloperPolicy.rst:1355 +#: ../../../DeveloperPolicy.rst:1358 msgid "" "combine LLVM with code licensed under every other major open source license " "(including BSD, MIT, GPLv2, GPLv3...)." msgstr "" -#: ../../../DeveloperPolicy.rst:1357 +#: ../../../DeveloperPolicy.rst:1360 msgid "" "make changes to LLVM code without being required to contribute it back to " "the project - contributions are appreciated though!" msgstr "" -#: ../../../DeveloperPolicy.rst:1360 +#: ../../../DeveloperPolicy.rst:1363 msgid "However, it imposes these limitations on you:" msgstr "" -#: ../../../DeveloperPolicy.rst:1362 +#: ../../../DeveloperPolicy.rst:1365 msgid "" "You must retain the copyright notice if you redistribute LLVM: You cannot " "strip the copyright headers off or replace them with your own." msgstr "" -#: ../../../DeveloperPolicy.rst:1364 +#: ../../../DeveloperPolicy.rst:1367 msgid "" "Binaries that include LLVM must reproduce the copyright notice (e.g. in an " "included README file or in an \"About\" box), unless the LLVM code was added " @@ -2233,18 +2239,18 @@ msgid "" "by the compiler, you do not need to attribute it." msgstr "" -#: ../../../DeveloperPolicy.rst:1369 +#: ../../../DeveloperPolicy.rst:1372 msgid "" "You can't use our names to promote your products (LLVM derived or not) - " "though you can make truthful statements about your use of the LLVM code, " "without implying our sponsorship." msgstr "" -#: ../../../DeveloperPolicy.rst:1372 ../../../DeveloperPolicy.rst:1455 +#: ../../../DeveloperPolicy.rst:1375 ../../../DeveloperPolicy.rst:1458 msgid "There's no warranty on LLVM at all." msgstr "" -#: ../../../DeveloperPolicy.rst:1374 +#: ../../../DeveloperPolicy.rst:1377 msgid "" "We want LLVM code to be widely used, and believe that this provides a model " "that is great for contributors and users of the project. For more " @@ -2253,11 +2259,11 @@ msgid "" "Apache Project." msgstr "" -#: ../../../DeveloperPolicy.rst:1383 +#: ../../../DeveloperPolicy.rst:1386 msgid "Patents" msgstr "" -#: ../../../DeveloperPolicy.rst:1385 +#: ../../../DeveloperPolicy.rst:1388 msgid "" "Section 3 of the Apache 2.0 license is a patent grant under which " "contributors of code to the project contribute the rights to use any of " @@ -2268,7 +2274,7 @@ msgid "" "the odds of patent lawsuits in general." msgstr "" -#: ../../../DeveloperPolicy.rst:1393 +#: ../../../DeveloperPolicy.rst:1396 msgid "" "The license specifically scopes which patents are included with code " "contributions. To help explain this, the `Apache License FAQ `_, which boils down to this:" msgstr "" -#: ../../../DeveloperPolicy.rst:1450 +#: ../../../DeveloperPolicy.rst:1453 msgid "You can freely distribute LLVM." msgstr "" -#: ../../../DeveloperPolicy.rst:1451 +#: ../../../DeveloperPolicy.rst:1454 msgid "You must retain the copyright notice if you redistribute LLVM." msgstr "" -#: ../../../DeveloperPolicy.rst:1452 +#: ../../../DeveloperPolicy.rst:1455 msgid "" "Binaries derived from LLVM must reproduce the copyright notice (e.g. in an " "included README file)." msgstr "" -#: ../../../DeveloperPolicy.rst:1454 +#: ../../../DeveloperPolicy.rst:1457 msgid "You can't use our names to promote your LLVM derived products." msgstr "" -#: ../../../DeveloperPolicy.rst:1457 +#: ../../../DeveloperPolicy.rst:1460 msgid "" "We believe this fosters the widest adoption of LLVM because it **allows " "commercial products to be derived from LLVM** with few restrictions and " @@ -2328,7 +2334,7 @@ msgid "" "further clarification is needed." msgstr "" -#: ../../../DeveloperPolicy.rst:1464 +#: ../../../DeveloperPolicy.rst:1467 msgid "" "In addition to the UIUC license, the runtime library components of LLVM " "(**compiler_rt, libc++, and libclc**) are also licensed under the `MIT " @@ -2345,47 +2351,11 @@ msgid "" "core to libc++ without the copyright owner's permission." msgstr "" -#: ../../../DeveloperPolicy.rst:1481 +#: ../../../DeveloperPolicy.rst:1484 msgid "AI generated contributions" msgstr "" -#: ../../../DeveloperPolicy.rst:1483 -msgid "" -"Artificial intelligence systems raise many questions around copyright that " -"have yet to be answered. Our policy on AI tools is guided by our copyright " -"policy: Contributors are responsible for ensuring that they have the right " -"to contribute code under the terms of our license, typically meaning that " -"either they, their employer, or their collaborators hold the copyright. " -"Using AI tools to regenerate copyrighted material does not remove the " -"copyright, and contributors are responsible for ensuring that such material " -"does not appear in their contributions." -msgstr "" - -#: ../../../DeveloperPolicy.rst:1492 -msgid "" -"As such, the LLVM policy is that contributors are permitted to use " -"artificial intelligence tools to produce contributions, provided that they " -"have the right to license that code under the project license. Contributions " -"found to violate this policy will be removed just like any other offending " -"contribution." -msgstr "" - -#: ../../../DeveloperPolicy.rst:1497 -msgid "" -"While the LLVM project has a liberal policy on AI tool use, contributors are " -"considered responsible for their contributions. We encourage contributors to " -"review all generated code before sending it for review to verify its " -"correctness and to understand it so that they can answer questions during " -"code review. Reviewing and maintaining generated code that the original " -"contributor does not understand is not a good use of limited project " -"resources." -msgstr "" - -#: ../../../DeveloperPolicy.rst:1504 +#: ../../../DeveloperPolicy.rst:1486 msgid "" -"The one exception we reserve is for GitHub issues labelled with the \"good " -"first issue\" label. These issues are selected by LLVM contributors to help " -"newcomers get familiar with the code base. Thus, it makes no sense to fix " -"them using AI tools. **Using AI tools to fix issues labelled as \"good first " -"issues\" is forbidden**." +"This section has moved into a :doc:`separate policy document `." msgstr "" diff --git a/main/locale/pot/LC_MESSAGES/DirectX/DXILResources.pot b/main/locale/pot/LC_MESSAGES/DirectX/DXILResources.pot index f924e59c6a1..0a6de2ecf2f 100644 --- a/main/locale/pot/LC_MESSAGES/DirectX/DXILResources.pot +++ b/main/locale/pot/LC_MESSAGES/DirectX/DXILResources.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: LLVM main\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-01-05 08:39+0000\n" +"POT-Creation-Date: 2026-03-09 08:48+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -417,7 +417,9 @@ msgid "3" msgstr "" #: ../../../DirectX/DXILResources.rst:194 -msgid "Range size of the binding." +msgid "" +"Range size of the binding, where ``UINT32_MAX (~0U)`` denotes an unbounded " +"range." msgstr "" #: ../../../DirectX/DXILResources.rst:195 diff --git a/main/locale/pot/LC_MESSAGES/Extensions.pot b/main/locale/pot/LC_MESSAGES/Extensions.pot index e54d7c2e32f..06ef99151c9 100644 --- a/main/locale/pot/LC_MESSAGES/Extensions.pot +++ b/main/locale/pot/LC_MESSAGES/Extensions.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: LLVM main\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-12-22 08:34+0000\n" +"POT-Creation-Date: 2026-03-09 08:48+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -46,134 +46,155 @@ msgid "" msgstr "" #: ../../../Extensions.rst:32 +msgid "``.prefalign`` directive" +msgstr "" + +#: ../../../Extensions.rst:34 +msgid "" +"The ``.prefalign`` directive sets the preferred alignment for a section, and " +"enables the section's final alignment to be set in a way that is dependent " +"on the section size (currently only supported with ELF)." +msgstr "" + +#: ../../../Extensions.rst:38 +msgid "" +"If the section size is less than the section's minimum alignment as " +"determined using ``.align`` family directives, the section's alignment will " +"be equal to its minimum alignment. Otherwise, if the section size is between " +"the minimum alignment and the preferred alignment, the section's alignment " +"will be equal to the power of 2 greater than or equal to the section size. " +"Otherwise, the section's alignment will be equal to the preferred alignment." +msgstr "" + +#: ../../../Extensions.rst:47 msgid "Machine-specific Assembly Syntax" msgstr "" -#: ../../../Extensions.rst:35 +#: ../../../Extensions.rst:50 msgid "X86/COFF-Dependent" msgstr "" -#: ../../../Extensions.rst:38 ../../../Extensions.rst:189 -#: ../../../Extensions.rst:749 +#: ../../../Extensions.rst:53 ../../../Extensions.rst:204 +#: ../../../Extensions.rst:764 msgid "Relocations" msgstr "" -#: ../../../Extensions.rst:40 +#: ../../../Extensions.rst:55 msgid "The following additional relocation types are supported:" msgstr "" -#: ../../../Extensions.rst:42 +#: ../../../Extensions.rst:57 msgid "" "**@IMGREL** (AT&T syntax only) generates an image-relative relocation that " "corresponds to the COFF relocation types ``IMAGE_REL_I386_DIR32NB`` (32-bit) " "or ``IMAGE_REL_AMD64_ADDR32NB`` (64-bit)." msgstr "" -#: ../../../Extensions.rst:57 +#: ../../../Extensions.rst:72 msgid "" "**.secrel32** generates a relocation that corresponds to the COFF relocation " "types ``IMAGE_REL_I386_SECREL`` (32-bit) or ``IMAGE_REL_AMD64_SECREL`` (64-" "bit)." msgstr "" -#: ../../../Extensions.rst:60 +#: ../../../Extensions.rst:75 msgid "" "**.secidx** relocation generates an index of the section that contains the " "target. It corresponds to the COFF relocation types " "``IMAGE_REL_I386_SECTION`` (32-bit) or ``IMAGE_REL_AMD64_SECTION`` (64-bit)." msgstr "" -#: ../../../Extensions.rst:75 +#: ../../../Extensions.rst:90 msgid "``.linkonce`` Directive" msgstr "" -#: ../../../Extensions.rst:77 ../../../Extensions.rst:681 -#: ../../../Extensions.rst:688 ../../../Extensions.rst:697 -#: ../../../Extensions.rst:707 ../../../Extensions.rst:712 -#: ../../../Extensions.rst:717 ../../../Extensions.rst:724 -#: ../../../Extensions.rst:735 ../../../Extensions.rst:740 +#: ../../../Extensions.rst:92 ../../../Extensions.rst:696 +#: ../../../Extensions.rst:703 ../../../Extensions.rst:712 +#: ../../../Extensions.rst:722 ../../../Extensions.rst:727 +#: ../../../Extensions.rst:732 ../../../Extensions.rst:739 +#: ../../../Extensions.rst:750 ../../../Extensions.rst:755 msgid "Syntax:" msgstr "" -#: ../../../Extensions.rst:79 +#: ../../../Extensions.rst:94 msgid "``.linkonce [ comdat type ]``" msgstr "" -#: ../../../Extensions.rst:81 +#: ../../../Extensions.rst:96 msgid "Supported COMDAT types:" msgstr "" -#: ../../../Extensions.rst:85 +#: ../../../Extensions.rst:100 msgid "``discard``" msgstr "" -#: ../../../Extensions.rst:84 +#: ../../../Extensions.rst:99 msgid "" "Discards duplicate sections with the same COMDAT symbol. This is the default " "if no type is specified." msgstr "" -#: ../../../Extensions.rst:88 +#: ../../../Extensions.rst:103 msgid "``one_only``" msgstr "" -#: ../../../Extensions.rst:88 +#: ../../../Extensions.rst:103 msgid "If the symbol is defined multiple times, the linker issues an error." msgstr "" -#: ../../../Extensions.rst:92 +#: ../../../Extensions.rst:107 msgid "``same_size``" msgstr "" -#: ../../../Extensions.rst:91 +#: ../../../Extensions.rst:106 msgid "" "Duplicates are discarded, but the linker issues an error if any have " "different sizes." msgstr "" -#: ../../../Extensions.rst:96 +#: ../../../Extensions.rst:111 msgid "``same_contents``" msgstr "" -#: ../../../Extensions.rst:95 +#: ../../../Extensions.rst:110 msgid "" "Duplicates are discarded, but the linker issues an error if any duplicates " "do not have exactly the same content." msgstr "" -#: ../../../Extensions.rst:99 +#: ../../../Extensions.rst:114 msgid "``largest``" msgstr "" -#: ../../../Extensions.rst:99 +#: ../../../Extensions.rst:114 msgid "Links the largest section from among the duplicates." msgstr "" -#: ../../../Extensions.rst:103 +#: ../../../Extensions.rst:118 msgid "``newest``" msgstr "" -#: ../../../Extensions.rst:102 +#: ../../../Extensions.rst:117 msgid "Links the newest section from among the duplicates." msgstr "" -#: ../../../Extensions.rst:112 ../../../Extensions.rst:213 +#: ../../../Extensions.rst:127 ../../../Extensions.rst:228 msgid "``.section`` Directive" msgstr "" -#: ../../../Extensions.rst:114 +#: ../../../Extensions.rst:129 msgid "" "MC supports passing the information in ``.linkonce`` at the end of ``." "section``. For example, these two codes are equivalent" msgstr "" -#: ../../../Extensions.rst:132 +#: ../../../Extensions.rst:147 msgid "" "Note that in the combined form the COMDAT symbol is explicit. This extension " "exists to support multiple sections with the same name in different COMDATs:" msgstr "" -#: ../../../Extensions.rst:149 +#: ../../../Extensions.rst:164 msgid "" "In addition to the types allowed with ``.linkonce``, ``.section`` also " "accepts ``associative``. The meaning is that the section is linked if a " @@ -182,97 +203,97 @@ msgid "" "associated section, but is usually the associated section's comdat." msgstr "" -#: ../../../Extensions.rst:155 +#: ../../../Extensions.rst:170 msgid "The following restrictions apply to the associated section:" msgstr "" -#: ../../../Extensions.rst:157 +#: ../../../Extensions.rst:172 msgid "It must be a COMDAT section." msgstr "" -#: ../../../Extensions.rst:158 +#: ../../../Extensions.rst:173 msgid "It cannot be another associative COMDAT section." msgstr "" -#: ../../../Extensions.rst:160 +#: ../../../Extensions.rst:175 msgid "" "In the following example, the symbol ``sym`` is the comdat symbol of ``." "foo``, and ``.bar`` is associated with ``.foo``." msgstr "" -#: ../../../Extensions.rst:168 +#: ../../../Extensions.rst:183 msgid "MC supports these flags in the COFF ``.section`` directive:" msgstr "" -#: ../../../Extensions.rst:170 +#: ../../../Extensions.rst:185 msgid "``b``: BSS section (``IMAGE_SCN_CNT_INITIALIZED_DATA``)" msgstr "" -#: ../../../Extensions.rst:171 +#: ../../../Extensions.rst:186 msgid "``d``: Data section (``IMAGE_SCN_CNT_UNINITIALIZED_DATA``)" msgstr "" -#: ../../../Extensions.rst:172 +#: ../../../Extensions.rst:187 msgid "``n``: Section is not loaded (``IMAGE_SCN_LNK_REMOVE``)" msgstr "" -#: ../../../Extensions.rst:173 +#: ../../../Extensions.rst:188 msgid "``r``: Read-only" msgstr "" -#: ../../../Extensions.rst:174 +#: ../../../Extensions.rst:189 msgid "``s``: Shared section" msgstr "" -#: ../../../Extensions.rst:175 +#: ../../../Extensions.rst:190 msgid "``w``: Writable" msgstr "" -#: ../../../Extensions.rst:176 +#: ../../../Extensions.rst:191 msgid "``x``: Executable section" msgstr "" -#: ../../../Extensions.rst:177 +#: ../../../Extensions.rst:192 msgid "``y``: Not readable" msgstr "" -#: ../../../Extensions.rst:178 +#: ../../../Extensions.rst:193 msgid "``D``: Discardable (``IMAGE_SCN_MEM_DISCARDABLE``)" msgstr "" -#: ../../../Extensions.rst:180 +#: ../../../Extensions.rst:195 msgid "" "These flags are all compatible with GNU as, with the exception of the ``D`` " "flag, which GNU as does not support. For compatibility with GNU as, sections " "with a name starting with ``.debug`` are implicitly discardable." msgstr "" -#: ../../../Extensions.rst:186 +#: ../../../Extensions.rst:201 msgid "ARM64/COFF-Dependent" msgstr "" -#: ../../../Extensions.rst:191 +#: ../../../Extensions.rst:206 msgid "The following additional symbol variants are supported:" msgstr "" -#: ../../../Extensions.rst:193 +#: ../../../Extensions.rst:208 msgid "" "**:secrel_lo12:** generates a relocation that corresponds to the COFF " "relocation types ``IMAGE_REL_ARM64_SECREL_LOW12A`` or " "``IMAGE_REL_ARM64_SECREL_LOW12L``." msgstr "" -#: ../../../Extensions.rst:196 +#: ../../../Extensions.rst:211 msgid "" "**:secrel_hi12:** generates a relocation that corresponds to the COFF " "relocation type ``IMAGE_REL_ARM64_SECREL_HIGH12A``." msgstr "" -#: ../../../Extensions.rst:210 +#: ../../../Extensions.rst:225 msgid "ELF-Dependent" msgstr "" -#: ../../../Extensions.rst:215 +#: ../../../Extensions.rst:230 msgid "" "In order to support creating multiple sections with the same name and " "comdat, it is possible to add a unique number at the end of the ``.section`` " @@ -280,27 +301,27 @@ msgid "" "text``." msgstr "" -#: ../../../Extensions.rst:228 +#: ../../../Extensions.rst:243 msgid "" "The unique number is not present in the resulting object at all. It is just " "used in the assembler to differentiate the sections." msgstr "" -#: ../../../Extensions.rst:231 +#: ../../../Extensions.rst:246 msgid "" "The 'o' flag is mapped to ``SHF_LINK_ORDER``. If it is present, a symbol " "must be given that identifies the section to be placed in the ``.sh_link``." msgstr "" -#: ../../../Extensions.rst:241 +#: ../../../Extensions.rst:256 msgid "which is equivalent to:" msgstr "" -#: ../../../Extensions.rst:249 +#: ../../../Extensions.rst:264 msgid "``.linker-options`` Section (linker options)" msgstr "" -#: ../../../Extensions.rst:251 +#: ../../../Extensions.rst:266 msgid "" "In order to support passing linker options from the frontend to the linker, " "a special section of type ``SHT_LLVM_LINKER_OPTIONS`` (usually named ``." @@ -313,84 +334,84 @@ msgid "" "error to the user that the requested option was not honoured." msgstr "" -#: ../../../Extensions.rst:261 +#: ../../../Extensions.rst:276 msgid "" "The section has type ``SHT_LLVM_LINKER_OPTIONS`` and has the ``SHF_EXCLUDE`` " "flag to ensure that the section is treated as opaque by linkers which do not " "support the feature and will not be emitted into the final linked binary." msgstr "" -#: ../../../Extensions.rst:265 +#: ../../../Extensions.rst:280 msgid "This would be equivalent to the following raw assembly:" msgstr "" -#: ../../../Extensions.rst:275 +#: ../../../Extensions.rst:290 msgid "The following directives are specified:" msgstr "" -#: ../../../Extensions.rst:277 +#: ../../../Extensions.rst:292 msgid "``lib``" msgstr "" -#: ../../../Extensions.rst:279 +#: ../../../Extensions.rst:294 msgid "" "The parameter identifies a library to be linked against. The library will " "be looked up in the default and any specified library search paths " "(specified to this point)." msgstr "" -#: ../../../Extensions.rst:283 +#: ../../../Extensions.rst:298 msgid "``libpath``" msgstr "" -#: ../../../Extensions.rst:285 +#: ../../../Extensions.rst:300 msgid "" "The parameter identifies an additional library search path to be considered " "when looking up libraries after the inclusion of this option." msgstr "" -#: ../../../Extensions.rst:289 +#: ../../../Extensions.rst:304 msgid "``SHT_LLVM_DEPENDENT_LIBRARIES`` Section (Dependent Libraries)" msgstr "" -#: ../../../Extensions.rst:291 +#: ../../../Extensions.rst:306 msgid "" "This section contains strings specifying libraries to be added to the link " "by the linker." msgstr "" -#: ../../../Extensions.rst:294 +#: ../../../Extensions.rst:309 msgid "" "The section should be consumed by the linker and not written to the output." msgstr "" -#: ../../../Extensions.rst:296 +#: ../../../Extensions.rst:311 msgid "The strings are encoded as standard null-terminated UTF-8 strings." msgstr "" -#: ../../../Extensions.rst:298 ../../../Extensions.rst:653 -#: ../../../Extensions.rst:756 +#: ../../../Extensions.rst:313 ../../../Extensions.rst:668 +#: ../../../Extensions.rst:771 msgid "For example:" msgstr "" -#: ../../../Extensions.rst:306 +#: ../../../Extensions.rst:321 msgid "" "The interpretation of the library specifiers is defined by the consuming " "linker." msgstr "" -#: ../../../Extensions.rst:309 +#: ../../../Extensions.rst:324 msgid "``SHT_LLVM_CALL_GRAPH_PROFILE`` Section (Call Graph Profile)" msgstr "" -#: ../../../Extensions.rst:311 +#: ../../../Extensions.rst:326 msgid "" "This section is used to pass a call graph profile to the linker which can be " "used to optimize the placement of sections. It contains a sequence of (from " "symbol, to symbol, weight) tuples." msgstr "" -#: ../../../Extensions.rst:315 +#: ../../../Extensions.rst:330 msgid "" "It shall have a type of ``SHT_LLVM_CALL_GRAPH_PROFILE`` (0x6fff4c02), shall " "have the ``SHF_EXCLUDE`` flag set, the ``sh_link`` member shall hold the " @@ -398,40 +419,40 @@ msgid "" "``sh_entsize`` of 16. It should be named ``.llvm.call-graph-profile``." msgstr "" -#: ../../../Extensions.rst:320 +#: ../../../Extensions.rst:335 msgid "" "The contents of the section shall be a sequence of ``Elf_CGProfile`` entries." msgstr "" -#: ../../../Extensions.rst:331 +#: ../../../Extensions.rst:346 msgid "``cgp_from``" msgstr "" -#: ../../../Extensions.rst:331 +#: ../../../Extensions.rst:346 msgid "The symbol index of the source of the edge." msgstr "" -#: ../../../Extensions.rst:334 +#: ../../../Extensions.rst:349 msgid "``cgp_to``" msgstr "" -#: ../../../Extensions.rst:334 +#: ../../../Extensions.rst:349 msgid "The symbol index of the destination of the edge." msgstr "" -#: ../../../Extensions.rst:337 +#: ../../../Extensions.rst:352 msgid "``cgp_weight``" msgstr "" -#: ../../../Extensions.rst:337 +#: ../../../Extensions.rst:352 msgid "The weight of the edge." msgstr "" -#: ../../../Extensions.rst:339 +#: ../../../Extensions.rst:354 msgid "This is represented in assembly as:" msgstr "" -#: ../../../Extensions.rst:345 +#: ../../../Extensions.rst:360 msgid "" "``.cg_profile`` directives are processed at the end of the file. It is an " "error if either ``from`` or ``to`` are undefined temporary symbols. If " @@ -441,11 +462,11 @@ msgid "" "symbol to show up in the symbol table." msgstr "" -#: ../../../Extensions.rst:353 +#: ../../../Extensions.rst:368 msgid "``SHT_LLVM_ADDRSIG`` Section (address-significance table)" msgstr "" -#: ../../../Extensions.rst:355 +#: ../../../Extensions.rst:370 msgid "" "This section is used to mark symbols as address-significant, i.e., the " "address of the symbol is used in a comparison or leaks outside the " @@ -453,7 +474,7 @@ msgid "" "attributes ``unnamed_addr`` and ``local_unnamed_addr``." msgstr "" -#: ../../../Extensions.rst:360 +#: ../../../Extensions.rst:375 msgid "" "Any sections referred to by symbols that are not marked as address-" "significant in any object file may be safely merged by a linker without " @@ -461,33 +482,33 @@ msgid "" "standards." msgstr "" -#: ../../../Extensions.rst:364 +#: ../../../Extensions.rst:379 msgid "" "The contents of the section are a sequence of ULEB128-encoded integers " "referring to the symbol table indexes of the address-significant symbols." msgstr "" -#: ../../../Extensions.rst:367 +#: ../../../Extensions.rst:382 msgid "There are two associated assembly directives:" msgstr "" -#: ../../../Extensions.rst:373 +#: ../../../Extensions.rst:388 msgid "" "This instructs the assembler to emit an address-significance table. Without " "this directive, all symbols are considered address-significant." msgstr "" -#: ../../../Extensions.rst:380 +#: ../../../Extensions.rst:395 msgid "" "If ``sym`` is not otherwise referenced or defined anywhere else in the file, " "this directive is a no-op. Otherwise, mark ``sym`` as address-significant." msgstr "" -#: ../../../Extensions.rst:384 +#: ../../../Extensions.rst:399 msgid "``SHT_LLVM_SYMPART`` Section (symbol partition specification)" msgstr "" -#: ../../../Extensions.rst:386 +#: ../../../Extensions.rst:401 msgid "" "This section is used to mark symbols with the `partition`_ that they belong " "to. An ``.llvm_sympart`` section consists of a null-terminated string " @@ -495,11 +516,11 @@ msgid "" "the symbol that belongs to the partition. It may be constructed as follows:" msgstr "" -#: ../../../Extensions.rst:400 +#: ../../../Extensions.rst:415 msgid "``SHT_LLVM_BB_ADDR_MAP`` Section (basic block address map)" msgstr "" -#: ../../../Extensions.rst:401 +#: ../../../Extensions.rst:416 msgid "" "This section stores the binary addresses of basic blocks along with other " "related metadata. This information can be used to map binary profiles (like " @@ -508,7 +529,7 @@ msgid "" "for every function." msgstr "" -#: ../../../Extensions.rst:407 +#: ../../../Extensions.rst:422 msgid "" "The ``SHT_LLVM_BB_ADDR_MAP`` type provides backward compatibility to allow " "reading older versions of the BB address map generated by older compilers " @@ -520,13 +541,13 @@ msgid "" "running-offset fashion, as offsets relative to prior addresses." msgstr "" -#: ../../../Extensions.rst:416 +#: ../../../Extensions.rst:431 msgid "" "The following versioning schemes are currently supported (newer versions " "support features of the older versions)." msgstr "" -#: ../../../Extensions.rst:419 +#: ../../../Extensions.rst:434 msgid "" "Version 5 (newest): Capable of encoding Post-Link CFG information, which " "provides basic block and edge frequencies obtained from a post-link tool " @@ -535,35 +556,35 @@ msgid "" "to accommodate future extensions." msgstr "" -#: ../../../Extensions.rst:425 +#: ../../../Extensions.rst:440 msgid "" "Version 4: Capable of encoding basic block hashes. This feature is enabled " "by the 7th bit of the feature byte." msgstr "" -#: ../../../Extensions.rst:428 ../../../Extensions.rst:457 -#: ../../../Extensions.rst:485 +#: ../../../Extensions.rst:443 ../../../Extensions.rst:472 +#: ../../../Extensions.rst:500 msgid "Example:" msgstr "" -#: ../../../Extensions.rst:454 +#: ../../../Extensions.rst:469 msgid "" "Version 3: Capable of encoding callsite offsets. Enabled by the 6th bit of " "the feature byte." msgstr "" -#: ../../../Extensions.rst:481 +#: ../../../Extensions.rst:496 msgid "" "Version 2: Capable of encoding split functions. Enabled by the 4th bit of " "the feature byte. The base address of each split range is stored as a full " "address. The first range corresponds to the function entry." msgstr "" -#: ../../../Extensions.rst:511 +#: ../../../Extensions.rst:526 msgid "PGO Analysis Map" msgstr "" -#: ../../../Extensions.rst:513 +#: ../../../Extensions.rst:528 msgid "" "PGO related analysis data can be emitted after each function within the " "``SHT_LLVM_BB_ADDR_MAP`` through the optional ``pgo-analysis-map`` flag. " @@ -571,20 +592,20 @@ msgid "" "Frequencies, and Branch Probabilities." msgstr "" -#: ../../../Extensions.rst:518 +#: ../../../Extensions.rst:533 msgid "" "Each analysis is enabled or disabled via a bit in the feature byte. " "Currently, those bits are:" msgstr "" -#: ../../../Extensions.rst:521 +#: ../../../Extensions.rst:536 msgid "" "Function Entry Count - Number of times the function was called as taken from " "a PGO profile. This will always be zero if PGO was not used or the function " "was not encountered in the profile." msgstr "" -#: ../../../Extensions.rst:525 +#: ../../../Extensions.rst:540 msgid "" "Basic Block Frequencies - Encoded as raw block frequency value taken from " "MBFI analysis. This value is an integer that encodes the relative frequency " @@ -592,7 +613,7 @@ msgid "" "BlockFrequency.h``." msgstr "" -#: ../../../Extensions.rst:530 +#: ../../../Extensions.rst:545 msgid "" "Branch Probabilities - Encoded as raw numerator for branch probability taken " "from MBPI analysis. This value is the numerator for a fixed point ratio " @@ -601,7 +622,7 @@ msgid "" "execution." msgstr "" -#: ../../../Extensions.rst:535 +#: ../../../Extensions.rst:550 msgid "" "Post-Link CFG - When enabled, the PGO Analysis Map will include CFG " "information obtained from a post-link tool, such as Propeller. This feature " @@ -611,21 +632,21 @@ msgid "" "information that reflects the final binary layout." msgstr "" -#: ../../../Extensions.rst:542 +#: ../../../Extensions.rst:557 msgid "" "This extra data requires version 2 or above. This is necessary since " "successors of basic blocks won't know their index but will know their BB ID." msgstr "" -#: ../../../Extensions.rst:545 +#: ../../../Extensions.rst:560 msgid "Example of BBAddrMap with PGO data:" msgstr "" -#: ../../../Extensions.rst:602 +#: ../../../Extensions.rst:617 msgid "``SHT_LLVM_OFFLOADING`` Section (offloading data)" msgstr "" -#: ../../../Extensions.rst:603 +#: ../../../Extensions.rst:618 msgid "" "This section stores the binary data used to perform offloading device " "linking and execution, creating a fat binary. This section is emitted during " @@ -635,18 +656,18 @@ msgid "" "executable or shared library." msgstr "" -#: ../../../Extensions.rst:609 +#: ../../../Extensions.rst:624 msgid "" "The binary data stored in this section conforms to a custom binary format " "used for storing offloading metadata. This format is effectively a string " "table containing metadata accompanied by a device image." msgstr "" -#: ../../../Extensions.rst:614 +#: ../../../Extensions.rst:629 msgid "``SHT_LLVM_LTO`` Section (LLVM bitcode for fat LTO)" msgstr "" -#: ../../../Extensions.rst:615 +#: ../../../Extensions.rst:630 msgid "" "This section stores LLVM bitcode used to perform regular LTO or ThinLTO at " "link time. This section is generated when the compiler enables fat LTO. This " @@ -654,22 +675,22 @@ msgid "" "executable or shared library." msgstr "" -#: ../../../Extensions.rst:621 +#: ../../../Extensions.rst:636 msgid "``SHT_LLVM_JT_SIZES`` Section (Jump table addresses and sizes)" msgstr "" -#: ../../../Extensions.rst:622 +#: ../../../Extensions.rst:637 msgid "" "This section stores pairs of (jump table address, number of entries). This " "information is useful for tools that need to statically reconstruct the " "control flow of executables." msgstr "" -#: ../../../Extensions.rst:627 +#: ../../../Extensions.rst:642 msgid "``SHT_LLVM_CFI_JUMP_TABLE`` Section (CFI jump table)" msgstr "" -#: ../../../Extensions.rst:628 +#: ../../../Extensions.rst:643 msgid "" "This section contains the instructions that make up a `CFI jump table`_. It " "is expected to be ``SHF_ALLOC`` and may be laid out like a normal section. " @@ -678,7 +699,7 @@ msgid "" "optimize calls via the jump table." msgstr "" -#: ../../../Extensions.rst:634 +#: ../../../Extensions.rst:649 msgid "" "Each ``sh_entsize`` sized slice of a section of this type containing exactly " "one relocation may be considered to be a jump table entry that branches to " @@ -687,77 +708,77 @@ msgid "" "is the last function in the jump table." msgstr "" -#: ../../../Extensions.rst:640 +#: ../../../Extensions.rst:655 msgid "" "A section of this type does not have to be placed according to its name. The " "linker may place the section in whichever output section it sees fit " "(generally the section that would provide the best locality)." msgstr "" -#: ../../../Extensions.rst:647 +#: ../../../Extensions.rst:662 msgid "``SHT_LLVM_CALL_GRAPH`` Section (Call Graph)" msgstr "" -#: ../../../Extensions.rst:649 +#: ../../../Extensions.rst:664 msgid "" "This section is used to store the call graph. It has a type of " "``SHT_LLVM_CALL_GRAPH`` (0x6fff4c0f). Details of call graph section layout " "are described in :doc:`CallGraphSection`." msgstr "" -#: ../../../Extensions.rst:671 +#: ../../../Extensions.rst:686 msgid "" "This indicates that ``ball`` calls ``foo``, ``bar`` and ``baz`` directly; " "``ball`` indirectly calls functions whose types are ``4524972987496481828``, " "``3498816979441845844`` and ``8646233951371320954``." msgstr "" -#: ../../../Extensions.rst:676 +#: ../../../Extensions.rst:691 msgid "CodeView-Dependent" msgstr "" -#: ../../../Extensions.rst:679 +#: ../../../Extensions.rst:694 msgid "``.cv_file`` Directive" msgstr "" -#: ../../../Extensions.rst:681 +#: ../../../Extensions.rst:696 msgid "``.cv_file`` *FileNumber FileName* [ *checksum* ] [ *checksumkind* ]" msgstr "" -#: ../../../Extensions.rst:684 +#: ../../../Extensions.rst:699 msgid "``.cv_func_id`` Directive" msgstr "" -#: ../../../Extensions.rst:685 +#: ../../../Extensions.rst:700 msgid "Introduces a function ID that can be used with ``.cv_loc``." msgstr "" -#: ../../../Extensions.rst:688 +#: ../../../Extensions.rst:703 msgid "``.cv_func_id`` *FunctionId*" msgstr "" -#: ../../../Extensions.rst:691 +#: ../../../Extensions.rst:706 msgid "``.cv_inline_site_id`` Directive" msgstr "" -#: ../../../Extensions.rst:692 +#: ../../../Extensions.rst:707 msgid "" "Introduces a function ID that can be used with ``.cv_loc``. Includes " "``inlined at`` source location information for use in the line table of the " "caller, whether the caller is a real function or another inlined call site." msgstr "" -#: ../../../Extensions.rst:697 +#: ../../../Extensions.rst:712 msgid "" "``.cv_inline_site_id`` *FunctionId* ``within`` *Function* ``inlined_at`` " "*FileNumber Line* [ *Column* ]" msgstr "" -#: ../../../Extensions.rst:700 +#: ../../../Extensions.rst:715 msgid "``.cv_loc`` Directive" msgstr "" -#: ../../../Extensions.rst:701 +#: ../../../Extensions.rst:716 msgid "" "The first number is a file number, which must have been previously assigned " "with a ``.file`` directive. The second number is the line number, and the " @@ -765,77 +786,77 @@ msgid "" "remaining optional items are ``.loc`` sub-directives." msgstr "" -#: ../../../Extensions.rst:707 +#: ../../../Extensions.rst:722 msgid "" "``.cv_loc`` *FunctionId FileNumber* [ *Line* ] [ *Column* ] " "[ *prologue_end* ] [ ``is_stmt`` *value* ]" msgstr "" -#: ../../../Extensions.rst:710 +#: ../../../Extensions.rst:725 msgid "``.cv_linetable`` Directive" msgstr "" -#: ../../../Extensions.rst:712 +#: ../../../Extensions.rst:727 msgid "" "``.cv_linetable`` *FunctionId* ``,`` *FunctionStart* ``,`` *FunctionEnd*" msgstr "" -#: ../../../Extensions.rst:715 +#: ../../../Extensions.rst:730 msgid "``.cv_inline_linetable`` Directive" msgstr "" -#: ../../../Extensions.rst:717 +#: ../../../Extensions.rst:732 msgid "" "``.cv_inline_linetable`` *PrimaryFunctionId* ``,`` *FileNumber Line " "FunctionStart FunctionEnd*" msgstr "" -#: ../../../Extensions.rst:720 +#: ../../../Extensions.rst:735 msgid "``.cv_def_range`` Directive" msgstr "" -#: ../../../Extensions.rst:721 +#: ../../../Extensions.rst:736 msgid "The *GapStart* and *GapEnd* options may be repeated as needed." msgstr "" -#: ../../../Extensions.rst:724 +#: ../../../Extensions.rst:739 msgid "" "``.cv_def_range`` *RangeStart RangeEnd* [ *GapStart GapEnd* ] ``,`` *bytes*" msgstr "" -#: ../../../Extensions.rst:727 +#: ../../../Extensions.rst:742 msgid "``.cv_stringtable`` Directive" msgstr "" -#: ../../../Extensions.rst:730 +#: ../../../Extensions.rst:745 msgid "``.cv_filechecksums`` Directive" msgstr "" -#: ../../../Extensions.rst:733 +#: ../../../Extensions.rst:748 msgid "``.cv_filechecksumoffset`` Directive" msgstr "" -#: ../../../Extensions.rst:735 +#: ../../../Extensions.rst:750 msgid "``.cv_filechecksumoffset`` *FileNumber*" msgstr "" -#: ../../../Extensions.rst:738 +#: ../../../Extensions.rst:753 msgid "``.cv_fpo_data`` Directive" msgstr "" -#: ../../../Extensions.rst:740 +#: ../../../Extensions.rst:755 msgid "``.cv_fpo_data`` *procsym*" msgstr "" -#: ../../../Extensions.rst:743 +#: ../../../Extensions.rst:758 msgid "Target-Specific Behaviour" msgstr "" -#: ../../../Extensions.rst:746 +#: ../../../Extensions.rst:761 msgid "X86" msgstr "" -#: ../../../Extensions.rst:751 +#: ../../../Extensions.rst:766 msgid "" "**@ABS8** can be applied to symbols which appear as immediate operands to " "instructions that have an 8-bit immediate form for that operand. It causes " @@ -843,7 +864,7 @@ msgid "" "``R_386_8`` or ``R_X86_64_8``) for the symbol." msgstr "" -#: ../../../Extensions.rst:762 +#: ../../../Extensions.rst:777 msgid "" "This causes the assembler to select the form of the 64-bit ``cmpq`` " "instruction that takes an 8-bit immediate operand that is sign extended to " @@ -852,28 +873,28 @@ msgid "" "comparison." msgstr "" -#: ../../../Extensions.rst:768 +#: ../../../Extensions.rst:783 msgid "" "**@GOTPCREL_NORELAX** can be used in place of ``@GOTPCREL`` to guarantee " "that the assembler emits an ``R_X86_64_GOTPCREL`` relocation instead of a " "relaxable ``R_X86_64[_REX]_GOTPCRELX`` relocation." msgstr "" -#: ../../../Extensions.rst:773 +#: ../../../Extensions.rst:788 msgid "Windows on ARM" msgstr "" -#: ../../../Extensions.rst:776 ../../../Extensions.rst:817 +#: ../../../Extensions.rst:791 ../../../Extensions.rst:832 msgid "Stack Probe Emission" msgstr "" -#: ../../../Extensions.rst:778 +#: ../../../Extensions.rst:793 msgid "" "The reference implementation (Microsoft Visual Studio 2012) emits stack " "probes in the following fashion:" msgstr "" -#: ../../../Extensions.rst:787 +#: ../../../Extensions.rst:802 msgid "" "However, this has the limitation of 32 MiB (±16MiB). In order to " "accommodate larger binaries, LLVM supports the use of ``-mcmodel=large`` to " @@ -881,17 +902,17 @@ msgid "" "jump as follows:" msgstr "" -#: ../../../Extensions.rst:800 +#: ../../../Extensions.rst:815 msgid "Variable Length Arrays" msgstr "" -#: ../../../Extensions.rst:802 +#: ../../../Extensions.rst:817 msgid "" "The reference implementation (Microsoft Visual Studio 2012) does not permit " "the emission of Variable Length Arrays (VLAs)." msgstr "" -#: ../../../Extensions.rst:805 +#: ../../../Extensions.rst:820 msgid "" "The Windows ARM Itanium ABI extends the base ABI by adding support for " "emitting a dynamic stack allocation. When emitting a variable stack " @@ -900,21 +921,21 @@ msgid "" "is handled similarly to the standard stack probe emission." msgstr "" -#: ../../../Extensions.rst:811 +#: ../../../Extensions.rst:826 msgid "The MSVC environment does not emit code for VLAs currently." msgstr "" -#: ../../../Extensions.rst:814 +#: ../../../Extensions.rst:829 msgid "Windows on ARM64" msgstr "" -#: ../../../Extensions.rst:819 +#: ../../../Extensions.rst:834 msgid "" "The reference implementation (Microsoft Visual Studio 2017) emits stack " "probes in the following fashion:" msgstr "" -#: ../../../Extensions.rst:828 +#: ../../../Extensions.rst:843 msgid "" "However, this has the limitation of 256 MiB (±128MiB). In order to " "accommodate larger binaries, LLVM supports the use of ``-mcmodel=large`` to " diff --git a/main/locale/pot/LC_MESSAGES/GettingInvolved.pot b/main/locale/pot/LC_MESSAGES/GettingInvolved.pot index 42d35068318..a0bbeb33fb2 100644 --- a/main/locale/pot/LC_MESSAGES/GettingInvolved.pot +++ b/main/locale/pot/LC_MESSAGES/GettingInvolved.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: LLVM main\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-12-01 08:45+0000\n" +"POT-Creation-Date: 2026-03-09 08:48+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -752,8 +752,8 @@ msgstr "" #: ../../../GettingInvolved.rst:299 msgid "" "Every 2nd and 4th Wednesday of the month at 9.30am CET, for 30 minutes. `ics " -"`__" +"`__" msgstr "" #: ../../../GettingInvolved.rst:301 diff --git a/main/locale/pot/LC_MESSAGES/GettingStarted.pot b/main/locale/pot/LC_MESSAGES/GettingStarted.pot index 6e0acf38261..348ff480a61 100644 --- a/main/locale/pot/LC_MESSAGES/GettingStarted.pot +++ b/main/locale/pot/LC_MESSAGES/GettingStarted.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: LLVM main\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-10-13 08:36+0000\n" +"POT-Creation-Date: 2026-03-09 08:48+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -1622,16 +1622,16 @@ msgid "" msgstr "" #: ../../../GettingStarted.rst:907 -msgid "``bugpoint``" +msgid "``llvm-reduce``" msgstr "" #: ../../../GettingStarted.rst:909 msgid "" -"``bugpoint`` is used to debug optimization passes or code generation " +"``llvm-reduce`` is used to debug optimization passes or code generation " "backends by narrowing down the given test case to the minimum number of " "passes and/or instructions that still cause a problem, whether it is a crash " "or miscompilation. See ``_ for more information on " -"using ``bugpoint``." +"using ``llvm-reduce``." msgstr "" #: ../../../GettingStarted.rst:915 diff --git a/main/locale/pot/LC_MESSAGES/GlobalISel/GenericOpcode.pot b/main/locale/pot/LC_MESSAGES/GlobalISel/GenericOpcode.pot index 21ea62ba249..e3b29fb143b 100644 --- a/main/locale/pot/LC_MESSAGES/GlobalISel/GenericOpcode.pot +++ b/main/locale/pot/LC_MESSAGES/GlobalISel/GenericOpcode.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: LLVM main\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-12-01 08:45+0000\n" +"POT-Creation-Date: 2026-03-09 08:48+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -506,112 +506,123 @@ msgid "" msgstr "" #: ../../../GlobalISel/GenericOpcode.rst:505 -msgid "G_ABDS, G_ABDU" +msgid "G_CTLS" msgstr "" #: ../../../GlobalISel/GenericOpcode.rst:507 msgid "" +"Count leading redundant sign bits. If the value is positive then the result " +"is the number of extra leading zeros. If the value is negative then the " +"result is the number of extra leading ones." +msgstr "" + +#: ../../../GlobalISel/GenericOpcode.rst:516 +msgid "G_ABDS, G_ABDU" +msgstr "" + +#: ../../../GlobalISel/GenericOpcode.rst:518 +msgid "" "Compute the absolute difference (signed and unsigned), e.g. trunc(abs(ext(x)-" "ext(y))." msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:515 +#: ../../../GlobalISel/GenericOpcode.rst:526 msgid "G_UAVGFLOOR, G_UAVGCEIL, G_SAVGFLOOR, G_SAVGCEIL" msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:517 +#: ../../../GlobalISel/GenericOpcode.rst:528 msgid "" "Computes the average of corresponding elements in two vectors (signed and " "unsigned). Resulting vector contains values that are either rounded or " "truncated. e.g. trunc(shr(add(ext(a),ext(b)),1))." msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:528 +#: ../../../GlobalISel/GenericOpcode.rst:539 msgid "Floating Point Operations" msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:531 +#: ../../../GlobalISel/GenericOpcode.rst:542 msgid "G_FCMP" msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:533 +#: ../../../GlobalISel/GenericOpcode.rst:544 msgid "" "Perform floating point comparison producing non-zero (true) or zero (false). " "It's target specific whether a true value is 1, ~0U, or some other non-zero " "value." msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:538 +#: ../../../GlobalISel/GenericOpcode.rst:549 msgid "G_FNEG" msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:540 +#: ../../../GlobalISel/GenericOpcode.rst:551 msgid "Floating point negation." msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:543 +#: ../../../GlobalISel/GenericOpcode.rst:554 msgid "G_FPEXT" msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:545 +#: ../../../GlobalISel/GenericOpcode.rst:556 msgid "Convert a floating point value to a larger type." msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:548 +#: ../../../GlobalISel/GenericOpcode.rst:559 msgid "G_FPTRUNC" msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:550 +#: ../../../GlobalISel/GenericOpcode.rst:561 msgid "Convert a floating point value to a narrower type." msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:553 +#: ../../../GlobalISel/GenericOpcode.rst:564 msgid "G_FPTOSI, G_FPTOUI, G_SITOFP, G_UITOFP" msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:555 +#: ../../../GlobalISel/GenericOpcode.rst:566 msgid "Convert between integer and floating point." msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:558 +#: ../../../GlobalISel/GenericOpcode.rst:569 msgid "G_FPTOSI_SAT, G_FPTOUI_SAT" msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:560 +#: ../../../GlobalISel/GenericOpcode.rst:571 msgid "Saturating convert between integer and floating point." msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:563 +#: ../../../GlobalISel/GenericOpcode.rst:574 msgid "G_FABS" msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:565 +#: ../../../GlobalISel/GenericOpcode.rst:576 msgid "Take the absolute value of a floating point value." msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:568 +#: ../../../GlobalISel/GenericOpcode.rst:579 msgid "G_FCOPYSIGN" msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:570 +#: ../../../GlobalISel/GenericOpcode.rst:581 msgid "" "Copy the value of the first operand, replacing the sign bit with that of the " "second operand." msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:574 +#: ../../../GlobalISel/GenericOpcode.rst:585 msgid "G_FCANONICALIZE" msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:576 +#: ../../../GlobalISel/GenericOpcode.rst:587 msgid "See :ref:`i_intr_llvm_canonicalize`." msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:579 +#: ../../../GlobalISel/GenericOpcode.rst:590 msgid "G_IS_FPCLASS" msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:581 +#: ../../../GlobalISel/GenericOpcode.rst:592 msgid "" "Tests if the first operand, which must be floating-point scalar or vector, " "has floating-point class specified by the second operand. Returns non-zero " @@ -620,238 +631,238 @@ msgid "" "value is a vector of the same length." msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:588 +#: ../../../GlobalISel/GenericOpcode.rst:599 msgid "G_FMINNUM" msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:590 +#: ../../../GlobalISel/GenericOpcode.rst:601 msgid "Perform floating-point minimum on two values." msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:592 -#: ../../../GlobalISel/GenericOpcode.rst:602 +#: ../../../GlobalISel/GenericOpcode.rst:603 +#: ../../../GlobalISel/GenericOpcode.rst:613 msgid "" "In the case where a single input is a NaN (either signaling or quiet), the " "non-NaN input is returned." msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:595 +#: ../../../GlobalISel/GenericOpcode.rst:606 msgid "The return value of (FMINNUM 0.0, -0.0) could be either 0.0 or -0.0." msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:598 +#: ../../../GlobalISel/GenericOpcode.rst:609 msgid "G_FMAXNUM" msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:600 +#: ../../../GlobalISel/GenericOpcode.rst:611 msgid "Perform floating-point maximum on two values." msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:605 +#: ../../../GlobalISel/GenericOpcode.rst:616 msgid "The return value of (FMAXNUM 0.0, -0.0) could be either 0.0 or -0.0." msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:608 +#: ../../../GlobalISel/GenericOpcode.rst:619 msgid "G_FMINNUM_IEEE" msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:610 +#: ../../../GlobalISel/GenericOpcode.rst:621 msgid "" "Perform floating-point minimum on two values, following IEEE-754 " "definitions. This differs from FMINNUM in the handling of signaling NaNs." msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:614 -#: ../../../GlobalISel/GenericOpcode.rst:629 +#: ../../../GlobalISel/GenericOpcode.rst:625 +#: ../../../GlobalISel/GenericOpcode.rst:640 msgid "" "If one input is a signaling NaN, returns a quiet NaN. This matches IEEE-754 " "2008's minnum/maxnum for signaling NaNs (which differs from 2019)." msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:618 -#: ../../../GlobalISel/GenericOpcode.rst:633 +#: ../../../GlobalISel/GenericOpcode.rst:629 +#: ../../../GlobalISel/GenericOpcode.rst:644 msgid "" "These treat -0 as ordered less than +0, matching the behavior of IEEE-754 " "2019's minimumNumber/maximumNumber (which was unspecified in 2008)." msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:623 +#: ../../../GlobalISel/GenericOpcode.rst:634 msgid "G_FMAXNUM_IEEE" msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:625 +#: ../../../GlobalISel/GenericOpcode.rst:636 msgid "" "Perform floating-point maximum on two values, following IEEE-754 " "definitions. This differs from FMAXNUM in the handling of signaling NaNs." msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:638 +#: ../../../GlobalISel/GenericOpcode.rst:649 msgid "G_FMINIMUM" msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:640 +#: ../../../GlobalISel/GenericOpcode.rst:651 msgid "" "NaN-propagating minimum that also treat -0.0 as less than 0.0. While " "FMINNUM_IEEE follow IEEE 754-2008 semantics, FMINIMUM follows IEEE 754-2019 " "semantics." msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:645 +#: ../../../GlobalISel/GenericOpcode.rst:656 msgid "G_FMAXIMUM" msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:647 +#: ../../../GlobalISel/GenericOpcode.rst:658 msgid "" "NaN-propagating maximum that also treat -0.0 as less than 0.0. While " "FMAXNUM_IEEE follow IEEE 754-2008 semantics, FMAXIMUM follows IEEE 754-2019 " "semantics." msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:652 +#: ../../../GlobalISel/GenericOpcode.rst:663 msgid "G_FMINIMUMNUM" msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:654 +#: ../../../GlobalISel/GenericOpcode.rst:665 msgid "IEEE-754 2019 minimumNumber" msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:657 +#: ../../../GlobalISel/GenericOpcode.rst:668 msgid "G_FMAXIMUMNUM" msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:659 +#: ../../../GlobalISel/GenericOpcode.rst:670 msgid "IEEE-754 2019 maximumNumber" msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:662 +#: ../../../GlobalISel/GenericOpcode.rst:673 msgid "G_FADD, G_FSUB, G_FMUL, G_FDIV, G_FREM" msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:664 +#: ../../../GlobalISel/GenericOpcode.rst:675 msgid "Perform the specified floating point arithmetic." msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:667 +#: ../../../GlobalISel/GenericOpcode.rst:678 msgid "G_FMA" msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:669 +#: ../../../GlobalISel/GenericOpcode.rst:680 msgid "" "Perform a fused multiply add (i.e. without the intermediate rounding step)." msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:672 +#: ../../../GlobalISel/GenericOpcode.rst:683 msgid "G_FMAD" msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:674 +#: ../../../GlobalISel/GenericOpcode.rst:685 msgid "" "Perform a non-fused multiply add (i.e. with the intermediate rounding step)." msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:677 +#: ../../../GlobalISel/GenericOpcode.rst:688 msgid "G_FPOW" msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:679 +#: ../../../GlobalISel/GenericOpcode.rst:690 msgid "Raise the first operand to the power of the second." msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:682 +#: ../../../GlobalISel/GenericOpcode.rst:693 msgid "G_FEXP, G_FEXP2" msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:684 +#: ../../../GlobalISel/GenericOpcode.rst:695 msgid "Calculate the base-e or base-2 exponential of a value" msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:687 +#: ../../../GlobalISel/GenericOpcode.rst:698 msgid "G_FLOG, G_FLOG2, G_FLOG10" msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:689 +#: ../../../GlobalISel/GenericOpcode.rst:700 msgid "Calculate the base-e, base-2, or base-10 respectively." msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:692 +#: ../../../GlobalISel/GenericOpcode.rst:703 msgid "G_FCEIL, G_FSQRT, G_FFLOOR, G_FRINT, G_FNEARBYINT" msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:694 +#: ../../../GlobalISel/GenericOpcode.rst:705 msgid "These correspond to the standard C functions of the same name." msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:697 +#: ../../../GlobalISel/GenericOpcode.rst:708 msgid "" "G_FCOS, G_FSIN, G_FSINCOS, G_FTAN, G_FACOS, G_FASIN, G_FATAN, G_FATAN2, " "G_FCOSH, G_FSINH, G_FTANH" msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:699 +#: ../../../GlobalISel/GenericOpcode.rst:710 msgid "" "These correspond to the standard C trigonometry functions of the same name." msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:702 +#: ../../../GlobalISel/GenericOpcode.rst:713 msgid "G_INTRINSIC_TRUNC" msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:704 +#: ../../../GlobalISel/GenericOpcode.rst:715 msgid "" "Returns the operand rounded to the nearest integer not larger in magnitude " "than the operand." msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:707 +#: ../../../GlobalISel/GenericOpcode.rst:718 msgid "G_INTRINSIC_ROUND" msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:709 +#: ../../../GlobalISel/GenericOpcode.rst:720 msgid "Returns the operand rounded to the nearest integer." msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:712 +#: ../../../GlobalISel/GenericOpcode.rst:723 msgid "G_LROUND, G_LLROUND" msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:714 +#: ../../../GlobalISel/GenericOpcode.rst:725 msgid "" "Returns the source operand rounded to the nearest integer with ties away " "from zero." msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:717 +#: ../../../GlobalISel/GenericOpcode.rst:728 msgid "" "See the LLVM LangRef entry on '``llvm.lround.*'`` for details on behaviour." msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:725 +#: ../../../GlobalISel/GenericOpcode.rst:736 msgid "Vector Specific Operations" msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:728 +#: ../../../GlobalISel/GenericOpcode.rst:739 msgid "G_VSCALE" msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:730 +#: ../../../GlobalISel/GenericOpcode.rst:741 msgid "" "Puts the value of the runtime ``vscale`` multiplied by the value in the " "source operand into the destination register. This can be useful in " "determining the actual runtime number of elements in a vector." msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:739 +#: ../../../GlobalISel/GenericOpcode.rst:750 msgid "G_INSERT_SUBVECTOR" msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:741 +#: ../../../GlobalISel/GenericOpcode.rst:752 msgid "" "Insert the second source vector into the first source vector. The index " "operand represents the starting index in the first source vector at which " "the second source vector should be inserted into." msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:745 +#: ../../../GlobalISel/GenericOpcode.rst:756 msgid "" "The index must be a constant multiple of the second source vector's minimum " "vector length. If the vectors are scalable, then the index is first scaled " @@ -860,18 +871,18 @@ msgid "" "statically but is false at runtime, then the result vector is undefined." msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:756 +#: ../../../GlobalISel/GenericOpcode.rst:767 msgid "G_EXTRACT_SUBVECTOR" msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:758 +#: ../../../GlobalISel/GenericOpcode.rst:769 msgid "" "Extract a vector of destination type from the source vector. The index " "operand represents the starting index from which a subvector is extracted " "from the source vector." msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:762 +#: ../../../GlobalISel/GenericOpcode.rst:773 msgid "" "The index must be a constant multiple of the source vector's minimum vector " "length. If the source vector is a scalable vector, then the index is first " @@ -881,100 +892,100 @@ msgid "" "undefined." msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:769 +#: ../../../GlobalISel/GenericOpcode.rst:780 msgid "Mixing scalable vectors and fixed vectors are not allowed." msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:776 +#: ../../../GlobalISel/GenericOpcode.rst:787 msgid "G_CONCAT_VECTORS" msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:778 +#: ../../../GlobalISel/GenericOpcode.rst:789 msgid "Concatenate vectors to form a longer vector." msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:787 +#: ../../../GlobalISel/GenericOpcode.rst:798 msgid "G_BUILD_VECTOR, G_BUILD_VECTOR_TRUNC" msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:789 +#: ../../../GlobalISel/GenericOpcode.rst:800 msgid "" "Create a vector from multiple scalar registers. No implicit conversion is " "performed (i.e. the result element type must be the same as all source " "operands)" msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:793 +#: ../../../GlobalISel/GenericOpcode.rst:804 msgid "" "The _TRUNC version truncates the larger operand types to fit the destination " "vector elt type." msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:804 +#: ../../../GlobalISel/GenericOpcode.rst:815 msgid "G_INSERT_VECTOR_ELT" msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:806 +#: ../../../GlobalISel/GenericOpcode.rst:817 msgid "Insert an element into a vector" msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:815 +#: ../../../GlobalISel/GenericOpcode.rst:826 msgid "G_EXTRACT_VECTOR_ELT" msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:817 +#: ../../../GlobalISel/GenericOpcode.rst:828 msgid "Extract an element from a vector" msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:825 +#: ../../../GlobalISel/GenericOpcode.rst:836 msgid "G_SHUFFLE_VECTOR" msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:827 +#: ../../../GlobalISel/GenericOpcode.rst:838 msgid "" "Concatenate two vectors and shuffle the elements according to the mask " "operand. The mask operand should be an IR Constant which exactly matches the " "corresponding mask for the IR shufflevector instruction." msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:832 +#: ../../../GlobalISel/GenericOpcode.rst:843 msgid "G_SPLAT_VECTOR" msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:834 +#: ../../../GlobalISel/GenericOpcode.rst:845 msgid "" "Create a vector where all elements are the scalar from the source operand." msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:836 +#: ../../../GlobalISel/GenericOpcode.rst:847 msgid "" "The type of the operand must be equal to or larger than the vector element " "type. If the operand is larger than the vector element type, the scalar is " "implicitly truncated to the vector element type." msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:841 +#: ../../../GlobalISel/GenericOpcode.rst:852 msgid "G_STEP_VECTOR" msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:843 +#: ../../../GlobalISel/GenericOpcode.rst:854 msgid "" "Create a scalable vector where all lanes are linear sequences starting at 0 " "with a given unsigned step." msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:846 +#: ../../../GlobalISel/GenericOpcode.rst:857 msgid "" "The type of the operand must be equal to the vector element type. Arithmetic " "is performed modulo the bitwidth of the element. The step must be > 0. " "Otherwise the vector is zero." msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:859 +#: ../../../GlobalISel/GenericOpcode.rst:870 msgid "G_VECTOR_COMPRESS" msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:861 +#: ../../../GlobalISel/GenericOpcode.rst:872 msgid "" "Given an input vector, a mask vector, and a passthru vector, continuously " "place all selected (i.e., where mask[i] = true) input lanes in an output " @@ -982,160 +993,160 @@ msgid "" "be undef." msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:866 +#: ../../../GlobalISel/GenericOpcode.rst:877 msgid "Vector Reduction Operations" msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:868 +#: ../../../GlobalISel/GenericOpcode.rst:879 msgid "" "These operations represent horizontal vector reduction, producing a scalar " "result." msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:871 +#: ../../../GlobalISel/GenericOpcode.rst:882 msgid "G_VECREDUCE_SEQ_FADD, G_VECREDUCE_SEQ_FMUL" msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:873 +#: ../../../GlobalISel/GenericOpcode.rst:884 msgid "" "The SEQ variants perform reductions in sequential order. The first operand " "is an initial scalar accumulator value, and the second operand is the vector " "to reduce." msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:877 +#: ../../../GlobalISel/GenericOpcode.rst:888 msgid "G_VECREDUCE_FADD, G_VECREDUCE_FMUL" msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:879 +#: ../../../GlobalISel/GenericOpcode.rst:890 msgid "" "These reductions are relaxed variants which may reduce the elements in any " "order." msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:882 +#: ../../../GlobalISel/GenericOpcode.rst:893 msgid "" "G_VECREDUCE_FMAX, G_VECREDUCE_FMIN, G_VECREDUCE_FMAXIMUM, " "G_VECREDUCE_FMINIMUM" msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:884 +#: ../../../GlobalISel/GenericOpcode.rst:895 msgid "" "FMIN/FMAX/FMINIMUM/FMAXIMUM nodes can have flags, for NaN/NoNaN variants." msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:888 +#: ../../../GlobalISel/GenericOpcode.rst:899 msgid "Integer/bitwise reductions" msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:890 +#: ../../../GlobalISel/GenericOpcode.rst:901 msgid "G_VECREDUCE_ADD" msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:891 +#: ../../../GlobalISel/GenericOpcode.rst:902 msgid "G_VECREDUCE_MUL" msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:892 +#: ../../../GlobalISel/GenericOpcode.rst:903 msgid "G_VECREDUCE_AND" msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:893 +#: ../../../GlobalISel/GenericOpcode.rst:904 msgid "G_VECREDUCE_OR" msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:894 +#: ../../../GlobalISel/GenericOpcode.rst:905 msgid "G_VECREDUCE_XOR" msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:895 +#: ../../../GlobalISel/GenericOpcode.rst:906 msgid "G_VECREDUCE_SMAX" msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:896 +#: ../../../GlobalISel/GenericOpcode.rst:907 msgid "G_VECREDUCE_SMIN" msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:897 +#: ../../../GlobalISel/GenericOpcode.rst:908 msgid "G_VECREDUCE_UMAX" msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:898 +#: ../../../GlobalISel/GenericOpcode.rst:909 msgid "G_VECREDUCE_UMIN" msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:900 +#: ../../../GlobalISel/GenericOpcode.rst:911 msgid "" "Integer reductions may have a result type larger than the vector element " "type. However, the reduction is performed using the vector element type and " "the value in the top bits is unspecified." msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:905 +#: ../../../GlobalISel/GenericOpcode.rst:916 msgid "Memory Operations" msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:908 +#: ../../../GlobalISel/GenericOpcode.rst:919 msgid "G_LOAD, G_SEXTLOAD, G_ZEXTLOAD" msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:910 +#: ../../../GlobalISel/GenericOpcode.rst:921 msgid "" "Generic load. Expects a MachineMemOperand in addition to explicit operands. " "If the result size is larger than the memory size, the high bits are " "undefined, sign-extended, or zero-extended respectively." msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:914 +#: ../../../GlobalISel/GenericOpcode.rst:925 msgid "" "Only G_LOAD is valid if the result is a vector type. If the result is larger " "than the memory size, the high elements are undefined (i.e. this is not a " "per-element, vector anyextload)" msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:918 +#: ../../../GlobalISel/GenericOpcode.rst:929 msgid "" "Unlike in SelectionDAG, atomic loads are expressed with the same opcodes as " "regular loads. G_LOAD, G_SEXTLOAD and G_ZEXTLOAD may all have atomic memory " "operands." msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:923 +#: ../../../GlobalISel/GenericOpcode.rst:934 msgid "G_INDEXED_LOAD" msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:925 +#: ../../../GlobalISel/GenericOpcode.rst:936 msgid "" "Generic indexed load. Combines a GEP with a load. $newaddr is set to $base + " "$offset. If $am is 0 (post-indexed), then the value is loaded from $base; if " "$am is 1 (pre-indexed) then the value is loaded from $newaddr." msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:930 +#: ../../../GlobalISel/GenericOpcode.rst:941 msgid "G_INDEXED_SEXTLOAD" msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:932 +#: ../../../GlobalISel/GenericOpcode.rst:943 msgid "" "Same as G_INDEXED_LOAD except that the load performed is sign-extending, as " "with G_SEXTLOAD." msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:935 +#: ../../../GlobalISel/GenericOpcode.rst:946 msgid "G_INDEXED_ZEXTLOAD" msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:937 +#: ../../../GlobalISel/GenericOpcode.rst:948 msgid "" "Same as G_INDEXED_LOAD except that the load performed is zero-extending, as " "with G_ZEXTLOAD." msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:940 +#: ../../../GlobalISel/GenericOpcode.rst:951 msgid "G_STORE" msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:942 +#: ../../../GlobalISel/GenericOpcode.rst:953 msgid "" "Generic store. Expects a MachineMemOperand in addition to explicit operands. " "If the stored value size is greater than the memory size, the high bits are " @@ -1144,76 +1155,76 @@ msgid "" "store)" msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:949 +#: ../../../GlobalISel/GenericOpcode.rst:960 msgid "G_INDEXED_STORE" msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:951 +#: ../../../GlobalISel/GenericOpcode.rst:962 msgid "" "Combines a store with a GEP. See description of G_INDEXED_LOAD for indexing " "behaviour." msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:954 +#: ../../../GlobalISel/GenericOpcode.rst:965 msgid "G_ATOMIC_CMPXCHG_WITH_SUCCESS" msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:956 +#: ../../../GlobalISel/GenericOpcode.rst:967 msgid "" "Generic atomic cmpxchg with internal success check. Expects a " "MachineMemOperand in addition to explicit operands." msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:960 +#: ../../../GlobalISel/GenericOpcode.rst:971 msgid "G_ATOMIC_CMPXCHG" msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:962 +#: ../../../GlobalISel/GenericOpcode.rst:973 msgid "" "Generic atomic cmpxchg. Expects a MachineMemOperand in addition to explicit " "operands." msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:966 +#: ../../../GlobalISel/GenericOpcode.rst:977 msgid "|all_g_atomicrmw|" msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:980 +#: ../../../GlobalISel/GenericOpcode.rst:991 msgid "" "Generic atomicrmw. Expects a MachineMemOperand in addition to explicit " "operands." msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:984 +#: ../../../GlobalISel/GenericOpcode.rst:995 msgid "G_FENCE" msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:986 +#: ../../../GlobalISel/GenericOpcode.rst:997 msgid "" "Generic fence. The first operand is the memory ordering. The second operand " "is the syncscope." msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:989 +#: ../../../GlobalISel/GenericOpcode.rst:1000 msgid "" "See the LLVM LangRef entry on the '``fence'`` instruction for more details." msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:992 +#: ../../../GlobalISel/GenericOpcode.rst:1003 msgid "G_MEMCPY" msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:994 +#: ../../../GlobalISel/GenericOpcode.rst:1005 msgid "" "Generic memcpy. Expects two MachineMemOperands covering the store and load " "respectively, in addition to explicit operands." msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:998 +#: ../../../GlobalISel/GenericOpcode.rst:1009 msgid "G_MEMCPY_INLINE" msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:1000 +#: ../../../GlobalISel/GenericOpcode.rst:1011 msgid "" "Generic inlined memcpy. Like G_MEMCPY, but it is guaranteed that this " "version will not be lowered as a call to an external function. Currently the " @@ -1222,98 +1233,98 @@ msgid "" "support dynamic sizes." msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:1006 +#: ../../../GlobalISel/GenericOpcode.rst:1017 msgid "G_MEMMOVE" msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:1008 +#: ../../../GlobalISel/GenericOpcode.rst:1019 msgid "" "Generic memmove. Similar to G_MEMCPY, but the source and destination memory " "ranges are allowed to overlap." msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:1012 +#: ../../../GlobalISel/GenericOpcode.rst:1023 msgid "G_MEMSET" msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:1014 +#: ../../../GlobalISel/GenericOpcode.rst:1025 msgid "" "Generic memset. Expects a MachineMemOperand in addition to explicit operands." msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:1017 +#: ../../../GlobalISel/GenericOpcode.rst:1028 msgid "G_BZERO" msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:1019 +#: ../../../GlobalISel/GenericOpcode.rst:1030 msgid "" "Generic bzero. Expects a MachineMemOperand in addition to explicit operands." msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:1022 +#: ../../../GlobalISel/GenericOpcode.rst:1033 msgid "Control Flow" msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:1025 +#: ../../../GlobalISel/GenericOpcode.rst:1036 msgid "G_PHI" msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:1027 +#: ../../../GlobalISel/GenericOpcode.rst:1038 msgid "Implement the φ node in the SSA graph representing the function." msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:1034 +#: ../../../GlobalISel/GenericOpcode.rst:1045 msgid "G_BR" msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:1036 +#: ../../../GlobalISel/GenericOpcode.rst:1047 msgid "Unconditional branch" msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:1043 +#: ../../../GlobalISel/GenericOpcode.rst:1054 msgid "G_BRCOND" msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:1045 +#: ../../../GlobalISel/GenericOpcode.rst:1056 msgid "Conditional branch" msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:1052 +#: ../../../GlobalISel/GenericOpcode.rst:1063 msgid "G_BRINDIRECT" msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:1054 +#: ../../../GlobalISel/GenericOpcode.rst:1065 msgid "Indirect branch" msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:1061 +#: ../../../GlobalISel/GenericOpcode.rst:1072 msgid "G_BRJT" msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:1063 +#: ../../../GlobalISel/GenericOpcode.rst:1074 msgid "Indirect branch to jump table entry" msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:1070 +#: ../../../GlobalISel/GenericOpcode.rst:1081 msgid "G_JUMP_TABLE" msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:1072 +#: ../../../GlobalISel/GenericOpcode.rst:1083 msgid "" "Generates a pointer to the address of the jump table specified by the source " "operand. The source operand is a jump table index. G_JUMP_TABLE can be used " "in conjunction with G_BRJT to support jump table codegen with GlobalISel." msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:1081 +#: ../../../GlobalISel/GenericOpcode.rst:1092 msgid "The above example generates a pointer to the source jump table index." msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:1084 +#: ../../../GlobalISel/GenericOpcode.rst:1095 msgid "G_INVOKE_REGION_START" msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:1086 +#: ../../../GlobalISel/GenericOpcode.rst:1097 msgid "" "A marker instruction that acts as a pseudo-terminator for regions of code " "that may throw exceptions. Being a terminator, it prevents code from being " @@ -1322,165 +1333,165 @@ msgid "" "an executable path must be placed after throwing." msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:1093 +#: ../../../GlobalISel/GenericOpcode.rst:1104 msgid "G_INTRINSIC, G_INTRINSIC_CONVERGENT" msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:1095 +#: ../../../GlobalISel/GenericOpcode.rst:1106 msgid "Call an intrinsic that has no side-effects." msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:1097 -#: ../../../GlobalISel/GenericOpcode.rst:1110 +#: ../../../GlobalISel/GenericOpcode.rst:1108 +#: ../../../GlobalISel/GenericOpcode.rst:1121 msgid "" "The _CONVERGENT variant corresponds to an LLVM IR intrinsic marked " "`convergent`." msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:1101 -#: ../../../GlobalISel/GenericOpcode.rst:1114 +#: ../../../GlobalISel/GenericOpcode.rst:1112 +#: ../../../GlobalISel/GenericOpcode.rst:1125 msgid "" "Unlike SelectionDAG, there is no _VOID variant. Both of these are permitted " "to have zero, one, or multiple results." msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:1105 +#: ../../../GlobalISel/GenericOpcode.rst:1116 msgid "G_INTRINSIC_W_SIDE_EFFECTS, G_INTRINSIC_CONVERGENT_W_SIDE_EFFECTS" msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:1107 +#: ../../../GlobalISel/GenericOpcode.rst:1118 msgid "" "Call an intrinsic that is considered to have unknown side-effects and as " "such cannot be reordered across other side-effecting instructions." msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:1118 +#: ../../../GlobalISel/GenericOpcode.rst:1129 msgid "G_TRAP, G_DEBUGTRAP, G_UBSANTRAP" msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:1120 +#: ../../../GlobalISel/GenericOpcode.rst:1131 msgid "" "Represents :ref:`llvm.trap `, :ref:`llvm.debugtrap ` and :ref:`llvm.ubsantrap ` that generate a " "target-dependent trap instructions." msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:1137 +#: ../../../GlobalISel/GenericOpcode.rst:1148 msgid "Variadic Arguments" msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:1140 +#: ../../../GlobalISel/GenericOpcode.rst:1151 msgid "G_VASTART" msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:1144 -#: ../../../GlobalISel/GenericOpcode.rst:1151 +#: ../../../GlobalISel/GenericOpcode.rst:1155 +#: ../../../GlobalISel/GenericOpcode.rst:1162 msgid "I found no documentation for this instruction at the time of writing." msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:1147 +#: ../../../GlobalISel/GenericOpcode.rst:1158 msgid "G_VAARG" msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:1154 +#: ../../../GlobalISel/GenericOpcode.rst:1165 msgid "Other Operations" msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:1157 +#: ../../../GlobalISel/GenericOpcode.rst:1168 msgid "G_DYN_STACKALLOC" msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:1159 +#: ../../../GlobalISel/GenericOpcode.rst:1170 msgid "" "Dynamically realigns the stack pointer to the specified size and alignment. " "An alignment value of `0` or `1` means no specific alignment." msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:1167 +#: ../../../GlobalISel/GenericOpcode.rst:1178 msgid "G_FREEZE" msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:1169 +#: ../../../GlobalISel/GenericOpcode.rst:1180 msgid "G_FREEZE is used to stop propagation of undef and poison values." msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:1176 +#: ../../../GlobalISel/GenericOpcode.rst:1187 msgid "Optimization Hints" msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:1178 +#: ../../../GlobalISel/GenericOpcode.rst:1189 msgid "" "These instructions do not correspond to any target instructions. They act as " "hints for various combines." msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:1182 +#: ../../../GlobalISel/GenericOpcode.rst:1193 msgid "G_ASSERT_SEXT, G_ASSERT_ZEXT" msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:1184 +#: ../../../GlobalISel/GenericOpcode.rst:1195 msgid "" "This signifies that the contents of a register were previously extended from " "a smaller type." msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:1187 +#: ../../../GlobalISel/GenericOpcode.rst:1198 msgid "" "The smaller type is denoted using an immediate operand. For scalars, this is " "the width of the entire smaller type. For vectors, this is the width of the " "smaller element type." msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:1198 +#: ../../../GlobalISel/GenericOpcode.rst:1209 msgid "" "G_ASSERT_SEXT and G_ASSERT_ZEXT act like copies, albeit with some " "restrictions." msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:1200 +#: ../../../GlobalISel/GenericOpcode.rst:1211 msgid "The source and destination registers must" msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:1202 +#: ../../../GlobalISel/GenericOpcode.rst:1213 msgid "Be virtual" msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:1203 +#: ../../../GlobalISel/GenericOpcode.rst:1214 msgid "Belong to the same register class" msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:1204 +#: ../../../GlobalISel/GenericOpcode.rst:1215 msgid "Belong to the same register bank" msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:1206 +#: ../../../GlobalISel/GenericOpcode.rst:1217 msgid "It should always be safe to" msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:1208 +#: ../../../GlobalISel/GenericOpcode.rst:1219 msgid "Look through the source register" msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:1209 +#: ../../../GlobalISel/GenericOpcode.rst:1220 msgid "Replace the destination register with the source register" msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:1213 +#: ../../../GlobalISel/GenericOpcode.rst:1224 msgid "Miscellaneous" msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:1216 +#: ../../../GlobalISel/GenericOpcode.rst:1227 msgid "G_CONSTANT_FOLD_BARRIER" msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:1218 +#: ../../../GlobalISel/GenericOpcode.rst:1229 msgid "" "This operation is used as an opaque barrier to prevent constant folding. " "Combines and other transformations should not look through this. These have " "no other semantics and can be safely eliminated if a target chooses." msgstr "" -#: ../../../GlobalISel/GenericOpcode.rst:1223 +#: ../../../GlobalISel/GenericOpcode.rst:1234 msgid "" "Unlisted: G_STACKSAVE, G_STACKRESTORE, G_FSHL, G_FSHR, G_SMULFIX, G_UMULFIX, " "G_SMULFIXSAT, G_UMULFIXSAT, G_SDIVFIX, G_UDIVFIX, G_SDIVFIXSAT, " diff --git a/main/locale/pot/LC_MESSAGES/HowToReleaseLLVM.pot b/main/locale/pot/LC_MESSAGES/HowToReleaseLLVM.pot index 2d863816593..5019a59d50d 100644 --- a/main/locale/pot/LC_MESSAGES/HowToReleaseLLVM.pot +++ b/main/locale/pot/LC_MESSAGES/HowToReleaseLLVM.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: LLVM main\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-03 08:36+0000\n" +"POT-Creation-Date: 2026-03-09 08:48+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -293,59 +293,57 @@ msgstr "" #: ../../../HowToReleaseLLVM.rst:109 msgid "" -"Remind developers that the release branching is imminent and to refrain from " -"committing patches that might break the build, e.g., new features, large " -"patches for works in progress, an overhaul of the type system, an exciting " -"new TableGen feature, etc." +"Verify the current git trunk is in decent shape by examining the status " +"checks on the `most recent commits `_" msgstr "" -#: ../../../HowToReleaseLLVM.rst:114 +#: ../../../HowToReleaseLLVM.rst:112 msgid "" -"Verify that the current git trunk is in decent shape by examining nightly " -"tester and buildbot results." +"Bump the version in trunk to ``N.0.0git`` and clear the release notes: ::" msgstr "" -#: ../../../HowToReleaseLLVM.rst:117 -msgid "" -"Bump the version in trunk to ``N.0.0git`` with the script in ``llvm/utils/" -"release/bump-version.py``, and tag the commit with ``llvmorg-N-init``. If " -"``X`` is the version to be released, then ``N`` is ``X + 1``. ::" +#: ../../../HowToReleaseLLVM.rst:119 +msgid "If the push fails, rebase if necessary and try again." msgstr "" -#: ../../../HowToReleaseLLVM.rst:123 +#: ../../../HowToReleaseLLVM.rst:121 msgid "" -"Clear the release notes in trunk with the script in ``llvm/utils/release/" -"clear-release-notes.py``." +"Tag the commit bumping the version on trunk with ``llvmorg-N-init``. If " +"``X`` is the version to be released, then ``N`` is ``X + 1``. ::" msgstr "" -#: ../../../HowToReleaseLLVM.rst:126 +#: ../../../HowToReleaseLLVM.rst:127 msgid "" -"Create the release branch from the last known good revision from before the " -"version bump. The branch's name is ``release/X.x`` where ``X`` is the major " -"version number and ``x`` is just the letter ``x``." +"Create the release branch from the last known good revision before the " +"version bump. The branch name is ``release/X.x`` where ``X`` is the major " +"version number and ``x`` is just the letter ``x``. Assuming the revision " +"before the version bump is ok, this would be: ::" msgstr "" -#: ../../../HowToReleaseLLVM.rst:130 +#: ../../../HowToReleaseLLVM.rst:134 msgid "" "On the newly-created release branch, immediately bump the version to " -"``X.1.0git`` (where ``X`` is the major version of the branch.)" +"``X.1.0git`` (where ``X`` is the major version number): ::" msgstr "" -#: ../../../HowToReleaseLLVM.rst:133 -msgid "" -"All tags and branches need to be created in both the ``llvm/llvm-project`` " -"and ``llvm/llvm-test-suite`` repos." +#: ../../../HowToReleaseLLVM.rst:140 +msgid "Push release branch: ::" +msgstr "" + +#: ../../../HowToReleaseLLVM.rst:144 +msgid "And finally, create the release branch in ``llvm-test-suite`` repo: ::" msgstr "" -#: ../../../HowToReleaseLLVM.rst:137 +#: ../../../HowToReleaseLLVM.rst:153 msgid "Tagging the LLVM Release Candidates" msgstr "" -#: ../../../HowToReleaseLLVM.rst:139 +#: ../../../HowToReleaseLLVM.rst:155 msgid "Tag release candidates:" msgstr "" -#: ../../../HowToReleaseLLVM.rst:145 +#: ../../../HowToReleaseLLVM.rst:161 msgid "" "The pre-packaged source tarballs will be automatically generated via the " "`Release Sources `." msgstr "" -#: ../../../HowToReleaseLLVM.rst:173 +#: ../../../HowToReleaseLLVM.rst:189 msgid "" "That process performs both Release+Asserts and Release builds but only packs " "the Release build for upload. You should use the Release+Asserts sysroot, " @@ -381,17 +379,17 @@ msgid "" "through the net. For compile-time benchmarks, use the Release version." msgstr "" -#: ../../../HowToReleaseLLVM.rst:179 +#: ../../../HowToReleaseLLVM.rst:195 msgid "" "The minimum required version of the tools you'll need are :doc:`here " "`" msgstr "" -#: ../../../HowToReleaseLLVM.rst:182 +#: ../../../HowToReleaseLLVM.rst:198 msgid "Release Qualification Criteria" msgstr "" -#: ../../../HowToReleaseLLVM.rst:184 +#: ../../../HowToReleaseLLVM.rst:200 msgid "" "There are no official release qualification criteria. The release manager " "determines when a release is ready. The release manager should pay " @@ -400,7 +398,7 @@ msgid "" "a release." msgstr "" -#: ../../../HowToReleaseLLVM.rst:190 +#: ../../../HowToReleaseLLVM.rst:206 msgid "" "The community values time based releases, so releases should not be delayed " "for too long unless critical issues remain. In most cases, the only kind of " @@ -408,25 +406,25 @@ msgid "" "from a previous release." msgstr "" -#: ../../../HowToReleaseLLVM.rst:196 +#: ../../../HowToReleaseLLVM.rst:212 msgid "Official Testing" msgstr "" -#: ../../../HowToReleaseLLVM.rst:198 +#: ../../../HowToReleaseLLVM.rst:214 msgid "" "A few developers in the community have dedicated time to validate the " "release candidates and volunteered to be the official release testers for " "each architecture." msgstr "" -#: ../../../HowToReleaseLLVM.rst:202 +#: ../../../HowToReleaseLLVM.rst:218 msgid "" "These will be the ones testing, generating, and uploading the official " "binaries to the server, and will be the minimum tests *necessary* for the " "release to proceed." msgstr "" -#: ../../../HowToReleaseLLVM.rst:206 +#: ../../../HowToReleaseLLVM.rst:222 msgid "" "This will obviously not cover all OSs and distributions, so additional " "community validation is important. However, if community input is not " @@ -434,19 +432,19 @@ msgid "" "stable release." msgstr "" -#: ../../../HowToReleaseLLVM.rst:210 +#: ../../../HowToReleaseLLVM.rst:226 msgid "The official release managers are:" msgstr "" -#: ../../../HowToReleaseLLVM.rst:212 +#: ../../../HowToReleaseLLVM.rst:228 msgid "Even releases: Tom Stellard (tstellar@redhat.com)" msgstr "" -#: ../../../HowToReleaseLLVM.rst:213 +#: ../../../HowToReleaseLLVM.rst:229 msgid "Odd releases: Tobias Hieta (tobias@hieta.se)" msgstr "" -#: ../../../HowToReleaseLLVM.rst:215 +#: ../../../HowToReleaseLLVM.rst:231 msgid "" "The official release testers are volunteers from the community who have " "consistently validated and released binaries for their targets/OSs. To " @@ -455,58 +453,58 @@ msgid "" "infrastructure/release-testers/66>`_" msgstr "" -#: ../../../HowToReleaseLLVM.rst:220 +#: ../../../HowToReleaseLLVM.rst:236 msgid "" "The official testers list is in the file ``RELEASE_TESTERS.TXT`` `_, in the " "LLVM repository." msgstr "" -#: ../../../HowToReleaseLLVM.rst:225 +#: ../../../HowToReleaseLLVM.rst:241 msgid "Community Testing" msgstr "" -#: ../../../HowToReleaseLLVM.rst:227 +#: ../../../HowToReleaseLLVM.rst:243 msgid "" "Once all testing is complete and appropriate bugs are filed, the release " "candidate tarballs are put on the website, and the LLVM community is " "notified." msgstr "" -#: ../../../HowToReleaseLLVM.rst:230 +#: ../../../HowToReleaseLLVM.rst:246 msgid "" "We ask that all LLVM developers test the release in any the following ways:" msgstr "" -#: ../../../HowToReleaseLLVM.rst:232 +#: ../../../HowToReleaseLLVM.rst:248 msgid "" "Download ``llvm-X.Y``, ``llvm-test-X.Y``, and the appropriate ``clang`` " "binary. Build LLVM. Run ``make check`` and the full LLVM test suite " "(``make TEST=nightly report``)." msgstr "" -#: ../../../HowToReleaseLLVM.rst:236 +#: ../../../HowToReleaseLLVM.rst:252 msgid "" "Download ``llvm-X.Y``, ``llvm-test-X.Y``, and the ``clang`` sources. " "Compile everything. Run ``make check`` and the full LLVM test suite (``make " "TEST=nightly report``)." msgstr "" -#: ../../../HowToReleaseLLVM.rst:240 +#: ../../../HowToReleaseLLVM.rst:256 msgid "" "Download ``llvm-X.Y``, ``llvm-test-X.Y``, and the appropriate ``clang`` " "binary. Build whole programs with it (ex. Chromium, Firefox, Apache) for " "your platform." msgstr "" -#: ../../../HowToReleaseLLVM.rst:244 +#: ../../../HowToReleaseLLVM.rst:260 msgid "" "Download ``llvm-X.Y``, ``llvm-test-X.Y``, and the appropriate ``clang`` " "binary. Build *your* programs with it and check for conformance and " "performance regressions." msgstr "" -#: ../../../HowToReleaseLLVM.rst:248 +#: ../../../HowToReleaseLLVM.rst:264 msgid "" "Run the :doc:`release process `, if your platform is " "*different* than that which is officially supported, and report back errors " @@ -514,7 +512,7 @@ msgid "" "architecture." msgstr "" -#: ../../../HowToReleaseLLVM.rst:253 +#: ../../../HowToReleaseLLVM.rst:269 msgid "" "We also ask that the OS distribution release managers test their packages " "with the first candidate of every release and report any *new* errors in " @@ -523,13 +521,13 @@ msgid "" "priority should be release blocker." msgstr "" -#: ../../../HowToReleaseLLVM.rst:259 +#: ../../../HowToReleaseLLVM.rst:275 msgid "" "During the first round of testing, all regressions must be fixed before the " "second release candidate is tagged." msgstr "" -#: ../../../HowToReleaseLLVM.rst:262 +#: ../../../HowToReleaseLLVM.rst:278 msgid "" "In the subsequent stages, the testing is only to ensure that bug fixes " "previously merged in have not created new major problems. *This is not the " @@ -538,70 +536,70 @@ msgid "" "the next stage." msgstr "" -#: ../../../HowToReleaseLLVM.rst:269 +#: ../../../HowToReleaseLLVM.rst:285 msgid "Reporting Regressions" msgstr "" -#: ../../../HowToReleaseLLVM.rst:271 +#: ../../../HowToReleaseLLVM.rst:287 msgid "" "Every regression found during the tests (as per the criteria above) should " "be filled in a bug in GitHub and added to the release milestone." msgstr "" -#: ../../../HowToReleaseLLVM.rst:274 +#: ../../../HowToReleaseLLVM.rst:290 msgid "" "If a bug can't be reproduced or stops being a blocker, it should be removed " "from the Milestone. Debugging can continue, but on trunk." msgstr "" -#: ../../../HowToReleaseLLVM.rst:278 +#: ../../../HowToReleaseLLVM.rst:294 msgid "Backport Requests" msgstr "" -#: ../../../HowToReleaseLLVM.rst:280 +#: ../../../HowToReleaseLLVM.rst:296 msgid "" "Instructions for requesting a backport to a stable branch can be found :ref:" "`here `." msgstr "" -#: ../../../HowToReleaseLLVM.rst:284 +#: ../../../HowToReleaseLLVM.rst:300 msgid "Triaging Bug Reports for Releases" msgstr "" -#: ../../../HowToReleaseLLVM.rst:286 +#: ../../../HowToReleaseLLVM.rst:302 msgid "This section describes how to triage bug reports:" msgstr "" -#: ../../../HowToReleaseLLVM.rst:288 +#: ../../../HowToReleaseLLVM.rst:304 msgid "" "Search for bugs with a Release Milestone that have not been added to the " "\"Release Status\" github project:" msgstr "" -#: ../../../HowToReleaseLLVM.rst:291 +#: ../../../HowToReleaseLLVM.rst:307 msgid "" "https://github.com/llvm/llvm-project/issues?" "q=is%3Aissue+milestone%3A%22LLVM+14.0.5+Release%22+no%3Aproject+" msgstr "" -#: ../../../HowToReleaseLLVM.rst:293 +#: ../../../HowToReleaseLLVM.rst:309 msgid "" "Replace 14.0.5 in this query with the version from the Release Milestone " "being targeted." msgstr "" -#: ../../../HowToReleaseLLVM.rst:296 +#: ../../../HowToReleaseLLVM.rst:312 msgid "Add these bugs to the \"Release Status\" project." msgstr "" -#: ../../../HowToReleaseLLVM.rst:298 +#: ../../../HowToReleaseLLVM.rst:314 msgid "" "Navigate to the `Release Status project `_ to see the list of bugs that are being considered for the " "release." msgstr "" -#: ../../../HowToReleaseLLVM.rst:301 +#: ../../../HowToReleaseLLVM.rst:317 msgid "" "Review each bug and first check if it has been fixed in main. If it has, " "update its status to \"Needs Pull Request\" and create a pull request for " @@ -609,7 +607,7 @@ msgid "" "been done already." msgstr "" -#: ../../../HowToReleaseLLVM.rst:305 +#: ../../../HowToReleaseLLVM.rst:321 msgid "" "If a bug has been fixed and has a pull request created for backporting it, " "then update its status to \"Needs Review\" and notify a knowledgeable " @@ -621,7 +619,7 @@ msgid "" "meets the requirements for committing to the release branch." msgstr "" -#: ../../../HowToReleaseLLVM.rst:314 +#: ../../../HowToReleaseLLVM.rst:330 msgid "" "Once a bug has been reviewed, update the status to \"Needs Merge\". Check " "the pull request associated with the issue. If all the tests pass, then the " @@ -629,22 +627,22 @@ msgid "" "someone to take a look at the failures." msgstr "" -#: ../../../HowToReleaseLLVM.rst:321 +#: ../../../HowToReleaseLLVM.rst:337 msgid "Release Patch Rules" msgstr "" -#: ../../../HowToReleaseLLVM.rst:323 +#: ../../../HowToReleaseLLVM.rst:339 msgid "Below are the rules regarding patching the release branch:" msgstr "" -#: ../../../HowToReleaseLLVM.rst:325 +#: ../../../HowToReleaseLLVM.rst:341 msgid "" "Patches applied to the release branch may only be applied by the release " "manager, the official release testers, or the maintainers with approval from " "the release manager." msgstr "" -#: ../../../HowToReleaseLLVM.rst:329 +#: ../../../HowToReleaseLLVM.rst:345 msgid "" "Release managers are encouraged, but not required, to get approval from a " "maintainer before approving patches. If there are no reachable maintainers, " @@ -652,7 +650,7 @@ msgid "" "developers active in that area." msgstr "" -#: ../../../HowToReleaseLLVM.rst:334 +#: ../../../HowToReleaseLLVM.rst:350 msgid "" "*Before RC1* Patches should be limited to bug fixes, important optimization " "improvements, or completion of features that were started before the branch " @@ -660,41 +658,41 @@ msgid "" "reject patches that are deemed too invasive." msgstr "" -#: ../../../HowToReleaseLLVM.rst:339 +#: ../../../HowToReleaseLLVM.rst:355 msgid "" "*Before RC2/RC3* Patches should be limited to bug fixes or backend-specific " "improvements that are determined to be very safe." msgstr "" -#: ../../../HowToReleaseLLVM.rst:342 +#: ../../../HowToReleaseLLVM.rst:358 msgid "" "*Before Final Major Release* Patches should be limited to critical bugs or " "regressions." msgstr "" -#: ../../../HowToReleaseLLVM.rst:345 +#: ../../../HowToReleaseLLVM.rst:361 msgid "" "*Bug fix releases* Patches should be limited to bug fixes or very safe and " "critical performance improvements. Patches must maintain both API and ABI " "compatibility with the X.1.0 release." msgstr "" -#: ../../../HowToReleaseLLVM.rst:350 +#: ../../../HowToReleaseLLVM.rst:366 msgid "Release Final Tasks" msgstr "" -#: ../../../HowToReleaseLLVM.rst:352 +#: ../../../HowToReleaseLLVM.rst:368 msgid "" "The final stages of the release process involve tagging the \"final\" " "release branch, updating documentation that refers to the release, and " "updating the demo page." msgstr "" -#: ../../../HowToReleaseLLVM.rst:357 +#: ../../../HowToReleaseLLVM.rst:373 msgid "Update Documentation" msgstr "" -#: ../../../HowToReleaseLLVM.rst:359 +#: ../../../HowToReleaseLLVM.rst:375 msgid "" "Review the documentation in the release branch and ensure that it is up to " "date. The \"Release Notes\" must be updated to reflect new features, bug " @@ -703,53 +701,53 @@ msgid "" "version number tag and changes in basic system requirements." msgstr "" -#: ../../../HowToReleaseLLVM.rst:368 +#: ../../../HowToReleaseLLVM.rst:384 msgid "Tag the LLVM Final Release" msgstr "" -#: ../../../HowToReleaseLLVM.rst:370 +#: ../../../HowToReleaseLLVM.rst:386 msgid "Tag the final release sources:" msgstr "" -#: ../../../HowToReleaseLLVM.rst:378 +#: ../../../HowToReleaseLLVM.rst:394 msgid "Update the LLVM Website" msgstr "" -#: ../../../HowToReleaseLLVM.rst:380 +#: ../../../HowToReleaseLLVM.rst:396 msgid "" "The website must be updated before the release announcement is sent out. " "Here is what to do:" msgstr "" -#: ../../../HowToReleaseLLVM.rst:383 +#: ../../../HowToReleaseLLVM.rst:399 msgid "" "Check out the `www-releases `_ repo " "from GitHub." msgstr "" -#: ../../../HowToReleaseLLVM.rst:386 +#: ../../../HowToReleaseLLVM.rst:402 msgid "Create a new sub-directory ``X.Y.Z`` in the releases directory." msgstr "" -#: ../../../HowToReleaseLLVM.rst:388 +#: ../../../HowToReleaseLLVM.rst:404 msgid "" "Copy and commit the ``llvm/docs`` and ``LICENSE.txt`` files into this new " "directory." msgstr "" -#: ../../../HowToReleaseLLVM.rst:391 +#: ../../../HowToReleaseLLVM.rst:407 msgid "" "Update the ``releases/download.html`` file with links to the release " "binaries on GitHub." msgstr "" -#: ../../../HowToReleaseLLVM.rst:394 +#: ../../../HowToReleaseLLVM.rst:410 msgid "" "Update the ``releases/index.html`` with the new release and link to release " "documentation." msgstr "" -#: ../../../HowToReleaseLLVM.rst:397 +#: ../../../HowToReleaseLLVM.rst:413 msgid "" "After you push the changes to the ``www-releases`` repo, someone with admin " "access must log in to ``prereleases-origin.llvm.org`` and manually pull the " @@ -757,17 +755,17 @@ msgid "" "served from." msgstr "" -#: ../../../HowToReleaseLLVM.rst:401 +#: ../../../HowToReleaseLLVM.rst:417 msgid "" "Finally, check out the ``llvm-www`` repo and update the main page (``index." "html`` and sidebar) to point to the new release and release announcement." msgstr "" -#: ../../../HowToReleaseLLVM.rst:406 +#: ../../../HowToReleaseLLVM.rst:422 msgid "Announce the Release" msgstr "" -#: ../../../HowToReleaseLLVM.rst:408 +#: ../../../HowToReleaseLLVM.rst:424 msgid "" "Create a new post in the `Announce Category `_ once all the release tasks are complete. For X.1.0 releases, " @@ -775,7 +773,7 @@ msgid "" "releases, generate a changelog using this command and add it to the post." msgstr "" -#: ../../../HowToReleaseLLVM.rst:417 +#: ../../../HowToReleaseLLVM.rst:433 msgid "" "Once the release has been announced, add a link to the announcement on the " "llvm homepage (from the ``llvm-www`` repo) in the \"Release Emails\" section." diff --git a/main/locale/pot/LC_MESSAGES/HowToSetUpLLVMStyleRTTI.pot b/main/locale/pot/LC_MESSAGES/HowToSetUpLLVMStyleRTTI.pot index 44d53fc256f..0de48c8f3c2 100644 --- a/main/locale/pot/LC_MESSAGES/HowToSetUpLLVMStyleRTTI.pot +++ b/main/locale/pot/LC_MESSAGES/HowToSetUpLLVMStyleRTTI.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: LLVM main\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-10-13 08:36+0000\n" +"POT-Creation-Date: 2026-03-09 08:48+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -298,29 +298,17 @@ msgid "" "are known to be ``DeclContext``'s." msgstr "" -#: ../../../HowToSetUpLLVMStyleRTTI.rst:394 -msgid "Todo" -msgstr "" - -#: ../../../HowToSetUpLLVMStyleRTTI.rst:396 -msgid "" -"Touch on some of the more advanced features, like ``isa_impl`` and " -"``simplify_type``. However, those two need reference documentation in the " -"form of doxygen comments as well. We need the doxygen so that we can say " -"\"for full details, see https://llvm.org/doxygen/...\"" -msgstr "" - -#: ../../../HowToSetUpLLVMStyleRTTI.rst:402 +#: ../../../HowToSetUpLLVMStyleRTTI.rst:395 msgid "Rules of Thumb" msgstr "" -#: ../../../HowToSetUpLLVMStyleRTTI.rst:404 +#: ../../../HowToSetUpLLVMStyleRTTI.rst:397 msgid "" "The ``Kind`` enum should have one entry per concrete class, ordered " "according to a preorder traversal of the inheritance tree." msgstr "" -#: ../../../HowToSetUpLLVMStyleRTTI.rst:406 +#: ../../../HowToSetUpLLVMStyleRTTI.rst:399 msgid "" "The argument to ``classof`` should be a ``const Base *``, where ``Base`` is " "some ancestor in the inheritance hierarchy. The argument should *never* be a " @@ -328,24 +316,24 @@ msgid "" "already handles this case and optimizes it." msgstr "" -#: ../../../HowToSetUpLLVMStyleRTTI.rst:410 +#: ../../../HowToSetUpLLVMStyleRTTI.rst:403 msgid "" "For each class in the hierarchy that has no children, implement a " "``classof`` that checks only against its ``Kind``." msgstr "" -#: ../../../HowToSetUpLLVMStyleRTTI.rst:412 +#: ../../../HowToSetUpLLVMStyleRTTI.rst:405 msgid "" "For each class in the hierarchy that has children, implement a ``classof`` " "that checks a range of the first child's ``Kind`` and the last child's " "``Kind``." msgstr "" -#: ../../../HowToSetUpLLVMStyleRTTI.rst:417 +#: ../../../HowToSetUpLLVMStyleRTTI.rst:410 msgid "RTTI for Open Class Hierarchies" msgstr "" -#: ../../../HowToSetUpLLVMStyleRTTI.rst:419 +#: ../../../HowToSetUpLLVMStyleRTTI.rst:412 msgid "" "Sometimes it is not possible to know all types in a hierarchy ahead of time. " "For example, in the shapes hierarchy described above the authors may have " @@ -354,7 +342,7 @@ msgid "" "``RTTIExtends`` utilities." msgstr "" -#: ../../../HowToSetUpLLVMStyleRTTI.rst:425 +#: ../../../HowToSetUpLLVMStyleRTTI.rst:418 msgid "" "The ``RTTIRoot`` class describes an interface for performing RTTI checks. " "The ``RTTIExtends`` class template provides an implementation of this " @@ -365,21 +353,21 @@ msgid "" "address of which will be used to identify the type." msgstr "" -#: ../../../HowToSetUpLLVMStyleRTTI.rst:433 +#: ../../../HowToSetUpLLVMStyleRTTI.rst:426 msgid "" "This open-hierarchy RTTI support should only be used if your use case " "requires it. Otherwise the standard LLVM RTTI system should be preferred." msgstr "" -#: ../../../HowToSetUpLLVMStyleRTTI.rst:439 +#: ../../../HowToSetUpLLVMStyleRTTI.rst:432 msgid "E.g." msgstr "" -#: ../../../HowToSetUpLLVMStyleRTTI.rst:472 +#: ../../../HowToSetUpLLVMStyleRTTI.rst:465 msgid "Advanced Use Cases" msgstr "" -#: ../../../HowToSetUpLLVMStyleRTTI.rst:474 +#: ../../../HowToSetUpLLVMStyleRTTI.rst:467 msgid "" "The underlying implementation of isa/cast/dyn_cast is all controlled through " "a struct called ``CastInfo``. ``CastInfo`` provides 4 methods, " @@ -390,7 +378,7 @@ msgid "" "base ``CastInfo`` struct." msgstr "" -#: ../../../HowToSetUpLLVMStyleRTTI.rst:482 +#: ../../../HowToSetUpLLVMStyleRTTI.rst:475 msgid "" "This can be a lot of boilerplate, so we also have what we call Cast Traits. " "These are structs that provide one or more of the above methods so you can " @@ -401,18 +389,46 @@ msgid "" "if they're particularly useful!" msgstr "" -#: ../../../HowToSetUpLLVMStyleRTTI.rst:491 +#: ../../../HowToSetUpLLVMStyleRTTI.rst:484 +msgid "" +"Enabling isa/cast/dyn_cast for Handle Types by Specializing ``simplify_type``" +msgstr "" + +#: ../../../HowToSetUpLLVMStyleRTTI.rst:486 +msgid "" +"It is common to require pointer handle types like smart pointers or " +"iterators. Yet, since the ``classof`` method is only implemented for the " +"underlying types, developers must manually unwrap them into raw pointers " +"prior to invoking ``isa``, ``cast``, or ``dyn_cast``." +msgstr "" + +#: ../../../HowToSetUpLLVMStyleRTTI.rst:490 +msgid "" +"To avoid this boilerplate, you can specialize the ``simplify_type`` template " +"for your handle type. For example, if you have an iterator class for " +"``Shape`` called ``ShapeIterator``, you can specialize ``simplify_type`` " +"like so:" +msgstr "" + +#: ../../../HowToSetUpLLVMStyleRTTI.rst:512 +msgid "" +"By doing this, you can now use ``isa``, ``cast``, and ``dyn_cast`` directly " +"on ``ShapeIterator`` objects without having to manually call ``get()`` on " +"them. For example:" +msgstr "" + +#: ../../../HowToSetUpLLVMStyleRTTI.rst:524 msgid "Value to value casting" msgstr "" -#: ../../../HowToSetUpLLVMStyleRTTI.rst:492 +#: ../../../HowToSetUpLLVMStyleRTTI.rst:525 msgid "" "In this case, we have a struct that is what we call 'nullable' - i.e. it is " "constructible from ``nullptr`` and that results in a value you can tell is " "invalid." msgstr "" -#: ../../../HowToSetUpLLVMStyleRTTI.rst:507 +#: ../../../HowToSetUpLLVMStyleRTTI.rst:540 msgid "" "Given something like this, we want to pass this object around by value, and " "we would like to cast from objects of this type to some other set of " @@ -420,46 +436,46 @@ msgid "" "``classof``. So we can use some provided cast traits like so:" msgstr "" -#: ../../../HowToSetUpLLVMStyleRTTI.rst:524 +#: ../../../HowToSetUpLLVMStyleRTTI.rst:557 msgid "Pointer to value casting" msgstr "" -#: ../../../HowToSetUpLLVMStyleRTTI.rst:525 +#: ../../../HowToSetUpLLVMStyleRTTI.rst:558 msgid "" "Now given the value above ``SomeValue``, maybe we'd like to be able to cast " "to that type from a char pointer type. So what we would do in that case is:" msgstr "" -#: ../../../HowToSetUpLLVMStyleRTTI.rst:542 +#: ../../../HowToSetUpLLVMStyleRTTI.rst:575 msgid "" "This would enable us to cast from a ``char *`` to a SomeValue, if we wanted " "to." msgstr "" -#: ../../../HowToSetUpLLVMStyleRTTI.rst:545 +#: ../../../HowToSetUpLLVMStyleRTTI.rst:578 msgid "Optional value casting" msgstr "" -#: ../../../HowToSetUpLLVMStyleRTTI.rst:546 +#: ../../../HowToSetUpLLVMStyleRTTI.rst:579 msgid "" "When your types are not constructible from ``nullptr`` or there isn't a " "simple way to tell when an object is invalid, you may want to use ``std::" "optional``. In those cases, you probably want something like this:" msgstr "" -#: ../../../HowToSetUpLLVMStyleRTTI.rst:555 +#: ../../../HowToSetUpLLVMStyleRTTI.rst:588 msgid "" "That cast trait requires that ``T`` is constructible from ``const SomeValue " "&`` but it enables casting like so:" msgstr "" -#: ../../../HowToSetUpLLVMStyleRTTI.rst:563 +#: ../../../HowToSetUpLLVMStyleRTTI.rst:596 msgid "" "With the ``_if_present`` variants, you can even do optional chaining like " "this:" msgstr "" -#: ../../../HowToSetUpLLVMStyleRTTI.rst:570 +#: ../../../HowToSetUpLLVMStyleRTTI.rst:603 msgid "" "and ``valOr`` will be ``std::nullopt`` if either ``someVal`` cannot be " "converted *or* if ``someVal`` was also ``std::nullopt``." diff --git a/main/locale/pot/LC_MESSAGES/HowToSubmitABug.pot b/main/locale/pot/LC_MESSAGES/HowToSubmitABug.pot index 512be3951df..a3ae4abec30 100644 --- a/main/locale/pot/LC_MESSAGES/HowToSubmitABug.pot +++ b/main/locale/pot/LC_MESSAGES/HowToSubmitABug.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: LLVM main\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-03 08:36+0000\n" +"POT-Creation-Date: 2026-03-09 08:48+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -160,46 +160,48 @@ msgstr "" #: ../../../HowToSubmitABug.rst:105 msgid "" -"If this does crash, then you can debug this with the following :doc:" -"`bugpoint ` command:" +"If this does crash, then you can debug this with the :doc:`llvm-reduce " +"` tool. Create a script that reproduces the crash " +"and run:" msgstr "" -#: ../../../HowToSubmitABug.rst:112 -msgid "" -"Run this, then file a bug with the instructions and reduced ``.bc`` files " -"that bugpoint emits." +#: ../../../HowToSubmitABug.rst:113 +msgid "which should produce reduced IR that reproduces the crash." msgstr "" -#: ../../../HowToSubmitABug.rst:115 +#: ../../../HowToSubmitABug.rst:116 msgid "" -"If bugpoint doesn't reproduce the crash, :doc:`llvm-reduce ` is an alternative way to reduce LLVM IR. Create a script that " -"reproduces the crash and run:" +"``llvm-reduce -j $NUM_THREADS`` is multi-threaded and can therefore " +"potentially be much faster." msgstr "" -#: ../../../HowToSubmitABug.rst:123 -msgid "which should produce reduced IR that reproduces the crash." -msgstr "" - -#: ../../../HowToSubmitABug.rst:126 +#: ../../../HowToSubmitABug.rst:120 msgid "" -"``llvm-reduce`` is still fairly immature and may crash. On the other hand, " -"unlike ``bugpoint``, ``llvm-reduce -j $NUM_THREADS`` is multi-threaded and " -"can therefore potentially be much faster." +"Reduction is fastest and most effective the simpler the reproduction script " +"is. Ideally, this will be running `opt` with a single pass. The most " +"effective way to extract the IR before a specific point is a two step " +"process. First, run the testcase with the ``-print-pass-numbers`` flag. This " +"will print the name of a pass and an integer ID. You can then use the last " +"ID printed before the crash and add 3 flags, ``-print-before-pass-" +"number= -print-module-scope -ir-dump-directory=/my/debug/path``. " +"This will place failing IR files in the given directory. ``-print-before-" +"pass-number`` is the minimum required flag, but will not produce an output " +"directly consumable by a tool. It will print to stderr, and will be " +"incomplete in most situations without ``-print-module-scope``." msgstr "" -#: ../../../HowToSubmitABug.rst:130 +#: ../../../HowToSubmitABug.rst:134 msgid "" -"If none of the above work, you can get the IR before a crash by running the " -"``opt`` command with the ``--print-before-all --print-module-scope`` flags " -"to dump the IR before every pass. Be warned that this is very verbose." +"A more brute force approach is to use the ``--print-before-all --print-" +"module-scope`` flags to dump the IR before every pass. Be warned that this " +"is very verbose." msgstr "" -#: ../../../HowToSubmitABug.rst:137 +#: ../../../HowToSubmitABug.rst:141 msgid "Backend code generator bugs" msgstr "" -#: ../../../HowToSubmitABug.rst:139 +#: ../../../HowToSubmitABug.rst:143 msgid "" "If you find a bug that crashes clang in the code generator, compile your " "source file to a ``.bc`` file by passing \"``-emit-llvm -c -o foo.bc``\" to " @@ -207,69 +209,58 @@ msgid "" "bc``, one of the following commands should fail:" msgstr "" -#: ../../../HowToSubmitABug.rst:144 +#: ../../../HowToSubmitABug.rst:148 msgid "``llc foo.bc``" msgstr "" -#: ../../../HowToSubmitABug.rst:145 +#: ../../../HowToSubmitABug.rst:149 msgid "``llc foo.bc -relocation-model=pic``" msgstr "" -#: ../../../HowToSubmitABug.rst:146 +#: ../../../HowToSubmitABug.rst:150 msgid "``llc foo.bc -relocation-model=static``" msgstr "" -#: ../../../HowToSubmitABug.rst:148 +#: ../../../HowToSubmitABug.rst:152 msgid "" "If none of these crash, please follow the instructions for a :ref:`front-end " "bug`. If one of these crashes, you should be able to reduce " -"this with one of the following :doc:`bugpoint ` command lines (use " -"the one corresponding to the command above that failed):" +"this with :doc:`llvm-reduce `, similar to middle " +"end bugs. In this case, your test script should use :doc:`llc ` instead of `opt`." msgstr "" -#: ../../../HowToSubmitABug.rst:153 -msgid "``bugpoint -run-llc foo.bc``" -msgstr "" - -#: ../../../HowToSubmitABug.rst:154 -msgid "``bugpoint -run-llc foo.bc --tool-args -relocation-model=pic``" -msgstr "" - -#: ../../../HowToSubmitABug.rst:155 -msgid "``bugpoint -run-llc foo.bc --tool-args -relocation-model=static``" -msgstr "" - -#: ../../../HowToSubmitABug.rst:157 +#: ../../../HowToSubmitABug.rst:159 msgid "" "Please run this, then file a bug with the instructions and reduced ``.bc`` " -"file that bugpoint emits. If something goes wrong with bugpoint, please " -"submit the ``foo.bc`` file and the option that llc crashes with." +"file that `llvm-reduce` emits. If something goes wrong with `llvm-reduce`, " +"please submit the ``foo.bc`` file and the option that `llc` crashes with." msgstr "" -#: ../../../HowToSubmitABug.rst:162 +#: ../../../HowToSubmitABug.rst:165 msgid "LTO bugs" msgstr "" -#: ../../../HowToSubmitABug.rst:164 +#: ../../../HowToSubmitABug.rst:167 msgid "" "If you encounter a bug that leads to crashes in the LLVM LTO phase when " "using the ``-flto`` option, follow these steps to diagnose and report the " "issue:" msgstr "" -#: ../../../HowToSubmitABug.rst:167 +#: ../../../HowToSubmitABug.rst:170 msgid "" "Compile your source file to a ``.bc`` (Bitcode) file with the following " "options, in addition to your existing compilation options:" msgstr "" -#: ../../../HowToSubmitABug.rst:174 +#: ../../../HowToSubmitABug.rst:177 msgid "" "These options enable LTO and save temporary files generated during " "compilation for later analysis." msgstr "" -#: ../../../HowToSubmitABug.rst:177 +#: ../../../HowToSubmitABug.rst:180 msgid "" "On Windows, use lld-link as the linker. Adjust your compilation flags as " "follows: * Add ``/lldsavetemps`` to the linker flags. * When linking from " @@ -277,68 +268,68 @@ msgid "" "flag to the linker." msgstr "" -#: ../../../HowToSubmitABug.rst:182 +#: ../../../HowToSubmitABug.rst:185 msgid "" "Using the specified flags will generate four intermediate bytecode files:" msgstr "" -#: ../../../HowToSubmitABug.rst:184 +#: ../../../HowToSubmitABug.rst:187 msgid "" "a.out.0.0.preopt.bc (Before any link-time optimizations (LTO) are applied)" msgstr "" -#: ../../../HowToSubmitABug.rst:185 +#: ../../../HowToSubmitABug.rst:188 msgid "a.out.0.2.internalize.bc (After initial optimizations are applied)" msgstr "" -#: ../../../HowToSubmitABug.rst:186 +#: ../../../HowToSubmitABug.rst:189 msgid "a.out.0.4.opt.bc (After an extensive set of optimizations)" msgstr "" -#: ../../../HowToSubmitABug.rst:187 +#: ../../../HowToSubmitABug.rst:190 msgid "" "a.out.0.5.precodegen.bc (After LTO but before translating into machine code)" msgstr "" -#: ../../../HowToSubmitABug.rst:189 +#: ../../../HowToSubmitABug.rst:192 msgid "" "Execute one of the following commands to identify the source of the problem:" msgstr "" -#: ../../../HowToSubmitABug.rst:191 +#: ../../../HowToSubmitABug.rst:194 msgid "``opt \"-passes=lto\" a.out.0.2.internalize.bc``" msgstr "" -#: ../../../HowToSubmitABug.rst:192 +#: ../../../HowToSubmitABug.rst:195 msgid "``llc a.out.0.5.precodegen.bc``" msgstr "" -#: ../../../HowToSubmitABug.rst:194 +#: ../../../HowToSubmitABug.rst:197 msgid "" "If one of these do crash, you should be able to reduce this with :program:" "`llvm-reduce` command line (use the bc file corresponding to the command " "above that failed):" msgstr "" -#: ../../../HowToSubmitABug.rst:202 +#: ../../../HowToSubmitABug.rst:205 msgid "Example of ``reduce.sh`` script" msgstr "" -#: ../../../HowToSubmitABug.rst:212 +#: ../../../HowToSubmitABug.rst:215 msgid "Here we have grepped for the failed assert message." msgstr "" -#: ../../../HowToSubmitABug.rst:214 +#: ../../../HowToSubmitABug.rst:217 msgid "" "Please run this, then file a bug with the instructions and reduced ``.bc`` " "file that llvm-reduce emits." msgstr "" -#: ../../../HowToSubmitABug.rst:220 +#: ../../../HowToSubmitABug.rst:223 msgid "Miscompilations" msgstr "" -#: ../../../HowToSubmitABug.rst:222 +#: ../../../HowToSubmitABug.rst:225 msgid "" "If clang successfully produces an executable, but that executable doesn't " "run right, this is either a bug in the code or a bug in the compiler. The " @@ -350,14 +341,14 @@ msgid "" "up being bugs in the program being compiled, not LLVM." msgstr "" -#: ../../../HowToSubmitABug.rst:232 +#: ../../../HowToSubmitABug.rst:235 msgid "" "Once you determine that the program itself is not buggy, you should choose " "which code generator you wish to compile the program with (e.g., LLC or the " "JIT) and optionally a series of LLVM passes to run. For example:" msgstr "" -#: ../../../HowToSubmitABug.rst:240 +#: ../../../HowToSubmitABug.rst:243 msgid "" "bugpoint will try to narrow down your list of passes to the one pass that " "causes an error, and simplify the bitcode file as much as it can to assist " @@ -365,68 +356,8 @@ msgid "" "error." msgstr "" -#: ../../../HowToSubmitABug.rst:245 +#: ../../../HowToSubmitABug.rst:248 msgid "" "The :doc:`OptBisect ` page shows an alternative method for " "finding incorrect optimization passes." msgstr "" - -#: ../../../HowToSubmitABug.rst:249 -msgid "Incorrect code generation" -msgstr "" - -#: ../../../HowToSubmitABug.rst:251 -msgid "" -"Similarly to debugging incorrect compilation by mis-behaving passes, you can " -"debug incorrect code generation by either LLC or the JIT, using " -"``bugpoint``. The process ``bugpoint`` follows in this case is to try to " -"narrow the code down to a function that is miscompiled by one or the other " -"method, but since for correctness, the entire program must be run, " -"``bugpoint`` will compile the code it deems to not be affected with the C " -"Backend, and then link in the shared object it generates." -msgstr "" - -#: ../../../HowToSubmitABug.rst:259 -msgid "To debug the JIT:" -msgstr "" - -#: ../../../HowToSubmitABug.rst:267 -msgid "Similarly, to debug the LLC, one would run:" -msgstr "" - -#: ../../../HowToSubmitABug.rst:275 -msgid "" -"**Special note:** if you are debugging MultiSource or SPEC tests that " -"already exist in the ``llvm/test`` hierarchy, there is an easier way to " -"debug the JIT, LLC, and CBE, using the pre-written Makefile targets, which " -"will pass the program options specified in the Makefiles:" -msgstr "" - -#: ../../../HowToSubmitABug.rst:285 -msgid "" -"At the end of a successful ``bugpoint`` run, you will be presented with two " -"bitcode files: a *safe* file which can be compiled with the C backend and " -"the *test* file which either LLC or the JIT mis-codegenerates, and thus " -"causes the error." -msgstr "" - -#: ../../../HowToSubmitABug.rst:290 -msgid "" -"To reproduce the error that ``bugpoint`` found, it is sufficient to do the " -"following:" -msgstr "" - -#: ../../../HowToSubmitABug.rst:293 -msgid "Regenerate the shared object from the safe bitcode file:" -msgstr "" - -#: ../../../HowToSubmitABug.rst:300 -msgid "" -"If debugging LLC, compile test bitcode native and link with the shared " -"object:" -msgstr "" - -#: ../../../HowToSubmitABug.rst:309 -msgid "" -"If debugging the JIT, load the shared object and supply the test bitcode:" -msgstr "" diff --git a/main/locale/pot/LC_MESSAGES/HowToUseInstrMappings.pot b/main/locale/pot/LC_MESSAGES/HowToUseInstrMappings.pot index 3057abf8439..c149fe28899 100644 --- a/main/locale/pot/LC_MESSAGES/HowToUseInstrMappings.pot +++ b/main/locale/pot/LC_MESSAGES/HowToUseInstrMappings.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: LLVM main\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-12-01 08:45+0000\n" +"POT-Creation-Date: 2026-03-09 08:48+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -61,7 +61,7 @@ msgstr "" #: ../../../HowToUseInstrMappings.rst:63 msgid "" -"Let's say that we want to have a function ``int getPredOpcode(uint16_t " +"Let's say that we want to have a function ``int getPredOpcode(uint32_t " "Opcode, enum PredSense inPredSense)`` which takes a non-predicated " "instruction and returns its predicated true or false form depending on some " "input flag, ``inPredSense``. The first step in the process is to define a " @@ -75,7 +75,7 @@ msgstr "" msgid "" "TableGen uses the above relationship model to emit relation table that maps " "non-predicated instructions with their predicated forms. It also outputs the " -"interface function ``int getPredOpcode(uint16_t Opcode, enum PredSense " +"interface function ``int getPredOpcode(uint32_t Opcode, enum PredSense " "inPredSense)`` to query the table. Here, Function ``getPredOpcode`` takes " "two arguments, opcode of the current instruction and PredSense of the " "desired instruction, and returns predicated form of the instruction, if " diff --git a/main/locale/pot/LC_MESSAGES/LFI.pot b/main/locale/pot/LC_MESSAGES/LFI.pot index e44c0d10754..8e7cc787258 100644 --- a/main/locale/pot/LC_MESSAGES/LFI.pot +++ b/main/locale/pot/LC_MESSAGES/LFI.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: LLVM main\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-01-05 08:39+0000\n" +"POT-Creation-Date: 2026-03-09 08:48+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -365,40 +365,74 @@ msgid "In certain cases, guards may be hoisted outside of loops." msgstr "" #: ../../../LFI.rst:402 -msgid "References" +msgid "Assembler Directives" msgstr "" #: ../../../LFI.rst:404 +msgid "" +"The LFI assembler supports the following directives for controlling the " +"rewriter." +msgstr "" + +#: ../../../LFI.rst:408 +msgid "``.lfi_rewrite_disable``" +msgstr "" + +#: ../../../LFI.rst:410 +msgid "" +"Disables LFI assembly rewrites for all subsequent instructions, until ``." +"lfi_rewrite_enable`` is used. This can be useful for hand-written assembly " +"that is already safe and should not be modified by the rewriter." +msgstr "" + +#: ../../../LFI.rst:415 +msgid "``.lfi_rewrite_enable``" +msgstr "" + +#: ../../../LFI.rst:417 +msgid "" +"Re-enables LFI assembly rewrites after a previous ``.lfi_rewrite_disable``." +msgstr "" + +#: ../../../LFI.rst:419 +msgid "Example:" +msgstr "" + +#: ../../../LFI.rst:429 +msgid "References" +msgstr "" + +#: ../../../LFI.rst:431 msgid "For more information, please see the following resources:" msgstr "" -#: ../../../LFI.rst:406 +#: ../../../LFI.rst:433 msgid "`LFI project page `__" msgstr "" -#: ../../../LFI.rst:407 +#: ../../../LFI.rst:434 msgid "" "`LFI RFC `__" msgstr "" -#: ../../../LFI.rst:408 +#: ../../../LFI.rst:435 msgid "`LFI paper `__" msgstr "" -#: ../../../LFI.rst:410 +#: ../../../LFI.rst:437 msgid "Contact info:" msgstr "" -#: ../../../LFI.rst:412 +#: ../../../LFI.rst:439 msgid "Zachary Yedidia - zyedidia@cs.stanford.edu" msgstr "" -#: ../../../LFI.rst:413 +#: ../../../LFI.rst:440 msgid "Tal Garfinkel - tgarfinkel@google.com" msgstr "" -#: ../../../LFI.rst:414 +#: ../../../LFI.rst:441 msgid "Sharjeel Khan - sharjeelkhan@google.com" msgstr "" diff --git a/main/locale/pot/LC_MESSAGES/LangRef.pot b/main/locale/pot/LC_MESSAGES/LangRef.pot index 52932943719..a5a55d10d66 100644 --- a/main/locale/pot/LC_MESSAGES/LangRef.pot +++ b/main/locale/pot/LC_MESSAGES/LangRef.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: LLVM main\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-01-05 08:39+0000\n" +"POT-Creation-Date: 2026-03-09 08:48+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -85,14 +85,14 @@ msgid "" "transformation passes or input to the parser." msgstr "" -#: ../../../LangRef.rst:0 ../../../LangRef.rst:65 ../../../LangRef.rst:18832 -#: ../../../LangRef.rst:18882 ../../../LangRef.rst:18931 -#: ../../../LangRef.rst:18981 ../../../LangRef.rst:19028 -#: ../../../LangRef.rst:19081 ../../../LangRef.rst:19184 -#: ../../../LangRef.rst:19244 ../../../LangRef.rst:19303 -#: ../../../LangRef.rst:19373 ../../../LangRef.rst:19440 -#: ../../../LangRef.rst:19500 ../../../LangRef.rst:19560 -#: ../../../LangRef.rst:19627 +#: ../../../LangRef.rst:0 ../../../LangRef.rst:65 ../../../LangRef.rst:19159 +#: ../../../LangRef.rst:19209 ../../../LangRef.rst:19258 +#: ../../../LangRef.rst:19308 ../../../LangRef.rst:19355 +#: ../../../LangRef.rst:19408 ../../../LangRef.rst:19511 +#: ../../../LangRef.rst:19571 ../../../LangRef.rst:19630 +#: ../../../LangRef.rst:19700 ../../../LangRef.rst:19767 +#: ../../../LangRef.rst:19827 ../../../LangRef.rst:19887 +#: ../../../LangRef.rst:19954 msgid "Syntax" msgstr "" @@ -718,7 +718,7 @@ msgid "" "registers to pass arguments. This attribute doesn't impact non-general " "purpose registers (e.g., floating point registers, on X86 XMMs/YMMs). Non-" "general purpose registers still follow the standard C calling convention. " -"Currently it is for x86_64 and AArch64 only." +"Currently it is for x86_64, AArch64 and LoongArch only." msgstr "" #: ../../../LangRef.rst:492 @@ -1341,7 +1341,7 @@ msgid "" "significant." msgstr "" -#: ../../../LangRef.rst:841 ../../../LangRef.rst:1049 ../../../LangRef.rst:1085 +#: ../../../LangRef.rst:841 ../../../LangRef.rst:1060 ../../../LangRef.rst:1096 msgid "" "If the ``local_unnamed_addr`` attribute is given, the address is known to " "not be significant within the module." @@ -1453,10 +1453,10 @@ msgid "" "increase their alignments to mitigate TOC overflow." msgstr "" -#: ../../../LangRef.rst:919 ../../../LangRef.rst:982 ../../../LangRef.rst:995 -#: ../../../LangRef.rst:1009 ../../../LangRef.rst:1071 -#: ../../../LangRef.rst:1124 ../../../LangRef.rst:1146 -#: ../../../LangRef.rst:1244 ../../../LangRef.rst:2910 +#: ../../../LangRef.rst:919 ../../../LangRef.rst:984 ../../../LangRef.rst:997 +#: ../../../LangRef.rst:1011 ../../../LangRef.rst:1082 +#: ../../../LangRef.rst:1135 ../../../LangRef.rst:1157 +#: ../../../LangRef.rst:1255 ../../../LangRef.rst:2950 msgid "Syntax::" msgstr "" @@ -1498,20 +1498,21 @@ msgid "" "empty) argument list (each with optional :ref:`parameter attributes " "`), optional :ref:`function attributes `, an optional " "address space, an optional section, an optional partition, an optional " -"alignment, an optional :ref:`comdat `, an optional :ref:" -"`garbage collector name `, an optional :ref:`prefix `, an " -"optional :ref:`prologue `, an optional :ref:`personality " -"`, an optional list of attached :ref:`metadata `, " -"an opening curly brace, a list of basic blocks, and a closing curly brace." +"minimum alignment, an optional preferred alignment, an optional :ref:`comdat " +"`, an optional :ref:`garbage collector name `, an " +"optional :ref:`prefix `, an optional :ref:`prologue " +"`, an optional :ref:`personality `, an optional " +"list of attached :ref:`metadata `, an opening curly brace, a list " +"of basic blocks, and a closing curly brace." msgstr "" -#: ../../../LangRef.rst:992 +#: ../../../LangRef.rst:994 msgid "" "The argument list is a comma-separated sequence of arguments where each " "argument is of the following form:" msgstr "" -#: ../../../LangRef.rst:999 +#: ../../../LangRef.rst:1001 msgid "" "LLVM function declarations consist of the \"``declare``\" keyword, an " "optional :ref:`linkage type `, an optional :ref:`visibility style " @@ -1525,7 +1526,7 @@ msgid "" "`." msgstr "" -#: ../../../LangRef.rst:1017 +#: ../../../LangRef.rst:1019 msgid "" "A function definition contains a list of basic blocks, forming the CFG " "(Control Flow Graph) for the function. Each basic block may optionally start " @@ -1541,7 +1542,7 @@ msgid "" "label that would be used implicitly." msgstr "" -#: ../../../LangRef.rst:1030 +#: ../../../LangRef.rst:1032 msgid "" "The first basic block in a function is special in two ways: it is " "immediately executed on entrance to the function, and it is not allowed to " @@ -1550,51 +1551,62 @@ msgid "" "also cannot have any :ref:`PHI nodes `." msgstr "" -#: ../../../LangRef.rst:1036 +#: ../../../LangRef.rst:1038 msgid "" "LLVM allows an explicit section to be specified for functions. If the target " "supports it, it will emit functions to the section specified. Additionally, " "the function can be placed in a COMDAT." msgstr "" -#: ../../../LangRef.rst:1040 +#: ../../../LangRef.rst:1042 +msgid "" +"An explicit minimum alignment (``align``) may be specified for a function. " +"If not present, or if the alignment is set to zero, the alignment of the " +"function is set according to the preferred alignment rules described below. " +"If an explicit minimum alignment is specified, the function is forced to " +"have at least that much alignment. All alignments must be a power of 2." +msgstr "" + +#: ../../../LangRef.rst:1049 msgid "" -"An explicit alignment may be specified for a function. If not present, or if " -"the alignment is set to zero, the alignment of the function is set by the " -"target to whatever it feels convenient. If an explicit alignment is " -"specified, the function is forced to have at least that much alignment. All " -"alignments must be a power of 2." +"An explicit preferred alignment (``prefalign``) may also be specified for a " +"function (definitions only, and must be a power of 2). If a function does " +"not have a preferred alignment attribute, the preferred alignment is " +"determined in a target-specific way. The preferred alignment, if provided, " +"is treated as a hint; the final alignment of the function will generally be " +"set to a value somewhere between the minimum alignment and the preferred " +"alignment." msgstr "" -#: ../../../LangRef.rst:1046 +#: ../../../LangRef.rst:1057 msgid "" "If the ``unnamed_addr`` attribute is given, the address is known to not be " "significant and two identical functions can be merged." msgstr "" -#: ../../../LangRef.rst:1052 +#: ../../../LangRef.rst:1063 msgid "" "If an explicit address space is not given, it will default to the program " "address space from the :ref:`datalayout string`." msgstr "" -#: ../../../LangRef.rst:1058 +#: ../../../LangRef.rst:1069 msgid "Aliases" msgstr "" -#: ../../../LangRef.rst:1060 +#: ../../../LangRef.rst:1071 msgid "" "Aliases, unlike function or variables, don't create any new data. They are " "just a new symbol and metadata for an existing position." msgstr "" -#: ../../../LangRef.rst:1063 +#: ../../../LangRef.rst:1074 msgid "" "Aliases have a name and an aliasee that is either a global value or a " "constant expression." msgstr "" -#: ../../../LangRef.rst:1066 +#: ../../../LangRef.rst:1077 msgid "" "Aliases may have an optional :ref:`linkage type `, an optional :ref:" "`runtime preemption specifier `, an optional :ref:" @@ -1602,7 +1614,7 @@ msgid "" "` and an optional :ref:`tls model `." msgstr "" -#: ../../../LangRef.rst:1076 +#: ../../../LangRef.rst:1087 msgid "" "The linkage must be one of ``private``, ``internal``, ``linkonce``, " "``weak``, ``linkonce_odr``, ``weak_odr``, ``external``, " @@ -1610,32 +1622,32 @@ msgid "" "handle dropping a weak symbol that is aliased." msgstr "" -#: ../../../LangRef.rst:1081 +#: ../../../LangRef.rst:1092 msgid "" "Aliases that are not ``unnamed_addr`` are guaranteed to have the same " "address as the aliasee expression. ``unnamed_addr`` ones are only guaranteed " "to point to the same content." msgstr "" -#: ../../../LangRef.rst:1088 +#: ../../../LangRef.rst:1099 msgid "" "Since aliases are only a second name, some restrictions apply, of which some " "can only be checked when producing an object file:" msgstr "" -#: ../../../LangRef.rst:1091 +#: ../../../LangRef.rst:1102 msgid "" "The expression defining the aliasee must be computable at assembly time. " "Since it is just a name, no relocations can be used." msgstr "" -#: ../../../LangRef.rst:1094 +#: ../../../LangRef.rst:1105 msgid "" "No alias in the expression can be weak as the possibility of the " "intermediate alias being overridden cannot be represented in an object file." msgstr "" -#: ../../../LangRef.rst:1098 +#: ../../../LangRef.rst:1109 msgid "" "If the alias has the ``available_externally`` linkage, the aliasee must be " "an ``available_externally`` global value; otherwise the aliasee can be an " @@ -1643,7 +1655,7 @@ msgid "" "that would require a relocation, which is not possible." msgstr "" -#: ../../../LangRef.rst:1103 +#: ../../../LangRef.rst:1114 msgid "" "If either the alias or the aliasee may be replaced by a symbol outside the " "module at link time or runtime, any optimization cannot replace the alias " @@ -1651,41 +1663,41 @@ msgid "" "as a name guaranteed to point to the content in the current module." msgstr "" -#: ../../../LangRef.rst:1111 +#: ../../../LangRef.rst:1122 msgid "IFuncs" msgstr "" -#: ../../../LangRef.rst:1113 +#: ../../../LangRef.rst:1124 msgid "" "IFuncs, like aliases, don't create any new data or func. They are just a new " "symbol that is resolved at runtime by calling a resolver function." msgstr "" -#: ../../../LangRef.rst:1116 +#: ../../../LangRef.rst:1127 msgid "" "On ELF platforms, IFuncs are resolved by the dynamic linker at load time. On " "Mach-O platforms, they are lowered in terms of ``.symbol_resolver`` " "functions, which lazily resolve the callee the first time they are called." msgstr "" -#: ../../../LangRef.rst:1120 +#: ../../../LangRef.rst:1131 msgid "" "IFunc may have an optional :ref:`linkage type `, an optional :ref:" "`visibility style `, an option partition, and an optional list " "of attached :ref:`metadata `." msgstr "" -#: ../../../LangRef.rst:1133 +#: ../../../LangRef.rst:1144 msgid "Comdats" msgstr "" -#: ../../../LangRef.rst:1135 +#: ../../../LangRef.rst:1146 msgid "" "Comdat IR provides access to object file COMDAT/section group functionality " "which represents interrelated sections." msgstr "" -#: ../../../LangRef.rst:1138 +#: ../../../LangRef.rst:1149 msgid "" "Comdats have a name which represents the COMDAT key and a selection kind to " "provide input on how the linker deduplicates comdats with the same key in " @@ -1693,88 +1705,88 @@ msgid "" "Discarding the whole comdat is allowed but discarding a subset is not." msgstr "" -#: ../../../LangRef.rst:1143 +#: ../../../LangRef.rst:1154 msgid "" "A global object may be a member of at most one comdat. Aliases are placed in " "the same COMDAT that their aliasee computes to, if any." msgstr "" -#: ../../../LangRef.rst:1150 +#: ../../../LangRef.rst:1161 msgid "" "For selection kinds other than ``nodeduplicate``, only one of the duplicate " "comdats may be retained by the linker and the members of the remaining " "comdats must be discarded. The following selection kinds are supported:" msgstr "" -#: ../../../LangRef.rst:1154 +#: ../../../LangRef.rst:1165 msgid "``any``" msgstr "" -#: ../../../LangRef.rst:1155 +#: ../../../LangRef.rst:1166 msgid "The linker may choose any COMDAT key, the choice is arbitrary." msgstr "" -#: ../../../LangRef.rst:1157 +#: ../../../LangRef.rst:1168 msgid "``exactmatch``" msgstr "" -#: ../../../LangRef.rst:1157 +#: ../../../LangRef.rst:1168 msgid "" "The linker may choose any COMDAT key but the sections must contain the same " "data." msgstr "" -#: ../../../LangRef.rst:1159 +#: ../../../LangRef.rst:1170 msgid "``largest``" msgstr "" -#: ../../../LangRef.rst:1160 +#: ../../../LangRef.rst:1171 msgid "The linker will choose the section containing the largest COMDAT key." msgstr "" -#: ../../../LangRef.rst:1161 +#: ../../../LangRef.rst:1172 msgid "``nodeduplicate``" msgstr "" -#: ../../../LangRef.rst:1162 +#: ../../../LangRef.rst:1173 msgid "No deduplication is performed." msgstr "" -#: ../../../LangRef.rst:1165 +#: ../../../LangRef.rst:1176 msgid "``samesize``" msgstr "" -#: ../../../LangRef.rst:1164 +#: ../../../LangRef.rst:1175 msgid "" "The linker may choose any COMDAT key but the sections must contain the same " "amount of data." msgstr "" -#: ../../../LangRef.rst:1167 +#: ../../../LangRef.rst:1178 msgid "XCOFF and Mach-O don't support COMDATs." msgstr "" -#: ../../../LangRef.rst:1168 +#: ../../../LangRef.rst:1179 msgid "" "COFF supports all selection kinds. Non-``nodeduplicate`` selection kinds " "need a non-local linkage COMDAT symbol." msgstr "" -#: ../../../LangRef.rst:1170 +#: ../../../LangRef.rst:1181 msgid "ELF supports ``any`` and ``nodeduplicate``." msgstr "" -#: ../../../LangRef.rst:1171 +#: ../../../LangRef.rst:1182 msgid "WebAssembly only supports ``any``." msgstr "" -#: ../../../LangRef.rst:1173 +#: ../../../LangRef.rst:1184 msgid "" "Here is an example of a COFF COMDAT where a function will only be selected " "if the COMDAT key's section is the largest:" msgstr "" -#: ../../../LangRef.rst:1185 +#: ../../../LangRef.rst:1196 msgid "" "In a COFF object file, this will create a COMDAT section with selection kind " "``IMAGE_COMDAT_SELECT_LARGEST`` containing the contents of the ``@foo`` " @@ -1783,13 +1795,13 @@ msgid "" "COMDAT section and contains the contents of the ``@bar`` symbol." msgstr "" -#: ../../../LangRef.rst:1191 +#: ../../../LangRef.rst:1202 msgid "" "As a syntactic sugar the ``$name`` can be omitted if the name is the same as " "the global name:" msgstr "" -#: ../../../LangRef.rst:1200 +#: ../../../LangRef.rst:1211 msgid "" "There are some restrictions on the properties of the global object. It, or " "an alias to it, must have the same name as the COMDAT group when targeting " @@ -1800,13 +1812,13 @@ msgid "" "renamed if a collision occurs in the symbol table." msgstr "" -#: ../../../LangRef.rst:1209 +#: ../../../LangRef.rst:1220 msgid "" "The combined use of COMDATS and section attributes may yield surprising " "results. For example:" msgstr "" -#: ../../../LangRef.rst:1219 +#: ../../../LangRef.rst:1230 msgid "" "From the object file perspective, this requires the creation of two sections " "with the same name. This is necessary because both globals belong to " @@ -1814,7 +1826,7 @@ msgid "" "represented by sections." msgstr "" -#: ../../../LangRef.rst:1224 +#: ../../../LangRef.rst:1235 msgid "" "Note that certain IR constructs like global variables and functions may " "create COMDATs in the object file in addition to any which are specified " @@ -1823,17 +1835,17 @@ msgid "" "sections` is supplied to `llc`)." msgstr "" -#: ../../../LangRef.rst:1233 +#: ../../../LangRef.rst:1244 msgid "Named Metadata" msgstr "" -#: ../../../LangRef.rst:1235 +#: ../../../LangRef.rst:1246 msgid "" "Named metadata is a collection of metadata. :ref:`Metadata nodes ` " "(but not metadata strings) are the only valid operands for a named metadata." msgstr "" -#: ../../../LangRef.rst:1239 +#: ../../../LangRef.rst:1250 msgid "" "Named metadata are represented as a string of characters with the metadata " "prefix. The rules for metadata names are the same as for identifiers, but " @@ -1841,11 +1853,11 @@ msgid "" "which allows any character to be part of a name." msgstr "" -#: ../../../LangRef.rst:1256 +#: ../../../LangRef.rst:1267 msgid "Parameter Attributes" msgstr "" -#: ../../../LangRef.rst:1258 +#: ../../../LangRef.rst:1269 msgid "" "The return type and each parameter of a function type may have a set of " "*parameter attributes* associated with them. Parameter attributes are used " @@ -1856,20 +1868,20 @@ msgid "" "function declarations/definitions, and at call-sites." msgstr "" -#: ../../../LangRef.rst:1266 +#: ../../../LangRef.rst:1277 msgid "" "Parameter attributes are either simple keywords or strings that follow the " "specified type. Multiple parameter attributes, when required, are separated " "by spaces. For example:" msgstr "" -#: ../../../LangRef.rst:1282 +#: ../../../LangRef.rst:1293 msgid "" "Note that any attributes for the function result (``nonnull``, ``signext``) " "come before the result type." msgstr "" -#: ../../../LangRef.rst:1285 +#: ../../../LangRef.rst:1296 msgid "" "Parameter attributes can be broadly separated into two kinds: ABI attributes " "that affect how values are passed to/from functions, like ``zeroext``, " @@ -1878,7 +1890,7 @@ msgid "" "and ``dereferenceable``." msgstr "" -#: ../../../LangRef.rst:1291 +#: ../../../LangRef.rst:1302 msgid "" "ABI attributes must be specified *both* at the function declaration/" "definition and call-site, otherwise the behavior may be undefined. ABI " @@ -1887,33 +1899,33 @@ msgid "" "semantics applies. Optimization attributes can also be freely dropped." msgstr "" -#: ../../../LangRef.rst:1297 +#: ../../../LangRef.rst:1308 msgid "" "If an integer argument to a function is not marked signext/zeroext/noext, " "the kind of extension used is target-specific. Some targets depend for " "correctness on the kind of extension to be explicitly specified." msgstr "" -#: ../../../LangRef.rst:1301 +#: ../../../LangRef.rst:1312 msgid "Currently, only the following parameter attributes are defined:" msgstr "" -#: ../../../LangRef.rst:1305 +#: ../../../LangRef.rst:1316 msgid "``zeroext``" msgstr "" -#: ../../../LangRef.rst:1304 +#: ../../../LangRef.rst:1315 msgid "" "This indicates to the code generator that the parameter or return value " "should be zero-extended to the extent required by the target's ABI by the " "caller (for a parameter) or the callee (for a return value)." msgstr "" -#: ../../../LangRef.rst:1310 +#: ../../../LangRef.rst:1321 msgid "``signext``" msgstr "" -#: ../../../LangRef.rst:1308 +#: ../../../LangRef.rst:1319 msgid "" "This indicates to the code generator that the parameter or return value " "should be sign-extended to the extent required by the target's ABI (which is " @@ -1921,11 +1933,11 @@ msgid "" "value)." msgstr "" -#: ../../../LangRef.rst:1316 +#: ../../../LangRef.rst:1327 msgid "``noext``" msgstr "" -#: ../../../LangRef.rst:1313 +#: ../../../LangRef.rst:1324 msgid "" "This indicates to the code generator that the parameter or return value has " "the high bits undefined, as for a struct in a register, and therefore does " @@ -1934,11 +1946,11 @@ msgid "" "attributes is always present." msgstr "" -#: ../../../LangRef.rst:1323 +#: ../../../LangRef.rst:1334 msgid "``inreg``" msgstr "" -#: ../../../LangRef.rst:1319 +#: ../../../LangRef.rst:1330 msgid "" "This indicates that this parameter or return value should be treated in a " "special target-dependent fashion while emitting code for a function call or " @@ -1947,11 +1959,11 @@ msgid "" "registers). Use of this attribute is target-specific." msgstr "" -#: ../../../LangRef.rst:1343 +#: ../../../LangRef.rst:1354 msgid "``byval()``" msgstr "" -#: ../../../LangRef.rst:1326 +#: ../../../LangRef.rst:1337 msgid "" "This indicates that the pointer parameter should really be passed by value " "to the function. The attribute implies that a hidden copy of the pointee is " @@ -1963,11 +1975,11 @@ msgid "" "to ``byval`` parameters). This is not a valid attribute for return values." msgstr "" -#: ../../../LangRef.rst:1337 +#: ../../../LangRef.rst:1348 msgid "The byval type argument indicates the in-memory value type." msgstr "" -#: ../../../LangRef.rst:1339 +#: ../../../LangRef.rst:1350 msgid "" "The byval attribute also supports specifying an alignment with the ``align`` " "attribute. It indicates the alignment of the stack slot to form and the " @@ -1975,11 +1987,11 @@ msgid "" "is not specified, then the code generator makes a target-specific assumption." msgstr "" -#: ../../../LangRef.rst:1347 +#: ../../../LangRef.rst:1358 msgid "``byref()``" msgstr "" -#: ../../../LangRef.rst:1349 +#: ../../../LangRef.rst:1360 msgid "" "The ``byref`` argument attribute allows specifying the pointee memory type " "of an argument. This is similar to ``byval``, but does not imply a copy is " @@ -1987,17 +1999,17 @@ msgid "" "pointer is dereferenceable up to the storage size of the type." msgstr "" -#: ../../../LangRef.rst:1355 +#: ../../../LangRef.rst:1366 msgid "" "It is not generally permissible to introduce a write to a ``byref`` pointer. " "The pointer may have any address space and may be read only." msgstr "" -#: ../../../LangRef.rst:1359 +#: ../../../LangRef.rst:1370 msgid "This is not a valid attribute for return values." msgstr "" -#: ../../../LangRef.rst:1361 +#: ../../../LangRef.rst:1372 msgid "" "The alignment for a ``byref`` parameter can be explicitly specified by " "combining it with the ``align`` attribute, similar to ``byval``. If the " @@ -2005,17 +2017,17 @@ msgid "" "assumption." msgstr "" -#: ../../../LangRef.rst:1366 +#: ../../../LangRef.rst:1377 msgid "" "This is intended for representing ABI constraints, and is not intended to be " "inferred for optimization use." msgstr "" -#: ../../../LangRef.rst:1391 ../../../LangRef.rst:2858 +#: ../../../LangRef.rst:1402 ../../../LangRef.rst:2898 msgid "``preallocated()``" msgstr "" -#: ../../../LangRef.rst:1372 +#: ../../../LangRef.rst:1383 msgid "" "This indicates that the pointer parameter should really be passed by value " "to the function, and that the pointer parameter's pointee has already been " @@ -2026,18 +2038,18 @@ msgid "" "``musttail`` calls, although it is ignored during codegen." msgstr "" -#: ../../../LangRef.rst:1381 +#: ../../../LangRef.rst:1392 msgid "" "A non ``musttail`` function call with a ``preallocated`` attribute in any " "parameter must have a ``\"preallocated\"`` operand bundle. A ``musttail`` " "function call cannot have a ``\"preallocated\"`` operand bundle." msgstr "" -#: ../../../LangRef.rst:1385 +#: ../../../LangRef.rst:1396 msgid "The preallocated attribute requires a type argument." msgstr "" -#: ../../../LangRef.rst:1387 +#: ../../../LangRef.rst:1398 msgid "" "The preallocated attribute also supports specifying an alignment with the " "``align`` attribute. It indicates the alignment of the stack slot to form " @@ -2046,11 +2058,11 @@ msgid "" "assumption." msgstr "" -#: ../../../LangRef.rst:1395 +#: ../../../LangRef.rst:1406 msgid "``inalloca()``" msgstr "" -#: ../../../LangRef.rst:1397 +#: ../../../LangRef.rst:1408 msgid "" "The ``inalloca`` argument attribute allows the caller to take the address of " "outgoing stack arguments. An ``inalloca`` argument must be a pointer to " @@ -2060,7 +2072,7 @@ msgid "" "guaranteed to be passed in memory." msgstr "" -#: ../../../LangRef.rst:1404 +#: ../../../LangRef.rst:1415 msgid "" "An argument allocation may be used by a call at most once because the call " "may deallocate it. The ``inalloca`` attribute cannot be used in conjunction " @@ -2070,7 +2082,7 @@ msgid "" "frontend authors must lower them with ``sret`` pointers." msgstr "" -#: ../../../LangRef.rst:1412 +#: ../../../LangRef.rst:1423 msgid "" "When the call site is reached, the argument allocation must have been the " "most recent stack allocation that is still live, or the behavior is " @@ -2079,19 +2091,19 @@ msgid "" "with :ref:`llvm.stackrestore `." msgstr "" -#: ../../../LangRef.rst:1419 +#: ../../../LangRef.rst:1430 msgid "The ``inalloca`` attribute requires a type argument." msgstr "" -#: ../../../LangRef.rst:1421 +#: ../../../LangRef.rst:1432 msgid "See :doc:`InAlloca` for more information on how to use this attribute." msgstr "" -#: ../../../LangRef.rst:1434 +#: ../../../LangRef.rst:1445 msgid "``sret()``" msgstr "" -#: ../../../LangRef.rst:1425 +#: ../../../LangRef.rst:1436 msgid "" "This indicates that the pointer parameter specifies the address of a " "structure that is the return value of the function in the source program. " @@ -2100,28 +2112,28 @@ msgid "" "aligned." msgstr "" -#: ../../../LangRef.rst:1431 +#: ../../../LangRef.rst:1442 msgid "The sret type argument specifies the in-memory type." msgstr "" -#: ../../../LangRef.rst:1433 +#: ../../../LangRef.rst:1444 msgid "" "A function that accepts an ``sret`` argument must return ``void``. A return " "value may not be ``sret``." msgstr "" -#: ../../../LangRef.rst:1438 +#: ../../../LangRef.rst:1449 msgid "``elementtype()``" msgstr "" -#: ../../../LangRef.rst:1440 +#: ../../../LangRef.rst:1451 msgid "" "The ``elementtype`` argument attribute can be used to specify a pointer " "element type in a way that is compatible with `opaque pointers " "`__." msgstr "" -#: ../../../LangRef.rst:1444 +#: ../../../LangRef.rst:1455 msgid "" "The ``elementtype`` attribute by itself does not carry any specific " "semantics. However, certain intrinsics may require this attribute to be " @@ -2129,7 +2141,7 @@ msgid "" "individual intrinsics." msgstr "" -#: ../../../LangRef.rst:1449 +#: ../../../LangRef.rst:1460 msgid "" "The attribute may only be applied to pointer typed arguments of intrinsic " "calls. It cannot be applied to non-intrinsic calls, and cannot be applied to " @@ -2137,11 +2149,11 @@ msgid "" "passed to ``elementtype`` must match the pointer element type." msgstr "" -#: ../../../LangRef.rst:1467 +#: ../../../LangRef.rst:1478 msgid "``align `` or ``align()``" msgstr "" -#: ../../../LangRef.rst:1457 +#: ../../../LangRef.rst:1468 msgid "" "This indicates that the pointer value or vector of pointers has the " "specified alignment. If applied to a vector of pointers, *all* pointers " @@ -2153,17 +2165,17 @@ msgid "" "preallocated arguments." msgstr "" -#: ../../../LangRef.rst:1466 +#: ../../../LangRef.rst:1477 msgid "" "Note that this attribute has additional semantics when combined with the " "``byval`` or ``preallocated`` attribute, which are documented there." msgstr "" -#: ../../../LangRef.rst:1493 +#: ../../../LangRef.rst:1504 msgid "``noalias``" msgstr "" -#: ../../../LangRef.rst:1472 +#: ../../../LangRef.rst:1483 msgid "" "This indicates that memory locations accessed via pointer values :ref:`based " "` on the argument or return value are not also accessed, " @@ -2178,13 +2190,13 @@ msgid "" "analysis `." msgstr "" -#: ../../../LangRef.rst:1484 +#: ../../../LangRef.rst:1495 msgid "" "Note that this definition of ``noalias`` is intentionally similar to the " "definition of ``restrict`` in C99 for function arguments." msgstr "" -#: ../../../LangRef.rst:1487 +#: ../../../LangRef.rst:1498 msgid "" "For function return values, C99's ``restrict`` is not meaningful, while " "LLVM's ``noalias`` is. Furthermore, the semantics of the ``noalias`` " @@ -2195,124 +2207,124 @@ msgid "" "for any other object accessible to the caller." msgstr "" -#: ../../../LangRef.rst:1531 +#: ../../../LangRef.rst:1542 msgid "``captures(...)``" msgstr "" -#: ../../../LangRef.rst:1498 +#: ../../../LangRef.rst:1509 msgid "" "This attribute restricts the ways in which the callee may capture the " "pointer. This is not a valid attribute for return values. This attribute " "applies only to the particular copy of the pointer passed in this argument." msgstr "" -#: ../../../LangRef.rst:1502 +#: ../../../LangRef.rst:1513 msgid "" "The arguments of ``captures`` are a list of captured pointer components, " "which may be ``none``, or a combination of:" msgstr "" -#: ../../../LangRef.rst:1505 +#: ../../../LangRef.rst:1516 msgid "``address``: The integral address of the pointer." msgstr "" -#: ../../../LangRef.rst:1506 +#: ../../../LangRef.rst:1517 msgid "" "``address_is_null`` (subset of ``address``): Whether the address is null." msgstr "" -#: ../../../LangRef.rst:1507 +#: ../../../LangRef.rst:1518 msgid "" "``provenance``: The ability to access the pointer for both read and write " "after the function returns." msgstr "" -#: ../../../LangRef.rst:1509 +#: ../../../LangRef.rst:1520 msgid "" "``read_provenance`` (subset of ``provenance``): The ability to access the " "pointer only for reads after the function returns." msgstr "" -#: ../../../LangRef.rst:1512 +#: ../../../LangRef.rst:1523 msgid "" "Additionally, it is possible to specify that some components are only " "captured in certain locations. Currently only the return value (``ret``) and " "other (default) locations are supported." msgstr "" -#: ../../../LangRef.rst:1516 +#: ../../../LangRef.rst:1527 msgid "" "The :ref:`pointer capture section ` discusses these " "semantics in more detail." msgstr "" -#: ../../../LangRef.rst:1519 +#: ../../../LangRef.rst:1530 msgid "Some examples of how to use the attribute:" msgstr "" -#: ../../../LangRef.rst:1521 +#: ../../../LangRef.rst:1532 msgid "``captures(none)``: Pointer not captured." msgstr "" -#: ../../../LangRef.rst:1522 +#: ../../../LangRef.rst:1533 msgid "" "``captures(address, provenance)``: Equivalent to omitting the attribute." msgstr "" -#: ../../../LangRef.rst:1523 +#: ../../../LangRef.rst:1534 msgid "``captures(address)``: Address may be captured, but not provenance." msgstr "" -#: ../../../LangRef.rst:1524 +#: ../../../LangRef.rst:1535 msgid "" "``captures(address_is_null)``: Only captures whether the address is null." msgstr "" -#: ../../../LangRef.rst:1525 +#: ../../../LangRef.rst:1536 msgid "" "``captures(address, read_provenance)``: Both address and provenance " "captured, but only for read-only access." msgstr "" -#: ../../../LangRef.rst:1527 +#: ../../../LangRef.rst:1538 msgid "" "``captures(ret: address, provenance)``: Pointer captured through return " "value only." msgstr "" -#: ../../../LangRef.rst:1529 +#: ../../../LangRef.rst:1540 msgid "" "``captures(address_is_null, ret: address, provenance)``: The whole pointer " "is captured through the return value, and additionally whether the pointer " "is null is captured in some other way." msgstr "" -#: ../../../LangRef.rst:1535 ../../../LangRef.rst:2314 +#: ../../../LangRef.rst:1546 ../../../LangRef.rst:2343 msgid "``nofree``" msgstr "" -#: ../../../LangRef.rst:1534 +#: ../../../LangRef.rst:1545 msgid "" "This indicates that the callee does not free the pointer argument. This is " "not a valid attribute for return values." msgstr "" -#: ../../../LangRef.rst:1542 +#: ../../../LangRef.rst:1553 msgid "``nest``" msgstr "" -#: ../../../LangRef.rst:1540 +#: ../../../LangRef.rst:1551 msgid "" "This indicates that the pointer parameter can be excised using the :ref:" "`trampoline intrinsics `. This is not a valid attribute for " "return values and can only be applied to one parameter." msgstr "" -#: ../../../LangRef.rst:1552 +#: ../../../LangRef.rst:1563 msgid "``returned``" msgstr "" -#: ../../../LangRef.rst:1545 +#: ../../../LangRef.rst:1556 msgid "" "This indicates that the function always returns the argument as its return " "value. This is a hint to the optimizer and code generator used when " @@ -2324,11 +2336,11 @@ msgid "" "be applied to one parameter." msgstr "" -#: ../../../LangRef.rst:1563 +#: ../../../LangRef.rst:1574 msgid "``nonnull``" msgstr "" -#: ../../../LangRef.rst:1555 +#: ../../../LangRef.rst:1566 msgid "" "This indicates that the parameter or return pointer is not null. This " "attribute may only be applied to pointer-typed parameters. This is not " @@ -2341,33 +2353,32 @@ msgid "" "ensure a pointer is not null or otherwise the behavior is undefined." msgstr "" -#: ../../../LangRef.rst:1580 +#: ../../../LangRef.rst:1590 msgid "``dereferenceable()``" msgstr "" -#: ../../../LangRef.rst:1566 +#: ../../../LangRef.rst:1577 msgid "" "This indicates that the parameter or return pointer is dereferenceable. This " "attribute may only be applied to pointer-typed parameters. A pointer that is " "dereferenceable can be loaded from speculatively without a risk of trapping. " "The number of bytes known to be dereferenceable must be provided in " -"parentheses. It is legal for the number of bytes to be less than the size of " -"the pointee type. The ``nonnull`` attribute does not imply " -"dereferenceability (consider a pointer to one element past the end of an " -"array), however ``dereferenceable()`` does imply ``nonnull`` in " -"``addrspace(0)`` (which is the default address space), except if the " -"``null_pointer_is_valid`` function attribute is present. ``n`` should be a " -"positive number. The pointer should be well defined, otherwise it is " -"undefined behavior. This means ``dereferenceable()`` implies ``noundef``. " -"When used in an assume operand bundle, more restricted semantics apply. " -"See :ref:`assume operand bundles ` for more details." +"parentheses. The ``nonnull`` attribute does not imply dereferenceability " +"(consider a pointer to one element past the end of an array), however " +"``dereferenceable()`` does imply ``nonnull`` in ``addrspace(0)`` (which " +"is the default address space), except if the ``null_pointer_is_valid`` " +"function attribute is present. ``n`` should be a positive number. The " +"pointer should be well defined, otherwise it is undefined behavior. This " +"means ``dereferenceable()`` implies ``noundef``. When used in an assume " +"operand bundle, more restricted semantics apply. See :ref:`assume operand " +"bundles ` for more details." msgstr "" -#: ../../../LangRef.rst:1593 +#: ../../../LangRef.rst:1603 msgid "``dereferenceable_or_null()``" msgstr "" -#: ../../../LangRef.rst:1583 +#: ../../../LangRef.rst:1593 msgid "" "This indicates that the parameter or return value isn't both non-null and " "non-dereferenceable (up to ```` bytes) at the same time. All non-null " @@ -2381,21 +2392,21 @@ msgid "" "typed parameters." msgstr "" -#: ../../../LangRef.rst:1598 +#: ../../../LangRef.rst:1608 msgid "``swiftself``" msgstr "" -#: ../../../LangRef.rst:1596 +#: ../../../LangRef.rst:1606 msgid "" "This indicates that the parameter is the self/context parameter. This is not " "a valid attribute for return values and can only be applied to one parameter." msgstr "" -#: ../../../LangRef.rst:1606 +#: ../../../LangRef.rst:1616 msgid "``swiftasync``" msgstr "" -#: ../../../LangRef.rst:1603 +#: ../../../LangRef.rst:1613 msgid "" "This indicates that the parameter is the asynchronous context parameter and " "triggers the creation of a target-specific extended frame record to store " @@ -2403,11 +2414,11 @@ msgid "" "be applied to one parameter." msgstr "" -#: ../../../LangRef.rst:1626 +#: ../../../LangRef.rst:1636 msgid "``swifterror``" msgstr "" -#: ../../../LangRef.rst:1609 +#: ../../../LangRef.rst:1619 msgid "" "This attribute is motivated to model and optimize Swift error handling. It " "can be applied to a parameter with pointer-to-pointer type or a pointer-" @@ -2419,7 +2430,7 @@ msgid "" "can only be applied to one parameter." msgstr "" -#: ../../../LangRef.rst:1618 +#: ../../../LangRef.rst:1628 msgid "" "These constraints allow the calling convention to optimize access to " "``swifterror`` variables by associating them with a specific register at " @@ -2428,18 +2439,18 @@ msgid "" "on a parameter is not ABI-compatible with one which does not." msgstr "" -#: ../../../LangRef.rst:1624 +#: ../../../LangRef.rst:1634 msgid "" "These constraints also allow LLVM to assume that a ``swifterror`` argument " "does not alias any other memory visible within a function and that a " "``swifterror`` alloca passed as an argument does not escape." msgstr "" -#: ../../../LangRef.rst:1633 +#: ../../../LangRef.rst:1643 msgid "``immarg``" msgstr "" -#: ../../../LangRef.rst:1629 +#: ../../../LangRef.rst:1639 msgid "" "This indicates the parameter is required to be an immediate value. This must " "be a trivial immediate integer or floating-point constant. Undef or constant " @@ -2447,11 +2458,11 @@ msgid "" "cannot be applied to a call site or arbitrary function." msgstr "" -#: ../../../LangRef.rst:1642 +#: ../../../LangRef.rst:1652 msgid "``noundef``" msgstr "" -#: ../../../LangRef.rst:1636 +#: ../../../LangRef.rst:1646 msgid "" "This attribute applies to parameters and return values. If the value " "representation contains any undefined or poison bits, the behavior is " @@ -2459,17 +2470,17 @@ msgid "" "storage representation." msgstr "" -#: ../../../LangRef.rst:1641 +#: ../../../LangRef.rst:1651 msgid "" "If memory sanitizer is enabled, ``noundef`` becomes an ABI attribute and " "must match between the call-site and the function definition." msgstr "" -#: ../../../LangRef.rst:1658 +#: ../../../LangRef.rst:1668 msgid "``nofpclass()``" msgstr "" -#: ../../../LangRef.rst:1647 +#: ../../../LangRef.rst:1657 msgid "" "This attribute applies to parameters and return values with floating-point " "and vector of floating-point types, as well as :ref:`supported aggregates " @@ -2480,255 +2491,255 @@ msgid "" "value. For example, a bitmask of 3 indicates the parameter may not be a NaN." msgstr "" -#: ../../../LangRef.rst:1656 +#: ../../../LangRef.rst:1666 msgid "" "If the value is a floating-point class indicated by the ``nofpclass`` test " "mask, a :ref:`poison value ` is passed or returned instead." msgstr "" -#: ../../../LangRef.rst:1660 +#: ../../../LangRef.rst:1670 msgid "The following invariants hold" msgstr "" -#: ../../../LangRef.rst:1668 +#: ../../../LangRef.rst:1678 msgid "" "In textual IR, various string names are supported for readability and can be " "combined. For example ``nofpclass(nan pinf nzero)`` evaluates to a mask of " "547." msgstr "" -#: ../../../LangRef.rst:1672 +#: ../../../LangRef.rst:1682 msgid "" "This does not depend on the floating-point environment. For example, a " "function parameter marked ``nofpclass(zero)`` indicates no zero inputs. If " -"this is applied to an argument in a function marked with :ref:`\\\"denormal-" -"fp-math\\\" ` indicating zero treatment of input " +"this is applied to an argument in a function marked with :ref:" +"`denormal_fpenv ` indicating zero treatment of input " "denormals, it does not imply the value cannot be a denormal value which " "would compare equal to 0." msgstr "" -#: ../../../LangRef.rst:1679 +#: ../../../LangRef.rst:1689 msgid "Recognized test mask names" msgstr "" -#: ../../../LangRef.rst:1682 +#: ../../../LangRef.rst:1692 msgid "Name" msgstr "" -#: ../../../LangRef.rst:1682 ../../../LangRef.rst:29823 +#: ../../../LangRef.rst:1692 ../../../LangRef.rst:30261 msgid "floating-point class" msgstr "" -#: ../../../LangRef.rst:1682 +#: ../../../LangRef.rst:1692 msgid "Bitmask value" msgstr "" -#: ../../../LangRef.rst:1684 +#: ../../../LangRef.rst:1694 msgid "nan" msgstr "" -#: ../../../LangRef.rst:1684 +#: ../../../LangRef.rst:1694 msgid "Any NaN" msgstr "" -#: ../../../LangRef.rst:1684 ../../../LangRef.rst:8748 -#: ../../../LangRef.rst:29831 +#: ../../../LangRef.rst:1694 ../../../LangRef.rst:8852 +#: ../../../LangRef.rst:30269 msgid "3" msgstr "" -#: ../../../LangRef.rst:1686 +#: ../../../LangRef.rst:1696 msgid "inf" msgstr "" -#: ../../../LangRef.rst:1686 +#: ../../../LangRef.rst:1696 msgid "+/- infinity" msgstr "" -#: ../../../LangRef.rst:1686 +#: ../../../LangRef.rst:1696 msgid "516" msgstr "" -#: ../../../LangRef.rst:1688 +#: ../../../LangRef.rst:1698 msgid "norm" msgstr "" -#: ../../../LangRef.rst:1688 +#: ../../../LangRef.rst:1698 msgid "+/- normal" msgstr "" -#: ../../../LangRef.rst:1688 +#: ../../../LangRef.rst:1698 msgid "264" msgstr "" -#: ../../../LangRef.rst:1690 ../../../LangRef.rst:11947 +#: ../../../LangRef.rst:1700 ../../../LangRef.rst:12055 msgid "sub" msgstr "" -#: ../../../LangRef.rst:1690 +#: ../../../LangRef.rst:1700 msgid "+/- subnormal" msgstr "" -#: ../../../LangRef.rst:1690 +#: ../../../LangRef.rst:1700 msgid "144" msgstr "" -#: ../../../LangRef.rst:1692 +#: ../../../LangRef.rst:1702 msgid "zero" msgstr "" -#: ../../../LangRef.rst:1692 +#: ../../../LangRef.rst:1702 msgid "+/- 0" msgstr "" -#: ../../../LangRef.rst:1692 +#: ../../../LangRef.rst:1702 msgid "96" msgstr "" -#: ../../../LangRef.rst:1694 +#: ../../../LangRef.rst:1704 msgid "all" msgstr "" -#: ../../../LangRef.rst:1694 +#: ../../../LangRef.rst:1704 msgid "All values" msgstr "" -#: ../../../LangRef.rst:1694 +#: ../../../LangRef.rst:1704 msgid "1023" msgstr "" -#: ../../../LangRef.rst:1696 +#: ../../../LangRef.rst:1706 msgid "snan" msgstr "" -#: ../../../LangRef.rst:1696 ../../../LangRef.rst:29825 +#: ../../../LangRef.rst:1706 ../../../LangRef.rst:30263 msgid "Signaling NaN" msgstr "" -#: ../../../LangRef.rst:1696 ../../../LangRef.rst:8735 -#: ../../../LangRef.rst:11055 ../../../LangRef.rst:11057 -#: ../../../LangRef.rst:11059 ../../../LangRef.rst:11107 -#: ../../../LangRef.rst:11109 ../../../LangRef.rst:11111 -#: ../../../LangRef.rst:11165 ../../../LangRef.rst:11167 -#: ../../../LangRef.rst:11169 ../../../LangRef.rst:29827 +#: ../../../LangRef.rst:1706 ../../../LangRef.rst:8839 +#: ../../../LangRef.rst:11159 ../../../LangRef.rst:11161 +#: ../../../LangRef.rst:11163 ../../../LangRef.rst:11211 +#: ../../../LangRef.rst:11213 ../../../LangRef.rst:11215 +#: ../../../LangRef.rst:11269 ../../../LangRef.rst:11271 +#: ../../../LangRef.rst:11273 ../../../LangRef.rst:30265 msgid "1" msgstr "" -#: ../../../LangRef.rst:1698 +#: ../../../LangRef.rst:1708 msgid "qnan" msgstr "" -#: ../../../LangRef.rst:1698 ../../../LangRef.rst:29827 +#: ../../../LangRef.rst:1708 ../../../LangRef.rst:30265 msgid "Quiet NaN" msgstr "" -#: ../../../LangRef.rst:1698 ../../../LangRef.rst:8740 -#: ../../../LangRef.rst:29829 +#: ../../../LangRef.rst:1708 ../../../LangRef.rst:8844 +#: ../../../LangRef.rst:30267 msgid "2" msgstr "" -#: ../../../LangRef.rst:1700 +#: ../../../LangRef.rst:1710 msgid "ninf" msgstr "" -#: ../../../LangRef.rst:1700 ../../../LangRef.rst:29829 +#: ../../../LangRef.rst:1710 ../../../LangRef.rst:30267 msgid "Negative infinity" msgstr "" -#: ../../../LangRef.rst:1700 ../../../LangRef.rst:8758 -#: ../../../LangRef.rst:29833 +#: ../../../LangRef.rst:1710 ../../../LangRef.rst:8862 +#: ../../../LangRef.rst:30271 msgid "4" msgstr "" -#: ../../../LangRef.rst:1702 +#: ../../../LangRef.rst:1712 msgid "nnorm" msgstr "" -#: ../../../LangRef.rst:1702 ../../../LangRef.rst:29831 +#: ../../../LangRef.rst:1712 ../../../LangRef.rst:30269 msgid "Negative normal" msgstr "" -#: ../../../LangRef.rst:1702 ../../../LangRef.rst:8778 -#: ../../../LangRef.rst:29841 +#: ../../../LangRef.rst:1712 ../../../LangRef.rst:8882 +#: ../../../LangRef.rst:30279 msgid "8" msgstr "" -#: ../../../LangRef.rst:1704 +#: ../../../LangRef.rst:1714 msgid "nsub" msgstr "" -#: ../../../LangRef.rst:1704 ../../../LangRef.rst:29833 +#: ../../../LangRef.rst:1714 ../../../LangRef.rst:30271 msgid "Negative subnormal" msgstr "" -#: ../../../LangRef.rst:1704 +#: ../../../LangRef.rst:1714 msgid "16" msgstr "" -#: ../../../LangRef.rst:1706 +#: ../../../LangRef.rst:1716 msgid "nzero" msgstr "" -#: ../../../LangRef.rst:1706 ../../../LangRef.rst:29835 +#: ../../../LangRef.rst:1716 ../../../LangRef.rst:30273 msgid "Negative zero" msgstr "" -#: ../../../LangRef.rst:1706 +#: ../../../LangRef.rst:1716 msgid "32" msgstr "" -#: ../../../LangRef.rst:1708 +#: ../../../LangRef.rst:1718 msgid "pzero" msgstr "" -#: ../../../LangRef.rst:1708 ../../../LangRef.rst:29837 +#: ../../../LangRef.rst:1718 ../../../LangRef.rst:30275 msgid "Positive zero" msgstr "" -#: ../../../LangRef.rst:1708 +#: ../../../LangRef.rst:1718 msgid "64" msgstr "" -#: ../../../LangRef.rst:1710 +#: ../../../LangRef.rst:1720 msgid "psub" msgstr "" -#: ../../../LangRef.rst:1710 ../../../LangRef.rst:29839 +#: ../../../LangRef.rst:1720 ../../../LangRef.rst:30277 msgid "Positive subnormal" msgstr "" -#: ../../../LangRef.rst:1710 +#: ../../../LangRef.rst:1720 msgid "128" msgstr "" -#: ../../../LangRef.rst:1712 +#: ../../../LangRef.rst:1722 msgid "pnorm" msgstr "" -#: ../../../LangRef.rst:1712 ../../../LangRef.rst:29841 +#: ../../../LangRef.rst:1722 ../../../LangRef.rst:30279 msgid "Positive normal" msgstr "" -#: ../../../LangRef.rst:1712 +#: ../../../LangRef.rst:1722 msgid "256" msgstr "" -#: ../../../LangRef.rst:1714 +#: ../../../LangRef.rst:1724 msgid "pinf" msgstr "" -#: ../../../LangRef.rst:1714 ../../../LangRef.rst:29843 +#: ../../../LangRef.rst:1724 ../../../LangRef.rst:30281 msgid "Positive infinity" msgstr "" -#: ../../../LangRef.rst:1714 +#: ../../../LangRef.rst:1724 msgid "512" msgstr "" -#: ../../../LangRef.rst:1725 ../../../LangRef.rst:2041 +#: ../../../LangRef.rst:1735 ../../../LangRef.rst:2057 msgid "``alignstack()``" msgstr "" -#: ../../../LangRef.rst:1719 +#: ../../../LangRef.rst:1729 msgid "" "This indicates the alignment that should be considered by the backend when " "assigning this parameter or return value to a stack slot during calling " @@ -2739,11 +2750,11 @@ msgid "" "example, over-alignment specification through language attributes)." msgstr "" -#: ../../../LangRef.rst:1733 +#: ../../../LangRef.rst:1743 msgid "``allocalign``" msgstr "" -#: ../../../LangRef.rst:1728 +#: ../../../LangRef.rst:1738 msgid "" "The function parameter marked with this attribute is the alignment in bytes " "of the newly allocated block returned by this function. The returned value " @@ -2754,11 +2765,11 @@ msgid "" "attribute may only be applied to integer parameters." msgstr "" -#: ../../../LangRef.rst:1740 +#: ../../../LangRef.rst:1750 msgid "``allocptr``" msgstr "" -#: ../../../LangRef.rst:1736 +#: ../../../LangRef.rst:1746 msgid "" "The function parameter marked with this attribute is the pointer that will " "be manipulated by the allocator. For a realloc-like function the pointer " @@ -2766,52 +2777,52 @@ msgid "" "a free-like function the pointer will always be invalidated." msgstr "" -#: ../../../LangRef.rst:1748 +#: ../../../LangRef.rst:1758 msgid "``readnone``" msgstr "" -#: ../../../LangRef.rst:1743 +#: ../../../LangRef.rst:1753 msgid "" "This attribute indicates that the function does not dereference that pointer " "argument, even though it may read or write the memory that the pointer " "points to if accessed through other pointers." msgstr "" -#: ../../../LangRef.rst:1747 +#: ../../../LangRef.rst:1757 msgid "" "If a function reads from or writes to a readnone pointer argument, the " "behavior is undefined." msgstr "" -#: ../../../LangRef.rst:1756 +#: ../../../LangRef.rst:1766 msgid "``readonly``" msgstr "" -#: ../../../LangRef.rst:1751 +#: ../../../LangRef.rst:1761 msgid "" "This attribute indicates that the function does not write through this " "pointer argument, even though it may write to the memory that the pointer " "points to." msgstr "" -#: ../../../LangRef.rst:1755 +#: ../../../LangRef.rst:1765 msgid "" "If a function writes to a readonly pointer argument, the behavior is " "undefined." msgstr "" -#: ../../../LangRef.rst:1766 +#: ../../../LangRef.rst:1776 msgid "``writeonly``" msgstr "" -#: ../../../LangRef.rst:1759 +#: ../../../LangRef.rst:1769 msgid "" "This attribute indicates that the function may write to, but does not read " "through this pointer argument (even though it may read from the memory that " "the pointer points to)." msgstr "" -#: ../../../LangRef.rst:1763 +#: ../../../LangRef.rst:1773 msgid "" "This attribute is understood in the same way as the ``memory(write)`` " "attribute. That is, the pointer may still be read as long as the read is not " @@ -2819,24 +2830,24 @@ msgid "" "precise semantics." msgstr "" -#: ../../../LangRef.rst:1790 +#: ../../../LangRef.rst:1800 msgid "``writable``" msgstr "" -#: ../../../LangRef.rst:1769 +#: ../../../LangRef.rst:1779 msgid "" "This attribute is only meaningful in conjunction with ``dereferenceable(N)`` " "or another attribute that implies the first ``N`` bytes of the pointer " "argument are dereferenceable." msgstr "" -#: ../../../LangRef.rst:1773 +#: ../../../LangRef.rst:1783 msgid "" "In that case, the attribute indicates that the first ``N`` bytes will be " "(non-atomically) loaded and stored back on entry to the function." msgstr "" -#: ../../../LangRef.rst:1776 +#: ../../../LangRef.rst:1786 msgid "" "This implies that it's possible to introduce spurious stores on entry to the " "function without introducing traps or data races. This does not necessarily " @@ -2845,7 +2856,7 @@ msgid "" "optimization guide `" msgstr "" -#: ../../../LangRef.rst:1782 +#: ../../../LangRef.rst:1792 msgid "" "The \"other attributes\" that imply dereferenceability are " "``dereferenceable_or_null`` (if the pointer is non-null) and the ``sret``, " @@ -2854,18 +2865,18 @@ msgid "" "are known to be writable even without this attribute." msgstr "" -#: ../../../LangRef.rst:1788 +#: ../../../LangRef.rst:1798 msgid "" "The ``writable`` attribute cannot be combined with ``readnone``, " "``readonly`` or a ``memory`` attribute that does not contain ``argmem: " "write``." msgstr "" -#: ../../../LangRef.rst:1829 +#: ../../../LangRef.rst:1839 msgid "``initializes((Lo1, Hi1), ...)``" msgstr "" -#: ../../../LangRef.rst:1793 +#: ../../../LangRef.rst:1803 msgid "" "This attribute indicates that the function initializes the ranges of the " "pointer parameter's memory ``[%p+LoN, %p+HiN)``. Colloquially, this means " @@ -2874,7 +2885,7 @@ msgid "" "unwinds, the write may not happen." msgstr "" -#: ../../../LangRef.rst:1799 +#: ../../../LangRef.rst:1809 msgid "" "Formally, this is specified in terms of an \"initialized\" shadow state for " "all bytes in the range, which is set to \"not initialized\" at function " @@ -2883,36 +2894,36 @@ msgid "" "then:" msgstr "" -#: ../../../LangRef.rst:1804 +#: ../../../LangRef.rst:1814 msgid "" "If the byte is stored with a non-volatile, non-atomic write, mark it as " "\"initialized\"." msgstr "" -#: ../../../LangRef.rst:1806 +#: ../../../LangRef.rst:1816 msgid "" "If the byte is stored with a volatile or atomic write, the behavior is " "undefined." msgstr "" -#: ../../../LangRef.rst:1808 +#: ../../../LangRef.rst:1818 msgid "If the byte is loaded, return a poison value." msgstr "" -#: ../../../LangRef.rst:1810 +#: ../../../LangRef.rst:1820 msgid "" "Additionally, if the function returns normally, write an undef value to all " "bytes that are part of the range and have not been marked as \"initialized\"." msgstr "" -#: ../../../LangRef.rst:1813 +#: ../../../LangRef.rst:1823 msgid "" "This attribute only holds for the memory accessed via this pointer " "parameter. Other arbitrary accesses to the same memory via other pointers " "are allowed." msgstr "" -#: ../../../LangRef.rst:1817 +#: ../../../LangRef.rst:1827 msgid "" "The ``writable`` or ``dereferenceable`` attribute do not imply the " "``initializes`` attribute. The ``initializes`` attribute does not imply " @@ -2920,7 +2931,7 @@ msgid "" "writing." msgstr "" -#: ../../../LangRef.rst:1822 +#: ../../../LangRef.rst:1832 msgid "" "This attribute is a list of constant ranges in ascending order with no " "overlapping or consecutive list elements. ``LoN/HiN`` are 64-bit integers, " @@ -2928,18 +2939,18 @@ msgid "" "allocation. An empty list is not allowed." msgstr "" -#: ../../../LangRef.rst:1827 +#: ../../../LangRef.rst:1837 msgid "" "On a ``byval`` argument, ``initializes`` refers to the given parts of the " "callee copy being overwritten. A ``byval`` callee can never initialize the " "original caller memory passed to the ``byval`` argument." msgstr "" -#: ../../../LangRef.rst:1843 +#: ../../../LangRef.rst:1853 msgid "``dead_on_unwind``" msgstr "" -#: ../../../LangRef.rst:1832 +#: ../../../LangRef.rst:1842 msgid "" "At a high level, this attribute indicates that the pointer argument is dead " "if the call unwinds, in the sense that the caller will not depend on the " @@ -2947,7 +2958,7 @@ msgid "" "can be elided." msgstr "" -#: ../../../LangRef.rst:1837 +#: ../../../LangRef.rst:1847 msgid "" "More precisely, the behavior is as-if any memory written through the pointer " "during the execution of the function is overwritten with a poison value on " @@ -2956,93 +2967,99 @@ msgid "" "but all loads that are not preceded by a store will return poison." msgstr "" -#: ../../../LangRef.rst:1843 ../../../LangRef.rst:1860 +#: ../../../LangRef.rst:1853 ../../../LangRef.rst:1876 msgid "This attribute cannot be applied to return values." msgstr "" -#: ../../../LangRef.rst:1860 -msgid "``dead_on_return``" +#: ../../../LangRef.rst:1876 +msgid "``dead_on_return`` or ``dead_on_return()``" msgstr "" -#: ../../../LangRef.rst:1846 +#: ../../../LangRef.rst:1856 msgid "" "This attribute indicates that the memory pointed to by the argument is dead " "upon function return, both upon normal return and if the calls unwinds, " "meaning that the caller will not depend on its contents. Stores that would " -"be observable either on the return path or on the unwind path may be elided." +"be observable either on the return path or on the unwind path may be elided. " +"A number of bytes known to be dead may optionally be provided in " +"parentheses. If a number of bytes is not specified, all memory reachable " +"through the pointer is marked as dead on return." msgstr "" -#: ../../../LangRef.rst:1851 +#: ../../../LangRef.rst:1864 msgid "" "Specifically, the behavior is as-if any memory written through the pointer " "during the execution of the function is overwritten with a poison value upon " "function return. The caller may access the memory, but any load not preceded " -"by a store will return poison." +"by a store will return poison. If a byte count is specified, only writes " +"within the specified range are overwritten with poison on function return." msgstr "" -#: ../../../LangRef.rst:1856 +#: ../../../LangRef.rst:1871 msgid "" "This attribute does not imply aliasing properties. For pointer arguments " "that do not alias other memory locations, ``noalias`` attribute may be used " -"in conjunction. Conversely, this attribute always implies ``dead_on_unwind``." +"in conjunction. Conversely, this attribute always implies " +"``dead_on_unwind``. When a byte count is specified, ``dead_on_unwind`` is " +"implied only for that range." msgstr "" -#: ../../../LangRef.rst:1877 +#: ../../../LangRef.rst:1893 msgid "``range( , )``" msgstr "" -#: ../../../LangRef.rst:1863 +#: ../../../LangRef.rst:1879 msgid "" "This attribute expresses the possible range of the parameter or return " "value. If the value is not in the specified range, it is converted to " "poison. The arguments passed to ``range`` have the following properties:" msgstr "" -#: ../../../LangRef.rst:1867 +#: ../../../LangRef.rst:1883 msgid "The type must match the scalar type of the parameter or return value." msgstr "" -#: ../../../LangRef.rst:1868 ../../../LangRef.rst:7424 +#: ../../../LangRef.rst:1884 ../../../LangRef.rst:7466 msgid "The pair ``a,b`` represents the range ``[a,b)``." msgstr "" -#: ../../../LangRef.rst:1869 ../../../LangRef.rst:7425 +#: ../../../LangRef.rst:1885 ../../../LangRef.rst:7467 msgid "Both ``a`` and ``b`` are constants." msgstr "" -#: ../../../LangRef.rst:1870 ../../../LangRef.rst:7426 +#: ../../../LangRef.rst:1886 ../../../LangRef.rst:7468 msgid "The range is allowed to wrap." msgstr "" -#: ../../../LangRef.rst:1871 +#: ../../../LangRef.rst:1887 msgid "The empty range is represented using ``0,0``." msgstr "" -#: ../../../LangRef.rst:1872 +#: ../../../LangRef.rst:1888 msgid "Otherwise, ``a`` and ``b`` are not allowed to be equal." msgstr "" -#: ../../../LangRef.rst:1874 +#: ../../../LangRef.rst:1890 msgid "" "This attribute may only be applied to parameters or return values with " "integer or vector of integer types." msgstr "" -#: ../../../LangRef.rst:1877 +#: ../../../LangRef.rst:1893 msgid "For vector-typed parameters, the range is applied element-wise." msgstr "" -#: ../../../LangRef.rst:1882 +#: ../../../LangRef.rst:1898 msgid "Garbage Collector Strategy Names" msgstr "" -#: ../../../LangRef.rst:1884 +#: ../../../LangRef.rst:1900 msgid "" "Each function may specify a garbage collector strategy name, which is simply " "a string:" msgstr "" -#: ../../../LangRef.rst:1891 +#: ../../../LangRef.rst:1907 msgid "" "The supported values of *name* include those :ref:`built in to LLVM ` and any provided by loaded plugins. Specifying a GC strategy " @@ -3052,11 +3069,11 @@ msgid "" "code which can interoperate with a collector provided externally." msgstr "" -#: ../../../LangRef.rst:1901 +#: ../../../LangRef.rst:1917 msgid "Prefix Data" msgstr "" -#: ../../../LangRef.rst:1903 +#: ../../../LangRef.rst:1919 msgid "" "Prefix data is data associated with a function which the code generator will " "emit immediately before the function's entrypoint. The purpose of this " @@ -3065,7 +3082,7 @@ msgid "" "pointer while still allowing the function pointer to be called." msgstr "" -#: ../../../LangRef.rst:1910 +#: ../../../LangRef.rst:1926 msgid "" "To access the data for a given function, a program may bitcast the function " "pointer to a pointer to the constant's type and dereference index -1. This " @@ -3073,11 +3090,11 @@ msgid "" "instance, take the example of a function annotated with a single ``i32``," msgstr "" -#: ../../../LangRef.rst:1920 +#: ../../../LangRef.rst:1936 msgid "The prefix data can be referenced as," msgstr "" -#: ../../../LangRef.rst:1927 +#: ../../../LangRef.rst:1943 msgid "" "Prefix data is laid out as if it were an initializer for a global variable " "of the prefix data's type. The function will be placed such that the " @@ -3087,25 +3104,25 @@ msgid "" "desired, padding must be added to the prefix data." msgstr "" -#: ../../../LangRef.rst:1935 +#: ../../../LangRef.rst:1951 msgid "" "A function may have prefix data but no body. This has similar semantics to " "the ``available_externally`` linkage in that the data may be used by the " "optimizers but will not be emitted in the object file." msgstr "" -#: ../../../LangRef.rst:1942 +#: ../../../LangRef.rst:1958 msgid "Prologue Data" msgstr "" -#: ../../../LangRef.rst:1944 +#: ../../../LangRef.rst:1960 msgid "" "The ``prologue`` attribute allows arbitrary code (encoded as bytes) to be " "inserted prior to the function body. This can be used for enabling function " "hot-patching and instrumentation." msgstr "" -#: ../../../LangRef.rst:1948 +#: ../../../LangRef.rst:1964 msgid "" "To maintain the semantics of ordinary function calls, the prologue data must " "have a particular format. Specifically, it must begin with a sequence of " @@ -3117,13 +3134,13 @@ msgid "" "makes the format of the prologue data highly target dependent." msgstr "" -#: ../../../LangRef.rst:1957 +#: ../../../LangRef.rst:1973 msgid "" "A trivial example of valid prologue data for the x86 architecture is ``i8 " "144``, which encodes the ``nop`` instruction:" msgstr "" -#: ../../../LangRef.rst:1964 +#: ../../../LangRef.rst:1980 msgid "" "Generally prologue data can be formed by encoding a relative branch " "instruction which skips the metadata, as in this example of valid prologue " @@ -3131,28 +3148,28 @@ msgid "" "+10``:" msgstr "" -#: ../../../LangRef.rst:1974 +#: ../../../LangRef.rst:1990 msgid "" "A function may have prologue data but no body. This has similar semantics to " "the ``available_externally`` linkage in that the data may be used by the " "optimizers but will not be emitted in the object file." msgstr "" -#: ../../../LangRef.rst:1981 +#: ../../../LangRef.rst:1997 msgid "Personality Function" msgstr "" -#: ../../../LangRef.rst:1983 +#: ../../../LangRef.rst:1999 msgid "" "The ``personality`` attribute permits functions to specify what function to " "use for exception handling." msgstr "" -#: ../../../LangRef.rst:1989 +#: ../../../LangRef.rst:2005 msgid "Attribute Groups" msgstr "" -#: ../../../LangRef.rst:1991 +#: ../../../LangRef.rst:2007 msgid "" "Attribute groups are groups of attributes that are referenced by objects " "within the IR. They are important for keeping ``.ll`` files readable, " @@ -3162,7 +3179,7 @@ msgid "" "used to build that file." msgstr "" -#: ../../../LangRef.rst:1997 +#: ../../../LangRef.rst:2013 msgid "" "An attribute group is a module-level object. To use an attribute group, an " "object references the attribute group's ID (e.g., ``#37``). An object may " @@ -3170,18 +3187,18 @@ msgid "" "from the different groups are merged." msgstr "" -#: ../../../LangRef.rst:2002 +#: ../../../LangRef.rst:2018 msgid "" "Here is an example of attribute groups for a function that should always be " "inlined, has a stack alignment of 4, and which shouldn't use SSE " "instructions:" msgstr "" -#: ../../../LangRef.rst:2019 +#: ../../../LangRef.rst:2035 msgid "Function Attributes" msgstr "" -#: ../../../LangRef.rst:2021 +#: ../../../LangRef.rst:2037 msgid "" "Function attributes are set to communicate additional information about a " "function. Function attributes are considered to be part of the function, not " @@ -3189,25 +3206,25 @@ msgid "" "have the same function type." msgstr "" -#: ../../../LangRef.rst:2026 +#: ../../../LangRef.rst:2042 msgid "" "Function attributes are simple keywords or strings that follow the specified " "type. Multiple attributes, when required, are separated by spaces. For " "example:" msgstr "" -#: ../../../LangRef.rst:2039 +#: ../../../LangRef.rst:2055 msgid "" "This attribute indicates that, when emitting the prologue and epilogue, the " "backend should forcibly align the stack pointer. Specify the desired " "alignment, which must be a power of two, in parentheses." msgstr "" -#: ../../../LangRef.rst:2049 +#: ../../../LangRef.rst:2065 msgid "``\"alloc-family\"=\"FAMILY\"``" msgstr "" -#: ../../../LangRef.rst:2044 +#: ../../../LangRef.rst:2060 msgid "" "This indicates which \"family\" an allocator function is part of. To avoid " "collisions, the family name should match the mangled name of the primary " @@ -3218,21 +3235,21 @@ msgid "" "optimized, but mismatched ones will be left alone." msgstr "" -#: ../../../LangRef.rst:2073 +#: ../../../LangRef.rst:2102 msgid "``allockind(\"KIND\")``" msgstr "" -#: ../../../LangRef.rst:2052 +#: ../../../LangRef.rst:2068 msgid "" "Describes the behavior of an allocation function. The KIND string contains " "comma-separated entries from the following options:" msgstr "" -#: ../../../LangRef.rst:2055 +#: ../../../LangRef.rst:2071 msgid "\"alloc\": the function returns a new block of memory or null." msgstr "" -#: ../../../LangRef.rst:2056 +#: ../../../LangRef.rst:2072 msgid "" "\"realloc\": the function returns a new block of memory or null. If the " "result is non-null the memory contents from the start of the block up to the " @@ -3241,44 +3258,63 @@ msgid "" "invalidated, even if the function returns the same address." msgstr "" -#: ../../../LangRef.rst:2061 +#: ../../../LangRef.rst:2077 msgid "" "\"free\": the function frees the block of memory specified by ``allocptr``. " "Functions marked as \"free\" ``allockind`` must return void." msgstr "" -#: ../../../LangRef.rst:2063 +#: ../../../LangRef.rst:2079 msgid "" "\"uninitialized\": Any newly-allocated memory (either a new block from a " "\"alloc\" function or the enlarged capacity from a \"realloc\" function) " "will be uninitialized." msgstr "" -#: ../../../LangRef.rst:2066 +#: ../../../LangRef.rst:2082 msgid "" "\"zeroed\": Any newly-allocated memory (either a new block from a \"alloc\" " "function or the enlarged capacity from a \"realloc\" function) will be " "zeroed." msgstr "" -#: ../../../LangRef.rst:2069 +#: ../../../LangRef.rst:2085 msgid "" "\"aligned\": the function returns memory aligned according to the " "``allocalign`` parameter." msgstr "" -#: ../../../LangRef.rst:2072 +#: ../../../LangRef.rst:2088 msgid "" "The first three options are mutually exclusive, and the remaining options " "describe more details of how the function behaves. The remaining options are " "invalid for \"free\"-type functions." msgstr "" -#: ../../../LangRef.rst:2077 +#: ../../../LangRef.rst:2092 +msgid "" +"Calls to functions annotated with ``allockind`` are subject to allocation " +"elision: Calls to allocator functions can be removed, and the allocation " +"served from a \"virtual\" allocator instead. Notably, this is allowed even " +"if the allocator calls have side-effects. In other words, for each " +"allocation there is a non-deterministic choice between calling the allocator " +"as usual, or using a virtual, side-effect-free allocator instead." +msgstr "" + +#: ../../../LangRef.rst:2099 +msgid "" +"If multiple allocation functions operate on the same allocation, allocation " +"elision is only allowed for pairs of \"alloc\" and \"free\" with the same " +"``\"alloc-family\"`` attribute. For this purpose, a \"realloc\" call may be " +"decomposed into \"alloc\" and \"free\" operations, as long as at least one " +"of them will be elided." +msgstr "" + +#: ../../../LangRef.rst:2106 msgid "``\"alloc-variant-zeroed\"=\"FUNCTION\"``" msgstr "" -#: ../../../LangRef.rst:2076 +#: ../../../LangRef.rst:2105 msgid "" "This attribute indicates that another function is equivalent to an allocator " "function, but returns zeroed memory. The function must have \"zeroed\" " @@ -3286,11 +3322,11 @@ msgid "" "arguments." msgstr "" -#: ../../../LangRef.rst:2086 +#: ../../../LangRef.rst:2115 msgid "``allocsize([, ])``" msgstr "" -#: ../../../LangRef.rst:2080 +#: ../../../LangRef.rst:2109 msgid "" "This attribute indicates that the annotated function will always return at " "least a given number of bytes (or null). Its arguments are zero-indexed " @@ -3302,22 +3338,22 @@ msgid "" "the contents of the returned block of memory." msgstr "" -#: ../../../LangRef.rst:2090 +#: ../../../LangRef.rst:2119 msgid "``alwaysinline``" msgstr "" -#: ../../../LangRef.rst:2089 +#: ../../../LangRef.rst:2118 msgid "" "This attribute indicates that the inliner should attempt to inline this " "function into callers whenever possible, ignoring any active inlining size " "threshold for this caller." msgstr "" -#: ../../../LangRef.rst:2096 +#: ../../../LangRef.rst:2125 msgid "``builtin``" msgstr "" -#: ../../../LangRef.rst:2093 +#: ../../../LangRef.rst:2122 msgid "" "This indicates that the callee function at a call site should be recognized " "as a built-in function, even though the function's declaration uses the " @@ -3325,22 +3361,22 @@ msgid "" "to functions that are declared with the ``nobuiltin`` attribute." msgstr "" -#: ../../../LangRef.rst:2102 +#: ../../../LangRef.rst:2131 msgid "``cold``" msgstr "" -#: ../../../LangRef.rst:2099 +#: ../../../LangRef.rst:2128 msgid "" "This attribute indicates that this function is rarely called. When computing " "edge weights, basic blocks post-dominated by a cold function call are also " "considered to be cold and, thus, given a low weight." msgstr "" -#: ../../../LangRef.rst:2117 +#: ../../../LangRef.rst:2146 msgid "``convergent``" msgstr "" -#: ../../../LangRef.rst:2107 +#: ../../../LangRef.rst:2136 msgid "" "This attribute indicates that this function is convergent. When it appears " "on a call/invoke, the convergent attribute indicates that we should treat " @@ -3349,28 +3385,28 @@ msgid "" "target is non-convergent." msgstr "" -#: ../../../LangRef.rst:2114 +#: ../../../LangRef.rst:2143 msgid "See :doc:`ConvergentOperations` for further details." msgstr "" -#: ../../../LangRef.rst:2116 +#: ../../../LangRef.rst:2145 msgid "" "It is an error to call :ref:`llvm.experimental.convergence.entry ` from a function that does not have this " "attribute." msgstr "" -#: ../../../LangRef.rst:2129 +#: ../../../LangRef.rst:2158 msgid "``disable_sanitizer_instrumentation``" msgstr "" -#: ../../../LangRef.rst:2120 +#: ../../../LangRef.rst:2149 msgid "" "When instrumenting code with sanitizers, it can be important to skip certain " "functions to ensure no instrumentation is applied to them." msgstr "" -#: ../../../LangRef.rst:2123 +#: ../../../LangRef.rst:2152 msgid "" "This attribute is not always similar to absent ``sanitize_`` " "attributes: depending on the specific sanitizer, code can be inserted into " @@ -3378,18 +3414,18 @@ msgid "" "positive reports." msgstr "" -#: ../../../LangRef.rst:2128 +#: ../../../LangRef.rst:2157 msgid "" "``disable_sanitizer_instrumentation`` disables all kinds of instrumentation, " "taking precedence over the ``sanitize_`` attributes and other compiler " "flags." msgstr "" -#: ../../../LangRef.rst:2135 +#: ../../../LangRef.rst:2164 msgid "``\"dontcall-error\"``" msgstr "" -#: ../../../LangRef.rst:2132 +#: ../../../LangRef.rst:2161 msgid "" "This attribute denotes that an error diagnostic should be emitted when a " "call of a function with this attribute is not eliminated via optimization. " @@ -3398,11 +3434,11 @@ msgid "" "call came from. A string value can be provided as a note." msgstr "" -#: ../../../LangRef.rst:2141 +#: ../../../LangRef.rst:2170 msgid "``\"dontcall-warn\"``" msgstr "" -#: ../../../LangRef.rst:2138 +#: ../../../LangRef.rst:2167 msgid "" "This attribute denotes that a warning diagnostic should be emitted when a " "call of a function with this attribute is not eliminated via optimization. " @@ -3411,22 +3447,22 @@ msgid "" "call came from. A string value can be provided as a note." msgstr "" -#: ../../../LangRef.rst:2145 +#: ../../../LangRef.rst:2174 msgid "``fn_ret_thunk_extern``" msgstr "" -#: ../../../LangRef.rst:2144 +#: ../../../LangRef.rst:2173 msgid "" "This attribute tells the code generator that returns from functions should " "be replaced with jumps to externally-defined architecture-specific symbols. " "For X86, this symbol's identifier is ``__x86_return_thunk``." msgstr "" -#: ../../../LangRef.rst:2159 +#: ../../../LangRef.rst:2188 msgid "``\"frame-pointer\"``" msgstr "" -#: ../../../LangRef.rst:2148 +#: ../../../LangRef.rst:2177 msgid "" "This attribute tells the code generator whether the function should keep the " "frame pointer. The code generator may emit the frame pointer even if this " @@ -3434,40 +3470,40 @@ msgid "" "values are:" msgstr "" -#: ../../../LangRef.rst:2153 +#: ../../../LangRef.rst:2182 msgid "" "``\"none\"`` (default) - the frame pointer can be eliminated, and its " "register can be used for other purposes." msgstr "" -#: ../../../LangRef.rst:2155 +#: ../../../LangRef.rst:2184 msgid "" "``\"reserved\"`` - the frame pointer register must either be updated to " "point to a valid frame record for the current function, or not be modified." msgstr "" -#: ../../../LangRef.rst:2158 +#: ../../../LangRef.rst:2187 msgid "" "``\"non-leaf\"`` - the frame pointer should be kept if the function calls " "other functions." msgstr "" -#: ../../../LangRef.rst:2160 +#: ../../../LangRef.rst:2189 msgid "``\"all\"`` - the frame pointer should be kept." msgstr "" -#: ../../../LangRef.rst:2168 +#: ../../../LangRef.rst:2197 msgid "``hot``" msgstr "" -#: ../../../LangRef.rst:2162 +#: ../../../LangRef.rst:2191 msgid "" "This attribute indicates that this function is a hot spot of the program " "execution. The function will be optimized more aggressively and will be " "placed into a special subsection of the text section to improve locality." msgstr "" -#: ../../../LangRef.rst:2166 +#: ../../../LangRef.rst:2195 msgid "" "When profile feedback is enabled, this attribute takes precedence over the " "profile information. By marking a function ``hot``, users can work around " @@ -3475,22 +3511,22 @@ msgid "" "hot functions." msgstr "" -#: ../../../LangRef.rst:2173 +#: ../../../LangRef.rst:2202 msgid "``inlinehint``" msgstr "" -#: ../../../LangRef.rst:2171 +#: ../../../LangRef.rst:2200 msgid "" "This attribute indicates that the source code contained a hint that inlining " "this function is desirable (such as the \"inline\" keyword in C/C++). It is " "just a hint; it imposes no requirements on the inliner." msgstr "" -#: ../../../LangRef.rst:2181 +#: ../../../LangRef.rst:2210 msgid "``jumptable``" msgstr "" -#: ../../../LangRef.rst:2176 +#: ../../../LangRef.rst:2205 msgid "" "This attribute indicates that the function should be added to a jump-" "instruction table at code-generation time, and that all address-taken " @@ -3501,11 +3537,11 @@ msgid "" "``jumptable`` must also be ``unnamed_addr``." msgstr "" -#: ../../../LangRef.rst:2245 +#: ../../../LangRef.rst:2274 msgid "``memory(...)``" msgstr "" -#: ../../../LangRef.rst:2184 +#: ../../../LangRef.rst:2213 msgid "" "This attribute specifies the possible memory effects of the call-site or " "function. It allows specifying the possible access kinds (``none``, " @@ -3514,66 +3550,66 @@ msgid "" "``target_mem1``, as well as a default). It is best understood by example:" msgstr "" -#: ../../../LangRef.rst:2191 +#: ../../../LangRef.rst:2220 msgid "``memory(none)``: Does not access any memory." msgstr "" -#: ../../../LangRef.rst:2192 +#: ../../../LangRef.rst:2221 msgid "``memory(read)``: May read (but not write) any memory." msgstr "" -#: ../../../LangRef.rst:2193 +#: ../../../LangRef.rst:2222 msgid "``memory(write)``: May write (but not read) any memory." msgstr "" -#: ../../../LangRef.rst:2194 +#: ../../../LangRef.rst:2223 msgid "``memory(readwrite)``: May read or write any memory." msgstr "" -#: ../../../LangRef.rst:2195 +#: ../../../LangRef.rst:2224 msgid "``memory(argmem: read)``: May only read argument memory." msgstr "" -#: ../../../LangRef.rst:2196 +#: ../../../LangRef.rst:2225 msgid "" "``memory(argmem: read, inaccessiblemem: write)``: May only read argument " "memory and only write inaccessible memory." msgstr "" -#: ../../../LangRef.rst:2198 +#: ../../../LangRef.rst:2227 msgid "" "``memory(argmem: read, errnomem: write)``: May only read argument memory and " "only write errno." msgstr "" -#: ../../../LangRef.rst:2200 +#: ../../../LangRef.rst:2229 msgid "" "``memory(read, argmem: readwrite)``: May read any memory (default mode) and " "additionally write argument memory." msgstr "" -#: ../../../LangRef.rst:2202 +#: ../../../LangRef.rst:2231 msgid "" "``memory(readwrite, argmem: none)``: May access any memory apart from " "argument memory." msgstr "" -#: ../../../LangRef.rst:2205 +#: ../../../LangRef.rst:2234 msgid "The supported access kinds are:" msgstr "" -#: ../../../LangRef.rst:2207 +#: ../../../LangRef.rst:2236 msgid "``readwrite``: Any kind of access to the location is allowed." msgstr "" -#: ../../../LangRef.rst:2208 +#: ../../../LangRef.rst:2237 msgid "" "``read``: The location is only read. Writing to the location is immediate " "undefined behavior. This includes the case where the location is read from " "and then the same value is written back." msgstr "" -#: ../../../LangRef.rst:2211 +#: ../../../LangRef.rst:2240 msgid "" "``write``: Only writes to the location are observable outside the function " "call. However, the function may still internally read the location after " @@ -3581,7 +3617,7 @@ msgid "" "it results in a poison value." msgstr "" -#: ../../../LangRef.rst:2215 +#: ../../../LangRef.rst:2244 msgid "" "``none``: No reads or writes to the location are observed outside the " "function. It is always valid to read and write allocas, and to read global " @@ -3589,17 +3625,17 @@ msgid "" "externally observable." msgstr "" -#: ../../../LangRef.rst:2220 +#: ../../../LangRef.rst:2249 msgid "The supported memory location kinds are:" msgstr "" -#: ../../../LangRef.rst:2222 +#: ../../../LangRef.rst:2251 msgid "" "``argmem``: This refers to accesses that are based on pointer arguments to " "the function." msgstr "" -#: ../../../LangRef.rst:2224 +#: ../../../LangRef.rst:2253 msgid "" "``inaccessiblemem``: This refers to accesses to memory which is not " "accessible by the current module (before return from the function -- an " @@ -3608,11 +3644,11 @@ msgid "" "control dependencies of intrinsics." msgstr "" -#: ../../../LangRef.rst:2229 +#: ../../../LangRef.rst:2258 msgid "``errnomem``: This refers to accesses to the ``errno`` variable." msgstr "" -#: ../../../LangRef.rst:2230 +#: ../../../LangRef.rst:2259 msgid "" "``target_mem#`` : These refer to target specific state that cannot be " "accessed by any other means. # is a number between 0 and 1 inclusive. Note: " @@ -3620,7 +3656,7 @@ msgid "" "only. They must not be used in production code." msgstr "" -#: ../../../LangRef.rst:2235 +#: ../../../LangRef.rst:2264 msgid "" "The default access kind (specified without a location prefix) applies to all " "locations that haven't been specified explicitly, including those that don't " @@ -3628,13 +3664,13 @@ msgid "" "captured pointers)." msgstr "" -#: ../../../LangRef.rst:2240 +#: ../../../LangRef.rst:2269 msgid "" "If the ``memory`` attribute is not specified, then ``memory(readwrite)`` is " "implied (all memory effects are possible)." msgstr "" -#: ../../../LangRef.rst:2243 +#: ../../../LangRef.rst:2272 msgid "" "The memory effects of a call can be computed as ``CallSiteEffects & " "(FunctionEffects | OperandBundleEffects)``. Thus, the call-site annotation " @@ -3642,11 +3678,11 @@ msgid "" "annotation or the operand bundles." msgstr "" -#: ../../../LangRef.rst:2252 +#: ../../../LangRef.rst:2281 msgid "``minsize``" msgstr "" -#: ../../../LangRef.rst:2248 +#: ../../../LangRef.rst:2277 msgid "" "This attribute suggests that optimization passes and code generator passes " "make choices that keep the code size of this function as small as possible " @@ -3655,22 +3691,22 @@ msgid "" "the ``optdebug`` and ``optnone`` attributes." msgstr "" -#: ../../../LangRef.rst:2256 +#: ../../../LangRef.rst:2285 msgid "``naked``" msgstr "" -#: ../../../LangRef.rst:2255 +#: ../../../LangRef.rst:2284 msgid "" "This attribute disables prologue / epilogue emission for the function. This " "can have very system-specific consequences. The arguments of a ``naked`` " "function can not be referenced through IR values." msgstr "" -#: ../../../LangRef.rst:2263 +#: ../../../LangRef.rst:2292 msgid "``\"no-inline-line-tables\"``" msgstr "" -#: ../../../LangRef.rst:2259 +#: ../../../LangRef.rst:2288 msgid "" "When this attribute is set to true, the inliner discards source locations " "when inlining code and instead uses the source location of the call site. " @@ -3680,21 +3716,21 @@ msgid "" "inlined call site." msgstr "" -#: ../../../LangRef.rst:2266 +#: ../../../LangRef.rst:2295 msgid "``no-jump-tables``" msgstr "" -#: ../../../LangRef.rst:2266 +#: ../../../LangRef.rst:2295 msgid "" "When this attribute is set to true, the jump tables and lookup tables that " "can be generated from a switch case lowering are disabled." msgstr "" -#: ../../../LangRef.rst:2272 +#: ../../../LangRef.rst:2301 msgid "``nobuiltin``" msgstr "" -#: ../../../LangRef.rst:2269 +#: ../../../LangRef.rst:2298 msgid "" "This indicates that the callee function at a call site is not recognized as " "a built-in function. LLVM will retain the original call and not replace it " @@ -3703,11 +3739,11 @@ msgid "" "and on function declarations and definitions." msgstr "" -#: ../../../LangRef.rst:2279 +#: ../../../LangRef.rst:2308 msgid "``nocallback``" msgstr "" -#: ../../../LangRef.rst:2275 +#: ../../../LangRef.rst:2304 msgid "" "This attribute indicates that the function is only allowed to jump back into " "the caller's module by a return or an exception, and is not allowed to jump " @@ -3717,11 +3753,11 @@ msgid "" "during linking, and has no effect on functions defined in the current module." msgstr "" -#: ../../../LangRef.rst:2285 +#: ../../../LangRef.rst:2314 msgid "``nodivergencesource``" msgstr "" -#: ../../../LangRef.rst:2282 +#: ../../../LangRef.rst:2311 msgid "" "A call to this function is not a source of divergence. In uniformity " "analysis, a *source of divergence* is an instruction that generates " @@ -3731,18 +3767,18 @@ msgid "" "divergence." msgstr "" -#: ../../../LangRef.rst:2296 +#: ../../../LangRef.rst:2325 msgid "``noduplicate``" msgstr "" -#: ../../../LangRef.rst:2288 +#: ../../../LangRef.rst:2317 msgid "" "This attribute indicates that calls to the function cannot be duplicated. A " "call to a ``noduplicate`` function may be moved within its parent function, " "but may not be duplicated within its parent function." msgstr "" -#: ../../../LangRef.rst:2293 +#: ../../../LangRef.rst:2322 msgid "" "A function containing a ``noduplicate`` call may still be an inlining " "candidate, provided that the call is not duplicated by inlining. That " @@ -3750,14 +3786,14 @@ msgid "" "so the original call is dead after inlining." msgstr "" -#: ../../../LangRef.rst:2299 +#: ../../../LangRef.rst:2328 msgid "" "This function attribute indicates that the function does not, directly or " "transitively, call a memory-deallocation function (``free``, for example) on " "a memory allocation which existed before the call." msgstr "" -#: ../../../LangRef.rst:2303 +#: ../../../LangRef.rst:2332 msgid "" "As a result, uncaptured pointers that are known to be dereferenceable prior " "to a call to a function with the ``nofree`` attribute are still known to be " @@ -3768,7 +3804,7 @@ msgid "" "freed by the function." msgstr "" -#: ../../../LangRef.rst:2311 +#: ../../../LangRef.rst:2340 msgid "" "A ``nofree`` function is explicitly allowed to free memory which it " "allocated or (if not ``nosync``) arrange for another thread to free memory " @@ -3777,11 +3813,11 @@ msgid "" "object`." msgstr "" -#: ../../../LangRef.rst:2325 +#: ../../../LangRef.rst:2354 msgid "``noimplicitfloat``" msgstr "" -#: ../../../LangRef.rst:2317 +#: ../../../LangRef.rst:2346 msgid "" "Disallows implicit floating-point code. This inhibits optimizations that use " "floating-point code and floating-point registers for operations that are not " @@ -3790,7 +3826,7 @@ msgid "" "floating-point code to be generated." msgstr "" -#: ../../../LangRef.rst:2323 +#: ../../../LangRef.rst:2352 msgid "" "Also inhibits optimizations that create SIMD/vector code and registers from " "scalar code such as vectorization or memcpy/memset optimization. This " @@ -3798,22 +3834,22 @@ msgid "" "vector code to be generated." msgstr "" -#: ../../../LangRef.rst:2329 +#: ../../../LangRef.rst:2358 msgid "``noinline``" msgstr "" -#: ../../../LangRef.rst:2328 +#: ../../../LangRef.rst:2357 msgid "" "This attribute indicates that the inliner should never inline this function " "in any situation. This attribute may not be used together with the " "``alwaysinline`` attribute." msgstr "" -#: ../../../LangRef.rst:2337 +#: ../../../LangRef.rst:2366 msgid "``nomerge``" msgstr "" -#: ../../../LangRef.rst:2332 +#: ../../../LangRef.rst:2361 msgid "" "This attribute indicates that calls to this function should never be merged " "during optimization. For example, it will prevent tail merging otherwise " @@ -3823,22 +3859,22 @@ msgid "" "control over the tradeoff between code size and debug information precision." msgstr "" -#: ../../../LangRef.rst:2341 +#: ../../../LangRef.rst:2370 msgid "``nonlazybind``" msgstr "" -#: ../../../LangRef.rst:2340 +#: ../../../LangRef.rst:2369 msgid "" "This attribute suppresses lazy symbol binding for the function. This may " "make calls to the function faster, at the cost of extra program startup time " "if the function is not called during program startup." msgstr "" -#: ../../../LangRef.rst:2346 +#: ../../../LangRef.rst:2375 msgid "``noprofile``" msgstr "" -#: ../../../LangRef.rst:2344 +#: ../../../LangRef.rst:2373 msgid "" "This function attribute prevents instrumentation-based profiling, used for " "coverage or profile based optimization, from being added to a function. It " @@ -3846,11 +3882,11 @@ msgid "" "attribute." msgstr "" -#: ../../../LangRef.rst:2351 +#: ../../../LangRef.rst:2380 msgid "``skipprofile``" msgstr "" -#: ../../../LangRef.rst:2349 +#: ../../../LangRef.rst:2378 msgid "" "This function attribute prevents instrumentation-based profiling, used for " "coverage or profile based optimization, from being added to a function. This " @@ -3858,32 +3894,32 @@ msgid "" "up in this function." msgstr "" -#: ../../../LangRef.rst:2354 +#: ../../../LangRef.rst:2383 msgid "``noredzone``" msgstr "" -#: ../../../LangRef.rst:2354 +#: ../../../LangRef.rst:2383 msgid "" "This attribute indicates that the code generator should not use a red zone, " "even if the target-specific ABI normally permits it." msgstr "" -#: ../../../LangRef.rst:2358 +#: ../../../LangRef.rst:2387 msgid "``indirect-tls-seg-refs``" msgstr "" -#: ../../../LangRef.rst:2357 +#: ../../../LangRef.rst:2386 msgid "" "This attribute indicates that the code generator should not use direct TLS " "access through segment registers, even if the target-specific ABI normally " "permits it." msgstr "" -#: ../../../LangRef.rst:2363 +#: ../../../LangRef.rst:2392 msgid "``noreturn``" msgstr "" -#: ../../../LangRef.rst:2361 +#: ../../../LangRef.rst:2390 msgid "" "This function attribute indicates that the function never returns normally, " "hence through a return instruction. This produces undefined behavior at " @@ -3891,22 +3927,22 @@ msgid "" "may still raise an exception, i.a., ``nounwind`` is not implied." msgstr "" -#: ../../../LangRef.rst:2369 +#: ../../../LangRef.rst:2398 msgid "``norecurse``" msgstr "" -#: ../../../LangRef.rst:2366 +#: ../../../LangRef.rst:2395 msgid "" "This function attribute indicates that the function is not recursive and " "does not participate in recursion. This means that the function never occurs " "inside a cycle in the dynamic call graph. For example:" msgstr "" -#: ../../../LangRef.rst:2384 +#: ../../../LangRef.rst:2413 msgid "``willreturn``" msgstr "" -#: ../../../LangRef.rst:2380 +#: ../../../LangRef.rst:2409 msgid "" "This function attribute indicates that a call of this function will either " "exhibit undefined behavior or comes back and continues execution at a point " @@ -3916,11 +3952,11 @@ msgid "" "point in the call stack, the behavior is undefined." msgstr "" -#: ../../../LangRef.rst:2398 +#: ../../../LangRef.rst:2427 msgid "``nosync``" msgstr "" -#: ../../../LangRef.rst:2387 +#: ../../../LangRef.rst:2416 msgid "" "This function attribute indicates that the function does not communicate " "(synchronize) with another thread through memory or other well-defined " @@ -3929,7 +3965,7 @@ msgid "" "`volatile` accesses, as well as `convergent` function calls." msgstr "" -#: ../../../LangRef.rst:2393 +#: ../../../LangRef.rst:2422 msgid "" "Note that `convergent` operations can involve communication that is " "considered to be not through memory and does not necessarily imply an " @@ -3937,17 +3973,17 @@ msgid "" "operation can be both `convergent` and `nosync`." msgstr "" -#: ../../../LangRef.rst:2398 +#: ../../../LangRef.rst:2427 msgid "" "If a `nosync` function does ever synchronize with another thread, the " "behavior is undefined." msgstr "" -#: ../../../LangRef.rst:2405 +#: ../../../LangRef.rst:2434 msgid "``nounwind``" msgstr "" -#: ../../../LangRef.rst:2401 +#: ../../../LangRef.rst:2430 msgid "" "This function attribute indicates that the function never raises an " "exception. If the function does raise an exception, its runtime behavior is " @@ -3957,31 +3993,31 @@ msgid "" "their implementation defined semantics." msgstr "" -#: ../../../LangRef.rst:2408 +#: ../../../LangRef.rst:2437 msgid "``nosanitize_bounds``" msgstr "" -#: ../../../LangRef.rst:2408 +#: ../../../LangRef.rst:2437 msgid "" "This attribute indicates that bounds checking sanitizer instrumentation is " "disabled for this function." msgstr "" -#: ../../../LangRef.rst:2411 +#: ../../../LangRef.rst:2440 msgid "``nosanitize_coverage``" msgstr "" -#: ../../../LangRef.rst:2411 +#: ../../../LangRef.rst:2440 msgid "" "This attribute indicates that SanitizerCoverage instrumentation is disabled " "for this function." msgstr "" -#: ../../../LangRef.rst:2419 +#: ../../../LangRef.rst:2448 msgid "``null_pointer_is_valid``" msgstr "" -#: ../../../LangRef.rst:2414 +#: ../../../LangRef.rst:2443 msgid "" "If ``null_pointer_is_valid`` is set, then the ``null`` address in address-" "space 0 is considered to be a valid address for memory loads and stores. Any " @@ -3991,11 +4027,11 @@ msgid "" "limitation in querying this attribute inside constant expressions." msgstr "" -#: ../../../LangRef.rst:2425 +#: ../../../LangRef.rst:2454 msgid "``optdebug``" msgstr "" -#: ../../../LangRef.rst:2422 +#: ../../../LangRef.rst:2451 msgid "" "This attribute suggests that optimization passes and code generator passes " "should make choices that try to preserve debug info without significantly " @@ -4003,21 +4039,21 @@ msgid "" "``minsize``, ``optsize``, and ``optnone`` attributes." msgstr "" -#: ../../../LangRef.rst:2428 +#: ../../../LangRef.rst:2457 msgid "``optforfuzzing``" msgstr "" -#: ../../../LangRef.rst:2428 +#: ../../../LangRef.rst:2457 msgid "" "This attribute indicates that this function should be optimized for maximum " "fuzzing signal." msgstr "" -#: ../../../LangRef.rst:2440 +#: ../../../LangRef.rst:2469 msgid "``optnone``" msgstr "" -#: ../../../LangRef.rst:2431 +#: ../../../LangRef.rst:2460 msgid "" "This function attribute indicates that most optimization passes will skip " "this function, with the exception of interprocedural optimization passes. " @@ -4027,7 +4063,7 @@ msgid "" "``optdebug`` attributes." msgstr "" -#: ../../../LangRef.rst:2438 +#: ../../../LangRef.rst:2467 msgid "" "This attribute requires the ``noinline`` attribute to be specified on the " "function as well, so the function is never inlined into any caller. Only " @@ -4035,11 +4071,11 @@ msgid "" "inlining into the body of this function." msgstr "" -#: ../../../LangRef.rst:2447 +#: ../../../LangRef.rst:2476 msgid "``optsize``" msgstr "" -#: ../../../LangRef.rst:2443 +#: ../../../LangRef.rst:2472 msgid "" "This attribute suggests that optimization passes and code generator passes " "make choices that keep the code size of this function low, and otherwise do " @@ -4048,11 +4084,11 @@ msgid "" "with the ``optdebug`` and ``optnone`` attributes." msgstr "" -#: ../../../LangRef.rst:2472 +#: ../../../LangRef.rst:2501 msgid "``\"patchable-function\"``" msgstr "" -#: ../../../LangRef.rst:2450 +#: ../../../LangRef.rst:2479 msgid "" "This attribute tells the code generator that the code generated for this " "function needs to follow certain conventions that make it possible for a " @@ -4061,7 +4097,7 @@ msgid "" "possibility:" msgstr "" -#: ../../../LangRef.rst:2456 +#: ../../../LangRef.rst:2485 msgid "" "``\"prologue-short-redirect\"`` - This style of patchable function is " "intended to support patching a function prologue to redirect control away " @@ -4074,22 +4110,22 @@ msgid "" "anyway) as the patchable instruction larger than a short jump." msgstr "" -#: ../../../LangRef.rst:2468 +#: ../../../LangRef.rst:2497 msgid "``\"prologue-short-redirect\"`` is currently only supported on x86-64." msgstr "" -#: ../../../LangRef.rst:2471 +#: ../../../LangRef.rst:2500 msgid "" "This attribute by itself does not imply restrictions on inter-procedural " "optimizations. All of the semantic effects the patching may have to be " "separately conveyed via the linkage type." msgstr "" -#: ../../../LangRef.rst:2485 +#: ../../../LangRef.rst:2514 msgid "``\"probe-stack\"``" msgstr "" -#: ../../../LangRef.rst:2475 +#: ../../../LangRef.rst:2504 msgid "" "This attribute indicates that the function will trigger a guard region in " "the end of the stack. It ensures that accesses to the stack must be no " @@ -4098,7 +4134,7 @@ msgid "" "function that will be called." msgstr "" -#: ../../../LangRef.rst:2481 +#: ../../../LangRef.rst:2510 msgid "" "If a function that has a ``\"probe-stack\"`` attribute is inlined into a " "function with another ``\"probe-stack\"`` attribute, the resulting function " @@ -4108,11 +4144,11 @@ msgid "" "``\"probe-stack\"`` attribute of the callee." msgstr "" -#: ../../../LangRef.rst:2500 +#: ../../../LangRef.rst:2529 msgid "``\"stack-probe-size\"``" msgstr "" -#: ../../../LangRef.rst:2488 +#: ../../../LangRef.rst:2517 msgid "" "This attribute controls the behavior of stack probes: either the ``\"probe-" "stack\"`` attribute, or ABI-required stack probes, if any. It defines the " @@ -4121,7 +4157,7 @@ msgid "" "emitted. It takes one required integer value, which is 4096 by default." msgstr "" -#: ../../../LangRef.rst:2495 +#: ../../../LangRef.rst:2524 msgid "" "If a function that has a ``\"stack-probe-size\"`` attribute is inlined into " "a function with another ``\"stack-probe-size\"`` attribute, the resulting " @@ -4132,36 +4168,36 @@ msgid "" "the callee." msgstr "" -#: ../../../LangRef.rst:2502 +#: ../../../LangRef.rst:2531 msgid "``\"no-stack-arg-probe\"``" msgstr "" -#: ../../../LangRef.rst:2503 +#: ../../../LangRef.rst:2532 msgid "This attribute disables ABI-required stack probes, if any." msgstr "" -#: ../../../LangRef.rst:2507 +#: ../../../LangRef.rst:2536 msgid "``returns_twice``" msgstr "" -#: ../../../LangRef.rst:2505 +#: ../../../LangRef.rst:2534 msgid "" "This attribute indicates that this function can return twice. The C " "``setjmp`` is an example of such a function. The compiler disables some " "optimizations (like tail calls) in the caller of these functions." msgstr "" -#: ../../../LangRef.rst:2516 +#: ../../../LangRef.rst:2545 msgid "``safestack``" msgstr "" -#: ../../../LangRef.rst:2510 +#: ../../../LangRef.rst:2539 msgid "" "This attribute indicates that `SafeStack `_ protection is enabled for this function." msgstr "" -#: ../../../LangRef.rst:2514 +#: ../../../LangRef.rst:2543 msgid "" "If a function that has a ``safestack`` attribute is inlined into a function " "that doesn't have a ``safestack`` attribute or which has an ``ssp``, " @@ -4169,72 +4205,72 @@ msgid "" "a ``safestack`` attribute." msgstr "" -#: ../../../LangRef.rst:2519 +#: ../../../LangRef.rst:2548 msgid "``sanitize_address``" msgstr "" -#: ../../../LangRef.rst:2519 +#: ../../../LangRef.rst:2548 msgid "" "This attribute indicates that AddressSanitizer checks (dynamic address " "safety analysis) are enabled for this function." msgstr "" -#: ../../../LangRef.rst:2522 +#: ../../../LangRef.rst:2551 msgid "``sanitize_memory``" msgstr "" -#: ../../../LangRef.rst:2522 +#: ../../../LangRef.rst:2551 msgid "" "This attribute indicates that MemorySanitizer checks (dynamic detection of " "accesses to uninitialized memory) are enabled for this function." msgstr "" -#: ../../../LangRef.rst:2525 +#: ../../../LangRef.rst:2554 msgid "``sanitize_thread``" msgstr "" -#: ../../../LangRef.rst:2525 +#: ../../../LangRef.rst:2554 msgid "" "This attribute indicates that ThreadSanitizer checks (dynamic thread safety " "analysis) are enabled for this function." msgstr "" -#: ../../../LangRef.rst:2529 +#: ../../../LangRef.rst:2558 msgid "``sanitize_hwaddress``" msgstr "" -#: ../../../LangRef.rst:2528 +#: ../../../LangRef.rst:2557 msgid "" "This attribute indicates that HWAddressSanitizer checks (dynamic address " "safety analysis based on tagged pointers) are enabled for this function." msgstr "" -#: ../../../LangRef.rst:2533 ../../../LangRef.rst:2892 +#: ../../../LangRef.rst:2562 ../../../LangRef.rst:2932 msgid "``sanitize_memtag``" msgstr "" -#: ../../../LangRef.rst:2532 +#: ../../../LangRef.rst:2561 msgid "" "This attribute indicates that MemTagSanitizer checks (dynamic address safety " "analysis based on Armv8 MTE) are enabled for this function." msgstr "" -#: ../../../LangRef.rst:2537 +#: ../../../LangRef.rst:2566 msgid "``sanitize_realtime``" msgstr "" -#: ../../../LangRef.rst:2536 +#: ../../../LangRef.rst:2565 msgid "" "This attribute indicates that RealtimeSanitizer checks (realtime safety " "analysis - no allocations, syscalls or exceptions) are enabled for this " "function." msgstr "" -#: ../../../LangRef.rst:2542 +#: ../../../LangRef.rst:2571 msgid "``sanitize_realtime_blocking``" msgstr "" -#: ../../../LangRef.rst:2540 +#: ../../../LangRef.rst:2569 msgid "" "This attribute indicates that RealtimeSanitizer should error immediately if " "the attributed function is called during invocation of a function attributed " @@ -4242,28 +4278,28 @@ msgid "" "``sanitize_realtime`` attribute." msgstr "" -#: ../../../LangRef.rst:2545 +#: ../../../LangRef.rst:2574 msgid "``sanitize_alloc_token``" msgstr "" -#: ../../../LangRef.rst:2545 +#: ../../../LangRef.rst:2574 msgid "" "This attribute indicates that implicit allocation token instrumentation is " "enabled for this function." msgstr "" -#: ../../../LangRef.rst:2563 +#: ../../../LangRef.rst:2592 msgid "``speculative_load_hardening``" msgstr "" -#: ../../../LangRef.rst:2548 +#: ../../../LangRef.rst:2577 msgid "" "This attribute indicates that `Speculative Load Hardening `_ should be enabled for the function " "body." msgstr "" -#: ../../../LangRef.rst:2552 +#: ../../../LangRef.rst:2581 msgid "" "Speculative Load Hardening is a best-effort mitigation against information " "leak attacks that make use of control flow miss-speculation - specifically " @@ -4273,7 +4309,7 @@ msgid "" "branch target, classified as \"Spectre variant #2\" vulnerabilities." msgstr "" -#: ../../../LangRef.rst:2560 +#: ../../../LangRef.rst:2589 msgid "" "When inlining, the attribute is sticky. Inlining a function that carries " "this attribute will cause the caller to gain the attribute. This is intended " @@ -4282,11 +4318,11 @@ msgid "" "hardened." msgstr "" -#: ../../../LangRef.rst:2574 +#: ../../../LangRef.rst:2603 msgid "``speculatable``" msgstr "" -#: ../../../LangRef.rst:2566 +#: ../../../LangRef.rst:2595 msgid "" "This function attribute indicates that the function does not have any " "effects besides calculating its result and does not have undefined behavior. " @@ -4298,11 +4334,11 @@ msgid "" "undefined behavior may be observed even if the call site is dead code." msgstr "" -#: ../../../LangRef.rst:2593 +#: ../../../LangRef.rst:2622 msgid "``ssp``" msgstr "" -#: ../../../LangRef.rst:2577 +#: ../../../LangRef.rst:2606 msgid "" "This attribute indicates that the function should emit a stack smashing " "protector. It is in the form of a \"canary\" --- a random value placed on " @@ -4312,37 +4348,37 @@ msgid "" "protectors for functions with:" msgstr "" -#: ../../../LangRef.rst:2584 +#: ../../../LangRef.rst:2613 msgid "Character arrays larger than ``ssp-buffer-size`` (default 8)." msgstr "" -#: ../../../LangRef.rst:2585 +#: ../../../LangRef.rst:2614 msgid "Aggregates containing character arrays larger than ``ssp-buffer-size``." msgstr "" -#: ../../../LangRef.rst:2586 +#: ../../../LangRef.rst:2615 msgid "" "Calls to alloca() with variable sizes or constant sizes greater than ``ssp-" "buffer-size``." msgstr "" -#: ../../../LangRef.rst:2589 +#: ../../../LangRef.rst:2618 msgid "" "Variables that are identified as requiring a protector will be arranged on " "the stack such that they are adjacent to the stack protector guard." msgstr "" -#: ../../../LangRef.rst:2592 +#: ../../../LangRef.rst:2621 msgid "" "If a function with an ``ssp`` attribute is inlined into a calling function, " "the attribute is not carried over to the calling function." msgstr "" -#: ../../../LangRef.rst:2621 +#: ../../../LangRef.rst:2650 msgid "``sspstrong``" msgstr "" -#: ../../../LangRef.rst:2596 +#: ../../../LangRef.rst:2625 msgid "" "This attribute indicates that the function should emit a stack smashing " "protector. This attribute causes a strong heuristic to be used when " @@ -4350,80 +4386,80 @@ msgid "" "enable protectors for functions with:" msgstr "" -#: ../../../LangRef.rst:2601 +#: ../../../LangRef.rst:2630 msgid "Arrays of any size and type" msgstr "" -#: ../../../LangRef.rst:2602 +#: ../../../LangRef.rst:2631 msgid "Aggregates containing an array of any size and type." msgstr "" -#: ../../../LangRef.rst:2603 +#: ../../../LangRef.rst:2632 msgid "Calls to alloca()." msgstr "" -#: ../../../LangRef.rst:2604 +#: ../../../LangRef.rst:2633 msgid "Local variables that have had their address taken." msgstr "" -#: ../../../LangRef.rst:2606 ../../../LangRef.rst:2628 +#: ../../../LangRef.rst:2635 ../../../LangRef.rst:2657 msgid "" "Variables that are identified as requiring a protector will be arranged on " "the stack such that they are adjacent to the stack protector guard. The " "specific layout rules are:" msgstr "" -#: ../../../LangRef.rst:2610 ../../../LangRef.rst:2632 +#: ../../../LangRef.rst:2639 ../../../LangRef.rst:2661 msgid "" "Large arrays and structures containing large arrays (``>= ssp-buffer-size``) " "are closest to the stack protector." msgstr "" -#: ../../../LangRef.rst:2612 ../../../LangRef.rst:2634 +#: ../../../LangRef.rst:2641 ../../../LangRef.rst:2663 msgid "" "Small arrays and structures containing small arrays (``< ssp-buffer-size``) " "are 2nd closest to the protector." msgstr "" -#: ../../../LangRef.rst:2614 ../../../LangRef.rst:2636 +#: ../../../LangRef.rst:2643 ../../../LangRef.rst:2665 msgid "" "Variables that have had their address taken are 3rd closest to the protector." msgstr "" -#: ../../../LangRef.rst:2617 +#: ../../../LangRef.rst:2646 msgid "This overrides the ``ssp`` function attribute." msgstr "" -#: ../../../LangRef.rst:2619 +#: ../../../LangRef.rst:2648 msgid "" "If a function with an ``sspstrong`` attribute is inlined into a calling " "function which has an ``ssp`` attribute, the calling function's attribute " "will be upgraded to ``sspstrong``." msgstr "" -#: ../../../LangRef.rst:2641 +#: ../../../LangRef.rst:2670 msgid "``sspreq``" msgstr "" -#: ../../../LangRef.rst:2624 +#: ../../../LangRef.rst:2653 msgid "" "This attribute indicates that the function should *always* emit a stack " "smashing protector. This overrides the ``ssp`` and ``sspstrong`` function " "attributes." msgstr "" -#: ../../../LangRef.rst:2639 +#: ../../../LangRef.rst:2668 msgid "" "If a function with an ``sspreq`` attribute is inlined into a calling " "function which has an ``ssp`` or ``sspstrong`` attribute, the calling " "function's attribute will be upgraded to ``sspreq``." msgstr "" -#: ../../../LangRef.rst:2651 +#: ../../../LangRef.rst:2680 msgid "``strictfp``" msgstr "" -#: ../../../LangRef.rst:2646 +#: ../../../LangRef.rst:2675 msgid "" "This attribute indicates that the function was called from a scope that " "requires strict floating-point semantics. LLVM will not attempt any " @@ -4433,44 +4469,43 @@ msgid "" "introduce any new floating-point instructions that may trap." msgstr "" -#: ../../../LangRef.rst:2688 -msgid "``\"denormal-fp-math\"``" +#: ../../../LangRef.rst:2729 +msgid "``denormal_fpenv``" msgstr "" -#: ../../../LangRef.rst:2656 +#: ../../../LangRef.rst:2685 msgid "" "This indicates the denormal (subnormal) handling that may be assumed for the " -"default floating-point environment. This is a comma separated pair. The " -"elements may be one of ``\"ieee\"``, ``\"preserve-sign\"``, ``\"positive-" -"zero\"``, or ``\"dynamic\"``. The first entry indicates the flushing mode " -"for the result of floating point operations. The second indicates the " -"handling of denormal inputs to floating point instructions. For " -"compatibility with older bitcode, if the second value is omitted, both input " -"and output modes will assume the same mode." +"default floating-point environment. The base form is a ``|`` separated pair. " +"The elements may be one of ``ieee``, ``preservesign``, ``positivezero``, or " +"``dynamic``. The first entry indicates the flushing mode for the result of " +"floating point operations. The second indicates the handling of denormal " +"inputs to floating point instructions. For compatibility with older bitcode, " +"if the second value is omitted, both input and output modes will assume the " +"same mode." msgstr "" -#: ../../../LangRef.rst:2666 -msgid "" -"If this is attribute is not specified, the default is ``\"ieee,ieee\"``." +#: ../../../LangRef.rst:2695 +msgid "If this is attribute is not specified, the default is ``ieee|ieee``." msgstr "" -#: ../../../LangRef.rst:2668 +#: ../../../LangRef.rst:2697 msgid "" -"If the output mode is ``\"preserve-sign\"``, or ``\"positive-zero\"``, " -"denormal outputs may be flushed to zero by standard floating-point " -"operations. It is not mandated that flushing to zero occurs, but if a " -"denormal output is flushed to zero, it must respect the sign mode. Not all " -"targets support all modes." +"If the output mode is ``preservesign``, or ``positivezero``, denormal " +"outputs may be flushed to zero by standard floating-point operations. It is " +"not mandated that flushing to zero occurs, but if a denormal output is " +"flushed to zero, it must respect the sign mode. Not all targets support all " +"modes." msgstr "" -#: ../../../LangRef.rst:2674 +#: ../../../LangRef.rst:2703 msgid "" -"If the mode is ``\"dynamic\"``, the behavior is derived from the dynamic " -"state of the floating-point environment. Transformations which depend on the " +"If the mode is ``dynamic``, the behavior is derived from the dynamic state " +"of the floating-point environment. Transformations which depend on the " "behavior of denormal values should not be performed." msgstr "" -#: ../../../LangRef.rst:2679 +#: ../../../LangRef.rst:2708 msgid "" "While this indicates the expected floating point mode the function will be " "executed with, this does not make any attempt to ensure the mode is " @@ -4478,34 +4513,55 @@ msgid "" "appropriately before function entry." msgstr "" -#: ../../../LangRef.rst:2684 +#: ../../../LangRef.rst:2713 +msgid "" +"This may optionally specify a second pair, prefixed with ``float:``. This " +"provides an override for the behavior of 32-bit float type (or vectors of 32-" +"bit floats)." +msgstr "" + +#: ../../../LangRef.rst:2717 msgid "" -"If the input mode is ``\"preserve-sign\"``, or ``\"positive-zero\"``, a " -"floating-point operation must treat any input denormal value as zero. In " -"some situations, if an instruction does not respect this mode, the input may " -"need to be converted to 0 as if by ``@llvm.canonicalize`` during lowering " -"for correctness." +"If the input mode is ``preservesign``, or ``positivezero``, a floating-point " +"operation must treat any input denormal value as zero. In some situations, " +"if an instruction does not respect this mode, the input may need to be " +"converted to 0 as if by ``@llvm.canonicalize`` during lowering for " +"correctness." msgstr "" -#: ../../../LangRef.rst:2696 -msgid "``\"denormal-fp-math-f32\"``" +#: ../../../LangRef.rst:2723 +msgid "" +"This may optionally specify a second pair, prefixed with ``float:``. This " +"provides an override for the behavior of 32-bit float type. (or vectors of " +"32-bit floats). If this is present, this overrides the base handling of the " +"default mode. Not all targets support separately setting the denormal mode " +"per type, and no attempt is made to diagnose unsupported uses. Currently " +"this attribute is respected by the AMDGPU and NVPTX backends." +msgstr "" + +#: ../../../LangRef.rst:0 ../../../LangRef.rst:19193 ../../../LangRef.rst:19243 +#: ../../../LangRef.rst:19292 ../../../LangRef.rst:19343 +#: ../../../LangRef.rst:19394 ../../../LangRef.rst:19445 +#: ../../../LangRef.rst:19555 ../../../LangRef.rst:19615 +#: ../../../LangRef.rst:19674 ../../../LangRef.rst:19744 +#: ../../../LangRef.rst:19811 ../../../LangRef.rst:19871 +#: ../../../LangRef.rst:19933 ../../../LangRef.rst:19999 +msgid "Examples" msgstr "" -#: ../../../LangRef.rst:2691 +#: ../../../LangRef.rst:2732 msgid "" -"Same as ``\"denormal-fp-math\"``, but only controls the behavior of the 32-" -"bit float type (or vectors of 32-bit floats). If both are are present, this " -"overrides ``\"denormal-fp-math\"``. Not all targets support separately " -"setting the denormal mode per type, and no attempt is made to diagnose " -"unsupported uses. Currently this attribute is respected by the AMDGPU and " -"NVPTX backends." +"``denormal_fpenv(preservesign)`` ``denormal_fpenv(float: preservesign)`` " +"``denormal_fpenv(dynamic, float: preservesign|ieee)`` ``denormal_fpenv(ieee|" +"ieee, float: preservesign|preservesign)`` ``denormal_fpenv(ieee|dynamic, " +"float: preservesign|ieee)``" msgstr "" -#: ../../../LangRef.rst:2701 +#: ../../../LangRef.rst:2741 msgid "``\"thunk\"``" msgstr "" -#: ../../../LangRef.rst:2699 +#: ../../../LangRef.rst:2739 msgid "" "This attribute indicates that the function will delegate to some other " "function with a tail call. The prototype of a thunk should not be used for " @@ -4513,11 +4569,11 @@ msgid "" "match the thunk target prototype." msgstr "" -#: ../../../LangRef.rst:2710 +#: ../../../LangRef.rst:2750 msgid "``uwtable[(sync|async)]``" msgstr "" -#: ../../../LangRef.rst:2704 +#: ../../../LangRef.rst:2744 msgid "" "This attribute indicates that the ABI being targeted requires that an unwind " "table entry be produced for this function even if we can show that no " @@ -4529,11 +4585,11 @@ msgid "" "``uwtable(async)``." msgstr "" -#: ../../../LangRef.rst:2716 +#: ../../../LangRef.rst:2756 msgid "``nocf_check``" msgstr "" -#: ../../../LangRef.rst:2713 +#: ../../../LangRef.rst:2753 msgid "" "This attribute indicates that no control-flow check will be performed on the " "attributed entity. It disables -fcf-protection=<> for a specific entity to " @@ -4541,11 +4597,11 @@ msgid "" "independent and currently appertains to a function or function pointer." msgstr "" -#: ../../../LangRef.rst:2722 +#: ../../../LangRef.rst:2762 msgid "``shadowcallstack``" msgstr "" -#: ../../../LangRef.rst:2719 +#: ../../../LangRef.rst:2759 msgid "" "This attribute indicates that the ShadowCallStack checks are enabled for the " "function. The instrumentation checks that the return address for the " @@ -4553,11 +4609,11 @@ msgid "" "currently x86_64-specific." msgstr "" -#: ../../../LangRef.rst:2738 +#: ../../../LangRef.rst:2778 msgid "``mustprogress``" msgstr "" -#: ../../../LangRef.rst:2727 +#: ../../../LangRef.rst:2767 msgid "" "This attribute indicates that the function is required to return, unwind, or " "interact with the environment in an observable way e.g., via a volatile " @@ -4574,11 +4630,11 @@ msgid "" "``mustprogress``." msgstr "" -#: ../../../LangRef.rst:2744 +#: ../../../LangRef.rst:2784 msgid "``\"warn-stack-size\"=\"\"``" msgstr "" -#: ../../../LangRef.rst:2741 +#: ../../../LangRef.rst:2781 msgid "" "This attribute sets a threshold to emit diagnostics once the frame size is " "known should the frame size exceed the specified value. It takes one " @@ -4587,35 +4643,35 @@ msgid "" "duplicate definitions are linked together with differing values." msgstr "" -#: ../../../LangRef.rst:2751 +#: ../../../LangRef.rst:2791 msgid "``vscale_range([, ])``" msgstr "" -#: ../../../LangRef.rst:2747 +#: ../../../LangRef.rst:2787 msgid "" "This function attribute indicates `vscale` is a power-of-two within a " "specified range. `min` must be a power-of-two that is greater than 0. When " "specified, `max` must be a power-of-two greater-than-or-equal to `min` or 0 " "to signify an unbounded maximum. The syntax `vscale_range()` can be " "used to set both `min` and `max` to the same value. Functions that don't " -"include this attribute make no assumptions about the value of `vscale`." +"include this attribute make no assumptions about the range of `vscale`." msgstr "" -#: ../../../LangRef.rst:2754 -msgid "``\"nooutline\"``" +#: ../../../LangRef.rst:2794 +msgid "``nooutline``" msgstr "" -#: ../../../LangRef.rst:2754 +#: ../../../LangRef.rst:2794 msgid "" "This attribute indicates that outlining passes should not modify the " "function." msgstr "" -#: ../../../LangRef.rst:2760 +#: ../../../LangRef.rst:2800 msgid "``nocreateundeforpoison``" msgstr "" -#: ../../../LangRef.rst:2757 +#: ../../../LangRef.rst:2797 msgid "" "This attribute indicates that the result of the function (prior to " "application of return attributes/metadata) will not be undef or poison if " @@ -4623,13 +4679,13 @@ msgid "" "behavior." msgstr "" -#: ../../../LangRef.rst:2781 +#: ../../../LangRef.rst:2821 msgid "" "``\"modular-format\"=\",,,," ",\"``" msgstr "" -#: ../../../LangRef.rst:2763 +#: ../../../LangRef.rst:2803 msgid "" "This attribute indicates that the implementation is modular on a particular " "format string argument. If the compiler can determine that not all aspects " @@ -4637,7 +4693,7 @@ msgid "" "and redirect the call to a modular implementation function instead." msgstr "" -#: ../../../LangRef.rst:2768 +#: ../../../LangRef.rst:2808 msgid "" "The compiler reports that an implementation aspect is needed by issuing a " "relocation for the symbol `_``. This arranges for code " @@ -4646,35 +4702,35 @@ msgid "" "function." msgstr "" -#: ../../../LangRef.rst:2774 +#: ../../../LangRef.rst:2814 msgid "" "The first three arguments have the same semantics as the arguments to the C " "``format`` attribute." msgstr "" -#: ../../../LangRef.rst:2777 +#: ../../../LangRef.rst:2817 msgid "The following aspects are currently supported:" msgstr "" -#: ../../../LangRef.rst:2779 +#: ../../../LangRef.rst:2819 msgid "``float``: The call has a floating point argument" msgstr "" -#: ../../../LangRef.rst:2784 +#: ../../../LangRef.rst:2824 msgid "Call Site Attributes" msgstr "" -#: ../../../LangRef.rst:2786 +#: ../../../LangRef.rst:2826 msgid "" "In addition to function attributes the following call site only attributes " "are supported:" msgstr "" -#: ../../../LangRef.rst:2852 +#: ../../../LangRef.rst:2892 msgid "``vector-function-abi-variant``" msgstr "" -#: ../../../LangRef.rst:2790 +#: ../../../LangRef.rst:2830 msgid "" "This attribute can be attached to a :ref:`call ` to list the vector " "functions associated to the function. Notice that the attribute cannot be " @@ -4685,11 +4741,11 @@ msgid "" "choosing." msgstr "" -#: ../../../LangRef.rst:2798 +#: ../../../LangRef.rst:2838 msgid "The syntax for the mangled names is as follows:::" msgstr "" -#: ../../../LangRef.rst:2802 +#: ../../../LangRef.rst:2842 msgid "" "When present, the attribute informs the compiler that the function " "```` has a corresponding vector variant that can be used to " @@ -4708,7 +4764,7 @@ msgid "" "abi.html, respectively." msgstr "" -#: ../../../LangRef.rst:2820 +#: ../../../LangRef.rst:2860 msgid "" "For X86 and Arm targets, the values of the tokens in the standard name are " "those that are defined in the VFABI. LLVM has an internal ```` token " @@ -4718,35 +4774,35 @@ msgid "" "token are:::" msgstr "" -#: ../../../LangRef.rst:2831 +#: ../../../LangRef.rst:2871 msgid "" "For all targets currently supported (x86, Arm and Internal LLVM), the " "remaining tokens can have the following values:::" msgstr "" -#: ../../../LangRef.rst:2855 +#: ../../../LangRef.rst:2895 msgid "" "This attribute is required on calls to ``llvm.call.preallocated.arg`` and " "cannot be used on any other call. See :ref:`llvm.call.preallocated." "arg` for more details." msgstr "" -#: ../../../LangRef.rst:2863 +#: ../../../LangRef.rst:2903 msgid "Global Attributes" msgstr "" -#: ../../../LangRef.rst:2865 +#: ../../../LangRef.rst:2905 msgid "" "Attributes may be set to communicate additional information about a global " "variable. Unlike :ref:`function attributes `, attributes on a " "global variable are grouped into a single :ref:`attribute group `." msgstr "" -#: ../../../LangRef.rst:2873 +#: ../../../LangRef.rst:2913 msgid "``no_sanitize_address``" msgstr "" -#: ../../../LangRef.rst:2870 +#: ../../../LangRef.rst:2910 msgid "" "This attribute indicates that the global variable should not have " "AddressSanitizer instrumentation applied to it, because it was annotated " @@ -4755,11 +4811,11 @@ msgid "" "fsanitize-ignorelist` file." msgstr "" -#: ../../../LangRef.rst:2879 +#: ../../../LangRef.rst:2919 msgid "``no_sanitize_hwaddress``" msgstr "" -#: ../../../LangRef.rst:2876 +#: ../../../LangRef.rst:2916 msgid "" "This attribute indicates that the global variable should not have " "HWAddressSanitizer instrumentation applied to it, because it was annotated " @@ -4768,7 +4824,7 @@ msgid "" "fsanitize-ignorelist` file." msgstr "" -#: ../../../LangRef.rst:2882 +#: ../../../LangRef.rst:2922 msgid "" "This attribute indicates that the global variable should have AArch64 memory " "tags (MTE) instrumentation applied to it. This attribute causes the " @@ -4784,11 +4840,11 @@ msgid "" "variable)." msgstr "" -#: ../../../LangRef.rst:2898 +#: ../../../LangRef.rst:2938 msgid "``sanitize_address_dyninit``" msgstr "" -#: ../../../LangRef.rst:2895 +#: ../../../LangRef.rst:2935 msgid "" "This attribute indicates that the global variable, when instrumented with " "AddressSanitizer, should be checked for ODR violations. This attribute is " @@ -4796,11 +4852,11 @@ msgid "" "+ rules." msgstr "" -#: ../../../LangRef.rst:2903 +#: ../../../LangRef.rst:2943 msgid "Operand Bundles" msgstr "" -#: ../../../LangRef.rst:2905 +#: ../../../LangRef.rst:2945 msgid "" "Operand bundles are tagged sets of SSA values or metadata strings that can " "be associated with certain LLVM instructions (currently only ``call`` s and " @@ -4808,7 +4864,7 @@ msgid "" "incorrect and will change program semantics." msgstr "" -#: ../../../LangRef.rst:2917 +#: ../../../LangRef.rst:2957 msgid "" "Operand bundles are **not** part of a function's signature, and a given " "function may be called from multiple places with different kinds of operand " @@ -4816,7 +4872,7 @@ msgid "" "part of the ``call`` (or ``invoke``), not the callee being dispatched to." msgstr "" -#: ../../../LangRef.rst:2923 +#: ../../../LangRef.rst:2963 msgid "" "Operand bundles are a generic mechanism intended to support runtime-" "introspection-like functionality for managed languages. While the exact " @@ -4829,35 +4885,35 @@ msgid "" "containing it." msgstr "" -#: ../../../LangRef.rst:2933 +#: ../../../LangRef.rst:2973 msgid "" "The bundle operands for an unknown operand bundle escape in unknown ways " "before control is transferred to the callee or invokee." msgstr "" -#: ../../../LangRef.rst:2935 +#: ../../../LangRef.rst:2975 msgid "" "Calls and invokes with operand bundles have unknown read / write effect on " "the heap on entry and exit (even if the call target specifies a ``memory`` " "attribute), unless they're overridden with callsite specific attributes." msgstr "" -#: ../../../LangRef.rst:2939 +#: ../../../LangRef.rst:2979 msgid "" "An operand bundle at a call site cannot change the implementation of the " "called function. Inter-procedural optimizations work as usual as long as " "they take into account the first two properties." msgstr "" -#: ../../../LangRef.rst:2943 +#: ../../../LangRef.rst:2983 msgid "More specific types of operand bundles are described below." msgstr "" -#: ../../../LangRef.rst:2948 +#: ../../../LangRef.rst:2988 msgid "Deoptimization Operand Bundles" msgstr "" -#: ../../../LangRef.rst:2950 +#: ../../../LangRef.rst:2990 msgid "" "Deoptimization operand bundles are characterized by the ``\"deopt\"`` " "operand bundle tag. These operand bundles represent an alternate \"safe\" " @@ -4869,7 +4925,7 @@ msgid "" "a set of interpreted frames." msgstr "" -#: ../../../LangRef.rst:2959 +#: ../../../LangRef.rst:2999 msgid "" "From the compiler's perspective, deoptimization operand bundles make the " "call sites they're attached to at least ``readonly``. They read through all " @@ -4879,7 +4935,7 @@ msgid "" "be returned to the compiled frame." msgstr "" -#: ../../../LangRef.rst:2967 +#: ../../../LangRef.rst:3007 msgid "" "The inliner knows how to inline through calls that have deoptimization " "operand bundles. Just like inlining through a normal call site involves " @@ -4891,11 +4947,11 @@ msgid "" "following example" msgstr "" -#: ../../../LangRef.rst:2990 +#: ../../../LangRef.rst:3030 msgid "will result in" msgstr "" -#: ../../../LangRef.rst:3001 +#: ../../../LangRef.rst:3041 msgid "" "It is the frontend's responsibility to structure or encode the " "deoptimization state in a way that syntactically prepending the caller's " @@ -4904,11 +4960,11 @@ msgid "" "callee's deoptimization continuation." msgstr "" -#: ../../../LangRef.rst:3010 +#: ../../../LangRef.rst:3050 msgid "Funclet Operand Bundles" msgstr "" -#: ../../../LangRef.rst:3012 +#: ../../../LangRef.rst:3052 msgid "" "Funclet operand bundles are characterized by the ``\"funclet\"`` operand " "bundle tag. These operand bundles indicate that a call site is within a " @@ -4916,37 +4972,37 @@ msgid "" "attached to a call site and it must have exactly one bundle operand." msgstr "" -#: ../../../LangRef.rst:3018 +#: ../../../LangRef.rst:3058 msgid "" "If any funclet EH pads have been \"entered\" but not \"exited\" (per the " "`description in the EH doc\\ `_), " "it is undefined behavior to execute a ``call`` or ``invoke`` which:" msgstr "" -#: ../../../LangRef.rst:3022 +#: ../../../LangRef.rst:3062 msgid "" "does not have a ``\"funclet\"`` bundle and is not a ``call`` to a nounwind " "intrinsic, or" msgstr "" -#: ../../../LangRef.rst:3024 +#: ../../../LangRef.rst:3064 msgid "" "has a ``\"funclet\"`` bundle whose operand is not the most-recently-entered " "not-yet-exited funclet EH pad." msgstr "" -#: ../../../LangRef.rst:3027 +#: ../../../LangRef.rst:3067 msgid "" "Similarly, if no funclet EH pads have been entered-but-not-yet-exited, " "executing a ``call`` or ``invoke`` with a ``\"funclet\"`` bundle is " "undefined behavior." msgstr "" -#: ../../../LangRef.rst:3031 +#: ../../../LangRef.rst:3071 msgid "GC Transition Operand Bundles" msgstr "" -#: ../../../LangRef.rst:3033 +#: ../../../LangRef.rst:3073 msgid "" "GC transition operand bundles are characterized by the ``\"gc-transition\"`` " "operand bundle tag. These operand bundles mark a call as a transition " @@ -4957,7 +5013,7 @@ msgid "" "`GC Transitions `." msgstr "" -#: ../../../LangRef.rst:3042 +#: ../../../LangRef.rst:3082 msgid "" "The bundle contains an arbitrary list of Values which need to be passed to " "GC transition code. They will be lowered and passed as operands to the " @@ -4966,11 +5022,11 @@ msgid "" "during) the execution of the callee." msgstr "" -#: ../../../LangRef.rst:3051 +#: ../../../LangRef.rst:3091 msgid "Assume Operand Bundles" msgstr "" -#: ../../../LangRef.rst:3053 +#: ../../../LangRef.rst:3093 msgid "" "Operand bundles on an :ref:`llvm.assume ` allow representing " "assumptions, such as that a :ref:`parameter attribute ` or a :" @@ -4980,114 +5036,115 @@ msgid "" "`." msgstr "" -#: ../../../LangRef.rst:3059 +#: ../../../LangRef.rst:3099 msgid "" "Assumes with operand bundles must have ``i1 true`` as the condition operand." msgstr "" -#: ../../../LangRef.rst:3061 +#: ../../../LangRef.rst:3101 msgid "An assume operand bundle has the form:" msgstr "" -#: ../../../LangRef.rst:3067 +#: ../../../LangRef.rst:3107 msgid "" "In the case of function or parameter attributes, the operand bundle has the " "restricted form:" msgstr "" -#: ../../../LangRef.rst:3074 +#: ../../../LangRef.rst:3114 msgid "" "The tag of the operand bundle is usually the name of the attribute that can " "be assumed to hold. It can also be `ignore`; this tag doesn't contain any " "information and should be ignored." msgstr "" -#: ../../../LangRef.rst:3077 +#: ../../../LangRef.rst:3117 msgid "" "The first argument, if present, is the value for which the attribute holds." msgstr "" -#: ../../../LangRef.rst:3078 +#: ../../../LangRef.rst:3118 msgid "The second argument, if present, is an argument of the attribute." msgstr "" -#: ../../../LangRef.rst:3080 +#: ../../../LangRef.rst:3120 msgid "" "If there are no arguments the attribute is a property of the call location." msgstr "" -#: ../../../LangRef.rst:3082 ../../../LangRef.rst:8939 -#: ../../../LangRef.rst:20714 ../../../LangRef.rst:20754 -#: ../../../LangRef.rst:20797 +#: ../../../LangRef.rst:3122 ../../../LangRef.rst:9043 +#: ../../../LangRef.rst:21051 ../../../LangRef.rst:21091 +#: ../../../LangRef.rst:21128 ../../../LangRef.rst:21172 msgid "For example:" msgstr "" -#: ../../../LangRef.rst:3088 +#: ../../../LangRef.rst:3128 msgid "" "allows the optimizer to assume that at location of call to :ref:`llvm.assume " "` ``%val`` has an alignment of at least 8." msgstr "" -#: ../../../LangRef.rst:3095 +#: ../../../LangRef.rst:3135 msgid "" "allows the optimizer to assume that the :ref:`llvm.assume ` call " "location is cold and that ``%val`` may not be null." msgstr "" -#: ../../../LangRef.rst:3098 +#: ../../../LangRef.rst:3138 msgid "" "Just like for the argument of :ref:`llvm.assume `, if any of the " "provided guarantees are violated at runtime the behavior is undefined." msgstr "" -#: ../../../LangRef.rst:3101 +#: ../../../LangRef.rst:3141 msgid "" "While attributes expect constant arguments, assume operand bundles may be " "provided a dynamic value, for example:" msgstr "" -#: ../../../LangRef.rst:3108 +#: ../../../LangRef.rst:3148 msgid "" "If the operand bundle value violates any requirements on the attribute " "value, the behavior is undefined, unless one of the following exceptions " "applies:" msgstr "" -#: ../../../LangRef.rst:3111 +#: ../../../LangRef.rst:3151 msgid "" "``\"align\"`` operand bundles may specify a non-power-of-two alignment " "(including a zero alignment). If this is the case, then the pointer value " "must be a null pointer, otherwise the behavior is undefined." msgstr "" -#: ../../../LangRef.rst:3115 +#: ../../../LangRef.rst:3155 msgid "" "``dereferenceable()`` operand bundles only guarantee the pointer is " "dereferenceable at the point of the assumption. The pointer may not be " -"dereferenceable at later pointers, e.g., because it could have been freed." +"dereferenceable at later pointers, e.g., because it could have been freed. " +"Only ``n > 0`` implies that the pointer is dereferenceable." msgstr "" -#: ../../../LangRef.rst:3119 +#: ../../../LangRef.rst:3160 msgid "" "In addition to allowing operand bundles encoding function and parameter " "attributes, an assume operand bundle may also encode a ``separate_storage`` " "operand bundle. This has the form:" msgstr "" -#: ../../../LangRef.rst:3127 +#: ../../../LangRef.rst:3168 msgid "" "This indicates that no pointer :ref:`based ` on one of its " "arguments can alias any pointer based on the other." msgstr "" -#: ../../../LangRef.rst:3130 +#: ../../../LangRef.rst:3171 msgid "" "Even if the assumed property can be encoded as a boolean value, like " "``nonnull``, using operand bundles to express the property can still have " "benefits:" msgstr "" -#: ../../../LangRef.rst:3134 +#: ../../../LangRef.rst:3175 msgid "" "Attributes that can be expressed via operand bundles are directly the " "property that the optimizer uses and cares about. Encoding attributes as " @@ -5096,7 +5153,7 @@ msgid "" "optimizer to deduce the property from that instruction sequence." msgstr "" -#: ../../../LangRef.rst:3139 +#: ../../../LangRef.rst:3180 msgid "" "Expressing the property using operand bundles makes it easy to identify the " "use of the value as a use in an :ref:`llvm.assume `. This then " @@ -5104,11 +5161,11 @@ msgid "" "optimizations." msgstr "" -#: ../../../LangRef.rst:3147 +#: ../../../LangRef.rst:3188 msgid "Preallocated Operand Bundles" msgstr "" -#: ../../../LangRef.rst:3149 +#: ../../../LangRef.rst:3190 msgid "" "Preallocated operand bundles are characterized by the ``\"preallocated\"`` " "operand bundle tag. These operand bundles allow separation of the " @@ -5122,11 +5179,11 @@ msgid "" "the ``@llvm.call.preallocated.*`` intrinsics." msgstr "" -#: ../../../LangRef.rst:3173 +#: ../../../LangRef.rst:3214 msgid "GC Live Operand Bundles" msgstr "" -#: ../../../LangRef.rst:3175 +#: ../../../LangRef.rst:3216 msgid "" "A \"gc-live\" operand bundle is only valid on a :ref:`gc.statepoint " "` intrinsic. The operand bundle must contain every pointer to " @@ -5134,18 +5191,18 @@ msgid "" "garbage collector." msgstr "" -#: ../../../LangRef.rst:3179 +#: ../../../LangRef.rst:3220 msgid "" "When lowered, any relocated value will be recorded in the corresponding :ref:" "`stackmap entry `. See the intrinsic " "description for further details." msgstr "" -#: ../../../LangRef.rst:3184 +#: ../../../LangRef.rst:3225 msgid "ObjC ARC Attached Call Operand Bundles" msgstr "" -#: ../../../LangRef.rst:3186 +#: ../../../LangRef.rst:3227 msgid "" "A ``\"clang.arc.attachedcall\"`` operand bundle on a call indicates the call " "is implicitly followed by a marker instruction and a call to an ObjC runtime " @@ -5158,28 +5215,28 @@ msgid "" "bundle is ignored." msgstr "" -#: ../../../LangRef.rst:3202 +#: ../../../LangRef.rst:3243 msgid "" "The operand bundle is needed to ensure the call is immediately followed by " "the marker instruction and the ObjC runtime call in the final output." msgstr "" -#: ../../../LangRef.rst:3208 +#: ../../../LangRef.rst:3249 msgid "Pointer Authentication Operand Bundles" msgstr "" -#: ../../../LangRef.rst:3210 +#: ../../../LangRef.rst:3251 msgid "" "Pointer Authentication operand bundles are characterized by the " "``\"ptrauth\"`` operand bundle tag. They are described in the `Pointer " "Authentication `__ document." msgstr "" -#: ../../../LangRef.rst:3217 +#: ../../../LangRef.rst:3258 msgid "KCFI Operand Bundles" msgstr "" -#: ../../../LangRef.rst:3219 +#: ../../../LangRef.rst:3260 msgid "" "A ``\"kcfi\"`` operand bundle on an indirect call indicates that the call " "will be preceded by a runtime type check, which validates that the call " @@ -5187,44 +5244,44 @@ msgid "" "the operand bundle attribute. For example:" msgstr "" -#: ../../../LangRef.rst:3228 +#: ../../../LangRef.rst:3269 msgid "" "Clang emits KCFI operand bundles and the necessary metadata with ``-" "fsanitize=kcfi``." msgstr "" -#: ../../../LangRef.rst:3234 +#: ../../../LangRef.rst:3275 msgid "Convergence Control Operand Bundles" msgstr "" -#: ../../../LangRef.rst:3236 +#: ../../../LangRef.rst:3277 msgid "" "A \"convergencectrl\" operand bundle is only valid on a ``convergent`` " "operation. When present, the operand bundle must contain exactly one value " "of token type. See the :doc:`ConvergentOperations` document for details." msgstr "" -#: ../../../LangRef.rst:3243 +#: ../../../LangRef.rst:3284 msgid "Deactivation Symbol Operand Bundles" msgstr "" -#: ../../../LangRef.rst:3245 +#: ../../../LangRef.rst:3286 msgid "" "A ``\"deactivation-symbol\"`` operand bundle is valid on the following " "instructions (AArch64 only):" msgstr "" -#: ../../../LangRef.rst:3248 +#: ../../../LangRef.rst:3289 msgid "" "Call to a normal function with ``notail`` attribute and a first argument and " "return value of type ``ptr``." msgstr "" -#: ../../../LangRef.rst:3250 +#: ../../../LangRef.rst:3291 msgid "Call to ``llvm.ptrauth.sign`` or ``llvm.ptrauth.auth`` intrinsics." msgstr "" -#: ../../../LangRef.rst:3252 +#: ../../../LangRef.rst:3293 msgid "" "This operand bundle specifies that if the deactivation symbol is defined to " "a valid value for the target, the marked instruction will return the value " @@ -5233,11 +5290,11 @@ msgid "" "instructions (see the AArch64 psABI for details)." msgstr "" -#: ../../../LangRef.rst:3261 +#: ../../../LangRef.rst:3302 msgid "Module-Level Inline Assembly" msgstr "" -#: ../../../LangRef.rst:3263 +#: ../../../LangRef.rst:3304 msgid "" "Modules may contain \"module-level inline asm\" blocks, which corresponds to " "the GCC \"file scope inline asm\" blocks. These blocks are internally " @@ -5245,30 +5302,30 @@ msgid "" "the ``.ll`` file if desired. The syntax is very simple:" msgstr "" -#: ../../../LangRef.rst:3273 +#: ../../../LangRef.rst:3314 msgid "" "The strings can contain any character by escaping non-printable characters. " "The escape sequence used is simply \"\\\\xx\" where \"xx\" is the two digit " "hex code for the number." msgstr "" -#: ../../../LangRef.rst:3277 +#: ../../../LangRef.rst:3318 msgid "" "Note that the assembly string *must* be parseable by LLVM's integrated " "assembler (unless it is disabled), even when emitting a ``.s`` file." msgstr "" -#: ../../../LangRef.rst:3283 +#: ../../../LangRef.rst:3324 msgid "Data Layout" msgstr "" -#: ../../../LangRef.rst:3285 +#: ../../../LangRef.rst:3326 msgid "" "A module may specify a target-specific data layout string that specifies how " "data is to be laid out in memory. The syntax for the data layout is simply:" msgstr "" -#: ../../../LangRef.rst:3293 +#: ../../../LangRef.rst:3334 msgid "" "The *layout specification* consists of a list of specifications separated by " "the minus sign character ('-'). Each specification starts with a letter and " @@ -5276,31 +5333,31 @@ msgid "" "data layout. The specifications accepted are as follows:" msgstr "" -#: ../../../LangRef.rst:3301 +#: ../../../LangRef.rst:3342 msgid "``E``" msgstr "" -#: ../../../LangRef.rst:3300 +#: ../../../LangRef.rst:3341 msgid "" "Specifies that the target lays out data in big-endian form. That is, the " "bits with the most significance have the lowest address location." msgstr "" -#: ../../../LangRef.rst:3305 +#: ../../../LangRef.rst:3346 msgid "``e``" msgstr "" -#: ../../../LangRef.rst:3304 +#: ../../../LangRef.rst:3345 msgid "" "Specifies that the target lays out data in little-endian form. That is, the " "bits with the least significance have the lowest address location." msgstr "" -#: ../../../LangRef.rst:3311 +#: ../../../LangRef.rst:3352 msgid "``S``" msgstr "" -#: ../../../LangRef.rst:3308 +#: ../../../LangRef.rst:3349 msgid "" "Specifies the natural alignment of the stack in bits. Alignment promotion of " "stack variables is limited to the natural stack alignment to avoid dynamic " @@ -5308,11 +5365,11 @@ msgid "" "\"unspecified\", which does not prevent any alignment promotions." msgstr "" -#: ../../../LangRef.rst:3319 +#: ../../../LangRef.rst:3360 msgid "``P
``" msgstr "" -#: ../../../LangRef.rst:3314 +#: ../../../LangRef.rst:3355 msgid "" "Specifies the address space that corresponds to program memory. Harvard " "architectures can use this to specify what space LLVM should place things " @@ -5321,11 +5378,11 @@ msgid "" "that has code and data in the same space." msgstr "" -#: ../../../LangRef.rst:3330 +#: ../../../LangRef.rst:3371 msgid "``G
``" msgstr "" -#: ../../../LangRef.rst:3324 +#: ../../../LangRef.rst:3365 msgid "" "Specifies the address space to be used by default when creating global " "variables. If omitted, the globals address space defaults to the default " @@ -5335,21 +5392,21 @@ msgid "" "information (e.g., in LLVM passes)." msgstr "" -#: ../../../LangRef.rst:3335 +#: ../../../LangRef.rst:3376 msgid "``A
``" msgstr "" -#: ../../../LangRef.rst:3335 +#: ../../../LangRef.rst:3376 msgid "" "Specifies the address space of objects created by '``alloca``'. Defaults to " "the default address space of 0." msgstr "" -#: ../../../LangRef.rst:3360 +#: ../../../LangRef.rst:3401 msgid "``p[][][()]::[:[:]]``" msgstr "" -#: ../../../LangRef.rst:3338 +#: ../../../LangRef.rst:3379 msgid "" "This specifies the properties of a pointer in address space ``as``. The " "```` parameter specifies the size of the bitwise representation. For :" @@ -5374,32 +5431,32 @@ msgid "" "and program address space respectively." msgstr "" -#: ../../../LangRef.rst:3365 +#: ../../../LangRef.rst:3406 msgid "``i:[:]``" msgstr "" -#: ../../../LangRef.rst:3363 +#: ../../../LangRef.rst:3404 msgid "" "This specifies the alignment for an integer type of a given bit ````. " "The value of ```` must be in the range [1,2^24). For ``i8``, the " "```` value must equal 8, that is, ``i8`` must be naturally aligned." msgstr "" -#: ../../../LangRef.rst:3368 +#: ../../../LangRef.rst:3409 msgid "``v:[:]``" msgstr "" -#: ../../../LangRef.rst:3368 +#: ../../../LangRef.rst:3409 msgid "" "This specifies the alignment for a vector type of a given bit ````. " "The value of ```` must be in the range [1,2^24)." msgstr "" -#: ../../../LangRef.rst:3374 +#: ../../../LangRef.rst:3415 msgid "``f:[:]``" msgstr "" -#: ../../../LangRef.rst:3371 +#: ../../../LangRef.rst:3412 msgid "" "This specifies the alignment for a floating-point type of a given bit " "````. Only values of ```` that are supported by the target will " @@ -5408,44 +5465,44 @@ msgid "" "value of ```` must be in the range [1,2^24)." msgstr "" -#: ../../../LangRef.rst:3378 +#: ../../../LangRef.rst:3419 msgid "``a:[:]``" msgstr "" -#: ../../../LangRef.rst:3377 +#: ../../../LangRef.rst:3418 msgid "" "This specifies the alignment for an object of aggregate type. In addition to " "the usual requirements for alignment values, the value of ```` can also " "be zero, which means one byte alignment." msgstr "" -#: ../../../LangRef.rst:3386 +#: ../../../LangRef.rst:3427 msgid "``F``" msgstr "" -#: ../../../LangRef.rst:3381 +#: ../../../LangRef.rst:3422 msgid "" "This specifies the alignment for function pointers. The options for " "```` are:" msgstr "" -#: ../../../LangRef.rst:3384 +#: ../../../LangRef.rst:3425 msgid "" "``i``: The alignment of function pointers is independent of the alignment of " "functions, and is a multiple of ````." msgstr "" -#: ../../../LangRef.rst:3386 +#: ../../../LangRef.rst:3427 msgid "" "``n``: The alignment of function pointers is a multiple of the explicit " "alignment specified on the function, and is a multiple of ````." msgstr "" -#: ../../../LangRef.rst:3405 +#: ../../../LangRef.rst:3446 msgid "``m:``" msgstr "" -#: ../../../LangRef.rst:3389 +#: ../../../LangRef.rst:3430 msgid "" "If present, specifies that llvm names are mangled in the output. Symbols " "prefixed with the mangling escape character ``\\01`` are passed through " @@ -5453,25 +5510,25 @@ msgid "" "options are" msgstr "" -#: ../../../LangRef.rst:3394 +#: ../../../LangRef.rst:3435 msgid "``e``: ELF mangling: Private symbols get a ``.L`` prefix." msgstr "" -#: ../../../LangRef.rst:3395 +#: ../../../LangRef.rst:3436 msgid "``l``: GOFF mangling: Private symbols get a ``@`` prefix." msgstr "" -#: ../../../LangRef.rst:3396 +#: ../../../LangRef.rst:3437 msgid "``m``: Mips mangling: Private symbols get a ``$`` prefix." msgstr "" -#: ../../../LangRef.rst:3397 +#: ../../../LangRef.rst:3438 msgid "" "``o``: Mach-O mangling: Private symbols get ``L`` prefix. Other symbols get " "a ``_`` prefix." msgstr "" -#: ../../../LangRef.rst:3399 +#: ../../../LangRef.rst:3440 msgid "" "``x``: Windows x86 COFF mangling: Private symbols get the usual prefix. " "Regular C symbols get a ``_`` prefix. Functions with ``__stdcall``, " @@ -5480,21 +5537,21 @@ msgid "" "starting with ``?`` are not mangled in any way." msgstr "" -#: ../../../LangRef.rst:3404 +#: ../../../LangRef.rst:3445 msgid "" "``w``: Windows COFF mangling: Similar to ``x``, except that normal C symbols " "do not receive a ``_`` prefix." msgstr "" -#: ../../../LangRef.rst:3406 +#: ../../../LangRef.rst:3447 msgid "``a``: XCOFF mangling: Private symbols get a ``L..`` prefix." msgstr "" -#: ../../../LangRef.rst:3411 +#: ../../../LangRef.rst:3452 msgid "``n::...``" msgstr "" -#: ../../../LangRef.rst:3408 +#: ../../../LangRef.rst:3449 msgid "" "This specifies a set of native integer widths for the target CPU in bits. " "For example, it might contain ``n32`` for 32-bit PowerPC, ``n32:64`` for " @@ -5502,11 +5559,11 @@ msgid "" "considered to support most general arithmetic operations efficiently." msgstr "" -#: ../../../LangRef.rst:3418 +#: ../../../LangRef.rst:3459 msgid "``ni:
:
:
...``" msgstr "" -#: ../../../LangRef.rst:3414 +#: ../../../LangRef.rst:3455 msgid "" "This marks pointer types with the specified address spaces as :ref:`unstable " "`. The ``0`` address space cannot be specified as non-" @@ -5514,31 +5571,31 @@ msgid "" "``p`` specifier should be used instead for new code." msgstr "" -#: ../../../LangRef.rst:3420 +#: ../../../LangRef.rst:3461 msgid "" "```` is a lower bound on what is required for a type to be considered " "aligned. This is used in various places, such as:" msgstr "" -#: ../../../LangRef.rst:3423 +#: ../../../LangRef.rst:3464 msgid "The alignment for loads and stores if none is explicitly given." msgstr "" -#: ../../../LangRef.rst:3424 +#: ../../../LangRef.rst:3465 msgid "The alignment used to compute struct layout." msgstr "" -#: ../../../LangRef.rst:3425 +#: ../../../LangRef.rst:3466 msgid "" "The alignment used to compute allocation sizes and thus ``getelementptr`` " "offsets." msgstr "" -#: ../../../LangRef.rst:3427 +#: ../../../LangRef.rst:3468 msgid "The alignment below which accesses are considered underaligned." msgstr "" -#: ../../../LangRef.rst:3429 +#: ../../../LangRef.rst:3470 msgid "" "```` allows providing a more optimal alignment that should be used " "when possible, primarily for ``alloca`` and the alignment of global " @@ -5547,14 +5604,14 @@ msgid "" "```` will be equal to ````." msgstr "" -#: ../../../LangRef.rst:3435 +#: ../../../LangRef.rst:3476 msgid "" "Unless explicitly stated otherwise, every alignment specification is " "provided in bits and must be in the range [1,2^16). The value must be a " "power of two times the width of a byte (i.e., ``align = 8 * 2^N``)." msgstr "" -#: ../../../LangRef.rst:3439 +#: ../../../LangRef.rst:3480 msgid "" "When constructing the data layout for a given target, LLVM starts with a " "default set of specifications which are then (possibly) overridden by the " @@ -5562,83 +5619,83 @@ msgid "" "given in this list:" msgstr "" -#: ../../../LangRef.rst:3444 +#: ../../../LangRef.rst:3485 msgid "``e`` - little endian" msgstr "" -#: ../../../LangRef.rst:3445 +#: ../../../LangRef.rst:3486 msgid "``p:64:64:64`` - 64-bit pointers with 64-bit alignment." msgstr "" -#: ../../../LangRef.rst:3446 +#: ../../../LangRef.rst:3487 msgid "" "``p[n]:64:64:64`` - Other address spaces are assumed to be the same as the " "default address space." msgstr "" -#: ../../../LangRef.rst:3448 +#: ../../../LangRef.rst:3489 msgid "``S0`` - natural stack alignment is unspecified" msgstr "" -#: ../../../LangRef.rst:3449 +#: ../../../LangRef.rst:3490 msgid "``i8:8:8`` - i8 is 8-bit (byte) aligned as mandated" msgstr "" -#: ../../../LangRef.rst:3450 +#: ../../../LangRef.rst:3491 msgid "``i16:16:16`` - i16 is 16-bit aligned" msgstr "" -#: ../../../LangRef.rst:3451 +#: ../../../LangRef.rst:3492 msgid "``i32:32:32`` - i32 is 32-bit aligned" msgstr "" -#: ../../../LangRef.rst:3452 +#: ../../../LangRef.rst:3493 msgid "" "``i64:32:64`` - i64 has ABI alignment of 32-bits but preferred alignment of " "64-bits" msgstr "" -#: ../../../LangRef.rst:3454 +#: ../../../LangRef.rst:3495 msgid "``f16:16:16`` - half is 16-bit aligned" msgstr "" -#: ../../../LangRef.rst:3455 +#: ../../../LangRef.rst:3496 msgid "``f32:32:32`` - float is 32-bit aligned" msgstr "" -#: ../../../LangRef.rst:3456 +#: ../../../LangRef.rst:3497 msgid "``f64:64:64`` - double is 64-bit aligned" msgstr "" -#: ../../../LangRef.rst:3457 +#: ../../../LangRef.rst:3498 msgid "``f128:128:128`` - quad is 128-bit aligned" msgstr "" -#: ../../../LangRef.rst:3458 +#: ../../../LangRef.rst:3499 msgid "``v64:64:64`` - 64-bit vector is 64-bit aligned" msgstr "" -#: ../../../LangRef.rst:3459 +#: ../../../LangRef.rst:3500 msgid "``v128:128:128`` - 128-bit vector is 128-bit aligned" msgstr "" -#: ../../../LangRef.rst:3460 +#: ../../../LangRef.rst:3501 msgid "``a:0:64`` - aggregates are 64-bit aligned" msgstr "" -#: ../../../LangRef.rst:3462 +#: ../../../LangRef.rst:3503 msgid "" "When LLVM is determining the alignment for a given type, it uses the " "following rules:" msgstr "" -#: ../../../LangRef.rst:3465 +#: ../../../LangRef.rst:3506 msgid "" "If the type sought is an exact match for one of the specifications, that " "specification is used." msgstr "" -#: ../../../LangRef.rst:3467 +#: ../../../LangRef.rst:3508 msgid "" "If no match is found, and the type sought is an integer type, then the " "smallest integer type that is larger than the bitwidth of the sought type is " @@ -5648,14 +5705,14 @@ msgid "" "i65 and i256 will use the alignment of i64 (largest specified)." msgstr "" -#: ../../../LangRef.rst:3475 +#: ../../../LangRef.rst:3516 msgid "" "The function of the data layout string may not be what you expect. Notably, " "this is not a specification from the frontend of what alignment the code " "generator should use." msgstr "" -#: ../../../LangRef.rst:3479 +#: ../../../LangRef.rst:3520 msgid "" "Instead, if specified, the target data layout is required to match what the " "ultimate *code generator* expects. This string is used by the mid-level " @@ -5667,34 +5724,34 @@ msgid "" "specificity into the IR with respect to these default specifications." msgstr "" -#: ../../../LangRef.rst:3492 +#: ../../../LangRef.rst:3533 msgid "Target Triple" msgstr "" -#: ../../../LangRef.rst:3494 +#: ../../../LangRef.rst:3535 msgid "" "A module may specify a target triple string that describes the target host. " "The syntax for the target triple is simply:" msgstr "" -#: ../../../LangRef.rst:3501 +#: ../../../LangRef.rst:3542 msgid "" "The *target triple* string consists of a series of identifiers delimited by " "the minus sign character ('-'). The canonical forms are:" msgstr "" -#: ../../../LangRef.rst:3509 +#: ../../../LangRef.rst:3550 msgid "" "This information is passed along to the backend so that it generates code " "for the proper architecture. It's possible to override this on the command " "line with the ``-mtriple`` command-line option." msgstr "" -#: ../../../LangRef.rst:3517 +#: ../../../LangRef.rst:3558 msgid "Allocated Objects" msgstr "" -#: ../../../LangRef.rst:3519 +#: ../../../LangRef.rst:3560 msgid "" "An allocated object, memory object, or simply object, is a region of a " "memory space that is reserved by a memory allocation such as :ref:`alloca " @@ -5705,25 +5762,25 @@ msgid "" "to the object, it is undefined behavior." msgstr "" -#: ../../../LangRef.rst:3527 +#: ../../../LangRef.rst:3568 msgid "" "The following properties hold for all allocated objects, otherwise the " "behavior is undefined:" msgstr "" -#: ../../../LangRef.rst:3530 +#: ../../../LangRef.rst:3571 msgid "" "no allocated object may cross the unsigned address space boundary (including " "the pointer after the end of the object)," msgstr "" -#: ../../../LangRef.rst:3532 +#: ../../../LangRef.rst:3573 msgid "" "the size of all allocated objects must be non-negative and not exceed the " "largest signed integer that fits into the index type." msgstr "" -#: ../../../LangRef.rst:3535 +#: ../../../LangRef.rst:3576 msgid "" "Allocated objects that are created with operations recognized by LLVM (such " "as :ref:`alloca `, heap allocation functions marked as such, and " @@ -5739,11 +5796,11 @@ msgid "" "permitted to grow to the left or to shrink, nor can they have holes." msgstr "" -#: ../../../LangRef.rst:3551 +#: ../../../LangRef.rst:3592 msgid "Object Lifetime" msgstr "" -#: ../../../LangRef.rst:3553 +#: ../../../LangRef.rst:3594 msgid "" "A lifetime of an :ref:`allocated object` is a property " "that decides its accessibility. Unless stated otherwise, an allocated object " @@ -5758,18 +5815,18 @@ msgid "" "function calls." msgstr "" -#: ../../../LangRef.rst:3564 +#: ../../../LangRef.rst:3605 msgid "" "As an exception to the above, loading from a stack object outside its " "lifetime is not undefined behavior and returns a poison value instead. " "Storing to it is still undefined behavior." msgstr "" -#: ../../../LangRef.rst:3571 +#: ../../../LangRef.rst:3612 msgid "Pointer Aliasing Rules" msgstr "" -#: ../../../LangRef.rst:3573 +#: ../../../LangRef.rst:3614 msgid "" "Any memory access must be done through a pointer value associated with an " "address range of the memory access, otherwise the behavior is undefined. " @@ -5777,36 +5834,36 @@ msgid "" "rules:" msgstr "" -#: ../../../LangRef.rst:3578 +#: ../../../LangRef.rst:3619 msgid "" "A pointer value is associated with the addresses associated with any value " "it is *based* on." msgstr "" -#: ../../../LangRef.rst:3580 +#: ../../../LangRef.rst:3621 msgid "" "An address of a global variable is associated with the address range of the " "variable's storage." msgstr "" -#: ../../../LangRef.rst:3582 +#: ../../../LangRef.rst:3623 msgid "" "The result value of an allocation instruction is associated with the address " "range of the allocated storage." msgstr "" -#: ../../../LangRef.rst:3584 +#: ../../../LangRef.rst:3625 msgid "" "A null pointer in the default address-space is associated with no address." msgstr "" -#: ../../../LangRef.rst:3586 +#: ../../../LangRef.rst:3627 msgid "" "An :ref:`undef value ` in *any* address-space is associated " "with no address." msgstr "" -#: ../../../LangRef.rst:3588 +#: ../../../LangRef.rst:3629 msgid "" "An integer constant other than zero or a pointer value returned from a " "function not defined within LLVM may be associated with address ranges " @@ -5815,49 +5872,49 @@ msgid "" "provided by LLVM." msgstr "" -#: ../../../LangRef.rst:3594 +#: ../../../LangRef.rst:3635 msgid "" "A pointer value is *based* on another pointer value according to the " "following rules:" msgstr "" -#: ../../../LangRef.rst:3597 +#: ../../../LangRef.rst:3638 msgid "" "A pointer value formed from a scalar ``getelementptr`` operation is *based* " "on the pointer-typed operand of the ``getelementptr``." msgstr "" -#: ../../../LangRef.rst:3599 +#: ../../../LangRef.rst:3640 msgid "" "The pointer in lane *l* of the result of a vector ``getelementptr`` " "operation is *based* on the pointer in lane *l* of the vector-of-pointers-" "typed operand of the ``getelementptr``." msgstr "" -#: ../../../LangRef.rst:3602 +#: ../../../LangRef.rst:3643 msgid "" "The result value of a ``bitcast`` is *based* on the operand of the " "``bitcast``." msgstr "" -#: ../../../LangRef.rst:3604 +#: ../../../LangRef.rst:3645 msgid "" "A pointer value formed by an ``inttoptr`` is *based* on all pointer values " "that contribute (directly or indirectly) to the computation of the pointer's " "value." msgstr "" -#: ../../../LangRef.rst:3607 +#: ../../../LangRef.rst:3648 msgid "The \"*based* on\" relationship is transitive." msgstr "" -#: ../../../LangRef.rst:3609 +#: ../../../LangRef.rst:3650 msgid "" "Note that this definition of *\"based\"* is intentionally similar to the " "definition of *\"based\"* in C99, though it is slightly weaker." msgstr "" -#: ../../../LangRef.rst:3612 +#: ../../../LangRef.rst:3653 msgid "" "LLVM IR does not associate types with memory. The result type of a ``load`` " "merely indicates the size and alignment of the memory from which to load, as " @@ -5865,7 +5922,7 @@ msgid "" "``store`` similarly only indicates the size and alignment of the store." msgstr "" -#: ../../../LangRef.rst:3618 +#: ../../../LangRef.rst:3659 msgid "" "Consequently, type-based alias analysis, aka TBAA, aka ``-fstrict-" "aliasing``, is not applicable to general unadorned LLVM IR. :ref:`Metadata " @@ -5873,18 +5930,18 @@ msgid "" "optimization passes may use to implement type-based alias analysis." msgstr "" -#: ../../../LangRef.rst:3627 +#: ../../../LangRef.rst:3668 msgid "Pointer Capture" msgstr "" -#: ../../../LangRef.rst:3629 +#: ../../../LangRef.rst:3670 msgid "" "Given a function call and a pointer that is passed as an argument or stored " "in memory before the call, the call may capture two components of the " "pointer:" msgstr "" -#: ../../../LangRef.rst:3632 +#: ../../../LangRef.rst:3673 msgid "" "The address of the pointer, which is its integral value. This also includes " "parts of the address or any information about the address, including the " @@ -5892,7 +5949,7 @@ msgid "" "whether only the fact that the address is/isn't null is captured." msgstr "" -#: ../../../LangRef.rst:3636 +#: ../../../LangRef.rst:3677 msgid "" "The provenance of the pointer, which is the ability to perform memory " "accesses through the pointer, in the sense of the :ref:`pointer aliasing " @@ -5900,14 +5957,14 @@ msgid "" "are allowed, or both reads and writes." msgstr "" -#: ../../../LangRef.rst:3641 +#: ../../../LangRef.rst:3682 msgid "" "For example, the following function captures the address of ``%a``, because " "it is compared to a pointer, leaking information about the identity of the " "pointer:" msgstr "" -#: ../../../LangRef.rst:3654 +#: ../../../LangRef.rst:3695 msgid "" "The function does not capture the provenance of the pointer, because the " "``icmp`` instruction only operates on the pointer address. The following " @@ -5915,13 +5972,13 @@ msgid "" "may be read from ``@glb`` after the function returns:" msgstr "" -#: ../../../LangRef.rst:3668 +#: ../../../LangRef.rst:3709 msgid "" "The following function captures *neither* the address nor the provenance of " "the pointer:" msgstr "" -#: ../../../LangRef.rst:3678 +#: ../../../LangRef.rst:3719 msgid "" "While address capture includes uses of the address within the body of the " "function, provenance capture refers exclusively to the ability to perform " @@ -5929,14 +5986,14 @@ msgid "" "itself are not considered pointer captures." msgstr "" -#: ../../../LangRef.rst:3683 +#: ../../../LangRef.rst:3724 msgid "" "We can further say that the capture only occurs through a specific location. " "In the following example, the pointer (both address and provenance) is " "captured through the return value only:" msgstr "" -#: ../../../LangRef.rst:3694 +#: ../../../LangRef.rst:3735 msgid "" "However, we always consider direct inspection of the pointer address (e.g., " "using ``ptrtoint``) to be location-independent. The following example is " @@ -5944,48 +6001,48 @@ msgid "" "ultimately only contributes to the return value:" msgstr "" -#: ../../../LangRef.rst:3710 +#: ../../../LangRef.rst:3751 msgid "" "This definition is chosen to allow capture analysis to continue with the " "return value in the usual fashion." msgstr "" -#: ../../../LangRef.rst:3713 +#: ../../../LangRef.rst:3754 msgid "" "The following describes possible ways to capture a pointer in more detail, " "where unqualified uses of the word \"capture\" refer to capturing both " "address and provenance." msgstr "" -#: ../../../LangRef.rst:3717 +#: ../../../LangRef.rst:3758 msgid "" "The call stores any bit of the pointer carrying information into a place, " "and the stored bits can be read from the place by the caller after this call " "exits." msgstr "" -#: ../../../LangRef.rst:3745 +#: ../../../LangRef.rst:3786 msgid "" "The call stores any bit of the pointer carrying information into a place, " "and the stored bits can be safely read from the place by another thread via " "synchronization." msgstr "" -#: ../../../LangRef.rst:3760 +#: ../../../LangRef.rst:3801 msgid "" "The call's behavior depends on any bit of the pointer carrying information " "(address capture only)." msgstr "" -#: ../../../LangRef.rst:3777 +#: ../../../LangRef.rst:3818 msgid "The pointer is used as the pointer operand of a volatile access." msgstr "" -#: ../../../LangRef.rst:3782 +#: ../../../LangRef.rst:3823 msgid "Volatile Memory Accesses" msgstr "" -#: ../../../LangRef.rst:3784 +#: ../../../LangRef.rst:3825 msgid "" "Certain memory accesses, such as :ref:`load `'s, :ref:`store " "`'s, and :ref:`llvm.memcpy `'s may be marked " @@ -5996,7 +6053,7 @@ msgid "" "no cross-thread synchronization behavior." msgstr "" -#: ../../../LangRef.rst:3792 +#: ../../../LangRef.rst:3833 msgid "" "A volatile load or store may have additional target-specific semantics. Any " "volatile operation can have side effects, and any volatile operation can " @@ -6008,7 +6065,7 @@ msgid "" "with bit-value 0." msgstr "" -#: ../../../LangRef.rst:3801 +#: ../../../LangRef.rst:3842 msgid "" "The allowed side-effects for volatile accesses are limited. If a non-" "volatile store to a given address would be legal, a volatile operation may " @@ -6017,21 +6074,21 @@ msgid "" "may not call any code in the current module." msgstr "" -#: ../../../LangRef.rst:3807 +#: ../../../LangRef.rst:3848 msgid "" "In general (without target-specific context), the address space of a " "volatile operation may not be changed. Different address spaces may have " "different trapping behavior when dereferencing an invalid pointer." msgstr "" -#: ../../../LangRef.rst:3812 +#: ../../../LangRef.rst:3853 msgid "" "The compiler may assume execution will continue after a volatile operation, " "so operations which modify memory or may have undefined behavior can be " "hoisted past a volatile operation." msgstr "" -#: ../../../LangRef.rst:3816 +#: ../../../LangRef.rst:3857 msgid "" "As an exception to the preceding rule, the compiler may not assume execution " "will continue after a volatile store operation. This restriction is " @@ -6040,7 +6097,7 @@ msgid "" "make sense to allow frontends to control this behavior." msgstr "" -#: ../../../LangRef.rst:3822 +#: ../../../LangRef.rst:3863 msgid "" "IR-level volatile loads and stores cannot safely be optimized into ``llvm." "memcpy`` or ``llvm.memmove`` intrinsics even when those intrinsics are " @@ -6049,11 +6106,11 @@ msgid "" "and stores cannot change from integer to floating-point or vice versa." msgstr "" -#: ../../../LangRef.rst:3828 +#: ../../../LangRef.rst:3869 msgid "Rationale" msgstr "" -#: ../../../LangRef.rst:3830 +#: ../../../LangRef.rst:3871 msgid "" "Platforms may rely on volatile loads and stores of natively supported data " "width to be executed as single instruction. For example, in C this holds for " @@ -6063,11 +6120,11 @@ msgid "" "IR transformations do not violate the frontend's contract with the language." msgstr "" -#: ../../../LangRef.rst:3841 +#: ../../../LangRef.rst:3882 msgid "Memory Model for Concurrent Operations" msgstr "" -#: ../../../LangRef.rst:3843 +#: ../../../LangRef.rst:3884 msgid "" "The LLVM IR does not define any way to start parallel threads of execution " "or to register signal handlers. Nonetheless, there are platform-specific " @@ -6075,20 +6132,20 @@ msgid "" "This model is inspired by the C++ memory model." msgstr "" -#: ../../../LangRef.rst:3848 +#: ../../../LangRef.rst:3889 msgid "For a more informal introduction to this model, see the :doc:`Atomics`." msgstr "" -#: ../../../LangRef.rst:3850 +#: ../../../LangRef.rst:3891 msgid "" "We define a *happens-before* partial order as the least partial order that" msgstr "" -#: ../../../LangRef.rst:3853 +#: ../../../LangRef.rst:3894 msgid "Is a superset of single-thread program order, and" msgstr "" -#: ../../../LangRef.rst:3854 +#: ../../../LangRef.rst:3895 msgid "" "When ``a`` *synchronizes-with* ``b``, includes an edge from ``a`` to ``b``. " "*Synchronizes-with* pairs are introduced by platform-specific techniques, " @@ -6097,13 +6154,13 @@ msgid "" "`)." msgstr "" -#: ../../../LangRef.rst:3860 +#: ../../../LangRef.rst:3901 msgid "" "Note that program order does not introduce *happens-before* edges between a " "thread and signals executing inside that thread." msgstr "" -#: ../../../LangRef.rst:3863 +#: ../../../LangRef.rst:3904 msgid "" "Every (defined) read operation (load instructions, memcpy, atomic loads/read-" "modify-writes, etc.) R reads a series of bytes written by (defined) write " @@ -6114,24 +6171,24 @@ msgid "" "R\\ :sub:`byte` may see any write to the same byte, except:" msgstr "" -#: ../../../LangRef.rst:3872 +#: ../../../LangRef.rst:3913 msgid "" "If write\\ :sub:`1` happens before write\\ :sub:`2`, and write\\ :sub:`2` " "happens before R\\ :sub:`byte`, then R\\ :sub:`byte` does not see write\\ :" "sub:`1`." msgstr "" -#: ../../../LangRef.rst:3875 +#: ../../../LangRef.rst:3916 msgid "" "If R\\ :sub:`byte` happens before write\\ :sub:`3`, then R\\ :sub:`byte` " "does not see write\\ :sub:`3`." msgstr "" -#: ../../../LangRef.rst:3878 +#: ../../../LangRef.rst:3919 msgid "Given that definition, R\\ :sub:`byte` is defined as follows:" msgstr "" -#: ../../../LangRef.rst:3880 +#: ../../../LangRef.rst:3921 msgid "" "If R is volatile, the result is target-dependent. (Volatile is supposed to " "give guarantees which can support ``sig_atomic_t`` in C/C++, and may be used " @@ -6139,19 +6196,19 @@ msgid "" "generally provide cross-thread synchronization.)" msgstr "" -#: ../../../LangRef.rst:3885 +#: ../../../LangRef.rst:3926 msgid "" "Otherwise, if there is no write to the same byte that happens before R\\ :" "sub:`byte`, R\\ :sub:`byte` returns ``undef`` for that byte." msgstr "" -#: ../../../LangRef.rst:3887 +#: ../../../LangRef.rst:3928 msgid "" "Otherwise, if R\\ :sub:`byte` may see exactly one write, R\\ :sub:`byte` " "returns the value written by that write." msgstr "" -#: ../../../LangRef.rst:3889 +#: ../../../LangRef.rst:3930 msgid "" "Otherwise, if R is atomic, and all the writes R\\ :sub:`byte` may see are " "atomic, it chooses one of the values written. See the :ref:`Atomic Memory " @@ -6159,11 +6216,11 @@ msgid "" "the choice is made." msgstr "" -#: ../../../LangRef.rst:3893 +#: ../../../LangRef.rst:3934 msgid "Otherwise R\\ :sub:`byte` returns ``undef``." msgstr "" -#: ../../../LangRef.rst:3895 +#: ../../../LangRef.rst:3936 msgid "" "R returns the value composed of the series of bytes it read. This implies " "that some bytes within the value may be ``undef`` **without** the entire " @@ -6172,7 +6229,7 @@ msgid "" "to read the series of bytes." msgstr "" -#: ../../../LangRef.rst:3901 +#: ../../../LangRef.rst:3942 msgid "" "Note that in cases where none of the atomic intrinsics are used, this model " "places only one restriction on IR transformations on top of what is required " @@ -6183,11 +6240,11 @@ msgid "" "see multiple writes.)" msgstr "" -#: ../../../LangRef.rst:3912 +#: ../../../LangRef.rst:3953 msgid "Atomic Memory Ordering Constraints" msgstr "" -#: ../../../LangRef.rst:3914 +#: ../../../LangRef.rst:3955 msgid "" "Atomic instructions (:ref:`cmpxchg `, :ref:`atomicrmw " "`, :ref:`fence `, :ref:`atomic load `, and :" @@ -6200,17 +6257,17 @@ msgid "" "instruction's documentation for details." msgstr "" -#: ../../../LangRef.rst:3925 +#: ../../../LangRef.rst:3966 msgid "" "For a simpler introduction to the ordering constraints, see the :doc:" "`Atomics`." msgstr "" -#: ../../../LangRef.rst:3933 +#: ../../../LangRef.rst:3974 msgid "``unordered``" msgstr "" -#: ../../../LangRef.rst:3929 +#: ../../../LangRef.rst:3970 msgid "" "The set of values that can be read is governed by the happens-before partial " "order. A value cannot be read unless some operation wrote it. This is " @@ -6220,11 +6277,11 @@ msgid "" "way." msgstr "" -#: ../../../LangRef.rst:3950 +#: ../../../LangRef.rst:3991 msgid "``monotonic``" msgstr "" -#: ../../../LangRef.rst:3936 +#: ../../../LangRef.rst:3977 msgid "" "In addition to the guarantees of ``unordered``, there is a single total " "order for modifications by ``monotonic`` operations on each address. All " @@ -6243,22 +6300,22 @@ msgid "" "``memory_order_relaxed``." msgstr "" -#: ../../../LangRef.rst:3954 +#: ../../../LangRef.rst:3995 msgid "``acquire``" msgstr "" -#: ../../../LangRef.rst:3953 +#: ../../../LangRef.rst:3994 msgid "" "In addition to the guarantees of ``monotonic``, a *synchronizes-with* edge " "may be formed with a ``release`` operation. This is intended to model C/C+" "+'s ``memory_order_acquire``." msgstr "" -#: ../../../LangRef.rst:3963 +#: ../../../LangRef.rst:4004 msgid "``release``" msgstr "" -#: ../../../LangRef.rst:3957 +#: ../../../LangRef.rst:3998 msgid "" "In addition to the guarantees of ``monotonic``, if this operation writes a " "value which is subsequently read by an ``acquire`` operation, it " @@ -6268,21 +6325,21 @@ msgid "" "*release sequence*). This corresponds to the C/C++ ``memory_order_release``." msgstr "" -#: ../../../LangRef.rst:3966 +#: ../../../LangRef.rst:4007 msgid "``acq_rel`` (acquire+release)" msgstr "" -#: ../../../LangRef.rst:3966 +#: ../../../LangRef.rst:4007 msgid "" "Acts as both an ``acquire`` and ``release`` operation on its address. This " "corresponds to the C/C++ ``memory_order_acq_rel``." msgstr "" -#: ../../../LangRef.rst:3981 +#: ../../../LangRef.rst:4022 msgid "``seq_cst`` (sequentially consistent)" msgstr "" -#: ../../../LangRef.rst:3969 +#: ../../../LangRef.rst:4010 msgid "" "In addition to the guarantees of ``acq_rel`` (``acquire`` for an operation " "that only reads, ``release`` for an operation that only writes), there is a " @@ -6292,7 +6349,7 @@ msgid "" "``memory_order_seq_cst`` and Java ``volatile``." msgstr "" -#: ../../../LangRef.rst:3977 +#: ../../../LangRef.rst:4018 msgid "" "Note: this global total order is *not* guaranteed to be fully consistent " "with the *happens-before* partial order if non-``seq_cst`` accesses are " @@ -6300,7 +6357,7 @@ msgid "" "order>`_ section for more details on the exact guarantees." msgstr "" -#: ../../../LangRef.rst:3985 +#: ../../../LangRef.rst:4026 msgid "" "If an atomic operation is marked ``syncscope(\"singlethread\")``, it only " "*synchronizes with* and only participates in the seq\\_cst total orderings " @@ -6308,7 +6365,7 @@ msgid "" "handlers)." msgstr "" -#: ../../../LangRef.rst:3989 +#: ../../../LangRef.rst:4030 msgid "" "If an atomic operation is marked ``syncscope(\"\")``, where " "```` is a target-specific synchronization scope, then it is " @@ -6316,7 +6373,7 @@ msgid "" "total orderings of other operations." msgstr "" -#: ../../../LangRef.rst:3994 +#: ../../../LangRef.rst:4035 msgid "" "Otherwise, an atomic operation that is not marked " "``syncscope(\"singlethread\")`` or ``syncscope(\"\")`` " @@ -6325,11 +6382,11 @@ msgid "" "``syncscope(\"\")``." msgstr "" -#: ../../../LangRef.rst:4002 +#: ../../../LangRef.rst:4043 msgid "Floating-Point Environment" msgstr "" -#: ../../../LangRef.rst:4004 +#: ../../../LangRef.rst:4045 msgid "" "The default LLVM floating-point environment assumes that traps are disabled " "and status flags are not observable. Therefore, floating-point math " @@ -6338,21 +6395,21 @@ msgid "" "preserved." msgstr "" -#: ../../../LangRef.rst:4009 +#: ../../../LangRef.rst:4050 msgid "" "Running LLVM code in an environment where these assumptions are not met " -"typically leads to undefined behavior. The ``strictfp`` and ``denormal-fp-" -"math`` attributes as well as :ref:`Constrained Floating-Point Intrinsics " -"` can be used to weaken LLVM's assumptions and ensure defined " -"behavior in non-default floating-point environments; see their respective " -"documentation for details." +"typically leads to undefined behavior. The ``strictfp`` and :ref:" +"`denormal_fpenv ` attributes as well as :ref:`Constrained " +"Floating-Point Intrinsics ` can be used to weaken LLVM's " +"assumptions and ensure defined behavior in non-default floating-point " +"environments; see their respective documentation for details." msgstr "" -#: ../../../LangRef.rst:4019 +#: ../../../LangRef.rst:4061 msgid "Behavior of Floating-Point NaN values" msgstr "" -#: ../../../LangRef.rst:4021 +#: ../../../LangRef.rst:4063 msgid "" "A floating-point NaN value consists of a sign bit, a quiet/signaling bit, " "and a payload (which makes up the rest of the mantissa except for the quiet/" @@ -6361,14 +6418,14 @@ msgid "" "(SNaN). In the following we will hence just call it the \"quiet bit\"." msgstr "" -#: ../../../LangRef.rst:4027 +#: ../../../LangRef.rst:4069 msgid "" "The representation bits of a floating-point value do not mutate arbitrarily; " "in particular, if there is no floating-point operation being performed, NaN " "signs, quiet bits, and payloads are preserved." msgstr "" -#: ../../../LangRef.rst:4031 +#: ../../../LangRef.rst:4073 msgid "" "For the purpose of this section, ``bitcast`` as well as the following " "operations are not \"floating-point math operations\": ``fneg``, ``llvm." @@ -6377,34 +6434,34 @@ msgid "" "the sign bit." msgstr "" -#: ../../../LangRef.rst:4036 +#: ../../../LangRef.rst:4078 msgid "" "Floating-point math operations that return a NaN are an exception from the " -"general principle that LLVM implements IEEE-754 semantics. Unless specified " -"otherwise, the following rules apply whenever the IEEE-754 semantics say " +"general principle that LLVM implements IEEE 754 semantics. Unless specified " +"otherwise, the following rules apply whenever the IEEE 754 semantics say " "that a NaN value is returned: the result has a non-deterministic sign; the " "quiet bit and payload are non-deterministically chosen from the following " "set of options:" msgstr "" -#: ../../../LangRef.rst:4042 +#: ../../../LangRef.rst:4084 msgid "" "The quiet bit is set and the payload is all-zero. (\"Preferred NaN\" case)" msgstr "" -#: ../../../LangRef.rst:4043 +#: ../../../LangRef.rst:4085 msgid "" "The quiet bit is set and the payload is copied from any input operand that " "is a NaN. (\"Quieting NaN propagation\" case)" msgstr "" -#: ../../../LangRef.rst:4045 +#: ../../../LangRef.rst:4087 msgid "" "The quiet bit and payload are copied from any input operand that is a NaN. " "(\"Unchanged NaN propagation\" case)" msgstr "" -#: ../../../LangRef.rst:4047 +#: ../../../LangRef.rst:4089 msgid "" "The quiet bit is set and the payload is picked from a target-specific set of " "\"extra\" possible NaN payloads. The set can depend on the input operand " @@ -6415,7 +6472,7 @@ msgid "" "consists of the all-one payload.)" msgstr "" -#: ../../../LangRef.rst:4055 +#: ../../../LangRef.rst:4097 msgid "" "In particular, if all input NaNs are quiet (or if there are no input NaNs), " "then the output NaN is definitely quiet. Signaling NaN outputs can only " @@ -6426,13 +6483,13 @@ msgid "" "preferred." msgstr "" -#: ../../../LangRef.rst:4062 +#: ../../../LangRef.rst:4104 msgid "" "Floating-point math operations are allowed to treat all NaNs as if they were " "quiet NaNs. For example, \"pow(1.0, SNaN)\" may be simplified to 1.0." msgstr "" -#: ../../../LangRef.rst:4065 +#: ../../../LangRef.rst:4107 msgid "" "Code that requires different behavior than this should use the :ref:" "`Constrained Floating-Point Intrinsics `. In particular, " @@ -6440,13 +6497,13 @@ msgid "" "are guaranteed to return a QNaN." msgstr "" -#: ../../../LangRef.rst:4070 +#: ../../../LangRef.rst:4112 msgid "" "Unfortunately, due to hard-or-impossible-to-fix issues, LLVM violates its " "own specification on some architectures:" msgstr "" -#: ../../../LangRef.rst:4073 +#: ../../../LangRef.rst:4115 msgid "" "x86-32 without SSE2 enabled may convert floating-point values to x86_fp80 " "and back when performing floating-point math operations; this can lead to " @@ -6456,45 +6513,45 @@ msgid "" "project/issues/44218>`_." msgstr "" -#: ../../../LangRef.rst:4079 +#: ../../../LangRef.rst:4121 msgid "" "x86-32 (even with SSE2 enabled) may implicitly perform such a conversion on " "values returned from a function for some calling conventions. See `issue " "#66803 `_." msgstr "" -#: ../../../LangRef.rst:4082 +#: ../../../LangRef.rst:4124 msgid "" "Older MIPS versions use the opposite polarity for the quiet/signaling bit, " "and LLVM does not correctly represent this. See `issue #60796 `_." msgstr "" -#: ../../../LangRef.rst:4089 +#: ../../../LangRef.rst:4131 msgid "Floating-Point Semantics" msgstr "" -#: ../../../LangRef.rst:4091 +#: ../../../LangRef.rst:4133 msgid "" "This section defines the semantics for core floating-point operations on " -"types that use a format specified by IEEE-754. These types are: ``half``, " +"types that use a format specified by IEEE 754. These types are: ``half``, " "``float``, ``double``, and ``fp128``, which correspond to the binary16, " "binary32, binary64, and binary128 formats, respectively. The \"core\" " -"operations are those defined in section 5 of IEEE-754, which all have " +"operations are those defined in section 5 of IEEE 754, which all have " "corresponding LLVM operations." msgstr "" -#: ../../../LangRef.rst:4097 +#: ../../../LangRef.rst:4139 msgid "" "The value returned by those operations matches that of the corresponding " -"IEEE-754 operation executed in the :ref:`default LLVM floating-point " +"IEEE 754 operation executed in the :ref:`default LLVM floating-point " "environment `, except that the behavior of NaN results is instead :" "ref:`as specified here `. In particular, such a floating-point " "instruction returning a non-NaN value is guaranteed to always return the " "same bit-identical result on all machines and optimization levels." msgstr "" -#: ../../../LangRef.rst:4104 +#: ../../../LangRef.rst:4146 msgid "" "This means that optimizations and backends may not change the observed " "bitwise result of these operations in any way (unless NaNs are returned), " @@ -6502,28 +6559,28 @@ msgid "" "results as described in the standard." msgstr "" -#: ../../../LangRef.rst:4109 +#: ../../../LangRef.rst:4151 msgid "" "(Note that this is only about the value returned by these operations; see " "the :ref:`floating-point environment section ` regarding flags and " "exceptions.)" msgstr "" -#: ../../../LangRef.rst:4113 +#: ../../../LangRef.rst:4155 msgid "" "Various flags, attributes, and metadata can alter the behavior of these " "operations and thus make them not bit-identical across machines and " "optimization levels any more: most notably, the :ref:`fast-math flags " -"` as well as the :ref:`strictfp ` and :ref:`denormal-fp-" -"math ` attributes and :ref:`!fpmath metadata `. See their corresponding documentation for details." +"` as well as the :ref:`strictfp ` and :ref:" +"`denormal_fpenv ` attributes and :ref:`!fpmath metadata " +"`. See their corresponding documentation for details." msgstr "" -#: ../../../LangRef.rst:4123 +#: ../../../LangRef.rst:4165 msgid "Fast-Math Flags" msgstr "" -#: ../../../LangRef.rst:4125 +#: ../../../LangRef.rst:4167 msgid "" "LLVM IR floating-point operations (:ref:`fneg `, :ref:`fadd " "`, :ref:`fsub `, :ref:`fmul `, :ref:`fdiv " @@ -6534,75 +6591,75 @@ msgid "" "transformations." msgstr "" -#: ../../../LangRef.rst:4134 +#: ../../../LangRef.rst:4176 msgid "``fast``" msgstr "" -#: ../../../LangRef.rst:4133 +#: ../../../LangRef.rst:4175 msgid "" "This flag is a shorthand for specifying all fast-math flags at once, and " "imparts no additional semantics from using all of them." msgstr "" -#: ../../../LangRef.rst:4139 +#: ../../../LangRef.rst:4181 msgid "``nnan``" msgstr "" -#: ../../../LangRef.rst:4137 +#: ../../../LangRef.rst:4179 msgid "" "No NaNs - Allow optimizations to assume the arguments and result are not " "NaN. If an argument is a nan, or the result would be a nan, it produces a :" "ref:`poison value ` instead." msgstr "" -#: ../../../LangRef.rst:4144 +#: ../../../LangRef.rst:4186 msgid "``ninf``" msgstr "" -#: ../../../LangRef.rst:4142 +#: ../../../LangRef.rst:4184 msgid "" "No Infs - Allow optimizations to assume the arguments and result are not +/-" "Inf. If an argument is +/-Inf, or the result would be +/-Inf, it produces a :" "ref:`poison value ` instead." msgstr "" -#: ../../../LangRef.rst:4149 +#: ../../../LangRef.rst:4191 msgid "``nsz``" msgstr "" -#: ../../../LangRef.rst:4147 +#: ../../../LangRef.rst:4189 msgid "" -"No Signed Zeros - Allow optimizations to treat the sign of a zero argument " -"or zero result as insignificant. This does not imply that -0.0 is poison and/" -"or guaranteed to not exist in the operation." +"No Signed Zeros - Unless otherwise mentioned, the sign bit of 0.0 or -0.0 " +"input operands can be non-deterministically flipped. This does not imply " +"that -0.0 is poison and/or guaranteed to not exist in the operation." msgstr "" -#: ../../../LangRef.rst:4151 +#: ../../../LangRef.rst:4193 msgid "" "Note: For :ref:`phi `, :ref:`select `, and :ref:`call " "` instructions, the following return types are considered to be " "floating-point types:" msgstr "" -#: ../../../LangRef.rst:4157 +#: ../../../LangRef.rst:4199 msgid "Floating-point scalar or vector types" msgstr "" -#: ../../../LangRef.rst:4158 +#: ../../../LangRef.rst:4200 msgid "" "Array types (nested to any depth) of floating-point scalar or vector types" msgstr "" -#: ../../../LangRef.rst:4159 +#: ../../../LangRef.rst:4201 msgid "" "Homogeneous literal struct types of floating-point scalar or vector types" msgstr "" -#: ../../../LangRef.rst:4162 +#: ../../../LangRef.rst:4204 msgid "Rewrite-based flags" msgstr "" -#: ../../../LangRef.rst:4164 +#: ../../../LangRef.rst:4206 msgid "" "The following flags have rewrite-based semantics. These flags allow " "expressions, potentially containing multiple non-consecutive instructions, " @@ -6613,7 +6670,7 @@ msgid "" "the input instruction." msgstr "" -#: ../../../LangRef.rst:4171 +#: ../../../LangRef.rst:4213 msgid "" "In the following example, the floating-point expression in the body of " "``@orig`` has ``contract`` and ``reassoc`` in common, and thus if it is " @@ -6625,7 +6682,7 @@ msgid "" "if only one had it, it would not be legal to make the transformation." msgstr "" -#: ../../../LangRef.rst:4194 +#: ../../../LangRef.rst:4236 msgid "" "These rules do not apply to the other fast-math flags. Whether or not a flag " "like ``nnan`` is present on any or all of the rewritten instructions is " @@ -6633,11 +6690,11 @@ msgid "" "input or output, given the original flags." msgstr "" -#: ../../../LangRef.rst:4205 +#: ../../../LangRef.rst:4247 msgid "``arcp``" msgstr "" -#: ../../../LangRef.rst:4200 +#: ../../../LangRef.rst:4242 msgid "" "Allows division to be treated as a multiplication by a reciprocal. " "Specifically, this permits ``a / b`` to be considered equivalent to ``a * " @@ -6647,11 +6704,11 @@ msgid "" "can be rewritten into ``a / (b / c)``." msgstr "" -#: ../../../LangRef.rst:4211 +#: ../../../LangRef.rst:4253 msgid "``contract``" msgstr "" -#: ../../../LangRef.rst:4208 +#: ../../../LangRef.rst:4250 msgid "" "Allow floating-point contraction (e.g., fusing a multiply followed by an " "addition into a fused multiply-and-add). This does not enable reassociation " @@ -6659,33 +6716,33 @@ msgid "" "be transformed into ``(a*b) + ((c*d) + e)`` to create two fma operations." msgstr "" -#: ../../../LangRef.rst:4218 +#: ../../../LangRef.rst:4260 msgid "``afn``" msgstr "" -#: ../../../LangRef.rst:4216 +#: ../../../LangRef.rst:4258 msgid "" "Approximate functions - Allow substitution of approximate calculations for " "functions (sin, log, sqrt, etc). See floating-point intrinsic definitions " "for places where this can apply to LLVM's intrinsic math functions." msgstr "" -#: ../../../LangRef.rst:4223 +#: ../../../LangRef.rst:4265 msgid "``reassoc``" msgstr "" -#: ../../../LangRef.rst:4221 +#: ../../../LangRef.rst:4263 msgid "" "Allow algebraically equivalent transformations for floating-point " "instructions such as reassociation transformations. This may dramatically " "change results in floating-point." msgstr "" -#: ../../../LangRef.rst:4228 +#: ../../../LangRef.rst:4270 msgid "Use-list Order Directives" msgstr "" -#: ../../../LangRef.rst:4230 +#: ../../../LangRef.rst:4272 msgid "" "Use-list directives encode the in-memory order of each use-list, allowing " "the order to be recreated. ```` is a comma-separated list of " @@ -6693,7 +6750,7 @@ msgid "" "value's use-list is immediately sorted by these indexes." msgstr "" -#: ../../../LangRef.rst:4235 +#: ../../../LangRef.rst:4277 msgid "" "Use-list directives may appear at function scope or global scope. They are " "not instructions, and have no effect on the semantics of the IR. When " @@ -6701,28 +6758,18 @@ msgid "" "final basic block." msgstr "" -#: ../../../LangRef.rst:4239 +#: ../../../LangRef.rst:4281 msgid "" "If basic blocks have their address taken via ``blockaddress()`` expressions, " "``uselistorder_bb`` can be used to reorder their use-lists from outside " "their function's scope." msgstr "" -#: ../../../LangRef.rst:0 ../../../LangRef.rst:18866 ../../../LangRef.rst:18916 -#: ../../../LangRef.rst:18965 ../../../LangRef.rst:19016 -#: ../../../LangRef.rst:19067 ../../../LangRef.rst:19118 -#: ../../../LangRef.rst:19228 ../../../LangRef.rst:19288 -#: ../../../LangRef.rst:19347 ../../../LangRef.rst:19417 -#: ../../../LangRef.rst:19484 ../../../LangRef.rst:19544 -#: ../../../LangRef.rst:19606 ../../../LangRef.rst:19672 -msgid "Examples" -msgstr "" - -#: ../../../LangRef.rst:4274 +#: ../../../LangRef.rst:4316 msgid "Source Filename" msgstr "" -#: ../../../LangRef.rst:4276 +#: ../../../LangRef.rst:4318 msgid "" "The *source filename* string is set to the original module identifier, which " "will be the name of the compiled source file when compiling from source " @@ -6730,22 +6777,22 @@ msgid "" "IR and bitcode." msgstr "" -#: ../../../LangRef.rst:4281 +#: ../../../LangRef.rst:4323 msgid "" "This is currently necessary to generate a consistent unique global " "identifier for local functions used in profile data, which prepends the " "source file name to the local function name." msgstr "" -#: ../../../LangRef.rst:4285 +#: ../../../LangRef.rst:4327 msgid "The syntax for the source file name is simply:" msgstr "" -#: ../../../LangRef.rst:4294 +#: ../../../LangRef.rst:4336 msgid "Type System" msgstr "" -#: ../../../LangRef.rst:4296 +#: ../../../LangRef.rst:4338 msgid "" "The LLVM type system is one of the most important features of the " "intermediate representation. Being typed enables a number of optimizations " @@ -6756,29 +6803,29 @@ msgid "" "code representations." msgstr "" -#: ../../../LangRef.rst:4307 +#: ../../../LangRef.rst:4349 msgid "Void Type" msgstr "" -#: ../../../LangRef.rst:0 ../../../LangRef.rst:18845 ../../../LangRef.rst:18895 -#: ../../../LangRef.rst:18944 ../../../LangRef.rst:18994 -#: ../../../LangRef.rst:19041 ../../../LangRef.rst:19094 -#: ../../../LangRef.rst:19197 ../../../LangRef.rst:19257 -#: ../../../LangRef.rst:19316 ../../../LangRef.rst:19386 -#: ../../../LangRef.rst:19453 ../../../LangRef.rst:19513 -#: ../../../LangRef.rst:19573 ../../../LangRef.rst:19640 +#: ../../../LangRef.rst:0 ../../../LangRef.rst:19172 ../../../LangRef.rst:19222 +#: ../../../LangRef.rst:19271 ../../../LangRef.rst:19321 +#: ../../../LangRef.rst:19368 ../../../LangRef.rst:19421 +#: ../../../LangRef.rst:19524 ../../../LangRef.rst:19584 +#: ../../../LangRef.rst:19643 ../../../LangRef.rst:19713 +#: ../../../LangRef.rst:19780 ../../../LangRef.rst:19840 +#: ../../../LangRef.rst:19900 ../../../LangRef.rst:19967 msgid "Overview" msgstr "" -#: ../../../LangRef.rst:4312 +#: ../../../LangRef.rst:4354 msgid "The void type does not represent any value and has no size." msgstr "" -#: ../../../LangRef.rst:4325 +#: ../../../LangRef.rst:4367 msgid "Function Type" msgstr "" -#: ../../../LangRef.rst:4330 +#: ../../../LangRef.rst:4372 msgid "" "The function type can be thought of as a function signature. It consists of " "a return type and a list of formal parameter types. The return type of a " @@ -6786,7 +6833,7 @@ msgid "" "` and :ref:`metadata ` types." msgstr "" -#: ../../../LangRef.rst:4341 +#: ../../../LangRef.rst:4383 msgid "" "...where '````' is a comma-separated list of type " "specifiers. Optionally, the parameter list may include a type ``...``, which " @@ -6796,195 +6843,195 @@ msgid "" "any type except :ref:`label ` and :ref:`metadata `." msgstr "" -#: ../../../LangRef.rst:4351 +#: ../../../LangRef.rst:4393 msgid "``i32 (i32)``" msgstr "" -#: ../../../LangRef.rst:4351 +#: ../../../LangRef.rst:4393 msgid "function taking an ``i32``, returning an ``i32``" msgstr "" -#: ../../../LangRef.rst:4353 +#: ../../../LangRef.rst:4395 msgid "``i32 (ptr, ...)``" msgstr "" -#: ../../../LangRef.rst:4353 +#: ../../../LangRef.rst:4395 msgid "" "A vararg function that takes at least one :ref:`pointer ` " "argument and returns an integer. This is the signature for ``printf`` in " "LLVM." msgstr "" -#: ../../../LangRef.rst:4355 +#: ../../../LangRef.rst:4397 msgid "``{i32, i32} (i32)``" msgstr "" -#: ../../../LangRef.rst:4355 +#: ../../../LangRef.rst:4397 msgid "" "A function taking an ``i32``, returning a :ref:`structure ` " "containing two ``i32`` values" msgstr "" -#: ../../../LangRef.rst:4361 +#: ../../../LangRef.rst:4403 msgid "Opaque Structure Types" msgstr "" -#: ../../../LangRef.rst:4365 +#: ../../../LangRef.rst:4407 msgid "" "Opaque structure types are used to represent structure types that do not " "have a body specified. This corresponds (for example) to the C notion of a " "forward declared structure. They can be named (``%X``) or unnamed (``%52``)." msgstr "" -#: ../../../LangRef.rst:4370 +#: ../../../LangRef.rst:4412 msgid "" "It is not possible to create SSA values with an opaque structure type. In " "practice, this largely limits their use to the value type of external " "globals." msgstr "" -#: ../../../LangRef.rst:4385 +#: ../../../LangRef.rst:4427 msgid "First Class Types" msgstr "" -#: ../../../LangRef.rst:4387 +#: ../../../LangRef.rst:4429 msgid "" "The :ref:`first class ` types are perhaps the most important. " "Values of these types are the only ones which can be produced by " "instructions." msgstr "" -#: ../../../LangRef.rst:4394 +#: ../../../LangRef.rst:4436 msgid "Single Value Types" msgstr "" -#: ../../../LangRef.rst:4396 +#: ../../../LangRef.rst:4438 msgid "" "These are the types that are valid in registers from CodeGen's perspective." msgstr "" -#: ../../../LangRef.rst:4401 +#: ../../../LangRef.rst:4443 msgid "Integer Type" msgstr "" -#: ../../../LangRef.rst:4405 +#: ../../../LangRef.rst:4447 msgid "" "The integer type is a very simple type that simply specifies an arbitrary " "bit width for the integer type desired. Any bit width from 1 bit to 2\\ :sup:" "`23`\\ (about 8 million) can be specified." msgstr "" -#: ../../../LangRef.rst:4415 +#: ../../../LangRef.rst:4457 msgid "" "The number of bits the integer will occupy is specified by the ``N`` value." msgstr "" -#: ../../../LangRef.rst:4419 ../../../LangRef.rst:7435 -#: ../../../LangRef.rst:8289 ../../../LangRef.rst:11665 -#: ../../../LangRef.rst:18554 ../../../LangRef.rst:18604 -#: ../../../LangRef.rst:18655 ../../../LangRef.rst:18706 -#: ../../../LangRef.rst:18757 ../../../LangRef.rst:18808 -#: ../../../LangRef.rst:19805 ../../../LangRef.rst:20133 -#: ../../../LangRef.rst:20211 ../../../LangRef.rst:21360 -#: ../../../LangRef.rst:21402 ../../../LangRef.rst:21917 -#: ../../../LangRef.rst:21964 ../../../LangRef.rst:22012 -#: ../../../LangRef.rst:22060 ../../../LangRef.rst:22108 -#: ../../../LangRef.rst:22157 ../../../LangRef.rst:22206 -#: ../../../LangRef.rst:22255 ../../../LangRef.rst:22305 -#: ../../../LangRef.rst:22353 ../../../LangRef.rst:22401 -#: ../../../LangRef.rst:22449 ../../../LangRef.rst:22497 +#: ../../../LangRef.rst:4461 ../../../LangRef.rst:7477 +#: ../../../LangRef.rst:7508 ../../../LangRef.rst:8363 +#: ../../../LangRef.rst:11773 ../../../LangRef.rst:18881 +#: ../../../LangRef.rst:18931 ../../../LangRef.rst:18982 +#: ../../../LangRef.rst:19033 ../../../LangRef.rst:19084 +#: ../../../LangRef.rst:19135 ../../../LangRef.rst:20132 +#: ../../../LangRef.rst:20460 ../../../LangRef.rst:20538 +#: ../../../LangRef.rst:22355 ../../../LangRef.rst:22402 +#: ../../../LangRef.rst:22450 ../../../LangRef.rst:22498 #: ../../../LangRef.rst:22546 ../../../LangRef.rst:22595 -#: ../../../LangRef.rst:22643 ../../../LangRef.rst:22691 -#: ../../../LangRef.rst:22739 ../../../LangRef.rst:22788 -#: ../../../LangRef.rst:22837 ../../../LangRef.rst:22886 -#: ../../../LangRef.rst:22936 ../../../LangRef.rst:22986 -#: ../../../LangRef.rst:23035 ../../../LangRef.rst:23084 -#: ../../../LangRef.rst:23133 ../../../LangRef.rst:23182 -#: ../../../LangRef.rst:23231 ../../../LangRef.rst:23279 -#: ../../../LangRef.rst:23327 ../../../LangRef.rst:23376 -#: ../../../LangRef.rst:23425 ../../../LangRef.rst:23476 -#: ../../../LangRef.rst:23530 ../../../LangRef.rst:23590 -#: ../../../LangRef.rst:23646 ../../../LangRef.rst:23706 -#: ../../../LangRef.rst:23762 ../../../LangRef.rst:23819 -#: ../../../LangRef.rst:23875 ../../../LangRef.rst:23932 -#: ../../../LangRef.rst:23989 ../../../LangRef.rst:24046 -#: ../../../LangRef.rst:24103 ../../../LangRef.rst:24170 -#: ../../../LangRef.rst:24237 ../../../LangRef.rst:24307 -#: ../../../LangRef.rst:24377 ../../../LangRef.rst:24457 -#: ../../../LangRef.rst:24516 ../../../LangRef.rst:24609 -#: ../../../LangRef.rst:24694 ../../../LangRef.rst:24783 -#: ../../../LangRef.rst:24873 ../../../LangRef.rst:24926 -#: ../../../LangRef.rst:24981 ../../../LangRef.rst:25042 -#: ../../../LangRef.rst:25103 ../../../LangRef.rst:25161 -#: ../../../LangRef.rst:25213 ../../../LangRef.rst:25265 -#: ../../../LangRef.rst:25317 ../../../LangRef.rst:25373 -#: ../../../LangRef.rst:25429 ../../../LangRef.rst:25485 -#: ../../../LangRef.rst:25541 ../../../LangRef.rst:25597 -#: ../../../LangRef.rst:25653 ../../../LangRef.rst:25710 -#: ../../../LangRef.rst:25765 ../../../LangRef.rst:25823 -#: ../../../LangRef.rst:25881 ../../../LangRef.rst:25928 -#: ../../../LangRef.rst:25975 ../../../LangRef.rst:26022 -#: ../../../LangRef.rst:26069 ../../../LangRef.rst:26116 -#: ../../../LangRef.rst:26163 ../../../LangRef.rst:26210 -#: ../../../LangRef.rst:26257 ../../../LangRef.rst:26303 -#: ../../../LangRef.rst:26350 ../../../LangRef.rst:26397 -#: ../../../LangRef.rst:26444 ../../../LangRef.rst:26493 -#: ../../../LangRef.rst:26542 ../../../LangRef.rst:26639 -#: ../../../LangRef.rst:26688 ../../../LangRef.rst:26737 -#: ../../../LangRef.rst:26786 ../../../LangRef.rst:26834 -#: ../../../LangRef.rst:26880 ../../../LangRef.rst:26924 +#: ../../../LangRef.rst:22644 ../../../LangRef.rst:22693 +#: ../../../LangRef.rst:22743 ../../../LangRef.rst:22791 +#: ../../../LangRef.rst:22839 ../../../LangRef.rst:22887 +#: ../../../LangRef.rst:22935 ../../../LangRef.rst:22984 +#: ../../../LangRef.rst:23033 ../../../LangRef.rst:23081 +#: ../../../LangRef.rst:23129 ../../../LangRef.rst:23177 +#: ../../../LangRef.rst:23226 ../../../LangRef.rst:23275 +#: ../../../LangRef.rst:23324 ../../../LangRef.rst:23374 +#: ../../../LangRef.rst:23424 ../../../LangRef.rst:23473 +#: ../../../LangRef.rst:23522 ../../../LangRef.rst:23571 +#: ../../../LangRef.rst:23620 ../../../LangRef.rst:23669 +#: ../../../LangRef.rst:23717 ../../../LangRef.rst:23765 +#: ../../../LangRef.rst:23814 ../../../LangRef.rst:23863 +#: ../../../LangRef.rst:23914 ../../../LangRef.rst:23968 +#: ../../../LangRef.rst:24028 ../../../LangRef.rst:24084 +#: ../../../LangRef.rst:24144 ../../../LangRef.rst:24200 +#: ../../../LangRef.rst:24257 ../../../LangRef.rst:24313 +#: ../../../LangRef.rst:24370 ../../../LangRef.rst:24427 +#: ../../../LangRef.rst:24484 ../../../LangRef.rst:24541 +#: ../../../LangRef.rst:24608 ../../../LangRef.rst:24675 +#: ../../../LangRef.rst:24745 ../../../LangRef.rst:24815 +#: ../../../LangRef.rst:24895 ../../../LangRef.rst:24954 +#: ../../../LangRef.rst:25047 ../../../LangRef.rst:25132 +#: ../../../LangRef.rst:25221 ../../../LangRef.rst:25311 +#: ../../../LangRef.rst:25364 ../../../LangRef.rst:25419 +#: ../../../LangRef.rst:25480 ../../../LangRef.rst:25541 +#: ../../../LangRef.rst:25599 ../../../LangRef.rst:25651 +#: ../../../LangRef.rst:25703 ../../../LangRef.rst:25755 +#: ../../../LangRef.rst:25811 ../../../LangRef.rst:25867 +#: ../../../LangRef.rst:25923 ../../../LangRef.rst:25979 +#: ../../../LangRef.rst:26035 ../../../LangRef.rst:26091 +#: ../../../LangRef.rst:26148 ../../../LangRef.rst:26203 +#: ../../../LangRef.rst:26261 ../../../LangRef.rst:26319 +#: ../../../LangRef.rst:26366 ../../../LangRef.rst:26413 +#: ../../../LangRef.rst:26460 ../../../LangRef.rst:26507 +#: ../../../LangRef.rst:26554 ../../../LangRef.rst:26601 +#: ../../../LangRef.rst:26648 ../../../LangRef.rst:26695 +#: ../../../LangRef.rst:26741 ../../../LangRef.rst:26788 +#: ../../../LangRef.rst:26835 ../../../LangRef.rst:26882 +#: ../../../LangRef.rst:26931 ../../../LangRef.rst:26980 +#: ../../../LangRef.rst:27077 ../../../LangRef.rst:27126 +#: ../../../LangRef.rst:27175 ../../../LangRef.rst:27224 +#: ../../../LangRef.rst:27272 ../../../LangRef.rst:27318 +#: ../../../LangRef.rst:27362 msgid "Examples:" msgstr "" -#: ../../../LangRef.rst:4422 +#: ../../../LangRef.rst:4464 msgid "``i1``" msgstr "" -#: ../../../LangRef.rst:4422 +#: ../../../LangRef.rst:4464 msgid "a single-bit integer." msgstr "" -#: ../../../LangRef.rst:4424 +#: ../../../LangRef.rst:4466 msgid "``i32``" msgstr "" -#: ../../../LangRef.rst:4424 +#: ../../../LangRef.rst:4466 msgid "a 32-bit integer." msgstr "" -#: ../../../LangRef.rst:4426 +#: ../../../LangRef.rst:4468 msgid "``i1942652``" msgstr "" -#: ../../../LangRef.rst:4426 +#: ../../../LangRef.rst:4468 msgid "a really big integer of over 1 million bits." msgstr "" -#: ../../../LangRef.rst:4432 +#: ../../../LangRef.rst:4474 msgid "Floating-Point Types" msgstr "" -#: ../../../LangRef.rst:4437 +#: ../../../LangRef.rst:4479 msgid "Type" msgstr "" -#: ../../../LangRef.rst:4438 +#: ../../../LangRef.rst:4480 msgid "Description" msgstr "" -#: ../../../LangRef.rst:4440 +#: ../../../LangRef.rst:4482 msgid "``half``" msgstr "" -#: ../../../LangRef.rst:4441 -msgid "16-bit floating-point value (IEEE-754 binary16)" +#: ../../../LangRef.rst:4483 +msgid "16-bit floating-point value (IEEE 754 binary16)" msgstr "" -#: ../../../LangRef.rst:4443 +#: ../../../LangRef.rst:4485 msgid "``bfloat``" msgstr "" -#: ../../../LangRef.rst:4444 +#: ../../../LangRef.rst:4486 msgid "" "16-bit \"brain\" floating-point value (7-bit significand). Provides the " "same number of exponent bits as ``float``, so that it matches its dynamic " @@ -6992,51 +7039,51 @@ msgid "" "extensions and Arm's ARMv8.6-A extensions, among others." msgstr "" -#: ../../../LangRef.rst:4449 +#: ../../../LangRef.rst:4491 msgid "``float``" msgstr "" -#: ../../../LangRef.rst:4450 -msgid "32-bit floating-point value (IEEE-754 binary32)" +#: ../../../LangRef.rst:4492 +msgid "32-bit floating-point value (IEEE 754 binary32)" msgstr "" -#: ../../../LangRef.rst:4452 +#: ../../../LangRef.rst:4494 msgid "``double``" msgstr "" -#: ../../../LangRef.rst:4453 -msgid "64-bit floating-point value (IEEE-754 binary64)" +#: ../../../LangRef.rst:4495 +msgid "64-bit floating-point value (IEEE 754 binary64)" msgstr "" -#: ../../../LangRef.rst:4455 +#: ../../../LangRef.rst:4497 msgid "``fp128``" msgstr "" -#: ../../../LangRef.rst:4456 -msgid "128-bit floating-point value (IEEE-754 binary128)" +#: ../../../LangRef.rst:4498 +msgid "128-bit floating-point value (IEEE 754 binary128)" msgstr "" -#: ../../../LangRef.rst:4458 +#: ../../../LangRef.rst:4500 msgid "``x86_fp80``" msgstr "" -#: ../../../LangRef.rst:4459 +#: ../../../LangRef.rst:4501 msgid "80-bit floating-point value (X87)" msgstr "" -#: ../../../LangRef.rst:4461 +#: ../../../LangRef.rst:4503 msgid "``ppc_fp128``" msgstr "" -#: ../../../LangRef.rst:4462 +#: ../../../LangRef.rst:4504 msgid "128-bit floating-point value (two 64-bits)" msgstr "" -#: ../../../LangRef.rst:4465 +#: ../../../LangRef.rst:4507 msgid "X86_amx Type" msgstr "" -#: ../../../LangRef.rst:4469 +#: ../../../LangRef.rst:4511 msgid "" "The x86_amx type represents a value held in an AMX tile register on an x86 " "machine. The operations allowed on it are quite limited. Only a few " @@ -7045,17 +7092,17 @@ msgid "" "pointers, vectors or constants of this type." msgstr "" -#: ../../../LangRef.rst:4486 +#: ../../../LangRef.rst:4528 msgid "Pointer Type" msgstr "" -#: ../../../LangRef.rst:4490 +#: ../../../LangRef.rst:4532 msgid "" "The pointer type ``ptr`` is used to specify memory locations. Pointers are " "commonly used to reference objects in memory." msgstr "" -#: ../../../LangRef.rst:4493 +#: ../../../LangRef.rst:4535 msgid "" "Pointer types may have an optional address space attribute defining the " "numbered address space where the pointed-to object resides. For example, " @@ -7067,7 +7114,7 @@ msgid "" "address space." msgstr "" -#: ../../../LangRef.rst:4502 +#: ../../../LangRef.rst:4544 msgid "" "The representation of pointers can be different for each address space and " "does not necessarily need to be a plain integer address (e.g., for :ref:`non-" @@ -7081,11 +7128,11 @@ msgid "" "32 bits." msgstr "" -#: ../../../LangRef.rst:4512 +#: ../../../LangRef.rst:4554 msgid "The default address space is number zero." msgstr "" -#: ../../../LangRef.rst:4514 +#: ../../../LangRef.rst:4556 msgid "" "The semantics of non-zero address spaces are target-specific. Memory access " "through a non-dereferenceable pointer is undefined behavior in any address " @@ -7096,14 +7143,14 @@ msgid "" "and in this case the attribute is not needed even for address 0." msgstr "" -#: ../../../LangRef.rst:4523 +#: ../../../LangRef.rst:4565 msgid "" "If an object can be proven accessible through a pointer with a different " "address space, the access may be modified to use that address space. " "Exceptions apply if the operation is ``volatile``." msgstr "" -#: ../../../LangRef.rst:4527 +#: ../../../LangRef.rst:4569 msgid "" "Prior to LLVM 15, pointer types also specified a pointee type, such as " "``i8*``, ``[4 x i32]*`` or ``i32 (i32*)*``. In LLVM 15, such \"typed " @@ -7111,11 +7158,11 @@ msgid "" "pointers document `__ for more information." msgstr "" -#: ../../../LangRef.rst:4535 +#: ../../../LangRef.rst:4577 msgid "Target Extension Type" msgstr "" -#: ../../../LangRef.rst:4539 +#: ../../../LangRef.rst:4581 msgid "" "Target extension types represent types that must be preserved through " "optimization, but are otherwise generally opaque to the compiler. They may " @@ -7126,7 +7173,7 @@ msgid "" "on them. Full semantics for these types are defined by the target." msgstr "" -#: ../../../LangRef.rst:4547 +#: ../../../LangRef.rst:4589 msgid "" "The only constants that target extension types may have are " "``zeroinitializer``, ``undef``, and ``poison``. Other possible values for " @@ -7134,7 +7181,7 @@ msgid "" "functions." msgstr "" -#: ../../../LangRef.rst:4551 +#: ../../../LangRef.rst:4593 msgid "" "These types cannot be converted to other types. As such, it is not legal to " "use them in :ref:`bitcast ` instructions (as a source or target " @@ -7143,7 +7190,7 @@ msgid "" "in an :ref:`icmp ` instruction." msgstr "" -#: ../../../LangRef.rst:4557 +#: ../../../LangRef.rst:4599 msgid "" "Target extension types have a name and optional type or integer parameters. " "The meanings of name and parameters are defined by the target. When being " @@ -7151,7 +7198,7 @@ msgid "" "integer parameters." msgstr "" -#: ../../../LangRef.rst:4561 +#: ../../../LangRef.rst:4603 msgid "" "Specific target extension types are registered with LLVM as having specific " "properties. These properties can be used to restrict the type from appearing " @@ -7161,11 +7208,11 @@ msgid "" "(`doxygen `_)." msgstr "" -#: ../../../LangRef.rst:4582 +#: ../../../LangRef.rst:4624 msgid "Vector Type" msgstr "" -#: ../../../LangRef.rst:4586 +#: ../../../LangRef.rst:4628 msgid "" "A vector type is a simple derived type that represents a vector of elements. " "Vector types are used when multiple primitive data are operated in parallel " @@ -7179,7 +7226,7 @@ msgstr "" msgid "Memory Layout" msgstr "" -#: ../../../LangRef.rst:4596 +#: ../../../LangRef.rst:4638 msgid "" "In general vector elements are laid out in memory in the same way as :ref:" "`array types `. Such an analogy works fine as long as the vector " @@ -7190,7 +7237,7 @@ msgid "" "integer to memory." msgstr "" -#: ../../../LangRef.rst:4604 +#: ../../../LangRef.rst:4646 msgid "" "A bitcast from a vector type to a scalar integer type will see the elements " "being packed together (without padding). The order in which elements are " @@ -7199,18 +7246,18 @@ msgid "" "element zero is put in the most significant bits." msgstr "" -#: ../../../LangRef.rst:4610 +#: ../../../LangRef.rst:4652 msgid "" "Using a vector such as ```` as an example, together " "with the analogy that we can replace a vector store by a bitcast followed by " "an integer store, we get this for big endian:" msgstr "" -#: ../../../LangRef.rst:4629 +#: ../../../LangRef.rst:4671 msgid "The same example for little endian:" msgstr "" -#: ../../../LangRef.rst:4646 +#: ../../../LangRef.rst:4688 msgid "" "When ```` isn't evenly divisible by the byte size the exact memory " "layout is unspecified (just like it is for an integral type of the same " @@ -7218,72 +7265,73 @@ msgid "" "positions when the type size is smaller than the type's store size." msgstr "" -#: ../../../LangRef.rst:4658 +#: ../../../LangRef.rst:4700 msgid "" "The number of elements is a constant integer value larger than 0; " "elementtype may be any integer, floating-point, pointer type, or a sized " "target extension type that has the ``CanBeVectorElement`` property. Vectors " "of size zero are not allowed. For scalable vectors, the total number of " "elements is a constant multiple (called vscale) of the specified number of " -"elements; vscale is a positive integer that is unknown at compile time and " -"the same hardware-dependent constant for all scalable vectors at run time. " -"The size of a specific scalable vector type is thus constant within IR, even " -"if the exact size in bytes cannot be determined until run time." +"elements; vscale is a positive power-of-two integer that is unknown at " +"compile time and the same hardware-dependent constant for all scalable " +"vectors at run time. The size of a specific scalable vector type is thus " +"constant within IR, even if the exact size in bytes cannot be determined " +"until run time." msgstr "" -#: ../../../LangRef.rst:4671 +#: ../../../LangRef.rst:4713 msgid "``<4 x i32>``" msgstr "" -#: ../../../LangRef.rst:4671 +#: ../../../LangRef.rst:4713 msgid "Vector of 4 32-bit integer values." msgstr "" -#: ../../../LangRef.rst:4673 +#: ../../../LangRef.rst:4715 msgid "``<8 x float>``" msgstr "" -#: ../../../LangRef.rst:4673 +#: ../../../LangRef.rst:4715 msgid "Vector of 8 32-bit floating-point values." msgstr "" -#: ../../../LangRef.rst:4675 +#: ../../../LangRef.rst:4717 msgid "``<2 x i64>``" msgstr "" -#: ../../../LangRef.rst:4675 +#: ../../../LangRef.rst:4717 msgid "Vector of 2 64-bit integer values." msgstr "" -#: ../../../LangRef.rst:4677 +#: ../../../LangRef.rst:4719 msgid "``<4 x ptr>``" msgstr "" -#: ../../../LangRef.rst:4677 +#: ../../../LangRef.rst:4719 msgid "Vector of 4 pointers" msgstr "" -#: ../../../LangRef.rst:4679 +#: ../../../LangRef.rst:4721 msgid "````" msgstr "" -#: ../../../LangRef.rst:4679 +#: ../../../LangRef.rst:4721 msgid "Vector with a multiple of 4 32-bit integer values." msgstr "" -#: ../../../LangRef.rst:4685 +#: ../../../LangRef.rst:4727 msgid "Label Type" msgstr "" -#: ../../../LangRef.rst:4689 +#: ../../../LangRef.rst:4731 msgid "The label type represents code labels." msgstr "" -#: ../../../LangRef.rst:4700 +#: ../../../LangRef.rst:4742 msgid "Token Type" msgstr "" -#: ../../../LangRef.rst:4704 +#: ../../../LangRef.rst:4746 msgid "" "The token type is used when a value is associated with an instruction but " "all uses of the value must not attempt to introspect or obscure it. As such, " @@ -7291,21 +7339,21 @@ msgid "" "` of type token." msgstr "" -#: ../../../LangRef.rst:4720 +#: ../../../LangRef.rst:4762 msgid "Metadata Type" msgstr "" -#: ../../../LangRef.rst:4724 +#: ../../../LangRef.rst:4766 msgid "" "The metadata type represents embedded metadata. No derived types may be " "created from metadata except for :ref:`function ` arguments." msgstr "" -#: ../../../LangRef.rst:4736 +#: ../../../LangRef.rst:4778 msgid "Aggregate Types" msgstr "" -#: ../../../LangRef.rst:4738 +#: ../../../LangRef.rst:4780 msgid "" "Aggregate Types are a subset of derived types that can contain multiple " "member types. :ref:`Arrays ` and :ref:`structs ` are " @@ -7313,76 +7361,76 @@ msgid "" "aggregate types." msgstr "" -#: ../../../LangRef.rst:4746 +#: ../../../LangRef.rst:4788 msgid "Array Type" msgstr "" -#: ../../../LangRef.rst:4750 +#: ../../../LangRef.rst:4792 msgid "" "The array type is a very simple derived type that arranges elements " "sequentially in memory. The array type requires a size (number of elements) " "and an underlying data type." msgstr "" -#: ../../../LangRef.rst:4760 +#: ../../../LangRef.rst:4802 msgid "" "The number of elements is a constant integer value; ``elementtype`` may be " "any type with a size." msgstr "" -#: ../../../LangRef.rst:4766 +#: ../../../LangRef.rst:4808 msgid "``[40 x i32]``" msgstr "" -#: ../../../LangRef.rst:4766 +#: ../../../LangRef.rst:4808 msgid "Array of 40 32-bit integer values." msgstr "" -#: ../../../LangRef.rst:4768 +#: ../../../LangRef.rst:4810 msgid "``[41 x i32]``" msgstr "" -#: ../../../LangRef.rst:4768 +#: ../../../LangRef.rst:4810 msgid "Array of 41 32-bit integer values." msgstr "" -#: ../../../LangRef.rst:4770 +#: ../../../LangRef.rst:4812 msgid "``[4 x i8]``" msgstr "" -#: ../../../LangRef.rst:4770 +#: ../../../LangRef.rst:4812 msgid "Array of 4 8-bit integer values." msgstr "" -#: ../../../LangRef.rst:4773 +#: ../../../LangRef.rst:4815 msgid "Here are some examples of multidimensional arrays:" msgstr "" -#: ../../../LangRef.rst:4776 +#: ../../../LangRef.rst:4818 msgid "``[3 x [4 x i32]]``" msgstr "" -#: ../../../LangRef.rst:4776 +#: ../../../LangRef.rst:4818 msgid "3x4 array of 32-bit integer values." msgstr "" -#: ../../../LangRef.rst:4778 +#: ../../../LangRef.rst:4820 msgid "``[12 x [10 x float]]``" msgstr "" -#: ../../../LangRef.rst:4778 +#: ../../../LangRef.rst:4820 msgid "12x10 array of single precision floating-point values." msgstr "" -#: ../../../LangRef.rst:4780 +#: ../../../LangRef.rst:4822 msgid "``[2 x [3 x [4 x i16]]]``" msgstr "" -#: ../../../LangRef.rst:4780 +#: ../../../LangRef.rst:4822 msgid "2x3x4 array of 16-bit integer values." msgstr "" -#: ../../../LangRef.rst:4783 +#: ../../../LangRef.rst:4825 msgid "" "There is no restriction on indexing beyond the end of the array implied by a " "static type (though there are restrictions on indexing beyond the bounds of " @@ -7392,18 +7440,18 @@ msgid "" "arrays' in LLVM could use the type \"``{ i32, [0 x float]}``\", for example." msgstr "" -#: ../../../LangRef.rst:4793 +#: ../../../LangRef.rst:4835 msgid "Structure Type" msgstr "" -#: ../../../LangRef.rst:4797 +#: ../../../LangRef.rst:4839 msgid "" "The structure type is used to represent a collection of data members " "together in memory. The elements of a structure may be any type that has a " "size." msgstr "" -#: ../../../LangRef.rst:4801 +#: ../../../LangRef.rst:4843 msgid "" "Structures in memory are accessed using '``load``' and '``store``' by " "getting a pointer to a field with the '``getelementptr``' instruction. " @@ -7411,7 +7459,7 @@ msgid "" "'``insertvalue``' instructions." msgstr "" -#: ../../../LangRef.rst:4806 +#: ../../../LangRef.rst:4848 msgid "" "Structures may optionally be \"packed\" structures, which indicate that the " "alignment of the struct is one byte, and that there is no padding between " @@ -7420,7 +7468,7 @@ msgid "" "match what the underlying code generator expects." msgstr "" -#: ../../../LangRef.rst:4812 +#: ../../../LangRef.rst:4854 msgid "" "Structures can either be \"literal\" or \"identified\". A literal structure " "is defined inline with other types (e.g., ``[2 x {i32, i32}]``) whereas " @@ -7430,63 +7478,63 @@ msgid "" "never uniqued. Identified types must not be recursive." msgstr "" -#: ../../../LangRef.rst:4829 +#: ../../../LangRef.rst:4871 msgid "``{ i32, i32, i32 }``" msgstr "" -#: ../../../LangRef.rst:4829 +#: ../../../LangRef.rst:4871 msgid "" "A triple of three ``i32`` values (this is a \"homogeneous\" struct as all " "element types are the same)" msgstr "" -#: ../../../LangRef.rst:4831 +#: ../../../LangRef.rst:4873 msgid "``{ float, ptr }``" msgstr "" -#: ../../../LangRef.rst:4831 +#: ../../../LangRef.rst:4873 msgid "" "A pair, where the first element is a ``float`` and the second element is a :" "ref:`pointer `." msgstr "" -#: ../../../LangRef.rst:4833 +#: ../../../LangRef.rst:4875 msgid "``<{ i8, i32 }>``" msgstr "" -#: ../../../LangRef.rst:4833 +#: ../../../LangRef.rst:4875 msgid "A packed struct known to be 5 bytes in size." msgstr "" -#: ../../../LangRef.rst:4839 +#: ../../../LangRef.rst:4881 msgid "Constants" msgstr "" -#: ../../../LangRef.rst:4841 +#: ../../../LangRef.rst:4883 msgid "" "LLVM has several different basic types of constants. This section describes " "them all and their syntax." msgstr "" -#: ../../../LangRef.rst:4845 +#: ../../../LangRef.rst:4887 msgid "Simple Constants" msgstr "" -#: ../../../LangRef.rst:4848 +#: ../../../LangRef.rst:4890 msgid "**Boolean constants**" msgstr "" -#: ../../../LangRef.rst:4848 +#: ../../../LangRef.rst:4890 msgid "" "The two strings '``true``' and '``false``' are both valid constants of the " "``i1`` type." msgstr "" -#: ../../../LangRef.rst:4860 +#: ../../../LangRef.rst:4902 msgid "**Integer constants**" msgstr "" -#: ../../../LangRef.rst:4851 +#: ../../../LangRef.rst:4893 msgid "" "Standard integers (such as '4') are constants of the :ref:`integer " "` type. They can be either decimal or hexadecimal. Decimal " @@ -7496,18 +7544,18 @@ msgid "" "gives 32768, whilst '``s0x8000``' gives -32768." msgstr "" -#: ../../../LangRef.rst:4859 +#: ../../../LangRef.rst:4901 msgid "" "Note that hexadecimal integers are sign extended from the number of active " "bits, i.e., the bit width minus the number of leading zeros. So " "'``s0x0001``' of type '``i16``' will be -1, not 1." msgstr "" -#: ../../../LangRef.rst:4868 +#: ../../../LangRef.rst:4910 msgid "**Floating-point constants**" msgstr "" -#: ../../../LangRef.rst:4863 +#: ../../../LangRef.rst:4905 msgid "" "Floating-point constants use standard decimal notation (e.g. 123.421), " "exponential notation (e.g., 1.23421e+2), or a more precise hexadecimal " @@ -7517,27 +7565,27 @@ msgid "" "must have a :ref:`floating-point ` type." msgstr "" -#: ../../../LangRef.rst:4871 +#: ../../../LangRef.rst:4913 msgid "**Null pointer constants**" msgstr "" -#: ../../../LangRef.rst:4871 +#: ../../../LangRef.rst:4913 msgid "" "The identifier '``null``' is recognized as a null pointer constant and must " "be of :ref:`pointer type `." msgstr "" -#: ../../../LangRef.rst:4875 +#: ../../../LangRef.rst:4917 msgid "**Token constants**" msgstr "" -#: ../../../LangRef.rst:4874 +#: ../../../LangRef.rst:4916 msgid "" "The identifier '``none``' is recognized as an empty token constant and must " "be of :ref:`token type `." msgstr "" -#: ../../../LangRef.rst:4877 +#: ../../../LangRef.rst:4919 msgid "" "The one non-intuitive notation for constants is the hexadecimal form of " "floating-point constants. For example, the form '``double " @@ -7551,11 +7599,11 @@ msgid "" "change in the constants." msgstr "" -#: ../../../LangRef.rst:4888 +#: ../../../LangRef.rst:4930 msgid "" "When using the hexadecimal form, constants of types bfloat, half, float, and " "double are represented using the 16-digit form shown above (which matches " -"the IEEE754 representation for double); bfloat, half and float values must, " +"the IEEE 754 representation for double); bfloat, half and float values must, " "however, be exactly representable as bfloat, IEEE 754 half, and IEEE 754 " "single precision respectively. Hexadecimal format is always used for long " "double, and there are three forms of long double. The 80-bit format used by " @@ -7569,25 +7617,25 @@ msgid "" "digits. All hexadecimal formats are big-endian (sign bit at the left)." msgstr "" -#: ../../../LangRef.rst:4903 +#: ../../../LangRef.rst:4945 msgid "There are no constants of type x86_amx." msgstr "" -#: ../../../LangRef.rst:4908 +#: ../../../LangRef.rst:4950 msgid "Complex Constants" msgstr "" -#: ../../../LangRef.rst:4910 +#: ../../../LangRef.rst:4952 msgid "" "Complex constants are a (potentially recursive) combination of simple " "constants and smaller complex constants." msgstr "" -#: ../../../LangRef.rst:4919 +#: ../../../LangRef.rst:4961 msgid "**Structure constants**" msgstr "" -#: ../../../LangRef.rst:4914 +#: ../../../LangRef.rst:4956 msgid "" "Structure constants are represented with notation similar to structure type " "definitions (a comma separated list of elements, surrounded by braces (``{}" @@ -7597,11 +7645,11 @@ msgid "" "must match those specified by the type." msgstr "" -#: ../../../LangRef.rst:4928 +#: ../../../LangRef.rst:4970 msgid "**Array constants**" msgstr "" -#: ../../../LangRef.rst:4922 +#: ../../../LangRef.rst:4964 msgid "" "Array constants are represented with notation similar to array type " "definitions (a comma separated list of elements, surrounded by square " @@ -7612,11 +7660,11 @@ msgid "" "using the ``c`` prefix. For example: \"``c\"Hello World\\0A\\00\"``\"." msgstr "" -#: ../../../LangRef.rst:4940 +#: ../../../LangRef.rst:4982 msgid "**Vector constants**" msgstr "" -#: ../../../LangRef.rst:4931 +#: ../../../LangRef.rst:4973 msgid "" "Vector constants are represented with notation similar to vector type " "definitions (a comma separated list of elements, surrounded by less-than/" @@ -7625,7 +7673,7 @@ msgid "" "number and types of elements must match those specified by the type." msgstr "" -#: ../../../LangRef.rst:4938 +#: ../../../LangRef.rst:4980 msgid "" "When creating a vector whose elements have the same constant value, the " "preferred syntax is ``splat ( Val)``. For example: \"``splat (i32 " @@ -7633,11 +7681,11 @@ msgid "" "an element type that matches the ``splat`` operand." msgstr "" -#: ../../../LangRef.rst:4946 +#: ../../../LangRef.rst:4988 msgid "**Zero initialization**" msgstr "" -#: ../../../LangRef.rst:4943 +#: ../../../LangRef.rst:4985 msgid "" "The string '``zeroinitializer``' can be used to zero initialize a value to " "zero of *any* type, including scalar and :ref:`aggregate ` " @@ -7646,11 +7694,11 @@ msgid "" "zero initializers." msgstr "" -#: ../../../LangRef.rst:4954 +#: ../../../LangRef.rst:4996 msgid "**Metadata node**" msgstr "" -#: ../../../LangRef.rst:4949 +#: ../../../LangRef.rst:4991 msgid "" "A metadata node is a constant tuple without types. For example: \"``!{!0, !{!" "2, !0}, !\"test\"}``\". Metadata can reference constant values, for example: " @@ -7660,11 +7708,11 @@ msgid "" "info." msgstr "" -#: ../../../LangRef.rst:4957 +#: ../../../LangRef.rst:4999 msgid "Global Variable and Function Addresses" msgstr "" -#: ../../../LangRef.rst:4959 +#: ../../../LangRef.rst:5001 msgid "" "The addresses of :ref:`global variables ` and :ref:`functions " "` are always implicitly valid (link-time) constants. " @@ -7673,11 +7721,11 @@ msgid "" "type. For example, the following is a legal LLVM file:" msgstr "" -#: ../../../LangRef.rst:4975 +#: ../../../LangRef.rst:5017 msgid "Undefined Values" msgstr "" -#: ../../../LangRef.rst:4977 +#: ../../../LangRef.rst:5019 msgid "" "The string '``undef``' can be used anywhere a constant is expected, and " "indicates that the user of the value may receive an unspecified bit-pattern. " @@ -7685,7 +7733,7 @@ msgid "" "and be used anywhere a constant is permitted." msgstr "" -#: ../../../LangRef.rst:4984 +#: ../../../LangRef.rst:5026 msgid "" "A '``poison``' value (described in the next section) should be used instead " "of '``undef``' whenever possible. Poison values are stronger than undef, and " @@ -7693,7 +7741,7 @@ msgid "" "optimizations (see the examples below)." msgstr "" -#: ../../../LangRef.rst:4989 +#: ../../../LangRef.rst:5031 msgid "" "Undefined values are useful because they indicate to the compiler that the " "program is well defined no matter what value is used. This gives the " @@ -7701,13 +7749,13 @@ msgid "" "surprising) transformations that are valid (in pseudo IR):" msgstr "" -#: ../../../LangRef.rst:5004 +#: ../../../LangRef.rst:5046 msgid "" "This is safe because all of the output bits are affected by the undef bits. " "Any output bit can have a zero or one depending on the input bits." msgstr "" -#: ../../../LangRef.rst:5021 +#: ../../../LangRef.rst:5063 msgid "" "These logical operations have bits that are not always affected by the " "input. For example, if ``%X`` has a zero bit, then the output of the " @@ -7720,7 +7768,7 @@ msgid "" "be folded to -1." msgstr "" -#: ../../../LangRef.rst:5045 +#: ../../../LangRef.rst:5087 msgid "" "This set of examples shows that undefined '``select``' conditions can go " "*either way*, but they have to come from one of the two operands. In the " @@ -7732,7 +7780,7 @@ msgid "" "'``poison``' is stronger than '``undef``'." msgstr "" -#: ../../../LangRef.rst:5073 +#: ../../../LangRef.rst:5115 msgid "" "This example points out that two '``undef``' operands are not necessarily " "the same. This can be surprising to people (and also matches C semantics) " @@ -7746,13 +7794,13 @@ msgid "" "semantics or the core LLVM \"replace all uses with\" concept would not hold." msgstr "" -#: ../../../LangRef.rst:5085 +#: ../../../LangRef.rst:5127 msgid "" "To ensure all uses of a given register observe the same value (even if " "'``undef``'), the :ref:`freeze instruction ` can be used." msgstr "" -#: ../../../LangRef.rst:5096 +#: ../../../LangRef.rst:5138 msgid "" "These examples show the crucial difference between an *undefined value* and " "*undefined behavior*. An undefined value (like '``undef``') is allowed to " @@ -7767,7 +7815,7 @@ msgid "" "optimizer can assume that it occurs in dead code." msgstr "" -#: ../../../LangRef.rst:5117 +#: ../../../LangRef.rst:5159 msgid "" "A store *of* an undefined value can be assumed to not have any effect; we " "can assume that the value is overwritten with bits that happen to match what " @@ -7776,7 +7824,7 @@ msgid "" "clobber arbitrary memory, therefore, it has undefined behavior." msgstr "" -#: ../../../LangRef.rst:5124 +#: ../../../LangRef.rst:5166 msgid "" "Branching on an undefined value is undefined behavior. This explains " "optimizations that depend on branch conditions to construct predicates, such " @@ -7785,11 +7833,11 @@ msgid "" "undefined behavior." msgstr "" -#: ../../../LangRef.rst:5154 +#: ../../../LangRef.rst:5196 msgid "Poison Values" msgstr "" -#: ../../../LangRef.rst:5156 +#: ../../../LangRef.rst:5198 msgid "" "A poison value is a result of an erroneous operation. In order to facilitate " "speculative execution, many instructions do not invoke immediate undefined " @@ -7799,7 +7847,7 @@ msgid "" "can produce a poison value." msgstr "" -#: ../../../LangRef.rst:5164 +#: ../../../LangRef.rst:5206 msgid "" "Most instructions return '``poison``' when one of their arguments is " "'``poison``'. A notable exception is the :ref:`select instruction " @@ -7807,63 +7855,63 @@ msgid "" "instruction `." msgstr "" -#: ../../../LangRef.rst:5169 +#: ../../../LangRef.rst:5211 msgid "" "It is correct to replace a poison value with an :ref:`undef value " "` or any value of the type." msgstr "" -#: ../../../LangRef.rst:5172 +#: ../../../LangRef.rst:5214 msgid "" "This means that immediate undefined behavior occurs if a poison value is " "used as an instruction operand that has any values that trigger undefined " "behavior. Notably this includes (but is not limited to):" msgstr "" -#: ../../../LangRef.rst:5176 +#: ../../../LangRef.rst:5218 msgid "" "The pointer operand of a :ref:`load `, :ref:`store ` or any " "other pointer dereferencing instruction (independent of address space)." msgstr "" -#: ../../../LangRef.rst:5179 +#: ../../../LangRef.rst:5221 msgid "" "The divisor operand of a ``udiv``, ``sdiv``, ``urem`` or ``srem`` " "instruction." msgstr "" -#: ../../../LangRef.rst:5181 +#: ../../../LangRef.rst:5223 msgid "The condition operand of a :ref:`br ` instruction." msgstr "" -#: ../../../LangRef.rst:5182 +#: ../../../LangRef.rst:5224 msgid "" "The callee operand of a :ref:`call ` or :ref:`invoke ` " "instruction." msgstr "" -#: ../../../LangRef.rst:5184 +#: ../../../LangRef.rst:5226 msgid "" "The parameter operand of a :ref:`call ` or :ref:`invoke ` " "instruction, when the function or invoking call site has a ``noundef`` " "attribute in the corresponding position." msgstr "" -#: ../../../LangRef.rst:5187 +#: ../../../LangRef.rst:5229 msgid "" "The operand of a :ref:`ret ` instruction if the function or invoking " "call site has a `noundef` attribute in the return value position." msgstr "" -#: ../../../LangRef.rst:5190 +#: ../../../LangRef.rst:5232 msgid "Here are some examples:" msgstr "" -#: ../../../LangRef.rst:5216 +#: ../../../LangRef.rst:5258 msgid "Well-Defined Values" msgstr "" -#: ../../../LangRef.rst:5218 +#: ../../../LangRef.rst:5260 msgid "" "Given a program execution, a value is *well defined* if the value does not " "have an undef bit and is not poison in the execution. An aggregate value or " @@ -7872,7 +7920,7 @@ msgid "" "memory and loading it with a different type." msgstr "" -#: ../../../LangRef.rst:5224 +#: ../../../LangRef.rst:5266 msgid "" "A constant of a :ref:`single value `, non-vector type is " "well defined if it is neither '``undef``' constant nor '``poison``' " @@ -7880,31 +7928,31 @@ msgid "" "regardless of its operand." msgstr "" -#: ../../../LangRef.rst:5232 +#: ../../../LangRef.rst:5274 msgid "Addresses of Basic Blocks" msgstr "" -#: ../../../LangRef.rst:5234 +#: ../../../LangRef.rst:5276 msgid "``blockaddress(@function, %block)``" msgstr "" -#: ../../../LangRef.rst:5236 +#: ../../../LangRef.rst:5278 msgid "" "The '``blockaddress``' constant computes the address of the specified basic " "block in the specified function." msgstr "" -#: ../../../LangRef.rst:5239 +#: ../../../LangRef.rst:5281 msgid "" "It always has a ``ptr addrspace(P)`` type, where ``P`` is the address space " "of the function containing ``%block`` (usually ``addrspace(0)``)." msgstr "" -#: ../../../LangRef.rst:5242 +#: ../../../LangRef.rst:5284 msgid "Taking the address of the entry block is illegal." msgstr "" -#: ../../../LangRef.rst:5244 +#: ../../../LangRef.rst:5286 msgid "" "This value only has defined behavior when used as an operand to the ':ref:" "`indirectbr `' or for comparisons against null. Pointer " @@ -7916,21 +7964,21 @@ msgid "" "reconstituted before the ``indirectbr`` instruction." msgstr "" -#: ../../../LangRef.rst:5253 +#: ../../../LangRef.rst:5295 msgid "" "Finally, some targets may provide defined semantics when using the value as " "the operand to an inline assembly, but that is target specific." msgstr "" -#: ../../../LangRef.rst:5259 +#: ../../../LangRef.rst:5301 msgid "DSO Local Equivalent" msgstr "" -#: ../../../LangRef.rst:5261 +#: ../../../LangRef.rst:5303 msgid "``dso_local_equivalent @func``" msgstr "" -#: ../../../LangRef.rst:5263 +#: ../../../LangRef.rst:5305 msgid "" "A '``dso_local_equivalent``' constant represents a function which is " "functionally equivalent to a given function, but is always defined in the " @@ -7940,22 +7988,22 @@ msgid "" "values in different translation units." msgstr "" -#: ../../../LangRef.rst:5270 +#: ../../../LangRef.rst:5312 msgid "The target function may not have ``extern_weak`` linkage." msgstr "" -#: ../../../LangRef.rst:5272 +#: ../../../LangRef.rst:5314 msgid "``dso_local_equivalent`` can be implemented as such:" msgstr "" -#: ../../../LangRef.rst:5274 +#: ../../../LangRef.rst:5316 msgid "" "If the function has local linkage, hidden visibility, or is ``dso_local``, " "``dso_local_equivalent`` can be implemented as simply a pointer to the " "function." msgstr "" -#: ../../../LangRef.rst:5277 +#: ../../../LangRef.rst:5319 msgid "" "``dso_local_equivalent`` can be implemented with a stub that tail-calls the " "function. Many targets support relocations that resolve at link time to " @@ -7965,7 +8013,7 @@ msgid "" "emitted explicitly." msgstr "" -#: ../../../LangRef.rst:5283 +#: ../../../LangRef.rst:5325 msgid "" "This can be used wherever a ``dso_local`` instance of a function is needed " "without needing to explicitly make the original function ``dso_local``. An " @@ -7976,19 +8024,19 @@ msgid "" "between the VTable and virtual functions which may not be ``dso_local``." msgstr "" -#: ../../../LangRef.rst:5291 +#: ../../../LangRef.rst:5333 msgid "This is currently only supported for ELF binary formats." msgstr "" -#: ../../../LangRef.rst:5296 +#: ../../../LangRef.rst:5338 msgid "No CFI" msgstr "" -#: ../../../LangRef.rst:5298 +#: ../../../LangRef.rst:5340 msgid "``no_cfi @func``" msgstr "" -#: ../../../LangRef.rst:5300 +#: ../../../LangRef.rst:5342 msgid "" "With `Control-Flow Integrity (CFI) `_, a '``no_cfi``' constant represents a function " @@ -7998,45 +8046,45 @@ msgid "" "actual function body." msgstr "" -#: ../../../LangRef.rst:5310 +#: ../../../LangRef.rst:5352 msgid "Pointer Authentication Constants" msgstr "" -#: ../../../LangRef.rst:5312 +#: ../../../LangRef.rst:5354 msgid "``ptrauth (ptr CST, i32 KEY[, i64 DISC[, ptr ADDRDISC[, ptr DS]?]?]?)``" msgstr "" -#: ../../../LangRef.rst:5314 +#: ../../../LangRef.rst:5356 msgid "" "A '``ptrauth``' constant represents a pointer with a cryptographic " "authentication signature embedded into some bits, as described in the " "`Pointer Authentication `__ document." msgstr "" -#: ../../../LangRef.rst:5318 +#: ../../../LangRef.rst:5360 msgid "" "A '``ptrauth``' constant is simply a constant equivalent to the ``llvm." "ptrauth.sign`` intrinsic, potentially fed by a discriminator ``llvm.ptrauth." "blend`` if needed." msgstr "" -#: ../../../LangRef.rst:5322 +#: ../../../LangRef.rst:5364 msgid "" "Its type is the same as the first argument. An integer constant " "discriminator and an address discriminator may be optionally specified. " "Otherwise, they have values ``i64 0`` and ``ptr null``." msgstr "" -#: ../../../LangRef.rst:5326 +#: ../../../LangRef.rst:5368 msgid "" "If the address discriminator is ``null`` then the expression is equivalent to" msgstr "" -#: ../../../LangRef.rst:5333 +#: ../../../LangRef.rst:5375 msgid "Otherwise, the expression is equivalent to:" msgstr "" -#: ../../../LangRef.rst:5341 +#: ../../../LangRef.rst:5383 msgid "" "If the deactivation symbol operand ``DS`` has a non-null value, the " "semantics are as if a :ref:`deactivation-symbol operand bundle " @@ -8044,11 +8092,11 @@ msgid "" "calls above, with ``DS`` as the only operand." msgstr "" -#: ../../../LangRef.rst:5349 +#: ../../../LangRef.rst:5391 msgid "Constant Expressions" msgstr "" -#: ../../../LangRef.rst:5351 +#: ../../../LangRef.rst:5393 msgid "" "Constant expressions are used to allow expressions involving other constants " "to be used as constants. Constant expressions may be of any :ref:`first " @@ -8057,68 +8105,68 @@ msgid "" "the syntax for constant expressions:" msgstr "" -#: ../../../LangRef.rst:5357 +#: ../../../LangRef.rst:5399 msgid "``trunc (CST to TYPE)``" msgstr "" -#: ../../../LangRef.rst:5358 +#: ../../../LangRef.rst:5400 msgid "Perform the :ref:`trunc operation ` on constants." msgstr "" -#: ../../../LangRef.rst:5359 +#: ../../../LangRef.rst:5401 msgid "``ptrtoint (CST to TYPE)``" msgstr "" -#: ../../../LangRef.rst:5360 +#: ../../../LangRef.rst:5402 msgid "Perform the :ref:`ptrtoint operation ` on constants." msgstr "" -#: ../../../LangRef.rst:5361 +#: ../../../LangRef.rst:5403 msgid "``ptrtoaddr (CST to TYPE)``" msgstr "" -#: ../../../LangRef.rst:5362 +#: ../../../LangRef.rst:5404 msgid "Perform the :ref:`ptrtoaddr operation ` on constants." msgstr "" -#: ../../../LangRef.rst:5364 +#: ../../../LangRef.rst:5406 msgid "``inttoptr (CST to TYPE)``" msgstr "" -#: ../../../LangRef.rst:5364 +#: ../../../LangRef.rst:5406 msgid "" "Perform the :ref:`inttoptr operation ` on constants. This one is " "*really* dangerous!" msgstr "" -#: ../../../LangRef.rst:5368 +#: ../../../LangRef.rst:5410 msgid "``bitcast (CST to TYPE)``" msgstr "" -#: ../../../LangRef.rst:5367 +#: ../../../LangRef.rst:5409 msgid "" "Convert a constant, CST, to another TYPE. The constraints of the operands " "are the same as those for the :ref:`bitcast instruction `." msgstr "" -#: ../../../LangRef.rst:5372 +#: ../../../LangRef.rst:5414 msgid "``addrspacecast (CST to TYPE)``" msgstr "" -#: ../../../LangRef.rst:5371 +#: ../../../LangRef.rst:5413 msgid "" "Convert a constant pointer or constant vector of pointer, CST, to another " "TYPE in a different address space. The constraints of the operands are the " "same as those for the :ref:`addrspacecast instruction `." msgstr "" -#: ../../../LangRef.rst:5379 +#: ../../../LangRef.rst:5421 msgid "" "``getelementptr (TY, CSTPTR, IDX0, IDX1, ...)``, ``getelementptr inbounds " "(TY, CSTPTR, IDX0, IDX1, ...)``" msgstr "" -#: ../../../LangRef.rst:5375 +#: ../../../LangRef.rst:5417 msgid "" "Perform the :ref:`getelementptr operation ` on constants. " "As with the :ref:`getelementptr ` instruction, the index " @@ -8127,66 +8175,66 @@ msgid "" "truncated to match the index size of CSTPTR's address space." msgstr "" -#: ../../../LangRef.rst:5382 +#: ../../../LangRef.rst:5424 msgid "``extractelement (VAL, IDX)``" msgstr "" -#: ../../../LangRef.rst:5382 +#: ../../../LangRef.rst:5424 msgid "" "Perform the :ref:`extractelement operation ` on constants." msgstr "" -#: ../../../LangRef.rst:5385 +#: ../../../LangRef.rst:5427 msgid "``insertelement (VAL, ELT, IDX)``" msgstr "" -#: ../../../LangRef.rst:5385 +#: ../../../LangRef.rst:5427 msgid "" "Perform the :ref:`insertelement operation ` on constants." msgstr "" -#: ../../../LangRef.rst:5388 +#: ../../../LangRef.rst:5430 msgid "``shufflevector (VEC1, VEC2, IDXMASK)``" msgstr "" -#: ../../../LangRef.rst:5388 +#: ../../../LangRef.rst:5430 msgid "" "Perform the :ref:`shufflevector operation ` on constants." msgstr "" -#: ../../../LangRef.rst:5390 +#: ../../../LangRef.rst:5432 msgid "``add (LHS, RHS)``" msgstr "" -#: ../../../LangRef.rst:5391 +#: ../../../LangRef.rst:5433 msgid "Perform an addition on constants." msgstr "" -#: ../../../LangRef.rst:5392 +#: ../../../LangRef.rst:5434 msgid "``sub (LHS, RHS)``" msgstr "" -#: ../../../LangRef.rst:5393 +#: ../../../LangRef.rst:5435 msgid "Perform a subtraction on constants." msgstr "" -#: ../../../LangRef.rst:5395 +#: ../../../LangRef.rst:5437 msgid "``xor (LHS, RHS)``" msgstr "" -#: ../../../LangRef.rst:5395 +#: ../../../LangRef.rst:5437 msgid "Perform a bitwise xor on constants." msgstr "" -#: ../../../LangRef.rst:5398 +#: ../../../LangRef.rst:5440 msgid "Other Values" msgstr "" -#: ../../../LangRef.rst:5403 +#: ../../../LangRef.rst:5445 msgid "Inline Assembler Expressions" msgstr "" -#: ../../../LangRef.rst:5405 +#: ../../../LangRef.rst:5447 msgid "" "LLVM supports inline assembler expressions (as opposed to :ref:`Module-Level " "Inline Assembly `) through the use of a special value. This value " @@ -8197,7 +8245,7 @@ msgid "" "to align its stack conservatively." msgstr "" -#: ../../../LangRef.rst:5413 +#: ../../../LangRef.rst:5455 msgid "" "The template string supports argument substitution of the operands using " "\"``$``\" followed by a number, to indicate substitution of the given " @@ -8206,7 +8254,7 @@ msgid "" "annotation for how to print the operand (See :ref:`inline-asm-modifiers`)." msgstr "" -#: ../../../LangRef.rst:5419 +#: ../../../LangRef.rst:5461 msgid "" "A literal \"``$``\" may be included by using \"``$$``\" in the template. To " "include other special characters into the output, the usual \"``\\XX``\" " @@ -8216,13 +8264,13 @@ msgid "" "thus must contain assembly syntax known to LLVM." msgstr "" -#: ../../../LangRef.rst:5426 +#: ../../../LangRef.rst:5468 msgid "" "LLVM also supports a few more substitutions useful for writing inline " "assembly:" msgstr "" -#: ../../../LangRef.rst:5428 +#: ../../../LangRef.rst:5470 msgid "" "``${:uid}``: Expands to a decimal integer unique to this inline assembly " "blob. This substitution is useful when declaring a local label. Many " @@ -8232,14 +8280,14 @@ msgid "" "format string `_." msgstr "" -#: ../../../LangRef.rst:5434 +#: ../../../LangRef.rst:5476 msgid "" "``${:comment}``: Expands to the comment character of the current target's " "assembly dialect. This is usually ``#``, but many targets use other strings, " "such as ``;``, ``//``, or ``!``." msgstr "" -#: ../../../LangRef.rst:5437 +#: ../../../LangRef.rst:5479 msgid "" "``${:private}``: Expands to the assembler private label prefix. Labels with " "this prefix will not appear in the symbol table of the assembled object. " @@ -8247,7 +8295,7 @@ msgid "" "relatively popular." msgstr "" -#: ../../../LangRef.rst:5442 +#: ../../../LangRef.rst:5484 msgid "" "LLVM's support for inline asm is modeled closely on the requirements of " "Clang's GCC-compatible inline-asm support. Thus, the feature-set and the " @@ -8259,25 +8307,25 @@ msgid "" "converting from the C source to the LLVM assembly." msgstr "" -#: ../../../LangRef.rst:5451 +#: ../../../LangRef.rst:5493 msgid "An example inline assembler expression is:" msgstr "" -#: ../../../LangRef.rst:5457 +#: ../../../LangRef.rst:5499 msgid "" "Inline assembler expressions may **only** be used as the callee operand of " "a :ref:`call ` or an :ref:`invoke ` instruction. Thus, " "typically we have:" msgstr "" -#: ../../../LangRef.rst:5465 +#: ../../../LangRef.rst:5507 msgid "" "Inline asms with side effects not visible in the constraint list must be " "marked as having side effects. This is done through the use of the " "'``sideeffect``' keyword, like so:" msgstr "" -#: ../../../LangRef.rst:5473 +#: ../../../LangRef.rst:5515 msgid "" "In some cases inline asms will contain code that will not work unless the " "stack is aligned in some way, such as calls or SSE instructions on x86, yet " @@ -8287,7 +8335,7 @@ msgid "" "'``alignstack``' keyword is present:" msgstr "" -#: ../../../LangRef.rst:5484 +#: ../../../LangRef.rst:5526 msgid "" "Inline asms also support using non-standard assembly dialects. The assumed " "dialect is ATT. When the '``inteldialect``' keyword is present, the inline " @@ -8295,36 +8343,36 @@ msgid "" "supported dialects. An example is:" msgstr "" -#: ../../../LangRef.rst:5493 +#: ../../../LangRef.rst:5535 msgid "" "In the case that the inline asm might unwind the stack, the '``unwind``' " "keyword must be used, so that the compiler emits unwinding information:" msgstr "" -#: ../../../LangRef.rst:5501 +#: ../../../LangRef.rst:5543 msgid "" "If the inline asm unwinds the stack and isn't marked with the '``unwind``' " "keyword, the behavior is undefined." msgstr "" -#: ../../../LangRef.rst:5504 +#: ../../../LangRef.rst:5546 msgid "" "If multiple keywords appear, the '``sideeffect``' keyword must come first, " "the '``alignstack``' keyword second, the '``inteldialect``' keyword third, " "and the '``unwind``' keyword last." msgstr "" -#: ../../../LangRef.rst:5509 +#: ../../../LangRef.rst:5551 msgid "Inline Asm Constraint String" msgstr "" -#: ../../../LangRef.rst:5511 +#: ../../../LangRef.rst:5553 msgid "" "The constraint list is a comma-separated string, each element containing one " "or more constraint codes." msgstr "" -#: ../../../LangRef.rst:5514 +#: ../../../LangRef.rst:5556 msgid "" "For each element in the constraint list an appropriate register or memory " "operand will be chosen, and it will be made available to assembly template " @@ -8332,7 +8380,7 @@ msgid "" "the second, etc." msgstr "" -#: ../../../LangRef.rst:5519 +#: ../../../LangRef.rst:5561 msgid "" "There are three different types of constraints, which are distinguished by a " "prefix symbol in front of the constraint code: Output, Input, and Clobber. " @@ -8340,25 +8388,25 @@ msgid "" "inputs, then clobbers. They cannot be intermingled." msgstr "" -#: ../../../LangRef.rst:5524 +#: ../../../LangRef.rst:5566 msgid "There are also three different categories of constraint codes:" msgstr "" -#: ../../../LangRef.rst:5526 +#: ../../../LangRef.rst:5568 msgid "" "Register constraint. This is either a register class, or a fixed physical " "register. This kind of constraint will allocate a register, and if " "necessary, bitcast the argument or result to the appropriate type." msgstr "" -#: ../../../LangRef.rst:5529 +#: ../../../LangRef.rst:5571 msgid "" "Memory constraint. This kind of constraint is for use with an instruction " "taking a memory operand. Different constraints allow for different " "addressing modes used by the target." msgstr "" -#: ../../../LangRef.rst:5532 +#: ../../../LangRef.rst:5574 msgid "" "Immediate value constraint. This kind of constraint is for an integer or " "other immediate value which can be rendered directly into an instruction. " @@ -8366,11 +8414,11 @@ msgid "" "the proper range for the instruction you wish to use it with." msgstr "" -#: ../../../LangRef.rst:5538 +#: ../../../LangRef.rst:5580 msgid "Output constraints" msgstr "" -#: ../../../LangRef.rst:5540 +#: ../../../LangRef.rst:5582 msgid "" "Output constraints are specified by an \"``=``\" prefix (e.g., \"``=r``\"). " "This indicates that the assembly will write to this operand, and the operand " @@ -8379,7 +8427,7 @@ msgid "" "(Except, see below about indirect outputs)." msgstr "" -#: ../../../LangRef.rst:5546 +#: ../../../LangRef.rst:5588 msgid "" "Normally, it is expected that no output locations are written to by the " "assembly expression until *all* of the inputs have been read. As such, LLVM " @@ -8392,11 +8440,11 @@ msgid "" "(other than an input tied to this output)." msgstr "" -#: ../../../LangRef.rst:5557 +#: ../../../LangRef.rst:5599 msgid "Input constraints" msgstr "" -#: ../../../LangRef.rst:5559 +#: ../../../LangRef.rst:5601 msgid "" "Input constraints do not have a prefix -- just the constraint codes. Each " "input constraint will consume one argument from the call instruction. It is " @@ -8406,7 +8454,7 @@ msgid "" "necessarily all contain the same value." msgstr "" -#: ../../../LangRef.rst:5566 +#: ../../../LangRef.rst:5608 msgid "" "Instead of providing a Constraint Code, input constraints may also \"tie\" " "themselves to an output constraint, by providing an integer as the " @@ -8418,20 +8466,20 @@ msgid "" "an input as well (it being the 0'th constraint)." msgstr "" -#: ../../../LangRef.rst:5575 +#: ../../../LangRef.rst:5617 msgid "" "It is permitted to tie an input to an \"early-clobber\" output. In that " "case, no *other* input may share the same register as the input tied to the " "early-clobber (even when the other input has the same value)." msgstr "" -#: ../../../LangRef.rst:5579 +#: ../../../LangRef.rst:5621 msgid "" "You may only tie an input to an output which has a register constraint, not " "a memory constraint. Only a single input may be tied to an output." msgstr "" -#: ../../../LangRef.rst:5582 +#: ../../../LangRef.rst:5624 msgid "" "There is also an \"interesting\" feature which deserves a bit of " "explanation: if a register class constraint allocates a register which is " @@ -8439,11 +8487,11 @@ msgid "" "be split into multiple registers, and all of them passed to the inline asm." msgstr "" -#: ../../../LangRef.rst:5587 +#: ../../../LangRef.rst:5629 msgid "However, this feature is often not as useful as you might think." msgstr "" -#: ../../../LangRef.rst:5589 +#: ../../../LangRef.rst:5631 msgid "" "Firstly, the registers are *not* guaranteed to be consecutive. So, on those " "architectures that have instructions which operate on multiple consecutive " @@ -8453,7 +8501,7 @@ msgid "" "register. This feature of inline asm would not be useful to support that.)" msgstr "" -#: ../../../LangRef.rst:5596 +#: ../../../LangRef.rst:5638 msgid "" "A few of the targets provide a template string modifier allowing explicit " "access to the second register of a two-register operand (e.g., MIPS ``L``, " @@ -8465,11 +8513,11 @@ msgid "" "is not really a good idea to use)" msgstr "" -#: ../../../LangRef.rst:5606 +#: ../../../LangRef.rst:5648 msgid "Indirect inputs and outputs" msgstr "" -#: ../../../LangRef.rst:5608 +#: ../../../LangRef.rst:5650 msgid "" "Indirect output or input constraints can be specified by the \"``*``\" " "modifier (which goes after the \"``=``\" in case of an output). This " @@ -8482,13 +8530,13 @@ msgid "" "of just read from it)." msgstr "" -#: ../../../LangRef.rst:5617 +#: ../../../LangRef.rst:5659 msgid "" "This is most typically used for memory constraint, e.g., \"``=*m``\", to " "pass the address of a variable as a value." msgstr "" -#: ../../../LangRef.rst:5620 +#: ../../../LangRef.rst:5662 msgid "" "It is also possible to use an indirect *register* constraint, but only on " "output (e.g., \"``=*r``\"). This will cause LLVM to allocate a register for " @@ -8499,18 +8547,18 @@ msgid "" "many optimization passes. I would recommend not using it.)" msgstr "" -#: ../../../LangRef.rst:5628 +#: ../../../LangRef.rst:5670 msgid "" "Call arguments for indirect constraints must have pointer type and must " "specify the :ref:`elementtype ` attribute to indicate the " "pointer element type." msgstr "" -#: ../../../LangRef.rst:5633 +#: ../../../LangRef.rst:5675 msgid "Clobber constraints" msgstr "" -#: ../../../LangRef.rst:5635 +#: ../../../LangRef.rst:5677 msgid "" "A clobber constraint is indicated by a \"``~``\" prefix. A clobber does not " "consume an input operand, nor generate an output. Clobbers cannot use any of " @@ -8521,65 +8569,65 @@ msgid "" "indirect output." msgstr "" -#: ../../../LangRef.rst:5643 +#: ../../../LangRef.rst:5685 msgid "" "Note that clobbering named registers that are also present in output " "constraints is not legal." msgstr "" -#: ../../../LangRef.rst:5647 +#: ../../../LangRef.rst:5689 msgid "Label constraints" msgstr "" -#: ../../../LangRef.rst:5649 +#: ../../../LangRef.rst:5691 msgid "" "A label constraint is indicated by a \"``!``\" prefix and typically used in " "the form ``\"!i\"``. Instead of consuming call arguments, label constraints " "consume indirect destination labels of ``callbr`` instructions." msgstr "" -#: ../../../LangRef.rst:5653 +#: ../../../LangRef.rst:5695 msgid "" "Label constraints can only be used in conjunction with ``callbr`` and the " "number of label constraints must match the number of indirect destination " "labels in the ``callbr`` instruction." msgstr "" -#: ../../../LangRef.rst:5659 +#: ../../../LangRef.rst:5701 msgid "Constraint Codes" msgstr "" -#: ../../../LangRef.rst:5660 +#: ../../../LangRef.rst:5702 msgid "After a potential prefix comes constraint code, or codes." msgstr "" -#: ../../../LangRef.rst:5662 +#: ../../../LangRef.rst:5704 msgid "" "A Constraint Code is either a single letter (e.g., \"``r``\"), a \"``^``\" " "character followed by two letters (e.g., \"``^wc``\"), or \"``{``\" register-" "name \"``}``\" (e.g., \"``{eax}``\")." msgstr "" -#: ../../../LangRef.rst:5666 +#: ../../../LangRef.rst:5708 msgid "" "The one and two letter constraint codes are typically chosen to be the same " "as GCC's constraint codes." msgstr "" -#: ../../../LangRef.rst:5669 +#: ../../../LangRef.rst:5711 msgid "" "A single constraint may include one or more constraint codes in it, leaving " "it up to LLVM to choose which one to use. This is included mainly for " "compatibility with the translation of GCC inline asm coming from clang." msgstr "" -#: ../../../LangRef.rst:5673 +#: ../../../LangRef.rst:5715 msgid "" "There are two ways to specify alternatives, and either or both may be used " "in an inline asm constraint list:" msgstr "" -#: ../../../LangRef.rst:5676 +#: ../../../LangRef.rst:5718 msgid "" "Append the codes to each other, making a constraint code set. E.g. " "\"``im``\" or \"``{eax}m``\". This means \"choose any of the options in the " @@ -8587,7 +8635,7 @@ msgid "" "the constraint list." msgstr "" -#: ../../../LangRef.rst:5681 +#: ../../../LangRef.rst:5723 msgid "" "Use \"``|``\" between constraint code sets, creating alternatives. Every " "constraint in the constraint list must have the same number of alternative " @@ -8595,7 +8643,7 @@ msgid "" "constraint list will be chosen together." msgstr "" -#: ../../../LangRef.rst:5686 +#: ../../../LangRef.rst:5728 msgid "" "Putting those together, you might have a two operand constraint string like " "``\"rm|r,ri|rm\"``. This indicates that if operand 0 is ``r`` or ``m``, then " @@ -8604,7 +8652,7 @@ msgid "" "m." msgstr "" -#: ../../../LangRef.rst:5691 +#: ../../../LangRef.rst:5733 msgid "" "However, the use of either of the alternatives features is *NOT* " "recommended, as LLVM is not able to make an intelligent choice about which " @@ -8619,11 +8667,11 @@ msgid "" "will assign r11 to both operands, not at all what was intended.)" msgstr "" -#: ../../../LangRef.rst:5704 +#: ../../../LangRef.rst:5746 msgid "Supported Constraint Code List" msgstr "" -#: ../../../LangRef.rst:5706 +#: ../../../LangRef.rst:5748 msgid "" "The constraint codes are, in general, expected to behave the same way they " "do in GCC. LLVM's support is often implemented on an 'as-needed' basis, to " @@ -8631,91 +8679,91 @@ msgid "" "between LLVM and GCC likely indicates a bug in LLVM." msgstr "" -#: ../../../LangRef.rst:5711 +#: ../../../LangRef.rst:5753 msgid "Some constraint codes are typically supported by all targets:" msgstr "" -#: ../../../LangRef.rst:5713 +#: ../../../LangRef.rst:5755 msgid "``r``: A register in the target's general purpose register class." msgstr "" -#: ../../../LangRef.rst:5714 +#: ../../../LangRef.rst:5756 msgid "" "``m``: A memory address operand. It is target-specific what addressing modes " "are supported, typical examples are register, or register + register offset, " "or register + immediate offset (of some target-specific size)." msgstr "" -#: ../../../LangRef.rst:5717 +#: ../../../LangRef.rst:5759 msgid "" "``p``: An address operand. Similar to ``m``, but used by \"load address\" " "type instructions without touching memory." msgstr "" -#: ../../../LangRef.rst:5719 +#: ../../../LangRef.rst:5761 msgid "" "``i``: An integer constant (of target-specific width). Allows either a " "simple immediate, or a relocatable value." msgstr "" -#: ../../../LangRef.rst:5721 +#: ../../../LangRef.rst:5763 msgid "``n``: An integer constant -- *not* including relocatable values." msgstr "" -#: ../../../LangRef.rst:5722 +#: ../../../LangRef.rst:5764 msgid "``s``: A symbol or label reference with a constant offset." msgstr "" -#: ../../../LangRef.rst:5723 +#: ../../../LangRef.rst:5765 msgid "" "``X``: Allows an operand of any kind, no constraint whatsoever. Typically " "useful to pass a label for an asm branch or call." msgstr "" -#: ../../../LangRef.rst:5729 +#: ../../../LangRef.rst:5771 msgid "``{register-name}``: Requires exactly the named physical register." msgstr "" -#: ../../../LangRef.rst:5731 +#: ../../../LangRef.rst:5773 msgid "Other constraints are target-specific:" msgstr "" -#: ../../../LangRef.rst:5733 ../../../LangRef.rst:6047 +#: ../../../LangRef.rst:5775 ../../../LangRef.rst:6089 msgid "AArch64:" msgstr "" -#: ../../../LangRef.rst:5735 +#: ../../../LangRef.rst:5777 msgid "" "``z``: An immediate integer 0. Outputs ``WZR`` or ``XZR``, as appropriate." msgstr "" -#: ../../../LangRef.rst:5736 +#: ../../../LangRef.rst:5778 msgid "" "``I``: An immediate integer valid for an ``ADD`` or ``SUB`` instruction, i." "e., 0 to 4095 with optional shift by 12." msgstr "" -#: ../../../LangRef.rst:5738 +#: ../../../LangRef.rst:5780 msgid "" "``J``: An immediate integer that, when negated, is valid for an ``ADD`` or " "``SUB`` instruction, i.e., -1 to -4095 with optional left shift by 12." msgstr "" -#: ../../../LangRef.rst:5740 +#: ../../../LangRef.rst:5782 msgid "" "``K``: An immediate integer that is valid for the 'bitmask immediate 32' of " "a logical instruction like ``AND``, ``EOR``, or ``ORR`` with a 32-bit " "register." msgstr "" -#: ../../../LangRef.rst:5742 +#: ../../../LangRef.rst:5784 msgid "" "``L``: An immediate integer that is valid for the 'bitmask immediate 64' of " "a logical instruction like ``AND``, ``EOR``, or ``ORR`` with a 64-bit " "register." msgstr "" -#: ../../../LangRef.rst:5744 +#: ../../../LangRef.rst:5786 msgid "" "``M``: An immediate integer for use with the ``MOV`` assembly alias on a 32-" "bit register. This is a superset of ``K``: in addition to the bitmask " @@ -8723,708 +8771,708 @@ msgid "" "``MOVZ`` or ``MOVL`` instruction." msgstr "" -#: ../../../LangRef.rst:5748 +#: ../../../LangRef.rst:5790 msgid "" "``N``: An immediate integer for use with the ``MOV`` assembly alias on a 64-" "bit register. This is a superset of ``L``." msgstr "" -#: ../../../LangRef.rst:5750 +#: ../../../LangRef.rst:5792 msgid "" "``Q``: Memory address operand must be in a single register (no offsets). " "(However, LLVM currently does this for the ``m`` constraint as well.)" msgstr "" -#: ../../../LangRef.rst:5753 +#: ../../../LangRef.rst:5795 msgid "``r``: A 32 or 64-bit integer register (W* or X*)." msgstr "" -#: ../../../LangRef.rst:5754 +#: ../../../LangRef.rst:5796 msgid "" "``S``: A symbol or label reference with a constant offset. The generic ``s`` " "is not supported." msgstr "" -#: ../../../LangRef.rst:5756 +#: ../../../LangRef.rst:5798 msgid "``Uci``: Like r, but restricted to registers 8 to 11 inclusive." msgstr "" -#: ../../../LangRef.rst:5757 +#: ../../../LangRef.rst:5799 msgid "``Ucj``: Like r, but restricted to registers 12 to 15 inclusive." msgstr "" -#: ../../../LangRef.rst:5758 +#: ../../../LangRef.rst:5800 msgid "" "``w``: A 32, 64, or 128-bit floating-point, SIMD or SVE vector register." msgstr "" -#: ../../../LangRef.rst:5759 +#: ../../../LangRef.rst:5801 msgid "``x``: Like w, but restricted to registers 0 to 15 inclusive." msgstr "" -#: ../../../LangRef.rst:5760 +#: ../../../LangRef.rst:5802 msgid "" "``y``: Like w, but restricted to SVE vector registers Z0 to Z7 inclusive." msgstr "" -#: ../../../LangRef.rst:5761 +#: ../../../LangRef.rst:5803 msgid "``Uph``: One of the upper eight SVE predicate registers (P8 to P15)" msgstr "" -#: ../../../LangRef.rst:5762 +#: ../../../LangRef.rst:5804 msgid "``Upl``: One of the lower eight SVE predicate registers (P0 to P7)" msgstr "" -#: ../../../LangRef.rst:5763 +#: ../../../LangRef.rst:5805 msgid "``Upa``: Any of the SVE predicate registers (P0 to P15)" msgstr "" -#: ../../../LangRef.rst:5765 ../../../LangRef.rst:6056 +#: ../../../LangRef.rst:5807 ../../../LangRef.rst:6098 msgid "AMDGPU:" msgstr "" -#: ../../../LangRef.rst:5767 ../../../LangRef.rst:5915 +#: ../../../LangRef.rst:5809 ../../../LangRef.rst:5957 msgid "``r``: A 32 or 64-bit integer register." msgstr "" -#: ../../../LangRef.rst:5768 +#: ../../../LangRef.rst:5810 msgid "``s``: SGPR register or tuple" msgstr "" -#: ../../../LangRef.rst:5769 +#: ../../../LangRef.rst:5811 msgid "``v``: VGPR register or tuple" msgstr "" -#: ../../../LangRef.rst:5770 +#: ../../../LangRef.rst:5812 msgid "``a``: AGPR register or tuple. Only valid on gfx908+." msgstr "" -#: ../../../LangRef.rst:5771 +#: ../../../LangRef.rst:5813 msgid "``VA``: VGPR or AGPR register or tuple. Only valid on gfx90a+." msgstr "" -#: ../../../LangRef.rst:5772 +#: ../../../LangRef.rst:5814 msgid "``v[0-9]``: The 32-bit VGPR register, number 0-9." msgstr "" -#: ../../../LangRef.rst:5773 +#: ../../../LangRef.rst:5815 msgid "``s[0-9]``: The 32-bit SGPR register, number 0-9." msgstr "" -#: ../../../LangRef.rst:5774 +#: ../../../LangRef.rst:5816 msgid "``a[0-9]``: The 32-bit AGPR register, number 0-9." msgstr "" -#: ../../../LangRef.rst:5775 +#: ../../../LangRef.rst:5817 msgid "``I``: An integer inline constant in the range from -16 to 64." msgstr "" -#: ../../../LangRef.rst:5776 +#: ../../../LangRef.rst:5818 msgid "``J``: A 16-bit signed integer constant." msgstr "" -#: ../../../LangRef.rst:5777 +#: ../../../LangRef.rst:5819 msgid "``A``: An integer or a floating-point inline constant." msgstr "" -#: ../../../LangRef.rst:5778 +#: ../../../LangRef.rst:5820 msgid "``B``: A 32-bit signed integer constant." msgstr "" -#: ../../../LangRef.rst:5779 +#: ../../../LangRef.rst:5821 msgid "" "``C``: A 32-bit unsigned integer constant or an integer inline constant in " "the range from -16 to 64." msgstr "" -#: ../../../LangRef.rst:5780 +#: ../../../LangRef.rst:5822 msgid "``DA``: A 64-bit constant that can be split into two \"A\" constants." msgstr "" -#: ../../../LangRef.rst:5781 +#: ../../../LangRef.rst:5823 msgid "``DB``: A 64-bit constant that can be split into two \"B\" constants." msgstr "" -#: ../../../LangRef.rst:5783 +#: ../../../LangRef.rst:5825 msgid "All ARM modes:" msgstr "" -#: ../../../LangRef.rst:5785 +#: ../../../LangRef.rst:5827 msgid "" "``Q``, ``Um``, ``Un``, ``Uq``, ``Us``, ``Ut``, ``Uv``, ``Uy``: Memory " "address operand. Treated the same as operand ``m``, at the moment." msgstr "" -#: ../../../LangRef.rst:5787 +#: ../../../LangRef.rst:5829 msgid "" "``Te``: An even general-purpose 32-bit integer register: ``r0,r2,...,r12," "r14``" msgstr "" -#: ../../../LangRef.rst:5788 +#: ../../../LangRef.rst:5830 msgid "" "``To``: An odd general-purpose 32-bit integer register: ``r1,r3,...,r11``" msgstr "" -#: ../../../LangRef.rst:5790 +#: ../../../LangRef.rst:5832 msgid "ARM and ARM's Thumb2 mode:" msgstr "" -#: ../../../LangRef.rst:5792 +#: ../../../LangRef.rst:5834 msgid "``j``: An immediate integer between 0 and 65535 (valid for ``MOVW``)" msgstr "" -#: ../../../LangRef.rst:5793 +#: ../../../LangRef.rst:5835 msgid "``I``: An immediate integer valid for a data-processing instruction." msgstr "" -#: ../../../LangRef.rst:5794 +#: ../../../LangRef.rst:5836 msgid "``J``: An immediate integer between -4095 and 4095." msgstr "" -#: ../../../LangRef.rst:5795 +#: ../../../LangRef.rst:5837 msgid "" "``K``: An immediate integer whose bitwise inverse is valid for a data-" "processing instruction. (Can be used with template modifier \"``B``\" to " "print the inverted value)." msgstr "" -#: ../../../LangRef.rst:5798 +#: ../../../LangRef.rst:5840 msgid "" "``L``: An immediate integer whose negation is valid for a data-processing " "instruction. (Can be used with template modifier \"``n``\" to print the " "negated value)." msgstr "" -#: ../../../LangRef.rst:5801 +#: ../../../LangRef.rst:5843 msgid "``M``: A power of two or an integer between 0 and 32." msgstr "" -#: ../../../LangRef.rst:5802 +#: ../../../LangRef.rst:5844 msgid "``N``: Invalid immediate constraint." msgstr "" -#: ../../../LangRef.rst:5803 +#: ../../../LangRef.rst:5845 msgid "``O``: Invalid immediate constraint." msgstr "" -#: ../../../LangRef.rst:5804 +#: ../../../LangRef.rst:5846 msgid "``r``: A general-purpose 32-bit integer register (``r0-r15``)." msgstr "" -#: ../../../LangRef.rst:5805 +#: ../../../LangRef.rst:5847 msgid "" "``l``: In Thumb2 mode, low 32-bit GPR registers (``r0-r7``). In ARM mode, " "same as ``r``." msgstr "" -#: ../../../LangRef.rst:5807 +#: ../../../LangRef.rst:5849 msgid "" "``h``: In Thumb2 mode, a high 32-bit GPR register (``r8-r15``). In ARM mode, " "invalid." msgstr "" -#: ../../../LangRef.rst:5809 ../../../LangRef.rst:5829 +#: ../../../LangRef.rst:5851 ../../../LangRef.rst:5871 msgid "" "``w``: A 32, 64, or 128-bit floating-point/SIMD register in the ranges ``s0-" "s31``, ``d0-d31``, or ``q0-q15``, respectively." msgstr "" -#: ../../../LangRef.rst:5811 ../../../LangRef.rst:5831 +#: ../../../LangRef.rst:5853 ../../../LangRef.rst:5873 msgid "" "``t``: A 32, 64, or 128-bit floating-point/SIMD register in the ranges ``s0-" "s31``, ``d0-d15``, or ``q0-q7``, respectively." msgstr "" -#: ../../../LangRef.rst:5813 ../../../LangRef.rst:5833 +#: ../../../LangRef.rst:5855 ../../../LangRef.rst:5875 msgid "" "``x``: A 32, 64, or 128-bit floating-point/SIMD register in the ranges ``s0-" "s15``, ``d0-d7``, or ``q0-q3``, respectively." msgstr "" -#: ../../../LangRef.rst:5816 +#: ../../../LangRef.rst:5858 msgid "ARM's Thumb1 mode:" msgstr "" -#: ../../../LangRef.rst:5818 +#: ../../../LangRef.rst:5860 msgid "``I``: An immediate integer between 0 and 255." msgstr "" -#: ../../../LangRef.rst:5819 +#: ../../../LangRef.rst:5861 msgid "``J``: An immediate integer between -255 and -1." msgstr "" -#: ../../../LangRef.rst:5820 +#: ../../../LangRef.rst:5862 msgid "" "``K``: An immediate integer between 0 and 255, with optional left-shift by " "some amount." msgstr "" -#: ../../../LangRef.rst:5822 +#: ../../../LangRef.rst:5864 msgid "``L``: An immediate integer between -7 and 7." msgstr "" -#: ../../../LangRef.rst:5823 +#: ../../../LangRef.rst:5865 msgid "" "``M``: An immediate integer which is a multiple of 4 between 0 and 1020." msgstr "" -#: ../../../LangRef.rst:5824 +#: ../../../LangRef.rst:5866 msgid "``N``: An immediate integer between 0 and 31." msgstr "" -#: ../../../LangRef.rst:5825 +#: ../../../LangRef.rst:5867 msgid "" "``O``: An immediate integer which is a multiple of 4 between -508 and 508." msgstr "" -#: ../../../LangRef.rst:5826 +#: ../../../LangRef.rst:5868 msgid "``r``: A low 32-bit GPR register (``r0-r7``)." msgstr "" -#: ../../../LangRef.rst:5827 +#: ../../../LangRef.rst:5869 msgid "``l``: A low 32-bit GPR register (``r0-r7``)." msgstr "" -#: ../../../LangRef.rst:5828 +#: ../../../LangRef.rst:5870 msgid "``h``: A high GPR register (``r0-r7``)." msgstr "" -#: ../../../LangRef.rst:5836 ../../../LangRef.rst:6089 +#: ../../../LangRef.rst:5878 ../../../LangRef.rst:6131 msgid "Hexagon:" msgstr "" -#: ../../../LangRef.rst:5838 +#: ../../../LangRef.rst:5880 msgid "" "``o``, ``v``: A memory address operand, treated the same as constraint " "``m``, at the moment." msgstr "" -#: ../../../LangRef.rst:5840 +#: ../../../LangRef.rst:5882 msgid "``r``: A 32 or 64-bit register." msgstr "" -#: ../../../LangRef.rst:5842 ../../../LangRef.rst:6100 +#: ../../../LangRef.rst:5884 ../../../LangRef.rst:6142 msgid "LoongArch:" msgstr "" -#: ../../../LangRef.rst:5844 +#: ../../../LangRef.rst:5886 msgid "``f``: A floating-point register (if available)." msgstr "" -#: ../../../LangRef.rst:5845 +#: ../../../LangRef.rst:5887 msgid "" "``k``: A memory operand whose address is formed by a base register and " "(optionally scaled) index register." msgstr "" -#: ../../../LangRef.rst:5847 +#: ../../../LangRef.rst:5889 msgid "``l``: A signed 16-bit constant." msgstr "" -#: ../../../LangRef.rst:5848 +#: ../../../LangRef.rst:5890 msgid "" "``m``: A memory operand whose address is formed by a base register and " "offset that is suitable for use in instructions with the same addressing " "mode as st.w and ld.w." msgstr "" -#: ../../../LangRef.rst:5851 +#: ../../../LangRef.rst:5893 msgid "" "``q``: A general-purpose register except for $r0 and $r1 (for the csrxchg " "instruction)." msgstr "" -#: ../../../LangRef.rst:5853 +#: ../../../LangRef.rst:5895 msgid "``I``: A signed 12-bit constant (for arithmetic instructions)." msgstr "" -#: ../../../LangRef.rst:5854 ../../../LangRef.rst:5869 +#: ../../../LangRef.rst:5896 ../../../LangRef.rst:5911 msgid "``J``: An immediate integer zero." msgstr "" -#: ../../../LangRef.rst:5855 +#: ../../../LangRef.rst:5897 msgid "``K``: An unsigned 12-bit constant (for logic instructions)." msgstr "" -#: ../../../LangRef.rst:5856 +#: ../../../LangRef.rst:5898 msgid "" "``ZB``: An address that is held in a general-purpose register. The offset is " "zero." msgstr "" -#: ../../../LangRef.rst:5858 +#: ../../../LangRef.rst:5900 msgid "" "``ZC``: A memory operand whose address is formed by a base register and " "offset that is suitable for use in instructions with the same addressing " "mode as ll.w and sc.w." msgstr "" -#: ../../../LangRef.rst:5862 ../../../LangRef.rst:6106 +#: ../../../LangRef.rst:5904 ../../../LangRef.rst:6148 msgid "MSP430:" msgstr "" -#: ../../../LangRef.rst:5864 +#: ../../../LangRef.rst:5906 msgid "``r``: An 8 or 16-bit register." msgstr "" -#: ../../../LangRef.rst:5866 ../../../LangRef.rst:6110 +#: ../../../LangRef.rst:5908 ../../../LangRef.rst:6152 msgid "MIPS:" msgstr "" -#: ../../../LangRef.rst:5868 ../../../LangRef.rst:5904 +#: ../../../LangRef.rst:5910 ../../../LangRef.rst:5946 msgid "``I``: An immediate signed 16-bit integer." msgstr "" -#: ../../../LangRef.rst:5870 ../../../LangRef.rst:5906 +#: ../../../LangRef.rst:5912 ../../../LangRef.rst:5948 msgid "``K``: An immediate unsigned 16-bit integer." msgstr "" -#: ../../../LangRef.rst:5871 +#: ../../../LangRef.rst:5913 msgid "``L``: An immediate 32-bit integer, where the lower 16 bits are 0." msgstr "" -#: ../../../LangRef.rst:5872 +#: ../../../LangRef.rst:5914 msgid "``N``: An immediate integer between -65535 and -1." msgstr "" -#: ../../../LangRef.rst:5873 +#: ../../../LangRef.rst:5915 msgid "``O``: An immediate signed 15-bit integer." msgstr "" -#: ../../../LangRef.rst:5874 +#: ../../../LangRef.rst:5916 msgid "``P``: An immediate integer between 1 and 65535." msgstr "" -#: ../../../LangRef.rst:5875 +#: ../../../LangRef.rst:5917 msgid "" "``m``: A memory address operand. In MIPS-SE mode, allows a base address " "register plus 16-bit immediate offset. In MIPS mode, just a base register." msgstr "" -#: ../../../LangRef.rst:5877 +#: ../../../LangRef.rst:5919 msgid "" "``R``: A memory address operand. In MIPS-SE mode, allows a base address " "register plus a 9-bit signed offset. In MIPS mode, the same as constraint " "``m``." msgstr "" -#: ../../../LangRef.rst:5880 +#: ../../../LangRef.rst:5922 msgid "" "``ZC``: A memory address operand, suitable for use in a ``pref``, ``ll``, or " "``sc`` instruction on the given subtarget (details vary)." msgstr "" -#: ../../../LangRef.rst:5882 +#: ../../../LangRef.rst:5924 msgid "``r``, ``d``, ``y``: A 32 or 64-bit GPR register." msgstr "" -#: ../../../LangRef.rst:5883 +#: ../../../LangRef.rst:5925 msgid "" "``f``: A 32 or 64-bit FPU register (``F0-F31``), or a 128-bit MSA register " "(``W0-W31``). In the case of MSA registers, it is recommended to use the " "``w`` argument modifier for compatibility with GCC." msgstr "" -#: ../../../LangRef.rst:5886 +#: ../../../LangRef.rst:5928 msgid "" "``c``: A 32-bit or 64-bit GPR register suitable for indirect jump (always " "``25``)." msgstr "" -#: ../../../LangRef.rst:5888 +#: ../../../LangRef.rst:5930 msgid "``l``: The ``lo`` register, 32 or 64-bit." msgstr "" -#: ../../../LangRef.rst:5889 +#: ../../../LangRef.rst:5931 msgid "``x``: Invalid." msgstr "" -#: ../../../LangRef.rst:5891 ../../../LangRef.rst:6135 +#: ../../../LangRef.rst:5933 ../../../LangRef.rst:6177 msgid "NVPTX:" msgstr "" -#: ../../../LangRef.rst:5893 +#: ../../../LangRef.rst:5935 msgid "``b``: A 1-bit integer register." msgstr "" -#: ../../../LangRef.rst:5894 +#: ../../../LangRef.rst:5936 msgid "``c`` or ``h``: A 16-bit integer register." msgstr "" -#: ../../../LangRef.rst:5895 ../../../LangRef.rst:5947 -#: ../../../LangRef.rst:6021 +#: ../../../LangRef.rst:5937 ../../../LangRef.rst:5989 +#: ../../../LangRef.rst:6063 msgid "``r``: A 32-bit integer register." msgstr "" -#: ../../../LangRef.rst:5896 +#: ../../../LangRef.rst:5938 msgid "``l`` or ``N``: A 64-bit integer register." msgstr "" -#: ../../../LangRef.rst:5897 +#: ../../../LangRef.rst:5939 msgid "``q``: A 128-bit integer register." msgstr "" -#: ../../../LangRef.rst:5898 +#: ../../../LangRef.rst:5940 msgid "``f``: A 32-bit float register." msgstr "" -#: ../../../LangRef.rst:5899 +#: ../../../LangRef.rst:5941 msgid "``d``: A 64-bit float register." msgstr "" -#: ../../../LangRef.rst:5902 ../../../LangRef.rst:6139 +#: ../../../LangRef.rst:5944 ../../../LangRef.rst:6181 msgid "PowerPC:" msgstr "" -#: ../../../LangRef.rst:5905 +#: ../../../LangRef.rst:5947 msgid "``J``: An immediate unsigned 16-bit integer, shifted left 16 bits." msgstr "" -#: ../../../LangRef.rst:5907 +#: ../../../LangRef.rst:5949 msgid "``L``: An immediate signed 16-bit integer, shifted left 16 bits." msgstr "" -#: ../../../LangRef.rst:5908 +#: ../../../LangRef.rst:5950 msgid "``M``: An immediate integer greater than 31." msgstr "" -#: ../../../LangRef.rst:5909 +#: ../../../LangRef.rst:5951 msgid "``N``: An immediate integer that is an exact power of 2." msgstr "" -#: ../../../LangRef.rst:5910 +#: ../../../LangRef.rst:5952 msgid "``O``: The immediate integer constant 0." msgstr "" -#: ../../../LangRef.rst:5911 +#: ../../../LangRef.rst:5953 msgid "" "``P``: An immediate integer constant whose negation is a signed 16-bit " "constant." msgstr "" -#: ../../../LangRef.rst:5913 +#: ../../../LangRef.rst:5955 msgid "" "``es``, ``o``, ``Q``, ``Z``, ``Zy``: A memory address operand, currently " "treated the same as ``m``." msgstr "" -#: ../../../LangRef.rst:5916 +#: ../../../LangRef.rst:5958 msgid "" "``b``: A 32 or 64-bit integer register, excluding ``R0`` (that is: ``R1-" "R31``)." msgstr "" -#: ../../../LangRef.rst:5918 +#: ../../../LangRef.rst:5960 msgid "``f``: A 32 or 64-bit float register (``F0-F31``)," msgstr "" -#: ../../../LangRef.rst:5920 +#: ../../../LangRef.rst:5962 msgid "``v``: For ``4 x f32`` or ``4 x f64`` types, a 128-bit altivec vector" msgstr "" -#: ../../../LangRef.rst:5920 +#: ../../../LangRef.rst:5962 msgid "register (``V0-V31``)." msgstr "" -#: ../../../LangRef.rst:5922 +#: ../../../LangRef.rst:5964 msgid "``y``: Condition register (``CR0-CR7``)." msgstr "" -#: ../../../LangRef.rst:5923 +#: ../../../LangRef.rst:5965 msgid "``wc``: An individual CR bit in a CR register." msgstr "" -#: ../../../LangRef.rst:5924 +#: ../../../LangRef.rst:5966 msgid "" "``wa``, ``wd``, ``wf``: Any 128-bit VSX vector register, from the full VSX " "register set (overlapping both the floating-point and vector register files)." msgstr "" -#: ../../../LangRef.rst:5926 +#: ../../../LangRef.rst:5968 msgid "" "``ws``: A 32 or 64-bit floating-point register, from the full VSX register " "set." msgstr "" -#: ../../../LangRef.rst:5929 ../../../LangRef.rst:6157 +#: ../../../LangRef.rst:5971 ../../../LangRef.rst:6199 msgid "RISC-V:" msgstr "" -#: ../../../LangRef.rst:5931 +#: ../../../LangRef.rst:5973 msgid "" "``A``: An address operand (using a general-purpose register, without an " "offset)." msgstr "" -#: ../../../LangRef.rst:5933 +#: ../../../LangRef.rst:5975 msgid "``I``: A 12-bit signed integer immediate operand." msgstr "" -#: ../../../LangRef.rst:5934 +#: ../../../LangRef.rst:5976 msgid "``J``: A zero integer immediate operand." msgstr "" -#: ../../../LangRef.rst:5935 +#: ../../../LangRef.rst:5977 msgid "``K``: A 5-bit unsigned integer immediate operand." msgstr "" -#: ../../../LangRef.rst:5936 +#: ../../../LangRef.rst:5978 msgid "" "``f``: A 32- or 64-bit floating-point register (requires F or D extension)." msgstr "" -#: ../../../LangRef.rst:5937 +#: ../../../LangRef.rst:5979 msgid "" "``r``: A 32- or 64-bit general-purpose register (depending on the platform " "``XLEN``)." msgstr "" -#: ../../../LangRef.rst:5939 +#: ../../../LangRef.rst:5981 msgid "``S``: Alias for ``s``." msgstr "" -#: ../../../LangRef.rst:5940 +#: ../../../LangRef.rst:5982 msgid "``vd``: A vector register, excluding ``v0`` (requires V extension)." msgstr "" -#: ../../../LangRef.rst:5941 +#: ../../../LangRef.rst:5983 msgid "``vm``: The vector register ``v0`` (requires V extension)." msgstr "" -#: ../../../LangRef.rst:5942 +#: ../../../LangRef.rst:5984 msgid "``vr``: A vector register (requires V extension)." msgstr "" -#: ../../../LangRef.rst:5944 ../../../LangRef.rst:6164 +#: ../../../LangRef.rst:5986 ../../../LangRef.rst:6206 msgid "Sparc:" msgstr "" -#: ../../../LangRef.rst:5946 +#: ../../../LangRef.rst:5988 msgid "``I``: An immediate 13-bit signed integer." msgstr "" -#: ../../../LangRef.rst:5948 +#: ../../../LangRef.rst:5990 msgid "" "``f``: Any floating-point register on SparcV8, or a floating-point register " "in the \"low\" half of the registers on SparcV9." msgstr "" -#: ../../../LangRef.rst:5950 +#: ../../../LangRef.rst:5992 msgid "``e``: Any floating-point register. (Same as ``f`` on SparcV8.)" msgstr "" -#: ../../../LangRef.rst:5952 ../../../LangRef.rst:6170 +#: ../../../LangRef.rst:5994 ../../../LangRef.rst:6212 msgid "SystemZ:" msgstr "" -#: ../../../LangRef.rst:5954 +#: ../../../LangRef.rst:5996 msgid "``I``: An immediate unsigned 8-bit integer." msgstr "" -#: ../../../LangRef.rst:5955 +#: ../../../LangRef.rst:5997 msgid "``J``: An immediate unsigned 12-bit integer." msgstr "" -#: ../../../LangRef.rst:5956 +#: ../../../LangRef.rst:5998 msgid "``K``: An immediate signed 16-bit integer." msgstr "" -#: ../../../LangRef.rst:5957 +#: ../../../LangRef.rst:5999 msgid "``L``: An immediate signed 20-bit integer." msgstr "" -#: ../../../LangRef.rst:5958 +#: ../../../LangRef.rst:6000 msgid "``M``: An immediate integer 0x7fffffff." msgstr "" -#: ../../../LangRef.rst:5959 +#: ../../../LangRef.rst:6001 msgid "" "``Q``: A memory address operand with a base address and a 12-bit immediate " "unsigned displacement." msgstr "" -#: ../../../LangRef.rst:5961 +#: ../../../LangRef.rst:6003 msgid "" "``R``: A memory address operand with a base address, a 12-bit immediate " "unsigned displacement, and an index register." msgstr "" -#: ../../../LangRef.rst:5963 +#: ../../../LangRef.rst:6005 msgid "" "``S``: A memory address operand with a base address and a 20-bit immediate " "signed displacement." msgstr "" -#: ../../../LangRef.rst:5965 +#: ../../../LangRef.rst:6007 msgid "" "``T``: A memory address operand with a base address, a 20-bit immediate " "signed displacement, and an index register." msgstr "" -#: ../../../LangRef.rst:5967 +#: ../../../LangRef.rst:6009 msgid "``r`` or ``d``: A 32, 64, or 128-bit integer register." msgstr "" -#: ../../../LangRef.rst:5968 +#: ../../../LangRef.rst:6010 msgid "" "``a``: A 32, 64, or 128-bit integer address register (excludes R0, which in " "an address context evaluates as zero)." msgstr "" -#: ../../../LangRef.rst:5970 +#: ../../../LangRef.rst:6012 msgid "" "``h``: A 32-bit value in the high part of a 64bit data register (LLVM-" "specific)" msgstr "" -#: ../../../LangRef.rst:5972 +#: ../../../LangRef.rst:6014 msgid "``f``: A 16, 32, 64, or 128-bit floating-point register." msgstr "" -#: ../../../LangRef.rst:5974 ../../../LangRef.rst:6175 +#: ../../../LangRef.rst:6016 ../../../LangRef.rst:6217 msgid "X86:" msgstr "" -#: ../../../LangRef.rst:5976 +#: ../../../LangRef.rst:6018 msgid "``I``: An immediate integer between 0 and 31." msgstr "" -#: ../../../LangRef.rst:5977 +#: ../../../LangRef.rst:6019 msgid "``J``: An immediate integer between 0 and 64." msgstr "" -#: ../../../LangRef.rst:5978 +#: ../../../LangRef.rst:6020 msgid "``K``: An immediate signed 8-bit integer." msgstr "" -#: ../../../LangRef.rst:5979 +#: ../../../LangRef.rst:6021 msgid "" "``L``: An immediate integer, 0xff or 0xffff or (in 64-bit mode only) " "0xffffffff." msgstr "" -#: ../../../LangRef.rst:5981 +#: ../../../LangRef.rst:6023 msgid "``M``: An immediate integer between 0 and 3." msgstr "" -#: ../../../LangRef.rst:5982 +#: ../../../LangRef.rst:6024 msgid "``N``: An immediate unsigned 8-bit integer." msgstr "" -#: ../../../LangRef.rst:5983 +#: ../../../LangRef.rst:6025 msgid "``O``: An immediate integer between 0 and 127." msgstr "" -#: ../../../LangRef.rst:5984 +#: ../../../LangRef.rst:6026 msgid "``e``: An immediate 32-bit signed integer." msgstr "" -#: ../../../LangRef.rst:5985 +#: ../../../LangRef.rst:6027 msgid "``Z``: An immediate 32-bit unsigned integer." msgstr "" -#: ../../../LangRef.rst:5986 +#: ../../../LangRef.rst:6028 msgid "" "``q``: An 8, 16, 32, or 64-bit register which can be accessed as an 8-bit " "``l`` integer register. On X86-32, this is the ``a``, ``b``, ``c``, and " @@ -9433,33 +9481,33 @@ msgid "" "to gpr32." msgstr "" -#: ../../../LangRef.rst:5990 +#: ../../../LangRef.rst:6032 msgid "" "``Q``: An 8, 16, 32, or 64-bit register which can be accessed as an 8-bit " "``h`` integer register. This is the ``a``, ``b``, ``c``, and ``d`` registers." msgstr "" -#: ../../../LangRef.rst:5992 +#: ../../../LangRef.rst:6034 msgid "" "``r`` or ``l``: An 8, 16, 32, or 64-bit integer register. When feature " "`egpr` and `inline-asm-use-gpr32` are both on, it will be extended to gpr32." msgstr "" -#: ../../../LangRef.rst:5994 +#: ../../../LangRef.rst:6036 msgid "" "``R``: An 8, 16, 32, or 64-bit \"legacy\" integer register -- one which has " "existed since i386, and can be accessed without the REX prefix." msgstr "" -#: ../../../LangRef.rst:5996 +#: ../../../LangRef.rst:6038 msgid "``f``: A 32, 64, or 80-bit '387 FPU stack pseudo-register." msgstr "" -#: ../../../LangRef.rst:5997 +#: ../../../LangRef.rst:6039 msgid "``y``: A 64-bit MMX register, if MMX is enabled." msgstr "" -#: ../../../LangRef.rst:5998 +#: ../../../LangRef.rst:6040 msgid "" "``v``: If SSE is enabled: a 32 or 64-bit scalar operand, or 128-bit vector " "operand in a SSE register. If AVX is also enabled, can also be a 256-bit " @@ -9467,24 +9515,24 @@ msgid "" "512-bit vector operand in an AVX512 register. Otherwise, an error." msgstr "" -#: ../../../LangRef.rst:6002 +#: ../../../LangRef.rst:6044 msgid "" "``Ws``: A symbolic reference with an optional constant addend or a label " "reference." msgstr "" -#: ../../../LangRef.rst:6004 +#: ../../../LangRef.rst:6046 msgid "" "``x``: The same as ``v``, except that when AVX-512 is enabled, the ``x`` " "code only allocates into the first 16 AVX-512 registers, while the ``v`` " "code allocates into any of the 32 AVX-512 registers." msgstr "" -#: ../../../LangRef.rst:6007 +#: ../../../LangRef.rst:6049 msgid "``Y``: The same as ``x``, if *SSE2* is enabled, otherwise an error." msgstr "" -#: ../../../LangRef.rst:6008 +#: ../../../LangRef.rst:6050 msgid "" "``A``: Special case: allocates EAX first, then EDX, for a single operand (in " "32-bit mode, a 64-bit integer operand will get split into two registers). It " @@ -9494,33 +9542,33 @@ msgid "" "statement." msgstr "" -#: ../../../LangRef.rst:6014 +#: ../../../LangRef.rst:6056 msgid "" "``jr``: An 8, 16, 32, or 64-bit integer gpr16. It won't be extended to gpr32 " "when feature `egpr` or `inline-asm-use-gpr32` is on." msgstr "" -#: ../../../LangRef.rst:6016 +#: ../../../LangRef.rst:6058 msgid "" "``jR``: An 8, 16, 32, or 64-bit integer gpr32 when feature `egpr`` is on. " "Otherwise, same as ``r``." msgstr "" -#: ../../../LangRef.rst:6019 ../../../LangRef.rst:6203 +#: ../../../LangRef.rst:6061 ../../../LangRef.rst:6245 msgid "XCore:" msgstr "" -#: ../../../LangRef.rst:6027 +#: ../../../LangRef.rst:6069 msgid "Asm template argument modifiers" msgstr "" -#: ../../../LangRef.rst:6029 +#: ../../../LangRef.rst:6071 msgid "" "In the asm template string, modifiers can be used on the operand reference, " "like \"``${0:n}``\"." msgstr "" -#: ../../../LangRef.rst:6032 +#: ../../../LangRef.rst:6074 msgid "" "The modifiers are, in general, expected to behave the same way they do in " "GCC. LLVM's support is often implemented on an 'as-needed' basis, to support " @@ -9528,191 +9576,191 @@ msgid "" "LLVM and GCC likely indicates a bug in LLVM." msgstr "" -#: ../../../LangRef.rst:6037 +#: ../../../LangRef.rst:6079 msgid "Target-independent:" msgstr "" -#: ../../../LangRef.rst:6039 +#: ../../../LangRef.rst:6081 msgid "``a``: Print a memory reference. Targets might customize the output." msgstr "" -#: ../../../LangRef.rst:6040 +#: ../../../LangRef.rst:6082 msgid "" "``c``: Print an immediate integer constant unadorned, without the target-" "specific immediate punctuation (e.g., no ``$`` prefix)." msgstr "" -#: ../../../LangRef.rst:6042 +#: ../../../LangRef.rst:6084 msgid "" "``n``: Negate and print immediate integer constant unadorned, without the " "target-specific immediate punctuation (e.g., no ``$`` prefix)." msgstr "" -#: ../../../LangRef.rst:6044 +#: ../../../LangRef.rst:6086 msgid "" "``l``: Print as an unadorned label, without the target-specific label " "punctuation (e.g., no ``$`` prefix)." msgstr "" -#: ../../../LangRef.rst:6049 +#: ../../../LangRef.rst:6091 msgid "" "``w``: Print a GPR register with a ``w*`` name instead of ``x*`` name. E.g., " "instead of ``x30``, print ``w30``." msgstr "" -#: ../../../LangRef.rst:6051 +#: ../../../LangRef.rst:6093 msgid "" "``x``: Print a GPR register with a ``x*`` name. (this is the default, " "anyhow)." msgstr "" -#: ../../../LangRef.rst:6052 +#: ../../../LangRef.rst:6094 msgid "" "``b``, ``h``, ``s``, ``d``, ``q``: Print a floating-point/SIMD register with " "a ``b*``, ``h*``, ``s*``, ``d*``, or ``q*`` name, rather than the default of " "``v*``." msgstr "" -#: ../../../LangRef.rst:6058 ../../../LangRef.rst:6137 -#: ../../../LangRef.rst:6168 +#: ../../../LangRef.rst:6100 ../../../LangRef.rst:6179 +#: ../../../LangRef.rst:6210 msgid "``r``: No effect." msgstr "" -#: ../../../LangRef.rst:6060 +#: ../../../LangRef.rst:6102 msgid "ARM:" msgstr "" -#: ../../../LangRef.rst:6062 +#: ../../../LangRef.rst:6104 msgid "" "``a``: Print an operand as an address (with ``[`` and ``]`` surrounding a " "register)." msgstr "" -#: ../../../LangRef.rst:6064 +#: ../../../LangRef.rst:6106 msgid "``P``: No effect." msgstr "" -#: ../../../LangRef.rst:6065 +#: ../../../LangRef.rst:6107 msgid "``q``: No effect." msgstr "" -#: ../../../LangRef.rst:6066 +#: ../../../LangRef.rst:6108 msgid "" "``y``: Print a VFP single-precision register as an indexed double (e.g., " "print as ``d4[1]`` instead of ``s9``)" msgstr "" -#: ../../../LangRef.rst:6068 +#: ../../../LangRef.rst:6110 msgid "" "``B``: Bitwise invert and print an immediate integer constant without ``#`` " "prefix." msgstr "" -#: ../../../LangRef.rst:6070 +#: ../../../LangRef.rst:6112 msgid "``L``: Print the low 16-bits of an immediate integer constant." msgstr "" -#: ../../../LangRef.rst:6071 +#: ../../../LangRef.rst:6113 msgid "" "``M``: Print as a register set suitable for ldm/stm. Also prints *all* " "register operands subsequent to the specified one (!), so use carefully." msgstr "" -#: ../../../LangRef.rst:6073 +#: ../../../LangRef.rst:6115 msgid "" "``Q``: Print the low-order register of a register-pair, or the low-order " "register of a two-register operand." msgstr "" -#: ../../../LangRef.rst:6075 +#: ../../../LangRef.rst:6117 msgid "" "``R``: Print the high-order register of a register-pair, or the high-order " "register of a two-register operand." msgstr "" -#: ../../../LangRef.rst:6077 +#: ../../../LangRef.rst:6119 msgid "" "``H``: Print the second register of a register-pair. (On a big-endian " "system, ``H`` is equivalent to ``Q``, and on little-endian system, ``H`` is " "equivalent to ``R``.)" msgstr "" -#: ../../../LangRef.rst:6084 +#: ../../../LangRef.rst:6126 msgid "``e``: Print the low doubleword register of a NEON quad register." msgstr "" -#: ../../../LangRef.rst:6085 +#: ../../../LangRef.rst:6127 msgid "``f``: Print the high doubleword register of a NEON quad register." msgstr "" -#: ../../../LangRef.rst:6086 +#: ../../../LangRef.rst:6128 msgid "" "``m``: Print the base register of a memory operand without the ``[`` and " "``]`` adornment." msgstr "" -#: ../../../LangRef.rst:6091 ../../../LangRef.rst:6141 +#: ../../../LangRef.rst:6133 ../../../LangRef.rst:6183 msgid "" "``L``: Print the second register of a two-register operand. Requires that it " "has been allocated consecutively to the first." msgstr "" -#: ../../../LangRef.rst:6097 ../../../LangRef.rst:6147 +#: ../../../LangRef.rst:6139 ../../../LangRef.rst:6189 msgid "" "``I``: Print the letter 'i' if the operand is an integer constant, otherwise " "nothing. Used to print 'addi' vs 'add' instructions." msgstr "" -#: ../../../LangRef.rst:6102 +#: ../../../LangRef.rst:6144 msgid "``u``: Print an LASX register." msgstr "" -#: ../../../LangRef.rst:6103 +#: ../../../LangRef.rst:6145 msgid "``w``: Print an LSX register." msgstr "" -#: ../../../LangRef.rst:6104 +#: ../../../LangRef.rst:6146 msgid "" "``z``: Print $zero register if operand is zero, otherwise print it normally." msgstr "" -#: ../../../LangRef.rst:6108 ../../../LangRef.rst:6205 +#: ../../../LangRef.rst:6150 ../../../LangRef.rst:6247 msgid "No additional modifiers." msgstr "" -#: ../../../LangRef.rst:6112 +#: ../../../LangRef.rst:6154 msgid "``X``: Print an immediate integer as hexadecimal" msgstr "" -#: ../../../LangRef.rst:6113 +#: ../../../LangRef.rst:6155 msgid "``x``: Print the low 16 bits of an immediate integer as hexadecimal." msgstr "" -#: ../../../LangRef.rst:6114 +#: ../../../LangRef.rst:6156 msgid "``d``: Print an immediate integer as decimal." msgstr "" -#: ../../../LangRef.rst:6115 +#: ../../../LangRef.rst:6157 msgid "``m``: Subtract one and print an immediate integer as decimal." msgstr "" -#: ../../../LangRef.rst:6116 +#: ../../../LangRef.rst:6158 msgid "``z``: Print $0 if an immediate zero, otherwise print normally." msgstr "" -#: ../../../LangRef.rst:6117 +#: ../../../LangRef.rst:6159 msgid "" "``L``: Print the low-order register of a two-register operand, or prints the " "address of the low-order word of a double-word memory operand." msgstr "" -#: ../../../LangRef.rst:6122 +#: ../../../LangRef.rst:6164 msgid "" "``M``: Print the high-order register of a two-register operand, or prints " "the address of the high-order word of a double-word memory operand." msgstr "" -#: ../../../LangRef.rst:6127 +#: ../../../LangRef.rst:6169 msgid "" "``D``: Print the second register of a two-register operand, or prints the " "second word of a double-word memory operand. (On a big-endian system, ``D`` " @@ -9720,106 +9768,106 @@ msgid "" "``M``.)" msgstr "" -#: ../../../LangRef.rst:6131 +#: ../../../LangRef.rst:6173 msgid "" "``w``: No effect. Provided for compatibility with GCC which requires this " "modifier in order to print MSA registers (``W0-W31``) with the ``f`` " "constraint." msgstr "" -#: ../../../LangRef.rst:6149 +#: ../../../LangRef.rst:6191 msgid "" "``y``: For a memory operand, prints formatter for a two-register X-form " "instruction. (Currently always prints ``r0,OPERAND``)." msgstr "" -#: ../../../LangRef.rst:6151 +#: ../../../LangRef.rst:6193 msgid "" "``U``: Prints 'u' if the memory operand is an update form, and nothing " "otherwise. (NOTE: LLVM does not support update form, so this will currently " "always print nothing)" msgstr "" -#: ../../../LangRef.rst:6154 +#: ../../../LangRef.rst:6196 msgid "" "``X``: Prints 'x' if the memory operand is an indexed form. (NOTE: LLVM does " "not support indexed form, so this will currently always print nothing)" msgstr "" -#: ../../../LangRef.rst:6159 +#: ../../../LangRef.rst:6201 msgid "" "``i``: Print the letter 'i' if the operand is not a register, otherwise " "print nothing. Used to print 'addi' vs 'add' instructions, etc." msgstr "" -#: ../../../LangRef.rst:6161 +#: ../../../LangRef.rst:6203 msgid "" "``z``: Print the register ``zero`` if an immediate zero, otherwise print " "normally." msgstr "" -#: ../../../LangRef.rst:6166 +#: ../../../LangRef.rst:6208 msgid "``L``: Print the low-order register of a two-register operand." msgstr "" -#: ../../../LangRef.rst:6167 +#: ../../../LangRef.rst:6209 msgid "``H``: Print the high-order register of a two-register operand." msgstr "" -#: ../../../LangRef.rst:6172 +#: ../../../LangRef.rst:6214 msgid "" "SystemZ implements only ``n``, and does *not* support any of the other " "target-independent modifiers." msgstr "" -#: ../../../LangRef.rst:6177 +#: ../../../LangRef.rst:6219 msgid "" "``a``: Print a memory reference. This displays as ``sym(%rip)`` for x86-64. " "i386 should only use this with the static relocation model." msgstr "" -#: ../../../LangRef.rst:6179 +#: ../../../LangRef.rst:6221 msgid "" "``c``: Print an unadorned integer or symbol name. (The latter is target-" "specific behavior for this typically target-independent modifier)." msgstr "" -#: ../../../LangRef.rst:6181 +#: ../../../LangRef.rst:6223 msgid "``A``: Print a register name with a '``*``' before it." msgstr "" -#: ../../../LangRef.rst:6182 +#: ../../../LangRef.rst:6224 msgid "" "``b``: Print an 8-bit register name (e.g., ``al``); do nothing on a memory " "operand." msgstr "" -#: ../../../LangRef.rst:6184 +#: ../../../LangRef.rst:6226 msgid "" "``h``: Print the upper 8-bit register name (e.g., ``ah``); do nothing on a " "memory operand." msgstr "" -#: ../../../LangRef.rst:6186 +#: ../../../LangRef.rst:6228 msgid "" "``w``: Print the 16-bit register name (e.g., ``ax``); do nothing on a memory " "operand." msgstr "" -#: ../../../LangRef.rst:6188 +#: ../../../LangRef.rst:6230 msgid "" "``k``: Print the 32-bit register name (e.g., ``eax``); do nothing on a " "memory operand." msgstr "" -#: ../../../LangRef.rst:6190 +#: ../../../LangRef.rst:6232 msgid "" "``q``: Print the 64-bit register name (e.g., ``rax``), if 64-bit registers " "are available, otherwise the 32-bit register name; do nothing on a memory " "operand." msgstr "" -#: ../../../LangRef.rst:6192 +#: ../../../LangRef.rst:6234 msgid "" "``n``: Negate and print an unadorned integer, or, for operands other than an " "immediate integer (e.g., a relocatable symbol expression), print a '-' " @@ -9827,15 +9875,15 @@ msgid "" "target-specific behavior for this typically target-independent modifier)" msgstr "" -#: ../../../LangRef.rst:6196 +#: ../../../LangRef.rst:6238 msgid "``H``: Print a memory reference with additional offset +8." msgstr "" -#: ../../../LangRef.rst:6197 +#: ../../../LangRef.rst:6239 msgid "``p``: Print a raw symbol name (without syntax-specific prefixes)." msgstr "" -#: ../../../LangRef.rst:6198 +#: ../../../LangRef.rst:6240 msgid "" "``P``: Print a memory reference used as the argument of a call instruction " "or used with explicit base reg and index reg as its offset. So it can not " @@ -9843,11 +9891,11 @@ msgid "" "even though it's PC-relative.)" msgstr "" -#: ../../../LangRef.rst:6209 +#: ../../../LangRef.rst:6251 msgid "Inline Asm Metadata" msgstr "" -#: ../../../LangRef.rst:6211 +#: ../../../LangRef.rst:6253 msgid "" "The call instructions that wrap inline asm nodes may have a \"``!srcloc``\" " "MDNode attached to it that contains a list of constant integers. If present, " @@ -9857,134 +9905,134 @@ msgid "" "asm back to the source code that produced it. For example:" msgstr "" -#: ../../../LangRef.rst:6225 +#: ../../../LangRef.rst:6267 msgid "" "It is up to the front-end to make sense of the magic numbers it places in " "the IR. If the MDNode contains multiple constants, the code generator will " "use the one that corresponds to the line of the asm that the error occurs on." msgstr "" -#: ../../../LangRef.rst:6233 +#: ../../../LangRef.rst:6275 msgid "Metadata" msgstr "" -#: ../../../LangRef.rst:6235 +#: ../../../LangRef.rst:6277 msgid "" "LLVM IR allows metadata to be attached to instructions and global objects in " "the program that can convey extra information about the code to the " "optimizers and code generator." msgstr "" -#: ../../../LangRef.rst:6239 +#: ../../../LangRef.rst:6281 msgid "" "There are two metadata primitives: strings and nodes. There are also " "specialized nodes which have a distinguished name and a set of named " "arguments." msgstr "" -#: ../../../LangRef.rst:6245 +#: ../../../LangRef.rst:6287 msgid "" "One example application of metadata is source-level debug information, which " "is currently the only user of specialized nodes." msgstr "" -#: ../../../LangRef.rst:6248 +#: ../../../LangRef.rst:6290 msgid "Metadata does not have a type, and is not a value." msgstr "" -#: ../../../LangRef.rst:6250 +#: ../../../LangRef.rst:6292 msgid "" "A value of non-\\ ``metadata`` type can be used in a metadata context using " "the syntax '`` ``'." msgstr "" -#: ../../../LangRef.rst:6253 +#: ../../../LangRef.rst:6295 msgid "" "All other metadata is identified in syntax as starting with an exclamation " "point ('``!``')." msgstr "" -#: ../../../LangRef.rst:6256 +#: ../../../LangRef.rst:6298 msgid "" "Metadata may be used in the following value contexts by using the " "``metadata`` type:" msgstr "" -#: ../../../LangRef.rst:6259 +#: ../../../LangRef.rst:6301 msgid "" "Arguments to certain intrinsic functions, as described in their " "specification." msgstr "" -#: ../../../LangRef.rst:6260 +#: ../../../LangRef.rst:6302 msgid "Arguments to the ``catchpad``/``cleanuppad`` instructions." msgstr "" -#: ../../../LangRef.rst:6264 +#: ../../../LangRef.rst:6306 msgid "" "Metadata can be \"wrapped\" in a ``MetadataAsValue`` so it can be referenced " "in a value context: ``MetadataAsValue`` is-a ``Value``." msgstr "" -#: ../../../LangRef.rst:6267 +#: ../../../LangRef.rst:6309 msgid "" "A typed value can be \"wrapped\" in ``ValueAsMetadata`` so it can be " "referenced in a metadata context: ``ValueAsMetadata`` is-a ``Metadata``." msgstr "" -#: ../../../LangRef.rst:6270 +#: ../../../LangRef.rst:6312 msgid "" "There is no explicit syntax for a ``ValueAsMetadata``, and instead the fact " "that a type identifier cannot begin with an exclamation point is used to " "resolve ambiguity." msgstr "" -#: ../../../LangRef.rst:6274 +#: ../../../LangRef.rst:6316 msgid "" "A ``metadata`` type implies a ``MetadataAsValue``, and when followed with a " "'`` ``' pair it wraps the typed value in a ``ValueAsMetadata``." msgstr "" -#: ../../../LangRef.rst:6277 +#: ../../../LangRef.rst:6319 msgid "" "For example, the first argument to this call is a " "``MetadataAsValue(ValueAsMetadata(Value))``:" msgstr "" -#: ../../../LangRef.rst:6284 +#: ../../../LangRef.rst:6326 msgid "" "Whereas the first argument to this call is a ``MetadataAsValue(MDNode)``:" msgstr "" -#: ../../../LangRef.rst:6290 +#: ../../../LangRef.rst:6332 msgid "The first element of this ``MDTuple`` is a ``MDNode``:" msgstr "" -#: ../../../LangRef.rst:6296 +#: ../../../LangRef.rst:6338 msgid "" "And the first element of this ``MDTuple`` is a ``ValueAsMetadata(Value)``:" msgstr "" -#: ../../../LangRef.rst:6305 +#: ../../../LangRef.rst:6347 msgid "Metadata Strings (``MDString``)" msgstr "" -#: ../../../LangRef.rst:6310 +#: ../../../LangRef.rst:6352 msgid "" "A metadata string is a string surrounded by double quotes. It can contain " "any character by escaping non-printable characters with \"``\\xx``\" where " "\"``xx``\" is the two digit hex code. For example: \"``!\"test\\00\"``\"." msgstr "" -#: ../../../LangRef.rst:6317 +#: ../../../LangRef.rst:6359 msgid "A metadata string is metadata, but is not a metadata node." msgstr "" -#: ../../../LangRef.rst:6322 +#: ../../../LangRef.rst:6364 msgid "Metadata Nodes (``MDNode``)" msgstr "" -#: ../../../LangRef.rst:6327 +#: ../../../LangRef.rst:6369 msgid "" "Metadata tuples are represented with notation similar to structure " "constants: a comma separated list of elements, surrounded by braces and " @@ -9992,99 +10040,99 @@ msgid "" "their operand. For example:" msgstr "" -#: ../../../LangRef.rst:6336 +#: ../../../LangRef.rst:6378 msgid "" "Metadata nodes that aren't uniqued use the ``distinct`` keyword. For example:" msgstr "" -#: ../../../LangRef.rst:6342 +#: ../../../LangRef.rst:6384 msgid "" "``distinct`` nodes are useful when nodes shouldn't be merged based on their " "content. They can also occur when transformations cause uniquing collisions " "when metadata operands change." msgstr "" -#: ../../../LangRef.rst:6346 +#: ../../../LangRef.rst:6388 msgid "" "A :ref:`named metadata ` is a collection of metadata " "nodes, which can be looked up in the module symbol table. For example:" msgstr "" -#: ../../../LangRef.rst:6354 +#: ../../../LangRef.rst:6396 msgid "" "Metadata can be used as function arguments. Here the ``llvm.dbg.value`` " "intrinsic is using three metadata arguments:" msgstr "" -#: ../../../LangRef.rst:6367 +#: ../../../LangRef.rst:6409 msgid "" "Metadata can be attached to an instruction. Here metadata ``!21`` is " "attached to the ``add`` instruction using the ``!dbg`` identifier:" msgstr "" -#: ../../../LangRef.rst:6374 +#: ../../../LangRef.rst:6416 msgid "" "Instructions may not have multiple metadata attachments with the same " "identifier." msgstr "" -#: ../../../LangRef.rst:6377 +#: ../../../LangRef.rst:6419 msgid "" "Metadata can also be attached to a function or a global variable. Here " "metadata ``!22`` is attached to the ``f1`` and ``f2`` functions, and the " "globals ``g1`` and ``g2`` using the ``!dbg`` identifier:" msgstr "" -#: ../../../LangRef.rst:6391 +#: ../../../LangRef.rst:6433 msgid "" "Unlike instructions, global objects (functions and global variables) may " "have multiple metadata attachments with the same identifier." msgstr "" -#: ../../../LangRef.rst:6394 +#: ../../../LangRef.rst:6436 msgid "" "A transformation is required to drop any metadata attachment that it does " "not recognize or cannot preserve. Currently there is an exception for " "metadata attachment to globals for ``!func_sanitize``, ``!type``, ``!" -"absolute_symbol`` and ``!associated`` which can't be unconditionally dropped " -"unless the global is itself deleted." +"absolute_symbol``, ``!implicit.ref`` and ``!associated`` which can't be " +"unconditionally dropped unless the global is itself deleted." msgstr "" -#: ../../../LangRef.rst:6400 +#: ../../../LangRef.rst:6442 msgid "" "Metadata attached to a module using named metadata may not be dropped, with " "the exception of debug metadata (named metadata with the name ``!llvm.dbg." "*``)." msgstr "" -#: ../../../LangRef.rst:6403 +#: ../../../LangRef.rst:6445 msgid "" "More information about specific metadata nodes recognized by the optimizers " "and code generator is found below." msgstr "" -#: ../../../LangRef.rst:6409 +#: ../../../LangRef.rst:6451 msgid "Specialized Metadata Nodes" msgstr "" -#: ../../../LangRef.rst:6411 +#: ../../../LangRef.rst:6453 msgid "" "Specialized metadata nodes are custom data structures in metadata (as " "opposed to generic tuples). Their fields are labelled, and can be specified " "in any order." msgstr "" -#: ../../../LangRef.rst:6415 +#: ../../../LangRef.rst:6457 msgid "" "These aren't inherently debug info centric, but currently all the " "specialized metadata nodes are related to debug info." msgstr "" -#: ../../../LangRef.rst:6421 +#: ../../../LangRef.rst:6463 msgid "DICompileUnit" msgstr "" -#: ../../../LangRef.rst:6423 +#: ../../../LangRef.rst:6465 msgid "" "``DICompileUnit`` nodes represent a compile unit. The ``enums:``, " "``retainedTypes:``, ``globals:``, ``imports:`` and ``macros:`` fields are " @@ -10095,7 +10143,7 @@ msgid "" "to provide more-accurate debug info for profiling results." msgstr "" -#: ../../../LangRef.rst:6439 +#: ../../../LangRef.rst:6481 msgid "" "Compile unit descriptors provide the root scope for objects declared in a " "specific compilation unit. File descriptors are defined using this scope. " @@ -10104,49 +10152,49 @@ msgid "" "(declarations and namespaces)." msgstr "" -#: ../../../LangRef.rst:6448 +#: ../../../LangRef.rst:6490 msgid "DIFile" msgstr "" -#: ../../../LangRef.rst:6450 +#: ../../../LangRef.rst:6492 msgid "" "``DIFile`` nodes represent files. The ``filename:`` can include slashes." msgstr "" -#: ../../../LangRef.rst:6458 +#: ../../../LangRef.rst:6500 msgid "" "Files are sometimes used in ``scope:`` fields, and are the only valid target " "for ``file:`` fields." msgstr "" -#: ../../../LangRef.rst:6461 +#: ../../../LangRef.rst:6503 msgid "" "The ``checksum:`` and ``checksumkind:`` fields are optional. If one of these " "fields is present, then the other is required to be present as well. Valid " "values for ``checksumkind:`` field are: {CSK_MD5, CSK_SHA1, CSK_SHA256}" msgstr "" -#: ../../../LangRef.rst:6468 +#: ../../../LangRef.rst:6510 msgid "DIBasicType" msgstr "" -#: ../../../LangRef.rst:6470 +#: ../../../LangRef.rst:6512 msgid "" "``DIBasicType`` nodes represent primitive types, such as ``int``, ``bool`` " "and ``float``. ``tag:`` defaults to ``DW_TAG_base_type``." msgstr "" -#: ../../../LangRef.rst:6479 +#: ../../../LangRef.rst:6521 msgid "" "The ``encoding:`` describes the details of the type. Usually it's one of the " "following:" msgstr "" -#: ../../../LangRef.rst:6495 +#: ../../../LangRef.rst:6537 msgid "DIFixedPointType" msgstr "" -#: ../../../LangRef.rst:6497 +#: ../../../LangRef.rst:6539 msgid "" "``DIFixedPointType`` nodes represent fixed-point types. A fixed-point type " "is conceptually an integer with a scale factor. ``DIFixedPointType`` is " @@ -10154,18 +10202,18 @@ msgid "" "certain encodings are accepted:" msgstr "" -#: ../../../LangRef.rst:6507 +#: ../../../LangRef.rst:6549 msgid "" "There are three kinds of fixed-point type: binary, where the scale factor is " "a power of 2; decimal, where the scale factor is a power of 10; and " "rational, where the scale factor is an arbitrary rational number." msgstr "" -#: ../../../LangRef.rst:6524 +#: ../../../LangRef.rst:6566 msgid "DISubroutineType" msgstr "" -#: ../../../LangRef.rst:6526 +#: ../../../LangRef.rst:6568 msgid "" "``DISubroutineType`` nodes represent subroutine types. Their ``types:`` " "field refers to a tuple; the first operand is the return type, while the " @@ -10174,21 +10222,21 @@ msgid "" "foo() {}`` in C++)." msgstr "" -#: ../../../LangRef.rst:6540 +#: ../../../LangRef.rst:6582 msgid "DIDerivedType" msgstr "" -#: ../../../LangRef.rst:6542 +#: ../../../LangRef.rst:6584 msgid "" "``DIDerivedType`` nodes represent types derived from other types, such as " "qualified types." msgstr "" -#: ../../../LangRef.rst:6552 ../../../LangRef.rst:6617 +#: ../../../LangRef.rst:6594 ../../../LangRef.rst:6659 msgid "The following ``tag:`` values are valid:" msgstr "" -#: ../../../LangRef.rst:6571 +#: ../../../LangRef.rst:6613 msgid "" "``DW_TAG_member`` is used to define a member of a :ref:`composite type " "`. The type of the member is the ``baseType:``. The " @@ -10197,39 +10245,39 @@ msgid "" "uniqued based only on its ``name:`` and ``scope:``." msgstr "" -#: ../../../LangRef.rst:6577 +#: ../../../LangRef.rst:6619 msgid "" "``DW_TAG_inheritance`` and ``DW_TAG_friend`` are used in the ``elements:`` " "field of :ref:`composite types ` to describe parents and " "friends." msgstr "" -#: ../../../LangRef.rst:6581 +#: ../../../LangRef.rst:6623 msgid "``DW_TAG_typedef`` is used to provide a name for the ``baseType:``." msgstr "" -#: ../../../LangRef.rst:6583 +#: ../../../LangRef.rst:6625 msgid "" "``DW_TAG_pointer_type``, ``DW_TAG_reference_type``, ``DW_TAG_const_type``, " "``DW_TAG_volatile_type``, ``DW_TAG_restrict_type``, ``DW_TAG_atomic_type`` " "and ``DW_TAG_immutable_type`` are used to qualify the ``baseType:``." msgstr "" -#: ../../../LangRef.rst:6587 +#: ../../../LangRef.rst:6629 msgid "Note that the ``void *`` type is expressed as a type derived from NULL." msgstr "" -#: ../../../LangRef.rst:6592 +#: ../../../LangRef.rst:6634 msgid "DICompositeType" msgstr "" -#: ../../../LangRef.rst:6594 +#: ../../../LangRef.rst:6636 msgid "" "``DICompositeType`` nodes represent types composed of other types, like " "structures and unions. ``elements:`` points to a tuple of the composed types." msgstr "" -#: ../../../LangRef.rst:6597 +#: ../../../LangRef.rst:6639 msgid "" "If the source language supports ODR, the ``identifier:`` field gives the " "unique identifier used for type merging between modules. When specified, :" @@ -10238,7 +10286,7 @@ msgid "" "``scope:`` change uniquing rules." msgstr "" -#: ../../../LangRef.rst:6603 +#: ../../../LangRef.rst:6645 msgid "" "For a given ``identifier:``, there should only be a single composite type " "that does not have ``flags: DIFlagFwdDecl`` set. LLVM tools that link " @@ -10246,7 +10294,7 @@ msgid "" "``identifier:`` field, even if the nodes are ``distinct``." msgstr "" -#: ../../../LangRef.rst:6629 +#: ../../../LangRef.rst:6671 msgid "" "For ``DW_TAG_array_type``, the ``elements:`` should be :ref:`subrange " "descriptors ` or :ref:`subrange descriptors `, " @@ -10270,7 +10318,7 @@ msgid "" "the element type's natural size, and is normally used for packed arrays." msgstr "" -#: ../../../LangRef.rst:6652 +#: ../../../LangRef.rst:6694 msgid "" "For ``DW_TAG_enumeration_type``, the ``elements:`` should be :ref:" "`enumerator descriptors `, each representing the definition of " @@ -10278,7 +10326,7 @@ msgid "" "collected in the ``enums:`` field of the :ref:`compile unit `." msgstr "" -#: ../../../LangRef.rst:6657 +#: ../../../LangRef.rst:6699 msgid "" "For ``DW_TAG_structure_type``, ``DW_TAG_class_type``, and " "``DW_TAG_union_type``, the ``elements:`` should be :ref:`derived types " @@ -10287,7 +10335,7 @@ msgid "" "``isDefinition: false``." msgstr "" -#: ../../../LangRef.rst:6663 +#: ../../../LangRef.rst:6705 msgid "" "``DW_TAG_variant_part`` introduces a variant part of a structure type. This " "should have a discriminant, a member that is used to decide which elements " @@ -10299,40 +10347,40 @@ msgid "" "the members of that composite type are inlined into the current one." msgstr "" -#: ../../../LangRef.rst:6676 +#: ../../../LangRef.rst:6718 msgid "DISubrange" msgstr "" -#: ../../../LangRef.rst:6678 +#: ../../../LangRef.rst:6720 msgid "" "``DISubrange`` nodes are the elements for ``DW_TAG_array_type`` variants of :" "ref:`DICompositeType`." msgstr "" -#: ../../../LangRef.rst:6681 +#: ../../../LangRef.rst:6723 msgid "``count: -1`` indicates an empty array." msgstr "" -#: ../../../LangRef.rst:6682 +#: ../../../LangRef.rst:6724 msgid "``count: !10`` describes the count with a :ref:`DILocalVariable`." msgstr "" -#: ../../../LangRef.rst:6683 +#: ../../../LangRef.rst:6725 msgid "``count: !12`` describes the count with a :ref:`DIGlobalVariable`." msgstr "" -#: ../../../LangRef.rst:6708 +#: ../../../LangRef.rst:6750 msgid "DISubrangeType" msgstr "" -#: ../../../LangRef.rst:6710 +#: ../../../LangRef.rst:6752 msgid "" "``DISubrangeType`` is similar to ``DISubrange``, but it is also a " "``DIType``. It may be used as the type of an object, but could also be used " "as an array index." msgstr "" -#: ../../../LangRef.rst:6714 +#: ../../../LangRef.rst:6756 msgid "" "Like ``DISubrange``, it can hold a lower bound and count, or a lower bound " "and upper bound. A ``DISubrangeType`` refers to the underlying type of " @@ -10340,14 +10388,14 @@ msgid "" "type." msgstr "" -#: ../../../LangRef.rst:6719 +#: ../../../LangRef.rst:6761 msgid "" "A ``DISubrangeType`` may also have a stride -- unlike ``DISubrange``, this " "stride is a bit stride. The stride is only useful when a ``DISubrangeType`` " "is used as an array index type." msgstr "" -#: ../../../LangRef.rst:6723 +#: ../../../LangRef.rst:6765 msgid "" "Finally, ``DISubrangeType`` may have a bias. In Ada, a program can request " "that a subrange value be stored in the minimum number of bits required. In " @@ -10356,32 +10404,32 @@ msgid "" "stored as 2 (a bias of -7)." msgstr "" -#: ../../../LangRef.rst:6752 +#: ../../../LangRef.rst:6794 msgid "DIEnumerator" msgstr "" -#: ../../../LangRef.rst:6754 +#: ../../../LangRef.rst:6796 msgid "" "``DIEnumerator`` nodes are the elements for ``DW_TAG_enumeration_type`` " "variants of :ref:`DICompositeType`." msgstr "" -#: ../../../LangRef.rst:6764 +#: ../../../LangRef.rst:6806 msgid "DITemplateTypeParameter" msgstr "" -#: ../../../LangRef.rst:6766 +#: ../../../LangRef.rst:6808 msgid "" "``DITemplateTypeParameter`` nodes represent type parameters to generic " "source language constructs. They are used (optionally) in :ref:" "`DICompositeType` and :ref:`DISubprogram` ``templateParams:`` fields." msgstr "" -#: ../../../LangRef.rst:6775 +#: ../../../LangRef.rst:6817 msgid "DITemplateValueParameter" msgstr "" -#: ../../../LangRef.rst:6777 +#: ../../../LangRef.rst:6819 msgid "" "``DITemplateValueParameter`` nodes represent value parameters to generic " "source language constructs. ``tag:`` defaults to " @@ -10391,44 +10439,44 @@ msgid "" "`DICompositeType` and :ref:`DISubprogram` ``templateParams:`` fields." msgstr "" -#: ../../../LangRef.rst:6788 +#: ../../../LangRef.rst:6830 msgid "DINamespace" msgstr "" -#: ../../../LangRef.rst:6790 +#: ../../../LangRef.rst:6832 msgid "``DINamespace`` nodes represent namespaces in the source language." msgstr "" -#: ../../../LangRef.rst:6799 +#: ../../../LangRef.rst:6841 msgid "DIGlobalVariable" msgstr "" -#: ../../../LangRef.rst:6801 +#: ../../../LangRef.rst:6843 msgid "" "``DIGlobalVariable`` nodes represent global variables in the source language." msgstr "" -#: ../../../LangRef.rst:6813 +#: ../../../LangRef.rst:6855 msgid "DIGlobalVariableExpression" msgstr "" -#: ../../../LangRef.rst:6815 +#: ../../../LangRef.rst:6857 msgid "" "``DIGlobalVariableExpression`` nodes tie a :ref:`DIGlobalVariable` together " "with a :ref:`DIExpression`." msgstr "" -#: ../../../LangRef.rst:6833 +#: ../../../LangRef.rst:6875 msgid "" "All global variable expressions should be referenced by the `globals:` field " "of a :ref:`compile unit `." msgstr "" -#: ../../../LangRef.rst:6839 +#: ../../../LangRef.rst:6881 msgid "DISubprogram" msgstr "" -#: ../../../LangRef.rst:6841 +#: ../../../LangRef.rst:6883 msgid "" "``DISubprogram`` nodes represent functions from the source language. A " "distinct ``DISubprogram`` may be attached to a function definition using ``!" @@ -10439,7 +10487,7 @@ msgid "" "The ``type:`` field must point at an :ref:`DISubroutineType`." msgstr "" -#: ../../../LangRef.rst:6851 +#: ../../../LangRef.rst:6893 msgid "" "When ``spFlags: DISPFlagDefinition`` is not present, subprograms describe a " "declaration in the type tree as opposed to a definition of a function. In " @@ -10449,11 +10497,11 @@ msgid "" "``linkageName:`` and ``scope:``." msgstr "" -#: ../../../LangRef.rst:6877 +#: ../../../LangRef.rst:6919 msgid "DILexicalBlock" msgstr "" -#: ../../../LangRef.rst:6879 +#: ../../../LangRef.rst:6921 msgid "" "``DILexicalBlock`` nodes describe nested blocks within a :ref:`subprogram " "`. The line number and column numbers are used to distinguish " @@ -10461,17 +10509,17 @@ msgid "" "fields." msgstr "" -#: ../../../LangRef.rst:6888 +#: ../../../LangRef.rst:6930 msgid "" "Usually lexical blocks are ``distinct`` to prevent node merging based on " "operands." msgstr "" -#: ../../../LangRef.rst:6894 +#: ../../../LangRef.rst:6936 msgid "DILexicalBlockFile" msgstr "" -#: ../../../LangRef.rst:6896 +#: ../../../LangRef.rst:6938 msgid "" "``DILexicalBlockFile`` nodes are used to discriminate between sections of a :" "ref:`lexical block `. The ``file:`` field can be changed to " @@ -10480,22 +10528,22 @@ msgid "" "language." msgstr "" -#: ../../../LangRef.rst:6910 +#: ../../../LangRef.rst:6952 msgid "DILocation" msgstr "" -#: ../../../LangRef.rst:6912 +#: ../../../LangRef.rst:6954 msgid "" "``DILocation`` nodes represent source debug locations. The ``scope:`` field " "is mandatory, and points at an :ref:`DILexicalBlockFile`, an :ref:" "`DILexicalBlock`, or an :ref:`DISubprogram`." msgstr "" -#: ../../../LangRef.rst:6923 +#: ../../../LangRef.rst:6965 msgid "DILocalVariable" msgstr "" -#: ../../../LangRef.rst:6925 +#: ../../../LangRef.rst:6967 msgid "" "``DILocalVariable`` nodes represent local variables in the source language. " "If the ``arg:`` field is set to non-zero, then this variable is a subprogram " @@ -10503,11 +10551,11 @@ msgid "" "ref:`DISubprogram`." msgstr "" -#: ../../../LangRef.rst:6939 +#: ../../../LangRef.rst:6981 msgid "DIExpression" msgstr "" -#: ../../../LangRef.rst:6941 +#: ../../../LangRef.rst:6983 msgid "" "``DIExpression`` nodes represent expressions that are inspired by the DWARF " "expression language. They are used in :ref:`debug records ` " @@ -10515,25 +10563,25 @@ msgid "" "LLVM variable relates to the source language variable." msgstr "" -#: ../../../LangRef.rst:6946 +#: ../../../LangRef.rst:6988 msgid "See :ref:`diexpression` for details." msgstr "" -#: ../../../LangRef.rst:6950 +#: ../../../LangRef.rst:6992 msgid "" "``DIExpression``\\s are always printed and parsed inline; they can never be " "referenced by an ID (e.g., ``!1``)." msgstr "" -#: ../../../LangRef.rst:6953 +#: ../../../LangRef.rst:6995 msgid "Some examples of expressions:" msgstr "" -#: ../../../LangRef.rst:6966 +#: ../../../LangRef.rst:7008 msgid "DIAssignID" msgstr "" -#: ../../../LangRef.rst:6968 +#: ../../../LangRef.rst:7010 msgid "" "``DIAssignID`` nodes have no operands and are always distinct. They are used " "to link together (:ref:`#dbg_assign records `) and " @@ -10541,11 +10589,11 @@ msgid "" "`_ for more info." msgstr "" -#: ../../../LangRef.rst:6981 +#: ../../../LangRef.rst:7023 msgid "DIArgList" msgstr "" -#: ../../../LangRef.rst:6989 +#: ../../../LangRef.rst:7031 msgid "" "``DIArgList`` nodes hold a list of constant or SSA value references. These " "are used in :ref:`debug records ` in combination with a " @@ -10555,15 +10603,15 @@ msgid "" "named metadata." msgstr "" -#: ../../../LangRef.rst:7004 +#: ../../../LangRef.rst:7046 msgid "DIFlags" msgstr "" -#: ../../../LangRef.rst:7006 +#: ../../../LangRef.rst:7048 msgid "These flags encode various properties of DINodes." msgstr "" -#: ../../../LangRef.rst:7008 +#: ../../../LangRef.rst:7050 msgid "" "The `ExportSymbols` flag marks a class, struct or union whose members may be " "referenced as if they were defined in the containing class or union. This " @@ -10571,30 +10619,30 @@ msgid "" "the structure type." msgstr "" -#: ../../../LangRef.rst:7014 +#: ../../../LangRef.rst:7056 msgid "DIObjCProperty" msgstr "" -#: ../../../LangRef.rst:7016 +#: ../../../LangRef.rst:7058 msgid "``DIObjCProperty`` nodes represent Objective-C property nodes." msgstr "" -#: ../../../LangRef.rst:7024 +#: ../../../LangRef.rst:7066 msgid "DIImportedEntity" msgstr "" -#: ../../../LangRef.rst:7026 +#: ../../../LangRef.rst:7068 msgid "" "``DIImportedEntity`` nodes represent entities (such as modules) imported " "into a compile unit. The ``elements`` field is a list of renamed entities " "(such as variables and subprograms) in the imported entity (such as module)." msgstr "" -#: ../../../LangRef.rst:7039 +#: ../../../LangRef.rst:7081 msgid "DIMacro" msgstr "" -#: ../../../LangRef.rst:7041 +#: ../../../LangRef.rst:7083 msgid "" "``DIMacro`` nodes represent definition or undefinition of a macro " "identifiers. The ``name:`` field is the macro identifier, followed by macro " @@ -10602,22 +10650,22 @@ msgid "" "the token-string used to expand the macro identifier." msgstr "" -#: ../../../LangRef.rst:7053 +#: ../../../LangRef.rst:7095 msgid "DIMacroFile" msgstr "" -#: ../../../LangRef.rst:7055 +#: ../../../LangRef.rst:7097 msgid "" "``DIMacroFile`` nodes represent inclusion of source files. The ``nodes:`` " "field is a list of ``DIMacro`` and ``DIMacroFile`` nodes that appear in the " "included source file." msgstr "" -#: ../../../LangRef.rst:7067 +#: ../../../LangRef.rst:7109 msgid "DILabel" msgstr "" -#: ../../../LangRef.rst:7069 +#: ../../../LangRef.rst:7111 msgid "" "``DILabel`` nodes represent labels within a :ref:`DISubprogram`. The ``scope:" "`` field must be one of either a :ref:`DILexicalBlockFile`, a :ref:" @@ -10627,7 +10675,7 @@ msgid "" "within the file where the label is declared." msgstr "" -#: ../../../LangRef.rst:7076 +#: ../../../LangRef.rst:7118 msgid "" "Furthermore, a label can be marked as artificial, i.e., compiler-generated, " "using ``isArtificial:``. Such artificial labels are generated, e.g., by the " @@ -10635,17 +10683,17 @@ msgid "" "``coroSuspendIdx:`` field to identify the coroutine suspend points." msgstr "" -#: ../../../LangRef.rst:7081 +#: ../../../LangRef.rst:7123 msgid "" "``scope:``, ``name:``, ``file:`` and ``line:`` are mandatory. The remaining " "fields are optional." msgstr "" -#: ../../../LangRef.rst:7090 +#: ../../../LangRef.rst:7132 msgid "DICommonBlock" msgstr "" -#: ../../../LangRef.rst:7092 +#: ../../../LangRef.rst:7134 msgid "" "``DICommonBlock`` nodes represent Fortran common blocks. The ``scope:`` " "field is mandatory and points to a :ref:`DILexicalBlockFile`, a :ref:" @@ -10653,11 +10701,11 @@ msgid "" "``file:``, and ``line:`` fields are optional." msgstr "" -#: ../../../LangRef.rst:7098 +#: ../../../LangRef.rst:7140 msgid "DIModule" msgstr "" -#: ../../../LangRef.rst:7100 +#: ../../../LangRef.rst:7142 msgid "" "``DIModule`` nodes represent a source language module, for example, a Clang " "module, or a Fortran module. The ``scope:`` field is mandatory and points to " @@ -10667,11 +10715,11 @@ msgid "" "fields are optional." msgstr "" -#: ../../../LangRef.rst:7107 +#: ../../../LangRef.rst:7149 msgid "DIStringType" msgstr "" -#: ../../../LangRef.rst:7109 +#: ../../../LangRef.rst:7151 msgid "" "``DIStringType`` nodes represent a Fortran ``CHARACTER(n)`` type, with a " "dynamic length and location encoded as an expression. The ``tag:`` field is " @@ -10680,45 +10728,45 @@ msgid "" "``, ``size:``, ``align:``, and ``encoding:`` fields are optional." msgstr "" -#: ../../../LangRef.rst:7115 +#: ../../../LangRef.rst:7157 msgid "" "If not present, the ``size:`` and ``align:`` fields default to the value " "zero." msgstr "" -#: ../../../LangRef.rst:7117 +#: ../../../LangRef.rst:7159 msgid "" "The length in bits of the string is specified by the first of the following " "fields present:" msgstr "" -#: ../../../LangRef.rst:7120 +#: ../../../LangRef.rst:7162 msgid "" "``stringLength:``, which points to a ``DIVariable`` whose value is the " "string length in bits." msgstr "" -#: ../../../LangRef.rst:7122 +#: ../../../LangRef.rst:7164 msgid "" "``stringLengthExpression:``, which points to a ``DIExpression`` which " "computes the length in bits." msgstr "" -#: ../../../LangRef.rst:7124 +#: ../../../LangRef.rst:7166 msgid "``size``, which contains the literal length in bits." msgstr "" -#: ../../../LangRef.rst:7126 +#: ../../../LangRef.rst:7168 msgid "" "The ``stringLocationExpression:`` points to a ``DIExpression`` which " "describes the \"data location\" of the string object, if present." msgstr "" -#: ../../../LangRef.rst:7130 +#: ../../../LangRef.rst:7172 msgid "'``tbaa``' Metadata" msgstr "" -#: ../../../LangRef.rst:7132 +#: ../../../LangRef.rst:7174 msgid "" "In LLVM IR, memory does not have types, so LLVM's own type system is not " "suitable for doing type based alias analysis (TBAA). Instead, metadata is " @@ -10727,7 +10775,7 @@ msgid "" "be used to implement custom alias analysis behavior for other languages." msgstr "" -#: ../../../LangRef.rst:7138 +#: ../../../LangRef.rst:7180 msgid "" "This description of LLVM's TBAA system is broken into two parts: :ref:" "`Semantics` talks about high level issues, and :ref:" @@ -10735,7 +10783,7 @@ msgid "" "of various entities." msgstr "" -#: ../../../LangRef.rst:7143 +#: ../../../LangRef.rst:7185 msgid "" "It is always possible to trace any TBAA node to a \"root\" TBAA node " "(details in the :ref:`Representation` section). " @@ -10744,11 +10792,11 @@ msgid "" "in this section only pertain to TBAA nodes living under the same root." msgstr "" -#: ../../../LangRef.rst:7152 +#: ../../../LangRef.rst:7194 msgid "Semantics" msgstr "" -#: ../../../LangRef.rst:7154 +#: ../../../LangRef.rst:7196 msgid "" "The TBAA metadata system, referred to as \"struct path TBAA\" (not to be " "confused with ``tbaa.struct``), consists of the following high level " @@ -10756,7 +10804,7 @@ msgid "" "descriptors and struct type descriptors; and *Access Tags*." msgstr "" -#: ../../../LangRef.rst:7159 +#: ../../../LangRef.rst:7201 msgid "" "**Type descriptors** describe the type system of the higher level language " "being compiled. **Scalar type descriptors** describe types that do not " @@ -10768,7 +10816,7 @@ msgid "" "or scalar type descriptors." msgstr "" -#: ../../../LangRef.rst:7168 +#: ../../../LangRef.rst:7210 msgid "" "**Access tags** are metadata nodes attached to load and store instructions. " "Access tags use type descriptors to describe the *location* being accessed " @@ -10778,32 +10826,32 @@ msgid "" "type is a scalar type descriptor, and the offset is a constant integer." msgstr "" -#: ../../../LangRef.rst:7175 +#: ../../../LangRef.rst:7217 msgid "" "The access tag ``(BaseTy, AccessTy, Offset)`` can describe one of two things:" msgstr "" -#: ../../../LangRef.rst:7178 +#: ../../../LangRef.rst:7220 msgid "" "If ``BaseTy`` is a struct type, the tag describes a memory access (load or " "store) of a value of type ``AccessTy`` contained in the struct type " "``BaseTy`` at offset ``Offset``." msgstr "" -#: ../../../LangRef.rst:7182 +#: ../../../LangRef.rst:7224 msgid "" "If ``BaseTy`` is a scalar type, ``Offset`` must be 0 and ``BaseTy`` and " "``AccessTy`` must be the same; and the access tag describes a scalar access " "with scalar type ``AccessTy``." msgstr "" -#: ../../../LangRef.rst:7186 +#: ../../../LangRef.rst:7228 msgid "" "We first define an ``ImmediateParent`` relation on ``(BaseTy, Offset)`` " "tuples this way:" msgstr "" -#: ../../../LangRef.rst:7189 +#: ../../../LangRef.rst:7231 msgid "" "If ``BaseTy`` is a scalar type then ``ImmediateParent(BaseTy, 0)`` is " "``(ParentTy, 0)`` where ``ParentTy`` is the parent of the scalar type as " @@ -10811,7 +10859,7 @@ msgid "" "undefined if ``Offset`` is non-zero." msgstr "" -#: ../../../LangRef.rst:7194 +#: ../../../LangRef.rst:7236 msgid "" "If ``BaseTy`` is a struct type then ``ImmediateParent(BaseTy, Offset)`` is " "``(NewTy, NewOffset)`` where ``NewTy`` is the type contained in ``BaseTy`` " @@ -10819,7 +10867,7 @@ msgid "" "within that inner type." msgstr "" -#: ../../../LangRef.rst:7199 +#: ../../../LangRef.rst:7241 msgid "" "A memory access with an access tag ``(BaseTy1, AccessTy1, Offset1)`` aliases " "a memory access with an access tag ``(BaseTy2, AccessTy2, Offset2)`` if " @@ -10828,35 +10876,35 @@ msgid "" "are noalias according to ``!tbaa`` metadata, the behavior is undefined." msgstr "" -#: ../../../LangRef.rst:7206 +#: ../../../LangRef.rst:7248 msgid "" "As a concrete example, the type descriptor graph for the following program" msgstr "" -#: ../../../LangRef.rst:7228 +#: ../../../LangRef.rst:7270 msgid "" "is (note that in C and C++, ``char`` can be used to access any arbitrary " "type):" msgstr "" -#: ../../../LangRef.rst:7243 +#: ../../../LangRef.rst:7285 msgid "" "with (e.g.) ``ImmediateParent(OuterStructTy, 12)`` = ``(InnerStructTy, 0)``, " "``ImmediateParent(InnerStructTy, 0)`` = ``(IntScalarTy, 0)``, and " "``ImmediateParent(IntScalarTy, 0)`` = ``(CharScalarTy, 0)``." msgstr "" -#: ../../../LangRef.rst:7250 +#: ../../../LangRef.rst:7292 msgid "Representation" msgstr "" -#: ../../../LangRef.rst:7252 +#: ../../../LangRef.rst:7294 msgid "" "The root node of a TBAA type hierarchy is an ``MDNode`` with 0 operands or " "with exactly one ``MDString`` operand." msgstr "" -#: ../../../LangRef.rst:7255 +#: ../../../LangRef.rst:7297 msgid "" "Scalar type descriptors are represented as an ``MDNode`` s with two " "operands. The first operand is an ``MDString`` denoting the name of the " @@ -10868,7 +10916,7 @@ msgid "" "constant integer zero." msgstr "" -#: ../../../LangRef.rst:7264 +#: ../../../LangRef.rst:7306 msgid "" "Struct type descriptors are represented as ``MDNode`` s with an odd number " "of operands greater than 1. The first operand is an ``MDString`` denoting " @@ -10881,7 +10929,7 @@ msgid "" "must be in non-decreasing order." msgstr "" -#: ../../../LangRef.rst:7274 +#: ../../../LangRef.rst:7316 msgid "" "Access tags are represented as ``MDNode`` s with either 3 or 4 operands. The " "first operand is an ``MDNode`` pointing to the node representing the base " @@ -10896,11 +10944,11 @@ msgid "" "that is the TBAA root of the access tag." msgstr "" -#: ../../../LangRef.rst:7287 +#: ../../../LangRef.rst:7329 msgid "'``tbaa.struct``' Metadata" msgstr "" -#: ../../../LangRef.rst:7289 +#: ../../../LangRef.rst:7331 msgid "" "The :ref:`llvm.memcpy ` is often used to implement aggregate " "assignment operations in C and similar languages, however it is defined to " @@ -10909,13 +10957,13 @@ msgid "" "contain any TBAA information about the fields of the aggregate." msgstr "" -#: ../../../LangRef.rst:7296 +#: ../../../LangRef.rst:7338 msgid "" "``!tbaa.struct`` metadata can describe which memory subregions in a memcpy " "are padding and what the TBAA tags of the struct are." msgstr "" -#: ../../../LangRef.rst:7299 +#: ../../../LangRef.rst:7341 msgid "" "The current metadata format is very simple. ``!tbaa.struct`` metadata nodes " "are a list of operands which are in conceptual groups of three. For each " @@ -10923,25 +10971,25 @@ msgid "" "the second gives its size in bytes, and the third gives its tbaa tag. e.g.:" msgstr "" -#: ../../../LangRef.rst:7309 +#: ../../../LangRef.rst:7351 msgid "" "This describes a struct with two fields. The first is at offset 0 bytes with " "size 4 bytes, and has tbaa tag !1. The second is at offset 8 bytes and has " "size 4 bytes and has tbaa tag !2." msgstr "" -#: ../../../LangRef.rst:7313 +#: ../../../LangRef.rst:7355 msgid "" "Note that the fields need not be contiguous. In this example, there is a 4 " "byte gap between the two fields. This gap represents padding which does not " "carry useful data and need not be preserved." msgstr "" -#: ../../../LangRef.rst:7318 +#: ../../../LangRef.rst:7360 msgid "'``noalias``' and '``alias.scope``' Metadata" msgstr "" -#: ../../../LangRef.rst:7320 +#: ../../../LangRef.rst:7362 msgid "" "``noalias`` and ``alias.scope`` metadata provide the ability to specify " "generic noalias memory-access sets. This means that some collection of " @@ -10953,7 +11001,7 @@ msgid "" "scope has an id and a domain." msgstr "" -#: ../../../LangRef.rst:7328 +#: ../../../LangRef.rst:7370 msgid "" "When evaluating an aliasing query, if for some domain, the set of scopes " "with that domain in one instruction's ``alias.scope`` list is a subset of " @@ -10961,7 +11009,7 @@ msgid "" "``noalias`` list, then the two memory accesses are assumed not to alias." msgstr "" -#: ../../../LangRef.rst:7334 +#: ../../../LangRef.rst:7376 msgid "" "Because scopes in one domain don't affect scopes in other domains, separate " "domains can be used to compose multiple independent noalias sets. This is " @@ -10970,7 +11018,7 @@ msgid "" "function is inlined." msgstr "" -#: ../../../LangRef.rst:7340 +#: ../../../LangRef.rst:7382 msgid "" "The metadata identifying each domain is itself a list containing one or two " "entries. The first entry is the name of the domain. Note that if the name is " @@ -10979,7 +11027,7 @@ msgid "" "descriptive string may optionally be provided as a second list entry." msgstr "" -#: ../../../LangRef.rst:7346 +#: ../../../LangRef.rst:7388 msgid "" "The metadata identifying each scope is also itself a list containing two or " "three entries. The first entry is the name of the scope. Note that if the " @@ -10989,15 +11037,15 @@ msgid "" "string may optionally be provided as a third list entry." msgstr "" -#: ../../../LangRef.rst:7353 +#: ../../../LangRef.rst:7395 msgid "For example," msgstr "" -#: ../../../LangRef.rst:7389 +#: ../../../LangRef.rst:7431 msgid "'``fpmath``' Metadata" msgstr "" -#: ../../../LangRef.rst:7391 +#: ../../../LangRef.rst:7433 msgid "" "``fpmath`` metadata may be attached to any instruction of floating-point " "type. It can be used to express the maximum acceptable error in the result " @@ -11006,7 +11054,7 @@ msgid "" "follows:" msgstr "" -#: ../../../LangRef.rst:7397 +#: ../../../LangRef.rst:7439 msgid "" "If ``x`` is a real number that lies between two finite consecutive floating-" "point numbers ``a`` and ``b``, without being equal to one of them, then " @@ -11015,17 +11063,17 @@ msgid "" "``ulp(NaN)`` is ``NaN``." msgstr "" -#: ../../../LangRef.rst:7403 +#: ../../../LangRef.rst:7445 msgid "" "The metadata node shall consist of a single positive float type number " "representing the maximum relative error, for example:" msgstr "" -#: ../../../LangRef.rst:7413 +#: ../../../LangRef.rst:7455 msgid "'``range``' Metadata" msgstr "" -#: ../../../LangRef.rst:7415 +#: ../../../LangRef.rst:7457 msgid "" "``range`` metadata may be attached only to ``load``, ``call`` and ``invoke`` " "of integer or vector of integer types. It expresses the possible ranges the " @@ -11037,30 +11085,45 @@ msgid "" "has the following properties:" msgstr "" -#: ../../../LangRef.rst:7423 +#: ../../../LangRef.rst:7465 msgid "The type must match the scalar type of the instruction." msgstr "" -#: ../../../LangRef.rst:7427 +#: ../../../LangRef.rst:7469 msgid "" "The range should not represent the full or empty set. That is, ``a!=b``." msgstr "" -#: ../../../LangRef.rst:7430 +#: ../../../LangRef.rst:7472 msgid "" "In addition, the pairs must be in signed order of the lower bound and they " "must be non-contiguous." msgstr "" -#: ../../../LangRef.rst:7433 +#: ../../../LangRef.rst:7475 msgid "For vector-typed instructions, the range is applied element-wise." msgstr "" -#: ../../../LangRef.rst:7452 +#: ../../../LangRef.rst:7497 +msgid "'``nofpclass``' Metadata" +msgstr "" + +#: ../../../LangRef.rst:7499 +msgid "" +"``nofpclass`` metadata may be attached only to ``load`` instructions. It " +"asserts floating-point value classes which will not be loaded. The " +"representation is an i32 constant integer encoding a 10-bit bitmask, with " +"the same meaning and format as the :ref:`nofpclass ` attribute. " +"If the loaded value is one of the specified floating-point classes, a poison " +"value is returned. The interpretation does not depend on the floating-point " +"environment. A zero value would be meaningless and is invalid." +msgstr "" + +#: ../../../LangRef.rst:7526 msgid "'``absolute_symbol``' Metadata" msgstr "" -#: ../../../LangRef.rst:7454 +#: ../../../LangRef.rst:7528 msgid "" "``absolute_symbol`` metadata may be attached to a global variable " "declaration. It marks the declaration as a reference to an absolute symbol, " @@ -11071,15 +11134,15 @@ msgid "" "to represent the full set." msgstr "" -#: ../../../LangRef.rst:7462 +#: ../../../LangRef.rst:7536 msgid "Example (assuming 64-bit pointers):" msgstr "" -#: ../../../LangRef.rst:7474 +#: ../../../LangRef.rst:7548 msgid "'``callees``' Metadata" msgstr "" -#: ../../../LangRef.rst:7476 +#: ../../../LangRef.rst:7550 msgid "" "``callees`` metadata may be attached to indirect call sites. If ``callees`` " "metadata is attached to a call site, and any callee is not among the set of " @@ -11089,11 +11152,11 @@ msgid "" "target the ``add`` or ``sub`` functions:" msgstr "" -#: ../../../LangRef.rst:7491 +#: ../../../LangRef.rst:7565 msgid "'``callback``' Metadata" msgstr "" -#: ../../../LangRef.rst:7493 +#: ../../../LangRef.rst:7567 msgid "" "``callback`` metadata may be attached to a function declaration, or " "definition. (Call sites are excluded only due to the lack of a use case.) " @@ -11107,7 +11170,7 @@ msgid "" "in the ``callback`` metadata as pass-through to the callback function." msgstr "" -#: ../../../LangRef.rst:7504 +#: ../../../LangRef.rst:7578 msgid "" "The broker is not required to actually invoke the callback function at " "runtime. However, the assumptions about not inspecting or modifying " @@ -11120,7 +11183,7 @@ msgid "" "thread." msgstr "" -#: ../../../LangRef.rst:7513 +#: ../../../LangRef.rst:7587 msgid "" "The metadata is structured as follows: At the outer level, ``callback`` " "metadata is a list of ``callback`` encodings. Each encoding starts with a " @@ -11136,7 +11199,7 @@ msgid "" "callback function *after* the arguments encoded explicitly before." msgstr "" -#: ../../../LangRef.rst:7526 +#: ../../../LangRef.rst:7600 msgid "" "In the code below, the ``pthread_create`` function is marked as a broker " "through the ``!callback !1`` metadata. In the example, there is only one " @@ -11146,7 +11209,7 @@ msgid "" "broker function (``i64 3``)." msgstr "" -#: ../../../LangRef.rst:7545 +#: ../../../LangRef.rst:7619 msgid "" "Another example is shown below. The callback callee is the second argument " "of the ``__kmpc_fork_call`` function (``i64 2``). The callee is given two " @@ -11155,11 +11218,11 @@ msgid "" "``i1 true``)." msgstr "" -#: ../../../LangRef.rst:7564 +#: ../../../LangRef.rst:7638 msgid "'``exclude``' Metadata" msgstr "" -#: ../../../LangRef.rst:7566 +#: ../../../LangRef.rst:7640 msgid "" "``exclude`` metadata may be attached to a global variable to signify that " "its section should not be included in the final executable or shared " @@ -11172,11 +11235,11 @@ msgid "" "does not want removed after linking." msgstr "" -#: ../../../LangRef.rst:7583 +#: ../../../LangRef.rst:7657 msgid "'``unpredictable``' Metadata" msgstr "" -#: ../../../LangRef.rst:7585 +#: ../../../LangRef.rst:7659 msgid "" "``unpredictable`` metadata may be attached to any branch, select, or switch " "instruction. It can be used to express the unpredictability of control flow. " @@ -11186,11 +11249,11 @@ msgid "" "select, or switch that it is attached to is completely unpredictable." msgstr "" -#: ../../../LangRef.rst:7595 +#: ../../../LangRef.rst:7669 msgid "'``dereferenceable``' Metadata" msgstr "" -#: ../../../LangRef.rst:7597 +#: ../../../LangRef.rst:7671 msgid "" "The existence of the ``!dereferenceable`` metadata on the instruction tells " "the optimizer that the value loaded is known to be dereferenceable, " @@ -11200,11 +11263,11 @@ msgid "" "values." msgstr "" -#: ../../../LangRef.rst:7607 +#: ../../../LangRef.rst:7681 msgid "'``dereferenceable_or_null``' Metadata" msgstr "" -#: ../../../LangRef.rst:7609 +#: ../../../LangRef.rst:7683 msgid "" "The existence of the ``!dereferenceable_or_null`` metadata on the " "instruction tells the optimizer that the value loaded is known to be either " @@ -11214,11 +11277,11 @@ msgid "" "attribute on parameters and return values." msgstr "" -#: ../../../LangRef.rst:7617 +#: ../../../LangRef.rst:7691 msgid "'``captures``' Metadata" msgstr "" -#: ../../../LangRef.rst:7619 +#: ../../../LangRef.rst:7693 msgid "" "The ``!captures`` metadata can only be applied to ``store`` instructions " "with a pointer-typed value operand. It restricts the capturing behavior of " @@ -11227,7 +11290,7 @@ msgid "" "for a detailed discussion of capture semantics." msgstr "" -#: ../../../LangRef.rst:7625 +#: ../../../LangRef.rst:7699 msgid "" "The ``!captures`` metadata accepts a non-empty list of strings from the same " "set as the :ref:`captures attribute `: ``!\"address\"``, ``!" @@ -11235,7 +11298,7 @@ msgid "" "\"none\"`` is not supported." msgstr "" -#: ../../../LangRef.rst:7630 +#: ../../../LangRef.rst:7704 msgid "" "For example ``store ptr %x, ptr %y, !captures !{!\"address\"}`` indicates " "that the copy of pointer ``%x`` stored to location ``%y`` will only be used " @@ -11243,25 +11306,25 @@ msgid "" "the pointer would result in undefined behavior." msgstr "" -#: ../../../LangRef.rst:7635 +#: ../../../LangRef.rst:7709 msgid "" "Similarly ``store ptr %x, ptr %y, !captures !{!\"address\", !" "\"read_provenance\"}`` indicates that while reads through the stored pointer " "are allowed, writes would result in undefined behavior." msgstr "" -#: ../../../LangRef.rst:7639 +#: ../../../LangRef.rst:7713 msgid "" "The ``!captures`` attribute makes no statement about other uses of ``%x``, " "or uses of the stored-to memory location after it has been overwritten with " "a different value." msgstr "" -#: ../../../LangRef.rst:7646 +#: ../../../LangRef.rst:7720 msgid "'``llvm.loop``'" msgstr "" -#: ../../../LangRef.rst:7648 +#: ../../../LangRef.rst:7722 msgid "" "It is sometimes useful to attach information to loop constructs. Currently, " "loop metadata is implemented as metadata attached to the branch instruction " @@ -11271,7 +11334,7 @@ msgid "" "suggests an unroll factor to the loop unroller:" msgstr "" -#: ../../../LangRef.rst:7664 +#: ../../../LangRef.rst:7738 msgid "" "For legacy reasons, the first item of a loop metadata node must be a " "reference to itself. Before the advent of the 'distinct' keyword, this " @@ -11280,7 +11343,7 @@ msgid "" "has become unnecessary." msgstr "" -#: ../../../LangRef.rst:7670 +#: ../../../LangRef.rst:7744 msgid "" "Prior to the property nodes, one or two ``DILocation`` (debug location) " "nodes can be present in the list. The first, if present, identifies the " @@ -11288,18 +11351,18 @@ msgid "" "identifies the source-code location where the loop ends." msgstr "" -#: ../../../LangRef.rst:7675 +#: ../../../LangRef.rst:7749 msgid "" "Loop metadata nodes cannot be used as unique identifiers. They are neither " "persistent for the same loop through transformations nor necessarily unique " "to just one loop." msgstr "" -#: ../../../LangRef.rst:7680 +#: ../../../LangRef.rst:7754 msgid "'``llvm.loop.disable_nonforced``'" msgstr "" -#: ../../../LangRef.rst:7682 +#: ../../../LangRef.rst:7756 msgid "" "This metadata disables all optional loop transformations unless explicitly " "instructed using other transformation metadata such as ``llvm.loop.unroll." @@ -11311,7 +11374,7 @@ msgid "" "rotation are still applied." msgstr "" -#: ../../../LangRef.rst:7691 +#: ../../../LangRef.rst:7765 msgid "" "It is recommended to use this metadata in addition to any ``llvm.loop.*`` " "transformation directive. Also, any loop should have at most one directive " @@ -11320,15 +11383,15 @@ msgid "" "implementation details such as the pass pipeline order." msgstr "" -#: ../../../LangRef.rst:7697 +#: ../../../LangRef.rst:7771 msgid "See :ref:`transformation-metadata` for details." msgstr "" -#: ../../../LangRef.rst:7700 +#: ../../../LangRef.rst:7774 msgid "'``llvm.loop.vectorize``' and '``llvm.loop.interleave``'" msgstr "" -#: ../../../LangRef.rst:7702 +#: ../../../LangRef.rst:7776 msgid "" "Metadata prefixed with ``llvm.loop.vectorize`` or ``llvm.loop.interleave`` " "are used to control per-loop vectorization and interleaving parameters such " @@ -11341,29 +11404,29 @@ msgid "" "helpful in determining the safety of these transformations." msgstr "" -#: ../../../LangRef.rst:7713 +#: ../../../LangRef.rst:7787 msgid "'``llvm.loop.interleave.count``' Metadata" msgstr "" -#: ../../../LangRef.rst:7715 +#: ../../../LangRef.rst:7789 msgid "" "This metadata suggests an interleave count to the loop interleaver. The " "first operand is the string ``llvm.loop.interleave.count`` and the second " "operand is an integer specifying the interleave count. For example:" msgstr "" -#: ../../../LangRef.rst:7724 +#: ../../../LangRef.rst:7798 msgid "" "Note that setting ``llvm.loop.interleave.count`` to 1 disables interleaving " "multiple iterations of the loop. If ``llvm.loop.interleave.count`` is set to " "0 then the interleave count will be determined automatically." msgstr "" -#: ../../../LangRef.rst:7729 +#: ../../../LangRef.rst:7803 msgid "'``llvm.loop.vectorize.enable``' Metadata" msgstr "" -#: ../../../LangRef.rst:7731 +#: ../../../LangRef.rst:7805 msgid "" "This metadata selectively enables or disables vectorization for the loop. " "The first operand is the string ``llvm.loop.vectorize.enable`` and the " @@ -11371,11 +11434,11 @@ msgid "" "enabled. A value of 0 disables vectorization:" msgstr "" -#: ../../../LangRef.rst:7742 +#: ../../../LangRef.rst:7816 msgid "'``llvm.loop.vectorize.predicate.enable``' Metadata" msgstr "" -#: ../../../LangRef.rst:7744 +#: ../../../LangRef.rst:7818 msgid "" "This metadata selectively enables or disables creating predicated " "instructions for the loop, which can enable folding of the scalar epilogue " @@ -11385,11 +11448,11 @@ msgid "" "vectorization:" msgstr "" -#: ../../../LangRef.rst:7757 +#: ../../../LangRef.rst:7831 msgid "'``llvm.loop.vectorize.scalable.enable``' Metadata" msgstr "" -#: ../../../LangRef.rst:7759 +#: ../../../LangRef.rst:7833 msgid "" "This metadata selectively enables or disables scalable vectorization for the " "loop, and only has any effect if vectorization for the loop is already " @@ -11399,39 +11462,39 @@ msgid "" "default fixed width vectorization:" msgstr "" -#: ../../../LangRef.rst:7772 +#: ../../../LangRef.rst:7846 msgid "'``llvm.loop.vectorize.width``' Metadata" msgstr "" -#: ../../../LangRef.rst:7774 +#: ../../../LangRef.rst:7848 msgid "" "This metadata sets the target width of the vectorizer. The first operand is " "the string ``llvm.loop.vectorize.width`` and the second operand is an " "integer specifying the width. For example:" msgstr "" -#: ../../../LangRef.rst:7782 +#: ../../../LangRef.rst:7856 msgid "" "Note that setting ``llvm.loop.vectorize.width`` to 1 disables vectorization " "of the loop. If ``llvm.loop.vectorize.width`` is set to 0 or if the loop " "does not have this metadata the width will be determined automatically." msgstr "" -#: ../../../LangRef.rst:7788 +#: ../../../LangRef.rst:7862 msgid "'``llvm.loop.vectorize.followup_vectorized``' Metadata" msgstr "" -#: ../../../LangRef.rst:7790 +#: ../../../LangRef.rst:7864 msgid "" "This metadata defines which loop attributes the vectorized loop will have. " "See :ref:`transformation-metadata` for details." msgstr "" -#: ../../../LangRef.rst:7794 +#: ../../../LangRef.rst:7868 msgid "'``llvm.loop.vectorize.followup_epilogue``' Metadata" msgstr "" -#: ../../../LangRef.rst:7796 +#: ../../../LangRef.rst:7870 msgid "" "This metadata defines which loop attributes the epilogue will have. The " "epilogue is not vectorized and is executed when either the vectorized loop " @@ -11441,22 +11504,22 @@ msgid "" "Metadata ` for details." msgstr "" -#: ../../../LangRef.rst:7804 +#: ../../../LangRef.rst:7878 msgid "'``llvm.loop.vectorize.followup_all``' Metadata" msgstr "" -#: ../../../LangRef.rst:7806 +#: ../../../LangRef.rst:7880 msgid "" "Attributes in the metadata will be added to both the vectorized and epilogue " "loop. See :ref:`Transformation Metadata ` for " "details." msgstr "" -#: ../../../LangRef.rst:7811 +#: ../../../LangRef.rst:7885 msgid "'``llvm.loop.unroll``'" msgstr "" -#: ../../../LangRef.rst:7813 +#: ../../../LangRef.rst:7887 msgid "" "Metadata prefixed with ``llvm.loop.unroll`` are loop unrolling optimization " "hints such as the unroll factor. ``llvm.loop.unroll`` metadata should be " @@ -11465,49 +11528,49 @@ msgid "" "will only be performed if the optimizer believes it is safe to do so." msgstr "" -#: ../../../LangRef.rst:7821 +#: ../../../LangRef.rst:7895 msgid "'``llvm.loop.unroll.count``' Metadata" msgstr "" -#: ../../../LangRef.rst:7823 +#: ../../../LangRef.rst:7897 msgid "" "This metadata suggests an unroll factor to the loop unroller. The first " "operand is the string ``llvm.loop.unroll.count`` and the second operand is a " "positive integer specifying the unroll factor. For example:" msgstr "" -#: ../../../LangRef.rst:7832 +#: ../../../LangRef.rst:7906 msgid "" "If the trip count of the loop is less than the unroll count the loop will be " "partially unrolled." msgstr "" -#: ../../../LangRef.rst:7836 +#: ../../../LangRef.rst:7910 msgid "'``llvm.loop.unroll.disable``' Metadata" msgstr "" -#: ../../../LangRef.rst:7838 +#: ../../../LangRef.rst:7912 msgid "" "This metadata disables loop unrolling. The metadata has a single operand " "which is the string ``llvm.loop.unroll.disable``. For example:" msgstr "" -#: ../../../LangRef.rst:7846 +#: ../../../LangRef.rst:7920 msgid "'``llvm.loop.unroll.runtime.disable``' Metadata" msgstr "" -#: ../../../LangRef.rst:7848 +#: ../../../LangRef.rst:7922 msgid "" "This metadata disables runtime loop unrolling. The metadata has a single " "operand which is the string ``llvm.loop.unroll.runtime.disable``. For " "example:" msgstr "" -#: ../../../LangRef.rst:7856 +#: ../../../LangRef.rst:7930 msgid "'``llvm.loop.unroll.enable``' Metadata" msgstr "" -#: ../../../LangRef.rst:7858 +#: ../../../LangRef.rst:7932 msgid "" "This metadata suggests that the loop should be fully unrolled if the trip " "count is known at compile time and partially unrolled if the trip count is " @@ -11515,43 +11578,43 @@ msgid "" "string ``llvm.loop.unroll.enable``. For example:" msgstr "" -#: ../../../LangRef.rst:7868 +#: ../../../LangRef.rst:7942 msgid "'``llvm.loop.unroll.full``' Metadata" msgstr "" -#: ../../../LangRef.rst:7870 +#: ../../../LangRef.rst:7944 msgid "" "This metadata suggests that the loop should be unrolled fully. The metadata " "has a single operand which is the string ``llvm.loop.unroll.full``. For " "example:" msgstr "" -#: ../../../LangRef.rst:7879 +#: ../../../LangRef.rst:7953 msgid "'``llvm.loop.unroll.followup``' Metadata" msgstr "" -#: ../../../LangRef.rst:7881 +#: ../../../LangRef.rst:7955 msgid "" "This metadata defines which loop attributes the unrolled loop will have. " "See :ref:`Transformation Metadata ` for details." msgstr "" -#: ../../../LangRef.rst:7885 +#: ../../../LangRef.rst:7959 msgid "'``llvm.loop.unroll.followup_remainder``' Metadata" msgstr "" -#: ../../../LangRef.rst:7887 +#: ../../../LangRef.rst:7961 msgid "" "This metadata defines which loop attributes the remainder loop after partial/" "runtime unrolling will have. See :ref:`Transformation Metadata " "` for details." msgstr "" -#: ../../../LangRef.rst:7892 +#: ../../../LangRef.rst:7966 msgid "'``llvm.loop.unroll_and_jam``'" msgstr "" -#: ../../../LangRef.rst:7894 +#: ../../../LangRef.rst:7968 msgid "" "This metadata is treated very similarly to the ``llvm.loop.unroll`` metadata " "above, but affect the unroll and jam pass. In addition any loop with ``llvm." @@ -11561,7 +11624,7 @@ msgid "" "jam too.)" msgstr "" -#: ../../../LangRef.rst:7901 +#: ../../../LangRef.rst:7975 msgid "" "The metadata for unroll and jam otherwise is the same as for ``unroll``. " "``llvm.loop.unroll_and_jam.enable``, ``llvm.loop.unroll_and_jam.disable`` " @@ -11570,11 +11633,11 @@ msgid "" "the normal safety checks will still be performed." msgstr "" -#: ../../../LangRef.rst:7908 +#: ../../../LangRef.rst:7982 msgid "'``llvm.loop.unroll_and_jam.count``' Metadata" msgstr "" -#: ../../../LangRef.rst:7910 +#: ../../../LangRef.rst:7984 msgid "" "This metadata suggests an unroll and jam factor to use, similarly to ``llvm." "loop.unroll.count``. The first operand is the string ``llvm.loop." @@ -11582,28 +11645,28 @@ msgid "" "specifying the unroll factor. For example:" msgstr "" -#: ../../../LangRef.rst:7919 +#: ../../../LangRef.rst:7993 msgid "" "If the trip count of the loop is less than the unroll count the loop will be " "partially unroll and jammed." msgstr "" -#: ../../../LangRef.rst:7923 +#: ../../../LangRef.rst:7997 msgid "'``llvm.loop.unroll_and_jam.disable``' Metadata" msgstr "" -#: ../../../LangRef.rst:7925 +#: ../../../LangRef.rst:7999 msgid "" "This metadata disables loop unroll and jamming. The metadata has a single " "operand which is the string ``llvm.loop.unroll_and_jam.disable``. For " "example:" msgstr "" -#: ../../../LangRef.rst:7933 +#: ../../../LangRef.rst:8007 msgid "'``llvm.loop.unroll_and_jam.enable``' Metadata" msgstr "" -#: ../../../LangRef.rst:7935 +#: ../../../LangRef.rst:8009 msgid "" "This metadata suggests that the loop should be fully unroll and jammed if " "the trip count is known at compile time and partially unrolled if the trip " @@ -11611,32 +11674,32 @@ msgid "" "is the string ``llvm.loop.unroll_and_jam.enable``. For example:" msgstr "" -#: ../../../LangRef.rst:7945 +#: ../../../LangRef.rst:8019 msgid "'``llvm.loop.unroll_and_jam.followup_outer``' Metadata" msgstr "" -#: ../../../LangRef.rst:7947 +#: ../../../LangRef.rst:8021 msgid "" "This metadata defines which loop attributes the outer unrolled loop will " "have. See :ref:`Transformation Metadata ` for " "details." msgstr "" -#: ../../../LangRef.rst:7952 +#: ../../../LangRef.rst:8026 msgid "'``llvm.loop.unroll_and_jam.followup_inner``' Metadata" msgstr "" -#: ../../../LangRef.rst:7954 +#: ../../../LangRef.rst:8028 msgid "" "This metadata defines which loop attributes the inner jammed loop will have. " "See :ref:`Transformation Metadata ` for details." msgstr "" -#: ../../../LangRef.rst:7959 +#: ../../../LangRef.rst:8033 msgid "'``llvm.loop.unroll_and_jam.followup_remainder_outer``' Metadata" msgstr "" -#: ../../../LangRef.rst:7961 +#: ../../../LangRef.rst:8035 msgid "" "This metadata defines which attributes the epilogue of the outer loop will " "have. This loop is usually unrolled, meaning there is no such loop. This " @@ -11644,11 +11707,11 @@ msgid "" "` for details." msgstr "" -#: ../../../LangRef.rst:7967 +#: ../../../LangRef.rst:8041 msgid "'``llvm.loop.unroll_and_jam.followup_remainder_inner``' Metadata" msgstr "" -#: ../../../LangRef.rst:7969 +#: ../../../LangRef.rst:8043 msgid "" "This metadata defines which attributes the inner loop of the epilogue will " "have. The outer epilogue will usually be unrolled, meaning there can be " @@ -11656,22 +11719,22 @@ msgid "" "` for details." msgstr "" -#: ../../../LangRef.rst:7975 +#: ../../../LangRef.rst:8049 msgid "'``llvm.loop.unroll_and_jam.followup_all``' Metadata" msgstr "" -#: ../../../LangRef.rst:7977 +#: ../../../LangRef.rst:8051 msgid "" "Attributes specified in the metadata is added to all ``llvm.loop." "unroll_and_jam.*`` loops. See :ref:`Transformation Metadata ` for details." msgstr "" -#: ../../../LangRef.rst:7982 +#: ../../../LangRef.rst:8056 msgid "'``llvm.loop.licm_versioning.disable``' Metadata" msgstr "" -#: ../../../LangRef.rst:7984 +#: ../../../LangRef.rst:8058 msgid "" "This metadata indicates that the loop should not be versioned for the " "purpose of enabling loop-invariant code motion (LICM). The metadata has a " @@ -11679,11 +11742,11 @@ msgid "" "For example:" msgstr "" -#: ../../../LangRef.rst:7993 +#: ../../../LangRef.rst:8067 msgid "'``llvm.loop.distribute.enable``' Metadata" msgstr "" -#: ../../../LangRef.rst:7995 +#: ../../../LangRef.rst:8069 msgid "" "Loop distribution allows splitting a loop into multiple loops. Currently, " "this is only performed if the entire loop cannot be vectorized due to unsafe " @@ -11691,7 +11754,7 @@ msgid "" "dependencies into their own loop." msgstr "" -#: ../../../LangRef.rst:8000 +#: ../../../LangRef.rst:8074 msgid "" "This metadata can be used to selectively enable or disable distribution of " "the loop. The first operand is the string ``llvm.loop.distribute.enable`` " @@ -11699,72 +11762,72 @@ msgid "" "is enabled. A value of 0 disables distribution:" msgstr "" -#: ../../../LangRef.rst:8010 +#: ../../../LangRef.rst:8084 msgid "" "This metadata should be used in conjunction with ``llvm.loop`` loop " "identification metadata." msgstr "" -#: ../../../LangRef.rst:8014 +#: ../../../LangRef.rst:8088 msgid "'``llvm.loop.distribute.followup_coincident``' Metadata" msgstr "" -#: ../../../LangRef.rst:8016 +#: ../../../LangRef.rst:8090 msgid "" "This metadata defines which attributes extracted loops with no cyclic " "dependencies will have (i.e., can be vectorized). See :ref:`Transformation " "Metadata ` for details." msgstr "" -#: ../../../LangRef.rst:8021 +#: ../../../LangRef.rst:8095 msgid "'``llvm.loop.distribute.followup_sequential``' Metadata" msgstr "" -#: ../../../LangRef.rst:8023 +#: ../../../LangRef.rst:8097 msgid "" "This metadata defines which attributes the isolated loops with unsafe memory " "dependencies will have. See :ref:`Transformation Metadata ` for details." msgstr "" -#: ../../../LangRef.rst:8028 +#: ../../../LangRef.rst:8102 msgid "'``llvm.loop.distribute.followup_fallback``' Metadata" msgstr "" -#: ../../../LangRef.rst:8030 +#: ../../../LangRef.rst:8104 msgid "" "If loop versioning is necessary, this metadata defined the attributes the " "non-distributed fallback version will have. See :ref:`Transformation " "Metadata ` for details." msgstr "" -#: ../../../LangRef.rst:8035 +#: ../../../LangRef.rst:8109 msgid "'``llvm.loop.distribute.followup_all``' Metadata" msgstr "" -#: ../../../LangRef.rst:8037 +#: ../../../LangRef.rst:8111 msgid "" "The attributes in this metadata are added to all followup loops of the loop " "distribution pass. See :ref:`Transformation Metadata ` for details." msgstr "" -#: ../../../LangRef.rst:8042 +#: ../../../LangRef.rst:8116 msgid "'``llvm.loop.isdistributed``' Metadata" msgstr "" -#: ../../../LangRef.rst:8044 +#: ../../../LangRef.rst:8118 msgid "" "If a loop was successfully processed by the loop distribution pass, this " "metadata is added (i.e., has been distributed). See :ref:`Transformation " "Metadata ` for details." msgstr "" -#: ../../../LangRef.rst:8049 +#: ../../../LangRef.rst:8123 msgid "'``llvm.loop.estimated_trip_count``' Metadata" msgstr "" -#: ../../../LangRef.rst:8051 +#: ../../../LangRef.rst:8125 msgid "" "This metadata records an estimated trip count for the loop. The first " "operand is the string ``llvm.loop.estimated_trip_count``. The second " @@ -11772,11 +11835,11 @@ msgid "" "estimate. For example:" msgstr "" -#: ../../../LangRef.rst:8061 +#: ../../../LangRef.rst:8135 msgid "Purpose" msgstr "" -#: ../../../LangRef.rst:8063 +#: ../../../LangRef.rst:8137 msgid "" "A loop's estimated trip count is an estimate of the average number of loop " "iterations (specifically, the number of times the loop's header executes) " @@ -11785,7 +11848,7 @@ msgid "" "widely." msgstr "" -#: ../../../LangRef.rst:8068 +#: ../../../LangRef.rst:8142 msgid "" "The estimated trip count serves as a parameter for various loop " "transformations and typically helps estimate transformation cost. For " @@ -11793,17 +11856,17 @@ msgid "" "aggressively to unroll." msgstr "" -#: ../../../LangRef.rst:8073 +#: ../../../LangRef.rst:8147 msgid "Initialization and Maintenance" msgstr "" -#: ../../../LangRef.rst:8075 +#: ../../../LangRef.rst:8149 msgid "" "Passes should interact with estimated trip counts always via ``llvm::" "getLoopEstimatedTripCount`` and ``llvm::setLoopEstimatedTripCount``." msgstr "" -#: ../../../LangRef.rst:8078 +#: ../../../LangRef.rst:8152 msgid "" "When the ``llvm.loop.estimated_trip_count`` metadata is not present on a " "loop, ``llvm::getLoopEstimatedTripCount`` estimates the loop's trip count " @@ -11816,7 +11879,7 @@ msgid "" "consume estimated trip counts." msgstr "" -#: ../../../LangRef.rst:8087 +#: ../../../LangRef.rst:8161 msgid "" "For this reason, when a pass transforms or creates loops, the pass should " "separately estimate new trip counts based on the estimated trip counts that " @@ -11828,11 +11891,11 @@ msgid "" "the trip count from the loop's ``branch_weights`` metadata." msgstr "" -#: ../../../LangRef.rst:8097 +#: ../../../LangRef.rst:8171 msgid "Zero" msgstr "" -#: ../../../LangRef.rst:8099 +#: ../../../LangRef.rst:8173 msgid "" "Some passes set ``llvm.loop.estimated_trip_count`` to 0. For example, after " "peeling 10 or more iterations from a loop with an estimated trip count of " @@ -11841,7 +11904,7 @@ msgid "" "is estimated to exit them without reaching the remaining loop's header." msgstr "" -#: ../../../LangRef.rst:8105 +#: ../../../LangRef.rst:8179 msgid "" "Even if the probability of reaching a loop's header is low, if it is " "reached, it is the start of an iteration. Consequently, some passes " @@ -11850,28 +11913,28 @@ msgid "" "when ``llvm.loop.estimated_trip_count`` is 0." msgstr "" -#: ../../../LangRef.rst:8112 +#: ../../../LangRef.rst:8186 msgid "'``llvm.licm.disable``' Metadata" msgstr "" -#: ../../../LangRef.rst:8114 +#: ../../../LangRef.rst:8188 msgid "" "This metadata indicates that loop-invariant code motion (LICM) should not be " "performed on this loop. The metadata has a single operand which is the " "string ``llvm.licm.disable``. For example:" msgstr "" -#: ../../../LangRef.rst:8122 +#: ../../../LangRef.rst:8196 msgid "" "Note that although it operates per loop it isn't given the ``llvm.loop`` " "prefix as it is not affected by the ``llvm.loop.disable_nonforced`` metadata." msgstr "" -#: ../../../LangRef.rst:8126 +#: ../../../LangRef.rst:8200 msgid "'``llvm.access.group``' Metadata" msgstr "" -#: ../../../LangRef.rst:8128 +#: ../../../LangRef.rst:8202 msgid "" "``llvm.access.group`` metadata can be attached to any instruction that " "potentially accesses memory. It can point to a single distinct metadata " @@ -11881,13 +11944,13 @@ msgid "" "groups, illustrated by the following example." msgstr "" -#: ../../../LangRef.rst:8143 +#: ../../../LangRef.rst:8217 msgid "" "It is illegal for the list node to be empty since it might be confused with " "an access group." msgstr "" -#: ../../../LangRef.rst:8146 +#: ../../../LangRef.rst:8220 msgid "" "The access group metadata node must be 'distinct' to avoid collapsing " "multiple access groups by content. An access group metadata node must always " @@ -11897,7 +11960,7 @@ msgid "" "required finding and updating all references to the access group node." msgstr "" -#: ../../../LangRef.rst:8154 +#: ../../../LangRef.rst:8228 msgid "" "The access group can be used to refer to a memory access instruction without " "pointing to it directly (which is not possible in global metadata). " @@ -11905,11 +11968,11 @@ msgid "" "parallel_accesses``." msgstr "" -#: ../../../LangRef.rst:8160 +#: ../../../LangRef.rst:8234 msgid "'``llvm.loop.parallel_accesses``' Metadata" msgstr "" -#: ../../../LangRef.rst:8162 +#: ../../../LangRef.rst:8236 msgid "" "The ``llvm.loop.parallel_accesses`` metadata refers to one or more access " "group metadata nodes (see ``llvm.access.group``). It denotes that no loop-" @@ -11917,7 +11980,7 @@ msgid "" "loop with this metadata." msgstr "" -#: ../../../LangRef.rst:8167 +#: ../../../LangRef.rst:8241 msgid "" "Let ``m1`` and ``m2`` be two instructions that both have the ``llvm.access." "group`` metadata to the access group ``g1``, respectively ``g2`` (which " @@ -11929,7 +11992,7 @@ msgid "" "parallel_accesses`` list." msgstr "" -#: ../../../LangRef.rst:8176 +#: ../../../LangRef.rst:8250 msgid "" "If all memory-accessing instructions in a loop have ``llvm.access.group`` " "metadata that each refer to one of the access groups of a loop's ``llvm.loop." @@ -11938,7 +12001,7 @@ msgid "" "carried dependency, the behavior is undefined." msgstr "" -#: ../../../LangRef.rst:8183 +#: ../../../LangRef.rst:8257 msgid "" "Note that if not all memory access instructions belong to an access group " "referred to by ``llvm.loop.parallel_accesses``, then the loop must not be " @@ -11949,21 +12012,21 @@ msgid "" "memory instructions into the loop body)." msgstr "" -#: ../../../LangRef.rst:8191 +#: ../../../LangRef.rst:8265 msgid "" "Example of a loop that is considered parallel due to its correct use of both " "``llvm.access.group`` and ``llvm.loop.parallel_accesses`` metadata types." msgstr "" -#: ../../../LangRef.rst:8210 +#: ../../../LangRef.rst:8284 msgid "It is also possible to have nested parallel loops:" msgstr "" -#: ../../../LangRef.rst:8244 +#: ../../../LangRef.rst:8318 msgid "'``llvm.loop.mustprogress``' Metadata" msgstr "" -#: ../../../LangRef.rst:8246 +#: ../../../LangRef.rst:8320 msgid "" "The ``llvm.loop.mustprogress`` metadata indicates that this loop is required " "to terminate, unwind, or interact with the environment in an observable way " @@ -11973,11 +12036,11 @@ msgid "" "attribute." msgstr "" -#: ../../../LangRef.rst:8253 +#: ../../../LangRef.rst:8327 msgid "'``irr_loop``' Metadata" msgstr "" -#: ../../../LangRef.rst:8255 +#: ../../../LangRef.rst:8329 msgid "" "``irr_loop`` metadata may be attached to the terminator instruction of a " "basic block that's an irreducible loop header (note that an irreducible loop " @@ -11989,15 +12052,15 @@ msgid "" "weight (relative to the other headers of the irreducible loop) of 100:" msgstr "" -#: ../../../LangRef.rst:8273 +#: ../../../LangRef.rst:8347 msgid "Irreducible loop header weights are typically based on profile data." msgstr "" -#: ../../../LangRef.rst:8278 +#: ../../../LangRef.rst:8352 msgid "'``invariant.group``' Metadata" msgstr "" -#: ../../../LangRef.rst:8280 +#: ../../../LangRef.rst:8354 msgid "" "The experimental ``invariant.group`` metadata may be attached to ``load``/" "``store`` instructions referencing a single metadata with no entries. The " @@ -12009,47 +12072,47 @@ msgid "" "indices are considered the same." msgstr "" -#: ../../../LangRef.rst:8319 +#: ../../../LangRef.rst:8393 msgid "" "The ``invariant.group`` metadata must be dropped when replacing one pointer " "by another based on aliasing information. This is because ``invariant." "group`` is tied to the SSA value of the pointer operand." msgstr "" -#: ../../../LangRef.rst:8329 +#: ../../../LangRef.rst:8403 msgid "" "Note that this is an experimental feature, which means that its semantics " "might change in the future." msgstr "" -#: ../../../LangRef.rst:8333 +#: ../../../LangRef.rst:8407 msgid "'``type``' Metadata" msgstr "" -#: ../../../LangRef.rst:8335 +#: ../../../LangRef.rst:8409 msgid "See :doc:`TypeMetadata`." msgstr "" -#: ../../../LangRef.rst:8338 +#: ../../../LangRef.rst:8412 msgid "'``callee_type``' Metadata" msgstr "" -#: ../../../LangRef.rst:8340 +#: ../../../LangRef.rst:8414 msgid "See :doc:`CalleeTypeMetadata`." msgstr "" -#: ../../../LangRef.rst:8343 +#: ../../../LangRef.rst:8417 msgid "'``associated``' Metadata" msgstr "" -#: ../../../LangRef.rst:8345 +#: ../../../LangRef.rst:8419 msgid "" "The ``associated`` metadata may be attached to a global variable definition " "with a single argument that references a global object (optionally through " "an alias)." msgstr "" -#: ../../../LangRef.rst:8348 +#: ../../../LangRef.rst:8422 msgid "" "This metadata lowers to the ELF section flag ``SHF_LINK_ORDER`` which " "prevents discarding of the global variable in linker GC unless the " @@ -12057,16 +12120,16 @@ msgid "" "spotty. For best compatibility, globals carrying this metadata should:" msgstr "" -#: ../../../LangRef.rst:8353 +#: ../../../LangRef.rst:8427 msgid "Be in ``@llvm.compiler.used``." msgstr "" -#: ../../../LangRef.rst:8354 +#: ../../../LangRef.rst:8428 msgid "" "If the referenced global variable is in a comdat, be in the same comdat." msgstr "" -#: ../../../LangRef.rst:8356 +#: ../../../LangRef.rst:8430 msgid "" "``!associated`` can not express a many-to-one relationship. A global " "variable with the metadata should generally not be referenced by a function: " @@ -12078,7 +12141,7 @@ msgid "" "discarded section." msgstr "" -#: ../../../LangRef.rst:8364 +#: ../../../LangRef.rst:8438 msgid "" "The metadata is often used with an explicit section consisting of valid C " "identifiers so that the runtime can find the metadata section with linker-" @@ -12086,61 +12149,63 @@ msgid "" "``__stop_``." msgstr "" -#: ../../../LangRef.rst:8369 +#: ../../../LangRef.rst:8443 msgid "It does not have any effect on non-ELF targets." msgstr "" -#: ../../../LangRef.rst:8371 ../../../LangRef.rst:8457 -#: ../../../LangRef.rst:8482 ../../../LangRef.rst:8503 -#: ../../../LangRef.rst:8532 ../../../LangRef.rst:8574 -#: ../../../LangRef.rst:8603 ../../../LangRef.rst:8643 -#: ../../../LangRef.rst:9073 ../../../LangRef.rst:9091 -#: ../../../LangRef.rst:9232 ../../../LangRef.rst:9364 -#: ../../../LangRef.rst:9591 ../../../LangRef.rst:9638 -#: ../../../LangRef.rst:9698 ../../../LangRef.rst:9761 -#: ../../../LangRef.rst:9859 ../../../LangRef.rst:9968 -#: ../../../LangRef.rst:10021 ../../../LangRef.rst:10074 -#: ../../../LangRef.rst:10125 ../../../LangRef.rst:10175 -#: ../../../LangRef.rst:10253 ../../../LangRef.rst:10317 -#: ../../../LangRef.rst:10358 ../../../LangRef.rst:10412 -#: ../../../LangRef.rst:10454 ../../../LangRef.rst:10510 -#: ../../../LangRef.rst:10551 ../../../LangRef.rst:10599 -#: ../../../LangRef.rst:10648 ../../../LangRef.rst:10689 -#: ../../../LangRef.rst:10735 ../../../LangRef.rst:10794 -#: ../../../LangRef.rst:10845 ../../../LangRef.rst:10906 -#: ../../../LangRef.rst:10957 ../../../LangRef.rst:11009 -#: ../../../LangRef.rst:11063 ../../../LangRef.rst:11121 -#: ../../../LangRef.rst:11173 ../../../LangRef.rst:11230 -#: ../../../LangRef.rst:11276 ../../../LangRef.rst:11333 -#: ../../../LangRef.rst:11392 ../../../LangRef.rst:11435 -#: ../../../LangRef.rst:11525 ../../../LangRef.rst:11758 -#: ../../../LangRef.rst:11820 ../../../LangRef.rst:11902 -#: ../../../LangRef.rst:12023 ../../../LangRef.rst:12228 -#: ../../../LangRef.rst:12343 ../../../LangRef.rst:12393 -#: ../../../LangRef.rst:12439 ../../../LangRef.rst:12494 -#: ../../../LangRef.rst:12545 ../../../LangRef.rst:12586 -#: ../../../LangRef.rst:12628 ../../../LangRef.rst:12678 -#: ../../../LangRef.rst:12722 ../../../LangRef.rst:12770 -#: ../../../LangRef.rst:12821 ../../../LangRef.rst:12885 -#: ../../../LangRef.rst:12942 ../../../LangRef.rst:13001 -#: ../../../LangRef.rst:13104 ../../../LangRef.rst:13218 -#: ../../../LangRef.rst:13278 ../../../LangRef.rst:13337 -#: ../../../LangRef.rst:13388 ../../../LangRef.rst:13611 -#: ../../../LangRef.rst:13677 ../../../LangRef.rst:13754 -#: ../../../LangRef.rst:13827 ../../../LangRef.rst:13897 -#: ../../../LangRef.rst:15629 ../../../LangRef.rst:18431 -#: ../../../LangRef.rst:18479 ../../../LangRef.rst:21461 -#: ../../../LangRef.rst:21514 ../../../LangRef.rst:21807 -#: ../../../LangRef.rst:21864 ../../../LangRef.rst:30824 -#: ../../../LangRef.rst:30884 +#: ../../../LangRef.rst:8445 ../../../LangRef.rst:8531 +#: ../../../LangRef.rst:8556 ../../../LangRef.rst:8577 +#: ../../../LangRef.rst:8606 ../../../LangRef.rst:8648 +#: ../../../LangRef.rst:8677 ../../../LangRef.rst:8717 +#: ../../../LangRef.rst:8790 ../../../LangRef.rst:9177 +#: ../../../LangRef.rst:9195 ../../../LangRef.rst:9336 +#: ../../../LangRef.rst:9468 ../../../LangRef.rst:9695 +#: ../../../LangRef.rst:9742 ../../../LangRef.rst:9802 +#: ../../../LangRef.rst:9865 ../../../LangRef.rst:9963 +#: ../../../LangRef.rst:10072 ../../../LangRef.rst:10125 +#: ../../../LangRef.rst:10178 ../../../LangRef.rst:10229 +#: ../../../LangRef.rst:10279 ../../../LangRef.rst:10357 +#: ../../../LangRef.rst:10421 ../../../LangRef.rst:10462 +#: ../../../LangRef.rst:10516 ../../../LangRef.rst:10558 +#: ../../../LangRef.rst:10614 ../../../LangRef.rst:10655 +#: ../../../LangRef.rst:10703 ../../../LangRef.rst:10752 +#: ../../../LangRef.rst:10793 ../../../LangRef.rst:10839 +#: ../../../LangRef.rst:10898 ../../../LangRef.rst:10949 +#: ../../../LangRef.rst:11010 ../../../LangRef.rst:11061 +#: ../../../LangRef.rst:11113 ../../../LangRef.rst:11167 +#: ../../../LangRef.rst:11225 ../../../LangRef.rst:11277 +#: ../../../LangRef.rst:11334 ../../../LangRef.rst:11380 +#: ../../../LangRef.rst:11438 ../../../LangRef.rst:11497 +#: ../../../LangRef.rst:11540 ../../../LangRef.rst:11633 +#: ../../../LangRef.rst:11866 ../../../LangRef.rst:11928 +#: ../../../LangRef.rst:12010 ../../../LangRef.rst:12131 +#: ../../../LangRef.rst:12336 ../../../LangRef.rst:12451 +#: ../../../LangRef.rst:12501 ../../../LangRef.rst:12547 +#: ../../../LangRef.rst:12602 ../../../LangRef.rst:12653 +#: ../../../LangRef.rst:12694 ../../../LangRef.rst:12736 +#: ../../../LangRef.rst:12786 ../../../LangRef.rst:12830 +#: ../../../LangRef.rst:12878 ../../../LangRef.rst:12929 +#: ../../../LangRef.rst:12993 ../../../LangRef.rst:13050 +#: ../../../LangRef.rst:13109 ../../../LangRef.rst:13212 +#: ../../../LangRef.rst:13326 ../../../LangRef.rst:13386 +#: ../../../LangRef.rst:13445 ../../../LangRef.rst:13496 +#: ../../../LangRef.rst:13719 ../../../LangRef.rst:13785 +#: ../../../LangRef.rst:13862 ../../../LangRef.rst:13935 +#: ../../../LangRef.rst:14005 ../../../LangRef.rst:15160 +#: ../../../LangRef.rst:15917 ../../../LangRef.rst:18707 +#: ../../../LangRef.rst:18755 ../../../LangRef.rst:18804 +#: ../../../LangRef.rst:21741 ../../../LangRef.rst:21794 +#: ../../../LangRef.rst:21933 ../../../LangRef.rst:21996 +#: ../../../LangRef.rst:22245 ../../../LangRef.rst:22302 +#: ../../../LangRef.rst:31262 ../../../LangRef.rst:31322 msgid "Example:" msgstr "" -#: ../../../LangRef.rst:8382 +#: ../../../LangRef.rst:8456 msgid "'``prof``' Metadata" msgstr "" -#: ../../../LangRef.rst:8384 +#: ../../../LangRef.rst:8458 msgid "" "The ``prof`` metadata is used to record profile data in the IR. The first " "operand of the metadata node indicates the profile metadata type. There are " @@ -12149,22 +12214,22 @@ msgid "" "`VP`." msgstr "" -#: ../../../LangRef.rst:8394 +#: ../../../LangRef.rst:8468 msgid "branch_weights" msgstr "" -#: ../../../LangRef.rst:8396 +#: ../../../LangRef.rst:8470 msgid "" "Branch weight metadata attached to a branch, select, switch or call " "instruction represents the likeliness of the associated branch being taken. " "For more information, see :doc:`BranchWeightMetadata`." msgstr "" -#: ../../../LangRef.rst:8403 +#: ../../../LangRef.rst:8477 msgid "function_entry_count" msgstr "" -#: ../../../LangRef.rst:8405 +#: ../../../LangRef.rst:8479 msgid "" "Function entry count metadata can be attached to function definitions to " "record the number of times the function is called. Used with BFI " @@ -12172,11 +12237,11 @@ msgid "" "more information, see :doc:`BranchWeightMetadata`." msgstr "" -#: ../../../LangRef.rst:8413 +#: ../../../LangRef.rst:8487 msgid "VP" msgstr "" -#: ../../../LangRef.rst:8415 +#: ../../../LangRef.rst:8489 msgid "" "VP (value profile) metadata can be attached to instructions that have value " "profile information. Currently this is indirect calls (where it records the " @@ -12184,7 +12249,7 @@ msgid "" "and memset (where it records the hottest byte lengths)." msgstr "" -#: ../../../LangRef.rst:8420 +#: ../../../LangRef.rst:8494 msgid "" "Each VP metadata node contains \"VP\" string, then a ``uint32_t`` value for " "the value profiling kind, a ``uint64_t`` value for the total number of times " @@ -12195,18 +12260,18 @@ msgid "" "the byte length." msgstr "" -#: ../../../LangRef.rst:8428 +#: ../../../LangRef.rst:8502 msgid "" "Note that the value counts do not need to add up to the total count listed " "in the third operand (in practice only the top hottest values are tracked " "and reported)." msgstr "" -#: ../../../LangRef.rst:8432 +#: ../../../LangRef.rst:8506 msgid "Indirect call example:" msgstr "" -#: ../../../LangRef.rst:8439 +#: ../../../LangRef.rst:8513 msgid "" "Note that the VP type is 0 (the second operand), which indicates this is an " "indirect call value profile data. The third operand indicates that the " @@ -12217,11 +12282,11 @@ msgid "" "functions was called." msgstr "" -#: ../../../LangRef.rst:8450 +#: ../../../LangRef.rst:8524 msgid "'``annotation``' Metadata" msgstr "" -#: ../../../LangRef.rst:8452 +#: ../../../LangRef.rst:8526 msgid "" "The ``annotation`` metadata can be used to attach a tuple of annotation " "strings or a tuple of a tuple of annotation strings to any instruction. This " @@ -12229,15 +12294,15 @@ msgid "" "to provide additional insight about the program and transformations to users." msgstr "" -#: ../../../LangRef.rst:8464 +#: ../../../LangRef.rst:8538 msgid "Embedding tuple of strings example:" msgstr "" -#: ../../../LangRef.rst:8473 +#: ../../../LangRef.rst:8547 msgid "'``func_sanitize``' Metadata" msgstr "" -#: ../../../LangRef.rst:8475 +#: ../../../LangRef.rst:8549 msgid "" "The ``func_sanitize`` metadata is used to attach two values for the function " "sanitizer instrumentation. The first value is the ubsan function signature. " @@ -12247,11 +12312,11 @@ msgid "" "` is emitted before '``func_sanitize``' in the output." msgstr "" -#: ../../../LangRef.rst:8495 +#: ../../../LangRef.rst:8569 msgid "'``kcfi_type``' Metadata" msgstr "" -#: ../../../LangRef.rst:8497 +#: ../../../LangRef.rst:8571 msgid "" "The ``kcfi_type`` metadata can be used to attach a type identifier to " "functions that can be called indirectly. The type data is emitted before the " @@ -12260,17 +12325,17 @@ msgid "" "metadata." msgstr "" -#: ../../../LangRef.rst:8512 +#: ../../../LangRef.rst:8586 msgid "" "Clang emits ``kcfi_type`` metadata nodes for address-taken functions with ``-" "fsanitize=kcfi``." msgstr "" -#: ../../../LangRef.rst:8516 +#: ../../../LangRef.rst:8590 msgid "'``pcsections``' Metadata" msgstr "" -#: ../../../LangRef.rst:8518 +#: ../../../LangRef.rst:8592 msgid "" "The ``pcsections`` metadata can be attached to instructions and functions, " "for which addresses, viz. program counters (PCs), are to be emitted in " @@ -12278,18 +12343,18 @@ msgid "" "Sections Metadata `_ documentation." msgstr "" -#: ../../../LangRef.rst:8526 +#: ../../../LangRef.rst:8600 msgid "'``memprof``' Metadata" msgstr "" -#: ../../../LangRef.rst:8528 +#: ../../../LangRef.rst:8602 msgid "" "The ``memprof`` metadata is used to record memory profile data on heap " "allocation calls. Multiple context-sensitive profiles can be represented " "with a single ``memprof`` metadata attachment." msgstr "" -#: ../../../LangRef.rst:8544 +#: ../../../LangRef.rst:8618 msgid "" "Each operand in the ``memprof`` metadata attachment describes the profiled " "behavior of memory allocated by the associated allocation for a given " @@ -12298,7 +12363,7 @@ msgid "" "typically not cold." msgstr "" -#: ../../../LangRef.rst:8549 +#: ../../../LangRef.rst:8623 msgid "" "The format of the metadata describing a context specific profile (e.g. ``!" "1`` and ``!3`` above) requires a first operand that is a metadata node " @@ -12314,24 +12379,24 @@ msgid "" "the top of the profiled call stack)." msgstr "" -#: ../../../LangRef.rst:8565 +#: ../../../LangRef.rst:8639 msgid "'``callsite``' Metadata" msgstr "" -#: ../../../LangRef.rst:8567 +#: ../../../LangRef.rst:8641 msgid "" "The ``callsite`` metadata is used to identify callsites involved in memory " "profile contexts described in :ref:`memprof metadata`." msgstr "" -#: ../../../LangRef.rst:8570 +#: ../../../LangRef.rst:8644 msgid "" "It is attached both to the profile allocation calls (see the example in :ref:" "`memprof metadata`), as well as to other callsites in profiled " "contexts described in heap allocation ``memprof`` metadata." msgstr "" -#: ../../../LangRef.rst:8581 +#: ../../../LangRef.rst:8655 msgid "" "Each operand in the ``callsite`` metadata attachment is a unique id " "corresponding to a callsite (possibly inlined). In practice these ids are " @@ -12342,11 +12407,11 @@ msgid "" "inlined call." msgstr "" -#: ../../../LangRef.rst:8591 +#: ../../../LangRef.rst:8665 msgid "'``noalias.addrspace``' Metadata" msgstr "" -#: ../../../LangRef.rst:8593 +#: ../../../LangRef.rst:8667 msgid "" "The ``noalias.addrspace`` metadata is used to identify memory operations " "which cannot access objects allocated in a range of address spaces. It is " @@ -12354,14 +12419,14 @@ msgid "" "ref:`cmpxchg `, and :ref:`call ` instructions." msgstr "" -#: ../../../LangRef.rst:8599 +#: ../../../LangRef.rst:8673 msgid "" "This follows the same form as :ref:`range metadata `, except " "the field entries must be of type `i32`. The interpretation is the same " "numeric address spaces as applied to IR values." msgstr "" -#: ../../../LangRef.rst:8619 +#: ../../../LangRef.rst:8693 msgid "" "This is intended for use on targets with a notion of generic address spaces, " "which at runtime resolve to different physical memory spaces. The " @@ -12370,23 +12435,23 @@ msgid "" "in one of the indicated address spaces." msgstr "" -#: ../../../LangRef.rst:8626 +#: ../../../LangRef.rst:8700 msgid "'``mmra``' Metadata" msgstr "" -#: ../../../LangRef.rst:8628 +#: ../../../LangRef.rst:8702 msgid "" "The ``mmra`` metadata represents target-defined properties on instructions " "that can be used to selectively relax constraints placed by the memory model." msgstr "" -#: ../../../LangRef.rst:8631 +#: ../../../LangRef.rst:8705 msgid "" "Refer to :doc:`MemoryModelRelaxationAnnotations` for more information on how " "this metadata affects the memory model of a given target." msgstr "" -#: ../../../LangRef.rst:8634 +#: ../../../LangRef.rst:8708 msgid "" "It is attached to memory instructions such as: :ref:`atomicrmw " "`, :ref:`cmpxchg `, :ref:`load `, :ref:" @@ -12394,28 +12459,28 @@ msgid "" "instructions that read or write memory." msgstr "" -#: ../../../LangRef.rst:8639 +#: ../../../LangRef.rst:8713 msgid "" "The metadata is structured as pairs of strings: a prefix, and suffix that " "form a MMRA \"tag\". The ``!mmra`` operand can either point to a pair of " "metadata strings, or a tuple containing multiple pairs of metadata strings." msgstr "" -#: ../../../LangRef.rst:8658 +#: ../../../LangRef.rst:8732 msgid "'``nofree``' Metadata" msgstr "" -#: ../../../LangRef.rst:8660 +#: ../../../LangRef.rst:8734 msgid "" "The ``nofree`` metadata indicates the memory pointed by the pointer will not " "be freed after the attached instruction." msgstr "" -#: ../../../LangRef.rst:8664 +#: ../../../LangRef.rst:8738 msgid "'``alloc_token``' Metadata" msgstr "" -#: ../../../LangRef.rst:8666 +#: ../../../LangRef.rst:8740 msgid "" "The ``alloc_token`` metadata may be attached to calls to memory allocation " "functions, and contains richer semantic information about the type of the " @@ -12423,17 +12488,17 @@ msgid "" "instrument such calls with allocation token IDs." msgstr "" -#: ../../../LangRef.rst:8671 +#: ../../../LangRef.rst:8745 msgid "" "The metadata contains: string with the type of an allocation, and a boolean " "denoting if the type contains a pointer." msgstr "" -#: ../../../LangRef.rst:8681 +#: ../../../LangRef.rst:8755 msgid "'``stack-protector``' Metadata" msgstr "" -#: ../../../LangRef.rst:8683 +#: ../../../LangRef.rst:8757 msgid "" "The ``stack-protector`` metadata may be attached to alloca instructions. An " "alloca instruction with this metadata and value `i32 0` will be skipped when " @@ -12441,17 +12506,44 @@ msgid "" "may still use a stack protector, if other criteria determine it needs one." msgstr "" -#: ../../../LangRef.rst:8688 +#: ../../../LangRef.rst:8762 msgid "" "The metadata contains an integer, where a 0 value opts the given alloca out " "of requiring a stack protector." msgstr "" -#: ../../../LangRef.rst:8698 +#: ../../../LangRef.rst:8772 +msgid "'``implicit.ref``' Metadata" +msgstr "" + +#: ../../../LangRef.rst:8774 +msgid "" +"The ``implicit.ref`` metadata may be attached to a function or global " +"variable definition with a single argument that references a global object. " +"This is typically used when there is some implicit dependence between the " +"symbols that is otherwise opaque to the linker. One such example is metadata " +"which is accessed by a runtime with associated ``__start_`` " +"and ``__stop_`` symbols." +msgstr "" + +#: ../../../LangRef.rst:8781 +msgid "It does not have any effect on non-XCOFF targets." +msgstr "" + +#: ../../../LangRef.rst:8783 +msgid "" +"This metadata lowers to the .ref assembly directive which will add a " +"relocation representing an implicit reference from the section the global " +"belongs to, to the associated symbol. This link will keep the referenced " +"symbol alive if the section is not garbage collected. More than one ref node " +"can be attached to the same function or global variable." +msgstr "" + +#: ../../../LangRef.rst:8802 msgid "Module Flags Metadata" msgstr "" -#: ../../../LangRef.rst:8700 +#: ../../../LangRef.rst:8804 msgid "" "Information about the module as a whole is difficult to convey to LLVM's " "subsystems. The LLVM IR isn't sufficient to transmit this information. The " @@ -12460,31 +12552,31 @@ msgid "" "--- making it easy for any subsystem that cares about a flag to look it up." msgstr "" -#: ../../../LangRef.rst:8707 +#: ../../../LangRef.rst:8811 msgid "" "The ``llvm.module.flags`` metadata contains a list of metadata triplets. " "Each triplet has the following form:" msgstr "" -#: ../../../LangRef.rst:8710 +#: ../../../LangRef.rst:8814 msgid "" "The first element is a *behavior* flag, which specifies the behavior when " "two (or more) modules are merged together, and it encounters two (or more) " "metadata with the same ID. The supported behaviors are described below." msgstr "" -#: ../../../LangRef.rst:8714 +#: ../../../LangRef.rst:8818 msgid "" "The second element is a metadata string that is a unique ID for the " "metadata. Each module may only have one flag entry for each unique ID (not " "including entries with the **Require** behavior)." msgstr "" -#: ../../../LangRef.rst:8717 +#: ../../../LangRef.rst:8821 msgid "The third element is the value of the flag." msgstr "" -#: ../../../LangRef.rst:8719 +#: ../../../LangRef.rst:8823 msgid "" "When two (or more) modules are merged together, the resulting ``llvm.module." "flags`` metadata is the union of the modules' flags. That is, for each " @@ -12494,34 +12586,34 @@ msgid "" "exception is that entries with the *Require* behavior are always preserved." msgstr "" -#: ../../../LangRef.rst:8726 +#: ../../../LangRef.rst:8830 msgid "The following behaviors are supported:" msgstr "" -#: ../../../LangRef.rst:8732 ../../../LangRef.rst:8862 -#: ../../../LangRef.rst:8913 +#: ../../../LangRef.rst:8836 ../../../LangRef.rst:8966 +#: ../../../LangRef.rst:9017 msgid "Value" msgstr "" -#: ../../../LangRef.rst:8733 +#: ../../../LangRef.rst:8837 msgid "Behavior" msgstr "" -#: ../../../LangRef.rst:8738 +#: ../../../LangRef.rst:8842 msgid "**Error**" msgstr "" -#: ../../../LangRef.rst:8737 +#: ../../../LangRef.rst:8841 msgid "" "Emits an error if two values disagree, otherwise the resulting value is that " "of the operands." msgstr "" -#: ../../../LangRef.rst:8746 +#: ../../../LangRef.rst:8850 msgid "**Warning**" msgstr "" -#: ../../../LangRef.rst:8742 +#: ../../../LangRef.rst:8846 msgid "" "Emits a warning if two values disagree. The result value will be the operand " "for the flag from the first module being linked, unless the other module " @@ -12529,11 +12621,11 @@ msgid "" "min value) or **Max** (with the max value), respectively." msgstr "" -#: ../../../LangRef.rst:8756 +#: ../../../LangRef.rst:8860 msgid "**Require**" msgstr "" -#: ../../../LangRef.rst:8750 +#: ../../../LangRef.rst:8854 msgid "" "Adds a requirement that another module flag be present and have a specified " "value after linking is performed. The value must be a metadata pair, where " @@ -12543,119 +12635,119 @@ msgid "" "(via triggering of an error) of linking IDs with the **Override** behavior." msgstr "" -#: ../../../LangRef.rst:8762 +#: ../../../LangRef.rst:8866 msgid "**Override**" msgstr "" -#: ../../../LangRef.rst:8760 +#: ../../../LangRef.rst:8864 msgid "" "Uses the specified value, regardless of the behavior or value of the other " "module. If both modules specify **Override**, but the values differ, an " "error will be emitted." msgstr "" -#: ../../../LangRef.rst:8764 ../../../LangRef.rst:29835 +#: ../../../LangRef.rst:8868 ../../../LangRef.rst:30273 msgid "5" msgstr "" -#: ../../../LangRef.rst:8766 +#: ../../../LangRef.rst:8870 msgid "**Append**" msgstr "" -#: ../../../LangRef.rst:8766 +#: ../../../LangRef.rst:8870 msgid "Appends the two values, which are required to be metadata nodes." msgstr "" -#: ../../../LangRef.rst:8768 ../../../LangRef.rst:29837 +#: ../../../LangRef.rst:8872 ../../../LangRef.rst:30275 msgid "6" msgstr "" -#: ../../../LangRef.rst:8772 +#: ../../../LangRef.rst:8876 msgid "**AppendUnique**" msgstr "" -#: ../../../LangRef.rst:8770 +#: ../../../LangRef.rst:8874 msgid "" "Appends the two values, which are required to be metadata nodes. However, " "duplicate entries in the second list are dropped during the append operation." msgstr "" -#: ../../../LangRef.rst:8774 ../../../LangRef.rst:29839 +#: ../../../LangRef.rst:8878 ../../../LangRef.rst:30277 msgid "7" msgstr "" -#: ../../../LangRef.rst:8776 +#: ../../../LangRef.rst:8880 msgid "**Max**" msgstr "" -#: ../../../LangRef.rst:8776 +#: ../../../LangRef.rst:8880 msgid "Takes the max of the two values, which are required to be integers." msgstr "" -#: ../../../LangRef.rst:8780 +#: ../../../LangRef.rst:8884 msgid "**Min**" msgstr "" -#: ../../../LangRef.rst:8780 +#: ../../../LangRef.rst:8884 msgid "" "Takes the min of the two values, which are required to be non-negative " "integers. An absent module flag is treated as having the value 0." msgstr "" -#: ../../../LangRef.rst:8783 +#: ../../../LangRef.rst:8887 msgid "" "It is an error for a particular unique flag ID to have multiple behaviors, " "except in the case of **Require** (which adds restrictions on another " "metadata value) or **Override**." msgstr "" -#: ../../../LangRef.rst:8787 +#: ../../../LangRef.rst:8891 msgid "An example of module flags:" msgstr "" -#: ../../../LangRef.rst:8801 +#: ../../../LangRef.rst:8905 msgid "" "Metadata ``!0`` has the ID ``!\"foo\"`` and the value '1'. The behavior if " "two or more ``!\"foo\"`` flags are seen is to emit an error if their values " "are not equal." msgstr "" -#: ../../../LangRef.rst:8805 +#: ../../../LangRef.rst:8909 msgid "" "Metadata ``!1`` has the ID ``!\"bar\"`` and the value '37'. The behavior if " "two or more ``!\"bar\"`` flags are seen is to use the value '37'." msgstr "" -#: ../../../LangRef.rst:8809 +#: ../../../LangRef.rst:8913 msgid "" "Metadata ``!2`` has the ID ``!\"qux\"`` and the value '42'. The behavior if " "two or more ``!\"qux\"`` flags are seen is to emit a warning if their values " "are not equal." msgstr "" -#: ../../../LangRef.rst:8813 +#: ../../../LangRef.rst:8917 msgid "Metadata ``!3`` has the ID ``!\"qux\"`` and the value:" msgstr "" -#: ../../../LangRef.rst:8819 +#: ../../../LangRef.rst:8923 msgid "" "The behavior is to emit an error if the ``llvm.module.flags`` does not " "contain a flag with the ID ``!\"foo\"`` that has the value '1' after linking " "is performed." msgstr "" -#: ../../../LangRef.rst:8824 +#: ../../../LangRef.rst:8928 msgid "Synthesized Functions Module Flags Metadata" msgstr "" -#: ../../../LangRef.rst:8826 +#: ../../../LangRef.rst:8930 msgid "" "These metadata specify the default attributes synthesized functions should " "have. These metadata are currently respected by a few instrumentation " "passes, such as sanitizers." msgstr "" -#: ../../../LangRef.rst:8830 +#: ../../../LangRef.rst:8934 msgid "" "These metadata correspond to a few function attributes with significant code " "generation behaviors. Function attributes with just optimization purposes " @@ -12663,20 +12755,20 @@ msgid "" "functions is small." msgstr "" -#: ../../../LangRef.rst:8835 +#: ../../../LangRef.rst:8939 msgid "" "\"frame-pointer\": **Max**. The value can be 0, 1, or 2. A synthesized " "function will get the \"frame-pointer\" function attribute, with value being " "\"none\", \"non-leaf\", or \"all\", respectively." msgstr "" -#: ../../../LangRef.rst:8838 +#: ../../../LangRef.rst:8942 msgid "" "\"function_return_thunk_extern\": The synthesized function will get the " "``fn_return_thunk_extern`` function attribute." msgstr "" -#: ../../../LangRef.rst:8840 +#: ../../../LangRef.rst:8944 msgid "" "\"uwtable\": **Max**. The value can be 0, 1, or 2. If the value is 1, a " "synthesized function will get the ``uwtable(sync)`` function attribute, if " @@ -12684,11 +12776,11 @@ msgid "" "function attribute." msgstr "" -#: ../../../LangRef.rst:8845 +#: ../../../LangRef.rst:8949 msgid "Objective-C Garbage Collection Module Flags Metadata" msgstr "" -#: ../../../LangRef.rst:8847 +#: ../../../LangRef.rst:8951 msgid "" "On the Mach-O platform, Objective-C stores metadata about garbage collection " "in a special section called \"image info\". The metadata consists of a " @@ -12698,39 +12790,39 @@ msgid "" "together." msgstr "" -#: ../../../LangRef.rst:8854 +#: ../../../LangRef.rst:8958 msgid "" "The Objective-C garbage collection module flags metadata consists of the " "following key-value pairs:" msgstr "" -#: ../../../LangRef.rst:8861 ../../../LangRef.rst:8912 +#: ../../../LangRef.rst:8965 ../../../LangRef.rst:9016 msgid "Key" msgstr "" -#: ../../../LangRef.rst:8864 +#: ../../../LangRef.rst:8968 msgid "``Objective-C Version``" msgstr "" -#: ../../../LangRef.rst:8865 +#: ../../../LangRef.rst:8969 msgid "" "**[Required]** --- The Objective-C ABI version. Valid values are 1 and 2." msgstr "" -#: ../../../LangRef.rst:8867 +#: ../../../LangRef.rst:8971 msgid "``Objective-C Image Info Version``" msgstr "" -#: ../../../LangRef.rst:8868 +#: ../../../LangRef.rst:8972 msgid "" "**[Required]** --- The version of the image info section. Currently always 0." msgstr "" -#: ../../../LangRef.rst:8871 +#: ../../../LangRef.rst:8975 msgid "``Objective-C Image Info Section``" msgstr "" -#: ../../../LangRef.rst:8872 +#: ../../../LangRef.rst:8976 msgid "" "**[Required]** --- The section to place the metadata. Valid values are " "``\"__OBJC, __image_info, regular\"`` for Objective-C ABI version 1, and " @@ -12738,50 +12830,50 @@ msgid "" "version 2." msgstr "" -#: ../../../LangRef.rst:8877 +#: ../../../LangRef.rst:8981 msgid "``Objective-C Garbage Collection``" msgstr "" -#: ../../../LangRef.rst:8878 +#: ../../../LangRef.rst:8982 msgid "" "**[Required]** --- Specifies whether garbage collection is supported or not. " "Valid values are 0, for no garbage collection, and 2, for garbage collection " "supported." msgstr "" -#: ../../../LangRef.rst:8882 +#: ../../../LangRef.rst:8986 msgid "``Objective-C GC Only``" msgstr "" -#: ../../../LangRef.rst:8883 +#: ../../../LangRef.rst:8987 msgid "" "**[Optional]** --- Specifies that only garbage collection is supported. If " "present, its value must be 6. This flag requires that the ``Objective-C " "Garbage Collection`` flag have the value 2." msgstr "" -#: ../../../LangRef.rst:8887 +#: ../../../LangRef.rst:8991 msgid "Some important flag interactions:" msgstr "" -#: ../../../LangRef.rst:8889 +#: ../../../LangRef.rst:8993 msgid "" "If a module with ``Objective-C Garbage Collection`` set to 0 is merged with " "a module with ``Objective-C Garbage Collection`` set to 2, then the " "resulting module has the ``Objective-C Garbage Collection`` flag set to 0." msgstr "" -#: ../../../LangRef.rst:8893 +#: ../../../LangRef.rst:8997 msgid "" "A module with ``Objective-C Garbage Collection`` set to 0 cannot be merged " "with a module with ``Objective-C GC Only`` set to 6." msgstr "" -#: ../../../LangRef.rst:8897 +#: ../../../LangRef.rst:9001 msgid "C type width Module Flags Metadata" msgstr "" -#: ../../../LangRef.rst:8899 +#: ../../../LangRef.rst:9003 msgid "" "The ARM backend emits a section into each generated object file describing " "the options that it was compiled with (in a compiler-independent way) to " @@ -12790,71 +12882,71 @@ msgid "" "wchar_t width and enum width." msgstr "" -#: ../../../LangRef.rst:8905 +#: ../../../LangRef.rst:9009 msgid "" "To pass this information to the backend, these options are encoded in module " "flags metadata, using the following key-value pairs:" msgstr "" -#: ../../../LangRef.rst:8915 +#: ../../../LangRef.rst:9019 msgid "short_wchar" msgstr "" -#: ../../../LangRef.rst:8916 +#: ../../../LangRef.rst:9020 msgid "0 --- sizeof(wchar_t) == 4" msgstr "" -#: ../../../LangRef.rst:8917 +#: ../../../LangRef.rst:9021 msgid "1 --- sizeof(wchar_t) == 2" msgstr "" -#: ../../../LangRef.rst:8919 +#: ../../../LangRef.rst:9023 msgid "short_enum" msgstr "" -#: ../../../LangRef.rst:8920 +#: ../../../LangRef.rst:9024 msgid "0 --- Enums are at least as large as an ``int``." msgstr "" -#: ../../../LangRef.rst:8921 +#: ../../../LangRef.rst:9025 msgid "" "1 --- Enums are stored in the smallest integer type which can represent all " "of its values." msgstr "" -#: ../../../LangRef.rst:8924 +#: ../../../LangRef.rst:9028 msgid "" "For example, the following metadata section specifies that the module was " "compiled with a ``wchar_t`` width of 4 bytes, and the underlying type of an " "enum is the smallest type which can represent all of its values::" msgstr "" -#: ../../../LangRef.rst:8933 +#: ../../../LangRef.rst:9037 msgid "Stack Alignment Metadata" msgstr "" -#: ../../../LangRef.rst:8935 +#: ../../../LangRef.rst:9039 msgid "" "Changes the default stack alignment from the target ABI's implicit default " "stack alignment. Takes an i32 value in bytes. It is considered an error to " "link two modules together with different values for this metadata." msgstr "" -#: ../../../LangRef.rst:8941 +#: ../../../LangRef.rst:9045 msgid "" "!llvm.module.flags = !{!0} !0 = !{i32 1, !\"override-stack-alignment\", i32 " "8}" msgstr "" -#: ../../../LangRef.rst:8944 +#: ../../../LangRef.rst:9048 msgid "This will change the stack alignment to 8B." msgstr "" -#: ../../../LangRef.rst:8947 +#: ../../../LangRef.rst:9051 msgid "Embedded Objects Names Metadata" msgstr "" -#: ../../../LangRef.rst:8949 +#: ../../../LangRef.rst:9053 msgid "" "Offloading compilations need to embed device code into the host section " "table to create a fat binary. This metadata node references each global that " @@ -12864,11 +12956,11 @@ msgid "" "section name it will be stored at::" msgstr "" -#: ../../../LangRef.rst:8960 +#: ../../../LangRef.rst:9064 msgid "Automatic Linker Flags Named Metadata" msgstr "" -#: ../../../LangRef.rst:8962 +#: ../../../LangRef.rst:9066 msgid "" "Some targets support embedding of flags to the linker inside individual " "object files. Typically this is used in conjunction with language extensions " @@ -12876,7 +12968,7 @@ msgid "" "these automatically be transmitted to the linker via object files." msgstr "" -#: ../../../LangRef.rst:8967 +#: ../../../LangRef.rst:9071 msgid "" "These flags are encoded in the IR using named metadata with the name ``!llvm." "linker.options``. Each operand is expected to be a metadata node which " @@ -12884,14 +12976,14 @@ msgid "" "metadata strings defining linker options." msgstr "" -#: ../../../LangRef.rst:8972 +#: ../../../LangRef.rst:9076 msgid "" "For example, the following metadata section specifies two separate sets of " "linker options, presumably to link against ``libz`` and the ``Cocoa`` " "framework::" msgstr "" -#: ../../../LangRef.rst:8980 +#: ../../../LangRef.rst:9084 msgid "" "The metadata encoding as lists of lists of options, as opposed to a " "collapsed list of options, is chosen so that the IR encoding can use " @@ -12900,7 +12992,7 @@ msgid "" "recognized by a target-specific assembly writer or object file emitter." msgstr "" -#: ../../../LangRef.rst:8986 +#: ../../../LangRef.rst:9090 msgid "" "Each individual option is required to be either a valid option for the " "target's linker, or an option that is reserved by the target-specific " @@ -12908,11 +13000,11 @@ msgid "" "defined by the IR." msgstr "" -#: ../../../LangRef.rst:8991 +#: ../../../LangRef.rst:9095 msgid "Dependent Libs Named Metadata" msgstr "" -#: ../../../LangRef.rst:8993 +#: ../../../LangRef.rst:9097 msgid "" "Some targets support embedding of strings into object files to indicate a " "set of libraries to add to the link. Typically this is used in conjunction " @@ -12921,30 +13013,30 @@ msgid "" "linker via object files." msgstr "" -#: ../../../LangRef.rst:8999 +#: ../../../LangRef.rst:9103 msgid "" "The list is encoded in the IR using named metadata with the name ``!llvm." "dependent-libraries``. Each operand is expected to be a metadata node which " "should contain a single string operand." msgstr "" -#: ../../../LangRef.rst:9003 +#: ../../../LangRef.rst:9107 msgid "" "For example, the following metadata section contains two library specifiers::" msgstr "" -#: ../../../LangRef.rst:9009 +#: ../../../LangRef.rst:9113 msgid "" "Each library specifier will be handled independently by the consuming " "linker. The effect of the library specifiers are defined by the consuming " "linker." msgstr "" -#: ../../../LangRef.rst:9013 +#: ../../../LangRef.rst:9117 msgid "'``llvm.errno.tbaa``' Named Metadata" msgstr "" -#: ../../../LangRef.rst:9015 +#: ../../../LangRef.rst:9119 msgid "" "The module-level ``!llvm.errno.tbaa`` metadata specifies the TBAA nodes used " "for accessing ``errno``. These nodes are guaranteed to represent int-" @@ -12954,23 +13046,23 @@ msgid "" "store-to-load forwarding across such routines." msgstr "" -#: ../../../LangRef.rst:9022 +#: ../../../LangRef.rst:9126 msgid "" "For example, the following is a valid metadata specifying the TBAA " "information for an integer access::" msgstr "" -#: ../../../LangRef.rst:9031 +#: ../../../LangRef.rst:9135 msgid "" "Multiple TBAA operands are allowed to support merging of modules that may " "use different TBAA hierarchies (e.g., when mixing C and C++)." msgstr "" -#: ../../../LangRef.rst:9037 +#: ../../../LangRef.rst:9141 msgid "ThinLTO Summary" msgstr "" -#: ../../../LangRef.rst:9039 +#: ../../../LangRef.rst:9143 msgid "" "Compiling with `ThinLTO `_ causes " "the building of a compact summary of the module that is emitted into the " @@ -12978,7 +13070,7 @@ msgid "" "syntax by a caret ('``^``')." msgstr "" -#: ../../../LangRef.rst:9044 +#: ../../../LangRef.rst:9148 msgid "" "The summary is parsed into a bitcode output, along with the Module IR, via " "the \"``llvm-as``\" tool. Tools that parse the Module IR for the purposes of " @@ -12987,7 +13079,7 @@ msgid "" "input file)." msgstr "" -#: ../../../LangRef.rst:9050 +#: ../../../LangRef.rst:9154 msgid "" "Eventually, the summary will be parsed into a ModuleSummaryIndex object " "under the same conditions where summary index is currently built from " @@ -12998,18 +13090,18 @@ msgid "" "before feeding into thin link tools for now)." msgstr "" -#: ../../../LangRef.rst:9058 +#: ../../../LangRef.rst:9162 msgid "" "There are currently 3 types of summary entries in the LLVM assembly: :ref:" "`module paths`, :ref:`global values`, and :" "ref:`type identifiers`." msgstr "" -#: ../../../LangRef.rst:9066 +#: ../../../LangRef.rst:9170 msgid "Module Path Summary Entry" msgstr "" -#: ../../../LangRef.rst:9068 +#: ../../../LangRef.rst:9172 msgid "" "Each module path summary entry lists a module containing global values " "included in the summary. For a single IR module there will be one such " @@ -13017,24 +13109,24 @@ msgid "" "will be one module path entry per linked module with summary." msgstr "" -#: ../../../LangRef.rst:9079 +#: ../../../LangRef.rst:9183 msgid "" "The ``path`` field is a string path to the bitcode file, and the ``hash`` " "field is the 160-bit SHA-1 hash of the IR bitcode contents, used for " "incremental builds and caching." msgstr "" -#: ../../../LangRef.rst:9086 +#: ../../../LangRef.rst:9190 msgid "Global Value Summary Entry" msgstr "" -#: ../../../LangRef.rst:9088 +#: ../../../LangRef.rst:9192 msgid "" "Each global value summary entry corresponds to a global value defined or " "referenced by a summarized module." msgstr "" -#: ../../../LangRef.rst:9097 +#: ../../../LangRef.rst:9201 msgid "" "For declarations, there will not be a summary list. For definitions, a " "global value will contain a list of summaries, one per module containing a " @@ -13042,23 +13134,23 @@ msgid "" "symbols with weak linkage." msgstr "" -#: ../../../LangRef.rst:9102 +#: ../../../LangRef.rst:9206 msgid "" "Each ``Summary`` format will depend on whether the global value is a :ref:" "`function`, :ref:`variable`, or :ref:" "`alias`." msgstr "" -#: ../../../LangRef.rst:9109 +#: ../../../LangRef.rst:9213 msgid "Function Summary" msgstr "" -#: ../../../LangRef.rst:9111 +#: ../../../LangRef.rst:9215 msgid "" "If the global value is a function, the ``Summary`` entry will look like:" msgstr "" -#: ../../../LangRef.rst:9117 +#: ../../../LangRef.rst:9221 msgid "" "The ``module`` field includes the summary entry id for the module containing " "this definition, and the ``flags`` field contains information such as the " @@ -13072,63 +13164,63 @@ msgid "" "`Refs`." msgstr "" -#: ../../../LangRef.rst:9130 +#: ../../../LangRef.rst:9234 msgid "Global Variable Summary" msgstr "" -#: ../../../LangRef.rst:9132 +#: ../../../LangRef.rst:9236 msgid "" "If the global value is a variable, the ``Summary`` entry will look like:" msgstr "" -#: ../../../LangRef.rst:9138 +#: ../../../LangRef.rst:9242 msgid "" "The variable entry contains a subset of the fields in a :ref:`function " "summary `, see the descriptions there." msgstr "" -#: ../../../LangRef.rst:9144 +#: ../../../LangRef.rst:9248 msgid "Alias Summary" msgstr "" -#: ../../../LangRef.rst:9146 +#: ../../../LangRef.rst:9250 msgid "If the global value is an alias, the ``Summary`` entry will look like:" msgstr "" -#: ../../../LangRef.rst:9152 +#: ../../../LangRef.rst:9256 msgid "" "The ``module`` and ``flags`` fields are as described for a :ref:`function " "summary `. The ``aliasee`` field contains a reference to " "the global value summary entry of the aliasee." msgstr "" -#: ../../../LangRef.rst:9159 +#: ../../../LangRef.rst:9263 msgid "Function Flags" msgstr "" -#: ../../../LangRef.rst:9161 +#: ../../../LangRef.rst:9265 msgid "The optional ``FuncFlags`` field looks like:" msgstr "" -#: ../../../LangRef.rst:9167 +#: ../../../LangRef.rst:9271 msgid "" "If unspecified, flags are assumed to hold the conservative ``false`` value " "of ``0``." msgstr "" -#: ../../../LangRef.rst:9173 +#: ../../../LangRef.rst:9277 msgid "Calls" msgstr "" -#: ../../../LangRef.rst:9175 +#: ../../../LangRef.rst:9279 msgid "The optional ``Calls`` field looks like:" msgstr "" -#: ../../../LangRef.rst:9181 +#: ../../../LangRef.rst:9285 msgid "where each ``Callee`` looks like:" msgstr "" -#: ../../../LangRef.rst:9187 +#: ../../../LangRef.rst:9291 msgid "" "The ``callee`` refers to the summary entry id of the callee. At most one of " "``hotness`` (which can take the values ``Unknown``, ``Cold``, ``None``, " @@ -13137,21 +13229,21 @@ msgid "" "specified. The defaults are ``Unknown`` and ``0``, respectively." msgstr "" -#: ../../../LangRef.rst:9196 +#: ../../../LangRef.rst:9300 msgid "Params" msgstr "" -#: ../../../LangRef.rst:9198 +#: ../../../LangRef.rst:9302 msgid "The optional ``Params`` is used by ``StackSafety`` and looks like:" msgstr "" -#: ../../../LangRef.rst:9204 +#: ../../../LangRef.rst:9308 msgid "" "where each ``Param`` describes pointer parameter access inside of the " "function and looks like:" msgstr "" -#: ../../../LangRef.rst:9211 +#: ../../../LangRef.rst:9315 msgid "" "where the first ``param`` is the number of the parameter it describes, " "``offset`` is the inclusive range of offsets from the pointer parameter to " @@ -13159,13 +13251,13 @@ msgid "" "accesses by function calls from ``calls`` list." msgstr "" -#: ../../../LangRef.rst:9216 +#: ../../../LangRef.rst:9320 msgid "" "where each ``Callee`` describes how parameter is forwarded into other " "functions and looks like:" msgstr "" -#: ../../../LangRef.rst:9223 +#: ../../../LangRef.rst:9327 msgid "" "The ``callee`` refers to the summary entry id of the callee, ``param`` is " "the number of the callee parameter which points into the callers parameter " @@ -13174,21 +13266,21 @@ msgid "" "covers all accesses possible by ``calls``." msgstr "" -#: ../../../LangRef.rst:9229 +#: ../../../LangRef.rst:9333 msgid "" "Pointer parameter without corresponding ``Param`` is considered unsafe and " "we assume that access with any offset is possible." msgstr "" -#: ../../../LangRef.rst:9234 +#: ../../../LangRef.rst:9338 msgid "If we have the following function:" msgstr "" -#: ../../../LangRef.rst:9248 +#: ../../../LangRef.rst:9352 msgid "We can expect the record like this:" msgstr "" -#: ../../../LangRef.rst:9254 +#: ../../../LangRef.rst:9358 msgid "" "The function may access just 8 bytes of the parameter %0 . ``calls`` is " "empty, so the parameter is either not used for function calls or ``offset`` " @@ -13201,96 +13293,96 @@ msgid "" "pointer." msgstr "" -#: ../../../LangRef.rst:9267 +#: ../../../LangRef.rst:9371 msgid "Refs" msgstr "" -#: ../../../LangRef.rst:9269 +#: ../../../LangRef.rst:9373 msgid "The optional ``Refs`` field looks like:" msgstr "" -#: ../../../LangRef.rst:9275 +#: ../../../LangRef.rst:9379 msgid "" "where each ``Ref`` contains a reference to the summary id of the referenced " "value (e.g., ``^1``)." msgstr "" -#: ../../../LangRef.rst:9281 +#: ../../../LangRef.rst:9385 msgid "TypeIdInfo" msgstr "" -#: ../../../LangRef.rst:9283 +#: ../../../LangRef.rst:9387 msgid "" "The optional ``TypeIdInfo`` field, used for `Control Flow Integrity `_, looks like:" msgstr "" -#: ../../../LangRef.rst:9291 +#: ../../../LangRef.rst:9395 msgid "These optional fields have the following forms:" msgstr "" -#: ../../../LangRef.rst:9294 +#: ../../../LangRef.rst:9398 msgid "TypeTests" msgstr "" -#: ../../../LangRef.rst:9300 +#: ../../../LangRef.rst:9404 msgid "" "Where each ``TypeIdRef`` refers to a :ref:`type id` by " "summary id or ``GUID``." msgstr "" -#: ../../../LangRef.rst:9304 +#: ../../../LangRef.rst:9408 msgid "TypeTestAssumeVCalls" msgstr "" -#: ../../../LangRef.rst:9310 +#: ../../../LangRef.rst:9414 msgid "Where each VFuncId has the format:" msgstr "" -#: ../../../LangRef.rst:9316 +#: ../../../LangRef.rst:9420 msgid "" "Where each ``TypeIdRef`` refers to a :ref:`type id` by " "summary id or ``GUID`` preceded by a ``guid:`` tag." msgstr "" -#: ../../../LangRef.rst:9320 +#: ../../../LangRef.rst:9424 msgid "TypeCheckedLoadVCalls" msgstr "" -#: ../../../LangRef.rst:9326 +#: ../../../LangRef.rst:9430 msgid "" "Where each VFuncId has the format described for ``TypeTestAssumeVCalls``." msgstr "" -#: ../../../LangRef.rst:9329 +#: ../../../LangRef.rst:9433 msgid "TypeTestAssumeConstVCalls" msgstr "" -#: ../../../LangRef.rst:9335 +#: ../../../LangRef.rst:9439 msgid "Where each ConstVCall has the format:" msgstr "" -#: ../../../LangRef.rst:9341 +#: ../../../LangRef.rst:9445 msgid "" "and where each VFuncId has the format described for " "``TypeTestAssumeVCalls``, and each Arg is an integer argument number." msgstr "" -#: ../../../LangRef.rst:9345 +#: ../../../LangRef.rst:9449 msgid "TypeCheckedLoadConstVCalls" msgstr "" -#: ../../../LangRef.rst:9351 +#: ../../../LangRef.rst:9455 msgid "" "Where each ConstVCall has the format described for " "``TypeTestAssumeConstVCalls``." msgstr "" -#: ../../../LangRef.rst:9357 +#: ../../../LangRef.rst:9461 msgid "Type ID Summary Entry" msgstr "" -#: ../../../LangRef.rst:9359 +#: ../../../LangRef.rst:9463 msgid "" "Each type id summary entry corresponds to a type identifier resolution which " "is generated during the LTO link portion of the compile when building with " @@ -13298,7 +13390,7 @@ msgid "" "html>`_, so these are only present in a combined summary index." msgstr "" -#: ../../../LangRef.rst:9370 +#: ../../../LangRef.rst:9474 msgid "" "The ``typeTestRes`` gives the type test resolution ``kind`` (which may be " "``unsat``, ``byteArray``, ``inline``, ``single``, or ``allOnes``), and the " @@ -13307,24 +13399,24 @@ msgid "" "field that looks like:" msgstr "" -#: ../../../LangRef.rst:9380 +#: ../../../LangRef.rst:9484 msgid "" "where each entry is a mapping from the given byte offset to the whole-" "program devirtualization resolution WpdRes, that has one of the following " "formats:" msgstr "" -#: ../../../LangRef.rst:9389 +#: ../../../LangRef.rst:9493 msgid "" "Additionally, each wpdRes has an optional ``resByArg`` field, which " "describes the resolutions for calls with all constant integer arguments:" msgstr "" -#: ../../../LangRef.rst:9396 +#: ../../../LangRef.rst:9500 msgid "where ResByArg is:" msgstr "" -#: ../../../LangRef.rst:9402 +#: ../../../LangRef.rst:9506 msgid "" "Where the ``kind`` can be ``Indir``, ``UniformRetVal``, ``UniqueRetVal`` or " "``VirtualConstProp``. The ``info`` field is only used if the kind is " @@ -13334,11 +13426,11 @@ msgid "" "use of absolute symbols to store constants." msgstr "" -#: ../../../LangRef.rst:9412 +#: ../../../LangRef.rst:9516 msgid "Intrinsic Global Variables" msgstr "" -#: ../../../LangRef.rst:9414 +#: ../../../LangRef.rst:9518 msgid "" "LLVM has a number of \"magic\" global variables that contain data that " "affect code generation or other IR semantics. These are documented here. All " @@ -13347,11 +13439,11 @@ msgid "" "reserved for use by LLVM." msgstr "" -#: ../../../LangRef.rst:9423 +#: ../../../LangRef.rst:9527 msgid "The '``llvm.used``' Global Variable" msgstr "" -#: ../../../LangRef.rst:9425 +#: ../../../LangRef.rst:9529 msgid "" "The ``@llvm.used`` global is an array which has :ref:`appending linkage " "`. This array contains a list of pointers to named global " @@ -13359,7 +13451,7 @@ msgid "" "formed of bitcast or getelementptr. For example, a legal use of it is:" msgstr "" -#: ../../../LangRef.rst:9441 +#: ../../../LangRef.rst:9545 msgid "" "If a symbol appears in the ``@llvm.used`` list, then the compiler, " "assembler, and linker are required to treat the symbol as if there is a " @@ -13371,17 +13463,17 @@ msgid "" "C." msgstr "" -#: ../../../LangRef.rst:9449 +#: ../../../LangRef.rst:9553 msgid "" "On some targets, the code generator must emit a directive to the assembler " "or object file to prevent the assembler and linker from removing the symbol." msgstr "" -#: ../../../LangRef.rst:9456 +#: ../../../LangRef.rst:9560 msgid "The '``llvm.compiler.used``' Global Variable" msgstr "" -#: ../../../LangRef.rst:9458 +#: ../../../LangRef.rst:9562 msgid "" "The ``@llvm.compiler.used`` directive is the same as the ``@llvm.used`` " "directive, except that it only prevents the compiler from touching the " @@ -13390,17 +13482,17 @@ msgid "" "``@llvm.used``." msgstr "" -#: ../../../LangRef.rst:9464 +#: ../../../LangRef.rst:9568 msgid "" "This is a rare construct that should only be used in rare circumstances, and " "should not be exposed to source languages." msgstr "" -#: ../../../LangRef.rst:9470 +#: ../../../LangRef.rst:9574 msgid "The '``llvm.global_ctors``' Global Variable" msgstr "" -#: ../../../LangRef.rst:9477 +#: ../../../LangRef.rst:9581 msgid "" "The ``@llvm.global_ctors`` array contains a list of constructor functions, " "priorities, and an associated global or function. The functions referenced " @@ -13409,7 +13501,7 @@ msgid "" "priority is not defined." msgstr "" -#: ../../../LangRef.rst:9483 +#: ../../../LangRef.rst:9587 msgid "" "If the third field is non-null, and points to a global variable or function, " "the initializer function will only run if the associated data from the " @@ -13417,11 +13509,11 @@ msgid "" "function must be in a comdat." msgstr "" -#: ../../../LangRef.rst:9491 +#: ../../../LangRef.rst:9595 msgid "The '``llvm.global_dtors``' Global Variable" msgstr "" -#: ../../../LangRef.rst:9498 +#: ../../../LangRef.rst:9602 msgid "" "The ``@llvm.global_dtors`` array contains a list of destructor functions, " "priorities, and an associated global or function. The functions referenced " @@ -13430,7 +13522,7 @@ msgid "" "priority is not defined." msgstr "" -#: ../../../LangRef.rst:9504 +#: ../../../LangRef.rst:9608 msgid "" "If the third field is non-null, and points to a global variable or function, " "the destructor function will only run if the associated data from the " @@ -13438,11 +13530,11 @@ msgid "" "function must be in a comdat." msgstr "" -#: ../../../LangRef.rst:9510 +#: ../../../LangRef.rst:9614 msgid "Instruction Reference" msgstr "" -#: ../../../LangRef.rst:9512 +#: ../../../LangRef.rst:9616 msgid "" "The LLVM instruction set consists of several different classifications of " "instructions: :ref:`terminator instructions `, :ref:`binary " @@ -13454,11 +13546,11 @@ msgid "" "position in the program's execution." msgstr "" -#: ../../../LangRef.rst:9524 +#: ../../../LangRef.rst:9628 msgid "Terminator Instructions" msgstr "" -#: ../../../LangRef.rst:9526 +#: ../../../LangRef.rst:9630 msgid "" "As mentioned :ref:`previously `, every basic block in a " "program ends with a \"Terminator\" instruction, which indicates which block " @@ -13468,7 +13560,7 @@ msgid "" "instruction)." msgstr "" -#: ../../../LangRef.rst:9533 +#: ../../../LangRef.rst:9637 msgid "" "The terminator instructions are: ':ref:`ret `', ':ref:`br `', ':" "ref:`switch `', ':ref:`indirectbr `', ':ref:`invoke " @@ -13477,673 +13569,681 @@ msgid "" "`cleanupret `', and ':ref:`unreachable `'." msgstr "" -#: ../../../LangRef.rst:9545 +#: ../../../LangRef.rst:9649 msgid "'``ret``' Instruction" msgstr "" -#: ../../../LangRef.rst:9548 ../../../LangRef.rst:9605 -#: ../../../LangRef.rst:9656 ../../../LangRef.rst:9720 -#: ../../../LangRef.rst:9773 ../../../LangRef.rst:9874 -#: ../../../LangRef.rst:9994 ../../../LangRef.rst:10033 -#: ../../../LangRef.rst:10089 ../../../LangRef.rst:10137 -#: ../../../LangRef.rst:10188 ../../../LangRef.rst:10223 -#: ../../../LangRef.rst:10278 ../../../LangRef.rst:10329 -#: ../../../LangRef.rst:10370 ../../../LangRef.rst:10425 -#: ../../../LangRef.rst:10467 ../../../LangRef.rst:10522 -#: ../../../LangRef.rst:10563 ../../../LangRef.rst:10611 -#: ../../../LangRef.rst:10660 ../../../LangRef.rst:10701 -#: ../../../LangRef.rst:10747 ../../../LangRef.rst:10806 -#: ../../../LangRef.rst:10868 ../../../LangRef.rst:10923 -#: ../../../LangRef.rst:10974 ../../../LangRef.rst:11026 -#: ../../../LangRef.rst:11077 ../../../LangRef.rst:11135 -#: ../../../LangRef.rst:11198 ../../../LangRef.rst:11242 -#: ../../../LangRef.rst:11288 ../../../LangRef.rst:11358 -#: ../../../LangRef.rst:11404 ../../../LangRef.rst:11459 -#: ../../../LangRef.rst:11540 ../../../LangRef.rst:11679 -#: ../../../LangRef.rst:11772 ../../../LangRef.rst:11834 -#: ../../../LangRef.rst:11927 ../../../LangRef.rst:12035 -#: ../../../LangRef.rst:12306 ../../../LangRef.rst:12358 -#: ../../../LangRef.rst:12410 ../../../LangRef.rst:12453 -#: ../../../LangRef.rst:12507 ../../../LangRef.rst:12556 -#: ../../../LangRef.rst:12598 ../../../LangRef.rst:12640 -#: ../../../LangRef.rst:12692 ../../../LangRef.rst:12735 -#: ../../../LangRef.rst:12784 ../../../LangRef.rst:12837 -#: ../../../LangRef.rst:12900 ../../../LangRef.rst:12957 -#: ../../../LangRef.rst:13023 ../../../LangRef.rst:13121 -#: ../../../LangRef.rst:13233 ../../../LangRef.rst:13293 -#: ../../../LangRef.rst:13352 ../../../LangRef.rst:13422 -#: ../../../LangRef.rst:13640 ../../../LangRef.rst:13691 -#: ../../../LangRef.rst:13775 ../../../LangRef.rst:13843 -#: ../../../LangRef.rst:14049 ../../../LangRef.rst:14082 -#: ../../../LangRef.rst:14116 ../../../LangRef.rst:14174 -#: ../../../LangRef.rst:14209 ../../../LangRef.rst:14245 -#: ../../../LangRef.rst:14282 ../../../LangRef.rst:14378 -#: ../../../LangRef.rst:14418 ../../../LangRef.rst:14478 -#: ../../../LangRef.rst:14516 ../../../LangRef.rst:14564 -#: ../../../LangRef.rst:14602 ../../../LangRef.rst:14628 -#: ../../../LangRef.rst:14649 ../../../LangRef.rst:14686 -#: ../../../LangRef.rst:14709 ../../../LangRef.rst:14759 -#: ../../../LangRef.rst:14785 ../../../LangRef.rst:14825 -#: ../../../LangRef.rst:14875 ../../../LangRef.rst:14910 -#: ../../../LangRef.rst:14938 ../../../LangRef.rst:14980 -#: ../../../LangRef.rst:15017 ../../../LangRef.rst:15050 -#: ../../../LangRef.rst:15081 ../../../LangRef.rst:15108 -#: ../../../LangRef.rst:15141 ../../../LangRef.rst:15204 -#: ../../../LangRef.rst:15234 ../../../LangRef.rst:15288 -#: ../../../LangRef.rst:15315 ../../../LangRef.rst:15343 -#: ../../../LangRef.rst:15392 ../../../LangRef.rst:15431 -#: ../../../LangRef.rst:15479 ../../../LangRef.rst:15508 -#: ../../../LangRef.rst:15555 ../../../LangRef.rst:15594 -#: ../../../LangRef.rst:15660 ../../../LangRef.rst:15703 -#: ../../../LangRef.rst:15734 ../../../LangRef.rst:15765 -#: ../../../LangRef.rst:15796 ../../../LangRef.rst:15826 -#: ../../../LangRef.rst:15855 ../../../LangRef.rst:15884 -#: ../../../LangRef.rst:15943 ../../../LangRef.rst:16000 -#: ../../../LangRef.rst:16061 ../../../LangRef.rst:16119 -#: ../../../LangRef.rst:16181 ../../../LangRef.rst:16238 -#: ../../../LangRef.rst:16276 ../../../LangRef.rst:16326 -#: ../../../LangRef.rst:16365 ../../../LangRef.rst:16402 -#: ../../../LangRef.rst:16439 ../../../LangRef.rst:16476 -#: ../../../LangRef.rst:16513 ../../../LangRef.rst:16550 -#: ../../../LangRef.rst:16588 ../../../LangRef.rst:16625 -#: ../../../LangRef.rst:16662 ../../../LangRef.rst:16700 -#: ../../../LangRef.rst:16743 ../../../LangRef.rst:16789 -#: ../../../LangRef.rst:16848 ../../../LangRef.rst:16895 -#: ../../../LangRef.rst:16935 ../../../LangRef.rst:16975 -#: ../../../LangRef.rst:17014 ../../../LangRef.rst:17057 -#: ../../../LangRef.rst:17113 ../../../LangRef.rst:17153 -#: ../../../LangRef.rst:17194 ../../../LangRef.rst:17234 -#: ../../../LangRef.rst:17273 ../../../LangRef.rst:17404 -#: ../../../LangRef.rst:17464 ../../../LangRef.rst:17524 -#: ../../../LangRef.rst:17564 ../../../LangRef.rst:17604 -#: ../../../LangRef.rst:17652 ../../../LangRef.rst:17701 -#: ../../../LangRef.rst:17742 ../../../LangRef.rst:17779 -#: ../../../LangRef.rst:17817 ../../../LangRef.rst:17855 -#: ../../../LangRef.rst:17898 ../../../LangRef.rst:17940 -#: ../../../LangRef.rst:17978 ../../../LangRef.rst:18016 -#: ../../../LangRef.rst:18061 ../../../LangRef.rst:18100 -#: ../../../LangRef.rst:18147 ../../../LangRef.rst:18193 -#: ../../../LangRef.rst:18226 ../../../LangRef.rst:18264 -#: ../../../LangRef.rst:18304 ../../../LangRef.rst:18350 -#: ../../../LangRef.rst:18398 ../../../LangRef.rst:18446 -#: ../../../LangRef.rst:18516 ../../../LangRef.rst:18567 -#: ../../../LangRef.rst:18617 ../../../LangRef.rst:18668 -#: ../../../LangRef.rst:18719 ../../../LangRef.rst:18770 -#: ../../../LangRef.rst:19695 ../../../LangRef.rst:19766 -#: ../../../LangRef.rst:19829 ../../../LangRef.rst:19865 -#: ../../../LangRef.rst:19903 ../../../LangRef.rst:19941 -#: ../../../LangRef.rst:19980 ../../../LangRef.rst:20020 -#: ../../../LangRef.rst:20069 ../../../LangRef.rst:20093 -#: ../../../LangRef.rst:20147 ../../../LangRef.rst:20171 -#: ../../../LangRef.rst:20224 ../../../LangRef.rst:20247 -#: ../../../LangRef.rst:20270 ../../../LangRef.rst:20293 -#: ../../../LangRef.rst:20316 ../../../LangRef.rst:20339 -#: ../../../LangRef.rst:20362 ../../../LangRef.rst:20385 -#: ../../../LangRef.rst:20413 ../../../LangRef.rst:20442 -#: ../../../LangRef.rst:20471 ../../../LangRef.rst:20518 -#: ../../../LangRef.rst:20540 ../../../LangRef.rst:20572 -#: ../../../LangRef.rst:20618 ../../../LangRef.rst:20663 -#: ../../../LangRef.rst:20691 ../../../LangRef.rst:20732 -#: ../../../LangRef.rst:20771 ../../../LangRef.rst:20850 -#: ../../../LangRef.rst:20890 ../../../LangRef.rst:21039 -#: ../../../LangRef.rst:21119 ../../../LangRef.rst:21169 -#: ../../../LangRef.rst:21195 ../../../LangRef.rst:21225 -#: ../../../LangRef.rst:21269 ../../../LangRef.rst:21333 -#: ../../../LangRef.rst:21373 ../../../LangRef.rst:21422 -#: ../../../LangRef.rst:21474 ../../../LangRef.rst:21534 -#: ../../../LangRef.rst:21634 ../../../LangRef.rst:21684 -#: ../../../LangRef.rst:21766 ../../../LangRef.rst:21824 -#: ../../../LangRef.rst:21886 ../../../LangRef.rst:21933 -#: ../../../LangRef.rst:21982 ../../../LangRef.rst:22029 -#: ../../../LangRef.rst:22077 ../../../LangRef.rst:22126 -#: ../../../LangRef.rst:22175 ../../../LangRef.rst:22223 -#: ../../../LangRef.rst:22273 ../../../LangRef.rst:22322 -#: ../../../LangRef.rst:22370 ../../../LangRef.rst:22418 -#: ../../../LangRef.rst:22466 ../../../LangRef.rst:22513 -#: ../../../LangRef.rst:22564 ../../../LangRef.rst:22612 -#: ../../../LangRef.rst:22660 ../../../LangRef.rst:22708 -#: ../../../LangRef.rst:22756 ../../../LangRef.rst:22805 -#: ../../../LangRef.rst:22854 ../../../LangRef.rst:22903 -#: ../../../LangRef.rst:22953 ../../../LangRef.rst:23003 -#: ../../../LangRef.rst:23052 ../../../LangRef.rst:23101 -#: ../../../LangRef.rst:23150 ../../../LangRef.rst:23199 -#: ../../../LangRef.rst:23248 ../../../LangRef.rst:23296 -#: ../../../LangRef.rst:23344 ../../../LangRef.rst:23393 -#: ../../../LangRef.rst:23442 ../../../LangRef.rst:23493 -#: ../../../LangRef.rst:23549 ../../../LangRef.rst:23608 -#: ../../../LangRef.rst:23664 ../../../LangRef.rst:23724 -#: ../../../LangRef.rst:23781 ../../../LangRef.rst:23837 -#: ../../../LangRef.rst:23894 ../../../LangRef.rst:23951 -#: ../../../LangRef.rst:24008 ../../../LangRef.rst:24065 -#: ../../../LangRef.rst:24122 ../../../LangRef.rst:24189 -#: ../../../LangRef.rst:24256 ../../../LangRef.rst:24326 -#: ../../../LangRef.rst:24396 ../../../LangRef.rst:24471 -#: ../../../LangRef.rst:24558 ../../../LangRef.rst:24650 -#: ../../../LangRef.rst:24708 ../../../LangRef.rst:24743 -#: ../../../LangRef.rst:24799 ../../../LangRef.rst:24885 -#: ../../../LangRef.rst:24942 ../../../LangRef.rst:25001 -#: ../../../LangRef.rst:25062 ../../../LangRef.rst:25119 -#: ../../../LangRef.rst:25177 ../../../LangRef.rst:25230 -#: ../../../LangRef.rst:25282 ../../../LangRef.rst:25334 -#: ../../../LangRef.rst:25390 ../../../LangRef.rst:25446 -#: ../../../LangRef.rst:25502 ../../../LangRef.rst:25558 -#: ../../../LangRef.rst:25614 ../../../LangRef.rst:25670 -#: ../../../LangRef.rst:25727 ../../../LangRef.rst:25782 -#: ../../../LangRef.rst:25840 ../../../LangRef.rst:25897 -#: ../../../LangRef.rst:25944 ../../../LangRef.rst:25991 -#: ../../../LangRef.rst:26038 ../../../LangRef.rst:26085 -#: ../../../LangRef.rst:26132 ../../../LangRef.rst:26179 -#: ../../../LangRef.rst:26226 ../../../LangRef.rst:26273 -#: ../../../LangRef.rst:26320 ../../../LangRef.rst:26367 -#: ../../../LangRef.rst:26414 ../../../LangRef.rst:26461 -#: ../../../LangRef.rst:26510 ../../../LangRef.rst:26559 -#: ../../../LangRef.rst:26607 ../../../LangRef.rst:26656 -#: ../../../LangRef.rst:26705 ../../../LangRef.rst:26754 -#: ../../../LangRef.rst:26803 ../../../LangRef.rst:26849 -#: ../../../LangRef.rst:26894 ../../../LangRef.rst:26944 -#: ../../../LangRef.rst:26991 ../../../LangRef.rst:27043 -#: ../../../LangRef.rst:27098 ../../../LangRef.rst:27156 -#: ../../../LangRef.rst:27217 ../../../LangRef.rst:27283 -#: ../../../LangRef.rst:27324 ../../../LangRef.rst:27356 -#: ../../../LangRef.rst:27388 ../../../LangRef.rst:27419 -#: ../../../LangRef.rst:27455 ../../../LangRef.rst:27599 -#: ../../../LangRef.rst:27636 ../../../LangRef.rst:27673 -#: ../../../LangRef.rst:27710 ../../../LangRef.rst:27747 -#: ../../../LangRef.rst:27786 ../../../LangRef.rst:27822 -#: ../../../LangRef.rst:27855 ../../../LangRef.rst:27888 -#: ../../../LangRef.rst:27924 ../../../LangRef.rst:27960 -#: ../../../LangRef.rst:27996 ../../../LangRef.rst:28031 -#: ../../../LangRef.rst:28146 ../../../LangRef.rst:28223 -#: ../../../LangRef.rst:28260 ../../../LangRef.rst:28297 -#: ../../../LangRef.rst:28336 ../../../LangRef.rst:28377 -#: ../../../LangRef.rst:28413 ../../../LangRef.rst:28449 -#: ../../../LangRef.rst:28484 ../../../LangRef.rst:28520 -#: ../../../LangRef.rst:28556 ../../../LangRef.rst:28591 -#: ../../../LangRef.rst:28627 ../../../LangRef.rst:28663 -#: ../../../LangRef.rst:28699 ../../../LangRef.rst:28734 -#: ../../../LangRef.rst:28769 ../../../LangRef.rst:28805 -#: ../../../LangRef.rst:28841 ../../../LangRef.rst:28876 -#: ../../../LangRef.rst:28911 ../../../LangRef.rst:28950 -#: ../../../LangRef.rst:28998 ../../../LangRef.rst:29046 -#: ../../../LangRef.rst:29086 ../../../LangRef.rst:29118 -#: ../../../LangRef.rst:29150 ../../../LangRef.rst:29182 -#: ../../../LangRef.rst:29214 ../../../LangRef.rst:29247 -#: ../../../LangRef.rst:29280 ../../../LangRef.rst:29313 +#: ../../../LangRef.rst:9652 ../../../LangRef.rst:9709 +#: ../../../LangRef.rst:9760 ../../../LangRef.rst:9824 +#: ../../../LangRef.rst:9877 ../../../LangRef.rst:9978 +#: ../../../LangRef.rst:10098 ../../../LangRef.rst:10137 +#: ../../../LangRef.rst:10193 ../../../LangRef.rst:10241 +#: ../../../LangRef.rst:10292 ../../../LangRef.rst:10327 +#: ../../../LangRef.rst:10382 ../../../LangRef.rst:10433 +#: ../../../LangRef.rst:10474 ../../../LangRef.rst:10529 +#: ../../../LangRef.rst:10571 ../../../LangRef.rst:10626 +#: ../../../LangRef.rst:10667 ../../../LangRef.rst:10715 +#: ../../../LangRef.rst:10764 ../../../LangRef.rst:10805 +#: ../../../LangRef.rst:10851 ../../../LangRef.rst:10910 +#: ../../../LangRef.rst:10972 ../../../LangRef.rst:11027 +#: ../../../LangRef.rst:11078 ../../../LangRef.rst:11130 +#: ../../../LangRef.rst:11181 ../../../LangRef.rst:11239 +#: ../../../LangRef.rst:11302 ../../../LangRef.rst:11346 +#: ../../../LangRef.rst:11392 ../../../LangRef.rst:11463 +#: ../../../LangRef.rst:11509 ../../../LangRef.rst:11564 +#: ../../../LangRef.rst:11648 ../../../LangRef.rst:11787 +#: ../../../LangRef.rst:11880 ../../../LangRef.rst:11942 +#: ../../../LangRef.rst:12035 ../../../LangRef.rst:12143 +#: ../../../LangRef.rst:12414 ../../../LangRef.rst:12466 +#: ../../../LangRef.rst:12518 ../../../LangRef.rst:12561 +#: ../../../LangRef.rst:12615 ../../../LangRef.rst:12664 +#: ../../../LangRef.rst:12706 ../../../LangRef.rst:12748 +#: ../../../LangRef.rst:12800 ../../../LangRef.rst:12843 +#: ../../../LangRef.rst:12892 ../../../LangRef.rst:12945 +#: ../../../LangRef.rst:13008 ../../../LangRef.rst:13065 +#: ../../../LangRef.rst:13131 ../../../LangRef.rst:13229 +#: ../../../LangRef.rst:13341 ../../../LangRef.rst:13401 +#: ../../../LangRef.rst:13460 ../../../LangRef.rst:13530 +#: ../../../LangRef.rst:13748 ../../../LangRef.rst:13799 +#: ../../../LangRef.rst:13883 ../../../LangRef.rst:13951 +#: ../../../LangRef.rst:14157 ../../../LangRef.rst:14190 +#: ../../../LangRef.rst:14224 ../../../LangRef.rst:14282 +#: ../../../LangRef.rst:14317 ../../../LangRef.rst:14353 +#: ../../../LangRef.rst:14390 ../../../LangRef.rst:14486 +#: ../../../LangRef.rst:14526 ../../../LangRef.rst:14586 +#: ../../../LangRef.rst:14624 ../../../LangRef.rst:14672 +#: ../../../LangRef.rst:14710 ../../../LangRef.rst:14736 +#: ../../../LangRef.rst:14757 ../../../LangRef.rst:14788 +#: ../../../LangRef.rst:14825 ../../../LangRef.rst:14848 +#: ../../../LangRef.rst:14898 ../../../LangRef.rst:14924 +#: ../../../LangRef.rst:14964 ../../../LangRef.rst:15014 +#: ../../../LangRef.rst:15049 ../../../LangRef.rst:15077 +#: ../../../LangRef.rst:15226 ../../../LangRef.rst:15268 +#: ../../../LangRef.rst:15305 ../../../LangRef.rst:15338 +#: ../../../LangRef.rst:15369 ../../../LangRef.rst:15396 +#: ../../../LangRef.rst:15429 ../../../LangRef.rst:15492 +#: ../../../LangRef.rst:15522 ../../../LangRef.rst:15576 +#: ../../../LangRef.rst:15603 ../../../LangRef.rst:15631 +#: ../../../LangRef.rst:15680 ../../../LangRef.rst:15719 +#: ../../../LangRef.rst:15767 ../../../LangRef.rst:15796 +#: ../../../LangRef.rst:15843 ../../../LangRef.rst:15882 +#: ../../../LangRef.rst:15948 ../../../LangRef.rst:15991 +#: ../../../LangRef.rst:16022 ../../../LangRef.rst:16053 +#: ../../../LangRef.rst:16084 ../../../LangRef.rst:16114 +#: ../../../LangRef.rst:16143 ../../../LangRef.rst:16172 +#: ../../../LangRef.rst:16231 ../../../LangRef.rst:16288 +#: ../../../LangRef.rst:16349 ../../../LangRef.rst:16407 +#: ../../../LangRef.rst:16469 ../../../LangRef.rst:16526 +#: ../../../LangRef.rst:16564 ../../../LangRef.rst:16614 +#: ../../../LangRef.rst:16653 ../../../LangRef.rst:16690 +#: ../../../LangRef.rst:16727 ../../../LangRef.rst:16764 +#: ../../../LangRef.rst:16801 ../../../LangRef.rst:16838 +#: ../../../LangRef.rst:16876 ../../../LangRef.rst:16913 +#: ../../../LangRef.rst:16950 ../../../LangRef.rst:16988 +#: ../../../LangRef.rst:17031 ../../../LangRef.rst:17077 +#: ../../../LangRef.rst:17136 ../../../LangRef.rst:17183 +#: ../../../LangRef.rst:17223 ../../../LangRef.rst:17263 +#: ../../../LangRef.rst:17302 ../../../LangRef.rst:17345 +#: ../../../LangRef.rst:17401 ../../../LangRef.rst:17441 +#: ../../../LangRef.rst:17482 ../../../LangRef.rst:17522 +#: ../../../LangRef.rst:17561 ../../../LangRef.rst:17644 +#: ../../../LangRef.rst:17710 ../../../LangRef.rst:17776 +#: ../../../LangRef.rst:17824 ../../../LangRef.rst:17872 +#: ../../../LangRef.rst:17925 ../../../LangRef.rst:17979 +#: ../../../LangRef.rst:18020 ../../../LangRef.rst:18057 +#: ../../../LangRef.rst:18095 ../../../LangRef.rst:18133 +#: ../../../LangRef.rst:18176 ../../../LangRef.rst:18218 +#: ../../../LangRef.rst:18256 ../../../LangRef.rst:18294 +#: ../../../LangRef.rst:18339 ../../../LangRef.rst:18378 +#: ../../../LangRef.rst:18425 ../../../LangRef.rst:18471 +#: ../../../LangRef.rst:18504 ../../../LangRef.rst:18542 +#: ../../../LangRef.rst:18582 ../../../LangRef.rst:18628 +#: ../../../LangRef.rst:18674 ../../../LangRef.rst:18722 +#: ../../../LangRef.rst:18770 ../../../LangRef.rst:18843 +#: ../../../LangRef.rst:18894 ../../../LangRef.rst:18944 +#: ../../../LangRef.rst:18995 ../../../LangRef.rst:19046 +#: ../../../LangRef.rst:19097 ../../../LangRef.rst:20022 +#: ../../../LangRef.rst:20093 ../../../LangRef.rst:20156 +#: ../../../LangRef.rst:20192 ../../../LangRef.rst:20230 +#: ../../../LangRef.rst:20268 ../../../LangRef.rst:20307 +#: ../../../LangRef.rst:20347 ../../../LangRef.rst:20396 +#: ../../../LangRef.rst:20420 ../../../LangRef.rst:20474 +#: ../../../LangRef.rst:20498 ../../../LangRef.rst:20551 +#: ../../../LangRef.rst:20574 ../../../LangRef.rst:20597 +#: ../../../LangRef.rst:20620 ../../../LangRef.rst:20643 +#: ../../../LangRef.rst:20666 ../../../LangRef.rst:20689 +#: ../../../LangRef.rst:20712 ../../../LangRef.rst:20745 +#: ../../../LangRef.rst:20779 ../../../LangRef.rst:20808 +#: ../../../LangRef.rst:20855 ../../../LangRef.rst:20877 +#: ../../../LangRef.rst:20909 ../../../LangRef.rst:20955 +#: ../../../LangRef.rst:21000 ../../../LangRef.rst:21028 +#: ../../../LangRef.rst:21069 ../../../LangRef.rst:21108 +#: ../../../LangRef.rst:21152 ../../../LangRef.rst:21228 +#: ../../../LangRef.rst:21268 ../../../LangRef.rst:21417 +#: ../../../LangRef.rst:21497 ../../../LangRef.rst:21547 +#: ../../../LangRef.rst:21573 ../../../LangRef.rst:21603 +#: ../../../LangRef.rst:21647 ../../../LangRef.rst:21702 +#: ../../../LangRef.rst:21754 ../../../LangRef.rst:21814 +#: ../../../LangRef.rst:21854 ../../../LangRef.rst:21951 +#: ../../../LangRef.rst:22072 ../../../LangRef.rst:22122 +#: ../../../LangRef.rst:22204 ../../../LangRef.rst:22262 +#: ../../../LangRef.rst:22324 ../../../LangRef.rst:22371 +#: ../../../LangRef.rst:22420 ../../../LangRef.rst:22467 +#: ../../../LangRef.rst:22515 ../../../LangRef.rst:22564 +#: ../../../LangRef.rst:22613 ../../../LangRef.rst:22661 +#: ../../../LangRef.rst:22711 ../../../LangRef.rst:22760 +#: ../../../LangRef.rst:22808 ../../../LangRef.rst:22856 +#: ../../../LangRef.rst:22904 ../../../LangRef.rst:22951 +#: ../../../LangRef.rst:23002 ../../../LangRef.rst:23050 +#: ../../../LangRef.rst:23098 ../../../LangRef.rst:23146 +#: ../../../LangRef.rst:23194 ../../../LangRef.rst:23243 +#: ../../../LangRef.rst:23292 ../../../LangRef.rst:23341 +#: ../../../LangRef.rst:23391 ../../../LangRef.rst:23441 +#: ../../../LangRef.rst:23490 ../../../LangRef.rst:23539 +#: ../../../LangRef.rst:23588 ../../../LangRef.rst:23637 +#: ../../../LangRef.rst:23686 ../../../LangRef.rst:23734 +#: ../../../LangRef.rst:23782 ../../../LangRef.rst:23831 +#: ../../../LangRef.rst:23880 ../../../LangRef.rst:23931 +#: ../../../LangRef.rst:23987 ../../../LangRef.rst:24046 +#: ../../../LangRef.rst:24102 ../../../LangRef.rst:24162 +#: ../../../LangRef.rst:24219 ../../../LangRef.rst:24275 +#: ../../../LangRef.rst:24332 ../../../LangRef.rst:24389 +#: ../../../LangRef.rst:24446 ../../../LangRef.rst:24503 +#: ../../../LangRef.rst:24560 ../../../LangRef.rst:24627 +#: ../../../LangRef.rst:24694 ../../../LangRef.rst:24764 +#: ../../../LangRef.rst:24834 ../../../LangRef.rst:24909 +#: ../../../LangRef.rst:24996 ../../../LangRef.rst:25088 +#: ../../../LangRef.rst:25146 ../../../LangRef.rst:25181 +#: ../../../LangRef.rst:25237 ../../../LangRef.rst:25323 +#: ../../../LangRef.rst:25380 ../../../LangRef.rst:25439 +#: ../../../LangRef.rst:25500 ../../../LangRef.rst:25557 +#: ../../../LangRef.rst:25615 ../../../LangRef.rst:25668 +#: ../../../LangRef.rst:25720 ../../../LangRef.rst:25772 +#: ../../../LangRef.rst:25828 ../../../LangRef.rst:25884 +#: ../../../LangRef.rst:25940 ../../../LangRef.rst:25996 +#: ../../../LangRef.rst:26052 ../../../LangRef.rst:26108 +#: ../../../LangRef.rst:26165 ../../../LangRef.rst:26220 +#: ../../../LangRef.rst:26278 ../../../LangRef.rst:26335 +#: ../../../LangRef.rst:26382 ../../../LangRef.rst:26429 +#: ../../../LangRef.rst:26476 ../../../LangRef.rst:26523 +#: ../../../LangRef.rst:26570 ../../../LangRef.rst:26617 +#: ../../../LangRef.rst:26664 ../../../LangRef.rst:26711 +#: ../../../LangRef.rst:26758 ../../../LangRef.rst:26805 +#: ../../../LangRef.rst:26852 ../../../LangRef.rst:26899 +#: ../../../LangRef.rst:26948 ../../../LangRef.rst:26997 +#: ../../../LangRef.rst:27045 ../../../LangRef.rst:27094 +#: ../../../LangRef.rst:27143 ../../../LangRef.rst:27192 +#: ../../../LangRef.rst:27241 ../../../LangRef.rst:27287 +#: ../../../LangRef.rst:27332 ../../../LangRef.rst:27382 +#: ../../../LangRef.rst:27429 ../../../LangRef.rst:27481 +#: ../../../LangRef.rst:27536 ../../../LangRef.rst:27594 +#: ../../../LangRef.rst:27655 ../../../LangRef.rst:27721 +#: ../../../LangRef.rst:27762 ../../../LangRef.rst:27794 +#: ../../../LangRef.rst:27826 ../../../LangRef.rst:27857 +#: ../../../LangRef.rst:27893 ../../../LangRef.rst:28037 +#: ../../../LangRef.rst:28074 ../../../LangRef.rst:28111 +#: ../../../LangRef.rst:28148 ../../../LangRef.rst:28185 +#: ../../../LangRef.rst:28224 ../../../LangRef.rst:28260 +#: ../../../LangRef.rst:28293 ../../../LangRef.rst:28326 +#: ../../../LangRef.rst:28362 ../../../LangRef.rst:28398 +#: ../../../LangRef.rst:28434 ../../../LangRef.rst:28469 +#: ../../../LangRef.rst:28584 ../../../LangRef.rst:28661 +#: ../../../LangRef.rst:28698 ../../../LangRef.rst:28735 +#: ../../../LangRef.rst:28774 ../../../LangRef.rst:28815 +#: ../../../LangRef.rst:28851 ../../../LangRef.rst:28887 +#: ../../../LangRef.rst:28922 ../../../LangRef.rst:28958 +#: ../../../LangRef.rst:28994 ../../../LangRef.rst:29029 +#: ../../../LangRef.rst:29065 ../../../LangRef.rst:29101 +#: ../../../LangRef.rst:29137 ../../../LangRef.rst:29172 +#: ../../../LangRef.rst:29207 ../../../LangRef.rst:29243 +#: ../../../LangRef.rst:29279 ../../../LangRef.rst:29314 #: ../../../LangRef.rst:29349 ../../../LangRef.rst:29388 -#: ../../../LangRef.rst:29427 ../../../LangRef.rst:29462 -#: ../../../LangRef.rst:29546 ../../../LangRef.rst:29581 -#: ../../../LangRef.rst:29612 ../../../LangRef.rst:29636 -#: ../../../LangRef.rst:29665 ../../../LangRef.rst:29689 -#: ../../../LangRef.rst:29722 ../../../LangRef.rst:29755 -#: ../../../LangRef.rst:29792 ../../../LangRef.rst:29874 -#: ../../../LangRef.rst:29904 ../../../LangRef.rst:29943 -#: ../../../LangRef.rst:29983 ../../../LangRef.rst:30006 -#: ../../../LangRef.rst:30035 ../../../LangRef.rst:30064 -#: ../../../LangRef.rst:30093 ../../../LangRef.rst:30129 -#: ../../../LangRef.rst:30164 ../../../LangRef.rst:30213 -#: ../../../LangRef.rst:30245 ../../../LangRef.rst:30281 -#: ../../../LangRef.rst:30327 ../../../LangRef.rst:30354 -#: ../../../LangRef.rst:30379 ../../../LangRef.rst:30434 -#: ../../../LangRef.rst:30456 ../../../LangRef.rst:30492 -#: ../../../LangRef.rst:30521 ../../../LangRef.rst:30596 -#: ../../../LangRef.rst:30649 ../../../LangRef.rst:30787 -#: ../../../LangRef.rst:30845 ../../../LangRef.rst:30902 -#: ../../../LangRef.rst:30929 ../../../LangRef.rst:30959 -#: ../../../LangRef.rst:31003 ../../../LangRef.rst:31052 -#: ../../../LangRef.rst:31077 ../../../LangRef.rst:31104 -#: ../../../LangRef.rst:31140 ../../../LangRef.rst:31185 -#: ../../../LangRef.rst:31259 ../../../LangRef.rst:31340 -#: ../../../LangRef.rst:31418 ../../../LangRef.rst:31432 -#: ../../../LangRef.rst:31446 ../../../LangRef.rst:31460 -#: ../../../LangRef.rst:31474 ../../../LangRef.rst:31488 -#: ../../../LangRef.rst:31502 ../../../LangRef.rst:31516 -#: ../../../LangRef.rst:31530 ../../../LangRef.rst:31544 -#: ../../../LangRef.rst:31558 ../../../LangRef.rst:31572 -#: ../../../LangRef.rst:31586 ../../../LangRef.rst:31600 -#: ../../../LangRef.rst:31614 ../../../LangRef.rst:31628 -#: ../../../LangRef.rst:31642 ../../../LangRef.rst:31656 -#: ../../../LangRef.rst:31680 ../../../LangRef.rst:31722 -#: ../../../LangRef.rst:31753 ../../../LangRef.rst:31791 +#: ../../../LangRef.rst:29436 ../../../LangRef.rst:29484 +#: ../../../LangRef.rst:29524 ../../../LangRef.rst:29556 +#: ../../../LangRef.rst:29588 ../../../LangRef.rst:29620 +#: ../../../LangRef.rst:29652 ../../../LangRef.rst:29685 +#: ../../../LangRef.rst:29718 ../../../LangRef.rst:29751 +#: ../../../LangRef.rst:29787 ../../../LangRef.rst:29826 +#: ../../../LangRef.rst:29865 ../../../LangRef.rst:29900 +#: ../../../LangRef.rst:29984 ../../../LangRef.rst:30019 +#: ../../../LangRef.rst:30050 ../../../LangRef.rst:30074 +#: ../../../LangRef.rst:30103 ../../../LangRef.rst:30127 +#: ../../../LangRef.rst:30160 ../../../LangRef.rst:30193 +#: ../../../LangRef.rst:30230 ../../../LangRef.rst:30312 +#: ../../../LangRef.rst:30342 ../../../LangRef.rst:30381 +#: ../../../LangRef.rst:30421 ../../../LangRef.rst:30444 +#: ../../../LangRef.rst:30473 ../../../LangRef.rst:30502 +#: ../../../LangRef.rst:30531 ../../../LangRef.rst:30567 +#: ../../../LangRef.rst:30602 ../../../LangRef.rst:30651 +#: ../../../LangRef.rst:30683 ../../../LangRef.rst:30719 +#: ../../../LangRef.rst:30765 ../../../LangRef.rst:30792 +#: ../../../LangRef.rst:30817 ../../../LangRef.rst:30872 +#: ../../../LangRef.rst:30894 ../../../LangRef.rst:30930 +#: ../../../LangRef.rst:30959 ../../../LangRef.rst:31034 +#: ../../../LangRef.rst:31087 ../../../LangRef.rst:31225 +#: ../../../LangRef.rst:31283 ../../../LangRef.rst:31340 +#: ../../../LangRef.rst:31367 ../../../LangRef.rst:31397 +#: ../../../LangRef.rst:31441 ../../../LangRef.rst:31490 +#: ../../../LangRef.rst:31515 ../../../LangRef.rst:31542 +#: ../../../LangRef.rst:31578 ../../../LangRef.rst:31623 +#: ../../../LangRef.rst:31697 ../../../LangRef.rst:31778 +#: ../../../LangRef.rst:31856 ../../../LangRef.rst:31870 +#: ../../../LangRef.rst:31884 ../../../LangRef.rst:31898 +#: ../../../LangRef.rst:31912 ../../../LangRef.rst:31926 +#: ../../../LangRef.rst:31940 ../../../LangRef.rst:31954 +#: ../../../LangRef.rst:31968 ../../../LangRef.rst:31982 +#: ../../../LangRef.rst:31996 ../../../LangRef.rst:32010 +#: ../../../LangRef.rst:32024 ../../../LangRef.rst:32038 +#: ../../../LangRef.rst:32052 ../../../LangRef.rst:32066 +#: ../../../LangRef.rst:32080 ../../../LangRef.rst:32094 +#: ../../../LangRef.rst:32118 ../../../LangRef.rst:32160 +#: ../../../LangRef.rst:32191 ../../../LangRef.rst:32229 +#: ../../../LangRef.rst:32281 ../../../LangRef.rst:32329 msgid "Syntax:" msgstr "" -#: ../../../LangRef.rst:9556 ../../../LangRef.rst:9613 -#: ../../../LangRef.rst:9663 ../../../LangRef.rst:9727 -#: ../../../LangRef.rst:9781 ../../../LangRef.rst:9882 -#: ../../../LangRef.rst:10001 ../../../LangRef.rst:10041 -#: ../../../LangRef.rst:10096 ../../../LangRef.rst:10145 -#: ../../../LangRef.rst:10195 ../../../LangRef.rst:10230 -#: ../../../LangRef.rst:10288 ../../../LangRef.rst:10336 -#: ../../../LangRef.rst:10380 ../../../LangRef.rst:10432 -#: ../../../LangRef.rst:10477 ../../../LangRef.rst:10529 -#: ../../../LangRef.rst:10571 ../../../LangRef.rst:10619 -#: ../../../LangRef.rst:10667 ../../../LangRef.rst:10708 -#: ../../../LangRef.rst:10754 ../../../LangRef.rst:10813 -#: ../../../LangRef.rst:10878 ../../../LangRef.rst:10931 -#: ../../../LangRef.rst:10982 ../../../LangRef.rst:11033 -#: ../../../LangRef.rst:11085 ../../../LangRef.rst:11142 -#: ../../../LangRef.rst:11206 ../../../LangRef.rst:11250 -#: ../../../LangRef.rst:11296 ../../../LangRef.rst:11365 -#: ../../../LangRef.rst:11411 ../../../LangRef.rst:11466 -#: ../../../LangRef.rst:11552 ../../../LangRef.rst:11689 -#: ../../../LangRef.rst:11779 ../../../LangRef.rst:11841 -#: ../../../LangRef.rst:11934 ../../../LangRef.rst:12047 -#: ../../../LangRef.rst:12316 ../../../LangRef.rst:12365 -#: ../../../LangRef.rst:12417 ../../../LangRef.rst:12460 -#: ../../../LangRef.rst:12514 ../../../LangRef.rst:12563 -#: ../../../LangRef.rst:12605 ../../../LangRef.rst:12647 -#: ../../../LangRef.rst:12699 ../../../LangRef.rst:12742 -#: ../../../LangRef.rst:12791 ../../../LangRef.rst:12844 -#: ../../../LangRef.rst:12907 ../../../LangRef.rst:12964 -#: ../../../LangRef.rst:13031 ../../../LangRef.rst:13128 -#: ../../../LangRef.rst:13240 ../../../LangRef.rst:13302 -#: ../../../LangRef.rst:13359 ../../../LangRef.rst:13430 -#: ../../../LangRef.rst:13647 ../../../LangRef.rst:13702 -#: ../../../LangRef.rst:13782 ../../../LangRef.rst:13850 -#: ../../../LangRef.rst:14057 ../../../LangRef.rst:14090 -#: ../../../LangRef.rst:14124 ../../../LangRef.rst:14181 -#: ../../../LangRef.rst:14216 ../../../LangRef.rst:14252 -#: ../../../LangRef.rst:14294 ../../../LangRef.rst:14386 -#: ../../../LangRef.rst:14428 ../../../LangRef.rst:14488 -#: ../../../LangRef.rst:14526 ../../../LangRef.rst:14571 -#: ../../../LangRef.rst:14609 ../../../LangRef.rst:14635 -#: ../../../LangRef.rst:14656 ../../../LangRef.rst:14693 -#: ../../../LangRef.rst:14717 ../../../LangRef.rst:14767 -#: ../../../LangRef.rst:14793 ../../../LangRef.rst:14838 -#: ../../../LangRef.rst:14883 ../../../LangRef.rst:14918 -#: ../../../LangRef.rst:14946 ../../../LangRef.rst:14987 -#: ../../../LangRef.rst:15024 ../../../LangRef.rst:15057 -#: ../../../LangRef.rst:15088 ../../../LangRef.rst:15115 -#: ../../../LangRef.rst:15149 ../../../LangRef.rst:15213 -#: ../../../LangRef.rst:15243 ../../../LangRef.rst:15296 -#: ../../../LangRef.rst:15323 ../../../LangRef.rst:15352 -#: ../../../LangRef.rst:15400 ../../../LangRef.rst:15440 -#: ../../../LangRef.rst:15487 ../../../LangRef.rst:15515 -#: ../../../LangRef.rst:15562 ../../../LangRef.rst:15601 -#: ../../../LangRef.rst:15671 ../../../LangRef.rst:15714 -#: ../../../LangRef.rst:15745 ../../../LangRef.rst:15776 -#: ../../../LangRef.rst:15807 ../../../LangRef.rst:15837 -#: ../../../LangRef.rst:15866 ../../../LangRef.rst:15898 -#: ../../../LangRef.rst:15957 ../../../LangRef.rst:16014 -#: ../../../LangRef.rst:16075 ../../../LangRef.rst:16133 -#: ../../../LangRef.rst:16193 ../../../LangRef.rst:16253 -#: ../../../LangRef.rst:16294 ../../../LangRef.rst:16341 -#: ../../../LangRef.rst:16380 ../../../LangRef.rst:16417 -#: ../../../LangRef.rst:16454 ../../../LangRef.rst:16491 -#: ../../../LangRef.rst:16528 ../../../LangRef.rst:16565 -#: ../../../LangRef.rst:16603 ../../../LangRef.rst:16640 -#: ../../../LangRef.rst:16677 ../../../LangRef.rst:16716 -#: ../../../LangRef.rst:16759 ../../../LangRef.rst:16804 -#: ../../../LangRef.rst:16863 ../../../LangRef.rst:16910 -#: ../../../LangRef.rst:16950 ../../../LangRef.rst:16990 -#: ../../../LangRef.rst:17030 ../../../LangRef.rst:17073 -#: ../../../LangRef.rst:17128 ../../../LangRef.rst:17168 -#: ../../../LangRef.rst:17209 ../../../LangRef.rst:17249 -#: ../../../LangRef.rst:17288 ../../../LangRef.rst:17419 -#: ../../../LangRef.rst:17479 ../../../LangRef.rst:17539 -#: ../../../LangRef.rst:17579 ../../../LangRef.rst:17619 -#: ../../../LangRef.rst:17667 ../../../LangRef.rst:17716 -#: ../../../LangRef.rst:17757 ../../../LangRef.rst:17794 -#: ../../../LangRef.rst:17832 ../../../LangRef.rst:17870 -#: ../../../LangRef.rst:17913 ../../../LangRef.rst:17955 -#: ../../../LangRef.rst:17993 ../../../LangRef.rst:18037 -#: ../../../LangRef.rst:18075 ../../../LangRef.rst:18121 -#: ../../../LangRef.rst:18162 ../../../LangRef.rst:18206 -#: ../../../LangRef.rst:18239 ../../../LangRef.rst:18280 -#: ../../../LangRef.rst:18316 ../../../LangRef.rst:18362 -#: ../../../LangRef.rst:18411 ../../../LangRef.rst:18459 -#: ../../../LangRef.rst:18529 ../../../LangRef.rst:18580 -#: ../../../LangRef.rst:18630 ../../../LangRef.rst:18681 -#: ../../../LangRef.rst:18732 ../../../LangRef.rst:18783 -#: ../../../LangRef.rst:19703 ../../../LangRef.rst:19774 -#: ../../../LangRef.rst:19839 ../../../LangRef.rst:19875 -#: ../../../LangRef.rst:19913 ../../../LangRef.rst:19951 -#: ../../../LangRef.rst:19990 ../../../LangRef.rst:20030 -#: ../../../LangRef.rst:20077 ../../../LangRef.rst:20101 -#: ../../../LangRef.rst:20155 ../../../LangRef.rst:20179 -#: ../../../LangRef.rst:20231 ../../../LangRef.rst:20254 -#: ../../../LangRef.rst:20277 ../../../LangRef.rst:20300 -#: ../../../LangRef.rst:20323 ../../../LangRef.rst:20346 -#: ../../../LangRef.rst:20369 ../../../LangRef.rst:20393 -#: ../../../LangRef.rst:20422 ../../../LangRef.rst:20451 -#: ../../../LangRef.rst:20480 ../../../LangRef.rst:20588 -#: ../../../LangRef.rst:20634 ../../../LangRef.rst:20672 -#: ../../../LangRef.rst:20703 ../../../LangRef.rst:20744 -#: ../../../LangRef.rst:20780 ../../../LangRef.rst:20860 -#: ../../../LangRef.rst:20899 ../../../LangRef.rst:21050 -#: ../../../LangRef.rst:21129 ../../../LangRef.rst:21177 -#: ../../../LangRef.rst:21203 ../../../LangRef.rst:21237 -#: ../../../LangRef.rst:21283 ../../../LangRef.rst:21341 -#: ../../../LangRef.rst:21381 ../../../LangRef.rst:21435 -#: ../../../LangRef.rst:21487 ../../../LangRef.rst:21542 -#: ../../../LangRef.rst:21641 ../../../LangRef.rst:21691 -#: ../../../LangRef.rst:21775 ../../../LangRef.rst:21833 -#: ../../../LangRef.rst:21896 ../../../LangRef.rst:21943 -#: ../../../LangRef.rst:21992 ../../../LangRef.rst:22039 -#: ../../../LangRef.rst:22087 ../../../LangRef.rst:22136 -#: ../../../LangRef.rst:22185 ../../../LangRef.rst:22233 -#: ../../../LangRef.rst:22283 ../../../LangRef.rst:22332 -#: ../../../LangRef.rst:22380 ../../../LangRef.rst:22428 -#: ../../../LangRef.rst:22476 ../../../LangRef.rst:22523 -#: ../../../LangRef.rst:22574 ../../../LangRef.rst:22622 -#: ../../../LangRef.rst:22670 ../../../LangRef.rst:22718 -#: ../../../LangRef.rst:22766 ../../../LangRef.rst:22815 -#: ../../../LangRef.rst:22864 ../../../LangRef.rst:22913 -#: ../../../LangRef.rst:22963 ../../../LangRef.rst:23013 -#: ../../../LangRef.rst:23062 ../../../LangRef.rst:23111 -#: ../../../LangRef.rst:23160 ../../../LangRef.rst:23209 -#: ../../../LangRef.rst:23258 ../../../LangRef.rst:23306 -#: ../../../LangRef.rst:23354 ../../../LangRef.rst:23403 -#: ../../../LangRef.rst:23452 ../../../LangRef.rst:23502 -#: ../../../LangRef.rst:23558 ../../../LangRef.rst:23617 -#: ../../../LangRef.rst:23673 ../../../LangRef.rst:23733 -#: ../../../LangRef.rst:23790 ../../../LangRef.rst:23846 -#: ../../../LangRef.rst:23903 ../../../LangRef.rst:23960 -#: ../../../LangRef.rst:24017 ../../../LangRef.rst:24074 -#: ../../../LangRef.rst:24131 ../../../LangRef.rst:24198 -#: ../../../LangRef.rst:24265 ../../../LangRef.rst:24335 -#: ../../../LangRef.rst:24408 ../../../LangRef.rst:24483 -#: ../../../LangRef.rst:24570 ../../../LangRef.rst:24659 -#: ../../../LangRef.rst:24717 ../../../LangRef.rst:24754 -#: ../../../LangRef.rst:24810 ../../../LangRef.rst:24896 -#: ../../../LangRef.rst:24951 ../../../LangRef.rst:25010 -#: ../../../LangRef.rst:25073 ../../../LangRef.rst:25130 -#: ../../../LangRef.rst:25186 ../../../LangRef.rst:25239 -#: ../../../LangRef.rst:25291 ../../../LangRef.rst:25343 -#: ../../../LangRef.rst:25399 ../../../LangRef.rst:25456 -#: ../../../LangRef.rst:25512 ../../../LangRef.rst:25568 -#: ../../../LangRef.rst:25624 ../../../LangRef.rst:25680 -#: ../../../LangRef.rst:25737 ../../../LangRef.rst:25792 -#: ../../../LangRef.rst:25850 ../../../LangRef.rst:25907 -#: ../../../LangRef.rst:25954 ../../../LangRef.rst:26001 -#: ../../../LangRef.rst:26048 ../../../LangRef.rst:26095 -#: ../../../LangRef.rst:26142 ../../../LangRef.rst:26189 -#: ../../../LangRef.rst:26236 ../../../LangRef.rst:26283 -#: ../../../LangRef.rst:26330 ../../../LangRef.rst:26377 -#: ../../../LangRef.rst:26424 ../../../LangRef.rst:26471 -#: ../../../LangRef.rst:26520 ../../../LangRef.rst:26570 -#: ../../../LangRef.rst:26617 ../../../LangRef.rst:26666 -#: ../../../LangRef.rst:26715 ../../../LangRef.rst:26764 -#: ../../../LangRef.rst:26813 ../../../LangRef.rst:26859 -#: ../../../LangRef.rst:26903 ../../../LangRef.rst:26955 -#: ../../../LangRef.rst:27002 ../../../LangRef.rst:27053 -#: ../../../LangRef.rst:27108 ../../../LangRef.rst:27165 -#: ../../../LangRef.rst:27226 ../../../LangRef.rst:27290 -#: ../../../LangRef.rst:27331 ../../../LangRef.rst:27365 -#: ../../../LangRef.rst:27397 ../../../LangRef.rst:27429 -#: ../../../LangRef.rst:27465 ../../../LangRef.rst:27609 -#: ../../../LangRef.rst:27646 ../../../LangRef.rst:27683 -#: ../../../LangRef.rst:27720 ../../../LangRef.rst:27757 -#: ../../../LangRef.rst:27796 ../../../LangRef.rst:27831 -#: ../../../LangRef.rst:27864 ../../../LangRef.rst:27898 -#: ../../../LangRef.rst:27934 ../../../LangRef.rst:27970 -#: ../../../LangRef.rst:28005 ../../../LangRef.rst:28045 -#: ../../../LangRef.rst:28157 ../../../LangRef.rst:28233 -#: ../../../LangRef.rst:28270 ../../../LangRef.rst:28307 -#: ../../../LangRef.rst:28346 ../../../LangRef.rst:28387 -#: ../../../LangRef.rst:28423 ../../../LangRef.rst:28459 -#: ../../../LangRef.rst:28494 ../../../LangRef.rst:28530 -#: ../../../LangRef.rst:28566 ../../../LangRef.rst:28602 -#: ../../../LangRef.rst:28637 ../../../LangRef.rst:28673 -#: ../../../LangRef.rst:28709 ../../../LangRef.rst:28744 -#: ../../../LangRef.rst:28779 ../../../LangRef.rst:28815 -#: ../../../LangRef.rst:28851 ../../../LangRef.rst:28886 -#: ../../../LangRef.rst:28921 ../../../LangRef.rst:28960 -#: ../../../LangRef.rst:29008 ../../../LangRef.rst:29056 -#: ../../../LangRef.rst:29095 ../../../LangRef.rst:29127 -#: ../../../LangRef.rst:29159 ../../../LangRef.rst:29191 -#: ../../../LangRef.rst:29223 ../../../LangRef.rst:29256 -#: ../../../LangRef.rst:29289 ../../../LangRef.rst:29322 -#: ../../../LangRef.rst:29358 ../../../LangRef.rst:29397 -#: ../../../LangRef.rst:29436 ../../../LangRef.rst:29470 -#: ../../../LangRef.rst:29553 ../../../LangRef.rst:29588 -#: ../../../LangRef.rst:29619 ../../../LangRef.rst:29643 -#: ../../../LangRef.rst:29672 ../../../LangRef.rst:29699 -#: ../../../LangRef.rst:29731 ../../../LangRef.rst:29762 -#: ../../../LangRef.rst:29800 ../../../LangRef.rst:29881 -#: ../../../LangRef.rst:29917 ../../../LangRef.rst:29957 -#: ../../../LangRef.rst:30013 ../../../LangRef.rst:30042 -#: ../../../LangRef.rst:30071 ../../../LangRef.rst:30100 -#: ../../../LangRef.rst:30136 ../../../LangRef.rst:30172 -#: ../../../LangRef.rst:30225 ../../../LangRef.rst:30257 -#: ../../../LangRef.rst:30288 ../../../LangRef.rst:30339 -#: ../../../LangRef.rst:30368 ../../../LangRef.rst:30395 -#: ../../../LangRef.rst:30441 ../../../LangRef.rst:30464 -#: ../../../LangRef.rst:30499 ../../../LangRef.rst:30528 -#: ../../../LangRef.rst:30603 ../../../LangRef.rst:30656 -#: ../../../LangRef.rst:30794 ../../../LangRef.rst:30852 -#: ../../../LangRef.rst:30909 ../../../LangRef.rst:30936 -#: ../../../LangRef.rst:30970 ../../../LangRef.rst:31017 -#: ../../../LangRef.rst:31085 ../../../LangRef.rst:31111 -#: ../../../LangRef.rst:31147 ../../../LangRef.rst:31203 -#: ../../../LangRef.rst:31277 ../../../LangRef.rst:31358 -#: ../../../LangRef.rst:31689 ../../../LangRef.rst:31730 -#: ../../../LangRef.rst:31762 ../../../LangRef.rst:31798 +#: ../../../LangRef.rst:9660 ../../../LangRef.rst:9717 +#: ../../../LangRef.rst:9767 ../../../LangRef.rst:9831 +#: ../../../LangRef.rst:9885 ../../../LangRef.rst:9986 +#: ../../../LangRef.rst:10105 ../../../LangRef.rst:10145 +#: ../../../LangRef.rst:10200 ../../../LangRef.rst:10249 +#: ../../../LangRef.rst:10299 ../../../LangRef.rst:10334 +#: ../../../LangRef.rst:10392 ../../../LangRef.rst:10440 +#: ../../../LangRef.rst:10484 ../../../LangRef.rst:10536 +#: ../../../LangRef.rst:10581 ../../../LangRef.rst:10633 +#: ../../../LangRef.rst:10675 ../../../LangRef.rst:10723 +#: ../../../LangRef.rst:10771 ../../../LangRef.rst:10812 +#: ../../../LangRef.rst:10858 ../../../LangRef.rst:10917 +#: ../../../LangRef.rst:10982 ../../../LangRef.rst:11035 +#: ../../../LangRef.rst:11086 ../../../LangRef.rst:11137 +#: ../../../LangRef.rst:11189 ../../../LangRef.rst:11246 +#: ../../../LangRef.rst:11310 ../../../LangRef.rst:11354 +#: ../../../LangRef.rst:11400 ../../../LangRef.rst:11470 +#: ../../../LangRef.rst:11516 ../../../LangRef.rst:11571 +#: ../../../LangRef.rst:11660 ../../../LangRef.rst:11797 +#: ../../../LangRef.rst:11887 ../../../LangRef.rst:11949 +#: ../../../LangRef.rst:12042 ../../../LangRef.rst:12155 +#: ../../../LangRef.rst:12424 ../../../LangRef.rst:12473 +#: ../../../LangRef.rst:12525 ../../../LangRef.rst:12568 +#: ../../../LangRef.rst:12622 ../../../LangRef.rst:12671 +#: ../../../LangRef.rst:12713 ../../../LangRef.rst:12755 +#: ../../../LangRef.rst:12807 ../../../LangRef.rst:12850 +#: ../../../LangRef.rst:12899 ../../../LangRef.rst:12952 +#: ../../../LangRef.rst:13015 ../../../LangRef.rst:13072 +#: ../../../LangRef.rst:13139 ../../../LangRef.rst:13236 +#: ../../../LangRef.rst:13348 ../../../LangRef.rst:13410 +#: ../../../LangRef.rst:13467 ../../../LangRef.rst:13538 +#: ../../../LangRef.rst:13755 ../../../LangRef.rst:13810 +#: ../../../LangRef.rst:13890 ../../../LangRef.rst:13958 +#: ../../../LangRef.rst:14165 ../../../LangRef.rst:14198 +#: ../../../LangRef.rst:14232 ../../../LangRef.rst:14289 +#: ../../../LangRef.rst:14324 ../../../LangRef.rst:14360 +#: ../../../LangRef.rst:14402 ../../../LangRef.rst:14494 +#: ../../../LangRef.rst:14536 ../../../LangRef.rst:14596 +#: ../../../LangRef.rst:14634 ../../../LangRef.rst:14679 +#: ../../../LangRef.rst:14717 ../../../LangRef.rst:14743 +#: ../../../LangRef.rst:14764 ../../../LangRef.rst:14795 +#: ../../../LangRef.rst:14832 ../../../LangRef.rst:14856 +#: ../../../LangRef.rst:14906 ../../../LangRef.rst:14932 +#: ../../../LangRef.rst:14977 ../../../LangRef.rst:15022 +#: ../../../LangRef.rst:15057 ../../../LangRef.rst:15086 +#: ../../../LangRef.rst:15234 ../../../LangRef.rst:15275 +#: ../../../LangRef.rst:15312 ../../../LangRef.rst:15345 +#: ../../../LangRef.rst:15376 ../../../LangRef.rst:15403 +#: ../../../LangRef.rst:15437 ../../../LangRef.rst:15501 +#: ../../../LangRef.rst:15531 ../../../LangRef.rst:15584 +#: ../../../LangRef.rst:15611 ../../../LangRef.rst:15640 +#: ../../../LangRef.rst:15688 ../../../LangRef.rst:15728 +#: ../../../LangRef.rst:15775 ../../../LangRef.rst:15803 +#: ../../../LangRef.rst:15850 ../../../LangRef.rst:15889 +#: ../../../LangRef.rst:15959 ../../../LangRef.rst:16002 +#: ../../../LangRef.rst:16033 ../../../LangRef.rst:16064 +#: ../../../LangRef.rst:16095 ../../../LangRef.rst:16125 +#: ../../../LangRef.rst:16154 ../../../LangRef.rst:16186 +#: ../../../LangRef.rst:16245 ../../../LangRef.rst:16302 +#: ../../../LangRef.rst:16363 ../../../LangRef.rst:16421 +#: ../../../LangRef.rst:16481 ../../../LangRef.rst:16541 +#: ../../../LangRef.rst:16582 ../../../LangRef.rst:16629 +#: ../../../LangRef.rst:16668 ../../../LangRef.rst:16705 +#: ../../../LangRef.rst:16742 ../../../LangRef.rst:16779 +#: ../../../LangRef.rst:16816 ../../../LangRef.rst:16853 +#: ../../../LangRef.rst:16891 ../../../LangRef.rst:16928 +#: ../../../LangRef.rst:16965 ../../../LangRef.rst:17004 +#: ../../../LangRef.rst:17047 ../../../LangRef.rst:17092 +#: ../../../LangRef.rst:17151 ../../../LangRef.rst:17198 +#: ../../../LangRef.rst:17238 ../../../LangRef.rst:17278 +#: ../../../LangRef.rst:17318 ../../../LangRef.rst:17361 +#: ../../../LangRef.rst:17416 ../../../LangRef.rst:17456 +#: ../../../LangRef.rst:17497 ../../../LangRef.rst:17537 +#: ../../../LangRef.rst:17576 ../../../LangRef.rst:17659 +#: ../../../LangRef.rst:17725 ../../../LangRef.rst:17791 +#: ../../../LangRef.rst:17839 ../../../LangRef.rst:17887 +#: ../../../LangRef.rst:17940 ../../../LangRef.rst:17994 +#: ../../../LangRef.rst:18035 ../../../LangRef.rst:18072 +#: ../../../LangRef.rst:18110 ../../../LangRef.rst:18148 +#: ../../../LangRef.rst:18191 ../../../LangRef.rst:18233 +#: ../../../LangRef.rst:18271 ../../../LangRef.rst:18315 +#: ../../../LangRef.rst:18353 ../../../LangRef.rst:18399 +#: ../../../LangRef.rst:18440 ../../../LangRef.rst:18484 +#: ../../../LangRef.rst:18517 ../../../LangRef.rst:18558 +#: ../../../LangRef.rst:18594 ../../../LangRef.rst:18640 +#: ../../../LangRef.rst:18687 ../../../LangRef.rst:18735 +#: ../../../LangRef.rst:18783 ../../../LangRef.rst:18856 +#: ../../../LangRef.rst:18907 ../../../LangRef.rst:18957 +#: ../../../LangRef.rst:19008 ../../../LangRef.rst:19059 +#: ../../../LangRef.rst:19110 ../../../LangRef.rst:20030 +#: ../../../LangRef.rst:20101 ../../../LangRef.rst:20166 +#: ../../../LangRef.rst:20202 ../../../LangRef.rst:20240 +#: ../../../LangRef.rst:20278 ../../../LangRef.rst:20317 +#: ../../../LangRef.rst:20357 ../../../LangRef.rst:20404 +#: ../../../LangRef.rst:20428 ../../../LangRef.rst:20482 +#: ../../../LangRef.rst:20506 ../../../LangRef.rst:20558 +#: ../../../LangRef.rst:20581 ../../../LangRef.rst:20604 +#: ../../../LangRef.rst:20627 ../../../LangRef.rst:20650 +#: ../../../LangRef.rst:20673 ../../../LangRef.rst:20696 +#: ../../../LangRef.rst:20720 ../../../LangRef.rst:20754 +#: ../../../LangRef.rst:20788 ../../../LangRef.rst:20817 +#: ../../../LangRef.rst:20925 ../../../LangRef.rst:20971 +#: ../../../LangRef.rst:21009 ../../../LangRef.rst:21040 +#: ../../../LangRef.rst:21081 ../../../LangRef.rst:21117 +#: ../../../LangRef.rst:21161 ../../../LangRef.rst:21238 +#: ../../../LangRef.rst:21277 ../../../LangRef.rst:21428 +#: ../../../LangRef.rst:21507 ../../../LangRef.rst:21555 +#: ../../../LangRef.rst:21581 ../../../LangRef.rst:21615 +#: ../../../LangRef.rst:21661 ../../../LangRef.rst:21715 +#: ../../../LangRef.rst:21767 ../../../LangRef.rst:21822 +#: ../../../LangRef.rst:21863 ../../../LangRef.rst:21959 +#: ../../../LangRef.rst:22079 ../../../LangRef.rst:22129 +#: ../../../LangRef.rst:22213 ../../../LangRef.rst:22271 +#: ../../../LangRef.rst:22334 ../../../LangRef.rst:22381 +#: ../../../LangRef.rst:22430 ../../../LangRef.rst:22477 +#: ../../../LangRef.rst:22525 ../../../LangRef.rst:22574 +#: ../../../LangRef.rst:22623 ../../../LangRef.rst:22671 +#: ../../../LangRef.rst:22721 ../../../LangRef.rst:22770 +#: ../../../LangRef.rst:22818 ../../../LangRef.rst:22866 +#: ../../../LangRef.rst:22914 ../../../LangRef.rst:22961 +#: ../../../LangRef.rst:23012 ../../../LangRef.rst:23060 +#: ../../../LangRef.rst:23108 ../../../LangRef.rst:23156 +#: ../../../LangRef.rst:23204 ../../../LangRef.rst:23253 +#: ../../../LangRef.rst:23302 ../../../LangRef.rst:23351 +#: ../../../LangRef.rst:23401 ../../../LangRef.rst:23451 +#: ../../../LangRef.rst:23500 ../../../LangRef.rst:23549 +#: ../../../LangRef.rst:23598 ../../../LangRef.rst:23647 +#: ../../../LangRef.rst:23696 ../../../LangRef.rst:23744 +#: ../../../LangRef.rst:23792 ../../../LangRef.rst:23841 +#: ../../../LangRef.rst:23890 ../../../LangRef.rst:23940 +#: ../../../LangRef.rst:23996 ../../../LangRef.rst:24055 +#: ../../../LangRef.rst:24111 ../../../LangRef.rst:24171 +#: ../../../LangRef.rst:24228 ../../../LangRef.rst:24284 +#: ../../../LangRef.rst:24341 ../../../LangRef.rst:24398 +#: ../../../LangRef.rst:24455 ../../../LangRef.rst:24512 +#: ../../../LangRef.rst:24569 ../../../LangRef.rst:24636 +#: ../../../LangRef.rst:24703 ../../../LangRef.rst:24773 +#: ../../../LangRef.rst:24846 ../../../LangRef.rst:24921 +#: ../../../LangRef.rst:25008 ../../../LangRef.rst:25097 +#: ../../../LangRef.rst:25155 ../../../LangRef.rst:25192 +#: ../../../LangRef.rst:25248 ../../../LangRef.rst:25334 +#: ../../../LangRef.rst:25389 ../../../LangRef.rst:25448 +#: ../../../LangRef.rst:25511 ../../../LangRef.rst:25568 +#: ../../../LangRef.rst:25624 ../../../LangRef.rst:25677 +#: ../../../LangRef.rst:25729 ../../../LangRef.rst:25781 +#: ../../../LangRef.rst:25837 ../../../LangRef.rst:25894 +#: ../../../LangRef.rst:25950 ../../../LangRef.rst:26006 +#: ../../../LangRef.rst:26062 ../../../LangRef.rst:26118 +#: ../../../LangRef.rst:26175 ../../../LangRef.rst:26230 +#: ../../../LangRef.rst:26288 ../../../LangRef.rst:26345 +#: ../../../LangRef.rst:26392 ../../../LangRef.rst:26439 +#: ../../../LangRef.rst:26486 ../../../LangRef.rst:26533 +#: ../../../LangRef.rst:26580 ../../../LangRef.rst:26627 +#: ../../../LangRef.rst:26674 ../../../LangRef.rst:26721 +#: ../../../LangRef.rst:26768 ../../../LangRef.rst:26815 +#: ../../../LangRef.rst:26862 ../../../LangRef.rst:26909 +#: ../../../LangRef.rst:26958 ../../../LangRef.rst:27008 +#: ../../../LangRef.rst:27055 ../../../LangRef.rst:27104 +#: ../../../LangRef.rst:27153 ../../../LangRef.rst:27202 +#: ../../../LangRef.rst:27251 ../../../LangRef.rst:27297 +#: ../../../LangRef.rst:27341 ../../../LangRef.rst:27393 +#: ../../../LangRef.rst:27440 ../../../LangRef.rst:27491 +#: ../../../LangRef.rst:27546 ../../../LangRef.rst:27603 +#: ../../../LangRef.rst:27664 ../../../LangRef.rst:27728 +#: ../../../LangRef.rst:27769 ../../../LangRef.rst:27803 +#: ../../../LangRef.rst:27835 ../../../LangRef.rst:27867 +#: ../../../LangRef.rst:27903 ../../../LangRef.rst:28047 +#: ../../../LangRef.rst:28084 ../../../LangRef.rst:28121 +#: ../../../LangRef.rst:28158 ../../../LangRef.rst:28195 +#: ../../../LangRef.rst:28234 ../../../LangRef.rst:28269 +#: ../../../LangRef.rst:28302 ../../../LangRef.rst:28336 +#: ../../../LangRef.rst:28372 ../../../LangRef.rst:28408 +#: ../../../LangRef.rst:28443 ../../../LangRef.rst:28483 +#: ../../../LangRef.rst:28595 ../../../LangRef.rst:28671 +#: ../../../LangRef.rst:28708 ../../../LangRef.rst:28745 +#: ../../../LangRef.rst:28784 ../../../LangRef.rst:28825 +#: ../../../LangRef.rst:28861 ../../../LangRef.rst:28897 +#: ../../../LangRef.rst:28932 ../../../LangRef.rst:28968 +#: ../../../LangRef.rst:29004 ../../../LangRef.rst:29040 +#: ../../../LangRef.rst:29075 ../../../LangRef.rst:29111 +#: ../../../LangRef.rst:29147 ../../../LangRef.rst:29182 +#: ../../../LangRef.rst:29217 ../../../LangRef.rst:29253 +#: ../../../LangRef.rst:29289 ../../../LangRef.rst:29324 +#: ../../../LangRef.rst:29359 ../../../LangRef.rst:29398 +#: ../../../LangRef.rst:29446 ../../../LangRef.rst:29494 +#: ../../../LangRef.rst:29533 ../../../LangRef.rst:29565 +#: ../../../LangRef.rst:29597 ../../../LangRef.rst:29629 +#: ../../../LangRef.rst:29661 ../../../LangRef.rst:29694 +#: ../../../LangRef.rst:29727 ../../../LangRef.rst:29760 +#: ../../../LangRef.rst:29796 ../../../LangRef.rst:29835 +#: ../../../LangRef.rst:29874 ../../../LangRef.rst:29908 +#: ../../../LangRef.rst:29991 ../../../LangRef.rst:30026 +#: ../../../LangRef.rst:30057 ../../../LangRef.rst:30081 +#: ../../../LangRef.rst:30110 ../../../LangRef.rst:30137 +#: ../../../LangRef.rst:30169 ../../../LangRef.rst:30200 +#: ../../../LangRef.rst:30238 ../../../LangRef.rst:30319 +#: ../../../LangRef.rst:30355 ../../../LangRef.rst:30395 +#: ../../../LangRef.rst:30451 ../../../LangRef.rst:30480 +#: ../../../LangRef.rst:30509 ../../../LangRef.rst:30538 +#: ../../../LangRef.rst:30574 ../../../LangRef.rst:30610 +#: ../../../LangRef.rst:30663 ../../../LangRef.rst:30695 +#: ../../../LangRef.rst:30726 ../../../LangRef.rst:30777 +#: ../../../LangRef.rst:30806 ../../../LangRef.rst:30833 +#: ../../../LangRef.rst:30879 ../../../LangRef.rst:30902 +#: ../../../LangRef.rst:30937 ../../../LangRef.rst:30966 +#: ../../../LangRef.rst:31041 ../../../LangRef.rst:31094 +#: ../../../LangRef.rst:31232 ../../../LangRef.rst:31290 +#: ../../../LangRef.rst:31347 ../../../LangRef.rst:31374 +#: ../../../LangRef.rst:31408 ../../../LangRef.rst:31455 +#: ../../../LangRef.rst:31523 ../../../LangRef.rst:31549 +#: ../../../LangRef.rst:31585 ../../../LangRef.rst:31641 +#: ../../../LangRef.rst:31715 ../../../LangRef.rst:31796 +#: ../../../LangRef.rst:32127 ../../../LangRef.rst:32168 +#: ../../../LangRef.rst:32200 ../../../LangRef.rst:32236 +#: ../../../LangRef.rst:32288 ../../../LangRef.rst:32336 msgid "Overview:" msgstr "" -#: ../../../LangRef.rst:9558 +#: ../../../LangRef.rst:9662 msgid "" "The '``ret``' instruction is used to return control flow (and optionally a " "value) from a function back to the caller." msgstr "" -#: ../../../LangRef.rst:9561 +#: ../../../LangRef.rst:9665 msgid "" "There are two forms of the '``ret``' instruction: one that returns a value " "and then causes control flow, and one that just causes control flow to occur." msgstr "" -#: ../../../LangRef.rst:9566 ../../../LangRef.rst:9621 -#: ../../../LangRef.rst:9671 ../../../LangRef.rst:9735 -#: ../../../LangRef.rst:9803 ../../../LangRef.rst:9912 -#: ../../../LangRef.rst:10007 ../../../LangRef.rst:10048 -#: ../../../LangRef.rst:10103 ../../../LangRef.rst:10152 -#: ../../../LangRef.rst:10235 ../../../LangRef.rst:10293 -#: ../../../LangRef.rst:10341 ../../../LangRef.rst:10388 -#: ../../../LangRef.rst:10437 ../../../LangRef.rst:10482 -#: ../../../LangRef.rst:10534 ../../../LangRef.rst:10576 -#: ../../../LangRef.rst:10624 ../../../LangRef.rst:10672 -#: ../../../LangRef.rst:10714 ../../../LangRef.rst:10762 -#: ../../../LangRef.rst:10825 ../../../LangRef.rst:10884 -#: ../../../LangRef.rst:10937 ../../../LangRef.rst:10989 -#: ../../../LangRef.rst:11039 ../../../LangRef.rst:11091 -#: ../../../LangRef.rst:11149 ../../../LangRef.rst:11212 -#: ../../../LangRef.rst:11256 ../../../LangRef.rst:11303 -#: ../../../LangRef.rst:11371 ../../../LangRef.rst:11417 -#: ../../../LangRef.rst:11474 ../../../LangRef.rst:11557 -#: ../../../LangRef.rst:11694 ../../../LangRef.rst:11785 -#: ../../../LangRef.rst:11848 ../../../LangRef.rst:11939 -#: ../../../LangRef.rst:12055 ../../../LangRef.rst:12321 -#: ../../../LangRef.rst:12374 ../../../LangRef.rst:12422 -#: ../../../LangRef.rst:12465 ../../../LangRef.rst:12520 -#: ../../../LangRef.rst:12569 ../../../LangRef.rst:12611 -#: ../../../LangRef.rst:12657 ../../../LangRef.rst:12705 -#: ../../../LangRef.rst:12748 ../../../LangRef.rst:12800 -#: ../../../LangRef.rst:12850 ../../../LangRef.rst:12913 -#: ../../../LangRef.rst:12970 ../../../LangRef.rst:13038 -#: ../../../LangRef.rst:13141 ../../../LangRef.rst:13246 -#: ../../../LangRef.rst:13308 ../../../LangRef.rst:13365 -#: ../../../LangRef.rst:13435 ../../../LangRef.rst:13654 -#: ../../../LangRef.rst:13712 ../../../LangRef.rst:13790 -#: ../../../LangRef.rst:13866 ../../../LangRef.rst:14063 -#: ../../../LangRef.rst:14096 ../../../LangRef.rst:14130 -#: ../../../LangRef.rst:14187 ../../../LangRef.rst:14223 -#: ../../../LangRef.rst:14259 ../../../LangRef.rst:14578 -#: ../../../LangRef.rst:14662 ../../../LangRef.rst:14725 -#: ../../../LangRef.rst:14995 ../../../LangRef.rst:15036 -#: ../../../LangRef.rst:15157 ../../../LangRef.rst:15220 -#: ../../../LangRef.rst:15251 ../../../LangRef.rst:15302 -#: ../../../LangRef.rst:15329 ../../../LangRef.rst:15360 -#: ../../../LangRef.rst:15406 ../../../LangRef.rst:15450 -#: ../../../LangRef.rst:15677 ../../../LangRef.rst:15721 -#: ../../../LangRef.rst:15752 ../../../LangRef.rst:15783 -#: ../../../LangRef.rst:15814 ../../../LangRef.rst:15843 -#: ../../../LangRef.rst:15872 ../../../LangRef.rst:15908 -#: ../../../LangRef.rst:15968 ../../../LangRef.rst:16026 -#: ../../../LangRef.rst:16085 ../../../LangRef.rst:16143 -#: ../../../LangRef.rst:16201 ../../../LangRef.rst:16258 -#: ../../../LangRef.rst:16302 ../../../LangRef.rst:16346 -#: ../../../LangRef.rst:16385 ../../../LangRef.rst:16422 -#: ../../../LangRef.rst:16459 ../../../LangRef.rst:16496 -#: ../../../LangRef.rst:16533 ../../../LangRef.rst:16571 -#: ../../../LangRef.rst:16608 ../../../LangRef.rst:16645 -#: ../../../LangRef.rst:16682 ../../../LangRef.rst:16721 -#: ../../../LangRef.rst:16764 ../../../LangRef.rst:16810 -#: ../../../LangRef.rst:16869 ../../../LangRef.rst:16916 -#: ../../../LangRef.rst:16956 ../../../LangRef.rst:16996 -#: ../../../LangRef.rst:17035 ../../../LangRef.rst:17078 -#: ../../../LangRef.rst:17134 ../../../LangRef.rst:17174 -#: ../../../LangRef.rst:17215 ../../../LangRef.rst:17254 -#: ../../../LangRef.rst:17294 ../../../LangRef.rst:17426 -#: ../../../LangRef.rst:17486 ../../../LangRef.rst:17546 -#: ../../../LangRef.rst:17586 ../../../LangRef.rst:17626 -#: ../../../LangRef.rst:17674 ../../../LangRef.rst:17722 -#: ../../../LangRef.rst:17762 ../../../LangRef.rst:17799 -#: ../../../LangRef.rst:17838 ../../../LangRef.rst:17877 -#: ../../../LangRef.rst:17919 ../../../LangRef.rst:17961 -#: ../../../LangRef.rst:18000 ../../../LangRef.rst:18044 -#: ../../../LangRef.rst:18081 ../../../LangRef.rst:18128 -#: ../../../LangRef.rst:18168 ../../../LangRef.rst:18286 -#: ../../../LangRef.rst:18322 ../../../LangRef.rst:18368 -#: ../../../LangRef.rst:18423 ../../../LangRef.rst:18471 -#: ../../../LangRef.rst:18536 ../../../LangRef.rst:18587 -#: ../../../LangRef.rst:18637 ../../../LangRef.rst:18688 -#: ../../../LangRef.rst:18739 ../../../LangRef.rst:18790 -#: ../../../LangRef.rst:19783 ../../../LangRef.rst:19847 -#: ../../../LangRef.rst:19886 ../../../LangRef.rst:19922 -#: ../../../LangRef.rst:19960 ../../../LangRef.rst:19997 -#: ../../../LangRef.rst:20041 ../../../LangRef.rst:20084 -#: ../../../LangRef.rst:20124 ../../../LangRef.rst:20162 -#: ../../../LangRef.rst:20202 ../../../LangRef.rst:20238 -#: ../../../LangRef.rst:20261 ../../../LangRef.rst:20284 -#: ../../../LangRef.rst:20307 ../../../LangRef.rst:20330 -#: ../../../LangRef.rst:20353 ../../../LangRef.rst:20376 -#: ../../../LangRef.rst:20404 ../../../LangRef.rst:20433 -#: ../../../LangRef.rst:20462 ../../../LangRef.rst:20491 -#: ../../../LangRef.rst:20529 ../../../LangRef.rst:20549 -#: ../../../LangRef.rst:20599 ../../../LangRef.rst:20645 -#: ../../../LangRef.rst:20683 ../../../LangRef.rst:20723 -#: ../../../LangRef.rst:20763 ../../../LangRef.rst:20806 -#: ../../../LangRef.rst:20839 ../../../LangRef.rst:20866 -#: ../../../LangRef.rst:20906 ../../../LangRef.rst:20974 -#: ../../../LangRef.rst:21012 ../../../LangRef.rst:21071 -#: ../../../LangRef.rst:21134 ../../../LangRef.rst:21183 -#: ../../../LangRef.rst:21210 ../../../LangRef.rst:21249 -#: ../../../LangRef.rst:21295 ../../../LangRef.rst:21347 -#: ../../../LangRef.rst:21388 ../../../LangRef.rst:21441 -#: ../../../LangRef.rst:21493 ../../../LangRef.rst:21549 -#: ../../../LangRef.rst:21647 ../../../LangRef.rst:21697 -#: ../../../LangRef.rst:21781 ../../../LangRef.rst:21839 -#: ../../../LangRef.rst:21902 ../../../LangRef.rst:21949 -#: ../../../LangRef.rst:21998 ../../../LangRef.rst:22045 -#: ../../../LangRef.rst:22093 ../../../LangRef.rst:22142 -#: ../../../LangRef.rst:22191 ../../../LangRef.rst:22239 -#: ../../../LangRef.rst:22289 ../../../LangRef.rst:22338 -#: ../../../LangRef.rst:22386 ../../../LangRef.rst:22434 -#: ../../../LangRef.rst:22482 ../../../LangRef.rst:22529 -#: ../../../LangRef.rst:22580 ../../../LangRef.rst:22628 -#: ../../../LangRef.rst:22676 ../../../LangRef.rst:22724 -#: ../../../LangRef.rst:22772 ../../../LangRef.rst:22821 -#: ../../../LangRef.rst:22870 ../../../LangRef.rst:22919 -#: ../../../LangRef.rst:22969 ../../../LangRef.rst:23019 -#: ../../../LangRef.rst:23068 ../../../LangRef.rst:23117 -#: ../../../LangRef.rst:23166 ../../../LangRef.rst:23215 -#: ../../../LangRef.rst:23264 ../../../LangRef.rst:23312 -#: ../../../LangRef.rst:23360 ../../../LangRef.rst:23409 -#: ../../../LangRef.rst:23460 ../../../LangRef.rst:23508 -#: ../../../LangRef.rst:23564 ../../../LangRef.rst:23624 -#: ../../../LangRef.rst:23680 ../../../LangRef.rst:23740 -#: ../../../LangRef.rst:23797 ../../../LangRef.rst:23853 -#: ../../../LangRef.rst:23910 ../../../LangRef.rst:23967 -#: ../../../LangRef.rst:24024 ../../../LangRef.rst:24081 -#: ../../../LangRef.rst:24138 ../../../LangRef.rst:24205 -#: ../../../LangRef.rst:24272 ../../../LangRef.rst:24342 -#: ../../../LangRef.rst:24414 ../../../LangRef.rst:24495 -#: ../../../LangRef.rst:24587 ../../../LangRef.rst:24665 -#: ../../../LangRef.rst:24723 ../../../LangRef.rst:24760 -#: ../../../LangRef.rst:24817 ../../../LangRef.rst:24902 -#: ../../../LangRef.rst:24957 ../../../LangRef.rst:25017 -#: ../../../LangRef.rst:25079 ../../../LangRef.rst:25136 -#: ../../../LangRef.rst:25193 ../../../LangRef.rst:25246 -#: ../../../LangRef.rst:25298 ../../../LangRef.rst:25350 -#: ../../../LangRef.rst:25406 ../../../LangRef.rst:25464 -#: ../../../LangRef.rst:25520 ../../../LangRef.rst:25576 -#: ../../../LangRef.rst:25632 ../../../LangRef.rst:25687 -#: ../../../LangRef.rst:25744 ../../../LangRef.rst:25800 -#: ../../../LangRef.rst:25858 ../../../LangRef.rst:25913 -#: ../../../LangRef.rst:25960 ../../../LangRef.rst:26007 -#: ../../../LangRef.rst:26054 ../../../LangRef.rst:26101 -#: ../../../LangRef.rst:26148 ../../../LangRef.rst:26195 -#: ../../../LangRef.rst:26242 ../../../LangRef.rst:26289 -#: ../../../LangRef.rst:26336 ../../../LangRef.rst:26383 -#: ../../../LangRef.rst:26430 ../../../LangRef.rst:26477 -#: ../../../LangRef.rst:26526 ../../../LangRef.rst:26577 -#: ../../../LangRef.rst:26623 ../../../LangRef.rst:26672 -#: ../../../LangRef.rst:26721 ../../../LangRef.rst:26770 -#: ../../../LangRef.rst:26819 ../../../LangRef.rst:26865 -#: ../../../LangRef.rst:26908 ../../../LangRef.rst:26961 -#: ../../../LangRef.rst:27007 ../../../LangRef.rst:27059 -#: ../../../LangRef.rst:27113 ../../../LangRef.rst:27171 -#: ../../../LangRef.rst:27231 ../../../LangRef.rst:27296 -#: ../../../LangRef.rst:27337 ../../../LangRef.rst:27371 -#: ../../../LangRef.rst:27403 ../../../LangRef.rst:27439 -#: ../../../LangRef.rst:27474 ../../../LangRef.rst:27616 -#: ../../../LangRef.rst:27653 ../../../LangRef.rst:27690 -#: ../../../LangRef.rst:27727 ../../../LangRef.rst:27764 -#: ../../../LangRef.rst:27802 ../../../LangRef.rst:27837 -#: ../../../LangRef.rst:27870 ../../../LangRef.rst:27904 -#: ../../../LangRef.rst:27940 ../../../LangRef.rst:27976 -#: ../../../LangRef.rst:28011 ../../../LangRef.rst:28063 -#: ../../../LangRef.rst:28166 ../../../LangRef.rst:28240 -#: ../../../LangRef.rst:28276 ../../../LangRef.rst:28316 -#: ../../../LangRef.rst:28352 ../../../LangRef.rst:28393 -#: ../../../LangRef.rst:28429 ../../../LangRef.rst:28465 -#: ../../../LangRef.rst:28500 ../../../LangRef.rst:28536 -#: ../../../LangRef.rst:28572 ../../../LangRef.rst:28608 -#: ../../../LangRef.rst:28643 ../../../LangRef.rst:28679 -#: ../../../LangRef.rst:28715 ../../../LangRef.rst:28750 -#: ../../../LangRef.rst:28786 ../../../LangRef.rst:28821 -#: ../../../LangRef.rst:28857 ../../../LangRef.rst:28892 -#: ../../../LangRef.rst:28928 ../../../LangRef.rst:28969 -#: ../../../LangRef.rst:29017 ../../../LangRef.rst:29064 -#: ../../../LangRef.rst:29101 ../../../LangRef.rst:29133 -#: ../../../LangRef.rst:29165 ../../../LangRef.rst:29197 -#: ../../../LangRef.rst:29229 ../../../LangRef.rst:29262 -#: ../../../LangRef.rst:29295 ../../../LangRef.rst:29330 -#: ../../../LangRef.rst:29368 ../../../LangRef.rst:29407 -#: ../../../LangRef.rst:29443 ../../../LangRef.rst:29479 -#: ../../../LangRef.rst:29593 ../../../LangRef.rst:29648 -#: ../../../LangRef.rst:29705 ../../../LangRef.rst:29737 -#: ../../../LangRef.rst:29768 ../../../LangRef.rst:29813 -#: ../../../LangRef.rst:29886 ../../../LangRef.rst:29922 -#: ../../../LangRef.rst:29962 ../../../LangRef.rst:29996 -#: ../../../LangRef.rst:30018 ../../../LangRef.rst:30047 -#: ../../../LangRef.rst:30076 ../../../LangRef.rst:30107 -#: ../../../LangRef.rst:30145 ../../../LangRef.rst:30181 -#: ../../../LangRef.rst:30231 ../../../LangRef.rst:30264 -#: ../../../LangRef.rst:30298 ../../../LangRef.rst:30334 -#: ../../../LangRef.rst:30362 ../../../LangRef.rst:30387 -#: ../../../LangRef.rst:30473 ../../../LangRef.rst:30507 -#: ../../../LangRef.rst:30543 ../../../LangRef.rst:30676 -#: ../../../LangRef.rst:30805 ../../../LangRef.rst:30863 -#: ../../../LangRef.rst:30945 ../../../LangRef.rst:31010 -#: ../../../LangRef.rst:31059 ../../../LangRef.rst:31120 -#: ../../../LangRef.rst:31154 ../../../LangRef.rst:31212 -#: ../../../LangRef.rst:31287 ../../../LangRef.rst:31367 -#: ../../../LangRef.rst:31702 ../../../LangRef.rst:31740 -#: ../../../LangRef.rst:31772 ../../../LangRef.rst:31805 +#: ../../../LangRef.rst:9670 ../../../LangRef.rst:9725 +#: ../../../LangRef.rst:9775 ../../../LangRef.rst:9839 +#: ../../../LangRef.rst:9907 ../../../LangRef.rst:10016 +#: ../../../LangRef.rst:10111 ../../../LangRef.rst:10152 +#: ../../../LangRef.rst:10207 ../../../LangRef.rst:10256 +#: ../../../LangRef.rst:10339 ../../../LangRef.rst:10397 +#: ../../../LangRef.rst:10445 ../../../LangRef.rst:10492 +#: ../../../LangRef.rst:10541 ../../../LangRef.rst:10586 +#: ../../../LangRef.rst:10638 ../../../LangRef.rst:10680 +#: ../../../LangRef.rst:10728 ../../../LangRef.rst:10776 +#: ../../../LangRef.rst:10818 ../../../LangRef.rst:10866 +#: ../../../LangRef.rst:10929 ../../../LangRef.rst:10988 +#: ../../../LangRef.rst:11041 ../../../LangRef.rst:11093 +#: ../../../LangRef.rst:11143 ../../../LangRef.rst:11195 +#: ../../../LangRef.rst:11253 ../../../LangRef.rst:11316 +#: ../../../LangRef.rst:11360 ../../../LangRef.rst:11407 +#: ../../../LangRef.rst:11476 ../../../LangRef.rst:11522 +#: ../../../LangRef.rst:11579 ../../../LangRef.rst:11665 +#: ../../../LangRef.rst:11802 ../../../LangRef.rst:11893 +#: ../../../LangRef.rst:11956 ../../../LangRef.rst:12047 +#: ../../../LangRef.rst:12163 ../../../LangRef.rst:12429 +#: ../../../LangRef.rst:12482 ../../../LangRef.rst:12530 +#: ../../../LangRef.rst:12573 ../../../LangRef.rst:12628 +#: ../../../LangRef.rst:12677 ../../../LangRef.rst:12719 +#: ../../../LangRef.rst:12765 ../../../LangRef.rst:12813 +#: ../../../LangRef.rst:12856 ../../../LangRef.rst:12908 +#: ../../../LangRef.rst:12958 ../../../LangRef.rst:13021 +#: ../../../LangRef.rst:13078 ../../../LangRef.rst:13146 +#: ../../../LangRef.rst:13249 ../../../LangRef.rst:13354 +#: ../../../LangRef.rst:13416 ../../../LangRef.rst:13473 +#: ../../../LangRef.rst:13543 ../../../LangRef.rst:13762 +#: ../../../LangRef.rst:13820 ../../../LangRef.rst:13898 +#: ../../../LangRef.rst:13974 ../../../LangRef.rst:14171 +#: ../../../LangRef.rst:14204 ../../../LangRef.rst:14238 +#: ../../../LangRef.rst:14295 ../../../LangRef.rst:14331 +#: ../../../LangRef.rst:14367 ../../../LangRef.rst:14686 +#: ../../../LangRef.rst:14801 ../../../LangRef.rst:14864 +#: ../../../LangRef.rst:15095 ../../../LangRef.rst:15283 +#: ../../../LangRef.rst:15324 ../../../LangRef.rst:15445 +#: ../../../LangRef.rst:15508 ../../../LangRef.rst:15539 +#: ../../../LangRef.rst:15590 ../../../LangRef.rst:15617 +#: ../../../LangRef.rst:15648 ../../../LangRef.rst:15694 +#: ../../../LangRef.rst:15738 ../../../LangRef.rst:15965 +#: ../../../LangRef.rst:16009 ../../../LangRef.rst:16040 +#: ../../../LangRef.rst:16071 ../../../LangRef.rst:16102 +#: ../../../LangRef.rst:16131 ../../../LangRef.rst:16160 +#: ../../../LangRef.rst:16196 ../../../LangRef.rst:16256 +#: ../../../LangRef.rst:16314 ../../../LangRef.rst:16373 +#: ../../../LangRef.rst:16431 ../../../LangRef.rst:16489 +#: ../../../LangRef.rst:16546 ../../../LangRef.rst:16590 +#: ../../../LangRef.rst:16634 ../../../LangRef.rst:16673 +#: ../../../LangRef.rst:16710 ../../../LangRef.rst:16747 +#: ../../../LangRef.rst:16784 ../../../LangRef.rst:16821 +#: ../../../LangRef.rst:16859 ../../../LangRef.rst:16896 +#: ../../../LangRef.rst:16933 ../../../LangRef.rst:16970 +#: ../../../LangRef.rst:17009 ../../../LangRef.rst:17052 +#: ../../../LangRef.rst:17098 ../../../LangRef.rst:17157 +#: ../../../LangRef.rst:17204 ../../../LangRef.rst:17244 +#: ../../../LangRef.rst:17284 ../../../LangRef.rst:17323 +#: ../../../LangRef.rst:17366 ../../../LangRef.rst:17422 +#: ../../../LangRef.rst:17462 ../../../LangRef.rst:17503 +#: ../../../LangRef.rst:17542 ../../../LangRef.rst:17582 +#: ../../../LangRef.rst:17666 ../../../LangRef.rst:17732 +#: ../../../LangRef.rst:17798 ../../../LangRef.rst:17846 +#: ../../../LangRef.rst:17894 ../../../LangRef.rst:17947 +#: ../../../LangRef.rst:18000 ../../../LangRef.rst:18040 +#: ../../../LangRef.rst:18077 ../../../LangRef.rst:18116 +#: ../../../LangRef.rst:18155 ../../../LangRef.rst:18197 +#: ../../../LangRef.rst:18239 ../../../LangRef.rst:18278 +#: ../../../LangRef.rst:18322 ../../../LangRef.rst:18359 +#: ../../../LangRef.rst:18406 ../../../LangRef.rst:18446 +#: ../../../LangRef.rst:18564 ../../../LangRef.rst:18600 +#: ../../../LangRef.rst:18646 ../../../LangRef.rst:18699 +#: ../../../LangRef.rst:18747 ../../../LangRef.rst:18790 +#: ../../../LangRef.rst:18863 ../../../LangRef.rst:18914 +#: ../../../LangRef.rst:18964 ../../../LangRef.rst:19015 +#: ../../../LangRef.rst:19066 ../../../LangRef.rst:19117 +#: ../../../LangRef.rst:20110 ../../../LangRef.rst:20174 +#: ../../../LangRef.rst:20213 ../../../LangRef.rst:20249 +#: ../../../LangRef.rst:20287 ../../../LangRef.rst:20324 +#: ../../../LangRef.rst:20368 ../../../LangRef.rst:20411 +#: ../../../LangRef.rst:20451 ../../../LangRef.rst:20489 +#: ../../../LangRef.rst:20529 ../../../LangRef.rst:20565 +#: ../../../LangRef.rst:20588 ../../../LangRef.rst:20611 +#: ../../../LangRef.rst:20634 ../../../LangRef.rst:20657 +#: ../../../LangRef.rst:20680 ../../../LangRef.rst:20703 +#: ../../../LangRef.rst:20736 ../../../LangRef.rst:20770 +#: ../../../LangRef.rst:20799 ../../../LangRef.rst:20828 +#: ../../../LangRef.rst:20866 ../../../LangRef.rst:20886 +#: ../../../LangRef.rst:20936 ../../../LangRef.rst:20982 +#: ../../../LangRef.rst:21020 ../../../LangRef.rst:21060 +#: ../../../LangRef.rst:21100 ../../../LangRef.rst:21139 +#: ../../../LangRef.rst:21183 ../../../LangRef.rst:21217 +#: ../../../LangRef.rst:21244 ../../../LangRef.rst:21284 +#: ../../../LangRef.rst:21352 ../../../LangRef.rst:21390 +#: ../../../LangRef.rst:21449 ../../../LangRef.rst:21512 +#: ../../../LangRef.rst:21561 ../../../LangRef.rst:21588 +#: ../../../LangRef.rst:21627 ../../../LangRef.rst:21673 +#: ../../../LangRef.rst:21721 ../../../LangRef.rst:21773 +#: ../../../LangRef.rst:21829 ../../../LangRef.rst:21871 +#: ../../../LangRef.rst:21966 ../../../LangRef.rst:22085 +#: ../../../LangRef.rst:22135 ../../../LangRef.rst:22219 +#: ../../../LangRef.rst:22277 ../../../LangRef.rst:22340 +#: ../../../LangRef.rst:22387 ../../../LangRef.rst:22436 +#: ../../../LangRef.rst:22483 ../../../LangRef.rst:22531 +#: ../../../LangRef.rst:22580 ../../../LangRef.rst:22629 +#: ../../../LangRef.rst:22677 ../../../LangRef.rst:22727 +#: ../../../LangRef.rst:22776 ../../../LangRef.rst:22824 +#: ../../../LangRef.rst:22872 ../../../LangRef.rst:22920 +#: ../../../LangRef.rst:22967 ../../../LangRef.rst:23018 +#: ../../../LangRef.rst:23066 ../../../LangRef.rst:23114 +#: ../../../LangRef.rst:23162 ../../../LangRef.rst:23210 +#: ../../../LangRef.rst:23259 ../../../LangRef.rst:23308 +#: ../../../LangRef.rst:23357 ../../../LangRef.rst:23407 +#: ../../../LangRef.rst:23457 ../../../LangRef.rst:23506 +#: ../../../LangRef.rst:23555 ../../../LangRef.rst:23604 +#: ../../../LangRef.rst:23653 ../../../LangRef.rst:23702 +#: ../../../LangRef.rst:23750 ../../../LangRef.rst:23798 +#: ../../../LangRef.rst:23847 ../../../LangRef.rst:23898 +#: ../../../LangRef.rst:23946 ../../../LangRef.rst:24002 +#: ../../../LangRef.rst:24062 ../../../LangRef.rst:24118 +#: ../../../LangRef.rst:24178 ../../../LangRef.rst:24235 +#: ../../../LangRef.rst:24291 ../../../LangRef.rst:24348 +#: ../../../LangRef.rst:24405 ../../../LangRef.rst:24462 +#: ../../../LangRef.rst:24519 ../../../LangRef.rst:24576 +#: ../../../LangRef.rst:24643 ../../../LangRef.rst:24710 +#: ../../../LangRef.rst:24780 ../../../LangRef.rst:24852 +#: ../../../LangRef.rst:24933 ../../../LangRef.rst:25025 +#: ../../../LangRef.rst:25103 ../../../LangRef.rst:25161 +#: ../../../LangRef.rst:25198 ../../../LangRef.rst:25255 +#: ../../../LangRef.rst:25340 ../../../LangRef.rst:25395 +#: ../../../LangRef.rst:25455 ../../../LangRef.rst:25517 +#: ../../../LangRef.rst:25574 ../../../LangRef.rst:25631 +#: ../../../LangRef.rst:25684 ../../../LangRef.rst:25736 +#: ../../../LangRef.rst:25788 ../../../LangRef.rst:25844 +#: ../../../LangRef.rst:25902 ../../../LangRef.rst:25958 +#: ../../../LangRef.rst:26014 ../../../LangRef.rst:26070 +#: ../../../LangRef.rst:26125 ../../../LangRef.rst:26182 +#: ../../../LangRef.rst:26238 ../../../LangRef.rst:26296 +#: ../../../LangRef.rst:26351 ../../../LangRef.rst:26398 +#: ../../../LangRef.rst:26445 ../../../LangRef.rst:26492 +#: ../../../LangRef.rst:26539 ../../../LangRef.rst:26586 +#: ../../../LangRef.rst:26633 ../../../LangRef.rst:26680 +#: ../../../LangRef.rst:26727 ../../../LangRef.rst:26774 +#: ../../../LangRef.rst:26821 ../../../LangRef.rst:26868 +#: ../../../LangRef.rst:26915 ../../../LangRef.rst:26964 +#: ../../../LangRef.rst:27015 ../../../LangRef.rst:27061 +#: ../../../LangRef.rst:27110 ../../../LangRef.rst:27159 +#: ../../../LangRef.rst:27208 ../../../LangRef.rst:27257 +#: ../../../LangRef.rst:27303 ../../../LangRef.rst:27346 +#: ../../../LangRef.rst:27399 ../../../LangRef.rst:27445 +#: ../../../LangRef.rst:27497 ../../../LangRef.rst:27551 +#: ../../../LangRef.rst:27609 ../../../LangRef.rst:27669 +#: ../../../LangRef.rst:27734 ../../../LangRef.rst:27775 +#: ../../../LangRef.rst:27809 ../../../LangRef.rst:27841 +#: ../../../LangRef.rst:27877 ../../../LangRef.rst:27912 +#: ../../../LangRef.rst:28054 ../../../LangRef.rst:28091 +#: ../../../LangRef.rst:28128 ../../../LangRef.rst:28165 +#: ../../../LangRef.rst:28202 ../../../LangRef.rst:28240 +#: ../../../LangRef.rst:28275 ../../../LangRef.rst:28308 +#: ../../../LangRef.rst:28342 ../../../LangRef.rst:28378 +#: ../../../LangRef.rst:28414 ../../../LangRef.rst:28449 +#: ../../../LangRef.rst:28501 ../../../LangRef.rst:28604 +#: ../../../LangRef.rst:28678 ../../../LangRef.rst:28714 +#: ../../../LangRef.rst:28754 ../../../LangRef.rst:28790 +#: ../../../LangRef.rst:28831 ../../../LangRef.rst:28867 +#: ../../../LangRef.rst:28903 ../../../LangRef.rst:28938 +#: ../../../LangRef.rst:28974 ../../../LangRef.rst:29010 +#: ../../../LangRef.rst:29046 ../../../LangRef.rst:29081 +#: ../../../LangRef.rst:29117 ../../../LangRef.rst:29153 +#: ../../../LangRef.rst:29188 ../../../LangRef.rst:29224 +#: ../../../LangRef.rst:29259 ../../../LangRef.rst:29295 +#: ../../../LangRef.rst:29330 ../../../LangRef.rst:29366 +#: ../../../LangRef.rst:29407 ../../../LangRef.rst:29455 +#: ../../../LangRef.rst:29502 ../../../LangRef.rst:29539 +#: ../../../LangRef.rst:29571 ../../../LangRef.rst:29603 +#: ../../../LangRef.rst:29635 ../../../LangRef.rst:29667 +#: ../../../LangRef.rst:29700 ../../../LangRef.rst:29733 +#: ../../../LangRef.rst:29768 ../../../LangRef.rst:29806 +#: ../../../LangRef.rst:29845 ../../../LangRef.rst:29881 +#: ../../../LangRef.rst:29917 ../../../LangRef.rst:30031 +#: ../../../LangRef.rst:30086 ../../../LangRef.rst:30143 +#: ../../../LangRef.rst:30175 ../../../LangRef.rst:30206 +#: ../../../LangRef.rst:30251 ../../../LangRef.rst:30324 +#: ../../../LangRef.rst:30360 ../../../LangRef.rst:30400 +#: ../../../LangRef.rst:30434 ../../../LangRef.rst:30456 +#: ../../../LangRef.rst:30485 ../../../LangRef.rst:30514 +#: ../../../LangRef.rst:30545 ../../../LangRef.rst:30583 +#: ../../../LangRef.rst:30619 ../../../LangRef.rst:30669 +#: ../../../LangRef.rst:30702 ../../../LangRef.rst:30736 +#: ../../../LangRef.rst:30772 ../../../LangRef.rst:30800 +#: ../../../LangRef.rst:30825 ../../../LangRef.rst:30911 +#: ../../../LangRef.rst:30945 ../../../LangRef.rst:30981 +#: ../../../LangRef.rst:31114 ../../../LangRef.rst:31243 +#: ../../../LangRef.rst:31301 ../../../LangRef.rst:31383 +#: ../../../LangRef.rst:31448 ../../../LangRef.rst:31497 +#: ../../../LangRef.rst:31558 ../../../LangRef.rst:31592 +#: ../../../LangRef.rst:31650 ../../../LangRef.rst:31725 +#: ../../../LangRef.rst:31805 ../../../LangRef.rst:32140 +#: ../../../LangRef.rst:32178 ../../../LangRef.rst:32210 +#: ../../../LangRef.rst:32243 ../../../LangRef.rst:32294 msgid "Arguments:" msgstr "" -#: ../../../LangRef.rst:9568 +#: ../../../LangRef.rst:9672 msgid "" "The '``ret``' instruction optionally accepts a single argument, the return " "value. The type of the return value must be a ':ref:`first class " "`' type." msgstr "" -#: ../../../LangRef.rst:9572 +#: ../../../LangRef.rst:9676 msgid "" "A function is not :ref:`well formed ` if it has a non-void " "return type and contains a '``ret``' instruction with no return value or a " @@ -14151,211 +14251,214 @@ msgid "" "return type and contains a '``ret``' instruction with a return value." msgstr "" -#: ../../../LangRef.rst:9579 ../../../LangRef.rst:9628 -#: ../../../LangRef.rst:9679 ../../../LangRef.rst:9746 -#: ../../../LangRef.rst:9841 ../../../LangRef.rst:9950 -#: ../../../LangRef.rst:10014 ../../../LangRef.rst:10063 -#: ../../../LangRef.rst:10111 ../../../LangRef.rst:10167 -#: ../../../LangRef.rst:10203 ../../../LangRef.rst:10242 -#: ../../../LangRef.rst:10300 ../../../LangRef.rst:10348 -#: ../../../LangRef.rst:10395 ../../../LangRef.rst:10444 -#: ../../../LangRef.rst:10489 ../../../LangRef.rst:10541 -#: ../../../LangRef.rst:10583 ../../../LangRef.rst:10631 -#: ../../../LangRef.rst:10679 ../../../LangRef.rst:10721 -#: ../../../LangRef.rst:10769 ../../../LangRef.rst:10832 -#: ../../../LangRef.rst:10891 ../../../LangRef.rst:10944 -#: ../../../LangRef.rst:10996 ../../../LangRef.rst:11046 -#: ../../../LangRef.rst:11098 ../../../LangRef.rst:11156 -#: ../../../LangRef.rst:11220 ../../../LangRef.rst:11266 -#: ../../../LangRef.rst:11313 ../../../LangRef.rst:11386 -#: ../../../LangRef.rst:11428 ../../../LangRef.rst:11498 -#: ../../../LangRef.rst:11650 ../../../LangRef.rst:11743 -#: ../../../LangRef.rst:11792 ../../../LangRef.rst:11883 -#: ../../../LangRef.rst:11992 ../../../LangRef.rst:12112 -#: ../../../LangRef.rst:12330 ../../../LangRef.rst:12382 -#: ../../../LangRef.rst:12430 ../../../LangRef.rst:12473 -#: ../../../LangRef.rst:12527 ../../../LangRef.rst:12578 -#: ../../../LangRef.rst:12620 ../../../LangRef.rst:12666 -#: ../../../LangRef.rst:12714 ../../../LangRef.rst:12756 -#: ../../../LangRef.rst:12809 ../../../LangRef.rst:12872 -#: ../../../LangRef.rst:12925 ../../../LangRef.rst:12977 -#: ../../../LangRef.rst:13062 ../../../LangRef.rst:13172 -#: ../../../LangRef.rst:13271 ../../../LangRef.rst:13324 -#: ../../../LangRef.rst:13370 ../../../LangRef.rst:13592 -#: ../../../LangRef.rst:13662 ../../../LangRef.rst:13726 -#: ../../../LangRef.rst:13807 ../../../LangRef.rst:13872 -#: ../../../LangRef.rst:14068 ../../../LangRef.rst:14101 -#: ../../../LangRef.rst:14137 ../../../LangRef.rst:14195 -#: ../../../LangRef.rst:14231 ../../../LangRef.rst:14267 -#: ../../../LangRef.rst:14363 ../../../LangRef.rst:14403 -#: ../../../LangRef.rst:14457 ../../../LangRef.rst:14499 -#: ../../../LangRef.rst:14538 ../../../LangRef.rst:14586 -#: ../../../LangRef.rst:14616 ../../../LangRef.rst:14641 -#: ../../../LangRef.rst:14670 ../../../LangRef.rst:14700 -#: ../../../LangRef.rst:14745 ../../../LangRef.rst:14773 -#: ../../../LangRef.rst:14800 ../../../LangRef.rst:14846 -#: ../../../LangRef.rst:14892 ../../../LangRef.rst:14928 -#: ../../../LangRef.rst:14957 ../../../LangRef.rst:15006 -#: ../../../LangRef.rst:15041 ../../../LangRef.rst:15067 -#: ../../../LangRef.rst:15097 ../../../LangRef.rst:15123 -#: ../../../LangRef.rst:15173 ../../../LangRef.rst:15227 -#: ../../../LangRef.rst:15260 ../../../LangRef.rst:15307 -#: ../../../LangRef.rst:15334 ../../../LangRef.rst:15380 -#: ../../../LangRef.rst:15419 ../../../LangRef.rst:15467 -#: ../../../LangRef.rst:15493 ../../../LangRef.rst:15522 -#: ../../../LangRef.rst:15568 ../../../LangRef.rst:15607 -#: ../../../LangRef.rst:15689 ../../../LangRef.rst:15923 -#: ../../../LangRef.rst:15983 ../../../LangRef.rst:16041 -#: ../../../LangRef.rst:16100 ../../../LangRef.rst:16158 -#: ../../../LangRef.rst:16217 ../../../LangRef.rst:16263 -#: ../../../LangRef.rst:16308 ../../../LangRef.rst:16351 -#: ../../../LangRef.rst:16390 ../../../LangRef.rst:16427 -#: ../../../LangRef.rst:16464 ../../../LangRef.rst:16501 -#: ../../../LangRef.rst:16538 ../../../LangRef.rst:16576 -#: ../../../LangRef.rst:16613 ../../../LangRef.rst:16650 -#: ../../../LangRef.rst:16687 ../../../LangRef.rst:16728 -#: ../../../LangRef.rst:16771 ../../../LangRef.rst:16817 -#: ../../../LangRef.rst:16874 ../../../LangRef.rst:16921 -#: ../../../LangRef.rst:16961 ../../../LangRef.rst:17001 -#: ../../../LangRef.rst:17043 ../../../LangRef.rst:17087 -#: ../../../LangRef.rst:17139 ../../../LangRef.rst:17179 -#: ../../../LangRef.rst:17220 ../../../LangRef.rst:17259 -#: ../../../LangRef.rst:17300 ../../../LangRef.rst:17432 -#: ../../../LangRef.rst:17492 ../../../LangRef.rst:17552 -#: ../../../LangRef.rst:17592 ../../../LangRef.rst:17632 -#: ../../../LangRef.rst:17680 ../../../LangRef.rst:17728 -#: ../../../LangRef.rst:17768 ../../../LangRef.rst:17805 -#: ../../../LangRef.rst:17844 ../../../LangRef.rst:17883 -#: ../../../LangRef.rst:17925 ../../../LangRef.rst:17967 -#: ../../../LangRef.rst:18005 ../../../LangRef.rst:18050 -#: ../../../LangRef.rst:18087 ../../../LangRef.rst:18134 -#: ../../../LangRef.rst:18174 ../../../LangRef.rst:18213 -#: ../../../LangRef.rst:18246 ../../../LangRef.rst:18293 -#: ../../../LangRef.rst:18336 ../../../LangRef.rst:18382 -#: ../../../LangRef.rst:18545 ../../../LangRef.rst:18596 -#: ../../../LangRef.rst:18646 ../../../LangRef.rst:18697 -#: ../../../LangRef.rst:18748 ../../../LangRef.rst:18799 -#: ../../../LangRef.rst:18858 ../../../LangRef.rst:18908 -#: ../../../LangRef.rst:18957 ../../../LangRef.rst:19007 -#: ../../../LangRef.rst:19059 ../../../LangRef.rst:19111 -#: ../../../LangRef.rst:19213 ../../../LangRef.rst:19273 -#: ../../../LangRef.rst:19331 ../../../LangRef.rst:19401 -#: ../../../LangRef.rst:19469 ../../../LangRef.rst:19529 -#: ../../../LangRef.rst:19588 ../../../LangRef.rst:19655 -#: ../../../LangRef.rst:19789 ../../../LangRef.rst:19853 -#: ../../../LangRef.rst:19892 ../../../LangRef.rst:19928 -#: ../../../LangRef.rst:19966 ../../../LangRef.rst:20004 -#: ../../../LangRef.rst:20047 ../../../LangRef.rst:20557 -#: ../../../LangRef.rst:20879 ../../../LangRef.rst:20914 -#: ../../../LangRef.rst:20982 ../../../LangRef.rst:21022 -#: ../../../LangRef.rst:21081 ../../../LangRef.rst:21145 -#: ../../../LangRef.rst:21353 ../../../LangRef.rst:21394 -#: ../../../LangRef.rst:21448 ../../../LangRef.rst:21500 -#: ../../../LangRef.rst:21560 ../../../LangRef.rst:21663 -#: ../../../LangRef.rst:21704 ../../../LangRef.rst:21796 -#: ../../../LangRef.rst:21854 ../../../LangRef.rst:21910 -#: ../../../LangRef.rst:21957 ../../../LangRef.rst:22006 -#: ../../../LangRef.rst:22053 ../../../LangRef.rst:22101 -#: ../../../LangRef.rst:22150 ../../../LangRef.rst:22199 -#: ../../../LangRef.rst:22247 ../../../LangRef.rst:22297 -#: ../../../LangRef.rst:22346 ../../../LangRef.rst:22394 -#: ../../../LangRef.rst:22442 ../../../LangRef.rst:22490 -#: ../../../LangRef.rst:22540 ../../../LangRef.rst:22588 -#: ../../../LangRef.rst:22636 ../../../LangRef.rst:22684 -#: ../../../LangRef.rst:22732 ../../../LangRef.rst:22780 -#: ../../../LangRef.rst:22829 ../../../LangRef.rst:22878 -#: ../../../LangRef.rst:22927 ../../../LangRef.rst:22977 -#: ../../../LangRef.rst:23027 ../../../LangRef.rst:23076 -#: ../../../LangRef.rst:23125 ../../../LangRef.rst:23174 -#: ../../../LangRef.rst:23223 ../../../LangRef.rst:23272 -#: ../../../LangRef.rst:23320 ../../../LangRef.rst:23368 -#: ../../../LangRef.rst:23417 ../../../LangRef.rst:23468 -#: ../../../LangRef.rst:23518 ../../../LangRef.rst:23575 -#: ../../../LangRef.rst:23634 ../../../LangRef.rst:23691 -#: ../../../LangRef.rst:23750 ../../../LangRef.rst:23807 -#: ../../../LangRef.rst:23863 ../../../LangRef.rst:23920 -#: ../../../LangRef.rst:23977 ../../../LangRef.rst:24034 -#: ../../../LangRef.rst:24091 ../../../LangRef.rst:24149 -#: ../../../LangRef.rst:24216 ../../../LangRef.rst:24283 -#: ../../../LangRef.rst:24353 ../../../LangRef.rst:24420 -#: ../../../LangRef.rst:24501 ../../../LangRef.rst:24593 -#: ../../../LangRef.rst:24678 ../../../LangRef.rst:24731 -#: ../../../LangRef.rst:24771 ../../../LangRef.rst:24828 -#: ../../../LangRef.rst:24914 ../../../LangRef.rst:24969 -#: ../../../LangRef.rst:25030 ../../../LangRef.rst:25091 -#: ../../../LangRef.rst:25148 ../../../LangRef.rst:25203 -#: ../../../LangRef.rst:25256 ../../../LangRef.rst:25308 -#: ../../../LangRef.rst:25362 ../../../LangRef.rst:25418 -#: ../../../LangRef.rst:25475 ../../../LangRef.rst:25531 -#: ../../../LangRef.rst:25587 ../../../LangRef.rst:25643 -#: ../../../LangRef.rst:25697 ../../../LangRef.rst:25754 -#: ../../../LangRef.rst:25814 ../../../LangRef.rst:25872 -#: ../../../LangRef.rst:25921 ../../../LangRef.rst:25968 -#: ../../../LangRef.rst:26015 ../../../LangRef.rst:26062 -#: ../../../LangRef.rst:26109 ../../../LangRef.rst:26156 -#: ../../../LangRef.rst:26203 ../../../LangRef.rst:26250 -#: ../../../LangRef.rst:26296 ../../../LangRef.rst:26344 -#: ../../../LangRef.rst:26391 ../../../LangRef.rst:26438 -#: ../../../LangRef.rst:26487 ../../../LangRef.rst:26536 -#: ../../../LangRef.rst:26593 ../../../LangRef.rst:26631 -#: ../../../LangRef.rst:26680 ../../../LangRef.rst:26729 -#: ../../../LangRef.rst:26778 ../../../LangRef.rst:26827 -#: ../../../LangRef.rst:26873 ../../../LangRef.rst:26918 -#: ../../../LangRef.rst:26968 ../../../LangRef.rst:27014 -#: ../../../LangRef.rst:27066 ../../../LangRef.rst:27120 -#: ../../../LangRef.rst:27179 ../../../LangRef.rst:27239 -#: ../../../LangRef.rst:27302 ../../../LangRef.rst:27343 -#: ../../../LangRef.rst:27378 ../../../LangRef.rst:27411 -#: ../../../LangRef.rst:27445 ../../../LangRef.rst:27480 -#: ../../../LangRef.rst:27626 ../../../LangRef.rst:27663 -#: ../../../LangRef.rst:27700 ../../../LangRef.rst:27737 -#: ../../../LangRef.rst:27776 ../../../LangRef.rst:27812 -#: ../../../LangRef.rst:27846 ../../../LangRef.rst:27879 -#: ../../../LangRef.rst:27914 ../../../LangRef.rst:27950 -#: ../../../LangRef.rst:27987 ../../../LangRef.rst:28021 -#: ../../../LangRef.rst:28096 ../../../LangRef.rst:28176 -#: ../../../LangRef.rst:28249 ../../../LangRef.rst:28286 -#: ../../../LangRef.rst:28326 ../../../LangRef.rst:28364 -#: ../../../LangRef.rst:28402 ../../../LangRef.rst:28438 -#: ../../../LangRef.rst:28474 ../../../LangRef.rst:28509 -#: ../../../LangRef.rst:28545 ../../../LangRef.rst:28581 -#: ../../../LangRef.rst:28617 ../../../LangRef.rst:28652 -#: ../../../LangRef.rst:28688 ../../../LangRef.rst:28724 -#: ../../../LangRef.rst:28759 ../../../LangRef.rst:28795 -#: ../../../LangRef.rst:28831 ../../../LangRef.rst:28866 -#: ../../../LangRef.rst:28901 ../../../LangRef.rst:28937 -#: ../../../LangRef.rst:28980 ../../../LangRef.rst:29028 -#: ../../../LangRef.rst:29073 ../../../LangRef.rst:29109 -#: ../../../LangRef.rst:29141 ../../../LangRef.rst:29173 -#: ../../../LangRef.rst:29205 ../../../LangRef.rst:29237 -#: ../../../LangRef.rst:29270 ../../../LangRef.rst:29303 -#: ../../../LangRef.rst:29338 ../../../LangRef.rst:29378 -#: ../../../LangRef.rst:29417 ../../../LangRef.rst:29451 -#: ../../../LangRef.rst:29486 ../../../LangRef.rst:29558 -#: ../../../LangRef.rst:29599 ../../../LangRef.rst:29625 -#: ../../../LangRef.rst:29654 ../../../LangRef.rst:29677 -#: ../../../LangRef.rst:29710 ../../../LangRef.rst:29743 -#: ../../../LangRef.rst:29773 ../../../LangRef.rst:29847 -#: ../../../LangRef.rst:29893 ../../../LangRef.rst:29930 -#: ../../../LangRef.rst:29970 ../../../LangRef.rst:30023 -#: ../../../LangRef.rst:30052 ../../../LangRef.rst:30081 -#: ../../../LangRef.rst:30115 ../../../LangRef.rst:30150 -#: ../../../LangRef.rst:30203 ../../../LangRef.rst:30237 -#: ../../../LangRef.rst:30271 ../../../LangRef.rst:30304 -#: ../../../LangRef.rst:30480 ../../../LangRef.rst:30512 -#: ../../../LangRef.rst:30549 ../../../LangRef.rst:30681 -#: ../../../LangRef.rst:30810 ../../../LangRef.rst:30869 -#: ../../../LangRef.rst:30950 ../../../LangRef.rst:30977 -#: ../../../LangRef.rst:31025 ../../../LangRef.rst:31065 -#: ../../../LangRef.rst:31091 ../../../LangRef.rst:31128 -#: ../../../LangRef.rst:31160 ../../../LangRef.rst:31227 -#: ../../../LangRef.rst:31304 ../../../LangRef.rst:31382 -#: ../../../LangRef.rst:31713 ../../../LangRef.rst:31745 -#: ../../../LangRef.rst:31782 ../../../LangRef.rst:31813 +#: ../../../LangRef.rst:9683 ../../../LangRef.rst:9732 +#: ../../../LangRef.rst:9783 ../../../LangRef.rst:9850 +#: ../../../LangRef.rst:9945 ../../../LangRef.rst:10054 +#: ../../../LangRef.rst:10118 ../../../LangRef.rst:10167 +#: ../../../LangRef.rst:10215 ../../../LangRef.rst:10271 +#: ../../../LangRef.rst:10307 ../../../LangRef.rst:10346 +#: ../../../LangRef.rst:10404 ../../../LangRef.rst:10452 +#: ../../../LangRef.rst:10499 ../../../LangRef.rst:10548 +#: ../../../LangRef.rst:10593 ../../../LangRef.rst:10645 +#: ../../../LangRef.rst:10687 ../../../LangRef.rst:10735 +#: ../../../LangRef.rst:10783 ../../../LangRef.rst:10825 +#: ../../../LangRef.rst:10873 ../../../LangRef.rst:10936 +#: ../../../LangRef.rst:10995 ../../../LangRef.rst:11048 +#: ../../../LangRef.rst:11100 ../../../LangRef.rst:11150 +#: ../../../LangRef.rst:11202 ../../../LangRef.rst:11260 +#: ../../../LangRef.rst:11324 ../../../LangRef.rst:11370 +#: ../../../LangRef.rst:11417 ../../../LangRef.rst:11491 +#: ../../../LangRef.rst:11533 ../../../LangRef.rst:11603 +#: ../../../LangRef.rst:11758 ../../../LangRef.rst:11851 +#: ../../../LangRef.rst:11900 ../../../LangRef.rst:11991 +#: ../../../LangRef.rst:12100 ../../../LangRef.rst:12220 +#: ../../../LangRef.rst:12438 ../../../LangRef.rst:12490 +#: ../../../LangRef.rst:12538 ../../../LangRef.rst:12581 +#: ../../../LangRef.rst:12635 ../../../LangRef.rst:12686 +#: ../../../LangRef.rst:12728 ../../../LangRef.rst:12774 +#: ../../../LangRef.rst:12822 ../../../LangRef.rst:12864 +#: ../../../LangRef.rst:12917 ../../../LangRef.rst:12980 +#: ../../../LangRef.rst:13033 ../../../LangRef.rst:13085 +#: ../../../LangRef.rst:13170 ../../../LangRef.rst:13280 +#: ../../../LangRef.rst:13379 ../../../LangRef.rst:13432 +#: ../../../LangRef.rst:13478 ../../../LangRef.rst:13700 +#: ../../../LangRef.rst:13770 ../../../LangRef.rst:13834 +#: ../../../LangRef.rst:13915 ../../../LangRef.rst:13980 +#: ../../../LangRef.rst:14176 ../../../LangRef.rst:14209 +#: ../../../LangRef.rst:14245 ../../../LangRef.rst:14303 +#: ../../../LangRef.rst:14339 ../../../LangRef.rst:14375 +#: ../../../LangRef.rst:14471 ../../../LangRef.rst:14511 +#: ../../../LangRef.rst:14565 ../../../LangRef.rst:14607 +#: ../../../LangRef.rst:14646 ../../../LangRef.rst:14694 +#: ../../../LangRef.rst:14724 ../../../LangRef.rst:14749 +#: ../../../LangRef.rst:14770 ../../../LangRef.rst:14809 +#: ../../../LangRef.rst:14839 ../../../LangRef.rst:14884 +#: ../../../LangRef.rst:14912 ../../../LangRef.rst:14939 +#: ../../../LangRef.rst:14985 ../../../LangRef.rst:15031 +#: ../../../LangRef.rst:15067 ../../../LangRef.rst:15119 +#: ../../../LangRef.rst:15245 ../../../LangRef.rst:15294 +#: ../../../LangRef.rst:15329 ../../../LangRef.rst:15355 +#: ../../../LangRef.rst:15385 ../../../LangRef.rst:15411 +#: ../../../LangRef.rst:15461 ../../../LangRef.rst:15515 +#: ../../../LangRef.rst:15548 ../../../LangRef.rst:15595 +#: ../../../LangRef.rst:15622 ../../../LangRef.rst:15668 +#: ../../../LangRef.rst:15707 ../../../LangRef.rst:15755 +#: ../../../LangRef.rst:15781 ../../../LangRef.rst:15810 +#: ../../../LangRef.rst:15856 ../../../LangRef.rst:15895 +#: ../../../LangRef.rst:15977 ../../../LangRef.rst:16211 +#: ../../../LangRef.rst:16271 ../../../LangRef.rst:16329 +#: ../../../LangRef.rst:16388 ../../../LangRef.rst:16446 +#: ../../../LangRef.rst:16505 ../../../LangRef.rst:16551 +#: ../../../LangRef.rst:16596 ../../../LangRef.rst:16639 +#: ../../../LangRef.rst:16678 ../../../LangRef.rst:16715 +#: ../../../LangRef.rst:16752 ../../../LangRef.rst:16789 +#: ../../../LangRef.rst:16826 ../../../LangRef.rst:16864 +#: ../../../LangRef.rst:16901 ../../../LangRef.rst:16938 +#: ../../../LangRef.rst:16975 ../../../LangRef.rst:17016 +#: ../../../LangRef.rst:17059 ../../../LangRef.rst:17105 +#: ../../../LangRef.rst:17162 ../../../LangRef.rst:17209 +#: ../../../LangRef.rst:17249 ../../../LangRef.rst:17289 +#: ../../../LangRef.rst:17331 ../../../LangRef.rst:17375 +#: ../../../LangRef.rst:17427 ../../../LangRef.rst:17467 +#: ../../../LangRef.rst:17508 ../../../LangRef.rst:17547 +#: ../../../LangRef.rst:17588 ../../../LangRef.rst:17672 +#: ../../../LangRef.rst:17738 ../../../LangRef.rst:17804 +#: ../../../LangRef.rst:17852 ../../../LangRef.rst:17900 +#: ../../../LangRef.rst:17953 ../../../LangRef.rst:18006 +#: ../../../LangRef.rst:18046 ../../../LangRef.rst:18083 +#: ../../../LangRef.rst:18122 ../../../LangRef.rst:18161 +#: ../../../LangRef.rst:18203 ../../../LangRef.rst:18245 +#: ../../../LangRef.rst:18283 ../../../LangRef.rst:18328 +#: ../../../LangRef.rst:18365 ../../../LangRef.rst:18412 +#: ../../../LangRef.rst:18452 ../../../LangRef.rst:18491 +#: ../../../LangRef.rst:18524 ../../../LangRef.rst:18571 +#: ../../../LangRef.rst:18614 ../../../LangRef.rst:18660 +#: ../../../LangRef.rst:18796 ../../../LangRef.rst:18872 +#: ../../../LangRef.rst:18923 ../../../LangRef.rst:18973 +#: ../../../LangRef.rst:19024 ../../../LangRef.rst:19075 +#: ../../../LangRef.rst:19126 ../../../LangRef.rst:19185 +#: ../../../LangRef.rst:19235 ../../../LangRef.rst:19284 +#: ../../../LangRef.rst:19334 ../../../LangRef.rst:19386 +#: ../../../LangRef.rst:19438 ../../../LangRef.rst:19540 +#: ../../../LangRef.rst:19600 ../../../LangRef.rst:19658 +#: ../../../LangRef.rst:19728 ../../../LangRef.rst:19796 +#: ../../../LangRef.rst:19856 ../../../LangRef.rst:19915 +#: ../../../LangRef.rst:19982 ../../../LangRef.rst:20116 +#: ../../../LangRef.rst:20180 ../../../LangRef.rst:20219 +#: ../../../LangRef.rst:20255 ../../../LangRef.rst:20293 +#: ../../../LangRef.rst:20331 ../../../LangRef.rst:20374 +#: ../../../LangRef.rst:20894 ../../../LangRef.rst:21144 +#: ../../../LangRef.rst:21188 ../../../LangRef.rst:21257 +#: ../../../LangRef.rst:21292 ../../../LangRef.rst:21360 +#: ../../../LangRef.rst:21400 ../../../LangRef.rst:21459 +#: ../../../LangRef.rst:21523 ../../../LangRef.rst:21728 +#: ../../../LangRef.rst:21780 ../../../LangRef.rst:21840 +#: ../../../LangRef.rst:21906 ../../../LangRef.rst:21981 +#: ../../../LangRef.rst:22101 ../../../LangRef.rst:22142 +#: ../../../LangRef.rst:22234 ../../../LangRef.rst:22292 +#: ../../../LangRef.rst:22348 ../../../LangRef.rst:22395 +#: ../../../LangRef.rst:22444 ../../../LangRef.rst:22491 +#: ../../../LangRef.rst:22539 ../../../LangRef.rst:22588 +#: ../../../LangRef.rst:22637 ../../../LangRef.rst:22685 +#: ../../../LangRef.rst:22735 ../../../LangRef.rst:22784 +#: ../../../LangRef.rst:22832 ../../../LangRef.rst:22880 +#: ../../../LangRef.rst:22928 ../../../LangRef.rst:22978 +#: ../../../LangRef.rst:23026 ../../../LangRef.rst:23074 +#: ../../../LangRef.rst:23122 ../../../LangRef.rst:23170 +#: ../../../LangRef.rst:23218 ../../../LangRef.rst:23267 +#: ../../../LangRef.rst:23316 ../../../LangRef.rst:23365 +#: ../../../LangRef.rst:23415 ../../../LangRef.rst:23465 +#: ../../../LangRef.rst:23514 ../../../LangRef.rst:23563 +#: ../../../LangRef.rst:23612 ../../../LangRef.rst:23661 +#: ../../../LangRef.rst:23710 ../../../LangRef.rst:23758 +#: ../../../LangRef.rst:23806 ../../../LangRef.rst:23855 +#: ../../../LangRef.rst:23906 ../../../LangRef.rst:23956 +#: ../../../LangRef.rst:24013 ../../../LangRef.rst:24072 +#: ../../../LangRef.rst:24129 ../../../LangRef.rst:24188 +#: ../../../LangRef.rst:24245 ../../../LangRef.rst:24301 +#: ../../../LangRef.rst:24358 ../../../LangRef.rst:24415 +#: ../../../LangRef.rst:24472 ../../../LangRef.rst:24529 +#: ../../../LangRef.rst:24587 ../../../LangRef.rst:24654 +#: ../../../LangRef.rst:24721 ../../../LangRef.rst:24791 +#: ../../../LangRef.rst:24858 ../../../LangRef.rst:24939 +#: ../../../LangRef.rst:25031 ../../../LangRef.rst:25116 +#: ../../../LangRef.rst:25169 ../../../LangRef.rst:25209 +#: ../../../LangRef.rst:25266 ../../../LangRef.rst:25352 +#: ../../../LangRef.rst:25407 ../../../LangRef.rst:25468 +#: ../../../LangRef.rst:25529 ../../../LangRef.rst:25586 +#: ../../../LangRef.rst:25641 ../../../LangRef.rst:25694 +#: ../../../LangRef.rst:25746 ../../../LangRef.rst:25800 +#: ../../../LangRef.rst:25856 ../../../LangRef.rst:25913 +#: ../../../LangRef.rst:25969 ../../../LangRef.rst:26025 +#: ../../../LangRef.rst:26081 ../../../LangRef.rst:26135 +#: ../../../LangRef.rst:26192 ../../../LangRef.rst:26252 +#: ../../../LangRef.rst:26310 ../../../LangRef.rst:26359 +#: ../../../LangRef.rst:26406 ../../../LangRef.rst:26453 +#: ../../../LangRef.rst:26500 ../../../LangRef.rst:26547 +#: ../../../LangRef.rst:26594 ../../../LangRef.rst:26641 +#: ../../../LangRef.rst:26688 ../../../LangRef.rst:26734 +#: ../../../LangRef.rst:26782 ../../../LangRef.rst:26829 +#: ../../../LangRef.rst:26876 ../../../LangRef.rst:26925 +#: ../../../LangRef.rst:26974 ../../../LangRef.rst:27031 +#: ../../../LangRef.rst:27069 ../../../LangRef.rst:27118 +#: ../../../LangRef.rst:27167 ../../../LangRef.rst:27216 +#: ../../../LangRef.rst:27265 ../../../LangRef.rst:27311 +#: ../../../LangRef.rst:27356 ../../../LangRef.rst:27406 +#: ../../../LangRef.rst:27452 ../../../LangRef.rst:27504 +#: ../../../LangRef.rst:27558 ../../../LangRef.rst:27617 +#: ../../../LangRef.rst:27677 ../../../LangRef.rst:27740 +#: ../../../LangRef.rst:27781 ../../../LangRef.rst:27816 +#: ../../../LangRef.rst:27849 ../../../LangRef.rst:27883 +#: ../../../LangRef.rst:27918 ../../../LangRef.rst:28064 +#: ../../../LangRef.rst:28101 ../../../LangRef.rst:28138 +#: ../../../LangRef.rst:28175 ../../../LangRef.rst:28214 +#: ../../../LangRef.rst:28250 ../../../LangRef.rst:28284 +#: ../../../LangRef.rst:28317 ../../../LangRef.rst:28352 +#: ../../../LangRef.rst:28388 ../../../LangRef.rst:28425 +#: ../../../LangRef.rst:28459 ../../../LangRef.rst:28534 +#: ../../../LangRef.rst:28614 ../../../LangRef.rst:28687 +#: ../../../LangRef.rst:28724 ../../../LangRef.rst:28764 +#: ../../../LangRef.rst:28802 ../../../LangRef.rst:28840 +#: ../../../LangRef.rst:28876 ../../../LangRef.rst:28912 +#: ../../../LangRef.rst:28947 ../../../LangRef.rst:28983 +#: ../../../LangRef.rst:29019 ../../../LangRef.rst:29055 +#: ../../../LangRef.rst:29090 ../../../LangRef.rst:29126 +#: ../../../LangRef.rst:29162 ../../../LangRef.rst:29197 +#: ../../../LangRef.rst:29233 ../../../LangRef.rst:29269 +#: ../../../LangRef.rst:29304 ../../../LangRef.rst:29339 +#: ../../../LangRef.rst:29375 ../../../LangRef.rst:29418 +#: ../../../LangRef.rst:29466 ../../../LangRef.rst:29511 +#: ../../../LangRef.rst:29547 ../../../LangRef.rst:29579 +#: ../../../LangRef.rst:29611 ../../../LangRef.rst:29643 +#: ../../../LangRef.rst:29675 ../../../LangRef.rst:29708 +#: ../../../LangRef.rst:29741 ../../../LangRef.rst:29776 +#: ../../../LangRef.rst:29816 ../../../LangRef.rst:29855 +#: ../../../LangRef.rst:29889 ../../../LangRef.rst:29924 +#: ../../../LangRef.rst:29996 ../../../LangRef.rst:30037 +#: ../../../LangRef.rst:30063 ../../../LangRef.rst:30092 +#: ../../../LangRef.rst:30115 ../../../LangRef.rst:30148 +#: ../../../LangRef.rst:30181 ../../../LangRef.rst:30211 +#: ../../../LangRef.rst:30285 ../../../LangRef.rst:30331 +#: ../../../LangRef.rst:30368 ../../../LangRef.rst:30408 +#: ../../../LangRef.rst:30461 ../../../LangRef.rst:30490 +#: ../../../LangRef.rst:30519 ../../../LangRef.rst:30553 +#: ../../../LangRef.rst:30588 ../../../LangRef.rst:30641 +#: ../../../LangRef.rst:30675 ../../../LangRef.rst:30709 +#: ../../../LangRef.rst:30742 ../../../LangRef.rst:30918 +#: ../../../LangRef.rst:30950 ../../../LangRef.rst:30987 +#: ../../../LangRef.rst:31119 ../../../LangRef.rst:31248 +#: ../../../LangRef.rst:31307 ../../../LangRef.rst:31388 +#: ../../../LangRef.rst:31415 ../../../LangRef.rst:31463 +#: ../../../LangRef.rst:31503 ../../../LangRef.rst:31529 +#: ../../../LangRef.rst:31566 ../../../LangRef.rst:31598 +#: ../../../LangRef.rst:31665 ../../../LangRef.rst:31742 +#: ../../../LangRef.rst:31820 ../../../LangRef.rst:32151 +#: ../../../LangRef.rst:32183 ../../../LangRef.rst:32220 +#: ../../../LangRef.rst:32251 ../../../LangRef.rst:32299 msgid "Semantics:" msgstr "" -#: ../../../LangRef.rst:9581 +#: ../../../LangRef.rst:9685 msgid "" "When the '``ret``' instruction is executed, control flow returns back to the " "calling function's context. If the caller is a \":ref:`call `\" " @@ -14366,11 +14469,11 @@ msgid "" "return value." msgstr "" -#: ../../../LangRef.rst:9602 +#: ../../../LangRef.rst:9706 msgid "'``br``' Instruction" msgstr "" -#: ../../../LangRef.rst:9615 +#: ../../../LangRef.rst:9719 msgid "" "The '``br``' instruction is used to cause control flow to transfer to a " "different basic block in the current function. There are two forms of this " @@ -14378,14 +14481,14 @@ msgid "" "branch." msgstr "" -#: ../../../LangRef.rst:9623 +#: ../../../LangRef.rst:9727 msgid "" "The conditional branch form of the '``br``' instruction takes a single " "'``i1``' value and two '``label``' values. The unconditional form of the " "'``br``' instruction takes a single '``label``' value as a target." msgstr "" -#: ../../../LangRef.rst:9630 +#: ../../../LangRef.rst:9734 msgid "" "Upon execution of a conditional '``br``' instruction, the '``i1``' argument " "is evaluated. If the value is ``true``, control flows to the '``iftrue``' " @@ -14394,18 +14497,18 @@ msgid "" "this instruction has undefined behavior." msgstr "" -#: ../../../LangRef.rst:9653 +#: ../../../LangRef.rst:9757 msgid "'``switch``' Instruction" msgstr "" -#: ../../../LangRef.rst:9665 +#: ../../../LangRef.rst:9769 msgid "" "The '``switch``' instruction is used to transfer control flow to one of " "several different places. It is a generalization of the '``br``' " "instruction, allowing a branch to occur to one of many possible destinations." msgstr "" -#: ../../../LangRef.rst:9673 +#: ../../../LangRef.rst:9777 msgid "" "The '``switch``' instruction uses three parameters: an integer comparison " "value '``value``', a default '``label``' destination, and an array of pairs " @@ -14413,7 +14516,7 @@ msgid "" "contain duplicate constant entries." msgstr "" -#: ../../../LangRef.rst:9681 +#: ../../../LangRef.rst:9785 msgid "" "The ``switch`` instruction specifies a table of values and destinations. " "When the '``switch``' instruction is executed, this table is searched for " @@ -14423,11 +14526,11 @@ msgid "" "instruction has undefined behavior." msgstr "" -#: ../../../LangRef.rst:9690 ../../../LangRef.rst:9756 +#: ../../../LangRef.rst:9794 ../../../LangRef.rst:9860 msgid "Implementation:" msgstr "" -#: ../../../LangRef.rst:9692 +#: ../../../LangRef.rst:9796 msgid "" "Depending on properties of the target machine and the particular ``switch`` " "instruction, this instruction may be code generated in different ways. For " @@ -14435,18 +14538,18 @@ msgid "" "or with a lookup table." msgstr "" -#: ../../../LangRef.rst:9717 +#: ../../../LangRef.rst:9821 msgid "'``indirectbr``' Instruction" msgstr "" -#: ../../../LangRef.rst:9729 +#: ../../../LangRef.rst:9833 msgid "" "The '``indirectbr``' instruction implements an indirect branch to a label " "within the current function, whose address is specified by \"``address``\". " "Address must be derived from a :ref:`blockaddress ` constant." msgstr "" -#: ../../../LangRef.rst:9737 +#: ../../../LangRef.rst:9841 msgid "" "The '``address``' argument is the address of the label to jump to. The rest " "of the arguments indicate the full set of possible destinations that the " @@ -14454,13 +14557,13 @@ msgid "" "destination list, though this isn't particularly useful." msgstr "" -#: ../../../LangRef.rst:9742 +#: ../../../LangRef.rst:9846 msgid "" "This destination list is required so that dataflow analysis has an accurate " "understanding of the CFG." msgstr "" -#: ../../../LangRef.rst:9748 +#: ../../../LangRef.rst:9852 msgid "" "Control transfers to the block specified in the address argument. All " "possible destination blocks must be listed in the label list, otherwise this " @@ -14469,15 +14572,15 @@ msgid "" "is ``poison`` or ``undef``, this instruction has undefined behavior." msgstr "" -#: ../../../LangRef.rst:9758 +#: ../../../LangRef.rst:9862 msgid "This is typically implemented with a jump through a register." msgstr "" -#: ../../../LangRef.rst:9770 +#: ../../../LangRef.rst:9874 msgid "'``invoke``' Instruction" msgstr "" -#: ../../../LangRef.rst:9783 +#: ../../../LangRef.rst:9887 msgid "" "The '``invoke``' instruction causes control to transfer to a specified " "function, with the possibility of control flow transfer to either the " @@ -14489,7 +14592,7 @@ msgid "" "\"exception\" label." msgstr "" -#: ../../../LangRef.rst:9792 +#: ../../../LangRef.rst:9896 msgid "" "The '``exception``' label is a `landing pad `_ for the exception. As such, '``exception``' label is " @@ -14501,49 +14604,49 @@ msgid "" "\"``landingpad``\" instruction can't be lost through normal code motion." msgstr "" -#: ../../../LangRef.rst:9805 ../../../LangRef.rst:9914 -#: ../../../LangRef.rst:13437 +#: ../../../LangRef.rst:9909 ../../../LangRef.rst:10018 +#: ../../../LangRef.rst:13545 msgid "This instruction requires several arguments:" msgstr "" -#: ../../../LangRef.rst:9807 ../../../LangRef.rst:9916 +#: ../../../LangRef.rst:9911 ../../../LangRef.rst:10020 msgid "" "The optional \"cconv\" marker indicates which :ref:`calling convention " "` the call should use. If none is specified, the call defaults " "to using C calling conventions." msgstr "" -#: ../../../LangRef.rst:9810 ../../../LangRef.rst:9919 -#: ../../../LangRef.rst:13566 +#: ../../../LangRef.rst:9914 ../../../LangRef.rst:10023 +#: ../../../LangRef.rst:13674 msgid "" "The optional :ref:`Parameter Attributes ` list for return " "values. Only '``zeroext``', '``signext``', '``noext``', and '``inreg``' " "attributes are valid here." msgstr "" -#: ../../../LangRef.rst:9813 ../../../LangRef.rst:9922 -#: ../../../LangRef.rst:13569 +#: ../../../LangRef.rst:9917 ../../../LangRef.rst:10026 +#: ../../../LangRef.rst:13677 msgid "" "The optional addrspace attribute can be used to indicate the address space " "of the called function. If it is not specified, the program address space " "from the :ref:`datalayout string` will be used." msgstr "" -#: ../../../LangRef.rst:9816 ../../../LangRef.rst:13572 +#: ../../../LangRef.rst:9920 ../../../LangRef.rst:13680 msgid "" "'``ty``': the type of the call instruction itself which is also the type of " "the return value. Functions that return no value are marked ``void``. The " "signature is computed based on the return type and argument types." msgstr "" -#: ../../../LangRef.rst:9820 +#: ../../../LangRef.rst:9924 msgid "" "'``fnty``': shall be the signature of the function being invoked. The " "argument types must match the types implied by this signature. This is only " "required if the signature specifies a varargs type." msgstr "" -#: ../../../LangRef.rst:9823 +#: ../../../LangRef.rst:9927 msgid "" "'``fnptrval``': An LLVM value containing a pointer to a function to be " "invoked. In most cases, this is a direct function invocation, but indirect " @@ -14551,8 +14654,8 @@ msgid "" "value." msgstr "" -#: ../../../LangRef.rst:9827 ../../../LangRef.rst:9936 -#: ../../../LangRef.rst:13583 +#: ../../../LangRef.rst:9931 ../../../LangRef.rst:10040 +#: ../../../LangRef.rst:13691 msgid "" "'``function args``': argument list whose types match the function signature " "argument types and parameter attributes. All arguments must be of :ref:" @@ -14561,29 +14664,29 @@ msgid "" "specified." msgstr "" -#: ../../../LangRef.rst:9832 +#: ../../../LangRef.rst:9936 msgid "" "'``normal label``': the label reached when the called function executes a " "'``ret``' instruction." msgstr "" -#: ../../../LangRef.rst:9834 +#: ../../../LangRef.rst:9938 msgid "" "'``exception label``': the label reached when a callee returns via the :ref:" "`resume ` instruction or other exception handling mechanism." msgstr "" -#: ../../../LangRef.rst:9837 ../../../LangRef.rst:9946 -#: ../../../LangRef.rst:13588 +#: ../../../LangRef.rst:9941 ../../../LangRef.rst:10050 +#: ../../../LangRef.rst:13696 msgid "The optional :ref:`function attributes ` list." msgstr "" -#: ../../../LangRef.rst:9838 ../../../LangRef.rst:9947 -#: ../../../LangRef.rst:13589 +#: ../../../LangRef.rst:9942 ../../../LangRef.rst:10051 +#: ../../../LangRef.rst:13697 msgid "The optional :ref:`operand bundles ` list." msgstr "" -#: ../../../LangRef.rst:9843 +#: ../../../LangRef.rst:9947 msgid "" "This instruction is designed to operate as a standard '``call``' instruction " "in most regards. The primary difference is that it establishes an " @@ -14591,7 +14694,7 @@ msgid "" "stack." msgstr "" -#: ../../../LangRef.rst:9848 +#: ../../../LangRef.rst:9952 msgid "" "This instruction is used in languages with destructors to ensure that proper " "cleanup is performed in the case of either a ``longjmp`` or a thrown " @@ -14599,7 +14702,7 @@ msgid "" "clauses in high-level languages that support them." msgstr "" -#: ../../../LangRef.rst:9853 +#: ../../../LangRef.rst:9957 msgid "" "For the purposes of the SSA form, the definition of the value returned by " "the '``invoke``' instruction is deemed to occur on the edge from the current " @@ -14607,34 +14710,34 @@ msgid "" "available." msgstr "" -#: ../../../LangRef.rst:9871 +#: ../../../LangRef.rst:9975 msgid "'``callbr``' Instruction" msgstr "" -#: ../../../LangRef.rst:9884 +#: ../../../LangRef.rst:9988 msgid "" "The '``callbr``' instruction causes control to transfer to a specified " "function, with the possibility of control flow transfer to either the " "'``fallthrough``' label or one of the '``indirect``' labels." msgstr "" -#: ../../../LangRef.rst:9888 +#: ../../../LangRef.rst:9992 msgid "This instruction can currently only be used" msgstr "" -#: ../../../LangRef.rst:9890 +#: ../../../LangRef.rst:9994 msgid "to implement the \"goto\" feature of gcc style inline assembly or" msgstr "" -#: ../../../LangRef.rst:9891 +#: ../../../LangRef.rst:9995 msgid "to call selected intrinsics." msgstr "" -#: ../../../LangRef.rst:9893 +#: ../../../LangRef.rst:9997 msgid "Any other usage is an error in the IR verifier." msgstr "" -#: ../../../LangRef.rst:9895 +#: ../../../LangRef.rst:9999 msgid "" "Note that in order to support outputs along indirect edges, LLVM may need to " "split critical edges, which may require synthesizing a replacement block for " @@ -14646,7 +14749,7 @@ msgid "" "labels``." msgstr "" -#: ../../../LangRef.rst:9903 +#: ../../../LangRef.rst:10007 msgid "" "On target architectures that implement branch target enforcement by " "requiring indirect (register-controlled) branch instructions to jump only to " @@ -14657,21 +14760,21 @@ msgid "" "compiler to put a ``bti`` or equivalent instruction at the label." msgstr "" -#: ../../../LangRef.rst:9925 +#: ../../../LangRef.rst:10029 msgid "" "'``ty``': the type of the call instruction itself which is also the type of " "the return value. Functions that return no value are marked ``void``. The " "signature is computed based on the return type and argument types." msgstr "" -#: ../../../LangRef.rst:9929 ../../../LangRef.rst:13576 +#: ../../../LangRef.rst:10033 ../../../LangRef.rst:13684 msgid "" "'``fnty``': shall be the signature of the function being called. The " "argument types must match the types implied by this signature. This is only " "required if the signature specifies a varargs type." msgstr "" -#: ../../../LangRef.rst:9932 +#: ../../../LangRef.rst:10036 msgid "" "'``fnptrval``': An LLVM value containing a pointer to a function to be " "called. In most cases, this is a direct function call, but other " @@ -14679,20 +14782,20 @@ msgid "" "value." msgstr "" -#: ../../../LangRef.rst:9941 +#: ../../../LangRef.rst:10045 msgid "" "'``fallthrough label``': the label reached when the inline assembly's " "execution exits the bottom / the intrinsic call returns." msgstr "" -#: ../../../LangRef.rst:9943 +#: ../../../LangRef.rst:10047 msgid "" "'``indirect labels``': the labels reached when a callee transfers control to " "a location other than the '``fallthrough label``'. Label constraints refer " "to these destinations." msgstr "" -#: ../../../LangRef.rst:9952 +#: ../../../LangRef.rst:10056 msgid "" "This instruction is designed to operate as a standard '``call``' instruction " "in most regards. The primary difference is that it establishes an " @@ -14700,56 +14803,56 @@ msgid "" "the call." msgstr "" -#: ../../../LangRef.rst:9957 +#: ../../../LangRef.rst:10061 msgid "" "The output values of a '``callbr``' instruction are available both in the " "the '``fallthrough``' block, and any '``indirect``' blocks(s)." msgstr "" -#: ../../../LangRef.rst:9960 +#: ../../../LangRef.rst:10064 msgid "The only current uses of this are:" msgstr "" -#: ../../../LangRef.rst:9962 +#: ../../../LangRef.rst:10066 msgid "" "implement the \"goto\" feature of gcc inline assembly where additional " "labels can be provided as locations for the inline assembly to jump to." msgstr "" -#: ../../../LangRef.rst:9964 +#: ../../../LangRef.rst:10068 msgid "" "support selected intrinsics which manipulate control flow and should be " "chained to specific terminators, such as '``unreachable``'." msgstr "" -#: ../../../LangRef.rst:9991 +#: ../../../LangRef.rst:10095 msgid "'``resume``' Instruction" msgstr "" -#: ../../../LangRef.rst:10003 +#: ../../../LangRef.rst:10107 msgid "" "The '``resume``' instruction is a terminator instruction that has no " "successors." msgstr "" -#: ../../../LangRef.rst:10009 +#: ../../../LangRef.rst:10113 msgid "" "The '``resume``' instruction requires one argument, which must have the same " "type as the result of any '``landingpad``' instruction in the same function." msgstr "" -#: ../../../LangRef.rst:10016 +#: ../../../LangRef.rst:10120 msgid "" "The '``resume``' instruction resumes propagation of an existing (in-flight) " "exception whose unwinding was interrupted with a :ref:`landingpad " "` instruction." msgstr "" -#: ../../../LangRef.rst:10030 +#: ../../../LangRef.rst:10134 msgid "'``catchswitch``' Instruction" msgstr "" -#: ../../../LangRef.rst:10043 +#: ../../../LangRef.rst:10147 msgid "" "The '``catchswitch``' instruction is used by `LLVM's exception handling " "system `_ to describe the set of possible " @@ -14757,14 +14860,14 @@ msgid "" "`." msgstr "" -#: ../../../LangRef.rst:10050 +#: ../../../LangRef.rst:10154 msgid "" "The ``parent`` argument is the token of the funclet that contains the " "``catchswitch`` instruction. If the ``catchswitch`` is not inside a funclet, " "this operand may be the token ``none``." msgstr "" -#: ../../../LangRef.rst:10054 +#: ../../../LangRef.rst:10158 msgid "" "The ``default`` argument is the label of another basic block beginning with " "either a ``cleanuppad`` or ``catchswitch`` instruction. This unwind " @@ -14773,20 +14876,20 @@ msgid "" "html#wineh-constraints>`_." msgstr "" -#: ../../../LangRef.rst:10059 +#: ../../../LangRef.rst:10163 msgid "" "The ``handlers`` are a nonempty list of successor blocks that each begin " "with a :ref:`catchpad ` instruction." msgstr "" -#: ../../../LangRef.rst:10065 +#: ../../../LangRef.rst:10169 msgid "" "Executing this instruction transfers control to one of the successors in " "``handlers``, if appropriate, or continues to unwind via the unwind label if " "present." msgstr "" -#: ../../../LangRef.rst:10069 +#: ../../../LangRef.rst:10173 msgid "" "The ``catchswitch`` is both a terminator and a \"pad\" instruction, meaning " "that it must be both the first non-phi instruction and last instruction in " @@ -14794,24 +14897,24 @@ msgid "" "block." msgstr "" -#: ../../../LangRef.rst:10086 +#: ../../../LangRef.rst:10190 msgid "'``catchret``' Instruction" msgstr "" -#: ../../../LangRef.rst:10098 +#: ../../../LangRef.rst:10202 msgid "" "The '``catchret``' instruction is a terminator instruction that has a single " "successor." msgstr "" -#: ../../../LangRef.rst:10105 +#: ../../../LangRef.rst:10209 msgid "" "The first argument to a '``catchret``' indicates which ``catchpad`` it " "exits. It must be a :ref:`catchpad `. The second argument to a " "'``catchret``' specifies where control will transfer to next." msgstr "" -#: ../../../LangRef.rst:10113 +#: ../../../LangRef.rst:10217 msgid "" "The '``catchret``' instruction ends an existing (in-flight) exception whose " "unwinding was interrupted with a :ref:`catchpad ` instruction. " @@ -14820,7 +14923,7 @@ msgid "" "transfers to ``normal``." msgstr "" -#: ../../../LangRef.rst:10119 +#: ../../../LangRef.rst:10223 msgid "" "The ``token`` argument must be a token produced by a ``catchpad`` " "instruction. If the specified ``catchpad`` is not the most-recently-entered " @@ -14829,17 +14932,17 @@ msgid "" "is undefined." msgstr "" -#: ../../../LangRef.rst:10134 +#: ../../../LangRef.rst:10238 msgid "'``cleanupret``' Instruction" msgstr "" -#: ../../../LangRef.rst:10147 +#: ../../../LangRef.rst:10251 msgid "" "The '``cleanupret``' instruction is a terminator instruction that has an " "optional successor." msgstr "" -#: ../../../LangRef.rst:10154 +#: ../../../LangRef.rst:10258 msgid "" "The '``cleanupret``' instruction requires one argument, which indicates " "which ``cleanuppad`` it exits, and must be a :ref:`cleanuppad " @@ -14849,7 +14952,7 @@ msgid "" "is undefined." msgstr "" -#: ../../../LangRef.rst:10160 +#: ../../../LangRef.rst:10264 msgid "" "The '``cleanupret``' instruction also has an optional successor, " "``continue``, which must be the label of another basic block beginning with " @@ -14859,7 +14962,7 @@ msgid "" "html#wineh-constraints>`_." msgstr "" -#: ../../../LangRef.rst:10169 +#: ../../../LangRef.rst:10273 msgid "" "The '``cleanupret``' instruction indicates to the :ref:`personality function " "` that one :ref:`cleanuppad ` it transferred " @@ -14867,11 +14970,11 @@ msgid "" "the function." msgstr "" -#: ../../../LangRef.rst:10185 +#: ../../../LangRef.rst:10289 msgid "'``unreachable``' Instruction" msgstr "" -#: ../../../LangRef.rst:10197 +#: ../../../LangRef.rst:10301 msgid "" "The '``unreachable``' instruction has no defined semantics. This instruction " "is used to inform the optimizer that a particular portion of the code is not " @@ -14879,15 +14982,15 @@ msgid "" "function cannot be reached, and other facts." msgstr "" -#: ../../../LangRef.rst:10205 +#: ../../../LangRef.rst:10309 msgid "The '``unreachable``' instruction has no defined semantics." msgstr "" -#: ../../../LangRef.rst:10210 +#: ../../../LangRef.rst:10314 msgid "Unary Operations" msgstr "" -#: ../../../LangRef.rst:10212 +#: ../../../LangRef.rst:10316 msgid "" "Unary operators require a single operand, execute an operation on it, and " "produce a single value. The operand might represent multiple data, as is the " @@ -14895,39 +14998,39 @@ msgid "" "same type as its operand." msgstr "" -#: ../../../LangRef.rst:10220 +#: ../../../LangRef.rst:10324 msgid "'``fneg``' Instruction" msgstr "" -#: ../../../LangRef.rst:10232 +#: ../../../LangRef.rst:10336 msgid "The '``fneg``' instruction returns the negation of its operand." msgstr "" -#: ../../../LangRef.rst:10237 +#: ../../../LangRef.rst:10341 msgid "" "The argument to the '``fneg``' instruction must be a :ref:`floating-point " "` or :ref:`vector ` of floating-point values." msgstr "" -#: ../../../LangRef.rst:10244 +#: ../../../LangRef.rst:10348 msgid "" "The value produced is a copy of the operand with its sign bit flipped. The " "value is otherwise completely identical; in particular, if the input is a " "NaN, then the quiet/signaling bit and payload are perfectly preserved." msgstr "" -#: ../../../LangRef.rst:10248 +#: ../../../LangRef.rst:10352 msgid "" "This instruction can also take any number of :ref:`fast-math flags " "`, which are optimization hints to enable otherwise unsafe " "floating-point optimizations:" msgstr "" -#: ../../../LangRef.rst:10262 +#: ../../../LangRef.rst:10366 msgid "Binary Operations" msgstr "" -#: ../../../LangRef.rst:10264 +#: ../../../LangRef.rst:10368 msgid "" "Binary operators are used to do most of the computation in a program. They " "require two operands of the same type, execute an operation on them, and " @@ -14936,42 +15039,42 @@ msgid "" "the same type as its operands." msgstr "" -#: ../../../LangRef.rst:10270 +#: ../../../LangRef.rst:10374 msgid "There are several different binary operators:" msgstr "" -#: ../../../LangRef.rst:10275 +#: ../../../LangRef.rst:10379 msgid "'``add``' Instruction" msgstr "" -#: ../../../LangRef.rst:10290 +#: ../../../LangRef.rst:10394 msgid "The '``add``' instruction returns the sum of its two operands." msgstr "" -#: ../../../LangRef.rst:10295 +#: ../../../LangRef.rst:10399 msgid "" "The two arguments to the '``add``' instruction must be :ref:`integer " "` or :ref:`vector ` of integer values. Both arguments " "must have identical types." msgstr "" -#: ../../../LangRef.rst:10302 +#: ../../../LangRef.rst:10406 msgid "The value produced is the integer sum of the two operands." msgstr "" -#: ../../../LangRef.rst:10304 +#: ../../../LangRef.rst:10408 msgid "" "If the sum has unsigned overflow, the result returned is the mathematical " "result modulo 2\\ :sup:`n`\\ , where n is the bit width of the result." msgstr "" -#: ../../../LangRef.rst:10308 ../../../LangRef.rst:10403 +#: ../../../LangRef.rst:10412 ../../../LangRef.rst:10507 msgid "" "Because LLVM integers use a two's complement representation, this " "instruction is appropriate for both signed and unsigned integers." msgstr "" -#: ../../../LangRef.rst:10311 +#: ../../../LangRef.rst:10415 msgid "" "``nuw`` and ``nsw`` stand for \"No Unsigned Wrap\" and \"No Signed Wrap\", " "respectively. If the ``nuw`` and/or ``nsw`` keywords are present, the result " @@ -14979,22 +15082,22 @@ msgid "" "or signed overflow, respectively, occurs." msgstr "" -#: ../../../LangRef.rst:10326 +#: ../../../LangRef.rst:10430 msgid "'``fadd``' Instruction" msgstr "" -#: ../../../LangRef.rst:10338 +#: ../../../LangRef.rst:10442 msgid "The '``fadd``' instruction returns the sum of its two operands." msgstr "" -#: ../../../LangRef.rst:10343 +#: ../../../LangRef.rst:10447 msgid "" "The two arguments to the '``fadd``' instruction must be :ref:`floating-point " "` or :ref:`vector ` of floating-point values. Both " "arguments must have identical types." msgstr "" -#: ../../../LangRef.rst:10350 +#: ../../../LangRef.rst:10454 msgid "" "The value produced is the floating-point sum of the two operands. This " "instruction is assumed to execute in the default :ref:`floating-point " @@ -15003,39 +15106,39 @@ msgid "" "otherwise unsafe floating-point optimizations:" msgstr "" -#: ../../../LangRef.rst:10367 +#: ../../../LangRef.rst:10471 msgid "'``sub``' Instruction" msgstr "" -#: ../../../LangRef.rst:10382 +#: ../../../LangRef.rst:10486 msgid "The '``sub``' instruction returns the difference of its two operands." msgstr "" -#: ../../../LangRef.rst:10384 +#: ../../../LangRef.rst:10488 msgid "" "Note that the '``sub``' instruction is used to represent the '``neg``' " "instruction present in most other intermediate representations." msgstr "" -#: ../../../LangRef.rst:10390 +#: ../../../LangRef.rst:10494 msgid "" "The two arguments to the '``sub``' instruction must be :ref:`integer " "` or :ref:`vector ` of integer values. Both arguments " "must have identical types." msgstr "" -#: ../../../LangRef.rst:10397 +#: ../../../LangRef.rst:10501 msgid "The value produced is the integer difference of the two operands." msgstr "" -#: ../../../LangRef.rst:10399 +#: ../../../LangRef.rst:10503 msgid "" "If the difference has unsigned overflow, the result returned is the " "mathematical result modulo 2\\ :sup:`n`\\ , where n is the bit width of the " "result." msgstr "" -#: ../../../LangRef.rst:10406 +#: ../../../LangRef.rst:10510 msgid "" "``nuw`` and ``nsw`` stand for \"No Unsigned Wrap\" and \"No Signed Wrap\", " "respectively. If the ``nuw`` and/or ``nsw`` keywords are present, the result " @@ -15043,22 +15146,22 @@ msgid "" "or signed overflow, respectively, occurs." msgstr "" -#: ../../../LangRef.rst:10422 +#: ../../../LangRef.rst:10526 msgid "'``fsub``' Instruction" msgstr "" -#: ../../../LangRef.rst:10434 +#: ../../../LangRef.rst:10538 msgid "The '``fsub``' instruction returns the difference of its two operands." msgstr "" -#: ../../../LangRef.rst:10439 +#: ../../../LangRef.rst:10543 msgid "" "The two arguments to the '``fsub``' instruction must be :ref:`floating-point " "` or :ref:`vector ` of floating-point values. Both " "arguments must have identical types." msgstr "" -#: ../../../LangRef.rst:10446 +#: ../../../LangRef.rst:10550 msgid "" "The value produced is the floating-point difference of the two operands. " "This instruction is assumed to execute in the default :ref:`floating-point " @@ -15067,33 +15170,33 @@ msgid "" "otherwise unsafe floating-point optimizations:" msgstr "" -#: ../../../LangRef.rst:10464 +#: ../../../LangRef.rst:10568 msgid "'``mul``' Instruction" msgstr "" -#: ../../../LangRef.rst:10479 +#: ../../../LangRef.rst:10583 msgid "The '``mul``' instruction returns the product of its two operands." msgstr "" -#: ../../../LangRef.rst:10484 +#: ../../../LangRef.rst:10588 msgid "" "The two arguments to the '``mul``' instruction must be :ref:`integer " "` or :ref:`vector ` of integer values. Both arguments " "must have identical types." msgstr "" -#: ../../../LangRef.rst:10491 +#: ../../../LangRef.rst:10595 msgid "The value produced is the integer product of the two operands." msgstr "" -#: ../../../LangRef.rst:10493 +#: ../../../LangRef.rst:10597 msgid "" "If the result of the multiplication has unsigned overflow, the result " "returned is the mathematical result modulo 2\\ :sup:`n`\\ , where n is the " "bit width of the result." msgstr "" -#: ../../../LangRef.rst:10497 +#: ../../../LangRef.rst:10601 msgid "" "Because LLVM integers use a two's complement representation, and the result " "is the same width as the operands, this instruction returns the correct " @@ -15102,7 +15205,7 @@ msgid "" "extended or zero-extended as appropriate to the width of the full product." msgstr "" -#: ../../../LangRef.rst:10504 +#: ../../../LangRef.rst:10608 msgid "" "``nuw`` and ``nsw`` stand for \"No Unsigned Wrap\" and \"No Signed Wrap\", " "respectively. If the ``nuw`` and/or ``nsw`` keywords are present, the result " @@ -15110,22 +15213,22 @@ msgid "" "or signed overflow, respectively, occurs." msgstr "" -#: ../../../LangRef.rst:10519 +#: ../../../LangRef.rst:10623 msgid "'``fmul``' Instruction" msgstr "" -#: ../../../LangRef.rst:10531 +#: ../../../LangRef.rst:10635 msgid "The '``fmul``' instruction returns the product of its two operands." msgstr "" -#: ../../../LangRef.rst:10536 +#: ../../../LangRef.rst:10640 msgid "" "The two arguments to the '``fmul``' instruction must be :ref:`floating-point " "` or :ref:`vector ` of floating-point values. Both " "arguments must have identical types." msgstr "" -#: ../../../LangRef.rst:10543 +#: ../../../LangRef.rst:10647 msgid "" "The value produced is the floating-point product of the two operands. This " "instruction is assumed to execute in the default :ref:`floating-point " @@ -15134,73 +15237,73 @@ msgid "" "otherwise unsafe floating-point optimizations:" msgstr "" -#: ../../../LangRef.rst:10560 +#: ../../../LangRef.rst:10664 msgid "'``udiv``' Instruction" msgstr "" -#: ../../../LangRef.rst:10573 +#: ../../../LangRef.rst:10677 msgid "The '``udiv``' instruction returns the quotient of its two operands." msgstr "" -#: ../../../LangRef.rst:10578 +#: ../../../LangRef.rst:10682 msgid "" "The two arguments to the '``udiv``' instruction must be :ref:`integer " "` or :ref:`vector ` of integer values. Both arguments " "must have identical types." msgstr "" -#: ../../../LangRef.rst:10585 +#: ../../../LangRef.rst:10689 msgid "" "The value produced is the unsigned integer quotient of the two operands." msgstr "" -#: ../../../LangRef.rst:10587 +#: ../../../LangRef.rst:10691 msgid "" "Note that unsigned integer division and signed integer division are distinct " "operations; for signed integer division, use '``sdiv``'." msgstr "" -#: ../../../LangRef.rst:10590 +#: ../../../LangRef.rst:10694 msgid "" "Division by zero is undefined behavior. For vectors, if any element of the " "divisor is zero, the operation has undefined behavior." msgstr "" -#: ../../../LangRef.rst:10594 +#: ../../../LangRef.rst:10698 msgid "" "If the ``exact`` keyword is present, the result value of the ``udiv`` is a :" "ref:`poison value ` if %op1 is not a multiple of %op2 (as " "such, \"((a udiv exact b) mul b) == a\")." msgstr "" -#: ../../../LangRef.rst:10608 +#: ../../../LangRef.rst:10712 msgid "'``sdiv``' Instruction" msgstr "" -#: ../../../LangRef.rst:10621 +#: ../../../LangRef.rst:10725 msgid "The '``sdiv``' instruction returns the quotient of its two operands." msgstr "" -#: ../../../LangRef.rst:10626 +#: ../../../LangRef.rst:10730 msgid "" "The two arguments to the '``sdiv``' instruction must be :ref:`integer " "` or :ref:`vector ` of integer values. Both arguments " "must have identical types." msgstr "" -#: ../../../LangRef.rst:10633 +#: ../../../LangRef.rst:10737 msgid "" "The value produced is the signed integer quotient of the two operands " "rounded towards zero." msgstr "" -#: ../../../LangRef.rst:10636 +#: ../../../LangRef.rst:10740 msgid "" "Note that signed integer division and unsigned integer division are distinct " "operations; for unsigned integer division, use '``udiv``'." msgstr "" -#: ../../../LangRef.rst:10639 +#: ../../../LangRef.rst:10743 msgid "" "Division by zero is undefined behavior. For vectors, if any element of the " "divisor is zero, the operation has undefined behavior. Overflow also leads " @@ -15208,28 +15311,28 @@ msgid "" "doing a 32-bit division of -2147483648 by -1." msgstr "" -#: ../../../LangRef.rst:10644 +#: ../../../LangRef.rst:10748 msgid "" "If the ``exact`` keyword is present, the result value of the ``sdiv`` is a :" "ref:`poison value ` if the result would be rounded." msgstr "" -#: ../../../LangRef.rst:10657 +#: ../../../LangRef.rst:10761 msgid "'``fdiv``' Instruction" msgstr "" -#: ../../../LangRef.rst:10669 +#: ../../../LangRef.rst:10773 msgid "The '``fdiv``' instruction returns the quotient of its two operands." msgstr "" -#: ../../../LangRef.rst:10674 +#: ../../../LangRef.rst:10778 msgid "" "The two arguments to the '``fdiv``' instruction must be :ref:`floating-point " "` or :ref:`vector ` of floating-point values. Both " "arguments must have identical types." msgstr "" -#: ../../../LangRef.rst:10681 +#: ../../../LangRef.rst:10785 msgid "" "The value produced is the floating-point quotient of the two operands. This " "instruction is assumed to execute in the default :ref:`floating-point " @@ -15238,61 +15341,61 @@ msgid "" "otherwise unsafe floating-point optimizations:" msgstr "" -#: ../../../LangRef.rst:10698 +#: ../../../LangRef.rst:10802 msgid "'``urem``' Instruction" msgstr "" -#: ../../../LangRef.rst:10710 +#: ../../../LangRef.rst:10814 msgid "" "The '``urem``' instruction returns the remainder from the unsigned division " "of its two arguments." msgstr "" -#: ../../../LangRef.rst:10716 +#: ../../../LangRef.rst:10820 msgid "" "The two arguments to the '``urem``' instruction must be :ref:`integer " "` or :ref:`vector ` of integer values. Both arguments " "must have identical types." msgstr "" -#: ../../../LangRef.rst:10723 +#: ../../../LangRef.rst:10827 msgid "" "This instruction returns the unsigned integer *remainder* of a division. " "This instruction always performs an unsigned division to get the remainder." msgstr "" -#: ../../../LangRef.rst:10727 +#: ../../../LangRef.rst:10831 msgid "" "Note that unsigned integer remainder and signed integer remainder are " "distinct operations; for signed integer remainder, use '``srem``'." msgstr "" -#: ../../../LangRef.rst:10730 +#: ../../../LangRef.rst:10834 msgid "" "Taking the remainder of a division by zero is undefined behavior. For " "vectors, if any element of the divisor is zero, the operation has undefined " "behavior." msgstr "" -#: ../../../LangRef.rst:10744 +#: ../../../LangRef.rst:10848 msgid "'``srem``' Instruction" msgstr "" -#: ../../../LangRef.rst:10756 +#: ../../../LangRef.rst:10860 msgid "" "The '``srem``' instruction returns the remainder from the signed division of " "its two operands. This instruction can also take :ref:`vector ` " "versions of the values in which case the elements must be integers." msgstr "" -#: ../../../LangRef.rst:10764 +#: ../../../LangRef.rst:10868 msgid "" "The two arguments to the '``srem``' instruction must be :ref:`integer " "` or :ref:`vector ` of integer values. Both arguments " "must have identical types." msgstr "" -#: ../../../LangRef.rst:10771 +#: ../../../LangRef.rst:10875 msgid "" "This instruction returns the *remainder* of a division (where the result is " "either zero or has the same sign as the dividend, ``op1``), not the *modulo* " @@ -15304,13 +15407,13 @@ msgid "" "Modulo_operation>`_." msgstr "" -#: ../../../LangRef.rst:10781 +#: ../../../LangRef.rst:10885 msgid "" "Note that signed integer remainder and unsigned integer remainder are " "distinct operations; for unsigned integer remainder, use '``urem``'." msgstr "" -#: ../../../LangRef.rst:10784 +#: ../../../LangRef.rst:10888 msgid "" "Taking the remainder of a division by zero is undefined behavior. For " "vectors, if any element of the divisor is zero, the operation has undefined " @@ -15321,30 +15424,30 @@ msgid "" "the division and the remainder.)" msgstr "" -#: ../../../LangRef.rst:10803 +#: ../../../LangRef.rst:10907 msgid "'``frem``' Instruction" msgstr "" -#: ../../../LangRef.rst:10815 +#: ../../../LangRef.rst:10919 msgid "" "The '``frem``' instruction returns the remainder from the division of its " "two operands." msgstr "" -#: ../../../LangRef.rst:10820 +#: ../../../LangRef.rst:10924 msgid "" "The instruction is implemented as a call to libm's '``fmod``' for some " "targets, and using the instruction may thus require linking libm." msgstr "" -#: ../../../LangRef.rst:10827 +#: ../../../LangRef.rst:10931 msgid "" "The two arguments to the '``frem``' instruction must be :ref:`floating-point " "` or :ref:`vector ` of floating-point values. Both " "arguments must have identical types." msgstr "" -#: ../../../LangRef.rst:10834 +#: ../../../LangRef.rst:10938 msgid "" "The value produced is the floating-point remainder of the two operands. This " "is the same output as a libm '``fmod``' function, but without any " @@ -15355,11 +15458,11 @@ msgid "" "enable otherwise unsafe floating-point optimizations:" msgstr "" -#: ../../../LangRef.rst:10854 +#: ../../../LangRef.rst:10958 msgid "Bitwise Binary Operations" msgstr "" -#: ../../../LangRef.rst:10856 +#: ../../../LangRef.rst:10960 msgid "" "Bitwise binary operators are used to do various forms of bit-twiddling in a " "program. They are generally very efficient instructions and can commonly be " @@ -15368,24 +15471,24 @@ msgid "" "resulting value is the same type as its operands." msgstr "" -#: ../../../LangRef.rst:10865 +#: ../../../LangRef.rst:10969 msgid "'``shl``' Instruction" msgstr "" -#: ../../../LangRef.rst:10880 +#: ../../../LangRef.rst:10984 msgid "" "The '``shl``' instruction returns the first operand shifted to the left a " "specified number of bits." msgstr "" -#: ../../../LangRef.rst:10886 +#: ../../../LangRef.rst:10990 msgid "" "Both arguments to the '``shl``' instruction must be the same :ref:`integer " "` or :ref:`vector ` of integer type. '``op2``' is " "treated as an unsigned value." msgstr "" -#: ../../../LangRef.rst:10893 +#: ../../../LangRef.rst:10997 msgid "" "The value produced is ``op1`` \\* 2\\ :sup:`op2` mod 2\\ :sup:`n`, where " "``n`` is the width of the result. If ``op2`` is (statically or dynamically) " @@ -15395,7 +15498,7 @@ msgid "" "in ``op2``." msgstr "" -#: ../../../LangRef.rst:10900 +#: ../../../LangRef.rst:11004 msgid "" "If the ``nuw`` keyword is present, then the shift produces a poison value if " "it shifts out any non-zero bits. If the ``nsw`` keyword is present, then the " @@ -15403,24 +15506,24 @@ msgid "" "the resultant sign bit." msgstr "" -#: ../../../LangRef.rst:10920 +#: ../../../LangRef.rst:11024 msgid "'``lshr``' Instruction" msgstr "" -#: ../../../LangRef.rst:10933 +#: ../../../LangRef.rst:11037 msgid "" "The '``lshr``' instruction (logical shift right) returns the first operand " "shifted to the right a specified number of bits with zero fill." msgstr "" -#: ../../../LangRef.rst:10939 +#: ../../../LangRef.rst:11043 msgid "" "Both arguments to the '``lshr``' instruction must be the same :ref:`integer " "` or :ref:`vector ` of integer type. '``op2``' is " "treated as an unsigned value." msgstr "" -#: ../../../LangRef.rst:10946 +#: ../../../LangRef.rst:11050 msgid "" "This instruction always performs a logical shift right operation. The most " "significant bits of the result will be filled with zero bits after the " @@ -15430,30 +15533,30 @@ msgid "" "``op1`` is shifted by the corresponding shift amount in ``op2``." msgstr "" -#: ../../../LangRef.rst:10953 +#: ../../../LangRef.rst:11057 msgid "" "If the ``exact`` keyword is present, the result value of the ``lshr`` is a " "poison value if any of the bits shifted out are non-zero." msgstr "" -#: ../../../LangRef.rst:10971 +#: ../../../LangRef.rst:11075 msgid "'``ashr``' Instruction" msgstr "" -#: ../../../LangRef.rst:10984 +#: ../../../LangRef.rst:11088 msgid "" "The '``ashr``' instruction (arithmetic shift right) returns the first " "operand shifted to the right a specified number of bits with sign extension." msgstr "" -#: ../../../LangRef.rst:10991 +#: ../../../LangRef.rst:11095 msgid "" "Both arguments to the '``ashr``' instruction must be the same :ref:`integer " "` or :ref:`vector ` of integer type. '``op2``' is " "treated as an unsigned value." msgstr "" -#: ../../../LangRef.rst:10998 +#: ../../../LangRef.rst:11102 msgid "" "This instruction always performs an arithmetic shift right operation, The " "most significant bits of the result will be filled with the sign bit of " @@ -15463,79 +15566,79 @@ msgid "" "``op1`` is shifted by the corresponding shift amount in ``op2``." msgstr "" -#: ../../../LangRef.rst:11005 +#: ../../../LangRef.rst:11109 msgid "" "If the ``exact`` keyword is present, the result value of the ``ashr`` is a " "poison value if any of the bits shifted out are non-zero." msgstr "" -#: ../../../LangRef.rst:11023 +#: ../../../LangRef.rst:11127 msgid "'``and``' Instruction" msgstr "" -#: ../../../LangRef.rst:11035 +#: ../../../LangRef.rst:11139 msgid "" "The '``and``' instruction returns the bitwise logical and of its two " "operands." msgstr "" -#: ../../../LangRef.rst:11041 +#: ../../../LangRef.rst:11145 msgid "" "The two arguments to the '``and``' instruction must be :ref:`integer " "` or :ref:`vector ` of integer values. Both arguments " "must have identical types." msgstr "" -#: ../../../LangRef.rst:11048 +#: ../../../LangRef.rst:11152 msgid "The truth table used for the '``and``' instruction is:" msgstr "" -#: ../../../LangRef.rst:11051 ../../../LangRef.rst:11103 -#: ../../../LangRef.rst:11161 +#: ../../../LangRef.rst:11155 ../../../LangRef.rst:11207 +#: ../../../LangRef.rst:11265 msgid "In0" msgstr "" -#: ../../../LangRef.rst:11051 ../../../LangRef.rst:11103 -#: ../../../LangRef.rst:11161 +#: ../../../LangRef.rst:11155 ../../../LangRef.rst:11207 +#: ../../../LangRef.rst:11265 msgid "In1" msgstr "" -#: ../../../LangRef.rst:11051 ../../../LangRef.rst:11103 -#: ../../../LangRef.rst:11161 +#: ../../../LangRef.rst:11155 ../../../LangRef.rst:11207 +#: ../../../LangRef.rst:11265 msgid "Out" msgstr "" -#: ../../../LangRef.rst:11053 ../../../LangRef.rst:11055 -#: ../../../LangRef.rst:11057 ../../../LangRef.rst:11105 -#: ../../../LangRef.rst:11107 ../../../LangRef.rst:11109 -#: ../../../LangRef.rst:11163 ../../../LangRef.rst:11165 -#: ../../../LangRef.rst:11167 ../../../LangRef.rst:11169 -#: ../../../LangRef.rst:14343 ../../../LangRef.rst:29825 +#: ../../../LangRef.rst:11157 ../../../LangRef.rst:11159 +#: ../../../LangRef.rst:11161 ../../../LangRef.rst:11209 +#: ../../../LangRef.rst:11211 ../../../LangRef.rst:11213 +#: ../../../LangRef.rst:11267 ../../../LangRef.rst:11269 +#: ../../../LangRef.rst:11271 ../../../LangRef.rst:11273 +#: ../../../LangRef.rst:14451 ../../../LangRef.rst:30263 msgid "0" msgstr "" -#: ../../../LangRef.rst:11074 +#: ../../../LangRef.rst:11178 msgid "'``or``' Instruction" msgstr "" -#: ../../../LangRef.rst:11087 +#: ../../../LangRef.rst:11191 msgid "" "The '``or``' instruction returns the bitwise logical inclusive or of its two " "operands." msgstr "" -#: ../../../LangRef.rst:11093 +#: ../../../LangRef.rst:11197 msgid "" "The two arguments to the '``or``' instruction must be :ref:`integer " "` or :ref:`vector ` of integer values. Both arguments " "must have identical types." msgstr "" -#: ../../../LangRef.rst:11100 +#: ../../../LangRef.rst:11204 msgid "The truth table used for the '``or``' instruction is:" msgstr "" -#: ../../../LangRef.rst:11114 +#: ../../../LangRef.rst:11218 msgid "" "``disjoint`` means that for each bit, that bit is zero in at least one of " "the inputs. This allows the Or to be treated as an Add since no carry can " @@ -15545,33 +15648,33 @@ msgid "" "is poison." msgstr "" -#: ../../../LangRef.rst:11132 +#: ../../../LangRef.rst:11236 msgid "'``xor``' Instruction" msgstr "" -#: ../../../LangRef.rst:11144 +#: ../../../LangRef.rst:11248 msgid "" "The '``xor``' instruction returns the bitwise logical exclusive or of its " "two operands. The ``xor`` is used to implement the \"one's complement\" " "operation, which is the \"~\" operator in C." msgstr "" -#: ../../../LangRef.rst:11151 +#: ../../../LangRef.rst:11255 msgid "" "The two arguments to the '``xor``' instruction must be :ref:`integer " "` or :ref:`vector ` of integer values. Both arguments " "must have identical types." msgstr "" -#: ../../../LangRef.rst:11158 +#: ../../../LangRef.rst:11262 msgid "The truth table used for the '``xor``' instruction is:" msgstr "" -#: ../../../LangRef.rst:11183 +#: ../../../LangRef.rst:11287 msgid "Vector Operations" msgstr "" -#: ../../../LangRef.rst:11185 +#: ../../../LangRef.rst:11289 msgid "" "LLVM supports several instructions to represent vector operations in a " "target-independent manner. These instructions cover the element-access and " @@ -15581,17 +15684,17 @@ msgid "" "specific target." msgstr "" -#: ../../../LangRef.rst:11195 +#: ../../../LangRef.rst:11299 msgid "'``extractelement``' Instruction" msgstr "" -#: ../../../LangRef.rst:11208 +#: ../../../LangRef.rst:11312 msgid "" "The '``extractelement``' instruction extracts a single scalar element from a " "vector at a specified index." msgstr "" -#: ../../../LangRef.rst:11214 +#: ../../../LangRef.rst:11318 msgid "" "The first operand of an '``extractelement``' instruction is a value of :ref:" "`vector ` type. The second operand is an index indicating the " @@ -15599,7 +15702,7 @@ msgid "" "any integer type, and will be treated as an unsigned integer." msgstr "" -#: ../../../LangRef.rst:11222 +#: ../../../LangRef.rst:11326 msgid "" "The result is a scalar of the same type as the element type of ``val``. Its " "value is the value at position ``idx`` of ``val``. If ``idx`` exceeds the " @@ -15609,17 +15712,17 @@ msgid "" "`." msgstr "" -#: ../../../LangRef.rst:11239 +#: ../../../LangRef.rst:11343 msgid "'``insertelement``' Instruction" msgstr "" -#: ../../../LangRef.rst:11252 +#: ../../../LangRef.rst:11356 msgid "" "The '``insertelement``' instruction inserts a scalar element into a vector " "at a specified index." msgstr "" -#: ../../../LangRef.rst:11258 +#: ../../../LangRef.rst:11362 msgid "" "The first operand of an '``insertelement``' instruction is a value of :ref:" "`vector ` type. The second operand is a scalar value whose type " @@ -15628,7 +15731,7 @@ msgid "" "a variable of any integer type, and will be treated as an unsigned integer." msgstr "" -#: ../../../LangRef.rst:11268 +#: ../../../LangRef.rst:11372 msgid "" "The result is a vector of the same type as ``val``. Its element values are " "those of ``val`` except at position ``idx``, where it gets the value " @@ -15638,18 +15741,18 @@ msgid "" "is a :ref:`poison value `." msgstr "" -#: ../../../LangRef.rst:11285 +#: ../../../LangRef.rst:11389 msgid "'``shufflevector``' Instruction" msgstr "" -#: ../../../LangRef.rst:11298 +#: ../../../LangRef.rst:11402 msgid "" "The '``shufflevector``' instruction constructs a permutation of elements " "from two input vectors, returning a vector with the same element type as the " "input and length that is the same as the shuffle mask." msgstr "" -#: ../../../LangRef.rst:11305 +#: ../../../LangRef.rst:11409 msgid "" "The first two operands of a '``shufflevector``' instruction are vectors with " "the same type. The third argument is a shuffle mask vector constant whose " @@ -15659,7 +15762,7 @@ msgid "" "element type of the first two operands." msgstr "" -#: ../../../LangRef.rst:11315 +#: ../../../LangRef.rst:11419 msgid "" "The elements of the two input vectors are numbered from left to right across " "both of the vectors. For each element of the result vector, the shuffle mask " @@ -15668,43 +15771,48 @@ msgid "" "of input vectors." msgstr "" -#: ../../../LangRef.rst:11321 +#: ../../../LangRef.rst:11425 msgid "" "A ``poison`` element in the mask vector specifies that the resulting element " "is ``poison``. For backwards-compatibility reasons, LLVM temporarily also " -"accepts ``undef`` mask elements, which will be interpreted the same way as " -"``poison`` elements. If the shuffle mask selects an ``undef`` element from " -"one of the input vectors, the resulting element is ``undef``." +"accepts ``undef`` mask elements. These will be interpreted the same way as " +"``poison`` mask elements, also producing a ``poison`` element in the result." +msgstr "" + +#: ../../../LangRef.rst:11430 +msgid "" +"If the shuffle mask selects an ``undef`` element from one of the input " +"vectors, the resulting element is ``undef``." msgstr "" -#: ../../../LangRef.rst:11328 +#: ../../../LangRef.rst:11433 msgid "" "For scalable vectors, the only valid mask values at present are " "``zeroinitializer``, ``undef`` and ``poison``, since we cannot write all " "indices as literals for a vector with a length unknown at compile time." msgstr "" -#: ../../../LangRef.rst:11347 +#: ../../../LangRef.rst:11452 msgid "Aggregate Operations" msgstr "" -#: ../../../LangRef.rst:11349 +#: ../../../LangRef.rst:11454 msgid "" "LLVM supports several instructions for working with :ref:`aggregate " "` values." msgstr "" -#: ../../../LangRef.rst:11355 +#: ../../../LangRef.rst:11460 msgid "'``extractvalue``' Instruction" msgstr "" -#: ../../../LangRef.rst:11367 +#: ../../../LangRef.rst:11472 msgid "" "The '``extractvalue``' instruction extracts the value of a member field from " "an :ref:`aggregate ` value." msgstr "" -#: ../../../LangRef.rst:11373 +#: ../../../LangRef.rst:11478 msgid "" "The first operand of an '``extractvalue``' instruction is a value of :ref:" "`struct ` or :ref:`array ` type. The other operands are " @@ -15712,41 +15820,41 @@ msgid "" "indices in a '``getelementptr``' instruction." msgstr "" -#: ../../../LangRef.rst:11378 +#: ../../../LangRef.rst:11483 msgid "The major differences to ``getelementptr`` indexing are:" msgstr "" -#: ../../../LangRef.rst:11380 +#: ../../../LangRef.rst:11485 msgid "" "Since the value being indexed is not a pointer, the first index is omitted " "and assumed to be zero." msgstr "" -#: ../../../LangRef.rst:11382 +#: ../../../LangRef.rst:11487 msgid "At least one index must be specified." msgstr "" -#: ../../../LangRef.rst:11383 +#: ../../../LangRef.rst:11488 msgid "Not only struct indices but also array indices must be in bounds." msgstr "" -#: ../../../LangRef.rst:11388 +#: ../../../LangRef.rst:11493 msgid "" "The result is the value at the position in the aggregate specified by the " "index operands." msgstr "" -#: ../../../LangRef.rst:11401 +#: ../../../LangRef.rst:11506 msgid "'``insertvalue``' Instruction" msgstr "" -#: ../../../LangRef.rst:11413 +#: ../../../LangRef.rst:11518 msgid "" "The '``insertvalue``' instruction inserts a value into a member field in an :" "ref:`aggregate ` value." msgstr "" -#: ../../../LangRef.rst:11419 +#: ../../../LangRef.rst:11524 msgid "" "The first operand of an '``insertvalue``' instruction is a value of :ref:" "`struct ` or :ref:`array ` type. The second operand is a " @@ -15756,18 +15864,18 @@ msgid "" "the same type as the value identified by the indices." msgstr "" -#: ../../../LangRef.rst:11430 +#: ../../../LangRef.rst:11535 msgid "" "The result is an aggregate of the same type as ``val``. Its value is that of " "``val`` except that the value at the position specified by the indices is " "that of ``elt``." msgstr "" -#: ../../../LangRef.rst:11446 +#: ../../../LangRef.rst:11551 msgid "Memory Access and Addressing Operations" msgstr "" -#: ../../../LangRef.rst:11448 +#: ../../../LangRef.rst:11553 msgid "" "A key design point of an SSA-based representation is how it represents " "memory. In LLVM, no memory locations are in SSA form, which makes things " @@ -15775,11 +15883,11 @@ msgid "" "in LLVM." msgstr "" -#: ../../../LangRef.rst:11456 +#: ../../../LangRef.rst:11561 msgid "'``alloca``' Instruction" msgstr "" -#: ../../../LangRef.rst:11468 +#: ../../../LangRef.rst:11573 msgid "" "The '``alloca``' instruction allocates memory on the stack frame of the " "currently executing function, to be automatically released when this " @@ -15787,7 +15895,7 @@ msgid "" "specified, the default address space 0 is used." msgstr "" -#: ../../../LangRef.rst:11476 +#: ../../../LangRef.rst:11581 msgid "" "The '``alloca``' instruction allocates ``sizeof()*NumElements`` bytes " "of memory on the runtime stack, returning a pointer of the appropriate type " @@ -15795,25 +15903,25 @@ msgid "" "elements allocated, otherwise \"NumElements\" is defaulted to be one." msgstr "" -#: ../../../LangRef.rst:11482 +#: ../../../LangRef.rst:11587 msgid "" "If a constant alignment is specified, the value result of the allocation is " "guaranteed to be aligned to at least that boundary. The alignment may not be " "greater than ``1 << 32``." msgstr "" -#: ../../../LangRef.rst:11486 +#: ../../../LangRef.rst:11591 msgid "" "The alignment is only optional when parsing textual IR; for in-memory IR, it " "is always present. If not specified, the target can choose to align the " "allocation on any convenient boundary compatible with the type." msgstr "" -#: ../../../LangRef.rst:11490 +#: ../../../LangRef.rst:11595 msgid "'``type``' may be any sized type." msgstr "" -#: ../../../LangRef.rst:11492 +#: ../../../LangRef.rst:11597 msgid "" "Structs containing scalable vectors cannot be used in allocas unless all " "fields are the same scalable vector type (e.g., ``{, " @@ -15821,7 +15929,7 @@ msgid "" "}`` doesn't)." msgstr "" -#: ../../../LangRef.rst:11500 +#: ../../../LangRef.rst:11605 msgid "" "Memory is allocated; a pointer is returned. The allocated memory is " "uninitialized, and loading from uninitialized memory produces an undefined " @@ -15835,7 +15943,7 @@ msgid "" "which way the stack grows) is not specified." msgstr "" -#: ../../../LangRef.rst:11511 +#: ../../../LangRef.rst:11616 msgid "" "Note that '``alloca``' outside of the alloca address space from the :ref:" "`datalayout string` is meaningful only if the target has " @@ -15845,7 +15953,7 @@ msgid "" "to be used." msgstr "" -#: ../../../LangRef.rst:11518 +#: ../../../LangRef.rst:11623 msgid "" "If the returned pointer is used by :ref:`llvm.lifetime.start " "`, the returned object is initially dead. See :ref:`llvm." @@ -15853,15 +15961,21 @@ msgid "" "for the precise semantics of lifetime-manipulating intrinsics." msgstr "" -#: ../../../LangRef.rst:11537 +#: ../../../LangRef.rst:11629 +msgid "" +"If the element count is ``undef`` or ``poison``, this instruction has " +"undefined behavior." +msgstr "" + +#: ../../../LangRef.rst:11645 msgid "'``load``' Instruction" msgstr "" -#: ../../../LangRef.rst:11554 +#: ../../../LangRef.rst:11662 msgid "The '``load``' instruction is used to read from memory." msgstr "" -#: ../../../LangRef.rst:11559 +#: ../../../LangRef.rst:11667 msgid "" "The argument to the ``load`` instruction specifies the memory address from " "which to load. The type specified must be a :ref:`first class " @@ -15871,7 +15985,7 @@ msgid "" "of this ``load`` with other :ref:`volatile operations `." msgstr "" -#: ../../../LangRef.rst:11566 +#: ../../../LangRef.rst:11674 msgid "" "If the ``load`` is marked as ``atomic``, it takes an extra :ref:`ordering " "` and optional ``syncscope(\"\")`` argument. The " @@ -15886,7 +16000,7 @@ msgid "" "semantics for atomic loads." msgstr "" -#: ../../../LangRef.rst:11578 +#: ../../../LangRef.rst:11686 msgid "" "The optional constant ``align`` argument specifies the alignment of the " "operation (that is, the alignment of the memory address). It is the " @@ -15899,14 +16013,14 @@ msgid "" "bytes can be safely loaded without trapping." msgstr "" -#: ../../../LangRef.rst:11588 ../../../LangRef.rst:11727 +#: ../../../LangRef.rst:11696 ../../../LangRef.rst:11835 msgid "" "The alignment is only optional when parsing textual IR; for in-memory IR, it " "is always present. An omitted ``align`` argument means that the operation " "has the ABI alignment for the target." msgstr "" -#: ../../../LangRef.rst:11592 ../../../LangRef.rst:11731 +#: ../../../LangRef.rst:11700 ../../../LangRef.rst:11839 msgid "" "The optional ``!nontemporal`` metadata must reference a single metadata name " "```` corresponding to a metadata node with one ``i32`` entry " @@ -15917,7 +16031,7 @@ msgid "" "x86." msgstr "" -#: ../../../LangRef.rst:11600 +#: ../../../LangRef.rst:11708 msgid "" "The optional ``!invariant.load`` metadata must reference a single metadata " "name ```` corresponding to a metadata node with no entries. If a " @@ -15927,19 +16041,19 @@ msgid "" "otherwise, the behavior is undefined." msgstr "" -#: ../../../LangRef.rst:11610 +#: ../../../LangRef.rst:11718 msgid "" "The optional ``!invariant.group`` metadata must reference a single metadata " "name" msgstr "" -#: ../../../LangRef.rst:11609 +#: ../../../LangRef.rst:11717 msgid "" "```` corresponding to a metadata node with no entries. See " "``invariant.group`` metadata :ref:`invariant.group `." msgstr "" -#: ../../../LangRef.rst:11612 +#: ../../../LangRef.rst:11720 msgid "" "The optional ``!nonnull`` metadata must reference a single metadata name " "```` corresponding to a metadata node with no entries. The " @@ -15950,7 +16064,7 @@ msgid "" "only be applied to loads of a pointer type." msgstr "" -#: ../../../LangRef.rst:11620 +#: ../../../LangRef.rst:11728 msgid "" "The optional ``!dereferenceable`` metadata must reference a single metadata " "name ```` corresponding to a metadata node with one " @@ -15958,7 +16072,7 @@ msgid "" "`." msgstr "" -#: ../../../LangRef.rst:11625 +#: ../../../LangRef.rst:11733 msgid "" "The optional ``!dereferenceable_or_null`` metadata must reference a single " "metadata name ```` corresponding to a metadata node with " @@ -15966,7 +16080,7 @@ msgid "" "`dereferenceable_or_null `." msgstr "" -#: ../../../LangRef.rst:11631 +#: ../../../LangRef.rst:11739 msgid "" "The optional ``!align`` metadata must reference a single metadata name " "```` corresponding to a metadata node with one ``i64`` entry. " @@ -15979,7 +16093,7 @@ msgid "" "value is returned instead." msgstr "" -#: ../../../LangRef.rst:11641 +#: ../../../LangRef.rst:11749 msgid "" "The optional ``!noundef`` metadata must reference a single metadata name " "```` corresponding to a node with no entries. The existence of " @@ -15990,7 +16104,7 @@ msgid "" "that metadata constraint will also result in undefined behavior." msgstr "" -#: ../../../LangRef.rst:11652 +#: ../../../LangRef.rst:11760 msgid "" "The location of memory pointed to is loaded. If the value being loaded is of " "scalar type then the number of bytes read does not exceed the minimum number " @@ -16004,15 +16118,15 @@ msgid "" "```` is not a well-defined value, the behavior is undefined." msgstr "" -#: ../../../LangRef.rst:11676 +#: ../../../LangRef.rst:11784 msgid "'``store``' Instruction" msgstr "" -#: ../../../LangRef.rst:11691 +#: ../../../LangRef.rst:11799 msgid "The '``store``' instruction is used to write to memory." msgstr "" -#: ../../../LangRef.rst:11696 +#: ../../../LangRef.rst:11804 msgid "" "There are two arguments to the ``store`` instruction: a value to store and " "an address at which to store it. The type of the ```` operand must " @@ -16024,7 +16138,7 @@ msgid "" "an :ref:`opaque structural type `) can be stored." msgstr "" -#: ../../../LangRef.rst:11705 +#: ../../../LangRef.rst:11813 msgid "" "If the ``store`` is marked as ``atomic``, it takes an extra :ref:`ordering " "` and optional ``syncscope(\"\")`` argument. The " @@ -16039,7 +16153,7 @@ msgid "" "semantics for atomic stores." msgstr "" -#: ../../../LangRef.rst:11717 +#: ../../../LangRef.rst:11825 msgid "" "The optional constant ``align`` argument specifies the alignment of the " "operation (that is, the alignment of the memory address). It is the " @@ -16052,13 +16166,13 @@ msgid "" "bytes can be safely loaded without trapping." msgstr "" -#: ../../../LangRef.rst:11739 +#: ../../../LangRef.rst:11847 msgid "" "The optional ``!invariant.group`` metadata must reference a single metadata " "name ````. See ``invariant.group`` metadata." msgstr "" -#: ../../../LangRef.rst:11745 +#: ../../../LangRef.rst:11853 msgid "" "The contents of memory are updated to contain ```` at the location " "specified by the ```` operand. If ```` is of scalar type " @@ -16072,24 +16186,24 @@ msgid "" "behavior is undefined." msgstr "" -#: ../../../LangRef.rst:11769 +#: ../../../LangRef.rst:11877 msgid "'``fence``' Instruction" msgstr "" -#: ../../../LangRef.rst:11781 +#: ../../../LangRef.rst:11889 msgid "" "The '``fence``' instruction is used to introduce happens-before edges " "between operations." msgstr "" -#: ../../../LangRef.rst:11787 +#: ../../../LangRef.rst:11895 msgid "" "'``fence``' instructions take an :ref:`ordering ` argument which " "defines what *synchronizes-with* edges they add. They can only be given " "``acquire``, ``release``, ``acq_rel``, and ``seq_cst`` orderings." msgstr "" -#: ../../../LangRef.rst:11794 +#: ../../../LangRef.rst:11902 msgid "" "A fence A which has (at least) ``release`` ordering semantics *synchronizes " "with* a fence B with (at least) ``acquire`` ordering semantics if and only " @@ -16103,7 +16217,7 @@ msgid "" "``fence`` and establish the *happens-before* edge." msgstr "" -#: ../../../LangRef.rst:11806 +#: ../../../LangRef.rst:11914 msgid "" "A ``fence`` which has ``seq_cst`` ordering, in addition to having both " "``acquire`` and ``release`` semantics specified above, participates in the " @@ -16116,24 +16230,24 @@ msgid "" "details." msgstr "" -#: ../../../LangRef.rst:11816 +#: ../../../LangRef.rst:11924 msgid "" "A ``fence`` instruction can also take an optional \":ref:`syncscope " "`\" argument." msgstr "" -#: ../../../LangRef.rst:11831 +#: ../../../LangRef.rst:11939 msgid "'``cmpxchg``' Instruction" msgstr "" -#: ../../../LangRef.rst:11843 +#: ../../../LangRef.rst:11951 msgid "" "The '``cmpxchg``' instruction is used to atomically modify memory. It loads " "a value in memory and compares it to a given value. If they are equal, it " "tries to store a new value into the memory." msgstr "" -#: ../../../LangRef.rst:11850 +#: ../../../LangRef.rst:11958 msgid "" "There are three arguments to the '``cmpxchg``' instruction: an address to " "operate on, a value to compare to the value currently be at that address, " @@ -16146,7 +16260,7 @@ msgid "" "other :ref:`volatile operations `." msgstr "" -#: ../../../LangRef.rst:11861 +#: ../../../LangRef.rst:11969 msgid "" "The success and failure :ref:`ordering ` arguments specify how " "this ``cmpxchg`` synchronizes with other atomic operations. Both ordering " @@ -16154,20 +16268,20 @@ msgid "" "either ``release`` or ``acq_rel``." msgstr "" -#: ../../../LangRef.rst:11866 +#: ../../../LangRef.rst:11974 msgid "" "A ``cmpxchg`` instruction can also take an optional \":ref:`syncscope " "`\" argument." msgstr "" -#: ../../../LangRef.rst:11869 ../../../LangRef.rst:11978 +#: ../../../LangRef.rst:11977 ../../../LangRef.rst:12086 msgid "" "Note: if the alignment is not greater or equal to the size of the `` " "type, the atomic operation is likely to require a lock and have poor " "performance." msgstr "" -#: ../../../LangRef.rst:11873 ../../../LangRef.rst:11982 +#: ../../../LangRef.rst:11981 ../../../LangRef.rst:12090 msgid "" "The alignment is only optional when parsing textual IR; for in-memory IR, it " "is always present. If unspecified, the alignment is assumed to be equal to " @@ -16176,13 +16290,13 @@ msgid "" "align isn't specified." msgstr "" -#: ../../../LangRef.rst:11879 +#: ../../../LangRef.rst:11987 msgid "" "The pointer passed into cmpxchg must have alignment greater than or equal to " "the size in memory of the operand." msgstr "" -#: ../../../LangRef.rst:11885 +#: ../../../LangRef.rst:11993 msgid "" "The contents of memory at the location specified by the '````' " "operand is read and compared to '````'; if the values are equal, " @@ -16191,20 +16305,20 @@ msgid "" "(false)." msgstr "" -#: ../../../LangRef.rst:11890 +#: ../../../LangRef.rst:11998 msgid "" "If the cmpxchg operation is marked as ``weak`` then a spurious failure is " "permitted: the operation may not write ```` even if the comparison " "matched." msgstr "" -#: ../../../LangRef.rst:11894 +#: ../../../LangRef.rst:12002 msgid "" "If the cmpxchg operation is strong (the default), the i1 value is 1 if and " "only if the value loaded equals ``cmp``." msgstr "" -#: ../../../LangRef.rst:11897 +#: ../../../LangRef.rst:12005 msgid "" "A successful ``cmpxchg`` is a read-modify-write instruction for the purpose " "of identifying release sequences. A failed ``cmpxchg`` is equivalent to an " @@ -16212,102 +16326,102 @@ msgid "" "parameter." msgstr "" -#: ../../../LangRef.rst:11924 +#: ../../../LangRef.rst:12032 msgid "'``atomicrmw``' Instruction" msgstr "" -#: ../../../LangRef.rst:11936 +#: ../../../LangRef.rst:12044 msgid "The '``atomicrmw``' instruction is used to atomically modify memory." msgstr "" -#: ../../../LangRef.rst:11941 +#: ../../../LangRef.rst:12049 msgid "" "There are three arguments to the '``atomicrmw``' instruction: an operation " "to apply, an address whose value to modify, an argument to the operation. " "The operation must be one of the following keywords:" msgstr "" -#: ../../../LangRef.rst:11945 +#: ../../../LangRef.rst:12053 msgid "xchg" msgstr "" -#: ../../../LangRef.rst:11946 +#: ../../../LangRef.rst:12054 msgid "add" msgstr "" -#: ../../../LangRef.rst:11948 +#: ../../../LangRef.rst:12056 msgid "and" msgstr "" -#: ../../../LangRef.rst:11949 +#: ../../../LangRef.rst:12057 msgid "nand" msgstr "" -#: ../../../LangRef.rst:11950 +#: ../../../LangRef.rst:12058 msgid "or" msgstr "" -#: ../../../LangRef.rst:11951 +#: ../../../LangRef.rst:12059 msgid "xor" msgstr "" -#: ../../../LangRef.rst:11952 +#: ../../../LangRef.rst:12060 msgid "max" msgstr "" -#: ../../../LangRef.rst:11953 +#: ../../../LangRef.rst:12061 msgid "min" msgstr "" -#: ../../../LangRef.rst:11954 +#: ../../../LangRef.rst:12062 msgid "umax" msgstr "" -#: ../../../LangRef.rst:11955 +#: ../../../LangRef.rst:12063 msgid "umin" msgstr "" -#: ../../../LangRef.rst:11956 +#: ../../../LangRef.rst:12064 msgid "fadd" msgstr "" -#: ../../../LangRef.rst:11957 +#: ../../../LangRef.rst:12065 msgid "fsub" msgstr "" -#: ../../../LangRef.rst:11958 +#: ../../../LangRef.rst:12066 msgid "fmax" msgstr "" -#: ../../../LangRef.rst:11959 +#: ../../../LangRef.rst:12067 ../../../LangRef.rst:17629 msgid "fmin" msgstr "" -#: ../../../LangRef.rst:11960 +#: ../../../LangRef.rst:12068 msgid "fmaximum" msgstr "" -#: ../../../LangRef.rst:11961 +#: ../../../LangRef.rst:12069 ../../../LangRef.rst:17630 msgid "fminimum" msgstr "" -#: ../../../LangRef.rst:11962 +#: ../../../LangRef.rst:12070 msgid "uinc_wrap" msgstr "" -#: ../../../LangRef.rst:11963 +#: ../../../LangRef.rst:12071 msgid "udec_wrap" msgstr "" -#: ../../../LangRef.rst:11964 +#: ../../../LangRef.rst:12072 msgid "usub_cond" msgstr "" -#: ../../../LangRef.rst:11965 +#: ../../../LangRef.rst:12073 msgid "usub_sat" msgstr "" -#: ../../../LangRef.rst:11967 +#: ../../../LangRef.rst:12075 msgid "" "For most of these operations, the type of '' must be an integer type " "whose bit width is a power of two greater than or equal to eight. For xchg, " @@ -16320,13 +16434,13 @@ msgid "" "ref:`volatile operations `." msgstr "" -#: ../../../LangRef.rst:11988 +#: ../../../LangRef.rst:12096 msgid "" "An ``atomicrmw`` instruction can also take an optional \":ref:`syncscope " "`\" argument." msgstr "" -#: ../../../LangRef.rst:11994 +#: ../../../LangRef.rst:12102 msgid "" "The contents of memory at the location specified by the '````' " "operand are atomically read, modified, and written back. The original value " @@ -16334,109 +16448,109 @@ msgid "" "argument:" msgstr "" -#: ../../../LangRef.rst:11999 +#: ../../../LangRef.rst:12107 msgid "xchg: ``*ptr = val``" msgstr "" -#: ../../../LangRef.rst:12000 +#: ../../../LangRef.rst:12108 msgid "add: ``*ptr = *ptr + val``" msgstr "" -#: ../../../LangRef.rst:12001 +#: ../../../LangRef.rst:12109 msgid "sub: ``*ptr = *ptr - val``" msgstr "" -#: ../../../LangRef.rst:12002 +#: ../../../LangRef.rst:12110 msgid "and: ``*ptr = *ptr & val``" msgstr "" -#: ../../../LangRef.rst:12003 +#: ../../../LangRef.rst:12111 msgid "nand: ``*ptr = ~(*ptr & val)``" msgstr "" -#: ../../../LangRef.rst:12004 +#: ../../../LangRef.rst:12112 msgid "or: ``*ptr = *ptr | val``" msgstr "" -#: ../../../LangRef.rst:12005 +#: ../../../LangRef.rst:12113 msgid "xor: ``*ptr = *ptr ^ val``" msgstr "" -#: ../../../LangRef.rst:12006 +#: ../../../LangRef.rst:12114 msgid "max: ``*ptr = *ptr > val ? *ptr : val`` (using a signed comparison)" msgstr "" -#: ../../../LangRef.rst:12007 +#: ../../../LangRef.rst:12115 msgid "min: ``*ptr = *ptr < val ? *ptr : val`` (using a signed comparison)" msgstr "" -#: ../../../LangRef.rst:12008 +#: ../../../LangRef.rst:12116 msgid "umax: ``*ptr = *ptr > val ? *ptr : val`` (using an unsigned comparison)" msgstr "" -#: ../../../LangRef.rst:12009 +#: ../../../LangRef.rst:12117 msgid "umin: ``*ptr = *ptr < val ? *ptr : val`` (using an unsigned comparison)" msgstr "" -#: ../../../LangRef.rst:12010 +#: ../../../LangRef.rst:12118 msgid "fadd: ``*ptr = *ptr + val`` (using floating point arithmetic)" msgstr "" -#: ../../../LangRef.rst:12011 +#: ../../../LangRef.rst:12119 msgid "fsub: ``*ptr = *ptr - val`` (using floating point arithmetic)" msgstr "" -#: ../../../LangRef.rst:12012 +#: ../../../LangRef.rst:12120 msgid "" "fmax: ``*ptr = maxnum(*ptr, val)`` (match the `llvm.maxnum.*` intrinsic)" msgstr "" -#: ../../../LangRef.rst:12013 +#: ../../../LangRef.rst:12121 msgid "" "fmin: ``*ptr = minnum(*ptr, val)`` (match the `llvm.minnum.*` intrinsic)" msgstr "" -#: ../../../LangRef.rst:12014 +#: ../../../LangRef.rst:12122 msgid "" "fmaximum: ``*ptr = maximum(*ptr, val)`` (match the `llvm.maximum.*` " "intrinsic)" msgstr "" -#: ../../../LangRef.rst:12015 +#: ../../../LangRef.rst:12123 msgid "" "fminimum: ``*ptr = minimum(*ptr, val)`` (match the `llvm.minimum.*` " "intrinsic)" msgstr "" -#: ../../../LangRef.rst:12016 +#: ../../../LangRef.rst:12124 msgid "" "uinc_wrap: ``*ptr = (*ptr u>= val) ? 0 : (*ptr + 1)`` (increment value with " "wraparound to zero when incremented above input value)" msgstr "" -#: ../../../LangRef.rst:12017 +#: ../../../LangRef.rst:12125 msgid "" "udec_wrap: ``*ptr = ((*ptr == 0) || (*ptr u> val)) ? val : (*ptr - 1)`` " "(decrement with wraparound to input value when decremented below zero)." msgstr "" -#: ../../../LangRef.rst:12018 +#: ../../../LangRef.rst:12126 msgid "" "usub_cond: ``*ptr = (*ptr u>= val) ? *ptr - val : *ptr`` (subtract only if " "no unsigned overflow)." msgstr "" -#: ../../../LangRef.rst:12019 +#: ../../../LangRef.rst:12127 msgid "" "usub_sat: ``*ptr = (*ptr u>= val) ? *ptr - val : 0`` (subtract with unsigned " "clamping to zero)." msgstr "" -#: ../../../LangRef.rst:12032 +#: ../../../LangRef.rst:12140 msgid "'``getelementptr``' Instruction" msgstr "" -#: ../../../LangRef.rst:12049 +#: ../../../LangRef.rst:12157 msgid "" "The '``getelementptr``' instruction is used to get the address of a " "subelement of an :ref:`aggregate ` data structure. It performs " @@ -16444,7 +16558,7 @@ msgid "" "also be used to calculate a vector of such addresses." msgstr "" -#: ../../../LangRef.rst:12057 +#: ../../../LangRef.rst:12165 msgid "" "The first argument is always a type used as the basis for the calculations. " "The second argument is always a pointer or a vector of pointers, and is the " @@ -16460,7 +16574,7 @@ msgid "" "pointer before continuing calculation." msgstr "" -#: ../../../LangRef.rst:12070 +#: ../../../LangRef.rst:12178 msgid "" "The type of each index argument depends on the type it is indexing into. " "When indexing into a (optionally packed) structure, only ``i32`` integer " @@ -16470,17 +16584,17 @@ msgid "" "be constant. These integers are treated as signed values where relevant." msgstr "" -#: ../../../LangRef.rst:12078 +#: ../../../LangRef.rst:12186 msgid "" "For example, let's consider a C code fragment and how it gets compiled to " "LLVM:" msgstr "" -#: ../../../LangRef.rst:12098 +#: ../../../LangRef.rst:12206 msgid "The LLVM code generated by Clang is approximately:" msgstr "" -#: ../../../LangRef.rst:12114 +#: ../../../LangRef.rst:12222 msgid "" "In the example above, the first index is indexing into the '``%struct.ST*``' " "type, which is a pointer, yielding a '``%struct.ST``' = '``{ i32, double, " @@ -16493,14 +16607,14 @@ msgid "" "this element." msgstr "" -#: ../../../LangRef.rst:12125 +#: ../../../LangRef.rst:12233 msgid "" "Note that it is perfectly legal to index partially through a structure, " "returning a pointer to an inner element. Because of this, the LLVM code for " "the given testcase is equivalent to:" msgstr "" -#: ../../../LangRef.rst:12140 +#: ../../../LangRef.rst:12248 msgid "" "The indices are first converted to offsets in the pointer's index type. If " "the currently indexed type is a struct type, the struct offset corresponding " @@ -16510,7 +16624,7 @@ msgid "" "ABI alignment) of the currently indexed type." msgstr "" -#: ../../../LangRef.rst:12147 +#: ../../../LangRef.rst:12255 msgid "" "The offsets are then added to the low bits of the base address up to the " "index type width, with silently-wrapping two's complement arithmetic. If the " @@ -16518,7 +16632,7 @@ msgid "" "the index type width will not be affected." msgstr "" -#: ../../../LangRef.rst:12152 +#: ../../../LangRef.rst:12260 msgid "" "The result value of the ``getelementptr`` may be outside the object pointed " "to by the base pointer. The result value may not necessarily be used to " @@ -16527,7 +16641,7 @@ msgid "" "information." msgstr "" -#: ../../../LangRef.rst:12158 +#: ../../../LangRef.rst:12266 msgid "" "The ``getelementptr`` instruction may have a number of attributes that " "impose additional rules. If any of the rules are violated, the result value " @@ -16535,60 +16649,60 @@ msgid "" "of pointers, the attributes apply to each computation element-wise." msgstr "" -#: ../../../LangRef.rst:12163 +#: ../../../LangRef.rst:12271 msgid "For ``nusw`` (no unsigned signed wrap):" msgstr "" -#: ../../../LangRef.rst:12165 +#: ../../../LangRef.rst:12273 msgid "" "If the type of an index is larger than the pointer index type, the " "truncation to the pointer index type preserves the signed value (``trunc " "nsw``)." msgstr "" -#: ../../../LangRef.rst:12168 +#: ../../../LangRef.rst:12276 msgid "" "The multiplication of an index by the type size does not wrap the pointer " "index type in a signed sense (``mul nsw``)." msgstr "" -#: ../../../LangRef.rst:12170 +#: ../../../LangRef.rst:12278 msgid "" "The successive addition of each offset (without adding the base address) " "does not wrap the pointer index type in a signed sense (``add nsw``)." msgstr "" -#: ../../../LangRef.rst:12172 +#: ../../../LangRef.rst:12280 msgid "" "The successive addition of the current address, truncated to the pointer " "index type and interpreted as an unsigned number, and each offset, " "interpreted as a signed number, does not wrap the pointer index type." msgstr "" -#: ../../../LangRef.rst:12176 +#: ../../../LangRef.rst:12284 msgid "For ``nuw`` (no unsigned wrap):" msgstr "" -#: ../../../LangRef.rst:12178 +#: ../../../LangRef.rst:12286 msgid "" "If the type of an index is larger than the pointer index type, the " "truncation to the pointer index type preserves the unsigned value (``trunc " "nuw``)." msgstr "" -#: ../../../LangRef.rst:12181 +#: ../../../LangRef.rst:12289 msgid "" "The multiplication of an index by the type size does not wrap the pointer " "index type in an unsigned sense (``mul nuw``)." msgstr "" -#: ../../../LangRef.rst:12183 +#: ../../../LangRef.rst:12291 msgid "" "The successive addition of each offset (without adding the base address) " "does not wrap the pointer index type in an unsigned sense (``add nuw``)." msgstr "" -#: ../../../LangRef.rst:12185 +#: ../../../LangRef.rst:12293 msgid "" "The successive addition of the current address, truncated to the pointer " "index type and interpreted as an unsigned number, and each offset, also " @@ -16596,13 +16710,13 @@ msgid "" "(``add nuw``)." msgstr "" -#: ../../../LangRef.rst:12190 +#: ../../../LangRef.rst:12298 msgid "" "For ``inbounds`` all rules of the ``nusw`` attribute apply. Additionally, if " "the ``getelementptr`` has any non-zero indices, the following rules apply:" msgstr "" -#: ../../../LangRef.rst:12193 +#: ../../../LangRef.rst:12301 msgid "" "The base pointer has an *in bounds* address of the :ref:`allocated " "object` that it is :ref:`based ` on. This " @@ -16613,13 +16727,13 @@ msgid "" "have while satisfying the allocated object rules, not its current size." msgstr "" -#: ../../../LangRef.rst:12201 +#: ../../../LangRef.rst:12309 msgid "" "During the successive addition of offsets to the address, the resulting " "pointer must remain *in bounds* of the allocated object at each step." msgstr "" -#: ../../../LangRef.rst:12204 +#: ../../../LangRef.rst:12312 msgid "" "Note that ``getelementptr`` with all-zero indices is always considered to be " "``inbounds``, even if the base pointer does not point to an allocated " @@ -16627,14 +16741,14 @@ msgid "" "the default address space is the null pointer itself." msgstr "" -#: ../../../LangRef.rst:12209 +#: ../../../LangRef.rst:12317 msgid "" "If ``inbounds`` is present on a ``getelementptr`` instruction, the ``nusw`` " "attribute will be automatically set as well. For this reason, the ``nusw`` " "will also not be printed in textual IR if ``inbounds`` is already present." msgstr "" -#: ../../../LangRef.rst:12213 +#: ../../../LangRef.rst:12321 msgid "" "If the ``inrange(Start, End)`` attribute is present, loading from or storing " "to any pointer derived from the ``getelementptr`` has undefined behavior if " @@ -16648,17 +16762,17 @@ msgid "" "``getelementptr`` expressions." msgstr "" -#: ../../../LangRef.rst:12224 +#: ../../../LangRef.rst:12332 msgid "" "The getelementptr instruction is often confusing. For some more insight into " "how it works, see :doc:`the getelementptr FAQ `." msgstr "" -#: ../../../LangRef.rst:12238 +#: ../../../LangRef.rst:12346 msgid "Vector of pointers:" msgstr "" -#: ../../../LangRef.rst:12240 +#: ../../../LangRef.rst:12348 msgid "" "The ``getelementptr`` returns a vector of pointers, instead of a single " "address, when one or more of its arguments is a vector. In such cases, all " @@ -16667,36 +16781,36 @@ msgid "" "calculation." msgstr "" -#: ../../../LangRef.rst:12261 +#: ../../../LangRef.rst:12369 msgid "The two following instructions are equivalent:" msgstr "" -#: ../../../LangRef.rst:12274 +#: ../../../LangRef.rst:12382 msgid "" "Let's look at the C code, where the vector version of ``getelementptr`` " "makes sense:" msgstr "" -#: ../../../LangRef.rst:12294 +#: ../../../LangRef.rst:12402 msgid "Conversion Operations" msgstr "" -#: ../../../LangRef.rst:12296 +#: ../../../LangRef.rst:12404 msgid "" "The instructions in this category are the conversion instructions (casting) " "which all take a single operand and a type. They perform various bit " "conversions on the operand." msgstr "" -#: ../../../LangRef.rst:12303 +#: ../../../LangRef.rst:12411 msgid "'``trunc .. to``' Instruction" msgstr "" -#: ../../../LangRef.rst:12318 +#: ../../../LangRef.rst:12426 msgid "The '``trunc``' instruction truncates its operand to the type ``ty2``." msgstr "" -#: ../../../LangRef.rst:12323 +#: ../../../LangRef.rst:12431 msgid "" "The '``trunc``' instruction takes a value to trunc, and a type to trunc it " "to. Both types must be of :ref:`integer ` types, or vectors of " @@ -16705,7 +16819,7 @@ msgid "" "not allowed." msgstr "" -#: ../../../LangRef.rst:12332 +#: ../../../LangRef.rst:12440 msgid "" "The '``trunc``' instruction truncates the high order bits in ``value`` and " "converts the remaining bits to ``ty2``. Since the source size must be larger " @@ -16713,7 +16827,7 @@ msgid "" "always truncate bits." msgstr "" -#: ../../../LangRef.rst:12337 +#: ../../../LangRef.rst:12445 msgid "" "If the ``nuw`` keyword is present, and any of the truncated bits are non-" "zero, the result is a :ref:`poison value `. If the ``nsw`` " @@ -16722,22 +16836,22 @@ msgid "" "`." msgstr "" -#: ../../../LangRef.rst:12355 +#: ../../../LangRef.rst:12463 msgid "'``zext .. to``' Instruction" msgstr "" -#: ../../../LangRef.rst:12367 +#: ../../../LangRef.rst:12475 msgid "The '``zext``' instruction zero extends its operand to type ``ty2``." msgstr "" -#: ../../../LangRef.rst:12369 +#: ../../../LangRef.rst:12477 msgid "" "The ``nneg`` (non-negative) flag, if present, specifies that the operand is " "non-negative. This property may be used by optimization passes to later " "convert the ``zext`` into a ``sext``." msgstr "" -#: ../../../LangRef.rst:12376 +#: ../../../LangRef.rst:12484 msgid "" "The '``zext``' instruction takes a value to cast, and a type to cast it to. " "Both types must be of :ref:`integer ` types, or vectors of the " @@ -16745,31 +16859,31 @@ msgid "" "the bit size of the destination type, ``ty2``." msgstr "" -#: ../../../LangRef.rst:12384 +#: ../../../LangRef.rst:12492 msgid "" "The ``zext`` fills the high order bits of the ``value`` with zero bits until " "it reaches the size of the destination type, ``ty2``." msgstr "" -#: ../../../LangRef.rst:12387 +#: ../../../LangRef.rst:12495 msgid "When zero extending from i1, the result will always be either 0 or 1." msgstr "" -#: ../../../LangRef.rst:12389 +#: ../../../LangRef.rst:12497 msgid "" "If the ``nneg`` flag is set, and the ``zext`` argument is negative, the " "result is a poison value." msgstr "" -#: ../../../LangRef.rst:12407 +#: ../../../LangRef.rst:12515 msgid "'``sext .. to``' Instruction" msgstr "" -#: ../../../LangRef.rst:12419 +#: ../../../LangRef.rst:12527 msgid "The '``sext``' sign extends ``value`` to the type ``ty2``." msgstr "" -#: ../../../LangRef.rst:12424 +#: ../../../LangRef.rst:12532 msgid "" "The '``sext``' instruction takes a value to cast, and a type to cast it to. " "Both types must be of :ref:`integer ` types, or vectors of the " @@ -16777,26 +16891,26 @@ msgid "" "the bit size of the destination type, ``ty2``." msgstr "" -#: ../../../LangRef.rst:12432 +#: ../../../LangRef.rst:12540 msgid "" "The '``sext``' instruction performs a sign extension by copying the sign bit " "(highest order bit) of the ``value`` until it reaches the bit size of the " "type ``ty2``." msgstr "" -#: ../../../LangRef.rst:12436 +#: ../../../LangRef.rst:12544 msgid "When sign extending from i1, the extension always results in -1 or 0." msgstr "" -#: ../../../LangRef.rst:12450 +#: ../../../LangRef.rst:12558 msgid "'``fptrunc .. to``' Instruction" msgstr "" -#: ../../../LangRef.rst:12462 +#: ../../../LangRef.rst:12570 msgid "The '``fptrunc``' instruction truncates ``value`` to type ``ty2``." msgstr "" -#: ../../../LangRef.rst:12467 +#: ../../../LangRef.rst:12575 msgid "" "The '``fptrunc``' instruction takes a :ref:`floating-point ` " "value to cast and a :ref:`floating-point ` type to cast it to. " @@ -16804,7 +16918,7 @@ msgid "" "that ``fptrunc`` cannot be used to make a *no-op cast*." msgstr "" -#: ../../../LangRef.rst:12475 +#: ../../../LangRef.rst:12583 msgid "" "The '``fptrunc``' instruction casts a ``value`` from a larger :ref:`floating-" "point ` type to a smaller :ref:`floating-point ` " @@ -16812,7 +16926,7 @@ msgid "" "point environment `." msgstr "" -#: ../../../LangRef.rst:12481 +#: ../../../LangRef.rst:12589 msgid "" "NaN values follow the usual :ref:`NaN behaviors `, except that " "_if_ a NaN payload is propagated from the input (\"Quieting NaN " @@ -16824,31 +16938,31 @@ msgid "" "possible." msgstr "" -#: ../../../LangRef.rst:12489 ../../../LangRef.rst:12540 +#: ../../../LangRef.rst:12597 ../../../LangRef.rst:12648 msgid "" "This instruction can also take any number of :ref:`fast-math flags " "`, which are optimization hints to enable otherwise unsafe " "floating-point optimizations." msgstr "" -#: ../../../LangRef.rst:12504 +#: ../../../LangRef.rst:12612 msgid "'``fpext .. to``' Instruction" msgstr "" -#: ../../../LangRef.rst:12516 +#: ../../../LangRef.rst:12624 msgid "" "The '``fpext``' extends a floating-point ``value`` to a larger floating-" "point value." msgstr "" -#: ../../../LangRef.rst:12522 +#: ../../../LangRef.rst:12630 msgid "" "The '``fpext``' instruction takes a :ref:`floating-point ` " "``value`` to cast, and a :ref:`floating-point ` type to cast it " "to. The source type must be smaller than the destination type." msgstr "" -#: ../../../LangRef.rst:12529 +#: ../../../LangRef.rst:12637 msgid "" "The '``fpext``' instruction extends the ``value`` from a smaller :ref:" "`floating-point ` type to a larger :ref:`floating-point " @@ -16857,7 +16971,7 @@ msgid "" "floating-point cast." msgstr "" -#: ../../../LangRef.rst:12535 +#: ../../../LangRef.rst:12643 msgid "" "NaN values follow the usual :ref:`NaN behaviors `, except that " "_if_ a NaN payload is propagated from the input (\"Quieting NaN " @@ -16866,17 +16980,17 @@ msgid "" "bits are zero." msgstr "" -#: ../../../LangRef.rst:12553 +#: ../../../LangRef.rst:12661 msgid "'``fptoui .. to``' Instruction" msgstr "" -#: ../../../LangRef.rst:12565 +#: ../../../LangRef.rst:12673 msgid "" "The '``fptoui``' converts a floating-point ``value`` to its unsigned integer " "equivalent of type ``ty2``." msgstr "" -#: ../../../LangRef.rst:12571 +#: ../../../LangRef.rst:12679 msgid "" "The '``fptoui``' instruction takes a value to cast, which must be a scalar " "or vector :ref:`floating-point ` value, and a type to cast it to " @@ -16885,7 +16999,7 @@ msgid "" "same number of elements as ``ty``" msgstr "" -#: ../../../LangRef.rst:12580 +#: ../../../LangRef.rst:12688 msgid "" "The '``fptoui``' instruction converts its :ref:`floating-point ` " "operand into the nearest (rounding towards zero) unsigned integer value. If " @@ -16893,17 +17007,17 @@ msgid "" "`." msgstr "" -#: ../../../LangRef.rst:12595 +#: ../../../LangRef.rst:12703 msgid "'``fptosi .. to``' Instruction" msgstr "" -#: ../../../LangRef.rst:12607 +#: ../../../LangRef.rst:12715 msgid "" "The '``fptosi``' instruction converts :ref:`floating-point ` " "``value`` to type ``ty2``." msgstr "" -#: ../../../LangRef.rst:12613 +#: ../../../LangRef.rst:12721 msgid "" "The '``fptosi``' instruction takes a value to cast, which must be a scalar " "or vector :ref:`floating-point ` value, and a type to cast it to " @@ -16912,7 +17026,7 @@ msgid "" "same number of elements as ``ty``" msgstr "" -#: ../../../LangRef.rst:12622 +#: ../../../LangRef.rst:12730 msgid "" "The '``fptosi``' instruction converts its :ref:`floating-point ` " "operand into the nearest (rounding towards zero) signed integer value. If " @@ -16920,24 +17034,24 @@ msgid "" "`." msgstr "" -#: ../../../LangRef.rst:12637 +#: ../../../LangRef.rst:12745 msgid "'``uitofp .. to``' Instruction" msgstr "" -#: ../../../LangRef.rst:12649 +#: ../../../LangRef.rst:12757 msgid "" "The '``uitofp``' instruction regards ``value`` as an unsigned integer and " "converts that value to the ``ty2`` type." msgstr "" -#: ../../../LangRef.rst:12652 +#: ../../../LangRef.rst:12760 msgid "" "The ``nneg`` (non-negative) flag, if present, specifies that the operand is " "non-negative. This property may be used by optimization passes to later " "convert the ``uitofp`` into a ``sitofp``." msgstr "" -#: ../../../LangRef.rst:12659 +#: ../../../LangRef.rst:12767 msgid "" "The '``uitofp``' instruction takes a value to cast, which must be a scalar " "or vector :ref:`integer ` value, and a type to cast it to " @@ -16946,7 +17060,7 @@ msgid "" "the same number of elements as ``ty``" msgstr "" -#: ../../../LangRef.rst:12668 +#: ../../../LangRef.rst:12776 msgid "" "The '``uitofp``' instruction interprets its operand as an unsigned integer " "quantity and converts it to the corresponding floating-point value. If the " @@ -16954,23 +17068,23 @@ msgid "" "rounding mode." msgstr "" -#: ../../../LangRef.rst:12673 +#: ../../../LangRef.rst:12781 msgid "" "If the ``nneg`` flag is set, and the ``uitofp`` argument is negative, the " "result is a poison value." msgstr "" -#: ../../../LangRef.rst:12689 +#: ../../../LangRef.rst:12797 msgid "'``sitofp .. to``' Instruction" msgstr "" -#: ../../../LangRef.rst:12701 +#: ../../../LangRef.rst:12809 msgid "" "The '``sitofp``' instruction regards ``value`` as a signed integer and " "converts that value to the ``ty2`` type." msgstr "" -#: ../../../LangRef.rst:12707 +#: ../../../LangRef.rst:12815 msgid "" "The '``sitofp``' instruction takes a value to cast, which must be a scalar " "or vector :ref:`integer ` value, and a type to cast it to " @@ -16979,7 +17093,7 @@ msgid "" "the same number of elements as ``ty``" msgstr "" -#: ../../../LangRef.rst:12716 +#: ../../../LangRef.rst:12824 msgid "" "The '``sitofp``' instruction interprets its operand as a signed integer " "quantity and converts it to the corresponding floating-point value. If the " @@ -16987,17 +17101,17 @@ msgid "" "rounding mode." msgstr "" -#: ../../../LangRef.rst:12732 +#: ../../../LangRef.rst:12840 msgid "'``ptrtoint .. to``' Instruction" msgstr "" -#: ../../../LangRef.rst:12744 +#: ../../../LangRef.rst:12852 msgid "" "The '``ptrtoint``' instruction converts the pointer or a vector of pointers " "``value`` to the integer (or vector of integers) type ``ty2``." msgstr "" -#: ../../../LangRef.rst:12750 +#: ../../../LangRef.rst:12858 msgid "" "The '``ptrtoint``' instruction takes a ``value`` to cast, which must be a " "value of type :ref:`pointer ` or a vector of pointers, and a type " @@ -17005,7 +17119,7 @@ msgid "" "vector of integers type." msgstr "" -#: ../../../LangRef.rst:12758 +#: ../../../LangRef.rst:12866 msgid "" "The '``ptrtoint``' instruction converts ``value`` to integer type ``ty2`` by " "interpreting all the pointer representation bits as an integer (equivalent " @@ -17017,11 +17131,11 @@ msgid "" "provenance ` of the pointer argument." msgstr "" -#: ../../../LangRef.rst:12781 +#: ../../../LangRef.rst:12889 msgid "'``ptrtoaddr .. to``' Instruction" msgstr "" -#: ../../../LangRef.rst:12793 +#: ../../../LangRef.rst:12901 msgid "" "The '``ptrtoaddr``' instruction converts the pointer or a vector of pointers " "``value`` to the underlying integer address (or vector of addresses) of type " @@ -17030,7 +17144,7 @@ msgid "" "does not capture the provenance of the pointer." msgstr "" -#: ../../../LangRef.rst:12802 +#: ../../../LangRef.rst:12910 msgid "" "The '``ptrtoaddr``' instruction takes a ``value`` to cast, which must be a " "value of type :ref:`pointer ` or a vector of pointers, and a type " @@ -17039,7 +17153,7 @@ msgid "" "space of ``ty``." msgstr "" -#: ../../../LangRef.rst:12811 +#: ../../../LangRef.rst:12919 msgid "" "The '``ptrtoaddr``' instruction converts ``value`` to integer type ``ty2`` " "by interpreting the lowest index-width pointer representation bits as an " @@ -17048,51 +17162,51 @@ msgid "" "op cast*) other than a type change." msgstr "" -#: ../../../LangRef.rst:12817 +#: ../../../LangRef.rst:12925 msgid "" "The ``ptrtoaddr`` instruction always :ref:`captures the address but not the " "provenance ` of the pointer argument." msgstr "" -#: ../../../LangRef.rst:12822 +#: ../../../LangRef.rst:12930 msgid "" "This example assumes pointers in address space 1 are 64 bits in size with an " "address width of 32 bits (``p1:64:64:64:32`` :ref:`datalayout " "string`)" msgstr "" -#: ../../../LangRef.rst:12834 +#: ../../../LangRef.rst:12942 msgid "'``inttoptr .. to``' Instruction" msgstr "" -#: ../../../LangRef.rst:12846 +#: ../../../LangRef.rst:12954 msgid "" "The '``inttoptr``' instruction converts an integer ``value`` to a pointer " "type, ``ty2``." msgstr "" -#: ../../../LangRef.rst:12852 +#: ../../../LangRef.rst:12960 msgid "" "The '``inttoptr``' instruction takes an :ref:`integer ` value to " "cast, and a type to cast it to, which must be a :ref:`pointer ` " "type." msgstr "" -#: ../../../LangRef.rst:12856 +#: ../../../LangRef.rst:12964 msgid "" "The optional ``!dereferenceable`` metadata must reference a single metadata " "name ```` corresponding to a metadata node with one " "``i64`` entry. See ``dereferenceable`` metadata." msgstr "" -#: ../../../LangRef.rst:12861 +#: ../../../LangRef.rst:12969 msgid "" "The optional ``!dereferenceable_or_null`` metadata must reference a single " "metadata name ```` corresponding to a metadata node with " "one ``i64`` entry. See ``dereferenceable_or_null`` metadata." msgstr "" -#: ../../../LangRef.rst:12866 +#: ../../../LangRef.rst:12974 msgid "" "The optional ``!nofree`` metadata must reference a single metadata name " "```` corresponding to a metadata node with no entries. The " @@ -17100,7 +17214,7 @@ msgid "" "that the memory pointed by the pointer will not be freed after this point." msgstr "" -#: ../../../LangRef.rst:12874 +#: ../../../LangRef.rst:12982 msgid "" "The '``inttoptr``' instruction converts ``value`` to type ``ty2`` by " "applying either a zero extension or a truncation depending on the size of " @@ -17112,17 +17226,17 @@ msgid "" "result type is a :ref:`non-integral pointers `)." msgstr "" -#: ../../../LangRef.rst:12897 +#: ../../../LangRef.rst:13005 msgid "'``bitcast .. to``' Instruction" msgstr "" -#: ../../../LangRef.rst:12909 +#: ../../../LangRef.rst:13017 msgid "" "The '``bitcast``' instruction converts ``value`` to type ``ty2`` without " "changing any bits." msgstr "" -#: ../../../LangRef.rst:12915 +#: ../../../LangRef.rst:13023 msgid "" "The '``bitcast``' instruction takes a value to cast, which must be a non-" "aggregate first class value, and a type to cast it to, which must also be a " @@ -17133,7 +17247,7 @@ msgid "" "integers and to vectors of other types (as long as they have the same size)." msgstr "" -#: ../../../LangRef.rst:12927 +#: ../../../LangRef.rst:13035 msgid "" "The '``bitcast``' instruction converts ``value`` to type ``ty2``. It is " "always a *no-op cast* because no bits change with this conversion. The " @@ -17145,7 +17259,7 @@ msgid "" "instructions first." msgstr "" -#: ../../../LangRef.rst:12936 +#: ../../../LangRef.rst:13044 msgid "" "There is a caveat for bitcasts involving vector types in relation to " "endianness. For example ``bitcast <2 x i8> to i16`` puts element " @@ -17154,24 +17268,24 @@ msgid "" "endian." msgstr "" -#: ../../../LangRef.rst:12954 +#: ../../../LangRef.rst:13062 msgid "'``addrspacecast .. to``' Instruction" msgstr "" -#: ../../../LangRef.rst:12966 +#: ../../../LangRef.rst:13074 msgid "" "The '``addrspacecast``' instruction converts ``ptrval`` from ``pty`` in " "address space ``n`` to type ``pty2`` in address space ``m``." msgstr "" -#: ../../../LangRef.rst:12972 +#: ../../../LangRef.rst:13080 msgid "" "The '``addrspacecast``' instruction takes a pointer or vector of pointer " "value to cast and a pointer type to cast it to, which must have a different " "address space." msgstr "" -#: ../../../LangRef.rst:12979 +#: ../../../LangRef.rst:13087 msgid "" "The '``addrspacecast``' instruction converts the pointer value ``ptrval`` to " "type ``pty2``. It can be a *no-op cast* or a complex value modification, " @@ -17183,13 +17297,13 @@ msgid "" "value of the pointer." msgstr "" -#: ../../../LangRef.rst:12988 +#: ../../../LangRef.rst:13096 msgid "" "If the source is :ref:`poison `, the result is :ref:`poison " "`." msgstr "" -#: ../../../LangRef.rst:12991 +#: ../../../LangRef.rst:13099 msgid "" "If the source is not :ref:`poison `, and both source and " "destination are :ref:`integral pointers `, and the result " @@ -17198,155 +17312,155 @@ msgid "" "original bit pattern)." msgstr "" -#: ../../../LangRef.rst:12997 +#: ../../../LangRef.rst:13105 msgid "" "Which address space casts are supported depends on the target. Unsupported " "address space casts return :ref:`poison `." msgstr "" -#: ../../../LangRef.rst:13012 +#: ../../../LangRef.rst:13120 msgid "Other Operations" msgstr "" -#: ../../../LangRef.rst:13014 +#: ../../../LangRef.rst:13122 msgid "" "The instructions in this category are the \"miscellaneous\" instructions, " "which defy better classification." msgstr "" -#: ../../../LangRef.rst:13020 +#: ../../../LangRef.rst:13128 msgid "'``icmp``' Instruction" msgstr "" -#: ../../../LangRef.rst:13033 +#: ../../../LangRef.rst:13141 msgid "" "The '``icmp``' instruction returns a boolean value or a vector of boolean " "values based on comparison of its two integer, integer vector, pointer, or " "pointer vector operands." msgstr "" -#: ../../../LangRef.rst:13040 +#: ../../../LangRef.rst:13148 msgid "" "The '``icmp``' instruction takes three operands. The first operand is the " "condition code indicating the kind of comparison to perform. It is not a " "value, just a keyword. The possible condition codes are:" msgstr "" -#: ../../../LangRef.rst:13046 +#: ../../../LangRef.rst:13154 msgid "``eq``: equal" msgstr "" -#: ../../../LangRef.rst:13047 +#: ../../../LangRef.rst:13155 msgid "``ne``: not equal" msgstr "" -#: ../../../LangRef.rst:13048 +#: ../../../LangRef.rst:13156 msgid "``ugt``: unsigned greater than" msgstr "" -#: ../../../LangRef.rst:13049 +#: ../../../LangRef.rst:13157 msgid "``uge``: unsigned greater or equal" msgstr "" -#: ../../../LangRef.rst:13050 +#: ../../../LangRef.rst:13158 msgid "``ult``: unsigned less than" msgstr "" -#: ../../../LangRef.rst:13051 +#: ../../../LangRef.rst:13159 msgid "``ule``: unsigned less or equal" msgstr "" -#: ../../../LangRef.rst:13052 +#: ../../../LangRef.rst:13160 msgid "``sgt``: signed greater than" msgstr "" -#: ../../../LangRef.rst:13053 +#: ../../../LangRef.rst:13161 msgid "``sge``: signed greater or equal" msgstr "" -#: ../../../LangRef.rst:13054 +#: ../../../LangRef.rst:13162 msgid "``slt``: signed less than" msgstr "" -#: ../../../LangRef.rst:13055 +#: ../../../LangRef.rst:13163 msgid "``sle``: signed less or equal" msgstr "" -#: ../../../LangRef.rst:13057 +#: ../../../LangRef.rst:13165 msgid "" "The remaining two arguments must be :ref:`integer ` or :ref:" "`pointer ` or integer :ref:`vector ` typed. They must " "also be identical types." msgstr "" -#: ../../../LangRef.rst:13064 +#: ../../../LangRef.rst:13172 msgid "" "The '``icmp``' compares ``op1`` and ``op2`` according to the condition code " "given as ``cond``. The comparison performed always yields either an :ref:`i1 " "` or vector of ``i1`` result, as follows:" msgstr "" -#: ../../../LangRef.rst:13070 +#: ../../../LangRef.rst:13178 msgid "" "``eq``: yields ``true`` if the operands are equal, ``false`` otherwise. No " "sign interpretation is necessary or performed." msgstr "" -#: ../../../LangRef.rst:13072 +#: ../../../LangRef.rst:13180 msgid "" "``ne``: yields ``true`` if the operands are unequal, ``false`` otherwise. No " "sign interpretation is necessary or performed." msgstr "" -#: ../../../LangRef.rst:13074 +#: ../../../LangRef.rst:13182 msgid "" "``ugt``: interprets the operands as unsigned values and yields ``true`` if " "``op1`` is greater than ``op2``." msgstr "" -#: ../../../LangRef.rst:13076 +#: ../../../LangRef.rst:13184 msgid "" "``uge``: interprets the operands as unsigned values and yields ``true`` if " "``op1`` is greater than or equal to ``op2``." msgstr "" -#: ../../../LangRef.rst:13078 +#: ../../../LangRef.rst:13186 msgid "" "``ult``: interprets the operands as unsigned values and yields ``true`` if " "``op1`` is less than ``op2``." msgstr "" -#: ../../../LangRef.rst:13080 +#: ../../../LangRef.rst:13188 msgid "" "``ule``: interprets the operands as unsigned values and yields ``true`` if " "``op1`` is less than or equal to ``op2``." msgstr "" -#: ../../../LangRef.rst:13082 +#: ../../../LangRef.rst:13190 msgid "" "``sgt``: interprets the operands as signed values and yields ``true`` if " "``op1`` is greater than ``op2``." msgstr "" -#: ../../../LangRef.rst:13084 +#: ../../../LangRef.rst:13192 msgid "" "``sge``: interprets the operands as signed values and yields ``true`` if " "``op1`` is greater than or equal to ``op2``." msgstr "" -#: ../../../LangRef.rst:13086 +#: ../../../LangRef.rst:13194 msgid "" "``slt``: interprets the operands as signed values and yields ``true`` if " "``op1`` is less than ``op2``." msgstr "" -#: ../../../LangRef.rst:13088 +#: ../../../LangRef.rst:13196 msgid "" "``sle``: interprets the operands as signed values and yields ``true`` if " "``op1`` is less than or equal to ``op2``." msgstr "" -#: ../../../LangRef.rst:13091 +#: ../../../LangRef.rst:13199 msgid "" "If the operands are :ref:`pointer ` typed, the address bits of " "the pointers are compared as if they were integers. Non-address bits or " @@ -17354,126 +17468,126 @@ msgid "" "to ``icmp`` on the ``ptrtoaddr`` of the pointers." msgstr "" -#: ../../../LangRef.rst:13096 +#: ../../../LangRef.rst:13204 msgid "" "If the operands are integer vectors, then they are compared element by " "element. The result is an ``i1`` vector with the same number of elements as " "the values being compared. Otherwise, the result is an ``i1``." msgstr "" -#: ../../../LangRef.rst:13100 +#: ../../../LangRef.rst:13208 msgid "" "If the ``samesign`` keyword is present and the operands are not of the same " "sign then the result is a :ref:`poison value `." msgstr "" -#: ../../../LangRef.rst:13118 +#: ../../../LangRef.rst:13226 msgid "'``fcmp``' Instruction" msgstr "" -#: ../../../LangRef.rst:13130 +#: ../../../LangRef.rst:13238 msgid "" "The '``fcmp``' instruction returns a boolean value or vector of boolean " "values based on comparison of its operands." msgstr "" -#: ../../../LangRef.rst:13133 +#: ../../../LangRef.rst:13241 msgid "" "If the operands are floating-point scalars, then the result type is a " "boolean (:ref:`i1 `)." msgstr "" -#: ../../../LangRef.rst:13136 +#: ../../../LangRef.rst:13244 msgid "" "If the operands are floating-point vectors, then the result type is a vector " "of boolean with the same number of elements as the operands being compared." msgstr "" -#: ../../../LangRef.rst:13143 +#: ../../../LangRef.rst:13251 msgid "" "The '``fcmp``' instruction takes three operands. The first operand is the " "condition code indicating the kind of comparison to perform. It is not a " "value, just a keyword. The possible condition codes are:" msgstr "" -#: ../../../LangRef.rst:13147 +#: ../../../LangRef.rst:13255 msgid "``false``: no comparison, always returns false" msgstr "" -#: ../../../LangRef.rst:13148 +#: ../../../LangRef.rst:13256 msgid "``oeq``: ordered and equal" msgstr "" -#: ../../../LangRef.rst:13149 +#: ../../../LangRef.rst:13257 msgid "``ogt``: ordered and greater than" msgstr "" -#: ../../../LangRef.rst:13150 +#: ../../../LangRef.rst:13258 msgid "``oge``: ordered and greater than or equal" msgstr "" -#: ../../../LangRef.rst:13151 +#: ../../../LangRef.rst:13259 msgid "``olt``: ordered and less than" msgstr "" -#: ../../../LangRef.rst:13152 +#: ../../../LangRef.rst:13260 msgid "``ole``: ordered and less than or equal" msgstr "" -#: ../../../LangRef.rst:13153 +#: ../../../LangRef.rst:13261 msgid "``one``: ordered and not equal" msgstr "" -#: ../../../LangRef.rst:13154 +#: ../../../LangRef.rst:13262 msgid "``ord``: ordered (no nans)" msgstr "" -#: ../../../LangRef.rst:13155 +#: ../../../LangRef.rst:13263 msgid "``ueq``: unordered or equal" msgstr "" -#: ../../../LangRef.rst:13156 +#: ../../../LangRef.rst:13264 msgid "``ugt``: unordered or greater than" msgstr "" -#: ../../../LangRef.rst:13157 +#: ../../../LangRef.rst:13265 msgid "``uge``: unordered or greater than or equal" msgstr "" -#: ../../../LangRef.rst:13158 +#: ../../../LangRef.rst:13266 msgid "``ult``: unordered or less than" msgstr "" -#: ../../../LangRef.rst:13159 +#: ../../../LangRef.rst:13267 msgid "``ule``: unordered or less than or equal" msgstr "" -#: ../../../LangRef.rst:13160 +#: ../../../LangRef.rst:13268 msgid "``une``: unordered or not equal" msgstr "" -#: ../../../LangRef.rst:13161 +#: ../../../LangRef.rst:13269 msgid "``uno``: unordered (either nans)" msgstr "" -#: ../../../LangRef.rst:13162 +#: ../../../LangRef.rst:13270 msgid "``true``: no comparison, always returns true" msgstr "" -#: ../../../LangRef.rst:13164 +#: ../../../LangRef.rst:13272 msgid "" "*Ordered* means that neither operand is a QNAN while *unordered* means that " "either operand may be a QNAN." msgstr "" -#: ../../../LangRef.rst:13167 +#: ../../../LangRef.rst:13275 msgid "" "Each of ``val1`` and ``val2`` arguments must be either a :ref:`floating-" "point ` type or a :ref:`vector ` of floating-point " "type. They must have identical types." msgstr "" -#: ../../../LangRef.rst:13174 +#: ../../../LangRef.rst:13282 msgid "" "The '``fcmp``' instruction compares ``op1`` and ``op2`` according to the " "condition code given as ``cond``. If the operands are vectors, then the " @@ -17481,102 +17595,102 @@ msgid "" "yields an :ref:`i1 ` result, as follows:" msgstr "" -#: ../../../LangRef.rst:13179 +#: ../../../LangRef.rst:13287 msgid "``false``: always yields ``false``, regardless of operands." msgstr "" -#: ../../../LangRef.rst:13180 +#: ../../../LangRef.rst:13288 msgid "" "``oeq``: yields ``true`` if both operands are not a QNAN and ``op1`` is " "equal to ``op2``." msgstr "" -#: ../../../LangRef.rst:13182 +#: ../../../LangRef.rst:13290 msgid "" "``ogt``: yields ``true`` if both operands are not a QNAN and ``op1`` is " "greater than ``op2``." msgstr "" -#: ../../../LangRef.rst:13184 +#: ../../../LangRef.rst:13292 msgid "" "``oge``: yields ``true`` if both operands are not a QNAN and ``op1`` is " "greater than or equal to ``op2``." msgstr "" -#: ../../../LangRef.rst:13186 +#: ../../../LangRef.rst:13294 msgid "" "``olt``: yields ``true`` if both operands are not a QNAN and ``op1`` is less " "than ``op2``." msgstr "" -#: ../../../LangRef.rst:13188 +#: ../../../LangRef.rst:13296 msgid "" "``ole``: yields ``true`` if both operands are not a QNAN and ``op1`` is less " "than or equal to ``op2``." msgstr "" -#: ../../../LangRef.rst:13190 +#: ../../../LangRef.rst:13298 msgid "" "``one``: yields ``true`` if both operands are not a QNAN and ``op1`` is not " "equal to ``op2``." msgstr "" -#: ../../../LangRef.rst:13192 +#: ../../../LangRef.rst:13300 msgid "``ord``: yields ``true`` if both operands are not a QNAN." msgstr "" -#: ../../../LangRef.rst:13193 +#: ../../../LangRef.rst:13301 msgid "" "``ueq``: yields ``true`` if either operand is a QNAN or ``op1`` is equal to " "``op2``." msgstr "" -#: ../../../LangRef.rst:13195 +#: ../../../LangRef.rst:13303 msgid "" "``ugt``: yields ``true`` if either operand is a QNAN or ``op1`` is greater " "than ``op2``." msgstr "" -#: ../../../LangRef.rst:13197 +#: ../../../LangRef.rst:13305 msgid "" "``uge``: yields ``true`` if either operand is a QNAN or ``op1`` is greater " "than or equal to ``op2``." msgstr "" -#: ../../../LangRef.rst:13199 +#: ../../../LangRef.rst:13307 msgid "" "``ult``: yields ``true`` if either operand is a QNAN or ``op1`` is less than " "``op2``." msgstr "" -#: ../../../LangRef.rst:13201 +#: ../../../LangRef.rst:13309 msgid "" "``ule``: yields ``true`` if either operand is a QNAN or ``op1`` is less than " "or equal to ``op2``." msgstr "" -#: ../../../LangRef.rst:13203 +#: ../../../LangRef.rst:13311 msgid "" "``une``: yields ``true`` if either operand is a QNAN or ``op1`` is not equal " "to ``op2``." msgstr "" -#: ../../../LangRef.rst:13205 +#: ../../../LangRef.rst:13313 msgid "``uno``: yields ``true`` if either operand is a QNAN." msgstr "" -#: ../../../LangRef.rst:13206 +#: ../../../LangRef.rst:13314 msgid "``true``: always yields ``true``, regardless of operands." msgstr "" -#: ../../../LangRef.rst:13208 +#: ../../../LangRef.rst:13316 msgid "" "The ``fcmp`` instruction can also optionally take any number of :ref:`fast-" "math flags `, which are optimization hints to enable otherwise " "unsafe floating-point optimizations." msgstr "" -#: ../../../LangRef.rst:13212 +#: ../../../LangRef.rst:13320 msgid "" "Any set of fast-math flags are legal on an ``fcmp`` instruction, but the " "only flags that have any effect on its semantics are those that allow " @@ -17584,17 +17698,17 @@ msgid "" "``ninf``, and ``reassoc``. See :ref:`fastmath` for more information." msgstr "" -#: ../../../LangRef.rst:13230 +#: ../../../LangRef.rst:13338 msgid "'``phi``' Instruction" msgstr "" -#: ../../../LangRef.rst:13242 +#: ../../../LangRef.rst:13350 msgid "" "The '``phi``' instruction is used to implement the φ node in the SSA graph " "representing the function." msgstr "" -#: ../../../LangRef.rst:13248 +#: ../../../LangRef.rst:13356 msgid "" "The type of the incoming values is specified with the first type field. " "After this, the '``phi``' instruction takes a list of pairs as arguments, " @@ -17603,13 +17717,13 @@ msgid "" "arguments to the PHI node. Only labels may be used as the label arguments." msgstr "" -#: ../../../LangRef.rst:13255 +#: ../../../LangRef.rst:13363 msgid "" "There must be no non-phi instructions between the start of a basic block and " "the PHI instructions: i.e., PHI instructions must be first in a basic block." msgstr "" -#: ../../../LangRef.rst:13259 +#: ../../../LangRef.rst:13367 msgid "" "For the purposes of the SSA form, the use of each incoming value is deemed " "to occur on the edge from the corresponding predecessor block to the current " @@ -17617,7 +17731,7 @@ msgid "" "value on the same edge)." msgstr "" -#: ../../../LangRef.rst:13264 +#: ../../../LangRef.rst:13372 msgid "" "The optional ``fast-math-flags`` marker indicates that the phi has one or " "more :ref:`fast-math-flags `. These are optimization hints to " @@ -17626,31 +17740,31 @@ msgid "" "`." msgstr "" -#: ../../../LangRef.rst:13273 +#: ../../../LangRef.rst:13381 msgid "" "At runtime, the '``phi``' instruction logically takes on the value specified " "by the pair corresponding to the predecessor basic block that executed just " "prior to the current block." msgstr "" -#: ../../../LangRef.rst:13290 +#: ../../../LangRef.rst:13398 msgid "'``select``' Instruction" msgstr "" -#: ../../../LangRef.rst:13304 +#: ../../../LangRef.rst:13412 msgid "" "The '``select``' instruction is used to choose one value based on a " "condition, without IR-level branching." msgstr "" -#: ../../../LangRef.rst:13310 +#: ../../../LangRef.rst:13418 msgid "" "The '``select``' instruction requires an 'i1' value or a vector of 'i1' " "values indicating the condition, and two values of the same :ref:`first " "class ` type." msgstr "" -#: ../../../LangRef.rst:13314 +#: ../../../LangRef.rst:13422 msgid "" "The optional ``fast-math flags`` marker indicates that the select has one or " "more :ref:`fast-math flags `. These are optimization hints to " @@ -17662,39 +17776,39 @@ msgid "" "present, they are only applied to the result, not both arms." msgstr "" -#: ../../../LangRef.rst:13326 +#: ../../../LangRef.rst:13434 msgid "" "If the condition is an i1 and it evaluates to 1, the instruction returns the " "first value argument; otherwise, it returns the second value argument." msgstr "" -#: ../../../LangRef.rst:13330 +#: ../../../LangRef.rst:13438 msgid "" "If the condition is a vector of i1, then the value arguments must be vectors " "of the same size, and the selection is done element by element." msgstr "" -#: ../../../LangRef.rst:13333 +#: ../../../LangRef.rst:13441 msgid "" "If the condition is an i1 and the value arguments are vectors of the same " "size, then an entire vector is selected." msgstr "" -#: ../../../LangRef.rst:13349 +#: ../../../LangRef.rst:13457 msgid "'``freeze``' Instruction" msgstr "" -#: ../../../LangRef.rst:13361 +#: ../../../LangRef.rst:13469 msgid "" "The '``freeze``' instruction is used to stop propagation of :ref:`undef " "` and :ref:`poison ` values." msgstr "" -#: ../../../LangRef.rst:13367 +#: ../../../LangRef.rst:13475 msgid "The '``freeze``' instruction takes a single argument." msgstr "" -#: ../../../LangRef.rst:13372 +#: ../../../LangRef.rst:13480 msgid "" "If the argument is ``undef`` or ``poison``, '``freeze``' returns an " "arbitrary, but fixed, value of type '``ty``'. Otherwise, this instruction is " @@ -17703,7 +17817,7 @@ msgid "" "value, while different '``freeze``' instructions may yield different values." msgstr "" -#: ../../../LangRef.rst:13379 +#: ../../../LangRef.rst:13487 msgid "" "While ``undef`` and ``poison`` pointers can be frozen, the result is a non-" "dereferenceable pointer. See the :ref:`Pointer Aliasing Rules " @@ -17713,15 +17827,15 @@ msgid "" "memory and loading it with a different type." msgstr "" -#: ../../../LangRef.rst:13419 +#: ../../../LangRef.rst:13527 msgid "'``call``' Instruction" msgstr "" -#: ../../../LangRef.rst:13432 +#: ../../../LangRef.rst:13540 msgid "The '``call``' instruction represents a simple function call." msgstr "" -#: ../../../LangRef.rst:13439 +#: ../../../LangRef.rst:13547 msgid "" "The optional ``tail`` and ``musttail`` markers indicate that the optimizers " "should perform tail call optimization. The ``tail`` marker is a hint that " @@ -17732,19 +17846,19 @@ msgid "" "these guarantees:" msgstr "" -#: ../../../LangRef.rst:13447 +#: ../../../LangRef.rst:13555 msgid "" "The call will not cause unbounded stack growth if it is part of a recursive " "cycle in the call graph." msgstr "" -#: ../../../LangRef.rst:13449 +#: ../../../LangRef.rst:13557 msgid "" "Arguments with the :ref:`inalloca ` or :ref:`preallocated " "` attribute are forwarded in place." msgstr "" -#: ../../../LangRef.rst:13451 +#: ../../../LangRef.rst:13559 msgid "" "If the musttail call appears in a function with the ``\"thunk\"`` attribute " "and the caller and callee both have varargs, then any unprototyped arguments " @@ -17753,7 +17867,7 @@ msgid "" "return type is in use." msgstr "" -#: ../../../LangRef.rst:13457 +#: ../../../LangRef.rst:13565 msgid "" "Both markers imply that the callee does not access allocas, va_args, or " "byval arguments from the caller. As an exception to that, an alloca or byval " @@ -17761,107 +17875,107 @@ msgid "" "dereferenced inside the callee. For example:" msgstr "" -#: ../../../LangRef.rst:13516 +#: ../../../LangRef.rst:13624 msgid "Calls marked ``musttail`` must obey the following additional rules:" msgstr "" -#: ../../../LangRef.rst:13518 +#: ../../../LangRef.rst:13626 msgid "" "The call must immediately precede a :ref:`ret ` instruction, or a " "pointer bitcast followed by a ret instruction." msgstr "" -#: ../../../LangRef.rst:13520 +#: ../../../LangRef.rst:13628 msgid "" "The ret instruction must return the (possibly bitcasted) value produced by " "the call, undef, or void." msgstr "" -#: ../../../LangRef.rst:13522 +#: ../../../LangRef.rst:13630 msgid "The calling conventions of the caller and callee must match." msgstr "" -#: ../../../LangRef.rst:13523 +#: ../../../LangRef.rst:13631 msgid "" "The callee must be varargs iff the caller is varargs. Bitcasting a non-" "varargs function to the appropriate varargs type is legal so long as the non-" "varargs prefixes obey the other rules." msgstr "" -#: ../../../LangRef.rst:13526 +#: ../../../LangRef.rst:13634 msgid "" "The return type must not undergo automatic conversion to an `sret` pointer." msgstr "" -#: ../../../LangRef.rst:13528 +#: ../../../LangRef.rst:13636 msgid "" "In addition, if the calling convention is not `swifttailcc` or `tailcc`:" msgstr "" -#: ../../../LangRef.rst:13530 +#: ../../../LangRef.rst:13638 msgid "" "All ABI-impacting function attributes, such as sret, byval, inreg, returned, " "and inalloca, must match." msgstr "" -#: ../../../LangRef.rst:13532 +#: ../../../LangRef.rst:13640 msgid "" "The caller and callee prototypes must match. Pointer types of parameters or " "return types do not differ in address space." msgstr "" -#: ../../../LangRef.rst:13535 +#: ../../../LangRef.rst:13643 msgid "" "On the other hand, if the calling convention is `swifttailcc` or `tailcc`:" msgstr "" -#: ../../../LangRef.rst:13537 +#: ../../../LangRef.rst:13645 msgid "" "Only these ABI-impacting attributes attributes are allowed: sret, byval, " "swiftself, and swiftasync." msgstr "" -#: ../../../LangRef.rst:13539 +#: ../../../LangRef.rst:13647 msgid "Prototypes are not required to match." msgstr "" -#: ../../../LangRef.rst:13541 +#: ../../../LangRef.rst:13649 msgid "" "Tail call optimization for calls marked ``tail`` is guaranteed to occur if " "the following conditions are met:" msgstr "" -#: ../../../LangRef.rst:13544 +#: ../../../LangRef.rst:13652 msgid "" "Caller and callee both have the calling convention ``fastcc`` or ``tailcc``." msgstr "" -#: ../../../LangRef.rst:13545 +#: ../../../LangRef.rst:13653 msgid "" "The call is in tail position (ret immediately follows call and ret uses " "value of call or is void)." msgstr "" -#: ../../../LangRef.rst:13547 +#: ../../../LangRef.rst:13655 msgid "" "Option ``-tailcallopt`` is enabled, ``llvm::GuaranteedTailCallOpt`` is " "``true``, or the calling convention is ``tailcc``." msgstr "" -#: ../../../LangRef.rst:13549 +#: ../../../LangRef.rst:13657 msgid "" "`Platform-specific constraints are met. `_" msgstr "" -#: ../../../LangRef.rst:13552 +#: ../../../LangRef.rst:13660 msgid "" "The optional ``notail`` marker indicates that the optimizers should not add " "``tail`` or ``musttail`` markers to the call. It is used to prevent tail " "call optimization from being performed on the call." msgstr "" -#: ../../../LangRef.rst:13556 +#: ../../../LangRef.rst:13664 msgid "" "The optional ``fast-math flags`` marker indicates that the call has one or " "more :ref:`fast-math flags `, which are optimization hints to " @@ -17870,7 +17984,7 @@ msgid "" "`." msgstr "" -#: ../../../LangRef.rst:13561 +#: ../../../LangRef.rst:13669 msgid "" "The optional \"cconv\" marker indicates which :ref:`calling convention " "` the call should use. If none is specified, the call defaults " @@ -17879,7 +17993,7 @@ msgid "" "undefined." msgstr "" -#: ../../../LangRef.rst:13579 +#: ../../../LangRef.rst:13687 msgid "" "'``fnptrval``': An LLVM value containing a pointer to a function to be " "called. In most cases, this is a direct function call, but indirect " @@ -17887,7 +18001,7 @@ msgid "" "value." msgstr "" -#: ../../../LangRef.rst:13594 +#: ../../../LangRef.rst:13702 msgid "" "The '``call``' instruction is used to cause control flow to transfer to a " "specified function, with its incoming arguments bound to the specified " @@ -17896,7 +18010,7 @@ msgid "" "of the function is bound to the result argument." msgstr "" -#: ../../../LangRef.rst:13600 +#: ../../../LangRef.rst:13708 msgid "" "If the callee refers to an intrinsic function, the signature of the call " "must match the signature of the callee. Otherwise, if the signature of the " @@ -17907,13 +18021,13 @@ msgid "" "the callee." msgstr "" -#: ../../../LangRef.rst:13607 +#: ../../../LangRef.rst:13715 msgid "" "Note that it is possible for the signatures to mismatch even if a call " "appears to be a \"direct\" call, like ``call void @f()``." msgstr "" -#: ../../../LangRef.rst:13628 +#: ../../../LangRef.rst:13736 msgid "" "llvm treats calls to some functions with names and arguments that match the " "standard C99 library as being the C99 library functions, and may perform " @@ -17922,18 +18036,18 @@ msgid "" "freestanding environments and non-C-based languages." msgstr "" -#: ../../../LangRef.rst:13637 +#: ../../../LangRef.rst:13745 msgid "'``va_arg``' Instruction" msgstr "" -#: ../../../LangRef.rst:13649 +#: ../../../LangRef.rst:13757 msgid "" "The '``va_arg``' instruction is used to access arguments passed through the " "\"variable argument\" area of a function call. It is used to implement the " "``va_arg`` macro in C." msgstr "" -#: ../../../LangRef.rst:13656 +#: ../../../LangRef.rst:13764 msgid "" "This instruction takes a ``va_list*`` value and the type of the argument. It " "returns a value of the specified argument type and increments the " @@ -17941,7 +18055,7 @@ msgid "" "target specific." msgstr "" -#: ../../../LangRef.rst:13664 +#: ../../../LangRef.rst:13772 msgid "" "The '``va_arg``' instruction loads an argument of the specified type from " "the specified ``va_list`` and causes the ``va_list`` to point to the next " @@ -17949,34 +18063,34 @@ msgid "" "`Intrinsic Functions `." msgstr "" -#: ../../../LangRef.rst:13669 +#: ../../../LangRef.rst:13777 msgid "" "It is legal for this instruction to be called in a function which does not " "take a variable number of arguments, for example, the ``vfprintf`` function." msgstr "" -#: ../../../LangRef.rst:13673 +#: ../../../LangRef.rst:13781 msgid "" "``va_arg`` is an LLVM instruction instead of an :ref:`intrinsic function " "` because it takes a type as an argument." msgstr "" -#: ../../../LangRef.rst:13679 +#: ../../../LangRef.rst:13787 msgid "See the :ref:`variable argument processing ` section." msgstr "" -#: ../../../LangRef.rst:13681 +#: ../../../LangRef.rst:13789 msgid "" "Note that the code generator does not yet fully support va\\_arg on many " "targets. Also, it does not currently support va\\_arg with aggregate types " "on any target." msgstr "" -#: ../../../LangRef.rst:13688 +#: ../../../LangRef.rst:13796 msgid "'``landingpad``' Instruction" msgstr "" -#: ../../../LangRef.rst:13704 +#: ../../../LangRef.rst:13812 msgid "" "The '``landingpad``' instruction is used by `LLVM's exception handling " "system `_ to specify that a basic block is " @@ -17986,13 +18100,13 @@ msgid "" "entry to the function. The ``resultval`` has the type ``resultty``." msgstr "" -#: ../../../LangRef.rst:13714 +#: ../../../LangRef.rst:13822 msgid "" "The optional ``cleanup`` flag indicates that the landing pad block is a " "cleanup." msgstr "" -#: ../../../LangRef.rst:13717 +#: ../../../LangRef.rst:13825 msgid "" "A ``clause`` begins with the clause type --- ``catch`` or ``filter`` --- and " "contains the global variable representing the \"type\" that may be caught or " @@ -18002,7 +18116,7 @@ msgid "" "least* one ``clause`` or the ``cleanup`` flag." msgstr "" -#: ../../../LangRef.rst:13728 +#: ../../../LangRef.rst:13836 msgid "" "The '``landingpad``' instruction defines the values which are set by the :" "ref:`personality function ` upon re-entry to the function, " @@ -18011,7 +18125,7 @@ msgid "" "LLVM IR is target specific." msgstr "" -#: ../../../LangRef.rst:13734 +#: ../../../LangRef.rst:13842 msgid "" "The clauses are applied in order from top to bottom. If two ``landingpad`` " "instructions are merged together through inlining, the clauses from the " @@ -18022,39 +18136,39 @@ msgid "" "call stack." msgstr "" -#: ../../../LangRef.rst:13742 +#: ../../../LangRef.rst:13850 msgid "The ``landingpad`` instruction has several restrictions:" msgstr "" -#: ../../../LangRef.rst:13744 +#: ../../../LangRef.rst:13852 msgid "" "A landing pad block is a basic block which is the unwind destination of an " "'``invoke``' instruction." msgstr "" -#: ../../../LangRef.rst:13746 +#: ../../../LangRef.rst:13854 msgid "" "A landing pad block must have a '``landingpad``' instruction as its first " "non-PHI instruction." msgstr "" -#: ../../../LangRef.rst:13748 +#: ../../../LangRef.rst:13856 msgid "" "There can be only one '``landingpad``' instruction within the landing pad " "block." msgstr "" -#: ../../../LangRef.rst:13750 +#: ../../../LangRef.rst:13858 msgid "" "A basic block that is not a landing pad block may not include a " "'``landingpad``' instruction." msgstr "" -#: ../../../LangRef.rst:13772 +#: ../../../LangRef.rst:13880 msgid "'``catchpad``' Instruction" msgstr "" -#: ../../../LangRef.rst:13784 +#: ../../../LangRef.rst:13892 msgid "" "The '``catchpad``' instruction is used by `LLVM's exception handling system " "`_ to specify that a basic block begins a " @@ -18062,7 +18176,7 @@ msgid "" "control to catch an exception." msgstr "" -#: ../../../LangRef.rst:13792 +#: ../../../LangRef.rst:13900 msgid "" "The ``catchswitch`` operand must always be a token produced by a :ref:" "`catchswitch ` instruction in a predecessor block. This " @@ -18070,7 +18184,7 @@ msgid "" "always terminates in a ``catchswitch``." msgstr "" -#: ../../../LangRef.rst:13797 +#: ../../../LangRef.rst:13905 msgid "" "The ``args`` correspond to whatever information the personality routine " "requires to determine if this is an appropriate handler for the exception. " @@ -18078,14 +18192,14 @@ msgid "" "handler for the exception." msgstr "" -#: ../../../LangRef.rst:13802 +#: ../../../LangRef.rst:13910 msgid "" "The ``resultval`` has the type :ref:`token ` and is used to match " "the ``catchpad`` to corresponding :ref:`catchrets ` and other " "nested EH pads." msgstr "" -#: ../../../LangRef.rst:13809 +#: ../../../LangRef.rst:13917 msgid "" "When the call stack is being unwound due to an exception being thrown, the " "exception is compared against the ``args``. If it doesn't match, control " @@ -18093,20 +18207,20 @@ msgid "" "is entirely target and personality function-specific." msgstr "" -#: ../../../LangRef.rst:13814 +#: ../../../LangRef.rst:13922 msgid "" "Like the :ref:`landingpad ` instruction, the ``catchpad`` " "instruction must be the first non-phi of its parent basic block." msgstr "" -#: ../../../LangRef.rst:13817 +#: ../../../LangRef.rst:13925 msgid "" "The meaning of the tokens produced and consumed by ``catchpad`` and other " "\"pad\" instructions is described in the `Windows exception handling " "documentation\\ `_." msgstr "" -#: ../../../LangRef.rst:13821 +#: ../../../LangRef.rst:13929 msgid "" "When a ``catchpad`` has been \"entered\" but not yet \"exited\" (as " "described in the `EH documentation\\ `." msgstr "" -#: ../../../LangRef.rst:13840 +#: ../../../LangRef.rst:13948 msgid "'``cleanuppad``' Instruction" msgstr "" -#: ../../../LangRef.rst:13852 +#: ../../../LangRef.rst:13960 msgid "" "The '``cleanuppad``' instruction is used by `LLVM's exception handling " "system `_ to specify that a basic block is " @@ -18133,13 +18247,13 @@ msgid "" "is not inside a funclet, this operand may be the token ``none``." msgstr "" -#: ../../../LangRef.rst:13868 +#: ../../../LangRef.rst:13976 msgid "" "The instruction takes a list of arbitrary values which are interpreted by " "the :ref:`personality function `." msgstr "" -#: ../../../LangRef.rst:13874 +#: ../../../LangRef.rst:13982 msgid "" "When the call stack is being unwound due to an exception being thrown, the :" "ref:`personality function ` transfers control to the " @@ -18148,34 +18262,34 @@ msgid "" "LLVM IR is target specific." msgstr "" -#: ../../../LangRef.rst:13880 +#: ../../../LangRef.rst:13988 msgid "The ``cleanuppad`` instruction has several restrictions:" msgstr "" -#: ../../../LangRef.rst:13882 +#: ../../../LangRef.rst:13990 msgid "" "A cleanup block is a basic block which is the unwind destination of an " "exceptional instruction." msgstr "" -#: ../../../LangRef.rst:13884 +#: ../../../LangRef.rst:13992 msgid "" "A cleanup block must have a '``cleanuppad``' instruction as its first non-" "PHI instruction." msgstr "" -#: ../../../LangRef.rst:13886 +#: ../../../LangRef.rst:13994 msgid "" "There can be only one '``cleanuppad``' instruction within the cleanup block." msgstr "" -#: ../../../LangRef.rst:13888 +#: ../../../LangRef.rst:13996 msgid "" "A basic block that is not a cleanup block may not include a '``cleanuppad``' " "instruction." msgstr "" -#: ../../../LangRef.rst:13891 +#: ../../../LangRef.rst:13999 msgid "" "When a ``cleanuppad`` has been \"entered\" but not yet \"exited\" (as " "described in the `EH documentation\\ `." msgstr "" -#: ../../../LangRef.rst:13906 +#: ../../../LangRef.rst:14014 msgid "Debug Records" msgstr "" -#: ../../../LangRef.rst:13908 +#: ../../../LangRef.rst:14016 msgid "" "Debug records appear interleaved with instructions, but are not " "instructions; they are used only to define debug information, and have no " @@ -18196,7 +18310,7 @@ msgid "" "use of a leading `#` and an extra level of indentation. As an example:" msgstr "" -#: ../../../LangRef.rst:13919 +#: ../../../LangRef.rst:14027 msgid "" "These debug records replace the prior :ref:`debug " "intrinsics`. Debug records will be disabled if ``--" @@ -18206,11 +18320,11 @@ msgid "" "Debugging `_ document." msgstr "" -#: ../../../LangRef.rst:13929 +#: ../../../LangRef.rst:14037 msgid "Intrinsic Functions" msgstr "" -#: ../../../LangRef.rst:13931 +#: ../../../LangRef.rst:14039 msgid "" "LLVM supports the notion of an \"intrinsic function\". These functions have " "well known names and semantics and are required to follow certain " @@ -18220,7 +18334,7 @@ msgid "" "parser, etc...)." msgstr "" -#: ../../../LangRef.rst:13938 +#: ../../../LangRef.rst:14046 msgid "" "Intrinsic function names must all start with an \"``llvm.``\" prefix. This " "prefix is reserved in LLVM for intrinsic names; thus, function names may not " @@ -18232,7 +18346,7 @@ msgid "" "that they be documented here." msgstr "" -#: ../../../LangRef.rst:13947 +#: ../../../LangRef.rst:14055 msgid "" "Some intrinsic functions can be overloaded, i.e., the intrinsic represents a " "family of functions that perform the same operation but on different data " @@ -18246,7 +18360,7 @@ msgid "" "single argument or the result." msgstr "" -#: ../../../LangRef.rst:13959 +#: ../../../LangRef.rst:14067 msgid "" "Overloaded intrinsics will have the names of its overloaded argument types " "encoded into its function name, each preceded by a period. Only those types " @@ -18260,7 +18374,7 @@ msgid "" "require its own name suffix." msgstr "" -#: ../../../LangRef.rst:13971 +#: ../../../LangRef.rst:14079 msgid "" ":ref:`Unnamed types ` are encoded as ``s_s``. Overloaded " "intrinsics that depend on an unnamed type in one of its overloaded argument " @@ -18272,7 +18386,7 @@ msgid "" "changed by getting a new number." msgstr "" -#: ../../../LangRef.rst:13980 +#: ../../../LangRef.rst:14088 msgid "" "For target developers who are defining intrinsics for back-end code " "generation, any intrinsic overloads based solely the distinction between " @@ -18284,17 +18398,17 @@ msgid "" "float>)`` then these should be split into different intrinsics." msgstr "" -#: ../../../LangRef.rst:13990 +#: ../../../LangRef.rst:14098 msgid "" "To learn how to add an intrinsic function, please see the `Extending LLVM " "Guide `_." msgstr "" -#: ../../../LangRef.rst:13996 +#: ../../../LangRef.rst:14104 msgid "Variable Argument Handling Intrinsics" msgstr "" -#: ../../../LangRef.rst:13998 +#: ../../../LangRef.rst:14106 msgid "" "Variable argument support is defined in LLVM with the :ref:`va_arg " "` instruction and these three intrinsic functions. These functions " @@ -18302,7 +18416,7 @@ msgid "" "header file." msgstr "" -#: ../../../LangRef.rst:14003 +#: ../../../LangRef.rst:14111 msgid "" "All of these functions take as arguments pointers to a target-specific value " "type \"``va_list``\". The LLVM assembly language reference manual does not " @@ -18311,27 +18425,27 @@ msgid "" "overloaded, and can be used for pointers to different address spaces." msgstr "" -#: ../../../LangRef.rst:14009 +#: ../../../LangRef.rst:14117 msgid "" "This example shows how the :ref:`va_arg ` instruction and the " "variable argument handling intrinsic functions are used." msgstr "" -#: ../../../LangRef.rst:14046 +#: ../../../LangRef.rst:14154 msgid "'``llvm.va_start``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:14059 +#: ../../../LangRef.rst:14167 msgid "" "The '``llvm.va_start``' intrinsic initializes ```` for subsequent " "use by ``va_arg``." msgstr "" -#: ../../../LangRef.rst:14065 +#: ../../../LangRef.rst:14173 msgid "The argument is a pointer to a ``va_list`` element to initialize." msgstr "" -#: ../../../LangRef.rst:14070 +#: ../../../LangRef.rst:14178 msgid "" "The '``llvm.va_start``' intrinsic works just like the ``va_start`` macro " "available in C. In a target-dependent way, it initializes the ``va_list`` " @@ -18341,21 +18455,21 @@ msgid "" "of the function as the compiler can figure that out." msgstr "" -#: ../../../LangRef.rst:14079 +#: ../../../LangRef.rst:14187 msgid "'``llvm.va_end``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:14092 +#: ../../../LangRef.rst:14200 msgid "" "The '``llvm.va_end``' intrinsic destroys ````, which has been " "initialized previously with ``llvm.va_start`` or ``llvm.va_copy``." msgstr "" -#: ../../../LangRef.rst:14098 +#: ../../../LangRef.rst:14206 msgid "The argument is a pointer to a ``va_list`` to destroy." msgstr "" -#: ../../../LangRef.rst:14103 +#: ../../../LangRef.rst:14211 msgid "" "The '``llvm.va_end``' intrinsic works just like the ``va_end`` macro " "available in C. In a target-dependent way, it destroys the ``va_list`` " @@ -18364,24 +18478,24 @@ msgid "" "exactly with calls to ``llvm.va_end``." msgstr "" -#: ../../../LangRef.rst:14113 +#: ../../../LangRef.rst:14221 msgid "'``llvm.va_copy``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:14126 +#: ../../../LangRef.rst:14234 msgid "" "The '``llvm.va_copy``' intrinsic copies the current argument position from " "the source argument list to the destination argument list." msgstr "" -#: ../../../LangRef.rst:14132 +#: ../../../LangRef.rst:14240 msgid "" "The first argument is a pointer to a ``va_list`` element to initialize. The " "second argument is a pointer to a ``va_list`` element to copy from. The " "address spaces of the two arguments must match." msgstr "" -#: ../../../LangRef.rst:14139 +#: ../../../LangRef.rst:14247 msgid "" "The '``llvm.va_copy``' intrinsic works just like the ``va_copy`` macro " "available in C. In a target-dependent way, it copies the source ``va_list`` " @@ -18390,11 +18504,11 @@ msgid "" "and require, for example, memory allocation." msgstr "" -#: ../../../LangRef.rst:14146 +#: ../../../LangRef.rst:14254 msgid "Accurate Garbage Collection Intrinsics" msgstr "" -#: ../../../LangRef.rst:14148 +#: ../../../LangRef.rst:14256 msgid "" "LLVM's support for `Accurate Garbage Collection `_ " "(GC) requires the frontend to generate code containing appropriate intrinsic " @@ -18402,7 +18516,7 @@ msgid "" "intrinsics in a manner which is appropriate for the target collector." msgstr "" -#: ../../../LangRef.rst:14153 +#: ../../../LangRef.rst:14261 msgid "" "These intrinsics allow identification of :ref:`GC roots on the stack " "`, as well as garbage collector implementations that require :" @@ -18412,7 +18526,7 @@ msgid "" "Collection with LLVM `_." msgstr "" -#: ../../../LangRef.rst:14160 +#: ../../../LangRef.rst:14268 msgid "" "LLVM provides an second experimental set of intrinsics for describing " "garbage collection safepoints in compiled code. These intrinsics are an " @@ -18423,24 +18537,24 @@ msgid "" "described in :doc:`Statepoints`." msgstr "" -#: ../../../LangRef.rst:14171 +#: ../../../LangRef.rst:14279 msgid "'``llvm.gcroot``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:14183 +#: ../../../LangRef.rst:14291 msgid "" "The '``llvm.gcroot``' intrinsic declares the existence of a GC root to the " "code generator, and allows some metadata to be associated with it." msgstr "" -#: ../../../LangRef.rst:14189 +#: ../../../LangRef.rst:14297 msgid "" "The first argument specifies the address of a stack object that contains the " "root pointer. The second pointer (which must be either a constant or a " "global value address) contains the meta-data to be associated with the root." msgstr "" -#: ../../../LangRef.rst:14197 +#: ../../../LangRef.rst:14305 msgid "" "At runtime, a call to this intrinsic stores a null pointer into the " "\"ptrloc\" location. At compile-time, the code generator generates " @@ -18449,18 +18563,18 @@ msgid "" "`specifies a GC algorithm `." msgstr "" -#: ../../../LangRef.rst:14206 +#: ../../../LangRef.rst:14314 msgid "'``llvm.gcread``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:14218 +#: ../../../LangRef.rst:14326 msgid "" "The '``llvm.gcread``' intrinsic identifies reads of references from heap " "locations, allowing garbage collector implementations that require read " "barriers." msgstr "" -#: ../../../LangRef.rst:14225 +#: ../../../LangRef.rst:14333 msgid "" "The second argument is the address to read from, which should be an address " "allocated from the garbage collector. The first object is a pointer to the " @@ -18468,7 +18582,7 @@ msgid "" "null)." msgstr "" -#: ../../../LangRef.rst:14233 +#: ../../../LangRef.rst:14341 msgid "" "The '``llvm.gcread``' intrinsic has the same semantics as a load " "instruction, but may be replaced with substantially more complex code by the " @@ -18476,18 +18590,18 @@ msgid "" "only be used in a function which :ref:`specifies a GC algorithm `." msgstr "" -#: ../../../LangRef.rst:14242 +#: ../../../LangRef.rst:14350 msgid "'``llvm.gcwrite``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:14254 +#: ../../../LangRef.rst:14362 msgid "" "The '``llvm.gcwrite``' intrinsic identifies writes of references to heap " "locations, allowing garbage collector implementations that require write " "barriers (such as generational or reference counting collectors)." msgstr "" -#: ../../../LangRef.rst:14261 +#: ../../../LangRef.rst:14369 msgid "" "The first argument is the reference to store, the second is the start of the " "object to store it to, and the third is the address of the field of Obj to " @@ -18495,7 +18609,7 @@ msgid "" "be null." msgstr "" -#: ../../../LangRef.rst:14269 +#: ../../../LangRef.rst:14377 msgid "" "The '``llvm.gcwrite``' intrinsic has the same semantics as a store " "instruction, but may be replaced with substantially more complex code by the " @@ -18503,23 +18617,23 @@ msgid "" "only be used in a function which :ref:`specifies a GC algorithm `." msgstr "" -#: ../../../LangRef.rst:14279 +#: ../../../LangRef.rst:14387 msgid "'``llvm.experimental.gc.statepoint``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:14296 +#: ../../../LangRef.rst:14404 msgid "" "The statepoint intrinsic represents a call which is parse-able by the " "runtime." msgstr "" -#: ../../../LangRef.rst:14300 ../../../LangRef.rst:14395 -#: ../../../LangRef.rst:14434 ../../../LangRef.rst:14493 -#: ../../../LangRef.rst:14532 +#: ../../../LangRef.rst:14408 ../../../LangRef.rst:14503 +#: ../../../LangRef.rst:14542 ../../../LangRef.rst:14601 +#: ../../../LangRef.rst:14640 msgid "Operands:" msgstr "" -#: ../../../LangRef.rst:14302 +#: ../../../LangRef.rst:14410 msgid "" "The 'id' operand is a constant integer that is reported as the ID field in " "the generated stackmap. LLVM does not interpret this parameter in any way " @@ -18528,7 +18642,7 @@ msgid "" "IR that had a unique 'id' per lexical call to statepoint to IR that does not." msgstr "" -#: ../../../LangRef.rst:14309 +#: ../../../LangRef.rst:14417 msgid "" "If 'num patch bytes' is non-zero then the call instruction corresponding to " "the statepoint is not emitted and LLVM emits 'num patch bytes' bytes of nops " @@ -18545,7 +18659,7 @@ msgid "" "'target'." msgstr "" -#: ../../../LangRef.rst:14324 +#: ../../../LangRef.rst:14432 msgid "" "The 'target' operand is the function actually being called. The operand must " "have an :ref:`elementtype ` attribute specifying the " @@ -18555,14 +18669,14 @@ msgid "" "the 'call parameters' arguments." msgstr "" -#: ../../../LangRef.rst:14331 +#: ../../../LangRef.rst:14439 msgid "" "The '#call args' operand is the number of arguments to the actual call. It " "must exactly match the number of arguments passed in the 'call parameters' " "variable-length section." msgstr "" -#: ../../../LangRef.rst:14335 +#: ../../../LangRef.rst:14443 msgid "" "The 'flags' operand is used to specify extra information about the " "statepoint. This is currently only used to mark certain statepoints as GC " @@ -18570,27 +18684,27 @@ msgid "" "where bit 0 is the least significant bit:" msgstr "" -#: ../../../LangRef.rst:14341 ../../../LangRef.rst:29823 +#: ../../../LangRef.rst:14449 ../../../LangRef.rst:30261 msgid "Bit #" msgstr "" -#: ../../../LangRef.rst:14341 +#: ../../../LangRef.rst:14449 msgid "Usage" msgstr "" -#: ../../../LangRef.rst:14343 +#: ../../../LangRef.rst:14451 msgid "Set if the statepoint is a GC transition, cleared otherwise." msgstr "" -#: ../../../LangRef.rst:14346 +#: ../../../LangRef.rst:14454 msgid "1-63" msgstr "" -#: ../../../LangRef.rst:14346 +#: ../../../LangRef.rst:14454 msgid "Reserved for future use; must be cleared." msgstr "" -#: ../../../LangRef.rst:14349 +#: ../../../LangRef.rst:14457 msgid "" "The 'call parameters' arguments are simply the arguments which need to be " "passed to the call target. They will be lowered according to the specified " @@ -18599,7 +18713,7 @@ msgid "" "args'. The types must match the signature of 'target'." msgstr "" -#: ../../../LangRef.rst:14356 +#: ../../../LangRef.rst:14464 msgid "" "The 'call parameter' attributes must be followed by two 'i64 0' constants. " "These were originally the length prefixes for 'gc transition parameter' and " @@ -18608,14 +18722,14 @@ msgid "" "revision, these now redundant arguments will be removed." msgstr "" -#: ../../../LangRef.rst:14365 +#: ../../../LangRef.rst:14473 msgid "" "A statepoint is assumed to read and write all memory. As a result, memory " "operations can not be reordered past a statepoint. It is illegal to mark a " "statepoint as being either 'readonly' or 'readnone'." msgstr "" -#: ../../../LangRef.rst:14369 +#: ../../../LangRef.rst:14477 msgid "" "Note that legal IR can not perform any memory operation on a 'gc pointer' " "argument of the statepoint in a location statically reachable from the " @@ -18623,11 +18737,11 @@ msgid "" "relocate``) must be used." msgstr "" -#: ../../../LangRef.rst:14375 +#: ../../../LangRef.rst:14483 msgid "'``llvm.experimental.gc.result``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:14388 +#: ../../../LangRef.rst:14496 msgid "" "``gc.result`` extracts the result of the original call instruction which was " "replaced by the ``gc.statepoint``. The ``gc.result`` intrinsic is actually " @@ -18635,7 +18749,7 @@ msgid "" "than the type of the return value, the semantics are the same." msgstr "" -#: ../../../LangRef.rst:14397 +#: ../../../LangRef.rst:14505 msgid "" "The first and only argument is the ``gc.statepoint`` which starts the " "safepoint sequence of which this ``gc.result`` is a part. Despite the typing " @@ -18643,7 +18757,7 @@ msgid "" "is legal here." msgstr "" -#: ../../../LangRef.rst:14405 +#: ../../../LangRef.rst:14513 msgid "" "The ``gc.result`` represents the return value of the call target of the " "``statepoint``. The type of the ``gc.result`` must exactly match the type " @@ -18651,24 +18765,24 @@ msgid "" "result``." msgstr "" -#: ../../../LangRef.rst:14410 +#: ../../../LangRef.rst:14518 msgid "" "A ``gc.result`` is modeled as a 'readnone' pure function. It has no side " "effects since it is just a projection of the return value of the previous " "call represented by the ``gc.statepoint``." msgstr "" -#: ../../../LangRef.rst:14415 +#: ../../../LangRef.rst:14523 msgid "'``llvm.experimental.gc.relocate``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:14430 +#: ../../../LangRef.rst:14538 msgid "" "A ``gc.relocate`` returns the potentially relocated value of a pointer at " "the safepoint." msgstr "" -#: ../../../LangRef.rst:14436 +#: ../../../LangRef.rst:14544 msgid "" "The first argument is the ``gc.statepoint`` which starts the safepoint " "sequence of which this ``gc.relocation`` is a part. Despite the typing of " @@ -18676,13 +18790,13 @@ msgid "" "legal here." msgstr "" -#: ../../../LangRef.rst:14441 +#: ../../../LangRef.rst:14549 msgid "" "The second and third arguments are both indices into operands of the " "corresponding statepoint's :ref:`gc-live ` operand bundle." msgstr "" -#: ../../../LangRef.rst:14444 +#: ../../../LangRef.rst:14552 msgid "" "The second argument is an index which specifies the allocation for the " "pointer being relocated. The associated value must be within the object with " @@ -18693,14 +18807,14 @@ msgid "" "actual base pointer if so constructed." msgstr "" -#: ../../../LangRef.rst:14452 +#: ../../../LangRef.rst:14560 msgid "" "The third argument is an index which specify the (potentially) derived " "pointer being relocated. It is legal for this index to be the same as the " "second argument if and only if a base pointer is being relocated." msgstr "" -#: ../../../LangRef.rst:14459 +#: ../../../LangRef.rst:14567 msgid "" "The return value of ``gc.relocate`` is the potentially relocated value of " "the pointer specified by its arguments. It is unspecified how the value of " @@ -18711,34 +18825,34 @@ msgid "" "value of the pointer returned is unspecified." msgstr "" -#: ../../../LangRef.rst:14468 +#: ../../../LangRef.rst:14576 msgid "" "A ``gc.relocate`` is modeled as a ``readnone`` pure function. It has no " "side effects since it is just a way to extract information about work done " "during the actual call modeled by the ``gc.statepoint``." msgstr "" -#: ../../../LangRef.rst:14475 +#: ../../../LangRef.rst:14583 msgid "'``llvm.experimental.gc.get.pointer.base``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:14490 +#: ../../../LangRef.rst:14598 msgid "``gc.get.pointer.base`` for a derived pointer returns its base pointer." msgstr "" -#: ../../../LangRef.rst:14495 ../../../LangRef.rst:14534 +#: ../../../LangRef.rst:14603 ../../../LangRef.rst:14642 msgid "" "The only argument is a pointer which is based on some object with an unknown " "offset from the base of said object." msgstr "" -#: ../../../LangRef.rst:14501 +#: ../../../LangRef.rst:14609 msgid "" "This intrinsic is used in the abstract machine model for GC to represent the " "base pointer for an arbitrary derived pointer." msgstr "" -#: ../../../LangRef.rst:14504 ../../../LangRef.rst:14543 +#: ../../../LangRef.rst:14612 ../../../LangRef.rst:14651 msgid "" "This intrinsic is inlined by the :ref:`RewriteStatepointsForGC` pass by " "replacing all uses of this callsite with the offset of a derived pointer " @@ -18746,27 +18860,27 @@ msgid "" "to the explicit statepoint model." msgstr "" -#: ../../../LangRef.rst:14509 +#: ../../../LangRef.rst:14617 msgid "The return pointer type must be the same as the type of the parameter." msgstr "" -#: ../../../LangRef.rst:14513 +#: ../../../LangRef.rst:14621 msgid "'``llvm.experimental.gc.get.pointer.offset``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:14528 +#: ../../../LangRef.rst:14636 msgid "" "``gc.get.pointer.offset`` for a derived pointer returns the offset from its " "base pointer." msgstr "" -#: ../../../LangRef.rst:14540 +#: ../../../LangRef.rst:14648 msgid "" "This intrinsic is used in the abstract machine model for GC to represent the " "offset of an arbitrary derived pointer from its base pointer." msgstr "" -#: ../../../LangRef.rst:14548 +#: ../../../LangRef.rst:14656 msgid "" "Basically this call calculates difference between the derived pointer and " "its base pointer (see :ref:`gc.get.pointer.base`) both ptrtoint casted. But " @@ -18775,35 +18889,35 @@ msgid "" "explicit physical one." msgstr "" -#: ../../../LangRef.rst:14555 +#: ../../../LangRef.rst:14663 msgid "Code Generator Intrinsics" msgstr "" -#: ../../../LangRef.rst:14557 +#: ../../../LangRef.rst:14665 msgid "" "These intrinsics are provided by LLVM to expose special features that may " "only be implemented with code generator support." msgstr "" -#: ../../../LangRef.rst:14561 +#: ../../../LangRef.rst:14669 msgid "'``llvm.returnaddress``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:14573 +#: ../../../LangRef.rst:14681 msgid "" "The '``llvm.returnaddress``' intrinsic attempts to compute a target-specific " "value indicating the return address of the current function or one of its " "callers." msgstr "" -#: ../../../LangRef.rst:14580 +#: ../../../LangRef.rst:14688 msgid "" "The argument to this intrinsic indicates which function to return the " "address for. Zero indicates the calling function, one indicates its caller, " "etc. The argument is **required** to be a constant integer value." msgstr "" -#: ../../../LangRef.rst:14588 +#: ../../../LangRef.rst:14696 msgid "" "The '``llvm.returnaddress``' intrinsic either returns a pointer indicating " "the return address of the specified call frame, or zero if it cannot be " @@ -18812,61 +18926,89 @@ msgid "" "purposes." msgstr "" -#: ../../../LangRef.rst:14594 ../../../LangRef.rst:14618 -#: ../../../LangRef.rst:14678 +#: ../../../LangRef.rst:14702 ../../../LangRef.rst:14726 +#: ../../../LangRef.rst:14817 msgid "" "Note that calling this intrinsic does not prevent function inlining or other " "aggressive transformations, so the value returned may not be that of the " "obvious source-language caller." msgstr "" -#: ../../../LangRef.rst:14599 +#: ../../../LangRef.rst:14707 msgid "'``llvm.addressofreturnaddress``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:14611 +#: ../../../LangRef.rst:14719 msgid "" "The '``llvm.addressofreturnaddress``' intrinsic returns a target-specific " "pointer to the place in the stack frame where the return address of the " "current function is stored." msgstr "" -#: ../../../LangRef.rst:14622 +#: ../../../LangRef.rst:14730 msgid "This intrinsic is only implemented for x86 and aarch64." msgstr "" -#: ../../../LangRef.rst:14625 +#: ../../../LangRef.rst:14733 msgid "'``llvm.sponentry``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:14637 +#: ../../../LangRef.rst:14745 msgid "" "The '``llvm.sponentry``' intrinsic returns the stack pointer value at the " "entry of the current function calling this intrinsic." msgstr "" -#: ../../../LangRef.rst:14643 +#: ../../../LangRef.rst:14751 msgid "Note this intrinsic is only verified on AArch64 and ARM." msgstr "" -#: ../../../LangRef.rst:14646 +#: ../../../LangRef.rst:14754 +msgid "'``llvm.stackaddress``' Intrinsic" +msgstr "" + +#: ../../../LangRef.rst:14766 +msgid "" +"The '``llvm.stackaddress``' intrinsic returns the starting address of the " +"stack region that may be used by called functions." +msgstr "" + +#: ../../../LangRef.rst:14772 +msgid "" +"This intrinsic returns the *logical* value of the stack pointer register, " +"that is, the address separating the stack space of the current function from " +"the stack space that may be modified by called functions. It corresponds to " +"the address returned by '``llvm.sponentry``', offset by the size of the " +"current function's stack frame." +msgstr "" + +#: ../../../LangRef.rst:14778 +msgid "" +"On certain targets (e.g. x86), the logical and actual (or physical) values " +"of the stack pointer register are the same. However, on other architectures " +"(e.g. SPARCv9), the logical value of the stack pointer register may differ " +"from the physical value. '``llvm.stackaddress``' handles this discrepancy " +"and returns the correct boundary address." +msgstr "" + +#: ../../../LangRef.rst:14785 msgid "'``llvm.frameaddress``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:14658 +#: ../../../LangRef.rst:14797 msgid "" "The '``llvm.frameaddress``' intrinsic attempts to return the target-specific " "frame pointer value for the specified stack frame." msgstr "" -#: ../../../LangRef.rst:14664 +#: ../../../LangRef.rst:14803 msgid "" "The argument to this intrinsic indicates which function to return the frame " "pointer for. Zero indicates the calling function, one indicates its caller, " "etc. The argument is **required** to be a constant integer value." msgstr "" -#: ../../../LangRef.rst:14672 +#: ../../../LangRef.rst:14811 msgid "" "The '``llvm.frameaddress``' intrinsic either returns a pointer indicating " "the frame address of the specified call frame, or zero if it cannot be " @@ -18875,28 +19017,28 @@ msgid "" "purposes." msgstr "" -#: ../../../LangRef.rst:14683 +#: ../../../LangRef.rst:14822 msgid "'``llvm.swift.async.context.addr``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:14695 +#: ../../../LangRef.rst:14834 msgid "" "The '``llvm.swift.async.context.addr``' intrinsic returns a pointer to the " "part of the extended frame record containing the asynchronous context of a " "Swift execution." msgstr "" -#: ../../../LangRef.rst:14702 +#: ../../../LangRef.rst:14841 msgid "" "If the caller has a ``swiftasync`` parameter, that argument will initially " "be stored at the returned address. If not, it will be initialized to null." msgstr "" -#: ../../../LangRef.rst:14706 +#: ../../../LangRef.rst:14845 msgid "'``llvm.localescape``' and '``llvm.localrecover``' Intrinsics" msgstr "" -#: ../../../LangRef.rst:14719 +#: ../../../LangRef.rst:14858 msgid "" "The '``llvm.localescape``' intrinsic escapes offsets of a collection of " "static allocas, and the '``llvm.localrecover``' intrinsic applies those " @@ -18905,14 +19047,14 @@ msgid "" "localescape``." msgstr "" -#: ../../../LangRef.rst:14727 +#: ../../../LangRef.rst:14866 msgid "" "All arguments to '``llvm.localescape``' must be pointers to static allocas " "or casts of static allocas. Each function can only call '``llvm." "localescape``' once, and it can only do so from the entry block." msgstr "" -#: ../../../LangRef.rst:14731 +#: ../../../LangRef.rst:14870 msgid "" "The ``func`` argument to '``llvm.localrecover``' must be a constant " "bitcasted pointer to a function defined in the current module. The code " @@ -18920,7 +19062,7 @@ msgid "" "in other modules." msgstr "" -#: ../../../LangRef.rst:14736 +#: ../../../LangRef.rst:14875 msgid "" "The ``fp`` argument to '``llvm.localrecover``' must be a frame pointer of a " "call frame that is currently live. The return value of '``llvm." @@ -18928,13 +19070,13 @@ msgid "" "also expose a suitable pointer in platform-specific ways." msgstr "" -#: ../../../LangRef.rst:14741 +#: ../../../LangRef.rst:14880 msgid "" "The ``idx`` argument to '``llvm.localrecover``' indicates which alloca " "passed to '``llvm.localescape``' to recover. It is zero-indexed." msgstr "" -#: ../../../LangRef.rst:14747 +#: ../../../LangRef.rst:14886 msgid "" "These intrinsics allow a group of functions to share access to a set of " "local stack allocations of a one parent function. The parent function may " @@ -18945,17 +19087,17 @@ msgid "" "attempts to use '``llvm.localrecover``'." msgstr "" -#: ../../../LangRef.rst:14756 +#: ../../../LangRef.rst:14895 msgid "'``llvm.seh.try.begin``' and '``llvm.seh.try.end``' Intrinsics" msgstr "" -#: ../../../LangRef.rst:14769 +#: ../../../LangRef.rst:14908 msgid "" "The '``llvm.seh.try.begin``' and '``llvm.seh.try.end``' intrinsics mark the " "boundary of a _try region for Windows SEH Asynchronous Exception Handling." msgstr "" -#: ../../../LangRef.rst:14775 +#: ../../../LangRef.rst:14914 msgid "" "When a C-function is compiled with Windows SEH Asynchronous Exception " "option, -feh_asynch (aka MSVC -EHa), these two intrinsics are injected to " @@ -18965,18 +19107,18 @@ msgid "" "via volatile stores." msgstr "" -#: ../../../LangRef.rst:14782 +#: ../../../LangRef.rst:14921 msgid "'``llvm.seh.scope.begin``' and '``llvm.seh.scope.end``' Intrinsics" msgstr "" -#: ../../../LangRef.rst:14795 +#: ../../../LangRef.rst:14934 msgid "" "The '``llvm.seh.scope.begin``' and '``llvm.seh.scope.end``' intrinsics mark " "the boundary of a CPP object lifetime for Windows SEH Asynchronous Exception " "Handling (MSVC option -EHa)." msgstr "" -#: ../../../LangRef.rst:14802 +#: ../../../LangRef.rst:14941 msgid "" "LLVM's ordinary exception-handling representation associates EH cleanups and " "handlers only with ``invoke``s, which normally correspond only to call " @@ -18995,13 +19137,13 @@ msgid "" "being called)." msgstr "" -#: ../../../LangRef.rst:14822 +#: ../../../LangRef.rst:14961 msgid "" "'``llvm.read_register``', '``llvm.read_volatile_register``', and '``llvm." "write_register``' Intrinsics" msgstr "" -#: ../../../LangRef.rst:14840 +#: ../../../LangRef.rst:14979 msgid "" "The '``llvm.read_register``', '``llvm.read_volatile_register``', and '``llvm." "write_register``' intrinsics provide access to the named register. The " @@ -19009,7 +19151,7 @@ msgid "" "to be compatible with the register being read." msgstr "" -#: ../../../LangRef.rst:14848 +#: ../../../LangRef.rst:14987 msgid "" "The '``llvm.read_register``' and '``llvm.read_volatile_register``' " "intrinsics return the current value of the register, where possible. The " @@ -19017,38 +19159,38 @@ msgid "" "where possible." msgstr "" -#: ../../../LangRef.rst:14853 +#: ../../../LangRef.rst:14992 msgid "" "A call to '``llvm.read_volatile_register``' is assumed to have side-effects " "and possibly return a different value each time (e.g., for a timer register)." msgstr "" -#: ../../../LangRef.rst:14856 +#: ../../../LangRef.rst:14995 msgid "" "This is useful to implement named register global variables that need to " "always be mapped to a specific register, as is common practice on bare-metal " "programs including OS kernels." msgstr "" -#: ../../../LangRef.rst:14860 +#: ../../../LangRef.rst:14999 msgid "" "The compiler doesn't check for register availability or use of the used " "register in surrounding code, including inline assembly. Because of that, " "allocatable registers are not supported." msgstr "" -#: ../../../LangRef.rst:14864 +#: ../../../LangRef.rst:15003 msgid "" "Warning: So far it only works with the stack pointer on selected " "architectures (ARM, AArch64, PowerPC and x86_64). Significant amount of work " "is needed to support other registers and even more so, allocatable registers." msgstr "" -#: ../../../LangRef.rst:14872 +#: ../../../LangRef.rst:15011 msgid "'``llvm.stacksave``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:14885 +#: ../../../LangRef.rst:15024 msgid "" "The '``llvm.stacksave``' intrinsic is used to remember the current state of " "the function stack, for use with :ref:`llvm.stackrestore " @@ -19056,7 +19198,7 @@ msgid "" "scoped automatic variable sized arrays in C99." msgstr "" -#: ../../../LangRef.rst:14894 +#: ../../../LangRef.rst:15033 msgid "" "This intrinsic returns an opaque pointer value that can be passed to :ref:" "`llvm.stackrestore `. When an ``llvm.stackrestore`` " @@ -19068,11 +19210,11 @@ msgid "" "ref:`alloca address space `." msgstr "" -#: ../../../LangRef.rst:14907 +#: ../../../LangRef.rst:15046 msgid "'``llvm.stackrestore``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:14920 +#: ../../../LangRef.rst:15059 msgid "" "The '``llvm.stackrestore``' intrinsic is used to restore the state of the " "function stack to the state it was in when the corresponding :ref:`llvm." @@ -19082,15 +19224,174 @@ msgid "" "`." msgstr "" -#: ../../../LangRef.rst:14930 +#: ../../../LangRef.rst:15069 msgid "See the description for :ref:`llvm.stacksave `." msgstr "" -#: ../../../LangRef.rst:14935 +#: ../../../LangRef.rst:15074 +msgid "'``llvm.structured.gep``' Intrinsic" +msgstr "" + +#: ../../../LangRef.rst:15088 +msgid "" +"The '``llvm.structured.gep``' intrinsic (structured **G**\\ et\\ **E**\\ " +"lement\\ **P**\\ tr) computes a new pointer address resulting from a logical " +"indexing into the ```` pointer. The returned address depends on the " +"indices and may depend on the layout of ```` at runtime." +msgstr "" + +#: ../../../LangRef.rst:15097 +msgid "" +"``ptr elementtype() ``: A pointer to the memory location " +"used as base for the address computation." +msgstr "" + +#: ../../../LangRef.rst:15100 +msgid "" +"The ``source`` argument must be annotated with an :ref:`elementtype " +"` attribute at the call-site. This attribute specifies the " +"type of the element pointed to by the pointer source. This type will be used " +"along with the provided indices and source operand to compute a new pointer " +"representing the result of a logical indexing into the basetype pointed by " +"source." +msgstr "" + +#: ../../../LangRef.rst:15107 +msgid "" +"The ``basetype`` is only associated with ```` for this particular " +"call. A frontend could possibly emit multiple structured GEP with the same " +"source pointer but a different ``basetype``." +msgstr "" + +#: ../../../LangRef.rst:15111 +msgid "" +"``[i32/i64] index, ...``: Indices used to traverse into the ``basetype`` and " +"compute a pointer to the target element. Indices can be 32-bit or 64-bit " +"unsigned integers. Indices being handled one by one, both sizes can be mixed " +"in the same instruction. The precision used to compute the resulting pointer " +"is target-dependent. When used to index into a struct, only integer " +"constants are allowed." +msgstr "" + +#: ../../../LangRef.rst:15121 +msgid "" +"The ``llvm.structured.gep`` performs a logical traversal of the type " +"``basetype`` using the list of provided indices, computing the pointer " +"addressing the targeted element/field assuming ``source`` points to a " +"physically laid out ``basetype``. The physical layout of the source depends " +"on the target and does not necessarily match the one described by the " +"datalayout." +msgstr "" + +#: ../../../LangRef.rst:15128 +msgid "" +"The first index determines which element/field of ``basetype`` is selected, " +"computes the pointer to access this element/field assuming ``source`` points " +"to the start of ``basetype``. This pointer becomes the new ``source``, the " +"current type the new ``basetype``, and the next indices is consumed until a " +"scalar type is reached or all indices are consumed." +msgstr "" + +#: ../../../LangRef.rst:15135 +msgid "" +"All indices must be consumed, and it is illegal to index into a scalar type. " +"Meaning the maximum number of indices depends on the depth of the basetype." +msgstr "" + +#: ../../../LangRef.rst:15138 +msgid "" +"Because this instruction performs a logical addressing, all indices are " +"assumed to be inbounds. This means it is not possible to access the next " +"element in the logical layout by overflowing:" +msgstr "" + +#: ../../../LangRef.rst:15142 +msgid "" +"If the indexed type is a struct with N fields, the index must be an " +"immediate/constant value in the range ``[0; N[``." +msgstr "" + +#: ../../../LangRef.rst:15144 +msgid "" +"If indexing into an array or vector, the index can be a variable, but is " +"assumed to be inbounds with regards to the current basetype logical layout." +msgstr "" + +#: ../../../LangRef.rst:15146 +msgid "" +"If the traversed type is an array or vector of N elements with ``N > 0``, " +"the index is assumed to belong to ``[0; N[``." +msgstr "" + +#: ../../../LangRef.rst:15148 +msgid "" +"If the traversed type is an array of size ``0``, the array size is assumed " +"to be known at runtime, and the instruction assumes the index is always " +"inbounds." +msgstr "" + +#: ../../../LangRef.rst:15152 +msgid "" +"In all cases **except** when the accessed type is a 0-sized array, indexing " +"out of bounds yields `poison`. When the index value is unknown, " +"optimizations can use the type bounds to determine the range of values the " +"index can have. If the source pointer is poison, the instruction returns " +"poison. The resulting pointer belongs to the same address space as " +"``source``. This instruction does not dereference the pointer." +msgstr "" + +#: ../../../LangRef.rst:15162 +msgid "**Simple case: logical access of a struct field**" +msgstr "" + +#: ../../../LangRef.rst:15169 +msgid "Could be translated to:" +msgstr "" + +#: ../../../LangRef.rst:15177 +msgid "**A more complex case**" +msgstr "" + +#: ../../../LangRef.rst:15179 +msgid "" +"This instruction can also be used on the same pointer with different " +"basetypes, as long as codegen knows how those are physically laid out. Let’s " +"consider the following code:" +msgstr "" + +#: ../../../LangRef.rst:15195 +msgid "" +"In this example, the frontend doesn't know the exact physical layout, but " +"knows those logical layouts are lowered to the same physical layout:" +msgstr "" + +#: ../../../LangRef.rst:15198 +msgid "`{ i32, i32, i32, i32 }`" +msgstr "" + +#: ../../../LangRef.rst:15199 +msgid "`[ i32 x 4 ]`" +msgstr "" + +#: ../../../LangRef.rst:15201 +msgid "This means is is valid to lower the following code to either:" +msgstr "" + +#: ../../../LangRef.rst:15209 +msgid "Or:" +msgstr "" + +#: ../../../LangRef.rst:15216 +msgid "" +"This is, however, dependent on context that codegen has an insight on. The " +"fact that `[ i32 x 4 ]` and `%S` are equivalent depends on the target." +msgstr "" + +#: ../../../LangRef.rst:15223 msgid "'``llvm.get.dynamic.area.offset``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:14948 +#: ../../../LangRef.rst:15236 msgid "" "The '``llvm.get.dynamic.area.offset.*``' intrinsic family is used to get the " "offset from native stack pointer to the address of the most recent dynamic " @@ -19100,7 +19401,7 @@ msgid "" "AddressSanitizer's stack unpoisoning routines." msgstr "" -#: ../../../LangRef.rst:14959 +#: ../../../LangRef.rst:15247 msgid "" "These intrinsics return a non-negative integer value that can be used to get " "the address of the most recent dynamic alloca, allocated by :ref:`alloca " @@ -19112,25 +19413,25 @@ msgid "" "recent dynamic alloca." msgstr "" -#: ../../../LangRef.rst:14967 +#: ../../../LangRef.rst:15255 msgid "" "Although for most targets `llvm.get.dynamic.area.offset " "` returns just a zero, for others, such as " "PowerPC and PowerPC64, it returns a compile-time-known constant value." msgstr "" -#: ../../../LangRef.rst:14971 +#: ../../../LangRef.rst:15259 msgid "" "The return value type of :ref:`llvm.get.dynamic.area.offset " "` must match the target's :ref:`alloca address " "space ` type." msgstr "" -#: ../../../LangRef.rst:14977 +#: ../../../LangRef.rst:15265 msgid "'``llvm.prefetch``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:14989 +#: ../../../LangRef.rst:15277 msgid "" "The '``llvm.prefetch``' intrinsic is a hint to the code generator to insert " "a prefetch instruction if supported; otherwise, it is a noop. Prefetches " @@ -19138,7 +19439,7 @@ msgid "" "characteristics." msgstr "" -#: ../../../LangRef.rst:14997 +#: ../../../LangRef.rst:15285 msgid "" "``address`` is the address to be prefetched, ``rw`` is the specifier " "determining if the fetch should be for a read (0) or write (1), and " @@ -19149,7 +19450,7 @@ msgid "" "constant integers." msgstr "" -#: ../../../LangRef.rst:15008 +#: ../../../LangRef.rst:15296 msgid "" "This intrinsic does not modify the behavior of the program. In particular, " "prefetches cannot trap and do not produce a value. On targets that support " @@ -19157,11 +19458,11 @@ msgid "" "better performance." msgstr "" -#: ../../../LangRef.rst:15014 +#: ../../../LangRef.rst:15302 msgid "'``llvm.pcmarker``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:15026 +#: ../../../LangRef.rst:15314 msgid "" "The '``llvm.pcmarker``' intrinsic is a method to export a Program Counter " "(PC) in a region of code to simulators and other tools. The method is target " @@ -19173,21 +19474,21 @@ msgid "" "runs." msgstr "" -#: ../../../LangRef.rst:15038 +#: ../../../LangRef.rst:15326 msgid "``id`` is a numerical id identifying the marker." msgstr "" -#: ../../../LangRef.rst:15043 +#: ../../../LangRef.rst:15331 msgid "" "This intrinsic does not modify the behavior of the program. Backends that do " "not support this intrinsic may ignore it." msgstr "" -#: ../../../LangRef.rst:15047 +#: ../../../LangRef.rst:15335 msgid "'``llvm.readcyclecounter``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:15059 +#: ../../../LangRef.rst:15347 msgid "" "The '``llvm.readcyclecounter``' intrinsic provides access to the cycle " "counter register (or similar low latency, high accuracy clocks) on those " @@ -19196,7 +19497,7 @@ msgid "" "seconds on alpha), this should only be used for small timings." msgstr "" -#: ../../../LangRef.rst:15069 +#: ../../../LangRef.rst:15357 msgid "" "When directly supported, reading the cycle counter should not modify any " "memory. Implementations are allowed to either return an application specific " @@ -19204,17 +19505,17 @@ msgid "" "to a constant 0." msgstr "" -#: ../../../LangRef.rst:15074 +#: ../../../LangRef.rst:15362 msgid "" "Note that runtime support may be conditional on the privilege-level code is " "running at and the host platform." msgstr "" -#: ../../../LangRef.rst:15078 +#: ../../../LangRef.rst:15366 msgid "'``llvm.readsteadycounter``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:15090 +#: ../../../LangRef.rst:15378 msgid "" "The '``llvm.readsteadycounter``' intrinsic provides access to the fixed " "frequency clock on targets that support it. Unlike '``llvm." @@ -19223,7 +19524,7 @@ msgid "" "clock is implementation defined." msgstr "" -#: ../../../LangRef.rst:15099 +#: ../../../LangRef.rst:15387 msgid "" "When directly supported, reading the steady counter should not modify any " "memory. Implementations are allowed to either return an application specific " @@ -19231,11 +19532,11 @@ msgid "" "to a constant 0." msgstr "" -#: ../../../LangRef.rst:15105 +#: ../../../LangRef.rst:15393 msgid "'``llvm.clear_cache``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:15117 +#: ../../../LangRef.rst:15405 msgid "" "The '``llvm.clear_cache``' intrinsic ensures visibility of modifications in " "the specified range to the execution unit of the processor. On targets with " @@ -19243,7 +19544,7 @@ msgid "" "instruction cache." msgstr "" -#: ../../../LangRef.rst:15125 +#: ../../../LangRef.rst:15413 msgid "" "On platforms with coherent instruction and data caches (e.g., x86), this " "intrinsic is a nop. On platforms with non-coherent instruction and data " @@ -19251,38 +19552,38 @@ msgid "" "instructions or a system call, if cache flushing requires special privileges." msgstr "" -#: ../../../LangRef.rst:15131 +#: ../../../LangRef.rst:15419 msgid "" "The default behavior is to emit a call to ``__clear_cache`` from the run " "time library." msgstr "" -#: ../../../LangRef.rst:15134 +#: ../../../LangRef.rst:15422 msgid "" "This intrinsic does *not* empty the instruction pipeline. Modifications of " "the current function are outside the scope of the intrinsic." msgstr "" -#: ../../../LangRef.rst:15138 +#: ../../../LangRef.rst:15426 msgid "'``llvm.instrprof.increment``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:15151 +#: ../../../LangRef.rst:15439 msgid "" "The '``llvm.instrprof.increment``' intrinsic can be emitted by a frontend " "for use with instrumentation-based profiling. These will be lowered by the " "``-instrprof`` pass to generate execution counts of a program at runtime." msgstr "" -#: ../../../LangRef.rst:15159 ../../../LangRef.rst:15408 -#: ../../../LangRef.rst:15452 +#: ../../../LangRef.rst:15447 ../../../LangRef.rst:15696 +#: ../../../LangRef.rst:15740 msgid "" "The first argument is a pointer to a global variable containing the name of " "the entity being instrumented. This should generally be the (mangled) " "function name for a set of counters." msgstr "" -#: ../../../LangRef.rst:15163 +#: ../../../LangRef.rst:15451 msgid "" "The second argument is a hash value that can be used by the consumer of the " "profile data to detect changes to the instrumented source, and the third is " @@ -19291,13 +19592,13 @@ msgid "" "that refer to the same name." msgstr "" -#: ../../../LangRef.rst:15169 +#: ../../../LangRef.rst:15457 msgid "" "The last argument refers to which of the counters for ``name`` should be " "incremented. It should be a value between 0 and ``num-counters``." msgstr "" -#: ../../../LangRef.rst:15175 +#: ../../../LangRef.rst:15463 msgid "" "This intrinsic represents an increment of a profiling counter. It will cause " "the ``-instrprof`` pass to generate the appropriate data structures and the " @@ -19305,13 +19606,13 @@ msgid "" "by a compiler runtime and consumed via the ``llvm-profdata`` tool." msgstr "" -#: ../../../LangRef.rst:15184 +#: ../../../LangRef.rst:15472 msgid "" "The intrinsic is lowered differently for contextual profiling by the ``-ctx-" "instr-lower`` pass. Here:" msgstr "" -#: ../../../LangRef.rst:15187 +#: ../../../LangRef.rst:15475 msgid "" "the entry basic block increment counter is lowered as a call to compiler-rt, " "to either ``__llvm_ctx_profile_start_context`` or " @@ -19321,50 +19622,50 @@ msgid "" "counter increments happen offset from the address with the LSB cleared." msgstr "" -#: ../../../LangRef.rst:15194 +#: ../../../LangRef.rst:15482 msgid "" "all the other lowerings of ``llvm.instrprof.increment[.step]`` happen within " "that context." msgstr "" -#: ../../../LangRef.rst:15197 +#: ../../../LangRef.rst:15485 msgid "" "the context is assumed to be a local value to the function, and no " "concurrency concerns need to be handled by LLVM." msgstr "" -#: ../../../LangRef.rst:15201 +#: ../../../LangRef.rst:15489 msgid "'``llvm.instrprof.increment.step``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:15215 +#: ../../../LangRef.rst:15503 msgid "" "The '``llvm.instrprof.increment.step``' intrinsic is an extension to the " "'``llvm.instrprof.increment``' intrinsic with an additional fifth argument " "to specify the step of the increment." msgstr "" -#: ../../../LangRef.rst:15221 +#: ../../../LangRef.rst:15509 msgid "" "The first four arguments are the same as '``llvm.instrprof.increment``' " "intrinsic." msgstr "" -#: ../../../LangRef.rst:15224 +#: ../../../LangRef.rst:15512 msgid "" "The last argument specifies the value of the increment of the counter " "variable." msgstr "" -#: ../../../LangRef.rst:15228 +#: ../../../LangRef.rst:15516 msgid "See description of '``llvm.instrprof.increment``' intrinsic." msgstr "" -#: ../../../LangRef.rst:15231 +#: ../../../LangRef.rst:15519 msgid "'``llvm.instrprof.callsite``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:15245 +#: ../../../LangRef.rst:15533 msgid "" "The '``llvm.instrprof.callsite``' intrinsic should be emitted before a " "callsite that's not to a \"fake\" callee (like another intrinsic or asm). It " @@ -19372,7 +19673,7 @@ msgid "" "in IR, and target-specific backends should never encounter it." msgstr "" -#: ../../../LangRef.rst:15252 +#: ../../../LangRef.rst:15540 msgid "" "The first 4 arguments are similar to ``llvm.instrprof.increment``. The " "indexing is specific to callsites, meaning callsites are indexed from 0, " @@ -19380,13 +19681,13 @@ msgid "" "instrprof.increment[.step]``)." msgstr "" -#: ../../../LangRef.rst:15257 +#: ../../../LangRef.rst:15545 msgid "" "The last argument is the called value of the callsite this intrinsic " "precedes." msgstr "" -#: ../../../LangRef.rst:15262 +#: ../../../LangRef.rst:15550 msgid "" "This is lowered by contextual profiling. In contextual profiling, functions " "get, from compiler-rt, a pointer to a context object. The context object " @@ -19398,22 +19699,22 @@ msgid "" "region, just calculates GEPs." msgstr "" -#: ../../../LangRef.rst:15270 +#: ../../../LangRef.rst:15558 msgid "The lowering of ``llvm.instrprof.callsite`` consists of:" msgstr "" -#: ../../../LangRef.rst:15272 +#: ../../../LangRef.rst:15560 msgid "" "write to ``__llvm_ctx_profile_expected_callee`` the ```` value;" msgstr "" -#: ../../../LangRef.rst:15274 +#: ../../../LangRef.rst:15562 msgid "" "write to ``__llvm_ctx_profile_callsite`` the address into this function's " "context of the ```` position into the subcontexts region." msgstr "" -#: ../../../LangRef.rst:15278 +#: ../../../LangRef.rst:15566 msgid "" "``__llvm_ctx_profile_{expected_callee|callsite}`` are initialized by " "compiler-rt and are TLS. They are both vectors of pointers of size 2. The " @@ -19421,56 +19722,56 @@ msgid "" "to its context from compiler-rt. The pointer's LSB gives the index." msgstr "" -#: ../../../LangRef.rst:15285 +#: ../../../LangRef.rst:15573 msgid "'``llvm.instrprof.timestamp``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:15298 +#: ../../../LangRef.rst:15586 msgid "" "The '``llvm.instrprof.timestamp``' intrinsic is used to implement temporal " "profiling." msgstr "" -#: ../../../LangRef.rst:15303 +#: ../../../LangRef.rst:15591 msgid "" "The arguments are the same as '``llvm.instrprof.increment``'. The ``index`` " "is expected to always be zero." msgstr "" -#: ../../../LangRef.rst:15308 +#: ../../../LangRef.rst:15596 msgid "" "Similar to the '``llvm.instrprof.increment``' intrinsic, but it stores a " "timestamp representing when this function was executed for the first time." msgstr "" -#: ../../../LangRef.rst:15312 +#: ../../../LangRef.rst:15600 msgid "'``llvm.instrprof.cover``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:15325 +#: ../../../LangRef.rst:15613 msgid "" "The '``llvm.instrprof.cover``' intrinsic is used to implement coverage " "instrumentation." msgstr "" -#: ../../../LangRef.rst:15330 +#: ../../../LangRef.rst:15618 msgid "" "The arguments are the same as the first four arguments of '``llvm.instrprof." "increment``'." msgstr "" -#: ../../../LangRef.rst:15335 +#: ../../../LangRef.rst:15623 msgid "" "Similar to the '``llvm.instrprof.increment``' intrinsic, but it stores zero " "to the profiling variable to signify that the function has been covered. We " "store zero because this is more efficient on some targets." msgstr "" -#: ../../../LangRef.rst:15340 +#: ../../../LangRef.rst:15628 msgid "'``llvm.instrprof.value.profile``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:15354 +#: ../../../LangRef.rst:15642 msgid "" "The '``llvm.instrprof.value.profile``' intrinsic can be emitted by a " "frontend for use with instrumentation-based profiling. This will be lowered " @@ -19478,14 +19779,14 @@ msgid "" "expressions take in a program at runtime." msgstr "" -#: ../../../LangRef.rst:15362 +#: ../../../LangRef.rst:15650 msgid "" "The first argument is a pointer to a global variable containing the name of " "the entity being instrumented. ``name`` should generally be the (mangled) " "function name for a set of counters." msgstr "" -#: ../../../LangRef.rst:15366 +#: ../../../LangRef.rst:15654 msgid "" "The second argument is a hash value that can be used by the consumer of the " "profile data to detect changes to the instrumented source. It is an error if " @@ -19493,7 +19794,7 @@ msgid "" "the same name." msgstr "" -#: ../../../LangRef.rst:15371 +#: ../../../LangRef.rst:15659 msgid "" "The third argument is the value of the expression being profiled. The " "profiled expression's value should be representable as an unsigned 64-bit " @@ -19504,7 +19805,7 @@ msgid "" "instrumented expression within ``name``. It should be >= 0." msgstr "" -#: ../../../LangRef.rst:15382 +#: ../../../LangRef.rst:15670 msgid "" "This intrinsic represents the point where a call to a runtime routine should " "be inserted for value profiling of target expressions. ``-instrprof`` pass " @@ -19513,29 +19814,29 @@ msgid "" "library with proper arguments." msgstr "" -#: ../../../LangRef.rst:15389 +#: ../../../LangRef.rst:15677 msgid "'``llvm.instrprof.mcdc.parameters``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:15402 +#: ../../../LangRef.rst:15690 msgid "" "The '``llvm.instrprof.mcdc.parameters``' intrinsic is used to initiate MC/DC " "code coverage instrumentation for a function." msgstr "" -#: ../../../LangRef.rst:15412 ../../../LangRef.rst:15456 +#: ../../../LangRef.rst:15700 ../../../LangRef.rst:15744 msgid "" "The second argument is a hash value that can be used by the consumer of the " "profile data to detect changes to the instrumented source." msgstr "" -#: ../../../LangRef.rst:15415 +#: ../../../LangRef.rst:15703 msgid "" "The third argument is the number of bitmap bits required by the function to " "record the number of test vectors executed for each boolean expression." msgstr "" -#: ../../../LangRef.rst:15421 +#: ../../../LangRef.rst:15709 msgid "" "This intrinsic represents basic MC/DC parameters initiating one or more MC/" "DC instrumentation sequences in a function. It will cause the ``-instrprof`` " @@ -19544,11 +19845,11 @@ msgid "" "and consumed via the ``llvm-profdata`` tool." msgstr "" -#: ../../../LangRef.rst:15428 +#: ../../../LangRef.rst:15716 msgid "'``llvm.instrprof.mcdc.tvbitmap.update``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:15442 +#: ../../../LangRef.rst:15730 msgid "" "The '``llvm.instrprof.mcdc.tvbitmap.update``' intrinsic is used to track MC/" "DC test vector execution after each boolean expression has been fully " @@ -19558,20 +19859,20 @@ msgid "" "into the global test vector bitmap." msgstr "" -#: ../../../LangRef.rst:15459 +#: ../../../LangRef.rst:15747 msgid "" "The third argument is the bit index into the global test vector bitmap " "corresponding to the function." msgstr "" -#: ../../../LangRef.rst:15462 +#: ../../../LangRef.rst:15750 msgid "" "The fourth argument is the address of the condition bitmap, which contains a " "value representing an executed MC/DC test vector. It is loaded and used as " "the bit index of the test vector bitmap." msgstr "" -#: ../../../LangRef.rst:15469 +#: ../../../LangRef.rst:15757 msgid "" "This intrinsic represents the final operation of an MC/DC instrumentation " "sequence and will cause the ``-instrprof`` pass to generate the code to " @@ -19580,17 +19881,17 @@ msgid "" "consumed by the ``llvm-profdata`` and ``llvm-cov`` tools." msgstr "" -#: ../../../LangRef.rst:15476 +#: ../../../LangRef.rst:15764 msgid "'``llvm.thread.pointer``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:15489 +#: ../../../LangRef.rst:15777 msgid "" "The '``llvm.thread.pointer``' intrinsic returns the value of the thread " "pointer." msgstr "" -#: ../../../LangRef.rst:15495 +#: ../../../LangRef.rst:15783 msgid "" "The '``llvm.thread.pointer``' intrinsic returns a pointer to the TLS area " "for the current thread. The exact semantics of this value are target " @@ -19602,18 +19903,18 @@ msgid "" "`." msgstr "" -#: ../../../LangRef.rst:15505 +#: ../../../LangRef.rst:15793 msgid "'``llvm.call.preallocated.setup``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:15517 +#: ../../../LangRef.rst:15805 msgid "" "The '``llvm.call.preallocated.setup``' intrinsic returns a token which can " "be used with a call's ``\"preallocated\"`` operand bundle to indicate that " "certain arguments are allocated and initialized before the call." msgstr "" -#: ../../../LangRef.rst:15524 +#: ../../../LangRef.rst:15812 msgid "" "The '``llvm.call.preallocated.setup``' intrinsic returns a token which is " "associated with at most one call. The token can be passed to '``@llvm.call." @@ -19622,45 +19923,45 @@ msgid "" "corresponding call." msgstr "" -#: ../../../LangRef.rst:15530 +#: ../../../LangRef.rst:15818 msgid "" "Nested calls to '``llvm.call.preallocated.setup``' are allowed, but must be " "properly nested. e.g." msgstr "" -#: ../../../LangRef.rst:15533 ../../../LangRef.rst:15542 +#: ../../../LangRef.rst:15821 ../../../LangRef.rst:15830 msgid ":: code-block:: llvm" msgstr "" -#: ../../../LangRef.rst:15535 +#: ../../../LangRef.rst:15823 msgid "" "%t1 = call token @llvm.call.preallocated.setup(i32 0) %t2 = call token @llvm." "call.preallocated.setup(i32 0) call void foo() [\"preallocated\"(token %t2)] " "call void foo() [\"preallocated\"(token %t1)]" msgstr "" -#: ../../../LangRef.rst:15540 +#: ../../../LangRef.rst:15828 msgid "is allowed, but not" msgstr "" -#: ../../../LangRef.rst:15544 +#: ../../../LangRef.rst:15832 msgid "" "%t1 = call token @llvm.call.preallocated.setup(i32 0) %t2 = call token @llvm." "call.preallocated.setup(i32 0) call void foo() [\"preallocated\"(token %t1)] " "call void foo() [\"preallocated\"(token %t2)]" msgstr "" -#: ../../../LangRef.rst:15552 +#: ../../../LangRef.rst:15840 msgid "'``llvm.call.preallocated.arg``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:15564 +#: ../../../LangRef.rst:15852 msgid "" "The '``llvm.call.preallocated.arg``' intrinsic returns a pointer to the " "corresponding preallocated argument for the preallocated call." msgstr "" -#: ../../../LangRef.rst:15570 +#: ../../../LangRef.rst:15858 msgid "" "The '``llvm.call.preallocated.arg``' intrinsic returns a pointer to the " "``%arg_index``th argument with the ``preallocated`` attribute for the call " @@ -19668,7 +19969,7 @@ msgid "" "preallocated.setup``'." msgstr "" -#: ../../../LangRef.rst:15575 +#: ../../../LangRef.rst:15863 msgid "" "A call to '``llvm.call.preallocated.arg``' must have a call site " "``preallocated`` attribute. The type of the ``preallocated`` attribute must " @@ -19678,7 +19979,7 @@ msgid "" "due to DCE), where otherwise we cannot know how large the arguments are." msgstr "" -#: ../../../LangRef.rst:15582 +#: ../../../LangRef.rst:15870 msgid "" "It is undefined behavior if this is called with a token from an '``llvm.call." "preallocated.setup``' if another '``llvm.call.preallocated.setup``' has " @@ -19686,21 +19987,21 @@ msgid "" "call.preallocated.setup``' has already been called." msgstr "" -#: ../../../LangRef.rst:15591 +#: ../../../LangRef.rst:15879 msgid "'``llvm.call.preallocated.teardown``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:15603 +#: ../../../LangRef.rst:15891 msgid "" "The '``llvm.call.preallocated.teardown``' intrinsic cleans up the stack " "created by a '``llvm.call.preallocated.setup``'." msgstr "" -#: ../../../LangRef.rst:15609 +#: ../../../LangRef.rst:15897 msgid "The token argument must be a '``llvm.call.preallocated.setup``'." msgstr "" -#: ../../../LangRef.rst:15611 +#: ../../../LangRef.rst:15899 msgid "" "The '``llvm.call.preallocated.teardown``' intrinsic cleans up the stack " "allocated by the corresponding '``llvm.call.preallocated.setup``'. Exactly " @@ -19710,7 +20011,7 @@ msgid "" "setup``'." msgstr "" -#: ../../../LangRef.rst:15617 +#: ../../../LangRef.rst:15905 msgid "" "For example, if the stack is allocated for a preallocated call by a '``llvm." "call.preallocated.setup``', then an initializer function called on an " @@ -19718,18 +20019,18 @@ msgid "" "preallocated.teardown``' in the exception handler to prevent stack leaks." msgstr "" -#: ../../../LangRef.rst:15623 +#: ../../../LangRef.rst:15911 msgid "" "Following the nesting rules in '``llvm.call.preallocated.setup``', nested " "calls to '``llvm.call.preallocated.setup``' and '``llvm.call.preallocated." "teardown``' are allowed but must be properly nested." msgstr "" -#: ../../../LangRef.rst:15647 +#: ../../../LangRef.rst:15935 msgid "Standard C/C++ Library Intrinsics" msgstr "" -#: ../../../LangRef.rst:15649 +#: ../../../LangRef.rst:15937 msgid "" "LLVM provides intrinsics for a few important standard C/C++ library " "functions. These intrinsics allow source-language front-ends to pass " @@ -19737,30 +20038,30 @@ msgid "" "generator, providing opportunity for more efficient code generation." msgstr "" -#: ../../../LangRef.rst:15657 +#: ../../../LangRef.rst:15945 msgid "'``llvm.abs.*``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:15662 +#: ../../../LangRef.rst:15950 msgid "" "This is an overloaded intrinsic. You can use ``llvm.abs`` on any integer bit " "width or any vector of integer elements." msgstr "" -#: ../../../LangRef.rst:15673 +#: ../../../LangRef.rst:15961 msgid "" "The '``llvm.abs``' family of intrinsic functions returns the absolute value " "of an argument." msgstr "" -#: ../../../LangRef.rst:15679 +#: ../../../LangRef.rst:15967 msgid "" "The first argument is the value for which the absolute value is to be " "returned. This argument may be of any integer type or a vector with integer " "element type. The return type must match the first argument type." msgstr "" -#: ../../../LangRef.rst:15683 +#: ../../../LangRef.rst:15971 msgid "" "The second argument must be a constant and is a flag to indicate whether the " "result value of the '``llvm.abs``' intrinsic is a :ref:`poison value " @@ -19768,7 +20069,7 @@ msgid "" "``INT_MIN`` value." msgstr "" -#: ../../../LangRef.rst:15691 +#: ../../../LangRef.rst:15979 msgid "" "The '``llvm.abs``' intrinsic returns the magnitude (always positive) of the " "first argument or each element of a vector argument.\". If the first " @@ -19776,100 +20077,100 @@ msgid "" "``is_int_min_poison == 0`` and ``poison`` otherwise." msgstr "" -#: ../../../LangRef.rst:15700 +#: ../../../LangRef.rst:15988 msgid "'``llvm.smax.*``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:15705 +#: ../../../LangRef.rst:15993 msgid "" "This is an overloaded intrinsic. You can use ``@llvm.smax`` on any integer " "bit width or any vector of integer elements." msgstr "" -#: ../../../LangRef.rst:15716 +#: ../../../LangRef.rst:16004 msgid "" "Return the larger of ``%a`` and ``%b`` comparing the values as signed " "integers. Vector intrinsics operate on a per-element basis. The larger " "element of ``%a`` and ``%b`` at a given index is returned for that index." msgstr "" -#: ../../../LangRef.rst:15723 ../../../LangRef.rst:15754 -#: ../../../LangRef.rst:15785 ../../../LangRef.rst:15816 +#: ../../../LangRef.rst:16011 ../../../LangRef.rst:16042 +#: ../../../LangRef.rst:16073 ../../../LangRef.rst:16104 msgid "" "The arguments (``%a`` and ``%b``) may be of any integer type or a vector " "with integer element type. The argument types must match each other, and the " "return type must match the argument type." msgstr "" -#: ../../../LangRef.rst:15731 +#: ../../../LangRef.rst:16019 msgid "'``llvm.smin.*``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:15736 +#: ../../../LangRef.rst:16024 msgid "" "This is an overloaded intrinsic. You can use ``@llvm.smin`` on any integer " "bit width or any vector of integer elements." msgstr "" -#: ../../../LangRef.rst:15747 +#: ../../../LangRef.rst:16035 msgid "" "Return the smaller of ``%a`` and ``%b`` comparing the values as signed " "integers. Vector intrinsics operate on a per-element basis. The smaller " "element of ``%a`` and ``%b`` at a given index is returned for that index." msgstr "" -#: ../../../LangRef.rst:15762 +#: ../../../LangRef.rst:16050 msgid "'``llvm.umax.*``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:15767 +#: ../../../LangRef.rst:16055 msgid "" "This is an overloaded intrinsic. You can use ``@llvm.umax`` on any integer " "bit width or any vector of integer elements." msgstr "" -#: ../../../LangRef.rst:15778 +#: ../../../LangRef.rst:16066 msgid "" "Return the larger of ``%a`` and ``%b`` comparing the values as unsigned " "integers. Vector intrinsics operate on a per-element basis. The larger " "element of ``%a`` and ``%b`` at a given index is returned for that index." msgstr "" -#: ../../../LangRef.rst:15793 +#: ../../../LangRef.rst:16081 msgid "'``llvm.umin.*``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:15798 +#: ../../../LangRef.rst:16086 msgid "" "This is an overloaded intrinsic. You can use ``@llvm.umin`` on any integer " "bit width or any vector of integer elements." msgstr "" -#: ../../../LangRef.rst:15809 +#: ../../../LangRef.rst:16097 msgid "" "Return the smaller of ``%a`` and ``%b`` comparing the values as unsigned " "integers. Vector intrinsics operate on a per-element basis. The smaller " "element of ``%a`` and ``%b`` at a given index is returned for that index." msgstr "" -#: ../../../LangRef.rst:15823 +#: ../../../LangRef.rst:16111 msgid "'``llvm.scmp.*``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:15828 +#: ../../../LangRef.rst:16116 msgid "" "This is an overloaded intrinsic. You can use ``@llvm.scmp`` on any integer " "bit width or any vector of integer elements." msgstr "" -#: ../../../LangRef.rst:15839 +#: ../../../LangRef.rst:16127 msgid "" "Return ``-1`` if ``%a`` is signed less than ``%b``, ``0`` if they are equal, " "and ``1`` if ``%a`` is signed greater than ``%b``. Vector intrinsics operate " "on a per-element basis." msgstr "" -#: ../../../LangRef.rst:15845 ../../../LangRef.rst:15874 +#: ../../../LangRef.rst:16133 ../../../LangRef.rst:16162 msgid "" "The arguments (``%a`` and ``%b``) may be of any integer type or a vector " "with integer element type. The argument types must match each other, and the " @@ -19877,49 +20178,49 @@ msgid "" "return values." msgstr "" -#: ../../../LangRef.rst:15852 +#: ../../../LangRef.rst:16140 msgid "'``llvm.ucmp.*``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:15857 +#: ../../../LangRef.rst:16145 msgid "" "This is an overloaded intrinsic. You can use ``@llvm.ucmp`` on any integer " "bit width or any vector of integer elements." msgstr "" -#: ../../../LangRef.rst:15868 +#: ../../../LangRef.rst:16156 msgid "" "Return ``-1`` if ``%a`` is unsigned less than ``%b``, ``0`` if they are " "equal, and ``1`` if ``%a`` is unsigned greater than ``%b``. Vector " "intrinsics operate on a per-element basis." msgstr "" -#: ../../../LangRef.rst:15881 +#: ../../../LangRef.rst:16169 msgid "'``llvm.memcpy``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:15886 +#: ../../../LangRef.rst:16174 msgid "" "This is an overloaded intrinsic. You can use ``llvm.memcpy`` on any integer " "bit width and for different address spaces. Not all targets support all bit " "widths however." msgstr "" -#: ../../../LangRef.rst:15900 +#: ../../../LangRef.rst:16188 msgid "" "The '``llvm.memcpy.*``' intrinsics copy a block of memory from the source " "location to the destination location." msgstr "" -#: ../../../LangRef.rst:15903 +#: ../../../LangRef.rst:16191 msgid "" "Note that, unlike the standard libc function, the ``llvm.memcpy.*`` " "intrinsics do not return a value, takes extra isvolatile arguments and the " "pointers can be in specified address spaces." msgstr "" -#: ../../../LangRef.rst:15910 ../../../LangRef.rst:15970 -#: ../../../LangRef.rst:16028 +#: ../../../LangRef.rst:16198 ../../../LangRef.rst:16258 +#: ../../../LangRef.rst:16316 msgid "" "The first argument is a pointer to the destination, the second is a pointer " "to the source. The third argument is an integer argument specifying the " @@ -19927,21 +20228,21 @@ msgid "" "access." msgstr "" -#: ../../../LangRef.rst:15915 ../../../LangRef.rst:15975 -#: ../../../LangRef.rst:16033 +#: ../../../LangRef.rst:16203 ../../../LangRef.rst:16263 +#: ../../../LangRef.rst:16321 msgid "" "The :ref:`align ` parameter attribute can be provided for the " "first and second arguments." msgstr "" -#: ../../../LangRef.rst:15918 +#: ../../../LangRef.rst:16206 msgid "" "If the ``isvolatile`` parameter is ``true``, the ``llvm.memcpy`` call is a :" "ref:`volatile operation `. The detailed access behavior is not " "very cleanly specified and it is unwise to depend on it." msgstr "" -#: ../../../LangRef.rst:15925 +#: ../../../LangRef.rst:16213 msgid "" "The '``llvm.memcpy.*``' intrinsics copy a block of memory from the source " "location to the destination location, which must either be equal or non-" @@ -19950,7 +20251,7 @@ msgid "" "on the argument." msgstr "" -#: ../../../LangRef.rst:15931 ../../../LangRef.rst:16049 +#: ../../../LangRef.rst:16219 ../../../LangRef.rst:16337 msgid "" "If ```` is 0, it is no-op modulo the behavior of attributes attached to " "the arguments. If ```` is not a well-defined value, the behavior is " @@ -19958,39 +20259,39 @@ msgid "" "well-defined, otherwise the behavior is undefined." msgstr "" -#: ../../../LangRef.rst:15940 +#: ../../../LangRef.rst:16228 msgid "'``llvm.memcpy.inline``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:15945 +#: ../../../LangRef.rst:16233 msgid "" "This is an overloaded intrinsic. You can use ``llvm.memcpy.inline`` on any " "integer bit width and for different address spaces. Not all targets support " "all bit widths however." msgstr "" -#: ../../../LangRef.rst:15959 +#: ../../../LangRef.rst:16247 msgid "" "The '``llvm.memcpy.inline.*``' intrinsics copy a block of memory from the " "source location to the destination location and guarantees that no external " "functions are called." msgstr "" -#: ../../../LangRef.rst:15963 +#: ../../../LangRef.rst:16251 msgid "" "Note that, unlike the standard libc function, the ``llvm.memcpy.inline.*`` " "intrinsics do not return a value, takes extra isvolatile arguments and the " "pointers can be in specified address spaces." msgstr "" -#: ../../../LangRef.rst:15978 +#: ../../../LangRef.rst:16266 msgid "" "If the ``isvolatile`` parameter is ``true``, the ``llvm.memcpy.inline`` call " "is a :ref:`volatile operation `. The detailed access behavior is " "not very cleanly specified and it is unwise to depend on it." msgstr "" -#: ../../../LangRef.rst:15985 +#: ../../../LangRef.rst:16273 msgid "" "The '``llvm.memcpy.inline.*``' intrinsics copy a block of memory from the " "source location to the destination location, which are not allowed to " @@ -20001,39 +20302,39 @@ msgid "" "call any external functions." msgstr "" -#: ../../../LangRef.rst:15997 +#: ../../../LangRef.rst:16285 msgid "'``llvm.memmove``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:16002 +#: ../../../LangRef.rst:16290 msgid "" "This is an overloaded intrinsic. You can use ``llvm.memmove`` on any integer " "bit width and for different address space. Not all targets support all bit " "widths however." msgstr "" -#: ../../../LangRef.rst:16016 +#: ../../../LangRef.rst:16304 msgid "" "The '``llvm.memmove.*``' intrinsics move a block of memory from the source " "location to the destination location. It is similar to the '``llvm.memcpy``' " "intrinsic but allows the two memory locations to overlap." msgstr "" -#: ../../../LangRef.rst:16021 +#: ../../../LangRef.rst:16309 msgid "" "Note that, unlike the standard libc function, the ``llvm.memmove.*`` " "intrinsics do not return a value, takes an extra isvolatile argument and the " "pointers can be in specified address spaces." msgstr "" -#: ../../../LangRef.rst:16036 +#: ../../../LangRef.rst:16324 msgid "" "If the ``isvolatile`` parameter is ``true``, the ``llvm.memmove`` call is a :" "ref:`volatile operation `. The detailed access behavior is not " "very cleanly specified and it is unwise to depend on it." msgstr "" -#: ../../../LangRef.rst:16043 +#: ../../../LangRef.rst:16331 msgid "" "The '``llvm.memmove.*``' intrinsics copy a block of memory from the source " "location to the destination location, which may overlap. It copies \"len\" " @@ -20041,31 +20342,31 @@ msgid "" "boundary, this can be specified as an attribute on the argument." msgstr "" -#: ../../../LangRef.rst:16058 +#: ../../../LangRef.rst:16346 msgid "'``llvm.memset.*``' Intrinsics" msgstr "" -#: ../../../LangRef.rst:16063 +#: ../../../LangRef.rst:16351 msgid "" "This is an overloaded intrinsic. You can use ``llvm.memset`` on any integer " "bit width and for different address spaces. However, not all targets support " "all bit widths." msgstr "" -#: ../../../LangRef.rst:16077 +#: ../../../LangRef.rst:16365 msgid "" "The '``llvm.memset.*``' intrinsics fill a block of memory with a particular " "byte value." msgstr "" -#: ../../../LangRef.rst:16080 +#: ../../../LangRef.rst:16368 msgid "" "Note that, unlike the standard libc function, the ``llvm.memset`` intrinsic " "does not return a value and takes an extra volatile argument. Also, the " "destination can be in an arbitrary address space." msgstr "" -#: ../../../LangRef.rst:16087 +#: ../../../LangRef.rst:16375 msgid "" "The first argument is a pointer to the destination to fill, the second is " "the byte value with which to fill it, the third argument is an integer " @@ -20073,27 +20374,27 @@ msgid "" "indicating a volatile access." msgstr "" -#: ../../../LangRef.rst:16092 +#: ../../../LangRef.rst:16380 msgid "" "The :ref:`align ` parameter attribute can be provided for the " "first arguments." msgstr "" -#: ../../../LangRef.rst:16095 +#: ../../../LangRef.rst:16383 msgid "" "If the ``isvolatile`` parameter is ``true``, the ``llvm.memset`` call is a :" "ref:`volatile operation `. The detailed access behavior is not " "very cleanly specified and it is unwise to depend on it." msgstr "" -#: ../../../LangRef.rst:16102 +#: ../../../LangRef.rst:16390 msgid "" "The '``llvm.memset.*``' intrinsics fill \"len\" bytes of memory starting at " "the destination location. If the argument is known to be aligned to some " "boundary, this can be specified as an attribute on the argument." msgstr "" -#: ../../../LangRef.rst:16107 ../../../LangRef.rst:16165 +#: ../../../LangRef.rst:16395 ../../../LangRef.rst:16453 msgid "" "If ```` is 0, it is no-op modulo the behavior of attributes attached to " "the arguments. If ```` is not a well-defined value, the behavior is " @@ -20101,31 +20402,31 @@ msgid "" "otherwise the behavior is undefined." msgstr "" -#: ../../../LangRef.rst:16116 +#: ../../../LangRef.rst:16404 msgid "'``llvm.memset.inline``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:16121 +#: ../../../LangRef.rst:16409 msgid "" "This is an overloaded intrinsic. You can use ``llvm.memset.inline`` on any " "integer bit width and for different address spaces. Not all targets support " "all bit widths however." msgstr "" -#: ../../../LangRef.rst:16135 +#: ../../../LangRef.rst:16423 msgid "" "The '``llvm.memset.inline.*``' intrinsics fill a block of memory with a " "particular byte value and guarantees that no external functions are called." msgstr "" -#: ../../../LangRef.rst:16138 +#: ../../../LangRef.rst:16426 msgid "" "Note that, unlike the standard libc function, the ``llvm.memset.inline.*`` " "intrinsics do not return a value, take an extra isvolatile argument and the " "pointer can be in specified address spaces." msgstr "" -#: ../../../LangRef.rst:16145 +#: ../../../LangRef.rst:16433 msgid "" "The first argument is a pointer to the destination to fill, the second is " "the byte value with which to fill it, the third argument is a constant " @@ -20133,46 +20434,46 @@ msgid "" "boolean indicating a volatile access." msgstr "" -#: ../../../LangRef.rst:16150 ../../../LangRef.rst:16208 -#: ../../../LangRef.rst:24767 ../../../LangRef.rst:24824 -#: ../../../LangRef.rst:24965 ../../../LangRef.rst:25087 +#: ../../../LangRef.rst:16438 ../../../LangRef.rst:16496 +#: ../../../LangRef.rst:25205 ../../../LangRef.rst:25262 +#: ../../../LangRef.rst:25403 ../../../LangRef.rst:25525 msgid "" "The :ref:`align ` parameter attribute can be provided for the " "first argument." msgstr "" -#: ../../../LangRef.rst:16153 +#: ../../../LangRef.rst:16441 msgid "" "If the ``isvolatile`` parameter is ``true``, the ``llvm.memset.inline`` call " "is a :ref:`volatile operation `. The detailed access behavior is " "not very cleanly specified and it is unwise to depend on it." msgstr "" -#: ../../../LangRef.rst:16160 +#: ../../../LangRef.rst:16448 msgid "" "The '``llvm.memset.inline.*``' intrinsics fill \"len\" bytes of memory " "starting at the destination location. If the argument is known to be aligned " "to some boundary, this can be specified as an attribute on the argument." msgstr "" -#: ../../../LangRef.rst:16171 +#: ../../../LangRef.rst:16459 msgid "" "The behavior of '``llvm.memset.inline.*``' is equivalent to the behavior of " "'``llvm.memset.*``', but the generated code is guaranteed not to call any " "external functions." msgstr "" -#: ../../../LangRef.rst:16178 +#: ../../../LangRef.rst:16466 msgid "'``llvm.experimental.memset.pattern``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:16183 +#: ../../../LangRef.rst:16471 msgid "" "This is an overloaded intrinsic. You can use ``llvm.experimental.memset." "pattern`` on any sized type and for different address spaces." msgstr "" -#: ../../../LangRef.rst:16195 +#: ../../../LangRef.rst:16483 msgid "" "The '``llvm.experimental.memset.pattern.*``' intrinsics fill a block of " "memory with a particular value. This may be expanded to an inline loop, a " @@ -20180,7 +20481,7 @@ msgid "" "target and the expected performance and code size impact." msgstr "" -#: ../../../LangRef.rst:16203 +#: ../../../LangRef.rst:16491 msgid "" "The first argument is a pointer to the destination to fill, the second is " "the value with which to fill it, the third argument is an integer argument " @@ -20188,7 +20489,7 @@ msgid "" "boolean indicating a volatile access." msgstr "" -#: ../../../LangRef.rst:16211 +#: ../../../LangRef.rst:16499 msgid "" "If the ``isvolatile`` parameter is ``true``, the ``llvm.experimental.memset." "pattern`` call is a :ref:`volatile operation `. The detailed " @@ -20196,7 +20497,7 @@ msgid "" "it." msgstr "" -#: ../../../LangRef.rst:16219 +#: ../../../LangRef.rst:16507 msgid "" "The '``llvm.experimental.memset.pattern*``' intrinsic fills memory starting " "at the destination location with the given pattern ```` times, " @@ -20206,7 +20507,7 @@ msgid "" "can be specified as an attribute on the argument." msgstr "" -#: ../../../LangRef.rst:16226 +#: ../../../LangRef.rst:16514 msgid "" "If ```` is 0, it is no-op modulo the behavior of attributes attached " "to the arguments. If ```` is not a well-defined value, the behavior " @@ -20214,79 +20515,79 @@ msgid "" "otherwise the behavior is undefined." msgstr "" -#: ../../../LangRef.rst:16235 +#: ../../../LangRef.rst:16523 msgid "'``llvm.sqrt.*``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:16240 +#: ../../../LangRef.rst:16528 msgid "" "This is an overloaded intrinsic. You can use ``llvm.sqrt`` on any floating-" "point or vector of floating-point type. Not all targets support all types " "however." msgstr "" -#: ../../../LangRef.rst:16255 +#: ../../../LangRef.rst:16543 msgid "" "The '``llvm.sqrt``' intrinsics return the square root of the specified value." msgstr "" -#: ../../../LangRef.rst:16260 ../../../LangRef.rst:16348 -#: ../../../LangRef.rst:16387 ../../../LangRef.rst:16424 -#: ../../../LangRef.rst:16461 ../../../LangRef.rst:16498 -#: ../../../LangRef.rst:16535 ../../../LangRef.rst:16610 -#: ../../../LangRef.rst:16647 ../../../LangRef.rst:16684 -#: ../../../LangRef.rst:16918 ../../../LangRef.rst:16958 -#: ../../../LangRef.rst:16998 ../../../LangRef.rst:17136 -#: ../../../LangRef.rst:17176 ../../../LangRef.rst:17217 -#: ../../../LangRef.rst:17296 ../../../LangRef.rst:17764 -#: ../../../LangRef.rst:17801 ../../../LangRef.rst:17840 -#: ../../../LangRef.rst:17879 ../../../LangRef.rst:17921 -#: ../../../LangRef.rst:17963 ../../../LangRef.rst:18002 +#: ../../../LangRef.rst:16548 ../../../LangRef.rst:16636 +#: ../../../LangRef.rst:16675 ../../../LangRef.rst:16712 +#: ../../../LangRef.rst:16749 ../../../LangRef.rst:16786 +#: ../../../LangRef.rst:16823 ../../../LangRef.rst:16898 +#: ../../../LangRef.rst:16935 ../../../LangRef.rst:16972 +#: ../../../LangRef.rst:17206 ../../../LangRef.rst:17246 +#: ../../../LangRef.rst:17286 ../../../LangRef.rst:17424 +#: ../../../LangRef.rst:17464 ../../../LangRef.rst:17505 +#: ../../../LangRef.rst:17584 ../../../LangRef.rst:18042 +#: ../../../LangRef.rst:18079 ../../../LangRef.rst:18118 +#: ../../../LangRef.rst:18157 ../../../LangRef.rst:18199 +#: ../../../LangRef.rst:18241 ../../../LangRef.rst:18280 msgid "" "The argument and return value are floating-point numbers of the same type." msgstr "" -#: ../../../LangRef.rst:16265 +#: ../../../LangRef.rst:16553 msgid "" "Return the same value as a corresponding libm '``sqrt``' function but " -"without trapping or setting ``errno``. For types specified by IEEE-754, the " +"without trapping or setting ``errno``. For types specified by IEEE 754, the " "result matches a conforming libm implementation." msgstr "" -#: ../../../LangRef.rst:16269 ../../../LangRef.rst:16356 -#: ../../../LangRef.rst:16395 ../../../LangRef.rst:16432 -#: ../../../LangRef.rst:16469 ../../../LangRef.rst:16506 -#: ../../../LangRef.rst:16543 ../../../LangRef.rst:16581 -#: ../../../LangRef.rst:16618 ../../../LangRef.rst:16655 -#: ../../../LangRef.rst:16692 ../../../LangRef.rst:16736 -#: ../../../LangRef.rst:16782 ../../../LangRef.rst:16841 -#: ../../../LangRef.rst:16879 ../../../LangRef.rst:16926 -#: ../../../LangRef.rst:16966 ../../../LangRef.rst:17006 -#: ../../../LangRef.rst:17144 ../../../LangRef.rst:17184 -#: ../../../LangRef.rst:17225 ../../../LangRef.rst:17264 +#: ../../../LangRef.rst:16557 ../../../LangRef.rst:16644 +#: ../../../LangRef.rst:16683 ../../../LangRef.rst:16720 +#: ../../../LangRef.rst:16757 ../../../LangRef.rst:16794 +#: ../../../LangRef.rst:16831 ../../../LangRef.rst:16869 +#: ../../../LangRef.rst:16906 ../../../LangRef.rst:16943 +#: ../../../LangRef.rst:16980 ../../../LangRef.rst:17024 +#: ../../../LangRef.rst:17070 ../../../LangRef.rst:17129 +#: ../../../LangRef.rst:17167 ../../../LangRef.rst:17214 +#: ../../../LangRef.rst:17254 ../../../LangRef.rst:17294 +#: ../../../LangRef.rst:17432 ../../../LangRef.rst:17472 +#: ../../../LangRef.rst:17513 ../../../LangRef.rst:17552 msgid "" "When specified with the fast-math-flag 'afn', the result may be approximated " "using a less accurate calculation." msgstr "" -#: ../../../LangRef.rst:16273 +#: ../../../LangRef.rst:16561 msgid "'``llvm.powi.*``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:16278 +#: ../../../LangRef.rst:16566 msgid "" "This is an overloaded intrinsic. You can use ``llvm.powi`` on any floating-" "point or vector of floating-point type. Not all targets support all types " "however." msgstr "" -#: ../../../LangRef.rst:16282 +#: ../../../LangRef.rst:16570 msgid "" "Generally, the only supported type for the exponent is the one matching with " "the C type ``int``." msgstr "" -#: ../../../LangRef.rst:16296 +#: ../../../LangRef.rst:16584 msgid "" "The '``llvm.powi.*``' intrinsics return the first operand raised to the " "specified (positive or negative) power. The order of evaluation of " @@ -20294,19 +20595,19 @@ msgid "" "used, the second argument remains a scalar integer value." msgstr "" -#: ../../../LangRef.rst:16304 +#: ../../../LangRef.rst:16592 msgid "" "The second argument is an integer power, and the first is a value to raise " "to that power." msgstr "" -#: ../../../LangRef.rst:16310 ../../../LangRef.rst:28328 +#: ../../../LangRef.rst:16598 ../../../LangRef.rst:28766 msgid "" "This function returns the first value raised to the second power with an " "unspecified sequence of rounding operations." msgstr "" -#: ../../../LangRef.rst:16313 +#: ../../../LangRef.rst:16601 msgid "" "Note that the `powi` function is unusual in that NaN inputs can lead to non-" "NaN results, and this depends on the kind of NaN (quiet vs signaling). Due " @@ -20316,374 +20617,374 @@ msgid "" "may non-deterministically return `1.0` or a NaN." msgstr "" -#: ../../../LangRef.rst:16323 +#: ../../../LangRef.rst:16611 msgid "'``llvm.sin.*``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:16328 +#: ../../../LangRef.rst:16616 msgid "" "This is an overloaded intrinsic. You can use ``llvm.sin`` on any floating-" "point or vector of floating-point type. Not all targets support all types " "however." msgstr "" -#: ../../../LangRef.rst:16343 +#: ../../../LangRef.rst:16631 msgid "The '``llvm.sin.*``' intrinsics return the sine of the operand." msgstr "" -#: ../../../LangRef.rst:16353 +#: ../../../LangRef.rst:16641 msgid "" "Return the same value as a corresponding libm '``sin``' function but without " "trapping or setting ``errno``." msgstr "" -#: ../../../LangRef.rst:16362 +#: ../../../LangRef.rst:16650 msgid "'``llvm.cos.*``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:16367 +#: ../../../LangRef.rst:16655 msgid "" "This is an overloaded intrinsic. You can use ``llvm.cos`` on any floating-" "point or vector of floating-point type. Not all targets support all types " "however." msgstr "" -#: ../../../LangRef.rst:16382 +#: ../../../LangRef.rst:16670 msgid "The '``llvm.cos.*``' intrinsics return the cosine of the operand." msgstr "" -#: ../../../LangRef.rst:16392 +#: ../../../LangRef.rst:16680 msgid "" "Return the same value as a corresponding libm '``cos``' function but without " "trapping or setting ``errno``." msgstr "" -#: ../../../LangRef.rst:16399 +#: ../../../LangRef.rst:16687 msgid "'``llvm.tan.*``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:16404 +#: ../../../LangRef.rst:16692 msgid "" "This is an overloaded intrinsic. You can use ``llvm.tan`` on any floating-" "point or vector of floating-point type. Not all targets support all types " "however." msgstr "" -#: ../../../LangRef.rst:16419 +#: ../../../LangRef.rst:16707 msgid "The '``llvm.tan.*``' intrinsics return the tangent of the operand." msgstr "" -#: ../../../LangRef.rst:16429 +#: ../../../LangRef.rst:16717 msgid "" "Return the same value as a corresponding libm '``tan``' function but without " "trapping or setting ``errno``." msgstr "" -#: ../../../LangRef.rst:16436 +#: ../../../LangRef.rst:16724 msgid "'``llvm.asin.*``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:16441 +#: ../../../LangRef.rst:16729 msgid "" "This is an overloaded intrinsic. You can use ``llvm.asin`` on any floating-" "point or vector of floating-point type. Not all targets support all types " "however." msgstr "" -#: ../../../LangRef.rst:16456 +#: ../../../LangRef.rst:16744 msgid "The '``llvm.asin.*``' intrinsics return the arcsine of the operand." msgstr "" -#: ../../../LangRef.rst:16466 +#: ../../../LangRef.rst:16754 msgid "" "Return the same value as a corresponding libm '``asin``' function but " "without trapping or setting ``errno``." msgstr "" -#: ../../../LangRef.rst:16473 +#: ../../../LangRef.rst:16761 msgid "'``llvm.acos.*``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:16478 +#: ../../../LangRef.rst:16766 msgid "" "This is an overloaded intrinsic. You can use ``llvm.acos`` on any floating-" "point or vector of floating-point type. Not all targets support all types " "however." msgstr "" -#: ../../../LangRef.rst:16493 +#: ../../../LangRef.rst:16781 msgid "The '``llvm.acos.*``' intrinsics return the arccosine of the operand." msgstr "" -#: ../../../LangRef.rst:16503 +#: ../../../LangRef.rst:16791 msgid "" "Return the same value as a corresponding libm '``acos``' function but " "without trapping or setting ``errno``." msgstr "" -#: ../../../LangRef.rst:16510 +#: ../../../LangRef.rst:16798 msgid "'``llvm.atan.*``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:16515 +#: ../../../LangRef.rst:16803 msgid "" "This is an overloaded intrinsic. You can use ``llvm.atan`` on any floating-" "point or vector of floating-point type. Not all targets support all types " "however." msgstr "" -#: ../../../LangRef.rst:16530 +#: ../../../LangRef.rst:16818 msgid "The '``llvm.atan.*``' intrinsics return the arctangent of the operand." msgstr "" -#: ../../../LangRef.rst:16540 +#: ../../../LangRef.rst:16828 msgid "" "Return the same value as a corresponding libm '``atan``' function but " "without trapping or setting ``errno``." msgstr "" -#: ../../../LangRef.rst:16547 +#: ../../../LangRef.rst:16835 msgid "'``llvm.atan2.*``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:16552 +#: ../../../LangRef.rst:16840 msgid "" "This is an overloaded intrinsic. You can use ``llvm.atan2`` on any floating-" "point or vector of floating-point type. Not all targets support all types " "however." msgstr "" -#: ../../../LangRef.rst:16567 +#: ../../../LangRef.rst:16855 msgid "" "The '``llvm.atan2.*``' intrinsics return the arctangent of ``Y/X`` " "accounting for the quadrant." msgstr "" -#: ../../../LangRef.rst:16573 ../../../LangRef.rst:16871 -#: ../../../LangRef.rst:17256 ../../../LangRef.rst:17428 -#: ../../../LangRef.rst:17488 ../../../LangRef.rst:17548 -#: ../../../LangRef.rst:17588 ../../../LangRef.rst:17628 -#: ../../../LangRef.rst:17676 ../../../LangRef.rst:17724 +#: ../../../LangRef.rst:16861 ../../../LangRef.rst:17159 +#: ../../../LangRef.rst:17544 ../../../LangRef.rst:17668 +#: ../../../LangRef.rst:17734 ../../../LangRef.rst:17800 +#: ../../../LangRef.rst:17848 ../../../LangRef.rst:17896 +#: ../../../LangRef.rst:17949 ../../../LangRef.rst:18002 msgid "" "The arguments and return value are floating-point numbers of the same type." msgstr "" -#: ../../../LangRef.rst:16578 +#: ../../../LangRef.rst:16866 msgid "" "Return the same value as a corresponding libm '``atan2``' function but " "without trapping or setting ``errno``." msgstr "" -#: ../../../LangRef.rst:16585 +#: ../../../LangRef.rst:16873 msgid "'``llvm.sinh.*``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:16590 +#: ../../../LangRef.rst:16878 msgid "" "This is an overloaded intrinsic. You can use ``llvm.sinh`` on any floating-" "point or vector of floating-point type. Not all targets support all types " "however." msgstr "" -#: ../../../LangRef.rst:16605 +#: ../../../LangRef.rst:16893 msgid "" "The '``llvm.sinh.*``' intrinsics return the hyperbolic sine of the operand." msgstr "" -#: ../../../LangRef.rst:16615 +#: ../../../LangRef.rst:16903 msgid "" "Return the same value as a corresponding libm '``sinh``' function but " "without trapping or setting ``errno``." msgstr "" -#: ../../../LangRef.rst:16622 +#: ../../../LangRef.rst:16910 msgid "'``llvm.cosh.*``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:16627 +#: ../../../LangRef.rst:16915 msgid "" "This is an overloaded intrinsic. You can use ``llvm.cosh`` on any floating-" "point or vector of floating-point type. Not all targets support all types " "however." msgstr "" -#: ../../../LangRef.rst:16642 +#: ../../../LangRef.rst:16930 msgid "" "The '``llvm.cosh.*``' intrinsics return the hyperbolic cosine of the operand." msgstr "" -#: ../../../LangRef.rst:16652 +#: ../../../LangRef.rst:16940 msgid "" "Return the same value as a corresponding libm '``cosh``' function but " "without trapping or setting ``errno``." msgstr "" -#: ../../../LangRef.rst:16659 +#: ../../../LangRef.rst:16947 msgid "'``llvm.tanh.*``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:16664 +#: ../../../LangRef.rst:16952 msgid "" "This is an overloaded intrinsic. You can use ``llvm.tanh`` on any floating-" "point or vector of floating-point type. Not all targets support all types " "however." msgstr "" -#: ../../../LangRef.rst:16679 +#: ../../../LangRef.rst:16967 msgid "" "The '``llvm.tanh.*``' intrinsics return the hyperbolic tangent of the " "operand." msgstr "" -#: ../../../LangRef.rst:16689 +#: ../../../LangRef.rst:16977 msgid "" "Return the same value as a corresponding libm '``tanh``' function but " "without trapping or setting ``errno``." msgstr "" -#: ../../../LangRef.rst:16697 +#: ../../../LangRef.rst:16985 msgid "'``llvm.sincos.*``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:16702 +#: ../../../LangRef.rst:16990 msgid "" "This is an overloaded intrinsic. You can use ``llvm.sincos`` on any floating-" "point or vector of floating-point type. Not all targets support all types " "however." msgstr "" -#: ../../../LangRef.rst:16718 +#: ../../../LangRef.rst:17006 msgid "" "The '``llvm.sincos.*``' intrinsics returns the sine and cosine of the " "operand." msgstr "" -#: ../../../LangRef.rst:16723 ../../../LangRef.rst:16766 -#: ../../../LangRef.rst:16812 +#: ../../../LangRef.rst:17011 ../../../LangRef.rst:17054 +#: ../../../LangRef.rst:17100 msgid "" "The argument is a :ref:`floating-point ` value or :ref:`vector " "` of floating-point values. Returns two values matching the " "argument type in a struct." msgstr "" -#: ../../../LangRef.rst:16730 +#: ../../../LangRef.rst:17018 msgid "" "This intrinsic is equivalent to a calling both :ref:`llvm.sin ` " "and :ref:`llvm.cos ` on the argument." msgstr "" -#: ../../../LangRef.rst:16733 +#: ../../../LangRef.rst:17021 msgid "" "The first result is the sine of the argument and the second result is the " "cosine of the argument." msgstr "" -#: ../../../LangRef.rst:16740 +#: ../../../LangRef.rst:17028 msgid "'``llvm.sincospi.*``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:16745 +#: ../../../LangRef.rst:17033 msgid "" "This is an overloaded intrinsic. You can use ``llvm.sincospi`` on any " "floating-point or vector of floating-point type. Not all targets support all " "types however." msgstr "" -#: ../../../LangRef.rst:16761 +#: ../../../LangRef.rst:17049 msgid "" "The '``llvm.sincospi.*``' intrinsics returns the sine and cosine of " "pi*operand." msgstr "" -#: ../../../LangRef.rst:16773 +#: ../../../LangRef.rst:17061 msgid "" "This is equivalent to the ``llvm.sincos.*`` intrinsic where the argument has " "been multiplied by pi, however, it computes the result more accurately " "especially for large input values." msgstr "" -#: ../../../LangRef.rst:16779 +#: ../../../LangRef.rst:17067 msgid "" "Currently, the default lowering of this intrinsic relies on the ``sincospi[f|" "l]`` functions being available in the target's runtime (e.g., libc)." msgstr "" -#: ../../../LangRef.rst:16786 +#: ../../../LangRef.rst:17074 msgid "'``llvm.modf.*``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:16791 +#: ../../../LangRef.rst:17079 msgid "" "This is an overloaded intrinsic. You can use ``llvm.modf`` on any floating-" "point or vector of floating-point type. However, not all targets support all " "types." msgstr "" -#: ../../../LangRef.rst:16806 +#: ../../../LangRef.rst:17094 msgid "" "The '``llvm.modf.*``' intrinsics return the operand's integral and " "fractional parts." msgstr "" -#: ../../../LangRef.rst:16819 +#: ../../../LangRef.rst:17107 msgid "" "Return the same values as a corresponding libm '``modf``' function without " "trapping or setting ``errno``." msgstr "" -#: ../../../LangRef.rst:16822 +#: ../../../LangRef.rst:17110 msgid "" "The first result is the fractional part of the operand and the second result " "is the integral part of the operand. Both results have the same sign as the " "operand." msgstr "" -#: ../../../LangRef.rst:16825 +#: ../../../LangRef.rst:17113 msgid "" "Not including exceptional inputs (listed below), ``llvm.modf.*`` is " "semantically equivalent to:" msgstr "" -#: ../../../LangRef.rst:16833 +#: ../../../LangRef.rst:17121 msgid "(assuming no floating-point precision errors)" msgstr "" -#: ../../../LangRef.rst:16835 +#: ../../../LangRef.rst:17123 msgid "" "If the argument is a zero, returns a zero with the same sign for both the " "fractional and integral parts." msgstr "" -#: ../../../LangRef.rst:16838 +#: ../../../LangRef.rst:17126 msgid "" "If the argument is an infinity, returns a fractional part of zero with the " "same sign, and infinity with the same sign as the integral part." msgstr "" -#: ../../../LangRef.rst:16845 +#: ../../../LangRef.rst:17133 msgid "'``llvm.pow.*``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:16850 +#: ../../../LangRef.rst:17138 msgid "" "This is an overloaded intrinsic. You can use ``llvm.pow`` on any floating-" "point or vector of floating-point type. Not all targets support all types " "however." msgstr "" -#: ../../../LangRef.rst:16865 +#: ../../../LangRef.rst:17153 msgid "" "The '``llvm.pow.*``' intrinsics return the first operand raised to the " "specified (positive or negative) power." msgstr "" -#: ../../../LangRef.rst:16876 +#: ../../../LangRef.rst:17164 msgid "" "Return the same value as a corresponding libm '``pow``' function but without " "trapping or setting ``errno``." msgstr "" -#: ../../../LangRef.rst:16882 +#: ../../../LangRef.rst:17170 msgid "" "Note that the `pow` function is unusual in that NaN inputs can lead to non-" "NaN results, and this depends on the kind of NaN (quiet vs signaling). Due " @@ -20693,91 +20994,91 @@ msgid "" "0.0)` may non-deterministically return `1.0` or a NaN." msgstr "" -#: ../../../LangRef.rst:16892 +#: ../../../LangRef.rst:17180 msgid "'``llvm.exp.*``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:16897 +#: ../../../LangRef.rst:17185 msgid "" "This is an overloaded intrinsic. You can use ``llvm.exp`` on any floating-" "point or vector of floating-point type. Not all targets support all types " "however." msgstr "" -#: ../../../LangRef.rst:16912 +#: ../../../LangRef.rst:17200 msgid "" "The '``llvm.exp.*``' intrinsics compute the base-e exponential of the " "specified value." msgstr "" -#: ../../../LangRef.rst:16923 +#: ../../../LangRef.rst:17211 msgid "" "Return the same value as a corresponding libm '``exp``' function but without " "trapping or setting ``errno``." msgstr "" -#: ../../../LangRef.rst:16932 +#: ../../../LangRef.rst:17220 msgid "'``llvm.exp2.*``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:16937 +#: ../../../LangRef.rst:17225 msgid "" "This is an overloaded intrinsic. You can use ``llvm.exp2`` on any floating-" "point or vector of floating-point type. Not all targets support all types " "however." msgstr "" -#: ../../../LangRef.rst:16952 +#: ../../../LangRef.rst:17240 msgid "" "The '``llvm.exp2.*``' intrinsics compute the base-2 exponential of the " "specified value." msgstr "" -#: ../../../LangRef.rst:16963 +#: ../../../LangRef.rst:17251 msgid "" "Return the same value as a corresponding libm '``exp2``' function but " "without trapping or setting ``errno``." msgstr "" -#: ../../../LangRef.rst:16972 +#: ../../../LangRef.rst:17260 msgid "'``llvm.exp10.*``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:16977 +#: ../../../LangRef.rst:17265 msgid "" "This is an overloaded intrinsic. You can use ``llvm.exp10`` on any floating-" "point or vector of floating-point type. Not all targets support all types " "however." msgstr "" -#: ../../../LangRef.rst:16992 +#: ../../../LangRef.rst:17280 msgid "" "The '``llvm.exp10.*``' intrinsics compute the base-10 exponential of the " "specified value." msgstr "" -#: ../../../LangRef.rst:17003 +#: ../../../LangRef.rst:17291 msgid "" "Return the same value as a corresponding libm '``exp10``' function but " "without trapping or setting ``errno``." msgstr "" -#: ../../../LangRef.rst:17011 +#: ../../../LangRef.rst:17299 msgid "'``llvm.ldexp.*``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:17016 +#: ../../../LangRef.rst:17304 msgid "" "This is an overloaded intrinsic. You can use ``llvm.ldexp`` on any floating " "point or vector of floating point type. Not all targets support all types " "however." msgstr "" -#: ../../../LangRef.rst:17032 +#: ../../../LangRef.rst:17320 msgid "The '``llvm.ldexp.*``' intrinsics perform the ldexp function." msgstr "" -#: ../../../LangRef.rst:17037 ../../../LangRef.rst:28354 +#: ../../../LangRef.rst:17325 ../../../LangRef.rst:28792 msgid "" "The first argument and the return value are :ref:`floating-point " "` or :ref:`vector ` of floating-point values of the " @@ -20785,7 +21086,7 @@ msgid "" "elements." msgstr "" -#: ../../../LangRef.rst:17045 ../../../LangRef.rst:28366 +#: ../../../LangRef.rst:17333 ../../../LangRef.rst:28804 msgid "" "This function multiplies the first argument by 2 raised to the second " "argument's power. If the first argument is NaN or infinite, the same value " @@ -20793,22 +21094,22 @@ msgid "" "If the result overflows, the result is an infinity with the same sign." msgstr "" -#: ../../../LangRef.rst:17054 +#: ../../../LangRef.rst:17342 msgid "'``llvm.frexp.*``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:17059 +#: ../../../LangRef.rst:17347 msgid "" "This is an overloaded intrinsic. You can use ``llvm.frexp`` on any floating " "point or vector of floating point type. Not all targets support all types " "however." msgstr "" -#: ../../../LangRef.rst:17075 +#: ../../../LangRef.rst:17363 msgid "The '``llvm.frexp.*``' intrinsics perform the frexp function." msgstr "" -#: ../../../LangRef.rst:17080 +#: ../../../LangRef.rst:17368 msgid "" "The argument is a :ref:`floating-point ` or :ref:`vector " "` of floating-point values. Returns two values in a struct. The " @@ -20817,13 +21118,13 @@ msgid "" "the argument." msgstr "" -#: ../../../LangRef.rst:17089 +#: ../../../LangRef.rst:17377 msgid "" "This intrinsic splits a floating point value into a normalized fractional " "component and integral exponent." msgstr "" -#: ../../../LangRef.rst:17092 +#: ../../../LangRef.rst:17380 msgid "" "For a non-zero argument, returns the argument multiplied by some power of " "two such that the absolute value of the returned value is in the range [0.5, " @@ -20832,132 +21133,132 @@ msgid "" "input argument." msgstr "" -#: ../../../LangRef.rst:17098 +#: ../../../LangRef.rst:17386 msgid "" "If the argument is a zero, returns a zero with the same sign and a 0 " "exponent." msgstr "" -#: ../../../LangRef.rst:17101 +#: ../../../LangRef.rst:17389 msgid "" "If the argument is a NaN, a NaN is returned and the returned exponent is " "unspecified." msgstr "" -#: ../../../LangRef.rst:17104 +#: ../../../LangRef.rst:17392 msgid "" "If the argument is an infinity, returns an infinity with the same sign and " "an unspecified exponent." msgstr "" -#: ../../../LangRef.rst:17110 +#: ../../../LangRef.rst:17398 msgid "'``llvm.log.*``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:17115 +#: ../../../LangRef.rst:17403 msgid "" "This is an overloaded intrinsic. You can use ``llvm.log`` on any floating-" "point or vector of floating-point type. Not all targets support all types " "however." msgstr "" -#: ../../../LangRef.rst:17130 +#: ../../../LangRef.rst:17418 msgid "" "The '``llvm.log.*``' intrinsics compute the base-e logarithm of the " "specified value." msgstr "" -#: ../../../LangRef.rst:17141 +#: ../../../LangRef.rst:17429 msgid "" "Return the same value as a corresponding libm '``log``' function but without " "trapping or setting ``errno``." msgstr "" -#: ../../../LangRef.rst:17150 +#: ../../../LangRef.rst:17438 msgid "'``llvm.log10.*``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:17155 +#: ../../../LangRef.rst:17443 msgid "" "This is an overloaded intrinsic. You can use ``llvm.log10`` on any floating-" "point or vector of floating-point type. Not all targets support all types " "however." msgstr "" -#: ../../../LangRef.rst:17170 +#: ../../../LangRef.rst:17458 msgid "" "The '``llvm.log10.*``' intrinsics compute the base-10 logarithm of the " "specified value." msgstr "" -#: ../../../LangRef.rst:17181 +#: ../../../LangRef.rst:17469 msgid "" "Return the same value as a corresponding libm '``log10``' function but " "without trapping or setting ``errno``." msgstr "" -#: ../../../LangRef.rst:17191 +#: ../../../LangRef.rst:17479 msgid "'``llvm.log2.*``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:17196 +#: ../../../LangRef.rst:17484 msgid "" "This is an overloaded intrinsic. You can use ``llvm.log2`` on any floating-" "point or vector of floating-point type. Not all targets support all types " "however." msgstr "" -#: ../../../LangRef.rst:17211 +#: ../../../LangRef.rst:17499 msgid "" "The '``llvm.log2.*``' intrinsics compute the base-2 logarithm of the " "specified value." msgstr "" -#: ../../../LangRef.rst:17222 +#: ../../../LangRef.rst:17510 msgid "" "Return the same value as a corresponding libm '``log2``' function but " "without trapping or setting ``errno``." msgstr "" -#: ../../../LangRef.rst:17231 +#: ../../../LangRef.rst:17519 msgid "'``llvm.fma.*``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:17236 +#: ../../../LangRef.rst:17524 msgid "" "This is an overloaded intrinsic. You can use ``llvm.fma`` on any floating-" "point or vector of floating-point type. Not all targets support all types " "however." msgstr "" -#: ../../../LangRef.rst:17251 +#: ../../../LangRef.rst:17539 msgid "" "The '``llvm.fma.*``' intrinsics perform the fused multiply-add operation." msgstr "" -#: ../../../LangRef.rst:17261 +#: ../../../LangRef.rst:17549 msgid "" -"Return the same value as the IEEE-754 fusedMultiplyAdd operation. This is " +"Return the same value as the IEEE 754 fusedMultiplyAdd operation. This is " "assumed to not trap or set ``errno``." msgstr "" -#: ../../../LangRef.rst:17270 +#: ../../../LangRef.rst:17558 msgid "'``llvm.fabs.*``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:17275 +#: ../../../LangRef.rst:17563 msgid "" "This is an overloaded intrinsic. You can use ``llvm.fabs`` on any floating-" "point or vector of floating-point type. Not all targets support all types " "however." msgstr "" -#: ../../../LangRef.rst:17290 +#: ../../../LangRef.rst:17578 msgid "" "The '``llvm.fabs.*``' intrinsics return the absolute value of the operand." msgstr "" -#: ../../../LangRef.rst:17302 +#: ../../../LangRef.rst:17590 msgid "" "This function returns the same values as the libm ``fabs`` functions would, " "and handles error conditions in the same way. The returned value is " @@ -20966,336 +21267,293 @@ msgid "" "preserved." msgstr "" -#: ../../../LangRef.rst:17311 -msgid "'``llvm.min.*``' Intrinsics Comparation" +#: ../../../LangRef.rst:17599 +msgid "Floating-point min/max intrinsics comparison" msgstr "" -#: ../../../LangRef.rst:17314 -msgid "Standard:" -msgstr "" - -#: ../../../LangRef.rst:17316 +#: ../../../LangRef.rst:17601 msgid "" -"IEEE754 and ISO C define some min/max operations, and they have some " -"differences on working with qNaN/sNaN and +0.0/-0.0. Here is the list:" -msgstr "" - -#: ../../../LangRef.rst:17322 -msgid "``ISO C``" -msgstr "" - -#: ../../../LangRef.rst:17323 -msgid "fmin/fmax" -msgstr "" - -#: ../../../LangRef.rst:17324 -msgid "fmininum/fmaximum" -msgstr "" - -#: ../../../LangRef.rst:17325 -msgid "fminimum_num/fmaximum_num" -msgstr "" - -#: ../../../LangRef.rst:17327 -msgid "``IEEE754``" -msgstr "" - -#: ../../../LangRef.rst:17328 -msgid "minNum/maxNum (2008)" -msgstr "" - -#: ../../../LangRef.rst:17329 -msgid "minimum/maximum (2019)" -msgstr "" - -#: ../../../LangRef.rst:17330 -msgid "minimumNumber/maximumNumber (2019)" -msgstr "" - -#: ../../../LangRef.rst:17332 ../../../LangRef.rst:17388 -msgid "``+0.0 vs -0.0``" -msgstr "" - -#: ../../../LangRef.rst:17333 -msgid "either one" -msgstr "" - -#: ../../../LangRef.rst:17334 ../../../LangRef.rst:17335 -msgid "+0.0 > -0.0" -msgstr "" - -#: ../../../LangRef.rst:17337 ../../../LangRef.rst:17373 -msgid "``NUM vs sNaN``" -msgstr "" - -#: ../../../LangRef.rst:17338 ../../../LangRef.rst:17339 -#: ../../../LangRef.rst:17343 ../../../LangRef.rst:17344 -#: ../../../LangRef.rst:17345 ../../../LangRef.rst:17374 -#: ../../../LangRef.rst:17375 ../../../LangRef.rst:17379 -#: ../../../LangRef.rst:17380 ../../../LangRef.rst:17381 -#: ../../../LangRef.rst:17384 ../../../LangRef.rst:17385 -#: ../../../LangRef.rst:17386 -msgid "qNaN, invalid exception" +"LLVM supports three pairs of floating-point min/max intrinsics, which differ " +"in their handling of :ref:`NaN values `:" msgstr "" -#: ../../../LangRef.rst:17340 ../../../LangRef.rst:17376 -msgid "NUM, invalid exception" +#: ../../../LangRef.rst:17604 +msgid "" +"``llvm.minimum`` and ``llvm.maximum``: Return NaN if one the arguments is " +"NaN." msgstr "" -#: ../../../LangRef.rst:17342 ../../../LangRef.rst:17378 -msgid "``qNaN vs sNaN``" +#: ../../../LangRef.rst:17606 +msgid "" +"``llvm.minimumnum`` and ``llvm.maximumnum``: Return the other argument if " +"one of the arguments is NaN." msgstr "" -#: ../../../LangRef.rst:17347 ../../../LangRef.rst:17368 -msgid "``NUM vs qNaN``" +#: ../../../LangRef.rst:17608 +msgid "" +"``llvm.minnum`` and ``llvm.maxnum``: For quiet NaNs behaves like minimumnum/" +"maximumnum. For signaling NaNs, non-deterministically returns NaN or the " +"other operand." msgstr "" -#: ../../../LangRef.rst:17348 ../../../LangRef.rst:17350 -#: ../../../LangRef.rst:17369 ../../../LangRef.rst:17371 -msgid "NUM, no exception" +#: ../../../LangRef.rst:17612 +msgid "" +"Additionally, each of these intrinsics supports two behaviors for signed " +"zeros. By default, -0.0 is considered smaller than +0.0. If the ``nsz`` flag " +"is specified, the order is non-deterministic: If the two inputs are zeros " +"with opposite sign, either input may be returned." msgstr "" -#: ../../../LangRef.rst:17349 ../../../LangRef.rst:17370 -msgid "qNaN, no exception" +#: ../../../LangRef.rst:17617 +msgid "" +"The mapping between the LLVM intrinsics, C functions and IEEE 754 functions " +"is as follows (up to divergences permitted by the usual `NaN rules " +"`):" msgstr "" -#: ../../../LangRef.rst:17353 -msgid "LLVM Implementation:" +#: ../../../LangRef.rst:17623 +msgid "LLVM intrinsic" msgstr "" -#: ../../../LangRef.rst:17355 -msgid "" -"LLVM implements all ISO C flavors as listed in this table, except in the " -"default floating-point environment exceptions are ignored. The constrained " -"versions of the intrinsics respect the exception behavior." +#: ../../../LangRef.rst:17624 +msgid "llvm.minnum with nsz flag" msgstr "" -#: ../../../LangRef.rst:17363 -msgid "Operation" +#: ../../../LangRef.rst:17625 +msgid "llvm.minimum" msgstr "" -#: ../../../LangRef.rst:17364 -msgid "minnum/maxnum" +#: ../../../LangRef.rst:17626 +msgid "llvm.minimumnum" msgstr "" -#: ../../../LangRef.rst:17365 -msgid "minimum/maximum" +#: ../../../LangRef.rst:17628 +msgid "C function" msgstr "" -#: ../../../LangRef.rst:17366 -msgid "minimumnum/maximumnum" +#: ../../../LangRef.rst:17631 +msgid "fminimum_num" msgstr "" -#: ../../../LangRef.rst:17383 -msgid "``sNaN vs sNaN``" +#: ../../../LangRef.rst:17633 +msgid "IEEE 754 function" msgstr "" -#: ../../../LangRef.rst:17389 ../../../LangRef.rst:17390 -#: ../../../LangRef.rst:17391 -msgid "+0.0(max)/-0.0(min)" +#: ../../../LangRef.rst:17634 +msgid "minNum (2008)" msgstr "" -#: ../../../LangRef.rst:17393 -msgid "``NUM vs NUM``" +#: ../../../LangRef.rst:17635 +msgid "minimum (2019)" msgstr "" -#: ../../../LangRef.rst:17394 ../../../LangRef.rst:17395 -#: ../../../LangRef.rst:17396 -msgid "larger(max)/smaller(min)" +#: ../../../LangRef.rst:17636 +msgid "minimumNumber (2019)" msgstr "" -#: ../../../LangRef.rst:17401 +#: ../../../LangRef.rst:17641 msgid "'``llvm.minnum.*``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:17406 +#: ../../../LangRef.rst:17646 msgid "" "This is an overloaded intrinsic. You can use ``llvm.minnum`` on any floating-" "point or vector of floating-point type. Not all targets support all types " "however." msgstr "" -#: ../../../LangRef.rst:17421 +#: ../../../LangRef.rst:17661 msgid "" "The '``llvm.minnum.*``' intrinsics return the minimum of the two arguments." msgstr "" -#: ../../../LangRef.rst:17433 +#: ../../../LangRef.rst:17674 msgid "" -"Follows the semantics of minNum in IEEE-754-2008, except that -0.0 < +0.0 " -"for the purposes of this intrinsic. As for signaling NaNs, per the minNum " -"semantics, if either operand is sNaN, the result is qNaN. This matches the " -"recommended behavior for the libm function ``fmin``, although not all " -"implementations have implemented these recommended behaviors." +"If both operands are qNaNs, returns a :ref:`NaN `. If one operand " +"is qNaN and another operand is a number, returns the number. If both " +"operands are numbers, returns the lesser of the two arguments. -0.0 is " +"considered to be less than +0.0 for this intrinsic." msgstr "" -#: ../../../LangRef.rst:17438 +#: ../../../LangRef.rst:17679 ../../../LangRef.rst:17745 msgid "" -"If either operand is a qNaN, returns the other non-NaN operand. Returns NaN " -"only if both operands are NaN or if either operand is sNaN. Note that " -"arithmetic on an sNaN doesn't consistently produce a qNaN, so arithmetic " -"feeding into a minnum can produce inconsistent results. For example, " -"``minnum(fadd(sNaN, -0.0), 1.0)`` can produce qNaN or 1.0 depending on " -"whether ``fadd`` is folded." +"If an operand is a signaling NaN, then the intrinsic will non-" +"deterministically either:" msgstr "" -#: ../../../LangRef.rst:17443 +#: ../../../LangRef.rst:17682 ../../../LangRef.rst:17748 +#: ../../../LangRef.rst:20732 ../../../LangRef.rst:20766 +msgid "Return a :ref:`NaN `." +msgstr "" + +#: ../../../LangRef.rst:17683 ../../../LangRef.rst:17749 +msgid "Or treat the signaling NaN as a quiet NaN." +msgstr "" + +#: ../../../LangRef.rst:17685 msgid "" -"IEEE-754-2008 defines minNum, and it was removed in IEEE-754-2019. As the " -"replacement, IEEE-754-2019 defines :ref:`minimumNumber `." +"If the ``nsz`` flag is specified, ``llvm.minnum`` with one +0.0 and one -0.0 " +"operand may non-deterministically return either operand. Contrary to normal " +"``nsz`` semantics, if both operands have the same sign, the result must also " +"have the same sign." msgstr "" -#: ../../../LangRef.rst:17446 +#: ../../../LangRef.rst:17690 msgid "" -"If the intrinsic is marked with the nsz attribute, then the effect is as in " -"the definition in C and IEEE-754-2008: the result of ``minnum(-0.0, +0.0)`` " -"may be either -0.0 or +0.0." +"When used with the ``nsz`` flag, this intrinsic follows the semantics of " +"``fmin`` in C and ``minNum`` in IEEE 754-2008, except for signaling NaN " +"inputs, which follow :ref:`LLVM's usual signaling NaN behavior ` " +"instead." msgstr "" -#: ../../../LangRef.rst:17449 +#: ../../../LangRef.rst:17694 msgid "" -"Some architectures, such as ARMv8 (FMINNM), LoongArch (fmin), MIPSr6 (min." -"fmt), PowerPC/VSX (xsmindp), have instructions that match these semantics " -"exactly; thus it is quite simple for these architectures. Some architectures " -"have similar ones while they are not exact equivalent. Such as x86 " -"implements ``MINPS``, which implements the semantics of C code ``a`_." msgstr "" -#: ../../../LangRef.rst:17461 +#: ../../../LangRef.rst:17707 msgid "'``llvm.maxnum.*``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:17466 +#: ../../../LangRef.rst:17712 msgid "" "This is an overloaded intrinsic. You can use ``llvm.maxnum`` on any floating-" "point or vector of floating-point type. Not all targets support all types " "however." msgstr "" -#: ../../../LangRef.rst:17481 +#: ../../../LangRef.rst:17727 msgid "" "The '``llvm.maxnum.*``' intrinsics return the maximum of the two arguments." msgstr "" -#: ../../../LangRef.rst:17493 +#: ../../../LangRef.rst:17740 msgid "" -"Follows the semantics of maxNum in IEEE-754-2008, except that -0.0 < +0.0 " -"for the purposes of this intrinsic. As for signaling NaNs, per the maxNum " -"semantics, if either operand is sNaN, the result is qNaN. This matches the " -"recommended behavior for the libm function ``fmax``, although not all " -"implementations have implemented these recommended behaviors." +"If both operands are qNaNs, returns a :ref:`NaN `. If one operand " +"is qNaN and another operand is a number, returns the number. If both " +"operands are numbers, returns the greater of the two arguments. -0.0 is " +"considered to be less than +0.0 for this intrinsic." msgstr "" -#: ../../../LangRef.rst:17498 +#: ../../../LangRef.rst:17751 msgid "" -"If either operand is a qNaN, returns the other non-NaN operand. Returns NaN " -"only if both operands are NaN or if either operand is sNaN. Note that " -"arithmetic on an sNaN doesn't consistently produce a qNaN, so arithmetic " -"feeding into a maxnum can produce inconsistent results. For example, " -"``maxnum(fadd(sNaN, -0.0), 1.0)`` can produce qNaN or 1.0 depending on " -"whether ``fadd`` is folded." +"If the ``nsz`` flag is specified, ``llvm.maxnum`` with one +0.0 and one -0.0 " +"operand may non-deterministically return either operand. Contrary to normal " +"``nsz`` semantics, if both operands have the same sign, the result must also " +"have the same sign." msgstr "" -#: ../../../LangRef.rst:17503 +#: ../../../LangRef.rst:17756 msgid "" -"IEEE-754-2008 defines maxNum, and it was removed in IEEE-754-2019. As the " -"replacement, IEEE-754-2019 defines :ref:`maximumNumber `." -msgstr "" - -#: ../../../LangRef.rst:17506 -msgid "" -"If the intrinsic is marked with the nsz attribute, then the effect is as in " -"the definition in C and IEEE-754-2008: the result of maxnum(-0.0, +0.0) may " -"be either -0.0 or +0.0." +"When used with the ``nsz`` flag, this intrinsic follows the semantics of " +"``fmax`` in C and ``maxNum`` in IEEE 754-2008, except for signaling NaN " +"inputs, which follow :ref:`LLVM's usual signaling NaN behavior ` " +"instead." msgstr "" -#: ../../../LangRef.rst:17509 +#: ../../../LangRef.rst:17760 msgid "" -"Some architectures, such as ARMv8 (FMAXNM), LoongArch (fmax), MIPSr6 (max." -"fmt), PowerPC/VSX (xsmaxdp), have instructions that match these semantics " -"exactly; thus it is quite simple for these architectures. Some architectures " -"have similar ones while they are not exact equivalent. Such as x86 " -"implements ``MAXPS``, which implements the semantics of C code ``a>b?a:b``: " -"NUM vs qNaN always return qNaN. ``MAXPS`` can be used if ``nsz`` and " -"``nnan`` are given." +"The ``llvm.maxnum`` intrinsic can be refined into ``llvm.maximumnum``, as " +"the latter exhibits a subset of behaviors of the former." msgstr "" -#: ../../../LangRef.rst:17521 +#: ../../../LangRef.rst:17773 msgid "'``llvm.minimum.*``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:17526 +#: ../../../LangRef.rst:17778 msgid "" "This is an overloaded intrinsic. You can use ``llvm.minimum`` on any " "floating-point or vector of floating-point type. Not all targets support all " "types however." msgstr "" -#: ../../../LangRef.rst:17541 +#: ../../../LangRef.rst:17793 msgid "" "The '``llvm.minimum.*``' intrinsics return the minimum of the two arguments, " "propagating NaNs and treating -0.0 as less than +0.0." msgstr "" -#: ../../../LangRef.rst:17553 +#: ../../../LangRef.rst:17805 +msgid "" +"If either operand is a NaN, returns a :ref:`NaN `. Otherwise " +"returns the lesser of the two arguments. -0.0 is considered to be less than " +"+0.0 for this intrinsic." +msgstr "" + +#: ../../../LangRef.rst:17809 msgid "" -"If either operand is a NaN, returns NaN. Otherwise returns the lesser of the " -"two arguments. -0.0 is considered to be less than +0.0 for this intrinsic. " -"Note that these are the semantics specified in the draft of IEEE 754-2019." +"This intrinsic follows the semantics of ``fminimum`` in C23 and ``minimum`` " +"in IEEE 754-2019, except for signaling NaN inputs, which follow :ref:`LLVM's " +"usual signaling NaN behavior ` instead." msgstr "" -#: ../../../LangRef.rst:17561 +#: ../../../LangRef.rst:17813 ../../../LangRef.rst:17861 +msgid "" +"If the ``nsz`` flag is specified, ``llvm.maximum`` with one +0.0 and one " +"-0.0 operand may non-deterministically return either operand. Contrary to " +"normal ``nsz`` semantics, if both operands have the same sign, the result " +"must also have the same sign." +msgstr "" + +#: ../../../LangRef.rst:17821 msgid "'``llvm.maximum.*``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:17566 +#: ../../../LangRef.rst:17826 msgid "" "This is an overloaded intrinsic. You can use ``llvm.maximum`` on any " "floating-point or vector of floating-point type. Not all targets support all " "types however." msgstr "" -#: ../../../LangRef.rst:17581 +#: ../../../LangRef.rst:17841 msgid "" "The '``llvm.maximum.*``' intrinsics return the maximum of the two arguments, " "propagating NaNs and treating -0.0 as less than +0.0." msgstr "" -#: ../../../LangRef.rst:17593 +#: ../../../LangRef.rst:17853 msgid "" -"If either operand is a NaN, returns NaN. Otherwise returns the greater of " -"the two arguments. -0.0 is considered to be less than +0.0 for this " -"intrinsic. Note that these are the semantics specified in the draft of IEEE " -"754-2019." +"If either operand is a NaN, returns a :ref:`NaN `. Otherwise " +"returns the greater of the two arguments. -0.0 is considered to be less than " +"+0.0 for this intrinsic." msgstr "" -#: ../../../LangRef.rst:17601 +#: ../../../LangRef.rst:17857 +msgid "" +"This intrinsic follows the semantics of ``fmaximum`` in C23 and ``maximum`` " +"in IEEE 754-2019, except for signaling NaN inputs, which follow :ref:`LLVM's " +"usual signaling NaN behavior ` instead." +msgstr "" + +#: ../../../LangRef.rst:17869 msgid "'``llvm.minimumnum.*``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:17606 +#: ../../../LangRef.rst:17874 msgid "" "This is an overloaded intrinsic. You can use ``llvm.minimumnum`` on any " "floating-point or vector of floating-point type. Not all targets support all " "types however." msgstr "" -#: ../../../LangRef.rst:17621 +#: ../../../LangRef.rst:17889 msgid "" "The '``llvm.minimumnum.*``' intrinsics return the minimum of the two " "arguments, not propagating NaNs and treating -0.0 as less than +0.0." msgstr "" -#: ../../../LangRef.rst:17634 +#: ../../../LangRef.rst:17902 msgid "" "If both operands are NaNs (including sNaN), returns a :ref:`NaN `. " "If one operand is NaN (including sNaN) and another operand is a number, " @@ -21303,37 +21561,45 @@ msgid "" "is considered to be less than +0.0 for this intrinsic." msgstr "" -#: ../../../LangRef.rst:17639 +#: ../../../LangRef.rst:17907 +msgid "" +"If the ``nsz`` flag is specified, ``llvm.minimumnum`` with one +0.0 and one " +"-0.0 operand may non-deterministically return either operand. Contrary to " +"normal ``nsz`` semantics, if both operands have the same sign, the result " +"must also have the same sign." +msgstr "" + +#: ../../../LangRef.rst:17912 msgid "" -"Note that these are the semantics of minimumNumber specified in " -"IEEE-754-2019 with the usual :ref:`signaling NaN ` exception." +"This intrinsic follows the semantics of ``fminimum_num`` in C23 and " +"``minimumNumber`` in IEEE 754-2019, except for signaling NaN inputs, which " +"follow :ref:`LLVM's usual signaling NaN behavior ` instead." msgstr "" -#: ../../../LangRef.rst:17642 +#: ../../../LangRef.rst:17916 msgid "" -"It has some differences with '``llvm.minnum.*``': 1)'``llvm.minnum.*``' will " -"return qNaN if either operand is sNaN. 2)'``llvm.minnum*``' may return " -"either one if we compare +0.0 vs -0.0." +"This intrinsic behaves the same as ``llvm.minnum`` other than its treatment " +"of sNaN inputs." msgstr "" -#: ../../../LangRef.rst:17649 +#: ../../../LangRef.rst:17922 msgid "'``llvm.maximumnum.*``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:17654 +#: ../../../LangRef.rst:17927 msgid "" "This is an overloaded intrinsic. You can use ``llvm.maximumnum`` on any " "floating-point or vector of floating-point type. Not all targets support all " "types however." msgstr "" -#: ../../../LangRef.rst:17669 +#: ../../../LangRef.rst:17942 msgid "" "The '``llvm.maximumnum.*``' intrinsics return the maximum of the two " "arguments, not propagating NaNs and treating -0.0 as less than +0.0." msgstr "" -#: ../../../LangRef.rst:17682 +#: ../../../LangRef.rst:17955 msgid "" "If both operands are NaNs (including sNaN), returns a :ref:`NaN `. " "If one operand is NaN (including sNaN) and another operand is a number, " @@ -21341,37 +21607,45 @@ msgid "" "is considered to be less than +0.0 for this intrinsic." msgstr "" -#: ../../../LangRef.rst:17688 +#: ../../../LangRef.rst:17961 msgid "" -"Note that these are the semantics of maximumNumber specified in " -"IEEE-754-2019 with the usual :ref:`signaling NaN ` exception." +"If the ``nsz`` flag is specified, ``llvm.maximumnum`` with one +0.0 and one " +"-0.0 operand may non-deterministically return either operand. Contrary to " +"normal ``nsz`` semantics, if both operands have the same sign, the result " +"must also have the same sign." msgstr "" -#: ../../../LangRef.rst:17691 +#: ../../../LangRef.rst:17966 msgid "" -"It has some differences with '``llvm.maxnum.*``': 1)'``llvm.maxnum.*``' will " -"return qNaN if either operand is sNaN. 2)'``llvm.maxnum*``' may return " -"either one if we compare +0.0 vs -0.0." +"This intrinsic follows the semantics of ``fmaximum_num`` in C23 and " +"``maximumNumber`` in IEEE 754-2019, except for signaling NaN inputs, which " +"follow :ref:`LLVM's usual signaling NaN behavior ` instead." msgstr "" -#: ../../../LangRef.rst:17698 +#: ../../../LangRef.rst:17970 +msgid "" +"This intrinsic behaves the same as ``llvm.maxnum`` other than its treatment " +"of sNaN inputs." +msgstr "" + +#: ../../../LangRef.rst:17976 msgid "'``llvm.copysign.*``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:17703 +#: ../../../LangRef.rst:17981 msgid "" "This is an overloaded intrinsic. You can use ``llvm.copysign`` on any " "floating-point or vector of floating-point type. Not all targets support all " "types however." msgstr "" -#: ../../../LangRef.rst:17718 +#: ../../../LangRef.rst:17996 msgid "" "The '``llvm.copysign.*``' intrinsics return a value with the magnitude of " "the first operand and the sign of the second operand." msgstr "" -#: ../../../LangRef.rst:17730 +#: ../../../LangRef.rst:18008 msgid "" "This function returns the same values as the libm ``copysign`` functions " "would, and handles error conditions in the same way. The returned value is " @@ -21380,90 +21654,90 @@ msgid "" "are perfectly preserved." msgstr "" -#: ../../../LangRef.rst:17739 +#: ../../../LangRef.rst:18017 msgid "'``llvm.floor.*``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:17744 +#: ../../../LangRef.rst:18022 msgid "" "This is an overloaded intrinsic. You can use ``llvm.floor`` on any floating-" "point or vector of floating-point type. Not all targets support all types " "however." msgstr "" -#: ../../../LangRef.rst:17759 +#: ../../../LangRef.rst:18037 msgid "The '``llvm.floor.*``' intrinsics return the floor of the operand." msgstr "" -#: ../../../LangRef.rst:17770 +#: ../../../LangRef.rst:18048 msgid "" "This function returns the same values as the libm ``floor`` functions would, " "and handles error conditions in the same way." msgstr "" -#: ../../../LangRef.rst:17776 +#: ../../../LangRef.rst:18054 msgid "'``llvm.ceil.*``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:17781 +#: ../../../LangRef.rst:18059 msgid "" "This is an overloaded intrinsic. You can use ``llvm.ceil`` on any floating-" "point or vector of floating-point type. Not all targets support all types " "however." msgstr "" -#: ../../../LangRef.rst:17796 +#: ../../../LangRef.rst:18074 msgid "The '``llvm.ceil.*``' intrinsics return the ceiling of the operand." msgstr "" -#: ../../../LangRef.rst:17807 +#: ../../../LangRef.rst:18085 msgid "" "This function returns the same values as the libm ``ceil`` functions would, " "and handles error conditions in the same way." msgstr "" -#: ../../../LangRef.rst:17814 +#: ../../../LangRef.rst:18092 msgid "'``llvm.trunc.*``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:17819 +#: ../../../LangRef.rst:18097 msgid "" "This is an overloaded intrinsic. You can use ``llvm.trunc`` on any floating-" "point or vector of floating-point type. Not all targets support all types " "however." msgstr "" -#: ../../../LangRef.rst:17834 +#: ../../../LangRef.rst:18112 msgid "" "The '``llvm.trunc.*``' intrinsics returns the operand rounded to the nearest " "integer not larger in magnitude than the operand." msgstr "" -#: ../../../LangRef.rst:17846 +#: ../../../LangRef.rst:18124 msgid "" "This function returns the same values as the libm ``trunc`` functions would, " "and handles error conditions in the same way." msgstr "" -#: ../../../LangRef.rst:17852 +#: ../../../LangRef.rst:18130 msgid "'``llvm.rint.*``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:17857 +#: ../../../LangRef.rst:18135 msgid "" "This is an overloaded intrinsic. You can use ``llvm.rint`` on any floating-" "point or vector of floating-point type. Not all targets support all types " "however." msgstr "" -#: ../../../LangRef.rst:17872 +#: ../../../LangRef.rst:18150 msgid "" "The '``llvm.rint.*``' intrinsics returns the operand rounded to the nearest " "integer. It may raise an inexact floating-point exception if the operand " "isn't an integer." msgstr "" -#: ../../../LangRef.rst:17885 +#: ../../../LangRef.rst:18163 msgid "" "This function returns the same values as the libm ``rint`` functions would, " "and handles error conditions in the same way. Since LLVM assumes the :ref:" @@ -21473,24 +21747,24 @@ msgid "" "avoid that assumption." msgstr "" -#: ../../../LangRef.rst:17895 +#: ../../../LangRef.rst:18173 msgid "'``llvm.nearbyint.*``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:17900 +#: ../../../LangRef.rst:18178 msgid "" "This is an overloaded intrinsic. You can use ``llvm.nearbyint`` on any " "floating-point or vector of floating-point type. Not all targets support all " "types however." msgstr "" -#: ../../../LangRef.rst:17915 +#: ../../../LangRef.rst:18193 msgid "" "The '``llvm.nearbyint.*``' intrinsics returns the operand rounded to the " "nearest integer." msgstr "" -#: ../../../LangRef.rst:17927 +#: ../../../LangRef.rst:18205 msgid "" "This function returns the same values as the libm ``nearbyint`` functions " "would, and handles error conditions in the same way. Since LLVM assumes the :" @@ -21500,80 +21774,80 @@ msgid "" "avoid that assumption." msgstr "" -#: ../../../LangRef.rst:17937 +#: ../../../LangRef.rst:18215 msgid "'``llvm.round.*``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:17942 +#: ../../../LangRef.rst:18220 msgid "" "This is an overloaded intrinsic. You can use ``llvm.round`` on any floating-" "point or vector of floating-point type. Not all targets support all types " "however." msgstr "" -#: ../../../LangRef.rst:17957 +#: ../../../LangRef.rst:18235 msgid "" "The '``llvm.round.*``' intrinsics returns the operand rounded to the nearest " "integer." msgstr "" -#: ../../../LangRef.rst:17969 +#: ../../../LangRef.rst:18247 msgid "" "This function returns the same values as the libm ``round`` functions would, " "and handles error conditions in the same way." msgstr "" -#: ../../../LangRef.rst:17975 +#: ../../../LangRef.rst:18253 msgid "'``llvm.roundeven.*``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:17980 +#: ../../../LangRef.rst:18258 msgid "" "This is an overloaded intrinsic. You can use ``llvm.roundeven`` on any " "floating-point or vector of floating-point type. Not all targets support all " "types however." msgstr "" -#: ../../../LangRef.rst:17995 +#: ../../../LangRef.rst:18273 msgid "" "The '``llvm.roundeven.*``' intrinsics returns the operand rounded to the " "nearest integer in floating-point format rounding halfway cases to even " "(that is, to the nearest value that is an even integer)." msgstr "" -#: ../../../LangRef.rst:18007 +#: ../../../LangRef.rst:18285 msgid "" -"This function implements IEEE-754 operation ``roundToIntegralTiesToEven``. " +"This function implements IEEE 754 operation ``roundToIntegralTiesToEven``. " "It also behaves in the same way as C standard function ``roundeven``, " "including that it disregards rounding mode and does not raise floating point " "exceptions." msgstr "" -#: ../../../LangRef.rst:18013 +#: ../../../LangRef.rst:18291 msgid "'``llvm.lround.*``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:18018 +#: ../../../LangRef.rst:18296 msgid "" "This is an overloaded intrinsic. You can use ``llvm.lround`` on any floating-" "point type or vector of floating-point type. Not all targets support all " "types however." msgstr "" -#: ../../../LangRef.rst:18039 +#: ../../../LangRef.rst:18317 msgid "" "The '``llvm.lround.*``' intrinsics return the operand rounded to the nearest " "integer with ties away from zero." msgstr "" -#: ../../../LangRef.rst:18046 ../../../LangRef.rst:18083 -#: ../../../LangRef.rst:18130 ../../../LangRef.rst:18170 +#: ../../../LangRef.rst:18324 ../../../LangRef.rst:18361 +#: ../../../LangRef.rst:18408 ../../../LangRef.rst:18448 msgid "" "The argument is a floating-point number and the return value is an integer " "type." msgstr "" -#: ../../../LangRef.rst:18052 +#: ../../../LangRef.rst:18330 msgid "" "This function returns the same values as the libm ``lround`` functions " "would, but without setting errno. If the rounded value is too large to be " @@ -21581,23 +21855,23 @@ msgid "" "(equivalent to `freeze poison`)." msgstr "" -#: ../../../LangRef.rst:18058 +#: ../../../LangRef.rst:18336 msgid "'``llvm.llround.*``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:18063 +#: ../../../LangRef.rst:18341 msgid "" "This is an overloaded intrinsic. You can use ``llvm.llround`` on any " "floating-point type. Not all targets support all types however." msgstr "" -#: ../../../LangRef.rst:18077 +#: ../../../LangRef.rst:18355 msgid "" "The '``llvm.llround.*``' intrinsics return the operand rounded to the " "nearest integer with ties away from zero." msgstr "" -#: ../../../LangRef.rst:18089 +#: ../../../LangRef.rst:18367 msgid "" "This function returns the same values as the libm ``llround`` functions " "would, but without setting errno. If the rounded value is too large to be " @@ -21605,24 +21879,24 @@ msgid "" "(equivalent to `freeze poison`)." msgstr "" -#: ../../../LangRef.rst:18097 +#: ../../../LangRef.rst:18375 msgid "'``llvm.lrint.*``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:18102 +#: ../../../LangRef.rst:18380 msgid "" "This is an overloaded intrinsic. You can use ``llvm.lrint`` on any floating-" "point type or vector of floating-point type. Not all targets support all " "types however." msgstr "" -#: ../../../LangRef.rst:18123 +#: ../../../LangRef.rst:18401 msgid "" "The '``llvm.lrint.*``' intrinsics return the operand rounded to the nearest " "integer." msgstr "" -#: ../../../LangRef.rst:18136 +#: ../../../LangRef.rst:18414 msgid "" "This function returns the same values as the libm ``lrint`` functions would, " "but without setting errno. If the rounded value is too large to be stored in " @@ -21630,24 +21904,24 @@ msgid "" "to `freeze poison`)." msgstr "" -#: ../../../LangRef.rst:18144 +#: ../../../LangRef.rst:18422 msgid "'``llvm.llrint.*``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:18149 +#: ../../../LangRef.rst:18427 msgid "" "This is an overloaded intrinsic. You can use ``llvm.llrint`` on any floating-" "point type or vector of floating-point type. Not all targets support all " "types however." msgstr "" -#: ../../../LangRef.rst:18164 +#: ../../../LangRef.rst:18442 msgid "" "The '``llvm.llrint.*``' intrinsics return the operand rounded to the nearest " "integer." msgstr "" -#: ../../../LangRef.rst:18176 +#: ../../../LangRef.rst:18454 msgid "" "This function returns the same values as the libm ``llrint`` functions " "would, but without setting errno. If the rounded value is too large to be " @@ -21655,34 +21929,34 @@ msgid "" "(equivalent to `freeze poison`)." msgstr "" -#: ../../../LangRef.rst:18182 +#: ../../../LangRef.rst:18460 msgid "Bit Manipulation Intrinsics" msgstr "" -#: ../../../LangRef.rst:18184 +#: ../../../LangRef.rst:18462 msgid "" "LLVM provides intrinsics for a few important bit manipulation operations. " "These allow efficient code generation for some algorithms." msgstr "" -#: ../../../LangRef.rst:18190 +#: ../../../LangRef.rst:18468 msgid "'``llvm.bitreverse.*``' Intrinsics" msgstr "" -#: ../../../LangRef.rst:18195 +#: ../../../LangRef.rst:18473 msgid "" "This is an overloaded intrinsic function. You can use bitreverse on any " "integer type." msgstr "" -#: ../../../LangRef.rst:18208 +#: ../../../LangRef.rst:18486 msgid "" "The '``llvm.bitreverse``' family of intrinsics is used to reverse the " "bitpattern of an integer value or vector of integer values; for example " "``0b10110110`` becomes ``0b01101101``." msgstr "" -#: ../../../LangRef.rst:18215 +#: ../../../LangRef.rst:18493 msgid "" "The ``llvm.bitreverse.iN`` intrinsic returns an iN value that has bit ``M`` " "in the input moved to bit ``N-M-1`` in the output. The vector intrinsics, " @@ -21690,24 +21964,24 @@ msgid "" "element order is not affected." msgstr "" -#: ../../../LangRef.rst:18223 +#: ../../../LangRef.rst:18501 msgid "'``llvm.bswap.*``' Intrinsics" msgstr "" -#: ../../../LangRef.rst:18228 +#: ../../../LangRef.rst:18506 msgid "" "This is an overloaded intrinsic function. You can use bswap on any integer " "type that is an even number of bytes (i.e., BitWidth % 16 == 0)." msgstr "" -#: ../../../LangRef.rst:18241 +#: ../../../LangRef.rst:18519 msgid "" "The '``llvm.bswap``' family of intrinsics is used to byte swap an integer " "value or vector of integer values with an even number of bytes (positive " "multiple of 16 bits)." msgstr "" -#: ../../../LangRef.rst:18248 +#: ../../../LangRef.rst:18526 msgid "" "The ``llvm.bswap.i16`` intrinsic returns an i16 value that has the high and " "low byte of the input i16 swapped. Similarly, the ``llvm.bswap.i32`` " @@ -21720,61 +21994,61 @@ msgid "" "basis and the element order is not affected." msgstr "" -#: ../../../LangRef.rst:18261 +#: ../../../LangRef.rst:18539 msgid "'``llvm.ctpop.*``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:18266 +#: ../../../LangRef.rst:18544 msgid "" "This is an overloaded intrinsic. You can use ``llvm.ctpop`` on any integer " "bit width, or on any vector with integer elements. Not all targets support " "all bit widths or vector types, however." msgstr "" -#: ../../../LangRef.rst:18282 +#: ../../../LangRef.rst:18560 msgid "" "The '``llvm.ctpop``' family of intrinsics counts the number of bits set in a " "value." msgstr "" -#: ../../../LangRef.rst:18288 +#: ../../../LangRef.rst:18566 msgid "" "The only argument is the value to be counted. The argument may be of any " "integer type, or a vector with integer elements. The return type must match " "the argument type." msgstr "" -#: ../../../LangRef.rst:18295 +#: ../../../LangRef.rst:18573 msgid "" "The '``llvm.ctpop``' intrinsic counts the 1's in a variable, or within each " "element of a vector." msgstr "" -#: ../../../LangRef.rst:18301 +#: ../../../LangRef.rst:18579 msgid "'``llvm.ctlz.*``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:18306 +#: ../../../LangRef.rst:18584 msgid "" "This is an overloaded intrinsic. You can use ``llvm.ctlz`` on any integer " "bit width, or any vector whose elements are integers. Not all targets " "support all bit widths or vector types, however." msgstr "" -#: ../../../LangRef.rst:18318 +#: ../../../LangRef.rst:18596 msgid "" "The '``llvm.ctlz``' family of intrinsic functions counts the number of " "leading zeros in a variable." msgstr "" -#: ../../../LangRef.rst:18324 ../../../LangRef.rst:18370 +#: ../../../LangRef.rst:18602 ../../../LangRef.rst:18648 msgid "" "The first argument is the value to be counted. This argument may be of any " "integer type, or a vector with integer element type. The return type must " "match the first argument type." msgstr "" -#: ../../../LangRef.rst:18328 ../../../LangRef.rst:18374 +#: ../../../LangRef.rst:18606 ../../../LangRef.rst:18652 msgid "" "The second argument is a constant flag that indicates whether the intrinsic " "returns a valid result if the first argument is zero. If the first argument " @@ -21784,7 +22058,7 @@ msgid "" "inputs." msgstr "" -#: ../../../LangRef.rst:18338 +#: ../../../LangRef.rst:18616 msgid "" "The '``llvm.ctlz``' intrinsic counts the leading (most significant) zeros in " "a variable, or within each element of the vector. If ``src == 0`` then the " @@ -21792,24 +22066,24 @@ msgid "" "and ``poison`` otherwise. For example, ``llvm.ctlz(i32 2) = 30``." msgstr "" -#: ../../../LangRef.rst:18347 +#: ../../../LangRef.rst:18625 msgid "'``llvm.cttz.*``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:18352 +#: ../../../LangRef.rst:18630 msgid "" "This is an overloaded intrinsic. You can use ``llvm.cttz`` on any integer " "bit width, or any vector of integer elements. Not all targets support all " "bit widths or vector types, however." msgstr "" -#: ../../../LangRef.rst:18364 +#: ../../../LangRef.rst:18642 msgid "" "The '``llvm.cttz``' family of intrinsic functions counts the number of " "trailing zeros." msgstr "" -#: ../../../LangRef.rst:18384 +#: ../../../LangRef.rst:18662 msgid "" "The '``llvm.cttz``' intrinsic counts the trailing (least significant) zeros " "in a variable, or within each element of a vector. If ``src == 0`` then the " @@ -21817,18 +22091,18 @@ msgid "" "and ``poison`` otherwise. For example, ``llvm.cttz(2) = 1``." msgstr "" -#: ../../../LangRef.rst:18395 +#: ../../../LangRef.rst:18671 msgid "'``llvm.fshl.*``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:18400 +#: ../../../LangRef.rst:18676 msgid "" "This is an overloaded intrinsic. You can use ``llvm.fshl`` on any integer " "bit width or any vector of integer elements. Not all targets support all bit " "widths or vector types, however." msgstr "" -#: ../../../LangRef.rst:18413 +#: ../../../LangRef.rst:18689 msgid "" "The '``llvm.fshl``' family of intrinsic functions performs a funnel shift " "left: the first two values are concatenated as { %a : %b } (%a is the most " @@ -21840,7 +22114,7 @@ msgid "" "unsigned amount modulo the element size of the arguments." msgstr "" -#: ../../../LangRef.rst:18425 ../../../LangRef.rst:18473 +#: ../../../LangRef.rst:18701 ../../../LangRef.rst:18749 msgid "" "The first two arguments are the values to be concatenated. The third " "argument is the shift amount. The arguments may be any integer type or a " @@ -21848,18 +22122,18 @@ msgid "" "have the same type." msgstr "" -#: ../../../LangRef.rst:18443 +#: ../../../LangRef.rst:18719 msgid "'``llvm.fshr.*``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:18448 +#: ../../../LangRef.rst:18724 msgid "" "This is an overloaded intrinsic. You can use ``llvm.fshr`` on any integer " "bit width or any vector of integer elements. Not all targets support all bit " "widths or vector types, however." msgstr "" -#: ../../../LangRef.rst:18461 +#: ../../../LangRef.rst:18737 msgid "" "The '``llvm.fshr``' family of intrinsic functions performs a funnel shift " "right: the first two values are concatenated as { %a : %b } (%a is the most " @@ -21871,15 +22145,46 @@ msgid "" "treated as an unsigned amount modulo the element size of the arguments." msgstr "" -#: ../../../LangRef.rst:18489 +#: ../../../LangRef.rst:18767 +msgid "'``llvm.clmul.*``' Intrinsic" +msgstr "" + +#: ../../../LangRef.rst:18772 +msgid "" +"This is an overloaded intrinsic. You can use ``llvm.clmul`` on any integer " +"or vectors of integer elements." +msgstr "" + +#: ../../../LangRef.rst:18785 +msgid "" +"The '``llvm.clmul``' family of intrinsic functions performs carry-less " +"multiplication, or XOR multiplication, on the two arguments, and returns the " +"low-bits." +msgstr "" + +#: ../../../LangRef.rst:18792 +msgid "" +"The arguments may be any integer type or vector of integer type. Both " +"arguments and result must have the same type." +msgstr "" + +#: ../../../LangRef.rst:18798 +msgid "" +"The '``llvm.clmul``' intrinsic computes carry-less multiply of its " +"arguments, which is the result of applying the standard multiplication " +"algorithm, where all of the additions are replaced with XORs, and returns " +"the low-bits. The vector variants operate lane-wise." +msgstr "" + +#: ../../../LangRef.rst:18816 msgid "Arithmetic with Overflow Intrinsics" msgstr "" -#: ../../../LangRef.rst:18491 +#: ../../../LangRef.rst:18818 msgid "LLVM provides intrinsics for fast arithmetic overflow checking." msgstr "" -#: ../../../LangRef.rst:18493 +#: ../../../LangRef.rst:18820 msgid "" "Each of these intrinsics returns a two-element struct. The first element of " "this struct contains the result of the corresponding arithmetic operation " @@ -21890,7 +22195,7 @@ msgid "" "an ``nsw`` or ``nuw`` flag." msgstr "" -#: ../../../LangRef.rst:18501 +#: ../../../LangRef.rst:18828 msgid "" "The second element of the result is an ``i1`` that is 1 if the arithmetic " "operation overflowed and 0 otherwise. An operation overflows if, for any " @@ -21900,29 +22205,29 @@ msgid "" "for unsigned overflow, and ``op`` is the underlying arithmetic operation." msgstr "" -#: ../../../LangRef.rst:18509 +#: ../../../LangRef.rst:18836 msgid "" "The behavior of these intrinsics is well-defined for all argument values." msgstr "" -#: ../../../LangRef.rst:18513 +#: ../../../LangRef.rst:18840 msgid "'``llvm.sadd.with.overflow.*``' Intrinsics" msgstr "" -#: ../../../LangRef.rst:18518 +#: ../../../LangRef.rst:18845 msgid "" "This is an overloaded intrinsic. You can use ``llvm.sadd.with.overflow`` on " "any integer bit width or vectors of integers." msgstr "" -#: ../../../LangRef.rst:18531 +#: ../../../LangRef.rst:18858 msgid "" "The '``llvm.sadd.with.overflow``' family of intrinsic functions perform a " "signed addition of the two arguments, and indicate whether an overflow " "occurred during the signed summation." msgstr "" -#: ../../../LangRef.rst:18538 +#: ../../../LangRef.rst:18865 msgid "" "The arguments (%a and %b) and the first element of the result structure may " "be of integer types of any bit width, but they must have the same bit width. " @@ -21930,7 +22235,7 @@ msgid "" "and ``%b`` are the two values that will undergo signed addition." msgstr "" -#: ../../../LangRef.rst:18547 +#: ../../../LangRef.rst:18874 msgid "" "The '``llvm.sadd.with.overflow``' family of intrinsic functions perform a " "signed addition of the two variables. They return a structure --- the first " @@ -21938,24 +22243,24 @@ msgid "" "a bit specifying if the signed summation resulted in an overflow." msgstr "" -#: ../../../LangRef.rst:18564 +#: ../../../LangRef.rst:18891 msgid "'``llvm.uadd.with.overflow.*``' Intrinsics" msgstr "" -#: ../../../LangRef.rst:18569 +#: ../../../LangRef.rst:18896 msgid "" "This is an overloaded intrinsic. You can use ``llvm.uadd.with.overflow`` on " "any integer bit width or vectors of integers." msgstr "" -#: ../../../LangRef.rst:18582 +#: ../../../LangRef.rst:18909 msgid "" "The '``llvm.uadd.with.overflow``' family of intrinsic functions perform an " "unsigned addition of the two arguments, and indicate whether a carry " "occurred during the unsigned summation." msgstr "" -#: ../../../LangRef.rst:18589 +#: ../../../LangRef.rst:18916 msgid "" "The arguments (%a and %b) and the first element of the result structure may " "be of integer types of any bit width, but they must have the same bit width. " @@ -21963,7 +22268,7 @@ msgid "" "and ``%b`` are the two values that will undergo unsigned addition." msgstr "" -#: ../../../LangRef.rst:18598 +#: ../../../LangRef.rst:18925 msgid "" "The '``llvm.uadd.with.overflow``' family of intrinsic functions perform an " "unsigned addition of the two arguments. They return a structure --- the " @@ -21971,24 +22276,24 @@ msgid "" "specifying if the unsigned summation resulted in a carry." msgstr "" -#: ../../../LangRef.rst:18614 +#: ../../../LangRef.rst:18941 msgid "'``llvm.ssub.with.overflow.*``' Intrinsics" msgstr "" -#: ../../../LangRef.rst:18619 +#: ../../../LangRef.rst:18946 msgid "" "This is an overloaded intrinsic. You can use ``llvm.ssub.with.overflow`` on " "any integer bit width or vectors of integers." msgstr "" -#: ../../../LangRef.rst:18632 +#: ../../../LangRef.rst:18959 msgid "" "The '``llvm.ssub.with.overflow``' family of intrinsic functions perform a " "signed subtraction of the two arguments, and indicate whether an overflow " "occurred during the signed subtraction." msgstr "" -#: ../../../LangRef.rst:18639 +#: ../../../LangRef.rst:18966 msgid "" "The arguments (%a and %b) and the first element of the result structure may " "be of integer types of any bit width, but they must have the same bit width. " @@ -21996,7 +22301,7 @@ msgid "" "and ``%b`` are the two values that will undergo signed subtraction." msgstr "" -#: ../../../LangRef.rst:18648 +#: ../../../LangRef.rst:18975 msgid "" "The '``llvm.ssub.with.overflow``' family of intrinsic functions perform a " "signed subtraction of the two arguments. They return a structure --- the " @@ -22004,24 +22309,24 @@ msgid "" "is a bit specifying if the signed subtraction resulted in an overflow." msgstr "" -#: ../../../LangRef.rst:18665 +#: ../../../LangRef.rst:18992 msgid "'``llvm.usub.with.overflow.*``' Intrinsics" msgstr "" -#: ../../../LangRef.rst:18670 +#: ../../../LangRef.rst:18997 msgid "" "This is an overloaded intrinsic. You can use ``llvm.usub.with.overflow`` on " "any integer bit width or vectors of integers." msgstr "" -#: ../../../LangRef.rst:18683 +#: ../../../LangRef.rst:19010 msgid "" "The '``llvm.usub.with.overflow``' family of intrinsic functions perform an " "unsigned subtraction of the two arguments, and indicate whether an overflow " "occurred during the unsigned subtraction." msgstr "" -#: ../../../LangRef.rst:18690 +#: ../../../LangRef.rst:19017 msgid "" "The arguments (%a and %b) and the first element of the result structure may " "be of integer types of any bit width, but they must have the same bit width. " @@ -22029,7 +22334,7 @@ msgid "" "and ``%b`` are the two values that will undergo unsigned subtraction." msgstr "" -#: ../../../LangRef.rst:18699 +#: ../../../LangRef.rst:19026 msgid "" "The '``llvm.usub.with.overflow``' family of intrinsic functions perform an " "unsigned subtraction of the two arguments. They return a structure --- the " @@ -22037,24 +22342,24 @@ msgid "" "is a bit specifying if the unsigned subtraction resulted in an overflow." msgstr "" -#: ../../../LangRef.rst:18716 +#: ../../../LangRef.rst:19043 msgid "'``llvm.smul.with.overflow.*``' Intrinsics" msgstr "" -#: ../../../LangRef.rst:18721 +#: ../../../LangRef.rst:19048 msgid "" "This is an overloaded intrinsic. You can use ``llvm.smul.with.overflow`` on " "any integer bit width or vectors of integers." msgstr "" -#: ../../../LangRef.rst:18734 +#: ../../../LangRef.rst:19061 msgid "" "The '``llvm.smul.with.overflow``' family of intrinsic functions perform a " "signed multiplication of the two arguments, and indicate whether an overflow " "occurred during the signed multiplication." msgstr "" -#: ../../../LangRef.rst:18741 +#: ../../../LangRef.rst:19068 msgid "" "The arguments (%a and %b) and the first element of the result structure may " "be of integer types of any bit width, but they must have the same bit width. " @@ -22062,7 +22367,7 @@ msgid "" "and ``%b`` are the two values that will undergo signed multiplication." msgstr "" -#: ../../../LangRef.rst:18750 +#: ../../../LangRef.rst:19077 msgid "" "The '``llvm.smul.with.overflow``' family of intrinsic functions perform a " "signed multiplication of the two arguments. They return a structure --- the " @@ -22071,24 +22376,24 @@ msgid "" "overflow." msgstr "" -#: ../../../LangRef.rst:18767 +#: ../../../LangRef.rst:19094 msgid "'``llvm.umul.with.overflow.*``' Intrinsics" msgstr "" -#: ../../../LangRef.rst:18772 +#: ../../../LangRef.rst:19099 msgid "" "This is an overloaded intrinsic. You can use ``llvm.umul.with.overflow`` on " "any integer bit width or vectors of integers." msgstr "" -#: ../../../LangRef.rst:18785 +#: ../../../LangRef.rst:19112 msgid "" "The '``llvm.umul.with.overflow``' family of intrinsic functions perform an " "unsigned multiplication of the two arguments, and indicate whether an " "overflow occurred during the unsigned multiplication." msgstr "" -#: ../../../LangRef.rst:18792 +#: ../../../LangRef.rst:19119 msgid "" "The arguments (%a and %b) and the first element of the result structure may " "be of integer types of any bit width, but they must have the same bit width. " @@ -22096,7 +22401,7 @@ msgid "" "and ``%b`` are the two values that will undergo unsigned multiplication." msgstr "" -#: ../../../LangRef.rst:18801 +#: ../../../LangRef.rst:19128 msgid "" "The '``llvm.umul.with.overflow``' family of intrinsic functions perform an " "unsigned multiplication of the two arguments. They return a structure --- " @@ -22105,11 +22410,11 @@ msgid "" "overflow." msgstr "" -#: ../../../LangRef.rst:18818 +#: ../../../LangRef.rst:19145 msgid "Saturation Arithmetic Intrinsics" msgstr "" -#: ../../../LangRef.rst:18820 +#: ../../../LangRef.rst:19147 msgid "" "Saturation arithmetic is a version of arithmetic in which operations are " "limited to a fixed range between a minimum and maximum value. If the result " @@ -22118,124 +22423,124 @@ msgid "" "this minimum." msgstr "" -#: ../../../LangRef.rst:18829 +#: ../../../LangRef.rst:19156 msgid "'``llvm.sadd.sat.*``' Intrinsics" msgstr "" -#: ../../../LangRef.rst:18834 +#: ../../../LangRef.rst:19161 msgid "" "This is an overloaded intrinsic. You can use ``llvm.sadd.sat`` on any " "integer bit width or vectors of integers." msgstr "" -#: ../../../LangRef.rst:18847 +#: ../../../LangRef.rst:19174 msgid "" "The '``llvm.sadd.sat``' family of intrinsic functions perform signed " "saturating addition on the 2 arguments." msgstr "" -#: ../../../LangRef.rst:18851 ../../../LangRef.rst:18901 -#: ../../../LangRef.rst:18950 ../../../LangRef.rst:19000 -#: ../../../LangRef.rst:19047 ../../../LangRef.rst:19100 -#: ../../../LangRef.rst:19203 ../../../LangRef.rst:19263 -#: ../../../LangRef.rst:19322 ../../../LangRef.rst:19392 -#: ../../../LangRef.rst:19459 ../../../LangRef.rst:19519 -#: ../../../LangRef.rst:19579 ../../../LangRef.rst:19646 +#: ../../../LangRef.rst:19178 ../../../LangRef.rst:19228 +#: ../../../LangRef.rst:19277 ../../../LangRef.rst:19327 +#: ../../../LangRef.rst:19374 ../../../LangRef.rst:19427 +#: ../../../LangRef.rst:19530 ../../../LangRef.rst:19590 +#: ../../../LangRef.rst:19649 ../../../LangRef.rst:19719 +#: ../../../LangRef.rst:19786 ../../../LangRef.rst:19846 +#: ../../../LangRef.rst:19906 ../../../LangRef.rst:19973 msgid "Arguments" msgstr "" -#: ../../../LangRef.rst:18853 +#: ../../../LangRef.rst:19180 msgid "" "The arguments (%a and %b) and the result may be of integer types of any bit " "width, but they must have the same bit width. ``%a`` and ``%b`` are the two " "values that will undergo signed addition." msgstr "" -#: ../../../LangRef.rst:18860 ../../../LangRef.rst:18959 -#: ../../../LangRef.rst:19061 +#: ../../../LangRef.rst:19187 ../../../LangRef.rst:19286 +#: ../../../LangRef.rst:19388 msgid "" "The maximum value this operation can clamp to is the largest signed value " "representable by the bit width of the arguments. The minimum value is the " "smallest signed value representable by this bit width." msgstr "" -#: ../../../LangRef.rst:18879 +#: ../../../LangRef.rst:19206 msgid "'``llvm.uadd.sat.*``' Intrinsics" msgstr "" -#: ../../../LangRef.rst:18884 +#: ../../../LangRef.rst:19211 msgid "" "This is an overloaded intrinsic. You can use ``llvm.uadd.sat`` on any " "integer bit width or vectors of integers." msgstr "" -#: ../../../LangRef.rst:18897 +#: ../../../LangRef.rst:19224 msgid "" "The '``llvm.uadd.sat``' family of intrinsic functions perform unsigned " "saturating addition on the 2 arguments." msgstr "" -#: ../../../LangRef.rst:18903 +#: ../../../LangRef.rst:19230 msgid "" "The arguments (%a and %b) and the result may be of integer types of any bit " "width, but they must have the same bit width. ``%a`` and ``%b`` are the two " "values that will undergo unsigned addition." msgstr "" -#: ../../../LangRef.rst:18910 +#: ../../../LangRef.rst:19237 msgid "" "The maximum value this operation can clamp to is the largest unsigned value " "representable by the bit width of the arguments. Because this is an unsigned " "operation, the result will never saturate towards zero." msgstr "" -#: ../../../LangRef.rst:18928 +#: ../../../LangRef.rst:19255 msgid "'``llvm.ssub.sat.*``' Intrinsics" msgstr "" -#: ../../../LangRef.rst:18933 +#: ../../../LangRef.rst:19260 msgid "" "This is an overloaded intrinsic. You can use ``llvm.ssub.sat`` on any " "integer bit width or vectors of integers." msgstr "" -#: ../../../LangRef.rst:18946 +#: ../../../LangRef.rst:19273 msgid "" "The '``llvm.ssub.sat``' family of intrinsic functions perform signed " "saturating subtraction on the 2 arguments." msgstr "" -#: ../../../LangRef.rst:18952 +#: ../../../LangRef.rst:19279 msgid "" "The arguments (%a and %b) and the result may be of integer types of any bit " "width, but they must have the same bit width. ``%a`` and ``%b`` are the two " "values that will undergo signed subtraction." msgstr "" -#: ../../../LangRef.rst:18978 +#: ../../../LangRef.rst:19305 msgid "'``llvm.usub.sat.*``' Intrinsics" msgstr "" -#: ../../../LangRef.rst:18983 +#: ../../../LangRef.rst:19310 msgid "" "This is an overloaded intrinsic. You can use ``llvm.usub.sat`` on any " "integer bit width or vectors of integers." msgstr "" -#: ../../../LangRef.rst:18996 +#: ../../../LangRef.rst:19323 msgid "" "The '``llvm.usub.sat``' family of intrinsic functions perform unsigned " "saturating subtraction on the 2 arguments." msgstr "" -#: ../../../LangRef.rst:19002 +#: ../../../LangRef.rst:19329 msgid "" "The arguments (%a and %b) and the result may be of integer types of any bit " "width, but they must have the same bit width. ``%a`` and ``%b`` are the two " "values that will undergo unsigned subtraction." msgstr "" -#: ../../../LangRef.rst:19009 +#: ../../../LangRef.rst:19336 msgid "" "The minimum value this operation can clamp to is 0, which is the smallest " "unsigned value representable by the bit width of the unsigned arguments. " @@ -22243,23 +22548,23 @@ msgid "" "towards the largest possible value representable by this bit width." msgstr "" -#: ../../../LangRef.rst:19025 +#: ../../../LangRef.rst:19352 msgid "'``llvm.sshl.sat.*``' Intrinsics" msgstr "" -#: ../../../LangRef.rst:19030 +#: ../../../LangRef.rst:19357 msgid "" "This is an overloaded intrinsic. You can use ``llvm.sshl.sat`` on integers " "or vectors of integers of any bit width." msgstr "" -#: ../../../LangRef.rst:19043 +#: ../../../LangRef.rst:19370 msgid "" "The '``llvm.sshl.sat``' family of intrinsic functions perform signed " "saturating left shift on the first argument." msgstr "" -#: ../../../LangRef.rst:19049 ../../../LangRef.rst:19102 +#: ../../../LangRef.rst:19376 ../../../LangRef.rst:19429 msgid "" "The arguments (``%a`` and ``%b``) and the result may be of integer types of " "any bit width, but they must have the same bit width. ``%a`` is the value to " @@ -22270,33 +22575,33 @@ msgid "" "amount in ``b``." msgstr "" -#: ../../../LangRef.rst:19078 +#: ../../../LangRef.rst:19405 msgid "'``llvm.ushl.sat.*``' Intrinsics" msgstr "" -#: ../../../LangRef.rst:19083 +#: ../../../LangRef.rst:19410 msgid "" "This is an overloaded intrinsic. You can use ``llvm.ushl.sat`` on integers " "or vectors of integers of any bit width." msgstr "" -#: ../../../LangRef.rst:19096 +#: ../../../LangRef.rst:19423 msgid "" "The '``llvm.ushl.sat``' family of intrinsic functions perform unsigned " "saturating left shift on the first argument." msgstr "" -#: ../../../LangRef.rst:19113 +#: ../../../LangRef.rst:19440 msgid "" "The maximum value this operation can clamp to is the largest unsigned value " "representable by the bit width of the arguments." msgstr "" -#: ../../../LangRef.rst:19127 +#: ../../../LangRef.rst:19454 msgid "Fixed Point Arithmetic Intrinsics" msgstr "" -#: ../../../LangRef.rst:19129 +#: ../../../LangRef.rst:19456 msgid "" "A fixed point number represents a real data type for a number that has a " "fixed number of digits after a radix point (equivalent to the decimal point " @@ -22306,21 +22611,21 @@ msgid "" "operands of the same scale, specified as the third argument." msgstr "" -#: ../../../LangRef.rst:19136 +#: ../../../LangRef.rst:19463 msgid "" "The ``llvm.*mul.fix`` family of intrinsic functions represents a " "multiplication of fixed point numbers through scaled integers. Therefore, " "fixed point multiplication can be represented as" msgstr "" -#: ../../../LangRef.rst:19152 +#: ../../../LangRef.rst:19479 msgid "" "The ``llvm.*div.fix`` family of intrinsic functions represents a division of " "fixed point numbers through scaled integers. Fixed point division can be " "represented as:" msgstr "" -#: ../../../LangRef.rst:19168 +#: ../../../LangRef.rst:19495 msgid "" "For each of these functions, if the result cannot be represented exactly " "with the provided scale, the result is rounded. Rounding is unspecified " @@ -22334,23 +22639,23 @@ msgid "" "result and the true result must be less than 1/2^(scale)." msgstr "" -#: ../../../LangRef.rst:19181 +#: ../../../LangRef.rst:19508 msgid "'``llvm.smul.fix.*``' Intrinsics" msgstr "" -#: ../../../LangRef.rst:19186 +#: ../../../LangRef.rst:19513 msgid "" "This is an overloaded intrinsic. You can use ``llvm.smul.fix`` on any " "integer bit width or vectors of integers." msgstr "" -#: ../../../LangRef.rst:19199 +#: ../../../LangRef.rst:19526 msgid "" "The '``llvm.smul.fix``' family of intrinsic functions perform signed fixed " "point multiplication on 2 arguments of the same scale." msgstr "" -#: ../../../LangRef.rst:19205 +#: ../../../LangRef.rst:19532 msgid "" "The arguments (%a and %b) and the result may be of integer types of any bit " "width, but they must have the same bit width. The arguments may also work " @@ -22360,47 +22665,47 @@ msgid "" "integer." msgstr "" -#: ../../../LangRef.rst:19215 ../../../LangRef.rst:19333 -#: ../../../LangRef.rst:19403 +#: ../../../LangRef.rst:19542 ../../../LangRef.rst:19660 +#: ../../../LangRef.rst:19730 msgid "" "This operation performs fixed point multiplication on the 2 arguments of a " "specified scale. The result will also be returned in the same scale " "specified in the third argument." msgstr "" -#: ../../../LangRef.rst:19219 ../../../LangRef.rst:19279 -#: ../../../LangRef.rst:19337 ../../../LangRef.rst:19407 -#: ../../../LangRef.rst:19475 ../../../LangRef.rst:19535 -#: ../../../LangRef.rst:19594 ../../../LangRef.rst:19661 +#: ../../../LangRef.rst:19546 ../../../LangRef.rst:19606 +#: ../../../LangRef.rst:19664 ../../../LangRef.rst:19734 +#: ../../../LangRef.rst:19802 ../../../LangRef.rst:19862 +#: ../../../LangRef.rst:19921 ../../../LangRef.rst:19988 msgid "" "If the result value cannot be precisely represented in the given scale, the " "value is rounded up or down to the closest representable value. The rounding " "direction is unspecified." msgstr "" -#: ../../../LangRef.rst:19223 ../../../LangRef.rst:19283 +#: ../../../LangRef.rst:19550 ../../../LangRef.rst:19610 msgid "" "It is undefined behavior if the result value does not fit within the range " "of the fixed point type." msgstr "" -#: ../../../LangRef.rst:19241 +#: ../../../LangRef.rst:19568 msgid "'``llvm.umul.fix.*``' Intrinsics" msgstr "" -#: ../../../LangRef.rst:19246 +#: ../../../LangRef.rst:19573 msgid "" "This is an overloaded intrinsic. You can use ``llvm.umul.fix`` on any " "integer bit width or vectors of integers." msgstr "" -#: ../../../LangRef.rst:19259 +#: ../../../LangRef.rst:19586 msgid "" "The '``llvm.umul.fix``' family of intrinsic functions perform unsigned fixed " "point multiplication on 2 arguments of the same scale." msgstr "" -#: ../../../LangRef.rst:19265 +#: ../../../LangRef.rst:19592 msgid "" "The arguments (%a and %b) and the result may be of integer types of any bit " "width, but they must have the same bit width. The arguments may also work " @@ -22410,30 +22715,30 @@ msgid "" "constant integer." msgstr "" -#: ../../../LangRef.rst:19275 +#: ../../../LangRef.rst:19602 msgid "" "This operation performs unsigned fixed point multiplication on the 2 " "arguments of a specified scale. The result will also be returned in the same " "scale specified in the third argument." msgstr "" -#: ../../../LangRef.rst:19300 +#: ../../../LangRef.rst:19627 msgid "'``llvm.smul.fix.sat.*``' Intrinsics" msgstr "" -#: ../../../LangRef.rst:19305 +#: ../../../LangRef.rst:19632 msgid "" "This is an overloaded intrinsic. You can use ``llvm.smul.fix.sat`` on any " "integer bit width or vectors of integers." msgstr "" -#: ../../../LangRef.rst:19318 +#: ../../../LangRef.rst:19645 msgid "" "The '``llvm.smul.fix.sat``' family of intrinsic functions perform signed " "fixed point saturating multiplication on 2 arguments of the same scale." msgstr "" -#: ../../../LangRef.rst:19324 +#: ../../../LangRef.rst:19651 msgid "" "The arguments (%a and %b) and the result may be of integer types of any bit " "width, but they must have the same bit width. ``%a`` and ``%b`` are the two " @@ -22442,30 +22747,30 @@ msgid "" "integer." msgstr "" -#: ../../../LangRef.rst:19341 ../../../LangRef.rst:19598 +#: ../../../LangRef.rst:19668 ../../../LangRef.rst:19925 msgid "" "The maximum value this operation can clamp to is the largest signed value " "representable by the bit width of the first 2 arguments. The minimum value " "is the smallest signed value representable by this bit width." msgstr "" -#: ../../../LangRef.rst:19370 +#: ../../../LangRef.rst:19697 msgid "'``llvm.umul.fix.sat.*``' Intrinsics" msgstr "" -#: ../../../LangRef.rst:19375 +#: ../../../LangRef.rst:19702 msgid "" "This is an overloaded intrinsic. You can use ``llvm.umul.fix.sat`` on any " "integer bit width or vectors of integers." msgstr "" -#: ../../../LangRef.rst:19388 +#: ../../../LangRef.rst:19715 msgid "" "The '``llvm.umul.fix.sat``' family of intrinsic functions perform unsigned " "fixed point saturating multiplication on 2 arguments of the same scale." msgstr "" -#: ../../../LangRef.rst:19394 +#: ../../../LangRef.rst:19721 msgid "" "The arguments (%a and %b) and the result may be of integer types of any bit " "width, but they must have the same bit width. ``%a`` and ``%b`` are the two " @@ -22474,30 +22779,30 @@ msgid "" "integer." msgstr "" -#: ../../../LangRef.rst:19411 ../../../LangRef.rst:19665 +#: ../../../LangRef.rst:19738 ../../../LangRef.rst:19992 msgid "" "The maximum value this operation can clamp to is the largest unsigned value " "representable by the bit width of the first 2 arguments. The minimum value " "is the smallest unsigned value representable by this bit width (zero)." msgstr "" -#: ../../../LangRef.rst:19437 +#: ../../../LangRef.rst:19764 msgid "'``llvm.sdiv.fix.*``' Intrinsics" msgstr "" -#: ../../../LangRef.rst:19442 +#: ../../../LangRef.rst:19769 msgid "" "This is an overloaded intrinsic. You can use ``llvm.sdiv.fix`` on any " "integer bit width or vectors of integers." msgstr "" -#: ../../../LangRef.rst:19455 +#: ../../../LangRef.rst:19782 msgid "" "The '``llvm.sdiv.fix``' family of intrinsic functions perform signed fixed " "point division on 2 arguments of the same scale." msgstr "" -#: ../../../LangRef.rst:19461 +#: ../../../LangRef.rst:19788 msgid "" "The arguments (%a and %b) and the result may be of integer types of any bit " "width, but they must have the same bit width. The arguments may also work " @@ -22507,37 +22812,37 @@ msgid "" "integer." msgstr "" -#: ../../../LangRef.rst:19471 ../../../LangRef.rst:19531 -#: ../../../LangRef.rst:19590 ../../../LangRef.rst:19657 +#: ../../../LangRef.rst:19798 ../../../LangRef.rst:19858 +#: ../../../LangRef.rst:19917 ../../../LangRef.rst:19984 msgid "" "This operation performs fixed point division on the 2 arguments of a " "specified scale. The result will also be returned in the same scale " "specified in the third argument." msgstr "" -#: ../../../LangRef.rst:19479 ../../../LangRef.rst:19539 +#: ../../../LangRef.rst:19806 ../../../LangRef.rst:19866 msgid "" "It is undefined behavior if the result value does not fit within the range " "of the fixed point type, or if the second argument is zero." msgstr "" -#: ../../../LangRef.rst:19497 +#: ../../../LangRef.rst:19824 msgid "'``llvm.udiv.fix.*``' Intrinsics" msgstr "" -#: ../../../LangRef.rst:19502 +#: ../../../LangRef.rst:19829 msgid "" "This is an overloaded intrinsic. You can use ``llvm.udiv.fix`` on any " "integer bit width or vectors of integers." msgstr "" -#: ../../../LangRef.rst:19515 +#: ../../../LangRef.rst:19842 msgid "" "The '``llvm.udiv.fix``' family of intrinsic functions perform unsigned fixed " "point division on 2 arguments of the same scale." msgstr "" -#: ../../../LangRef.rst:19521 +#: ../../../LangRef.rst:19848 msgid "" "The arguments (%a and %b) and the result may be of integer types of any bit " "width, but they must have the same bit width. The arguments may also work " @@ -22547,23 +22852,23 @@ msgid "" "integer." msgstr "" -#: ../../../LangRef.rst:19557 +#: ../../../LangRef.rst:19884 msgid "'``llvm.sdiv.fix.sat.*``' Intrinsics" msgstr "" -#: ../../../LangRef.rst:19562 +#: ../../../LangRef.rst:19889 msgid "" "This is an overloaded intrinsic. You can use ``llvm.sdiv.fix.sat`` on any " "integer bit width or vectors of integers." msgstr "" -#: ../../../LangRef.rst:19575 +#: ../../../LangRef.rst:19902 msgid "" "The '``llvm.sdiv.fix.sat``' family of intrinsic functions perform signed " "fixed point saturating division on 2 arguments of the same scale." msgstr "" -#: ../../../LangRef.rst:19581 +#: ../../../LangRef.rst:19908 msgid "" "The arguments (%a and %b) and the result may be of integer types of any bit " "width, but they must have the same bit width. ``%a`` and ``%b`` are the two " @@ -22572,27 +22877,27 @@ msgid "" "integer." msgstr "" -#: ../../../LangRef.rst:19602 ../../../LangRef.rst:19669 +#: ../../../LangRef.rst:19929 ../../../LangRef.rst:19996 msgid "It is undefined behavior if the second argument is zero." msgstr "" -#: ../../../LangRef.rst:19624 +#: ../../../LangRef.rst:19951 msgid "'``llvm.udiv.fix.sat.*``' Intrinsics" msgstr "" -#: ../../../LangRef.rst:19629 +#: ../../../LangRef.rst:19956 msgid "" "This is an overloaded intrinsic. You can use ``llvm.udiv.fix.sat`` on any " "integer bit width or vectors of integers." msgstr "" -#: ../../../LangRef.rst:19642 +#: ../../../LangRef.rst:19969 msgid "" "The '``llvm.udiv.fix.sat``' family of intrinsic functions perform unsigned " "fixed point saturating division on 2 arguments of the same scale." msgstr "" -#: ../../../LangRef.rst:19648 +#: ../../../LangRef.rst:19975 msgid "" "The arguments (%a and %b) and the result may be of integer types of any bit " "width, but they must have the same bit width. ``%a`` and ``%b`` are the two " @@ -22601,60 +22906,60 @@ msgid "" "integer." msgstr "" -#: ../../../LangRef.rst:19687 +#: ../../../LangRef.rst:20014 msgid "Specialized Arithmetic Intrinsics" msgstr "" -#: ../../../LangRef.rst:19692 +#: ../../../LangRef.rst:20019 msgid "'``llvm.canonicalize.*``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:19705 +#: ../../../LangRef.rst:20032 msgid "" "The '``llvm.canonicalize.*``' intrinsic returns the platform-specific " "canonical encoding of a floating-point number. This canonicalization is " "useful for implementing certain numeric primitives such as frexp. The " -"canonical encoding is defined by IEEE-754-2008 to be:" +"canonical encoding is defined by IEEE 754-2008 to be:" msgstr "" -#: ../../../LangRef.rst:19716 +#: ../../../LangRef.rst:20043 msgid "" -"This operation can also be considered equivalent to the IEEE-754-2008 " +"This operation can also be considered equivalent to the IEEE 754-2008 " "conversion of a floating-point value to the same format. NaNs are handled " "according to section 6.2." msgstr "" -#: ../../../LangRef.rst:19720 +#: ../../../LangRef.rst:20047 msgid "Examples of non-canonical encodings:" msgstr "" -#: ../../../LangRef.rst:19722 +#: ../../../LangRef.rst:20049 msgid "" "x87 pseudo denormals, pseudo NaNs, pseudo Infinity, Unnormals. These are " "converted to a canonical representation per hardware-specific protocol." msgstr "" -#: ../../../LangRef.rst:19724 +#: ../../../LangRef.rst:20051 msgid "" "Many normal decimal floating-point numbers have non-canonical alternative " "encodings." msgstr "" -#: ../../../LangRef.rst:19726 +#: ../../../LangRef.rst:20053 msgid "" "Some machines, like GPUs or ARMv7 NEON, do not support subnormal values. " "These are treated as non-canonical encodings of zero and will be flushed to " "a zero of the same sign by this operation." msgstr "" -#: ../../../LangRef.rst:19730 +#: ../../../LangRef.rst:20057 msgid "" -"Note that per IEEE-754-2008 6.2, systems that support signaling NaNs with " +"Note that per IEEE 754-2008 6.2, systems that support signaling NaNs with " "default exception handling must signal an invalid exception, and produce a " "quiet NaN result." msgstr "" -#: ../../../LangRef.rst:19734 +#: ../../../LangRef.rst:20061 msgid "" "This function should always be implementable as multiplication by 1.0, " "provided that the compiler does not constant fold the operation. Likewise, " @@ -22663,27 +22968,27 @@ msgid "" "-Infinity." msgstr "" -#: ../../../LangRef.rst:19739 +#: ../../../LangRef.rst:20066 msgid "``@llvm.canonicalize`` must preserve the equality relation. That is:" msgstr "" -#: ../../../LangRef.rst:19741 +#: ../../../LangRef.rst:20068 msgid "``(@llvm.canonicalize(x) == x)`` is equivalent to ``(x == x)``" msgstr "" -#: ../../../LangRef.rst:19742 +#: ../../../LangRef.rst:20069 msgid "" "``(@llvm.canonicalize(x) == @llvm.canonicalize(y))`` is equivalent to ``(x " "== y)``" msgstr "" -#: ../../../LangRef.rst:19745 +#: ../../../LangRef.rst:20072 msgid "" "Additionally, the sign of zero must be conserved: ``@llvm.canonicalize(-0.0) " "= -0.0`` and ``@llvm.canonicalize(+0.0) = +0.0``" msgstr "" -#: ../../../LangRef.rst:19748 +#: ../../../LangRef.rst:20075 msgid "" "The payload bits of a NaN must be conserved, with two exceptions. First, " "environments which use only a single canonical representation of NaN must " @@ -22691,27 +22996,27 @@ msgid "" "methods." msgstr "" -#: ../../../LangRef.rst:19753 +#: ../../../LangRef.rst:20080 msgid "The canonicalization operation may be optimized away if:" msgstr "" -#: ../../../LangRef.rst:19755 +#: ../../../LangRef.rst:20082 msgid "" "The input is known to be canonical. For example, it was produced by a " "floating-point operation that is required by the standard to be canonical." msgstr "" -#: ../../../LangRef.rst:19757 +#: ../../../LangRef.rst:20084 msgid "" "The result is consumed only by (or fused with) other floating-point " "operations. That is, the bits of the floating-point value are not examined." msgstr "" -#: ../../../LangRef.rst:19763 +#: ../../../LangRef.rst:20090 msgid "'``llvm.fmuladd.*``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:19776 +#: ../../../LangRef.rst:20103 msgid "" "The '``llvm.fmuladd.*``' intrinsic functions represent multiply-add " "expressions that can be fused if the code generator determines that (a) the " @@ -22720,17 +23025,17 @@ msgid "" "and add instructions." msgstr "" -#: ../../../LangRef.rst:19785 +#: ../../../LangRef.rst:20112 msgid "" "The '``llvm.fmuladd.*``' intrinsics each take three arguments: two " "multiplicands, a and b, and an addend c." msgstr "" -#: ../../../LangRef.rst:19791 ../../../LangRef.rst:28178 +#: ../../../LangRef.rst:20118 ../../../LangRef.rst:28616 msgid "The expression:" msgstr "" -#: ../../../LangRef.rst:19797 +#: ../../../LangRef.rst:20124 msgid "" "is equivalent to the expression a \\* b + c, except that it is unspecified " "whether rounding will be performed between the multiplication and addition " @@ -22740,11 +23045,11 @@ msgid "" "just as '``llvm.fma.*``'." msgstr "" -#: ../../../LangRef.rst:19813 +#: ../../../LangRef.rst:20140 msgid "Hardware-Loop Intrinsics" msgstr "" -#: ../../../LangRef.rst:19815 +#: ../../../LangRef.rst:20142 msgid "" "LLVM support several intrinsics to mark a loop as a hardware-loop. They are " "hints to the backend which are required to lower these intrinsics further to " @@ -22753,80 +23058,81 @@ msgid "" "generated." msgstr "" -#: ../../../LangRef.rst:19820 +#: ../../../LangRef.rst:20147 msgid "" "These intrinsics may be modified in the future and are not intended to be " "used outside the backend. Thus, front-end and mid-level optimizations should " "not be generating these intrinsics." msgstr "" -#: ../../../LangRef.rst:19826 +#: ../../../LangRef.rst:20153 msgid "'``llvm.set.loop.iterations.*``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:19831 ../../../LangRef.rst:19867 -#: ../../../LangRef.rst:19905 ../../../LangRef.rst:19943 -#: ../../../LangRef.rst:19982 ../../../LangRef.rst:20022 -#: ../../../LangRef.rst:20414 ../../../LangRef.rst:20443 -#: ../../../LangRef.rst:20472 ../../../LangRef.rst:20519 -#: ../../../LangRef.rst:20541 ../../../LangRef.rst:20573 -#: ../../../LangRef.rst:20619 ../../../LangRef.rst:20664 -#: ../../../LangRef.rst:20692 ../../../LangRef.rst:20733 -#: ../../../LangRef.rst:20772 ../../../LangRef.rst:20891 -#: ../../../LangRef.rst:21004 ../../../LangRef.rst:21121 -#: ../../../LangRef.rst:21170 ../../../LangRef.rst:21196 -#: ../../../LangRef.rst:21767 ../../../LangRef.rst:21825 -#: ../../../LangRef.rst:21887 ../../../LangRef.rst:21934 -#: ../../../LangRef.rst:21983 ../../../LangRef.rst:22030 -#: ../../../LangRef.rst:22078 ../../../LangRef.rst:22127 -#: ../../../LangRef.rst:22176 ../../../LangRef.rst:22224 -#: ../../../LangRef.rst:22274 ../../../LangRef.rst:22323 -#: ../../../LangRef.rst:22371 ../../../LangRef.rst:22419 -#: ../../../LangRef.rst:22467 ../../../LangRef.rst:22514 -#: ../../../LangRef.rst:22565 ../../../LangRef.rst:22613 -#: ../../../LangRef.rst:22661 ../../../LangRef.rst:22709 -#: ../../../LangRef.rst:22757 ../../../LangRef.rst:22806 -#: ../../../LangRef.rst:22855 ../../../LangRef.rst:22904 -#: ../../../LangRef.rst:22954 ../../../LangRef.rst:23004 -#: ../../../LangRef.rst:23053 ../../../LangRef.rst:23102 -#: ../../../LangRef.rst:23151 ../../../LangRef.rst:23200 -#: ../../../LangRef.rst:23249 ../../../LangRef.rst:23297 -#: ../../../LangRef.rst:23345 ../../../LangRef.rst:23394 -#: ../../../LangRef.rst:23443 ../../../LangRef.rst:23494 -#: ../../../LangRef.rst:23550 ../../../LangRef.rst:23609 -#: ../../../LangRef.rst:23665 ../../../LangRef.rst:23725 -#: ../../../LangRef.rst:23782 ../../../LangRef.rst:23838 -#: ../../../LangRef.rst:23895 ../../../LangRef.rst:23952 -#: ../../../LangRef.rst:24009 ../../../LangRef.rst:24066 -#: ../../../LangRef.rst:24123 ../../../LangRef.rst:24190 -#: ../../../LangRef.rst:24257 ../../../LangRef.rst:24327 -#: ../../../LangRef.rst:24397 ../../../LangRef.rst:24472 -#: ../../../LangRef.rst:24559 ../../../LangRef.rst:24651 -#: ../../../LangRef.rst:24709 ../../../LangRef.rst:24744 -#: ../../../LangRef.rst:24800 ../../../LangRef.rst:24886 -#: ../../../LangRef.rst:24943 ../../../LangRef.rst:25002 -#: ../../../LangRef.rst:25063 ../../../LangRef.rst:25120 -#: ../../../LangRef.rst:25178 ../../../LangRef.rst:25231 -#: ../../../LangRef.rst:25283 ../../../LangRef.rst:25335 -#: ../../../LangRef.rst:25391 ../../../LangRef.rst:25447 -#: ../../../LangRef.rst:25503 ../../../LangRef.rst:25559 -#: ../../../LangRef.rst:25615 ../../../LangRef.rst:25671 -#: ../../../LangRef.rst:25728 ../../../LangRef.rst:25783 -#: ../../../LangRef.rst:25841 ../../../LangRef.rst:25898 -#: ../../../LangRef.rst:25945 ../../../LangRef.rst:25992 -#: ../../../LangRef.rst:26039 ../../../LangRef.rst:26086 -#: ../../../LangRef.rst:26133 ../../../LangRef.rst:26180 -#: ../../../LangRef.rst:26227 ../../../LangRef.rst:26274 -#: ../../../LangRef.rst:26321 ../../../LangRef.rst:26368 -#: ../../../LangRef.rst:26415 ../../../LangRef.rst:26462 -#: ../../../LangRef.rst:26511 ../../../LangRef.rst:26608 -#: ../../../LangRef.rst:26657 ../../../LangRef.rst:26706 -#: ../../../LangRef.rst:26755 ../../../LangRef.rst:26804 -#: ../../../LangRef.rst:26850 ../../../LangRef.rst:26895 +#: ../../../LangRef.rst:20158 ../../../LangRef.rst:20194 +#: ../../../LangRef.rst:20232 ../../../LangRef.rst:20270 +#: ../../../LangRef.rst:20309 ../../../LangRef.rst:20349 +#: ../../../LangRef.rst:20746 ../../../LangRef.rst:20780 +#: ../../../LangRef.rst:20809 ../../../LangRef.rst:20856 +#: ../../../LangRef.rst:20878 ../../../LangRef.rst:20910 +#: ../../../LangRef.rst:20956 ../../../LangRef.rst:21001 +#: ../../../LangRef.rst:21029 ../../../LangRef.rst:21070 +#: ../../../LangRef.rst:21109 ../../../LangRef.rst:21153 +#: ../../../LangRef.rst:21269 ../../../LangRef.rst:21382 +#: ../../../LangRef.rst:21499 ../../../LangRef.rst:21548 +#: ../../../LangRef.rst:21574 ../../../LangRef.rst:22205 +#: ../../../LangRef.rst:22263 ../../../LangRef.rst:22325 +#: ../../../LangRef.rst:22372 ../../../LangRef.rst:22421 +#: ../../../LangRef.rst:22468 ../../../LangRef.rst:22516 +#: ../../../LangRef.rst:22565 ../../../LangRef.rst:22614 +#: ../../../LangRef.rst:22662 ../../../LangRef.rst:22712 +#: ../../../LangRef.rst:22761 ../../../LangRef.rst:22809 +#: ../../../LangRef.rst:22857 ../../../LangRef.rst:22905 +#: ../../../LangRef.rst:22952 ../../../LangRef.rst:23003 +#: ../../../LangRef.rst:23051 ../../../LangRef.rst:23099 +#: ../../../LangRef.rst:23147 ../../../LangRef.rst:23195 +#: ../../../LangRef.rst:23244 ../../../LangRef.rst:23293 +#: ../../../LangRef.rst:23342 ../../../LangRef.rst:23392 +#: ../../../LangRef.rst:23442 ../../../LangRef.rst:23491 +#: ../../../LangRef.rst:23540 ../../../LangRef.rst:23589 +#: ../../../LangRef.rst:23638 ../../../LangRef.rst:23687 +#: ../../../LangRef.rst:23735 ../../../LangRef.rst:23783 +#: ../../../LangRef.rst:23832 ../../../LangRef.rst:23881 +#: ../../../LangRef.rst:23932 ../../../LangRef.rst:23988 +#: ../../../LangRef.rst:24047 ../../../LangRef.rst:24103 +#: ../../../LangRef.rst:24163 ../../../LangRef.rst:24220 +#: ../../../LangRef.rst:24276 ../../../LangRef.rst:24333 +#: ../../../LangRef.rst:24390 ../../../LangRef.rst:24447 +#: ../../../LangRef.rst:24504 ../../../LangRef.rst:24561 +#: ../../../LangRef.rst:24628 ../../../LangRef.rst:24695 +#: ../../../LangRef.rst:24765 ../../../LangRef.rst:24835 +#: ../../../LangRef.rst:24910 ../../../LangRef.rst:24997 +#: ../../../LangRef.rst:25089 ../../../LangRef.rst:25147 +#: ../../../LangRef.rst:25182 ../../../LangRef.rst:25238 +#: ../../../LangRef.rst:25324 ../../../LangRef.rst:25381 +#: ../../../LangRef.rst:25440 ../../../LangRef.rst:25501 +#: ../../../LangRef.rst:25558 ../../../LangRef.rst:25616 +#: ../../../LangRef.rst:25669 ../../../LangRef.rst:25721 +#: ../../../LangRef.rst:25773 ../../../LangRef.rst:25829 +#: ../../../LangRef.rst:25885 ../../../LangRef.rst:25941 +#: ../../../LangRef.rst:25997 ../../../LangRef.rst:26053 +#: ../../../LangRef.rst:26109 ../../../LangRef.rst:26166 +#: ../../../LangRef.rst:26221 ../../../LangRef.rst:26279 +#: ../../../LangRef.rst:26336 ../../../LangRef.rst:26383 +#: ../../../LangRef.rst:26430 ../../../LangRef.rst:26477 +#: ../../../LangRef.rst:26524 ../../../LangRef.rst:26571 +#: ../../../LangRef.rst:26618 ../../../LangRef.rst:26665 +#: ../../../LangRef.rst:26712 ../../../LangRef.rst:26759 +#: ../../../LangRef.rst:26806 ../../../LangRef.rst:26853 +#: ../../../LangRef.rst:26900 ../../../LangRef.rst:26949 +#: ../../../LangRef.rst:27046 ../../../LangRef.rst:27095 +#: ../../../LangRef.rst:27144 ../../../LangRef.rst:27193 +#: ../../../LangRef.rst:27242 ../../../LangRef.rst:27288 +#: ../../../LangRef.rst:27333 msgid "This is an overloaded intrinsic." msgstr "" -#: ../../../LangRef.rst:19841 +#: ../../../LangRef.rst:20168 msgid "" "The '``llvm.set.loop.iterations.*``' intrinsics are used to specify the " "hardware-loop trip count. They are placed in the loop preheader basic block " @@ -22834,14 +23140,14 @@ msgid "" "instructions." msgstr "" -#: ../../../LangRef.rst:19849 ../../../LangRef.rst:19888 -#: ../../../LangRef.rst:19924 ../../../LangRef.rst:19962 +#: ../../../LangRef.rst:20176 ../../../LangRef.rst:20215 +#: ../../../LangRef.rst:20251 ../../../LangRef.rst:20289 msgid "" "The integer operand is the loop trip count of the hardware-loop, and thus " "not e.g., the loop back-edge taken count." msgstr "" -#: ../../../LangRef.rst:19855 +#: ../../../LangRef.rst:20182 msgid "" "The '``llvm.set.loop.iterations.*``' intrinsics do not perform any " "arithmetic on their operand. It's a hint to the backend that can use this to " @@ -22849,11 +23155,11 @@ msgid "" "move of this value to a special register or a hardware-loop instruction." msgstr "" -#: ../../../LangRef.rst:19862 +#: ../../../LangRef.rst:20189 msgid "'``llvm.start.loop.iterations.*``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:19877 +#: ../../../LangRef.rst:20204 msgid "" "The '``llvm.start.loop.iterations.*``' intrinsics are similar to the '``llvm." "set.loop.iterations.*``' intrinsics, used to specify the hardware-loop trip " @@ -22863,7 +23169,7 @@ msgid "" "of the loop, decremented by the '``llvm.loop.decrement.reg.*``'." msgstr "" -#: ../../../LangRef.rst:19894 +#: ../../../LangRef.rst:20221 msgid "" "The '``llvm.start.loop.iterations.*``' intrinsics do not perform any " "arithmetic on their operand. It's a hint to the backend that can use this to " @@ -22871,11 +23177,11 @@ msgid "" "move of this value to a special register or a hardware-loop instruction." msgstr "" -#: ../../../LangRef.rst:19900 +#: ../../../LangRef.rst:20227 msgid "'``llvm.test.set.loop.iterations.*``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:19915 +#: ../../../LangRef.rst:20242 msgid "" "The '``llvm.test.set.loop.iterations.*``' intrinsics are used to specify the " "the loop trip count, and also test that the given count is not zero, " @@ -22884,7 +23190,7 @@ msgid "" "to avoid optimizers duplicating these instructions." msgstr "" -#: ../../../LangRef.rst:19930 +#: ../../../LangRef.rst:20257 msgid "" "The '``llvm.test.set.loop.iterations.*``' intrinsics do not perform any " "arithmetic on their operand. It's a hint to the backend that can use this to " @@ -22893,11 +23199,11 @@ msgid "" "result is the conditional value of whether the given count is not zero." msgstr "" -#: ../../../LangRef.rst:19938 +#: ../../../LangRef.rst:20265 msgid "'``llvm.test.start.loop.iterations.*``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:19953 +#: ../../../LangRef.rst:20280 msgid "" "The '``llvm.test.start.loop.iterations.*``' intrinsics are similar to the " "'``llvm.test.set.loop.iterations.*``' and '``llvm.start.loop.iterations.*``' " @@ -22906,7 +23212,7 @@ msgid "" "second i1 output controls entry to a while-loop." msgstr "" -#: ../../../LangRef.rst:19968 +#: ../../../LangRef.rst:20295 msgid "" "The '``llvm.test.start.loop.iterations.*``' intrinsics do not perform any " "arithmetic on their operand. It's a hint to the backend that can use this to " @@ -22916,25 +23222,25 @@ msgid "" "count is not zero." msgstr "" -#: ../../../LangRef.rst:19977 +#: ../../../LangRef.rst:20304 msgid "'``llvm.loop.decrement.reg.*``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:19992 +#: ../../../LangRef.rst:20319 msgid "" "The '``llvm.loop.decrement.reg.*``' intrinsics are used to lower the loop " "iteration counter and return an updated value that will be used in the next " "loop test check." msgstr "" -#: ../../../LangRef.rst:19999 +#: ../../../LangRef.rst:20326 msgid "" "Both arguments must have identical integer types. The first operand is the " "loop iteration counter. The second operand is the maximum number of elements " "processed in an iteration." msgstr "" -#: ../../../LangRef.rst:20006 +#: ../../../LangRef.rst:20333 msgid "" "The '``llvm.loop.decrement.reg.*``' intrinsics do an integer ``SUB`` of its " "two operands, which is not allowed to wrap. They return the remaining number " @@ -22946,11 +23252,11 @@ msgid "" "optimizers duplicating these instructions." msgstr "" -#: ../../../LangRef.rst:20017 +#: ../../../LangRef.rst:20344 msgid "'``llvm.loop.decrement.*``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:20032 +#: ../../../LangRef.rst:20359 msgid "" "The HardwareLoops pass allows the loop decrement value to be specified with " "an option. It defaults to a loop decrement value of 1, but it can be an " @@ -22961,13 +23267,13 @@ msgid "" "also be controlled with an option." msgstr "" -#: ../../../LangRef.rst:20043 +#: ../../../LangRef.rst:20370 msgid "" "The integer argument is the loop decrement value used to decrement the loop " "iteration counter." msgstr "" -#: ../../../LangRef.rst:20049 +#: ../../../LangRef.rst:20376 msgid "" "The '``llvm.loop.decrement.*``' intrinsics do a ``SUB`` of the loop " "iteration counter with the given loop decrement value, and return false if " @@ -22975,11 +23281,11 @@ msgid "" "condition that is used by the conditional branch controlling the loop." msgstr "" -#: ../../../LangRef.rst:20056 +#: ../../../LangRef.rst:20383 msgid "Vector Reduction Intrinsics" msgstr "" -#: ../../../LangRef.rst:20058 +#: ../../../LangRef.rst:20385 msgid "" "Horizontal reductions of vectors can be expressed using the following " "intrinsics. Each one takes a vector operand as an input and applies its " @@ -22987,37 +23293,37 @@ msgid "" "scalar result of the same element type." msgstr "" -#: ../../../LangRef.rst:20066 +#: ../../../LangRef.rst:20393 msgid "'``llvm.vector.reduce.add.*``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:20079 +#: ../../../LangRef.rst:20406 msgid "" "The '``llvm.vector.reduce.add.*``' intrinsics do an integer ``ADD`` " "reduction of a vector, returning the result as a scalar. The return type " "matches the element-type of the vector input." msgstr "" -#: ../../../LangRef.rst:20085 ../../../LangRef.rst:20163 -#: ../../../LangRef.rst:20239 ../../../LangRef.rst:20262 -#: ../../../LangRef.rst:20285 ../../../LangRef.rst:20308 -#: ../../../LangRef.rst:20331 ../../../LangRef.rst:20354 -#: ../../../LangRef.rst:20377 +#: ../../../LangRef.rst:20412 ../../../LangRef.rst:20490 +#: ../../../LangRef.rst:20566 ../../../LangRef.rst:20589 +#: ../../../LangRef.rst:20612 ../../../LangRef.rst:20635 +#: ../../../LangRef.rst:20658 ../../../LangRef.rst:20681 +#: ../../../LangRef.rst:20704 msgid "The argument to this intrinsic must be a vector of integer values." msgstr "" -#: ../../../LangRef.rst:20090 +#: ../../../LangRef.rst:20417 msgid "'``llvm.vector.reduce.fadd.*``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:20103 +#: ../../../LangRef.rst:20430 msgid "" "The '``llvm.vector.reduce.fadd.*``' intrinsics do a floating-point ``ADD`` " "reduction of a vector, returning the result as a scalar. The return type " "matches the element-type of the vector input." msgstr "" -#: ../../../LangRef.rst:20107 +#: ../../../LangRef.rst:20434 msgid "" "If the intrinsic call has the 'reassoc' flag set, then the reduction will " "not preserve the associativity of an equivalent scalarized counterpart. " @@ -23028,42 +23334,42 @@ msgid "" "pseudocode:" msgstr "" -#: ../../../LangRef.rst:20125 ../../../LangRef.rst:20203 +#: ../../../LangRef.rst:20452 ../../../LangRef.rst:20530 msgid "" "The first argument to this intrinsic is a scalar start value for the " "reduction. The type of the start value matches the element-type of the " "vector input. The second argument must be a vector of floating-point values." msgstr "" -#: ../../../LangRef.rst:20129 +#: ../../../LangRef.rst:20456 msgid "" "To ignore the start value, negative zero (``-0.0``) can be used, as it is " "the neutral value of floating point addition." msgstr "" -#: ../../../LangRef.rst:20144 +#: ../../../LangRef.rst:20471 msgid "'``llvm.vector.reduce.mul.*``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:20157 +#: ../../../LangRef.rst:20484 msgid "" "The '``llvm.vector.reduce.mul.*``' intrinsics do an integer ``MUL`` " "reduction of a vector, returning the result as a scalar. The return type " "matches the element-type of the vector input." msgstr "" -#: ../../../LangRef.rst:20168 +#: ../../../LangRef.rst:20495 msgid "'``llvm.vector.reduce.fmul.*``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:20181 +#: ../../../LangRef.rst:20508 msgid "" "The '``llvm.vector.reduce.fmul.*``' intrinsics do a floating-point ``MUL`` " "reduction of a vector, returning the result as a scalar. The return type " "matches the element-type of the vector input." msgstr "" -#: ../../../LangRef.rst:20185 +#: ../../../LangRef.rst:20512 msgid "" "If the intrinsic call has the 'reassoc' flag set, then the reduction will " "not preserve the associativity of an equivalent scalarized counterpart. " @@ -23074,143 +23380,151 @@ msgid "" "pseudocode:" msgstr "" -#: ../../../LangRef.rst:20207 +#: ../../../LangRef.rst:20534 msgid "" "To ignore the start value, one (``1.0``) can be used, as it is the neutral " "value of floating point multiplication." msgstr "" -#: ../../../LangRef.rst:20221 +#: ../../../LangRef.rst:20548 msgid "'``llvm.vector.reduce.and.*``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:20233 +#: ../../../LangRef.rst:20560 msgid "" "The '``llvm.vector.reduce.and.*``' intrinsics do a bitwise ``AND`` reduction " "of a vector, returning the result as a scalar. The return type matches the " "element-type of the vector input." msgstr "" -#: ../../../LangRef.rst:20244 +#: ../../../LangRef.rst:20571 msgid "'``llvm.vector.reduce.or.*``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:20256 +#: ../../../LangRef.rst:20583 msgid "" "The '``llvm.vector.reduce.or.*``' intrinsics do a bitwise ``OR`` reduction " "of a vector, returning the result as a scalar. The return type matches the " "element-type of the vector input." msgstr "" -#: ../../../LangRef.rst:20267 +#: ../../../LangRef.rst:20594 msgid "'``llvm.vector.reduce.xor.*``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:20279 +#: ../../../LangRef.rst:20606 msgid "" "The '``llvm.vector.reduce.xor.*``' intrinsics do a bitwise ``XOR`` reduction " "of a vector, returning the result as a scalar. The return type matches the " "element-type of the vector input." msgstr "" -#: ../../../LangRef.rst:20290 +#: ../../../LangRef.rst:20617 msgid "'``llvm.vector.reduce.smax.*``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:20302 +#: ../../../LangRef.rst:20629 msgid "" "The '``llvm.vector.reduce.smax.*``' intrinsics do a signed integer ``MAX`` " "reduction of a vector, returning the result as a scalar. The return type " "matches the element-type of the vector input." msgstr "" -#: ../../../LangRef.rst:20313 +#: ../../../LangRef.rst:20640 msgid "'``llvm.vector.reduce.smin.*``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:20325 +#: ../../../LangRef.rst:20652 msgid "" "The '``llvm.vector.reduce.smin.*``' intrinsics do a signed integer ``MIN`` " "reduction of a vector, returning the result as a scalar. The return type " "matches the element-type of the vector input." msgstr "" -#: ../../../LangRef.rst:20336 +#: ../../../LangRef.rst:20663 msgid "'``llvm.vector.reduce.umax.*``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:20348 +#: ../../../LangRef.rst:20675 msgid "" "The '``llvm.vector.reduce.umax.*``' intrinsics do an unsigned integer " "``MAX`` reduction of a vector, returning the result as a scalar. The return " "type matches the element-type of the vector input." msgstr "" -#: ../../../LangRef.rst:20359 +#: ../../../LangRef.rst:20686 msgid "'``llvm.vector.reduce.umin.*``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:20371 +#: ../../../LangRef.rst:20698 msgid "" "The '``llvm.vector.reduce.umin.*``' intrinsics do an unsigned integer " "``MIN`` reduction of a vector, returning the result as a scalar. The return " "type matches the element-type of the vector input." msgstr "" -#: ../../../LangRef.rst:20382 +#: ../../../LangRef.rst:20709 msgid "'``llvm.vector.reduce.fmax.*``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:20395 +#: ../../../LangRef.rst:20722 msgid "" "The '``llvm.vector.reduce.fmax.*``' intrinsics do a floating-point ``MAX`` " "reduction of a vector, returning the result as a scalar. The return type " "matches the element-type of the vector input." msgstr "" -#: ../../../LangRef.rst:20399 +#: ../../../LangRef.rst:20726 +msgid "" +"This instruction has the same comparison and ``nsz`` semantics as the " +"'``llvm.maxnum.*``' intrinsic." +msgstr "" + +#: ../../../LangRef.rst:20729 ../../../LangRef.rst:20763 msgid "" -"This instruction has the same comparison semantics as the '``llvm.maxnum." -"*``' intrinsic. If the intrinsic call has the ``nnan`` fast-math flag, then " -"the operation can assume that NaNs are not present in the input vector." +"If any of the vector elements is a signaling NaN, the intrinsic will non-" +"deterministically either:" msgstr "" -#: ../../../LangRef.rst:20405 ../../../LangRef.rst:20434 -#: ../../../LangRef.rst:20463 ../../../LangRef.rst:20492 +#: ../../../LangRef.rst:20733 ../../../LangRef.rst:20767 +msgid "Treat the signaling NaN as a quiet NaN." +msgstr "" + +#: ../../../LangRef.rst:20737 ../../../LangRef.rst:20771 +#: ../../../LangRef.rst:20800 ../../../LangRef.rst:20829 msgid "" "The argument to this intrinsic must be a vector of floating-point values." msgstr "" -#: ../../../LangRef.rst:20410 +#: ../../../LangRef.rst:20742 msgid "'``llvm.vector.reduce.fmin.*``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:20424 +#: ../../../LangRef.rst:20756 msgid "" "The '``llvm.vector.reduce.fmin.*``' intrinsics do a floating-point ``MIN`` " "reduction of a vector, returning the result as a scalar. The return type " "matches the element-type of the vector input." msgstr "" -#: ../../../LangRef.rst:20428 +#: ../../../LangRef.rst:20760 msgid "" -"This instruction has the same comparison semantics as the '``llvm.minnum." -"*``' intrinsic. If the intrinsic call has the ``nnan`` fast-math flag, then " -"the operation can assume that NaNs are not present in the input vector." +"This instruction has the same comparison and ``nsz`` semantics as the " +"'``llvm.minnum.*``' intrinsic." msgstr "" -#: ../../../LangRef.rst:20439 +#: ../../../LangRef.rst:20776 msgid "'``llvm.vector.reduce.fmaximum.*``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:20453 +#: ../../../LangRef.rst:20790 msgid "" "The '``llvm.vector.reduce.fmaximum.*``' intrinsics do a floating-point " "``MAX`` reduction of a vector, returning the result as a scalar. The return " "type matches the element-type of the vector input." msgstr "" -#: ../../../LangRef.rst:20457 +#: ../../../LangRef.rst:20794 msgid "" "This instruction has the same comparison semantics as the '``llvm.maximum." "*``' intrinsic. That is, this intrinsic propagates NaNs and +0.0 is " @@ -23218,18 +23532,18 @@ msgid "" "result is NaN." msgstr "" -#: ../../../LangRef.rst:20468 +#: ../../../LangRef.rst:20805 msgid "'``llvm.vector.reduce.fminimum.*``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:20482 +#: ../../../LangRef.rst:20819 msgid "" "The '``llvm.vector.reduce.fminimum.*``' intrinsics do a floating-point " "``MIN`` reduction of a vector, returning the result as a scalar. The return " "type matches the element-type of the vector input." msgstr "" -#: ../../../LangRef.rst:20486 +#: ../../../LangRef.rst:20823 msgid "" "This instruction has the same comparison semantics as the '``llvm.minimum." "*``' intrinsic. That is, this intrinsic propagates NaNs and -0.0 is " @@ -23237,18 +23551,18 @@ msgid "" "is NaN." msgstr "" -#: ../../../LangRef.rst:20495 +#: ../../../LangRef.rst:20832 msgid "Vector Partial Reduction Intrinsics" msgstr "" -#: ../../../LangRef.rst:20497 +#: ../../../LangRef.rst:20834 msgid "" "Partial reductions of vectors can be expressed using the intrinsics " "described in this section. Each one reduces the concatenation of the two " "vector arguments down to the number of elements of the result vector type." msgstr "" -#: ../../../LangRef.rst:20501 +#: ../../../LangRef.rst:20838 msgid "" "Other than the reduction operator (e.g. add, fadd), the way in which the " "concatenated arguments is reduced is entirely unspecified. By their nature " @@ -23256,7 +23570,7 @@ msgid "" "be used to implement the first phase of an overall reduction operation." msgstr "" -#: ../../../LangRef.rst:20506 +#: ../../../LangRef.rst:20843 msgid "" "The typical use case is loop vectorization where reductions are split into " "an in-loop phase, where maintaining an unordered vector result is important " @@ -23264,38 +23578,38 @@ msgid "" "scalar result." msgstr "" -#: ../../../LangRef.rst:20511 +#: ../../../LangRef.rst:20848 msgid "" "By avoiding the introduction of new ordering constraints, these intrinsics " "enhance the ability to leverage a target's accumulation instructions." msgstr "" -#: ../../../LangRef.rst:20515 +#: ../../../LangRef.rst:20852 msgid "'``llvm.vector.partial.reduce.add.*``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:20531 +#: ../../../LangRef.rst:20868 msgid "" "The first argument is an integer vector with the same type as the result." msgstr "" -#: ../../../LangRef.rst:20533 ../../../LangRef.rst:20553 +#: ../../../LangRef.rst:20870 ../../../LangRef.rst:20890 msgid "" "The second argument is a vector with a length that is a known integer " "multiple of the result's type, while maintaining the same element type." msgstr "" -#: ../../../LangRef.rst:20537 +#: ../../../LangRef.rst:20874 msgid "'``llvm.vector.partial.reduce.fadd.*``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:20551 +#: ../../../LangRef.rst:20888 msgid "" "The first argument is a floating-point vector with the same type as the " "result." msgstr "" -#: ../../../LangRef.rst:20559 +#: ../../../LangRef.rst:20896 msgid "" "As the way in which the arguments to this floating-point intrinsic are " "reduced is unspecified, this intrinsic will assume floating-point " @@ -23305,15 +23619,15 @@ msgid "" "instructions into a single one)." msgstr "" -#: ../../../LangRef.rst:20566 +#: ../../../LangRef.rst:20903 msgid "Vector Manipulation Intrinsics" msgstr "" -#: ../../../LangRef.rst:20569 +#: ../../../LangRef.rst:20906 msgid "'``llvm.vector.insert``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:20590 +#: ../../../LangRef.rst:20927 msgid "" "The '``llvm.vector.insert.*``' intrinsics insert a vector into another " "vector starting from a given index. The return type matches the type of the " @@ -23322,17 +23636,17 @@ msgid "" "on purely fixed types." msgstr "" -#: ../../../LangRef.rst:20596 +#: ../../../LangRef.rst:20933 msgid "Scalable vectors can only be inserted into other scalable vectors." msgstr "" -#: ../../../LangRef.rst:20601 +#: ../../../LangRef.rst:20938 msgid "" "The ``vec`` is the vector which ``subvec`` will be inserted into. The " "``subvec`` is the vector that will be inserted." msgstr "" -#: ../../../LangRef.rst:20604 +#: ../../../LangRef.rst:20941 msgid "" "``idx`` represents the starting element number at which ``subvec`` will be " "inserted. ``idx`` must be a constant multiple of ``subvec``'s known minimum " @@ -23344,11 +23658,11 @@ msgid "" "runtime, then the result vector is a :ref:`poison value `." msgstr "" -#: ../../../LangRef.rst:20615 +#: ../../../LangRef.rst:20952 msgid "'``llvm.vector.extract``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:20636 +#: ../../../LangRef.rst:20973 msgid "" "The '``llvm.vector.extract.*``' intrinsics extract a vector from within " "another vector starting from a given index. The return type must be " @@ -23357,15 +23671,15 @@ msgid "" "purely fixed types." msgstr "" -#: ../../../LangRef.rst:20642 +#: ../../../LangRef.rst:20979 msgid "Scalable vectors can only be extracted from other scalable vectors." msgstr "" -#: ../../../LangRef.rst:20647 +#: ../../../LangRef.rst:20984 msgid "The ``vec`` is the vector from which we will extract a subvector." msgstr "" -#: ../../../LangRef.rst:20649 +#: ../../../LangRef.rst:20986 msgid "" "The ``idx`` specifies the starting element number within ``vec`` from which " "a subvector is extracted. ``idx`` must be a constant multiple of the known-" @@ -23378,11 +23692,11 @@ msgid "" "(for most targets this will be an integer pointer type)." msgstr "" -#: ../../../LangRef.rst:20660 +#: ../../../LangRef.rst:20997 msgid "'``llvm.vector.reverse``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:20674 +#: ../../../LangRef.rst:21011 msgid "" "The '``llvm.vector.reverse.*``' intrinsics reverse a vector. The intrinsic " "takes a single vector and returns a vector of matching type but with the " @@ -23393,22 +23707,22 @@ msgid "" "opportunities." msgstr "" -#: ../../../LangRef.rst:20685 +#: ../../../LangRef.rst:21022 msgid "The argument to this intrinsic must be a vector." msgstr "" -#: ../../../LangRef.rst:20688 +#: ../../../LangRef.rst:21025 msgid "'``llvm.vector.deinterleave2/3/4/5/6/7/8``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:20705 +#: ../../../LangRef.rst:21042 msgid "" "The '``llvm.vector.deinterleave2/3/4/5/6/7/8``' intrinsics deinterleave " "adjacent lanes into 2 through to 8 separate vectors, respectively, and " "return them as the result." msgstr "" -#: ../../../LangRef.rst:20709 ../../../LangRef.rst:20749 +#: ../../../LangRef.rst:21046 ../../../LangRef.rst:21086 msgid "" "This intrinsic works for both fixed and scalable vectors. While this " "intrinsic supports all vector types the recommended way to express this " @@ -23416,74 +23730,88 @@ msgid "" "shufflevector, as that may allow for more optimization opportunities." msgstr "" -#: ../../../LangRef.rst:20725 +#: ../../../LangRef.rst:21062 msgid "" "The argument is a vector whose type corresponds to the logical concatenation " "of the aggregated result types." msgstr "" -#: ../../../LangRef.rst:20729 +#: ../../../LangRef.rst:21066 msgid "'``llvm.vector.interleave2/3/4/5/6/7/8``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:20746 +#: ../../../LangRef.rst:21083 msgid "" "The '``llvm.vector.interleave2/3/4/5/6/7/8``' intrinsic constructs a vector " "by interleaving all the input vectors." msgstr "" -#: ../../../LangRef.rst:20764 +#: ../../../LangRef.rst:21101 msgid "" "All arguments must be vectors of the same type whereby their logical " "concatenation matches the result type." msgstr "" -#: ../../../LangRef.rst:20768 -msgid "'``llvm.vector.splice``' Intrinsic" +#: ../../../LangRef.rst:21105 +msgid "'``llvm.vector.splice.left``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:20782 +#: ../../../LangRef.rst:21119 msgid "" -"The '``llvm.vector.splice.*``' intrinsics construct a vector by " -"concatenating elements from the first input vector with elements of the " -"second input vector, returning a vector of the same type as the input " -"vectors. The signed immediate, modulo the number of elements in the vector, " -"is the index into the first vector from which to extract the result value. " -"This means conceptually that for a positive immediate, a vector is extracted " -"from ``concat(%vec1, %vec2)`` starting at index ``imm``, whereas for a " -"negative immediate, it extracts ``-imm`` trailing elements from the first " -"vector, and the remaining elements from ``%vec2``." +"The '``llvm.vector.splice.left.*``' intrinsics construct a vector by " +"concatenating two vectors together, shifting the elements left by " +"``offset``, and extracting the lower half." msgstr "" -#: ../../../LangRef.rst:20792 +#: ../../../LangRef.rst:21123 ../../../LangRef.rst:21167 msgid "" "These intrinsics work for both fixed and scalable vectors. While this " "intrinsic supports all vector types the recommended way to express this " -"operation for fixed-width vectors is still to use a shufflevector, as that " -"may allow for more optimization opportunities." +"operation for fixed-width vectors with an immediate offset is still to use a " +"shufflevector, as that may allow for more optimization opportunities." +msgstr "" + +#: ../../../LangRef.rst:21140 +msgid "" +"The first two operands are vectors with the same type. ``offset`` is an " +"unsigned scalar i32 that determines how many elements to shift left by." +msgstr "" + +#: ../../../LangRef.rst:21145 ../../../LangRef.rst:21189 +msgid "" +"For a vector type with a runtime length of N, if ``offset`` > N then the " +"result is a :ref:`poison value `." msgstr "" -#: ../../../LangRef.rst:20808 +#: ../../../LangRef.rst:21149 +msgid "'``llvm.vector.splice.right``' Intrinsic" +msgstr "" + +#: ../../../LangRef.rst:21163 +msgid "" +"The '``llvm.vector.splice.right.*``' intrinsics construct a vector by " +"concatenating two vectors together, shifting the elements right by " +"``offset``, and extracting the upper half." +msgstr "" + +#: ../../../LangRef.rst:21184 msgid "" -"The first two operands are vectors with the same type. The start index is " -"imm modulo the runtime number of elements in the source vector. For a fixed-" -"width vector , imm is a signed integer constant in the range -N " -"<= imm < N. For a scalable vector , imm is a signed " -"integer constant in the range -X <= imm < X where X=vscale_range_min * N." +"The first two operands are vectors with the same type. ``offset`` is an " +"unsigned scalar i32 that determines how many elements to shift right by." msgstr "" -#: ../../../LangRef.rst:20815 +#: ../../../LangRef.rst:21193 msgid "'``llvm.stepvector``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:20817 +#: ../../../LangRef.rst:21195 msgid "" "This is an overloaded intrinsic. You can use ``llvm.stepvector`` to generate " "a vector whose lane values comprise the linear sequence <0, 1, 2, ...>. It " "is primarily intended for scalable vectors." msgstr "" -#: ../../../LangRef.rst:20826 +#: ../../../LangRef.rst:21204 msgid "" "The '``llvm.stepvector``' intrinsics are used to create vectors of integers " "whose elements contain a linear sequence of values starting from 0 with a " @@ -23492,7 +23820,7 @@ msgid "" "limit for the element type then the result for that lane is truncated." msgstr "" -#: ../../../LangRef.rst:20833 +#: ../../../LangRef.rst:21211 msgid "" "These intrinsics work for both fixed and scalable vectors. While this " "intrinsic supports all vector types, the recommended way to express this " @@ -23500,35 +23828,35 @@ msgid "" "instead." msgstr "" -#: ../../../LangRef.rst:20841 ../../../LangRef.rst:29707 -#: ../../../LangRef.rst:29770 ../../../LangRef.rst:30020 -#: ../../../LangRef.rst:30049 ../../../LangRef.rst:30147 -#: ../../../LangRef.rst:30509 ../../../LangRef.rst:30678 -#: ../../../LangRef.rst:30947 +#: ../../../LangRef.rst:21219 ../../../LangRef.rst:30145 +#: ../../../LangRef.rst:30208 ../../../LangRef.rst:30458 +#: ../../../LangRef.rst:30487 ../../../LangRef.rst:30585 +#: ../../../LangRef.rst:30947 ../../../LangRef.rst:31116 +#: ../../../LangRef.rst:31385 msgid "None." msgstr "" -#: ../../../LangRef.rst:20844 +#: ../../../LangRef.rst:21222 msgid "Experimental Vector Intrinsics" msgstr "" -#: ../../../LangRef.rst:20847 +#: ../../../LangRef.rst:21225 msgid "'``llvm.experimental.cttz.elts``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:20852 +#: ../../../LangRef.rst:21230 msgid "" "This is an overloaded intrinsic. You can use ```llvm.experimental.cttz." "elts``` on any vector of integer elements, both fixed width and scalable." msgstr "" -#: ../../../LangRef.rst:20862 +#: ../../../LangRef.rst:21240 msgid "" "The '``llvm.experimental.cttz.elts``' intrinsic counts the number of " "trailing zero elements of a vector." msgstr "" -#: ../../../LangRef.rst:20868 ../../../LangRef.rst:26579 +#: ../../../LangRef.rst:21246 ../../../LangRef.rst:27017 msgid "" "The first argument is the vector to be counted. This argument must be a " "vector with integer element type. The return type must also be an integer " @@ -23537,32 +23865,32 @@ msgid "" "type is not wide enough for the number of elements in the input vector." msgstr "" -#: ../../../LangRef.rst:20874 +#: ../../../LangRef.rst:21252 msgid "" "The second argument is a constant flag that indicates whether the intrinsic " "returns a valid result if the first argument is all zero. If the first " "argument is all zero and the second argument is true, the result is poison." msgstr "" -#: ../../../LangRef.rst:20881 +#: ../../../LangRef.rst:21259 msgid "" "The '``llvm.experimental.cttz.elts``' intrinsic counts the trailing (least " "significant) zero elements in a vector. If ``src == 0`` the result is the " "number of elements in the input vector." msgstr "" -#: ../../../LangRef.rst:20887 +#: ../../../LangRef.rst:21265 msgid "'``llvm.experimental.get.vector.length``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:20901 +#: ../../../LangRef.rst:21279 msgid "" "The '``llvm.experimental.get.vector.length.*``' intrinsics take a number of " "elements to process and returns how many of the elements can be processed " "with the requested vectorization factor." msgstr "" -#: ../../../LangRef.rst:20908 +#: ../../../LangRef.rst:21286 msgid "" "The first argument is an unsigned value of any scalar integer type and " "specifies the total number of elements to be processed. The second argument " @@ -23570,7 +23898,7 @@ msgid "" "indicates if the vectorization factor should be multiplied by vscale." msgstr "" -#: ../../../LangRef.rst:20916 +#: ../../../LangRef.rst:21294 msgid "" "Returns a non-negative i32 value (explicit vector length) that is unknown at " "compile time and depends on the hardware specification. If the result value " @@ -23578,7 +23906,7 @@ msgid "" "`." msgstr "" -#: ../../../LangRef.rst:20921 +#: ../../../LangRef.rst:21299 msgid "" "This intrinsic is intended to be used by loop vectorization with VP " "intrinsics in order to get the number of elements to process on each loop " @@ -23586,79 +23914,79 @@ msgid "" "iteration until the count reaches zero." msgstr "" -#: ../../../LangRef.rst:20926 +#: ../../../LangRef.rst:21304 msgid "" "Let ``%max_lanes`` be the number of lanes in the type described by ``%vf`` " "and ``%scalable``, here are the constraints on the returned value:" msgstr "" -#: ../../../LangRef.rst:20929 +#: ../../../LangRef.rst:21307 msgid "If ``%cnt`` equals to 0, returns 0." msgstr "" -#: ../../../LangRef.rst:20930 +#: ../../../LangRef.rst:21308 msgid "The returned value is always less than or equal to ``%max_lanes``." msgstr "" -#: ../../../LangRef.rst:20931 +#: ../../../LangRef.rst:21309 msgid "" "The returned value is always greater than or equal to ``ceil(%cnt / " "ceil(%cnt / %max_lanes))``, if ``%cnt`` is non-zero." msgstr "" -#: ../../../LangRef.rst:20933 +#: ../../../LangRef.rst:21311 msgid "" "The returned values are monotonically non-increasing in each loop iteration. " "That is, the returned value of an iteration is at least as large as that of " "any later iteration." msgstr "" -#: ../../../LangRef.rst:20937 +#: ../../../LangRef.rst:21315 msgid "Note that it has the following implications:" msgstr "" -#: ../../../LangRef.rst:20939 +#: ../../../LangRef.rst:21317 msgid "" "For a loop that uses this intrinsic, the number of iterations is equal to " "``ceil(%C / %max_lanes)`` where ``%C`` is the initial ``%cnt`` value." msgstr "" -#: ../../../LangRef.rst:20941 +#: ../../../LangRef.rst:21319 msgid "If ``%cnt`` is non-zero, the return value is non-zero as well." msgstr "" -#: ../../../LangRef.rst:20942 +#: ../../../LangRef.rst:21320 msgid "" "If ``%cnt`` is less than or equal to ``%max_lanes``, the return value is " "equal to ``%cnt``." msgstr "" -#: ../../../LangRef.rst:20945 +#: ../../../LangRef.rst:21323 msgid "'``llvm.experimental.vector.histogram.*``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:20947 +#: ../../../LangRef.rst:21325 msgid "These intrinsics are overloaded." msgstr "" -#: ../../../LangRef.rst:20949 +#: ../../../LangRef.rst:21327 msgid "" "These intrinsics represent histogram-like operations; that is, updating " "values in memory that may not be contiguous, and where multiple elements " "within a single vector may be updating the same value in memory." msgstr "" -#: ../../../LangRef.rst:20953 +#: ../../../LangRef.rst:21331 msgid "" "The update operation must be specified as part of the intrinsic name. For a " "simple histogram like the following the ``add`` operation would be used." msgstr "" -#: ../../../LangRef.rst:20963 +#: ../../../LangRef.rst:21341 msgid "More update operation types may be added in the future." msgstr "" -#: ../../../LangRef.rst:20976 +#: ../../../LangRef.rst:21354 msgid "" "The first argument is a vector of pointers to the memory locations to be " "updated. The second argument is a scalar used to update the value from " @@ -23666,67 +23994,67 @@ msgid "" "a mask value to exclude locations from being modified." msgstr "" -#: ../../../LangRef.rst:20984 +#: ../../../LangRef.rst:21362 msgid "" "The '``llvm.experimental.vector.histogram.*``' intrinsics are used to " "perform updates on potentially overlapping values in memory. The intrinsics " "represent the following sequence of operations:" msgstr "" -#: ../../../LangRef.rst:20988 +#: ../../../LangRef.rst:21366 msgid "" "Gather load from the ``ptrs`` operand, with element type matching that of " "the ``inc`` operand." msgstr "" -#: ../../../LangRef.rst:20990 +#: ../../../LangRef.rst:21368 msgid "" "Update of the values loaded from memory. In the case of the ``add`` update " "operation, this means:" msgstr "" -#: ../../../LangRef.rst:20993 +#: ../../../LangRef.rst:21371 msgid "Perform a cross-vector histogram operation on the ``ptrs`` operand." msgstr "" -#: ../../../LangRef.rst:20994 +#: ../../../LangRef.rst:21372 msgid "Multiply the result by the ``inc`` operand." msgstr "" -#: ../../../LangRef.rst:20995 +#: ../../../LangRef.rst:21373 msgid "Add the result to the values loaded from memory" msgstr "" -#: ../../../LangRef.rst:20996 +#: ../../../LangRef.rst:21374 msgid "" "Scatter the result of the update operation to the memory locations from the " "``ptrs`` operand." msgstr "" -#: ../../../LangRef.rst:20999 +#: ../../../LangRef.rst:21377 msgid "" "The ``mask`` operand will apply to at least the gather and scatter " "operations." msgstr "" -#: ../../../LangRef.rst:21002 +#: ../../../LangRef.rst:21380 msgid "'``llvm.experimental.vector.extract.last.active``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:21014 +#: ../../../LangRef.rst:21392 msgid "" "The first argument is the data vector to extract a lane from. The second is " "a mask vector controlling the extraction. The third argument is a passthru " "value." msgstr "" -#: ../../../LangRef.rst:21018 +#: ../../../LangRef.rst:21396 msgid "" "The two input vectors must have the same number of elements, and the type of " "the passthru value must match that of the elements of the data vector." msgstr "" -#: ../../../LangRef.rst:21024 +#: ../../../LangRef.rst:21402 msgid "" "The '``llvm.experimental.vector.extract.last.active``' intrinsic will " "extract an element from the data vector at the index matching the highest " @@ -23734,11 +24062,11 @@ msgid "" "passthru value is returned instead." msgstr "" -#: ../../../LangRef.rst:21032 +#: ../../../LangRef.rst:21410 msgid "'``llvm.experimental.vector.compress.*``' Intrinsics" msgstr "" -#: ../../../LangRef.rst:21034 +#: ../../../LangRef.rst:21412 msgid "" "LLVM provides an intrinsic for compressing data within a vector based on a " "selection mask. Semantically, this is similar to :ref:`llvm.masked." @@ -23746,7 +24074,7 @@ msgid "" "storing the results to memory, i.e., the data remains in the vector." msgstr "" -#: ../../../LangRef.rst:21040 +#: ../../../LangRef.rst:21418 msgid "" "This is an overloaded intrinsic. A number of scalar values of integer, " "floating point or pointer data type are collected from an input vector and " @@ -23755,7 +24083,7 @@ msgid "" "``passthru``." msgstr "" -#: ../../../LangRef.rst:21052 +#: ../../../LangRef.rst:21430 msgid "" "Selects elements from input vector ``value`` according to the ``mask``. All " "selected elements are written into adjacent lanes in the result vector, from " @@ -23773,7 +24101,7 @@ msgid "" "branches to avoid writes where the mask is ``false``." msgstr "" -#: ../../../LangRef.rst:21073 +#: ../../../LangRef.rst:21451 msgid "" "The first operand is the input vector, from which elements are selected. The " "second operand is the mask, a vector of boolean values. The third operand is " @@ -23782,7 +24110,7 @@ msgid "" "The input and passthru vectors must have the same type." msgstr "" -#: ../../../LangRef.rst:21083 +#: ../../../LangRef.rst:21461 msgid "" "The ``llvm.experimental.vector.compress`` intrinsic compresses data within a " "vector. It collects elements from possibly non-adjacent lanes of a vector " @@ -23798,17 +24126,17 @@ msgid "" "selected-values are undefined." msgstr "" -#: ../../../LangRef.rst:21116 +#: ../../../LangRef.rst:21494 msgid "'``llvm.experimental.vector.match.*``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:21131 +#: ../../../LangRef.rst:21509 msgid "" "Find active elements of the first argument matching any elements of the " "second." msgstr "" -#: ../../../LangRef.rst:21136 +#: ../../../LangRef.rst:21514 msgid "" "The first argument is the search vector, the second argument the vector of " "elements we are searching for (i.e., for which we consider a match " @@ -23820,7 +24148,7 @@ msgid "" "remaining arguments." msgstr "" -#: ../../../LangRef.rst:21147 +#: ../../../LangRef.rst:21525 msgid "" "The '``llvm.experimental.vector.match``' intrinsic compares each active " "element in the first argument against the elements of the second argument, " @@ -23829,11 +24157,11 @@ msgid "" "the mask are set to ``0`` in the output." msgstr "" -#: ../../../LangRef.rst:21154 +#: ../../../LangRef.rst:21532 msgid "Matrix Intrinsics" msgstr "" -#: ../../../LangRef.rst:21156 +#: ../../../LangRef.rst:21534 msgid "" "Operations on matrixes requiring shape information (like number of rows/" "columns or the memory layout) can be expressed using the matrix intrinsics. " @@ -23845,17 +24173,17 @@ msgid "" "floating point matrixes." msgstr "" -#: ../../../LangRef.rst:21166 +#: ../../../LangRef.rst:21544 msgid "'``llvm.matrix.transpose.*``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:21179 +#: ../../../LangRef.rst:21557 msgid "" "The '``llvm.matrix.transpose.*``' intrinsics treat ``%In`` as a `` x " "`` matrix and return the transposed matrix in the result vector." msgstr "" -#: ../../../LangRef.rst:21185 +#: ../../../LangRef.rst:21563 msgid "" "The first argument ``%In`` is a vector that corresponds to a `` x " "`` matrix. Thus, arguments ```` and ```` correspond to the " @@ -23864,18 +24192,18 @@ msgid "" "have the same float or integer element type as ``%In``." msgstr "" -#: ../../../LangRef.rst:21192 +#: ../../../LangRef.rst:21570 msgid "'``llvm.matrix.multiply.*``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:21205 +#: ../../../LangRef.rst:21583 msgid "" "The '``llvm.matrix.multiply.*``' intrinsics treat ``%A`` as a `` " "x `` matrix, ``%B`` as a `` x `` matrix, and " "multiplies them. The result matrix is returned in the result vector." msgstr "" -#: ../../../LangRef.rst:21212 +#: ../../../LangRef.rst:21590 msgid "" "The first vector argument ``%A`` corresponds to a matrix with `` " "* `` elements, and the second argument ``%B`` to a matrix with " @@ -23886,17 +24214,17 @@ msgid "" "element type." msgstr "" -#: ../../../LangRef.rst:21222 +#: ../../../LangRef.rst:21600 msgid "'``llvm.matrix.column.major.load.*``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:21226 +#: ../../../LangRef.rst:21604 msgid "" "This is an overloaded intrinsic. You can use ``llvm.matrix.column.major." "load`` to load any vector type with a stride of any bitwidth up to 64." msgstr "" -#: ../../../LangRef.rst:21239 +#: ../../../LangRef.rst:21617 msgid "" "The '``llvm.matrix.column.major.load.*``' intrinsics load a `` x " "`` matrix using a stride of ``%Stride`` to compute the start address " @@ -23909,7 +24237,7 @@ msgid "" "specified as an attribute on the argument." msgstr "" -#: ../../../LangRef.rst:21251 +#: ../../../LangRef.rst:21629 msgid "" "The first argument ``%Ptr`` is a pointer type to the returned vector type, " "and corresponds to the start address to load from. The second argument " @@ -23922,23 +24250,23 @@ msgid "" "integers. The returned vector must have `` * `` elements." msgstr "" -#: ../../../LangRef.rst:21261 ../../../LangRef.rst:21307 +#: ../../../LangRef.rst:21639 ../../../LangRef.rst:21685 msgid "" "The :ref:`align ` parameter attribute can be provided for the " "``%Ptr`` arguments." msgstr "" -#: ../../../LangRef.rst:21266 +#: ../../../LangRef.rst:21644 msgid "'``llvm.matrix.column.major.store.*``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:21270 +#: ../../../LangRef.rst:21648 msgid "" "This is an overloaded intrinsic. ``llvm.matrix.column.major.store`` to store " "any vector type with a stride of any bitwidth up to 64." msgstr "" -#: ../../../LangRef.rst:21285 +#: ../../../LangRef.rst:21663 msgid "" "The '``llvm.matrix.column.major.store.*``' intrinsics store the `` x " "`` matrix in ``%In`` to memory using a stride of ``%Stride`` between " @@ -23947,13 +24275,13 @@ msgid "" "true, the intrinsic is considered a :ref:`volatile memory access `." msgstr "" -#: ../../../LangRef.rst:21291 +#: ../../../LangRef.rst:21669 msgid "" "If the ``%Ptr`` argument is known to be aligned to some boundary, this can " "be specified as an attribute on the argument." msgstr "" -#: ../../../LangRef.rst:21297 +#: ../../../LangRef.rst:21675 msgid "" "The first argument ``%In`` is a vector that corresponds to a `` x " "`` matrix to be stored to memory. The second argument ``%Ptr`` is a " @@ -23967,213 +24295,345 @@ msgid "" "positive, constant integers." msgstr "" -#: ../../../LangRef.rst:21312 -msgid "Half Precision Floating-Point Intrinsics" +#: ../../../LangRef.rst:21690 +msgid "Saturating floating-point to integer conversions" msgstr "" -#: ../../../LangRef.rst:21314 +#: ../../../LangRef.rst:21692 msgid "" -"For most target platforms, half precision floating-point is a storage-only " -"format. This means that it is a dense encoding (in memory) but does not " -"support computation in the format." +"The ``fptoui`` and ``fptosi`` instructions return a :ref:`poison value " +"` if the rounded-towards-zero value is not representable by " +"the result type. These intrinsics provide an alternative conversion, which " +"will saturate towards the smallest and largest representable integer values " +"instead." +msgstr "" + +#: ../../../LangRef.rst:21699 +msgid "'``llvm.fptoui.sat.*``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:21318 +#: ../../../LangRef.rst:21704 msgid "" -"This means that code must first load the half-precision floating-point value " -"as an i16, then convert it to float with :ref:`llvm.convert.from.fp16 " -"`. Computation can then be performed on the float " -"value (including extending to double etc). To store the value back to " -"memory, it is first converted to float if needed, then converted to i16 " -"with :ref:`llvm.convert.to.fp16 `, then storing as an " -"i16 value." +"This is an overloaded intrinsic. You can use ``llvm.fptoui.sat`` on any " +"floating-point argument type and any integer result type, or vectors " +"thereof. Not all targets may support all types, however." msgstr "" -#: ../../../LangRef.rst:21330 -msgid "'``llvm.convert.to.fp16``' Intrinsic" +#: ../../../LangRef.rst:21717 +msgid "" +"This intrinsic converts the argument into an unsigned integer using " +"saturating semantics." msgstr "" -#: ../../../LangRef.rst:21343 +#: ../../../LangRef.rst:21723 ../../../LangRef.rst:21775 msgid "" -"The '``llvm.convert.to.fp16``' intrinsic function performs a conversion from " -"a conventional floating-point type to half precision floating-point format." +"The argument may be any floating-point or vector of floating-point type. The " +"return value may be any integer or vector of integer type. The number of " +"vector elements in argument and return must be the same." msgstr "" -#: ../../../LangRef.rst:21349 ../../../LangRef.rst:21390 +#: ../../../LangRef.rst:21730 ../../../LangRef.rst:21782 +msgid "The conversion to integer is performed subject to the following rules:" +msgstr "" + +#: ../../../LangRef.rst:21732 ../../../LangRef.rst:21784 +msgid "If the argument is any NaN, zero is returned." +msgstr "" + +#: ../../../LangRef.rst:21733 +msgid "" +"If the argument is smaller than zero (this includes negative infinity), zero " +"is returned." +msgstr "" + +#: ../../../LangRef.rst:21735 msgid "" -"The intrinsic function contains single argument - the value to be converted." +"If the argument is larger than the largest representable unsigned integer of " +"the result type (this includes positive infinity), the largest representable " +"unsigned integer is returned." msgstr "" -#: ../../../LangRef.rst:21355 +#: ../../../LangRef.rst:21738 ../../../LangRef.rst:21791 msgid "" -"The '``llvm.convert.to.fp16``' intrinsic function performs a conversion from " -"a conventional floating-point format to half precision floating-point " -"format. The return value is an ``i16`` which contains the converted number." +"Otherwise, the result of rounding the argument towards zero is returned." msgstr "" -#: ../../../LangRef.rst:21370 -msgid "'``llvm.convert.from.fp16``' Intrinsic" +#: ../../../LangRef.rst:21751 +msgid "'``llvm.fptosi.sat.*``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:21383 +#: ../../../LangRef.rst:21756 msgid "" -"The '``llvm.convert.from.fp16``' intrinsic function performs a conversion " -"from half precision floating-point format to single precision floating-point " -"format." +"This is an overloaded intrinsic. You can use ``llvm.fptosi.sat`` on any " +"floating-point argument type and any integer result type, or vectors " +"thereof. Not all targets may support all types, however." msgstr "" -#: ../../../LangRef.rst:21396 +#: ../../../LangRef.rst:21769 msgid "" -"The '``llvm.convert.from.fp16``' intrinsic function performs a conversion " -"from half single precision floating-point format to single precision " -"floating-point format. The input half-float value is represented by an " -"``i16`` value." +"This intrinsic converts the argument into a signed integer using saturating " +"semantics." msgstr "" -#: ../../../LangRef.rst:21410 -msgid "Saturating floating-point to integer conversions" +#: ../../../LangRef.rst:21785 +msgid "" +"If the argument is smaller than the smallest representable signed integer of " +"the result type (this includes negative infinity), the smallest " +"representable signed integer is returned." msgstr "" -#: ../../../LangRef.rst:21412 +#: ../../../LangRef.rst:21788 msgid "" -"The ``fptoui`` and ``fptosi`` instructions return a :ref:`poison value " -"` if the rounded-towards-zero value is not representable by " -"the result type. These intrinsics provide an alternative conversion, which " -"will saturate towards the smallest and largest representable integer values " -"instead." +"If the argument is larger than the largest representable signed integer of " +"the result type (this includes positive infinity), the largest representable " +"signed integer is returned." msgstr "" -#: ../../../LangRef.rst:21419 -msgid "'``llvm.fptoui.sat.*``' Intrinsic" +#: ../../../LangRef.rst:21804 +msgid "Floating-Point Conversion Intrinsics" msgstr "" -#: ../../../LangRef.rst:21424 +#: ../../../LangRef.rst:21806 msgid "" -"This is an overloaded intrinsic. You can use ``llvm.fptoui.sat`` on any " -"floating-point argument type and any integer result type, or vectors " -"thereof. Not all targets may support all types, however." +"This class of intrinsics is designed for floating-point conversions that do " +"not fall into other categories. For example conversions with specified " +"rounding mode or mini-float conversions." msgstr "" -#: ../../../LangRef.rst:21437 +#: ../../../LangRef.rst:21811 +msgid "'``llvm.fptrunc.round``' Intrinsic" +msgstr "" + +#: ../../../LangRef.rst:21824 msgid "" -"This intrinsic converts the argument into an unsigned integer using " -"saturating semantics." +"The '``llvm.fptrunc.round``' intrinsic truncates :ref:`floating-point " +"` ``value`` to type ``ty2`` with a specified rounding mode." msgstr "" -#: ../../../LangRef.rst:21443 ../../../LangRef.rst:21495 +#: ../../../LangRef.rst:21831 msgid "" -"The argument may be any floating-point or vector of floating-point type. The " -"return value may be any integer or vector of integer type. The number of " -"vector elements in argument and return must be the same." +"The '``llvm.fptrunc.round``' intrinsic takes a :ref:`floating-point " +"` value to cast and a :ref:`floating-point ` type to " +"cast it to. This argument must be larger in size than the result." msgstr "" -#: ../../../LangRef.rst:21450 ../../../LangRef.rst:21502 -msgid "The conversion to integer is performed subject to the following rules:" +#: ../../../LangRef.rst:21835 +msgid "" +"The second argument specifies the rounding mode as described in the " +"constrained intrinsics section. For this intrinsic, the \"round.dynamic\" " +"mode is not supported." msgstr "" -#: ../../../LangRef.rst:21452 ../../../LangRef.rst:21504 -msgid "If the argument is any NaN, zero is returned." +#: ../../../LangRef.rst:21842 +msgid "" +"The '``llvm.fptrunc.round``' intrinsic casts a ``value`` from a larger :ref:" +"`floating-point ` type to a smaller :ref:`floating-point " +"` type. This intrinsic is assumed to execute in the default :ref:" +"`floating-point environment ` *except* for the rounding mode. This " +"intrinsic is not supported on all targets. Some targets may not support all " +"rounding modes." msgstr "" -#: ../../../LangRef.rst:21453 +#: ../../../LangRef.rst:21851 +msgid "'``llvm.convert.to.arbitrary.fp``' Intrinsic" +msgstr "" + +#: ../../../LangRef.rst:21865 msgid "" -"If the argument is smaller than zero (this includes negative infinity), zero " -"is returned." +"The ``llvm.convert.to.arbitrary.fp`` intrinsic converts a native LLVM " +"floating-point value to an arbitrary FP format, returning the result as an " +"integer containing the arbitrary FP bits. This intrinsic is overloaded on " +"both its return type and first argument." msgstr "" -#: ../../../LangRef.rst:21455 +#: ../../../LangRef.rst:21874 ../../../LangRef.rst:21969 +msgid "``value``" +msgstr "" + +#: ../../../LangRef.rst:21874 msgid "" -"If the argument is larger than the largest representable unsigned integer of " -"the result type (this includes positive infinity), the largest representable " -"unsigned integer is returned." +"The native LLVM floating-point value to convert (e.g., ``half``, ``float``, " +"``double``)." +msgstr "" + +#: ../../../LangRef.rst:21883 ../../../LangRef.rst:21978 +msgid "``interpretation``" msgstr "" -#: ../../../LangRef.rst:21458 ../../../LangRef.rst:21511 +#: ../../../LangRef.rst:21877 msgid "" -"Otherwise, the result of rounding the argument towards zero is returned." +"A metadata string describing the target arbitrary FP format. Supported " +"format names include:" msgstr "" -#: ../../../LangRef.rst:21471 -msgid "'``llvm.fptosi.sat.*``' Intrinsic" +#: ../../../LangRef.rst:21879 ../../../LangRef.rst:21974 +msgid "" +"FP8 formats: ``\"Float8E5M2\"``, ``\"Float8E5M2FNUZ\"``, ``\"Float8E4M3\"``, " +"``\"Float8E4M3FN\"``, ``\"Float8E4M3FNUZ\"``, ``\"Float8E4M3B11FNUZ\"``, " +"``\"Float8E3M4\"``, ``\"Float8E8M0FNU\"``" +msgstr "" + +#: ../../../LangRef.rst:21882 ../../../LangRef.rst:21977 +msgid "FP6 formats: ``\"Float6E3M2FN\"``, ``\"Float6E2M3FN\"``" +msgstr "" + +#: ../../../LangRef.rst:21883 ../../../LangRef.rst:21978 +msgid "FP4 formats: ``\"Float4E2M1FN\"``" +msgstr "" + +#: ../../../LangRef.rst:21891 +msgid "``rounding mode``" +msgstr "" + +#: ../../../LangRef.rst:21886 +msgid "" +"A metadata string specifying the rounding mode. The permitted strings match " +"those accepted by ``llvm.fptrunc.round`` (for example, ``\"round." +"tonearest\"`` or ``\"round.towardzero\"``)." +msgstr "" + +#: ../../../LangRef.rst:21890 +msgid "" +"The rounding mode is only consulted when ``value`` is not exactly " +"representable in the target format. If the value is exactly representable, " +"all rounding modes produce the same result." +msgstr "" + +#: ../../../LangRef.rst:21903 +msgid "``saturation``" +msgstr "" + +#: ../../../LangRef.rst:21894 +msgid "" +"A compile-time constant boolean value (``i1``). This parameter controls how " +"overflow is handled when values exceed the representable finite range of the " +"target format:" +msgstr "" + +#: ../../../LangRef.rst:21897 +msgid "" +"When ``true``: overflowing values are clamped to the minimum or maximum " +"representable finite value (saturating to the largest negative finite value " +"or largest positive finite value)." +msgstr "" + +#: ../../../LangRef.rst:21899 +msgid "" +"When ``false``: overflowing values are converted to infinity (preserving " +"sign of the original value) if the target format supports infinity, or " +"return a poison value if infinity is not supported by the target format." +msgstr "" + +#: ../../../LangRef.rst:21903 +msgid "This parameter must be an immediate constant." +msgstr "" + +#: ../../../LangRef.rst:21908 +msgid "" +"The intrinsic converts the native LLVM floating-point value to the arbitrary " +"FP format specified by ``interpretation``, applying the requested rounding " +"mode and saturation behavior. The conversion is performed in two steps: " +"first, the value is rounded according to the specified rounding mode to fit " +"the target format's precision; then, if the rounded result exceeds the " +"target format's representable range, saturation is applied according to the " +"``saturation`` parameter. The result is returned as an integer (e.g., ``i8`` " +"for FP8, ``i6`` for FP6) containing the encoded arbitrary FP bits." +msgstr "" + +#: ../../../LangRef.rst:21916 +msgid "**Handling of special values:**" +msgstr "" + +#: ../../../LangRef.rst:21918 +msgid "" +"**NaN**: NaN values follow LLVM's standard :ref:`NaN rules `. When " +"the target format supports NaN, the NaN representation is preserved (quiet " +"NaNs remain quiet, signaling NaNs remain signaling). The exact NaN payload " +"may be truncated or extended to fit the target format's payload size. If the " +"target format does not support NaN, the intrinsic returns a poison value." msgstr "" -#: ../../../LangRef.rst:21476 +#: ../../../LangRef.rst:21923 msgid "" -"This is an overloaded intrinsic. You can use ``llvm.fptosi.sat`` on any " -"floating-point argument type and any integer result type, or vectors " -"thereof. Not all targets may support all types, however." +"**Infinity and Overflow**: If the input is +/-Inf or a finite value that " +"exceeds the representable range:" msgstr "" -#: ../../../LangRef.rst:21489 +#: ../../../LangRef.rst:21925 msgid "" -"This intrinsic converts the argument into a signed integer using saturating " -"semantics." +"When ``saturation`` is ``false`` and the target format supports infinity, " +"the result is +/-Inf (preserving the sign)." msgstr "" -#: ../../../LangRef.rst:21505 +#: ../../../LangRef.rst:21926 msgid "" -"If the argument is smaller than the smallest representable signed integer of " -"the result type (this includes negative infinity), the smallest " -"representable signed integer is returned." +"When ``saturation`` is ``false`` and the target format does not support " +"infinity (e.g., formats with \"FN\" suffix), the intrinsic returns a poison " +"value." msgstr "" -#: ../../../LangRef.rst:21508 +#: ../../../LangRef.rst:21928 msgid "" -"If the argument is larger than the largest representable signed integer of " -"the result type (this includes positive infinity), the largest representable " -"signed integer is returned." +"When ``saturation`` is ``true``, the value is clamped to the maximum/minimum " +"representable finite value." msgstr "" -#: ../../../LangRef.rst:21524 -msgid "Floating-Point Conversion Intrinsics" +#: ../../../LangRef.rst:21930 +msgid "" +"For FP6/FP4 interpretations, producers are expected to use ``saturation`` = " +"``true``; using ``saturation`` = ``false`` and generating NaN/Inf/" +"overflowing values results in a poison value." msgstr "" -#: ../../../LangRef.rst:21526 -msgid "" -"This class of intrinsics is designed for floating-point conversions that do " -"not fall into other categories. For example conversions with specified " -"rounding mode or mini-float conversions." +#: ../../../LangRef.rst:21948 +msgid "'``llvm.convert.from.arbitrary.fp``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:21531 -msgid "'``llvm.fptrunc.round``' Intrinsic" +#: ../../../LangRef.rst:21961 +msgid "" +"The ``llvm.convert.from.arbitrary.fp`` intrinsic converts an integer " +"containing arbitrary FP bits to a native LLVM floating-point value. This " +"intrinsic is overloaded on both its return type and first argument." msgstr "" -#: ../../../LangRef.rst:21544 +#: ../../../LangRef.rst:21969 msgid "" -"The '``llvm.fptrunc.round``' intrinsic truncates :ref:`floating-point " -"` ``value`` to type ``ty2`` with a specified rounding mode." +"An integer value containing the arbitrary FP bits (e.g., ``i8`` for FP8, " +"``i6`` for FP6)." msgstr "" -#: ../../../LangRef.rst:21551 +#: ../../../LangRef.rst:21972 msgid "" -"The '``llvm.fptrunc.round``' intrinsic takes a :ref:`floating-point " -"` value to cast and a :ref:`floating-point ` type to " -"cast it to. This argument must be larger in size than the result." +"A metadata string describing the source arbitrary FP format. Supported " +"format names include:" msgstr "" -#: ../../../LangRef.rst:21555 +#: ../../../LangRef.rst:21983 msgid "" -"The second argument specifies the rounding mode as described in the " -"constrained intrinsics section. For this intrinsic, the \"round.dynamic\" " -"mode is not supported." +"The intrinsic interprets the integer value as arbitrary FP bits according to " +"``interpretation``, then converts to the native LLVM floating-point result " +"type." msgstr "" -#: ../../../LangRef.rst:21562 +#: ../../../LangRef.rst:21986 msgid "" -"The '``llvm.fptrunc.round``' intrinsic casts a ``value`` from a larger :ref:" -"`floating-point ` type to a smaller :ref:`floating-point " -"` type. This intrinsic is assumed to execute in the default :ref:" -"`floating-point environment ` *except* for the rounding mode. This " -"intrinsic is not supported on all targets. Some targets may not support all " -"rounding modes." +"Conversions from arbitrary FP formats to native LLVM floating-point types " +"are widening conversions (e.g., FP8 to FP16 or FP32), which are exact and " +"require no rounding. Normal finite values are converted exactly. NaN values " +"follow LLVM's standard :ref:`NaN rules `; the NaN representation " +"is preserved (quiet NaNs remain quiet, signaling NaNs remain signaling), and " +"the NaN payload may be truncated or extended to fit the target format's " +"payload size. Infinity values are preserved as infinity. If a value exceeds " +"the representable range of the target type (for example, converting " +"``Float8E8M0FNU`` with large exponents to ``half``), the result is converted " +"to infinity with the appropriate sign." msgstr "" -#: ../../../LangRef.rst:21571 +#: ../../../LangRef.rst:22009 msgid "Convergence Intrinsics" msgstr "" -#: ../../../LangRef.rst:21573 +#: ../../../LangRef.rst:22011 msgid "" "The LLVM convergence intrinsics for controlling the semantics of " "``convergent`` operations, which all start with the ``llvm.experimental." @@ -24181,44 +24641,44 @@ msgid "" "document." msgstr "" -#: ../../../LangRef.rst:21580 +#: ../../../LangRef.rst:22018 msgid "Debugger Intrinsics" msgstr "" -#: ../../../LangRef.rst:21582 +#: ../../../LangRef.rst:22020 msgid "" "The LLVM debugger intrinsics (which all start with ``llvm.dbg.`` prefix), " "are described in the `LLVM Source Level Debugging `_ document." msgstr "" -#: ../../../LangRef.rst:21588 +#: ../../../LangRef.rst:22026 msgid "Exception Handling Intrinsics" msgstr "" -#: ../../../LangRef.rst:21590 +#: ../../../LangRef.rst:22028 msgid "" "The LLVM exception handling intrinsics (which all start with ``llvm.eh.`` " "prefix), are described in the `LLVM Exception Handling `_ document." msgstr "" -#: ../../../LangRef.rst:21595 +#: ../../../LangRef.rst:22033 msgid "Pointer Authentication Intrinsics" msgstr "" -#: ../../../LangRef.rst:21597 +#: ../../../LangRef.rst:22035 msgid "" "The LLVM pointer authentication intrinsics (which all start with ``llvm." "ptrauth.`` prefix), are described in the `Pointer Authentication " "`_ document." msgstr "" -#: ../../../LangRef.rst:21604 +#: ../../../LangRef.rst:22042 msgid "Trampoline Intrinsics" msgstr "" -#: ../../../LangRef.rst:21606 +#: ../../../LangRef.rst:22044 msgid "" "These intrinsics make it possible to excise one parameter, marked with the :" "ref:`nest ` attribute, from a function. The result is a callable " @@ -24229,30 +24689,30 @@ msgid "" "to implement the GCC nested function address extension." msgstr "" -#: ../../../LangRef.rst:21615 +#: ../../../LangRef.rst:22053 msgid "" "For example, if the function is ``i32 f(ptr nest %c, i32 %x, i32 %y)`` then " "the resulting function pointer has signature ``i32 (i32, i32)``. It can be " "created as follows:" msgstr "" -#: ../../../LangRef.rst:21625 +#: ../../../LangRef.rst:22063 msgid "" "The call ``%val = call i32 %fp(i32 %x, i32 %y)`` is then equivalent to " "``%val = call i32 %f(ptr %nval, i32 %x, i32 %y)``." msgstr "" -#: ../../../LangRef.rst:21631 +#: ../../../LangRef.rst:22069 msgid "'``llvm.init.trampoline``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:21643 +#: ../../../LangRef.rst:22081 msgid "" "This fills the memory pointed to by ``tramp`` with executable code, turning " "it into a trampoline." msgstr "" -#: ../../../LangRef.rst:21649 +#: ../../../LangRef.rst:22087 msgid "" "The ``llvm.init.trampoline`` intrinsic takes three arguments, all pointers. " "The ``tramp`` argument must point to a sufficiently large and sufficiently " @@ -24262,14 +24722,14 @@ msgid "" "this intrinsic needs to have some target-specific knowledge." msgstr "" -#: ../../../LangRef.rst:21657 +#: ../../../LangRef.rst:22095 msgid "" "The ``func`` argument must be a constant (potentially bitcasted) pointer to " "a function declaration or definition, since the calling convention may " "affect the content of the trampoline that is created." msgstr "" -#: ../../../LangRef.rst:21665 +#: ../../../LangRef.rst:22103 msgid "" "The block of memory pointed to by ``tramp`` is filled with target dependent " "code, turning it into a function. Then ``tramp`` needs to be passed to :ref:" @@ -24285,23 +24745,23 @@ msgid "" "undefined." msgstr "" -#: ../../../LangRef.rst:21681 +#: ../../../LangRef.rst:22119 msgid "'``llvm.adjust.trampoline``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:21693 +#: ../../../LangRef.rst:22131 msgid "" "This performs any required machine-specific adjustment to the address of a " "trampoline (passed as ``tramp``)." msgstr "" -#: ../../../LangRef.rst:21699 +#: ../../../LangRef.rst:22137 msgid "" "``tramp`` must point to a block of memory which already has trampoline code " "filled in by a previous call to :ref:`llvm.init.trampoline `." msgstr "" -#: ../../../LangRef.rst:21706 +#: ../../../LangRef.rst:22144 msgid "" "On some architectures the address of the code to be executed needs to be " "different than the address where the trampoline is actually stored. This " @@ -24310,17 +24770,17 @@ msgid "" "can then be :ref:`bitcast and executed `." msgstr "" -#: ../../../LangRef.rst:21716 +#: ../../../LangRef.rst:22154 msgid "Vector Predication Intrinsics" msgstr "" -#: ../../../LangRef.rst:21717 +#: ../../../LangRef.rst:22155 msgid "" "VP intrinsics are intended for predicated SIMD/vector code. A typical VP " "operation takes a vector mask and an explicit vector length parameter as in:" msgstr "" -#: ../../../LangRef.rst:21724 +#: ../../../LangRef.rst:22162 msgid "" "The vector mask parameter (%mask) always has a vector of `i1` type, for " "example `<32 x i1>`. The explicit vector length parameter always has the " @@ -24328,13 +24788,13 @@ msgid "" "parameter (%evl) is in the range:" msgstr "" -#: ../../../LangRef.rst:21733 +#: ../../../LangRef.rst:22171 msgid "" "Note that for :ref:`scalable vector types ` ``W`` is the runtime " "length of the vector." msgstr "" -#: ../../../LangRef.rst:21736 +#: ../../../LangRef.rst:22174 msgid "" "The VP intrinsic has undefined behavior if ``%evl > W``. The explicit " "vector length (%evl) creates a mask, %EVLmask, with all elements ``0 <= i < " @@ -24342,15 +24802,15 @@ msgid "" "mask %M is calculated with an element-wise AND from %mask and %EVLmask:" msgstr "" -#: ../../../LangRef.rst:21745 +#: ../../../LangRef.rst:22183 msgid "A vector operation ```` on vectors ``A`` and ``B`` calculates:" msgstr "" -#: ../../../LangRef.rst:21753 +#: ../../../LangRef.rst:22191 msgid "Optimization Hint" msgstr "" -#: ../../../LangRef.rst:21755 +#: ../../../LangRef.rst:22193 msgid "" "Some targets, such as AVX512, do not support the %evl parameter in hardware. " "The use of an effective %evl is discouraged for those targets. The function " @@ -24358,17 +24818,17 @@ msgid "" "target has native support for %evl." msgstr "" -#: ../../../LangRef.rst:21763 +#: ../../../LangRef.rst:22201 msgid "'``llvm.vp.select.*``' Intrinsics" msgstr "" -#: ../../../LangRef.rst:21777 +#: ../../../LangRef.rst:22215 msgid "" "The '``llvm.vp.select``' intrinsic is used to choose one value based on a " "condition vector, without IR-level branching." msgstr "" -#: ../../../LangRef.rst:21783 +#: ../../../LangRef.rst:22221 msgid "" "The first argument is a vector of ``i1`` and indicates the condition. The " "second argument is the value that is selected where the condition vector is " @@ -24377,7 +24837,7 @@ msgid "" "is the explicit vector length." msgstr "" -#: ../../../LangRef.rst:21789 +#: ../../../LangRef.rst:22227 msgid "" "The optional ``fast-math flags`` marker indicates that the select has one or " "more :ref:`fast-math flags `. These are optimization hints to " @@ -24386,13 +24846,13 @@ msgid "" "`." msgstr "" -#: ../../../LangRef.rst:21798 +#: ../../../LangRef.rst:22236 msgid "" "The intrinsic selects lanes from the second and third argument depending on " "a condition vector." msgstr "" -#: ../../../LangRef.rst:21801 +#: ../../../LangRef.rst:22239 msgid "" "All result lanes at positions greater or equal than ``%evl`` are undefined. " "For all lanes below ``%evl`` where the condition vector is true the lane is " @@ -24400,17 +24860,17 @@ msgid "" "argument." msgstr "" -#: ../../../LangRef.rst:21821 +#: ../../../LangRef.rst:22259 msgid "'``llvm.vp.merge.*``' Intrinsics" msgstr "" -#: ../../../LangRef.rst:21835 +#: ../../../LangRef.rst:22273 msgid "" "The '``llvm.vp.merge``' intrinsic is used to choose one value based on a " "condition vector and an index argument, without IR-level branching." msgstr "" -#: ../../../LangRef.rst:21841 +#: ../../../LangRef.rst:22279 msgid "" "The first argument is a vector of ``i1`` and indicates the condition. The " "second argument is the value that is merged where the condition vector is " @@ -24419,7 +24879,7 @@ msgid "" "fourth argument is the pivot." msgstr "" -#: ../../../LangRef.rst:21847 +#: ../../../LangRef.rst:22285 msgid "" "The optional ``fast-math flags`` marker indicates that the merge has one or " "more :ref:`fast-math flags `. These are optimization hints to " @@ -24428,38 +24888,38 @@ msgid "" "`." msgstr "" -#: ../../../LangRef.rst:21856 +#: ../../../LangRef.rst:22294 msgid "" "The intrinsic selects lanes from the second and third argument depending on " "a condition vector and pivot value." msgstr "" -#: ../../../LangRef.rst:21859 +#: ../../../LangRef.rst:22297 msgid "" "For all lanes where the condition vector is true and the lane position is " "less than ``%pivot`` the lane is taken from the second argument. Otherwise, " "the lane is taken from the third argument." msgstr "" -#: ../../../LangRef.rst:21883 +#: ../../../LangRef.rst:22321 msgid "'``llvm.vp.add.*``' Intrinsics" msgstr "" -#: ../../../LangRef.rst:21898 +#: ../../../LangRef.rst:22336 msgid "Predicated integer addition of two vectors of integers." msgstr "" -#: ../../../LangRef.rst:21904 ../../../LangRef.rst:21951 -#: ../../../LangRef.rst:22000 ../../../LangRef.rst:22047 -#: ../../../LangRef.rst:22095 ../../../LangRef.rst:22144 -#: ../../../LangRef.rst:22193 ../../../LangRef.rst:22241 -#: ../../../LangRef.rst:22291 ../../../LangRef.rst:22340 -#: ../../../LangRef.rst:22388 ../../../LangRef.rst:22436 -#: ../../../LangRef.rst:22484 ../../../LangRef.rst:22582 -#: ../../../LangRef.rst:22630 ../../../LangRef.rst:22678 -#: ../../../LangRef.rst:22726 ../../../LangRef.rst:26625 -#: ../../../LangRef.rst:26674 ../../../LangRef.rst:26723 -#: ../../../LangRef.rst:26772 +#: ../../../LangRef.rst:22342 ../../../LangRef.rst:22389 +#: ../../../LangRef.rst:22438 ../../../LangRef.rst:22485 +#: ../../../LangRef.rst:22533 ../../../LangRef.rst:22582 +#: ../../../LangRef.rst:22631 ../../../LangRef.rst:22679 +#: ../../../LangRef.rst:22729 ../../../LangRef.rst:22778 +#: ../../../LangRef.rst:22826 ../../../LangRef.rst:22874 +#: ../../../LangRef.rst:22922 ../../../LangRef.rst:23020 +#: ../../../LangRef.rst:23068 ../../../LangRef.rst:23116 +#: ../../../LangRef.rst:23164 ../../../LangRef.rst:27063 +#: ../../../LangRef.rst:27112 ../../../LangRef.rst:27161 +#: ../../../LangRef.rst:27210 msgid "" "The first two arguments and the result have the same vector of integer type. " "The third argument is the vector mask and has the same number of elements as " @@ -24467,82 +24927,82 @@ msgid "" "the operation." msgstr "" -#: ../../../LangRef.rst:21912 +#: ../../../LangRef.rst:22350 msgid "" "The '``llvm.vp.add``' intrinsic performs integer addition (:ref:`add " "`) of the first and second vector arguments on each enabled lane. " "The result on disabled lanes is a :ref:`poison value `." msgstr "" -#: ../../../LangRef.rst:21930 +#: ../../../LangRef.rst:22368 msgid "'``llvm.vp.sub.*``' Intrinsics" msgstr "" -#: ../../../LangRef.rst:21945 +#: ../../../LangRef.rst:22383 msgid "Predicated integer subtraction of two vectors of integers." msgstr "" -#: ../../../LangRef.rst:21959 +#: ../../../LangRef.rst:22397 msgid "" "The '``llvm.vp.sub``' intrinsic performs integer subtraction (:ref:`sub " "`) of the first and second vector arguments on each enabled lane. " "The result on disabled lanes is a :ref:`poison value `." msgstr "" -#: ../../../LangRef.rst:21979 +#: ../../../LangRef.rst:22417 msgid "'``llvm.vp.mul.*``' Intrinsics" msgstr "" -#: ../../../LangRef.rst:21994 +#: ../../../LangRef.rst:22432 msgid "Predicated integer multiplication of two vectors of integers." msgstr "" -#: ../../../LangRef.rst:22007 +#: ../../../LangRef.rst:22445 msgid "" "The '``llvm.vp.mul``' intrinsic performs integer multiplication (:ref:`mul " "`) of the first and second vector arguments on each enabled lane. The " "result on disabled lanes is a :ref:`poison value `." msgstr "" -#: ../../../LangRef.rst:22026 +#: ../../../LangRef.rst:22464 msgid "'``llvm.vp.sdiv.*``' Intrinsics" msgstr "" -#: ../../../LangRef.rst:22041 +#: ../../../LangRef.rst:22479 msgid "Predicated, signed division of two vectors of integers." msgstr "" -#: ../../../LangRef.rst:22055 +#: ../../../LangRef.rst:22493 msgid "" "The '``llvm.vp.sdiv``' intrinsic performs signed division (:ref:`sdiv " "`) of the first and second vector arguments on each enabled lane. " "The result on disabled lanes is a :ref:`poison value `." msgstr "" -#: ../../../LangRef.rst:22074 +#: ../../../LangRef.rst:22512 msgid "'``llvm.vp.udiv.*``' Intrinsics" msgstr "" -#: ../../../LangRef.rst:22089 +#: ../../../LangRef.rst:22527 msgid "Predicated, unsigned division of two vectors of integers." msgstr "" -#: ../../../LangRef.rst:22103 +#: ../../../LangRef.rst:22541 msgid "" "The '``llvm.vp.udiv``' intrinsic performs unsigned division (:ref:`udiv " "`) of the first and second vector arguments on each enabled lane. " "The result on disabled lanes is a :ref:`poison value `." msgstr "" -#: ../../../LangRef.rst:22123 +#: ../../../LangRef.rst:22561 msgid "'``llvm.vp.srem.*``' Intrinsics" msgstr "" -#: ../../../LangRef.rst:22138 +#: ../../../LangRef.rst:22576 msgid "Predicated computations of the signed remainder of two integer vectors." msgstr "" -#: ../../../LangRef.rst:22152 +#: ../../../LangRef.rst:22590 msgid "" "The '``llvm.vp.srem``' intrinsic computes the remainder of the signed " "division (:ref:`srem `) of the first and second vector arguments on " @@ -24550,16 +25010,16 @@ msgid "" "`." msgstr "" -#: ../../../LangRef.rst:22172 +#: ../../../LangRef.rst:22610 msgid "'``llvm.vp.urem.*``' Intrinsics" msgstr "" -#: ../../../LangRef.rst:22187 +#: ../../../LangRef.rst:22625 msgid "" "Predicated computation of the unsigned remainder of two integer vectors." msgstr "" -#: ../../../LangRef.rst:22201 +#: ../../../LangRef.rst:22639 msgid "" "The '``llvm.vp.urem``' intrinsic computes the remainder of the unsigned " "division (:ref:`urem `) of the first and second vector arguments on " @@ -24567,15 +25027,15 @@ msgid "" "`." msgstr "" -#: ../../../LangRef.rst:22220 +#: ../../../LangRef.rst:22658 msgid "'``llvm.vp.ashr.*``' Intrinsics" msgstr "" -#: ../../../LangRef.rst:22235 +#: ../../../LangRef.rst:22673 msgid "Vector-predicated arithmetic right-shift." msgstr "" -#: ../../../LangRef.rst:22249 +#: ../../../LangRef.rst:22687 msgid "" "The '``llvm.vp.ashr``' intrinsic computes the arithmetic right shift (:ref:" "`ashr `) of the first argument by the second argument on each " @@ -24583,15 +25043,15 @@ msgid "" "`." msgstr "" -#: ../../../LangRef.rst:22270 +#: ../../../LangRef.rst:22708 msgid "'``llvm.vp.lshr.*``' Intrinsics" msgstr "" -#: ../../../LangRef.rst:22285 +#: ../../../LangRef.rst:22723 msgid "Vector-predicated logical right-shift." msgstr "" -#: ../../../LangRef.rst:22299 +#: ../../../LangRef.rst:22737 msgid "" "The '``llvm.vp.lshr``' intrinsic computes the logical right shift (:ref:" "`lshr `) of the first argument by the second argument on each " @@ -24599,75 +25059,75 @@ msgid "" "`." msgstr "" -#: ../../../LangRef.rst:22319 +#: ../../../LangRef.rst:22757 msgid "'``llvm.vp.shl.*``' Intrinsics" msgstr "" -#: ../../../LangRef.rst:22334 +#: ../../../LangRef.rst:22772 msgid "Vector-predicated left shift." msgstr "" -#: ../../../LangRef.rst:22348 +#: ../../../LangRef.rst:22786 msgid "" "The '``llvm.vp.shl``' intrinsic computes the left shift (:ref:`shl `) " "of the first argument by the second argument on each enabled lane. The " "result on disabled lanes is a :ref:`poison value `." msgstr "" -#: ../../../LangRef.rst:22367 +#: ../../../LangRef.rst:22805 msgid "'``llvm.vp.or.*``' Intrinsics" msgstr "" -#: ../../../LangRef.rst:22382 +#: ../../../LangRef.rst:22820 msgid "Vector-predicated or." msgstr "" -#: ../../../LangRef.rst:22396 +#: ../../../LangRef.rst:22834 msgid "" "The '``llvm.vp.or``' intrinsic performs a bitwise or (:ref:`or `) of " "the first two arguments on each enabled lane. The result on disabled lanes " "is a :ref:`poison value `." msgstr "" -#: ../../../LangRef.rst:22415 +#: ../../../LangRef.rst:22853 msgid "'``llvm.vp.and.*``' Intrinsics" msgstr "" -#: ../../../LangRef.rst:22430 +#: ../../../LangRef.rst:22868 msgid "Vector-predicated and." msgstr "" -#: ../../../LangRef.rst:22444 +#: ../../../LangRef.rst:22882 msgid "" "The '``llvm.vp.and``' intrinsic performs a bitwise and (:ref:`and `) " "of the first two arguments on each enabled lane. The result on disabled " "lanes is a :ref:`poison value `." msgstr "" -#: ../../../LangRef.rst:22463 +#: ../../../LangRef.rst:22901 msgid "'``llvm.vp.xor.*``' Intrinsics" msgstr "" -#: ../../../LangRef.rst:22478 +#: ../../../LangRef.rst:22916 msgid "Vector-predicated, bitwise xor." msgstr "" -#: ../../../LangRef.rst:22492 +#: ../../../LangRef.rst:22930 msgid "" "The '``llvm.vp.xor``' intrinsic performs a bitwise xor (:ref:`xor `) " "of the first two arguments on each enabled lane. The result on disabled " "lanes is a :ref:`poison value `." msgstr "" -#: ../../../LangRef.rst:22510 +#: ../../../LangRef.rst:22948 msgid "'``llvm.vp.abs.*``' Intrinsics" msgstr "" -#: ../../../LangRef.rst:22525 +#: ../../../LangRef.rst:22963 msgid "Predicated abs of a vector of integers." msgstr "" -#: ../../../LangRef.rst:22531 +#: ../../../LangRef.rst:22969 msgid "" "The first argument and the result have the same vector of integer type. The " "second argument must be a constant and is a flag to indicate whether the " @@ -24678,87 +25138,87 @@ msgid "" "explicit vector length of the operation." msgstr "" -#: ../../../LangRef.rst:22542 +#: ../../../LangRef.rst:22980 msgid "" "The '``llvm.vp.abs``' intrinsic performs abs (:ref:`abs `) of the " "first argument on each enabled lane. The result on disabled lanes is a :ref:" "`poison value `." msgstr "" -#: ../../../LangRef.rst:22561 +#: ../../../LangRef.rst:22999 msgid "'``llvm.vp.smax.*``' Intrinsics" msgstr "" -#: ../../../LangRef.rst:22576 +#: ../../../LangRef.rst:23014 msgid "Predicated integer signed maximum of two vectors of integers." msgstr "" -#: ../../../LangRef.rst:22590 +#: ../../../LangRef.rst:23028 msgid "" "The '``llvm.vp.smax``' intrinsic performs integer signed maximum (:ref:`smax " "`) of the first and second vector arguments on each enabled lane. " "The result on disabled lanes is a :ref:`poison value `." msgstr "" -#: ../../../LangRef.rst:22609 +#: ../../../LangRef.rst:23047 msgid "'``llvm.vp.smin.*``' Intrinsics" msgstr "" -#: ../../../LangRef.rst:22624 +#: ../../../LangRef.rst:23062 msgid "Predicated integer signed minimum of two vectors of integers." msgstr "" -#: ../../../LangRef.rst:22638 +#: ../../../LangRef.rst:23076 msgid "" "The '``llvm.vp.smin``' intrinsic performs integer signed minimum (:ref:`smin " "`) of the first and second vector arguments on each enabled lane. " "The result on disabled lanes is a :ref:`poison value `." msgstr "" -#: ../../../LangRef.rst:22657 +#: ../../../LangRef.rst:23095 msgid "'``llvm.vp.umax.*``' Intrinsics" msgstr "" -#: ../../../LangRef.rst:22672 +#: ../../../LangRef.rst:23110 msgid "Predicated integer unsigned maximum of two vectors of integers." msgstr "" -#: ../../../LangRef.rst:22686 +#: ../../../LangRef.rst:23124 msgid "" "The '``llvm.vp.umax``' intrinsic performs integer unsigned maximum (:ref:" "`umax `) of the first and second vector arguments on each enabled " "lane. The result on disabled lanes is a :ref:`poison value `." msgstr "" -#: ../../../LangRef.rst:22705 +#: ../../../LangRef.rst:23143 msgid "'``llvm.vp.umin.*``' Intrinsics" msgstr "" -#: ../../../LangRef.rst:22720 +#: ../../../LangRef.rst:23158 msgid "Predicated integer unsigned minimum of two vectors of integers." msgstr "" -#: ../../../LangRef.rst:22734 +#: ../../../LangRef.rst:23172 msgid "" "The '``llvm.vp.umin``' intrinsic performs integer unsigned minimum (:ref:" "`umin `) of the first and second vector arguments on each enabled " "lane. The result on disabled lanes is a :ref:`poison value `." msgstr "" -#: ../../../LangRef.rst:22753 +#: ../../../LangRef.rst:23191 msgid "'``llvm.vp.copysign.*``' Intrinsics" msgstr "" -#: ../../../LangRef.rst:22768 +#: ../../../LangRef.rst:23206 msgid "" "Predicated floating-point copysign of two vectors of floating-point values." msgstr "" -#: ../../../LangRef.rst:22774 ../../../LangRef.rst:22823 -#: ../../../LangRef.rst:22872 ../../../LangRef.rst:22921 -#: ../../../LangRef.rst:22971 ../../../LangRef.rst:23021 -#: ../../../LangRef.rst:23070 ../../../LangRef.rst:23119 -#: ../../../LangRef.rst:23168 ../../../LangRef.rst:23217 +#: ../../../LangRef.rst:23212 ../../../LangRef.rst:23261 +#: ../../../LangRef.rst:23310 ../../../LangRef.rst:23359 +#: ../../../LangRef.rst:23409 ../../../LangRef.rst:23459 +#: ../../../LangRef.rst:23508 ../../../LangRef.rst:23557 +#: ../../../LangRef.rst:23606 ../../../LangRef.rst:23655 msgid "" "The first two arguments and the result have the same vector of floating-" "point type. The third argument is the vector mask and has the same number of " @@ -24766,7 +25226,7 @@ msgid "" "vector length of the operation." msgstr "" -#: ../../../LangRef.rst:22782 +#: ../../../LangRef.rst:23220 msgid "" "The '``llvm.vp.copysign``' intrinsic performs floating-point copysign (:ref:" "`copysign `) of the first and second vector arguments on each " @@ -24775,17 +25235,17 @@ msgid "" "environment." msgstr "" -#: ../../../LangRef.rst:22802 +#: ../../../LangRef.rst:23240 msgid "'``llvm.vp.minnum.*``' Intrinsics" msgstr "" -#: ../../../LangRef.rst:22817 +#: ../../../LangRef.rst:23255 msgid "" -"Predicated floating-point IEEE-754-2008 minNum of two vectors of floating-" +"Predicated floating-point IEEE 754-2008 minNum of two vectors of floating-" "point values." msgstr "" -#: ../../../LangRef.rst:22831 +#: ../../../LangRef.rst:23269 msgid "" "The '``llvm.vp.minnum``' intrinsic performs floating-point minimum (:ref:" "`minnum `) of the first and second vector arguments on each " @@ -24794,17 +25254,17 @@ msgid "" "environment." msgstr "" -#: ../../../LangRef.rst:22851 +#: ../../../LangRef.rst:23289 msgid "'``llvm.vp.maxnum.*``' Intrinsics" msgstr "" -#: ../../../LangRef.rst:22866 +#: ../../../LangRef.rst:23304 msgid "" -"Predicated floating-point IEEE-754-2008 maxNum of two vectors of floating-" +"Predicated floating-point IEEE 754-2008 maxNum of two vectors of floating-" "point values." msgstr "" -#: ../../../LangRef.rst:22880 +#: ../../../LangRef.rst:23318 msgid "" "The '``llvm.vp.maxnum``' intrinsic performs floating-point maximum (:ref:" "`maxnum `) of the first and second vector arguments on each " @@ -24813,17 +25273,17 @@ msgid "" "environment." msgstr "" -#: ../../../LangRef.rst:22900 +#: ../../../LangRef.rst:23338 msgid "'``llvm.vp.minimum.*``' Intrinsics" msgstr "" -#: ../../../LangRef.rst:22915 +#: ../../../LangRef.rst:23353 msgid "" "Predicated floating-point minimum of two vectors of floating-point values, " "propagating NaNs and treating -0.0 as less than +0.0." msgstr "" -#: ../../../LangRef.rst:22929 +#: ../../../LangRef.rst:23367 msgid "" "The '``llvm.vp.minimum``' intrinsic performs floating-point minimum (:ref:" "`minimum `) of the first and second vector arguments on each " @@ -24833,17 +25293,17 @@ msgid "" "the default floating-point environment." msgstr "" -#: ../../../LangRef.rst:22950 +#: ../../../LangRef.rst:23388 msgid "'``llvm.vp.maximum.*``' Intrinsics" msgstr "" -#: ../../../LangRef.rst:22965 +#: ../../../LangRef.rst:23403 msgid "" "Predicated floating-point maximum of two vectors of floating-point values, " "propagating NaNs and treating -0.0 as less than +0.0." msgstr "" -#: ../../../LangRef.rst:22979 +#: ../../../LangRef.rst:23417 msgid "" "The '``llvm.vp.maximum``' intrinsic performs floating-point maximum (:ref:" "`maximum `) of the first and second vector arguments on each " @@ -24853,16 +25313,16 @@ msgid "" "the default floating-point environment." msgstr "" -#: ../../../LangRef.rst:23000 +#: ../../../LangRef.rst:23438 msgid "'``llvm.vp.fadd.*``' Intrinsics" msgstr "" -#: ../../../LangRef.rst:23015 +#: ../../../LangRef.rst:23453 msgid "" "Predicated floating-point addition of two vectors of floating-point values." msgstr "" -#: ../../../LangRef.rst:23029 +#: ../../../LangRef.rst:23467 msgid "" "The '``llvm.vp.fadd``' intrinsic performs floating-point addition (:ref:" "`fadd `) of the first and second vector arguments on each enabled " @@ -24871,17 +25331,17 @@ msgid "" "environment." msgstr "" -#: ../../../LangRef.rst:23049 +#: ../../../LangRef.rst:23487 msgid "'``llvm.vp.fsub.*``' Intrinsics" msgstr "" -#: ../../../LangRef.rst:23064 +#: ../../../LangRef.rst:23502 msgid "" "Predicated floating-point subtraction of two vectors of floating-point " "values." msgstr "" -#: ../../../LangRef.rst:23078 +#: ../../../LangRef.rst:23516 msgid "" "The '``llvm.vp.fsub``' intrinsic performs floating-point subtraction (:ref:" "`fsub `) of the first and second vector arguments on each enabled " @@ -24890,17 +25350,17 @@ msgid "" "environment." msgstr "" -#: ../../../LangRef.rst:23098 +#: ../../../LangRef.rst:23536 msgid "'``llvm.vp.fmul.*``' Intrinsics" msgstr "" -#: ../../../LangRef.rst:23113 +#: ../../../LangRef.rst:23551 msgid "" "Predicated floating-point multiplication of two vectors of floating-point " "values." msgstr "" -#: ../../../LangRef.rst:23127 +#: ../../../LangRef.rst:23565 msgid "" "The '``llvm.vp.fmul``' intrinsic performs floating-point multiplication (:" "ref:`fmul `) of the first and second vector arguments on each " @@ -24909,16 +25369,16 @@ msgid "" "environment." msgstr "" -#: ../../../LangRef.rst:23147 +#: ../../../LangRef.rst:23585 msgid "'``llvm.vp.fdiv.*``' Intrinsics" msgstr "" -#: ../../../LangRef.rst:23162 +#: ../../../LangRef.rst:23600 msgid "" "Predicated floating-point division of two vectors of floating-point values." msgstr "" -#: ../../../LangRef.rst:23176 +#: ../../../LangRef.rst:23614 msgid "" "The '``llvm.vp.fdiv``' intrinsic performs floating-point division (:ref:" "`fdiv `) of the first and second vector arguments on each enabled " @@ -24927,16 +25387,16 @@ msgid "" "environment." msgstr "" -#: ../../../LangRef.rst:23196 +#: ../../../LangRef.rst:23634 msgid "'``llvm.vp.frem.*``' Intrinsics" msgstr "" -#: ../../../LangRef.rst:23211 +#: ../../../LangRef.rst:23649 msgid "" "Predicated floating-point remainder of two vectors of floating-point values." msgstr "" -#: ../../../LangRef.rst:23225 +#: ../../../LangRef.rst:23663 msgid "" "The '``llvm.vp.frem``' intrinsic performs floating-point remainder (:ref:" "`frem `) of the first and second vector arguments on each enabled " @@ -24945,20 +25405,20 @@ msgid "" "environment." msgstr "" -#: ../../../LangRef.rst:23245 +#: ../../../LangRef.rst:23683 msgid "'``llvm.vp.fneg.*``' Intrinsics" msgstr "" -#: ../../../LangRef.rst:23260 +#: ../../../LangRef.rst:23698 msgid "" "Predicated floating-point negation of a vector of floating-point values." msgstr "" -#: ../../../LangRef.rst:23266 ../../../LangRef.rst:23314 -#: ../../../LangRef.rst:23362 ../../../LangRef.rst:25915 -#: ../../../LangRef.rst:25962 ../../../LangRef.rst:26009 -#: ../../../LangRef.rst:26056 ../../../LangRef.rst:26103 -#: ../../../LangRef.rst:26150 ../../../LangRef.rst:26197 +#: ../../../LangRef.rst:23704 ../../../LangRef.rst:23752 +#: ../../../LangRef.rst:23800 ../../../LangRef.rst:26353 +#: ../../../LangRef.rst:26400 ../../../LangRef.rst:26447 +#: ../../../LangRef.rst:26494 ../../../LangRef.rst:26541 +#: ../../../LangRef.rst:26588 ../../../LangRef.rst:26635 msgid "" "The first argument and the result have the same vector of floating-point " "type. The second argument is the vector mask and has the same number of " @@ -24966,40 +25426,40 @@ msgid "" "vector length of the operation." msgstr "" -#: ../../../LangRef.rst:23274 +#: ../../../LangRef.rst:23712 msgid "" "The '``llvm.vp.fneg``' intrinsic performs floating-point negation (:ref:" "`fneg `) of the first vector argument on each enabled lane. The " "result on disabled lanes is a :ref:`poison value `." msgstr "" -#: ../../../LangRef.rst:23293 +#: ../../../LangRef.rst:23731 msgid "'``llvm.vp.fabs.*``' Intrinsics" msgstr "" -#: ../../../LangRef.rst:23308 +#: ../../../LangRef.rst:23746 msgid "" "Predicated floating-point absolute value of a vector of floating-point " "values." msgstr "" -#: ../../../LangRef.rst:23322 +#: ../../../LangRef.rst:23760 msgid "" "The '``llvm.vp.fabs``' intrinsic performs floating-point absolute value (:" "ref:`fabs `) of the first vector argument on each enabled lane. " "The result on disabled lanes is a :ref:`poison value `." msgstr "" -#: ../../../LangRef.rst:23341 +#: ../../../LangRef.rst:23779 msgid "'``llvm.vp.sqrt.*``' Intrinsics" msgstr "" -#: ../../../LangRef.rst:23356 +#: ../../../LangRef.rst:23794 msgid "" "Predicated floating-point square root of a vector of floating-point values." msgstr "" -#: ../../../LangRef.rst:23370 +#: ../../../LangRef.rst:23808 msgid "" "The '``llvm.vp.sqrt``' intrinsic performs floating-point square root (:ref:" "`sqrt `) of the first vector argument on each enabled lane. The " @@ -25007,17 +25467,17 @@ msgid "" "operation is performed in the default floating-point environment." msgstr "" -#: ../../../LangRef.rst:23390 +#: ../../../LangRef.rst:23828 msgid "'``llvm.vp.fma.*``' Intrinsics" msgstr "" -#: ../../../LangRef.rst:23405 +#: ../../../LangRef.rst:23843 msgid "" "Predicated floating-point fused multiply-add of two vectors of floating-" "point values." msgstr "" -#: ../../../LangRef.rst:23411 ../../../LangRef.rst:23462 +#: ../../../LangRef.rst:23849 ../../../LangRef.rst:23900 msgid "" "The first three arguments and the result have the same vector of floating-" "point type. The fourth argument is the vector mask and has the same number " @@ -25025,7 +25485,7 @@ msgid "" "vector length of the operation." msgstr "" -#: ../../../LangRef.rst:23419 +#: ../../../LangRef.rst:23857 msgid "" "The '``llvm.vp.fma``' intrinsic performs floating-point fused multiply-add (:" "ref:`llvm.fma `) of the first, second, and third vector argument on " @@ -25034,11 +25494,11 @@ msgid "" "environment." msgstr "" -#: ../../../LangRef.rst:23439 +#: ../../../LangRef.rst:23877 msgid "'``llvm.vp.fmuladd.*``' Intrinsics" msgstr "" -#: ../../../LangRef.rst:23454 +#: ../../../LangRef.rst:23892 msgid "" "Predicated floating-point multiply-add of two vectors of floating-point " "values that can be fused if code generator determines that (a) the target " @@ -25047,7 +25507,7 @@ msgid "" "add instructions." msgstr "" -#: ../../../LangRef.rst:23470 +#: ../../../LangRef.rst:23908 msgid "" "The '``llvm.vp.fmuladd``' intrinsic performs floating-point multiply-add (:" "ref:`llvm.fuladd `) of the first, second, and third vector " @@ -25056,21 +25516,21 @@ msgid "" "floating-point environment." msgstr "" -#: ../../../LangRef.rst:23490 +#: ../../../LangRef.rst:23928 msgid "'``llvm.vp.reduce.add.*``' Intrinsics" msgstr "" -#: ../../../LangRef.rst:23504 +#: ../../../LangRef.rst:23942 msgid "" "Predicated integer ``ADD`` reduction of a vector and a scalar starting " "value, returning the result as a scalar." msgstr "" -#: ../../../LangRef.rst:23510 ../../../LangRef.rst:23626 -#: ../../../LangRef.rst:23742 ../../../LangRef.rst:23799 -#: ../../../LangRef.rst:23855 ../../../LangRef.rst:23912 -#: ../../../LangRef.rst:23969 ../../../LangRef.rst:24026 -#: ../../../LangRef.rst:24083 +#: ../../../LangRef.rst:23948 ../../../LangRef.rst:24064 +#: ../../../LangRef.rst:24180 ../../../LangRef.rst:24237 +#: ../../../LangRef.rst:24293 ../../../LangRef.rst:24350 +#: ../../../LangRef.rst:24407 ../../../LangRef.rst:24464 +#: ../../../LangRef.rst:24521 msgid "" "The first argument is the start value of the reduction, which must be a " "scalar integer type equal to the result type. The second argument is the " @@ -25081,7 +25541,7 @@ msgid "" "length of the operation." msgstr "" -#: ../../../LangRef.rst:23520 +#: ../../../LangRef.rst:23958 msgid "" "The '``llvm.vp.reduce.add``' intrinsic performs the integer ``ADD`` " "reduction (:ref:`llvm.vector.reduce.add `) of the " @@ -25091,30 +25551,30 @@ msgid "" "length is zero, the result is equal to ``start_value``." msgstr "" -#: ../../../LangRef.rst:23527 ../../../LangRef.rst:23584 -#: ../../../LangRef.rst:23643 ../../../LangRef.rst:23700 -#: ../../../LangRef.rst:23759 ../../../LangRef.rst:23816 -#: ../../../LangRef.rst:23872 ../../../LangRef.rst:23929 -#: ../../../LangRef.rst:23986 ../../../LangRef.rst:24043 -#: ../../../LangRef.rst:24100 ../../../LangRef.rst:24167 -#: ../../../LangRef.rst:24234 ../../../LangRef.rst:24304 -#: ../../../LangRef.rst:24374 +#: ../../../LangRef.rst:23965 ../../../LangRef.rst:24022 +#: ../../../LangRef.rst:24081 ../../../LangRef.rst:24138 +#: ../../../LangRef.rst:24197 ../../../LangRef.rst:24254 +#: ../../../LangRef.rst:24310 ../../../LangRef.rst:24367 +#: ../../../LangRef.rst:24424 ../../../LangRef.rst:24481 +#: ../../../LangRef.rst:24538 ../../../LangRef.rst:24605 +#: ../../../LangRef.rst:24672 ../../../LangRef.rst:24742 +#: ../../../LangRef.rst:24812 msgid "To ignore the start value, the neutral value can be used." msgstr "" -#: ../../../LangRef.rst:23546 +#: ../../../LangRef.rst:23984 msgid "'``llvm.vp.reduce.fadd.*``' Intrinsics" msgstr "" -#: ../../../LangRef.rst:23560 +#: ../../../LangRef.rst:23998 msgid "" "Predicated floating-point ``ADD`` reduction of a vector and a scalar " "starting value, returning the result as a scalar." msgstr "" -#: ../../../LangRef.rst:23566 ../../../LangRef.rst:23682 -#: ../../../LangRef.rst:24140 ../../../LangRef.rst:24207 -#: ../../../LangRef.rst:24274 ../../../LangRef.rst:24344 +#: ../../../LangRef.rst:24004 ../../../LangRef.rst:24120 +#: ../../../LangRef.rst:24578 ../../../LangRef.rst:24645 +#: ../../../LangRef.rst:24712 ../../../LangRef.rst:24782 msgid "" "The first argument is the start value of the reduction, which must be a " "scalar floating-point type equal to the result type. The second argument is " @@ -25125,7 +25585,7 @@ msgid "" "explicit vector length of the operation." msgstr "" -#: ../../../LangRef.rst:23577 +#: ../../../LangRef.rst:24015 msgid "" "The '``llvm.vp.reduce.fadd``' intrinsic performs the floating-point ``ADD`` " "reduction (:ref:`llvm.vector.reduce.fadd `) of the " @@ -25135,23 +25595,23 @@ msgid "" "are enabled, the resulting value will be equal to ``start_value``." msgstr "" -#: ../../../LangRef.rst:23586 +#: ../../../LangRef.rst:24024 msgid "" "See the unpredicated version (:ref:`llvm.vector.reduce.fadd " "`) for more detail on the semantics of the reduction." msgstr "" -#: ../../../LangRef.rst:23605 +#: ../../../LangRef.rst:24043 msgid "'``llvm.vp.reduce.mul.*``' Intrinsics" msgstr "" -#: ../../../LangRef.rst:23619 +#: ../../../LangRef.rst:24057 msgid "" "Predicated integer ``MUL`` reduction of a vector and a scalar starting " "value, returning the result as a scalar." msgstr "" -#: ../../../LangRef.rst:23636 +#: ../../../LangRef.rst:24074 msgid "" "The '``llvm.vp.reduce.mul``' intrinsic performs the integer ``MUL`` " "reduction (:ref:`llvm.vector.reduce.mul `) of the " @@ -25161,17 +25621,17 @@ msgid "" "length is zero, the result is the start value." msgstr "" -#: ../../../LangRef.rst:23661 +#: ../../../LangRef.rst:24099 msgid "'``llvm.vp.reduce.fmul.*``' Intrinsics" msgstr "" -#: ../../../LangRef.rst:23675 +#: ../../../LangRef.rst:24113 msgid "" "Predicated floating-point ``MUL`` reduction of a vector and a scalar " "starting value, returning the result as a scalar." msgstr "" -#: ../../../LangRef.rst:23693 +#: ../../../LangRef.rst:24131 msgid "" "The '``llvm.vp.reduce.fmul``' intrinsic performs the floating-point ``MUL`` " "reduction (:ref:`llvm.vector.reduce.fmul `) of the " @@ -25181,23 +25641,23 @@ msgid "" "enabled, the resulting value will be equal to the starting value." msgstr "" -#: ../../../LangRef.rst:23702 +#: ../../../LangRef.rst:24140 msgid "" "See the unpredicated version (:ref:`llvm.vector.reduce.fmul " "`) for more detail on the semantics." msgstr "" -#: ../../../LangRef.rst:23721 +#: ../../../LangRef.rst:24159 msgid "'``llvm.vp.reduce.and.*``' Intrinsics" msgstr "" -#: ../../../LangRef.rst:23735 +#: ../../../LangRef.rst:24173 msgid "" "Predicated integer ``AND`` reduction of a vector and a scalar starting " "value, returning the result as a scalar." msgstr "" -#: ../../../LangRef.rst:23752 +#: ../../../LangRef.rst:24190 msgid "" "The '``llvm.vp.reduce.and``' intrinsic performs the integer ``AND`` " "reduction (:ref:`llvm.vector.reduce.and `) of the " @@ -25208,17 +25668,17 @@ msgid "" "start value." msgstr "" -#: ../../../LangRef.rst:23778 +#: ../../../LangRef.rst:24216 msgid "'``llvm.vp.reduce.or.*``' Intrinsics" msgstr "" -#: ../../../LangRef.rst:23792 +#: ../../../LangRef.rst:24230 msgid "" "Predicated integer ``OR`` reduction of a vector and a scalar starting value, " "returning the result as a scalar." msgstr "" -#: ../../../LangRef.rst:23809 +#: ../../../LangRef.rst:24247 msgid "" "The '``llvm.vp.reduce.or``' intrinsic performs the integer ``OR`` reduction " "(:ref:`llvm.vector.reduce.or `) of the vector argument " @@ -25228,17 +25688,17 @@ msgid "" "length is zero, the result is the start value." msgstr "" -#: ../../../LangRef.rst:23834 +#: ../../../LangRef.rst:24272 msgid "'``llvm.vp.reduce.xor.*``' Intrinsics" msgstr "" -#: ../../../LangRef.rst:23848 +#: ../../../LangRef.rst:24286 msgid "" "Predicated integer ``XOR`` reduction of a vector and a scalar starting " "value, returning the result as a scalar." msgstr "" -#: ../../../LangRef.rst:23865 +#: ../../../LangRef.rst:24303 msgid "" "The '``llvm.vp.reduce.xor``' intrinsic performs the integer ``XOR`` " "reduction (:ref:`llvm.vector.reduce.xor `) of the " @@ -25248,17 +25708,17 @@ msgid "" "operation). If the vector length is zero, the result is the start value." msgstr "" -#: ../../../LangRef.rst:23891 +#: ../../../LangRef.rst:24329 msgid "'``llvm.vp.reduce.smax.*``' Intrinsics" msgstr "" -#: ../../../LangRef.rst:23905 +#: ../../../LangRef.rst:24343 msgid "" "Predicated signed-integer ``MAX`` reduction of a vector and a scalar " "starting value, returning the result as a scalar." msgstr "" -#: ../../../LangRef.rst:23922 +#: ../../../LangRef.rst:24360 msgid "" "The '``llvm.vp.reduce.smax``' intrinsic performs the signed-integer ``MAX`` " "reduction (:ref:`llvm.vector.reduce.smax `) of the " @@ -25268,17 +25728,17 @@ msgid "" "operation). If the vector length is zero, the result is the start value." msgstr "" -#: ../../../LangRef.rst:23948 +#: ../../../LangRef.rst:24386 msgid "'``llvm.vp.reduce.smin.*``' Intrinsics" msgstr "" -#: ../../../LangRef.rst:23962 +#: ../../../LangRef.rst:24400 msgid "" "Predicated signed-integer ``MIN`` reduction of a vector and a scalar " "starting value, returning the result as a scalar." msgstr "" -#: ../../../LangRef.rst:23979 +#: ../../../LangRef.rst:24417 msgid "" "The '``llvm.vp.reduce.smin``' intrinsic performs the signed-integer ``MIN`` " "reduction (:ref:`llvm.vector.reduce.smin `) of the " @@ -25288,17 +25748,17 @@ msgid "" "operation). If the vector length is zero, the result is the start value." msgstr "" -#: ../../../LangRef.rst:24005 +#: ../../../LangRef.rst:24443 msgid "'``llvm.vp.reduce.umax.*``' Intrinsics" msgstr "" -#: ../../../LangRef.rst:24019 +#: ../../../LangRef.rst:24457 msgid "" "Predicated unsigned-integer ``MAX`` reduction of a vector and a scalar " "starting value, returning the result as a scalar." msgstr "" -#: ../../../LangRef.rst:24036 +#: ../../../LangRef.rst:24474 msgid "" "The '``llvm.vp.reduce.umax``' intrinsic performs the unsigned-integer " "``MAX`` reduction (:ref:`llvm.vector.reduce.umax `) " @@ -25308,17 +25768,17 @@ msgid "" "operation). If the vector length is zero, the result is the start value." msgstr "" -#: ../../../LangRef.rst:24062 +#: ../../../LangRef.rst:24500 msgid "'``llvm.vp.reduce.umin.*``' Intrinsics" msgstr "" -#: ../../../LangRef.rst:24076 +#: ../../../LangRef.rst:24514 msgid "" "Predicated unsigned-integer ``MIN`` reduction of a vector and a scalar " "starting value, returning the result as a scalar." msgstr "" -#: ../../../LangRef.rst:24093 +#: ../../../LangRef.rst:24531 msgid "" "The '``llvm.vp.reduce.umin``' intrinsic performs the unsigned-integer " "``MIN`` reduction (:ref:`llvm.vector.reduce.umin `) " @@ -25329,17 +25789,17 @@ msgid "" "start value." msgstr "" -#: ../../../LangRef.rst:24119 +#: ../../../LangRef.rst:24557 msgid "'``llvm.vp.reduce.fmax.*``' Intrinsics" msgstr "" -#: ../../../LangRef.rst:24133 ../../../LangRef.rst:24267 +#: ../../../LangRef.rst:24571 ../../../LangRef.rst:24705 msgid "" "Predicated floating-point ``MAX`` reduction of a vector and a scalar " "starting value, returning the result as a scalar." msgstr "" -#: ../../../LangRef.rst:24151 +#: ../../../LangRef.rst:24589 msgid "" "The '``llvm.vp.reduce.fmax``' intrinsic performs the floating-point ``MAX`` " "reduction (:ref:`llvm.vector.reduce.fmax `) of the " @@ -25349,7 +25809,7 @@ msgid "" "vector length is zero, the result is the start value." msgstr "" -#: ../../../LangRef.rst:24158 +#: ../../../LangRef.rst:24596 msgid "" "The neutral value is dependent on the :ref:`fast-math flags `. If " "no flags are set, the neutral value is ``-QNAN``. If ``nnan`` and ``ninf`` " @@ -25358,24 +25818,24 @@ msgid "" "Infinity``." msgstr "" -#: ../../../LangRef.rst:24163 +#: ../../../LangRef.rst:24601 msgid "" "This instruction has the same comparison semantics as the :ref:`llvm.vector." "reduce.fmax ` intrinsic (and thus the '``llvm.maxnum." "*``' intrinsic)." msgstr "" -#: ../../../LangRef.rst:24186 +#: ../../../LangRef.rst:24624 msgid "'``llvm.vp.reduce.fmin.*``' Intrinsics" msgstr "" -#: ../../../LangRef.rst:24200 ../../../LangRef.rst:24337 +#: ../../../LangRef.rst:24638 ../../../LangRef.rst:24775 msgid "" "Predicated floating-point ``MIN`` reduction of a vector and a scalar " "starting value, returning the result as a scalar." msgstr "" -#: ../../../LangRef.rst:24218 +#: ../../../LangRef.rst:24656 msgid "" "The '``llvm.vp.reduce.fmin``' intrinsic performs the floating-point ``MIN`` " "reduction (:ref:`llvm.vector.reduce.fmin `) of the " @@ -25385,7 +25845,7 @@ msgid "" "vector length is zero, the result is the start value." msgstr "" -#: ../../../LangRef.rst:24225 +#: ../../../LangRef.rst:24663 msgid "" "The neutral value is dependent on the :ref:`fast-math flags `. If " "no flags are set, the neutral value is ``+QNAN``. If ``nnan`` and ``ninf`` " @@ -25394,18 +25854,18 @@ msgid "" "``+Infinity``." msgstr "" -#: ../../../LangRef.rst:24230 +#: ../../../LangRef.rst:24668 msgid "" "This instruction has the same comparison semantics as the :ref:`llvm.vector." "reduce.fmin ` intrinsic (and thus the '``llvm.minnum." "*``' intrinsic)." msgstr "" -#: ../../../LangRef.rst:24253 +#: ../../../LangRef.rst:24691 msgid "'``llvm.vp.reduce.fmaximum.*``' Intrinsics" msgstr "" -#: ../../../LangRef.rst:24285 +#: ../../../LangRef.rst:24723 msgid "" "The '``llvm.vp.reduce.fmaximum``' intrinsic performs the floating-point " "``MAX`` reduction (:ref:`llvm.vector.reduce.fmaximum " @@ -25416,7 +25876,7 @@ msgid "" "is the start value." msgstr "" -#: ../../../LangRef.rst:24292 +#: ../../../LangRef.rst:24730 msgid "" "The neutral value is dependent on the :ref:`fast-math flags `. If " "no flags are set or only the ``nnan`` is set, the neutral value is ``-" @@ -25424,7 +25884,7 @@ msgid "" "floating-point value for the result type." msgstr "" -#: ../../../LangRef.rst:24297 +#: ../../../LangRef.rst:24735 msgid "" "This instruction has the same comparison semantics as the :ref:`llvm.vector." "reduce.fmaximum ` intrinsic (and thus the " @@ -25434,11 +25894,11 @@ msgid "" "than +0.0." msgstr "" -#: ../../../LangRef.rst:24323 +#: ../../../LangRef.rst:24761 msgid "'``llvm.vp.reduce.fminimum.*``' Intrinsics" msgstr "" -#: ../../../LangRef.rst:24355 +#: ../../../LangRef.rst:24793 msgid "" "The '``llvm.vp.reduce.fminimum``' intrinsic performs the floating-point " "``MIN`` reduction (:ref:`llvm.vector.reduce.fminimum " @@ -25449,7 +25909,7 @@ msgid "" "is the start value." msgstr "" -#: ../../../LangRef.rst:24362 +#: ../../../LangRef.rst:24800 msgid "" "The neutral value is dependent on the :ref:`fast-math flags `. If " "no flags are set or only the ``nnan`` is set, the neutral value is " @@ -25457,7 +25917,7 @@ msgid "" "floating-point value for the result type." msgstr "" -#: ../../../LangRef.rst:24367 +#: ../../../LangRef.rst:24805 msgid "" "This instruction has the same comparison semantics as the :ref:`llvm.vector." "reduce.fminimum ` intrinsic (and thus the " @@ -25467,27 +25927,27 @@ msgid "" "than +0.0." msgstr "" -#: ../../../LangRef.rst:24393 +#: ../../../LangRef.rst:24831 msgid "'``llvm.get.active.lane.mask.*``' Intrinsics" msgstr "" -#: ../../../LangRef.rst:24410 +#: ../../../LangRef.rst:24848 msgid "Create a mask representing active and inactive vector lanes." msgstr "" -#: ../../../LangRef.rst:24416 +#: ../../../LangRef.rst:24854 msgid "" "Both arguments have the same scalar integer type. The result is a vector " "with the i1 element type." msgstr "" -#: ../../../LangRef.rst:24422 +#: ../../../LangRef.rst:24860 msgid "" "The '``llvm.get.active.lane.mask.*``' intrinsics are semantically equivalent " "to:" msgstr "" -#: ../../../LangRef.rst:24429 +#: ../../../LangRef.rst:24867 msgid "" "where ``%m`` is a vector (mask) of active/inactive lanes with its elements " "indexed by ``i``, and ``%base``, ``%n`` are the two arguments to ``llvm.get." @@ -25497,7 +25957,7 @@ msgid "" "and not in machine numbers. The above is equivalent to:" msgstr "" -#: ../../../LangRef.rst:24440 +#: ../../../LangRef.rst:24878 msgid "" "This can, for example, be emitted by the loop vectorizer in which case " "``%base`` is the first element of the vector induction variable (VIV) and " @@ -25510,7 +25970,7 @@ msgid "" "that enumerate its lanes without overflow." msgstr "" -#: ../../../LangRef.rst:24450 +#: ../../../LangRef.rst:24888 msgid "" "This mask ``%m`` can e.g., be used in masked load/store instructions. These " "intrinsics provide a hint to the backend. I.e., for a vector loop, the back-" @@ -25518,11 +25978,11 @@ msgid "" "argument." msgstr "" -#: ../../../LangRef.rst:24468 +#: ../../../LangRef.rst:24906 msgid "'``llvm.loop.dependence.war.mask.*``' Intrinsics" msgstr "" -#: ../../../LangRef.rst:24485 +#: ../../../LangRef.rst:24923 msgid "" "Given a vector load from %ptrA followed by a vector store to %ptrB, this " "instruction generates a mask where an active lane indicates that the write-" @@ -25530,20 +25990,20 @@ msgid "" "danger of a write-after-read hazard occurring." msgstr "" -#: ../../../LangRef.rst:24490 +#: ../../../LangRef.rst:24928 msgid "" "A write-after-read hazard occurs when a write-after-read sequence for a " "given lane in a vector ends up being executed as a read-after-write sequence " "due to the aliasing of pointers." msgstr "" -#: ../../../LangRef.rst:24497 ../../../LangRef.rst:24589 +#: ../../../LangRef.rst:24935 ../../../LangRef.rst:25027 msgid "" "The first two arguments are pointers and the last argument is an immediate. " "The result is a vector with the i1 element type." msgstr "" -#: ../../../LangRef.rst:24503 ../../../LangRef.rst:24595 +#: ../../../LangRef.rst:24941 ../../../LangRef.rst:25033 msgid "" "``%elementSize`` is the size of the accessed elements in bytes. The " "intrinsic returns ``poison`` if the distance between ``%prtA`` and ``%ptrB`` " @@ -25551,30 +26011,30 @@ msgid "" "%elementSize`` or ``%ptrB + VF * %elementSize`` wrap." msgstr "" -#: ../../../LangRef.rst:24508 +#: ../../../LangRef.rst:24946 msgid "" "The element of the result mask is active when loading from %ptrA then " "storing to %ptrB is safe and doesn't result in a write-after-read hazard, " "meaning that:" msgstr "" -#: ../../../LangRef.rst:24511 +#: ../../../LangRef.rst:24949 msgid "" "(ptrB - ptrA) <= 0 (guarantees that all lanes are loaded before any stores), " "or" msgstr "" -#: ../../../LangRef.rst:24512 +#: ../../../LangRef.rst:24950 msgid "" "elementSize * lane < (ptrB - ptrA) (guarantees that this lane is loaded " "before the store to the same address)" msgstr "" -#: ../../../LangRef.rst:24555 +#: ../../../LangRef.rst:24993 msgid "'``llvm.loop.dependence.raw.mask.*``' Intrinsics" msgstr "" -#: ../../../LangRef.rst:24572 +#: ../../../LangRef.rst:25010 msgid "" "Given a vector store to %ptrA followed by a vector load from %ptrB, this " "instruction generates a mask where an active lane indicates that the read-" @@ -25582,14 +26042,14 @@ msgid "" "after-write hazard or a store-to-load forwarding hazard being introduced." msgstr "" -#: ../../../LangRef.rst:24577 +#: ../../../LangRef.rst:25015 msgid "" "A read-after-write hazard occurs when a read-after-write sequence for a " "given lane in a vector ends up being executed as a write-after-read sequence " "due to the aliasing of pointers." msgstr "" -#: ../../../LangRef.rst:24581 +#: ../../../LangRef.rst:25019 msgid "" "A store-to-load forwarding hazard occurs when a vector store writes to an " "address that partially overlaps with the address of a subsequent vector " @@ -25597,35 +26057,35 @@ msgid "" "is complete." msgstr "" -#: ../../../LangRef.rst:24600 +#: ../../../LangRef.rst:25038 msgid "" "The element of the result mask is active when storing to %ptrA then loading " "from %ptrB is safe and doesn't result in aliasing, meaning that:" msgstr "" -#: ../../../LangRef.rst:24603 +#: ../../../LangRef.rst:25041 msgid "" "elementSize * lane < abs(ptrB - ptrA) (guarantees that the store of this " "lane occurs before loading from this address), or" msgstr "" -#: ../../../LangRef.rst:24605 +#: ../../../LangRef.rst:25043 msgid "" "ptrA == ptrB (doesn't introduce any new hazards that weren't in the scalar " "code)" msgstr "" -#: ../../../LangRef.rst:24647 +#: ../../../LangRef.rst:25085 msgid "'``llvm.experimental.vp.splice``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:24661 +#: ../../../LangRef.rst:25099 msgid "" "The '``llvm.experimental.vp.splice.*``' intrinsic is the vector length " "predicated version of the '``llvm.vector.splice.*``' intrinsic." msgstr "" -#: ../../../LangRef.rst:24667 +#: ../../../LangRef.rst:25105 msgid "" "The result and the first two arguments ``vec1`` and ``vec2`` are vectors " "with the same type. The third argument ``imm`` is an immediate signed " @@ -25639,7 +26099,7 @@ msgid "" "intrinsic has undefined behavior." msgstr "" -#: ../../../LangRef.rst:24680 +#: ../../../LangRef.rst:25118 msgid "" "Effectively, this intrinsic concatenates ``vec1[0..evl1-1]`` and ``vec2[0.." "evl2-1]`` and creates the result vector by selecting the elements in a " @@ -25655,17 +26115,17 @@ msgid "" "lanes in the result vector disabled by ``mask`` are ``poison``." msgstr "" -#: ../../../LangRef.rst:24705 +#: ../../../LangRef.rst:25143 msgid "'``llvm.experimental.vp.reverse``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:24719 +#: ../../../LangRef.rst:25157 msgid "" "The '``llvm.experimental.vp.reverse.*``' intrinsic is the vector length " "predicated version of the '``llvm.vector.reverse.*``' intrinsic." msgstr "" -#: ../../../LangRef.rst:24725 +#: ../../../LangRef.rst:25163 msgid "" "The result and the first argument ``vec`` are vectors with the same type. " "The second argument ``mask`` is a vector mask and has the same number of " @@ -25673,24 +26133,24 @@ msgid "" "the operation." msgstr "" -#: ../../../LangRef.rst:24733 +#: ../../../LangRef.rst:25171 msgid "" "This intrinsic reverses the order of the first ``evl`` elements in a vector. " "The lanes in the result vector disabled by ``mask`` are ``poison``. The " "elements past ``evl`` are poison." msgstr "" -#: ../../../LangRef.rst:24740 +#: ../../../LangRef.rst:25178 msgid "'``llvm.vp.load``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:24756 +#: ../../../LangRef.rst:25194 msgid "" "The '``llvm.vp.load.*``' intrinsic is the vector length predicated version " "of the :ref:`llvm.masked.load ` intrinsic." msgstr "" -#: ../../../LangRef.rst:24762 +#: ../../../LangRef.rst:25200 msgid "" "The first argument is the base pointer for the load. The second argument is " "a vector of boolean values with the same number of elements as the return " @@ -25698,7 +26158,7 @@ msgid "" "type and underlying type of the base pointer are the same vector types." msgstr "" -#: ../../../LangRef.rst:24773 +#: ../../../LangRef.rst:25211 msgid "" "The '``llvm.vp.load``' intrinsic reads a vector from memory in the same way " "as the '``llvm.masked.load``' intrinsic, where the mask is taken from the " @@ -25710,18 +26170,18 @@ msgid "" "return type as specified by the :ref:`datalayout string`." msgstr "" -#: ../../../LangRef.rst:24796 +#: ../../../LangRef.rst:25234 msgid "'``llvm.vp.load.ff``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:24812 +#: ../../../LangRef.rst:25250 msgid "" "The '``llvm.vp.load.ff.*``' intrinsic is similar to '``llvm.vp.load.*``', " "but will not trap if there are not ``evl`` readable lanes at the pointer. " "'``ff``' stands for first-fault or fault-only-first." msgstr "" -#: ../../../LangRef.rst:24819 +#: ../../../LangRef.rst:25257 msgid "" "The first argument is the base pointer for the load. The second argument is " "a vector of boolean values with the same number of elements as the first " @@ -25730,7 +26190,7 @@ msgid "" "vector types." msgstr "" -#: ../../../LangRef.rst:24830 +#: ../../../LangRef.rst:25268 msgid "" "The '``llvm.vp.load.ff``' is designed for reading vector lanes in a single " "IR operation where the number of lanes that can be read is not known and can " @@ -25742,7 +26202,7 @@ msgid "" "``mask[0]==1`` and indicating only 1 lane could be read." msgstr "" -#: ../../../LangRef.rst:24839 +#: ../../../LangRef.rst:25277 msgid "" "Like '``llvm.vp.load``', this intrinsic reads memory based on a ``mask`` and " "an ``evl``. If ``evl`` is non-zero and the first lane is masked-on, then the " @@ -25751,7 +26211,7 @@ msgid "" "inbounds of an the same allocation or any allocation." msgstr "" -#: ../../../LangRef.rst:24845 +#: ../../../LangRef.rst:25283 msgid "" "The second return value from the intrinsic indicates the index of the first " "lane that could not be read for some reason or ``evl`` if all lanes could be " @@ -25760,7 +26220,7 @@ msgid "" "second return value must be at least 1, even if the first lane is masked-off." msgstr "" -#: ../../../LangRef.rst:24851 +#: ../../../LangRef.rst:25289 msgid "" "The second result is usually less than ``evl`` when an exception would occur " "for reading that lane, but it can be reduced for any reason. This " @@ -25769,7 +26229,7 @@ msgid "" "only-first loads." msgstr "" -#: ../../../LangRef.rst:24856 +#: ../../../LangRef.rst:25294 msgid "" "Masked-on lanes that are not inbounds of the allocation that contains the " "first lane are :ref:`poison value `. There should be a marker " @@ -25780,7 +26240,7 @@ msgid "" "read." msgstr "" -#: ../../../LangRef.rst:24863 +#: ../../../LangRef.rst:25301 msgid "" "This intrinsic will typically be called in a loop until a terminator is " "found. The second result should be used to indicates how many elements are " @@ -25789,23 +26249,23 @@ msgid "" "and the intrinsic called again." msgstr "" -#: ../../../LangRef.rst:24869 +#: ../../../LangRef.rst:25307 msgid "" "The default alignment is taken as the ABI alignment of the first return type " "as specified by the :ref:`datalayout string`." msgstr "" -#: ../../../LangRef.rst:24882 +#: ../../../LangRef.rst:25320 msgid "'``llvm.vp.store``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:24898 +#: ../../../LangRef.rst:25336 msgid "" "The '``llvm.vp.store.*``' intrinsic is the vector length predicated version " "of the :ref:`llvm.masked.store ` intrinsic." msgstr "" -#: ../../../LangRef.rst:24904 +#: ../../../LangRef.rst:25342 msgid "" "The first argument is the vector value to be written to memory. The second " "argument is the base pointer for the store. It has the same underlying type " @@ -25814,14 +26274,14 @@ msgid "" "vector length of the operation." msgstr "" -#: ../../../LangRef.rst:24910 ../../../LangRef.rst:25026 -#: ../../../LangRef.rst:25144 +#: ../../../LangRef.rst:25348 ../../../LangRef.rst:25464 +#: ../../../LangRef.rst:25582 msgid "" "The :ref:`align ` parameter attribute can be provided for the " "second argument." msgstr "" -#: ../../../LangRef.rst:24916 +#: ../../../LangRef.rst:25354 msgid "" "The '``llvm.vp.store``' intrinsic reads a vector from memory in the same way " "as the '``llvm.masked.store``' intrinsic, where the mask is taken from the " @@ -25833,18 +26293,18 @@ msgid "" "string` is used instead." msgstr "" -#: ../../../LangRef.rst:24939 +#: ../../../LangRef.rst:25377 msgid "'``llvm.experimental.vp.strided.load``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:24953 +#: ../../../LangRef.rst:25391 msgid "" "The '``llvm.experimental.vp.strided.load``' intrinsic loads, into a vector, " "scalar values from memory locations evenly spaced apart by '``stride``' " "number of bytes, starting from '``ptr``'." msgstr "" -#: ../../../LangRef.rst:24959 +#: ../../../LangRef.rst:25397 msgid "" "The first argument is the base pointer for the load. The second argument is " "the stride value expressed in bytes. The third argument is a vector of " @@ -25854,7 +26314,7 @@ msgid "" "argument." msgstr "" -#: ../../../LangRef.rst:24971 +#: ../../../LangRef.rst:25409 msgid "" "The '``llvm.experimental.vp.strided.load``' intrinsic loads, into a vector, " "multiple scalar values from memory in the same way as the :ref:`llvm.vp." @@ -25862,29 +26322,29 @@ msgid "" "form:" msgstr "" -#: ../../../LangRef.rst:24975 ../../../LangRef.rst:25036 +#: ../../../LangRef.rst:25413 ../../../LangRef.rst:25474 msgid "``%ptrs = <%ptr, %ptr + %stride, %ptr + 2 * %stride, ... >``," msgstr "" -#: ../../../LangRef.rst:24977 ../../../LangRef.rst:25038 +#: ../../../LangRef.rst:25415 ../../../LangRef.rst:25476 msgid "" "with '``ptr``' previously casted to a pointer '``i8``', '``stride``' always " "interpreted as a signed integer and all arithmetic occurring in the pointer " "type." msgstr "" -#: ../../../LangRef.rst:24998 +#: ../../../LangRef.rst:25436 msgid "'``llvm.experimental.vp.strided.store``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:25012 +#: ../../../LangRef.rst:25450 msgid "" "The '``@llvm.experimental.vp.strided.store``' intrinsic stores the elements " "of '``val``' into memory locations evenly spaced apart by '``stride``' " "number of bytes, starting from '``ptr``'." msgstr "" -#: ../../../LangRef.rst:25019 +#: ../../../LangRef.rst:25457 msgid "" "The first argument is the vector value to be written to memory. The second " "argument is the base pointer for the store. Its underlying type matches the " @@ -25894,24 +26354,24 @@ msgid "" "explicit vector length of the operation." msgstr "" -#: ../../../LangRef.rst:25032 +#: ../../../LangRef.rst:25470 msgid "" "The '``llvm.experimental.vp.strided.store``' intrinsic stores the elements " "of '``val``' in the same way as the :ref:`llvm.vp.scatter ` " "intrinsic, where the vector of pointers is in the form:" msgstr "" -#: ../../../LangRef.rst:25059 +#: ../../../LangRef.rst:25497 msgid "'``llvm.vp.gather``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:25075 +#: ../../../LangRef.rst:25513 msgid "" "The '``llvm.vp.gather.*``' intrinsic is the vector length predicated version " "of the :ref:`llvm.masked.gather ` intrinsic." msgstr "" -#: ../../../LangRef.rst:25081 +#: ../../../LangRef.rst:25519 msgid "" "The first argument is a vector of pointers which holds all memory addresses " "to read. The second argument is a vector of boolean values with the same " @@ -25920,7 +26380,7 @@ msgid "" "of pointers are the same vector types." msgstr "" -#: ../../../LangRef.rst:25093 +#: ../../../LangRef.rst:25531 msgid "" "The '``llvm.vp.gather``' intrinsic reads multiple scalar values from memory " "in the same way as the '``llvm.masked.gather``' intrinsic, where the mask is " @@ -25933,17 +26393,17 @@ msgid "" "string`." msgstr "" -#: ../../../LangRef.rst:25116 +#: ../../../LangRef.rst:25554 msgid "'``llvm.vp.scatter``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:25132 +#: ../../../LangRef.rst:25570 msgid "" "The '``llvm.vp.scatter.*``' intrinsic is the vector length predicated " "version of the :ref:`llvm.masked.scatter ` intrinsic." msgstr "" -#: ../../../LangRef.rst:25138 +#: ../../../LangRef.rst:25576 msgid "" "The first argument is a vector value to be written to memory. The second " "argument is a vector of pointers, pointing to where the value elements " @@ -25952,7 +26412,7 @@ msgid "" "vector length of the operation." msgstr "" -#: ../../../LangRef.rst:25150 +#: ../../../LangRef.rst:25588 msgid "" "The '``llvm.vp.scatter``' intrinsic writes multiple scalar values to memory " "in the same way as the '``llvm.masked.scatter``' intrinsic, where the mask " @@ -25965,17 +26425,17 @@ msgid "" "string`." msgstr "" -#: ../../../LangRef.rst:25174 +#: ../../../LangRef.rst:25612 msgid "'``llvm.vp.trunc.*``' Intrinsics" msgstr "" -#: ../../../LangRef.rst:25188 +#: ../../../LangRef.rst:25626 msgid "" "The '``llvm.vp.trunc``' intrinsic truncates its first argument to the return " "type. The operation has a mask and an explicit vector length parameter." msgstr "" -#: ../../../LangRef.rst:25195 +#: ../../../LangRef.rst:25633 msgid "" "The '``llvm.vp.trunc``' intrinsic takes a value to cast as its first " "argument. The return type is the type to cast the value to. Both types must " @@ -25986,7 +26446,7 @@ msgid "" "length of the operation." msgstr "" -#: ../../../LangRef.rst:25205 +#: ../../../LangRef.rst:25643 msgid "" "The '``llvm.vp.trunc``' intrinsic truncates the high order bits in value and " "converts the remaining bits to return type. Since the source size must be " @@ -25996,18 +26456,18 @@ msgid "" "true. Masked-off lanes are ``poison``." msgstr "" -#: ../../../LangRef.rst:25227 +#: ../../../LangRef.rst:25665 msgid "'``llvm.vp.zext.*``' Intrinsics" msgstr "" -#: ../../../LangRef.rst:25241 +#: ../../../LangRef.rst:25679 msgid "" "The '``llvm.vp.zext``' intrinsic zero extends its first argument to the " "return type. The operation has a mask and an explicit vector length " "parameter." msgstr "" -#: ../../../LangRef.rst:25248 +#: ../../../LangRef.rst:25686 msgid "" "The '``llvm.vp.zext``' intrinsic takes a value to cast as its first " "argument. The return type is the type to cast the value to. Both types must " @@ -26018,7 +26478,7 @@ msgid "" "length of the operation." msgstr "" -#: ../../../LangRef.rst:25258 +#: ../../../LangRef.rst:25696 msgid "" "The '``llvm.vp.zext``' intrinsic fill the high order bits of the value with " "zero bits until it reaches the size of the return type. When zero extending " @@ -26027,18 +26487,18 @@ msgid "" "vector mask is true. Masked-off lanes are ``poison``." msgstr "" -#: ../../../LangRef.rst:25279 +#: ../../../LangRef.rst:25717 msgid "'``llvm.vp.sext.*``' Intrinsics" msgstr "" -#: ../../../LangRef.rst:25293 +#: ../../../LangRef.rst:25731 msgid "" "The '``llvm.vp.sext``' intrinsic sign extends its first argument to the " "return type. The operation has a mask and an explicit vector length " "parameter." msgstr "" -#: ../../../LangRef.rst:25300 +#: ../../../LangRef.rst:25738 msgid "" "The '``llvm.vp.sext``' intrinsic takes a value to cast as its first " "argument. The return type is the type to cast the value to. Both types must " @@ -26049,7 +26509,7 @@ msgid "" "length of the operation." msgstr "" -#: ../../../LangRef.rst:25310 +#: ../../../LangRef.rst:25748 msgid "" "The '``llvm.vp.sext``' intrinsic performs a sign extension by copying the " "sign bit (highest order bit) of the value until it reaches the size of the " @@ -26059,18 +26519,18 @@ msgid "" "``poison``." msgstr "" -#: ../../../LangRef.rst:25331 +#: ../../../LangRef.rst:25769 msgid "'``llvm.vp.fptrunc.*``' Intrinsics" msgstr "" -#: ../../../LangRef.rst:25345 +#: ../../../LangRef.rst:25783 msgid "" "The '``llvm.vp.fptrunc``' intrinsic truncates its first argument to the " "return type. The operation has a mask and an explicit vector length " "parameter." msgstr "" -#: ../../../LangRef.rst:25352 +#: ../../../LangRef.rst:25790 msgid "" "The '``llvm.vp.fptrunc``' intrinsic takes a value to cast as its first " "argument. The return type is the type to cast the value to. Both types must " @@ -26082,7 +26542,7 @@ msgid "" "explicit vector length of the operation." msgstr "" -#: ../../../LangRef.rst:25364 +#: ../../../LangRef.rst:25802 msgid "" "The '``llvm.vp.fptrunc``' intrinsic casts a ``value`` from a larger :ref:" "`floating-point ` type to a smaller :ref:`floating-point " @@ -26092,17 +26552,17 @@ msgid "" "true. Masked-off lanes are ``poison``." msgstr "" -#: ../../../LangRef.rst:25387 +#: ../../../LangRef.rst:25825 msgid "'``llvm.vp.fpext.*``' Intrinsics" msgstr "" -#: ../../../LangRef.rst:25401 +#: ../../../LangRef.rst:25839 msgid "" "The '``llvm.vp.fpext``' intrinsic extends its first argument to the return " "type. The operation has a mask and an explicit vector length parameter." msgstr "" -#: ../../../LangRef.rst:25408 +#: ../../../LangRef.rst:25846 msgid "" "The '``llvm.vp.fpext``' intrinsic takes a value to cast as its first " "argument. The return type is the type to cast the value to. Both types must " @@ -26114,7 +26574,7 @@ msgid "" "explicit vector length of the operation." msgstr "" -#: ../../../LangRef.rst:25420 +#: ../../../LangRef.rst:25858 msgid "" "The '``llvm.vp.fpext``' intrinsic extends the ``value`` from a smaller :ref:" "`floating-point ` type to a larger :ref:`floating-point " @@ -26125,18 +26585,18 @@ msgid "" "off lanes are ``poison``." msgstr "" -#: ../../../LangRef.rst:25443 +#: ../../../LangRef.rst:25881 msgid "'``llvm.vp.fptoui.*``' Intrinsics" msgstr "" -#: ../../../LangRef.rst:25458 +#: ../../../LangRef.rst:25896 msgid "" "The '``llvm.vp.fptoui``' intrinsic converts the :ref:`floating-point " "` argument to the unsigned integer return type. The operation " "has a mask and an explicit vector length parameter." msgstr "" -#: ../../../LangRef.rst:25466 +#: ../../../LangRef.rst:25904 msgid "" "The '``llvm.vp.fptoui``' intrinsic takes a value to cast as its first " "argument. The value to cast must be a vector of :ref:`floating-point " @@ -26147,7 +26607,7 @@ msgid "" "explicit vector length of the operation." msgstr "" -#: ../../../LangRef.rst:25477 +#: ../../../LangRef.rst:25915 msgid "" "The '``llvm.vp.fptoui``' intrinsic converts its :ref:`floating-point " "` argument into the nearest (rounding towards zero) unsigned " @@ -26157,18 +26617,18 @@ msgid "" "type, the result on that lane is a :ref:`poison value `." msgstr "" -#: ../../../LangRef.rst:25499 +#: ../../../LangRef.rst:25937 msgid "'``llvm.vp.fptosi.*``' Intrinsics" msgstr "" -#: ../../../LangRef.rst:25514 +#: ../../../LangRef.rst:25952 msgid "" "The '``llvm.vp.fptosi``' intrinsic converts the :ref:`floating-point " "` argument to the signed integer return type. The operation has " "a mask and an explicit vector length parameter." msgstr "" -#: ../../../LangRef.rst:25522 +#: ../../../LangRef.rst:25960 msgid "" "The '``llvm.vp.fptosi``' intrinsic takes a value to cast as its first " "argument. The value to cast must be a vector of :ref:`floating-point " @@ -26179,7 +26639,7 @@ msgid "" "explicit vector length of the operation." msgstr "" -#: ../../../LangRef.rst:25533 +#: ../../../LangRef.rst:25971 msgid "" "The '``llvm.vp.fptosi``' intrinsic converts its :ref:`floating-point " "` argument into the nearest (rounding towards zero) signed " @@ -26189,18 +26649,18 @@ msgid "" "type, the result on that lane is a :ref:`poison value `." msgstr "" -#: ../../../LangRef.rst:25555 +#: ../../../LangRef.rst:25993 msgid "'``llvm.vp.uitofp.*``' Intrinsics" msgstr "" -#: ../../../LangRef.rst:25570 +#: ../../../LangRef.rst:26008 msgid "" "The '``llvm.vp.uitofp``' intrinsic converts its unsigned integer argument to " "the :ref:`floating-point ` return type. The operation has a " "mask and an explicit vector length parameter." msgstr "" -#: ../../../LangRef.rst:25578 +#: ../../../LangRef.rst:26016 msgid "" "The '``llvm.vp.uitofp``' intrinsic takes a value to cast as its first " "argument. The value to cast must be vector of :ref:`integer ` " @@ -26211,7 +26671,7 @@ msgid "" "explicit vector length of the operation." msgstr "" -#: ../../../LangRef.rst:25589 +#: ../../../LangRef.rst:26027 msgid "" "The '``llvm.vp.uitofp``' intrinsic interprets its first argument as an " "unsigned integer quantity and converts it to the corresponding floating-" @@ -26221,18 +26681,18 @@ msgid "" "off lanes are ``poison``." msgstr "" -#: ../../../LangRef.rst:25611 +#: ../../../LangRef.rst:26049 msgid "'``llvm.vp.sitofp.*``' Intrinsics" msgstr "" -#: ../../../LangRef.rst:25626 +#: ../../../LangRef.rst:26064 msgid "" "The '``llvm.vp.sitofp``' intrinsic converts its signed integer argument to " "the :ref:`floating-point ` return type. The operation has a " "mask and an explicit vector length parameter." msgstr "" -#: ../../../LangRef.rst:25634 +#: ../../../LangRef.rst:26072 msgid "" "The '``llvm.vp.sitofp``' intrinsic takes a value to cast as its first " "argument. The value to cast must be vector of :ref:`integer ` " @@ -26243,7 +26703,7 @@ msgid "" "explicit vector length of the operation." msgstr "" -#: ../../../LangRef.rst:25645 +#: ../../../LangRef.rst:26083 msgid "" "The '``llvm.vp.sitofp``' intrinsic interprets its first argument as a signed " "integer quantity and converts it to the corresponding floating-point value. " @@ -26253,18 +26713,18 @@ msgid "" "are ``poison``." msgstr "" -#: ../../../LangRef.rst:25667 +#: ../../../LangRef.rst:26105 msgid "'``llvm.vp.ptrtoint.*``' Intrinsics" msgstr "" -#: ../../../LangRef.rst:25682 +#: ../../../LangRef.rst:26120 msgid "" "The '``llvm.vp.ptrtoint``' intrinsic converts its pointer to the integer " "return type. The operation has a mask and an explicit vector length " "parameter." msgstr "" -#: ../../../LangRef.rst:25689 +#: ../../../LangRef.rst:26127 msgid "" "The '``llvm.vp.ptrtoint``' intrinsic takes a value to cast as its first " "argument , which must be a vector of pointers, and a type to cast it to " @@ -26274,7 +26734,7 @@ msgid "" "explicit vector length of the operation." msgstr "" -#: ../../../LangRef.rst:25699 +#: ../../../LangRef.rst:26137 msgid "" "The '``llvm.vp.ptrtoint``' intrinsic converts value to return type by " "interpreting the pointer value as an integer and either truncating or zero " @@ -26286,18 +26746,18 @@ msgid "" "and where the vector mask is true. Masked-off lanes are ``poison``." msgstr "" -#: ../../../LangRef.rst:25724 +#: ../../../LangRef.rst:26162 msgid "'``llvm.vp.inttoptr.*``' Intrinsics" msgstr "" -#: ../../../LangRef.rst:25739 +#: ../../../LangRef.rst:26177 msgid "" "The '``llvm.vp.inttoptr``' intrinsic converts its integer value to the point " "return type. The operation has a mask and an explicit vector length " "parameter." msgstr "" -#: ../../../LangRef.rst:25746 +#: ../../../LangRef.rst:26184 msgid "" "The '``llvm.vp.inttoptr``' intrinsic takes a value to cast as its first " "argument , which must be a vector of :ref:`integer ` type, and a " @@ -26307,7 +26767,7 @@ msgid "" "explicit vector length of the operation." msgstr "" -#: ../../../LangRef.rst:25756 +#: ../../../LangRef.rst:26194 msgid "" "The '``llvm.vp.inttoptr``' intrinsic converts ``value`` to return type by " "applying either a zero extension or a truncation depending on the size of " @@ -26319,18 +26779,18 @@ msgid "" "lanes are ``poison``." msgstr "" -#: ../../../LangRef.rst:25779 +#: ../../../LangRef.rst:26217 msgid "'``llvm.vp.fcmp.*``' Intrinsics" msgstr "" -#: ../../../LangRef.rst:25794 +#: ../../../LangRef.rst:26232 msgid "" "The '``llvm.vp.fcmp``' intrinsic returns a vector of boolean values based on " "the comparison of its arguments. The operation has a mask and an explicit " "vector length parameter." msgstr "" -#: ../../../LangRef.rst:25802 +#: ../../../LangRef.rst:26240 msgid "" "The '``llvm.vp.fcmp``' intrinsic takes the two values to compare as its " "first and second arguments. These two values must be vectors of :ref:" @@ -26344,7 +26804,7 @@ msgid "" "vector length of the operation." msgstr "" -#: ../../../LangRef.rst:25816 +#: ../../../LangRef.rst:26254 msgid "" "The '``llvm.vp.fcmp``' compares its first two arguments according to the " "condition code given as the third argument. The arguments are compared " @@ -26353,18 +26813,18 @@ msgid "" "`. Masked-off lanes are ``poison``." msgstr "" -#: ../../../LangRef.rst:25837 +#: ../../../LangRef.rst:26275 msgid "'``llvm.vp.icmp.*``' Intrinsics" msgstr "" -#: ../../../LangRef.rst:25852 +#: ../../../LangRef.rst:26290 msgid "" "The '``llvm.vp.icmp``' intrinsic returns a vector of boolean values based on " "the comparison of its arguments. The operation has a mask and an explicit " "vector length parameter." msgstr "" -#: ../../../LangRef.rst:25860 +#: ../../../LangRef.rst:26298 msgid "" "The '``llvm.vp.icmp``' intrinsic takes the two values to compare as its " "first and second arguments. These two values must be vectors of :ref:" @@ -26378,7 +26838,7 @@ msgid "" "vector length of the operation." msgstr "" -#: ../../../LangRef.rst:25874 +#: ../../../LangRef.rst:26312 msgid "" "The '``llvm.vp.icmp``' compares its first two arguments according to the " "condition code given as the third argument. The arguments are compared " @@ -26387,61 +26847,61 @@ msgid "" "`. Masked-off lanes are ``poison``." msgstr "" -#: ../../../LangRef.rst:25894 +#: ../../../LangRef.rst:26332 msgid "'``llvm.vp.ceil.*``' Intrinsics" msgstr "" -#: ../../../LangRef.rst:25909 +#: ../../../LangRef.rst:26347 msgid "Predicated floating-point ceiling of a vector of floating-point values." msgstr "" -#: ../../../LangRef.rst:25923 +#: ../../../LangRef.rst:26361 msgid "" "The '``llvm.vp.ceil``' intrinsic performs floating-point ceiling (:ref:`ceil " "`) of the first vector argument on each enabled lane. The result " "on disabled lanes is a :ref:`poison value `." msgstr "" -#: ../../../LangRef.rst:25941 +#: ../../../LangRef.rst:26379 msgid "'``llvm.vp.floor.*``' Intrinsics" msgstr "" -#: ../../../LangRef.rst:25956 +#: ../../../LangRef.rst:26394 msgid "Predicated floating-point floor of a vector of floating-point values." msgstr "" -#: ../../../LangRef.rst:25970 +#: ../../../LangRef.rst:26408 msgid "" "The '``llvm.vp.floor``' intrinsic performs floating-point floor (:ref:`floor " "`) of the first vector argument on each enabled lane. The result " "on disabled lanes is a :ref:`poison value `." msgstr "" -#: ../../../LangRef.rst:25988 +#: ../../../LangRef.rst:26426 msgid "'``llvm.vp.rint.*``' Intrinsics" msgstr "" -#: ../../../LangRef.rst:26003 +#: ../../../LangRef.rst:26441 msgid "Predicated floating-point rint of a vector of floating-point values." msgstr "" -#: ../../../LangRef.rst:26017 +#: ../../../LangRef.rst:26455 msgid "" "The '``llvm.vp.rint``' intrinsic performs floating-point rint (:ref:`rint " "`) of the first vector argument on each enabled lane. The result " "on disabled lanes is a :ref:`poison value `." msgstr "" -#: ../../../LangRef.rst:26035 +#: ../../../LangRef.rst:26473 msgid "'``llvm.vp.nearbyint.*``' Intrinsics" msgstr "" -#: ../../../LangRef.rst:26050 +#: ../../../LangRef.rst:26488 msgid "" "Predicated floating-point nearbyint of a vector of floating-point values." msgstr "" -#: ../../../LangRef.rst:26064 +#: ../../../LangRef.rst:26502 msgid "" "The '``llvm.vp.nearbyint``' intrinsic performs floating-point nearbyint (:" "ref:`nearbyint `) of the first vector argument on each " @@ -26449,31 +26909,31 @@ msgid "" "`." msgstr "" -#: ../../../LangRef.rst:26082 +#: ../../../LangRef.rst:26520 msgid "'``llvm.vp.round.*``' Intrinsics" msgstr "" -#: ../../../LangRef.rst:26097 +#: ../../../LangRef.rst:26535 msgid "Predicated floating-point round of a vector of floating-point values." msgstr "" -#: ../../../LangRef.rst:26111 +#: ../../../LangRef.rst:26549 msgid "" "The '``llvm.vp.round``' intrinsic performs floating-point round (:ref:`round " "`) of the first vector argument on each enabled lane. The result " "on disabled lanes is a :ref:`poison value `." msgstr "" -#: ../../../LangRef.rst:26129 +#: ../../../LangRef.rst:26567 msgid "'``llvm.vp.roundeven.*``' Intrinsics" msgstr "" -#: ../../../LangRef.rst:26144 +#: ../../../LangRef.rst:26582 msgid "" "Predicated floating-point roundeven of a vector of floating-point values." msgstr "" -#: ../../../LangRef.rst:26158 +#: ../../../LangRef.rst:26596 msgid "" "The '``llvm.vp.roundeven``' intrinsic performs floating-point roundeven (:" "ref:`roundeven `) of the first vector argument on each " @@ -26481,16 +26941,16 @@ msgid "" "`." msgstr "" -#: ../../../LangRef.rst:26176 +#: ../../../LangRef.rst:26614 msgid "'``llvm.vp.roundtozero.*``' Intrinsics" msgstr "" -#: ../../../LangRef.rst:26191 +#: ../../../LangRef.rst:26629 msgid "" "Predicated floating-point round-to-zero of a vector of floating-point values." msgstr "" -#: ../../../LangRef.rst:26205 +#: ../../../LangRef.rst:26643 msgid "" "The '``llvm.vp.roundtozero``' intrinsic performs floating-point roundeven (:" "ref:`llvm.trunc `) of the first vector argument on each " @@ -26498,15 +26958,15 @@ msgid "" "`." msgstr "" -#: ../../../LangRef.rst:26223 +#: ../../../LangRef.rst:26661 msgid "'``llvm.vp.lrint.*``' Intrinsics" msgstr "" -#: ../../../LangRef.rst:26238 +#: ../../../LangRef.rst:26676 msgid "Predicated lrint of a vector of floating-point values." msgstr "" -#: ../../../LangRef.rst:26244 ../../../LangRef.rst:26290 +#: ../../../LangRef.rst:26682 ../../../LangRef.rst:26728 msgid "" "The result is an integer vector and the first argument is a vector of :ref:" "`floating-point ` type with the same number of elements as the " @@ -26515,38 +26975,38 @@ msgid "" "explicit vector length of the operation." msgstr "" -#: ../../../LangRef.rst:26252 +#: ../../../LangRef.rst:26690 msgid "" "The '``llvm.vp.lrint``' intrinsic performs lrint (:ref:`lrint `) " "of the first vector argument on each enabled lane. The result on disabled " "lanes is a :ref:`poison value `." msgstr "" -#: ../../../LangRef.rst:26270 +#: ../../../LangRef.rst:26708 msgid "'``llvm.vp.llrint.*``' Intrinsics" msgstr "" -#: ../../../LangRef.rst:26285 +#: ../../../LangRef.rst:26723 msgid "Predicated llrint of a vector of floating-point values." msgstr "" -#: ../../../LangRef.rst:26298 +#: ../../../LangRef.rst:26736 msgid "" "The '``llvm.vp.llrint``' intrinsic performs lrint (:ref:`llrint " "`) of the first vector argument on each enabled lane. The result " "on disabled lanes is a :ref:`poison value `." msgstr "" -#: ../../../LangRef.rst:26317 +#: ../../../LangRef.rst:26755 msgid "'``llvm.vp.bitreverse.*``' Intrinsics" msgstr "" -#: ../../../LangRef.rst:26332 +#: ../../../LangRef.rst:26770 msgid "Predicated bitreverse of a vector of integers." msgstr "" -#: ../../../LangRef.rst:26338 ../../../LangRef.rst:26385 -#: ../../../LangRef.rst:26432 +#: ../../../LangRef.rst:26776 ../../../LangRef.rst:26823 +#: ../../../LangRef.rst:26870 msgid "" "The first argument and the result have the same vector of integer type. The " "second argument is the vector mask and has the same number of elements as " @@ -26554,52 +27014,52 @@ msgid "" "the operation." msgstr "" -#: ../../../LangRef.rst:26346 +#: ../../../LangRef.rst:26784 msgid "" "The '``llvm.vp.bitreverse``' intrinsic performs bitreverse (:ref:`bitreverse " "`) of the first argument on each enabled lane. The result " "on disabled lanes is a :ref:`poison value `." msgstr "" -#: ../../../LangRef.rst:26364 +#: ../../../LangRef.rst:26802 msgid "'``llvm.vp.bswap.*``' Intrinsics" msgstr "" -#: ../../../LangRef.rst:26379 +#: ../../../LangRef.rst:26817 msgid "Predicated bswap of a vector of integers." msgstr "" -#: ../../../LangRef.rst:26393 +#: ../../../LangRef.rst:26831 msgid "" "The '``llvm.vp.bswap``' intrinsic performs bswap (:ref:`bswap `) " "of the first argument on each enabled lane. The result on disabled lanes is " "a :ref:`poison value `." msgstr "" -#: ../../../LangRef.rst:26411 +#: ../../../LangRef.rst:26849 msgid "'``llvm.vp.ctpop.*``' Intrinsics" msgstr "" -#: ../../../LangRef.rst:26426 +#: ../../../LangRef.rst:26864 msgid "Predicated ctpop of a vector of integers." msgstr "" -#: ../../../LangRef.rst:26440 +#: ../../../LangRef.rst:26878 msgid "" "The '``llvm.vp.ctpop``' intrinsic performs ctpop (:ref:`ctpop `) " "of the first argument on each enabled lane. The result on disabled lanes is " "a :ref:`poison value `." msgstr "" -#: ../../../LangRef.rst:26458 +#: ../../../LangRef.rst:26896 msgid "'``llvm.vp.ctlz.*``' Intrinsics" msgstr "" -#: ../../../LangRef.rst:26473 +#: ../../../LangRef.rst:26911 msgid "Predicated ctlz of a vector of integers." msgstr "" -#: ../../../LangRef.rst:26479 +#: ../../../LangRef.rst:26917 msgid "" "The first argument and the result have the same vector of integer type. The " "second argument is a constant flag that indicates whether the intrinsic " @@ -26610,22 +27070,22 @@ msgid "" "poison." msgstr "" -#: ../../../LangRef.rst:26489 +#: ../../../LangRef.rst:26927 msgid "" "The '``llvm.vp.ctlz``' intrinsic performs ctlz (:ref:`ctlz `) of " "the first argument on each enabled lane. The result on disabled lanes is a :" "ref:`poison value `." msgstr "" -#: ../../../LangRef.rst:26507 +#: ../../../LangRef.rst:26945 msgid "'``llvm.vp.cttz.*``' Intrinsics" msgstr "" -#: ../../../LangRef.rst:26522 +#: ../../../LangRef.rst:26960 msgid "Predicated cttz of a vector of integers." msgstr "" -#: ../../../LangRef.rst:26528 +#: ../../../LangRef.rst:26966 msgid "" "The first argument and the result have the same vector of integer type. The " "second argument is a constant flag that indicates whether the intrinsic " @@ -26636,44 +27096,44 @@ msgid "" "poison." msgstr "" -#: ../../../LangRef.rst:26538 +#: ../../../LangRef.rst:26976 msgid "" "The '``llvm.vp.cttz``' intrinsic performs cttz (:ref:`cttz `) of " "the first argument on each enabled lane. The result on disabled lanes is a :" "ref:`poison value `." msgstr "" -#: ../../../LangRef.rst:26556 +#: ../../../LangRef.rst:26994 msgid "'``llvm.vp.cttz.elts.*``' Intrinsics" msgstr "" -#: ../../../LangRef.rst:26560 +#: ../../../LangRef.rst:26998 msgid "" "This is an overloaded intrinsic. You can use ```llvm.vp.cttz.elts``` on any " "vector of integer elements, both fixed width and scalable." msgstr "" -#: ../../../LangRef.rst:26572 +#: ../../../LangRef.rst:27010 msgid "" "This '```llvm.vp.cttz.elts```' intrinsic counts the number of trailing zero " "elements of a vector. This is basically the vector-predicated version of " "'```llvm.experimental.cttz.elts```'." msgstr "" -#: ../../../LangRef.rst:26585 +#: ../../../LangRef.rst:27023 msgid "" "The second argument is a constant flag that indicates whether the intrinsic " "returns a valid result if the first argument is all zero." msgstr "" -#: ../../../LangRef.rst:26588 +#: ../../../LangRef.rst:27026 msgid "" "The third argument is the vector mask and has the same number of elements as " "the input vector type. The fourth argument is the explicit vector length of " "the operation." msgstr "" -#: ../../../LangRef.rst:26595 +#: ../../../LangRef.rst:27033 msgid "" "The '``llvm.vp.cttz.elts``' intrinsic counts the trailing (least " "significant / lowest-numbered) zero elements in the first argument on each " @@ -26682,75 +27142,75 @@ msgid "" "(i.e., the fourth argument)." msgstr "" -#: ../../../LangRef.rst:26604 +#: ../../../LangRef.rst:27042 msgid "'``llvm.vp.sadd.sat.*``' Intrinsics" msgstr "" -#: ../../../LangRef.rst:26619 +#: ../../../LangRef.rst:27057 msgid "Predicated signed saturating addition of two vectors of integers." msgstr "" -#: ../../../LangRef.rst:26633 +#: ../../../LangRef.rst:27071 msgid "" "The '``llvm.vp.sadd.sat``' intrinsic performs sadd.sat (:ref:`sadd.sat " "`) of the first and second vector arguments on each enabled " "lane. The result on disabled lanes is a :ref:`poison value `." msgstr "" -#: ../../../LangRef.rst:26653 +#: ../../../LangRef.rst:27091 msgid "'``llvm.vp.uadd.sat.*``' Intrinsics" msgstr "" -#: ../../../LangRef.rst:26668 +#: ../../../LangRef.rst:27106 msgid "Predicated unsigned saturating addition of two vectors of integers." msgstr "" -#: ../../../LangRef.rst:26682 +#: ../../../LangRef.rst:27120 msgid "" "The '``llvm.vp.uadd.sat``' intrinsic performs uadd.sat (:ref:`uadd.sat " "`) of the first and second vector arguments on each enabled " "lane. The result on disabled lanes is a :ref:`poison value `." msgstr "" -#: ../../../LangRef.rst:26702 +#: ../../../LangRef.rst:27140 msgid "'``llvm.vp.ssub.sat.*``' Intrinsics" msgstr "" -#: ../../../LangRef.rst:26717 +#: ../../../LangRef.rst:27155 msgid "Predicated signed saturating subtraction of two vectors of integers." msgstr "" -#: ../../../LangRef.rst:26731 +#: ../../../LangRef.rst:27169 msgid "" "The '``llvm.vp.ssub.sat``' intrinsic performs ssub.sat (:ref:`ssub.sat " "`) of the first and second vector arguments on each enabled " "lane. The result on disabled lanes is a :ref:`poison value `." msgstr "" -#: ../../../LangRef.rst:26751 +#: ../../../LangRef.rst:27189 msgid "'``llvm.vp.usub.sat.*``' Intrinsics" msgstr "" -#: ../../../LangRef.rst:26766 +#: ../../../LangRef.rst:27204 msgid "Predicated unsigned saturating subtraction of two vectors of integers." msgstr "" -#: ../../../LangRef.rst:26780 +#: ../../../LangRef.rst:27218 msgid "" "The '``llvm.vp.usub.sat``' intrinsic performs usub.sat (:ref:`usub.sat " "`) of the first and second vector arguments on each enabled " "lane. The result on disabled lanes is a :ref:`poison value `." msgstr "" -#: ../../../LangRef.rst:26800 +#: ../../../LangRef.rst:27238 msgid "'``llvm.vp.fshl.*``' Intrinsics" msgstr "" -#: ../../../LangRef.rst:26815 +#: ../../../LangRef.rst:27253 msgid "Predicated fshl of three vectors of integers." msgstr "" -#: ../../../LangRef.rst:26821 ../../../LangRef.rst:26867 +#: ../../../LangRef.rst:27259 ../../../LangRef.rst:27305 msgid "" "The first three arguments and the result have the same vector of integer " "type. The fourth argument is the vector mask and has the same number of " @@ -26758,37 +27218,37 @@ msgid "" "vector length of the operation." msgstr "" -#: ../../../LangRef.rst:26829 +#: ../../../LangRef.rst:27267 msgid "" "The '``llvm.vp.fshl``' intrinsic performs fshl (:ref:`fshl `) of " "the first, second, and third vector argument on each enabled lane. The " "result on disabled lanes is a :ref:`poison value `." msgstr "" -#: ../../../LangRef.rst:26846 +#: ../../../LangRef.rst:27284 msgid "'``llvm.vp.fshr.*``' Intrinsics" msgstr "" -#: ../../../LangRef.rst:26861 +#: ../../../LangRef.rst:27299 msgid "Predicated fshr of three vectors of integers." msgstr "" -#: ../../../LangRef.rst:26875 +#: ../../../LangRef.rst:27313 msgid "" "The '``llvm.vp.fshr``' intrinsic performs fshr (:ref:`fshr `) of " "the first, second, and third vector argument on each enabled lane. The " "result on disabled lanes is a :ref:`poison value `." msgstr "" -#: ../../../LangRef.rst:26891 +#: ../../../LangRef.rst:27329 msgid "'``llvm.vp.is.fpclass.*``' Intrinsics" msgstr "" -#: ../../../LangRef.rst:26905 +#: ../../../LangRef.rst:27343 msgid "Predicated ``llvm.is.fpclass`` :ref:`llvm.is.fpclass `" msgstr "" -#: ../../../LangRef.rst:26910 +#: ../../../LangRef.rst:27348 msgid "" "The first argument is a floating-point vector, the result type is a vector " "of boolean with the same number of elements as the first argument. The " @@ -26798,17 +27258,17 @@ msgid "" "explicit vector length of the operation." msgstr "" -#: ../../../LangRef.rst:26920 +#: ../../../LangRef.rst:27358 msgid "" "The '``llvm.vp.is.fpclass``' intrinsic performs ``llvm.is.fpclass`` (:ref:" "`llvm.is.fpclass `)." msgstr "" -#: ../../../LangRef.rst:26934 +#: ../../../LangRef.rst:27372 msgid "Masked Vector Load and Store Intrinsics" msgstr "" -#: ../../../LangRef.rst:26936 +#: ../../../LangRef.rst:27374 msgid "" "LLVM provides intrinsics for predicated vector load and store operations. " "The predicate is specified by a mask argument, which holds one bit per " @@ -26818,17 +27278,17 @@ msgid "" "store. When all bits are off, no memory is accessed." msgstr "" -#: ../../../LangRef.rst:26941 +#: ../../../LangRef.rst:27379 msgid "'``llvm.masked.load.*``' Intrinsics" msgstr "" -#: ../../../LangRef.rst:26945 +#: ../../../LangRef.rst:27383 msgid "" "This is an overloaded intrinsic. The loaded data is a vector of any integer, " "floating-point or pointer data type." msgstr "" -#: ../../../LangRef.rst:26957 +#: ../../../LangRef.rst:27395 msgid "" "Reads a vector from memory according to the provided mask. The mask holds a " "bit for each vector lane, and is used to prevent memory accesses to the " @@ -26836,7 +27296,7 @@ msgid "" "the corresponding lanes of the '``passthru``' argument." msgstr "" -#: ../../../LangRef.rst:26963 +#: ../../../LangRef.rst:27401 msgid "" "The first argument is the base pointer for the load. The second argument, " "mask, is a vector of boolean values with the same number of elements as the " @@ -26846,13 +27306,13 @@ msgid "" "types." msgstr "" -#: ../../../LangRef.rst:26965 +#: ../../../LangRef.rst:27403 msgid "" "The alignment of the base pointer can be specified using the ``align`` " "attribute on the first argument." msgstr "" -#: ../../../LangRef.rst:26970 +#: ../../../LangRef.rst:27408 msgid "" "The '``llvm.masked.load``' intrinsic is designed for conditional reading of " "selected vector elements in a single IR operation. It is useful for targets " @@ -26869,24 +27329,24 @@ msgid "" "considered accessed for the purpose of data races or ``noalias`` constraints." msgstr "" -#: ../../../LangRef.rst:26988 +#: ../../../LangRef.rst:27426 msgid "'``llvm.masked.store.*``' Intrinsics" msgstr "" -#: ../../../LangRef.rst:26992 +#: ../../../LangRef.rst:27430 msgid "" "This is an overloaded intrinsic. The data stored in memory is a vector of " "any integer, floating-point or pointer data type." msgstr "" -#: ../../../LangRef.rst:27004 +#: ../../../LangRef.rst:27442 msgid "" "Writes a vector to memory according to the provided mask. The mask holds a " "bit for each vector lane, and is used to prevent memory accesses to the " "masked-off lanes." msgstr "" -#: ../../../LangRef.rst:27009 +#: ../../../LangRef.rst:27447 msgid "" "The first argument is the vector value to be written to memory. The second " "argument is the base pointer for the store, it has the same underlying type " @@ -26895,13 +27355,13 @@ msgid "" "number of vector elements." msgstr "" -#: ../../../LangRef.rst:27011 +#: ../../../LangRef.rst:27449 msgid "" "The alignment of the base pointer can be specified using the ``align`` " "attribute on the second argument." msgstr "" -#: ../../../LangRef.rst:27016 +#: ../../../LangRef.rst:27454 msgid "" "The '``llvm.masked.store``' intrinsics is designed for conditional writing " "of selected vector elements in a single IR operation. It is useful for " @@ -26917,11 +27377,11 @@ msgid "" "the purpose of data races or ``noalias`` constraints." msgstr "" -#: ../../../LangRef.rst:27033 +#: ../../../LangRef.rst:27471 msgid "Masked Vector Gather and Scatter Intrinsics" msgstr "" -#: ../../../LangRef.rst:27035 +#: ../../../LangRef.rst:27473 msgid "" "LLVM provides intrinsics for vector gather and scatter operations. They are " "similar to :ref:`Masked Vector Load and Store `, except " @@ -26932,18 +27392,18 @@ msgid "" "When all bits are off, no memory is accessed." msgstr "" -#: ../../../LangRef.rst:27040 +#: ../../../LangRef.rst:27478 msgid "'``llvm.masked.gather.*``' Intrinsics" msgstr "" -#: ../../../LangRef.rst:27044 +#: ../../../LangRef.rst:27482 msgid "" "This is an overloaded intrinsic. The loaded data are multiple scalar values " "of any integer, floating-point or pointer data type gathered together into " "one vector." msgstr "" -#: ../../../LangRef.rst:27055 +#: ../../../LangRef.rst:27493 msgid "" "Reads scalar values from arbitrary memory locations and gathers them into " "one vector. The memory locations are provided in the vector of pointers " @@ -26953,7 +27413,7 @@ msgid "" "from the corresponding lanes of the '``passthru``' argument." msgstr "" -#: ../../../LangRef.rst:27061 +#: ../../../LangRef.rst:27499 msgid "" "The first argument is a vector of pointers which holds all memory addresses " "to read. The second argument, mask, is a vector of boolean values with the " @@ -26963,13 +27423,13 @@ msgid "" "'``passthru``' argument are the same vector types." msgstr "" -#: ../../../LangRef.rst:27063 +#: ../../../LangRef.rst:27501 msgid "" "The alignment of the pointers can be specified using the ``align`` attribute " "on the first argument." msgstr "" -#: ../../../LangRef.rst:27068 +#: ../../../LangRef.rst:27506 msgid "" "The '``llvm.masked.gather``' intrinsic is designed for conditional reading " "of multiple scalar values from arbitrary memory locations in a single IR " @@ -26983,11 +27443,11 @@ msgid "" "blocks." msgstr "" -#: ../../../LangRef.rst:27095 +#: ../../../LangRef.rst:27533 msgid "'``llvm.masked.scatter.*``' Intrinsics" msgstr "" -#: ../../../LangRef.rst:27099 +#: ../../../LangRef.rst:27537 msgid "" "This is an overloaded intrinsic. The data stored in memory is a vector of " "any integer, floating-point or pointer data type. Each vector element is " @@ -26995,7 +27455,7 @@ msgid "" "guaranteed to be ordered from least-significant to most-significant element." msgstr "" -#: ../../../LangRef.rst:27110 +#: ../../../LangRef.rst:27548 msgid "" "Writes each element from the value vector to the corresponding memory " "address. The memory addresses are represented as a vector of pointers. " @@ -27004,7 +27464,7 @@ msgid "" "lanes." msgstr "" -#: ../../../LangRef.rst:27115 +#: ../../../LangRef.rst:27553 msgid "" "The first argument is a vector value to be written to memory. The second " "argument is a vector of pointers, pointing to where the value elements " @@ -27013,13 +27473,13 @@ msgid "" "and the value argument must have the same number of vector elements." msgstr "" -#: ../../../LangRef.rst:27117 +#: ../../../LangRef.rst:27555 msgid "" "The alignment of the pointers can be specified using the ``align`` attribute " "on the second argument." msgstr "" -#: ../../../LangRef.rst:27122 +#: ../../../LangRef.rst:27560 msgid "" "The '``llvm.masked.scatter``' intrinsics is designed for writing selected " "vector elements to arbitrary memory addresses in a single IR operation. The " @@ -27030,11 +27490,11 @@ msgid "" "sequence of branches that guard scalar store operations." msgstr "" -#: ../../../LangRef.rst:27146 +#: ../../../LangRef.rst:27584 msgid "Masked Vector Expanding Load and Compressing Store Intrinsics" msgstr "" -#: ../../../LangRef.rst:27148 +#: ../../../LangRef.rst:27586 msgid "" "LLVM provides intrinsics for expanding load and compressing store " "operations. Data selected from a vector according to a mask is stored in " @@ -27046,18 +27506,18 @@ msgid "" "`." msgstr "" -#: ../../../LangRef.rst:27153 +#: ../../../LangRef.rst:27591 msgid "'``llvm.masked.expandload.*``' Intrinsics" msgstr "" -#: ../../../LangRef.rst:27157 +#: ../../../LangRef.rst:27595 msgid "" "This is an overloaded intrinsic. Several values of integer, floating point " "or pointer data type are loaded from consecutive memory addresses and stored " "into the elements of a vector according to the mask." msgstr "" -#: ../../../LangRef.rst:27167 +#: ../../../LangRef.rst:27605 msgid "" "Reads a number of scalar values sequentially from memory location provided " "in '``ptr``' and spreads them in a vector. The '``mask``' holds a bit for " @@ -27070,7 +27530,7 @@ msgid "" "corresponding lanes of the '``passthru``' argument." msgstr "" -#: ../../../LangRef.rst:27173 +#: ../../../LangRef.rst:27611 msgid "" "The first argument is the base pointer for the load. It has the same " "underlying type as the element of the returned vector. The second argument, " @@ -27080,13 +27540,13 @@ msgid "" "'``passthru``' argument have the same vector type." msgstr "" -#: ../../../LangRef.rst:27175 +#: ../../../LangRef.rst:27613 msgid "" "The :ref:`align ` parameter attribute can be provided for the " "first argument. The pointer alignment defaults to 1." msgstr "" -#: ../../../LangRef.rst:27181 +#: ../../../LangRef.rst:27619 msgid "" "The '``llvm.masked.expandload``' intrinsic is designed for reading multiple " "scalar values from adjacent memory addresses into possibly non-adjacent " @@ -27095,7 +27555,7 @@ msgid "" "following example:" msgstr "" -#: ../../../LangRef.rst:27208 +#: ../../../LangRef.rst:27646 msgid "" "Other targets may support this intrinsic differently, for example, by " "lowering it into a sequence of conditional scalar load operations and " @@ -27103,11 +27563,11 @@ msgid "" "to the regular unmasked vector load." msgstr "" -#: ../../../LangRef.rst:27214 +#: ../../../LangRef.rst:27652 msgid "'``llvm.masked.compressstore.*``' Intrinsics" msgstr "" -#: ../../../LangRef.rst:27218 +#: ../../../LangRef.rst:27656 msgid "" "This is an overloaded intrinsic. A number of scalar values of integer, " "floating point or pointer data type are collected from an input vector and " @@ -27115,7 +27575,7 @@ msgid "" "collect from the vector." msgstr "" -#: ../../../LangRef.rst:27228 +#: ../../../LangRef.rst:27666 msgid "" "Selects elements from input vector '``value``' according to the '``mask``'. " "All selected elements are written into adjacent memory addresses starting at " @@ -27124,7 +27584,7 @@ msgid "" "be stored is equal to the number of active bits in the mask." msgstr "" -#: ../../../LangRef.rst:27233 +#: ../../../LangRef.rst:27671 msgid "" "The first argument is the input vector, from which elements are collected " "and written to memory. The second argument is the base pointer for the " @@ -27133,13 +27593,13 @@ msgid "" "mask and the input vector must have the same number of vector elements." msgstr "" -#: ../../../LangRef.rst:27235 +#: ../../../LangRef.rst:27673 msgid "" "The :ref:`align ` parameter attribute can be provided for the " "second argument. The pointer alignment defaults to 1." msgstr "" -#: ../../../LangRef.rst:27241 +#: ../../../LangRef.rst:27679 msgid "" "The '``llvm.masked.compressstore``' intrinsic is designed for compressing " "data in memory. It allows to collect elements from possibly non-adjacent " @@ -27149,43 +27609,43 @@ msgid "" "following example:" msgstr "" -#: ../../../LangRef.rst:27267 +#: ../../../LangRef.rst:27705 msgid "" "Other targets may support this intrinsic differently, for example, by " "lowering it into a sequence of branches that guard scalar store operations." msgstr "" -#: ../../../LangRef.rst:27271 +#: ../../../LangRef.rst:27709 msgid "Memory Use Markers" msgstr "" -#: ../../../LangRef.rst:27273 +#: ../../../LangRef.rst:27711 msgid "" "This class of intrinsics provides information about the :ref:`lifetime of " "allocated objects ` and ranges where variables are immutable." msgstr "" -#: ../../../LangRef.rst:27280 +#: ../../../LangRef.rst:27718 msgid "'``llvm.lifetime.start``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:27292 +#: ../../../LangRef.rst:27730 msgid "" "The '``llvm.lifetime.start``' intrinsic specifies the start of a memory " "object's lifetime." msgstr "" -#: ../../../LangRef.rst:27298 ../../../LangRef.rst:27339 +#: ../../../LangRef.rst:27736 ../../../LangRef.rst:27777 msgid "" "The argument is either a pointer to an ``alloca`` instruction or a " "``poison`` value." msgstr "" -#: ../../../LangRef.rst:27304 ../../../LangRef.rst:27345 +#: ../../../LangRef.rst:27742 ../../../LangRef.rst:27783 msgid "If ``ptr`` is a ``poison`` value, the intrinsic has no effect." msgstr "" -#: ../../../LangRef.rst:27306 +#: ../../../LangRef.rst:27744 msgid "" "Otherwise, the stack-allocated object that ``ptr`` points to is initially " "marked as dead. After '``llvm.lifetime.start``', the stack object is marked " @@ -27194,7 +27654,7 @@ msgid "" "or the function returns." msgstr "" -#: ../../../LangRef.rst:27313 +#: ../../../LangRef.rst:27751 msgid "" "After :ref:`llvm.lifetime.end ` is called, '``llvm.lifetime." "start``' on the stack object can be called again. The second '``llvm." @@ -27202,66 +27662,66 @@ msgid "" "address of the object." msgstr "" -#: ../../../LangRef.rst:27321 +#: ../../../LangRef.rst:27759 msgid "'``llvm.lifetime.end``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:27333 +#: ../../../LangRef.rst:27771 msgid "" "The '``llvm.lifetime.end``' intrinsic specifies the end of a :ref:`allocated " "object's lifetime`." msgstr "" -#: ../../../LangRef.rst:27347 +#: ../../../LangRef.rst:27785 msgid "" "Otherwise, the stack-allocated object that ``ptr`` points to becomes dead " "after the call to this intrinsic." msgstr "" -#: ../../../LangRef.rst:27350 +#: ../../../LangRef.rst:27788 msgid "Calling ``llvm.lifetime.end`` on an already dead alloca is no-op." msgstr "" -#: ../../../LangRef.rst:27353 +#: ../../../LangRef.rst:27791 msgid "'``llvm.invariant.start``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:27357 ../../../LangRef.rst:27389 +#: ../../../LangRef.rst:27795 ../../../LangRef.rst:27827 msgid "" "This is an overloaded intrinsic. The :ref:`allocated " "object` can belong to any address space." msgstr "" -#: ../../../LangRef.rst:27367 +#: ../../../LangRef.rst:27805 msgid "" "The '``llvm.invariant.start``' intrinsic specifies that the contents of an :" "ref:`allocated object` will not change." msgstr "" -#: ../../../LangRef.rst:27373 +#: ../../../LangRef.rst:27811 msgid "" "The first argument is a constant integer representing the size of the " "object, or -1 if it is variable sized. The second argument is a pointer to " "the object." msgstr "" -#: ../../../LangRef.rst:27380 +#: ../../../LangRef.rst:27818 msgid "" "This intrinsic indicates that until an ``llvm.invariant.end`` that uses the " "return value, the referenced memory location is constant and unchanging." msgstr "" -#: ../../../LangRef.rst:27385 +#: ../../../LangRef.rst:27823 msgid "'``llvm.invariant.end``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:27399 +#: ../../../LangRef.rst:27837 msgid "" "The '``llvm.invariant.end``' intrinsic specifies that the contents of an :" "ref:`allocated object` are mutable." msgstr "" -#: ../../../LangRef.rst:27405 +#: ../../../LangRef.rst:27843 msgid "" "The first argument is the matching ``llvm.invariant.start`` intrinsic. The " "second argument is a constant integer representing the size of the object, " @@ -27269,22 +27729,22 @@ msgid "" "object." msgstr "" -#: ../../../LangRef.rst:27413 +#: ../../../LangRef.rst:27851 msgid "This intrinsic indicates that the memory is mutable again." msgstr "" -#: ../../../LangRef.rst:27416 +#: ../../../LangRef.rst:27854 msgid "'``llvm.launder.invariant.group``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:27420 ../../../LangRef.rst:27456 +#: ../../../LangRef.rst:27858 ../../../LangRef.rst:27894 msgid "" "This is an overloaded intrinsic. The :ref:`allocated " "object` can belong to any address space. The returned " "pointer must belong to the same address space as the argument." msgstr "" -#: ../../../LangRef.rst:27431 +#: ../../../LangRef.rst:27869 msgid "" "The '``llvm.launder.invariant.group``' intrinsic can be used when an " "invariant established by ``invariant.group`` metadata no longer holds, to " @@ -27293,13 +27753,13 @@ msgid "" "in the future." msgstr "" -#: ../../../LangRef.rst:27441 +#: ../../../LangRef.rst:27879 msgid "" "The ``llvm.launder.invariant.group`` takes only one argument, which is a " "pointer to the memory." msgstr "" -#: ../../../LangRef.rst:27447 +#: ../../../LangRef.rst:27885 msgid "" "Returns another pointer that aliases its argument but which is considered " "different for the purposes of ``load``/``store`` ``invariant.group`` " @@ -27307,11 +27767,11 @@ msgid "" "speculated." msgstr "" -#: ../../../LangRef.rst:27452 +#: ../../../LangRef.rst:27890 msgid "'``llvm.strip.invariant.group``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:27467 +#: ../../../LangRef.rst:27905 msgid "" "The '``llvm.strip.invariant.group``' intrinsic can be used when an invariant " "established by ``invariant.group`` metadata no longer holds, to obtain a new " @@ -27320,24 +27780,24 @@ msgid "" "future." msgstr "" -#: ../../../LangRef.rst:27476 +#: ../../../LangRef.rst:27914 msgid "" "The ``llvm.strip.invariant.group`` takes only one argument, which is a " "pointer to the memory." msgstr "" -#: ../../../LangRef.rst:27482 +#: ../../../LangRef.rst:27920 msgid "" "Returns another pointer that aliases its argument but which has no " "associated ``invariant.group`` metadata. It does not read any memory and can " "be speculated." msgstr "" -#: ../../../LangRef.rst:27491 +#: ../../../LangRef.rst:27929 msgid "Constrained Floating-Point Intrinsics" msgstr "" -#: ../../../LangRef.rst:27493 +#: ../../../LangRef.rst:27931 msgid "" "These intrinsics are used to provide special handling of floating-point " "operations when specific rounding mode or floating-point exception behavior " @@ -27349,7 +27809,7 @@ msgid "" "used." msgstr "" -#: ../../../LangRef.rst:27501 +#: ../../../LangRef.rst:27939 msgid "" "If any FP operation in a function is constrained then they all must be " "constrained. This is required for correct LLVM IR. Optimizations that move " @@ -27359,14 +27819,14 @@ msgid "" "mark constrained intrinsics as having LLVM's default behavior." msgstr "" -#: ../../../LangRef.rst:27508 +#: ../../../LangRef.rst:27946 msgid "" "Each of these intrinsics corresponds to a normal floating-point operation. " "The data arguments and the return value are the same as the corresponding FP " "operation." msgstr "" -#: ../../../LangRef.rst:27512 +#: ../../../LangRef.rst:27950 msgid "" "The rounding mode argument is a metadata string specifying what assumptions, " "if any, the optimizer can make when transforming constant values. Some " @@ -27374,14 +27834,14 @@ msgid "" "this argument must be one of the following strings:" msgstr "" -#: ../../../LangRef.rst:27526 +#: ../../../LangRef.rst:27964 msgid "" "If this argument is \"round.dynamic\" optimization passes must assume that " "the rounding mode is unknown and may change at runtime. No transformations " "that depend on rounding mode may be performed in this case." msgstr "" -#: ../../../LangRef.rst:27530 +#: ../../../LangRef.rst:27968 msgid "" "The other possible values for the rounding mode argument correspond to the " "similarly named IEEE rounding modes. If the argument is any of these values " @@ -27389,7 +27849,7 @@ msgid "" "consistent with the specified rounding mode." msgstr "" -#: ../../../LangRef.rst:27535 +#: ../../../LangRef.rst:27973 msgid "" "For example, 'x-0'->'x' is not a valid transformation if the rounding mode " "is \"round.downward\" or \"round.dynamic\" because if the value of 'x' is +0 " @@ -27397,7 +27857,7 @@ msgid "" "transformation is legal for all other rounding modes." msgstr "" -#: ../../../LangRef.rst:27540 +#: ../../../LangRef.rst:27978 msgid "" "For values other than \"round.dynamic\" optimization passes may assume that " "the actual runtime rounding mode (as defined in a target-specific manner) " @@ -27406,14 +27866,14 @@ msgid "" "mode at runtime results in undefined behavior." msgstr "" -#: ../../../LangRef.rst:27546 +#: ../../../LangRef.rst:27984 msgid "" "The exception behavior argument is a metadata string describing the floating " "point exception semantics that required for the intrinsic. This argument " "must be one of the following strings:" msgstr "" -#: ../../../LangRef.rst:27556 +#: ../../../LangRef.rst:27994 msgid "" "If this argument is \"fpexcept.ignore\" optimization passes may assume that " "the exception status flags will not be read and that floating-point " @@ -27423,7 +27883,7 @@ msgid "" "be for either of the other possible values of this argument." msgstr "" -#: ../../../LangRef.rst:27563 +#: ../../../LangRef.rst:28001 msgid "" "If the exception behavior argument is \"fpexcept.maytrap\" optimization " "passes must avoid transformations that may raise exceptions that would not " @@ -27433,7 +27893,7 @@ msgid "" "hidden by constant folding." msgstr "" -#: ../../../LangRef.rst:27570 +#: ../../../LangRef.rst:28008 msgid "" "If the exception behavior argument is \"fpexcept.strict\" all " "transformations must strictly preserve the floating-point exception " @@ -27445,7 +27905,7 @@ msgid "" "but this mode can also be used with code that unmasks FP exceptions." msgstr "" -#: ../../../LangRef.rst:27579 +#: ../../../LangRef.rst:28017 msgid "" "The number and order of floating-point exceptions is NOT guaranteed. For " "example, a series of FP operations that each may raise exceptions may be " @@ -27453,36 +27913,36 @@ msgid "" "single time." msgstr "" -#: ../../../LangRef.rst:27584 +#: ../../../LangRef.rst:28022 msgid "" "Proper :ref:`function attributes ` usage is required for the " "constrained intrinsics to function correctly." msgstr "" -#: ../../../LangRef.rst:27587 +#: ../../../LangRef.rst:28025 msgid "" "All function *calls* done in a function that uses constrained floating point " "intrinsics must have the ``strictfp`` attribute either on the calling " "instruction or on the declaration or definition of the function being called." msgstr "" -#: ../../../LangRef.rst:27592 +#: ../../../LangRef.rst:28030 msgid "" "All function *definitions* that use constrained floating point intrinsics " "must have the ``strictfp`` attribute." msgstr "" -#: ../../../LangRef.rst:27596 +#: ../../../LangRef.rst:28034 msgid "'``llvm.experimental.constrained.fadd``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:27611 +#: ../../../LangRef.rst:28049 msgid "" "The '``llvm.experimental.constrained.fadd``' intrinsic returns the sum of " "its two arguments." msgstr "" -#: ../../../LangRef.rst:27618 +#: ../../../LangRef.rst:28056 msgid "" "The first two arguments to the '``llvm.experimental.constrained.fadd``' " "intrinsic must be :ref:`floating-point ` or :ref:`vector " @@ -27490,32 +27950,32 @@ msgid "" "types." msgstr "" -#: ../../../LangRef.rst:27622 ../../../LangRef.rst:27659 -#: ../../../LangRef.rst:27696 ../../../LangRef.rst:27733 -#: ../../../LangRef.rst:28282 ../../../LangRef.rst:28322 -#: ../../../LangRef.rst:28360 ../../../LangRef.rst:28613 +#: ../../../LangRef.rst:28060 ../../../LangRef.rst:28097 +#: ../../../LangRef.rst:28134 ../../../LangRef.rst:28171 +#: ../../../LangRef.rst:28720 ../../../LangRef.rst:28760 +#: ../../../LangRef.rst:28798 ../../../LangRef.rst:29051 msgid "" "The third and fourth arguments specify the rounding mode and exception " "behavior as described above." msgstr "" -#: ../../../LangRef.rst:27628 +#: ../../../LangRef.rst:28066 msgid "" "The value produced is the floating-point sum of the two value arguments and " "has the same type as the arguments." msgstr "" -#: ../../../LangRef.rst:27633 +#: ../../../LangRef.rst:28071 msgid "'``llvm.experimental.constrained.fsub``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:27648 +#: ../../../LangRef.rst:28086 msgid "" "The '``llvm.experimental.constrained.fsub``' intrinsic returns the " "difference of its two arguments." msgstr "" -#: ../../../LangRef.rst:27655 +#: ../../../LangRef.rst:28093 msgid "" "The first two arguments to the '``llvm.experimental.constrained.fsub``' " "intrinsic must be :ref:`floating-point ` or :ref:`vector " @@ -27523,23 +27983,23 @@ msgid "" "types." msgstr "" -#: ../../../LangRef.rst:27665 +#: ../../../LangRef.rst:28103 msgid "" "The value produced is the floating-point difference of the two value " "arguments and has the same type as the arguments." msgstr "" -#: ../../../LangRef.rst:27670 +#: ../../../LangRef.rst:28108 msgid "'``llvm.experimental.constrained.fmul``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:27685 +#: ../../../LangRef.rst:28123 msgid "" "The '``llvm.experimental.constrained.fmul``' intrinsic returns the product " "of its two arguments." msgstr "" -#: ../../../LangRef.rst:27692 +#: ../../../LangRef.rst:28130 msgid "" "The first two arguments to the '``llvm.experimental.constrained.fmul``' " "intrinsic must be :ref:`floating-point ` or :ref:`vector " @@ -27547,23 +28007,23 @@ msgid "" "types." msgstr "" -#: ../../../LangRef.rst:27702 +#: ../../../LangRef.rst:28140 msgid "" "The value produced is the floating-point product of the two value arguments " "and has the same type as the arguments." msgstr "" -#: ../../../LangRef.rst:27707 +#: ../../../LangRef.rst:28145 msgid "'``llvm.experimental.constrained.fdiv``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:27722 +#: ../../../LangRef.rst:28160 msgid "" "The '``llvm.experimental.constrained.fdiv``' intrinsic returns the quotient " "of its two arguments." msgstr "" -#: ../../../LangRef.rst:27729 +#: ../../../LangRef.rst:28167 msgid "" "The first two arguments to the '``llvm.experimental.constrained.fdiv``' " "intrinsic must be :ref:`floating-point ` or :ref:`vector " @@ -27571,23 +28031,23 @@ msgid "" "types." msgstr "" -#: ../../../LangRef.rst:27739 +#: ../../../LangRef.rst:28177 msgid "" "The value produced is the floating-point quotient of the two value arguments " "and has the same type as the arguments." msgstr "" -#: ../../../LangRef.rst:27744 +#: ../../../LangRef.rst:28182 msgid "'``llvm.experimental.constrained.frem``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:27759 +#: ../../../LangRef.rst:28197 msgid "" "The '``llvm.experimental.constrained.frem``' intrinsic returns the remainder " "from the division of its two arguments." msgstr "" -#: ../../../LangRef.rst:27766 +#: ../../../LangRef.rst:28204 msgid "" "The first two arguments to the '``llvm.experimental.constrained.frem``' " "intrinsic must be :ref:`floating-point ` or :ref:`vector " @@ -27595,7 +28055,7 @@ msgid "" "types." msgstr "" -#: ../../../LangRef.rst:27770 +#: ../../../LangRef.rst:28208 msgid "" "The third and fourth arguments specify the rounding mode and exception " "behavior as described above. The rounding mode argument has no effect, " @@ -27603,24 +28063,24 @@ msgid "" "consistency with the other constrained floating-point intrinsics." msgstr "" -#: ../../../LangRef.rst:27778 +#: ../../../LangRef.rst:28216 msgid "" "The value produced is the floating-point remainder from the division of the " "two value arguments and has the same type as the arguments. The remainder " "has the same sign as the dividend." msgstr "" -#: ../../../LangRef.rst:27783 +#: ../../../LangRef.rst:28221 msgid "'``llvm.experimental.constrained.fma``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:27798 +#: ../../../LangRef.rst:28236 msgid "" "The '``llvm.experimental.constrained.fma``' intrinsic returns the result of " "a fused-multiply-add operation on its arguments." msgstr "" -#: ../../../LangRef.rst:27804 +#: ../../../LangRef.rst:28242 msgid "" "The first three arguments to the '``llvm.experimental.constrained.fma``' " "intrinsic must be :ref:`floating-point ` or :ref:`vector " @@ -27628,142 +28088,142 @@ msgid "" "types." msgstr "" -#: ../../../LangRef.rst:27808 ../../../LangRef.rst:28172 +#: ../../../LangRef.rst:28246 ../../../LangRef.rst:28610 msgid "" "The fourth and fifth arguments specify the rounding mode and exception " "behavior as described above." msgstr "" -#: ../../../LangRef.rst:27814 +#: ../../../LangRef.rst:28252 msgid "" "The result produced is the product of the first two arguments added to the " "third argument computed with infinite precision, and then rounded to the " "target precision." msgstr "" -#: ../../../LangRef.rst:27819 +#: ../../../LangRef.rst:28257 msgid "'``llvm.experimental.constrained.fptoui``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:27833 +#: ../../../LangRef.rst:28271 msgid "" "The '``llvm.experimental.constrained.fptoui``' intrinsic converts a floating-" "point ``value`` to its unsigned integer equivalent of type ``ty2``." msgstr "" -#: ../../../LangRef.rst:27839 +#: ../../../LangRef.rst:28277 msgid "" "The first argument to the '``llvm.experimental.constrained.fptoui``' " "intrinsic must be :ref:`floating point ` or :ref:`vector " "` of floating point values." msgstr "" -#: ../../../LangRef.rst:27843 ../../../LangRef.rst:27876 -#: ../../../LangRef.rst:28018 ../../../LangRef.rst:29234 -#: ../../../LangRef.rst:29267 ../../../LangRef.rst:29300 -#: ../../../LangRef.rst:29335 ../../../LangRef.rst:29375 -#: ../../../LangRef.rst:29414 ../../../LangRef.rst:29448 +#: ../../../LangRef.rst:28281 ../../../LangRef.rst:28314 +#: ../../../LangRef.rst:28456 ../../../LangRef.rst:29672 +#: ../../../LangRef.rst:29705 ../../../LangRef.rst:29738 +#: ../../../LangRef.rst:29773 ../../../LangRef.rst:29813 +#: ../../../LangRef.rst:29852 ../../../LangRef.rst:29886 msgid "" "The second argument specifies the exception behavior as described above." msgstr "" -#: ../../../LangRef.rst:27848 +#: ../../../LangRef.rst:28286 msgid "" "The result produced is an unsigned integer converted from the floating point " "argument. The value is truncated, so it is rounded towards zero." msgstr "" -#: ../../../LangRef.rst:27852 +#: ../../../LangRef.rst:28290 msgid "'``llvm.experimental.constrained.fptosi``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:27866 +#: ../../../LangRef.rst:28304 msgid "" "The '``llvm.experimental.constrained.fptosi``' intrinsic converts :ref:" "`floating-point ` ``value`` to type ``ty2``." msgstr "" -#: ../../../LangRef.rst:27872 +#: ../../../LangRef.rst:28310 msgid "" "The first argument to the '``llvm.experimental.constrained.fptosi``' " "intrinsic must be :ref:`floating point ` or :ref:`vector " "` of floating point values." msgstr "" -#: ../../../LangRef.rst:27881 +#: ../../../LangRef.rst:28319 msgid "" "The result produced is a signed integer converted from the floating point " "argument. The value is truncated, so it is rounded towards zero." msgstr "" -#: ../../../LangRef.rst:27885 +#: ../../../LangRef.rst:28323 msgid "'``llvm.experimental.constrained.uitofp``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:27900 +#: ../../../LangRef.rst:28338 msgid "" "The '``llvm.experimental.constrained.uitofp``' intrinsic converts an " "unsigned integer ``value`` to a floating-point of type ``ty2``." msgstr "" -#: ../../../LangRef.rst:27906 +#: ../../../LangRef.rst:28344 msgid "" "The first argument to the '``llvm.experimental.constrained.uitofp``' " "intrinsic must be an :ref:`integer ` or :ref:`vector ` " "of integer values." msgstr "" -#: ../../../LangRef.rst:27910 ../../../LangRef.rst:27946 -#: ../../../LangRef.rst:27983 ../../../LangRef.rst:28245 -#: ../../../LangRef.rst:28398 ../../../LangRef.rst:28434 -#: ../../../LangRef.rst:28470 ../../../LangRef.rst:28505 -#: ../../../LangRef.rst:28541 ../../../LangRef.rst:28577 -#: ../../../LangRef.rst:28648 ../../../LangRef.rst:28684 -#: ../../../LangRef.rst:28720 ../../../LangRef.rst:28755 -#: ../../../LangRef.rst:28791 ../../../LangRef.rst:28826 -#: ../../../LangRef.rst:28862 ../../../LangRef.rst:28897 -#: ../../../LangRef.rst:28933 ../../../LangRef.rst:28976 -#: ../../../LangRef.rst:29024 ../../../LangRef.rst:29069 +#: ../../../LangRef.rst:28348 ../../../LangRef.rst:28384 +#: ../../../LangRef.rst:28421 ../../../LangRef.rst:28683 +#: ../../../LangRef.rst:28836 ../../../LangRef.rst:28872 +#: ../../../LangRef.rst:28908 ../../../LangRef.rst:28943 +#: ../../../LangRef.rst:28979 ../../../LangRef.rst:29015 +#: ../../../LangRef.rst:29086 ../../../LangRef.rst:29122 +#: ../../../LangRef.rst:29158 ../../../LangRef.rst:29193 +#: ../../../LangRef.rst:29229 ../../../LangRef.rst:29264 +#: ../../../LangRef.rst:29300 ../../../LangRef.rst:29335 +#: ../../../LangRef.rst:29371 ../../../LangRef.rst:29414 +#: ../../../LangRef.rst:29462 ../../../LangRef.rst:29507 msgid "" "The second and third arguments specify the rounding mode and exception " "behavior as described above." msgstr "" -#: ../../../LangRef.rst:27916 ../../../LangRef.rst:27952 +#: ../../../LangRef.rst:28354 ../../../LangRef.rst:28390 msgid "" "An inexact floating-point exception will be raised if rounding is required. " "Any result produced is a floating point value converted from the input " "integer argument." msgstr "" -#: ../../../LangRef.rst:27921 +#: ../../../LangRef.rst:28359 msgid "'``llvm.experimental.constrained.sitofp``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:27936 +#: ../../../LangRef.rst:28374 msgid "" "The '``llvm.experimental.constrained.sitofp``' intrinsic converts a signed " "integer ``value`` to a floating-point of type ``ty2``." msgstr "" -#: ../../../LangRef.rst:27942 +#: ../../../LangRef.rst:28380 msgid "" "The first argument to the '``llvm.experimental.constrained.sitofp``' " "intrinsic must be an :ref:`integer ` or :ref:`vector ` " "of integer values." msgstr "" -#: ../../../LangRef.rst:27957 +#: ../../../LangRef.rst:28395 msgid "'``llvm.experimental.constrained.fptrunc``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:27972 +#: ../../../LangRef.rst:28410 msgid "" "The '``llvm.experimental.constrained.fptrunc``' intrinsic truncates " "``value`` to type ``ty2``." msgstr "" -#: ../../../LangRef.rst:27978 +#: ../../../LangRef.rst:28416 msgid "" "The first argument to the '``llvm.experimental.constrained.fptrunc``' " "intrinsic must be :ref:`floating point ` or :ref:`vector " @@ -27771,23 +28231,23 @@ msgid "" "than the result." msgstr "" -#: ../../../LangRef.rst:27989 +#: ../../../LangRef.rst:28427 msgid "" "The result produced is a floating point value truncated to be smaller in " "size than the argument." msgstr "" -#: ../../../LangRef.rst:27993 +#: ../../../LangRef.rst:28431 msgid "'``llvm.experimental.constrained.fpext``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:28007 +#: ../../../LangRef.rst:28445 msgid "" "The '``llvm.experimental.constrained.fpext``' intrinsic extends a floating-" "point ``value`` to a larger floating-point value." msgstr "" -#: ../../../LangRef.rst:28013 +#: ../../../LangRef.rst:28451 msgid "" "The first argument to the '``llvm.experimental.constrained.fpext``' " "intrinsic must be :ref:`floating point ` or :ref:`vector " @@ -27795,47 +28255,47 @@ msgid "" "than the result." msgstr "" -#: ../../../LangRef.rst:28023 +#: ../../../LangRef.rst:28461 msgid "" "The result produced is a floating point value extended to be larger in size " "than the argument. All restrictions that apply to the fpext instruction also " "apply to this intrinsic." msgstr "" -#: ../../../LangRef.rst:28028 +#: ../../../LangRef.rst:28466 msgid "" "'``llvm.experimental.constrained.fcmp``' and '``llvm.experimental." "constrained.fcmps``' Intrinsics" msgstr "" -#: ../../../LangRef.rst:28047 +#: ../../../LangRef.rst:28485 msgid "" "The '``llvm.experimental.constrained.fcmp``' and '``llvm.experimental." "constrained.fcmps``' intrinsics return a boolean value or vector of boolean " "values based on comparison of its arguments." msgstr "" -#: ../../../LangRef.rst:28051 +#: ../../../LangRef.rst:28489 msgid "" "If the arguments are floating-point scalars, then the result type is a " "boolean (:ref:`i1 `)." msgstr "" -#: ../../../LangRef.rst:28054 +#: ../../../LangRef.rst:28492 msgid "" "If the arguments are floating-point vectors, then the result type is a " "vector of boolean with the same number of elements as the arguments being " "compared." msgstr "" -#: ../../../LangRef.rst:28058 +#: ../../../LangRef.rst:28496 msgid "" "The '``llvm.experimental.constrained.fcmp``' intrinsic performs a quiet " "comparison operation while the '``llvm.experimental.constrained.fcmps``' " "intrinsic performs a signaling comparison operation." msgstr "" -#: ../../../LangRef.rst:28065 +#: ../../../LangRef.rst:28503 msgid "" "The first two arguments to the '``llvm.experimental.constrained.fcmp``' and " "'``llvm.experimental.constrained.fcmps``' intrinsics must be :ref:`floating-" @@ -27843,80 +28303,80 @@ msgid "" "Both arguments must have identical types." msgstr "" -#: ../../../LangRef.rst:28070 +#: ../../../LangRef.rst:28508 msgid "" "The third argument is the condition code indicating the kind of comparison " "to perform. It must be a metadata string with one of the following values:" msgstr "" -#: ../../../LangRef.rst:28075 +#: ../../../LangRef.rst:28513 msgid "\"``oeq``\": ordered and equal" msgstr "" -#: ../../../LangRef.rst:28076 +#: ../../../LangRef.rst:28514 msgid "\"``ogt``\": ordered and greater than" msgstr "" -#: ../../../LangRef.rst:28077 +#: ../../../LangRef.rst:28515 msgid "\"``oge``\": ordered and greater than or equal" msgstr "" -#: ../../../LangRef.rst:28078 +#: ../../../LangRef.rst:28516 msgid "\"``olt``\": ordered and less than" msgstr "" -#: ../../../LangRef.rst:28079 +#: ../../../LangRef.rst:28517 msgid "\"``ole``\": ordered and less than or equal" msgstr "" -#: ../../../LangRef.rst:28080 +#: ../../../LangRef.rst:28518 msgid "\"``one``\": ordered and not equal" msgstr "" -#: ../../../LangRef.rst:28081 +#: ../../../LangRef.rst:28519 msgid "\"``ord``\": ordered (no nans)" msgstr "" -#: ../../../LangRef.rst:28082 +#: ../../../LangRef.rst:28520 msgid "\"``ueq``\": unordered or equal" msgstr "" -#: ../../../LangRef.rst:28083 +#: ../../../LangRef.rst:28521 msgid "\"``ugt``\": unordered or greater than" msgstr "" -#: ../../../LangRef.rst:28084 +#: ../../../LangRef.rst:28522 msgid "\"``uge``\": unordered or greater than or equal" msgstr "" -#: ../../../LangRef.rst:28085 +#: ../../../LangRef.rst:28523 msgid "\"``ult``\": unordered or less than" msgstr "" -#: ../../../LangRef.rst:28086 +#: ../../../LangRef.rst:28524 msgid "\"``ule``\": unordered or less than or equal" msgstr "" -#: ../../../LangRef.rst:28087 +#: ../../../LangRef.rst:28525 msgid "\"``une``\": unordered or not equal" msgstr "" -#: ../../../LangRef.rst:28088 +#: ../../../LangRef.rst:28526 msgid "\"``uno``\": unordered (either nans)" msgstr "" -#: ../../../LangRef.rst:28090 +#: ../../../LangRef.rst:28528 msgid "" "*Ordered* means that neither argument is a NAN while *unordered* means that " "either argument may be a NAN." msgstr "" -#: ../../../LangRef.rst:28093 +#: ../../../LangRef.rst:28531 msgid "" "The fourth argument specifies the exception behavior as described above." msgstr "" -#: ../../../LangRef.rst:28098 +#: ../../../LangRef.rst:28536 msgid "" "``op1`` and ``op2`` are compared according to the condition code given as " "the third argument. If the arguments are vectors, then the vectors are " @@ -27924,87 +28384,87 @@ msgid "" "`i1 ` result, as follows:" msgstr "" -#: ../../../LangRef.rst:28105 +#: ../../../LangRef.rst:28543 msgid "" "\"``oeq``\": yields ``true`` if both arguments are not a NAN and ``op1`` is " "equal to ``op2``." msgstr "" -#: ../../../LangRef.rst:28107 +#: ../../../LangRef.rst:28545 msgid "" "\"``ogt``\": yields ``true`` if both arguments are not a NAN and ``op1`` is " "greater than ``op2``." msgstr "" -#: ../../../LangRef.rst:28109 +#: ../../../LangRef.rst:28547 msgid "" "\"``oge``\": yields ``true`` if both arguments are not a NAN and ``op1`` is " "greater than or equal to ``op2``." msgstr "" -#: ../../../LangRef.rst:28111 +#: ../../../LangRef.rst:28549 msgid "" "\"``olt``\": yields ``true`` if both arguments are not a NAN and ``op1`` is " "less than ``op2``." msgstr "" -#: ../../../LangRef.rst:28113 +#: ../../../LangRef.rst:28551 msgid "" "\"``ole``\": yields ``true`` if both arguments are not a NAN and ``op1`` is " "less than or equal to ``op2``." msgstr "" -#: ../../../LangRef.rst:28115 +#: ../../../LangRef.rst:28553 msgid "" "\"``one``\": yields ``true`` if both arguments are not a NAN and ``op1`` is " "not equal to ``op2``." msgstr "" -#: ../../../LangRef.rst:28117 +#: ../../../LangRef.rst:28555 msgid "\"``ord``\": yields ``true`` if both arguments are not a NAN." msgstr "" -#: ../../../LangRef.rst:28118 +#: ../../../LangRef.rst:28556 msgid "" "\"``ueq``\": yields ``true`` if either argument is a NAN or ``op1`` is equal " "to ``op2``." msgstr "" -#: ../../../LangRef.rst:28120 +#: ../../../LangRef.rst:28558 msgid "" "\"``ugt``\": yields ``true`` if either argument is a NAN or ``op1`` is " "greater than ``op2``." msgstr "" -#: ../../../LangRef.rst:28122 +#: ../../../LangRef.rst:28560 msgid "" "\"``uge``\": yields ``true`` if either argument is a NAN or ``op1`` is " "greater than or equal to ``op2``." msgstr "" -#: ../../../LangRef.rst:28124 +#: ../../../LangRef.rst:28562 msgid "" "\"``ult``\": yields ``true`` if either argument is a NAN or ``op1`` is less " "than ``op2``." msgstr "" -#: ../../../LangRef.rst:28126 +#: ../../../LangRef.rst:28564 msgid "" "\"``ule``\": yields ``true`` if either argument is a NAN or ``op1`` is less " "than or equal to ``op2``." msgstr "" -#: ../../../LangRef.rst:28128 +#: ../../../LangRef.rst:28566 msgid "" "\"``une``\": yields ``true`` if either argument is a NAN or ``op1`` is not " "equal to ``op2``." msgstr "" -#: ../../../LangRef.rst:28130 +#: ../../../LangRef.rst:28568 msgid "\"``uno``\": yields ``true`` if either argument is a NAN." msgstr "" -#: ../../../LangRef.rst:28132 +#: ../../../LangRef.rst:28570 msgid "" "The quiet comparison operation performed by '``llvm.experimental.constrained." "fcmp``' will only raise an exception if either argument is a SNAN. The " @@ -28016,11 +28476,11 @@ msgid "" "constrained.fcmps``' intrinsic." msgstr "" -#: ../../../LangRef.rst:28143 +#: ../../../LangRef.rst:28581 msgid "'``llvm.experimental.constrained.fmuladd``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:28159 +#: ../../../LangRef.rst:28597 msgid "" "The '``llvm.experimental.constrained.fmuladd``' intrinsic represents " "multiply-add expressions that can be fused if the code generator determines " @@ -28029,18 +28489,18 @@ msgid "" "pair of mul and add instructions." msgstr "" -#: ../../../LangRef.rst:28168 +#: ../../../LangRef.rst:28606 msgid "" "The first three arguments to the '``llvm.experimental.constrained.fmuladd``' " "intrinsic must be floating-point or vector of floating-point values. All " "three arguments must have identical types." msgstr "" -#: ../../../LangRef.rst:28186 +#: ../../../LangRef.rst:28624 msgid "is equivalent to the expression:" msgstr "" -#: ../../../LangRef.rst:28197 +#: ../../../LangRef.rst:28635 msgid "" "except that it is unspecified whether rounding will be performed between the " "multiplication and addition steps. Fusion is not guaranteed, even if the " @@ -28050,11 +28510,11 @@ msgid "" "experimental.constrained.fma.*``'." msgstr "" -#: ../../../LangRef.rst:28206 +#: ../../../LangRef.rst:28644 msgid "Constrained libm-equivalent Intrinsics" msgstr "" -#: ../../../LangRef.rst:28208 +#: ../../../LangRef.rst:28646 msgid "" "In addition to the basic floating-point operations for which constrained " "intrinsics are described above, there are constrained versions of various " @@ -28063,71 +28523,71 @@ msgid "" "with respect to rounding mode and exception behavior to be controlled." msgstr "" -#: ../../../LangRef.rst:28214 +#: ../../../LangRef.rst:28652 msgid "" "As with the basic constrained floating-point intrinsics, the rounding mode " "and exception behavior arguments only control the behavior of the optimizer. " "They do not change the runtime floating-point environment." msgstr "" -#: ../../../LangRef.rst:28220 +#: ../../../LangRef.rst:28658 msgid "'``llvm.experimental.constrained.sqrt``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:28235 +#: ../../../LangRef.rst:28673 msgid "" "The '``llvm.experimental.constrained.sqrt``' intrinsic returns the square " "root of the specified value, returning the same value as the libm '``sqrt``' " "functions would, but without setting ``errno``." msgstr "" -#: ../../../LangRef.rst:28242 ../../../LangRef.rst:28395 -#: ../../../LangRef.rst:28431 ../../../LangRef.rst:28467 -#: ../../../LangRef.rst:28502 ../../../LangRef.rst:28538 -#: ../../../LangRef.rst:28574 ../../../LangRef.rst:28645 -#: ../../../LangRef.rst:28681 ../../../LangRef.rst:28717 +#: ../../../LangRef.rst:28680 ../../../LangRef.rst:28833 +#: ../../../LangRef.rst:28869 ../../../LangRef.rst:28905 +#: ../../../LangRef.rst:28940 ../../../LangRef.rst:28976 +#: ../../../LangRef.rst:29012 ../../../LangRef.rst:29083 +#: ../../../LangRef.rst:29119 ../../../LangRef.rst:29155 msgid "" "The first argument and the return type are floating-point numbers of the " "same type." msgstr "" -#: ../../../LangRef.rst:28251 +#: ../../../LangRef.rst:28689 msgid "" "This function returns the nonnegative square root of the specified value. If " "the value is less than negative zero, a floating-point exception occurs and " "the return value is architecture specific." msgstr "" -#: ../../../LangRef.rst:28257 +#: ../../../LangRef.rst:28695 msgid "'``llvm.experimental.constrained.pow``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:28272 +#: ../../../LangRef.rst:28710 msgid "" "The '``llvm.experimental.constrained.pow``' intrinsic returns the first " "argument raised to the (positive or negative) power specified by the second " "argument." msgstr "" -#: ../../../LangRef.rst:28278 +#: ../../../LangRef.rst:28716 msgid "" "The first two arguments and the return value are floating-point numbers of " "the same type. The second argument specifies the power to which the first " "argument should be raised." msgstr "" -#: ../../../LangRef.rst:28288 +#: ../../../LangRef.rst:28726 msgid "" "This function returns the first value raised to the second power, returning " "the same values as the libm ``pow`` functions would, and handles error " "conditions in the same way." msgstr "" -#: ../../../LangRef.rst:28294 +#: ../../../LangRef.rst:28732 msgid "'``llvm.experimental.constrained.powi``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:28309 +#: ../../../LangRef.rst:28747 msgid "" "The '``llvm.experimental.constrained.powi``' intrinsic returns the first " "argument raised to the (positive or negative) power specified by the second " @@ -28136,303 +28596,303 @@ msgid "" "integer value." msgstr "" -#: ../../../LangRef.rst:28318 +#: ../../../LangRef.rst:28756 msgid "" "The first argument and the return value are floating-point numbers of the " "same type. The second argument is a 32-bit signed integer specifying the " "power to which the first argument should be raised." msgstr "" -#: ../../../LangRef.rst:28333 +#: ../../../LangRef.rst:28771 msgid "'``llvm.experimental.constrained.ldexp``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:28348 +#: ../../../LangRef.rst:28786 msgid "" "The '``llvm.experimental.constrained.ldexp``' performs the ldexp function." msgstr "" -#: ../../../LangRef.rst:28374 +#: ../../../LangRef.rst:28812 msgid "'``llvm.experimental.constrained.sin``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:28389 +#: ../../../LangRef.rst:28827 msgid "" "The '``llvm.experimental.constrained.sin``' intrinsic returns the sine of " "the first argument." msgstr "" -#: ../../../LangRef.rst:28404 +#: ../../../LangRef.rst:28842 msgid "" "This function returns the sine of the specified argument, returning the same " "values as the libm ``sin`` functions would, and handles error conditions in " "the same way." msgstr "" -#: ../../../LangRef.rst:28410 +#: ../../../LangRef.rst:28848 msgid "'``llvm.experimental.constrained.cos``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:28425 +#: ../../../LangRef.rst:28863 msgid "" "The '``llvm.experimental.constrained.cos``' intrinsic returns the cosine of " "the first argument." msgstr "" -#: ../../../LangRef.rst:28440 +#: ../../../LangRef.rst:28878 msgid "" "This function returns the cosine of the specified argument, returning the " "same values as the libm ``cos`` functions would, and handles error " "conditions in the same way." msgstr "" -#: ../../../LangRef.rst:28446 +#: ../../../LangRef.rst:28884 msgid "'``llvm.experimental.constrained.tan``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:28461 +#: ../../../LangRef.rst:28899 msgid "" "The '``llvm.experimental.constrained.tan``' intrinsic returns the tangent of " "the first argument." msgstr "" -#: ../../../LangRef.rst:28476 +#: ../../../LangRef.rst:28914 msgid "" "This function returns the tangent of the specified argument, returning the " "same values as the libm ``tan`` functions would, and handles error " "conditions in the same way." msgstr "" -#: ../../../LangRef.rst:28481 +#: ../../../LangRef.rst:28919 msgid "'``llvm.experimental.constrained.asin``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:28496 +#: ../../../LangRef.rst:28934 msgid "" "The '``llvm.experimental.constrained.asin``' intrinsic returns the arcsine " "of the first operand." msgstr "" -#: ../../../LangRef.rst:28511 +#: ../../../LangRef.rst:28949 msgid "" "This function returns the arcsine of the specified operand, returning the " "same values as the libm ``asin`` functions would, and handles error " "conditions in the same way." msgstr "" -#: ../../../LangRef.rst:28517 +#: ../../../LangRef.rst:28955 msgid "'``llvm.experimental.constrained.acos``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:28532 +#: ../../../LangRef.rst:28970 msgid "" "The '``llvm.experimental.constrained.acos``' intrinsic returns the arccosine " "of the first operand." msgstr "" -#: ../../../LangRef.rst:28547 +#: ../../../LangRef.rst:28985 msgid "" "This function returns the arccosine of the specified operand, returning the " "same values as the libm ``acos`` functions would, and handles error " "conditions in the same way." msgstr "" -#: ../../../LangRef.rst:28553 +#: ../../../LangRef.rst:28991 msgid "'``llvm.experimental.constrained.atan``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:28568 +#: ../../../LangRef.rst:29006 msgid "" "The '``llvm.experimental.constrained.atan``' intrinsic returns the " "arctangent of the first operand." msgstr "" -#: ../../../LangRef.rst:28583 +#: ../../../LangRef.rst:29021 msgid "" "This function returns the arctangent of the specified operand, returning the " "same values as the libm ``atan`` functions would, and handles error " "conditions in the same way." msgstr "" -#: ../../../LangRef.rst:28588 +#: ../../../LangRef.rst:29026 msgid "'``llvm.experimental.constrained.atan2``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:28604 +#: ../../../LangRef.rst:29042 msgid "" "The '``llvm.experimental.constrained.atan2``' intrinsic returns the " "arctangent of ```` divided by ```` accounting for the quadrant." msgstr "" -#: ../../../LangRef.rst:28610 ../../../LangRef.rst:29103 -#: ../../../LangRef.rst:29135 ../../../LangRef.rst:29167 -#: ../../../LangRef.rst:29199 +#: ../../../LangRef.rst:29048 ../../../LangRef.rst:29541 +#: ../../../LangRef.rst:29573 ../../../LangRef.rst:29605 +#: ../../../LangRef.rst:29637 msgid "" "The first two arguments and the return value are floating-point numbers of " "the same type." msgstr "" -#: ../../../LangRef.rst:28619 +#: ../../../LangRef.rst:29057 msgid "" "This function returns the quadrant-specific arctangent using the specified " "operands, returning the same values as the libm ``atan2`` functions would, " "and handles error conditions in the same way." msgstr "" -#: ../../../LangRef.rst:28624 +#: ../../../LangRef.rst:29062 msgid "'``llvm.experimental.constrained.sinh``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:28639 +#: ../../../LangRef.rst:29077 msgid "" "The '``llvm.experimental.constrained.sinh``' intrinsic returns the " "hyperbolic sine of the first operand." msgstr "" -#: ../../../LangRef.rst:28654 +#: ../../../LangRef.rst:29092 msgid "" "This function returns the hyperbolic sine of the specified operand, " "returning the same values as the libm ``sinh`` functions would, and handles " "error conditions in the same way." msgstr "" -#: ../../../LangRef.rst:28660 +#: ../../../LangRef.rst:29098 msgid "'``llvm.experimental.constrained.cosh``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:28675 +#: ../../../LangRef.rst:29113 msgid "" "The '``llvm.experimental.constrained.cosh``' intrinsic returns the " "hyperbolic cosine of the first operand." msgstr "" -#: ../../../LangRef.rst:28690 +#: ../../../LangRef.rst:29128 msgid "" "This function returns the hyperbolic cosine of the specified operand, " "returning the same values as the libm ``cosh`` functions would, and handles " "error conditions in the same way." msgstr "" -#: ../../../LangRef.rst:28696 +#: ../../../LangRef.rst:29134 msgid "'``llvm.experimental.constrained.tanh``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:28711 +#: ../../../LangRef.rst:29149 msgid "" "The '``llvm.experimental.constrained.tanh``' intrinsic returns the " "hyperbolic tangent of the first operand." msgstr "" -#: ../../../LangRef.rst:28726 +#: ../../../LangRef.rst:29164 msgid "" "This function returns the hyperbolic tangent of the specified operand, " "returning the same values as the libm ``tanh`` functions would, and handles " "error conditions in the same way." msgstr "" -#: ../../../LangRef.rst:28731 +#: ../../../LangRef.rst:29169 msgid "'``llvm.experimental.constrained.exp``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:28746 +#: ../../../LangRef.rst:29184 msgid "" "The '``llvm.experimental.constrained.exp``' intrinsic computes the base-e " "exponential of the specified value." msgstr "" -#: ../../../LangRef.rst:28752 ../../../LangRef.rst:28788 -#: ../../../LangRef.rst:28823 ../../../LangRef.rst:28859 -#: ../../../LangRef.rst:28894 ../../../LangRef.rst:28930 -#: ../../../LangRef.rst:29066 ../../../LangRef.rst:29231 -#: ../../../LangRef.rst:29264 ../../../LangRef.rst:29297 -#: ../../../LangRef.rst:29332 ../../../LangRef.rst:29445 +#: ../../../LangRef.rst:29190 ../../../LangRef.rst:29226 +#: ../../../LangRef.rst:29261 ../../../LangRef.rst:29297 +#: ../../../LangRef.rst:29332 ../../../LangRef.rst:29368 +#: ../../../LangRef.rst:29504 ../../../LangRef.rst:29669 +#: ../../../LangRef.rst:29702 ../../../LangRef.rst:29735 +#: ../../../LangRef.rst:29770 ../../../LangRef.rst:29883 msgid "" "The first argument and the return value are floating-point numbers of the " "same type." msgstr "" -#: ../../../LangRef.rst:28761 +#: ../../../LangRef.rst:29199 msgid "" "This function returns the same values as the libm ``exp`` functions would, " "and handles error conditions in the same way." msgstr "" -#: ../../../LangRef.rst:28766 +#: ../../../LangRef.rst:29204 msgid "'``llvm.experimental.constrained.exp2``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:28781 +#: ../../../LangRef.rst:29219 msgid "" "The '``llvm.experimental.constrained.exp2``' intrinsic computes the base-2 " "exponential of the specified value." msgstr "" -#: ../../../LangRef.rst:28797 +#: ../../../LangRef.rst:29235 msgid "" "This function returns the same values as the libm ``exp2`` functions would, " "and handles error conditions in the same way." msgstr "" -#: ../../../LangRef.rst:28802 +#: ../../../LangRef.rst:29240 msgid "'``llvm.experimental.constrained.log``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:28817 +#: ../../../LangRef.rst:29255 msgid "" "The '``llvm.experimental.constrained.log``' intrinsic computes the base-e " "logarithm of the specified value." msgstr "" -#: ../../../LangRef.rst:28833 +#: ../../../LangRef.rst:29271 msgid "" "This function returns the same values as the libm ``log`` functions would, " "and handles error conditions in the same way." msgstr "" -#: ../../../LangRef.rst:28838 +#: ../../../LangRef.rst:29276 msgid "'``llvm.experimental.constrained.log10``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:28853 +#: ../../../LangRef.rst:29291 msgid "" "The '``llvm.experimental.constrained.log10``' intrinsic computes the base-10 " "logarithm of the specified value." msgstr "" -#: ../../../LangRef.rst:28868 +#: ../../../LangRef.rst:29306 msgid "" "This function returns the same values as the libm ``log10`` functions would, " "and handles error conditions in the same way." msgstr "" -#: ../../../LangRef.rst:28873 +#: ../../../LangRef.rst:29311 msgid "'``llvm.experimental.constrained.log2``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:28888 +#: ../../../LangRef.rst:29326 msgid "" "The '``llvm.experimental.constrained.log2``' intrinsic computes the base-2 " "logarithm of the specified value." msgstr "" -#: ../../../LangRef.rst:28903 +#: ../../../LangRef.rst:29341 msgid "" "This function returns the same values as the libm ``log2`` functions would, " "and handles error conditions in the same way." msgstr "" -#: ../../../LangRef.rst:28908 +#: ../../../LangRef.rst:29346 msgid "'``llvm.experimental.constrained.rint``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:28923 +#: ../../../LangRef.rst:29361 msgid "" "The '``llvm.experimental.constrained.rint``' intrinsic returns the first " "argument rounded to the nearest integer. It may raise an inexact floating-" "point exception if the argument is not an integer." msgstr "" -#: ../../../LangRef.rst:28939 +#: ../../../LangRef.rst:29377 msgid "" "This function returns the same values as the libm ``rint`` functions would, " "and handles error conditions in the same way. The rounding mode is " @@ -28441,11 +28901,11 @@ msgid "" "rounding mode argument is only intended as information to the compiler." msgstr "" -#: ../../../LangRef.rst:28947 +#: ../../../LangRef.rst:29385 msgid "'``llvm.experimental.constrained.lrint``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:28962 +#: ../../../LangRef.rst:29400 msgid "" "The '``llvm.experimental.constrained.lrint``' intrinsic returns the first " "argument rounded to the nearest integer. An inexact floating-point exception " @@ -28455,7 +28915,7 @@ msgid "" "poison`)." msgstr "" -#: ../../../LangRef.rst:28971 +#: ../../../LangRef.rst:29409 msgid "" "The first argument is a floating-point number. The return value is an " "integer type. Not all types are supported on all targets. The supported " @@ -28463,13 +28923,13 @@ msgid "" "functions." msgstr "" -#: ../../../LangRef.rst:28982 +#: ../../../LangRef.rst:29420 msgid "" "This function returns the same values as the libm ``lrint`` functions would, " "and handles error conditions in the same way." msgstr "" -#: ../../../LangRef.rst:28985 ../../../LangRef.rst:29033 +#: ../../../LangRef.rst:29423 ../../../LangRef.rst:29471 msgid "" "The rounding mode is described, not determined, by the rounding mode " "argument. The actual rounding mode is determined by the runtime floating-" @@ -28477,17 +28937,17 @@ msgid "" "information to the compiler." msgstr "" -#: ../../../LangRef.rst:28990 +#: ../../../LangRef.rst:29428 msgid "" "If the runtime floating-point environment is using the default rounding mode " "then the results will be the same as the ``llvm.lrint`` intrinsic." msgstr "" -#: ../../../LangRef.rst:28995 +#: ../../../LangRef.rst:29433 msgid "'``llvm.experimental.constrained.llrint``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:29010 +#: ../../../LangRef.rst:29448 msgid "" "The '``llvm.experimental.constrained.llrint``' intrinsic returns the first " "argument rounded to the nearest integer. An inexact floating-point exception " @@ -28497,7 +28957,7 @@ msgid "" "poison`)." msgstr "" -#: ../../../LangRef.rst:29019 +#: ../../../LangRef.rst:29457 msgid "" "The first argument is a floating-point number. The return value is an " "integer type. Not all types are supported on all targets. The supported " @@ -28505,30 +28965,30 @@ msgid "" "functions." msgstr "" -#: ../../../LangRef.rst:29030 +#: ../../../LangRef.rst:29468 msgid "" "This function returns the same values as the libm ``llrint`` functions " "would, and handles error conditions in the same way." msgstr "" -#: ../../../LangRef.rst:29038 +#: ../../../LangRef.rst:29476 msgid "" "If the runtime floating-point environment is using the default rounding mode " "then the results will be the same as the ``llvm.llrint`` intrinsic." msgstr "" -#: ../../../LangRef.rst:29043 +#: ../../../LangRef.rst:29481 msgid "'``llvm.experimental.constrained.nearbyint``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:29058 +#: ../../../LangRef.rst:29496 msgid "" "The '``llvm.experimental.constrained.nearbyint``' intrinsic returns the " "first argument rounded to the nearest integer. It will not raise an inexact " "floating-point exception if the argument is not an integer." msgstr "" -#: ../../../LangRef.rst:29075 +#: ../../../LangRef.rst:29513 msgid "" "This function returns the same values as the libm ``nearbyint`` functions " "would, and handles error conditions in the same way. The rounding mode is " @@ -28537,119 +28997,119 @@ msgid "" "rounding mode argument is only intended as information to the compiler." msgstr "" -#: ../../../LangRef.rst:29083 +#: ../../../LangRef.rst:29521 msgid "'``llvm.experimental.constrained.maxnum``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:29097 +#: ../../../LangRef.rst:29535 msgid "" "The '``llvm.experimental.constrained.maxnum``' intrinsic returns the maximum " "of the two arguments." msgstr "" -#: ../../../LangRef.rst:29106 ../../../LangRef.rst:29138 -#: ../../../LangRef.rst:29170 ../../../LangRef.rst:29202 +#: ../../../LangRef.rst:29544 ../../../LangRef.rst:29576 +#: ../../../LangRef.rst:29608 ../../../LangRef.rst:29640 msgid "The third argument specifies the exception behavior as described above." msgstr "" -#: ../../../LangRef.rst:29111 -msgid "This function follows the IEEE-754-2008 semantics for maxNum." +#: ../../../LangRef.rst:29549 +msgid "This function follows the IEEE 754-2008 semantics for maxNum." msgstr "" -#: ../../../LangRef.rst:29115 +#: ../../../LangRef.rst:29553 msgid "'``llvm.experimental.constrained.minnum``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:29129 +#: ../../../LangRef.rst:29567 msgid "" "The '``llvm.experimental.constrained.minnum``' intrinsic returns the minimum " "of the two arguments." msgstr "" -#: ../../../LangRef.rst:29143 -msgid "This function follows the IEEE-754-2008 semantics for minNum." +#: ../../../LangRef.rst:29581 +msgid "This function follows the IEEE 754-2008 semantics for minNum." msgstr "" -#: ../../../LangRef.rst:29147 +#: ../../../LangRef.rst:29585 msgid "'``llvm.experimental.constrained.maximum``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:29161 +#: ../../../LangRef.rst:29599 msgid "" "The '``llvm.experimental.constrained.maximum``' intrinsic returns the " "maximum of the two arguments, propagating NaNs and treating -0.0 as less " "than +0.0." msgstr "" -#: ../../../LangRef.rst:29175 ../../../LangRef.rst:29207 +#: ../../../LangRef.rst:29613 ../../../LangRef.rst:29645 msgid "" "This function follows semantics specified in the draft of IEEE 754-2019." msgstr "" -#: ../../../LangRef.rst:29179 +#: ../../../LangRef.rst:29617 msgid "'``llvm.experimental.constrained.minimum``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:29193 +#: ../../../LangRef.rst:29631 msgid "" "The '``llvm.experimental.constrained.minimum``' intrinsic returns the " "minimum of the two arguments, propagating NaNs and treating -0.0 as less " "than +0.0." msgstr "" -#: ../../../LangRef.rst:29211 +#: ../../../LangRef.rst:29649 msgid "'``llvm.experimental.constrained.ceil``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:29225 +#: ../../../LangRef.rst:29663 msgid "" "The '``llvm.experimental.constrained.ceil``' intrinsic returns the ceiling " "of the first argument." msgstr "" -#: ../../../LangRef.rst:29239 +#: ../../../LangRef.rst:29677 msgid "" "This function returns the same values as the libm ``ceil`` functions would " "and handles error conditions in the same way." msgstr "" -#: ../../../LangRef.rst:29244 +#: ../../../LangRef.rst:29682 msgid "'``llvm.experimental.constrained.floor``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:29258 +#: ../../../LangRef.rst:29696 msgid "" "The '``llvm.experimental.constrained.floor``' intrinsic returns the floor of " "the first argument." msgstr "" -#: ../../../LangRef.rst:29272 +#: ../../../LangRef.rst:29710 msgid "" "This function returns the same values as the libm ``floor`` functions would " "and handles error conditions in the same way." msgstr "" -#: ../../../LangRef.rst:29277 +#: ../../../LangRef.rst:29715 msgid "'``llvm.experimental.constrained.round``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:29291 +#: ../../../LangRef.rst:29729 msgid "" "The '``llvm.experimental.constrained.round``' intrinsic returns the first " "argument rounded to the nearest integer." msgstr "" -#: ../../../LangRef.rst:29305 +#: ../../../LangRef.rst:29743 msgid "" "This function returns the same values as the libm ``round`` functions would " "and handles error conditions in the same way." msgstr "" -#: ../../../LangRef.rst:29310 +#: ../../../LangRef.rst:29748 msgid "'``llvm.experimental.constrained.roundeven``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:29324 +#: ../../../LangRef.rst:29762 msgid "" "The '``llvm.experimental.constrained.roundeven``' intrinsic returns the " "first argument rounded to the nearest integer in floating-point format, " @@ -28657,18 +29117,18 @@ msgid "" "even integer), regardless of the current rounding direction." msgstr "" -#: ../../../LangRef.rst:29340 +#: ../../../LangRef.rst:29778 msgid "" -"This function implements IEEE-754 operation ``roundToIntegralTiesToEven``. " +"This function implements IEEE 754 operation ``roundToIntegralTiesToEven``. " "It also behaves in the same way as C standard function ``roundeven`` and can " "signal the invalid operation exception for a SNAN argument." msgstr "" -#: ../../../LangRef.rst:29346 +#: ../../../LangRef.rst:29784 msgid "'``llvm.experimental.constrained.lround``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:29360 +#: ../../../LangRef.rst:29798 msgid "" "The '``llvm.experimental.constrained.lround``' intrinsic returns the first " "argument rounded to the nearest integer with ties away from zero. It will " @@ -28678,7 +29138,7 @@ msgid "" "(equivalent to `freeze poison`)." msgstr "" -#: ../../../LangRef.rst:29370 +#: ../../../LangRef.rst:29808 msgid "" "The first argument is a floating-point number. The return value is an " "integer type. Not all types are supported on all targets. The supported " @@ -28686,17 +29146,17 @@ msgid "" "functions." msgstr "" -#: ../../../LangRef.rst:29380 +#: ../../../LangRef.rst:29818 msgid "" "This function returns the same values as the libm ``lround`` functions would " "and handles error conditions in the same way." msgstr "" -#: ../../../LangRef.rst:29385 +#: ../../../LangRef.rst:29823 msgid "'``llvm.experimental.constrained.llround``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:29399 +#: ../../../LangRef.rst:29837 msgid "" "The '``llvm.experimental.constrained.llround``' intrinsic returns the first " "argument rounded to the nearest integer with ties away from zero. It will " @@ -28706,7 +29166,7 @@ msgid "" "(equivalent to `freeze poison`)." msgstr "" -#: ../../../LangRef.rst:29409 +#: ../../../LangRef.rst:29847 msgid "" "The first argument is a floating-point number. The return value is an " "integer type. Not all types are supported on all targets. The supported " @@ -28714,34 +29174,34 @@ msgid "" "libm functions." msgstr "" -#: ../../../LangRef.rst:29419 +#: ../../../LangRef.rst:29857 msgid "" "This function returns the same values as the libm ``llround`` functions " "would and handles error conditions in the same way." msgstr "" -#: ../../../LangRef.rst:29424 +#: ../../../LangRef.rst:29862 msgid "'``llvm.experimental.constrained.trunc``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:29438 +#: ../../../LangRef.rst:29876 msgid "" "The '``llvm.experimental.constrained.trunc``' intrinsic returns the first " "argument rounded to the nearest integer not larger in magnitude than the " "argument." msgstr "" -#: ../../../LangRef.rst:29453 +#: ../../../LangRef.rst:29891 msgid "" "This function returns the same values as the libm ``trunc`` functions would " "and handles error conditions in the same way." msgstr "" -#: ../../../LangRef.rst:29459 +#: ../../../LangRef.rst:29897 msgid "'``llvm.experimental.noalias.scope.decl``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:29472 ../../../LangRef.rst:29488 +#: ../../../LangRef.rst:29910 ../../../LangRef.rst:29926 msgid "" "The ``llvm.experimental.noalias.scope.decl`` intrinsic identifies where a " "noalias scope is declared. When the intrinsic is duplicated, a decision must " @@ -28749,14 +29209,14 @@ msgid "" "the scope might need to be duplicated as well." msgstr "" -#: ../../../LangRef.rst:29481 +#: ../../../LangRef.rst:29919 msgid "" "The ``!id.scope.list`` argument is metadata that is a list of ``noalias`` " "metadata references. The format is identical to that required for " "``noalias`` metadata. This list must have exactly one element." msgstr "" -#: ../../../LangRef.rst:29493 +#: ../../../LangRef.rst:29931 msgid "" "For example, when the intrinsic is used inside a loop body, and that loop is " "unrolled, the associated noalias scope must also be duplicated. Otherwise, " @@ -28764,7 +29224,7 @@ msgid "" "whereas it was only valid within a single iteration." msgstr "" -#: ../../../LangRef.rst:29527 +#: ../../../LangRef.rst:29965 msgid "" "Multiple calls to `@llvm.experimental.noalias.scope.decl` for the same scope " "are possible, but one should never dominate another. Violations are pointed " @@ -28772,11 +29232,11 @@ msgid "" "pass or the input." msgstr "" -#: ../../../LangRef.rst:29534 +#: ../../../LangRef.rst:29972 msgid "Floating Point Environment Manipulation intrinsics" msgstr "" -#: ../../../LangRef.rst:29536 +#: ../../../LangRef.rst:29974 msgid "" "These functions read or write floating point environment, such as rounding " "mode or state of floating point exceptions. Altering the floating point " @@ -28784,42 +29244,42 @@ msgid "" "`." msgstr "" -#: ../../../LangRef.rst:29543 +#: ../../../LangRef.rst:29981 msgid "'``llvm.get.rounding``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:29555 +#: ../../../LangRef.rst:29993 msgid "The '``llvm.get.rounding``' intrinsic reads the current rounding mode." msgstr "" -#: ../../../LangRef.rst:29560 +#: ../../../LangRef.rst:29998 msgid "" "The '``llvm.get.rounding``' intrinsic returns the current rounding mode. " "Encoding of the returned values is same as the result of ``FLT_ROUNDS``, " "specified by C standard:" msgstr "" -#: ../../../LangRef.rst:29572 +#: ../../../LangRef.rst:30010 msgid "" "Other values may be used to represent additional rounding modes, supported " "by a target. These values are target-specific." msgstr "" -#: ../../../LangRef.rst:29578 +#: ../../../LangRef.rst:30016 msgid "'``llvm.set.rounding``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:29590 +#: ../../../LangRef.rst:30028 msgid "The '``llvm.set.rounding``' intrinsic sets current rounding mode." msgstr "" -#: ../../../LangRef.rst:29595 +#: ../../../LangRef.rst:30033 msgid "" "The argument is the required rounding mode. Encoding of rounding mode is the " "same as used by '``llvm.get.rounding``'." msgstr "" -#: ../../../LangRef.rst:29601 +#: ../../../LangRef.rst:30039 msgid "" "The '``llvm.set.rounding``' intrinsic sets the current rounding mode. It is " "similar to C library function 'fesetround', however this intrinsic does not " @@ -28827,39 +29287,39 @@ msgid "" "rounding modes." msgstr "" -#: ../../../LangRef.rst:29609 +#: ../../../LangRef.rst:30047 msgid "'``llvm.get.fpenv``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:29621 +#: ../../../LangRef.rst:30059 msgid "" "The '``llvm.get.fpenv``' intrinsic returns bits of the current floating-" "point environment. The return value type is platform-specific." msgstr "" -#: ../../../LangRef.rst:29627 +#: ../../../LangRef.rst:30065 msgid "" "The '``llvm.get.fpenv``' intrinsic reads the current floating-point " "environment and returns it as an integer value." msgstr "" -#: ../../../LangRef.rst:29633 +#: ../../../LangRef.rst:30071 msgid "'``llvm.set.fpenv``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:29645 +#: ../../../LangRef.rst:30083 msgid "" "The '``llvm.set.fpenv``' intrinsic sets the current floating-point " "environment." msgstr "" -#: ../../../LangRef.rst:29650 +#: ../../../LangRef.rst:30088 msgid "" "The argument is an integer representing the new floating-point environment. " "The integer type is platform-specific." msgstr "" -#: ../../../LangRef.rst:29656 +#: ../../../LangRef.rst:30094 msgid "" "The '``llvm.set.fpenv``' intrinsic sets the current floating-point " "environment to the state specified by the argument. The state may be " @@ -28867,40 +29327,40 @@ msgid "" "platform-dependent way." msgstr "" -#: ../../../LangRef.rst:29662 +#: ../../../LangRef.rst:30100 msgid "'``llvm.reset.fpenv``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:29674 +#: ../../../LangRef.rst:30112 msgid "" "The '``llvm.reset.fpenv``' intrinsic sets the default floating-point " "environment." msgstr "" -#: ../../../LangRef.rst:29679 +#: ../../../LangRef.rst:30117 msgid "" "The '``llvm.reset.fpenv``' intrinsic sets the current floating-point " "environment to default state. It is similar to the call " "'fesetenv(FE_DFL_ENV)', except it does not return any value." msgstr "" -#: ../../../LangRef.rst:29686 +#: ../../../LangRef.rst:30124 msgid "'``llvm.get.fpmode``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:29691 +#: ../../../LangRef.rst:30129 msgid "" "The '``llvm.get.fpmode``' intrinsic returns bits of the current floating-" "point control modes. The return value type is platform-specific." msgstr "" -#: ../../../LangRef.rst:29701 +#: ../../../LangRef.rst:30139 msgid "" "The '``llvm.get.fpmode``' intrinsic reads the current dynamic floating-point " "control modes and returns it as an integer value." msgstr "" -#: ../../../LangRef.rst:29712 +#: ../../../LangRef.rst:30150 msgid "" "The '``llvm.get.fpmode``' intrinsic reads the current dynamic floating-point " "control modes, such as rounding direction, precision, treatment of denormals " @@ -28910,29 +29370,29 @@ msgid "" "dependent." msgstr "" -#: ../../../LangRef.rst:29719 +#: ../../../LangRef.rst:30157 msgid "'``llvm.set.fpmode``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:29724 +#: ../../../LangRef.rst:30162 msgid "" "The '``llvm.set.fpmode``' intrinsic sets the current floating-point control " "modes." msgstr "" -#: ../../../LangRef.rst:29733 +#: ../../../LangRef.rst:30171 msgid "" "The '``llvm.set.fpmode``' intrinsic sets the current dynamic floating-point " "control modes." msgstr "" -#: ../../../LangRef.rst:29739 +#: ../../../LangRef.rst:30177 msgid "" "The argument is a set of floating-point control modes, represented as an " "integer value in a target-dependent way." msgstr "" -#: ../../../LangRef.rst:29745 +#: ../../../LangRef.rst:30183 msgid "" "The '``llvm.set.fpmode``' intrinsic sets the current dynamic floating-point " "control modes to the state specified by the argument, which must be obtained " @@ -28942,17 +29402,17 @@ msgid "" "value." msgstr "" -#: ../../../LangRef.rst:29752 +#: ../../../LangRef.rst:30190 msgid "'``llvm.reset.fpmode``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:29764 +#: ../../../LangRef.rst:30202 msgid "" "The '``llvm.reset.fpmode``' intrinsic sets the default dynamic floating-" "point control modes." msgstr "" -#: ../../../LangRef.rst:29775 +#: ../../../LangRef.rst:30213 msgid "" "The '``llvm.reset.fpmode``' intrinsic sets the current dynamic floating-" "point environment to default state. It is similar to the C library function " @@ -28960,55 +29420,55 @@ msgid "" "value." msgstr "" -#: ../../../LangRef.rst:29781 +#: ../../../LangRef.rst:30219 msgid "Floating-Point Test Intrinsics" msgstr "" -#: ../../../LangRef.rst:29783 +#: ../../../LangRef.rst:30221 msgid "These functions get properties of floating-point values." msgstr "" -#: ../../../LangRef.rst:29789 +#: ../../../LangRef.rst:30227 msgid "'``llvm.is.fpclass``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:29802 +#: ../../../LangRef.rst:30240 msgid "" "The '``llvm.is.fpclass``' intrinsic returns a boolean value or vector of " "boolean values depending on whether the first argument satisfies the test " "specified by the second argument." msgstr "" -#: ../../../LangRef.rst:29806 +#: ../../../LangRef.rst:30244 msgid "" "If the first argument is a floating-point scalar, then the result type is a " "boolean (:ref:`i1 `)." msgstr "" -#: ../../../LangRef.rst:29809 +#: ../../../LangRef.rst:30247 msgid "" "If the first argument is a floating-point vector, then the result type is a " "vector of boolean with the same number of elements as the first argument." msgstr "" -#: ../../../LangRef.rst:29815 +#: ../../../LangRef.rst:30253 msgid "" "The first argument to the '``llvm.is.fpclass``' intrinsic must be :ref:" "`floating-point ` or :ref:`vector ` of floating-point " "values." msgstr "" -#: ../../../LangRef.rst:29819 +#: ../../../LangRef.rst:30257 msgid "" "The second argument specifies, which tests to perform. It must be a compile-" "time integer constant, each bit in which specifies floating-point class:" msgstr "" -#: ../../../LangRef.rst:29843 +#: ../../../LangRef.rst:30281 msgid "9" msgstr "" -#: ../../../LangRef.rst:29849 +#: ../../../LangRef.rst:30287 msgid "" "The function checks if ``op`` belongs to any of the floating-point classes " "specified by ``test``. If ``op`` is a vector, then the check is made element " @@ -29021,36 +29481,36 @@ msgid "" "point exceptions. The function does not canonicalize its input value and " "does not depend on the floating-point environment. If the floating-point " "environment has a zeroing treatment of subnormal input values (such as " -"indicated by the ``\"denormal-fp-math\"`` attribute), a subnormal value will " -"be observed (will not be implicitly treated as zero)." +"indicated by the :ref:`denormal_fpenv ` attribute), a " +"subnormal value will be observed (will not be implicitly treated as zero)." msgstr "" -#: ../../../LangRef.rst:29865 +#: ../../../LangRef.rst:30303 msgid "General Intrinsics" msgstr "" -#: ../../../LangRef.rst:29867 +#: ../../../LangRef.rst:30305 msgid "" "This class of intrinsics is designed to be generic and has no specific " "purpose." msgstr "" -#: ../../../LangRef.rst:29871 +#: ../../../LangRef.rst:30309 msgid "'``llvm.var.annotation``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:29883 +#: ../../../LangRef.rst:30321 msgid "The '``llvm.var.annotation``' intrinsic." msgstr "" -#: ../../../LangRef.rst:29888 +#: ../../../LangRef.rst:30326 msgid "" "The first argument is a pointer to a value, the second is a pointer to a " "global string, the third is a pointer to a global string which is the source " "file name, and the last argument is the line number." msgstr "" -#: ../../../LangRef.rst:29895 +#: ../../../LangRef.rst:30333 msgid "" "This intrinsic allows annotation of local variables with arbitrary strings. " "This can be useful for special purpose optimizations that want to look for " @@ -29058,11 +29518,11 @@ msgid "" "generation and optimization." msgstr "" -#: ../../../LangRef.rst:29901 +#: ../../../LangRef.rst:30339 msgid "'``llvm.ptr.annotation.*``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:29906 +#: ../../../LangRef.rst:30344 msgid "" "This is an overloaded intrinsic. You can use '``llvm.ptr.annotation``' on a " "pointer to an integer of any width. *NOTE* you must specify an address space " @@ -29070,11 +29530,11 @@ msgid "" "'``0``'." msgstr "" -#: ../../../LangRef.rst:29919 +#: ../../../LangRef.rst:30357 msgid "The '``llvm.ptr.annotation``' intrinsic." msgstr "" -#: ../../../LangRef.rst:29924 +#: ../../../LangRef.rst:30362 msgid "" "The first argument is a pointer to an integer value of arbitrary bitwidth " "(result of some expression), the second is a pointer to a global string, the " @@ -29082,7 +29542,7 @@ msgid "" "last argument is the line number. It returns the value of the first argument." msgstr "" -#: ../../../LangRef.rst:29932 +#: ../../../LangRef.rst:30370 msgid "" "This intrinsic allows annotation of a pointer to an integer with arbitrary " "strings. This can be useful for special purpose optimizations that want to " @@ -29092,21 +29552,21 @@ msgid "" "intrinsic is completely dropped during instruction selection." msgstr "" -#: ../../../LangRef.rst:29940 +#: ../../../LangRef.rst:30378 msgid "'``llvm.annotation.*``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:29945 +#: ../../../LangRef.rst:30383 msgid "" "This is an overloaded intrinsic. You can use '``llvm.annotation``' on any " "integer bit width." msgstr "" -#: ../../../LangRef.rst:29959 +#: ../../../LangRef.rst:30397 msgid "The '``llvm.annotation``' intrinsic." msgstr "" -#: ../../../LangRef.rst:29964 +#: ../../../LangRef.rst:30402 msgid "" "The first argument is an integer value (result of some expression), the " "second is a pointer to a global string, the third is a pointer to a global " @@ -29114,7 +29574,7 @@ msgid "" "number. It returns the value of the first argument." msgstr "" -#: ../../../LangRef.rst:29972 +#: ../../../LangRef.rst:30410 msgid "" "This intrinsic allows annotations to be put on arbitrary expressions with " "arbitrary strings. This can be useful for special purpose optimizations that " @@ -29124,11 +29584,11 @@ msgid "" "and the intrinsic is completely dropped during instruction selection." msgstr "" -#: ../../../LangRef.rst:29980 +#: ../../../LangRef.rst:30418 msgid "'``llvm.codeview.annotation``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:29985 +#: ../../../LangRef.rst:30423 msgid "" "This annotation emits a label at its program point and an associated " "``S_ANNOTATION`` codeview record with some additional string metadata. This " @@ -29137,75 +29597,75 @@ msgid "" "considered expensive." msgstr "" -#: ../../../LangRef.rst:29998 +#: ../../../LangRef.rst:30436 msgid "The argument should be an MDTuple containing any number of MDStrings." msgstr "" -#: ../../../LangRef.rst:30003 +#: ../../../LangRef.rst:30441 msgid "'``llvm.trap``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:30015 +#: ../../../LangRef.rst:30453 msgid "The '``llvm.trap``' intrinsic." msgstr "" -#: ../../../LangRef.rst:30025 +#: ../../../LangRef.rst:30463 msgid "" "This intrinsic is lowered to the target-dependent trap instruction. If the " "target does not have a trap instruction, this intrinsic will be lowered to a " "call of the ``abort()`` function." msgstr "" -#: ../../../LangRef.rst:30032 +#: ../../../LangRef.rst:30470 msgid "'``llvm.debugtrap``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:30044 +#: ../../../LangRef.rst:30482 msgid "The '``llvm.debugtrap``' intrinsic." msgstr "" -#: ../../../LangRef.rst:30054 +#: ../../../LangRef.rst:30492 msgid "" "This intrinsic is lowered to code which is intended to cause an execution " "trap with the intention of requesting the attention of a debugger." msgstr "" -#: ../../../LangRef.rst:30061 +#: ../../../LangRef.rst:30499 msgid "'``llvm.ubsantrap``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:30073 +#: ../../../LangRef.rst:30511 msgid "The '``llvm.ubsantrap``' intrinsic." msgstr "" -#: ../../../LangRef.rst:30078 +#: ../../../LangRef.rst:30516 msgid "An integer describing the kind of failure detected." msgstr "" -#: ../../../LangRef.rst:30083 +#: ../../../LangRef.rst:30521 msgid "" "This intrinsic is lowered to code which is intended to cause an execution " "trap, embedding the argument into encoding of that trap somehow to " "discriminate crashes if possible." msgstr "" -#: ../../../LangRef.rst:30087 +#: ../../../LangRef.rst:30525 msgid "" "Equivalent to ``@llvm.trap`` for targets that do not support this behavior." msgstr "" -#: ../../../LangRef.rst:30090 +#: ../../../LangRef.rst:30528 msgid "'``llvm.stackprotector``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:30102 +#: ../../../LangRef.rst:30540 msgid "" "The ``llvm.stackprotector`` intrinsic takes the ``guard`` and stores it onto " "the stack at ``slot``. The stack slot is adjusted to ensure that it is " "placed on the stack before local variables." msgstr "" -#: ../../../LangRef.rst:30109 +#: ../../../LangRef.rst:30547 msgid "" "The ``llvm.stackprotector`` intrinsic requires two pointer arguments. The " "first argument is the value loaded from the stack guard " @@ -29213,7 +29673,7 @@ msgid "" "space to hold the value of the guard." msgstr "" -#: ../../../LangRef.rst:30117 +#: ../../../LangRef.rst:30555 msgid "" "This intrinsic causes the prologue/epilogue inserter to force the position " "of the ``AllocaInst`` stack slot to be before local variables on the stack. " @@ -29225,40 +29685,40 @@ msgid "" "``__stack_chk_fail()`` function." msgstr "" -#: ../../../LangRef.rst:30126 +#: ../../../LangRef.rst:30564 msgid "'``llvm.stackguard``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:30138 +#: ../../../LangRef.rst:30576 msgid "The ``llvm.stackguard`` intrinsic returns the system stack guard value." msgstr "" -#: ../../../LangRef.rst:30140 +#: ../../../LangRef.rst:30578 msgid "" "It should not be generated by frontends, since it is only for internal " "usage. The reason why we create this intrinsic is that we still support IR " "form Stack Protector in FastISel." msgstr "" -#: ../../../LangRef.rst:30152 +#: ../../../LangRef.rst:30590 msgid "" "On some platforms, the value returned by this intrinsic remains unchanged " "between loads in the same thread. On other platforms, it returns the same " "global variable value, if any, e.g., ``@__stack_chk_guard``." msgstr "" -#: ../../../LangRef.rst:30156 +#: ../../../LangRef.rst:30594 msgid "" "Currently some platforms have IR-level customized stack guard loading (e.g. " "X86 Linux) that is not handled by ``llvm.stackguard()``, while they should " "be in the future." msgstr "" -#: ../../../LangRef.rst:30161 +#: ../../../LangRef.rst:30599 msgid "'``llvm.objectsize``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:30174 +#: ../../../LangRef.rst:30612 msgid "" "The ``llvm.objectsize`` intrinsic is designed to provide information to the " "optimizer to determine whether a) an operation (like memcpy) will overflow a " @@ -29267,13 +29727,13 @@ msgid "" "specific class, structure, array, or other object." msgstr "" -#: ../../../LangRef.rst:30183 +#: ../../../LangRef.rst:30621 msgid "" "The ``llvm.objectsize`` intrinsic takes four arguments. The first argument " "is a pointer to or into the ``object``." msgstr "" -#: ../../../LangRef.rst:30186 +#: ../../../LangRef.rst:30624 msgid "" "The second argument determines whether ``llvm.objectsize`` returns the " "minimum (if true) or maximum (if false) object size. The minimum size may be " @@ -29282,7 +29742,7 @@ msgid "" "actual object size (including -1 if unknown)." msgstr "" -#: ../../../LangRef.rst:30192 +#: ../../../LangRef.rst:30630 msgid "" "The third argument controls how ``llvm.objectsize`` acts when ``null`` in " "address space 0 is used as its pointer argument. If it's ``false``, ``llvm." @@ -29293,92 +29753,92 @@ msgid "" "evaluated at runtime." msgstr "" -#: ../../../LangRef.rst:30200 +#: ../../../LangRef.rst:30638 msgid "The second, third, and fourth arguments only accept constants." msgstr "" -#: ../../../LangRef.rst:30205 +#: ../../../LangRef.rst:30643 msgid "" "The ``llvm.objectsize`` intrinsic is lowered to a value representing the " "size of the object concerned. If the size cannot be determined, ``llvm." "objectsize`` returns ``i32/i64 -1 or 0`` (depending on the ``min`` argument)." msgstr "" -#: ../../../LangRef.rst:30210 +#: ../../../LangRef.rst:30648 msgid "'``llvm.expect``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:30215 +#: ../../../LangRef.rst:30653 msgid "" "This is an overloaded intrinsic. You can use ``llvm.expect`` on any integer " "bit width." msgstr "" -#: ../../../LangRef.rst:30227 +#: ../../../LangRef.rst:30665 msgid "" "The ``llvm.expect`` intrinsic provides information about expected (the most " "probable) value of ``val``, which can be used by optimizers." msgstr "" -#: ../../../LangRef.rst:30233 +#: ../../../LangRef.rst:30671 msgid "" "The ``llvm.expect`` intrinsic takes two arguments. The first argument is a " "value. The second argument is an expected value." msgstr "" -#: ../../../LangRef.rst:30239 ../../../LangRef.rst:30273 +#: ../../../LangRef.rst:30677 ../../../LangRef.rst:30711 msgid "This intrinsic is lowered to the ``val``." msgstr "" -#: ../../../LangRef.rst:30242 +#: ../../../LangRef.rst:30680 msgid "'``llvm.expect.with.probability``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:30247 +#: ../../../LangRef.rst:30685 msgid "" "This intrinsic is similar to ``llvm.expect``. This is an overloaded " "intrinsic. You can use ``llvm.expect.with.probability`` on any integer bit " "width." msgstr "" -#: ../../../LangRef.rst:30259 +#: ../../../LangRef.rst:30697 msgid "" "The ``llvm.expect.with.probability`` intrinsic provides information about " "expected value of ``val`` with probability(or confidence) ``prob``, which " "can be used by optimizers." msgstr "" -#: ../../../LangRef.rst:30266 +#: ../../../LangRef.rst:30704 msgid "" "The ``llvm.expect.with.probability`` intrinsic takes three arguments. The " "first argument is a value. The second argument is an expected value. The " "third argument is a probability." msgstr "" -#: ../../../LangRef.rst:30278 +#: ../../../LangRef.rst:30716 msgid "'``llvm.assume``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:30290 +#: ../../../LangRef.rst:30728 msgid "" "The ``llvm.assume`` allows the optimizer to assume that the provided " "condition is true. This information can then be used in simplifying other " "parts of the code." msgstr "" -#: ../../../LangRef.rst:30294 +#: ../../../LangRef.rst:30732 msgid "" "More complex assumptions can be encoded as :ref:`assume operand bundles " "`." msgstr "" -#: ../../../LangRef.rst:30300 +#: ../../../LangRef.rst:30738 msgid "" "The argument of the call is the condition which the optimizer may assume is " "always true." msgstr "" -#: ../../../LangRef.rst:30306 +#: ../../../LangRef.rst:30744 msgid "" "The intrinsic allows the optimizer to assume that the provided condition is " "always true whenever the control flow reaches the intrinsic call. No code is " @@ -29387,7 +29847,7 @@ msgid "" "violated during execution, the behavior is undefined." msgstr "" -#: ../../../LangRef.rst:30312 +#: ../../../LangRef.rst:30750 msgid "" "Note that the optimizer might limit the transformations performed on values " "used by the ``llvm.assume`` intrinsic in order to preserve the instructions " @@ -29399,15 +29859,15 @@ msgid "" "that are of little use to the optimizer." msgstr "" -#: ../../../LangRef.rst:30324 +#: ../../../LangRef.rst:30762 msgid "'``llvm.ssa.copy``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:30336 +#: ../../../LangRef.rst:30774 msgid "The first argument is an operand which is used as the returned value." msgstr "" -#: ../../../LangRef.rst:30341 +#: ../../../LangRef.rst:30779 msgid "" "The ``llvm.ssa.copy`` intrinsic can be used to attach information to " "operations by copying them and giving them new names. For example, the " @@ -29417,27 +29877,27 @@ msgid "" "require value splits at certain points." msgstr "" -#: ../../../LangRef.rst:30351 +#: ../../../LangRef.rst:30789 msgid "'``llvm.type.test``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:30364 +#: ../../../LangRef.rst:30802 msgid "" "The first argument is a pointer to be tested. The second argument is a " "metadata object representing a :doc:`type identifier `." msgstr "" -#: ../../../LangRef.rst:30370 +#: ../../../LangRef.rst:30808 msgid "" "The ``llvm.type.test`` intrinsic tests whether the given pointer is " "associated with the given type identifier." msgstr "" -#: ../../../LangRef.rst:30376 +#: ../../../LangRef.rst:30814 msgid "'``llvm.type.checked.load``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:30389 +#: ../../../LangRef.rst:30827 msgid "" "The first argument is a pointer from which to load a function pointer. The " "second argument is the byte offset from which to load the function pointer. " @@ -29445,7 +29905,7 @@ msgid "" "`." msgstr "" -#: ../../../LangRef.rst:30397 +#: ../../../LangRef.rst:30835 msgid "" "The ``llvm.type.checked.load`` intrinsic safely loads a function pointer " "from a virtual table pointer using type metadata. This intrinsic is used to " @@ -29456,7 +29916,7 @@ msgid "" "control flow integrity constraint." msgstr "" -#: ../../../LangRef.rst:30405 +#: ../../../LangRef.rst:30843 msgid "" "If the given pointer is associated with a type metadata identifier, this " "function returns true as the second element of its return value. (Note that " @@ -29465,49 +29925,49 @@ msgid "" "element is true, the following rules apply to the first element:" msgstr "" -#: ../../../LangRef.rst:30411 +#: ../../../LangRef.rst:30849 msgid "" "If the given pointer is associated with the given type metadata identifier, " "it is the function pointer loaded from the given byte offset from the given " "pointer." msgstr "" -#: ../../../LangRef.rst:30415 +#: ../../../LangRef.rst:30853 msgid "" "If the given pointer is not associated with the given type metadata " "identifier, it is one of the following (the choice of which is unspecified):" msgstr "" -#: ../../../LangRef.rst:30418 +#: ../../../LangRef.rst:30856 msgid "" "The function pointer that would have been loaded from an arbitrarily chosen " "(through an unspecified mechanism) pointer associated with the type metadata." msgstr "" -#: ../../../LangRef.rst:30422 +#: ../../../LangRef.rst:30860 msgid "" "If the function has a non-void return type, a pointer to a function that " "returns an unspecified value without causing side effects." msgstr "" -#: ../../../LangRef.rst:30425 +#: ../../../LangRef.rst:30863 msgid "" "If the function's return value's second element is false, the value of the " "first element is undefined." msgstr "" -#: ../../../LangRef.rst:30431 +#: ../../../LangRef.rst:30869 msgid "'``llvm.type.checked.load.relative``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:30443 +#: ../../../LangRef.rst:30881 msgid "" "The ``llvm.type.checked.load.relative`` intrinsic loads a relative pointer " "to a function from a virtual table pointer using metadata. Otherwise, its " "semantic is identical to the ``llvm.type.checked.load`` intrinsic." msgstr "" -#: ../../../LangRef.rst:30447 +#: ../../../LangRef.rst:30885 msgid "" "A relative pointer is a pointer to an offset. This is the offset between the " "destination pointer and the original pointer. The address of the destination " @@ -29516,11 +29976,11 @@ msgid "" "intrinsic." msgstr "" -#: ../../../LangRef.rst:30453 +#: ../../../LangRef.rst:30891 msgid "'``llvm.arithmetic.fence``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:30466 +#: ../../../LangRef.rst:30904 msgid "" "The purpose of the ``llvm.arithmetic.fence`` intrinsic is to prevent the " "optimizer from performing fast-math optimizations, particularly " @@ -29528,14 +29988,14 @@ msgid "" "argument. It can be used to preserve the parentheses in the source language." msgstr "" -#: ../../../LangRef.rst:30475 +#: ../../../LangRef.rst:30913 msgid "" "The ``llvm.arithmetic.fence`` intrinsic takes only one argument. The " "argument and the return value are floating-point numbers, or vector floating-" "point numbers, of the same type." msgstr "" -#: ../../../LangRef.rst:30482 +#: ../../../LangRef.rst:30920 msgid "" "This intrinsic returns the value of its operand. The optimizer can optimize " "the argument, but the optimizer cannot hoist any component of the operand to " @@ -29543,28 +30003,28 @@ msgid "" "expression in the containing context into the operand." msgstr "" -#: ../../../LangRef.rst:30489 +#: ../../../LangRef.rst:30927 msgid "'``llvm.donothing``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:30501 +#: ../../../LangRef.rst:30939 msgid "" "The ``llvm.donothing`` intrinsic doesn't perform any operation. It's one of " "only three intrinsics (besides ``llvm.experimental.patchpoint`` and ``llvm." "experimental.gc.statepoint``) that can be called with an invoke instruction." msgstr "" -#: ../../../LangRef.rst:30514 +#: ../../../LangRef.rst:30952 msgid "" "This intrinsic does nothing, and it's removed by optimizers and ignored by " "codegen." msgstr "" -#: ../../../LangRef.rst:30518 +#: ../../../LangRef.rst:30956 msgid "'``llvm.experimental.deoptimize``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:30530 +#: ../../../LangRef.rst:30968 msgid "" "This intrinsic, together with :ref:`deoptimization operand bundles " "`, allow frontends to express transfer of control and frame-" @@ -29573,7 +30033,7 @@ msgid "" "slower) version." msgstr "" -#: ../../../LangRef.rst:30536 +#: ../../../LangRef.rst:30974 msgid "" "In languages with a fully integrated managed runtime like Java and " "JavaScript this intrinsic can be used to implement \"uncommon trap\" or " @@ -29582,13 +30042,13 @@ msgid "" "functions." msgstr "" -#: ../../../LangRef.rst:30545 +#: ../../../LangRef.rst:30983 msgid "" "The intrinsic takes an arbitrary number of arguments, whose meaning is " "decided by the :ref:`lowering strategy`." msgstr "" -#: ../../../LangRef.rst:30551 +#: ../../../LangRef.rst:30989 msgid "" "The ``@llvm.experimental.deoptimize`` intrinsic executes an attached " "deoptimization continuation (denoted using a :ref:`deoptimization operand " @@ -29599,7 +30059,7 @@ msgid "" "effects, including reading from and writing to the entire heap." msgstr "" -#: ../../../LangRef.rst:30560 +#: ../../../LangRef.rst:30998 msgid "" "Deoptimization continuations expressed using ``\"deopt\"`` operand bundles " "always continue execution to the end of the physical frame containing them, " @@ -29607,28 +30067,28 @@ msgid "" "position\":" msgstr "" -#: ../../../LangRef.rst:30564 +#: ../../../LangRef.rst:31002 msgid "``@llvm.experimental.deoptimize`` cannot be invoked." msgstr "" -#: ../../../LangRef.rst:30565 +#: ../../../LangRef.rst:31003 msgid "The call must immediately precede a :ref:`ret ` instruction." msgstr "" -#: ../../../LangRef.rst:30566 +#: ../../../LangRef.rst:31004 msgid "" "The ``ret`` instruction must return the value produced by the ``@llvm." "experimental.deoptimize`` call if there is one, or void." msgstr "" -#: ../../../LangRef.rst:30569 +#: ../../../LangRef.rst:31007 msgid "" "Note that the above restrictions imply that the return type for a call to " "``@llvm.experimental.deoptimize`` will match the return type of its " "immediate caller." msgstr "" -#: ../../../LangRef.rst:30573 +#: ../../../LangRef.rst:31011 msgid "" "The inliner composes the ``\"deopt\"`` continuations of the caller into the " "``\"deopt\"`` continuations present in the inlinee, and also updates calls " @@ -29636,28 +30096,28 @@ msgid "" "inlined into." msgstr "" -#: ../../../LangRef.rst:30577 +#: ../../../LangRef.rst:31015 msgid "" "All declarations of ``@llvm.experimental.deoptimize`` must share the same " "calling convention." msgstr "" -#: ../../../LangRef.rst:30583 ../../../LangRef.rst:30775 -#: ../../../LangRef.rst:31245 ../../../LangRef.rst:31323 -#: ../../../LangRef.rst:31398 ../../../LangRef.rst:31424 -#: ../../../LangRef.rst:31438 ../../../LangRef.rst:31452 -#: ../../../LangRef.rst:31466 ../../../LangRef.rst:31480 -#: ../../../LangRef.rst:31494 ../../../LangRef.rst:31508 -#: ../../../LangRef.rst:31522 ../../../LangRef.rst:31536 -#: ../../../LangRef.rst:31550 ../../../LangRef.rst:31564 -#: ../../../LangRef.rst:31578 ../../../LangRef.rst:31592 -#: ../../../LangRef.rst:31606 ../../../LangRef.rst:31620 -#: ../../../LangRef.rst:31634 ../../../LangRef.rst:31648 -#: ../../../LangRef.rst:31662 +#: ../../../LangRef.rst:31021 ../../../LangRef.rst:31213 +#: ../../../LangRef.rst:31683 ../../../LangRef.rst:31761 +#: ../../../LangRef.rst:31836 ../../../LangRef.rst:31862 +#: ../../../LangRef.rst:31876 ../../../LangRef.rst:31890 +#: ../../../LangRef.rst:31904 ../../../LangRef.rst:31918 +#: ../../../LangRef.rst:31932 ../../../LangRef.rst:31946 +#: ../../../LangRef.rst:31960 ../../../LangRef.rst:31974 +#: ../../../LangRef.rst:31988 ../../../LangRef.rst:32002 +#: ../../../LangRef.rst:32016 ../../../LangRef.rst:32030 +#: ../../../LangRef.rst:32044 ../../../LangRef.rst:32058 +#: ../../../LangRef.rst:32072 ../../../LangRef.rst:32086 +#: ../../../LangRef.rst:32100 msgid "Lowering:" msgstr "" -#: ../../../LangRef.rst:30585 +#: ../../../LangRef.rst:31023 msgid "" "Calls to ``@llvm.experimental.deoptimize`` are lowered to calls to the " "symbol ``__llvm_deoptimize`` (it is the frontend's responsibility to ensure " @@ -29666,11 +30126,11 @@ msgid "" "types, and not as varargs." msgstr "" -#: ../../../LangRef.rst:30593 +#: ../../../LangRef.rst:31031 msgid "'``llvm.experimental.guard``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:30605 +#: ../../../LangRef.rst:31043 msgid "" "This intrinsic, together with :ref:`deoptimization operand bundles " "`, allows frontends to express guards or checks on " @@ -29679,14 +30139,14 @@ msgid "" "deoptimize`` -- its body is defined to be equivalent to:" msgstr "" -#: ../../../LangRef.rst:30627 +#: ../../../LangRef.rst:31065 msgid "" "with the optional ``[, !make.implicit !{}]`` present if and only if it is " "present on the call site. For more details on ``!make.implicit``, see :doc:" "`FaultMaps`." msgstr "" -#: ../../../LangRef.rst:30631 +#: ../../../LangRef.rst:31069 msgid "" "In words, ``@llvm.experimental.guard`` executes the attached ``\"deopt\"`` " "continuation if (but **not** only if) its first argument is ``false``. " @@ -29696,11 +30156,11 @@ msgid "" "for \"check widening\" type optimizations." msgstr "" -#: ../../../LangRef.rst:30638 +#: ../../../LangRef.rst:31076 msgid "``@llvm.experimental.guard`` cannot be invoked." msgstr "" -#: ../../../LangRef.rst:30640 +#: ../../../LangRef.rst:31078 msgid "" "After ``@llvm.experimental.guard`` was first added, a more general " "formulation was found in ``@llvm.experimental.widenable.condition``. Support " @@ -29708,18 +30168,18 @@ msgid "" "alternate." msgstr "" -#: ../../../LangRef.rst:30646 +#: ../../../LangRef.rst:31084 msgid "'``llvm.experimental.widenable.condition``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:30658 +#: ../../../LangRef.rst:31096 msgid "" "This intrinsic represents a \"widenable condition\" which is boolean " "expressions with the following property: whether this expression is `true` " "or `false`, the program is correct and well-defined." msgstr "" -#: ../../../LangRef.rst:30663 +#: ../../../LangRef.rst:31101 msgid "" "Together with :ref:`deoptimization operand bundles `, " "``@llvm.experimental.widenable.condition`` allows frontends to express " @@ -29727,7 +30187,7 @@ msgid "" "represent them as branch instructions on special conditions." msgstr "" -#: ../../../LangRef.rst:30669 +#: ../../../LangRef.rst:31107 msgid "" "While this may appear similar in semantics to `undef`, it is very different " "in that an invocation produces a particular, singular value. It is also " @@ -29735,7 +30195,7 @@ msgid "" "and transforms that can benefit from its special properties." msgstr "" -#: ../../../LangRef.rst:30683 +#: ../../../LangRef.rst:31121 msgid "" "The intrinsic ``@llvm.experimental.widenable.condition()`` returns either " "`true` or `false`. For each evaluation of a call to this intrinsic, the " @@ -29744,13 +30204,13 @@ msgid "" "this intrinsic with either value whenever one is beneficial." msgstr "" -#: ../../../LangRef.rst:30690 +#: ../../../LangRef.rst:31128 msgid "" "When used in a branch condition, it allows us to choose between two " "alternative correct solutions for the same problem, like in example below:" msgstr "" -#: ../../../LangRef.rst:30705 +#: ../../../LangRef.rst:31143 msgid "" "Whether the result of intrinsic's call is `true` or `false`, it should be " "correct to pick either solution. We can switch between them by replacing the " @@ -29758,49 +30218,49 @@ msgid "" "expressions." msgstr "" -#: ../../../LangRef.rst:30711 +#: ../../../LangRef.rst:31149 msgid "This is how it can be used to represent guards as widenable branches:" msgstr "" -#: ../../../LangRef.rst:30720 +#: ../../../LangRef.rst:31158 msgid "" "Can be expressed in an alternative equivalent form of explicit branch using " "``@llvm.experimental.widenable.condition``:" msgstr "" -#: ../../../LangRef.rst:30737 +#: ../../../LangRef.rst:31175 msgid "" "So the block `guarded` is only reachable when `%cond` is `true`, and it " "should be valid to go to the block `deopt` whenever `%cond` is `true` or " "`false`." msgstr "" -#: ../../../LangRef.rst:30741 +#: ../../../LangRef.rst:31179 msgid "" "``@llvm.experimental.widenable.condition`` will never throw, thus it cannot " "be invoked." msgstr "" -#: ../../../LangRef.rst:30745 +#: ../../../LangRef.rst:31183 msgid "Guard widening:" msgstr "" -#: ../../../LangRef.rst:30747 +#: ../../../LangRef.rst:31185 msgid "" "When ``@llvm.experimental.widenable.condition()`` is used in condition of a " "guard represented as explicit branch, it is legal to widen the guard's " "condition with any additional conditions." msgstr "" -#: ../../../LangRef.rst:30752 +#: ../../../LangRef.rst:31190 msgid "Guard widening looks like replacement of" msgstr "" -#: ../../../LangRef.rst:30760 +#: ../../../LangRef.rst:31198 msgid "with" msgstr "" -#: ../../../LangRef.rst:30769 +#: ../../../LangRef.rst:31207 msgid "" "for this branch. Here `%any_other_cond` is an arbitrarily chosen well-" "defined `i1` value. By making guard widening, we may impose stricter " @@ -29808,7 +30268,7 @@ msgid "" "is not met." msgstr "" -#: ../../../LangRef.rst:30777 +#: ../../../LangRef.rst:31215 msgid "" "Default lowering strategy is replacing the result of call of ``@llvm." "experimental.widenable.condition`` with constant `true`. However it is " @@ -29816,108 +30276,108 @@ msgid "" "do it if it can benefit from non-default lowering." msgstr "" -#: ../../../LangRef.rst:30784 +#: ../../../LangRef.rst:31222 msgid "'``llvm.allow.ubsan.check``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:30796 +#: ../../../LangRef.rst:31234 msgid "" "This intrinsic returns ``true`` if and only if the compiler opted to enable " "the ubsan check in the current basic block." msgstr "" -#: ../../../LangRef.rst:30799 +#: ../../../LangRef.rst:31237 msgid "" "Rules to allow ubsan checks are not part of the intrinsic declaration, and " "controlled by compiler options." msgstr "" -#: ../../../LangRef.rst:30802 +#: ../../../LangRef.rst:31240 msgid "" "This intrinsic is the ubsan specific version of ``@llvm.allow.runtime." "check()``." msgstr "" -#: ../../../LangRef.rst:30807 +#: ../../../LangRef.rst:31245 msgid "An integer describing the kind of ubsan check guarded by the intrinsic." msgstr "" -#: ../../../LangRef.rst:30812 +#: ../../../LangRef.rst:31250 msgid "" "The intrinsic ``@llvm.allow.ubsan.check()`` returns either ``true`` or " "``false``, depending on compiler options." msgstr "" -#: ../../../LangRef.rst:30815 ../../../LangRef.rst:30874 +#: ../../../LangRef.rst:31253 ../../../LangRef.rst:31312 msgid "" "For each evaluation of a call to this intrinsic, the program must be valid " "and correct both if it returns ``true`` and if it returns ``false``." msgstr "" -#: ../../../LangRef.rst:30818 +#: ../../../LangRef.rst:31256 msgid "When used in a branch condition, it selects one of the two paths:" msgstr "" -#: ../../../LangRef.rst:30820 +#: ../../../LangRef.rst:31258 msgid "`true``: Executes the UBSan check and reports any failures." msgstr "" -#: ../../../LangRef.rst:30822 +#: ../../../LangRef.rst:31260 msgid "`false`: Bypasses the check, assuming it always succeeds." msgstr "" -#: ../../../LangRef.rst:30842 +#: ../../../LangRef.rst:31280 msgid "'``llvm.allow.runtime.check``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:30854 +#: ../../../LangRef.rst:31292 msgid "" "This intrinsic returns ``true`` if and only if the compiler opted to enable " "runtime checks in the current basic block." msgstr "" -#: ../../../LangRef.rst:30857 +#: ../../../LangRef.rst:31295 msgid "" "Rules to allow runtime checks are not part of the intrinsic declaration, and " "controlled by compiler options." msgstr "" -#: ../../../LangRef.rst:30860 +#: ../../../LangRef.rst:31298 msgid "" "This intrinsic is non-ubsan specific version of ``@llvm.allow.ubsan." "check()``." msgstr "" -#: ../../../LangRef.rst:30865 +#: ../../../LangRef.rst:31303 msgid "" "A string identifying the kind of runtime check guarded by the intrinsic. The " "string can be used to control rules to allow checks." msgstr "" -#: ../../../LangRef.rst:30871 +#: ../../../LangRef.rst:31309 msgid "" "The intrinsic ``@llvm.allow.runtime.check()`` returns either ``true`` or " "``false``, depending on compiler options." msgstr "" -#: ../../../LangRef.rst:30877 +#: ../../../LangRef.rst:31315 msgid "" "When used in a branch condition, it allows us to choose between two " "alternative correct solutions for the same problem." msgstr "" -#: ../../../LangRef.rst:30880 +#: ../../../LangRef.rst:31318 msgid "" "If the intrinsic is evaluated as ``true``, program should execute a guarded " "check. If the intrinsic is evaluated as ``false``, the program should avoid " "any unnecessary checks." msgstr "" -#: ../../../LangRef.rst:30899 +#: ../../../LangRef.rst:31337 msgid "'``llvm.load.relative``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:30911 +#: ../../../LangRef.rst:31349 msgid "" "This intrinsic loads a 32-bit value from the address ``%ptr + %offset``, " "adds ``%ptr`` to that value and returns it. The constant folder specifically " @@ -29926,7 +30386,7 @@ msgid "" "trunc(x - %ptr)``, the intrinsic call is folded to ``x``." msgstr "" -#: ../../../LangRef.rst:30917 +#: ../../../LangRef.rst:31355 msgid "" "LLVM provides that the calculation of such a constant initializer will not " "overflow at link time under the medium code model if ``x`` is an " @@ -29935,11 +30395,11 @@ msgid "" "to avoid the possibility of overflows when loading from such a constant." msgstr "" -#: ../../../LangRef.rst:30926 +#: ../../../LangRef.rst:31364 msgid "'``llvm.sideeffect``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:30938 +#: ../../../LangRef.rst:31376 msgid "" "The ``llvm.sideeffect`` intrinsic doesn't perform any operation. Optimizers " "treat it as having side effects, so it can be inserted into a loop to " @@ -29948,30 +30408,30 @@ msgid "" "infinite loop with no other side effects." msgstr "" -#: ../../../LangRef.rst:30952 +#: ../../../LangRef.rst:31390 msgid "" "This intrinsic actually does nothing, but optimizers must assume that it has " "externally observable side effects." msgstr "" -#: ../../../LangRef.rst:30956 +#: ../../../LangRef.rst:31394 msgid "'``llvm.is.constant.*``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:30961 +#: ../../../LangRef.rst:31399 msgid "" "This is an overloaded intrinsic. You can use ``llvm.is.constant`` with any " "argument type." msgstr "" -#: ../../../LangRef.rst:30972 +#: ../../../LangRef.rst:31410 msgid "" "The '``llvm.is.constant``' intrinsic will return true if the argument is " "known to be a manifest compile-time constant. It is guaranteed to fold to " "either true or false before generating machine code." msgstr "" -#: ../../../LangRef.rst:30979 +#: ../../../LangRef.rst:31417 msgid "" "This intrinsic generates no code. If its argument is known to be a manifest " "compile-time constant value, then the intrinsic will be converted to a " @@ -29979,14 +30439,14 @@ msgid "" "value." msgstr "" -#: ../../../LangRef.rst:30984 +#: ../../../LangRef.rst:31422 msgid "" "In particular, note that if the argument is a constant expression which " "refers to a global (the address of which _is_ a constant, but not manifest " "during the compile), then the intrinsic evaluates to false." msgstr "" -#: ../../../LangRef.rst:30989 +#: ../../../LangRef.rst:31427 msgid "" "The result also intentionally depends on the result of optimization passes " "-- e.g., the result can change depending on whether a function gets inlined " @@ -29996,18 +30456,18 @@ msgid "" "constant." msgstr "" -#: ../../../LangRef.rst:31000 +#: ../../../LangRef.rst:31438 msgid "'``llvm.ptrmask``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:31012 +#: ../../../LangRef.rst:31450 msgid "" "The first argument is a pointer or vector of pointers. The second argument " "is an integer or vector of integers with the same bit width as the index " "type size of the first argument." msgstr "" -#: ../../../LangRef.rst:31019 +#: ../../../LangRef.rst:31457 msgid "" "The ``llvm.ptrmask`` intrinsic masks out bits of the pointer according to a " "mask. This allows stripping data from tagged pointers without converting " @@ -30016,13 +30476,13 @@ msgid "" "detection." msgstr "" -#: ../../../LangRef.rst:31027 +#: ../../../LangRef.rst:31465 msgid "" "The result of ``ptrmask(%ptr, %mask)`` is equivalent to the following " "expansion, where ``iPtrIdx`` is the index type size of the pointer::" msgstr "" -#: ../../../LangRef.rst:31035 +#: ../../../LangRef.rst:31473 msgid "" "If the pointer index type size is smaller than the pointer type size, this " "implies that pointer bits beyond the index size are not affected by this " @@ -30030,57 +30490,58 @@ msgid "" "with 1 bits to the pointer type size." msgstr "" -#: ../../../LangRef.rst:31040 +#: ../../../LangRef.rst:31478 msgid "" "Both the returned pointer(s) and the first argument are based on the same " "underlying object (for more information on the *based on* terminology see :" "ref:`the pointer aliasing rules `)." msgstr "" -#: ../../../LangRef.rst:31044 +#: ../../../LangRef.rst:31482 msgid "" "The intrinsic only captures the pointer argument through the return value." msgstr "" -#: ../../../LangRef.rst:31049 +#: ../../../LangRef.rst:31487 msgid "'``llvm.threadlocal.address``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:31061 +#: ../../../LangRef.rst:31499 msgid "" "The `llvm.threadlocal.address` intrinsic requires a global value argument " "(a :ref:`global variable ` or alias) that is thread local." msgstr "" -#: ../../../LangRef.rst:31067 +#: ../../../LangRef.rst:31505 msgid "" "The address of a thread local global is not a constant, since it depends on " "the calling thread. The `llvm.threadlocal.address` intrinsic returns the " "address of the given thread local global in the calling thread." msgstr "" -#: ../../../LangRef.rst:31074 +#: ../../../LangRef.rst:31512 msgid "'``llvm.vscale``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:31087 +#: ../../../LangRef.rst:31525 msgid "" "The ``llvm.vscale`` intrinsic returns the value for ``vscale`` in scalable " "vectors such as ````." msgstr "" -#: ../../../LangRef.rst:31093 +#: ../../../LangRef.rst:31531 msgid "" -"``vscale`` is a positive value that is constant throughout program " -"execution, but is unknown at compile time. If the result value does not fit " -"in the result type, then the result is a :ref:`poison value `." +"``vscale`` is a positive power-of-two integer that is constant throughout " +"program execution, but is unknown at compile time. If the result value does " +"not fit in the result type, then the result is a :ref:`poison value " +"`." msgstr "" -#: ../../../LangRef.rst:31101 +#: ../../../LangRef.rst:31539 msgid "'``llvm.fake.use``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:31113 +#: ../../../LangRef.rst:31551 msgid "" "The ``llvm.fake.use`` intrinsic is a no-op. It takes a single value as an " "operand and is treated as a use of that operand, to force the optimizer to " @@ -30089,7 +30550,7 @@ msgid "" "variable's scope helps prevent that variable from being optimized out." msgstr "" -#: ../../../LangRef.rst:31122 +#: ../../../LangRef.rst:31560 msgid "" "The ``llvm.fake.use`` intrinsic takes one argument, which may be any " "function-local SSA value. Note that the signature is variadic so that the " @@ -30097,70 +30558,70 @@ msgid "" "will result in an error." msgstr "" -#: ../../../LangRef.rst:31130 +#: ../../../LangRef.rst:31568 msgid "" "This intrinsic does nothing, but optimizers must consider it a use of its " "single operand and should try to preserve the intrinsic and its position in " "the function." msgstr "" -#: ../../../LangRef.rst:31137 +#: ../../../LangRef.rst:31575 msgid "'``llvm.reloc.none``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:31149 +#: ../../../LangRef.rst:31587 msgid "" "The ``llvm.reloc.none`` intrinsic emits a no-op relocation against a given " "operand symbol. This can bring the symbol definition into the link without " "emitting any code or data to the binary for that purpose." msgstr "" -#: ../../../LangRef.rst:31156 +#: ../../../LangRef.rst:31594 msgid "" "The ``llvm.reloc.none`` intrinsic takes the symbol as a metadata string " "argument." msgstr "" -#: ../../../LangRef.rst:31162 +#: ../../../LangRef.rst:31600 msgid "" "This intrinsic emits a no-op relocation for the symbol at the location of " "the intrinsic call." msgstr "" -#: ../../../LangRef.rst:31167 +#: ../../../LangRef.rst:31605 msgid "Stack Map Intrinsics" msgstr "" -#: ../../../LangRef.rst:31169 +#: ../../../LangRef.rst:31607 msgid "" "LLVM provides experimental intrinsics to support runtime patching mechanisms " "commonly desired in dynamic language JITs. These intrinsics are described " "in :doc:`StackMaps`." msgstr "" -#: ../../../LangRef.rst:31174 +#: ../../../LangRef.rst:31612 msgid "Element Wise Atomic Memory Intrinsics" msgstr "" -#: ../../../LangRef.rst:31176 +#: ../../../LangRef.rst:31614 msgid "" "These intrinsics are similar to the standard library memory intrinsics " "except that they perform memory transfer as a sequence of atomic memory " "accesses." msgstr "" -#: ../../../LangRef.rst:31182 +#: ../../../LangRef.rst:31620 msgid "'``llvm.memcpy.element.unordered.atomic``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:31187 +#: ../../../LangRef.rst:31625 msgid "" "This is an overloaded intrinsic. You can use ``llvm.memcpy.element.unordered." "atomic`` on any integer bit width and for different address spaces. Not all " "targets support all bit widths however." msgstr "" -#: ../../../LangRef.rst:31205 +#: ../../../LangRef.rst:31643 msgid "" "The '``llvm.memcpy.element.unordered.atomic.*``' intrinsic is a " "specialization of the '``llvm.memcpy.*``' intrinsic. It differs in that the " @@ -30170,7 +30631,7 @@ msgid "" "integer multiple of the ``element_size`` in size." msgstr "" -#: ../../../LangRef.rst:31214 +#: ../../../LangRef.rst:31652 msgid "" "The first three arguments are the same as they are in the :ref:`@llvm.memcpy " "` intrinsic, with the added constraint that ``len`` is required " @@ -30179,13 +30640,13 @@ msgid "" "intrinsic is undefined." msgstr "" -#: ../../../LangRef.rst:31219 ../../../LangRef.rst:31374 +#: ../../../LangRef.rst:31657 ../../../LangRef.rst:31812 msgid "" "``element_size`` must be a compile-time constant positive power of two no " "greater than target-specific atomic access size limit." msgstr "" -#: ../../../LangRef.rst:31222 +#: ../../../LangRef.rst:31660 msgid "" "For each of the input pointers ``align`` parameter attribute must be " "specified. It must be a power of two no less than the ``element_size``. " @@ -30193,7 +30654,7 @@ msgid "" "to that boundary." msgstr "" -#: ../../../LangRef.rst:31229 +#: ../../../LangRef.rst:31667 msgid "" "The '``llvm.memcpy.element.unordered.atomic.*``' intrinsic copies ``len`` " "bytes of memory from the source location to the destination location. These " @@ -30203,7 +30664,7 @@ msgid "" "boundary." msgstr "" -#: ../../../LangRef.rst:31235 ../../../LangRef.rst:31312 +#: ../../../LangRef.rst:31673 ../../../LangRef.rst:31750 msgid "" "The order of the copy is unspecified. The same value may be read from the " "source buffer many times, but only one write is issued to the destination " @@ -30212,14 +30673,14 @@ msgid "" "atomic when specified." msgstr "" -#: ../../../LangRef.rst:31240 ../../../LangRef.rst:31318 +#: ../../../LangRef.rst:31678 ../../../LangRef.rst:31756 msgid "" "This intrinsic does not provide any additional ordering guarantees over " "those provided by a set of unordered loads from the source location and " "stores to the destination." msgstr "" -#: ../../../LangRef.rst:31247 +#: ../../../LangRef.rst:31685 msgid "" "In the most general case call to the '``llvm.memcpy.element.unordered.atomic." "*``' is lowered to a call to the symbol " @@ -30229,23 +30690,23 @@ msgid "" "lowering." msgstr "" -#: ../../../LangRef.rst:31253 +#: ../../../LangRef.rst:31691 msgid "" "Optimizer is allowed to inline memory copy when it's profitable to do so." msgstr "" -#: ../../../LangRef.rst:31256 +#: ../../../LangRef.rst:31694 msgid "'``llvm.memmove.element.unordered.atomic``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:31261 +#: ../../../LangRef.rst:31699 msgid "" "This is an overloaded intrinsic. You can use ``llvm.memmove.element." "unordered.atomic`` on any integer bit width and for different address " "spaces. Not all targets support all bit widths however." msgstr "" -#: ../../../LangRef.rst:31279 +#: ../../../LangRef.rst:31717 msgid "" "The '``llvm.memmove.element.unordered.atomic.*``' intrinsic is a " "specialization of the '``llvm.memmove.*``' intrinsic. It differs in that the " @@ -30255,7 +30716,7 @@ msgid "" "integer multiple of the ``element_size`` in size." msgstr "" -#: ../../../LangRef.rst:31289 +#: ../../../LangRef.rst:31727 msgid "" "The first three arguments are the same as they are in the :ref:`@llvm." "memmove ` intrinsic, with the added constraint that ``len`` is " @@ -30264,13 +30725,13 @@ msgid "" "behavior of the intrinsic is undefined." msgstr "" -#: ../../../LangRef.rst:31295 +#: ../../../LangRef.rst:31733 msgid "" "``element_size`` must be a compile-time constant positive power of two no " "greater than a target-specific atomic access size limit." msgstr "" -#: ../../../LangRef.rst:31298 +#: ../../../LangRef.rst:31736 msgid "" "For each of the input pointers the ``align`` parameter attribute must be " "specified. It must be a power of two no less than the ``element_size``. " @@ -30278,7 +30739,7 @@ msgid "" "to that boundary." msgstr "" -#: ../../../LangRef.rst:31306 +#: ../../../LangRef.rst:31744 msgid "" "The '``llvm.memmove.element.unordered.atomic.*``' intrinsic copies ``len`` " "bytes of memory from the source location to the destination location. These " @@ -30287,7 +30748,7 @@ msgid "" "``element_size`` bytes wide and aligned at an ``element_size`` boundary." msgstr "" -#: ../../../LangRef.rst:31325 +#: ../../../LangRef.rst:31763 msgid "" "In the most general case call to the '``llvm.memmove.element.unordered." "atomic.*``' is lowered to a call to the symbol " @@ -30297,24 +30758,24 @@ msgid "" "lowering." msgstr "" -#: ../../../LangRef.rst:31332 +#: ../../../LangRef.rst:31770 msgid "" "The optimizer is allowed to inline the memory copy when it's profitable to " "do so." msgstr "" -#: ../../../LangRef.rst:31337 +#: ../../../LangRef.rst:31775 msgid "'``llvm.memset.element.unordered.atomic``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:31342 +#: ../../../LangRef.rst:31780 msgid "" "This is an overloaded intrinsic. You can use ``llvm.memset.element.unordered." "atomic`` on any integer bit width and for different address spaces. Not all " "targets support all bit widths however." msgstr "" -#: ../../../LangRef.rst:31360 +#: ../../../LangRef.rst:31798 msgid "" "The '``llvm.memset.element.unordered.atomic.*``' intrinsic is a " "specialization of the '``llvm.memset.*``' intrinsic. It differs in that the " @@ -30324,7 +30785,7 @@ msgid "" "positive integer multiple of the ``element_size`` in size." msgstr "" -#: ../../../LangRef.rst:31369 +#: ../../../LangRef.rst:31807 msgid "" "The first three arguments are the same as they are in the :ref:`@llvm.memset " "` intrinsic, with the added constraint that ``len`` is required " @@ -30333,14 +30794,14 @@ msgid "" "intrinsic is undefined." msgstr "" -#: ../../../LangRef.rst:31377 +#: ../../../LangRef.rst:31815 msgid "" "The ``dest`` input pointer must have the ``align`` parameter attribute " "specified. It must be a power of two no less than the ``element_size``. " "Caller guarantees that the destination pointer is aligned to that boundary." msgstr "" -#: ../../../LangRef.rst:31384 +#: ../../../LangRef.rst:31822 msgid "" "The '``llvm.memset.element.unordered.atomic.*``' intrinsic sets the ``len`` " "bytes of memory starting at the destination location to the given ``value``. " @@ -30349,7 +30810,7 @@ msgid "" "``element_size`` boundary." msgstr "" -#: ../../../LangRef.rst:31389 +#: ../../../LangRef.rst:31827 msgid "" "The order of the assignment is unspecified. Only one write is issued to the " "destination buffer per element. It is well defined to have concurrent reads " @@ -30357,13 +30818,13 @@ msgid "" "atomic when specified." msgstr "" -#: ../../../LangRef.rst:31394 +#: ../../../LangRef.rst:31832 msgid "" "This intrinsic does not provide any additional ordering guarantees over " "those provided by a set of unordered stores to the destination." msgstr "" -#: ../../../LangRef.rst:31400 +#: ../../../LangRef.rst:31838 msgid "" "In the most general case call to the '``llvm.memset.element.unordered.atomic." "*``' is lowered to a call to the symbol " @@ -30371,17 +30832,17 @@ msgid "" "actual element size." msgstr "" -#: ../../../LangRef.rst:31404 +#: ../../../LangRef.rst:31842 msgid "" "The optimizer is allowed to inline the memory assignment when it's " "profitable to do so." msgstr "" -#: ../../../LangRef.rst:31407 +#: ../../../LangRef.rst:31845 msgid "Objective-C ARC Runtime Intrinsics" msgstr "" -#: ../../../LangRef.rst:31409 +#: ../../../LangRef.rst:31847 msgid "" "LLVM provides intrinsics that lower to Objective-C ARC runtime entry points. " "LLVM is aware of the semantics of these functions, and optimizes based on " @@ -30389,194 +30850,194 @@ msgid "" "`_." msgstr "" -#: ../../../LangRef.rst:31415 +#: ../../../LangRef.rst:31853 msgid "'``llvm.objc.autorelease``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:31426 +#: ../../../LangRef.rst:31864 msgid "" "Lowers to a call to `objc_autorelease `_." msgstr "" -#: ../../../LangRef.rst:31429 +#: ../../../LangRef.rst:31867 msgid "'``llvm.objc.autoreleasePoolPop``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:31440 +#: ../../../LangRef.rst:31878 msgid "" "Lowers to a call to `objc_autoreleasePoolPop `_." msgstr "" -#: ../../../LangRef.rst:31443 +#: ../../../LangRef.rst:31881 msgid "'``llvm.objc.autoreleasePoolPush``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:31454 +#: ../../../LangRef.rst:31892 msgid "" "Lowers to a call to `objc_autoreleasePoolPush `_." msgstr "" -#: ../../../LangRef.rst:31457 +#: ../../../LangRef.rst:31895 msgid "'``llvm.objc.autoreleaseReturnValue``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:31468 +#: ../../../LangRef.rst:31906 msgid "" "Lowers to a call to `objc_autoreleaseReturnValue `_." msgstr "" -#: ../../../LangRef.rst:31471 +#: ../../../LangRef.rst:31909 msgid "'``llvm.objc.copyWeak``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:31482 +#: ../../../LangRef.rst:31920 msgid "" "Lowers to a call to `objc_copyWeak `_." msgstr "" -#: ../../../LangRef.rst:31485 +#: ../../../LangRef.rst:31923 msgid "'``llvm.objc.destroyWeak``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:31496 +#: ../../../LangRef.rst:31934 msgid "" "Lowers to a call to `objc_destroyWeak `_." msgstr "" -#: ../../../LangRef.rst:31499 +#: ../../../LangRef.rst:31937 msgid "'``llvm.objc.initWeak``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:31510 +#: ../../../LangRef.rst:31948 msgid "" "Lowers to a call to `objc_initWeak `_." msgstr "" -#: ../../../LangRef.rst:31513 +#: ../../../LangRef.rst:31951 msgid "'``llvm.objc.loadWeak``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:31524 +#: ../../../LangRef.rst:31962 msgid "" "Lowers to a call to `objc_loadWeak `_." msgstr "" -#: ../../../LangRef.rst:31527 +#: ../../../LangRef.rst:31965 msgid "'``llvm.objc.loadWeakRetained``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:31538 +#: ../../../LangRef.rst:31976 msgid "" "Lowers to a call to `objc_loadWeakRetained `_." msgstr "" -#: ../../../LangRef.rst:31541 +#: ../../../LangRef.rst:31979 msgid "'``llvm.objc.moveWeak``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:31552 +#: ../../../LangRef.rst:31990 msgid "" "Lowers to a call to `objc_moveWeak `_." msgstr "" -#: ../../../LangRef.rst:31555 +#: ../../../LangRef.rst:31993 msgid "'``llvm.objc.release``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:31566 +#: ../../../LangRef.rst:32004 msgid "" "Lowers to a call to `objc_release `_." msgstr "" -#: ../../../LangRef.rst:31569 +#: ../../../LangRef.rst:32007 msgid "'``llvm.objc.retain``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:31580 +#: ../../../LangRef.rst:32018 msgid "" "Lowers to a call to `objc_retain `_." msgstr "" -#: ../../../LangRef.rst:31583 +#: ../../../LangRef.rst:32021 msgid "'``llvm.objc.retainAutorelease``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:31594 +#: ../../../LangRef.rst:32032 msgid "" "Lowers to a call to `objc_retainAutorelease `_." msgstr "" -#: ../../../LangRef.rst:31597 +#: ../../../LangRef.rst:32035 msgid "'``llvm.objc.retainAutoreleaseReturnValue``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:31608 +#: ../../../LangRef.rst:32046 msgid "" "Lowers to a call to `objc_retainAutoreleaseReturnValue `_." msgstr "" -#: ../../../LangRef.rst:31611 +#: ../../../LangRef.rst:32049 msgid "'``llvm.objc.retainAutoreleasedReturnValue``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:31622 +#: ../../../LangRef.rst:32060 msgid "" "Lowers to a call to `objc_retainAutoreleasedReturnValue `_." msgstr "" -#: ../../../LangRef.rst:31625 +#: ../../../LangRef.rst:32063 msgid "'``llvm.objc.retainBlock``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:31636 +#: ../../../LangRef.rst:32074 msgid "" "Lowers to a call to `objc_retainBlock `_." msgstr "" -#: ../../../LangRef.rst:31639 +#: ../../../LangRef.rst:32077 msgid "'``llvm.objc.storeStrong``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:31650 +#: ../../../LangRef.rst:32088 msgid "" "Lowers to a call to `objc_storeStrong `_." msgstr "" -#: ../../../LangRef.rst:31653 +#: ../../../LangRef.rst:32091 msgid "'``llvm.objc.storeWeak``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:31664 +#: ../../../LangRef.rst:32102 msgid "" "Lowers to a call to `objc_storeWeak `_." msgstr "" -#: ../../../LangRef.rst:31667 +#: ../../../LangRef.rst:32105 msgid "Preserving Debug Information Intrinsics" msgstr "" -#: ../../../LangRef.rst:31669 +#: ../../../LangRef.rst:32107 msgid "" "These intrinsics are used to carry certain debuginfo together with IR-level " "operations. For example, it may be desirable to know the structure/union " @@ -30585,11 +31046,11 @@ msgid "" "types and unions are converted to structs in IR." msgstr "" -#: ../../../LangRef.rst:31677 +#: ../../../LangRef.rst:32115 msgid "'``llvm.preserve.array.access.index``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:31691 +#: ../../../LangRef.rst:32129 msgid "" "The '``llvm.preserve.array.access.index``' intrinsic returns the " "getelementptr address based on array base ``base``, array dimension ``dim`` " @@ -30602,32 +31063,32 @@ msgid "" "``DIDerivedType`` representing the debuginfo version of ``type``." msgstr "" -#: ../../../LangRef.rst:31704 +#: ../../../LangRef.rst:32142 msgid "" "The ``base`` is the array base address. The ``dim`` is the array dimension. " "The ``base`` is a pointer if ``dim`` equals 0. The ``index`` is the last " "access index into the array or pointer." msgstr "" -#: ../../../LangRef.rst:31708 ../../../LangRef.rst:31777 +#: ../../../LangRef.rst:32146 ../../../LangRef.rst:32215 msgid "" "The ``base`` argument must be annotated with an :ref:`elementtype " "` attribute at the call-site. This attribute specifies the " "getelementptr element type." msgstr "" -#: ../../../LangRef.rst:31715 +#: ../../../LangRef.rst:32153 msgid "" "The '``llvm.preserve.array.access.index``' intrinsic produces the same " "result as a getelementptr with base ``base`` and access operands ``{dim's " "0's, index}``." msgstr "" -#: ../../../LangRef.rst:31719 +#: ../../../LangRef.rst:32157 msgid "'``llvm.preserve.union.access.index``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:31732 +#: ../../../LangRef.rst:32170 msgid "" "The '``llvm.preserve.union.access.index``' intrinsic carries the debuginfo " "field index ``di_index`` and returns the ``base`` address. The ``llvm." @@ -30637,23 +31098,23 @@ msgid "" "return type ``type`` is the same as the ``base`` type." msgstr "" -#: ../../../LangRef.rst:31742 +#: ../../../LangRef.rst:32180 msgid "" "The ``base`` is the union base address. The ``di_index`` is the field index " "in debuginfo." msgstr "" -#: ../../../LangRef.rst:31747 +#: ../../../LangRef.rst:32185 msgid "" "The '``llvm.preserve.union.access.index``' intrinsic returns the ``base`` " "address." msgstr "" -#: ../../../LangRef.rst:31750 +#: ../../../LangRef.rst:32188 msgid "'``llvm.preserve.struct.access.index``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:31764 +#: ../../../LangRef.rst:32202 msgid "" "The '``llvm.preserve.struct.access.index``' intrinsic returns the " "getelementptr address based on struct base ``base`` and IR struct member " @@ -30664,31 +31125,31 @@ msgid "" "member." msgstr "" -#: ../../../LangRef.rst:31774 +#: ../../../LangRef.rst:32212 msgid "" "The ``base`` is the structure base address. The ``gep_index`` is the struct " "member index based on IR structures. The ``di_index`` is the struct member " "index based on debuginfo." msgstr "" -#: ../../../LangRef.rst:31784 +#: ../../../LangRef.rst:32222 msgid "" "The '``llvm.preserve.struct.access.index``' intrinsic produces the same " "result as a getelementptr with base ``base`` and access operands ``{0, " "gep_index}``." msgstr "" -#: ../../../LangRef.rst:31788 +#: ../../../LangRef.rst:32226 msgid "'``llvm.protected.field.ptr``' Intrinsic" msgstr "" -#: ../../../LangRef.rst:31800 +#: ../../../LangRef.rst:32238 msgid "" "The '``llvm.protected.field.ptr``' intrinsic returns a pointer to the " "storage location of a pointer that has special properties as described below." msgstr "" -#: ../../../LangRef.rst:31807 +#: ../../../LangRef.rst:32245 msgid "" "The first argument is the pointer specifying the location to store the " "pointer. The second argument is the discriminator, which is used as an input " @@ -30696,7 +31157,7 @@ msgid "" "target-specific mechanism to encode the pointer." msgstr "" -#: ../../../LangRef.rst:31815 +#: ../../../LangRef.rst:32253 msgid "" "This intrinsic returns a pointer which may be used to store a pointer at the " "specified address that is encoded using the specified discriminator. Stores " @@ -30713,7 +31174,7 @@ msgid "" "and it is also currently unsupported to have the third argument be 0 at all." msgstr "" -#: ../../../LangRef.rst:31830 +#: ../../../LangRef.rst:32268 msgid "" "If the pointer is used other than for loading or storing (e.g. its address " "escapes), that will disable all blending operations using the deactivation " @@ -30723,6 +31184,71 @@ msgid "" "represents a field identifier." msgstr "" -#: ../../../LangRef.rst:31837 +#: ../../../LangRef.rst:32275 msgid "This intrinsic is used to implement structure protection." msgstr "" + +#: ../../../LangRef.rst:32278 +msgid "'``llvm.cond.loop``' Intrinsic" +msgstr "" + +#: ../../../LangRef.rst:32290 +msgid "" +"The '``llvm.cond.loop``' intrinsic spins in an infinite loop if the given " +"predicate ``pred`` is true, otherwise it does nothing." +msgstr "" + +#: ../../../LangRef.rst:32296 +msgid "``pred`` is the predicate." +msgstr "" + +#: ../../../LangRef.rst:32301 +msgid "" +"This intrinsic is semantically equivalent to a conditional branch " +"conditioned on ``pred`` to a basic block consisting only of an unconditional " +"branch to itself." +msgstr "" + +#: ../../../LangRef.rst:32305 +msgid "" +"Unlike such a branch, certain backends guarantee that this intrinsic will " +"use specific instructions. This allows an interrupt handler or other " +"introspection mechanism to straightforwardly detect whether the program is " +"currently spinning in the infinite loop and possibly terminate the program " +"if so. The intent is that this intrinsic may be used as a more efficient " +"alternative to a conditional branch to a call to ``llvm.trap`` in " +"circumstances where the loop detection is guaranteed to be present. This " +"construct has been experimentally determined to be executed more efficiently " +"(when the branch is not taken) than a conditional branch to a trap " +"instruction on AMD and older Intel microarchitectures, and is also more code " +"size efficient by avoiding the need to emit a trap instruction and possibly " +"a long branch instruction." +msgstr "" + +#: ../../../LangRef.rst:32318 +msgid "" +"With the X86 backend, the infinite loop is guaranteed to consist of a short " +"conditional branch instruction that branches to itself. Specifically, the " +"first byte of the instruction will be between 0x70 and 0x7F, and the second " +"byte will be 0xFE." +msgstr "" + +#: ../../../LangRef.rst:32323 +msgid "" +"There are currently no guarantees about instructions used by other backends." +msgstr "" + +#: ../../../LangRef.rst:32326 +msgid "'``llvm.looptrap``' Intrinsic" +msgstr "" + +#: ../../../LangRef.rst:32338 +msgid "" +"The '``llvm.looptrap``' intrinsic is equivalent to ``llvm.cond.loop(true)``, " +"but is also considered to be ``noreturn``, which enables certain " +"optimizations by allowing the optimizer to assume that a branch leading to a " +"call to this intrinsic was not taken. A late optimization pass will convert " +"this intrinsic to either ``llvm.cond.loop(true)`` or ``llvm.cond." +"loop(pred)``, where ``pred`` is a predicate for a conditional branch leading " +"to the intrinsic call, if possible." +msgstr "" diff --git a/main/locale/pot/LC_MESSAGES/MIRLangRef.pot b/main/locale/pot/LC_MESSAGES/MIRLangRef.pot index 846f09579d2..42b8ab7f46c 100644 --- a/main/locale/pot/LC_MESSAGES/MIRLangRef.pot +++ b/main/locale/pot/LC_MESSAGES/MIRLangRef.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: LLVM main\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-12-08 08:34+0000\n" +"POT-Creation-Date: 2026-03-09 08:48+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -364,8 +364,8 @@ msgid "" msgstr "" #: ../../../MIRLangRef.rst:267 ../../../MIRLangRef.rst:280 -#: ../../../MIRLangRef.rst:448 ../../../MIRLangRef.rst:648 -#: ../../../MIRLangRef.rst:716 ../../../MIRLangRef.rst:735 +#: ../../../MIRLangRef.rst:448 ../../../MIRLangRef.rst:651 +#: ../../../MIRLangRef.rst:719 ../../../MIRLangRef.rst:738 msgid "Example:" msgstr "" @@ -575,7 +575,7 @@ msgstr "" #: ../../../MIRLangRef.rst:498 msgid "" -"If the third operand is an immediate with the value ``15`` (a target-" +"If the second operand is an immediate with the value ``15`` (a target-" "dependent value), based on the instruction's opcode and the operand's index " "the operand will be printed as ``%subreg.sub_32``:" msgstr "" @@ -606,154 +606,160 @@ msgid "" "register operands with different register flags:" msgstr "" -#: ../../../MIRLangRef.rst:538 +#: ../../../MIRLangRef.rst:535 +msgid "" +"Note that subregister-index, register-class and type cannot be specified for " +"physical registers. Additionally, tied-def can only be specified for a use." +msgstr "" + +#: ../../../MIRLangRef.rst:541 msgid "Register Flags" msgstr "" -#: ../../../MIRLangRef.rst:540 +#: ../../../MIRLangRef.rst:543 msgid "" "The table below shows all of the possible register flags along with the " "corresponding internal ``llvm::RegState`` representation:" msgstr "" -#: ../../../MIRLangRef.rst:549 +#: ../../../MIRLangRef.rst:552 msgid "Flag" msgstr "" -#: ../../../MIRLangRef.rst:550 -msgid "Internal Value" -msgstr "" - -#: ../../../MIRLangRef.rst:551 -msgid "Meaning" -msgstr "" - #: ../../../MIRLangRef.rst:553 -msgid "``implicit``" +msgid "Internal Value" msgstr "" #: ../../../MIRLangRef.rst:554 -msgid "``RegState::Implicit``" +msgid "Meaning" msgstr "" -#: ../../../MIRLangRef.rst:555 -msgid "Not emitted register (e.g., carry, or temporary result)." +#: ../../../MIRLangRef.rst:556 +msgid "``def``" msgstr "" #: ../../../MIRLangRef.rst:557 -msgid "``implicit-def``" +msgid "``RegState::Define``" msgstr "" #: ../../../MIRLangRef.rst:558 -msgid "``RegState::ImplicitDefine``" +msgid "Register definition." msgstr "" -#: ../../../MIRLangRef.rst:559 -msgid "``implicit`` and ``def``" +#: ../../../MIRLangRef.rst:560 +msgid "``implicit``" msgstr "" #: ../../../MIRLangRef.rst:561 -msgid "``def``" +msgid "``RegState::Implicit``" msgstr "" #: ../../../MIRLangRef.rst:562 -msgid "``RegState::Define``" +msgid "Not emitted register (e.g., carry, or temporary result)." msgstr "" -#: ../../../MIRLangRef.rst:563 -msgid "Register definition." +#: ../../../MIRLangRef.rst:564 +msgid "``killed``" msgstr "" #: ../../../MIRLangRef.rst:565 -msgid "``dead``" +msgid "``RegState::Kill``" msgstr "" #: ../../../MIRLangRef.rst:566 -msgid "``RegState::Dead``" +msgid "The last use of a register." msgstr "" -#: ../../../MIRLangRef.rst:567 -msgid "Unused definition." +#: ../../../MIRLangRef.rst:568 +msgid "``dead``" msgstr "" #: ../../../MIRLangRef.rst:569 -msgid "``killed``" +msgid "``RegState::Dead``" msgstr "" #: ../../../MIRLangRef.rst:570 -msgid "``RegState::Kill``" +msgid "Unused definition." msgstr "" -#: ../../../MIRLangRef.rst:571 -msgid "The last use of a register." +#: ../../../MIRLangRef.rst:572 +msgid "``undef``" msgstr "" #: ../../../MIRLangRef.rst:573 -msgid "``undef``" +msgid "``RegState::Undef``" msgstr "" #: ../../../MIRLangRef.rst:574 -msgid "``RegState::Undef``" +msgid "Value of the register doesn't matter." msgstr "" -#: ../../../MIRLangRef.rst:575 -msgid "Value of the register doesn't matter." +#: ../../../MIRLangRef.rst:576 +msgid "``early-clobber``" msgstr "" #: ../../../MIRLangRef.rst:577 -msgid "``internal``" +msgid "``RegState::EarlyClobber``" msgstr "" #: ../../../MIRLangRef.rst:578 -msgid "``RegState::InternalRead``" +msgid "Register definition happens before uses." msgstr "" -#: ../../../MIRLangRef.rst:579 -msgid "" -"Register reads a value that is defined inside the same instruction or bundle." +#: ../../../MIRLangRef.rst:580 +msgid "``debug-use``" msgstr "" #: ../../../MIRLangRef.rst:581 -msgid "``early-clobber``" +msgid "``RegState::Debug``" msgstr "" #: ../../../MIRLangRef.rst:582 -msgid "``RegState::EarlyClobber``" +msgid "Register 'use' is for debugging purpose." msgstr "" -#: ../../../MIRLangRef.rst:583 -msgid "Register definition happens before uses." +#: ../../../MIRLangRef.rst:584 +msgid "``internal``" msgstr "" #: ../../../MIRLangRef.rst:585 -msgid "``debug-use``" +msgid "``RegState::InternalRead``" msgstr "" #: ../../../MIRLangRef.rst:586 -msgid "``RegState::Debug``" +msgid "" +"Register reads a value that is defined inside the same instruction or bundle." msgstr "" -#: ../../../MIRLangRef.rst:587 -msgid "Register 'use' is for debugging purpose." +#: ../../../MIRLangRef.rst:588 +msgid "``renamable``" msgstr "" #: ../../../MIRLangRef.rst:589 -msgid "``renamable``" +msgid "``RegState::Renamable``" msgstr "" #: ../../../MIRLangRef.rst:590 -msgid "``RegState::Renamable``" +msgid "Register that may be renamed." msgstr "" -#: ../../../MIRLangRef.rst:591 -msgid "Register that may be renamed." +#: ../../../MIRLangRef.rst:592 +msgid "``implicit-def``" +msgstr "" + +#: ../../../MIRLangRef.rst:593 +msgid "``RegState::ImplicitDefine``" msgstr "" -#: ../../../MIRLangRef.rst:596 +#: ../../../MIRLangRef.rst:594 +msgid "``implicit`` and ``def``" +msgstr "" + +#: ../../../MIRLangRef.rst:599 msgid "Subregister Indices" msgstr "" -#: ../../../MIRLangRef.rst:598 +#: ../../../MIRLangRef.rst:601 msgid "" "The register machine operands can reference a portion of a register by using " "the subregister indices. The example below shows an instance of the ``COPY`` " @@ -762,66 +768,66 @@ msgid "" "register 1:" msgstr "" -#: ../../../MIRLangRef.rst:607 +#: ../../../MIRLangRef.rst:610 msgid "" "The names of the subregister indices are target specific, and are typically " "defined in the target's ``*RegisterInfo.td`` file." msgstr "" -#: ../../../MIRLangRef.rst:611 +#: ../../../MIRLangRef.rst:614 msgid "Constant Pool Indices" msgstr "" -#: ../../../MIRLangRef.rst:613 +#: ../../../MIRLangRef.rst:616 msgid "" "A constant pool index (CPI) operand is printed using its index in the " "function's ``MachineConstantPool`` and an offset." msgstr "" -#: ../../../MIRLangRef.rst:616 +#: ../../../MIRLangRef.rst:619 msgid "For example, a CPI with the index 1 and offset 8:" msgstr "" -#: ../../../MIRLangRef.rst:622 +#: ../../../MIRLangRef.rst:625 msgid "For a CPI with the index 0 and offset -12:" msgstr "" -#: ../../../MIRLangRef.rst:628 +#: ../../../MIRLangRef.rst:631 msgid "" "A constant pool entry is bound to an LLVM IR ``Constant`` or a target-" "specific ``MachineConstantPoolValue``. When serializing all the function's " "constants, the following format is used:" msgstr "" -#: ../../../MIRLangRef.rst:646 +#: ../../../MIRLangRef.rst:649 msgid "where:" msgstr "" -#: ../../../MIRLangRef.rst:641 +#: ../../../MIRLangRef.rst:644 msgid "```` is a 32-bit unsigned integer;" msgstr "" -#: ../../../MIRLangRef.rst:642 +#: ../../../MIRLangRef.rst:645 msgid "" "```` is a `LLVM IR Constant `_;" msgstr "" -#: ../../../MIRLangRef.rst:644 +#: ../../../MIRLangRef.rst:647 msgid "" "```` is a 32-bit unsigned integer specified in bytes, and must be " "power of two;" msgstr "" -#: ../../../MIRLangRef.rst:646 +#: ../../../MIRLangRef.rst:649 msgid "```` is either true or false." msgstr "" -#: ../../../MIRLangRef.rst:662 +#: ../../../MIRLangRef.rst:665 msgid "Global Value Operands" msgstr "" -#: ../../../MIRLangRef.rst:664 +#: ../../../MIRLangRef.rst:667 msgid "" "The global value machine operands reference the global values from the :ref:" "`embedded LLVM IR module `. The example below shows an " @@ -829,53 +835,53 @@ msgid "" "named ``G``:" msgstr "" -#: ../../../MIRLangRef.rst:673 +#: ../../../MIRLangRef.rst:676 msgid "" "The named global values are represented using an identifier with the ``@`` " "prefix. If the identifier doesn't match the regular expression ``[-a-zA-Z$._]" "[-a-zA-Z$._0-9]*``, then this identifier must be quoted." msgstr "" -#: ../../../MIRLangRef.rst:677 +#: ../../../MIRLangRef.rst:680 msgid "" "The unnamed global values are represented using an unsigned numeric value " "with the ``@`` prefix, as in the following examples: ``@0``, ``@989``." msgstr "" -#: ../../../MIRLangRef.rst:681 +#: ../../../MIRLangRef.rst:684 msgid "Target-dependent Index Operands" msgstr "" -#: ../../../MIRLangRef.rst:683 +#: ../../../MIRLangRef.rst:686 msgid "" "A target index operand is a target-specific index and an offset. The target-" "specific index is printed using target-specific names and a positive or " "negative offset." msgstr "" -#: ../../../MIRLangRef.rst:687 +#: ../../../MIRLangRef.rst:690 msgid "" "For example, the ``amdgpu-constdata-start`` is associated with the index " "``0`` in the AMDGPU backend. So if we have a target index operand with the " "index 0 and the offset 8:" msgstr "" -#: ../../../MIRLangRef.rst:696 +#: ../../../MIRLangRef.rst:699 msgid "Jump-table Index Operands" msgstr "" -#: ../../../MIRLangRef.rst:698 +#: ../../../MIRLangRef.rst:701 msgid "A jump-table index operand with the index 0 is printed as follows:" msgstr "" -#: ../../../MIRLangRef.rst:704 +#: ../../../MIRLangRef.rst:707 msgid "" "A machine jump-table entry contains a list of ``MachineBasicBlocks``. When " "serializing all the function's jump-table entries, the following format is " "used:" msgstr "" -#: ../../../MIRLangRef.rst:714 +#: ../../../MIRLangRef.rst:717 msgid "" "where ```` describes how the jump table is represented and emitted " "(plain address, relocations, PIC, etc.), and each ```` is a 32-bit " @@ -883,51 +889,51 @@ msgid "" "references `." msgstr "" -#: ../../../MIRLangRef.rst:729 +#: ../../../MIRLangRef.rst:732 msgid "External Symbol Operands" msgstr "" -#: ../../../MIRLangRef.rst:731 +#: ../../../MIRLangRef.rst:734 msgid "" "An external symbol operand is represented using an identifier with the ``&`` " "prefix. The identifier is surrounded with \"\"'s and escaped if it has any " "special non-printable characters in it." msgstr "" -#: ../../../MIRLangRef.rst:742 +#: ../../../MIRLangRef.rst:745 msgid "MCSymbol Operands" msgstr "" -#: ../../../MIRLangRef.rst:744 +#: ../../../MIRLangRef.rst:747 msgid "" "An ``MCSymbol`` operand holds a pointer to an ``MCSymbol``. For the " "limitations of this operand in MIR, see :ref:`limitations `." msgstr "" -#: ../../../MIRLangRef.rst:747 ../../../MIRLangRef.rst:775 +#: ../../../MIRLangRef.rst:750 ../../../MIRLangRef.rst:778 msgid "The syntax is:" msgstr "" -#: ../../../MIRLangRef.rst:754 +#: ../../../MIRLangRef.rst:757 msgid "Debug Instruction Reference Operands" msgstr "" -#: ../../../MIRLangRef.rst:756 +#: ../../../MIRLangRef.rst:759 msgid "" "A debug instruction reference operand is a pair of indices, referring to an " "instruction and an operand within that instruction, respectively; see :ref:" "`Instruction referencing locations `." msgstr "" -#: ../../../MIRLangRef.rst:760 +#: ../../../MIRLangRef.rst:763 msgid "The example below uses a reference to Instruction 1, Operand 0:" msgstr "" -#: ../../../MIRLangRef.rst:767 +#: ../../../MIRLangRef.rst:770 msgid "CFIIndex Operands" msgstr "" -#: ../../../MIRLangRef.rst:769 +#: ../../../MIRLangRef.rst:772 msgid "" "A CFI Index operand holds an index into a per-function side-table, " "``MachineFunction::getFrameInstructions()``, which references all the frame " @@ -936,43 +942,43 @@ msgid "" "Index. The other operands are tracked by the ``MCCFIInstruction`` object." msgstr "" -#: ../../../MIRLangRef.rst:781 +#: ../../../MIRLangRef.rst:784 msgid "which may be emitted later in the MC layer as:" msgstr "" -#: ../../../MIRLangRef.rst:788 +#: ../../../MIRLangRef.rst:791 msgid "IntrinsicID Operands" msgstr "" -#: ../../../MIRLangRef.rst:790 +#: ../../../MIRLangRef.rst:793 msgid "" "An Intrinsic ID operand contains a generic intrinsic ID or a target-specific " "ID." msgstr "" -#: ../../../MIRLangRef.rst:792 +#: ../../../MIRLangRef.rst:795 msgid "The syntax for the ``returnaddress`` intrinsic is:" msgstr "" -#: ../../../MIRLangRef.rst:799 +#: ../../../MIRLangRef.rst:802 msgid "Predicate Operands" msgstr "" -#: ../../../MIRLangRef.rst:801 +#: ../../../MIRLangRef.rst:804 msgid "" "A Predicate operand contains an IR predicate from ``CmpInst::Predicate``, " "like ``ICMP_EQ``, etc." msgstr "" -#: ../../../MIRLangRef.rst:804 +#: ../../../MIRLangRef.rst:807 msgid "For an int eq predicate ``ICMP_EQ``, the syntax is:" msgstr "" -#: ../../../MIRLangRef.rst:811 +#: ../../../MIRLangRef.rst:814 msgid "LaneMask Operands" msgstr "" -#: ../../../MIRLangRef.rst:813 +#: ../../../MIRLangRef.rst:816 msgid "" "A LaneMask operand contains a LaneBitmask struct representing the covering " "of a register with sub-registers. Instructions typically associate a " @@ -981,18 +987,18 @@ msgid "" "Register operands." msgstr "" -#: ../../../MIRLangRef.rst:819 +#: ../../../MIRLangRef.rst:822 msgid "" "For example, the COPY_LANEMASK instruction uses this operand to copy only " "active lanes (of the source register) in the mask. The syntax for it would " "look like:" msgstr "" -#: ../../../MIRLangRef.rst:841 +#: ../../../MIRLangRef.rst:844 msgid "Comments" msgstr "" -#: ../../../MIRLangRef.rst:843 +#: ../../../MIRLangRef.rst:846 msgid "" "Machine operands can have C/C++ style comments, which are annotations " "enclosed between ``/*`` and ``*/`` to improve readability of e.g., immediate " @@ -1001,47 +1007,47 @@ msgid "" "(CC) definitions, i.e. the ``always`` and ``eq`` condition codes:" msgstr "" -#: ../../../MIRLangRef.rst:854 +#: ../../../MIRLangRef.rst:857 msgid "" "As these annotations are comments, they are ignored by the MI parser. " "Comments can be added or customized by overriding InstrInfo's hook " "``createMIROperandComment()``." msgstr "" -#: ../../../MIRLangRef.rst:859 +#: ../../../MIRLangRef.rst:862 msgid "Debug-Info constructs" msgstr "" -#: ../../../MIRLangRef.rst:861 +#: ../../../MIRLangRef.rst:864 msgid "" "Most of the debugging information in a MIR file is found in the metadata of " "the embedded module. Within a machine function, that metadata is referred to " "by various constructs to describe source locations and variable locations." msgstr "" -#: ../../../MIRLangRef.rst:866 +#: ../../../MIRLangRef.rst:869 msgid "Source locations" msgstr "" -#: ../../../MIRLangRef.rst:868 +#: ../../../MIRLangRef.rst:871 msgid "" "Every MIR instruction may optionally have a trailing reference to a " "``DILocation`` metadata node, after all operands and symbols, but before " "memory operands:" msgstr "" -#: ../../../MIRLangRef.rst:876 +#: ../../../MIRLangRef.rst:879 msgid "" "The source location attachment is synonymous with the ``!dbg`` metadata " "attachment in LLVM-IR. The absence of a source location attachment will be " "represented by an empty ``DebugLoc`` object in the machine instruction." msgstr "" -#: ../../../MIRLangRef.rst:881 +#: ../../../MIRLangRef.rst:884 msgid "Fixed variable locations" msgstr "" -#: ../../../MIRLangRef.rst:883 +#: ../../../MIRLangRef.rst:886 msgid "" "There are several ways of specifying variable locations. The simplest is " "describing a variable that is permanently located on the stack. In the stack " @@ -1049,66 +1055,66 @@ msgid "" "any qualifying location modifier are provided:" msgstr "" -#: ../../../MIRLangRef.rst:894 +#: ../../../MIRLangRef.rst:897 msgid "Where:" msgstr "" -#: ../../../MIRLangRef.rst:896 +#: ../../../MIRLangRef.rst:899 msgid "``debug-info-variable`` identifies a DILocalVariable metadata node," msgstr "" -#: ../../../MIRLangRef.rst:898 +#: ../../../MIRLangRef.rst:901 msgid "``debug-info-expression`` adds qualifiers to the variable location," msgstr "" -#: ../../../MIRLangRef.rst:900 +#: ../../../MIRLangRef.rst:903 msgid "``debug-info-location`` identifies a DILocation metadata node." msgstr "" -#: ../../../MIRLangRef.rst:902 +#: ../../../MIRLangRef.rst:905 msgid "" "These metadata attributes correspond to the operands of a ``#dbg_declare`` " "IR debug record, see the :ref:`source level debugging` " "documentation." msgstr "" -#: ../../../MIRLangRef.rst:907 +#: ../../../MIRLangRef.rst:910 msgid "Varying variable locations" msgstr "" -#: ../../../MIRLangRef.rst:909 +#: ../../../MIRLangRef.rst:912 msgid "" "Variables that are not always on the stack or change location are specified " "with the ``DBG_VALUE`` meta machine instruction. It is synonymous with the " "``#dbg_value`` IR record, and is written:" msgstr "" -#: ../../../MIRLangRef.rst:917 +#: ../../../MIRLangRef.rst:920 msgid "The operands to which respectively:" msgstr "" -#: ../../../MIRLangRef.rst:919 +#: ../../../MIRLangRef.rst:922 msgid "" "Identifies a machine location such as a register, immediate, or frame index," msgstr "" -#: ../../../MIRLangRef.rst:921 +#: ../../../MIRLangRef.rst:924 msgid "" "Is either $noreg, or immediate value zero if an extra level of indirection " "is to be added to the first operand," msgstr "" -#: ../../../MIRLangRef.rst:923 +#: ../../../MIRLangRef.rst:926 msgid "Identifies a ``DILocalVariable`` metadata node," msgstr "" -#: ../../../MIRLangRef.rst:925 +#: ../../../MIRLangRef.rst:928 msgid "" "Specifies an expression qualifying the variable location, either inline or " "as a metadata node reference," msgstr "" -#: ../../../MIRLangRef.rst:927 +#: ../../../MIRLangRef.rst:930 msgid "" "While the source location identifies the ``DILocation`` for the scope of the " "variable. The second operand (``IsIndirect``) is deprecated and to be " @@ -1116,11 +1122,11 @@ msgid "" "through the expression metadata." msgstr "" -#: ../../../MIRLangRef.rst:935 +#: ../../../MIRLangRef.rst:938 msgid "Instruction referencing locations" msgstr "" -#: ../../../MIRLangRef.rst:937 +#: ../../../MIRLangRef.rst:940 msgid "" "This experimental feature aims to separate the specification of variable " "*values* from the program point where a variable takes on that value. " @@ -1129,7 +1135,7 @@ msgid "" "a pair of instruction number and operand number. Consider the example below:" msgstr "" -#: ../../../MIRLangRef.rst:948 +#: ../../../MIRLangRef.rst:951 msgid "" "Instruction numbers are directly attached to machine instructions with an " "optional ``debug-instr-number`` attachment, before the optional ``debug-" @@ -1137,7 +1143,7 @@ msgid "" "be identified by the pair ``<1, 0>``." msgstr "" -#: ../../../MIRLangRef.rst:953 +#: ../../../MIRLangRef.rst:956 msgid "" "The 3rd operand of the ``DBG_INSTR_REF`` above records the instruction and " "operand number ``<1, 0>``, identifying the value defined by the ``MOV64ri``. " @@ -1146,7 +1152,7 @@ msgid "" "variable takes on the designated value in the same way." msgstr "" -#: ../../../MIRLangRef.rst:959 +#: ../../../MIRLangRef.rst:962 msgid "" "More information about how these constructs are used is available in :doc:" "`InstrRefDebugInfo`. The related documents :doc:`SourceLevelDebugging` and :" diff --git a/main/locale/pot/LC_MESSAGES/MemProf.pot b/main/locale/pot/LC_MESSAGES/MemProf.pot new file mode 100644 index 00000000000..6233b96ab7c --- /dev/null +++ b/main/locale/pot/LC_MESSAGES/MemProf.pot @@ -0,0 +1,675 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2003-2026, LLVM Project +# This file is distributed under the same license as the LLVM package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: LLVM main\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-03-09 08:48+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../../../MemProf.rst:3 +msgid "MemProf: Memory Profiling for LLVM" +msgstr "" + +#: ../../../MemProf.rst:10 +msgid "Introduction" +msgstr "" + +#: ../../../MemProf.rst:12 +msgid "" +"MemProf is a profile-guided optimization (PGO) feature for memory. It " +"enables the compiler to optimize memory allocations and static data layout " +"based on runtime profiling information. By understanding the \"hotness\", " +"lifetime, and access frequency of memory, the compiler can make better " +"decisions about where to place data (both heap and static), reducing " +"fragmentation and improving cache locality." +msgstr "" + +#: ../../../MemProf.rst:15 +msgid "Motivation" +msgstr "" + +#: ../../../MemProf.rst:17 +msgid "" +"Traditional PGO focuses on control flow (hot vs. cold code). MemProf extends " +"this concept to data. It answers questions like:" +msgstr "" + +#: ../../../MemProf.rst:19 +msgid "Which allocation sites are \"hot\" (frequently accessed)?" +msgstr "" + +#: ../../../MemProf.rst:20 +msgid "Which allocation sites are \"cold\" (rarely accessed)?" +msgstr "" + +#: ../../../MemProf.rst:21 +msgid "What is the lifetime of an allocation?" +msgstr "" + +#: ../../../MemProf.rst:23 +msgid "This information enables optimizations such as:" +msgstr "" + +#: ../../../MemProf.rst:25 +msgid "" +"**Heap Layout Optimization:** Grouping objects with similar lifetimes or " +"access density. This currently requires an allocator that supports the " +"necessary interfaces (e.g., tcmalloc)." +msgstr "" + +#: ../../../MemProf.rst:26 +msgid "" +"**Static Data Partitioning:** Segregating frequently accessed (hot) global " +"variables and constants from rarely accessed (cold) ones to improve data " +"locality and TLB utilization." +msgstr "" + +#: ../../../MemProf.rst:29 +msgid "User Manual" +msgstr "" + +#: ../../../MemProf.rst:31 +msgid "" +"This section describes how to use MemProf to profile and optimize your " +"application." +msgstr "" + +#: ../../../MemProf.rst:34 +msgid "Building with MemProf Instrumentation" +msgstr "" + +#: ../../../MemProf.rst:36 +msgid "" +"To enable MemProf instrumentation, compile your application with the ``-" +"fmemory-profile`` flag. Make sure to include debug information (``-gmlt`` " +"and ``-fdebug-info-for-profiling``) and frame pointers to ensure accurate " +"stack traces and line number reporting." +msgstr "" + +#: ../../../MemProf.rst:43 +msgid "" +"Link with ``-fmemory-profile`` as well to link the necessary runtime " +"libraries. If you use a separate link step, ensure the flag is passed to the " +"linker. On Linux, the flags ``-fno-pie -no-pie -Wl,-z,noseparate-code -Wl,--" +"build-id`` are currently required to ensure the binary layout (executable " +"segment at offset 0) and Build ID presence are compatible with the ``llvm-" +"profdata`` profile reader." +msgstr "" + +#: ../../../MemProf.rst:47 +msgid "Running and Generating Profiles" +msgstr "" + +#: ../../../MemProf.rst:49 +msgid "" +"Run the instrumented application. By default, MemProf writes a raw profile " +"file named ``memprof.profraw.`` to the current directory upon exit. " +"Control the runtime behavior using the ``MEMPROF_OPTIONS`` environment " +"variable. Common options include:" +msgstr "" + +#: ../../../MemProf.rst:51 +msgid "" +"``log_path``: Redirects runtime logs (e.g., ``stdout``, ``stderr``, or a " +"file path)." +msgstr "" + +#: ../../../MemProf.rst:52 +msgid "" +"``print_text``: If set to ``true``, prints a text-based summary of the " +"profile to the log path." +msgstr "" + +#: ../../../MemProf.rst:53 +msgid "``verbosity``: Controls the level of debug output." +msgstr "" + +#: ../../../MemProf.rst:55 +msgid "**Example:**" +msgstr "" + +#: ../../../MemProf.rst:64 +msgid "Processing Profiles" +msgstr "" + +#: ../../../MemProf.rst:66 +msgid "" +"Raw profiles must be indexed before the compiler can use them. Use ``llvm-" +"profdata`` to merge and index the raw profiles." +msgstr "" + +#: ../../../MemProf.rst:72 +msgid "" +"To dump the profile in YAML format (useful for debugging or creating test " +"cases):" +msgstr "" + +#: ../../../MemProf.rst:78 +msgid "" +"Merge MemProf profiles with standard PGO instrumentation profiles if you " +"have both (optional)." +msgstr "" + +#: ../../../MemProf.rst:81 +msgid "Using Profiles for Optimization" +msgstr "" + +#: ../../../MemProf.rst:83 +msgid "" +"Feed the indexed profile back into the compiler using the ``-fmemory-profile-" +"use=`` option (or low-level passes options)." +msgstr "" + +#: ../../../MemProf.rst:89 +msgid "If invoking the optimizer directly via ``opt``:" +msgstr "" + +#: ../../../MemProf.rst:95 +msgid "" +"The compiler uses the profile data to annotate allocation instructions with " +"``!memprof`` metadata (`MemProf Metadata Documentation `_), distinguishing between \"hot\", " +"\"cold\", and \"notcold\" allocations. This metadata guides downstream " +"optimizations. Additionally, callsites which are part of allocation contexts " +"are also annotated with ``!callsite`` metadata (`Callsite Metadata " +"Documentation `_)." +msgstr "" + +#: ../../../MemProf.rst:98 +msgid "" +"Ensure that the same debug info flags (e.g. ``-gmlt`` and ``-fdebug-info-for-" +"profiling``) used during instrumentation are also passed during this " +"compilation step to enable correct matching of the profile data. For the " +"optimized binary to fully utilize the hot/cold hinting, it must be linked " +"with an allocator that supports this mechanism, such as `tcmalloc `_. TCMalloc provides an API (``tcmalloc::" +"hot_cold_t``) that accepts a hint (0 for cold, 255 for hot) to guide data " +"placement and improve locality. To indicate that the library supports these " +"interfaces, the ``-mllvm -supports-hot-cold-new`` flag is used during the " +"LTO link." +msgstr "" + +#: ../../../MemProf.rst:102 +msgid "Context Disambiguation (LTO)" +msgstr "" + +#: ../../../MemProf.rst:104 +msgid "" +"To fully benefit from MemProf, especially for common allocation wrappers, " +"enabling **ThinLTO** (preferred) or **Full LTO** is required. This allows " +"the compiler to perform **context disambiguation**." +msgstr "" + +#: ../../../MemProf.rst:106 +msgid "Consider the following example:" +msgstr "" + +#: ../../../MemProf.rst:122 +msgid "" +"Without context disambiguation, the compiler sees a single ``allocate`` " +"function called from both hot and cold contexts. It must conservatively " +"assume the allocation is \"not cold\" or \"ambiguous\"." +msgstr "" + +#: ../../../MemProf.rst:124 +msgid "With LTO and MemProf:" +msgstr "" + +#: ../../../MemProf.rst:126 +msgid "The compiler constructs a whole-program call graph." +msgstr "" + +#: ../../../MemProf.rst:127 +msgid "" +"It identifies that ``allocate`` has distinct calling contexts with different " +"behaviors." +msgstr "" + +#: ../../../MemProf.rst:128 +msgid "" +"It **clones** ``allocate`` into two versions: one for the hot path and one " +"for the cold path." +msgstr "" + +#: ../../../MemProf.rst:129 +msgid "" +"The call in ``cold_path`` is updated to call the cloned \"cold\" version of " +"``allocate``, which can then be optimized (e.g., by passing a cold hint to " +"the allocator)." +msgstr "" + +#: ../../../MemProf.rst:132 +msgid "Static Data Partitioning" +msgstr "" + +#: ../../../MemProf.rst:134 +msgid "" +"MemProf profiles guide the layout of static data (e.g., global variables, " +"constants). The goal is to separate \"hot\" data from \"cold\" data in the " +"binary, placing hot data into specific sections (e.g., ``.rodata.hot``) to " +"minimize the number of pages required for the working set." +msgstr "" + +#: ../../../MemProf.rst:136 +msgid "This feature uses a hybrid approach:" +msgstr "" + +#: ../../../MemProf.rst:138 +msgid "" +"**Symbolizable Data:** Data with external or local linkage (tracked by the " +"symbol table) is partitioned based on data access profiles collected via " +"instrumentation (`PR `_) " +"or hardware performance counters (e.g., Intel PEBS events such as " +"``MEM_INST_RETIRED.ALL_LOADS``)." +msgstr "" + +#: ../../../MemProf.rst:139 +msgid "" +"**Module-Internal Data:** Data not tracked by the symbol table (e.g., jump " +"tables, constant pools, internal globals) has its hotness inferred from " +"standard PGO code execution profiles." +msgstr "" + +#: ../../../MemProf.rst:141 +msgid "To enable this feature, pass the following flags to the compiler:" +msgstr "" + +#: ../../../MemProf.rst:143 +msgid "" +"``-fpartition-static-data-sections``: Instructs the compiler to generate `." +"hot` and `.unlikely` section prefixes for hot and cold static data " +"respectively in the relocatable object files." +msgstr "" + +#: ../../../MemProf.rst:144 +msgid "" +"``-Wl,-z,keep-data-section-prefix``: Informs the LLD linker that `.data.rel." +"ro.hot` and `.data.rel.ro.unlikely` as relro sections. LLD requires all " +"relro sections to be contiguous and this flag allows us to interleave the " +"hotness-suffixed `.data.rel.ro` sections with other relro sections." +msgstr "" + +#: ../../../MemProf.rst:145 +msgid "" +"``-Wl,-script=``: Group hot and/or cold data sections, and " +"order the data sections." +msgstr "" + +#: ../../../MemProf.rst:151 +msgid "" +"The optimized layout clusters hot static data, improving dTLB and cache " +"efficiency." +msgstr "" + +#: ../../../MemProf.rst:154 +msgid "" +"When both PGO profiles and memory profiles are provided (using ``-fprofile-" +"use`` and ``-fmemory-profile-use``), global variable hotness are inferred " +"from a combination of PGO profile and data access profile:" +msgstr "" + +#: ../../../MemProf.rst:158 +msgid "" +"For data covered by both profiles (e.g., module-internal data with symbols " +"in the executable), the hotness is the max of PGO profile hotness and data " +"access profile hotness." +msgstr "" + +#: ../../../MemProf.rst:162 +msgid "" +"For data covered by only one profile, the hotness is inferred from that " +"profile. Most notably, symbolizable data with external linkage is only " +"covered by data access profile, and module-internal unsymbolizable data is " +"only covered by PGO profile." +msgstr "" + +#: ../../../MemProf.rst:168 +msgid "Developer Manual" +msgstr "" + +#: ../../../MemProf.rst:170 +msgid "" +"This section provides an overview of the MemProf architecture and " +"implementation for contributors." +msgstr "" + +#: ../../../MemProf.rst:173 +msgid "Architecture Overview" +msgstr "" + +#: ../../../MemProf.rst:175 +msgid "MemProf consists of three main components:" +msgstr "" + +#: ../../../MemProf.rst:177 +msgid "" +"**Instrumentation Pass (Compile-time):** Memory accesses are instrumented to " +"increment the access count held in a shadow memory location, or " +"alternatively to call into the runtime. Memory allocations are intercepted " +"by the runtime library." +msgstr "" + +#: ../../../MemProf.rst:178 +msgid "" +"**Runtime Library (Link-time/Run-time):** Manages shadow memory and tracks " +"allocation contexts and access statistics." +msgstr "" + +#: ../../../MemProf.rst:179 +msgid "" +"**Profile Analysis (Post-processing/Compile-time):** Tools and passes that " +"read the profile, annotate the IR using metadata, and perform context " +"disambiguation if necessary when LTO is enabled." +msgstr "" + +#: ../../../MemProf.rst:182 +msgid "Detailed Workflow (LTO)" +msgstr "" + +#: ../../../MemProf.rst:184 +msgid "The optimization process, using LTO, involves several steps:" +msgstr "" + +#: ../../../MemProf.rst:186 +msgid "" +"**Matching (MemProfUse Pass):** The memprof profile is mapped onto " +"allocation calls and callsites which are part of the allocation context " +"using debug information. MemProf metadata is attached to the call " +"instructions in the IR. If the allocation call site is unambiguously cold " +"(or hot) an attribute is added directly which guides the transformation." +msgstr "" + +#: ../../../MemProf.rst:187 +msgid "" +"**Metadata Serialization:** For ThinLTO, during the summary analysis step, " +"MemProf metadata (``!memprof`` and ``!callsite``) is serialized into the " +"module summary. This is implemented in ``llvm/lib/Analysis/" +"ModuleSummaryAnalysis.cpp``." +msgstr "" + +#: ../../../MemProf.rst:188 +msgid "" +"**Whole Program Graph Construction:** During the LTO step, the compiler " +"constructs a whole-program ``CallsiteContextGraph`` to analyze and " +"disambiguate contexts. This graph identifies where allocation contexts " +"diverge (e.g., same function called from hot vs. cold paths). This logic " +"resides in ``llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp``." +msgstr "" + +#: ../../../MemProf.rst:189 +msgid "" +"**Cloning Decisions:** The analysis identifies which functions and callsites " +"need to be cloned to isolate cold allocation paths from hot ones using the " +"``CallsiteContextGraph``." +msgstr "" + +#: ../../../MemProf.rst:190 +msgid "" +"**LTO Backend:** The actual cloning of functions happens in the " +"``MemProfContextDisambiguation`` pass. The replacement of allocation calls " +"(e.g., ``operator new`` to the ``hot_cold_t`` variant) happens in " +"``SimplifyLibCalls`` during the ``InstCombine`` pass. These transformations " +"are guided by the decisions made during the LTO step." +msgstr "" + +#: ../../../MemProf.rst:193 +msgid "Source Structure" +msgstr "" + +#: ../../../MemProf.rst:195 +msgid "**Runtime:** ``compiler-rt/lib/memprof``" +msgstr "" + +#: ../../../MemProf.rst:197 +msgid "" +"Contains the runtime implementation, including shadow memory mapping, " +"interceptors (malloc, free, etc.), and the thread-local storage for " +"recording stats." +msgstr "" + +#: ../../../MemProf.rst:199 +msgid "" +"**Instrumentation:** ``llvm/lib/Transforms/Instrumentation/" +"MemProfInstrumentation.cpp``" +msgstr "" + +#: ../../../MemProf.rst:201 +msgid "Implements the LLVM IR pass that adds instrumentation calls." +msgstr "" + +#: ../../../MemProf.rst:203 +msgid "" +"**Profile Data:** ``llvm/include/llvm/ProfileData/MemProf.h`` and " +"``MemProfData.inc``" +msgstr "" + +#: ../../../MemProf.rst:205 +msgid "" +"Defines the profile format, data structures (like ``MemInfoBlock``), and " +"serialization logic." +msgstr "" + +#: ../../../MemProf.rst:207 +msgid "**Use Pass:** ``llvm/lib/Transforms/Instrumentation/MemProfUse.cpp``" +msgstr "" + +#: ../../../MemProf.rst:209 +msgid "Reads the profile and annotates the IR with metadata." +msgstr "" + +#: ../../../MemProf.rst:211 +msgid "" +"**Context Disambiguation:** ``llvm/lib/Transforms/IPO/" +"MemProfContextDisambiguation.cpp``" +msgstr "" + +#: ../../../MemProf.rst:213 +msgid "" +"Implements the analysis and transformations (e.g., cloning) for resolving " +"ambiguous allocation contexts using LTO." +msgstr "" + +#: ../../../MemProf.rst:215 +msgid "**Transformation:** ``llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp``" +msgstr "" + +#: ../../../MemProf.rst:217 +msgid "" +"Implements the rewriting of allocation calls based on the hot/cold hints." +msgstr "" + +#: ../../../MemProf.rst:219 +msgid "" +"**Static Data Partitioning:** ``llvm/lib/CodeGen/AsmPrinter/AsmPrinter." +"cpp``, ``llvm/lib/CodeGen/StaticDataSplitter.cpp``, and ``llvm/lib/CodeGen/" +"StaticDataAnnotator.cpp``" +msgstr "" + +#: ../../../MemProf.rst:221 +msgid "" +"Implements the splitting of static data (Jump tables, Module-internal global " +"variables, and Constant pools) into hot and cold sections using branch " +"profile data. ``StaticDataAnnotator`` iterates over global variables and " +"sets their section prefixes based on the profile analysis from " +"``StaticDataSplitter``." +msgstr "" + +#: ../../../MemProf.rst:224 +msgid "Runtime Implementation" +msgstr "" + +#: ../../../MemProf.rst:226 +msgid "" +"The runtime uses a **shadow memory** scheme similar to AddressSanitizer " +"(ASan) but optimized for profiling." +msgstr "" + +#: ../../../MemProf.rst:228 +msgid "**Shadow Mapping:** Application memory is mapped to shadow memory." +msgstr "" + +#: ../../../MemProf.rst:230 +msgid "" +"**Granularity:** The default granularity is 64 bytes. One byte of shadow " +"memory tracks the access state of 64 bytes of application memory." +msgstr "" + +#: ../../../MemProf.rst:232 +msgid "" +"**MemInfoBlock (MIB):** A key data structure that stores statistics for an " +"allocation context, including: ``AllocCount``, ``TotalAccessCount``, " +"``TotalLifetime``, and ``Min/MaxAccessDensity``." +msgstr "" + +#: ../../../MemProf.rst:235 +msgid "Profile Format" +msgstr "" + +#: ../../../MemProf.rst:237 +msgid "" +"The MemProf profile is a schema-based binary format designed for " +"extensibility. Key structures include:" +msgstr "" + +#: ../../../MemProf.rst:239 +msgid "" +"**Frame:** Represents a function in the call stack (Function GUID, Line, " +"Column)." +msgstr "" + +#: ../../../MemProf.rst:240 +msgid "" +"**CallStack:** A sequence of Frames identifying the context of an allocation." +msgstr "" + +#: ../../../MemProf.rst:241 +msgid "**MemInfoBlock:** The statistics gathered for a specific CallStack." +msgstr "" + +#: ../../../MemProf.rst:243 +msgid "" +"The format supports versioning to allow adding new fields to the MIB without " +"breaking backward compatibility." +msgstr "" + +#: ../../../MemProf.rst:246 +msgid "Static Data Profile" +msgstr "" + +#: ../../../MemProf.rst:248 +msgid "" +"To support static data partitioning, the profile format includes a payload " +"for symbolized data access profiles. This maps data addresses to canonical " +"symbol names (or module source location for internal data) and access " +"counts. This enables the compiler to identify which global variables are hot." +msgstr "" + +#: ../../../MemProf.rst:250 +msgid "Testing" +msgstr "" + +#: ../../../MemProf.rst:256 +msgid "" +"When making changes to MemProf, verify your changes using the following test " +"suites:" +msgstr "" + +#: ../../../MemProf.rst:260 +msgid "**Runtime Tests:**" +msgstr "" + +#: ../../../MemProf.rst:264 +msgid "Location: ``compiler-rt/test/memprof``" +msgstr "" + +#: ../../../MemProf.rst:266 +msgid "" +"Purpose: Verify the runtime instrumentation, shadow memory behavior, and " +"profile generation." +msgstr "" + +#: ../../../MemProf.rst:270 +msgid "**Profile Manipulation Tests:**" +msgstr "" + +#: ../../../MemProf.rst:274 +msgid "Location: ``llvm/test/tools/llvm-profdata``" +msgstr "" + +#: ../../../MemProf.rst:276 +msgid "" +"Purpose: Verify that ``llvm-profdata`` can correctly merge, show, and handle " +"MemProf profiles." +msgstr "" + +#: ../../../MemProf.rst:280 +msgid "**Instrumentation & Optimization Tests:**" +msgstr "" + +#: ../../../MemProf.rst:284 +msgid "Location: ``llvm/test/Transforms/PGOProfile``" +msgstr "" + +#: ../../../MemProf.rst:286 +msgid "" +"Purpose: Verify the correctness of the ``MemProfUse`` pass, metadata " +"annotation, and IR transformations." +msgstr "" + +#: ../../../MemProf.rst:290 +msgid "**ThinLTO & Context Disambiguation Tests:**" +msgstr "" + +#: ../../../MemProf.rst:294 +msgid "" +"Location: ``llvm/test/ThinLTO/X86/memprof*`` and ``llvm/test/Transforms/" +"MemProfContextDisambiguation``" +msgstr "" + +#: ../../../MemProf.rst:296 +msgid "" +"Purpose: Verify context disambiguation, cloning, and summary analysis during " +"ThinLTO and LTO." +msgstr "" + +#: ../../../MemProf.rst:299 +msgid "Testing with YAML Profiles" +msgstr "" + +#: ../../../MemProf.rst:301 +msgid "" +"You can create MemProf profiles in YAML format for testing purposes. This is " +"useful for creating small, self-contained test cases without needing to run " +"a binary." +msgstr "" + +#: ../../../MemProf.rst:303 +msgid "" +"**Create a YAML Profile:** You can start by dumping a real profile to YAML " +"(see :ref:`Processing Profiles` above) or writing one from scratch." +msgstr "" + +#: ../../../MemProf.rst:305 +msgid "" +"**Convert to Indexed Format:** Use ``llvm-profdata`` to convert the YAML to " +"the indexed MemProf format." +msgstr "" + +#: ../../../MemProf.rst:311 +msgid "" +"**Run the Compiler:** Use the indexed profile with ``opt`` or ``clang``." +msgstr "" + +#: ../../../MemProf.rst:317 +msgid "**Example YAML Profile:** ::" +msgstr "" diff --git a/main/locale/pot/LC_MESSAGES/NVPTXUsage.pot b/main/locale/pot/LC_MESSAGES/NVPTXUsage.pot index 509c5b4ff9a..f52c47460d7 100644 --- a/main/locale/pot/LC_MESSAGES/NVPTXUsage.pot +++ b/main/locale/pot/LC_MESSAGES/NVPTXUsage.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: LLVM main\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-01-05 08:39+0000\n" +"POT-Creation-Date: 2026-03-09 08:48+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -39,7 +39,7 @@ msgid "" "This document assumes a basic familiarity with CUDA and the PTX assembly " "language. Information about the CUDA Driver API and the PTX assembly " "language can be found in the `CUDA documentation `_." +"cuda/index.html>`__." msgstr "" #: ../../../NVPTXUsage.rst:29 @@ -171,7 +171,7 @@ msgid "" "functions and requires ``nvvm.reqntid`` and ``nvvm.cluster_dim`` attributes." msgstr "" -#: ../../../NVPTXUsage.rst:117 ../../../NVPTXUsage.rst:3811 +#: ../../../NVPTXUsage.rst:117 ../../../NVPTXUsage.rst:4251 msgid "Address Spaces" msgstr "" @@ -187,16 +187,17 @@ msgstr "" msgid "Memory Space" msgstr "" -#: ../../../NVPTXUsage.rst:124 ../../../NVPTXUsage.rst:1410 -#: ../../../NVPTXUsage.rst:1418 ../../../NVPTXUsage.rst:1426 -#: ../../../NVPTXUsage.rst:1434 ../../../NVPTXUsage.rst:1442 -#: ../../../NVPTXUsage.rst:1450 ../../../NVPTXUsage.rst:2393 -#: ../../../NVPTXUsage.rst:2437 ../../../NVPTXUsage.rst:2469 -#: ../../../NVPTXUsage.rst:2503 ../../../NVPTXUsage.rst:2535 -#: ../../../NVPTXUsage.rst:3099 ../../../NVPTXUsage.rst:3119 -#: ../../../NVPTXUsage.rst:3192 ../../../NVPTXUsage.rst:3253 -#: ../../../NVPTXUsage.rst:3273 ../../../NVPTXUsage.rst:3324 -#: ../../../NVPTXUsage.rst:3335 ../../../NVPTXUsage.rst:3346 +#: ../../../NVPTXUsage.rst:124 ../../../NVPTXUsage.rst:1749 +#: ../../../NVPTXUsage.rst:1757 ../../../NVPTXUsage.rst:1765 +#: ../../../NVPTXUsage.rst:1773 ../../../NVPTXUsage.rst:1781 +#: ../../../NVPTXUsage.rst:1789 ../../../NVPTXUsage.rst:2726 +#: ../../../NVPTXUsage.rst:2770 ../../../NVPTXUsage.rst:2802 +#: ../../../NVPTXUsage.rst:2836 ../../../NVPTXUsage.rst:2868 +#: ../../../NVPTXUsage.rst:3205 ../../../NVPTXUsage.rst:3480 +#: ../../../NVPTXUsage.rst:3500 ../../../NVPTXUsage.rst:3586 +#: ../../../NVPTXUsage.rst:3670 ../../../NVPTXUsage.rst:3690 +#: ../../../NVPTXUsage.rst:3759 ../../../NVPTXUsage.rst:3770 +#: ../../../NVPTXUsage.rst:3781 msgid "0" msgstr "" @@ -204,18 +205,19 @@ msgstr "" msgid "Generic" msgstr "" -#: ../../../NVPTXUsage.rst:125 ../../../NVPTXUsage.rst:1412 -#: ../../../NVPTXUsage.rst:1420 ../../../NVPTXUsage.rst:1428 -#: ../../../NVPTXUsage.rst:1436 ../../../NVPTXUsage.rst:1444 -#: ../../../NVPTXUsage.rst:1452 ../../../NVPTXUsage.rst:2394 -#: ../../../NVPTXUsage.rst:2438 ../../../NVPTXUsage.rst:2470 -#: ../../../NVPTXUsage.rst:2504 ../../../NVPTXUsage.rst:2536 -#: ../../../NVPTXUsage.rst:2837 ../../../NVPTXUsage.rst:3100 -#: ../../../NVPTXUsage.rst:3110 ../../../NVPTXUsage.rst:3120 -#: ../../../NVPTXUsage.rst:3183 ../../../NVPTXUsage.rst:3193 -#: ../../../NVPTXUsage.rst:3254 ../../../NVPTXUsage.rst:3264 -#: ../../../NVPTXUsage.rst:3274 ../../../NVPTXUsage.rst:3325 -#: ../../../NVPTXUsage.rst:3336 ../../../NVPTXUsage.rst:3347 +#: ../../../NVPTXUsage.rst:125 ../../../NVPTXUsage.rst:1751 +#: ../../../NVPTXUsage.rst:1759 ../../../NVPTXUsage.rst:1767 +#: ../../../NVPTXUsage.rst:1775 ../../../NVPTXUsage.rst:1783 +#: ../../../NVPTXUsage.rst:1791 ../../../NVPTXUsage.rst:2727 +#: ../../../NVPTXUsage.rst:2771 ../../../NVPTXUsage.rst:2803 +#: ../../../NVPTXUsage.rst:2837 ../../../NVPTXUsage.rst:2869 +#: ../../../NVPTXUsage.rst:3182 ../../../NVPTXUsage.rst:3206 +#: ../../../NVPTXUsage.rst:3481 ../../../NVPTXUsage.rst:3491 +#: ../../../NVPTXUsage.rst:3501 ../../../NVPTXUsage.rst:3577 +#: ../../../NVPTXUsage.rst:3587 ../../../NVPTXUsage.rst:3671 +#: ../../../NVPTXUsage.rst:3681 ../../../NVPTXUsage.rst:3691 +#: ../../../NVPTXUsage.rst:3760 ../../../NVPTXUsage.rst:3771 +#: ../../../NVPTXUsage.rst:3782 msgid "1" msgstr "" @@ -223,18 +225,18 @@ msgstr "" msgid "Global" msgstr "" -#: ../../../NVPTXUsage.rst:126 ../../../NVPTXUsage.rst:1414 -#: ../../../NVPTXUsage.rst:1422 ../../../NVPTXUsage.rst:1430 -#: ../../../NVPTXUsage.rst:1438 ../../../NVPTXUsage.rst:1446 -#: ../../../NVPTXUsage.rst:1454 ../../../NVPTXUsage.rst:2395 -#: ../../../NVPTXUsage.rst:2439 ../../../NVPTXUsage.rst:2471 -#: ../../../NVPTXUsage.rst:2505 ../../../NVPTXUsage.rst:2837 -#: ../../../NVPTXUsage.rst:2838 ../../../NVPTXUsage.rst:3101 -#: ../../../NVPTXUsage.rst:3111 ../../../NVPTXUsage.rst:3121 -#: ../../../NVPTXUsage.rst:3184 ../../../NVPTXUsage.rst:3194 -#: ../../../NVPTXUsage.rst:3255 ../../../NVPTXUsage.rst:3265 -#: ../../../NVPTXUsage.rst:3275 ../../../NVPTXUsage.rst:3326 -#: ../../../NVPTXUsage.rst:3337 ../../../NVPTXUsage.rst:3348 +#: ../../../NVPTXUsage.rst:126 ../../../NVPTXUsage.rst:1753 +#: ../../../NVPTXUsage.rst:1761 ../../../NVPTXUsage.rst:1769 +#: ../../../NVPTXUsage.rst:1777 ../../../NVPTXUsage.rst:1785 +#: ../../../NVPTXUsage.rst:1793 ../../../NVPTXUsage.rst:2728 +#: ../../../NVPTXUsage.rst:2772 ../../../NVPTXUsage.rst:2804 +#: ../../../NVPTXUsage.rst:2838 ../../../NVPTXUsage.rst:3182 +#: ../../../NVPTXUsage.rst:3183 ../../../NVPTXUsage.rst:3482 +#: ../../../NVPTXUsage.rst:3492 ../../../NVPTXUsage.rst:3502 +#: ../../../NVPTXUsage.rst:3578 ../../../NVPTXUsage.rst:3588 +#: ../../../NVPTXUsage.rst:3672 ../../../NVPTXUsage.rst:3682 +#: ../../../NVPTXUsage.rst:3692 ../../../NVPTXUsage.rst:3761 +#: ../../../NVPTXUsage.rst:3772 ../../../NVPTXUsage.rst:3783 msgid "2" msgstr "" @@ -242,15 +244,15 @@ msgstr "" msgid "Internal Use" msgstr "" -#: ../../../NVPTXUsage.rst:127 ../../../NVPTXUsage.rst:1416 -#: ../../../NVPTXUsage.rst:1424 ../../../NVPTXUsage.rst:1432 -#: ../../../NVPTXUsage.rst:1440 ../../../NVPTXUsage.rst:1448 -#: ../../../NVPTXUsage.rst:1456 ../../../NVPTXUsage.rst:2396 -#: ../../../NVPTXUsage.rst:2472 ../../../NVPTXUsage.rst:2506 -#: ../../../NVPTXUsage.rst:3102 ../../../NVPTXUsage.rst:3122 -#: ../../../NVPTXUsage.rst:3195 ../../../NVPTXUsage.rst:3256 -#: ../../../NVPTXUsage.rst:3276 ../../../NVPTXUsage.rst:3327 -#: ../../../NVPTXUsage.rst:3338 ../../../NVPTXUsage.rst:3349 +#: ../../../NVPTXUsage.rst:127 ../../../NVPTXUsage.rst:1755 +#: ../../../NVPTXUsage.rst:1763 ../../../NVPTXUsage.rst:1771 +#: ../../../NVPTXUsage.rst:1779 ../../../NVPTXUsage.rst:1787 +#: ../../../NVPTXUsage.rst:1795 ../../../NVPTXUsage.rst:2729 +#: ../../../NVPTXUsage.rst:2805 ../../../NVPTXUsage.rst:2839 +#: ../../../NVPTXUsage.rst:3483 ../../../NVPTXUsage.rst:3503 +#: ../../../NVPTXUsage.rst:3589 ../../../NVPTXUsage.rst:3673 +#: ../../../NVPTXUsage.rst:3693 ../../../NVPTXUsage.rst:3762 +#: ../../../NVPTXUsage.rst:3773 ../../../NVPTXUsage.rst:3784 msgid "3" msgstr "" @@ -258,9 +260,9 @@ msgstr "" msgid "Shared" msgstr "" -#: ../../../NVPTXUsage.rst:128 ../../../NVPTXUsage.rst:2397 -#: ../../../NVPTXUsage.rst:2473 ../../../NVPTXUsage.rst:2837 -#: ../../../NVPTXUsage.rst:2838 ../../../NVPTXUsage.rst:2839 +#: ../../../NVPTXUsage.rst:128 ../../../NVPTXUsage.rst:2730 +#: ../../../NVPTXUsage.rst:2806 ../../../NVPTXUsage.rst:3182 +#: ../../../NVPTXUsage.rst:3183 ../../../NVPTXUsage.rst:3184 msgid "4" msgstr "" @@ -268,7 +270,7 @@ msgstr "" msgid "Constant" msgstr "" -#: ../../../NVPTXUsage.rst:129 ../../../NVPTXUsage.rst:2398 +#: ../../../NVPTXUsage.rst:129 ../../../NVPTXUsage.rst:2731 msgid "5" msgstr "" @@ -276,7 +278,7 @@ msgstr "" msgid "Local" msgstr "" -#: ../../../NVPTXUsage.rst:130 ../../../NVPTXUsage.rst:2400 +#: ../../../NVPTXUsage.rst:130 ../../../NVPTXUsage.rst:2733 msgid "7" msgstr "" @@ -342,24 +344,39 @@ msgstr "" #: ../../../NVPTXUsage.rst:174 msgid "" "GPU architectures: sm_2Y/sm_3Y/sm_5Y/sm_6Y/sm_7Y/sm_8Y/sm_9Y/sm_10Y/sm_12Y " -"('Y' represents version within the architecture) The architectures have name " -"of form ``sm_XYz`` where ``X`` represent the generation number, ``Y`` " -"represents the version within the architecture, and ``z`` represents the " -"optional feature suffix. If ``X1Y1 <= X2Y2``, then GPU capabilities of " -"``sm_X1Y1`` are included in ``sm_X2Y2``. For example, take ``sm_90`` (9 " -"represents ``X``, 0 represents ``Y``, and no feature suffix) and ``sm_103`` " -"architectures (10 represents ``X``, 3 represents ``Y``, and no feature " -"suffix). Since 90 <= 103, ``sm_90`` is compatible with ``sm_103``." +"('Y' represents version within the architecture). The architectures have " +"name of the form ``sm_XYz`` where:" +msgstr "" + +#: ../../../NVPTXUsage.rst:178 +msgid "``X`` represent the generation number" msgstr "" -#: ../../../NVPTXUsage.rst:184 +#: ../../../NVPTXUsage.rst:179 +msgid "``Y`` represents the version within the architecture, and" +msgstr "" + +#: ../../../NVPTXUsage.rst:180 +msgid "``z`` represents the optional feature suffix." +msgstr "" + +#: ../../../NVPTXUsage.rst:182 +msgid "" +"If ``X1Y1 <= X2Y2``, then GPU capabilities of ``sm_X1Y1`` are included in " +"``sm_X2Y2``. For example, take ``sm_90`` (9 represents ``X``, 0 represents " +"``Y``, and no feature suffix) and ``sm_103`` architectures (10 represents " +"``X``, 3 represents ``Y``, and no feature suffix). Since 90 <= 103, " +"``sm_90`` is compatible with ``sm_103``." +msgstr "" + +#: ../../../NVPTXUsage.rst:188 msgid "" "The family-specific variants have ``f`` feature suffix and they follow " "following order: ``sm_X{Y2}f > sm_X{Y1}f`` iff ``Y2 > Y1`` ``sm_XY{f} > " "sm_{XY}{}``" msgstr "" -#: ../../../NVPTXUsage.rst:189 +#: ../../../NVPTXUsage.rst:193 msgid "" "For example, take ``sm_100f`` (10 represents ``X``, 0 represents ``Y``, and " "``f`` represents ``z``) and ``sm_103f`` (10 represents ``X``, 3 represents " @@ -368,7 +385,7 @@ msgid "" "rule, ``sm_90`` is compatible with ``sm_103f``." msgstr "" -#: ../../../NVPTXUsage.rst:194 +#: ../../../NVPTXUsage.rst:199 msgid "" "Some counter examples, take ``sm_100f`` and ``sm_120f`` (12 represents " "``X``, 0 represents ``Y``, and ``f`` represents ``z``) architecture " @@ -376,13 +393,13 @@ msgid "" "``sm_100f`` is not compatible with ``sm_120f``." msgstr "" -#: ../../../NVPTXUsage.rst:199 +#: ../../../NVPTXUsage.rst:204 msgid "" "The architecture-specific variants have ``a`` feature suffix and they follow " "following order: ``sm_XY{a} > sm_XY{f} > sm_{XY}{}``" msgstr "" -#: ../../../NVPTXUsage.rst:203 +#: ../../../NVPTXUsage.rst:208 msgid "" "For example, take ``sm_103a`` (10 represents ``X``, 3 represents ``Y``, and " "``a`` represents ``z``), ``sm_103f``, and ``sm_103`` architecture variants. " @@ -390,199 +407,207 @@ msgid "" "``sm_103f`` is compatible with ``sm_103a``." msgstr "" -#: ../../../NVPTXUsage.rst:207 +#: ../../../NVPTXUsage.rst:213 msgid "Encoding := Arch * 10 + 2 (for 'f') + 1 (for 'a') Arch := X * 10 + Y" msgstr "" -#: ../../../NVPTXUsage.rst:210 +#: ../../../NVPTXUsage.rst:216 msgid "" "For example, ``sm_103f`` is encoded as 1032 (103 * 10 + 2) and ``sm_103a`` " "is encoded as 1033 (103 * 10 + 2 + 1)." msgstr "" -#: ../../../NVPTXUsage.rst:213 +#: ../../../NVPTXUsage.rst:219 msgid "This encoding allows simple partial ordering of the architectures." msgstr "" -#: ../../../NVPTXUsage.rst:215 +#: ../../../NVPTXUsage.rst:221 msgid "" "Compare Family and Arch by dividing FullSMVersion by 100 and 10 respectively " "before the comparison." msgstr "" -#: ../../../NVPTXUsage.rst:217 +#: ../../../NVPTXUsage.rst:223 msgid "" "Compare within the family by comparing FullSMVersion, given both belongs to " "the same family." msgstr "" -#: ../../../NVPTXUsage.rst:219 +#: ../../../NVPTXUsage.rst:225 msgid "Detect ``a`` variants by checking FullSMVersion & 1." msgstr "" -#: ../../../NVPTXUsage.rst:224 +#: ../../../NVPTXUsage.rst:230 msgid "NVPTX Intrinsics" msgstr "" -#: ../../../NVPTXUsage.rst:227 +#: ../../../NVPTXUsage.rst:233 msgid "Reading PTX Special Registers" msgstr "" -#: ../../../NVPTXUsage.rst:230 +#: ../../../NVPTXUsage.rst:236 msgid "'``llvm.nvvm.read.ptx.sreg.*``'" msgstr "" -#: ../../../NVPTXUsage.rst:233 ../../../NVPTXUsage.rst:271 -#: ../../../NVPTXUsage.rst:305 ../../../NVPTXUsage.rst:436 -#: ../../../NVPTXUsage.rst:468 ../../../NVPTXUsage.rst:494 -#: ../../../NVPTXUsage.rst:532 ../../../NVPTXUsage.rst:560 -#: ../../../NVPTXUsage.rst:615 ../../../NVPTXUsage.rst:648 -#: ../../../NVPTXUsage.rst:680 ../../../NVPTXUsage.rst:715 -#: ../../../NVPTXUsage.rst:794 ../../../NVPTXUsage.rst:831 -#: ../../../NVPTXUsage.rst:858 ../../../NVPTXUsage.rst:882 -#: ../../../NVPTXUsage.rst:901 ../../../NVPTXUsage.rst:929 -#: ../../../NVPTXUsage.rst:964 ../../../NVPTXUsage.rst:999 -#: ../../../NVPTXUsage.rst:1026 ../../../NVPTXUsage.rst:1055 -#: ../../../NVPTXUsage.rst:1082 ../../../NVPTXUsage.rst:1108 -#: ../../../NVPTXUsage.rst:1143 ../../../NVPTXUsage.rst:1177 -#: ../../../NVPTXUsage.rst:1205 ../../../NVPTXUsage.rst:1233 -#: ../../../NVPTXUsage.rst:1259 ../../../NVPTXUsage.rst:1287 -#: ../../../NVPTXUsage.rst:1317 ../../../NVPTXUsage.rst:1343 -#: ../../../NVPTXUsage.rst:1377 ../../../NVPTXUsage.rst:1466 -#: ../../../NVPTXUsage.rst:1502 ../../../NVPTXUsage.rst:1528 -#: ../../../NVPTXUsage.rst:1560 ../../../NVPTXUsage.rst:1584 -#: ../../../NVPTXUsage.rst:1612 ../../../NVPTXUsage.rst:1659 -#: ../../../NVPTXUsage.rst:1683 ../../../NVPTXUsage.rst:1722 -#: ../../../NVPTXUsage.rst:1780 ../../../NVPTXUsage.rst:1824 -#: ../../../NVPTXUsage.rst:1867 ../../../NVPTXUsage.rst:1914 -#: ../../../NVPTXUsage.rst:1955 ../../../NVPTXUsage.rst:1983 -#: ../../../NVPTXUsage.rst:2026 ../../../NVPTXUsage.rst:2071 -#: ../../../NVPTXUsage.rst:2114 ../../../NVPTXUsage.rst:2144 -#: ../../../NVPTXUsage.rst:2175 ../../../NVPTXUsage.rst:2202 -#: ../../../NVPTXUsage.rst:2231 ../../../NVPTXUsage.rst:2263 -#: ../../../NVPTXUsage.rst:2280 ../../../NVPTXUsage.rst:2298 -#: ../../../NVPTXUsage.rst:2316 ../../../NVPTXUsage.rst:2334 -#: ../../../NVPTXUsage.rst:2352 ../../../NVPTXUsage.rst:2370 -#: ../../../NVPTXUsage.rst:2415 ../../../NVPTXUsage.rst:2446 -#: ../../../NVPTXUsage.rst:2480 ../../../NVPTXUsage.rst:2513 -#: ../../../NVPTXUsage.rst:2560 ../../../NVPTXUsage.rst:2590 -#: ../../../NVPTXUsage.rst:2615 ../../../NVPTXUsage.rst:2641 -#: ../../../NVPTXUsage.rst:2668 ../../../NVPTXUsage.rst:2693 -#: ../../../NVPTXUsage.rst:2715 ../../../NVPTXUsage.rst:2739 -#: ../../../NVPTXUsage.rst:2803 ../../../NVPTXUsage.rst:2857 -#: ../../../NVPTXUsage.rst:3043 ../../../NVPTXUsage.rst:3129 -#: ../../../NVPTXUsage.rst:3202 ../../../NVPTXUsage.rst:3284 -#: ../../../NVPTXUsage.rst:3359 ../../../NVPTXUsage.rst:3392 -#: ../../../NVPTXUsage.rst:3425 ../../../NVPTXUsage.rst:3452 -#: ../../../NVPTXUsage.rst:3483 +#: ../../../NVPTXUsage.rst:239 ../../../NVPTXUsage.rst:277 +#: ../../../NVPTXUsage.rst:307 ../../../NVPTXUsage.rst:346 +#: ../../../NVPTXUsage.rst:477 ../../../NVPTXUsage.rst:509 +#: ../../../NVPTXUsage.rst:535 ../../../NVPTXUsage.rst:573 +#: ../../../NVPTXUsage.rst:601 ../../../NVPTXUsage.rst:656 +#: ../../../NVPTXUsage.rst:689 ../../../NVPTXUsage.rst:721 +#: ../../../NVPTXUsage.rst:756 ../../../NVPTXUsage.rst:835 +#: ../../../NVPTXUsage.rst:872 ../../../NVPTXUsage.rst:899 +#: ../../../NVPTXUsage.rst:924 ../../../NVPTXUsage.rst:944 +#: ../../../NVPTXUsage.rst:974 ../../../NVPTXUsage.rst:1009 +#: ../../../NVPTXUsage.rst:1057 ../../../NVPTXUsage.rst:1084 +#: ../../../NVPTXUsage.rst:1141 ../../../NVPTXUsage.rst:1181 +#: ../../../NVPTXUsage.rst:1219 ../../../NVPTXUsage.rst:1254 +#: ../../../NVPTXUsage.rst:1293 ../../../NVPTXUsage.rst:1320 +#: ../../../NVPTXUsage.rst:1346 ../../../NVPTXUsage.rst:1381 +#: ../../../NVPTXUsage.rst:1412 ../../../NVPTXUsage.rst:1440 +#: ../../../NVPTXUsage.rst:1468 ../../../NVPTXUsage.rst:1515 +#: ../../../NVPTXUsage.rst:1543 ../../../NVPTXUsage.rst:1571 +#: ../../../NVPTXUsage.rst:1598 ../../../NVPTXUsage.rst:1626 +#: ../../../NVPTXUsage.rst:1656 ../../../NVPTXUsage.rst:1682 +#: ../../../NVPTXUsage.rst:1716 ../../../NVPTXUsage.rst:1805 +#: ../../../NVPTXUsage.rst:1840 ../../../NVPTXUsage.rst:1865 +#: ../../../NVPTXUsage.rst:1895 ../../../NVPTXUsage.rst:1918 +#: ../../../NVPTXUsage.rst:1945 ../../../NVPTXUsage.rst:1993 +#: ../../../NVPTXUsage.rst:2019 ../../../NVPTXUsage.rst:2061 +#: ../../../NVPTXUsage.rst:2117 ../../../NVPTXUsage.rst:2161 +#: ../../../NVPTXUsage.rst:2202 ../../../NVPTXUsage.rst:2247 +#: ../../../NVPTXUsage.rst:2286 ../../../NVPTXUsage.rst:2313 +#: ../../../NVPTXUsage.rst:2355 ../../../NVPTXUsage.rst:2399 +#: ../../../NVPTXUsage.rst:2441 ../../../NVPTXUsage.rst:2471 +#: ../../../NVPTXUsage.rst:2502 ../../../NVPTXUsage.rst:2529 +#: ../../../NVPTXUsage.rst:2558 ../../../NVPTXUsage.rst:2596 +#: ../../../NVPTXUsage.rst:2613 ../../../NVPTXUsage.rst:2631 +#: ../../../NVPTXUsage.rst:2649 ../../../NVPTXUsage.rst:2667 +#: ../../../NVPTXUsage.rst:2685 ../../../NVPTXUsage.rst:2703 +#: ../../../NVPTXUsage.rst:2748 ../../../NVPTXUsage.rst:2779 +#: ../../../NVPTXUsage.rst:2813 ../../../NVPTXUsage.rst:2846 +#: ../../../NVPTXUsage.rst:2893 ../../../NVPTXUsage.rst:2923 +#: ../../../NVPTXUsage.rst:2948 ../../../NVPTXUsage.rst:2973 +#: ../../../NVPTXUsage.rst:3001 ../../../NVPTXUsage.rst:3025 +#: ../../../NVPTXUsage.rst:3046 ../../../NVPTXUsage.rst:3070 +#: ../../../NVPTXUsage.rst:3135 ../../../NVPTXUsage.rst:3217 +#: ../../../NVPTXUsage.rst:3422 ../../../NVPTXUsage.rst:3510 +#: ../../../NVPTXUsage.rst:3596 ../../../NVPTXUsage.rst:3701 +#: ../../../NVPTXUsage.rst:3794 ../../../NVPTXUsage.rst:3829 +#: ../../../NVPTXUsage.rst:3863 ../../../NVPTXUsage.rst:3891 +#: ../../../NVPTXUsage.rst:3923 msgid "Syntax:" msgstr "" -#: ../../../NVPTXUsage.rst:252 ../../../NVPTXUsage.rst:280 -#: ../../../NVPTXUsage.rst:331 ../../../NVPTXUsage.rst:384 -#: ../../../NVPTXUsage.rst:444 ../../../NVPTXUsage.rst:476 -#: ../../../NVPTXUsage.rst:504 ../../../NVPTXUsage.rst:542 -#: ../../../NVPTXUsage.rst:575 ../../../NVPTXUsage.rst:630 -#: ../../../NVPTXUsage.rst:663 ../../../NVPTXUsage.rst:695 -#: ../../../NVPTXUsage.rst:730 ../../../NVPTXUsage.rst:811 -#: ../../../NVPTXUsage.rst:838 ../../../NVPTXUsage.rst:866 -#: ../../../NVPTXUsage.rst:889 ../../../NVPTXUsage.rst:909 -#: ../../../NVPTXUsage.rst:940 ../../../NVPTXUsage.rst:979 -#: ../../../NVPTXUsage.rst:1010 ../../../NVPTXUsage.rst:1034 -#: ../../../NVPTXUsage.rst:1067 ../../../NVPTXUsage.rst:1091 -#: ../../../NVPTXUsage.rst:1119 ../../../NVPTXUsage.rst:1153 -#: ../../../NVPTXUsage.rst:1184 ../../../NVPTXUsage.rst:1212 -#: ../../../NVPTXUsage.rst:1241 ../../../NVPTXUsage.rst:1267 -#: ../../../NVPTXUsage.rst:1297 ../../../NVPTXUsage.rst:1325 -#: ../../../NVPTXUsage.rst:1350 ../../../NVPTXUsage.rst:1390 -#: ../../../NVPTXUsage.rst:1473 ../../../NVPTXUsage.rst:1509 -#: ../../../NVPTXUsage.rst:1536 ../../../NVPTXUsage.rst:1567 -#: ../../../NVPTXUsage.rst:1591 ../../../NVPTXUsage.rst:1634 -#: ../../../NVPTXUsage.rst:1667 ../../../NVPTXUsage.rst:1691 -#: ../../../NVPTXUsage.rst:1735 ../../../NVPTXUsage.rst:1797 -#: ../../../NVPTXUsage.rst:1837 ../../../NVPTXUsage.rst:1884 -#: ../../../NVPTXUsage.rst:1927 ../../../NVPTXUsage.rst:1964 -#: ../../../NVPTXUsage.rst:1996 ../../../NVPTXUsage.rst:2043 -#: ../../../NVPTXUsage.rst:2090 ../../../NVPTXUsage.rst:2123 -#: ../../../NVPTXUsage.rst:2151 ../../../NVPTXUsage.rst:2182 -#: ../../../NVPTXUsage.rst:2209 ../../../NVPTXUsage.rst:2239 -#: ../../../NVPTXUsage.rst:2271 ../../../NVPTXUsage.rst:2288 -#: ../../../NVPTXUsage.rst:2306 ../../../NVPTXUsage.rst:2324 -#: ../../../NVPTXUsage.rst:2342 ../../../NVPTXUsage.rst:2360 -#: ../../../NVPTXUsage.rst:2378 ../../../NVPTXUsage.rst:2423 -#: ../../../NVPTXUsage.rst:2454 ../../../NVPTXUsage.rst:2488 -#: ../../../NVPTXUsage.rst:2521 ../../../NVPTXUsage.rst:2570 -#: ../../../NVPTXUsage.rst:2598 ../../../NVPTXUsage.rst:2623 -#: ../../../NVPTXUsage.rst:2651 ../../../NVPTXUsage.rst:2676 -#: ../../../NVPTXUsage.rst:2701 ../../../NVPTXUsage.rst:2723 -#: ../../../NVPTXUsage.rst:2765 ../../../NVPTXUsage.rst:2812 -#: ../../../NVPTXUsage.rst:2866 ../../../NVPTXUsage.rst:3063 -#: ../../../NVPTXUsage.rst:3164 ../../../NVPTXUsage.rst:3230 -#: ../../../NVPTXUsage.rst:3302 ../../../NVPTXUsage.rst:3367 -#: ../../../NVPTXUsage.rst:3400 ../../../NVPTXUsage.rst:3432 -#: ../../../NVPTXUsage.rst:3461 ../../../NVPTXUsage.rst:3490 +#: ../../../NVPTXUsage.rst:258 ../../../NVPTXUsage.rst:286 +#: ../../../NVPTXUsage.rst:318 ../../../NVPTXUsage.rst:372 +#: ../../../NVPTXUsage.rst:425 ../../../NVPTXUsage.rst:485 +#: ../../../NVPTXUsage.rst:517 ../../../NVPTXUsage.rst:545 +#: ../../../NVPTXUsage.rst:583 ../../../NVPTXUsage.rst:616 +#: ../../../NVPTXUsage.rst:671 ../../../NVPTXUsage.rst:704 +#: ../../../NVPTXUsage.rst:736 ../../../NVPTXUsage.rst:771 +#: ../../../NVPTXUsage.rst:852 ../../../NVPTXUsage.rst:879 +#: ../../../NVPTXUsage.rst:907 ../../../NVPTXUsage.rst:931 +#: ../../../NVPTXUsage.rst:952 ../../../NVPTXUsage.rst:985 +#: ../../../NVPTXUsage.rst:1024 ../../../NVPTXUsage.rst:1068 +#: ../../../NVPTXUsage.rst:1092 ../../../NVPTXUsage.rst:1155 +#: ../../../NVPTXUsage.rst:1190 ../../../NVPTXUsage.rst:1230 +#: ../../../NVPTXUsage.rst:1265 ../../../NVPTXUsage.rst:1305 +#: ../../../NVPTXUsage.rst:1329 ../../../NVPTXUsage.rst:1357 +#: ../../../NVPTXUsage.rst:1391 ../../../NVPTXUsage.rst:1423 +#: ../../../NVPTXUsage.rst:1451 ../../../NVPTXUsage.rst:1491 +#: ../../../NVPTXUsage.rst:1522 ../../../NVPTXUsage.rst:1550 +#: ../../../NVPTXUsage.rst:1579 ../../../NVPTXUsage.rst:1606 +#: ../../../NVPTXUsage.rst:1636 ../../../NVPTXUsage.rst:1664 +#: ../../../NVPTXUsage.rst:1689 ../../../NVPTXUsage.rst:1729 +#: ../../../NVPTXUsage.rst:1812 ../../../NVPTXUsage.rst:1847 +#: ../../../NVPTXUsage.rst:1873 ../../../NVPTXUsage.rst:1902 +#: ../../../NVPTXUsage.rst:1925 ../../../NVPTXUsage.rst:1967 +#: ../../../NVPTXUsage.rst:2001 ../../../NVPTXUsage.rst:2027 +#: ../../../NVPTXUsage.rst:2074 ../../../NVPTXUsage.rst:2134 +#: ../../../NVPTXUsage.rst:2174 ../../../NVPTXUsage.rst:2219 +#: ../../../NVPTXUsage.rst:2260 ../../../NVPTXUsage.rst:2295 +#: ../../../NVPTXUsage.rst:2326 ../../../NVPTXUsage.rst:2372 +#: ../../../NVPTXUsage.rst:2418 ../../../NVPTXUsage.rst:2450 +#: ../../../NVPTXUsage.rst:2478 ../../../NVPTXUsage.rst:2509 +#: ../../../NVPTXUsage.rst:2536 ../../../NVPTXUsage.rst:2566 +#: ../../../NVPTXUsage.rst:2604 ../../../NVPTXUsage.rst:2621 +#: ../../../NVPTXUsage.rst:2639 ../../../NVPTXUsage.rst:2657 +#: ../../../NVPTXUsage.rst:2675 ../../../NVPTXUsage.rst:2693 +#: ../../../NVPTXUsage.rst:2711 ../../../NVPTXUsage.rst:2756 +#: ../../../NVPTXUsage.rst:2787 ../../../NVPTXUsage.rst:2821 +#: ../../../NVPTXUsage.rst:2854 ../../../NVPTXUsage.rst:2903 +#: ../../../NVPTXUsage.rst:2931 ../../../NVPTXUsage.rst:2956 +#: ../../../NVPTXUsage.rst:2983 ../../../NVPTXUsage.rst:3009 +#: ../../../NVPTXUsage.rst:3033 ../../../NVPTXUsage.rst:3054 +#: ../../../NVPTXUsage.rst:3096 ../../../NVPTXUsage.rst:3152 +#: ../../../NVPTXUsage.rst:3226 ../../../NVPTXUsage.rst:3442 +#: ../../../NVPTXUsage.rst:3545 ../../../NVPTXUsage.rst:3624 +#: ../../../NVPTXUsage.rst:3719 ../../../NVPTXUsage.rst:3802 +#: ../../../NVPTXUsage.rst:3837 ../../../NVPTXUsage.rst:3870 +#: ../../../NVPTXUsage.rst:3900 ../../../NVPTXUsage.rst:3930 msgid "Overview:" msgstr "" -#: ../../../NVPTXUsage.rst:254 +#: ../../../NVPTXUsage.rst:260 msgid "" "The '``@llvm.nvvm.read.ptx.sreg.*``' intrinsics provide access to the PTX " "special registers, in particular the kernel launch bounds. These registers " "map in the following way to CUDA builtins:" msgstr "" -#: ../../../NVPTXUsage.rst:259 +#: ../../../NVPTXUsage.rst:265 msgid "CUDA Builtin" msgstr "" -#: ../../../NVPTXUsage.rst:259 +#: ../../../NVPTXUsage.rst:265 msgid "PTX Special Register Intrinsic" msgstr "" -#: ../../../NVPTXUsage.rst:261 +#: ../../../NVPTXUsage.rst:267 msgid "``threadId``" msgstr "" -#: ../../../NVPTXUsage.rst:261 +#: ../../../NVPTXUsage.rst:267 msgid "``@llvm.nvvm.read.ptx.sreg.tid.*``" msgstr "" -#: ../../../NVPTXUsage.rst:262 +#: ../../../NVPTXUsage.rst:268 msgid "``blockIdx``" msgstr "" -#: ../../../NVPTXUsage.rst:262 +#: ../../../NVPTXUsage.rst:268 msgid "``@llvm.nvvm.read.ptx.sreg.ctaid.*``" msgstr "" -#: ../../../NVPTXUsage.rst:263 +#: ../../../NVPTXUsage.rst:269 msgid "``blockDim``" msgstr "" -#: ../../../NVPTXUsage.rst:263 +#: ../../../NVPTXUsage.rst:269 msgid "``@llvm.nvvm.read.ptx.sreg.ntid.*``" msgstr "" -#: ../../../NVPTXUsage.rst:264 +#: ../../../NVPTXUsage.rst:270 msgid "``gridDim``" msgstr "" -#: ../../../NVPTXUsage.rst:264 +#: ../../../NVPTXUsage.rst:270 msgid "``@llvm.nvvm.read.ptx.sreg.nctaid.*``" msgstr "" -#: ../../../NVPTXUsage.rst:268 +#: ../../../NVPTXUsage.rst:274 msgid "'``llvm.nvvm.read.ptx.sreg.*_smem_size``'" msgstr "" -#: ../../../NVPTXUsage.rst:282 +#: ../../../NVPTXUsage.rst:288 msgid "" "The '``@llvm.nvvm.read.ptx.sreg.total_smem_size``' intrinsic reads the PTX " "special register that holds the total amount of shared memory allocated per " "CTA for the kernel at launch." msgstr "" -#: ../../../NVPTXUsage.rst:286 +#: ../../../NVPTXUsage.rst:292 msgid "" "The reported value includes both statically allocated and dynamically " "requested shared memory, but excludes any shared memory reserved for system " @@ -591,52 +616,94 @@ msgid "" "is 128 bytes." msgstr "" -#: ../../../NVPTXUsage.rst:292 +#: ../../../NVPTXUsage.rst:297 msgid "" "The '``aggr_smem_size``' variant returns the aggregate shared memory size, " "including the portion reserved for system software use." msgstr "" -#: ../../../NVPTXUsage.rst:295 +#: ../../../NVPTXUsage.rst:300 msgid "" "The '``dynamic_smem_size``' variant returns the amount of dynamic shared " "memory allocated per CTA for the kernel at launch time." msgstr "" -#: ../../../NVPTXUsage.rst:299 +#: ../../../NVPTXUsage.rst:304 +msgid "'``llvm.nvvm.read.ptx.sreg.reserved_smem_offset_*``'" +msgstr "" + +#: ../../../NVPTXUsage.rst:320 +msgid "" +"The '``@llvm.nvvm.read.ptx.sreg.reserved_smem_offset_*``' intrinsics provide " +"access to PTX special registers that hold information about reserved shared " +"memory offsets." +msgstr "" + +#: ../../../NVPTXUsage.rst:324 +msgid "" +"The '``reserved_smem_offset_begin``' intrinsic reads the start offset of the " +"reserved shared memory region." +msgstr "" + +#: ../../../NVPTXUsage.rst:327 +msgid "" +"The '``reserved_smem_offset_end``' intrinsic reads the end offset of the " +"reserved shared memory region." +msgstr "" + +#: ../../../NVPTXUsage.rst:330 +msgid "" +"The '``reserved_smem_offset_cap``' intrinsic reads the capacity limit of the " +"reserved shared memory region." +msgstr "" + +#: ../../../NVPTXUsage.rst:333 +msgid "" +"The '``reserved_smem_offset_0``' and '``reserved_smem_offset_1``' intrinsics " +"read additional offsets in the reserved shared memory region." +msgstr "" + +#: ../../../NVPTXUsage.rst:336 +msgid "" +"For more information, refer `PTX ISA `__." +msgstr "" + +#: ../../../NVPTXUsage.rst:340 msgid "Barriers" msgstr "" -#: ../../../NVPTXUsage.rst:302 +#: ../../../NVPTXUsage.rst:343 msgid "'``llvm.nvvm.barrier.cta.*``'" msgstr "" -#: ../../../NVPTXUsage.rst:333 +#: ../../../NVPTXUsage.rst:374 msgid "" "The '``@llvm.nvvm.barrier.cta.*``' family of intrinsics perform barrier " "synchronization and communication within a CTA. They can be used by the " "threads within the CTA for synchronization and communication." msgstr "" -#: ../../../NVPTXUsage.rst:338 ../../../NVPTXUsage.rst:455 -#: ../../../NVPTXUsage.rst:482 ../../../NVPTXUsage.rst:511 -#: ../../../NVPTXUsage.rst:551 ../../../NVPTXUsage.rst:585 -#: ../../../NVPTXUsage.rst:639 ../../../NVPTXUsage.rst:671 -#: ../../../NVPTXUsage.rst:706 ../../../NVPTXUsage.rst:748 -#: ../../../NVPTXUsage.rst:1016 ../../../NVPTXUsage.rst:1042 -#: ../../../NVPTXUsage.rst:1072 ../../../NVPTXUsage.rst:1097 -#: ../../../NVPTXUsage.rst:1126 ../../../NVPTXUsage.rst:1160 -#: ../../../NVPTXUsage.rst:1192 ../../../NVPTXUsage.rst:1220 -#: ../../../NVPTXUsage.rst:1247 ../../../NVPTXUsage.rst:1274 -#: ../../../NVPTXUsage.rst:1304 ../../../NVPTXUsage.rst:1331 -#: ../../../NVPTXUsage.rst:1356 ../../../NVPTXUsage.rst:1397 -#: ../../../NVPTXUsage.rst:2385 ../../../NVPTXUsage.rst:2430 -#: ../../../NVPTXUsage.rst:2461 ../../../NVPTXUsage.rst:2495 -#: ../../../NVPTXUsage.rst:2528 +#: ../../../NVPTXUsage.rst:379 ../../../NVPTXUsage.rst:496 +#: ../../../NVPTXUsage.rst:523 ../../../NVPTXUsage.rst:552 +#: ../../../NVPTXUsage.rst:592 ../../../NVPTXUsage.rst:626 +#: ../../../NVPTXUsage.rst:680 ../../../NVPTXUsage.rst:712 +#: ../../../NVPTXUsage.rst:747 ../../../NVPTXUsage.rst:789 +#: ../../../NVPTXUsage.rst:1074 ../../../NVPTXUsage.rst:1103 +#: ../../../NVPTXUsage.rst:1310 ../../../NVPTXUsage.rst:1335 +#: ../../../NVPTXUsage.rst:1364 ../../../NVPTXUsage.rst:1398 +#: ../../../NVPTXUsage.rst:1429 ../../../NVPTXUsage.rst:1457 +#: ../../../NVPTXUsage.rst:1497 ../../../NVPTXUsage.rst:1530 +#: ../../../NVPTXUsage.rst:1558 ../../../NVPTXUsage.rst:1586 +#: ../../../NVPTXUsage.rst:1613 ../../../NVPTXUsage.rst:1643 +#: ../../../NVPTXUsage.rst:1670 ../../../NVPTXUsage.rst:1695 +#: ../../../NVPTXUsage.rst:1736 ../../../NVPTXUsage.rst:2718 +#: ../../../NVPTXUsage.rst:2763 ../../../NVPTXUsage.rst:2794 +#: ../../../NVPTXUsage.rst:2828 ../../../NVPTXUsage.rst:2861 msgid "Semantics:" msgstr "" -#: ../../../NVPTXUsage.rst:340 +#: ../../../NVPTXUsage.rst:381 msgid "" "Operand %id specifies a logical barrier resource and must fall within the " "range 0 through 15. When present, operand %n specifies the number of threads " @@ -647,7 +714,7 @@ msgid "" "the threads specified by the %n operand should participate in the barrier." msgstr "" -#: ../../../NVPTXUsage.rst:348 +#: ../../../NVPTXUsage.rst:389 msgid "" "All forms of the '``@llvm.nvvm.barrier.cta.*``' intrinsic cause the " "executing thread to wait for all non-exited threads from its warp and then " @@ -660,13 +727,13 @@ msgid "" "participating warps." msgstr "" -#: ../../../NVPTXUsage.rst:358 +#: ../../../NVPTXUsage.rst:399 msgid "" "When a barrier completes, the waiting threads are restarted without delay, " "and the barrier is reinitialized so that it can be immediately reused." msgstr "" -#: ../../../NVPTXUsage.rst:361 +#: ../../../NVPTXUsage.rst:402 msgid "" "The '``@llvm.nvvm.barrier.cta.red.*``' intrinsics perform a reduction " "operation across threads. The %pred operands from all threads in the CTA are " @@ -674,7 +741,7 @@ msgid "" "reached, the final value is returned in all threads waiting at the barrier." msgstr "" -#: ../../../NVPTXUsage.rst:366 +#: ../../../NVPTXUsage.rst:407 msgid "" "The reduction operations for '``@llvm.nvvm.barrier.cta.red.*``' are " "population-count ('``.popc``'), all-threads-true ('``.and``'), and any-" @@ -683,7 +750,7 @@ msgid "" "threads had a true predicate or if any of the threads had a true predicate." msgstr "" -#: ../../../NVPTXUsage.rst:372 +#: ../../../NVPTXUsage.rst:413 msgid "" "The '``@llvm.nvvm.barrier.cta.*``' intrinsic has an optional '``.aligned``' " "modifier to indicate textual alignment of the barrier. When specified, it " @@ -694,57 +761,57 @@ msgid "" "otherwise behavior is undefined." msgstr "" -#: ../../../NVPTXUsage.rst:381 +#: ../../../NVPTXUsage.rst:422 msgid "MBarrier family of Intrinsics" msgstr "" -#: ../../../NVPTXUsage.rst:386 +#: ../../../NVPTXUsage.rst:427 msgid "An ``mbarrier`` is a barrier created in shared memory that supports:" msgstr "" -#: ../../../NVPTXUsage.rst:388 +#: ../../../NVPTXUsage.rst:429 msgid "Synchronizing any subset of threads within a CTA." msgstr "" -#: ../../../NVPTXUsage.rst:389 +#: ../../../NVPTXUsage.rst:430 msgid "" "One-way synchronization of threads across CTAs of a cluster. Threads can " "perform only ``arrive`` operations but not ``*_wait`` on an mbarrier located " "in shared::cluster space." msgstr "" -#: ../../../NVPTXUsage.rst:392 +#: ../../../NVPTXUsage.rst:433 msgid "" "Waiting for completion of asynchronous memory operations initiated by a " "thread and making them visible to other threads." msgstr "" -#: ../../../NVPTXUsage.rst:395 +#: ../../../NVPTXUsage.rst:436 msgid "" "Unlike ``bar{.cta}/barrier{.cta}`` instructions which can access a limited " "number of barriers per CTA, ``mbarrier`` objects are user-defined and are " "only limited by the total shared memory size available." msgstr "" -#: ../../../NVPTXUsage.rst:399 +#: ../../../NVPTXUsage.rst:440 msgid "" "An mbarrier object is an opaque object in shared memory with an alignment of " "8-bytes. It keeps track of:" msgstr "" -#: ../../../NVPTXUsage.rst:402 +#: ../../../NVPTXUsage.rst:443 msgid "Current phase of the mbarrier object" msgstr "" -#: ../../../NVPTXUsage.rst:403 +#: ../../../NVPTXUsage.rst:444 msgid "Count of pending arrivals for the current phase of the mbarrier object" msgstr "" -#: ../../../NVPTXUsage.rst:404 +#: ../../../NVPTXUsage.rst:445 msgid "Count of expected arrivals for the next phase of the mbarrier object" msgstr "" -#: ../../../NVPTXUsage.rst:405 +#: ../../../NVPTXUsage.rst:446 msgid "" "Count of pending asynchronous memory operations (or transactions) tracked by " "the current phase of the mbarrier object. This is also referred to as ``tx-" @@ -752,61 +819,61 @@ msgid "" "operation (for example, ``llvm.nvvm.cp.async.bulk.tensor.g2s.*``)." msgstr "" -#: ../../../NVPTXUsage.rst:411 +#: ../../../NVPTXUsage.rst:452 msgid "" "The ``phase`` of an mbarrier object is the number of times the mbarrier " "object has been used to synchronize threads/track async operations. In each " "phase, threads perform:" msgstr "" -#: ../../../NVPTXUsage.rst:415 +#: ../../../NVPTXUsage.rst:456 msgid "arrive/expect-tx/complete-tx operations to progress the current phase." msgstr "" -#: ../../../NVPTXUsage.rst:416 +#: ../../../NVPTXUsage.rst:457 msgid "" "test_wait/try_wait operations to check for completion of the current phase." msgstr "" -#: ../../../NVPTXUsage.rst:418 +#: ../../../NVPTXUsage.rst:459 msgid "An mbarrier object completes the current phase when:" msgstr "" -#: ../../../NVPTXUsage.rst:420 +#: ../../../NVPTXUsage.rst:461 msgid "The count of the pending arrivals has reached zero AND" msgstr "" -#: ../../../NVPTXUsage.rst:421 +#: ../../../NVPTXUsage.rst:462 msgid "The tx-count has reached zero." msgstr "" -#: ../../../NVPTXUsage.rst:423 +#: ../../../NVPTXUsage.rst:464 msgid "" "When an mbarrier object completes the current phase, below actions are " "performed ``atomically``:" msgstr "" -#: ../../../NVPTXUsage.rst:426 +#: ../../../NVPTXUsage.rst:467 msgid "The mbarrier object transitions to the next phase." msgstr "" -#: ../../../NVPTXUsage.rst:427 +#: ../../../NVPTXUsage.rst:468 msgid "" "The pending arrival count is reinitialized to the expected arrival count." msgstr "" -#: ../../../NVPTXUsage.rst:429 +#: ../../../NVPTXUsage.rst:470 msgid "" -"For more information, refer PTX ISA ``_." +"mbarrier>`__." msgstr "" -#: ../../../NVPTXUsage.rst:433 +#: ../../../NVPTXUsage.rst:474 msgid "'``llvm.nvvm.mbarrier.init``'" msgstr "" -#: ../../../NVPTXUsage.rst:446 +#: ../../../NVPTXUsage.rst:487 msgid "" "The '``@llvm.nvvm.mbarrier.init.*``' intrinsics are used to initialize an " "mbarrier object located at ``addr`` with the value ``count``. ``count`` is a " @@ -814,15 +881,15 @@ msgid "" "During initialization:" msgstr "" -#: ../../../NVPTXUsage.rst:451 +#: ../../../NVPTXUsage.rst:492 msgid "The tx-count and the current phase of the mbarrier object are set to 0." msgstr "" -#: ../../../NVPTXUsage.rst:452 +#: ../../../NVPTXUsage.rst:493 msgid "The expected and pending arrival counts are set to ``count``." msgstr "" -#: ../../../NVPTXUsage.rst:457 +#: ../../../NVPTXUsage.rst:498 msgid "" "The ``.shared`` variant explicitly uses shared memory address space for the " "``addr`` operand. If the ``addr`` does not fall within the shared::cta " @@ -831,17 +898,17 @@ msgid "" "inval`` before reusing the memory for another mbarrier or any other purpose." msgstr "" -#: ../../../NVPTXUsage.rst:465 +#: ../../../NVPTXUsage.rst:506 msgid "'``llvm.nvvm.mbarrier.inval``'" msgstr "" -#: ../../../NVPTXUsage.rst:478 +#: ../../../NVPTXUsage.rst:519 msgid "" "The '``@llvm.nvvm.mbarrier.inval.*``' intrinsics invalidate the mbarrier " "object at the address specified by ``addr``." msgstr "" -#: ../../../NVPTXUsage.rst:484 +#: ../../../NVPTXUsage.rst:525 msgid "" "The ``.shared`` variant explicitly uses shared memory address space for the " "``addr`` operand. If the ``addr`` does not fall within the shared::cta " @@ -850,24 +917,24 @@ msgid "" "behavior is undefined." msgstr "" -#: ../../../NVPTXUsage.rst:491 +#: ../../../NVPTXUsage.rst:532 msgid "'``llvm.nvvm.mbarrier.expect.tx``'" msgstr "" -#: ../../../NVPTXUsage.rst:506 +#: ../../../NVPTXUsage.rst:547 msgid "" "The '``@llvm.nvvm.mbarrier.expect.tx.*``' intrinsics increase the " "transaction count of the mbarrier object at ``%addr`` by ``%tx_count``. The " "``%tx_count`` is a 32-bit unsigned integer value." msgstr "" -#: ../../../NVPTXUsage.rst:513 +#: ../../../NVPTXUsage.rst:554 msgid "" "The ``.space.{cta/cluster}`` indicates the address space where the mbarrier " "object resides." msgstr "" -#: ../../../NVPTXUsage.rst:516 +#: ../../../NVPTXUsage.rst:557 msgid "" "The ``.scope.{cta/cluster}`` denotes the set of threads that can directly " "observe the synchronizing effect of the mbarrier operation. When scope is " @@ -877,7 +944,7 @@ msgid "" "current thread) can directly observe the effect of the operation." msgstr "" -#: ../../../NVPTXUsage.rst:523 +#: ../../../NVPTXUsage.rst:564 msgid "" "If the ``addr`` does not fall within shared::cta or shared::cluster space, " "then the behavior of this intrinsic is undefined. This intrinsic has " @@ -885,11 +952,11 @@ msgid "" "visibility guarantees." msgstr "" -#: ../../../NVPTXUsage.rst:529 +#: ../../../NVPTXUsage.rst:570 msgid "'``llvm.nvvm.mbarrier.complete.tx``'" msgstr "" -#: ../../../NVPTXUsage.rst:544 +#: ../../../NVPTXUsage.rst:585 msgid "" "The '``@llvm.nvvm.mbarrier.complete.tx.*``' intrinsics decrease the " "transaction count of the mbarrier object at ``%addr`` by ``%tx_count``. The " @@ -898,17 +965,17 @@ msgid "" "transition to the next phase." msgstr "" -#: ../../../NVPTXUsage.rst:553 +#: ../../../NVPTXUsage.rst:594 msgid "" "The semantics of these intrinsics are identical to those of the ``llvm.nvvm." "mbarrier.expect.tx.*`` intrinsics described above." msgstr "" -#: ../../../NVPTXUsage.rst:557 +#: ../../../NVPTXUsage.rst:598 msgid "'``llvm.nvvm.mbarrier.arrive``'" msgstr "" -#: ../../../NVPTXUsage.rst:577 +#: ../../../NVPTXUsage.rst:618 msgid "" "The ``@llvm.nvvm.mbarrier.arrive.*`` intrinsics signal the arrival of the " "executing thread or completion of an asynchronous instruction associated " @@ -918,7 +985,7 @@ msgid "" "transition to the next phase." msgstr "" -#: ../../../NVPTXUsage.rst:587 +#: ../../../NVPTXUsage.rst:628 msgid "" "The ``.space.{cta/cluster}`` indicates the address space where the mbarrier " "object resides. When the mbarrier is in shared::cta space, the intrinsics " @@ -927,7 +994,7 @@ msgid "" "test_wait operation to check for the completion of the mbarrier." msgstr "" -#: ../../../NVPTXUsage.rst:593 +#: ../../../NVPTXUsage.rst:634 msgid "" "The ``.scope.{cta/cluster}`` denotes the set of threads that can directly " "observe the synchronizing effect of the mbarrier operation. When scope is " @@ -937,13 +1004,13 @@ msgid "" "current thread) can directly observe the effect of the operation." msgstr "" -#: ../../../NVPTXUsage.rst:600 +#: ../../../NVPTXUsage.rst:641 msgid "" "If the ``addr`` does not fall within shared::cta or shared::cluster space, " "then the behavior of this intrinsic is undefined." msgstr "" -#: ../../../NVPTXUsage.rst:603 +#: ../../../NVPTXUsage.rst:644 msgid "" "These intrinsics have ``release`` semantics by default. The release " "semantics ensure ordering of operations that occur in program order _before_ " @@ -954,11 +1021,11 @@ msgid "" "intrinsics do not provide any memory ordering or visibility guarantees." msgstr "" -#: ../../../NVPTXUsage.rst:612 +#: ../../../NVPTXUsage.rst:653 msgid "'``llvm.nvvm.mbarrier.arrive.expect.tx``'" msgstr "" -#: ../../../NVPTXUsage.rst:632 +#: ../../../NVPTXUsage.rst:673 msgid "" "The ``@llvm.nvvm.mbarrier.arrive.expect.tx.*`` intrinsics are similar to the " "``@llvm.nvvm.mbarrier.arrive`` intrinsics except that they also perform an " @@ -967,18 +1034,18 @@ msgid "" "operation and the count for the ``arrive`` operation is assumed to be 1." msgstr "" -#: ../../../NVPTXUsage.rst:641 ../../../NVPTXUsage.rst:673 -#: ../../../NVPTXUsage.rst:708 +#: ../../../NVPTXUsage.rst:682 ../../../NVPTXUsage.rst:714 +#: ../../../NVPTXUsage.rst:749 msgid "" "The semantics of these intrinsics are identical to those of the ``llvm.nvvm." "mbarrier.arrive.*`` intrinsics described above." msgstr "" -#: ../../../NVPTXUsage.rst:645 +#: ../../../NVPTXUsage.rst:686 msgid "'``llvm.nvvm.mbarrier.arrive.drop``'" msgstr "" -#: ../../../NVPTXUsage.rst:665 +#: ../../../NVPTXUsage.rst:706 msgid "" "The ``@llvm.nvvm.mbarrier.arrive.drop.*`` intrinsics decrement the expected " "arrival count of the mbarrier object at ``%addr`` by ``%count`` and then " @@ -986,35 +1053,35 @@ msgid "" "integer." msgstr "" -#: ../../../NVPTXUsage.rst:677 +#: ../../../NVPTXUsage.rst:718 msgid "'``llvm.nvvm.mbarrier.arrive.drop.expect.tx``'" msgstr "" -#: ../../../NVPTXUsage.rst:697 +#: ../../../NVPTXUsage.rst:738 msgid "" "The ``@llvm.nvvm.mbarrier.arrive.drop.expect.tx.*`` intrinsics perform the " "below operations on the mbarrier located at ``%addr``." msgstr "" -#: ../../../NVPTXUsage.rst:700 +#: ../../../NVPTXUsage.rst:741 msgid "" "Perform an ``expect-tx`` operation i.e. increase the transaction count of " "the mbarrier by ``%tx_count``, a 32-bit unsigned integer value." msgstr "" -#: ../../../NVPTXUsage.rst:702 +#: ../../../NVPTXUsage.rst:743 msgid "Decrement the expected arrival count of the mbarrier by 1." msgstr "" -#: ../../../NVPTXUsage.rst:703 +#: ../../../NVPTXUsage.rst:744 msgid "Perform an ``arrive`` operation on the mbarrier with a value of 1." msgstr "" -#: ../../../NVPTXUsage.rst:712 +#: ../../../NVPTXUsage.rst:753 msgid "'``llvm.nvvm.mbarrier.test.wait``'" msgstr "" -#: ../../../NVPTXUsage.rst:732 +#: ../../../NVPTXUsage.rst:773 msgid "" "The ``@llvm.nvvm.mbarrier.test.wait.*`` intrinsics test for the completion " "of the current or the immediately preceding phase of an mbarrier object at " @@ -1022,13 +1089,13 @@ msgid "" "the ``phase-parity`` of the mbarrier object." msgstr "" -#: ../../../NVPTXUsage.rst:737 +#: ../../../NVPTXUsage.rst:778 msgid "" "When done through the ``i64 %state`` operand, the state must be returned by " "an ``llvm.nvvm.mbarrier.arrive.*`` on the _same_ mbarrier object." msgstr "" -#: ../../../NVPTXUsage.rst:740 +#: ../../../NVPTXUsage.rst:781 msgid "" "The ``.parity`` variant of these intrinsics test for completion of the phase " "indicated by the operand ``i32 %phase``, which is the integer parity of " @@ -1037,19 +1104,19 @@ msgid "" "parity of 1. So the valid values for phase-parity are 0 and 1." msgstr "" -#: ../../../NVPTXUsage.rst:750 +#: ../../../NVPTXUsage.rst:791 msgid "" "The ``.scope.{cta/cluster}`` denotes the set of threads that the test_wait " "operation can directly synchronize with." msgstr "" -#: ../../../NVPTXUsage.rst:753 +#: ../../../NVPTXUsage.rst:794 msgid "" "If the ``addr`` does not fall within shared::cta space, then the the " "behavior of this intrinsic is undefined." msgstr "" -#: ../../../NVPTXUsage.rst:756 +#: ../../../NVPTXUsage.rst:797 msgid "" "These intrinsics have ``acquire`` semantics by default. This acquire pattern " "establishes memory ordering for operations occurring in program order after " @@ -1061,65 +1128,65 @@ msgid "" "or visibility guarantees." msgstr "" -#: ../../../NVPTXUsage.rst:765 +#: ../../../NVPTXUsage.rst:806 msgid "" "This ``test.wait`` intrinsic is non-blocking and immediately returns the " "completion status without suspending the executing thread." msgstr "" -#: ../../../NVPTXUsage.rst:768 +#: ../../../NVPTXUsage.rst:809 msgid "The boolean return value indicates:" msgstr "" -#: ../../../NVPTXUsage.rst:770 +#: ../../../NVPTXUsage.rst:811 msgid "True: The immediately preceding phase has completed" msgstr "" -#: ../../../NVPTXUsage.rst:771 +#: ../../../NVPTXUsage.rst:812 msgid "False: The current phase is still incomplete" msgstr "" -#: ../../../NVPTXUsage.rst:773 +#: ../../../NVPTXUsage.rst:814 msgid "When this wait returns true, the following ordering guarantees hold:" msgstr "" -#: ../../../NVPTXUsage.rst:775 +#: ../../../NVPTXUsage.rst:816 msgid "" "All memory accesses (except async operations) requested prior to ``mbarrier." "arrive`` having release semantics by participating threads of a CTA (or " "cluster, depending on scope) are visible to the executing thread." msgstr "" -#: ../../../NVPTXUsage.rst:779 +#: ../../../NVPTXUsage.rst:820 msgid "" "All ``cp.async`` operations requested prior to ``cp.async.mbarrier.arrive`` " "by participating threads of a CTA are visible to the executing thread." msgstr "" -#: ../../../NVPTXUsage.rst:781 +#: ../../../NVPTXUsage.rst:822 msgid "" "All ``cp.async.bulk`` operations using the same mbarrier object requested " "prior to ``mbarrier.arrive`` having release semantics by participating CTA " "threads are visible to the executing thread." msgstr "" -#: ../../../NVPTXUsage.rst:784 +#: ../../../NVPTXUsage.rst:825 msgid "" "Memory accesses requested after this wait are not visible to memory accesses " "performed prior to ``mbarrier.arrive`` by other participating threads." msgstr "" -#: ../../../NVPTXUsage.rst:787 +#: ../../../NVPTXUsage.rst:828 msgid "" "No ordering guarantee exists for memory accesses by the same thread between " "an ``mbarrier.arrive`` and this wait." msgstr "" -#: ../../../NVPTXUsage.rst:791 +#: ../../../NVPTXUsage.rst:832 msgid "'``llvm.nvvm.mbarrier.try.wait``'" msgstr "" -#: ../../../NVPTXUsage.rst:813 +#: ../../../NVPTXUsage.rst:854 msgid "" "The ``@llvm.nvvm.mbarrier.try.wait.*`` intrinsics test for the completion of " "the current or immediately preceding phase of an mbarrier object at " @@ -1133,15 +1200,15 @@ msgid "" "intrinsics described above." msgstr "" -#: ../../../NVPTXUsage.rst:825 +#: ../../../NVPTXUsage.rst:866 msgid "Electing a thread" msgstr "" -#: ../../../NVPTXUsage.rst:828 +#: ../../../NVPTXUsage.rst:869 msgid "'``llvm.nvvm.elect.sync``'" msgstr "" -#: ../../../NVPTXUsage.rst:840 +#: ../../../NVPTXUsage.rst:881 msgid "" "The '``@llvm.nvvm.elect.sync``' intrinsic generates the ``elect.sync`` PTX " "instruction, which elects one predicated active leader thread from a set of " @@ -1151,19 +1218,19 @@ msgid "" "for the leader thread and ``False`` for all the other threads. Election of a " "leader thread happens deterministically, i.e. the same leader thread is " "elected for the same ``membermask`` every time. For more information, refer " -"PTX ISA ``_." +"`PTX ISA `__." msgstr "" -#: ../../../NVPTXUsage.rst:852 +#: ../../../NVPTXUsage.rst:893 msgid "Membar/Fences" msgstr "" -#: ../../../NVPTXUsage.rst:855 +#: ../../../NVPTXUsage.rst:896 msgid "'``llvm.nvvm.fence.acquire/release.sync_restrict.*``'" msgstr "" -#: ../../../NVPTXUsage.rst:868 +#: ../../../NVPTXUsage.rst:909 msgid "" "The `nvvm.fence.{semantics}.sync_restrict.*` restrict the class of memory " "operations for which the fence instruction provides the memory ordering " @@ -1175,14 +1242,14 @@ msgid "" "applies to operations performed on objects in `shared_cluster` memory space. " "The scope for both operations is `cluster`. For more details, please refer " "the `PTX ISA `__" +"html#parallel-synchronization-and-communication-instructions-membar>`__." msgstr "" -#: ../../../NVPTXUsage.rst:879 +#: ../../../NVPTXUsage.rst:921 msgid "'``llvm.nvvm.fence.mbarrier_init.release.cluster``'" msgstr "" -#: ../../../NVPTXUsage.rst:891 +#: ../../../NVPTXUsage.rst:933 msgid "" "`nvvm.fence.mbarrier_init.release.cluster` intrinsic restrict the class of " "memory operations for which the fence instruction provides the memory " @@ -1194,16 +1261,16 @@ msgid "" "instructions-membar>`__" msgstr "" -#: ../../../NVPTXUsage.rst:898 +#: ../../../NVPTXUsage.rst:941 msgid "'``llvm.nvvm.fence.proxy.async_generic.acquire/release.sync_restrict``'" msgstr "" -#: ../../../NVPTXUsage.rst:911 +#: ../../../NVPTXUsage.rst:954 msgid "" "`nvvm.fence.proxy.async_generic.{semantics}.sync_restrict` are used to " "establish ordering between a prior memory access performed via the `async " -"proxy__` and a subsequent memory access performed via the generic " +"proxy `__ and a subsequent memory access performed via the generic " "proxy. ``nvvm.fence.proxy.async_generic.release.sync_restrict`` can form a " "release sequence that synchronizes with an acquire sequence that contains " "the ``nvvm.fence.proxy.async_generic.acquire.sync_restrict`` proxy fence. " @@ -1218,28 +1285,29 @@ msgid "" "html#parallel-synchronization-and-communication-instructions-membar>`__" msgstr "" -#: ../../../NVPTXUsage.rst:926 +#: ../../../NVPTXUsage.rst:971 msgid "'``llvm.nvvm.fence.proxy.``'" msgstr "" -#: ../../../NVPTXUsage.rst:942 +#: ../../../NVPTXUsage.rst:987 msgid "" "`nvvm.fence.proxy.{proxykind}` intrinsics represent a fence with bi-" "directional proxy ordering that is established between the memory accesses " -"done between the `generic proxy__` and the proxy specified by `proxykind`. A " -"`bi-directional proxy` ordering between two proxykinds establishes two `uni-" -"directional` proxy orderings: one from the first proxykind to the second " -"proxykind and the other from the second proxykind to the first proxykind." +"done between the `generic proxy `__ and the proxy specified by " +"`proxykind`. A `bi-directional proxy` ordering between two proxykinds " +"establishes two `uni-directional` proxy orderings: one from the first " +"proxykind to the second proxykind and the other from the second proxykind to " +"the first proxykind." msgstr "" -#: ../../../NVPTXUsage.rst:950 +#: ../../../NVPTXUsage.rst:995 msgid "" "`alias` proxykind refers to memory accesses performed using virtually " "aliased addresses to the same memory location" msgstr "" -#: ../../../NVPTXUsage.rst:953 +#: ../../../NVPTXUsage.rst:998 msgid "" "`async` proxykind specifies that the memory ordering is established between " "the `async proxy` and the `generic proxy`. The memory ordering is limited " @@ -1251,16 +1319,16 @@ msgid "" "instructions-membar>`__" msgstr "" -#: ../../../NVPTXUsage.rst:961 +#: ../../../NVPTXUsage.rst:1006 msgid "'``llvm.nvvm.fence.proxy.tensormap_generic.*``'" msgstr "" -#: ../../../NVPTXUsage.rst:981 +#: ../../../NVPTXUsage.rst:1026 msgid "" "The ``@llvm.nvvm.fence.proxy.tensormap_generic.*`` is a uni-directional " "fence used to establish ordering between a prior memory access performed via " -"the generic `proxy_` and a subsequent memory access performed via the " +"the generic `proxy `_ and a subsequent memory access performed via the " "tensormap proxy. ``nvvm.fence.proxy.tensormap_generic.release`` can form a " "release sequence that synchronizes with an acquire sequence that contains " "the ``nvvm.fence.proxy.tensormap_generic.acquire`` proxy fence. The " @@ -1268,31 +1336,31 @@ msgid "" "instruction:" msgstr "" -#: ../../../NVPTXUsage.rst:984 +#: ../../../NVPTXUsage.rst:1036 msgid "NVVM Intrinsic" msgstr "" -#: ../../../NVPTXUsage.rst:984 +#: ../../../NVPTXUsage.rst:1036 msgid "PTX Instruction" msgstr "" -#: ../../../NVPTXUsage.rst:986 +#: ../../../NVPTXUsage.rst:1038 msgid "``@llvm.nvvm.fence.proxy.tensormap_generic.release.*``" msgstr "" -#: ../../../NVPTXUsage.rst:986 +#: ../../../NVPTXUsage.rst:1038 msgid "``fence.proxy.tensormap::generic.release.*``" msgstr "" -#: ../../../NVPTXUsage.rst:987 +#: ../../../NVPTXUsage.rst:1039 msgid "``@llvm.nvvm.fence.proxy.tensormap_generic.acquire.*``" msgstr "" -#: ../../../NVPTXUsage.rst:987 +#: ../../../NVPTXUsage.rst:1039 msgid "``fence.proxy.tensormap::generic.acquire.* [addr], size``" msgstr "" -#: ../../../NVPTXUsage.rst:990 +#: ../../../NVPTXUsage.rst:1042 msgid "" "The address operand ``addr`` and the operand ``size`` together specify the " "memory range ``[addr, addr+size)`` on which the ordering guarantees on the " @@ -1302,36 +1370,36 @@ msgid "" "addr must fall within the ``.global`` state space. Otherwise, the behavior " "is undefined. For more information, see `PTX ISA `_." +"instructions-membar>`__." msgstr "" -#: ../../../NVPTXUsage.rst:993 +#: ../../../NVPTXUsage.rst:1051 msgid "Address Space Intrinsics" msgstr "" -#: ../../../NVPTXUsage.rst:996 +#: ../../../NVPTXUsage.rst:1054 msgid "'``llvm.nvvm.isspacep.*``' Intrinsics" msgstr "" -#: ../../../NVPTXUsage.rst:1012 +#: ../../../NVPTXUsage.rst:1070 msgid "" "The '``llvm.nvvm.isspacep.*``' intrinsics determine whether the provided " "generic pointer references memory which falls within a particular address " "space." msgstr "" -#: ../../../NVPTXUsage.rst:1018 ../../../NVPTXUsage.rst:1044 +#: ../../../NVPTXUsage.rst:1076 ../../../NVPTXUsage.rst:1105 msgid "" "If the given pointer in the generic address space refers to memory which " "falls within the state space of the intrinsic (and therefore could be safely " "address space casted to this space), 1 is returned, otherwise 0 is returned." msgstr "" -#: ../../../NVPTXUsage.rst:1023 +#: ../../../NVPTXUsage.rst:1081 msgid "'``llvm.nvvm.mapa.*``' Intrinsics" msgstr "" -#: ../../../NVPTXUsage.rst:1036 +#: ../../../NVPTXUsage.rst:1094 msgid "" "The '``llvm.nvvm.mapa.*``' intrinsics map a shared memory pointer ``p`` of " "another CTA with ``%rank`` to the current CTA. The ``llvm.nvvm.mapa`` form " @@ -1342,55 +1410,214 @@ msgid "" "instructions." msgstr "" -#: ../../../NVPTXUsage.rst:1049 +#: ../../../NVPTXUsage.rst:1110 +msgid "Narrow Floating-Point Conversion intrinsics" +msgstr "" + +#: ../../../NVPTXUsage.rst:1112 +msgid "" +"These intrinsics perform conversions involving narrow floating-point " +"formats. The following table describes the rounding modes used across these " +"intrinsics:" +msgstr "" + +#: ../../../NVPTXUsage.rst:1117 +msgid "Narrow Floating-Point Conversion Rounding Modes" +msgstr "" + +#: ../../../NVPTXUsage.rst:1121 +msgid "Rounding Mode" +msgstr "" + +#: ../../../NVPTXUsage.rst:1121 ../../../NVPTXUsage.rst:3332 +#: ../../../NVPTXUsage.rst:4037 +msgid "Description" +msgstr "" + +#: ../../../NVPTXUsage.rst:1123 +msgid "``rn`` (default)" +msgstr "" + +#: ../../../NVPTXUsage.rst:1123 +msgid "Round to nearest, with ties to even" +msgstr "" + +#: ../../../NVPTXUsage.rst:1125 +msgid "``rz``" +msgstr "" + +#: ../../../NVPTXUsage.rst:1125 +msgid "Round towards zero" +msgstr "" + +#: ../../../NVPTXUsage.rst:1127 +msgid "``rp``" +msgstr "" + +#: ../../../NVPTXUsage.rst:1127 +msgid "Round towards positive infinity" +msgstr "" + +#: ../../../NVPTXUsage.rst:1129 +msgid "``rs``" +msgstr "" + +#: ../../../NVPTXUsage.rst:1129 +msgid "" +"Stochastic rounding which is achieved through the use of the supplied random " +"bits (``%rnd_bits``). The result s rounded in the direction towards zero or " +"away from zero based on the carry out of the integer addition of the of " +"mantissa from the input." +msgstr "" + +#: ../../../NVPTXUsage.rst:1138 +msgid "``fp8`` Conversion Intrinsics" +msgstr "" + +#: ../../../NVPTXUsage.rst:1157 +msgid "" +"These intrinsics perform conversions involving the ``e4m3`` and ``e5m2`` " +"narrow floating-point formats. In case of two inputs, the value converted " +"from input ``%a`` is stored in the upper 8-bits of the result, and the value " +"converted from input ``%b`` is stored in the lower 8-bits of the result." +msgstr "" + +#: ../../../NVPTXUsage.rst:1162 ../../../NVPTXUsage.rst:1197 +#: ../../../NVPTXUsage.rst:1238 ../../../NVPTXUsage.rst:1274 +msgid "For rounding modes, see :ref:`narrow-fp-rounding-modes`." +msgstr "" + +#: ../../../NVPTXUsage.rst:1164 ../../../NVPTXUsage.rst:1199 +#: ../../../NVPTXUsage.rst:1240 ../../../NVPTXUsage.rst:1276 +msgid "The ``relu`` modifier clamps negative results to 0." +msgstr "" + +#: ../../../NVPTXUsage.rst:1166 +msgid "" +"When ``satfinite`` is specified, if the absolute value of input (ignoring " +"sign) is greater than ``MAX_NORM`` of the specified destination format, then " +"the result is sign-preserved ``MAX_NORM`` of the destination format and a " +"positive ``MAX_NORM`` in ``.ue8m0x2`` for which the destination sign is not " +"supported. Also, if the input value is ``NaN``, then the result is ``NaN`` " +"in the specified destination format. The ``satfinite`` modifier is assumed " +"to be present for conversions involving ``e4m3`` and ``e5m2`` types as the " +"destination." +msgstr "" + +#: ../../../NVPTXUsage.rst:1175 ../../../NVPTXUsage.rst:1213 +#: ../../../NVPTXUsage.rst:1248 ../../../NVPTXUsage.rst:1284 +msgid "" +"For more information, see `PTX ISA `__." +msgstr "" + +#: ../../../NVPTXUsage.rst:1178 +msgid "``s2f6`` Conversion Intrinsics" +msgstr "" + +#: ../../../NVPTXUsage.rst:1192 +msgid "" +"These intrinsics perform conversions involving the ``s2f6`` narrow floating-" +"point format. In case of two inputs, the value converted from input ``%a`` " +"is stored in the upper 8-bits of the result, and the value converted from " +"input ``%b`` is stored in the lower 8-bits of the result." +msgstr "" + +#: ../../../NVPTXUsage.rst:1201 ../../../NVPTXUsage.rst:1242 +#: ../../../NVPTXUsage.rst:1278 +msgid "" +"When ``satfinite`` is specified, if the absolute value of input (ignoring " +"sign) is greater than ``MAX_NORM`` of the specified destination format, then " +"the result is sign-preserved ``MAX_NORM`` of the destination format. Also, " +"if the input is ``NaN``, then the result is the positive ``MAX_NORM`` of the " +"destination format." +msgstr "" + +#: ../../../NVPTXUsage.rst:1207 +msgid "" +"The operand ``%scale_factor`` stores two packed scaling factors of type " +"``ue8m0``, one for each input. For down conversion, inputs are divided by " +"``scale_factor`` and then the conversion is performed. For up-conversion, " +"inputs are converted to destination type and then multiplied by " +"``scale_factor``." +msgstr "" + +#: ../../../NVPTXUsage.rst:1216 +msgid "``fp6`` Conversion Intrinsics" +msgstr "" + +#: ../../../NVPTXUsage.rst:1232 +msgid "" +"These intrinsics perform conversions involving the ``e2m3`` and ``e3m2`` " +"narrow floating-point formats. In case of two inputs, the value converted " +"from input ``%a`` is stored in the upper 8-bits of the result, and the value " +"converted from input ``%b`` is stored in the lower 8-bits of the result with " +"2 MSBs padded with 0s in both cases." +msgstr "" + +#: ../../../NVPTXUsage.rst:1251 +msgid "``fp4`` Conversion Intrinsics" +msgstr "" + +#: ../../../NVPTXUsage.rst:1267 +msgid "" +"These intrinsics perform conversions involving the ``e2m1`` narrow floating-" +"point format. For conversions involving ``e2m1x2``, the packed ``e2m1x2`` " +"value is stored in the lower byte of the ``i16`` argument or result. In case " +"of two inputs, the value converted from input ``%a`` is stored in the upper " +"4-bits of the result, and the value converted from input ``%b`` is stored in " +"the lower 4-bits of the result." +msgstr "" + +#: ../../../NVPTXUsage.rst:1287 msgid "Arithmetic Intrinsics" msgstr "" -#: ../../../NVPTXUsage.rst:1052 +#: ../../../NVPTXUsage.rst:1290 msgid "'``llvm.nvvm.fabs.*``' Intrinsic" msgstr "" -#: ../../../NVPTXUsage.rst:1069 +#: ../../../NVPTXUsage.rst:1307 msgid "" "The '``llvm.nvvm.fabs.*``' intrinsics return the absolute value of the " "operand." msgstr "" -#: ../../../NVPTXUsage.rst:1074 +#: ../../../NVPTXUsage.rst:1312 msgid "" "Unlike, '``llvm.fabs.*``', these intrinsics do not perfectly preserve NaN " "values. Instead, a NaN input yields an unspecified NaN output." msgstr "" -#: ../../../NVPTXUsage.rst:1079 +#: ../../../NVPTXUsage.rst:1317 msgid "'``llvm.nvvm.fabs.ftz.*``' Intrinsic" msgstr "" -#: ../../../NVPTXUsage.rst:1093 +#: ../../../NVPTXUsage.rst:1331 msgid "" "The '``llvm.nvvm.fabs.ftz.*``' intrinsics return the absolute value of the " "operand, flushing subnormals to sign preserving zero." msgstr "" -#: ../../../NVPTXUsage.rst:1099 +#: ../../../NVPTXUsage.rst:1337 msgid "" "Before the absolute value is taken, the input is flushed to sign preserving " "zero if it is a subnormal. In addition, unlike '``llvm.fabs.*``', a NaN " "input yields an unspecified NaN output." msgstr "" -#: ../../../NVPTXUsage.rst:1105 +#: ../../../NVPTXUsage.rst:1343 msgid "'``llvm.nvvm.idp2a.[us].[us]``' Intrinsics" msgstr "" -#: ../../../NVPTXUsage.rst:1121 +#: ../../../NVPTXUsage.rst:1359 msgid "" "The '``llvm.nvvm.idp2a.[us].[us]``' intrinsics performs a 2-element vector " "dot product followed by addition. They corresponds directly to the ``dp2a`` " "PTX instruction." msgstr "" -#: ../../../NVPTXUsage.rst:1128 +#: ../../../NVPTXUsage.rst:1366 msgid "" "The 32-bit value in ``%a`` is broken into 2 16-bit values which are extended " "to 32 bits. For the '``llvm.nvvm.idp2a.u.[us]``' variants zero-extension is " @@ -1403,18 +1630,18 @@ msgid "" "added to ``%c`` to produce the return." msgstr "" -#: ../../../NVPTXUsage.rst:1140 +#: ../../../NVPTXUsage.rst:1378 msgid "'``llvm.nvvm.idp4a.[us].[us]``' Intrinsics" msgstr "" -#: ../../../NVPTXUsage.rst:1155 +#: ../../../NVPTXUsage.rst:1393 msgid "" "The '``llvm.nvvm.idp4a.[us].[us]``' intrinsics perform a 4-element vector " "dot product followed by addition. They corresponds directly to the ``dp4a`` " "PTX instruction." msgstr "" -#: ../../../NVPTXUsage.rst:1162 +#: ../../../NVPTXUsage.rst:1400 msgid "" "Each of the 4 bytes in both ``%a`` and ``%b`` are extended to 32-bit " "integers forming 2 ``<4 x i32>``. For ``%a``, zero-extension is used in the " @@ -1425,15 +1652,73 @@ msgid "" "4-element vectors is added to ``%c`` to produce the return." msgstr "" -#: ../../../NVPTXUsage.rst:1171 +#: ../../../NVPTXUsage.rst:1409 +msgid "'``llvm.nvvm.add.*``' Half-precision Intrinsics" +msgstr "" + +#: ../../../NVPTXUsage.rst:1425 +msgid "" +"The '``llvm.nvvm.add.*``' intrinsics perform an addition operation with the " +"specified rounding mode and modifiers." +msgstr "" + +#: ../../../NVPTXUsage.rst:1431 +msgid "" +"The '``.sat``' modifier performs a saturating addition where the result is " +"clamped to ``[0.0, 1.0]`` and ``NaN`` results are flushed to ``+0.0f``. The " +"'``.ftz``' modifier flushes subnormal inputs and results to sign-preserving " +"zero." +msgstr "" + +#: ../../../NVPTXUsage.rst:1437 +msgid "'``llvm.nvvm.mul.*``' Half-precision Intrinsics" +msgstr "" + +#: ../../../NVPTXUsage.rst:1453 +msgid "" +"The '``llvm.nvvm.mul.*``' intrinsics perform a multiplication operation with " +"the specified rounding mode and modifiers." +msgstr "" + +#: ../../../NVPTXUsage.rst:1459 +msgid "" +"The '``.sat``' modifier performs a saturating multiplication where the " +"result is clamped to ``[0.0, 1.0]`` and ``NaN`` results are flushed to " +"``+0.0f``. The '``.ftz``' modifier flushes subnormal inputs and results to " +"sign-preserving zero." +msgstr "" + +#: ../../../NVPTXUsage.rst:1465 +msgid "'``llvm.nvvm.fma.*``' Half-precision Intrinsics" +msgstr "" + +#: ../../../NVPTXUsage.rst:1493 +msgid "" +"The '``llvm.nvvm.fma.*``' intrinsics perform a fused multiply-add with no " +"loss of precision in the intermediate product and addition." +msgstr "" + +#: ../../../NVPTXUsage.rst:1499 +msgid "" +"The '``.sat``' modifier performs a saturating operation where the result is " +"clamped to ``[0.0, 1.0]`` and ``NaN`` results are flushed to ``+0.0f``. The " +"'``.ftz``' modifier flushes subnormal inputs and results to sign-preserving " +"zero. The '``.relu``' modifier clamps the result to ``0`` if negative and " +"``NaN`` results are flushed to canonical ``NaN``. The '``.oob``' modifier " +"clamps the result to ``0`` if either of the operands is an ``OOB NaN`` " +"(defined under `Tensors `__) value." +msgstr "" + +#: ../../../NVPTXUsage.rst:1509 msgid "Bit Manipulation Intrinsics" msgstr "" -#: ../../../NVPTXUsage.rst:1174 +#: ../../../NVPTXUsage.rst:1512 msgid "'``llvm.nvvm.fshl.clamp.*``' Intrinsic" msgstr "" -#: ../../../NVPTXUsage.rst:1186 +#: ../../../NVPTXUsage.rst:1524 msgid "" "The '``llvm.nvvm.fshl.clamp``' family of intrinsics performs a clamped " "funnel shift left. These intrinsics are very similar to '``llvm.fshl``', " @@ -1441,7 +1726,7 @@ msgid "" "it). Currently, only ``i32`` is supported." msgstr "" -#: ../../../NVPTXUsage.rst:1194 +#: ../../../NVPTXUsage.rst:1532 msgid "" "The '``llvm.nvvm.fshl.clamp``' family of intrinsic functions performs a " "clamped funnel shift left: the first two values are concatenated as { %hi : " @@ -1452,11 +1737,11 @@ msgid "" "type." msgstr "" -#: ../../../NVPTXUsage.rst:1202 +#: ../../../NVPTXUsage.rst:1540 msgid "'``llvm.nvvm.fshr.clamp.*``' Intrinsic" msgstr "" -#: ../../../NVPTXUsage.rst:1214 +#: ../../../NVPTXUsage.rst:1552 msgid "" "The '``llvm.nvvm.fshr.clamp``' family of intrinsics perform a clamped funnel " "shift right. These intrinsics are very similar to '``llvm.fshr``', except " @@ -1464,7 +1749,7 @@ msgid "" "Currently, only ``i32`` is supported." msgstr "" -#: ../../../NVPTXUsage.rst:1222 +#: ../../../NVPTXUsage.rst:1560 msgid "" "The '``llvm.nvvm.fshr.clamp``' family of intrinsic functions performs a " "clamped funnel shift right: the first two values are concatenated as { %hi : " @@ -1475,18 +1760,18 @@ msgid "" "type." msgstr "" -#: ../../../NVPTXUsage.rst:1230 +#: ../../../NVPTXUsage.rst:1568 msgid "'``llvm.nvvm.flo.u.*``' Intrinsic" msgstr "" -#: ../../../NVPTXUsage.rst:1243 +#: ../../../NVPTXUsage.rst:1581 msgid "" "The '``llvm.nvvm.flo.u``' family of intrinsics identifies the bit position " "of the leading one, returning either it's offset from the most or least " "significant bit." msgstr "" -#: ../../../NVPTXUsage.rst:1249 +#: ../../../NVPTXUsage.rst:1588 msgid "" "The '``llvm.nvvm.flo.u``' family of intrinsics returns the bit position of " "the most significant 1. If %shiftamt is true, The result is the shift amount " @@ -1496,18 +1781,18 @@ msgid "" "is found." msgstr "" -#: ../../../NVPTXUsage.rst:1256 +#: ../../../NVPTXUsage.rst:1595 msgid "'``llvm.nvvm.flo.s.*``' Intrinsic" msgstr "" -#: ../../../NVPTXUsage.rst:1269 +#: ../../../NVPTXUsage.rst:1608 msgid "" "The '``llvm.nvvm.flo.s``' family of intrinsics identifies the bit position " "of the leading non-sign bit, returning either it's offset from the most or " "least significant bit." msgstr "" -#: ../../../NVPTXUsage.rst:1276 +#: ../../../NVPTXUsage.rst:1615 msgid "" "The '``llvm.nvvm.flo.s``' family of intrinsics returns the bit position of " "the most significant 0 for negative inputs and the most significant 1 for " @@ -1518,18 +1803,18 @@ msgid "" "is found." msgstr "" -#: ../../../NVPTXUsage.rst:1284 +#: ../../../NVPTXUsage.rst:1623 msgid "'``llvm.nvvm.{zext,sext}.{wrap,clamp}``' Intrinsics" msgstr "" -#: ../../../NVPTXUsage.rst:1299 +#: ../../../NVPTXUsage.rst:1638 msgid "" "The '``llvm.nvvm.{zext,sext}.{wrap,clamp}``' family of intrinsics extracts " "the low bits of the input value, and zero- or sign-extends them back to the " "original width." msgstr "" -#: ../../../NVPTXUsage.rst:1306 +#: ../../../NVPTXUsage.rst:1645 msgid "" "The '``llvm.nvvm.{zext,sext}.{wrap,clamp}``' family of intrinsics returns " "extension of N lowest bits of operand %a. For the '``wrap``' variants, N is " @@ -1539,17 +1824,17 @@ msgid "" "of the '``sext``' variants. If N is 0, the result is 0." msgstr "" -#: ../../../NVPTXUsage.rst:1314 +#: ../../../NVPTXUsage.rst:1653 msgid "'``llvm.nvvm.bmsk.{wrap,clamp}``' Intrinsic" msgstr "" -#: ../../../NVPTXUsage.rst:1327 +#: ../../../NVPTXUsage.rst:1666 msgid "" "The '``llvm.nvvm.bmsk.{wrap,clamp}``' family of intrinsics creates a bit " "mask given a starting bit position and a bit width." msgstr "" -#: ../../../NVPTXUsage.rst:1333 +#: ../../../NVPTXUsage.rst:1672 msgid "" "The '``llvm.nvvm.bmsk.{wrap,clamp}``' family of intrinsics returns a value " "with all bits set to 0 except for %b bits starting at bit position %a. For " @@ -1558,24 +1843,24 @@ msgid "" "32], which in practice is equivalent to using them as is." msgstr "" -#: ../../../NVPTXUsage.rst:1340 +#: ../../../NVPTXUsage.rst:1679 msgid "'``llvm.nvvm.prmt``' Intrinsic" msgstr "" -#: ../../../NVPTXUsage.rst:1352 +#: ../../../NVPTXUsage.rst:1691 msgid "" "The '``llvm.nvvm.prmt``' constructs a permutation of the bytes of the first " "two operands, selecting based on the third operand." msgstr "" -#: ../../../NVPTXUsage.rst:1358 +#: ../../../NVPTXUsage.rst:1697 msgid "" "The bytes in the first two source operands are numbered from 0 to 7: {%hi, " "%lo} = {{b7, b6, b5, b4}, {b3, b2, b1, b0}}. For each byte in the target " "register, a 4-bit selection value is defined." msgstr "" -#: ../../../NVPTXUsage.rst:1362 +#: ../../../NVPTXUsage.rst:1701 msgid "" "The 3 lsbs of the selection value specify which of the 8 source bytes should " "be moved into the target position. The msb defines if the byte value should " @@ -1584,25 +1869,25 @@ msgid "" "copy the literal value; msb=1 means replicate the sign." msgstr "" -#: ../../../NVPTXUsage.rst:1368 +#: ../../../NVPTXUsage.rst:1707 msgid "" "These 4-bit selection values are pulled from the lower 16-bits of the " "%selector operand, with the least significant selection value corresponding " "to the least significant byte of the destination." msgstr "" -#: ../../../NVPTXUsage.rst:1374 +#: ../../../NVPTXUsage.rst:1713 msgid "'``llvm.nvvm.prmt.*``' Intrinsics" msgstr "" -#: ../../../NVPTXUsage.rst:1392 +#: ../../../NVPTXUsage.rst:1731 msgid "" "The '``llvm.nvvm.prmt.*``' family of intrinsics constructs a permutation of " "the bytes of the first one or two operands, selecting based on the 2 least " "significant bits of the final operand." msgstr "" -#: ../../../NVPTXUsage.rst:1399 +#: ../../../NVPTXUsage.rst:1738 msgid "" "As with the generic '``llvm.nvvm.prmt``' intrinsic, the bytes in the first " "one or two source operands are numbered. The first source operand (%lo) is " @@ -1610,130 +1895,130 @@ msgid "" "variants, the second source operand (%hi) is numbered {b7, b6, b5, b4}." msgstr "" -#: ../../../NVPTXUsage.rst:1404 +#: ../../../NVPTXUsage.rst:1743 msgid "" "Depending on the 2 least significant bits of the %selector operand, the " "result of the permutation is defined as follows:" msgstr "" -#: ../../../NVPTXUsage.rst:1408 +#: ../../../NVPTXUsage.rst:1747 msgid "Mode" msgstr "" -#: ../../../NVPTXUsage.rst:1408 +#: ../../../NVPTXUsage.rst:1747 msgid "%selector[1:0]" msgstr "" -#: ../../../NVPTXUsage.rst:1408 +#: ../../../NVPTXUsage.rst:1747 msgid "Output" msgstr "" -#: ../../../NVPTXUsage.rst:1410 +#: ../../../NVPTXUsage.rst:1749 msgid "'``f4e``'" msgstr "" -#: ../../../NVPTXUsage.rst:1410 ../../../NVPTXUsage.rst:1434 -#: ../../../NVPTXUsage.rst:1448 +#: ../../../NVPTXUsage.rst:1749 ../../../NVPTXUsage.rst:1773 +#: ../../../NVPTXUsage.rst:1787 msgid "{3, 2, 1, 0}" msgstr "" -#: ../../../NVPTXUsage.rst:1412 +#: ../../../NVPTXUsage.rst:1751 msgid "{4, 3, 2, 1}" msgstr "" -#: ../../../NVPTXUsage.rst:1414 +#: ../../../NVPTXUsage.rst:1753 msgid "{5, 4, 3, 2}" msgstr "" -#: ../../../NVPTXUsage.rst:1416 +#: ../../../NVPTXUsage.rst:1755 msgid "{6, 5, 4, 3}" msgstr "" -#: ../../../NVPTXUsage.rst:1418 +#: ../../../NVPTXUsage.rst:1757 msgid "'``b4e``'" msgstr "" -#: ../../../NVPTXUsage.rst:1418 +#: ../../../NVPTXUsage.rst:1757 msgid "{5, 6, 7, 0}" msgstr "" -#: ../../../NVPTXUsage.rst:1420 +#: ../../../NVPTXUsage.rst:1759 msgid "{6, 7, 0, 1}" msgstr "" -#: ../../../NVPTXUsage.rst:1422 +#: ../../../NVPTXUsage.rst:1761 msgid "{7, 0, 1, 2}" msgstr "" -#: ../../../NVPTXUsage.rst:1424 +#: ../../../NVPTXUsage.rst:1763 msgid "{0, 1, 2, 3}" msgstr "" -#: ../../../NVPTXUsage.rst:1426 +#: ../../../NVPTXUsage.rst:1765 msgid "'``rc8``'" msgstr "" -#: ../../../NVPTXUsage.rst:1426 ../../../NVPTXUsage.rst:1442 +#: ../../../NVPTXUsage.rst:1765 ../../../NVPTXUsage.rst:1781 msgid "{0, 0, 0, 0}" msgstr "" -#: ../../../NVPTXUsage.rst:1428 +#: ../../../NVPTXUsage.rst:1767 msgid "{1, 1, 1, 1}" msgstr "" -#: ../../../NVPTXUsage.rst:1430 +#: ../../../NVPTXUsage.rst:1769 msgid "{2, 2, 2, 2}" msgstr "" -#: ../../../NVPTXUsage.rst:1432 ../../../NVPTXUsage.rst:1440 +#: ../../../NVPTXUsage.rst:1771 ../../../NVPTXUsage.rst:1779 msgid "{3, 3, 3, 3}" msgstr "" -#: ../../../NVPTXUsage.rst:1434 +#: ../../../NVPTXUsage.rst:1773 msgid "'``ecl``'" msgstr "" -#: ../../../NVPTXUsage.rst:1436 +#: ../../../NVPTXUsage.rst:1775 msgid "{3, 2, 1, 1}" msgstr "" -#: ../../../NVPTXUsage.rst:1438 +#: ../../../NVPTXUsage.rst:1777 msgid "{3, 2, 2, 2}" msgstr "" -#: ../../../NVPTXUsage.rst:1442 +#: ../../../NVPTXUsage.rst:1781 msgid "'``ecr``'" msgstr "" -#: ../../../NVPTXUsage.rst:1444 +#: ../../../NVPTXUsage.rst:1783 msgid "{1, 1, 1, 0}" msgstr "" -#: ../../../NVPTXUsage.rst:1446 +#: ../../../NVPTXUsage.rst:1785 msgid "{2, 2, 1, 0}" msgstr "" -#: ../../../NVPTXUsage.rst:1450 +#: ../../../NVPTXUsage.rst:1789 msgid "'``rc16``'" msgstr "" -#: ../../../NVPTXUsage.rst:1450 ../../../NVPTXUsage.rst:1454 +#: ../../../NVPTXUsage.rst:1789 ../../../NVPTXUsage.rst:1793 msgid "{1, 0, 1, 0}" msgstr "" -#: ../../../NVPTXUsage.rst:1452 ../../../NVPTXUsage.rst:1456 +#: ../../../NVPTXUsage.rst:1791 ../../../NVPTXUsage.rst:1795 msgid "{3, 2, 3, 2}" msgstr "" -#: ../../../NVPTXUsage.rst:1460 +#: ../../../NVPTXUsage.rst:1799 msgid "TMA family of Intrinsics" msgstr "" -#: ../../../NVPTXUsage.rst:1463 +#: ../../../NVPTXUsage.rst:1802 msgid "'``llvm.nvvm.cp.async.bulk.global.to.shared.cluster``'" msgstr "" -#: ../../../NVPTXUsage.rst:1475 +#: ../../../NVPTXUsage.rst:1814 msgid "" "The '``@llvm.nvvm.cp.async.bulk.global.to.shared.cluster``' intrinsic " "corresponds to the ``cp.async.bulk.shared::cluster.global.*`` family of PTX " @@ -1742,7 +2027,7 @@ msgid "" "specifies the amount of memory to be copied and it must be a multiple of 16." msgstr "" -#: ../../../NVPTXUsage.rst:1482 +#: ../../../NVPTXUsage.rst:1820 msgid "" "The last two arguments to these intrinsics are boolean flags indicating " "support for cache_hint and/or multicast modifiers. These flag arguments must " @@ -1750,33 +2035,33 @@ msgid "" "the intrinsics appropriately." msgstr "" -#: ../../../NVPTXUsage.rst:1487 +#: ../../../NVPTXUsage.rst:1825 msgid "" "The Nth argument (denoted by ``i1 %flag_ch``) when set, indicates a valid " "cache_hint (``i64 %ch``) and generates the ``.L2::cache_hint`` variant of " "the PTX instruction." msgstr "" -#: ../../../NVPTXUsage.rst:1491 +#: ../../../NVPTXUsage.rst:1829 msgid "" "The [N-1]th argument (denoted by ``i1 %flag_mc``) when set, indicates the " "presence of a multicast mask (``i16 %mc``) and generates the PTX instruction " "with the ``.multicast::cluster`` modifier." msgstr "" -#: ../../../NVPTXUsage.rst:1495 ../../../NVPTXUsage.rst:1521 -#: ../../../NVPTXUsage.rst:1553 ../../../NVPTXUsage.rst:1577 +#: ../../../NVPTXUsage.rst:1833 ../../../NVPTXUsage.rst:1858 +#: ../../../NVPTXUsage.rst:1888 ../../../NVPTXUsage.rst:1911 msgid "" -"For more information, refer PTX ISA ``_." +"async-bulk>`__." msgstr "" -#: ../../../NVPTXUsage.rst:1499 +#: ../../../NVPTXUsage.rst:1837 msgid "'``llvm.nvvm.cp.async.bulk.global.to.shared.cta``'" msgstr "" -#: ../../../NVPTXUsage.rst:1511 +#: ../../../NVPTXUsage.rst:1849 msgid "" "The '``@llvm.nvvm.cp.async.bulk.global.to.shared.cta``' intrinsic " "corresponds to the ``cp.async.bulk.shared::cta.global.*`` family of PTX " @@ -1788,11 +2073,11 @@ msgid "" "L2::cache_hint`` variant of the PTX instruction." msgstr "" -#: ../../../NVPTXUsage.rst:1525 +#: ../../../NVPTXUsage.rst:1862 msgid "'``llvm.nvvm.cp.async.bulk.shared.cta.to.global``'" msgstr "" -#: ../../../NVPTXUsage.rst:1538 +#: ../../../NVPTXUsage.rst:1875 msgid "" "The '``@llvm.nvvm.cp.async.bulk.shared.cta.to.global``' intrinsic " "corresponds to the ``cp.async.bulk.global.shared::cta.*`` set of PTX " @@ -1803,7 +2088,7 @@ msgid "" "byte of each 16-byte wide chunk of source data is copied to the destination." msgstr "" -#: ../../../NVPTXUsage.rst:1547 +#: ../../../NVPTXUsage.rst:1883 msgid "" "The ``i1 %flag_ch`` argument to these intrinsics is a boolean flag " "indicating support for cache_hint. This flag argument must be a compile-time " @@ -1811,11 +2096,11 @@ msgid "" "generates the ``.L2::cache_hint`` variant of the PTX instruction." msgstr "" -#: ../../../NVPTXUsage.rst:1557 +#: ../../../NVPTXUsage.rst:1892 msgid "'``llvm.nvvm.cp.async.bulk.shared.cta.to.cluster``'" msgstr "" -#: ../../../NVPTXUsage.rst:1569 +#: ../../../NVPTXUsage.rst:1904 msgid "" "The '``@llvm.nvvm.cp.async.bulk.shared.cta.to.cluster``' intrinsic " "corresponds to the ``cp.async.bulk.shared::cluster.shared::cta.*`` PTX " @@ -1825,11 +2110,11 @@ msgid "" "specifies the amount of memory to be copied and it must be a multiple of 16." msgstr "" -#: ../../../NVPTXUsage.rst:1581 +#: ../../../NVPTXUsage.rst:1915 msgid "'``llvm.nvvm.cp.async.bulk.prefetch.L2``'" msgstr "" -#: ../../../NVPTXUsage.rst:1593 +#: ../../../NVPTXUsage.rst:1927 msgid "" "The '``@llvm.nvvm.cp.async.bulk.prefetch.L2``' intrinsic corresponds to the " "``cp.async.bulk.prefetch.L2.*`` family of PTX instructions. These " @@ -1838,7 +2123,7 @@ msgid "" "memory to be prefetched in terms of bytes and it must be a multiple of 16." msgstr "" -#: ../../../NVPTXUsage.rst:1600 +#: ../../../NVPTXUsage.rst:1933 msgid "" "The last argument to these intrinsics is boolean flag indicating support for " "cache_hint. These flag argument must be compile-time constant. When set, it " @@ -1846,18 +2131,18 @@ msgid "" "cache_hint`` variant of the PTX instruction." msgstr "" -#: ../../../NVPTXUsage.rst:1605 +#: ../../../NVPTXUsage.rst:1938 msgid "" -"For more information, refer PTX ISA ``_." +"prefetch>`__." msgstr "" -#: ../../../NVPTXUsage.rst:1609 +#: ../../../NVPTXUsage.rst:1942 msgid "'``llvm.nvvm.prefetch.*``'" msgstr "" -#: ../../../NVPTXUsage.rst:1636 +#: ../../../NVPTXUsage.rst:1969 msgid "" "The '``@llvm.nvvm.prefetch.*``' and '``@llvm.nvvm.prefetchu.*``' intrinsic " "correspond to the '``prefetch.*``;' and '``prefetchu.*``' family of PTX " @@ -1865,61 +2150,61 @@ msgid "" "containing the specified address in global or local memory address space " "into the specified cache level (L1 or L2). If the '``.tensormap``' qualifier " "is specified then the prefetch instruction brings the cache line containing " -"the specified address in the '``.const``' or '``.param memory``' state space " -"for subsequent use by the '``cp.async.bulk.tensor``' instruction. The " -"'`prefetchu.*``' instruction brings the cache line containing the specified " +"the specified address in the '``.const``' or '``.param memory``' state " +"space for subsequent use by the '``cp.async.bulk.tensor``' instruction. The " +"'``prefetchu.*``' instruction brings the cache line containing the specified " "generic address into the specified uniform cache level. If no address space " "is specified, it is assumed to be generic address. The intrinsic uses and " "eviction priority which can be accessed by the '``.level::" "eviction_priority``' modifier." msgstr "" -#: ../../../NVPTXUsage.rst:1648 +#: ../../../NVPTXUsage.rst:1982 msgid "A prefetch to a shared memory location performs no operation." msgstr "" -#: ../../../NVPTXUsage.rst:1649 +#: ../../../NVPTXUsage.rst:1983 msgid "" "A prefetch into the uniform cache requires a generic address, and no " "operation occurs if the address maps to a const, local, or shared memory " "location." msgstr "" -#: ../../../NVPTXUsage.rst:1652 +#: ../../../NVPTXUsage.rst:1986 msgid "" -"For more information, refer to the PTX ISA ``_." +"prefetch-prefetchu>`__." msgstr "" -#: ../../../NVPTXUsage.rst:1656 +#: ../../../NVPTXUsage.rst:1990 msgid "'``llvm.nvvm.applypriority.*``'" msgstr "" -#: ../../../NVPTXUsage.rst:1669 +#: ../../../NVPTXUsage.rst:2003 msgid "" "The '``@llvm.nvvm.applypriority.*``' applies the cache eviction priority " "specified by the .level::eviction_priority qualifier to the address range " "[a..a+size) in the specified cache level. If no state space is specified " -"then Generic Addressing is used. If the specified address does not fall " +"then generic addressing is used. If the specified address does not fall " "within the address window of .global state space then the behavior is " "undefined. The operand size is an integer constant that specifies the amount " "of data, in bytes, in the specified cache level on which the priority is to " "be applied. The only supported value for the size operand is 128." msgstr "" -#: ../../../NVPTXUsage.rst:1676 +#: ../../../NVPTXUsage.rst:2012 msgid "" -"For more information, refer to the PTX ISA ``_." +"applypriority>`__." msgstr "" -#: ../../../NVPTXUsage.rst:1680 +#: ../../../NVPTXUsage.rst:2016 msgid "``llvm.nvvm.discard.*``'" msgstr "" -#: ../../../NVPTXUsage.rst:1693 +#: ../../../NVPTXUsage.rst:2029 msgid "" "The *effects* of the ``@llvm.nvvm.discard.L2*`` intrinsics are those of a " "non-atomic non-volatile ``llvm.memset`` that writes ``undef`` to the " @@ -1930,12 +2215,12 @@ msgid "" "destructively discarded without writing it back to memory. The operand " "``immarg`` is an integer constant that specifies the length in bytes of the " "address range ``[%ptr, %ptr + immarg)`` to write ``undef`` into. The only " -"supported value for the ``immarg`` operand is ``128``. If generic addressing " -"is used and the specified address does not fall within the address window of " -"global memory (``addrspace(1)``) the behavior is undefined." +"supported value for the ``immarg`` operand is ``128``. If generic " +"addressing is used and the specified address does not fall within the " +"address window of global memory (``addrspace(1)``) the behavior is undefined." msgstr "" -#: ../../../NVPTXUsage.rst:1716 +#: ../../../NVPTXUsage.rst:2052 msgid "" "For more information, refer to the `CUDA C++ discard documentation `__ ." msgstr "" -#: ../../../NVPTXUsage.rst:1719 +#: ../../../NVPTXUsage.rst:2058 msgid "'``llvm.nvvm.cp.async.bulk.tensor.g2s.tile.[1-5]d``'" msgstr "" -#: ../../../NVPTXUsage.rst:1737 +#: ../../../NVPTXUsage.rst:2076 msgid "" "The '``@llvm.nvvm.cp.async.bulk.tensor.g2s.tile.[1-5]d``' intrinsics " "correspond to the ``cp.async.bulk.tensor.[1-5]d.*`` set of PTX instructions. " @@ -1961,12 +2246,12 @@ msgid "" "combined to form a single 2D destination tensor. The first coordinate ``i32 " "%x0`` denotes the column index followed by four coordinates indicating the " "four row-indices. So, this mode takes a total of 5 coordinates as input " -"arguments. For more information on ``gather4`` mode, refer PTX ISA ``_." +"gather4-modes>`__." msgstr "" -#: ../../../NVPTXUsage.rst:1752 +#: ../../../NVPTXUsage.rst:2090 msgid "" "The last three arguments to these intrinsics are flags indicating support " "for multicast, cache_hint and cta_group::1/2 modifiers. These flag arguments " @@ -1974,21 +2259,21 @@ msgid "" "lowers the intrinsics appropriately." msgstr "" -#: ../../../NVPTXUsage.rst:1758 +#: ../../../NVPTXUsage.rst:2095 msgid "" "The argument denoted by ``i1 %flag_ch`` when set, indicates a valid " "cache_hint (``i64 %ch``) and generates the ``.L2::cache_hint`` variant of " "the PTX instruction." msgstr "" -#: ../../../NVPTXUsage.rst:1762 +#: ../../../NVPTXUsage.rst:2099 msgid "" "The argument denoted by ``i1 %flag_mc`` when set, indicates the presence of " "a multicast mask (``i16 %mc``) and generates the PTX instruction with the ``." "multicast::cluster`` modifier." msgstr "" -#: ../../../NVPTXUsage.rst:1766 +#: ../../../NVPTXUsage.rst:2103 msgid "" "The argument denoted by ``i32 %flag_cta_group`` takes values within the " "range [0, 3) i.e. {0,1,2}. When the value of ``%flag_cta_group`` is not " @@ -1998,20 +2283,20 @@ msgid "" "instruction respectively." msgstr "" -#: ../../../NVPTXUsage.rst:1773 ../../../NVPTXUsage.rst:1817 -#: ../../../NVPTXUsage.rst:1860 ../../../NVPTXUsage.rst:1907 -#: ../../../NVPTXUsage.rst:1948 ../../../NVPTXUsage.rst:1976 +#: ../../../NVPTXUsage.rst:2110 ../../../NVPTXUsage.rst:2154 +#: ../../../NVPTXUsage.rst:2195 ../../../NVPTXUsage.rst:2240 +#: ../../../NVPTXUsage.rst:2279 ../../../NVPTXUsage.rst:2306 msgid "" -"For more information, refer PTX ISA ``_." +"async-bulk-tensor>`__." msgstr "" -#: ../../../NVPTXUsage.rst:1777 +#: ../../../NVPTXUsage.rst:2114 msgid "'``llvm.nvvm.cp.async.bulk.tensor.g2s.im2col.[3-5]d``'" msgstr "" -#: ../../../NVPTXUsage.rst:1799 +#: ../../../NVPTXUsage.rst:2136 msgid "" "The '``@llvm.nvvm.cp.async.bulk.tensor.g2s.im2col.[3-5]d``' intrinsics " "correspond to the ``cp.async.bulk.tensor.[1-5]d.*`` set of PTX instructions. " @@ -2025,21 +2310,21 @@ msgid "" "than the number of dimensions of the tensor operation. For the ``im2col.w`` " "and ``im2col.w.128`` mode, the number of offsets is always 2, denoted by " "``i16 %wHalo`` and ``i16 %wOffset`` arguments. For more information on " -"``im2col.w`` and ``im2col.w.128`` modes, refer PTX ISA ``_." +"``im2col.w`` and ``im2col.w.128`` modes, refer `PTX ISA `__." msgstr "" -#: ../../../NVPTXUsage.rst:1814 +#: ../../../NVPTXUsage.rst:2151 msgid "" "The last three arguments to these intrinsics are flags, with the same " "functionality as described in the ``tile`` mode intrinsics above." msgstr "" -#: ../../../NVPTXUsage.rst:1821 +#: ../../../NVPTXUsage.rst:2158 msgid "'``llvm.nvvm.cp.async.bulk.tensor.g2s.cta.tile.[1-5]d``'" msgstr "" -#: ../../../NVPTXUsage.rst:1839 +#: ../../../NVPTXUsage.rst:2176 msgid "" "The '``@llvm.nvvm.cp.async.bulk.tensor.g2s.cta.tile.[1-5]d``' intrinsics " "correspond to the ``cp.async.bulk.tensor.[1-5]d.shared::cta.global.*`` set " @@ -2052,13 +2337,12 @@ msgid "" "single 2D destination tensor. The first coordinate ``i32 %x0`` denotes the " "column index followed by four coordinates indicating the four row-indices. " "So, this mode takes a total of 5 coordinates as input arguments. For more " -"information on ``gather4`` mode, refer PTX ISA ``_." +"information on ``gather4`` mode, refer `PTX ISA `__." msgstr "" -#: ../../../NVPTXUsage.rst:1854 ../../../NVPTXUsage.rst:1901 -#: ../../../NVPTXUsage.rst:1942 ../../../NVPTXUsage.rst:2013 -#: ../../../NVPTXUsage.rst:2101 +#: ../../../NVPTXUsage.rst:2190 ../../../NVPTXUsage.rst:2274 +#: ../../../NVPTXUsage.rst:2343 ../../../NVPTXUsage.rst:2429 msgid "" "The last argument to these intrinsics is a boolean flag indicating support " "for cache_hint. This flag argument must be a compile-time constant. When " @@ -2066,11 +2350,11 @@ msgid "" "cache_hint`` variant of the PTX instruction." msgstr "" -#: ../../../NVPTXUsage.rst:1864 +#: ../../../NVPTXUsage.rst:2199 msgid "'``llvm.nvvm.cp.async.bulk.tensor.g2s.cta.im2col.[3-5]d``'" msgstr "" -#: ../../../NVPTXUsage.rst:1886 +#: ../../../NVPTXUsage.rst:2221 msgid "" "The '``@llvm.nvvm.cp.async.bulk.tensor.g2s.cta.im2col.[3-5]d``' intrinsics " "correspond to the ``cp.async.bulk.tensor.[1-5]d.shared::cta.global.*`` set " @@ -2084,15 +2368,23 @@ msgid "" "dimensions of the tensor operation. For the ``im2col.w`` and ``im2col." "w.128`` mode, the number of offsets is always 2, denoted by ``i16 %wHalo`` " "and ``i16 %wOffset`` arguments. For more information on ``im2col.w`` and " -"``im2col.w.128`` modes, refer PTX ISA ``_." +"``im2col.w.128`` modes, refer `PTX ISA `__." msgstr "" -#: ../../../NVPTXUsage.rst:1911 +#: ../../../NVPTXUsage.rst:2235 +msgid "" +"The last argument to these intrinsics is a boolean flag indicating support " +"for cache_hint. This flag argument must be a compile-time constant. When " +"set, it indicates a valid cache_hint (``i64 %ch``) and generates the ``.L2::" +"cache_hint`` variant of the PTX instruction." +msgstr "" + +#: ../../../NVPTXUsage.rst:2244 msgid "'``llvm.nvvm.cp.async.bulk.tensor.s2g.tile.[1-5]d``'" msgstr "" -#: ../../../NVPTXUsage.rst:1929 +#: ../../../NVPTXUsage.rst:2262 msgid "" "The '``@llvm.nvvm.cp.async.bulk.tensor.s2g.tile.[1-5]d``' intrinsics " "correspond to the ``cp.async.bulk.tensor.[1-5]d.*`` set of PTX instructions. " @@ -2104,15 +2396,15 @@ msgid "" "destination tensor. The first coordinate ``i32 %x0`` denotes the column " "index followed by four coordinates indicating the four row-indices. So, this " "mode takes a total of 5 coordinates as input arguments. For more information " -"on ``scatter4`` mode, refer PTX ISA ``_." +"on ``scatter4`` mode, refer `PTX ISA `__." msgstr "" -#: ../../../NVPTXUsage.rst:1952 +#: ../../../NVPTXUsage.rst:2283 msgid "'``llvm.nvvm.cp.async.bulk.tensor.s2g.im2col.[3-5]d``'" msgstr "" -#: ../../../NVPTXUsage.rst:1966 +#: ../../../NVPTXUsage.rst:2297 msgid "" "The '``@llvm.nvvm.cp.async.bulk.tensor.s2g.im2col.[1-5]d``' intrinsics " "correspond to the ``cp.async.bulk.tensor.[1-5]d.*`` set of PTX instructions. " @@ -2124,11 +2416,11 @@ msgid "" "as described in the ``s2g.tile`` mode intrinsics above." msgstr "" -#: ../../../NVPTXUsage.rst:1980 +#: ../../../NVPTXUsage.rst:2310 msgid "'``llvm.nvvm.cp.async.bulk.tensor.prefetch.tile.[1-5]d``'" msgstr "" -#: ../../../NVPTXUsage.rst:1998 +#: ../../../NVPTXUsage.rst:2328 msgid "" "The '``@llvm.nvvm.cp.async.bulk.tensor.prefetch.tile.[1-5]d``' intrinsics " "correspond to the ``cp.async.bulk.prefetch.tensor.[1-5]d.L2.global*`` set of " @@ -2139,28 +2431,28 @@ msgid "" "specified by the ``i32 %d0 ... i32 %d4`` arguments." msgstr "" -#: ../../../NVPTXUsage.rst:2006 +#: ../../../NVPTXUsage.rst:2336 msgid "" "In ``tile.gather4`` mode, four rows in the 2-dimnesional source tensor are " "fetched to the L2 cache. The first coordinate ``i32 %x0`` denotes the column " "index followed by four coordinates indicating the four row-indices. So, this " "mode takes a total of 5 coordinates as input arguments. For more information " -"on ``gather4`` mode, refer PTX ISA ``_." +"on ``gather4`` mode, refer `PTX ISA `__." msgstr "" -#: ../../../NVPTXUsage.rst:2019 ../../../NVPTXUsage.rst:2064 +#: ../../../NVPTXUsage.rst:2348 ../../../NVPTXUsage.rst:2392 msgid "" -"For more information, refer PTX ISA ``_." +"prefetch-tensor>`__." msgstr "" -#: ../../../NVPTXUsage.rst:2023 +#: ../../../NVPTXUsage.rst:2352 msgid "'``llvm.nvvm.cp.async.bulk.tensor.prefetch.im2col.[3-5]d``'" msgstr "" -#: ../../../NVPTXUsage.rst:2045 +#: ../../../NVPTXUsage.rst:2374 msgid "" "The '``@llvm.nvvm.cp.async.bulk.tensor.prefetch.im2col.[3-5]d``' intrinsics " "correspond to the ``cp.async.bulk.prefetch.tensor.[1-5]d.L2.global*`` set of " @@ -2174,21 +2466,21 @@ msgid "" "tensor operation. For the ``im2col.w`` and ``im2col.w.128`` modes, the " "number of offsets is always 2, denoted by ``i16 %wHalo`` and ``i16 " "%wOffset`` arguments. For more information on ``im2col.w`` and ``im2col." -"w.128`` modes, refer PTX ISA ``_." +"w.128`` modes, refer `PTX ISA `__." msgstr "" -#: ../../../NVPTXUsage.rst:2061 +#: ../../../NVPTXUsage.rst:2389 msgid "" "The last argument to these intrinsics is a boolean flag, with the same " "functionality as described in the ``tile`` mode intrinsics above." msgstr "" -#: ../../../NVPTXUsage.rst:2068 +#: ../../../NVPTXUsage.rst:2396 msgid "'``llvm.nvvm.cp.async.bulk.tensor.reduce.[red_op].tile.[1-5]d``'" msgstr "" -#: ../../../NVPTXUsage.rst:2092 +#: ../../../NVPTXUsage.rst:2420 msgid "" "The '``@llvm.nvvm.cp.async.bulk.tensor.reduce..tile.[1-5]d``' " "intrinsics correspond to the ``cp.reduce.async.bulk.tensor.[1-5]d.*`` set of " @@ -2200,18 +2492,18 @@ msgid "" "and, or, xor} as described in the ``tile.1d`` intrinsics." msgstr "" -#: ../../../NVPTXUsage.rst:2107 ../../../NVPTXUsage.rst:2134 +#: ../../../NVPTXUsage.rst:2434 ../../../NVPTXUsage.rst:2461 msgid "" -"For more information, refer PTX ISA ``_." +"reduce-async-bulk-tensor>`__." msgstr "" -#: ../../../NVPTXUsage.rst:2111 +#: ../../../NVPTXUsage.rst:2438 msgid "'``llvm.nvvm.cp.async.bulk.tensor.reduce.[red_op].im2col.[3-5]d``'" msgstr "" -#: ../../../NVPTXUsage.rst:2125 +#: ../../../NVPTXUsage.rst:2452 msgid "" "The '``@llvm.nvvm.cp.async.bulk.tensor.reduce..im2col.[3-5]d``' " "intrinsics correspond to the ``cp.reduce.async.bulk.tensor.[3-5]d.*`` set of " @@ -2224,15 +2516,15 @@ msgid "" "mode intrinsics above." msgstr "" -#: ../../../NVPTXUsage.rst:2138 +#: ../../../NVPTXUsage.rst:2465 msgid "Warp Group Intrinsics" msgstr "" -#: ../../../NVPTXUsage.rst:2141 +#: ../../../NVPTXUsage.rst:2468 msgid "'``llvm.nvvm.wgmma.fence.sync.aligned``'" msgstr "" -#: ../../../NVPTXUsage.rst:2153 +#: ../../../NVPTXUsage.rst:2480 msgid "" "The '``@llvm.nvvm.wgmma.fence.sync.aligned``' intrinsic generates the " "``wgmma.fence.sync.aligned`` PTX instruction, which establishes an ordering " @@ -2240,17 +2532,17 @@ msgid "" "the same registers by a ``wgmma.mma_async`` instruction." msgstr "" -#: ../../../NVPTXUsage.rst:2158 +#: ../../../NVPTXUsage.rst:2485 msgid "" "The ``wgmma.fence`` instruction must be issued by all warps of the warpgroup " "in the following locations:" msgstr "" -#: ../../../NVPTXUsage.rst:2161 +#: ../../../NVPTXUsage.rst:2488 msgid "Before the first ``wgmma.mma_async`` operation in a warpgroup." msgstr "" -#: ../../../NVPTXUsage.rst:2162 +#: ../../../NVPTXUsage.rst:2489 msgid "" "Between a register access by a thread in the warpgroup and any ``wgmma." "mma_async`` instruction that accesses the same registers, except when these " @@ -2259,18 +2551,18 @@ msgid "" "provided by default." msgstr "" -#: ../../../NVPTXUsage.rst:2168 +#: ../../../NVPTXUsage.rst:2495 msgid "" -"For more information, refer PTX ISA ``_." +"fence>`__." msgstr "" -#: ../../../NVPTXUsage.rst:2172 +#: ../../../NVPTXUsage.rst:2499 msgid "'``llvm.nvvm.wgmma.commit_group.sync.aligned``'" msgstr "" -#: ../../../NVPTXUsage.rst:2184 +#: ../../../NVPTXUsage.rst:2511 msgid "" "The '``@llvm.nvvm.wgmma.commit_group.sync.aligned``' intrinsic generates the " "``wgmma.commit_group.sync.aligned`` PTX instruction, which creates a new " @@ -2281,24 +2573,24 @@ msgid "" "wgmma-group." msgstr "" -#: ../../../NVPTXUsage.rst:2192 +#: ../../../NVPTXUsage.rst:2519 msgid "" "An executing thread can wait for the completion of all ``wgmma.mma_async`` " "operations in a wgmma-group by using ``wgmma.wait_group``." msgstr "" -#: ../../../NVPTXUsage.rst:2195 +#: ../../../NVPTXUsage.rst:2522 msgid "" -"For more information, refer PTX ISA ``_." +"commit-group>`__." msgstr "" -#: ../../../NVPTXUsage.rst:2199 +#: ../../../NVPTXUsage.rst:2526 msgid "'``llvm.nvvm.wgmma.wait_group.sync.aligned``'" msgstr "" -#: ../../../NVPTXUsage.rst:2211 +#: ../../../NVPTXUsage.rst:2538 msgid "" "The '``@llvm.nvvm.wgmma.wait_group.sync.aligned``' intrinsic generates the " "``wgmma.commit_group.sync.aligned N`` PTX instruction, which will cause the " @@ -2309,7 +2601,7 @@ msgid "" "constant." msgstr "" -#: ../../../NVPTXUsage.rst:2219 +#: ../../../NVPTXUsage.rst:2546 msgid "" "Accessing the accumulator register or the input register containing the " "fragments of matrix A of a ``wgmma.mma_async`` instruction without first " @@ -2317,25 +2609,25 @@ msgid "" "including that ``wgmma.mma_async`` instruction is undefined behavior." msgstr "" -#: ../../../NVPTXUsage.rst:2224 +#: ../../../NVPTXUsage.rst:2551 msgid "" -"For more information, refer PTX ISA ``_." +"wait-group>`__." msgstr "" -#: ../../../NVPTXUsage.rst:2228 +#: ../../../NVPTXUsage.rst:2555 msgid "'``llvm.nvvm.griddepcontrol.*``'" msgstr "" -#: ../../../NVPTXUsage.rst:2241 +#: ../../../NVPTXUsage.rst:2568 msgid "" "The ``griddepcontrol`` intrinsics allows the dependent grids and " "prerequisite grids as defined by the runtime, to control execution in the " "following way:" msgstr "" -#: ../../../NVPTXUsage.rst:2243 +#: ../../../NVPTXUsage.rst:2571 msgid "" "``griddepcontrol.launch_dependents`` intrinsic signals that the dependents " "can be scheduled, before the current grid completes. The intrinsic can be " @@ -2344,7 +2636,7 @@ msgid "" "invocation." msgstr "" -#: ../../../NVPTXUsage.rst:2245 +#: ../../../NVPTXUsage.rst:2576 msgid "" "``griddepcontrol.wait`` intrinsic causes the executing thread to wait until " "all prerequisite grids in flight have completed and all the memory " @@ -2352,45 +2644,45 @@ msgid "" "current grid." msgstr "" -#: ../../../NVPTXUsage.rst:2247 +#: ../../../NVPTXUsage.rst:2580 msgid "" "For more information, refer `PTX ISA `__." msgstr "" -#: ../../../NVPTXUsage.rst:2251 +#: ../../../NVPTXUsage.rst:2584 msgid "Tensormap Replace Intrinsics" msgstr "" -#: ../../../NVPTXUsage.rst:2253 +#: ../../../NVPTXUsage.rst:2586 msgid "" "These intrinsics modify the fields of the tensor-map object at ``%addr`` in " "``tile`` mode." msgstr "" -#: ../../../NVPTXUsage.rst:2256 +#: ../../../NVPTXUsage.rst:2589 msgid "" "For more information, refer to the `PTX ISA `__." msgstr "" -#: ../../../NVPTXUsage.rst:2260 +#: ../../../NVPTXUsage.rst:2593 msgid "'``llvm.nvvm.tensormap.replace.global.address``'" msgstr "" -#: ../../../NVPTXUsage.rst:2273 +#: ../../../NVPTXUsage.rst:2606 msgid "" "The '``@llvm.nvvm.tensormap.replace.global.address.*``' intrinsics replace " "the ``global_address`` field of the tensor-map object with ``%new_value``." msgstr "" -#: ../../../NVPTXUsage.rst:2277 +#: ../../../NVPTXUsage.rst:2610 msgid "'``llvm.nvvm.tensormap.replace.rank``'" msgstr "" -#: ../../../NVPTXUsage.rst:2290 +#: ../../../NVPTXUsage.rst:2623 msgid "" "The '``@llvm.nvvm.tensormap.replace.rank.*``' intrinsics replace the " "``rank`` field of the tensor-map object with ``%new_value`` which must be " @@ -2398,353 +2690,353 @@ msgid "" "numbering." msgstr "" -#: ../../../NVPTXUsage.rst:2295 +#: ../../../NVPTXUsage.rst:2628 msgid "'``llvm.nvvm.tensormap.replace.global.stride``'" msgstr "" -#: ../../../NVPTXUsage.rst:2308 +#: ../../../NVPTXUsage.rst:2641 msgid "" "The '``@llvm.nvvm.tensormap.replace.global.stride.*``' intrinsics replace " "the ``%ord``-th element of the ``global_stride`` field of the tensor-map " "object with ``%new_value``." msgstr "" -#: ../../../NVPTXUsage.rst:2313 +#: ../../../NVPTXUsage.rst:2646 msgid "'``llvm.nvvm.tensormap.replace.element.stride``'" msgstr "" -#: ../../../NVPTXUsage.rst:2326 +#: ../../../NVPTXUsage.rst:2659 msgid "" "The '``@llvm.nvvm.tensormap.replace.element.stride.*``' intrinsics replace " "the ``%ord``-th element of the ``element_stride`` field of the tensor-map " "object with ``%new_value``." msgstr "" -#: ../../../NVPTXUsage.rst:2331 +#: ../../../NVPTXUsage.rst:2664 msgid "'``llvm.nvvm.tensormap.replace.global.dim``'" msgstr "" -#: ../../../NVPTXUsage.rst:2344 +#: ../../../NVPTXUsage.rst:2677 msgid "" "The '``@llvm.nvvm.tensormap.replace.global.dim.*``' intrinsics replace the " "``%ord``-th element of the ``global_dim`` field of the tensor-map object " "with ``%new_value``." msgstr "" -#: ../../../NVPTXUsage.rst:2349 +#: ../../../NVPTXUsage.rst:2682 msgid "'``llvm.nvvm.tensormap.replace.box.dim``'" msgstr "" -#: ../../../NVPTXUsage.rst:2362 +#: ../../../NVPTXUsage.rst:2695 msgid "" "The '``@llvm.nvvm.tensormap.replace.box.dim.*``' intrinsics replace the " "``%ord``-th element of the ``box_dim`` field of the tensor-map object with " "``%new_value``." msgstr "" -#: ../../../NVPTXUsage.rst:2367 +#: ../../../NVPTXUsage.rst:2700 msgid "'``llvm.nvvm.tensormap.replace.elemtype``'" msgstr "" -#: ../../../NVPTXUsage.rst:2380 +#: ../../../NVPTXUsage.rst:2713 msgid "" "The '``@llvm.nvvm.tensormap.replace.elemtype.*``' intrinsics replace the " "``elemtype`` field of the tensor-map object with the type specified by " "``%new_value``." msgstr "" -#: ../../../NVPTXUsage.rst:2387 +#: ../../../NVPTXUsage.rst:2720 msgid "" "The following table shows the mapping of ``%new_value`` to the actual " "element type:" msgstr "" -#: ../../../NVPTXUsage.rst:2391 +#: ../../../NVPTXUsage.rst:2724 msgid "Element Type" msgstr "" -#: ../../../NVPTXUsage.rst:2391 ../../../NVPTXUsage.rst:2435 -#: ../../../NVPTXUsage.rst:2467 ../../../NVPTXUsage.rst:2501 -#: ../../../NVPTXUsage.rst:2533 +#: ../../../NVPTXUsage.rst:2724 ../../../NVPTXUsage.rst:2768 +#: ../../../NVPTXUsage.rst:2800 ../../../NVPTXUsage.rst:2834 +#: ../../../NVPTXUsage.rst:2866 msgid "Value" msgstr "" -#: ../../../NVPTXUsage.rst:2393 +#: ../../../NVPTXUsage.rst:2726 msgid "``u8``" msgstr "" -#: ../../../NVPTXUsage.rst:2394 +#: ../../../NVPTXUsage.rst:2727 msgid "``u16``" msgstr "" -#: ../../../NVPTXUsage.rst:2395 +#: ../../../NVPTXUsage.rst:2728 msgid "``u32``" msgstr "" -#: ../../../NVPTXUsage.rst:2396 +#: ../../../NVPTXUsage.rst:2729 msgid "``s32``" msgstr "" -#: ../../../NVPTXUsage.rst:2397 +#: ../../../NVPTXUsage.rst:2730 msgid "``u64``" msgstr "" -#: ../../../NVPTXUsage.rst:2398 +#: ../../../NVPTXUsage.rst:2731 msgid "``s64``" msgstr "" -#: ../../../NVPTXUsage.rst:2399 +#: ../../../NVPTXUsage.rst:2732 msgid "``f16``" msgstr "" -#: ../../../NVPTXUsage.rst:2399 +#: ../../../NVPTXUsage.rst:2732 msgid "6" msgstr "" -#: ../../../NVPTXUsage.rst:2400 +#: ../../../NVPTXUsage.rst:2733 msgid "``f32``" msgstr "" -#: ../../../NVPTXUsage.rst:2401 +#: ../../../NVPTXUsage.rst:2734 msgid "``f32.ftz``" msgstr "" -#: ../../../NVPTXUsage.rst:2401 ../../../NVPTXUsage.rst:2838 -#: ../../../NVPTXUsage.rst:2839 ../../../NVPTXUsage.rst:2840 +#: ../../../NVPTXUsage.rst:2734 ../../../NVPTXUsage.rst:3183 +#: ../../../NVPTXUsage.rst:3184 ../../../NVPTXUsage.rst:3185 msgid "8" msgstr "" -#: ../../../NVPTXUsage.rst:2402 +#: ../../../NVPTXUsage.rst:2735 msgid "``f64``" msgstr "" -#: ../../../NVPTXUsage.rst:2402 +#: ../../../NVPTXUsage.rst:2735 msgid "9" msgstr "" -#: ../../../NVPTXUsage.rst:2403 +#: ../../../NVPTXUsage.rst:2736 msgid "``bf16``" msgstr "" -#: ../../../NVPTXUsage.rst:2403 +#: ../../../NVPTXUsage.rst:2736 msgid "10" msgstr "" -#: ../../../NVPTXUsage.rst:2404 +#: ../../../NVPTXUsage.rst:2737 msgid "``tf32``" msgstr "" -#: ../../../NVPTXUsage.rst:2404 +#: ../../../NVPTXUsage.rst:2737 msgid "11" msgstr "" -#: ../../../NVPTXUsage.rst:2405 +#: ../../../NVPTXUsage.rst:2738 msgid "``tf32.ftz``" msgstr "" -#: ../../../NVPTXUsage.rst:2405 +#: ../../../NVPTXUsage.rst:2738 msgid "12" msgstr "" -#: ../../../NVPTXUsage.rst:2406 +#: ../../../NVPTXUsage.rst:2739 msgid "``b4x16``" msgstr "" -#: ../../../NVPTXUsage.rst:2406 +#: ../../../NVPTXUsage.rst:2739 msgid "13" msgstr "" -#: ../../../NVPTXUsage.rst:2407 +#: ../../../NVPTXUsage.rst:2740 msgid "``b4x16_p64``" msgstr "" -#: ../../../NVPTXUsage.rst:2407 +#: ../../../NVPTXUsage.rst:2740 msgid "14" msgstr "" -#: ../../../NVPTXUsage.rst:2408 +#: ../../../NVPTXUsage.rst:2741 msgid "``b6x16_p32`` or ``b6p2x16``" msgstr "" -#: ../../../NVPTXUsage.rst:2408 +#: ../../../NVPTXUsage.rst:2741 msgid "15" msgstr "" -#: ../../../NVPTXUsage.rst:2412 +#: ../../../NVPTXUsage.rst:2745 msgid "'``llvm.nvvm.tensormap.replace.interleave.layout``'" msgstr "" -#: ../../../NVPTXUsage.rst:2425 +#: ../../../NVPTXUsage.rst:2758 msgid "" "The '``@llvm.nvvm.tensormap.replace.interleave.layout.*``' intrinsics " "replace the ``interleave_layout`` field of the tensor-map object with the " "layout specified by ``%new_value``." msgstr "" -#: ../../../NVPTXUsage.rst:2432 +#: ../../../NVPTXUsage.rst:2765 msgid "" "The following table shows the mapping of ``%new_value`` to the actual layout:" msgstr "" -#: ../../../NVPTXUsage.rst:2435 +#: ../../../NVPTXUsage.rst:2768 msgid "Interleave Layout" msgstr "" -#: ../../../NVPTXUsage.rst:2437 +#: ../../../NVPTXUsage.rst:2770 msgid "``No interleave``" msgstr "" -#: ../../../NVPTXUsage.rst:2438 +#: ../../../NVPTXUsage.rst:2771 msgid "``16B interleave``" msgstr "" -#: ../../../NVPTXUsage.rst:2439 +#: ../../../NVPTXUsage.rst:2772 msgid "``32B interleave``" msgstr "" -#: ../../../NVPTXUsage.rst:2443 +#: ../../../NVPTXUsage.rst:2776 msgid "'``llvm.nvvm.tensormap.replace.swizzle_mode``'" msgstr "" -#: ../../../NVPTXUsage.rst:2456 +#: ../../../NVPTXUsage.rst:2789 msgid "" "The '``@llvm.nvvm.tensormap.replace.swizzle.mode.*``' intrinsics replace the " "``swizzle_mode`` field of the tensor-map object with the swizzle mode " "specified by ``%new_value``." msgstr "" -#: ../../../NVPTXUsage.rst:2463 +#: ../../../NVPTXUsage.rst:2796 msgid "" "The following table shows the mapping of ``%new_value`` to the actual " "swizzle mode:" msgstr "" -#: ../../../NVPTXUsage.rst:2467 +#: ../../../NVPTXUsage.rst:2800 msgid "Swizzle Mode" msgstr "" -#: ../../../NVPTXUsage.rst:2469 +#: ../../../NVPTXUsage.rst:2802 msgid "``No swizzle``" msgstr "" -#: ../../../NVPTXUsage.rst:2470 +#: ../../../NVPTXUsage.rst:2803 msgid "``32B swizzle``" msgstr "" -#: ../../../NVPTXUsage.rst:2471 +#: ../../../NVPTXUsage.rst:2804 msgid "``64B swizzle``" msgstr "" -#: ../../../NVPTXUsage.rst:2472 +#: ../../../NVPTXUsage.rst:2805 msgid "``128B swizzle``" msgstr "" -#: ../../../NVPTXUsage.rst:2473 +#: ../../../NVPTXUsage.rst:2806 msgid "``96B swizzle``" msgstr "" -#: ../../../NVPTXUsage.rst:2477 +#: ../../../NVPTXUsage.rst:2810 msgid "'``llvm.nvvm.tensormap.replace.swizzle_atomicity``'" msgstr "" -#: ../../../NVPTXUsage.rst:2490 +#: ../../../NVPTXUsage.rst:2823 msgid "" "The '``@llvm.nvvm.tensormap.replace.swizzle.atomicity.*``' intrinsics " "replace the ``swizzle_atomicity`` field of the tensor-map object with the " "swizzle atomicity specified by ``%new_value``." msgstr "" -#: ../../../NVPTXUsage.rst:2497 +#: ../../../NVPTXUsage.rst:2830 msgid "" "The following table shows the mapping of ``%new_value`` to the actual " "swizzle atomicity:" msgstr "" -#: ../../../NVPTXUsage.rst:2501 +#: ../../../NVPTXUsage.rst:2834 msgid "Swizzle Atomicity" msgstr "" -#: ../../../NVPTXUsage.rst:2503 +#: ../../../NVPTXUsage.rst:2836 msgid "``16B``" msgstr "" -#: ../../../NVPTXUsage.rst:2504 +#: ../../../NVPTXUsage.rst:2837 msgid "``32B``" msgstr "" -#: ../../../NVPTXUsage.rst:2505 +#: ../../../NVPTXUsage.rst:2838 msgid "``32B + 8B flip``" msgstr "" -#: ../../../NVPTXUsage.rst:2506 +#: ../../../NVPTXUsage.rst:2839 msgid "``64B``" msgstr "" -#: ../../../NVPTXUsage.rst:2510 +#: ../../../NVPTXUsage.rst:2843 msgid "'``llvm.nvvm.tensormap.replace.fill_mode``'" msgstr "" -#: ../../../NVPTXUsage.rst:2523 +#: ../../../NVPTXUsage.rst:2856 msgid "" "The '``@llvm.nvvm.tensormap.replace.fill.mode.*``' intrinsics replace the " "``fill_mode`` field of the tensor-map object with the fill mode specified by " "``%new_value``." msgstr "" -#: ../../../NVPTXUsage.rst:2530 +#: ../../../NVPTXUsage.rst:2863 msgid "" "The following table shows the mapping of ``%new_value`` to the actual fill " "mode:" msgstr "" -#: ../../../NVPTXUsage.rst:2533 +#: ../../../NVPTXUsage.rst:2866 msgid "Fill Mode" msgstr "" -#: ../../../NVPTXUsage.rst:2535 +#: ../../../NVPTXUsage.rst:2868 msgid "``Zero fill``" msgstr "" -#: ../../../NVPTXUsage.rst:2536 +#: ../../../NVPTXUsage.rst:2869 msgid "``OOB-NaN fill``" msgstr "" -#: ../../../NVPTXUsage.rst:2540 +#: ../../../NVPTXUsage.rst:2873 msgid "TCGEN05 family of Intrinsics" msgstr "" -#: ../../../NVPTXUsage.rst:2542 +#: ../../../NVPTXUsage.rst:2875 msgid "" "The llvm.nvvm.tcgen05.* intrinsics model the TCGEN05 family of instructions " "exposed by PTX. These intrinsics use 'Tensor Memory' (henceforth ``tmem``). " "NVPTX represents this memory using ``addrspace(6)`` and is always 32-bits." msgstr "" -#: ../../../NVPTXUsage.rst:2546 +#: ../../../NVPTXUsage.rst:2879 msgid "" -"For more information, refer to the PTX ISA ``_." +"For more information, refer to the `PTX ISA `__." msgstr "" -#: ../../../NVPTXUsage.rst:2549 +#: ../../../NVPTXUsage.rst:2882 msgid "" "The tensor-memory pointers may only be used with the tcgen05 intrinsics. " "There are specialized load/store instructions provided (tcgen05.ld/st) to " "work with tensor-memory." msgstr "" -#: ../../../NVPTXUsage.rst:2553 +#: ../../../NVPTXUsage.rst:2886 msgid "" -"See the PTX ISA for more information on tensor-memory load/store " -"instructions ``_." +"For more information on tensor-memory load/store instructions, refer to `PTX " +"ISA `__." msgstr "" -#: ../../../NVPTXUsage.rst:2557 +#: ../../../NVPTXUsage.rst:2890 msgid "'``llvm.nvvm.tcgen05.alloc``'" msgstr "" -#: ../../../NVPTXUsage.rst:2572 +#: ../../../NVPTXUsage.rst:2905 msgid "" "The '``@llvm.nvvm.tcgen05.alloc.*``' intrinsics correspond to the ``tcgen05." "alloc.cta_group*.sync.aligned.b32`` family of PTX instructions. The " @@ -2759,19 +3051,19 @@ msgid "" "respectively." msgstr "" -#: ../../../NVPTXUsage.rst:2583 ../../../NVPTXUsage.rst:2608 -#: ../../../NVPTXUsage.rst:2634 +#: ../../../NVPTXUsage.rst:2916 ../../../NVPTXUsage.rst:2941 +#: ../../../NVPTXUsage.rst:2966 msgid "" -"For more information, refer to the PTX ISA ``_." +"instructions>`__." msgstr "" -#: ../../../NVPTXUsage.rst:2587 +#: ../../../NVPTXUsage.rst:2920 msgid "'``llvm.nvvm.tcgen05.dealloc``'" msgstr "" -#: ../../../NVPTXUsage.rst:2600 +#: ../../../NVPTXUsage.rst:2933 msgid "" "The '``@llvm.nvvm.tcgen05.dealloc.*``' intrinsics correspond to the " "``tcgen05.dealloc.*`` set of PTX instructions. The ``tcgen05.dealloc`` " @@ -2783,11 +3075,11 @@ msgid "" "respectively." msgstr "" -#: ../../../NVPTXUsage.rst:2612 +#: ../../../NVPTXUsage.rst:2945 msgid "'``llvm.nvvm.tcgen05.relinq.alloc.permit``'" msgstr "" -#: ../../../NVPTXUsage.rst:2625 +#: ../../../NVPTXUsage.rst:2958 msgid "" "The '``@llvm.nvvm.tcgen05.relinq.alloc.permit.*``' intrinsics correspond to " "the ``tcgen05.relinquish_alloc_permit.*`` set of PTX instructions. This " @@ -2799,11 +3091,11 @@ msgid "" "respectively." msgstr "" -#: ../../../NVPTXUsage.rst:2638 +#: ../../../NVPTXUsage.rst:2970 msgid "'``llvm.nvvm.tcgen05.commit``'" msgstr "" -#: ../../../NVPTXUsage.rst:2653 +#: ../../../NVPTXUsage.rst:2985 msgid "" "The '``@llvm.nvvm.tcgen05.commit.*``' intrinsics correspond to the ``tcgen05." "commit.{cg1/cg2}.mbarrier::arrive::one.*`` set of PTX instructions. The " @@ -2811,21 +3103,21 @@ msgid "" "object (``%mbar``) track the completion of all prior asynchronous tcgen05 " "operations. The ``.mc`` variants allow signaling on the mbarrier objects of " "multiple CTAs (specified by ``%mc``) in the cluster. The ``.cg1`` and ``." -"cg2`` variants generate ``cta_group::1`` and ``cta_group::2`` flavors of the " -"instruction respectively." +"cg2`` variants generate ```cta_group::1`` and ``cta_group::2`` flavors of " +"the instruction respectively." msgstr "" -#: ../../../NVPTXUsage.rst:2661 +#: ../../../NVPTXUsage.rst:2994 msgid "" -"For more information, refer to the PTX ISA ``_." +"For more information, refer to the `PTX ISA `__." msgstr "" -#: ../../../NVPTXUsage.rst:2665 +#: ../../../NVPTXUsage.rst:2998 msgid "'``llvm.nvvm.tcgen05.wait``'" msgstr "" -#: ../../../NVPTXUsage.rst:2678 +#: ../../../NVPTXUsage.rst:3011 msgid "" "The '``@llvm.nvvm.tcgen05.wait.ld/st``' intrinsics correspond to the " "``tcgen05.wait::{ld/st}.sync.aligned`` pair of PTX instructions. The " @@ -2835,35 +3127,35 @@ msgid "" "``tcgen05.st`` operations issued by the executing thread have completed." msgstr "" -#: ../../../NVPTXUsage.rst:2686 +#: ../../../NVPTXUsage.rst:3018 msgid "" -"For more information, refer to the PTX ISA ``_." +"For more information, refer to the `PTX ISA `__." msgstr "" -#: ../../../NVPTXUsage.rst:2690 +#: ../../../NVPTXUsage.rst:3022 msgid "'``llvm.nvvm.tcgen05.fence``'" msgstr "" -#: ../../../NVPTXUsage.rst:2703 +#: ../../../NVPTXUsage.rst:3035 msgid "" "The '``@llvm.nvvm.tcgen05.fence.*``' intrinsics correspond to the ``tcgen05." "fence::{before/after}_thread_sync`` pair of PTX instructions. These " "instructions act as code motion fences for asynchronous tcgen05 operations." msgstr "" -#: ../../../NVPTXUsage.rst:2708 +#: ../../../NVPTXUsage.rst:3039 msgid "" -"For more information, refer to the PTX ISA ``_." +"fence>`__." msgstr "" -#: ../../../NVPTXUsage.rst:2712 +#: ../../../NVPTXUsage.rst:3043 msgid "'``llvm.nvvm.tcgen05.shift``'" msgstr "" -#: ../../../NVPTXUsage.rst:2725 +#: ../../../NVPTXUsage.rst:3056 msgid "" "The '``@llvm.nvvm.tcgen05.shift.{cg1/cg2}``' intrinsics correspond to the " "``tcgen05.shift.{cg1/cg2}`` PTX instructions. The ``tcgen05.shift`` is an " @@ -2873,17 +3165,17 @@ msgid "" "Tensor Memory whose rows must be down shifted." msgstr "" -#: ../../../NVPTXUsage.rst:2732 +#: ../../../NVPTXUsage.rst:3063 msgid "" -"For more information, refer to the PTX ISA ``_." +"For more information, refer to the `PTX ISA `__." msgstr "" -#: ../../../NVPTXUsage.rst:2736 +#: ../../../NVPTXUsage.rst:3067 msgid "'``llvm.nvvm.tcgen05.cp``'" msgstr "" -#: ../../../NVPTXUsage.rst:2767 +#: ../../../NVPTXUsage.rst:3098 msgid "" "The '``@llvm.nvvm.tcgen05.cp.{shape}.{src_fmt}.{cg1/cg2}``' intrinsics " "correspond to the ``tcgen05.cp.*`` family of PTX instructions. The ``tcgen05." @@ -2893,19 +3185,19 @@ msgid "" "matrix in shared memory that needs to be copied." msgstr "" -#: ../../../NVPTXUsage.rst:2774 +#: ../../../NVPTXUsage.rst:3105 msgid "" "The valid shapes for the copy operation are: {128x256b, 4x256b, 128x128b, " "64x128b_warpx2_02_13, 64x128b_warpx2_01_23, 32x128b_warpx4}." msgstr "" -#: ../../../NVPTXUsage.rst:2777 +#: ../../../NVPTXUsage.rst:3109 msgid "" "Shapes ``64x128b`` and ``32x128b`` require dedicated multicast qualifiers, " "which are appended to the corresponding intrinsic names." msgstr "" -#: ../../../NVPTXUsage.rst:2780 +#: ../../../NVPTXUsage.rst:3112 msgid "" "Optionally, the data can be decompressed from the source format in the " "shared memory to the destination format in Tensor Memory during the copy " @@ -2913,7 +3205,7 @@ msgid "" "The valid source formats are ``.b6x16_p32`` and ``.b4x16_p64``." msgstr "" -#: ../../../NVPTXUsage.rst:2785 +#: ../../../NVPTXUsage.rst:3117 msgid "" "When the source format is ``.b6x16_p32``, a contiguous set of 16 elements of " "6-bits each followed by four bytes of padding (``_p32``) in shared memory is " @@ -2921,7 +3213,7 @@ msgid "" "Memory." msgstr "" -#: ../../../NVPTXUsage.rst:2789 +#: ../../../NVPTXUsage.rst:3121 msgid "" "When the source format is ``.b4x16_p64``, a contiguous set of 16 elements of " "4-bits each followed by eight bytes of padding (``_p64``) in shared memory " @@ -2929,39 +3221,39 @@ msgid "" "Memory." msgstr "" -#: ../../../NVPTXUsage.rst:2793 +#: ../../../NVPTXUsage.rst:3125 msgid "" -"For more information on the decompression schemes, refer to the PTX ISA " -"``_." +"For more information on the decompression schemes, refer to the `PTX ISA " +"`__." msgstr "" -#: ../../../NVPTXUsage.rst:2796 +#: ../../../NVPTXUsage.rst:3128 msgid "" -"For more information on the tcgen05.cp instruction, refer to the PTX ISA " -"``_." +"For more information on the tcgen05.cp instruction, refer to the `PTX ISA " +"`__." msgstr "" -#: ../../../NVPTXUsage.rst:2800 +#: ../../../NVPTXUsage.rst:3132 msgid "'``llvm.nvvm.tcgen05.ld.*``'" msgstr "" -#: ../../../NVPTXUsage.rst:2814 +#: ../../../NVPTXUsage.rst:3154 msgid "" "This group of intrinsics asynchronously load data from the Tensor Memory at " -"the location specified by the 32-bit address operand `tmem_addr` into the " +"the ocation specified by the 32-bit address operand `tmem_addr` into the " "destination registers, collectively across all threads of the warps." msgstr "" -#: ../../../NVPTXUsage.rst:2818 ../../../NVPTXUsage.rst:2871 +#: ../../../NVPTXUsage.rst:3158 ../../../NVPTXUsage.rst:3232 msgid "" "All the threads in the warp must specify the same value of `tmem_addr`, " "which must be the base address of the collective load operation. Otherwise, " "the behavior is undefined." msgstr "" -#: ../../../NVPTXUsage.rst:2821 ../../../NVPTXUsage.rst:2874 +#: ../../../NVPTXUsage.rst:3162 ../../../NVPTXUsage.rst:3236 msgid "" "The `shape` qualifier and the `num` qualifier together determines the total " "dimension of the data ('n') which is loaded from the Tensor Memory. The " @@ -2970,135 +3262,173 @@ msgid "" "dimension of the data that is accessed." msgstr "" -#: ../../../NVPTXUsage.rst:2825 ../../../NVPTXUsage.rst:2878 -msgid "Allowed values for the 'num' are `x1, x2, x4, x8, x16, x32, x64, x128`." +#: ../../../NVPTXUsage.rst:3168 +msgid "" +"Allowed values for the `num` are `x1, x2, x4, x8, x16, x32, x64, x128` " +"except for `tcgen05.ld.red` which does not support `x1`" msgstr "" -#: ../../../NVPTXUsage.rst:2827 ../../../NVPTXUsage.rst:2880 +#: ../../../NVPTXUsage.rst:3171 ../../../NVPTXUsage.rst:3244 msgid "" "Allowed values for the 'shape' in the first intrinsic are `16x64b, 16x128b, " "16x256b, 32x32b`." msgstr "" -#: ../../../NVPTXUsage.rst:2829 ../../../NVPTXUsage.rst:2882 +#: ../../../NVPTXUsage.rst:3174 ../../../NVPTXUsage.rst:3247 msgid "Allowed value for the 'shape' in the second intrinsic is `16x32bx2`." msgstr "" -#: ../../../NVPTXUsage.rst:2831 +#: ../../../NVPTXUsage.rst:3176 msgid "" "The result of the intrinsic is a vector consisting of one or more 32-bit " "registers derived from `shape` and `num` as shown below." msgstr "" -#: ../../../NVPTXUsage.rst:2835 +#: ../../../NVPTXUsage.rst:3180 msgid "num/shape" msgstr "" -#: ../../../NVPTXUsage.rst:2835 +#: ../../../NVPTXUsage.rst:3180 msgid "16x32bx2/16x64b/32x32b" msgstr "" -#: ../../../NVPTXUsage.rst:2835 +#: ../../../NVPTXUsage.rst:3180 msgid "16x128b" msgstr "" -#: ../../../NVPTXUsage.rst:2835 +#: ../../../NVPTXUsage.rst:3180 msgid "16x256b" msgstr "" -#: ../../../NVPTXUsage.rst:2837 +#: ../../../NVPTXUsage.rst:3182 msgid "x1" msgstr "" -#: ../../../NVPTXUsage.rst:2838 +#: ../../../NVPTXUsage.rst:3183 msgid "x2" msgstr "" -#: ../../../NVPTXUsage.rst:2839 +#: ../../../NVPTXUsage.rst:3184 msgid "x4" msgstr "" -#: ../../../NVPTXUsage.rst:2839 ../../../NVPTXUsage.rst:2840 -#: ../../../NVPTXUsage.rst:2841 ../../../NVPTXUsage.rst:3015 +#: ../../../NVPTXUsage.rst:3184 ../../../NVPTXUsage.rst:3185 +#: ../../../NVPTXUsage.rst:3186 ../../../NVPTXUsage.rst:3394 msgid "16" msgstr "" -#: ../../../NVPTXUsage.rst:2840 +#: ../../../NVPTXUsage.rst:3185 msgid "x8" msgstr "" -#: ../../../NVPTXUsage.rst:2840 ../../../NVPTXUsage.rst:2841 -#: ../../../NVPTXUsage.rst:2842 ../../../NVPTXUsage.rst:2963 -#: ../../../NVPTXUsage.rst:3011 ../../../NVPTXUsage.rst:3019 -#: ../../../NVPTXUsage.rst:3021 ../../../NVPTXUsage.rst:3023 -#: ../../../NVPTXUsage.rst:3025 +#: ../../../NVPTXUsage.rst:3185 ../../../NVPTXUsage.rst:3186 +#: ../../../NVPTXUsage.rst:3187 ../../../NVPTXUsage.rst:3340 +#: ../../../NVPTXUsage.rst:3390 ../../../NVPTXUsage.rst:3398 +#: ../../../NVPTXUsage.rst:3400 ../../../NVPTXUsage.rst:3402 +#: ../../../NVPTXUsage.rst:3404 msgid "32" msgstr "" -#: ../../../NVPTXUsage.rst:2841 +#: ../../../NVPTXUsage.rst:3186 msgid "x16" msgstr "" -#: ../../../NVPTXUsage.rst:2841 ../../../NVPTXUsage.rst:2842 -#: ../../../NVPTXUsage.rst:2843 ../../../NVPTXUsage.rst:2959 -#: ../../../NVPTXUsage.rst:2968 +#: ../../../NVPTXUsage.rst:3186 ../../../NVPTXUsage.rst:3187 +#: ../../../NVPTXUsage.rst:3188 ../../../NVPTXUsage.rst:3336 +#: ../../../NVPTXUsage.rst:3345 msgid "64" msgstr "" -#: ../../../NVPTXUsage.rst:2842 +#: ../../../NVPTXUsage.rst:3187 msgid "x32" msgstr "" -#: ../../../NVPTXUsage.rst:2842 ../../../NVPTXUsage.rst:2843 -#: ../../../NVPTXUsage.rst:2844 ../../../NVPTXUsage.rst:3009 -#: ../../../NVPTXUsage.rst:3013 ../../../NVPTXUsage.rst:3017 +#: ../../../NVPTXUsage.rst:3187 ../../../NVPTXUsage.rst:3188 +#: ../../../NVPTXUsage.rst:3189 ../../../NVPTXUsage.rst:3388 +#: ../../../NVPTXUsage.rst:3392 ../../../NVPTXUsage.rst:3396 msgid "128" msgstr "" -#: ../../../NVPTXUsage.rst:2843 +#: ../../../NVPTXUsage.rst:3188 msgid "x64" msgstr "" -#: ../../../NVPTXUsage.rst:2843 ../../../NVPTXUsage.rst:2844 +#: ../../../NVPTXUsage.rst:3188 ../../../NVPTXUsage.rst:3189 msgid "NA" msgstr "" -#: ../../../NVPTXUsage.rst:2844 +#: ../../../NVPTXUsage.rst:3189 msgid "x128" msgstr "" -#: ../../../NVPTXUsage.rst:2847 +#: ../../../NVPTXUsage.rst:3192 msgid "" "The last argument `i1 %pack` is a compile-time constant which when set, " "indicates that the adjacent columns are packed into a single 32-bit element " "during the load" msgstr "" -#: ../../../NVPTXUsage.rst:2849 +#: ../../../NVPTXUsage.rst:3196 +msgid "" +"`tcgen05.ld.red` contains `%redOp` flag to specify the load reduction " +"operation and the f32 variant supports `%abs` and `%nan` bit flags for abs " +"and nan respectively" +msgstr "" + +#: ../../../NVPTXUsage.rst:3200 +msgid "`%redOp` flag:" +msgstr "" + +#: ../../../NVPTXUsage.rst:3203 ../../../NVPTXUsage.rst:3478 +#: ../../../NVPTXUsage.rst:3489 ../../../NVPTXUsage.rst:3498 +#: ../../../NVPTXUsage.rst:3575 ../../../NVPTXUsage.rst:3584 +#: ../../../NVPTXUsage.rst:3668 ../../../NVPTXUsage.rst:3679 +#: ../../../NVPTXUsage.rst:3688 ../../../NVPTXUsage.rst:3757 +#: ../../../NVPTXUsage.rst:3768 ../../../NVPTXUsage.rst:3779 +msgid "value" +msgstr "" + +#: ../../../NVPTXUsage.rst:3203 +msgid "operation" +msgstr "" + +#: ../../../NVPTXUsage.rst:3205 +msgid "min" +msgstr "" + +#: ../../../NVPTXUsage.rst:3206 +msgid "max" +msgstr "" + +#: ../../../NVPTXUsage.rst:3209 msgid "" "For more information, refer to the `PTX ISA `__." msgstr "" -#: ../../../NVPTXUsage.rst:2854 +#: ../../../NVPTXUsage.rst:3214 msgid "'``llvm.nvvm.tcgen05.st.*``'" msgstr "" -#: ../../../NVPTXUsage.rst:2868 +#: ../../../NVPTXUsage.rst:3228 msgid "" "This group of intrinsics asynchronously store data from the source vector " "into the Tensor Memory at the location specified by the 32-bit address " "operand 'tmem_addr` collectively across all threads of the warps." msgstr "" -#: ../../../NVPTXUsage.rst:2884 +#: ../../../NVPTXUsage.rst:3242 +msgid "Allowed values for the 'num' are `x1, x2, x4, x8, x16, x32, x64, x128`." +msgstr "" + +#: ../../../NVPTXUsage.rst:3249 msgid "" "`args` argument is a vector consisting of one or more 32-bit registers " "derived from `shape` and `num` as listed in the table listed in the `tcgen05." "ld` section." msgstr "" -#: ../../../NVPTXUsage.rst:2887 +#: ../../../NVPTXUsage.rst:3253 msgid "" "Each shape support an `unpack` mode to allow a 32-bit element in the " "register to be unpacked into two 16-bit elements and store them in adjacent " @@ -3106,57 +3436,57 @@ msgid "" "and can be disabled by setting it to 0." msgstr "" -#: ../../../NVPTXUsage.rst:2889 +#: ../../../NVPTXUsage.rst:3258 msgid "" "The last argument `i1 %unpack` is a compile-time constant which when set, " "indicates that a 32-bit element in the register to be unpacked into two 16-" "bit elements and store them in adjacent columns." msgstr "" -#: ../../../NVPTXUsage.rst:2891 +#: ../../../NVPTXUsage.rst:3262 msgid "" "For more information, refer to the `PTX ISA `__." msgstr "" -#: ../../../NVPTXUsage.rst:2895 +#: ../../../NVPTXUsage.rst:3266 msgid "tcgen05.mma Intrinsics" msgstr "" -#: ../../../NVPTXUsage.rst:2898 +#: ../../../NVPTXUsage.rst:3269 msgid "Overview" msgstr "" -#: ../../../NVPTXUsage.rst:2900 +#: ../../../NVPTXUsage.rst:3271 msgid "" "`tcgen05.mma` operation of shape `M x N x K` perform matrix multiplication " "and accumulation of the form: `D = A * B + D` where:" msgstr "" -#: ../../../NVPTXUsage.rst:2903 +#: ../../../NVPTXUsage.rst:3274 msgid "" "the `A` matrix has shape `M x K`, in either `Tensor Memory` or `Shared " "Memory`" msgstr "" -#: ../../../NVPTXUsage.rst:2904 +#: ../../../NVPTXUsage.rst:3275 msgid "" "the `B` matrix has shape `K x N`, in `Shared Memory` of the current CTA and, " "optionally in peer CTA" msgstr "" -#: ../../../NVPTXUsage.rst:2905 +#: ../../../NVPTXUsage.rst:3276 msgid "the `D` matrix is of the shape `M x N`, in `Tensor Memory`" msgstr "" -#: ../../../NVPTXUsage.rst:2907 +#: ../../../NVPTXUsage.rst:3278 msgid "" "Optionally an input predicate can be used to disable the input " "(`%enable_inp_d`) from the accumulator matrix and the following operation " "can be performed as `D = A * B`" msgstr "" -#: ../../../NVPTXUsage.rst:2910 +#: ../../../NVPTXUsage.rst:3282 msgid "" "The matrix multiplication and accumulation operations are categorized into " "various kinds based on input types and the throughput of the multiplication " @@ -3164,72 +3494,72 @@ msgid "" "that are supported:" msgstr "" -#: ../../../NVPTXUsage.rst:2915 +#: ../../../NVPTXUsage.rst:3288 msgid ".kind" msgstr "" -#: ../../../NVPTXUsage.rst:2915 +#: ../../../NVPTXUsage.rst:3288 msgid "Supported Input Types" msgstr "" -#: ../../../NVPTXUsage.rst:2917 +#: ../../../NVPTXUsage.rst:3290 msgid "f16" msgstr "" -#: ../../../NVPTXUsage.rst:2917 +#: ../../../NVPTXUsage.rst:3290 msgid "F16 and BF16" msgstr "" -#: ../../../NVPTXUsage.rst:2919 +#: ../../../NVPTXUsage.rst:3292 msgid "tf32" msgstr "" -#: ../../../NVPTXUsage.rst:2919 ../../../NVPTXUsage.rst:3100 -#: ../../../NVPTXUsage.rst:3254 ../../../NVPTXUsage.rst:3325 +#: ../../../NVPTXUsage.rst:3292 ../../../NVPTXUsage.rst:3481 +#: ../../../NVPTXUsage.rst:3671 ../../../NVPTXUsage.rst:3760 msgid "TF32" msgstr "" -#: ../../../NVPTXUsage.rst:2921 +#: ../../../NVPTXUsage.rst:3294 msgid "f8f6f4" msgstr "" -#: ../../../NVPTXUsage.rst:2921 +#: ../../../NVPTXUsage.rst:3294 msgid "All combinations of F8, F6, and F4" msgstr "" -#: ../../../NVPTXUsage.rst:2923 +#: ../../../NVPTXUsage.rst:3296 msgid "i8" msgstr "" -#: ../../../NVPTXUsage.rst:2923 +#: ../../../NVPTXUsage.rst:3296 msgid "Signed and Unsigned 8-bit Integers" msgstr "" -#: ../../../NVPTXUsage.rst:2925 +#: ../../../NVPTXUsage.rst:3298 msgid "mxf8f6f4" msgstr "" -#: ../../../NVPTXUsage.rst:2925 +#: ../../../NVPTXUsage.rst:3298 msgid "MX-floating point formats" msgstr "" -#: ../../../NVPTXUsage.rst:2927 +#: ../../../NVPTXUsage.rst:3300 msgid "mxf4" msgstr "" -#: ../../../NVPTXUsage.rst:2927 +#: ../../../NVPTXUsage.rst:3300 msgid "MX-floating point formats (FP4)" msgstr "" -#: ../../../NVPTXUsage.rst:2929 +#: ../../../NVPTXUsage.rst:3302 msgid "mxf4nvf4" msgstr "" -#: ../../../NVPTXUsage.rst:2929 +#: ../../../NVPTXUsage.rst:3302 msgid "MXF4 + custom NVIDIA 4-bit floating point (with common scaling factor)" msgstr "" -#: ../../../NVPTXUsage.rst:2933 +#: ../../../NVPTXUsage.rst:3306 msgid "" "`tcgen05.mma.sp` supports sparse variant of `A` with shape `M x K` stored in " "packed form as `M X (K / 2)` in memory. The `%spmetadata` specifies the " @@ -3237,7 +3567,7 @@ msgid "" "performing the MMA operation." msgstr "" -#: ../../../NVPTXUsage.rst:2937 +#: ../../../NVPTXUsage.rst:3311 msgid "" "`tcgen05.mma.block_scale` perform matrix multiplication with block scaling " "`D = (A * scale_A) * (B * scale_B) + D` where scaling of input matrices " @@ -3249,13 +3579,13 @@ msgid "" "valid-comb>`__" msgstr "" -#: ../../../NVPTXUsage.rst:2944 +#: ../../../NVPTXUsage.rst:3319 msgid "" "The sparsity metadata (`%spmetadata`) as well as the block-scale inputs for " "`A / B` matrices (`%scale_a` and `%scale_b`) reside in Tensor Memory." msgstr "" -#: ../../../NVPTXUsage.rst:2947 +#: ../../../NVPTXUsage.rst:3322 msgid "" "To facilitate opportunistic re-use of `A / B` matrix data across a sequence " "of MMA operations, the `A/B` matrices are loaded into a collector buffer " @@ -3264,51 +3594,47 @@ msgid "" "the intrinsic specifies the nature of the re-use" msgstr "" -#: ../../../NVPTXUsage.rst:2952 +#: ../../../NVPTXUsage.rst:3328 msgid "" "There are three kinds of matrix descriptors used by the tcgen05 family of " "instructions:" msgstr "" -#: ../../../NVPTXUsage.rst:2955 +#: ../../../NVPTXUsage.rst:3332 msgid "Descriptor" msgstr "" -#: ../../../NVPTXUsage.rst:2955 ../../../NVPTXUsage.rst:3597 -msgid "Description" -msgstr "" - -#: ../../../NVPTXUsage.rst:2955 +#: ../../../NVPTXUsage.rst:3332 msgid "Size (bits)" msgstr "" -#: ../../../NVPTXUsage.rst:2957 +#: ../../../NVPTXUsage.rst:3334 msgid "Shared Memory Descriptor" msgstr "" -#: ../../../NVPTXUsage.rst:2957 +#: ../../../NVPTXUsage.rst:3334 msgid "" "Describes properties of multiplicand matrix in shared memory, including its " "location within the CTA's shared memory. `PTX ISA `__" msgstr "" -#: ../../../NVPTXUsage.rst:2962 +#: ../../../NVPTXUsage.rst:3339 msgid "Instruction Descriptor" msgstr "" -#: ../../../NVPTXUsage.rst:2962 +#: ../../../NVPTXUsage.rst:3339 msgid "" "Describes shapes, types, and details of all matrices and the MMA operation. " "`PTX ISA `__" msgstr "" -#: ../../../NVPTXUsage.rst:2966 +#: ../../../NVPTXUsage.rst:3343 msgid "Zero-Column Mask Descriptor" msgstr "" -#: ../../../NVPTXUsage.rst:2966 +#: ../../../NVPTXUsage.rst:3343 msgid "" "Generates a mask specifying which columns of B matrix are zeroed in the MMA " "operation, regardless of values in shared memory. Total mask size = N bits " @@ -3316,7 +3642,7 @@ msgid "" "instruction-descriptor>`__" msgstr "" -#: ../../../NVPTXUsage.rst:2973 +#: ../../../NVPTXUsage.rst:3350 msgid "" "`tcgen05.mma` can be used for general matrix multiplication or for " "convolution operations. In case of convolutions, the `activations` can be " @@ -3324,7 +3650,7 @@ msgid "" "in the other matrix" msgstr "" -#: ../../../NVPTXUsage.rst:2977 +#: ../../../NVPTXUsage.rst:3354 msgid "" "`tcgen05.mma` has an optional collector qualifier to specify when an `A` or " "`B` matrix is new to the sequence and should be loaded, unchanged within the " @@ -3337,7 +3663,7 @@ msgid "" "completed - regardless of collector qualifier permissions." msgstr "" -#: ../../../NVPTXUsage.rst:2987 +#: ../../../NVPTXUsage.rst:3364 msgid "" "The `cta_group::1` specifies that the operation is performed on the Tensor " "Memory of the executing thread’s CTA only. The `cta_group::2` specifies that " @@ -3345,7 +3671,7 @@ msgid "" "thread’s CTA and its peer CTA." msgstr "" -#: ../../../NVPTXUsage.rst:2991 +#: ../../../NVPTXUsage.rst:3369 msgid "" "The vector operand `%disable_output_lane` specifies the lane(s) in the " "Tensor Memory that should be not be updated with the resultant matrix D. " @@ -3357,11 +3683,11 @@ msgid "" "be updated" msgstr "" -#: ../../../NVPTXUsage.rst:3000 +#: ../../../NVPTXUsage.rst:3378 msgid "Intrinsic Design:" msgstr "" -#: ../../../NVPTXUsage.rst:3002 +#: ../../../NVPTXUsage.rst:3380 msgid "" "Given the broad feature set of `tcgen05.mma` instruction modeling these " "through intrinsics is highly complex, and the following table outlines the " @@ -3369,104 +3695,104 @@ msgid "" "instruction set." msgstr "" -#: ../../../NVPTXUsage.rst:3007 +#: ../../../NVPTXUsage.rst:3386 msgid "variant" msgstr "" -#: ../../../NVPTXUsage.rst:3007 +#: ../../../NVPTXUsage.rst:3386 msgid "Configuration" msgstr "" -#: ../../../NVPTXUsage.rst:3007 +#: ../../../NVPTXUsage.rst:3386 msgid "Total Variants" msgstr "" -#: ../../../NVPTXUsage.rst:3009 +#: ../../../NVPTXUsage.rst:3388 msgid "tcgen05.mma.shared" msgstr "" -#: ../../../NVPTXUsage.rst:3009 ../../../NVPTXUsage.rst:3017 +#: ../../../NVPTXUsage.rst:3388 ../../../NVPTXUsage.rst:3396 msgid "2 (space) x 2 (sp) x 4 (kind) x 2 (cta_group) x 4 (collector_usage)" msgstr "" -#: ../../../NVPTXUsage.rst:3011 +#: ../../../NVPTXUsage.rst:3390 msgid "tcgen05.mma.tensor.ashift" msgstr "" -#: ../../../NVPTXUsage.rst:3011 ../../../NVPTXUsage.rst:3019 +#: ../../../NVPTXUsage.rst:3390 ../../../NVPTXUsage.rst:3398 msgid "2 (sp) x 4 (kind) x 2 (cta_group) x 2 (collector_usage)" msgstr "" -#: ../../../NVPTXUsage.rst:3013 +#: ../../../NVPTXUsage.rst:3392 msgid "tcgen05.mma.scale_d" msgstr "" -#: ../../../NVPTXUsage.rst:3013 +#: ../../../NVPTXUsage.rst:3392 msgid "2 (space) x 2 (sp) x 2 (kind) x 2 (cta_group) x 4 (collector_usage)" msgstr "" -#: ../../../NVPTXUsage.rst:3015 +#: ../../../NVPTXUsage.rst:3394 msgid "tcgen05.mma.scale_d.tensor.ashift" msgstr "" -#: ../../../NVPTXUsage.rst:3015 +#: ../../../NVPTXUsage.rst:3394 msgid "2 (sp) x 2 (kind) x 2 (cta_group) x 2 (collector_usage)" msgstr "" -#: ../../../NVPTXUsage.rst:3017 +#: ../../../NVPTXUsage.rst:3396 msgid "tcgen05.mma.disable_output_lane" msgstr "" -#: ../../../NVPTXUsage.rst:3019 +#: ../../../NVPTXUsage.rst:3398 msgid "tcgen05.mma.disable_output_lane..." msgstr "" -#: ../../../NVPTXUsage.rst:3021 ../../../NVPTXUsage.rst:3023 -#: ../../../NVPTXUsage.rst:3025 +#: ../../../NVPTXUsage.rst:3400 ../../../NVPTXUsage.rst:3402 +#: ../../../NVPTXUsage.rst:3404 msgid "tcgen05.mma.block_scale" msgstr "" -#: ../../../NVPTXUsage.rst:3021 +#: ../../../NVPTXUsage.rst:3400 msgid "" "2 (space) x 1 (mxf4nvf4) x 2 (cta_group) x 2 (scale_vec_size) x 4 " "(collector_usage)" msgstr "" -#: ../../../NVPTXUsage.rst:3023 +#: ../../../NVPTXUsage.rst:3402 msgid "" "2 (space) x 1 (mxf4) x 2 (cta_group) x 2 (scale_vec_size) x 4 " "(collector_usage)" msgstr "" -#: ../../../NVPTXUsage.rst:3025 +#: ../../../NVPTXUsage.rst:3404 msgid "" "2 (space) x 1 (mxf8f6f4) x 2 (cta_group) x 2 (scale_vec_size) x 4 " "(collector_usage)" msgstr "" -#: ../../../NVPTXUsage.rst:3027 +#: ../../../NVPTXUsage.rst:3406 msgid "tcgen05.mma.ws" msgstr "" -#: ../../../NVPTXUsage.rst:3027 +#: ../../../NVPTXUsage.rst:3406 msgid "" "2 (space) x 2 (sp) x 4 (kind) x 2 (zero_col_mask) x 4 (collector_usage_op) x " "4 (collector_buffer)" msgstr "" -#: ../../../NVPTXUsage.rst:3027 +#: ../../../NVPTXUsage.rst:3406 msgid "256" msgstr "" -#: ../../../NVPTXUsage.rst:3029 +#: ../../../NVPTXUsage.rst:3408 msgid "Total" msgstr "" -#: ../../../NVPTXUsage.rst:3029 +#: ../../../NVPTXUsage.rst:3408 msgid "816" msgstr "" -#: ../../../NVPTXUsage.rst:3033 +#: ../../../NVPTXUsage.rst:3412 msgid "" "To reduce the number of possible intrinsic variations, we've modeled the " "`tcgen05.mma` instructions using flag operands. We've added range checks to " @@ -3474,11 +3800,11 @@ msgid "" "intrinsic modifiers to avoid supporting invalid combinations of features." msgstr "" -#: ../../../NVPTXUsage.rst:3040 +#: ../../../NVPTXUsage.rst:3419 msgid "'``llvm.nvvm.tcgen05.mma.*``'" msgstr "" -#: ../../../NVPTXUsage.rst:3065 +#: ../../../NVPTXUsage.rst:3444 msgid "" "`nvvm.tcgen05.mma` is an asynchronous intrinsic which initiates an `M x N x " "K` matrix multiply and accumulate operation, `D = A * B + D` where the `A` " @@ -3492,7 +3818,7 @@ msgid "" "nvidia.com/cuda/parallel-thread-execution/#tcgen05-instruction-descriptor>`__" msgstr "" -#: ../../../NVPTXUsage.rst:3074 +#: ../../../NVPTXUsage.rst:3455 msgid "" "`nvvm.tcgen05.mma` has single thread semantics, unlike the collective " "instructions `nvvm.mma.sync` or the PTX `wgmma.mma_async` instruction. So, a " @@ -3500,125 +3826,116 @@ msgid "" "of the whole matrix and accumulate operation" msgstr "" -#: ../../../NVPTXUsage.rst:3079 +#: ../../../NVPTXUsage.rst:3460 msgid "" "When `.sp` is specifed, the dimension of A matrix is `M x (K/2)` and " "requires specifying an additional `%spmetadata` argument" msgstr "" -#: ../../../NVPTXUsage.rst:3082 ../../../NVPTXUsage.rst:3240 +#: ../../../NVPTXUsage.rst:3463 ../../../NVPTXUsage.rst:3654 msgid "" "`.ashift` shifts the rows of the A matrix down by one row, except for the " "last row in the Tensor Memory. `.ashift` is only allowed with M = 128 or M = " "256." msgstr "" -#: ../../../NVPTXUsage.rst:3085 ../../../NVPTXUsage.rst:3242 +#: ../../../NVPTXUsage.rst:3466 ../../../NVPTXUsage.rst:3657 msgid "" "The `%collector_usage_a_op_flag` flag specifies the usage of collector " "buffer for matrix `A`. It is illegal to specify either of `USE` or `FILL` " "for `%collector_usage_a_op_flag` along with `.ashift`" msgstr "" -#: ../../../NVPTXUsage.rst:3089 ../../../NVPTXUsage.rst:3173 -#: ../../../NVPTXUsage.rst:3244 +#: ../../../NVPTXUsage.rst:3470 ../../../NVPTXUsage.rst:3567 +#: ../../../NVPTXUsage.rst:3661 msgid "" "For more information, refer to the `PTX ISA `__" msgstr "" -#: ../../../NVPTXUsage.rst:3092 ../../../NVPTXUsage.rst:3176 +#: ../../../NVPTXUsage.rst:3473 ../../../NVPTXUsage.rst:3570 msgid "The following tables describe the possible values of the flag arguments" msgstr "" -#: ../../../NVPTXUsage.rst:3094 +#: ../../../NVPTXUsage.rst:3475 msgid "`%kind_flag` flag:" msgstr "" -#: ../../../NVPTXUsage.rst:3097 ../../../NVPTXUsage.rst:3251 -#: ../../../NVPTXUsage.rst:3322 +#: ../../../NVPTXUsage.rst:3478 ../../../NVPTXUsage.rst:3668 +#: ../../../NVPTXUsage.rst:3757 msgid "`kind_flag`" msgstr "" -#: ../../../NVPTXUsage.rst:3097 ../../../NVPTXUsage.rst:3108 -#: ../../../NVPTXUsage.rst:3117 ../../../NVPTXUsage.rst:3181 -#: ../../../NVPTXUsage.rst:3190 ../../../NVPTXUsage.rst:3251 -#: ../../../NVPTXUsage.rst:3262 ../../../NVPTXUsage.rst:3271 -#: ../../../NVPTXUsage.rst:3322 ../../../NVPTXUsage.rst:3333 -#: ../../../NVPTXUsage.rst:3344 -msgid "value" -msgstr "" - -#: ../../../NVPTXUsage.rst:3099 ../../../NVPTXUsage.rst:3253 -#: ../../../NVPTXUsage.rst:3324 +#: ../../../NVPTXUsage.rst:3480 ../../../NVPTXUsage.rst:3670 +#: ../../../NVPTXUsage.rst:3759 msgid "F16" msgstr "" -#: ../../../NVPTXUsage.rst:3101 ../../../NVPTXUsage.rst:3255 -#: ../../../NVPTXUsage.rst:3326 +#: ../../../NVPTXUsage.rst:3482 ../../../NVPTXUsage.rst:3672 +#: ../../../NVPTXUsage.rst:3761 msgid "F8F6F4" msgstr "" -#: ../../../NVPTXUsage.rst:3102 ../../../NVPTXUsage.rst:3256 -#: ../../../NVPTXUsage.rst:3327 +#: ../../../NVPTXUsage.rst:3483 ../../../NVPTXUsage.rst:3673 +#: ../../../NVPTXUsage.rst:3762 msgid "I8" msgstr "" -#: ../../../NVPTXUsage.rst:3105 +#: ../../../NVPTXUsage.rst:3486 msgid "`%cta_group_flag` flag:" msgstr "" -#: ../../../NVPTXUsage.rst:3108 ../../../NVPTXUsage.rst:3262 +#: ../../../NVPTXUsage.rst:3489 ../../../NVPTXUsage.rst:3679 msgid "`cta_group_flag`" msgstr "" -#: ../../../NVPTXUsage.rst:3110 ../../../NVPTXUsage.rst:3183 -#: ../../../NVPTXUsage.rst:3264 +#: ../../../NVPTXUsage.rst:3491 ../../../NVPTXUsage.rst:3577 +#: ../../../NVPTXUsage.rst:3681 msgid "CG1" msgstr "" -#: ../../../NVPTXUsage.rst:3111 ../../../NVPTXUsage.rst:3184 -#: ../../../NVPTXUsage.rst:3265 +#: ../../../NVPTXUsage.rst:3492 ../../../NVPTXUsage.rst:3578 +#: ../../../NVPTXUsage.rst:3682 msgid "CG2" msgstr "" -#: ../../../NVPTXUsage.rst:3114 +#: ../../../NVPTXUsage.rst:3495 msgid "`%collector_usage_a_op_flag` flag:" msgstr "" -#: ../../../NVPTXUsage.rst:3117 ../../../NVPTXUsage.rst:3190 -#: ../../../NVPTXUsage.rst:3271 +#: ../../../NVPTXUsage.rst:3498 ../../../NVPTXUsage.rst:3584 +#: ../../../NVPTXUsage.rst:3688 msgid "`collector_usage_a_op_flag`" msgstr "" -#: ../../../NVPTXUsage.rst:3119 ../../../NVPTXUsage.rst:3192 -#: ../../../NVPTXUsage.rst:3273 ../../../NVPTXUsage.rst:3346 +#: ../../../NVPTXUsage.rst:3500 ../../../NVPTXUsage.rst:3586 +#: ../../../NVPTXUsage.rst:3690 ../../../NVPTXUsage.rst:3781 msgid "DISCARD" msgstr "" -#: ../../../NVPTXUsage.rst:3120 ../../../NVPTXUsage.rst:3193 -#: ../../../NVPTXUsage.rst:3274 ../../../NVPTXUsage.rst:3347 +#: ../../../NVPTXUsage.rst:3501 ../../../NVPTXUsage.rst:3587 +#: ../../../NVPTXUsage.rst:3691 ../../../NVPTXUsage.rst:3782 msgid "LASTUSE" msgstr "" -#: ../../../NVPTXUsage.rst:3121 ../../../NVPTXUsage.rst:3194 -#: ../../../NVPTXUsage.rst:3275 ../../../NVPTXUsage.rst:3348 +#: ../../../NVPTXUsage.rst:3502 ../../../NVPTXUsage.rst:3588 +#: ../../../NVPTXUsage.rst:3692 ../../../NVPTXUsage.rst:3783 msgid "USE" msgstr "" -#: ../../../NVPTXUsage.rst:3122 ../../../NVPTXUsage.rst:3195 -#: ../../../NVPTXUsage.rst:3276 ../../../NVPTXUsage.rst:3349 +#: ../../../NVPTXUsage.rst:3503 ../../../NVPTXUsage.rst:3589 +#: ../../../NVPTXUsage.rst:3693 ../../../NVPTXUsage.rst:3784 msgid "FILL" msgstr "" -#: ../../../NVPTXUsage.rst:3126 +#: ../../../NVPTXUsage.rst:3507 msgid "'``llvm.nvvm.tcgen05.mma.block_scale*``'" msgstr "" -#: ../../../NVPTXUsage.rst:3165 +#: ../../../NVPTXUsage.rst:3546 msgid "" "`nvvm.tcgen05.mma.block_scale` is an asynchronous intrinsic which initiates " -"an `M x N x K` matrix multiply and accumulate operation, `D = (A * scale_a) " +"an `M x N x K` matrix multiply and accumulate operation `D = (A * scale_a) " "* (B * scale_b) + D` where the `A` matrix is `M x K`, the `B` matrix is `K x " "N`, and the `D` matrix is `M x N`. The matrices `A` and `B` are scaled with " "`%scale_A` and `%scale_B` matrices respectively before performing the matrix " @@ -3629,59 +3946,59 @@ msgid "" "execution/#tcgen05-instruction-descriptor>`__" msgstr "" -#: ../../../NVPTXUsage.rst:3167 +#: ../../../NVPTXUsage.rst:3556 msgid "" "`nvvm.tcgen05.mma.block_scale` has single thread semantics, unlike the " "collective instructions `nvvm.mma.sync` or the PTX `wgmma.mma_async` " "instruction. So, a single thread issuing the `nvvm.tcgen05.mma.block_scale` " "will result in the initiation of the whole matrix multiply and accumulate " -"operation" +"operation." msgstr "" -#: ../../../NVPTXUsage.rst:3169 +#: ../../../NVPTXUsage.rst:3561 msgid "" "When `.sp` is specified, the dimension of A matrix is `M x (K / 2)` and " "requires specifying an additional `%spmetadata` argument" msgstr "" -#: ../../../NVPTXUsage.rst:3171 +#: ../../../NVPTXUsage.rst:3564 msgid "" "The `%collector_usage_a_op_flag` flag specifies the usage of collector " "buffer for matrix `A`" msgstr "" -#: ../../../NVPTXUsage.rst:3178 +#: ../../../NVPTXUsage.rst:3572 msgid "`%cta_group`:" msgstr "" -#: ../../../NVPTXUsage.rst:3181 +#: ../../../NVPTXUsage.rst:3575 msgid "`cta_group`" msgstr "" -#: ../../../NVPTXUsage.rst:3187 ../../../NVPTXUsage.rst:3268 +#: ../../../NVPTXUsage.rst:3581 ../../../NVPTXUsage.rst:3685 msgid "`%collector_usage_a_op_flag`:" msgstr "" -#: ../../../NVPTXUsage.rst:3199 +#: ../../../NVPTXUsage.rst:3593 msgid "'``llvm.nvvm.tcgen05.mma.disable_output_lane*``'" msgstr "" -#: ../../../NVPTXUsage.rst:3232 +#: ../../../NVPTXUsage.rst:3626 msgid "" "`nvvm.tcgen05.mma.disable_output_lane` is an asynchronous intrinsic which " -"initiates an `M x N x K` matrix multiply and accumulate operation, `D = A * " -"B + D` where the `A` matrix is `M x K`, the `B` matrix is `K x N`, and the " -"`D` matrix is `M x N`. The operation of the form `D = A*B` is issued when " -"the input predicate argument `%enable_inp_d` is false. The optional " -"immediate argument `%scale_d_imm` can be specified to scale the input matrix " -"`D` as follows: `D = A*B+D * (2 ^ - %scale_d_imm)`. The valid range of " -"values for argument `%scale_d_imm` is `[0, 15]`. The 32-bit register operand " -"idesc is the instruction descriptor as described in `Instruction descriptor " -"`__" msgstr "" -#: ../../../NVPTXUsage.rst:3234 +#: ../../../NVPTXUsage.rst:3637 msgid "" "The vector operand `%disable_output_lane` specifies the lane(s) in the " "Tensor Memory that should be not be updated with the resultant matrix `D`. " @@ -3692,7 +4009,7 @@ msgid "" "Tensor Memory for the resultant matrix `D` will not be updated" msgstr "" -#: ../../../NVPTXUsage.rst:3236 +#: ../../../NVPTXUsage.rst:3645 msgid "" "`nvvm.tcgen05.mma.disable_output_lane` has single thread semantics, unlike " "the collective instructions `nvvm.mma.sync` or the PTX `wgmma.mma_async` " @@ -3701,30 +4018,30 @@ msgid "" "multiply and accumulate operation" msgstr "" -#: ../../../NVPTXUsage.rst:3238 ../../../NVPTXUsage.rst:3308 +#: ../../../NVPTXUsage.rst:3651 msgid "" "When `.sp` is specifed, the dimension of A matrix is `M x (K / 2)` and " -"requires specifiying an additional `%spmetadata` argument" +"requires specifiying an additional `%spmetadata` argument." msgstr "" -#: ../../../NVPTXUsage.rst:3246 ../../../NVPTXUsage.rst:3317 +#: ../../../NVPTXUsage.rst:3663 ../../../NVPTXUsage.rst:3752 msgid "" "The following tables describes the possible values of the flag arguments" msgstr "" -#: ../../../NVPTXUsage.rst:3248 ../../../NVPTXUsage.rst:3319 +#: ../../../NVPTXUsage.rst:3665 ../../../NVPTXUsage.rst:3754 msgid "`%kind_flag`:" msgstr "" -#: ../../../NVPTXUsage.rst:3259 +#: ../../../NVPTXUsage.rst:3676 msgid "`%cta_group_flag`:" msgstr "" -#: ../../../NVPTXUsage.rst:3281 +#: ../../../NVPTXUsage.rst:3698 msgid "'``llvm.nvvm.tcgen05.mma.ws*``'" msgstr "" -#: ../../../NVPTXUsage.rst:3304 +#: ../../../NVPTXUsage.rst:3721 msgid "" "`nvvm.tcgen05.mma.ws` is an asynchronous intrinsic which initiates an `M x N " "x K` weight stationary convolution matrix multiply and accumulate operation, " @@ -3739,7 +4056,7 @@ msgid "" "descriptor>`__" msgstr "" -#: ../../../NVPTXUsage.rst:3306 +#: ../../../NVPTXUsage.rst:3732 msgid "" "`nvvm.tcgen05.mma` has single thread semantics, unlike the collective " "instructions `nvvm.mma.sync` or the PTX `wgmma.mma_async` instruction. So, a " @@ -3747,7 +4064,13 @@ msgid "" "of the whole matrix multiply and accumulate operation" msgstr "" -#: ../../../NVPTXUsage.rst:3310 +#: ../../../NVPTXUsage.rst:3737 +msgid "" +"When `.sp` is specifed, the dimension of A matrix is `M x (K / 2)` and " +"requires specifiying an additional `%spmetadata` argument" +msgstr "" + +#: ../../../NVPTXUsage.rst:3740 msgid "" "The operand `%zero_col_mask` is a 64-bit register which specifies the `Zero-" "Column Mask Descriptor `__" msgstr "" -#: ../../../NVPTXUsage.rst:3330 +#: ../../../NVPTXUsage.rst:3765 msgid "`%collector_usage_b_buffer_flag`:" msgstr "" -#: ../../../NVPTXUsage.rst:3333 +#: ../../../NVPTXUsage.rst:3768 msgid "`collector_usage_b_buffer_flag`" msgstr "" -#: ../../../NVPTXUsage.rst:3335 +#: ../../../NVPTXUsage.rst:3770 msgid "B0" msgstr "" -#: ../../../NVPTXUsage.rst:3336 +#: ../../../NVPTXUsage.rst:3771 msgid "B1" msgstr "" -#: ../../../NVPTXUsage.rst:3337 +#: ../../../NVPTXUsage.rst:3772 msgid "B2" msgstr "" -#: ../../../NVPTXUsage.rst:3338 +#: ../../../NVPTXUsage.rst:3773 msgid "B3" msgstr "" -#: ../../../NVPTXUsage.rst:3341 +#: ../../../NVPTXUsage.rst:3776 msgid "`%collector_usage_b_op_flag`:" msgstr "" -#: ../../../NVPTXUsage.rst:3344 +#: ../../../NVPTXUsage.rst:3779 msgid "`collector_usage_b_op_flag`" msgstr "" -#: ../../../NVPTXUsage.rst:3353 +#: ../../../NVPTXUsage.rst:3788 msgid "Store Intrinsics" msgstr "" -#: ../../../NVPTXUsage.rst:3356 +#: ../../../NVPTXUsage.rst:3791 msgid "'``llvm.nvvm.st.bulk.*``'" msgstr "" -#: ../../../NVPTXUsage.rst:3369 +#: ../../../NVPTXUsage.rst:3804 msgid "" "The '``@llvm.nvvm.st.bulk.*``' intrinsics initialize a region of shared " "memory starting from the location specified by the destination address " "operand `%dst`." msgstr "" -#: ../../../NVPTXUsage.rst:3372 +#: ../../../NVPTXUsage.rst:3807 msgid "" "The integer operand `%size` specifies the amount of memory to be initialized " "in terms of number of bytes and must be a multiple of 8. Otherwise, the " "behavior is undefined." msgstr "" -#: ../../../NVPTXUsage.rst:3376 +#: ../../../NVPTXUsage.rst:3811 msgid "" "The integer immediate operand `%initval` specifies the initialization value " "for the memory locations. The only numeric value allowed is 0." msgstr "" -#: ../../../NVPTXUsage.rst:3379 +#: ../../../NVPTXUsage.rst:3814 msgid "" "The ``@llvm.nvvm.st.bulk.shared.cta`` and ``@llvm.nvvm.st.bulk`` intrinsics " "are similar but the latter uses generic addressing (see `Generic Addressing " @@ -3837,21 +4160,21 @@ msgid "" "addressing>`__)." msgstr "" -#: ../../../NVPTXUsage.rst:3382 +#: ../../../NVPTXUsage.rst:3818 msgid "" "For more information, refer `PTX ISA `__." msgstr "" -#: ../../../NVPTXUsage.rst:3386 +#: ../../../NVPTXUsage.rst:3823 msgid "clusterlaunchcontrol Intrinsics" msgstr "" -#: ../../../NVPTXUsage.rst:3389 +#: ../../../NVPTXUsage.rst:3826 msgid "'``llvm.nvvm.clusterlaunchcontrol.try_cancel*``' Intrinsics" msgstr "" -#: ../../../NVPTXUsage.rst:3402 +#: ../../../NVPTXUsage.rst:3839 msgid "" "The ``clusterlaunchcontrol.try_cancel`` intrinsics requests atomically " "cancelling the launch of a cluster that has not started running yet. It " @@ -3867,123 +4190,123 @@ msgid "" "contain that id." msgstr "" -#: ../../../NVPTXUsage.rst:3413 +#: ../../../NVPTXUsage.rst:3851 msgid "" "The ``multicast`` variant specifies that the response is asynchronously non-" "atomically written to the corresponding shared memory location of each CTA " "in the requesting cluster. The completion of the write of each local " "response is tracked by independent mbarriers at the corresponding shared " -"memory location of each CTA in the cluster." +"memory location of each CTA in theccluster." msgstr "" -#: ../../../NVPTXUsage.rst:3419 +#: ../../../NVPTXUsage.rst:3857 msgid "" "For more information, refer `PTX ISA `__." msgstr "" -#: ../../../NVPTXUsage.rst:3422 +#: ../../../NVPTXUsage.rst:3860 msgid "'``llvm.nvvm.clusterlaunchcontrol.query_cancel.is_canceled``' Intrinsic" msgstr "" -#: ../../../NVPTXUsage.rst:3434 +#: ../../../NVPTXUsage.rst:3872 msgid "" "The ``llvm.nvvm.clusterlaunchcontrol.query_cancel.is_canceled`` intrinsic " "decodes the opaque response written by the ``llvm.nvvm.clusterlaunchcontrol." "try_cancel`` operation." msgstr "" -#: ../../../NVPTXUsage.rst:3437 +#: ../../../NVPTXUsage.rst:3876 msgid "" "The intrinsic returns ``0`` (false) if the request failed. If the request " "succeeded, it returns ``1`` (true). A true result indicates that:" msgstr "" -#: ../../../NVPTXUsage.rst:3440 +#: ../../../NVPTXUsage.rst:3879 msgid "" "the thread block cluster whose first CTA id matches that of the response " "handle will not run, and" msgstr "" -#: ../../../NVPTXUsage.rst:3442 +#: ../../../NVPTXUsage.rst:3881 msgid "" "no other successful response of another ``try_cancel`` request in the grid " "will contain the first CTA id of that cluster" msgstr "" -#: ../../../NVPTXUsage.rst:3445 ../../../NVPTXUsage.rst:3474 +#: ../../../NVPTXUsage.rst:3884 ../../../NVPTXUsage.rst:3914 msgid "" "For more information, refer `PTX ISA `__." msgstr "" -#: ../../../NVPTXUsage.rst:3449 +#: ../../../NVPTXUsage.rst:3888 msgid "" "'``llvm.nvvm.clusterlaunchcontrol.query_cancel.get_first_ctaid.*``' " "Intrinsics" msgstr "" -#: ../../../NVPTXUsage.rst:3463 +#: ../../../NVPTXUsage.rst:3902 msgid "" "The ``clusterlaunchcontrol.query_cancel.get_first_ctaid.*`` intrinsic can be " "used to decode the successful opaque response written by the ``llvm.nvvm." "clusterlaunchcontrol.try_cancel`` operation." msgstr "" -#: ../../../NVPTXUsage.rst:3467 +#: ../../../NVPTXUsage.rst:3906 msgid "If the request succeeded:" msgstr "" -#: ../../../NVPTXUsage.rst:3469 +#: ../../../NVPTXUsage.rst:3908 msgid "" "``llvm.nvvm.clusterlaunchcontrol.query_cancel.get_first_ctaid.{x,y,z}`` " "returns the coordinate of the first CTA in the canceled cluster, either x, " "y, or z." msgstr "" -#: ../../../NVPTXUsage.rst:3472 +#: ../../../NVPTXUsage.rst:3912 msgid "If the request failed, the behavior of these intrinsics is undefined." msgstr "" -#: ../../../NVPTXUsage.rst:3477 +#: ../../../NVPTXUsage.rst:3917 msgid "Perf Monitor Event Intrinsics" msgstr "" -#: ../../../NVPTXUsage.rst:3480 +#: ../../../NVPTXUsage.rst:3920 msgid "'``llvm.nvvm.pm.event.mask``' Intrinsic" msgstr "" -#: ../../../NVPTXUsage.rst:3492 +#: ../../../NVPTXUsage.rst:3932 msgid "" "The '``llvm.nvvm.pm.event.mask``' intrinsic triggers one or more performance " -"monitor events. Each bit in the 16-bit immediate operand ``%mask_val`` " +"monitor events. Each bit in the 16-bit immediate operand `%mask_val`` " "controls an event." msgstr "" -#: ../../../NVPTXUsage.rst:3496 +#: ../../../NVPTXUsage.rst:3936 msgid "" -"For more information on the pmevent instructions, refer to the PTX ISA " -"``_." +"For more information on the pmevent instructions, refer to the `PTX ISA " +"`__." msgstr "" -#: ../../../NVPTXUsage.rst:3500 +#: ../../../NVPTXUsage.rst:3940 msgid "Other Intrinsics" msgstr "" -#: ../../../NVPTXUsage.rst:3502 +#: ../../../NVPTXUsage.rst:3942 msgid "" "For the full set of NVPTX intrinsics, please see the ``include/llvm/IR/" "IntrinsicsNVVM.td`` file in the LLVM source tree." msgstr "" -#: ../../../NVPTXUsage.rst:3509 +#: ../../../NVPTXUsage.rst:3949 msgid "Linking with Libdevice" msgstr "" -#: ../../../NVPTXUsage.rst:3511 +#: ../../../NVPTXUsage.rst:3951 msgid "" "The CUDA Toolkit comes with an LLVM bitcode library called ``libdevice`` " "that implements many common mathematical functions. This library can be used " @@ -3992,13 +4315,14 @@ msgid "" "Toolkit and there is a separate version for each compute architecture." msgstr "" -#: ../../../NVPTXUsage.rst:3517 +#: ../../../NVPTXUsage.rst:3957 msgid "" "For a list of all math functions implemented in libdevice, see `libdevice " -"Users Guide `_." +"Users Guide `__." msgstr "" -#: ../../../NVPTXUsage.rst:3520 +#: ../../../NVPTXUsage.rst:3960 msgid "" "To accommodate various math-related compiler flags that can affect code " "generation of libdevice code, the library code depends on a special LLVM IR " @@ -4008,11 +4332,11 @@ msgid "" "conditional code often follows a pattern:" msgstr "" -#: ../../../NVPTXUsage.rst:3536 +#: ../../../NVPTXUsage.rst:3976 msgid "The default value for all unspecified reflection parameters is zero." msgstr "" -#: ../../../NVPTXUsage.rst:3538 +#: ../../../NVPTXUsage.rst:3978 msgid "" "The ``NVVMReflect`` pass should be executed early in the optimization " "pipeline, immediately after the link stage. The ``internalize`` pass is also " @@ -4020,57 +4344,57 @@ msgid "" "input IR module ``module.bc``, the following compilation flow is recommended:" msgstr "" -#: ../../../NVPTXUsage.rst:3543 +#: ../../../NVPTXUsage.rst:3983 msgid "" "The ``NVVMReflect`` pass will attempt to remove dead code even without " "optimizations. This allows potentially incompatible instructions to be " "avoided at all optimizations levels by using the ``__CUDA_ARCH`` argument." msgstr "" -#: ../../../NVPTXUsage.rst:3547 +#: ../../../NVPTXUsage.rst:3987 msgid "Save list of external functions in ``module.bc``" msgstr "" -#: ../../../NVPTXUsage.rst:3548 +#: ../../../NVPTXUsage.rst:3988 msgid "Link ``module.bc`` with ``libdevice.compute_XX.YY.bc``" msgstr "" -#: ../../../NVPTXUsage.rst:3549 +#: ../../../NVPTXUsage.rst:3989 msgid "Internalize all functions not in list from (1)" msgstr "" -#: ../../../NVPTXUsage.rst:3550 +#: ../../../NVPTXUsage.rst:3990 msgid "Eliminate all unused internal functions" msgstr "" -#: ../../../NVPTXUsage.rst:3551 +#: ../../../NVPTXUsage.rst:3991 msgid "Run ``NVVMReflect`` pass" msgstr "" -#: ../../../NVPTXUsage.rst:3552 +#: ../../../NVPTXUsage.rst:3992 msgid "Run standard optimization pipeline" msgstr "" -#: ../../../NVPTXUsage.rst:3556 +#: ../../../NVPTXUsage.rst:3996 msgid "" "``linkonce`` and ``linkonce_odr`` linkage types are not suitable for the " "libdevice functions. It is possible to link two IR modules that have been " "linked against libdevice using different reflection variables." msgstr "" -#: ../../../NVPTXUsage.rst:3560 +#: ../../../NVPTXUsage.rst:4000 msgid "" "Since the ``NVVMReflect`` pass replaces conditionals with constants, it will " "often leave behind dead code of the form:" msgstr "" -#: ../../../NVPTXUsage.rst:3574 +#: ../../../NVPTXUsage.rst:4014 msgid "" "Therefore, it is recommended that ``NVVMReflect`` is executed early in the " "optimization pipeline before dead-code elimination." msgstr "" -#: ../../../NVPTXUsage.rst:3577 +#: ../../../NVPTXUsage.rst:4017 msgid "" "The NVPTX TargetMachine knows how to schedule ``NVVMReflect`` at the " "beginning of your pass manager; just use the following code when setting up " @@ -4079,85 +4403,85 @@ msgid "" "registerPassBuilderCallbacks add the pass to the pass manager:" msgstr "" -#: ../../../NVPTXUsage.rst:3591 +#: ../../../NVPTXUsage.rst:4031 msgid "Reflection Parameters" msgstr "" -#: ../../../NVPTXUsage.rst:3593 +#: ../../../NVPTXUsage.rst:4033 msgid "" "The libdevice library currently uses the following reflection parameters to " "control code generation:" msgstr "" -#: ../../../NVPTXUsage.rst:3597 +#: ../../../NVPTXUsage.rst:4037 msgid "Flag" msgstr "" -#: ../../../NVPTXUsage.rst:3599 +#: ../../../NVPTXUsage.rst:4039 msgid "``__CUDA_FTZ=[0,1]``" msgstr "" -#: ../../../NVPTXUsage.rst:3599 +#: ../../../NVPTXUsage.rst:4039 msgid "Use optimized code paths that flush subnormals to zero" msgstr "" -#: ../../../NVPTXUsage.rst:3602 +#: ../../../NVPTXUsage.rst:4042 msgid "" "The value of this flag is determined by the \"nvvm-reflect-ftz\" module " "flag. The following sets the ftz flag to 1." msgstr "" -#: ../../../NVPTXUsage.rst:3610 +#: ../../../NVPTXUsage.rst:4050 msgid "" "(``i32 4`` indicates that the value set here overrides the value in another " "module we link with. See the `LangRef ` " "for details.)" msgstr "" -#: ../../../NVPTXUsage.rst:3615 +#: ../../../NVPTXUsage.rst:4055 msgid "Executing PTX" msgstr "" -#: ../../../NVPTXUsage.rst:3617 +#: ../../../NVPTXUsage.rst:4057 msgid "" "The most common way to execute PTX assembly on a GPU device is to use the " "CUDA Driver API. This API is a low-level interface to the GPU driver and " "allows for JIT compilation of PTX code to native GPU machine code." msgstr "" -#: ../../../NVPTXUsage.rst:3621 +#: ../../../NVPTXUsage.rst:4061 msgid "Initializing the Driver API:" msgstr "" -#: ../../../NVPTXUsage.rst:3635 +#: ../../../NVPTXUsage.rst:4075 msgid "JIT compiling a PTX string to a device binary:" msgstr "" -#: ../../../NVPTXUsage.rst:3648 +#: ../../../NVPTXUsage.rst:4088 msgid "" "For full examples of executing PTX assembly, please see the `CUDA Samples " "`_ distribution." msgstr "" -#: ../../../NVPTXUsage.rst:3653 +#: ../../../NVPTXUsage.rst:4093 msgid "Common Issues" msgstr "" -#: ../../../NVPTXUsage.rst:3656 +#: ../../../NVPTXUsage.rst:4096 msgid "ptxas complains of undefined function: __nvvm_reflect" msgstr "" -#: ../../../NVPTXUsage.rst:3658 +#: ../../../NVPTXUsage.rst:4098 msgid "" "When linking with libdevice, the ``NVVMReflect`` pass must be used. See :ref:" "`libdevice` for more information." msgstr "" -#: ../../../NVPTXUsage.rst:3663 +#: ../../../NVPTXUsage.rst:4103 msgid "Tutorial: A Simple Compute Kernel" msgstr "" -#: ../../../NVPTXUsage.rst:3665 +#: ../../../NVPTXUsage.rst:4105 msgid "" "To start, let us take a look at a simple compute kernel written directly in " "LLVM IR. The kernel implements vector addition, where each thread computes " @@ -4166,58 +4490,58 @@ msgid "" "launched, and that it will be one dimensional." msgstr "" -#: ../../../NVPTXUsage.rst:3673 +#: ../../../NVPTXUsage.rst:4113 msgid "The Kernel" msgstr "" -#: ../../../NVPTXUsage.rst:3709 +#: ../../../NVPTXUsage.rst:4149 msgid "" "We can use the LLVM ``llc`` tool to directly run the NVPTX code generator:" msgstr "" -#: ../../../NVPTXUsage.rst:3718 +#: ../../../NVPTXUsage.rst:4158 msgid "" "If you want to generate 32-bit code, change ``p:64:64:64`` to ``p:32:32:32`` " "in the module data layout string and use ``nvptx-nvidia-cuda`` as the target " "triple." msgstr "" -#: ../../../NVPTXUsage.rst:3723 +#: ../../../NVPTXUsage.rst:4163 msgid "The output we get from ``llc`` (as of LLVM 3.4):" msgstr "" -#: ../../../NVPTXUsage.rst:3765 +#: ../../../NVPTXUsage.rst:4205 msgid "Dissecting the Kernel" msgstr "" -#: ../../../NVPTXUsage.rst:3767 +#: ../../../NVPTXUsage.rst:4207 msgid "Now let us dissect the LLVM IR that makes up this kernel." msgstr "" -#: ../../../NVPTXUsage.rst:3770 +#: ../../../NVPTXUsage.rst:4210 msgid "Data Layout" msgstr "" -#: ../../../NVPTXUsage.rst:3772 +#: ../../../NVPTXUsage.rst:4212 msgid "" "The data layout string determines the size in bits of common data types, " "their ABI alignment, and their storage size. For NVPTX, you should use one " "of the following:" msgstr "" -#: ../../../NVPTXUsage.rst:3776 +#: ../../../NVPTXUsage.rst:4216 msgid "32-bit PTX:" msgstr "" -#: ../../../NVPTXUsage.rst:3782 +#: ../../../NVPTXUsage.rst:4222 msgid "64-bit PTX:" msgstr "" -#: ../../../NVPTXUsage.rst:3790 +#: ../../../NVPTXUsage.rst:4230 msgid "Target Intrinsics" msgstr "" -#: ../../../NVPTXUsage.rst:3792 +#: ../../../NVPTXUsage.rst:4232 msgid "" "In this example, we use the ``@llvm.nvvm.read.ptx.sreg.tid.x`` intrinsic to " "read the X component of the current thread's ID, which corresponds to a read " @@ -4226,78 +4550,78 @@ msgid "" "IntrinsicsNVVM.td`` for the full list." msgstr "" -#: ../../../NVPTXUsage.rst:3800 +#: ../../../NVPTXUsage.rst:4240 msgid "Intrinsic" msgstr "" -#: ../../../NVPTXUsage.rst:3800 +#: ../../../NVPTXUsage.rst:4240 msgid "CUDA Equivalent" msgstr "" -#: ../../../NVPTXUsage.rst:3802 +#: ../../../NVPTXUsage.rst:4242 msgid "``i32 @llvm.nvvm.read.ptx.sreg.tid.{x,y,z}``" msgstr "" -#: ../../../NVPTXUsage.rst:3802 +#: ../../../NVPTXUsage.rst:4242 msgid "threadIdx.{x,y,z}" msgstr "" -#: ../../../NVPTXUsage.rst:3803 +#: ../../../NVPTXUsage.rst:4243 msgid "``i32 @llvm.nvvm.read.ptx.sreg.ctaid.{x,y,z}``" msgstr "" -#: ../../../NVPTXUsage.rst:3803 +#: ../../../NVPTXUsage.rst:4243 msgid "blockIdx.{x,y,z}" msgstr "" -#: ../../../NVPTXUsage.rst:3804 +#: ../../../NVPTXUsage.rst:4244 msgid "``i32 @llvm.nvvm.read.ptx.sreg.ntid.{x,y,z}``" msgstr "" -#: ../../../NVPTXUsage.rst:3804 +#: ../../../NVPTXUsage.rst:4244 msgid "blockDim.{x,y,z}" msgstr "" -#: ../../../NVPTXUsage.rst:3805 +#: ../../../NVPTXUsage.rst:4245 msgid "``i32 @llvm.nvvm.read.ptx.sreg.nctaid.{x,y,z}``" msgstr "" -#: ../../../NVPTXUsage.rst:3805 +#: ../../../NVPTXUsage.rst:4245 msgid "gridDim.{x,y,z}" msgstr "" -#: ../../../NVPTXUsage.rst:3806 +#: ../../../NVPTXUsage.rst:4246 msgid "``void @llvm.nvvm.barrier0()``" msgstr "" -#: ../../../NVPTXUsage.rst:3806 +#: ../../../NVPTXUsage.rst:4246 msgid "__syncthreads()" msgstr "" -#: ../../../NVPTXUsage.rst:3813 +#: ../../../NVPTXUsage.rst:4253 msgid "" "You may have noticed that all of the pointer types in the LLVM IR example " "had an explicit address space specifier. What is address space 1? NVIDIA GPU " "devices (generally) have four types of memory:" msgstr "" -#: ../../../NVPTXUsage.rst:3817 +#: ../../../NVPTXUsage.rst:4257 msgid "Global: Large, off-chip memory" msgstr "" -#: ../../../NVPTXUsage.rst:3818 +#: ../../../NVPTXUsage.rst:4258 msgid "Shared: Small, on-chip memory shared among all threads in a CTA" msgstr "" -#: ../../../NVPTXUsage.rst:3819 +#: ../../../NVPTXUsage.rst:4259 msgid "Local: Per-thread, private memory" msgstr "" -#: ../../../NVPTXUsage.rst:3820 +#: ../../../NVPTXUsage.rst:4260 msgid "Constant: Read-only memory shared across all threads" msgstr "" -#: ../../../NVPTXUsage.rst:3822 +#: ../../../NVPTXUsage.rst:4262 msgid "" "These different types of memory are represented in LLVM IR as address " "spaces. There is also a fifth address space used by the NVPTX code generator " @@ -4308,16 +4632,16 @@ msgid "" "generic and non-generic address spaces." msgstr "" -#: ../../../NVPTXUsage.rst:3830 +#: ../../../NVPTXUsage.rst:4270 msgid "" "See :ref:`address_spaces` and :ref:`nvptx_intrinsics` for more information." msgstr "" -#: ../../../NVPTXUsage.rst:3834 +#: ../../../NVPTXUsage.rst:4274 msgid "Running the Kernel" msgstr "" -#: ../../../NVPTXUsage.rst:3836 +#: ../../../NVPTXUsage.rst:4276 msgid "" "Generating PTX from LLVM IR is all well and good, but how do we execute it " "on a real GPU device? The CUDA Driver API provides a convenient mechanism " @@ -4327,7 +4651,7 @@ msgid "" "this code does not perform much error checking!" msgstr "" -#: ../../../NVPTXUsage.rst:3845 +#: ../../../NVPTXUsage.rst:4285 msgid "" "You can also use the ``ptxas`` tool provided by the CUDA Toolkit to offline " "compile PTX to machine code (SASS) for a specific GPU architecture. Such " @@ -4335,33 +4659,33 @@ msgid "" "can be useful for reducing startup time by precompiling the PTX kernels." msgstr "" -#: ../../../NVPTXUsage.rst:3974 +#: ../../../NVPTXUsage.rst:4414 msgid "" "You will need to link with the CUDA driver and specify the path to cuda.h." msgstr "" -#: ../../../NVPTXUsage.rst:3980 +#: ../../../NVPTXUsage.rst:4420 msgid "" "We don't need to specify a path to ``libcuda.so`` since this is installed in " "a system location by the driver, not the CUDA toolkit." msgstr "" -#: ../../../NVPTXUsage.rst:3983 +#: ../../../NVPTXUsage.rst:4423 msgid "" "If everything goes as planned, you should see the following output when " "running the compiled program:" msgstr "" -#: ../../../NVPTXUsage.rst:4011 +#: ../../../NVPTXUsage.rst:4451 msgid "" "You will likely see a different device identifier based on your hardware" msgstr "" -#: ../../../NVPTXUsage.rst:4015 +#: ../../../NVPTXUsage.rst:4455 msgid "Tutorial: Linking with Libdevice" msgstr "" -#: ../../../NVPTXUsage.rst:4017 +#: ../../../NVPTXUsage.rst:4457 msgid "" "In this tutorial, we show a simple example of linking LLVM IR with the " "libdevice library. We will use the same kernel as the previous tutorial, " @@ -4369,31 +4693,31 @@ msgid "" "Libdevice provides an ``__nv_powf`` function that we will use." msgstr "" -#: ../../../NVPTXUsage.rst:4058 +#: ../../../NVPTXUsage.rst:4498 msgid "To compile this kernel, we perform the following steps:" msgstr "" -#: ../../../NVPTXUsage.rst:4060 +#: ../../../NVPTXUsage.rst:4500 msgid "Link with libdevice" msgstr "" -#: ../../../NVPTXUsage.rst:4061 +#: ../../../NVPTXUsage.rst:4501 msgid "Internalize all but the public kernel function" msgstr "" -#: ../../../NVPTXUsage.rst:4062 +#: ../../../NVPTXUsage.rst:4502 msgid "Run ``NVVMReflect`` and set ``__CUDA_FTZ`` to 0" msgstr "" -#: ../../../NVPTXUsage.rst:4063 +#: ../../../NVPTXUsage.rst:4503 msgid "Optimize the linked module" msgstr "" -#: ../../../NVPTXUsage.rst:4064 +#: ../../../NVPTXUsage.rst:4504 msgid "Codegen the module" msgstr "" -#: ../../../NVPTXUsage.rst:4067 +#: ../../../NVPTXUsage.rst:4507 msgid "" "These steps can be performed by the LLVM ``llvm-link``, ``opt``, and ``llc`` " "tools. In a complete compiler, these steps can also be performed entirely " @@ -4401,13 +4725,13 @@ msgid "" "`libdevice`)." msgstr "" -#: ../../../NVPTXUsage.rst:4080 +#: ../../../NVPTXUsage.rst:4520 msgid "" "The ``-nvvm-reflect-list=_CUDA_FTZ=0`` is not strictly required, as any " "undefined variables will default to zero. It is shown here for evaluation " "purposes." msgstr "" -#: ../../../NVPTXUsage.rst:4085 +#: ../../../NVPTXUsage.rst:4525 msgid "This gives us the following PTX (excerpt):" msgstr "" diff --git a/main/locale/pot/LC_MESSAGES/Passes.pot b/main/locale/pot/LC_MESSAGES/Passes.pot index 2a75d4042e9..a543efc50c0 100644 --- a/main/locale/pot/LC_MESSAGES/Passes.pot +++ b/main/locale/pot/LC_MESSAGES/Passes.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: LLVM main\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-10-13 08:36+0000\n" +"POT-Creation-Date: 2026-03-09 08:48+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -1517,7 +1517,7 @@ msgstr "" #: ../../../Passes.rst:1000 msgid "" "Same as dead argument elimination, but deletes arguments to functions which " -"are external. This is only for use by :doc:`bugpoint `." +"are external. This is only for use by `bugpoint`." msgstr "" #: ../../../Passes.rst:1004 diff --git a/main/locale/pot/LC_MESSAGES/RISCVUsage.pot b/main/locale/pot/LC_MESSAGES/RISCVUsage.pot index ee206673882..e669527a3a8 100644 --- a/main/locale/pot/LC_MESSAGES/RISCVUsage.pot +++ b/main/locale/pot/LC_MESSAGES/RISCVUsage.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: LLVM main\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-01-05 08:39+0000\n" +"POT-Creation-Date: 2026-03-09 08:48+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -251,34 +251,35 @@ msgstr "" #: ../../../RISCVUsage.rst:151 ../../../RISCVUsage.rst:152 #: ../../../RISCVUsage.rst:153 ../../../RISCVUsage.rst:161 #: ../../../RISCVUsage.rst:167 ../../../RISCVUsage.rst:168 -#: ../../../RISCVUsage.rst:169 ../../../RISCVUsage.rst:173 -#: ../../../RISCVUsage.rst:178 ../../../RISCVUsage.rst:179 -#: ../../../RISCVUsage.rst:180 ../../../RISCVUsage.rst:182 -#: ../../../RISCVUsage.rst:184 ../../../RISCVUsage.rst:185 +#: ../../../RISCVUsage.rst:169 ../../../RISCVUsage.rst:170 +#: ../../../RISCVUsage.rst:174 ../../../RISCVUsage.rst:176 +#: ../../../RISCVUsage.rst:180 ../../../RISCVUsage.rst:181 +#: ../../../RISCVUsage.rst:182 ../../../RISCVUsage.rst:184 #: ../../../RISCVUsage.rst:186 ../../../RISCVUsage.rst:187 -#: ../../../RISCVUsage.rst:188 ../../../RISCVUsage.rst:190 -#: ../../../RISCVUsage.rst:191 ../../../RISCVUsage.rst:193 -#: ../../../RISCVUsage.rst:194 ../../../RISCVUsage.rst:195 +#: ../../../RISCVUsage.rst:188 ../../../RISCVUsage.rst:189 +#: ../../../RISCVUsage.rst:190 ../../../RISCVUsage.rst:192 +#: ../../../RISCVUsage.rst:193 ../../../RISCVUsage.rst:195 #: ../../../RISCVUsage.rst:196 ../../../RISCVUsage.rst:197 #: ../../../RISCVUsage.rst:198 ../../../RISCVUsage.rst:199 -#: ../../../RISCVUsage.rst:200 ../../../RISCVUsage.rst:203 -#: ../../../RISCVUsage.rst:211 ../../../RISCVUsage.rst:214 -#: ../../../RISCVUsage.rst:217 ../../../RISCVUsage.rst:218 -#: ../../../RISCVUsage.rst:219 ../../../RISCVUsage.rst:225 -#: ../../../RISCVUsage.rst:226 ../../../RISCVUsage.rst:227 +#: ../../../RISCVUsage.rst:200 ../../../RISCVUsage.rst:201 +#: ../../../RISCVUsage.rst:202 ../../../RISCVUsage.rst:205 +#: ../../../RISCVUsage.rst:213 ../../../RISCVUsage.rst:216 +#: ../../../RISCVUsage.rst:219 ../../../RISCVUsage.rst:220 +#: ../../../RISCVUsage.rst:221 ../../../RISCVUsage.rst:227 #: ../../../RISCVUsage.rst:228 ../../../RISCVUsage.rst:229 #: ../../../RISCVUsage.rst:230 ../../../RISCVUsage.rst:231 -#: ../../../RISCVUsage.rst:235 ../../../RISCVUsage.rst:236 -#: ../../../RISCVUsage.rst:237 ../../../RISCVUsage.rst:239 -#: ../../../RISCVUsage.rst:240 ../../../RISCVUsage.rst:241 -#: ../../../RISCVUsage.rst:242 ../../../RISCVUsage.rst:244 -#: ../../../RISCVUsage.rst:257 ../../../RISCVUsage.rst:259 -#: ../../../RISCVUsage.rst:260 ../../../RISCVUsage.rst:261 +#: ../../../RISCVUsage.rst:232 ../../../RISCVUsage.rst:233 +#: ../../../RISCVUsage.rst:237 ../../../RISCVUsage.rst:238 +#: ../../../RISCVUsage.rst:239 ../../../RISCVUsage.rst:241 +#: ../../../RISCVUsage.rst:242 ../../../RISCVUsage.rst:243 +#: ../../../RISCVUsage.rst:244 ../../../RISCVUsage.rst:246 +#: ../../../RISCVUsage.rst:259 ../../../RISCVUsage.rst:261 #: ../../../RISCVUsage.rst:262 ../../../RISCVUsage.rst:263 #: ../../../RISCVUsage.rst:264 ../../../RISCVUsage.rst:265 #: ../../../RISCVUsage.rst:266 ../../../RISCVUsage.rst:267 #: ../../../RISCVUsage.rst:268 ../../../RISCVUsage.rst:269 -#: ../../../RISCVUsage.rst:276 +#: ../../../RISCVUsage.rst:270 ../../../RISCVUsage.rst:271 +#: ../../../RISCVUsage.rst:278 msgid "Supported" msgstr "" @@ -298,7 +299,7 @@ msgstr "" msgid "``F``" msgstr "" -#: ../../../RISCVUsage.rst:119 ../../../RISCVUsage.rst:281 +#: ../../../RISCVUsage.rst:119 ../../../RISCVUsage.rst:283 msgid "``E``" msgstr "" @@ -315,12 +316,12 @@ msgstr "" #: ../../../RISCVUsage.rst:147 ../../../RISCVUsage.rst:150 #: ../../../RISCVUsage.rst:154 ../../../RISCVUsage.rst:157 #: ../../../RISCVUsage.rst:163 ../../../RISCVUsage.rst:165 -#: ../../../RISCVUsage.rst:166 ../../../RISCVUsage.rst:172 -#: ../../../RISCVUsage.rst:175 ../../../RISCVUsage.rst:177 -#: ../../../RISCVUsage.rst:189 ../../../RISCVUsage.rst:192 -#: ../../../RISCVUsage.rst:202 ../../../RISCVUsage.rst:204 -#: ../../../RISCVUsage.rst:215 ../../../RISCVUsage.rst:238 -#: ../../../RISCVUsage.rst:243 ../../../RISCVUsage.rst:273 +#: ../../../RISCVUsage.rst:166 ../../../RISCVUsage.rst:173 +#: ../../../RISCVUsage.rst:177 ../../../RISCVUsage.rst:179 +#: ../../../RISCVUsage.rst:191 ../../../RISCVUsage.rst:194 +#: ../../../RISCVUsage.rst:204 ../../../RISCVUsage.rst:206 +#: ../../../RISCVUsage.rst:217 ../../../RISCVUsage.rst:240 +#: ../../../RISCVUsage.rst:245 ../../../RISCVUsage.rst:275 msgid "Assembly Support" msgstr "" @@ -528,456 +529,464 @@ msgid "``Svpbmt``" msgstr "" #: ../../../RISCVUsage.rst:168 -msgid "``Svvptc``" +msgid "``Svrsw60t59b``" msgstr "" #: ../../../RISCVUsage.rst:169 -msgid "``V``" +msgid "``Svvptc``" msgstr "" #: ../../../RISCVUsage.rst:170 +msgid "``V``" +msgstr "" + +#: ../../../RISCVUsage.rst:171 msgid "``Za128rs``" msgstr "" -#: ../../../RISCVUsage.rst:170 ../../../RISCVUsage.rst:171 -#: ../../../RISCVUsage.rst:176 ../../../RISCVUsage.rst:201 -#: ../../../RISCVUsage.rst:205 ../../../RISCVUsage.rst:206 +#: ../../../RISCVUsage.rst:171 ../../../RISCVUsage.rst:172 +#: ../../../RISCVUsage.rst:178 ../../../RISCVUsage.rst:203 #: ../../../RISCVUsage.rst:207 ../../../RISCVUsage.rst:208 -#: ../../../RISCVUsage.rst:209 +#: ../../../RISCVUsage.rst:209 ../../../RISCVUsage.rst:210 +#: ../../../RISCVUsage.rst:211 msgid "Supported (`See note <#riscv-profiles-extensions-note>`__)" msgstr "" -#: ../../../RISCVUsage.rst:171 +#: ../../../RISCVUsage.rst:172 msgid "``Za64rs``" msgstr "" -#: ../../../RISCVUsage.rst:172 +#: ../../../RISCVUsage.rst:173 msgid "``Zaamo``" msgstr "" -#: ../../../RISCVUsage.rst:173 +#: ../../../RISCVUsage.rst:174 msgid "``Zabha``" msgstr "" -#: ../../../RISCVUsage.rst:174 ../../../RISCVUsage.rst:320 +#: ../../../RISCVUsage.rst:175 ../../../RISCVUsage.rst:322 msgid "``Zacas``" msgstr "" -#: ../../../RISCVUsage.rst:174 +#: ../../../RISCVUsage.rst:175 msgid "Supported (`See note <#riscv-zacas-note>`__)" msgstr "" -#: ../../../RISCVUsage.rst:175 +#: ../../../RISCVUsage.rst:176 +msgid "``Zalasr``" +msgstr "" + +#: ../../../RISCVUsage.rst:177 msgid "``Zalrsc``" msgstr "" -#: ../../../RISCVUsage.rst:176 +#: ../../../RISCVUsage.rst:178 msgid "``Zama16b``" msgstr "" -#: ../../../RISCVUsage.rst:177 +#: ../../../RISCVUsage.rst:179 msgid "``Zawrs``" msgstr "" -#: ../../../RISCVUsage.rst:178 +#: ../../../RISCVUsage.rst:180 msgid "``Zba``" msgstr "" -#: ../../../RISCVUsage.rst:179 +#: ../../../RISCVUsage.rst:181 msgid "``Zbb``" msgstr "" -#: ../../../RISCVUsage.rst:180 +#: ../../../RISCVUsage.rst:182 msgid "``Zbc``" msgstr "" -#: ../../../RISCVUsage.rst:181 +#: ../../../RISCVUsage.rst:183 msgid "``Zbkb``" msgstr "" -#: ../../../RISCVUsage.rst:181 ../../../RISCVUsage.rst:183 +#: ../../../RISCVUsage.rst:183 ../../../RISCVUsage.rst:185 msgid "Supported (`See note <#riscv-scalar-crypto-note1>`__)" msgstr "" -#: ../../../RISCVUsage.rst:182 +#: ../../../RISCVUsage.rst:184 msgid "``Zbkc``" msgstr "" -#: ../../../RISCVUsage.rst:183 +#: ../../../RISCVUsage.rst:185 msgid "``Zbkx``" msgstr "" -#: ../../../RISCVUsage.rst:184 +#: ../../../RISCVUsage.rst:186 msgid "``Zbs``" msgstr "" -#: ../../../RISCVUsage.rst:185 +#: ../../../RISCVUsage.rst:187 msgid "``Zca``" msgstr "" -#: ../../../RISCVUsage.rst:186 +#: ../../../RISCVUsage.rst:188 msgid "``Zcb``" msgstr "" -#: ../../../RISCVUsage.rst:187 +#: ../../../RISCVUsage.rst:189 msgid "``Zcd``" msgstr "" -#: ../../../RISCVUsage.rst:188 +#: ../../../RISCVUsage.rst:190 msgid "``Zcf``" msgstr "" -#: ../../../RISCVUsage.rst:189 +#: ../../../RISCVUsage.rst:191 msgid "``Zclsd``" msgstr "" -#: ../../../RISCVUsage.rst:190 +#: ../../../RISCVUsage.rst:192 msgid "``Zcmop``" msgstr "" -#: ../../../RISCVUsage.rst:191 +#: ../../../RISCVUsage.rst:193 msgid "``Zcmp``" msgstr "" -#: ../../../RISCVUsage.rst:192 +#: ../../../RISCVUsage.rst:194 msgid "``Zcmt``" msgstr "" -#: ../../../RISCVUsage.rst:193 +#: ../../../RISCVUsage.rst:195 msgid "``Zdinx``" msgstr "" -#: ../../../RISCVUsage.rst:194 +#: ../../../RISCVUsage.rst:196 msgid "``Zfa``" msgstr "" -#: ../../../RISCVUsage.rst:195 +#: ../../../RISCVUsage.rst:197 msgid "``Zfbfmin``" msgstr "" -#: ../../../RISCVUsage.rst:196 +#: ../../../RISCVUsage.rst:198 msgid "``Zfh``" msgstr "" -#: ../../../RISCVUsage.rst:197 +#: ../../../RISCVUsage.rst:199 msgid "``Zfhmin``" msgstr "" -#: ../../../RISCVUsage.rst:198 +#: ../../../RISCVUsage.rst:200 msgid "``Zfinx``" msgstr "" -#: ../../../RISCVUsage.rst:199 +#: ../../../RISCVUsage.rst:201 msgid "``Zhinx``" msgstr "" -#: ../../../RISCVUsage.rst:200 +#: ../../../RISCVUsage.rst:202 msgid "``Zhinxmin``" msgstr "" -#: ../../../RISCVUsage.rst:201 +#: ../../../RISCVUsage.rst:203 msgid "``Zic64b``" msgstr "" -#: ../../../RISCVUsage.rst:202 +#: ../../../RISCVUsage.rst:204 msgid "``Zicbom``" msgstr "" -#: ../../../RISCVUsage.rst:203 +#: ../../../RISCVUsage.rst:205 msgid "``Zicbop``" msgstr "" -#: ../../../RISCVUsage.rst:204 +#: ../../../RISCVUsage.rst:206 msgid "``Zicboz``" msgstr "" -#: ../../../RISCVUsage.rst:205 +#: ../../../RISCVUsage.rst:207 msgid "``Ziccamoa``" msgstr "" -#: ../../../RISCVUsage.rst:206 +#: ../../../RISCVUsage.rst:208 msgid "``Ziccamoc``" msgstr "" -#: ../../../RISCVUsage.rst:207 +#: ../../../RISCVUsage.rst:209 msgid "``Ziccif``" msgstr "" -#: ../../../RISCVUsage.rst:208 +#: ../../../RISCVUsage.rst:210 msgid "``Zicclsm``" msgstr "" -#: ../../../RISCVUsage.rst:209 +#: ../../../RISCVUsage.rst:211 msgid "``Ziccrse``" msgstr "" -#: ../../../RISCVUsage.rst:210 +#: ../../../RISCVUsage.rst:212 msgid "``Zicntr``" msgstr "" -#: ../../../RISCVUsage.rst:210 ../../../RISCVUsage.rst:212 -#: ../../../RISCVUsage.rst:213 ../../../RISCVUsage.rst:216 +#: ../../../RISCVUsage.rst:212 ../../../RISCVUsage.rst:214 +#: ../../../RISCVUsage.rst:215 ../../../RISCVUsage.rst:218 msgid "(`See Note <#riscv-i2p1-note>`__)" msgstr "" -#: ../../../RISCVUsage.rst:211 +#: ../../../RISCVUsage.rst:213 msgid "``Zicond``" msgstr "" -#: ../../../RISCVUsage.rst:212 +#: ../../../RISCVUsage.rst:214 msgid "``Zicsr``" msgstr "" -#: ../../../RISCVUsage.rst:213 +#: ../../../RISCVUsage.rst:215 msgid "``Zifencei``" msgstr "" -#: ../../../RISCVUsage.rst:214 +#: ../../../RISCVUsage.rst:216 msgid "``Zihintntl``" msgstr "" -#: ../../../RISCVUsage.rst:215 +#: ../../../RISCVUsage.rst:217 msgid "``Zihintpause``" msgstr "" -#: ../../../RISCVUsage.rst:216 +#: ../../../RISCVUsage.rst:218 msgid "``Zihpm``" msgstr "" -#: ../../../RISCVUsage.rst:217 +#: ../../../RISCVUsage.rst:219 msgid "``Zilsd``" msgstr "" -#: ../../../RISCVUsage.rst:218 +#: ../../../RISCVUsage.rst:220 msgid "``Zimop``" msgstr "" -#: ../../../RISCVUsage.rst:219 +#: ../../../RISCVUsage.rst:221 msgid "``Zkn``" msgstr "" -#: ../../../RISCVUsage.rst:220 +#: ../../../RISCVUsage.rst:222 msgid "``Zknd``" msgstr "" -#: ../../../RISCVUsage.rst:220 ../../../RISCVUsage.rst:221 #: ../../../RISCVUsage.rst:222 ../../../RISCVUsage.rst:223 -#: ../../../RISCVUsage.rst:224 +#: ../../../RISCVUsage.rst:224 ../../../RISCVUsage.rst:225 +#: ../../../RISCVUsage.rst:226 msgid "Supported (`See note <#riscv-scalar-crypto-note2>`__)" msgstr "" -#: ../../../RISCVUsage.rst:221 +#: ../../../RISCVUsage.rst:223 msgid "``Zkne``" msgstr "" -#: ../../../RISCVUsage.rst:222 +#: ../../../RISCVUsage.rst:224 msgid "``Zknh``" msgstr "" -#: ../../../RISCVUsage.rst:223 +#: ../../../RISCVUsage.rst:225 msgid "``Zksed``" msgstr "" -#: ../../../RISCVUsage.rst:224 +#: ../../../RISCVUsage.rst:226 msgid "``Zksh``" msgstr "" -#: ../../../RISCVUsage.rst:225 +#: ../../../RISCVUsage.rst:227 msgid "``Zk``" msgstr "" -#: ../../../RISCVUsage.rst:226 +#: ../../../RISCVUsage.rst:228 msgid "``Zkr``" msgstr "" -#: ../../../RISCVUsage.rst:227 +#: ../../../RISCVUsage.rst:229 msgid "``Zks``" msgstr "" -#: ../../../RISCVUsage.rst:228 +#: ../../../RISCVUsage.rst:230 msgid "``Zkt``" msgstr "" -#: ../../../RISCVUsage.rst:229 +#: ../../../RISCVUsage.rst:231 msgid "``Zmmul``" msgstr "" -#: ../../../RISCVUsage.rst:230 +#: ../../../RISCVUsage.rst:232 msgid "``Ztso``" msgstr "" -#: ../../../RISCVUsage.rst:231 +#: ../../../RISCVUsage.rst:233 msgid "``Zvbb``" msgstr "" -#: ../../../RISCVUsage.rst:232 +#: ../../../RISCVUsage.rst:234 msgid "``Zvbc``" msgstr "" -#: ../../../RISCVUsage.rst:232 ../../../RISCVUsage.rst:245 -#: ../../../RISCVUsage.rst:246 ../../../RISCVUsage.rst:247 +#: ../../../RISCVUsage.rst:234 ../../../RISCVUsage.rst:247 #: ../../../RISCVUsage.rst:248 ../../../RISCVUsage.rst:249 #: ../../../RISCVUsage.rst:250 ../../../RISCVUsage.rst:251 #: ../../../RISCVUsage.rst:252 ../../../RISCVUsage.rst:253 #: ../../../RISCVUsage.rst:254 ../../../RISCVUsage.rst:255 -#: ../../../RISCVUsage.rst:256 +#: ../../../RISCVUsage.rst:256 ../../../RISCVUsage.rst:257 +#: ../../../RISCVUsage.rst:258 msgid "Supported (`See note <#riscv-vector-crypto-note>`__)" msgstr "" -#: ../../../RISCVUsage.rst:233 +#: ../../../RISCVUsage.rst:235 msgid "``Zve32x``" msgstr "" -#: ../../../RISCVUsage.rst:233 ../../../RISCVUsage.rst:234 -#: ../../../RISCVUsage.rst:258 +#: ../../../RISCVUsage.rst:235 ../../../RISCVUsage.rst:236 +#: ../../../RISCVUsage.rst:260 msgid "(`Partially <#riscv-vlen-32-note>`__) Supported" msgstr "" -#: ../../../RISCVUsage.rst:234 +#: ../../../RISCVUsage.rst:236 msgid "``Zve32f``" msgstr "" -#: ../../../RISCVUsage.rst:235 +#: ../../../RISCVUsage.rst:237 msgid "``Zve64x``" msgstr "" -#: ../../../RISCVUsage.rst:236 +#: ../../../RISCVUsage.rst:238 msgid "``Zve64f``" msgstr "" -#: ../../../RISCVUsage.rst:237 +#: ../../../RISCVUsage.rst:239 msgid "``Zve64d``" msgstr "" -#: ../../../RISCVUsage.rst:238 +#: ../../../RISCVUsage.rst:240 msgid "``Zvfbfa``" msgstr "" -#: ../../../RISCVUsage.rst:239 +#: ../../../RISCVUsage.rst:241 msgid "``Zvfbfmin``" msgstr "" -#: ../../../RISCVUsage.rst:240 +#: ../../../RISCVUsage.rst:242 msgid "``Zvfbfwma``" msgstr "" -#: ../../../RISCVUsage.rst:241 +#: ../../../RISCVUsage.rst:243 msgid "``Zvfh``" msgstr "" -#: ../../../RISCVUsage.rst:242 +#: ../../../RISCVUsage.rst:244 msgid "``Zvfhmin``" msgstr "" -#: ../../../RISCVUsage.rst:243 +#: ../../../RISCVUsage.rst:245 msgid "``Zvfofp8min``" msgstr "" -#: ../../../RISCVUsage.rst:244 +#: ../../../RISCVUsage.rst:246 msgid "``Zvkb``" msgstr "" -#: ../../../RISCVUsage.rst:245 +#: ../../../RISCVUsage.rst:247 msgid "``Zvkg``" msgstr "" -#: ../../../RISCVUsage.rst:246 +#: ../../../RISCVUsage.rst:248 msgid "``Zvkn``" msgstr "" -#: ../../../RISCVUsage.rst:247 +#: ../../../RISCVUsage.rst:249 msgid "``Zvknc``" msgstr "" -#: ../../../RISCVUsage.rst:248 +#: ../../../RISCVUsage.rst:250 msgid "``Zvkned``" msgstr "" -#: ../../../RISCVUsage.rst:249 +#: ../../../RISCVUsage.rst:251 msgid "``Zvkng``" msgstr "" -#: ../../../RISCVUsage.rst:250 +#: ../../../RISCVUsage.rst:252 msgid "``Zvknha``" msgstr "" -#: ../../../RISCVUsage.rst:251 +#: ../../../RISCVUsage.rst:253 msgid "``Zvknhb``" msgstr "" -#: ../../../RISCVUsage.rst:252 +#: ../../../RISCVUsage.rst:254 msgid "``Zvks``" msgstr "" -#: ../../../RISCVUsage.rst:253 +#: ../../../RISCVUsage.rst:255 msgid "``Zvksc``" msgstr "" -#: ../../../RISCVUsage.rst:254 +#: ../../../RISCVUsage.rst:256 msgid "``Zvksed``" msgstr "" -#: ../../../RISCVUsage.rst:255 +#: ../../../RISCVUsage.rst:257 msgid "``Zvksg``" msgstr "" -#: ../../../RISCVUsage.rst:256 +#: ../../../RISCVUsage.rst:258 msgid "``Zvksh``" msgstr "" -#: ../../../RISCVUsage.rst:257 +#: ../../../RISCVUsage.rst:259 msgid "``Zvkt``" msgstr "" -#: ../../../RISCVUsage.rst:258 +#: ../../../RISCVUsage.rst:260 msgid "``Zvl32b``" msgstr "" -#: ../../../RISCVUsage.rst:259 +#: ../../../RISCVUsage.rst:261 msgid "``Zvl64b``" msgstr "" -#: ../../../RISCVUsage.rst:260 +#: ../../../RISCVUsage.rst:262 msgid "``Zvl128b``" msgstr "" -#: ../../../RISCVUsage.rst:261 +#: ../../../RISCVUsage.rst:263 msgid "``Zvl256b``" msgstr "" -#: ../../../RISCVUsage.rst:262 +#: ../../../RISCVUsage.rst:264 msgid "``Zvl512b``" msgstr "" -#: ../../../RISCVUsage.rst:263 +#: ../../../RISCVUsage.rst:265 msgid "``Zvl1024b``" msgstr "" -#: ../../../RISCVUsage.rst:264 +#: ../../../RISCVUsage.rst:266 msgid "``Zvl2048b``" msgstr "" -#: ../../../RISCVUsage.rst:265 +#: ../../../RISCVUsage.rst:267 msgid "``Zvl4096b``" msgstr "" -#: ../../../RISCVUsage.rst:266 +#: ../../../RISCVUsage.rst:268 msgid "``Zvl8192b``" msgstr "" -#: ../../../RISCVUsage.rst:267 +#: ../../../RISCVUsage.rst:269 msgid "``Zvl16384b``" msgstr "" -#: ../../../RISCVUsage.rst:268 +#: ../../../RISCVUsage.rst:270 msgid "``Zvl32768b``" msgstr "" -#: ../../../RISCVUsage.rst:269 +#: ../../../RISCVUsage.rst:271 msgid "``Zvl65536b``" msgstr "" -#: ../../../RISCVUsage.rst:273 +#: ../../../RISCVUsage.rst:275 msgid "" "LLVM supports the associated instructions in assembly. All assembly related " "tools (e.g. assembler, disassembler, llvm-objdump, etc..) are supported. " @@ -986,7 +995,7 @@ msgid "" "extension." msgstr "" -#: ../../../RISCVUsage.rst:276 +#: ../../../RISCVUsage.rst:278 msgid "" "Fully supported by the compiler. This includes everything in Assembly " "Support, along with - if relevant - C language intrinsics for the " @@ -994,7 +1003,7 @@ msgid "" "patterns which can be lowered to the associated instructions." msgstr "" -#: ../../../RISCVUsage.rst:281 +#: ../../../RISCVUsage.rst:283 msgid "" "Support of RV32E/RV64E and ilp32e/lp64e ABIs are experimental. To be " "compatible with the implementation of ilp32e in GCC, we don't use aligned " @@ -1002,53 +1011,53 @@ msgid "" "alignment to 4 bytes for types with length of 2*XLEN." msgstr "" -#: ../../../RISCVUsage.rst:286 +#: ../../../RISCVUsage.rst:288 msgid "``Zbkb``, ``Zbkx``" msgstr "" -#: ../../../RISCVUsage.rst:286 +#: ../../../RISCVUsage.rst:288 msgid "Pattern matching support for these instructions is incomplete." msgstr "" -#: ../../../RISCVUsage.rst:291 +#: ../../../RISCVUsage.rst:293 msgid "``Zknd``, ``Zkne``, ``Zknh``, ``Zksed``, ``Zksh``" msgstr "" -#: ../../../RISCVUsage.rst:291 +#: ../../../RISCVUsage.rst:293 msgid "" "No pattern matching exists. As a result, these instructions can only be " "used from assembler or via intrinsic calls." msgstr "" -#: ../../../RISCVUsage.rst:296 +#: ../../../RISCVUsage.rst:298 msgid "" "``Zvbc``, ``Zvkg``, ``Zvkn``, ``Zvknc``, ``Zvkned``, ``Zvkng``, ``Zvknha``, " "``Zvknhb``, ``Zvks``, ``Zvks``, ``Zvks``, ``Zvksc``, ``Zvksed``, ``Zvksg``, " "``Zvksh``." msgstr "" -#: ../../../RISCVUsage.rst:296 +#: ../../../RISCVUsage.rst:298 msgid "" "No pattern matching exists. As a result, these instructions can only be used " "from assembler or via intrinsic calls." msgstr "" -#: ../../../RISCVUsage.rst:301 +#: ../../../RISCVUsage.rst:303 msgid "``Zve32x``, ``Zve32f``, ``Zvl32b``" msgstr "" -#: ../../../RISCVUsage.rst:301 +#: ../../../RISCVUsage.rst:303 msgid "" "LLVM currently assumes a minimum VLEN (vector register width) of 64 bits " "during compilation, and as a result ``Zve32x`` and ``Zve32f`` are supported " "only for VLEN>=64. Assembly support doesn't have this restriction." msgstr "" -#: ../../../RISCVUsage.rst:306 +#: ../../../RISCVUsage.rst:308 msgid "``Zicntr``, ``Zicsr``, ``Zifencei``, ``Zihpm``" msgstr "" -#: ../../../RISCVUsage.rst:306 +#: ../../../RISCVUsage.rst:308 msgid "" "Between versions 2.0 and 2.1 of the base I specification, a backwards " "incompatible change was made to remove selected instructions and CSRs from " @@ -1062,7 +1071,7 @@ msgid "" "explicit specification of the extensions in an ``-march`` string." msgstr "" -#: ../../../RISCVUsage.rst:311 +#: ../../../RISCVUsage.rst:313 msgid "" "``Za128rs``, ``Za64rs``, ``Zama16b``, ``Zic64b``, ``Ziccamoa``, " "``Ziccamoc``, ``Ziccif``, ``Zicclsm``, ``Ziccrse``, ``Shcounterenvw``, " @@ -1071,7 +1080,7 @@ msgid "" "``Sstvecd``, ``Ssu64xl``, ``Svade``, ``Svbare``" msgstr "" -#: ../../../RISCVUsage.rst:311 +#: ../../../RISCVUsage.rst:313 msgid "" "These extensions are defined as part of the `RISC-V Profiles specification " "`__. They do not " @@ -1079,24 +1088,24 @@ msgid "" "hardware features." msgstr "" -#: ../../../RISCVUsage.rst:315 +#: ../../../RISCVUsage.rst:317 msgid "" "``Sdext``, ``Sdtrig`` `The RISC-V Debug Specification `__." msgstr "" -#: ../../../RISCVUsage.rst:320 +#: ../../../RISCVUsage.rst:322 msgid "" "The compiler will not generate amocas.d on RV32 or amocas.q on RV64 due to " "ABI compatibility. These can only be used in the assembler." msgstr "" -#: ../../../RISCVUsage.rst:323 +#: ../../../RISCVUsage.rst:325 msgid "Atomics ABIs" msgstr "" -#: ../../../RISCVUsage.rst:325 +#: ../../../RISCVUsage.rst:327 msgid "" "At the time of writing there are three atomics mappings (ABIs) `defined for " "RISC-V `__." msgstr "" -#: ../../../RISCVUsage.rst:340 -msgid "``experimental-zalasr``" -msgstr "" - -#: ../../../RISCVUsage.rst:340 -msgid "" -"LLVM implements the `0.9 draft specification `__." -msgstr "" - -#: ../../../RISCVUsage.rst:343 +#: ../../../RISCVUsage.rst:342 msgid "``experimental-zibi``" msgstr "" -#: ../../../RISCVUsage.rst:343 +#: ../../../RISCVUsage.rst:342 msgid "" "LLVM implements the `0.1 release specification `__." msgstr "" -#: ../../../RISCVUsage.rst:346 +#: ../../../RISCVUsage.rst:345 msgid "``experimental-zicfilp``, ``experimental-zicfiss``" msgstr "" -#: ../../../RISCVUsage.rst:346 +#: ../../../RISCVUsage.rst:345 msgid "" "LLVM implements the `1.0 release specification `__." msgstr "" -#: ../../../RISCVUsage.rst:349 +#: ../../../RISCVUsage.rst:348 msgid "``experimental-zvbc32e``, ``experimental-zvkgs``" msgstr "" -#: ../../../RISCVUsage.rst:349 +#: ../../../RISCVUsage.rst:348 msgid "" "LLVM implements the `0.7 release specification `__." msgstr "" -#: ../../../RISCVUsage.rst:352 +#: ../../../RISCVUsage.rst:351 msgid "``experimental-svukte``" msgstr "" -#: ../../../RISCVUsage.rst:352 +#: ../../../RISCVUsage.rst:351 msgid "" "LLVM implements the `0.3 draft specification `__." msgstr "" -#: ../../../RISCVUsage.rst:355 -msgid "``experimental-zvqdotq``" +#: ../../../RISCVUsage.rst:354 +msgid "``experimental-zvdot4a8i``" msgstr "" -#: ../../../RISCVUsage.rst:355 +#: ../../../RISCVUsage.rst:354 msgid "" -"LLVM implements the `0.0.1 draft specification `__." +"LLVM implements the `0.1 draft specification `__." msgstr "" -#: ../../../RISCVUsage.rst:358 +#: ../../../RISCVUsage.rst:357 msgid "``experimental-smpmpmt``" msgstr "" -#: ../../../RISCVUsage.rst:358 +#: ../../../RISCVUsage.rst:357 msgid "" "LLVM implements the `0.6 draft specification `__." msgstr "" #: ../../../RISCVUsage.rst:360 +msgid "``experimental-zvabd``" +msgstr "" + +#: ../../../RISCVUsage.rst:360 +msgid "" +"LLVM implements the `0.7 draft specification `__." +msgstr "" + +#: ../../../RISCVUsage.rst:362 msgid "" "To use an experimental extension from `clang`, you must add `-menable-" "experimental-extensions` to the command line, and specify the exact version " @@ -1231,11 +1240,11 @@ msgid "" "shouldn't include the `experimental-` prefix with `clang`." msgstr "" -#: ../../../RISCVUsage.rst:363 +#: ../../../RISCVUsage.rst:365 msgid "Vendor Extensions" msgstr "" -#: ../../../RISCVUsage.rst:365 +#: ../../../RISCVUsage.rst:367 msgid "" "Vendor extensions are extensions which are not standardized by RISC-V " "International, and are instead defined by a hardware vendor. The term " @@ -1245,7 +1254,7 @@ msgid "" "extensions and `non-conforming` extensions." msgstr "" -#: ../../../RISCVUsage.rst:367 +#: ../../../RISCVUsage.rst:369 msgid "" "Inclusion of a vendor extension will be considered on a case by case basis. " "All proposals should be brought to the bi-weekly RISC-V sync calls for " @@ -1254,7 +1263,7 @@ msgid "" "html>`__." msgstr "" -#: ../../../RISCVUsage.rst:369 +#: ../../../RISCVUsage.rst:371 msgid "" "It is our intention to follow the naming conventions described in `riscv-non-" "isa/riscv-toolchain-conventions `__ originally defined by " +"Esperanto Technologies (and now under the AI Foundry non-profit). " +"Instructions are prefixed with `aif.` as described in the specification." +msgstr "" + +#: ../../../RISCVUsage.rst:379 msgid "``XTHeadBa``" msgstr "" -#: ../../../RISCVUsage.rst:374 +#: ../../../RISCVUsage.rst:379 msgid "" "LLVM implements `the THeadBa (address-generation) vendor-defined " "instructions specified in `_ by SiFive." msgstr "" -#: ../../../RISCVUsage.rst:455 +#: ../../../RISCVUsage.rst:460 msgid "``XSiFivecflushdlone``" msgstr "" -#: ../../../RISCVUsage.rst:455 +#: ../../../RISCVUsage.rst:460 msgid "" "LLVM implements `the SiFive sf.cflush.d.l1 instruction specified in `_ by SiFive." msgstr "" -#: ../../../RISCVUsage.rst:458 +#: ../../../RISCVUsage.rst:463 msgid "``XSfcease``" msgstr "" -#: ../../../RISCVUsage.rst:458 +#: ../../../RISCVUsage.rst:463 msgid "" "LLVM implements `the SiFive sf.cease instruction specified in `_ by SiFive." msgstr "" -#: ../../../RISCVUsage.rst:461 +#: ../../../RISCVUsage.rst:466 msgid "``Xwchc``" msgstr "" -#: ../../../RISCVUsage.rst:461 +#: ../../../RISCVUsage.rst:466 msgid "" "LLVM implements `the custom compressed opcodes present in some QingKe cores` " "by WCH / Nanjing Qinheng Microelectronics. The vendor refers to these " "opcodes by the name \"XW\"." msgstr "" -#: ../../../RISCVUsage.rst:464 -msgid "``experimental-Xqccmp``" +#: ../../../RISCVUsage.rst:469 +msgid "``Xqccmp``" msgstr "" -#: ../../../RISCVUsage.rst:464 +#: ../../../RISCVUsage.rst:469 msgid "" "LLVM implements `version 0.3 of the 16-bit Push/Pop instructions and double-" "moves extension specification `__ by " "Qualcomm. These instructions are only available for riscv32." msgstr "" -#: ../../../RISCVUsage.rst:470 +#: ../../../RISCVUsage.rst:475 msgid "``Xqcia``" msgstr "" -#: ../../../RISCVUsage.rst:470 +#: ../../../RISCVUsage.rst:475 msgid "" "LLVM implements `version 0.7 of the Qualcomm uC Arithmetic extension " "specification `__ by " "Qualcomm. These instructions are only available for riscv32." msgstr "" -#: ../../../RISCVUsage.rst:494 +#: ../../../RISCVUsage.rst:499 msgid "``Xqciint``" msgstr "" -#: ../../../RISCVUsage.rst:494 +#: ../../../RISCVUsage.rst:499 msgid "" "LLVM implements `version 0.10 of the Qualcomm uC Interrupts extension " "specification `__ by MIPS." msgstr "" -#: ../../../RISCVUsage.rst:527 +#: ../../../RISCVUsage.rst:532 msgid "``Xmipscmov``" msgstr "" -#: ../../../RISCVUsage.rst:527 +#: ../../../RISCVUsage.rst:532 msgid "" "LLVM implements conditional move for the `p8700 processor `__ by MIPS." msgstr "" -#: ../../../RISCVUsage.rst:530 +#: ../../../RISCVUsage.rst:535 msgid "``Xmipslsp``" msgstr "" -#: ../../../RISCVUsage.rst:530 +#: ../../../RISCVUsage.rst:535 msgid "" "LLVM implements load/store pair instructions for the `p8700 processor " "`__ by MIPS." msgstr "" -#: ../../../RISCVUsage.rst:533 +#: ../../../RISCVUsage.rst:538 msgid "``experimental-XRivosVisni``" msgstr "" -#: ../../../RISCVUsage.rst:533 +#: ../../../RISCVUsage.rst:538 msgid "" "LLVM implements `version 0.1 of the Rivos Vector Integer Small New " "Instructions extension specification `__." msgstr "" -#: ../../../RISCVUsage.rst:536 +#: ../../../RISCVUsage.rst:541 msgid "``experimental-XRivosVizip``" msgstr "" -#: ../../../RISCVUsage.rst:536 +#: ../../../RISCVUsage.rst:541 msgid "" "LLVM implements `version 0.1 of the Rivos Vector Register Zips extension " "specification `__." msgstr "" -#: ../../../RISCVUsage.rst:539 +#: ../../../RISCVUsage.rst:544 msgid "``XAndesPerf``" msgstr "" -#: ../../../RISCVUsage.rst:539 +#: ../../../RISCVUsage.rst:544 msgid "" "LLVM implements `version 5.0.0 of the Andes Performance Extension " "specification `__. LLVM " @@ -2045,11 +2067,11 @@ msgid "" "specification to reflect the capabilities of SpacemiT X60 hardware correctly." msgstr "" -#: ../../../RISCVUsage.rst:564 +#: ../../../RISCVUsage.rst:569 msgid "Experimental C Intrinsics" msgstr "" -#: ../../../RISCVUsage.rst:566 +#: ../../../RISCVUsage.rst:571 msgid "" "In some cases an extension is non-experimental but the C intrinsics for that " "extension are still experimental. To use C intrinsics for such an extension " @@ -2057,22 +2079,22 @@ msgid "" "line. This currently applies to the following extensions:" msgstr "" -#: ../../../RISCVUsage.rst:571 +#: ../../../RISCVUsage.rst:576 msgid "No extensions have experimental intrinsics." msgstr "" -#: ../../../RISCVUsage.rst:574 +#: ../../../RISCVUsage.rst:579 msgid "Long (>32-bit) Instruction Support" msgstr "" -#: ../../../RISCVUsage.rst:576 +#: ../../../RISCVUsage.rst:581 msgid "" "RISC-V is a variable-length ISA, but the standard currently only defines 16- " "and 32-bit instructions. The specification describes longer instruction " "encodings, but these are not ratified." msgstr "" -#: ../../../RISCVUsage.rst:578 +#: ../../../RISCVUsage.rst:583 msgid "" "The LLVM disassembler, `llvm-objdump`, does use the longer instruction " "encodings described in the specification to guess the instruction length (up " @@ -2080,20 +2102,20 @@ msgid "" "correspondingly." msgstr "" -#: ../../../RISCVUsage.rst:580 +#: ../../../RISCVUsage.rst:585 msgid "" "The LLVM integrated assembler for RISC-V supports two different kinds of ``." "insn`` directive, for assembling instructions that LLVM does not yet support:" msgstr "" -#: ../../../RISCVUsage.rst:582 +#: ../../../RISCVUsage.rst:587 msgid "" "``.insn type, args*`` which takes a known instruction type, and a list of " "fields. You are strongly recommended to use this variant of the directive if " "your instruction fits an existing instruction type." msgstr "" -#: ../../../RISCVUsage.rst:583 +#: ../../../RISCVUsage.rst:588 msgid "" "``.insn [ length , ] encoding`` which takes an (optional) explicit length " "(in bytes) and a raw encoding for the instruction. When given an explicit " @@ -2106,7 +2128,7 @@ msgid "" "the length explicitly." msgstr "" -#: ../../../RISCVUsage.rst:585 +#: ../../../RISCVUsage.rst:590 msgid "" "It is strongly recommended to use the ``.insn`` directive for assembling " "unsupported instructions instead of ``.word`` or ``.hword``, because it will " @@ -2114,49 +2136,49 @@ msgid "" "data." msgstr "" -#: ../../../RISCVUsage.rst:588 +#: ../../../RISCVUsage.rst:593 msgid "Global Pointer (GP) Relaxation and the Small Data Limit" msgstr "" -#: ../../../RISCVUsage.rst:590 +#: ../../../RISCVUsage.rst:595 msgid "" "Some of the RISC-V psABI variants reserve ``gp`` (``x3``) for use as a " "\"Global Pointer\", to make generating data addresses more efficient." msgstr "" -#: ../../../RISCVUsage.rst:592 +#: ../../../RISCVUsage.rst:597 msgid "To use this functionality, you need to be doing all of the following:" msgstr "" -#: ../../../RISCVUsage.rst:594 +#: ../../../RISCVUsage.rst:599 msgid "Use the ``medlow`` (aka ``small``) code model;" msgstr "" -#: ../../../RISCVUsage.rst:595 +#: ../../../RISCVUsage.rst:600 msgid "" "Not use the ``gp`` register for any other uses (some platforms use it for " "the shadow stack and others as a temporary -- as denoted by the " "``Tag_RISCV_x3_reg_usage`` build attribute);" msgstr "" -#: ../../../RISCVUsage.rst:596 +#: ../../../RISCVUsage.rst:601 msgid "" "Compile your objects with Clang's ``-mrelax`` option, to enable relaxation " "annotations on relocatable objects (this is the default, but ``-mno-relax`` " "disables these relaxation annotations);" msgstr "" -#: ../../../RISCVUsage.rst:597 +#: ../../../RISCVUsage.rst:602 msgid "" "Compile for a position-dependent static executable (not a shared library, " "and ``-fno-PIC`` / ``-fno-pic`` / ``-fno-pie``); and" msgstr "" -#: ../../../RISCVUsage.rst:598 +#: ../../../RISCVUsage.rst:603 msgid "Use LLD's ``--relax-gp`` option." msgstr "" -#: ../../../RISCVUsage.rst:600 +#: ../../../RISCVUsage.rst:605 msgid "" "LLD will relax (rewrite) any code sequences that materialize an address " "within 2048 bytes of ``__global_pointer$`` (which will be defined if it is " @@ -2165,7 +2187,7 @@ msgid "" "least one instruction compared to materialising a full 32-bit address value." msgstr "" -#: ../../../RISCVUsage.rst:602 +#: ../../../RISCVUsage.rst:607 msgid "" "There can only be one ``gp`` value in a process (as ``gp`` is not changed " "when calling into a function in a shared library), so the symbol is is only " @@ -2175,7 +2197,7 @@ msgid "" "is run." msgstr "" -#: ../../../RISCVUsage.rst:604 +#: ../../../RISCVUsage.rst:609 msgid "" "Arguably, the most efficient use for this addressing mode is for smaller " "global variables, as larger global variables likely need many more loads or " @@ -2183,7 +2205,7 @@ msgid "" "upper bits can be shared." msgstr "" -#: ../../../RISCVUsage.rst:606 +#: ../../../RISCVUsage.rst:611 msgid "" "Therefore the compiler can place smaller global variables into sections with " "names starting with ``.sdata`` or ``.sbss`` (matching sections with names " @@ -2192,7 +2214,7 @@ msgid "" "sections out adjacent to the ``.data`` section." msgstr "" -#: ../../../RISCVUsage.rst:608 +#: ../../../RISCVUsage.rst:613 msgid "" "Clang's ``-msmall-data-limit=`` option controls what the threshold size is " "(in bytes) for a global variable to be considered small. ``-msmall-data-" @@ -2202,7 +2224,7 @@ msgid "" "are using ``-fdata-sections``." msgstr "" -#: ../../../RISCVUsage.rst:610 +#: ../../../RISCVUsage.rst:615 msgid "" "The small data limit threshold is also used to separate small constants into " "sections with names starting with ``.srodata``. LLD does not place these " @@ -2211,8 +2233,180 @@ msgid "" "placed adjacent to ``.rodata``." msgstr "" -#: ../../../RISCVUsage.rst:612 +#: ../../../RISCVUsage.rst:617 msgid "" "Data suggests that these options can produce significant improvements across " "a range of benchmarks." msgstr "" + +#: ../../../RISCVUsage.rst:620 +msgid "Sanitizers" +msgstr "" + +#: ../../../RISCVUsage.rst:623 +msgid "" +"This is a summary of the current state of sanitizers, and not an official " +"support statement." +msgstr "" + +#: ../../../RISCVUsage.rst:625 +msgid "UBSan is not platform-specific, and should work out of the box." +msgstr "" + +#: ../../../RISCVUsage.rst:627 +msgid "" +"ASan and TSan already have shadow mappings defined for Linux on RISC-V, and " +"are likely to work." +msgstr "" + +#: ../../../RISCVUsage.rst:629 +msgid "" +"HWASan is also likely to work, though RISC-V Pointer Masking (very new) is " +"needed as well to make it run efficiently." +msgstr "" + +#: ../../../RISCVUsage.rst:631 +msgid "" +"Memtag: N/A - there is currently no ratified RISC-V memory tagging spec." +msgstr "" + +#: ../../../RISCVUsage.rst:633 +msgid "" +"MSan is unlikely to work: there are currently no RISC-V-specific shadow " +"mappings (this is probably easy to fix; perhaps the default Linux 64-bit " +"mapping will work) and MSan does not explicitly handle any of the `@llvm." +"riscv.*` intrinsics (this is significantly more work to fix)." +msgstr "" + +#: ../../../RISCVUsage.rst:635 +msgid "" +"Some intrinsics will be handled correctly anyway, if the RISC-V intrinsic is " +"auto-upgraded into cross-platform LLVM intrinsics. Some others will be " +"\"heuristically\" handled (possibly incorrectly). The rest will default to " +"the \"strict\" handler, which checks that all the parameters are fully " +"initialized." +msgstr "" + +#: ../../../RISCVUsage.rst:637 +msgid "" +"MSan intrinsics support is only required if code (including dependencies) " +"manually calls the intrinsic." +msgstr "" + +#: ../../../RISCVUsage.rst:640 +msgid "Processor-Specific Tuning Feature String" +msgstr "" + +#: ../../../RISCVUsage.rst:641 +msgid "" +"Due to RISC-V's highly configurable nature, it is often desirable to share a " +"single scheduling model across multiple similar RISC-V processors that only " +"differ in a small number of (uArch) tuning features. An example of such " +"tuning feature could be whether the latency of vector operations depend on " +"VL or not. This could be extended to tuning features that are not directly " +"connected to scheduling model but other parts of the RISC-V backend, like " +"the cost of ``vrgather.vv`` instruction." +msgstr "" + +#: ../../../RISCVUsage.rst:643 +msgid "" +"To that end, RISC-V LLVM supports a tuning feature string format that helps " +"users to build a performance model by \"configuring\" an existing tune CPU, " +"along with its scheduling model. For example, this string" +msgstr "" + +#: ../../../RISCVUsage.rst:646 ../../../RISCVUsage.rst:653 +#: ../../../RISCVUsage.rst:660 ../../../RISCVUsage.rst:665 +msgid "::" +msgstr "" + +#: ../../../RISCVUsage.rst:646 +msgid "\"sifive-x280:single-element-vec-fp64\"" +msgstr "" + +#: ../../../RISCVUsage.rst:648 +msgid "" +"takes ``sifive-x280`` as the \"base\" tune CPU and configured it with " +"``single-element-vec-fp64``. This gives us a performance model that looks " +"exactly like that of ``sifive-x280``, except some of the 64-bit vector " +"floating point instructions now produce only a single element per cycle due " +"to ``single-element-vec-fp64``. This string could eventually be used in " +"places like ``-mtune`` at the frontend." +msgstr "" + +#: ../../../RISCVUsage.rst:650 +msgid "" +"More formally speaking, each tuning feature string has the following format:" +msgstr "" + +#: ../../../RISCVUsage.rst:653 +msgid "[\":\"]?" +msgstr "" + +#: ../../../RISCVUsage.rst:655 +msgid "where" +msgstr "" + +#: ../../../RISCVUsage.rst:658 +msgid "" +"tune-cpu ::= 'tuning CPU name in lower case' directive ::= \"[a-zA-" +"Z0-9\\_-]+\" tune-features ::= directive [\",\" directive]*" +msgstr "" + +#: ../../../RISCVUsage.rst:662 +msgid "" +"A *directive* can and can only _enable_ or _disable_ a certain tuning " +"feature from the tuning CPU. A **positive directive**, like the ``single-" +"element-vec-fp64`` we just saw, enables an additional tuning feature in the " +"associated tuning model. A **negative directive**, on the other hand, " +"removes a certain tuning feature. For example, ``sifive-x390`` already has " +"the ``single-element-vec-fp64`` feature, and we can use" +msgstr "" + +#: ../../../RISCVUsage.rst:665 +msgid "\"sifive-x390:full-vec-fp64\"" +msgstr "" + +#: ../../../RISCVUsage.rst:667 +msgid "" +"to create a new performance model that looks nearly the same as ``sifive-" +"x390`` except ``single-element-vec-fp64`` being cut out. In this case, " +"``full-vec-fp64`` is a negative directive." +msgstr "" + +#: ../../../RISCVUsage.rst:669 +msgid "There are some rules for the list of directives, though:" +msgstr "" + +#: ../../../RISCVUsage.rst:671 +msgid "The same directive cannot appear more than once." +msgstr "" + +#: ../../../RISCVUsage.rst:673 +msgid "" +"The positive and negative directives that belong to the same feature cannot " +"appear at the same time." +msgstr "" + +#: ../../../RISCVUsage.rst:675 +msgid "" +"If a feature implies other features -- for example, ``short-forward-branch-" +"imul`` implies ``short-forward-branch-ialu`` -- then the _implied_ features " +"are subject to the previous two rules, too. For example, we cannot write " +"_\"short-forward-branch-imul,no-short-forward-branch-ialu\"_, because the " +"feature implied by ``short-forward-branch-imul`` violates rule 2." +msgstr "" + +#: ../../../RISCVUsage.rst:677 +msgid "" +"In addition to the rules listed above, right now, this string only accepts " +"directives that are explicitly supported by the tune CPU. For example, " +"_\"sifive-x280:prefer-w-inst\"_ is not a valid string as ``prefer-w-inst`` " +"is not supported by ``sifive-x280`` at this moment. Vendors of these " +"processors are expected to maintain the compatibility of their supported " +"directives across different versions. There have been lots of discussions on " +"having \"generic\" features that are universally supported by all RISC-V " +"CPUs, yet many concerns -- including the difficulty to maintain " +"compatibility across _all_ CPU targets and versions -- make us decide to " +"table this issue until we find a reliable process to select such features." +msgstr "" diff --git a/main/locale/pot/LC_MESSAGES/Reference.pot b/main/locale/pot/LC_MESSAGES/Reference.pot index 8b1f994ec2c..4d6488d4753 100644 --- a/main/locale/pot/LC_MESSAGES/Reference.pot +++ b/main/locale/pot/LC_MESSAGES/Reference.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: LLVM main\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-10-27 08:36+0000\n" +"POT-Creation-Date: 2026-03-09 08:48+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -64,7 +64,7 @@ msgid "" msgstr "" #: ../../../Reference.rst:90 -msgid ":doc:`Bugpoint`" +msgid ":doc:`llvm-reduce `" msgstr "" #: ../../../Reference.rst:89 diff --git a/main/locale/pot/LC_MESSAGES/ReleaseNotes.pot b/main/locale/pot/LC_MESSAGES/ReleaseNotes.pot index d8890dd572c..5b295e3de13 100644 --- a/main/locale/pot/LC_MESSAGES/ReleaseNotes.pot +++ b/main/locale/pot/LC_MESSAGES/ReleaseNotes.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: LLVM main\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-01-05 08:39+0000\n" +"POT-Creation-Date: 2026-03-09 08:48+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -112,547 +112,366 @@ msgstr "" #: ../../../ReleaseNotes.md:62 msgid "" -"The `ptrtoaddr` instruction was introduced. This instruction returns the " -"address component of a pointer type variable but unlike `ptrtoint` does not " -"capture provenance ([#125687](https://github.com/llvm/llvm-project/" -"pull/125687))." +"Removed `llvm.convert.to.fp16` and `llvm.convert.from.fp16` intrinsics. " +"These are equivalent to `fptrunc` and `fpext` with half with a bitcast." msgstr "" -#: ../../../ReleaseNotes.md:65 +#: ../../../ReleaseNotes.md:66 msgid "" -"The alignment argument of the `@llvm.masked.load`, `@llvm.masked.store`, " -"`@llvm.masked.gather` and `@llvm.masked.scatter` intrinsics has been " -"removed. Instead, the `align` attribute should be placed on the pointer (or " -"vector of pointers) argument." +"\"denormal-fp-math\" and \"denormal-fp-math-f32\" string attributes were " +"migrated to first-class denormal_fpenv attribute." msgstr "" #: ../../../ReleaseNotes.md:69 -msgid "A `load atomic` may now be used with vector types on x86." +msgid "" +"The `\"nooutline\"` attribute is now writen as `nooutline`. Existing IR and " +"bitcode will be automatically updated." msgstr "" -#: ../../../ReleaseNotes.md:70 -msgid "" -"Added `@llvm.reloc.none` intrinsic to emit null relocations to symbols. This " -"emits an undefined symbol reference without adding any dedicated code or " -"data to to bear the relocation." +#: ../../../ReleaseNotes.md:72 +msgid "Changes to LLVM infrastructure" msgstr "" -#: ../../../ReleaseNotes.md:73 +#: ../../../ReleaseNotes.md:75 msgid "" -"Added `modular-format` attribute to dynamically pull in aspects of libc " -"format string function implementations from statically-linked libc's based " -"on the requirements of each call. Currently only `float` is supported; this " -"can keep floating point support out of printf if it can be proven unused." +"Removed ``Constant::isZeroValue``. It was functionally identical to " +"``Constant::isNullValue`` for all types except floating-point negative zero. " +"All callers should use ``isNullValue`` instead. ``isZeroValue`` will be " +"reintroduced in the future with bitwise-all-zeros semantics to support non-" +"zero null pointers." msgstr "" -#: ../../../ReleaseNotes.md:77 -msgid "Case values are no longer operands of `SwitchInst`." +#: ../../../ReleaseNotes.md:81 +msgid "Removed TypePromoteFloat legalization from SelectionDAG" msgstr "" -#: ../../../ReleaseNotes.md:79 -msgid "Changes to LLVM infrastructure" +#: ../../../ReleaseNotes.md:83 +msgid "" +"Removed `bugpoint`. Usage has been replaced by `llvm-reduce` and `llvm/utils/" +"reduce_pipeline.py`." msgstr "" -#: ../../../ReleaseNotes.md:82 +#: ../../../ReleaseNotes.md:86 msgid "Changes to building LLVM" msgstr "" -#: ../../../ReleaseNotes.md:85 +#: ../../../ReleaseNotes.md:89 msgid "Changes to TableGen" msgstr "" -#: ../../../ReleaseNotes.md:88 +#: ../../../ReleaseNotes.md:92 msgid "Changes to Interprocedural Optimizations" msgstr "" -#: ../../../ReleaseNotes.md:91 -msgid "" -"Added `-enable-machine-outliner={optimistic-pgo,conservative-pgo}` to read " -"profile data to guide the machine outliner ([#154437](https://github.com/" -"llvm/llvm-project/pull/154437))." -msgstr "" - #: ../../../ReleaseNotes.md:95 msgid "Changes to Vectorizers" msgstr "" #: ../../../ReleaseNotes.md:98 -msgid "" -"Added initial support for copyable elements in SLP, which models copyable " -"elements as add , 0, i.e. uses identity constants for missing lanes." -msgstr "" - -#: ../../../ReleaseNotes.md:98 -msgid "" -msgstr "" - -#: ../../../ReleaseNotes.md:100 -msgid "SLP vectorizer supports initial recognition of FMA/FMAD pattern" -msgstr "" - -#: ../../../ReleaseNotes.md:102 msgid "Changes to the AArch64 Backend" msgstr "" -#: ../../../ReleaseNotes.md:105 +#: ../../../ReleaseNotes.md:101 msgid "" -"Assembler/disassembler support has been added for Armv9.7-A (2025) " -"architecture extensions." +"The `sysp`, `mrrs`, and `msrr` instructions are now accepted without " +"requiring the `+d128` feature gating." msgstr "" -#: ../../../ReleaseNotes.md:108 -msgid "" -"Assembler/disassembler support has been added for 'Virtual Tagging Extension " -"(vMTE)' and 'Permission Overlay Extension version 2 (POE2)' Future " -"Architecture Technologies extensions." -msgstr "" - -#: ../../../ReleaseNotes.md:112 -msgid "" -"`FEAT_TME` support has been removed, as it has been withdrawn from all " -"future versions of the A-profile architecture." +#: ../../../ReleaseNotes.md:104 +msgid "Changes to the AMDGPU Backend" msgstr "" -#: ../../../ReleaseNotes.md:115 -msgid "Added support for C1-Nano, C1-Pro, C1-Premium, and C1-Ultra CPUs." +#: ../../../ReleaseNotes.md:107 +msgid "Initial support for gfx1310" msgstr "" -#: ../../../ReleaseNotes.md:117 -msgid "Changes to the AMDGPU Backend" +#: ../../../ReleaseNotes.md:109 +msgid "Changes to the ARM Backend" msgstr "" -#: ../../../ReleaseNotes.md:120 +#: ../../../ReleaseNotes.md:112 msgid "" -"Removed `llvm.amdgcn.atomic.cond.sub.u32` and `llvm.amdgcn.atomic.csub.u32` " -"intrinsics. Users should use the `atomicrmw` instruction with `usub_cond` " -"and `usub_sat` instead." -msgstr "" - -#: ../../../ReleaseNotes.md:124 -msgid "Changes to the ARM Backend" +"The `r14` register can now be used as an alias for the link register `lr` in " +"inline assembly. Clang always canonicalizes the name to `lr`, but other " +"frontends may not." msgstr "" -#: ../../../ReleaseNotes.md:127 +#: ../../../ReleaseNotes.md:116 msgid "Changes to the AVR Backend" msgstr "" -#: ../../../ReleaseNotes.md:130 +#: ../../../ReleaseNotes.md:119 msgid "Changes to the DirectX Backend" msgstr "" -#: ../../../ReleaseNotes.md:133 +#: ../../../ReleaseNotes.md:122 msgid "Changes to the Hexagon Backend" msgstr "" -#: ../../../ReleaseNotes.md:136 +#: ../../../ReleaseNotes.md:125 msgid "Changes to the LoongArch Backend" msgstr "" -#: ../../../ReleaseNotes.md:139 +#: ../../../ReleaseNotes.md:128 +msgid "" +"DWARF fission is now compatible with linker relaxations, allowing `-gsplit-" +"dwarf` and `-mrelax` to be used together when building for the LoongArch " +"platform." +msgstr "" + +#: ../../../ReleaseNotes.md:131 msgid "Changes to the MIPS Backend" msgstr "" -#: ../../../ReleaseNotes.md:142 +#: ../../../ReleaseNotes.md:134 +msgid "Changes to the NVPTX Backend" +msgstr "" + +#: ../../../ReleaseNotes.md:137 +msgid "" +"The default SM version has been changed from `sm_30` to `sm_75`. `sm_75` is " +"the oldest GPU variant compatible with the widest range of recent major CUDA " +"Toolkit versions (11/12/13)." +msgstr "" + +#: ../../../ReleaseNotes.md:141 msgid "Changes to the PowerPC Backend" msgstr "" -#: ../../../ReleaseNotes.md:145 +#: ../../../ReleaseNotes.md:144 msgid "Changes to the RISC-V Backend" msgstr "" +#: ../../../ReleaseNotes.md:147 +msgid "`llvm-objdump` now has support for `--symbolize-operands` with RISC-V." +msgstr "" + #: ../../../ReleaseNotes.md:148 -msgid "" -"The loop vectorizer now performs tail folding by default on RISC-V, which " -"removes the need for a scalar epilogue loop. To restore the previous " -"behaviour use `-prefer-predicate-over-epilogue=scalar-epilogue`." +msgid "`-mcpu=spacemit-x100` was added." msgstr "" -#: ../../../ReleaseNotes.md:151 +#: ../../../ReleaseNotes.md:149 msgid "" -"`llvm-objdump` now has basic support for switching between disassembling " -"code and data using mapping symbols such as `$x` and `$d`. Switching " -"architectures using `$x` with an architecture string suffix is not yet " -"supported." +"Change P extension version to match the 019 draft specification. Encoded in " +"`-march` as `0p19`." msgstr "" -#: ../../../ReleaseNotes.md:154 -msgid "Ssctr and Smctr extensions are no longer experimental." +#: ../../../ReleaseNotes.md:150 +msgid "" +"Mnemonics for MOP/HINT-based instructions (`lpad`, `pause`, `ntl.*`, `c.ntl." +"*`, `sspush`, `sspopchk`, `ssrdp`, `c.sspush`, `c.sspopchk`) are now always " +"available in the assembler and disassembler without requiring their " +"respective extensions." msgstr "" -#: ../../../ReleaseNotes.md:155 -msgid "Add support for Zvfbfa (Additional BF16 vector compute support)" +#: ../../../ReleaseNotes.md:154 +msgid "" +"Adds experimental assembler support for the 'Zvabd` (RISC-V Integer Vector " +"Absolute Difference) extension." msgstr "" #: ../../../ReleaseNotes.md:156 -msgid "" -"Adds experimental support for the 'Zibi` (Branch with Immediate) extension." +msgid "`-mcpu=spacemit-a100` was added." msgstr "" #: ../../../ReleaseNotes.md:157 -msgid "Add support for Zvfofp8min (OFP8 conversion extension)" -msgstr "" - -#: ../../../ReleaseNotes.md:158 msgid "" -"Adds assembler support for the Andes `XAndesvsinth` (Andes Vector Small Int " -"Handling Extension)." +"The opt-in `-riscv-enable-p-ext-simd-codegen` flag has been removed. P " +"extension SIMD code generation is now enabled automatically if the P " +"extension is supported." msgstr "" -#: ../../../ReleaseNotes.md:159 -msgid "" -"DWARF fission is now compatible with linker relaxations, allowing `-gsplit-" -"dwarf` and `-mrelax` to be used together when building for the RISC-V " -"platform." +#: ../../../ReleaseNotes.md:158 +msgid "`-mcpu=xt-c910v2` and `-mcpu=xt-c920v2` were added." msgstr "" -#: ../../../ReleaseNotes.md:161 -msgid "" -"The Xqci Qualcomm uC Vendor Extension is no longger marked as experimental." +#: ../../../ReleaseNotes.md:160 +msgid "Changes to the WebAssembly Backend" msgstr "" #: ../../../ReleaseNotes.md:163 -msgid "Changes to the WebAssembly Backend" +msgid "Changes to the Windows Target" msgstr "" #: ../../../ReleaseNotes.md:166 -msgid "Changes to the Windows Target" +msgid "" +"The `.seh_startchained` and `.seh_endchained` assembly instructions have " +"been removed and replaced with a new `.seh_splitchained` instruction." msgstr "" #: ../../../ReleaseNotes.md:169 -msgid "`-fpseudo-probe-for-profiling` is now supported for COFF." -msgstr "" - -#: ../../../ReleaseNotes.md:171 msgid "Changes to the X86 Backend" msgstr "" -#: ../../../ReleaseNotes.md:174 -msgid "`-mcpu=wildcatlake` is now supported." -msgstr "" - -#: ../../../ReleaseNotes.md:175 -msgid "`-mcpu=novalake` is now supported." +#: ../../../ReleaseNotes.md:172 +msgid "" +"`.att_syntax` directive is now emitted for assembly files when AT&T syntax " +"is in use. This matches the behaviour of Intel syntax and aids with " +"compatibility when changing the default Clang syntax to the Intel syntax." msgstr "" -#: ../../../ReleaseNotes.md:177 +#: ../../../ReleaseNotes.md:176 msgid "Changes to the OCaml bindings" msgstr "" -#: ../../../ReleaseNotes.md:180 +#: ../../../ReleaseNotes.md:179 msgid "Changes to the Python bindings" msgstr "" -#: ../../../ReleaseNotes.md:183 +#: ../../../ReleaseNotes.md:182 msgid "Changes to the C API" msgstr "" -#: ../../../ReleaseNotes.md:186 -msgid "" -"Add `LLVMGetOrInsertFunction` to get or insert a function, replacing the " -"combination of `LLVMGetNamedFunction` and `LLVMAddFunction`." -msgstr "" - -#: ../../../ReleaseNotes.md:187 -msgid "Allow `LLVMGetVolatile` to work with any kind of Instruction." +#: ../../../ReleaseNotes.md:185 +msgid "Changes to the CodeGen infrastructure" msgstr "" #: ../../../ReleaseNotes.md:188 -msgid "" -"Add `LLVMConstFPFromBits` to get a constant floating-point value from an " -"array of 64 bit values." -msgstr "" - -#: ../../../ReleaseNotes.md:189 -msgid "" -"Functions working on the global context have been deprecated. Use the " -"functions that work on a specific context instead." -msgstr "" - -#: ../../../ReleaseNotes.md:192 -msgid "`LLVMGetGlobalContext` -> use `LLVMContextCreate` context instead" +msgid "Changes to the Metadata Info" msgstr "" -#: ../../../ReleaseNotes.md:193 -msgid "`LLVMInt1Type` -> `LLVMInt1TypeInContext`" +#: ../../../ReleaseNotes.md:191 +msgid "Changes to the Debug Info" msgstr "" #: ../../../ReleaseNotes.md:194 -msgid "`LLVMInt8Type` -> `LLVMInt8TypeInContext`" -msgstr "" - -#: ../../../ReleaseNotes.md:195 -msgid "`LLVMInt16Type` -> `LLVMInt16TypeInContext`" -msgstr "" - -#: ../../../ReleaseNotes.md:196 -msgid "`LLVMInt32Type` -> `LLVMInt32TypeInContext`" +msgid "Changes to the LLVM tools" msgstr "" #: ../../../ReleaseNotes.md:197 -msgid "`LLVMInt64Type` -> `LLVMInt64TypeInContext`" +msgid "" +"`llvm-objcopy` no longer corrupts the symbol table when `--update-section` " +"is called for ELF files." msgstr "" #: ../../../ReleaseNotes.md:198 -msgid "`LLVMInt128Type` -> `LLVMInt128TypeInContext`" -msgstr "" - -#: ../../../ReleaseNotes.md:199 -msgid "`LLVMIntType` -> `LLVMIntTypeInContext`" -msgstr "" - -#: ../../../ReleaseNotes.md:200 -msgid "`LLVMHalfType` -> `LLVMHalfTypeInContext`" +msgid "" +"`FileCheck` option `-check-prefix` now accepts a comma-separated list of " +"prefixes, making it an alias of the existing `-check-prefixes` option." msgstr "" #: ../../../ReleaseNotes.md:201 -msgid "`LLVMBFloatType` -> `LLVMBFloatTypeInContext`" -msgstr "" - -#: ../../../ReleaseNotes.md:202 -msgid "`LLVMFloatType` -> `LLVMFloatTypeInContext`" -msgstr "" - -#: ../../../ReleaseNotes.md:203 -msgid "`LLVMDoubleType` -> `LLVMDoubleTypeInContext`" +msgid "Changes to LLDB" msgstr "" #: ../../../ReleaseNotes.md:204 -msgid "`LLVMX86FP80Type` -> `LLVMX86FP80TypeInContext`" -msgstr "" - -#: ../../../ReleaseNotes.md:205 -msgid "`LLVMFP128Type` -> `LLVMFP128TypeInContext`" +msgid "Deprecated APIs" msgstr "" #: ../../../ReleaseNotes.md:206 -msgid "`LLVMPPCFP128Type` -> `LLVMPPCFP128TypeInContext`" -msgstr "" - -#: ../../../ReleaseNotes.md:207 -msgid "`LLVMStructType` -> `LLVMStructTypeInContext`" -msgstr "" - -#: ../../../ReleaseNotes.md:208 -msgid "`LLVMVoidType` -> `LLVMVoidTypeInContext`" +msgid "" +"``SBTarget::GetDataByteSize()``, ``SBTarget::GetCodeByteSize()``, and " +"``SBSection::GetTargetByteSize()`` have been deprecated. They always return " +"1, as before." msgstr "" #: ../../../ReleaseNotes.md:209 -msgid "`LLVMLabelType` -> `LLVMLabelTypeInContext`" -msgstr "" - -#: ../../../ReleaseNotes.md:210 -msgid "`LLVMX86AMXType` -> `LLVMX86AMXTypeInContext`" +msgid "FreeBSD" msgstr "" #: ../../../ReleaseNotes.md:211 -msgid "`LLVMConstString` -> `LLVMConstStringInContext2`" -msgstr "" - -#: ../../../ReleaseNotes.md:212 -msgid "`LLVMConstStruct` -> `LLVMConstStructInContext`" +msgid "Userspace Debugging" msgstr "" #: ../../../ReleaseNotes.md:213 -msgid "`LLVMMDString` -> `LLVMMDStringInContext2`" +msgid "Support for MIPS64 has been removed." msgstr "" #: ../../../ReleaseNotes.md:214 -msgid "`LLVMMDNode` -> `LLVMMDNodeInContext2`" -msgstr "" - -#: ../../../ReleaseNotes.md:215 -msgid "`LLVMAppendBasicBlock` -> `LLVMAppendBasicBlockInContext`" -msgstr "" - -#: ../../../ReleaseNotes.md:216 -msgid "`LLVMInsertBasicBlock` -> `LLVMInsertBasicBlockInContext`" +msgid "" +"The minimum assumed FreeBSD version is now 14. The effect of which is that " +"watchpoints are assumed to be supported." msgstr "" #: ../../../ReleaseNotes.md:217 -msgid "`LLVMCreateBuilder` -> `LLVMCreateBuilderInContext`" -msgstr "" - -#: ../../../ReleaseNotes.md:218 -msgid "`LLVMIntPtrType` -> `LLVMIntPtrTypeInContext`" +msgid "Kernel Debugging" msgstr "" #: ../../../ReleaseNotes.md:219 -msgid "`LLVMIntPtrTypeForAS` -> `LLVMIntPtrTypeForASInContext`" -msgstr "" - -#: ../../../ReleaseNotes.md:220 -msgid "`LLVMParseBitcode` -> `LLVMParseBitcodeInContext2`" -msgstr "" - -#: ../../../ReleaseNotes.md:221 -msgid "`LLVMParseBitcode2` -> `LLVMParseBitcodeInContext2`" -msgstr "" - -#: ../../../ReleaseNotes.md:222 -msgid "`LLVMGetBitcodeModule` -> `LLVMGetBitcodeModuleInContext2`" -msgstr "" - -#: ../../../ReleaseNotes.md:223 -msgid "`LLVMGetBitcodeModule2` -> `LLVMGetBitcodeModuleInContext2`" -msgstr "" - -#: ../../../ReleaseNotes.md:224 msgid "" -"Add `LLVMGetSwitchCaseValue` and `LLVMSetSwitchCaseValue` to get and set " -"switch case values; switch case values are no longer operands of the " -"instruction." -msgstr "" - -#: ../../../ReleaseNotes.md:226 -msgid "Changes to the CodeGen infrastructure" +"The plugin that analyzes FreeBSD kernel core dump and live core has been " +"renamed from `freebsd-kernel` to `freebsd-kernel-core`. Remote kernel " +"debugging is still handled by the `gdb-remote` plugin." msgstr "" -#: ../../../ReleaseNotes.md:229 -msgid "Changes to the Metadata Info" -msgstr "" - -#: ../../../ReleaseNotes.md:232 -msgid "Changes to the Debug Info" -msgstr "" - -#: ../../../ReleaseNotes.md:235 -msgid "Changes to the LLVM tools" -msgstr "" - -#: ../../../ReleaseNotes.md:238 -msgid "`llvm-profgen` now supports decoding pseudo probe for COFF binaries." -msgstr "" - -#: ../../../ReleaseNotes.md:240 -msgid "`llvm-readelf` now dumps all hex format values in lower-case mode." -msgstr "" - -#: ../../../ReleaseNotes.md:241 -msgid "" -"Some code paths for supporting Python 2.7 in `llvm-lit` have been removed." -msgstr "" - -#: ../../../ReleaseNotes.md:242 -msgid "Support for `%T` in lit has been removed." -msgstr "" - -#: ../../../ReleaseNotes.md:243 -msgid "" -"Add `--save-stats` option to `llc` to save LLVM statistics to a file. " -"Compatible with the Clang option." -msgstr "" - -#: ../../../ReleaseNotes.md:244 -msgid "" -"Add `--save-stats` option to `opt` to save LLVM statistics to a file. " -"Compatible with the Clang option." -msgstr "" - -#: ../../../ReleaseNotes.md:246 +#: ../../../ReleaseNotes.md:221 msgid "" -"`llvm-config` gained a new flag `--quote-paths` which quotes and escapes " -"paths emitted on stdout, to account for spaces or other special characters " -"in path. (`#97305 `_)." +"Support for libfbsdvmcore has been removed. As a result, FreeBSD kernel dump " +"debugging is now only available on FreeBSD hosts. Live kernel debugging " +"through the GDB remote protocol is still available from any platform." msgstr "" -#: ../../../ReleaseNotes.md:250 -msgid "" -"`llvm-objdump` now supports using `--mcpu=help` and `--mattr=help` with the " -"`--triple` option without requiring an input file or the `-d` (disassemble) " -"flag." +#: ../../../ReleaseNotes.md:224 +msgid "Support for ARM, PPC64le, and RISCV64 has been added." msgstr "" -#: ../../../ReleaseNotes.md:253 -msgid "Changes to LLDB" +#: ../../../ReleaseNotes.md:225 +msgid "The crashed thread is now automatically selected on start." msgstr "" -#: ../../../ReleaseNotes.md:256 -msgid "" -"LLDB can now set breakpoints, show backtraces, and display variables when " -"debugging Wasm with supported runtimes (WAMR and V8)." +#: ../../../ReleaseNotes.md:226 +msgid "Threads are listed in incrmental order by pid then by tid." msgstr "" -#: ../../../ReleaseNotes.md:258 +#: ../../../ReleaseNotes.md:227 msgid "" -"LLDB now has a Wasm platform, which can be configured to run WebAssembly " -"binaries directly under a Wasm runtime. Configurable through the platform." -"plugin.wasm settings." +"Unread kernel messages saved in msgbufp are now printed when lldb starts. " +"This information is printed only when lldb is in the interactive mode (i.e. " +"not in batch mode)." msgstr "" -#: ../../../ReleaseNotes.md:261 +#: ../../../ReleaseNotes.md:229 msgid "" -"LLDB no longer stops processes by default when receiving SIGWINCH signals " -"(window resize events) on Linux. This is the default on other Unix " -"platforms. You can re-enable it using `process handle --notify=true --" -"stop=true SIGWINCH`." +"Writing to the core is now supported. For safety reasons, this feature is " +"off by default. To enable it, `plugin.process.freebsd-kernel-core.read-only` " +"must be set to `false`. This setting is available when using `/dev/mem` or a " +"kernel dump. However, since `kvm_write()` does not support writing to kernel " +"dumps, writes to a kernel dump will still fail when the setting is false." msgstr "" -#: ../../../ReleaseNotes.md:264 -msgid "" -"The `show-progress` setting, which became a NOOP with the introduction of " -"the statusline, now defaults to off and controls using OSC escape codes to " -"show a native progress bar in supporting terminals like Ghostty and ConEmu." +#: ../../../ReleaseNotes.md:234 +msgid "Linux" msgstr "" -#: ../../../ReleaseNotes.md:267 +#: ../../../ReleaseNotes.md:236 msgid "" -"The default PDB reader on Windows was changed from DIA to native, which uses " -"LLVM's PDB and CodeView support. You can switch back to the DIA reader with " -"`settings set plugin.symbol-file.pdb.reader dia`. Note that support for the " -"DIA reader will be removed in a future version of LLDB." +"On Arm Linux, the tpidruro register can now be read. Writing to this " +"register is not supported." msgstr "" -#: ../../../ReleaseNotes.md:271 +#: ../../../ReleaseNotes.md:237 msgid "" -"A `--verbose` option was added to the `version` command. When `--verbose` is " -"used, LLDB's build configuration is included in the command's output. This " -"includes all the supported targets, along with the presence of (or lack of) " -"optional features like XML parsing." +"Thread local variables are now supported on Arm Linux if the program being " +"debugged is using glibc." msgstr "" -#: ../../../ReleaseNotes.md:276 +#: ../../../ReleaseNotes.md:239 msgid "Changes to BOLT" msgstr "" -#: ../../../ReleaseNotes.md:279 +#: ../../../ReleaseNotes.md:242 msgid "Changes to Sanitizers" msgstr "" -#: ../../../ReleaseNotes.md:282 -msgid "Support running TypeSanitizer with UndefinedBehaviourSanitizer." -msgstr "" - -#: ../../../ReleaseNotes.md:283 +#: ../../../ReleaseNotes.md:245 msgid "" -"TypeSanitizer no longer inlines all instrumentation by default. Added the `-" -"f[no-]sanitize-type-outline-instrumentation` flags to give users control " -"over this behaviour." +"Add a random delay into ThreadSanitizer to help find rare thread " +"interleavings." msgstr "" -#: ../../../ReleaseNotes.md:287 +#: ../../../ReleaseNotes.md:247 msgid "Other Changes" msgstr "" -#: ../../../ReleaseNotes.md:290 -msgid "" -"Introduces the `AllocToken` pass, an instrumentation pass providing tokens " -"to memory allocators enabling various heap organization strategies, such as " -"heap partitioning." -msgstr "" - -#: ../../../ReleaseNotes.md:294 +#: ../../../ReleaseNotes.md:250 msgid "External Open Source Projects Using LLVM {{env.config.release}}" msgstr "" -#: ../../../ReleaseNotes.md:297 -msgid "A project..." -msgstr "" - -#: ../../../ReleaseNotes.md:299 +#: ../../../ReleaseNotes.md:253 msgid "Additional Information" msgstr "" -#: ../../../ReleaseNotes.md:302 +#: ../../../ReleaseNotes.md:256 msgid "" "A wide variety of additional information is available on the [LLVM web page]" "(https://llvm.org/), in particular in the [documentation](https://llvm.org/" @@ -662,7 +481,7 @@ msgid "" "into the `llvm/docs/` directory in the LLVM tree." msgstr "" -#: ../../../ReleaseNotes.md:309 +#: ../../../ReleaseNotes.md:263 msgid "" "If you have any questions or comments about LLVM, please feel free to " "contact us via the [Discourse forums](https://discourse.llvm.org)." diff --git a/main/locale/pot/LC_MESSAGES/SPIRVUsage.pot b/main/locale/pot/LC_MESSAGES/SPIRVUsage.pot index b26257d8d61..67c2f41262f 100644 --- a/main/locale/pot/LC_MESSAGES/SPIRVUsage.pot +++ b/main/locale/pot/LC_MESSAGES/SPIRVUsage.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: LLVM main\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-12-22 08:34+0000\n" +"POT-Creation-Date: 2026-03-09 08:48+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -126,7 +126,7 @@ msgstr "" #: ../../../SPIRVUsage.rst:68 ../../../SPIRVUsage.rst:78 #: ../../../SPIRVUsage.rst:93 ../../../SPIRVUsage.rst:103 #: ../../../SPIRVUsage.rst:116 ../../../SPIRVUsage.rst:157 -#: ../../../SPIRVUsage.rst:379 +#: ../../../SPIRVUsage.rst:383 msgid "Description" msgstr "" @@ -862,11 +862,33 @@ msgid "" "Adds Image Channel Data Type definitions for RAW10 and RAW12 image formats." msgstr "" +#: ../../../SPIRVUsage.rst:254 +msgid "``SPV_ALTERA_arbitrary_precision_floating_point``" +msgstr "" + +#: ../../../SPIRVUsage.rst:255 +msgid "" +"Adds instructions for arbitrary precision floating-point arithmetic. The " +"extension works without SPV_ALTERA_arbitrary_precision_integers, but " +"together they allow greater flexibility in representing arbitrary precision " +"data types." +msgstr "" + +#: ../../../SPIRVUsage.rst:256 +msgid "``SPV_KHR_fma``" +msgstr "" + #: ../../../SPIRVUsage.rst:257 +msgid "" +"Adds a core fused-multiply-add (fma) instruction to replace the different " +"variants that have existed in extended instruction sets." +msgstr "" + +#: ../../../SPIRVUsage.rst:261 msgid "SPIR-V representation in LLVM IR" msgstr "" -#: ../../../SPIRVUsage.rst:259 +#: ../../../SPIRVUsage.rst:263 msgid "" "SPIR-V is intentionally designed for seamless integration with various " "Intermediate Representations (IRs), including LLVM IR, facilitating " @@ -882,139 +904,139 @@ msgid "" "conventions used by other tools." msgstr "" -#: ../../../SPIRVUsage.rst:272 +#: ../../../SPIRVUsage.rst:276 msgid "Special types" msgstr "" -#: ../../../SPIRVUsage.rst:274 +#: ../../../SPIRVUsage.rst:278 msgid "" "SPIR-V specifies several kinds of opaque types. These types are represented " "using target extension types and are represented as follows:" msgstr "" -#: ../../../SPIRVUsage.rst:277 +#: ../../../SPIRVUsage.rst:281 msgid "SPIR-V Opaque Types" msgstr "" -#: ../../../SPIRVUsage.rst:280 +#: ../../../SPIRVUsage.rst:284 msgid "SPIR-V Type" msgstr "" -#: ../../../SPIRVUsage.rst:280 ../../../SPIRVUsage.rst:327 +#: ../../../SPIRVUsage.rst:284 ../../../SPIRVUsage.rst:331 msgid "LLVM type name" msgstr "" -#: ../../../SPIRVUsage.rst:280 ../../../SPIRVUsage.rst:327 +#: ../../../SPIRVUsage.rst:284 ../../../SPIRVUsage.rst:331 msgid "LLVM type arguments" msgstr "" -#: ../../../SPIRVUsage.rst:282 ../../../SPIRVUsage.rst:283 +#: ../../../SPIRVUsage.rst:286 ../../../SPIRVUsage.rst:287 msgid "OpTypeImage" msgstr "" -#: ../../../SPIRVUsage.rst:282 +#: ../../../SPIRVUsage.rst:286 msgid "``spirv.Image``" msgstr "" -#: ../../../SPIRVUsage.rst:282 ../../../SPIRVUsage.rst:283 -#: ../../../SPIRVUsage.rst:285 +#: ../../../SPIRVUsage.rst:286 ../../../SPIRVUsage.rst:287 +#: ../../../SPIRVUsage.rst:289 msgid "" "sampled type, dimensionality, depth, arrayed, MS, sampled, image format, " "[access qualifier]" msgstr "" -#: ../../../SPIRVUsage.rst:283 +#: ../../../SPIRVUsage.rst:287 msgid "``spirv.SignedImage``" msgstr "" -#: ../../../SPIRVUsage.rst:284 +#: ../../../SPIRVUsage.rst:288 msgid "OpTypeSampler" msgstr "" -#: ../../../SPIRVUsage.rst:284 +#: ../../../SPIRVUsage.rst:288 msgid "``spirv.Sampler``" msgstr "" -#: ../../../SPIRVUsage.rst:284 ../../../SPIRVUsage.rst:286 -#: ../../../SPIRVUsage.rst:287 ../../../SPIRVUsage.rst:288 -#: ../../../SPIRVUsage.rst:289 ../../../SPIRVUsage.rst:291 -#: ../../../SPIRVUsage.rst:331 +#: ../../../SPIRVUsage.rst:288 ../../../SPIRVUsage.rst:290 +#: ../../../SPIRVUsage.rst:291 ../../../SPIRVUsage.rst:292 +#: ../../../SPIRVUsage.rst:293 ../../../SPIRVUsage.rst:295 +#: ../../../SPIRVUsage.rst:335 msgid "(none)" msgstr "" -#: ../../../SPIRVUsage.rst:285 +#: ../../../SPIRVUsage.rst:289 msgid "OpTypeSampledImage" msgstr "" -#: ../../../SPIRVUsage.rst:285 +#: ../../../SPIRVUsage.rst:289 msgid "``spirv.SampledImage``" msgstr "" -#: ../../../SPIRVUsage.rst:286 +#: ../../../SPIRVUsage.rst:290 msgid "OpTypeEvent" msgstr "" -#: ../../../SPIRVUsage.rst:286 +#: ../../../SPIRVUsage.rst:290 msgid "``spirv.Event``" msgstr "" -#: ../../../SPIRVUsage.rst:287 +#: ../../../SPIRVUsage.rst:291 msgid "OpTypeDeviceEvent" msgstr "" -#: ../../../SPIRVUsage.rst:287 +#: ../../../SPIRVUsage.rst:291 msgid "``spirv.DeviceEvent``" msgstr "" -#: ../../../SPIRVUsage.rst:288 +#: ../../../SPIRVUsage.rst:292 msgid "OpTypeReserveId" msgstr "" -#: ../../../SPIRVUsage.rst:288 +#: ../../../SPIRVUsage.rst:292 msgid "``spirv.ReserveId``" msgstr "" -#: ../../../SPIRVUsage.rst:289 +#: ../../../SPIRVUsage.rst:293 msgid "OpTypeQueue" msgstr "" -#: ../../../SPIRVUsage.rst:289 +#: ../../../SPIRVUsage.rst:293 msgid "``spirv.Queue``" msgstr "" -#: ../../../SPIRVUsage.rst:290 +#: ../../../SPIRVUsage.rst:294 msgid "OpTypePipe" msgstr "" -#: ../../../SPIRVUsage.rst:290 +#: ../../../SPIRVUsage.rst:294 msgid "``spirv.Pipe``" msgstr "" -#: ../../../SPIRVUsage.rst:290 +#: ../../../SPIRVUsage.rst:294 msgid "access qualifier" msgstr "" -#: ../../../SPIRVUsage.rst:291 +#: ../../../SPIRVUsage.rst:295 msgid "OpTypePipeStorage" msgstr "" -#: ../../../SPIRVUsage.rst:291 +#: ../../../SPIRVUsage.rst:295 msgid "``spirv.PipeStorage``" msgstr "" -#: ../../../SPIRVUsage.rst:292 +#: ../../../SPIRVUsage.rst:296 msgid "NA" msgstr "" -#: ../../../SPIRVUsage.rst:292 +#: ../../../SPIRVUsage.rst:296 msgid "``spirv.VulkanBuffer``" msgstr "" -#: ../../../SPIRVUsage.rst:292 +#: ../../../SPIRVUsage.rst:296 msgid "ElementType, StorageClass, IsWriteable" msgstr "" -#: ../../../SPIRVUsage.rst:295 +#: ../../../SPIRVUsage.rst:299 msgid "" "All integer arguments take the same value as they do in their `corresponding " "SPIR-V instruction `_ for details on ``spirv." "VulkanBuffer``." msgstr "" -#: ../../../SPIRVUsage.rst:316 ../../../SPIRVUsage.rst:324 +#: ../../../SPIRVUsage.rst:320 ../../../SPIRVUsage.rst:328 msgid "Inline SPIR-V Types" msgstr "" -#: ../../../SPIRVUsage.rst:318 +#: ../../../SPIRVUsage.rst:322 msgid "" "HLSL allows users to create types representing specific SPIR-V types, using " "``vk::SpirvType`` and ``vk::SpirvOpaqueType``. These are specified in the " @@ -1054,39 +1076,39 @@ msgid "" "types:" msgstr "" -#: ../../../SPIRVUsage.rst:327 +#: ../../../SPIRVUsage.rst:331 msgid "LLVM integer arguments" msgstr "" -#: ../../../SPIRVUsage.rst:329 +#: ../../../SPIRVUsage.rst:333 msgid "``spirv.Type``" msgstr "" -#: ../../../SPIRVUsage.rst:329 +#: ../../../SPIRVUsage.rst:333 msgid "SPIR-V operands" msgstr "" -#: ../../../SPIRVUsage.rst:329 +#: ../../../SPIRVUsage.rst:333 msgid "opcode, size, alignment" msgstr "" -#: ../../../SPIRVUsage.rst:330 +#: ../../../SPIRVUsage.rst:334 msgid "``spirv.IntegralConstant``" msgstr "" -#: ../../../SPIRVUsage.rst:330 +#: ../../../SPIRVUsage.rst:334 msgid "integral type" msgstr "" -#: ../../../SPIRVUsage.rst:330 ../../../SPIRVUsage.rst:331 +#: ../../../SPIRVUsage.rst:334 ../../../SPIRVUsage.rst:335 msgid "value" msgstr "" -#: ../../../SPIRVUsage.rst:331 +#: ../../../SPIRVUsage.rst:335 msgid "``spirv.Literal``" msgstr "" -#: ../../../SPIRVUsage.rst:334 +#: ../../../SPIRVUsage.rst:338 msgid "" "The operand arguments to ``spirv.Type`` may be either a ``spirv." "IntegralConstant`` type, representing an ``OpConstant`` id operand, a " @@ -1096,53 +1118,53 @@ msgid "" "context." msgstr "" -#: ../../../SPIRVUsage.rst:339 +#: ../../../SPIRVUsage.rst:343 msgid "" "For example, ``OpTypeArray`` (opcode 28) takes an id for the element type " "and an id for the element length, so an array of 16 integers could be " "declared as:" msgstr "" -#: ../../../SPIRVUsage.rst:342 +#: ../../../SPIRVUsage.rst:346 msgid "" "``target(\"spirv.Type\", i32, target(\"spirv.IntegralConstant\", i32, 16), " "28, 64, 32)``" msgstr "" -#: ../../../SPIRVUsage.rst:344 ../../../SPIRVUsage.rst:353 +#: ../../../SPIRVUsage.rst:348 ../../../SPIRVUsage.rst:357 msgid "This will be lowered to:" msgstr "" -#: ../../../SPIRVUsage.rst:346 +#: ../../../SPIRVUsage.rst:350 msgid "``OpTypeArray %int %int_16``" msgstr "" -#: ../../../SPIRVUsage.rst:348 +#: ../../../SPIRVUsage.rst:352 msgid "" "``OpTypeVector`` takes an id for the component type and a literal for the " "component count, so a 4-integer vector could be declared as:" msgstr "" -#: ../../../SPIRVUsage.rst:351 +#: ../../../SPIRVUsage.rst:355 msgid "" "``target(\"spirv.Type\", i32, target(\"spirv.Literal\", 4), 23, 16, 32)``" msgstr "" -#: ../../../SPIRVUsage.rst:355 +#: ../../../SPIRVUsage.rst:359 msgid "``OpTypeVector %int 4``" msgstr "" -#: ../../../SPIRVUsage.rst:357 +#: ../../../SPIRVUsage.rst:361 msgid "" "See `Target Extension Types for Inline SPIR-V and Decorated Types`_ for " "further details." msgstr "" -#: ../../../SPIRVUsage.rst:364 +#: ../../../SPIRVUsage.rst:368 msgid "Target Intrinsics" msgstr "" -#: ../../../SPIRVUsage.rst:366 +#: ../../../SPIRVUsage.rst:370 msgid "" "The SPIR-V backend employs several LLVM IR intrinsics that facilitate " "various low-level operations essential for generating correct and efficient " @@ -1152,87 +1174,87 @@ msgid "" "along with their descriptions and argument details." msgstr "" -#: ../../../SPIRVUsage.rst:372 +#: ../../../SPIRVUsage.rst:376 msgid "LLVM IR Intrinsics for SPIR-V" msgstr "" -#: ../../../SPIRVUsage.rst:376 +#: ../../../SPIRVUsage.rst:380 msgid "Intrinsic ID" msgstr "" -#: ../../../SPIRVUsage.rst:377 +#: ../../../SPIRVUsage.rst:381 msgid "Return Type" msgstr "" -#: ../../../SPIRVUsage.rst:378 +#: ../../../SPIRVUsage.rst:382 msgid "Argument Types" msgstr "" -#: ../../../SPIRVUsage.rst:380 +#: ../../../SPIRVUsage.rst:384 msgid "`int_spv_assign_type`" msgstr "" -#: ../../../SPIRVUsage.rst:381 ../../../SPIRVUsage.rst:385 -#: ../../../SPIRVUsage.rst:389 ../../../SPIRVUsage.rst:393 -#: ../../../SPIRVUsage.rst:397 ../../../SPIRVUsage.rst:401 -#: ../../../SPIRVUsage.rst:405 ../../../SPIRVUsage.rst:413 -#: ../../../SPIRVUsage.rst:417 ../../../SPIRVUsage.rst:429 -#: ../../../SPIRVUsage.rst:461 ../../../SPIRVUsage.rst:469 -#: ../../../SPIRVUsage.rst:485 ../../../SPIRVUsage.rst:489 +#: ../../../SPIRVUsage.rst:385 ../../../SPIRVUsage.rst:389 +#: ../../../SPIRVUsage.rst:393 ../../../SPIRVUsage.rst:397 +#: ../../../SPIRVUsage.rst:401 ../../../SPIRVUsage.rst:405 +#: ../../../SPIRVUsage.rst:409 ../../../SPIRVUsage.rst:417 +#: ../../../SPIRVUsage.rst:421 ../../../SPIRVUsage.rst:433 +#: ../../../SPIRVUsage.rst:465 ../../../SPIRVUsage.rst:473 +#: ../../../SPIRVUsage.rst:489 ../../../SPIRVUsage.rst:493 msgid "None" msgstr "" -#: ../../../SPIRVUsage.rst:382 ../../../SPIRVUsage.rst:398 -#: ../../../SPIRVUsage.rst:406 ../../../SPIRVUsage.rst:410 +#: ../../../SPIRVUsage.rst:386 ../../../SPIRVUsage.rst:402 +#: ../../../SPIRVUsage.rst:410 ../../../SPIRVUsage.rst:414 msgid "`[Type, Metadata]`" msgstr "" -#: ../../../SPIRVUsage.rst:383 +#: ../../../SPIRVUsage.rst:387 msgid "" "Associates a type with metadata, crucial for maintaining type information in " "SPIR-V structures. Not emitted directly but supports the type system " "internally." msgstr "" -#: ../../../SPIRVUsage.rst:384 +#: ../../../SPIRVUsage.rst:388 msgid "`int_spv_assign_ptr_type`" msgstr "" -#: ../../../SPIRVUsage.rst:386 ../../../SPIRVUsage.rst:458 +#: ../../../SPIRVUsage.rst:390 ../../../SPIRVUsage.rst:462 msgid "`[Type, Metadata, Integer]`" msgstr "" -#: ../../../SPIRVUsage.rst:387 +#: ../../../SPIRVUsage.rst:391 msgid "" "Similar to `int_spv_assign_type`, but for pointer types with an additional " "integer specifying the storage class. Supports SPIR-V's detailed pointer " "type system. Not emitted directly." msgstr "" -#: ../../../SPIRVUsage.rst:388 +#: ../../../SPIRVUsage.rst:392 msgid "`int_spv_assign_name`" msgstr "" -#: ../../../SPIRVUsage.rst:390 ../../../SPIRVUsage.rst:462 -#: ../../../SPIRVUsage.rst:466 +#: ../../../SPIRVUsage.rst:394 ../../../SPIRVUsage.rst:466 +#: ../../../SPIRVUsage.rst:470 msgid "`[Type, Vararg]`" msgstr "" -#: ../../../SPIRVUsage.rst:391 +#: ../../../SPIRVUsage.rst:395 msgid "" "Assigns names to types or values, enhancing readability and debuggability of " "SPIR-V code. Not emitted directly but used for metadata enrichment." msgstr "" -#: ../../../SPIRVUsage.rst:392 +#: ../../../SPIRVUsage.rst:396 msgid "`int_spv_value_md`" msgstr "" -#: ../../../SPIRVUsage.rst:394 +#: ../../../SPIRVUsage.rst:398 msgid "`[Metadata]`" msgstr "" -#: ../../../SPIRVUsage.rst:395 +#: ../../../SPIRVUsage.rst:399 msgid "" "Assigns a set of attributes (such as name and data type) to a value that is " "the argument of the associated `llvm.fake.use` intrinsic call. The latter is " @@ -1240,399 +1262,399 @@ msgid "" "original value." msgstr "" -#: ../../../SPIRVUsage.rst:396 +#: ../../../SPIRVUsage.rst:400 msgid "`int_spv_assign_decoration`" msgstr "" -#: ../../../SPIRVUsage.rst:399 +#: ../../../SPIRVUsage.rst:403 msgid "" "Assigns decoration to values by associating them with metadatas. Not emitted " "directly but used to support SPIR-V representation in LLVM IR." msgstr "" -#: ../../../SPIRVUsage.rst:400 +#: ../../../SPIRVUsage.rst:404 msgid "`int_spv_assign_aliasing_decoration`" msgstr "" -#: ../../../SPIRVUsage.rst:402 +#: ../../../SPIRVUsage.rst:406 msgid "`[Type, 32-bit Integer, Metadata]`" msgstr "" -#: ../../../SPIRVUsage.rst:403 +#: ../../../SPIRVUsage.rst:407 msgid "" "Assigns one of two memory aliasing decorations (specified by the second " "argument) to instructions using original aliasing metadata node. Not emitted " "directly but used to support SPIR-V representation in LLVM IR." msgstr "" -#: ../../../SPIRVUsage.rst:404 +#: ../../../SPIRVUsage.rst:408 msgid "`int_spv_assign_fpmaxerror_decoration`" msgstr "" -#: ../../../SPIRVUsage.rst:407 +#: ../../../SPIRVUsage.rst:411 msgid "" "Assigns the maximum error decoration to floating-point instructions using " "the original metadata node. Not emitted directly but used to support SPIR-V " "representation in LLVM IR." msgstr "" -#: ../../../SPIRVUsage.rst:408 +#: ../../../SPIRVUsage.rst:412 msgid "`int_spv_track_constant`" msgstr "" -#: ../../../SPIRVUsage.rst:409 ../../../SPIRVUsage.rst:433 -#: ../../../SPIRVUsage.rst:441 ../../../SPIRVUsage.rst:445 -#: ../../../SPIRVUsage.rst:449 ../../../SPIRVUsage.rst:453 -#: ../../../SPIRVUsage.rst:457 ../../../SPIRVUsage.rst:473 -#: ../../../SPIRVUsage.rst:477 +#: ../../../SPIRVUsage.rst:413 ../../../SPIRVUsage.rst:437 +#: ../../../SPIRVUsage.rst:445 ../../../SPIRVUsage.rst:449 +#: ../../../SPIRVUsage.rst:453 ../../../SPIRVUsage.rst:457 +#: ../../../SPIRVUsage.rst:461 ../../../SPIRVUsage.rst:477 +#: ../../../SPIRVUsage.rst:481 msgid "Type" msgstr "" -#: ../../../SPIRVUsage.rst:411 +#: ../../../SPIRVUsage.rst:415 msgid "" "Tracks constants in the SPIR-V module. Essential for optimizing and reducing " "redundancy. Emitted for internal use only." msgstr "" -#: ../../../SPIRVUsage.rst:412 +#: ../../../SPIRVUsage.rst:416 msgid "`int_spv_init_global`" msgstr "" -#: ../../../SPIRVUsage.rst:414 ../../../SPIRVUsage.rst:494 +#: ../../../SPIRVUsage.rst:418 ../../../SPIRVUsage.rst:498 msgid "`[Type, Type]`" msgstr "" -#: ../../../SPIRVUsage.rst:415 +#: ../../../SPIRVUsage.rst:419 msgid "" "Initializes global variables, a necessary step for ensuring correct global " "state management in SPIR-V. Emitted for internal use only." msgstr "" -#: ../../../SPIRVUsage.rst:416 +#: ../../../SPIRVUsage.rst:420 msgid "`int_spv_unref_global`" msgstr "" -#: ../../../SPIRVUsage.rst:418 ../../../SPIRVUsage.rst:454 +#: ../../../SPIRVUsage.rst:422 ../../../SPIRVUsage.rst:458 msgid "`[Type]`" msgstr "" -#: ../../../SPIRVUsage.rst:419 +#: ../../../SPIRVUsage.rst:423 msgid "" "Manages the lifetime of global variables by marking them as unreferenced, " "thus enabling optimizations related to global variable usage. Emitted for " "internal use only." msgstr "" -#: ../../../SPIRVUsage.rst:420 +#: ../../../SPIRVUsage.rst:424 msgid "`int_spv_gep`" msgstr "" -#: ../../../SPIRVUsage.rst:421 ../../../SPIRVUsage.rst:505 +#: ../../../SPIRVUsage.rst:425 ../../../SPIRVUsage.rst:509 msgid "Pointer" msgstr "" -#: ../../../SPIRVUsage.rst:422 +#: ../../../SPIRVUsage.rst:426 msgid "`[Boolean, Type, Vararg]`" msgstr "" -#: ../../../SPIRVUsage.rst:423 +#: ../../../SPIRVUsage.rst:427 msgid "" "Computes the address of a sub-element of an aggregate type. Critical for " "accessing array elements and structure fields. Supports conditionally " "addressing elements in a generic way." msgstr "" -#: ../../../SPIRVUsage.rst:424 +#: ../../../SPIRVUsage.rst:428 msgid "`int_spv_load`" msgstr "" -#: ../../../SPIRVUsage.rst:425 ../../../SPIRVUsage.rst:437 -#: ../../../SPIRVUsage.rst:465 ../../../SPIRVUsage.rst:481 -#: ../../../SPIRVUsage.rst:497 ../../../SPIRVUsage.rst:501 +#: ../../../SPIRVUsage.rst:429 ../../../SPIRVUsage.rst:441 +#: ../../../SPIRVUsage.rst:469 ../../../SPIRVUsage.rst:485 +#: ../../../SPIRVUsage.rst:501 ../../../SPIRVUsage.rst:505 msgid "32-bit Integer" msgstr "" -#: ../../../SPIRVUsage.rst:426 +#: ../../../SPIRVUsage.rst:430 msgid "`[Pointer, 16-bit Integer, 8-bit Integer]`" msgstr "" -#: ../../../SPIRVUsage.rst:427 +#: ../../../SPIRVUsage.rst:431 msgid "" "Loads a value from a memory location. The additional integers specify memory " "access and alignment details, vital for ensuring correct and efficient " "memory operations." msgstr "" -#: ../../../SPIRVUsage.rst:428 +#: ../../../SPIRVUsage.rst:432 msgid "`int_spv_store`" msgstr "" -#: ../../../SPIRVUsage.rst:430 +#: ../../../SPIRVUsage.rst:434 msgid "`[Type, Pointer, 16-bit Integer, 8-bit Integer]`" msgstr "" -#: ../../../SPIRVUsage.rst:431 +#: ../../../SPIRVUsage.rst:435 msgid "" "Stores a value to a memory location. Like `int_spv_load`, it includes " "specifications for memory access and alignment, essential for memory " "operations." msgstr "" -#: ../../../SPIRVUsage.rst:432 +#: ../../../SPIRVUsage.rst:436 msgid "`int_spv_extractv`" msgstr "" -#: ../../../SPIRVUsage.rst:434 +#: ../../../SPIRVUsage.rst:438 msgid "`[32-bit Integer, Vararg]`" msgstr "" -#: ../../../SPIRVUsage.rst:435 +#: ../../../SPIRVUsage.rst:439 msgid "" "Extracts a value from a vector, allowing for vector operations within SPIR-" "V. Enables manipulation of vector components." msgstr "" -#: ../../../SPIRVUsage.rst:436 +#: ../../../SPIRVUsage.rst:440 msgid "`int_spv_insertv`" msgstr "" -#: ../../../SPIRVUsage.rst:438 +#: ../../../SPIRVUsage.rst:442 msgid "`[32-bit Integer, Type, Vararg]`" msgstr "" -#: ../../../SPIRVUsage.rst:439 +#: ../../../SPIRVUsage.rst:443 msgid "" "Inserts a value into a vector. Complementary to `int_spv_extractv`, it " "facilitates the construction and manipulation of vectors." msgstr "" -#: ../../../SPIRVUsage.rst:440 +#: ../../../SPIRVUsage.rst:444 msgid "`int_spv_extractelt`" msgstr "" -#: ../../../SPIRVUsage.rst:442 +#: ../../../SPIRVUsage.rst:446 msgid "`[Type, Any Integer]`" msgstr "" -#: ../../../SPIRVUsage.rst:443 +#: ../../../SPIRVUsage.rst:447 msgid "" "Extracts an element from an aggregate type based on an index. Essential for " "operations on arrays and vectors." msgstr "" -#: ../../../SPIRVUsage.rst:444 +#: ../../../SPIRVUsage.rst:448 msgid "`int_spv_insertelt`" msgstr "" -#: ../../../SPIRVUsage.rst:446 +#: ../../../SPIRVUsage.rst:450 msgid "`[Type, Type, Any Integer]`" msgstr "" -#: ../../../SPIRVUsage.rst:447 +#: ../../../SPIRVUsage.rst:451 msgid "" "Inserts an element into an aggregate type at a specified index. Allows for " "building and modifying arrays and vectors." msgstr "" -#: ../../../SPIRVUsage.rst:448 +#: ../../../SPIRVUsage.rst:452 msgid "`int_spv_const_composite`" msgstr "" -#: ../../../SPIRVUsage.rst:450 +#: ../../../SPIRVUsage.rst:454 msgid "`[Vararg]`" msgstr "" -#: ../../../SPIRVUsage.rst:451 +#: ../../../SPIRVUsage.rst:455 msgid "" "Constructs a composite type from given elements. Key for creating arrays, " "structs, and vectors from individual components." msgstr "" -#: ../../../SPIRVUsage.rst:452 +#: ../../../SPIRVUsage.rst:456 msgid "`int_spv_bitcast`" msgstr "" -#: ../../../SPIRVUsage.rst:455 +#: ../../../SPIRVUsage.rst:459 msgid "" "Performs a bit-wise cast between types. Critical for type conversions that " "do not change the bit representation." msgstr "" -#: ../../../SPIRVUsage.rst:456 +#: ../../../SPIRVUsage.rst:460 msgid "`int_spv_ptrcast`" msgstr "" -#: ../../../SPIRVUsage.rst:459 +#: ../../../SPIRVUsage.rst:463 msgid "" "Casts pointers between different types. Similar to `int_spv_bitcast` but " "specifically for pointers, taking into account SPIR-V's strict type system." msgstr "" -#: ../../../SPIRVUsage.rst:460 +#: ../../../SPIRVUsage.rst:464 msgid "`int_spv_switch`" msgstr "" -#: ../../../SPIRVUsage.rst:463 +#: ../../../SPIRVUsage.rst:467 msgid "" "Implements a multi-way branch based on a value. Enables complex control flow " "structures, similar to the switch statement in high-level languages." msgstr "" -#: ../../../SPIRVUsage.rst:464 +#: ../../../SPIRVUsage.rst:468 msgid "`int_spv_cmpxchg`" msgstr "" -#: ../../../SPIRVUsage.rst:467 +#: ../../../SPIRVUsage.rst:471 msgid "" "Performs an atomic compare-and-exchange operation. Crucial for " "synchronization and concurrency control in compute shaders." msgstr "" -#: ../../../SPIRVUsage.rst:468 +#: ../../../SPIRVUsage.rst:472 msgid "`int_spv_unreachable`" msgstr "" -#: ../../../SPIRVUsage.rst:470 ../../../SPIRVUsage.rst:474 -#: ../../../SPIRVUsage.rst:482 +#: ../../../SPIRVUsage.rst:474 ../../../SPIRVUsage.rst:478 +#: ../../../SPIRVUsage.rst:486 msgid "`[]`" msgstr "" -#: ../../../SPIRVUsage.rst:471 +#: ../../../SPIRVUsage.rst:475 msgid "" "Marks a point in the code that should never be reached, enabling " "optimizations by indicating unreachable code paths." msgstr "" -#: ../../../SPIRVUsage.rst:472 +#: ../../../SPIRVUsage.rst:476 msgid "`int_spv_alloca`" msgstr "" -#: ../../../SPIRVUsage.rst:475 +#: ../../../SPIRVUsage.rst:479 msgid "" "Allocates memory on the stack. Fundamental for local variable storage in " "functions." msgstr "" -#: ../../../SPIRVUsage.rst:476 +#: ../../../SPIRVUsage.rst:480 msgid "`int_spv_alloca_array`" msgstr "" -#: ../../../SPIRVUsage.rst:478 +#: ../../../SPIRVUsage.rst:482 msgid "`[Any Integer]`" msgstr "" -#: ../../../SPIRVUsage.rst:479 +#: ../../../SPIRVUsage.rst:483 msgid "" "Allocates an array on the stack. Extends `int_spv_alloca` to support array " "allocations, essential for temporary arrays." msgstr "" -#: ../../../SPIRVUsage.rst:480 +#: ../../../SPIRVUsage.rst:484 msgid "`int_spv_undef`" msgstr "" -#: ../../../SPIRVUsage.rst:483 +#: ../../../SPIRVUsage.rst:487 msgid "" "Generates an undefined value. Useful for optimizations and indicating " "uninitialized variables." msgstr "" -#: ../../../SPIRVUsage.rst:484 +#: ../../../SPIRVUsage.rst:488 msgid "`int_spv_inline_asm`" msgstr "" -#: ../../../SPIRVUsage.rst:486 +#: ../../../SPIRVUsage.rst:490 msgid "`[Metadata, Metadata, Vararg]`" msgstr "" -#: ../../../SPIRVUsage.rst:487 +#: ../../../SPIRVUsage.rst:491 msgid "" "Associates inline assembly features to inline assembly call instances by " "creating metadatas and preserving original arguments. Not emitted directly " "but used to support SPIR-V representation in LLVM IR." msgstr "" -#: ../../../SPIRVUsage.rst:488 +#: ../../../SPIRVUsage.rst:492 msgid "`int_spv_assume`" msgstr "" -#: ../../../SPIRVUsage.rst:490 +#: ../../../SPIRVUsage.rst:494 msgid "`[1-bit Integer]`" msgstr "" -#: ../../../SPIRVUsage.rst:491 +#: ../../../SPIRVUsage.rst:495 msgid "" "Provides hints to the optimizer about assumptions that can be made about " "program state. Improves optimization potential." msgstr "" -#: ../../../SPIRVUsage.rst:492 +#: ../../../SPIRVUsage.rst:496 msgid "`int_spv_expect`" msgstr "" -#: ../../../SPIRVUsage.rst:493 +#: ../../../SPIRVUsage.rst:497 msgid "Any Integer Type" msgstr "" -#: ../../../SPIRVUsage.rst:495 +#: ../../../SPIRVUsage.rst:499 msgid "" "Guides branch prediction by indicating expected branch paths. Enhances " "performance by optimizing common code paths." msgstr "" -#: ../../../SPIRVUsage.rst:496 +#: ../../../SPIRVUsage.rst:500 msgid "`int_spv_thread_id`" msgstr "" -#: ../../../SPIRVUsage.rst:498 ../../../SPIRVUsage.rst:502 +#: ../../../SPIRVUsage.rst:502 ../../../SPIRVUsage.rst:506 msgid "`[32-bit Integer]`" msgstr "" -#: ../../../SPIRVUsage.rst:499 +#: ../../../SPIRVUsage.rst:503 msgid "" "Retrieves the thread ID within a workgroup. Essential for identifying " "execution context in parallel compute operations." msgstr "" -#: ../../../SPIRVUsage.rst:500 +#: ../../../SPIRVUsage.rst:504 msgid "`int_spv_flattened_thread_id_in_group`" msgstr "" -#: ../../../SPIRVUsage.rst:503 +#: ../../../SPIRVUsage.rst:507 msgid "" "Provides a flattened index for a given thread within a given group " "(SV_GroupIndex)" msgstr "" -#: ../../../SPIRVUsage.rst:504 +#: ../../../SPIRVUsage.rst:508 msgid "`int_spv_create_handle`" msgstr "" -#: ../../../SPIRVUsage.rst:506 +#: ../../../SPIRVUsage.rst:510 msgid "`[8-bit Integer]`" msgstr "" -#: ../../../SPIRVUsage.rst:507 +#: ../../../SPIRVUsage.rst:511 msgid "" "Creates a resource handle for graphics or compute resources. Facilitates the " "management and use of resources in shaders." msgstr "" -#: ../../../SPIRVUsage.rst:508 +#: ../../../SPIRVUsage.rst:512 msgid "`int_spv_resource_handlefrombinding`" msgstr "" -#: ../../../SPIRVUsage.rst:509 +#: ../../../SPIRVUsage.rst:513 msgid "spirv.Image" msgstr "" -#: ../../../SPIRVUsage.rst:510 +#: ../../../SPIRVUsage.rst:514 msgid "" "`[32-bit Integer set, 32-bit Integer binding, 32-bit Integer arraySize, 32-" "bit Integer index, bool isUniformIndex]`" msgstr "" -#: ../../../SPIRVUsage.rst:511 +#: ../../../SPIRVUsage.rst:515 msgid "" "Returns the handle for the resource at the given set and binding.\\ If " "`arraySize > 1`, then the binding represents an array of resources\\ of the " @@ -1641,19 +1663,19 @@ msgid "" "to true." msgstr "" -#: ../../../SPIRVUsage.rst:515 +#: ../../../SPIRVUsage.rst:519 msgid "`int_spv_typeBufferLoad`" msgstr "" -#: ../../../SPIRVUsage.rst:516 +#: ../../../SPIRVUsage.rst:520 msgid "Scalar or vector" msgstr "" -#: ../../../SPIRVUsage.rst:517 +#: ../../../SPIRVUsage.rst:521 msgid "`[spirv.Image ImageBuffer, 32-bit Integer coordinate]`" msgstr "" -#: ../../../SPIRVUsage.rst:518 +#: ../../../SPIRVUsage.rst:522 msgid "" "Loads a value from a Vulkan image buffer at the given coordinate. The \\ " "image buffer data is assumed to be stored as a 4-element vector. If the \\ " @@ -1662,39 +1684,39 @@ msgid "" "elements of the 4-element vector are returned." msgstr "" -#: ../../../SPIRVUsage.rst:523 +#: ../../../SPIRVUsage.rst:527 msgid "`int_spv_resource_store_typedbuffer`" msgstr "" -#: ../../../SPIRVUsage.rst:524 +#: ../../../SPIRVUsage.rst:528 msgid "void" msgstr "" -#: ../../../SPIRVUsage.rst:525 +#: ../../../SPIRVUsage.rst:529 msgid "`[spirv.Image Image, 32-bit Integer coordinate, vec4 data]`" msgstr "" -#: ../../../SPIRVUsage.rst:526 +#: ../../../SPIRVUsage.rst:530 msgid "" "Stores the data to the image buffer at the given coordinate. The \\ data " "must be a 4-element vector." msgstr "" -#: ../../../SPIRVUsage.rst:532 +#: ../../../SPIRVUsage.rst:536 msgid "Builtin Functions" msgstr "" -#: ../../../SPIRVUsage.rst:534 +#: ../../../SPIRVUsage.rst:538 msgid "" "The following section highlights the representation of SPIR-V builtins in " "LLVM IR, emphasizing builtins that do not have direct counterparts in LLVM." msgstr "" -#: ../../../SPIRVUsage.rst:538 +#: ../../../SPIRVUsage.rst:542 msgid "Instructions as Function Calls" msgstr "" -#: ../../../SPIRVUsage.rst:540 +#: ../../../SPIRVUsage.rst:544 msgid "" "SPIR-V builtins without direct LLVM counterparts are represented as LLVM " "function calls. These functions, termed SPIR-V builtin functions, follow an " @@ -1703,7 +1725,7 @@ msgid "" "The general format is:" msgstr "" -#: ../../../SPIRVUsage.rst:549 +#: ../../../SPIRVUsage.rst:553 msgid "" "Where `{OpCodeName}` is the SPIR-V opcode name sans the \"Op\" prefix, and " "`{OptionalPostfixes}` are decoration-specific postfixes, if any. The " @@ -1711,11 +1733,11 @@ msgid "" "instruction set within LLVM's framework." msgstr "" -#: ../../../SPIRVUsage.rst:555 +#: ../../../SPIRVUsage.rst:559 msgid "Extended Instruction Sets" msgstr "" -#: ../../../SPIRVUsage.rst:557 +#: ../../../SPIRVUsage.rst:561 msgid "" "SPIR-V defines several extended instruction sets for additional " "functionalities, such as OpenCL-specific operations. In LLVM IR, these are " @@ -1723,34 +1745,34 @@ msgid "" "environment. For example:" msgstr "" -#: ../../../SPIRVUsage.rst:565 +#: ../../../SPIRVUsage.rst:569 msgid "" "represents the `acos` function from the OpenCL extended instruction set for " "a float32 input." msgstr "" -#: ../../../SPIRVUsage.rst:569 +#: ../../../SPIRVUsage.rst:573 msgid "Builtin Variables" msgstr "" -#: ../../../SPIRVUsage.rst:571 +#: ../../../SPIRVUsage.rst:575 msgid "" "SPIR-V builtin variables, which provide access to special hardware or " "execution model properties, are mapped to either LLVM function calls or LLVM " "global variables. The representation follows the naming convention:" msgstr "" -#: ../../../SPIRVUsage.rst:579 +#: ../../../SPIRVUsage.rst:583 msgid "" "For instance, the SPIR-V builtin `GlobalInvocationId` is accessible in LLVM " "IR as `__spirv_BuiltInGlobalInvocationId`." msgstr "" -#: ../../../SPIRVUsage.rst:583 +#: ../../../SPIRVUsage.rst:587 msgid "Vector Load and Store Builtins" msgstr "" -#: ../../../SPIRVUsage.rst:585 +#: ../../../SPIRVUsage.rst:589 msgid "" "SPIR-V's capabilities for loading and storing vectors are represented in " "LLVM IR using functions that mimic the SPIR-V instructions. These builtins " @@ -1758,11 +1780,11 @@ msgid "" "enabling fine-grained control over memory operations." msgstr "" -#: ../../../SPIRVUsage.rst:591 +#: ../../../SPIRVUsage.rst:595 msgid "Atomic Operations" msgstr "" -#: ../../../SPIRVUsage.rst:593 +#: ../../../SPIRVUsage.rst:597 msgid "" "SPIR-V's atomic operations, especially those operating on floating-point " "data, are represented in LLVM IR with corresponding function calls. These " @@ -1770,11 +1792,11 @@ msgid "" "support, essential for parallel execution and synchronization." msgstr "" -#: ../../../SPIRVUsage.rst:599 +#: ../../../SPIRVUsage.rst:603 msgid "Image Operations" msgstr "" -#: ../../../SPIRVUsage.rst:601 +#: ../../../SPIRVUsage.rst:605 msgid "" "SPIR-V provides extensive support for image and sampler operations, which " "LLVM represents through function calls to builtins. These include image " @@ -1782,11 +1804,11 @@ msgid "" "parameters." msgstr "" -#: ../../../SPIRVUsage.rst:606 +#: ../../../SPIRVUsage.rst:610 msgid "Group and Subgroup Operations" msgstr "" -#: ../../../SPIRVUsage.rst:608 +#: ../../../SPIRVUsage.rst:612 msgid "" "For workgroup and subgroup operations, LLVM uses function calls to represent " "SPIR-V's group-based instructions. These builtins facilitate group " @@ -1794,11 +1816,11 @@ msgid "" "efficient parallel computation." msgstr "" -#: ../../../SPIRVUsage.rst:613 +#: ../../../SPIRVUsage.rst:617 msgid "SPIR-V Instructions Mapped to LLVM Metadata" msgstr "" -#: ../../../SPIRVUsage.rst:614 +#: ../../../SPIRVUsage.rst:618 msgid "" "Some SPIR-V instructions don't have a direct equivalent in the LLVM IR " "language. To address this, the SPIR-V Target uses different specific LLVM " @@ -1808,20 +1830,20 @@ msgid "" "format:" msgstr "" -#: ../../../SPIRVUsage.rst:626 +#: ../../../SPIRVUsage.rst:630 msgid "" "Below, you will find the mappings between SPIR-V instruction and their " "corresponding LLVM IR representations." msgstr "" -#: ../../../SPIRVUsage.rst:630 +#: ../../../SPIRVUsage.rst:634 msgid "SPIR-V instruction" msgstr "" -#: ../../../SPIRVUsage.rst:630 +#: ../../../SPIRVUsage.rst:634 msgid "LLVM IR" msgstr "" -#: ../../../SPIRVUsage.rst:632 +#: ../../../SPIRVUsage.rst:636 msgid "OpExecutionMode" msgstr "" diff --git a/main/locale/pot/LC_MESSAGES/SourceLevelDebugging.pot b/main/locale/pot/LC_MESSAGES/SourceLevelDebugging.pot index 0df0535570e..99fca1ad398 100644 --- a/main/locale/pot/LC_MESSAGES/SourceLevelDebugging.pot +++ b/main/locale/pot/LC_MESSAGES/SourceLevelDebugging.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: LLVM main\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-12-01 08:45+0000\n" +"POT-Creation-Date: 2026-03-09 08:48+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -21,8 +21,8 @@ msgstr "" msgid "Source Level Debugging with LLVM" msgstr "" -#: ../../../SourceLevelDebugging.rst:9 ../../../SourceLevelDebugging.rst:1550 -#: ../../../SourceLevelDebugging.rst:1763 +#: ../../../SourceLevelDebugging.rst:9 ../../../SourceLevelDebugging.rst:1536 +#: ../../../SourceLevelDebugging.rst:1749 msgid "Introduction" msgstr "" @@ -203,86 +203,71 @@ msgid "" "inlined away completely." msgstr "" -#: ../../../SourceLevelDebugging.rst:132 -msgid "" -"The :doc:`LLVM test-suite ` provides a framework to " -"test the optimizer's handling of debugging information. It can be run like " -"this:" -msgstr "" - -#: ../../../SourceLevelDebugging.rst:141 -msgid "" -"This will test impact of debugging information on optimization passes. If " -"debugging information influences optimization passes then it will be " -"reported as a failure. See :doc:`TestingGuide` for more information on LLVM " -"test infrastructure and how to run various tests." -msgstr "" - -#: ../../../SourceLevelDebugging.rst:149 +#: ../../../SourceLevelDebugging.rst:135 msgid "Variables and Variable Fragments" msgstr "" -#: ../../../SourceLevelDebugging.rst:151 +#: ../../../SourceLevelDebugging.rst:137 msgid "" "In this document \"variable\" refers generally to any source language object " "which can have a value, including at least:" msgstr "" -#: ../../../SourceLevelDebugging.rst:154 +#: ../../../SourceLevelDebugging.rst:140 msgid "Variables" msgstr "" -#: ../../../SourceLevelDebugging.rst:155 +#: ../../../SourceLevelDebugging.rst:141 msgid "Constants" msgstr "" -#: ../../../SourceLevelDebugging.rst:156 +#: ../../../SourceLevelDebugging.rst:142 msgid "Formal parameters" msgstr "" -#: ../../../SourceLevelDebugging.rst:160 +#: ../../../SourceLevelDebugging.rst:146 msgid "" "There is no special provision for \"true\" constants in LLVM today, and they " "are instead treated as local or global variables." msgstr "" -#: ../../../SourceLevelDebugging.rst:163 +#: ../../../SourceLevelDebugging.rst:149 msgid "" "A variable is represented by a :ref:`local variable ` or :" "ref:`global variable ` metadata node." msgstr "" -#: ../../../SourceLevelDebugging.rst:166 +#: ../../../SourceLevelDebugging.rst:152 msgid "" "A \"variable fragment\" (or just \"fragment\") is a contiguous span of bits " "of a variable." msgstr "" -#: ../../../SourceLevelDebugging.rst:169 +#: ../../../SourceLevelDebugging.rst:155 msgid "" "A :ref:`debug record ` which refers to a :ref:`diexpression` " "ending with a ``DW_OP_LLVM_fragment`` operation describes a fragment of the " "variable it refers to." msgstr "" -#: ../../../SourceLevelDebugging.rst:173 +#: ../../../SourceLevelDebugging.rst:159 msgid "" "The operands of the ``DW_OP_LLVM_fragment`` operation encode the bit offset " "of the fragment relative to the start of the variable, and the size of the " "fragment in bits, respectively." msgstr "" -#: ../../../SourceLevelDebugging.rst:179 +#: ../../../SourceLevelDebugging.rst:165 msgid "" "The ``DW_OP_LLVM_fragment`` operation acts only to encode the fragment " "information, and does not have an effect on the semantics of the expression." msgstr "" -#: ../../../SourceLevelDebugging.rst:185 ../../../SourceLevelDebugging.rst:1544 +#: ../../../SourceLevelDebugging.rst:171 ../../../SourceLevelDebugging.rst:1530 msgid "Debugging information format" msgstr "" -#: ../../../SourceLevelDebugging.rst:187 +#: ../../../SourceLevelDebugging.rst:173 msgid "" "LLVM debugging information has been carefully designed to make it possible " "for the optimizer to optimize the program and debugging information without " @@ -293,14 +278,14 @@ msgid "" "function." msgstr "" -#: ../../../SourceLevelDebugging.rst:194 +#: ../../../SourceLevelDebugging.rst:180 msgid "" "To do this, most of the debugging information (descriptors for types, " "variables, functions, source files, etc) is inserted by the language front-" "end in the form of LLVM metadata." msgstr "" -#: ../../../SourceLevelDebugging.rst:198 +#: ../../../SourceLevelDebugging.rst:184 msgid "" "Debug information is designed to be agnostic about the target debugger and " "debugging information representation (e.g. DWARF/Stabs/etc). It uses a " @@ -310,7 +295,7 @@ msgid "" "for the target debugger to interpret the information." msgstr "" -#: ../../../SourceLevelDebugging.rst:205 +#: ../../../SourceLevelDebugging.rst:191 msgid "" "To provide basic functionality, the LLVM debugger does have to make some " "assumptions about the source-level language being debugged, though it keeps " @@ -320,20 +305,20 @@ msgid "" "stack traces, show information about local variables, etc." msgstr "" -#: ../../../SourceLevelDebugging.rst:212 +#: ../../../SourceLevelDebugging.rst:198 msgid "" "This section of the documentation first describes the representation aspects " "common to any source-language. :ref:`ccxx_frontend` describes the data " "layout conventions used by the C and C++ front-ends." msgstr "" -#: ../../../SourceLevelDebugging.rst:216 +#: ../../../SourceLevelDebugging.rst:202 msgid "" "Debug information descriptors are :ref:`specialized metadata nodes " "`, first-class subclasses of ``Metadata``." msgstr "" -#: ../../../SourceLevelDebugging.rst:219 +#: ../../../SourceLevelDebugging.rst:205 msgid "" "There are two models for defining the values of source variables at " "different states of the program and tracking these values through " @@ -346,11 +331,11 @@ msgid "" "records, see the `RemoveDIs `_ document." msgstr "" -#: ../../../SourceLevelDebugging.rst:232 +#: ../../../SourceLevelDebugging.rst:218 msgid "Debug Records" msgstr "" -#: ../../../SourceLevelDebugging.rst:234 +#: ../../../SourceLevelDebugging.rst:220 msgid "" "Debug records define the value that a source variable has during execution " "of the program; they appear interleaved with instructions, although they are " @@ -358,24 +343,24 @@ msgid "" "compiler." msgstr "" -#: ../../../SourceLevelDebugging.rst:239 +#: ../../../SourceLevelDebugging.rst:225 msgid "" "LLVM uses several types of debug records to define source variables. The " "common syntax for these records is:" msgstr "" -#: ../../../SourceLevelDebugging.rst:248 +#: ../../../SourceLevelDebugging.rst:234 msgid "" "Debug records are always printed with an extra level of indentation compared " "to instructions, and always have the prefix `#dbg_` and a list of comma-" "separated arguments in parentheses, as with a `call`." msgstr "" -#: ../../../SourceLevelDebugging.rst:253 +#: ../../../SourceLevelDebugging.rst:239 msgid "``#dbg_declare``" msgstr "" -#: ../../../SourceLevelDebugging.rst:259 +#: ../../../SourceLevelDebugging.rst:245 msgid "" "This record provides information about a local element (e.g., variable). The " "first argument is an SSA ``ptr`` value corresponding to a variable address, " @@ -387,7 +372,7 @@ msgid "" "variable." msgstr "" -#: ../../../SourceLevelDebugging.rst:282 +#: ../../../SourceLevelDebugging.rst:268 msgid "" "A frontend should generate exactly one ``#dbg_declare`` record at the point " "of declaration of a source variable. Optimization passes that fully promote " @@ -400,11 +385,11 @@ msgid "" "concrete source variable must agree on the memory location." msgstr "" -#: ../../../SourceLevelDebugging.rst:294 +#: ../../../SourceLevelDebugging.rst:280 msgid "``#dbg_value``" msgstr "" -#: ../../../SourceLevelDebugging.rst:300 +#: ../../../SourceLevelDebugging.rst:286 msgid "" "This record provides information when a user source variable is set to a new " "value. The first argument is the new value. The second argument is a :ref:" @@ -413,7 +398,7 @@ msgid "" "The fourth argument is a :ref:`source location `." msgstr "" -#: ../../../SourceLevelDebugging.rst:306 +#: ../../../SourceLevelDebugging.rst:292 msgid "" "A ``#dbg_value`` record describes the *value* of a source variable directly, " "not its address. Note that the value operand of this intrinsic may be " @@ -421,11 +406,11 @@ msgid "" "the complex expression derives the direct value." msgstr "" -#: ../../../SourceLevelDebugging.rst:313 +#: ../../../SourceLevelDebugging.rst:299 msgid "``#dbg_declare_value``" msgstr "" -#: ../../../SourceLevelDebugging.rst:319 +#: ../../../SourceLevelDebugging.rst:305 msgid "" "This record provides information about a local element (e.g., variable). The " "first argument is used to compute the value of the variable throughout the " @@ -441,18 +426,18 @@ msgid "" "the address of a value." msgstr "" -#: ../../../SourceLevelDebugging.rst:334 +#: ../../../SourceLevelDebugging.rst:320 msgid "``#dbg_assign``" msgstr "" -#: ../../../SourceLevelDebugging.rst:350 +#: ../../../SourceLevelDebugging.rst:336 msgid "" "This record marks the position in IR where a source assignment occurred. It " "encodes the value of the variable. It references the store, if any, that " "performs the assignment, and the destination address." msgstr "" -#: ../../../SourceLevelDebugging.rst:354 +#: ../../../SourceLevelDebugging.rst:340 msgid "" "The first three arguments are the same as for a ``#dbg_value``. The fourth " "argument is a ``DIAssignID`` used to reference a store. The fifth is the " @@ -461,22 +446,22 @@ msgid "" "`." msgstr "" -#: ../../../SourceLevelDebugging.rst:360 +#: ../../../SourceLevelDebugging.rst:346 msgid "See :doc:`AssignmentTracking` for more info." msgstr "" -#: ../../../SourceLevelDebugging.rst:363 +#: ../../../SourceLevelDebugging.rst:349 msgid "Debugger intrinsic functions" msgstr "" -#: ../../../SourceLevelDebugging.rst:367 +#: ../../../SourceLevelDebugging.rst:353 msgid "" "These intrinsics are deprecated, please use :ref:`debug records " "` instead. For more details see `RemoveDIs " "`_." msgstr "" -#: ../../../SourceLevelDebugging.rst:373 +#: ../../../SourceLevelDebugging.rst:359 msgid "" "In intrinsic-mode, LLVM uses several intrinsic functions (name prefixed with " "\"``llvm.dbg``\") to track source local variables through optimization and " @@ -488,39 +473,39 @@ msgid "" "argument list with the prefix ``!dbg``." msgstr "" -#: ../../../SourceLevelDebugging.rst:383 +#: ../../../SourceLevelDebugging.rst:369 msgid "``llvm.dbg.declare``" msgstr "" -#: ../../../SourceLevelDebugging.rst:389 +#: ../../../SourceLevelDebugging.rst:375 msgid "This intrinsic is equivalent to ``#dbg_declare``:" msgstr "" -#: ../../../SourceLevelDebugging.rst:398 +#: ../../../SourceLevelDebugging.rst:384 msgid "``llvm.dbg.value``" msgstr "" -#: ../../../SourceLevelDebugging.rst:404 +#: ../../../SourceLevelDebugging.rst:390 msgid "This intrinsic is equivalent to ``#dbg_value``:" msgstr "" -#: ../../../SourceLevelDebugging.rst:413 +#: ../../../SourceLevelDebugging.rst:399 msgid "``llvm.dbg.assign``" msgstr "" -#: ../../../SourceLevelDebugging.rst:419 +#: ../../../SourceLevelDebugging.rst:405 msgid "This intrinsic is equivalent to ``#dbg_assign``:" msgstr "" -#: ../../../SourceLevelDebugging.rst:432 +#: ../../../SourceLevelDebugging.rst:418 msgid "DIExpression" msgstr "" -#: ../../../SourceLevelDebugging.rst:434 +#: ../../../SourceLevelDebugging.rst:420 msgid "Debug expressions are represented as :ref:`specialized-metadata`." msgstr "" -#: ../../../SourceLevelDebugging.rst:436 +#: ../../../SourceLevelDebugging.rst:422 msgid "" "Debug expressions are interpreted left-to-right: start by pushing the value/" "address operand of the record onto a stack, then repeatedly push and " @@ -528,13 +513,13 @@ msgid "" "description is produced." msgstr "" -#: ../../../SourceLevelDebugging.rst:441 +#: ../../../SourceLevelDebugging.rst:427 msgid "" "The opcodes available in these expressions are described in :ref:`dwarf-" "opcodes` and :ref:`internal-opcodes`." msgstr "" -#: ../../../SourceLevelDebugging.rst:444 +#: ../../../SourceLevelDebugging.rst:430 msgid "" "DWARF specifies three kinds of simple location descriptions: register, " "memory, and implicit location descriptions. Note that a location " @@ -546,7 +531,7 @@ msgid "" "might not exist in registers or in memory (see ``DW_OP_stack_value``)." msgstr "" -#: ../../../SourceLevelDebugging.rst:453 +#: ../../../SourceLevelDebugging.rst:439 msgid "" "A ``#dbg_declare`` record describes an indirect value (the address) of a " "source variable. The first operand of the record must be an address of some " @@ -554,7 +539,7 @@ msgid "" "produce a concrete location for the source variable." msgstr "" -#: ../../../SourceLevelDebugging.rst:458 +#: ../../../SourceLevelDebugging.rst:444 msgid "" "A ``#dbg_value`` record describes the direct value of a source variable. The " "first operand of the record may be a direct or indirect value. A " @@ -564,55 +549,55 @@ msgid "" "order to produce a valid debug record." msgstr "" -#: ../../../SourceLevelDebugging.rst:467 +#: ../../../SourceLevelDebugging.rst:453 msgid "" "A ``DIExpression`` is interpreted in the same way regardless of which kind " "of debug record it's attached to." msgstr "" -#: ../../../SourceLevelDebugging.rst:470 +#: ../../../SourceLevelDebugging.rst:456 msgid "" "``DIExpression``\\s are always printed and parsed inline; they can never be " "referenced by an ID (e.g. ``!1``)." msgstr "" -#: ../../../SourceLevelDebugging.rst:476 +#: ../../../SourceLevelDebugging.rst:462 msgid "DWARF Opcodes" msgstr "" -#: ../../../SourceLevelDebugging.rst:478 +#: ../../../SourceLevelDebugging.rst:464 msgid "" "When possible LLVM reuses DWARF opcodes and gives them identical semantics " "in LLVM expressions as in DWARF expressions. The current supported opcode " "vocabulary is limited, but includes at least:" msgstr "" -#: ../../../SourceLevelDebugging.rst:482 +#: ../../../SourceLevelDebugging.rst:468 msgid "``DW_OP_deref`` dereferences the top of the expression stack." msgstr "" -#: ../../../SourceLevelDebugging.rst:483 +#: ../../../SourceLevelDebugging.rst:469 msgid "" "``DW_OP_plus`` pops the last two entries from the expression stack, adds " "them together and pushes the result to the expression stack." msgstr "" -#: ../../../SourceLevelDebugging.rst:485 +#: ../../../SourceLevelDebugging.rst:471 msgid "" "``DW_OP_minus`` pops the last two entries from the expression stack, " "subtracts the last entry from the second last entry and appends the result " "to the expression stack." msgstr "" -#: ../../../SourceLevelDebugging.rst:488 +#: ../../../SourceLevelDebugging.rst:474 msgid "``DW_OP_plus_uconst, 93`` adds ``93`` to the value on top of the stack." msgstr "" -#: ../../../SourceLevelDebugging.rst:489 +#: ../../../SourceLevelDebugging.rst:475 msgid "``DW_OP_swap`` swaps top two stack entries." msgstr "" -#: ../../../SourceLevelDebugging.rst:490 +#: ../../../SourceLevelDebugging.rst:476 msgid "" "``DW_OP_xderef`` provides extended dereference mechanism. The entry at the " "top of the stack is treated as an address. The second stack entry is treated " @@ -620,7 +605,7 @@ msgid "" "implementation defined value is pushed on the stack." msgstr "" -#: ../../../SourceLevelDebugging.rst:494 +#: ../../../SourceLevelDebugging.rst:480 msgid "" "``DW_OP_stack_value`` may appear at most once in an expression, and must be " "the last opcode if ``DW_OP_LLVM_fragment`` is not present, or the second " @@ -628,7 +613,7 @@ msgid "" "the expression stack and makes an implicit value location with that value." msgstr "" -#: ../../../SourceLevelDebugging.rst:498 +#: ../../../SourceLevelDebugging.rst:484 msgid "" "``DW_OP_breg`` (or ``DW_OP_bregx``) represents a content on the provided " "signed offset of the specified register. The opcode is only generated by the " @@ -636,7 +621,7 @@ msgid "" "expression over two registers." msgstr "" -#: ../../../SourceLevelDebugging.rst:502 +#: ../../../SourceLevelDebugging.rst:488 msgid "" "``DW_OP_push_object_address`` pushes the address of the object which can " "then serve as a descriptor in subsequent calculation. This opcode can be " @@ -644,7 +629,7 @@ msgid "" "descriptors." msgstr "" -#: ../../../SourceLevelDebugging.rst:505 +#: ../../../SourceLevelDebugging.rst:491 msgid "" "``DW_OP_over`` duplicates the entry currently second in the stack at the top " "of the stack. This opcode can be used to calculate bounds of a Fortran " @@ -652,23 +637,23 @@ msgid "" "number is implicitly first element of the stack." msgstr "" -#: ../../../SourceLevelDebugging.rst:513 +#: ../../../SourceLevelDebugging.rst:499 msgid "Internal Opcodes" msgstr "" -#: ../../../SourceLevelDebugging.rst:515 +#: ../../../SourceLevelDebugging.rst:501 msgid "" "Where the DWARF equivalent is not suitable, or no DWARF equivalent exists, " "LLVM defines internal-only opcodes which have no direct analog in DWARF." msgstr "" -#: ../../../SourceLevelDebugging.rst:520 +#: ../../../SourceLevelDebugging.rst:506 msgid "" "Some opcodes do not influence the final DWARF expression directly, instead " "encoding information logically belonging to the debug records which use them." msgstr "" -#: ../../../SourceLevelDebugging.rst:524 +#: ../../../SourceLevelDebugging.rst:510 msgid "" "``DW_OP_LLVM_fragment, , `` may appear at most once in an " "expression, and must be the last opcode. It specifies the bit offset and bit " @@ -691,13 +676,13 @@ msgid "" "call frame." msgstr "" -#: ../../../SourceLevelDebugging.rst:544 +#: ../../../SourceLevelDebugging.rst:530 msgid "" "The sub-expression replaces the operations which comprise it, i.e. all such " "operations are evaluated only in the frame entry context." msgstr "" -#: ../../../SourceLevelDebugging.rst:547 +#: ../../../SourceLevelDebugging.rst:533 msgid "" "The sub-expression begins with the operation which immediately precedes " "``DW_OP_LLVM_entry_value, N`` in the ``DIExpression``. If no such operation " @@ -707,42 +692,42 @@ msgid "" "``1``, as this first operation cannot be omitted and is counted in ``N``." msgstr "" -#: ../../../SourceLevelDebugging.rst:554 +#: ../../../SourceLevelDebugging.rst:540 msgid "" "The rest of the sub-expression comprises the ``(N - 1)`` operations " "following ``DW_OP_LLVM_entry_value, N`` in the ``DIExpression``." msgstr "" -#: ../../../SourceLevelDebugging.rst:557 +#: ../../../SourceLevelDebugging.rst:543 msgid "Due to framework limitations:" msgstr "" -#: ../../../SourceLevelDebugging.rst:559 +#: ../../../SourceLevelDebugging.rst:545 msgid "" "``N`` must not be greater than ``1``. In other words, ``N`` must equal " "``1``, and the sub-expression comprises only the operation immediately " "preceding ``DW_OP_LLVM_entry_value, N``." msgstr "" -#: ../../../SourceLevelDebugging.rst:562 +#: ../../../SourceLevelDebugging.rst:548 msgid "" "``DW_OP_LLVM_entry_value, N`` must be either the first operation of a " "``DIExpression`` or the second operation if the expression begins with " "``DW_OP_LLVM_arg, 0``." msgstr "" -#: ../../../SourceLevelDebugging.rst:565 +#: ../../../SourceLevelDebugging.rst:551 msgid "The first operation must refer to a register value." msgstr "" -#: ../../../SourceLevelDebugging.rst:567 +#: ../../../SourceLevelDebugging.rst:553 msgid "" "Taken together, these limitations mean that ``DW_OP_LLVM_entry_value`` can " "only currently be used to push the value a single register had on entry to " "the current stack frame." msgstr "" -#: ../../../SourceLevelDebugging.rst:571 +#: ../../../SourceLevelDebugging.rst:557 msgid "" "For example, ``!DIExpression(DW_OP_LLVM_arg, 0, DW_OP_LLVM_entry_value, 1, " "DW_OP_LLVM_arg, 1, DW_OP_plus, DW_OP_stack_value)`` specifies an expression " @@ -751,7 +736,7 @@ msgid "" "value for an implicit value location." msgstr "" -#: ../../../SourceLevelDebugging.rst:577 +#: ../../../SourceLevelDebugging.rst:563 msgid "" "When targeting DWARF, a ``DBG_VALUE(reg, ..., " "DIExpression(DW_OP_LLVM_entry_value, 1, ...)`` is lowered to " @@ -759,14 +744,14 @@ msgid "" "frame entry onto the DWARF expression stack." msgstr "" -#: ../../../SourceLevelDebugging.rst:582 +#: ../../../SourceLevelDebugging.rst:568 msgid "" "Because ``DW_OP_LLVM_entry_value`` is currently limited to registers, it is " "usually used in MIR, but it is also allowed in LLVM IR when targeting a :ref:" "`swiftasync ` argument. The operation is introduced by:" msgstr "" -#: ../../../SourceLevelDebugging.rst:586 +#: ../../../SourceLevelDebugging.rst:572 msgid "" "``LiveDebugValues`` pass, which applies it to function parameters that are " "unmodified throughout the function. Support is limited to simple register " @@ -774,14 +759,14 @@ msgid "" "value to a callee via a pointer to a temporary copy made in the caller)." msgstr "" -#: ../../../SourceLevelDebugging.rst:591 +#: ../../../SourceLevelDebugging.rst:577 msgid "" "``AsmPrinter`` pass when a call site parameter value " "(``DW_AT_call_site_parameter_value``) is represented as entry value of the " "parameter." msgstr "" -#: ../../../SourceLevelDebugging.rst:594 +#: ../../../SourceLevelDebugging.rst:580 msgid "" "``CoroSplit`` pass, which may move variables from ``alloca``\\s into a " "coroutine frame. If the coroutine frame is a :ref:`swiftasync ` " @@ -789,7 +774,7 @@ msgid "" "operation." msgstr "" -#: ../../../SourceLevelDebugging.rst:599 +#: ../../../SourceLevelDebugging.rst:585 msgid "" "``DW_OP_LLVM_implicit_pointer`` It specifies the dereferenced value. It can " "be used to represent pointer variables which are optimized out but the value " @@ -799,11 +784,11 @@ msgid "" "multiple level." msgstr "" -#: ../../../SourceLevelDebugging.rst:605 +#: ../../../SourceLevelDebugging.rst:591 msgid "Examples using ``DW_OP_LLVM_implicit_pointer``:" msgstr "" -#: ../../../SourceLevelDebugging.rst:630 +#: ../../../SourceLevelDebugging.rst:616 msgid "" "``DW_OP_LLVM_arg, N`` is used in debug intrinsics that refer to more than " "one value, such as one that calculates the sum of two registers. This is " @@ -816,7 +801,7 @@ msgid "" "instruction." msgstr "" -#: ../../../SourceLevelDebugging.rst:639 +#: ../../../SourceLevelDebugging.rst:625 msgid "" "``DW_OP_LLVM_extract_bits_sext, 16, 8,`` specifies the offset and size " "(``16`` and ``8`` here, respectively) of bits that are to be extracted and " @@ -826,18 +811,18 @@ msgid "" "followed by ``DW_OP_shra``." msgstr "" -#: ../../../SourceLevelDebugging.rst:645 +#: ../../../SourceLevelDebugging.rst:631 msgid "" "``DW_OP_LLVM_extract_bits_zext`` behaves similarly to " "``DW_OP_LLVM_extract_bits_sext``, but zero-extends instead of sign-" "extending. Maps into a ``DW_OP_shl`` followed by ``DW_OP_shr``." msgstr "" -#: ../../../SourceLevelDebugging.rst:650 +#: ../../../SourceLevelDebugging.rst:636 msgid "Object lifetimes and scoping" msgstr "" -#: ../../../SourceLevelDebugging.rst:652 +#: ../../../SourceLevelDebugging.rst:638 msgid "" "In many languages, the local variables in functions can have their lifetimes " "or scopes limited to a subset of a function. In the C family of languages, " @@ -849,18 +834,18 @@ msgid "" "rules." msgstr "" -#: ../../../SourceLevelDebugging.rst:660 +#: ../../../SourceLevelDebugging.rst:646 msgid "" "In order to handle this, the LLVM debug format uses the metadata attached to " "LLVM instructions to encode line number and scoping information. Consider " "the following C fragment, for example:" msgstr "" -#: ../../../SourceLevelDebugging.rst:676 +#: ../../../SourceLevelDebugging.rst:662 msgid "Compiled to LLVM, this function would be represented like this:" msgstr "" -#: ../../../SourceLevelDebugging.rst:732 +#: ../../../SourceLevelDebugging.rst:718 msgid "" "This example illustrates a few important details about LLVM debugging " "information. In particular, it shows how the ``#dbg_declare`` record and " @@ -869,14 +854,14 @@ msgid "" "variable definitions, and the code used to implement the function." msgstr "" -#: ../../../SourceLevelDebugging.rst:743 +#: ../../../SourceLevelDebugging.rst:729 msgid "" "The first record ``#dbg_declare`` encodes debugging information for the " "variable ``X``. The location ``!13`` at the end of the record provides " "scope information for the variable ``X``." msgstr "" -#: ../../../SourceLevelDebugging.rst:754 +#: ../../../SourceLevelDebugging.rst:740 msgid "" "Here ``!13`` is metadata providing :ref:`location information `. " "In this example, scope is encoded by ``!4``, a :ref:`subprogram descriptor " @@ -885,35 +870,35 @@ msgid "" "level scope in function ``foo``." msgstr "" -#: ../../../SourceLevelDebugging.rst:760 +#: ../../../SourceLevelDebugging.rst:746 msgid "Now, let's take another example." msgstr "" -#: ../../../SourceLevelDebugging.rst:767 +#: ../../../SourceLevelDebugging.rst:753 msgid "" "The third record ``#dbg_declare`` encodes debugging information for variable " "``Z``. The metadata ``!18`` at the end of the record provides scope " "information for the variable ``Z``." msgstr "" -#: ../../../SourceLevelDebugging.rst:776 +#: ../../../SourceLevelDebugging.rst:762 msgid "" "Here ``!18`` indicates that ``Z`` is declared at line number 5 and column " "number 11 inside of lexical scope ``!17``. The lexical scope itself resides " "inside of subprogram ``!4`` described above." msgstr "" -#: ../../../SourceLevelDebugging.rst:780 +#: ../../../SourceLevelDebugging.rst:766 msgid "" "The scope information attached to each instruction provides a " "straightforward way to find instructions covered by a scope." msgstr "" -#: ../../../SourceLevelDebugging.rst:784 +#: ../../../SourceLevelDebugging.rst:770 msgid "Object lifetime in optimized code" msgstr "" -#: ../../../SourceLevelDebugging.rst:786 +#: ../../../SourceLevelDebugging.rst:772 msgid "" "In the example above, every variable assignment uniquely corresponds to a " "memory store to the variable's position on the stack. However, in heavily " @@ -924,13 +909,13 @@ msgid "" "variable's new location. Compared with the ``#dbg_declare`` record:" msgstr "" -#: ../../../SourceLevelDebugging.rst:794 +#: ../../../SourceLevelDebugging.rst:780 msgid "" "A ``#dbg_value`` terminates the effects that any preceding records have on " "any common bits of a common variable." msgstr "" -#: ../../../SourceLevelDebugging.rst:799 +#: ../../../SourceLevelDebugging.rst:785 msgid "" "The current implementation generally terminates the effect of every record " "in its entirety if any of its effects would be terminated, rather than " @@ -939,25 +924,25 @@ msgid "" "dropping any debug information at any point in the compilation is allowed." msgstr "" -#: ../../../SourceLevelDebugging.rst:806 +#: ../../../SourceLevelDebugging.rst:792 msgid "" "One exception to this is :doc:`AssignmentTracking` where certain memory-" "based locations are carried forward partially in some situations." msgstr "" -#: ../../../SourceLevelDebugging.rst:809 +#: ../../../SourceLevelDebugging.rst:795 msgid "" "The ``#dbg_value``'s position in the IR defines where in the instruction " "stream the variable's value changes." msgstr "" -#: ../../../SourceLevelDebugging.rst:811 +#: ../../../SourceLevelDebugging.rst:797 msgid "" "Operands can be constants, indicating the variable is assigned a constant " "value." msgstr "" -#: ../../../SourceLevelDebugging.rst:814 +#: ../../../SourceLevelDebugging.rst:800 msgid "" "Care must be taken to update ``#dbg_value`` records when optimization passes " "alter or move instructions and blocks -- the developer could observe such " @@ -970,7 +955,7 @@ msgid "" "undermining their trust in the debugger." msgstr "" -#: ../../../SourceLevelDebugging.rst:824 +#: ../../../SourceLevelDebugging.rst:810 msgid "" "Sometimes perfectly preserving variable locations is not possible, often " "when a redundant calculation is optimized out. In such cases, a " @@ -981,17 +966,17 @@ msgid "" "increases the reliability of the remaining information." msgstr "" -#: ../../../SourceLevelDebugging.rst:832 +#: ../../../SourceLevelDebugging.rst:818 msgid "To illustrate some potential issues, consider the following example:" msgstr "" -#: ../../../SourceLevelDebugging.rst:861 +#: ../../../SourceLevelDebugging.rst:847 msgid "" "Containing two source-level variables in ``!1`` and ``!3``. The function " "could, perhaps, be optimized into the following code:" msgstr "" -#: ../../../SourceLevelDebugging.rst:875 +#: ../../../SourceLevelDebugging.rst:861 msgid "" "What ``#dbg_value`` records should be placed to represent the original " "variable locations in this code? Unfortunately the second, third, and fourth " @@ -1000,7 +985,7 @@ msgid "" "them, we might consider this placement of ``#dbg_value``\\s:" msgstr "" -#: ../../../SourceLevelDebugging.rst:895 +#: ../../../SourceLevelDebugging.rst:881 msgid "" "However, this will cause ``!3`` to have the return value of ``@gazonk()`` at " "the same time as ``!1`` has the constant value zero -- a pair of assignments " @@ -1009,30 +994,30 @@ msgid "" "inserting an poison ``#dbg_value`` before the ``#dbg_value`` for ``!3``:" msgstr "" -#: ../../../SourceLevelDebugging.rst:916 +#: ../../../SourceLevelDebugging.rst:902 msgid "" "There are a few other ``#dbg_value`` configurations that mean it terminates " "dominating location definitions without adding a new location. The complete " "list is:" msgstr "" -#: ../../../SourceLevelDebugging.rst:920 +#: ../../../SourceLevelDebugging.rst:906 msgid "Any location operand is ``poison`` (or ``undef``)." msgstr "" -#: ../../../SourceLevelDebugging.rst:921 +#: ../../../SourceLevelDebugging.rst:907 msgid "" "Any location operand is an empty metadata tuple (``!{}``) (which cannot " "occur in a ``!DIArgList``)." msgstr "" -#: ../../../SourceLevelDebugging.rst:923 +#: ../../../SourceLevelDebugging.rst:909 msgid "" "There are no location operands (empty ``DIArgList``) and the " "``DIExpression`` is empty." msgstr "" -#: ../../../SourceLevelDebugging.rst:926 +#: ../../../SourceLevelDebugging.rst:912 msgid "" "This class of ``#dbg_value`` that kills variable locations is called a " "\"kill ``#dbg_value``\" or \"kill location\", and for legacy reasons the " @@ -1042,7 +1027,7 @@ msgid "" "directly to check or set whether a ``#dbg_value`` is a kill location." msgstr "" -#: ../../../SourceLevelDebugging.rst:933 +#: ../../../SourceLevelDebugging.rst:919 msgid "" "In general, if any ``#dbg_value`` has its operand optimized out and cannot " "be recovered, then a kill ``#dbg_value`` is necessary to terminate earlier " @@ -1050,11 +1035,11 @@ msgid "" "the debugger can observe re-ordering of assignments." msgstr "" -#: ../../../SourceLevelDebugging.rst:939 +#: ../../../SourceLevelDebugging.rst:925 msgid "How variable location metadata is transformed during CodeGen" msgstr "" -#: ../../../SourceLevelDebugging.rst:941 +#: ../../../SourceLevelDebugging.rst:927 msgid "" "LLVM preserves debug information throughout mid-level and backend passes, " "ultimately producing a mapping between source-level information and " @@ -1069,26 +1054,26 @@ msgid "" "location fidelity are:" msgstr "" -#: ../../../SourceLevelDebugging.rst:954 +#: ../../../SourceLevelDebugging.rst:940 msgid "Instruction Selection" msgstr "" -#: ../../../SourceLevelDebugging.rst:955 +#: ../../../SourceLevelDebugging.rst:941 msgid "Register allocation" msgstr "" -#: ../../../SourceLevelDebugging.rst:956 +#: ../../../SourceLevelDebugging.rst:942 msgid "Block layout" msgstr "" -#: ../../../SourceLevelDebugging.rst:958 +#: ../../../SourceLevelDebugging.rst:944 msgid "" "each of which is discussed below. In addition, instruction scheduling can " "significantly change the ordering of the program, and occurs in a number of " "different passes." msgstr "" -#: ../../../SourceLevelDebugging.rst:962 +#: ../../../SourceLevelDebugging.rst:948 msgid "" "Some variable locations are not transformed during CodeGen. Stack locations " "specified by ``#dbg_declare`` are valid and unchanging for the entire " @@ -1099,11 +1084,11 @@ msgid "" "describe, and should be stepped over by debuggers anyway." msgstr "" -#: ../../../SourceLevelDebugging.rst:971 +#: ../../../SourceLevelDebugging.rst:957 msgid "Variable locations in Instruction Selection and MIR" msgstr "" -#: ../../../SourceLevelDebugging.rst:973 +#: ../../../SourceLevelDebugging.rst:959 msgid "" "Instruction selection creates a MIR function from an IR function, and just " "as it transforms ``intermediate`` instructions into machine instructions, so " @@ -1124,30 +1109,30 @@ msgid "" "variable location becomes unavailable." msgstr "" -#: ../../../SourceLevelDebugging.rst:990 +#: ../../../SourceLevelDebugging.rst:976 msgid "" "Locations that are unavailable are treated as if they have been optimized " "out: in IR the location would be assigned ``undef`` by a debug record, and " "in MIR the equivalent location is used." msgstr "" -#: ../../../SourceLevelDebugging.rst:994 +#: ../../../SourceLevelDebugging.rst:980 msgid "" "After MIR locations are assigned to each variable, machine pseudo-" "instructions corresponding to each ``#dbg_value`` record are inserted. There " "are two forms of this type of instruction." msgstr "" -#: ../../../SourceLevelDebugging.rst:998 +#: ../../../SourceLevelDebugging.rst:984 msgid "The first form, ``DBG_VALUE``, appears thus:" msgstr "" -#: ../../../SourceLevelDebugging.rst:1014 -#: ../../../SourceLevelDebugging.rst:1029 +#: ../../../SourceLevelDebugging.rst:1000 +#: ../../../SourceLevelDebugging.rst:1015 msgid "And has the following operands:" msgstr "" -#: ../../../SourceLevelDebugging.rst:1005 +#: ../../../SourceLevelDebugging.rst:991 msgid "" "The first operand can record the variable location as a register, a frame " "index, an immediate, or the base address register if the original debug " @@ -1155,7 +1140,7 @@ msgid "" "undefined, equivalent to an ``undef #dbg_value`` operand." msgstr "" -#: ../../../SourceLevelDebugging.rst:1009 +#: ../../../SourceLevelDebugging.rst:995 msgid "" "The type of the second operand indicates whether the variable location is " "directly referred to by the ``DBG_VALUE``, or whether it is indirect. The " @@ -1163,28 +1148,28 @@ msgid "" "latter." msgstr "" -#: ../../../SourceLevelDebugging.rst:1013 +#: ../../../SourceLevelDebugging.rst:999 msgid "Operand 3 is the Variable field of the original debug record." msgstr "" -#: ../../../SourceLevelDebugging.rst:1014 +#: ../../../SourceLevelDebugging.rst:1000 msgid "Operand 4 is the Expression field of the original debug record." msgstr "" -#: ../../../SourceLevelDebugging.rst:1016 +#: ../../../SourceLevelDebugging.rst:1002 msgid "The second form, ``DBG_VALUE_LIST``, appears thus:" msgstr "" -#: ../../../SourceLevelDebugging.rst:1023 +#: ../../../SourceLevelDebugging.rst:1009 msgid "The first operand is the Variable field of the original debug record." msgstr "" -#: ../../../SourceLevelDebugging.rst:1024 +#: ../../../SourceLevelDebugging.rst:1010 msgid "" "The second operand is the Expression field of the original debug record." msgstr "" -#: ../../../SourceLevelDebugging.rst:1025 +#: ../../../SourceLevelDebugging.rst:1011 msgid "" "Any number of operands, from the 3rd onwards, record a sequence of variable " "location operands, which may take any of the same values as the first " @@ -1193,7 +1178,7 @@ msgid "" "by the ``DW_OP_LLVM_arg`` operator in the :ref:`diexpression`." msgstr "" -#: ../../../SourceLevelDebugging.rst:1031 +#: ../../../SourceLevelDebugging.rst:1017 msgid "" "The position at which the ``DBG_VALUE``\\s are inserted should correspond to " "the positions of their matching ``#dbg_value`` records in the IR block. As " @@ -1205,19 +1190,19 @@ msgid "" "available on function entry." msgstr "" -#: ../../../SourceLevelDebugging.rst:1039 +#: ../../../SourceLevelDebugging.rst:1025 msgid "" "To demonstrate variable locations during instruction selection, consider the " "following example:" msgstr "" -#: ../../../SourceLevelDebugging.rst:1068 +#: ../../../SourceLevelDebugging.rst:1054 msgid "" "If one compiles this IR with ``llc -o - -start-after=codegen-prepare -stop-" "after=expand-isel-pseudos -mtriple=x86_64--``, the following MIR is produced:" msgstr "" -#: ../../../SourceLevelDebugging.rst:1101 +#: ../../../SourceLevelDebugging.rst:1087 msgid "" "Observe first that there is a ``DBG_VALUE`` instruction for every " "``#dbg_value`` record in the source IR, ensuring no source level assignments " @@ -1225,42 +1210,42 @@ msgid "" "have been recorded:" msgstr "" -#: ../../../SourceLevelDebugging.rst:1105 +#: ../../../SourceLevelDebugging.rst:1091 msgid "" "For the first ``#dbg_value`` an immediate operand is used to record a zero " "value." msgstr "" -#: ../../../SourceLevelDebugging.rst:1106 +#: ../../../SourceLevelDebugging.rst:1092 msgid "" "The ``#dbg_value`` of the PHI instruction leads to a ``DBG_VALUE`` of " "virtual register ``%0``." msgstr "" -#: ../../../SourceLevelDebugging.rst:1108 +#: ../../../SourceLevelDebugging.rst:1094 msgid "" "The first GEP has its effect folded into the first load instruction (as a 4-" "byte offset), but the variable location is salvaged by folding the GEPs " "effect into the ``DIExpression``." msgstr "" -#: ../../../SourceLevelDebugging.rst:1111 +#: ../../../SourceLevelDebugging.rst:1097 msgid "" "The second GEP is also folded into the corresponding load. However, it is " "insufficiently simple to be salvaged, and is emitted as a ``$noreg`` " "``DBG_VALUE``, indicating that the variable takes on an undefined location." msgstr "" -#: ../../../SourceLevelDebugging.rst:1114 +#: ../../../SourceLevelDebugging.rst:1100 msgid "" "The final ``#dbg_value`` has its Value placed in virtual register ``%1``." msgstr "" -#: ../../../SourceLevelDebugging.rst:1117 +#: ../../../SourceLevelDebugging.rst:1103 msgid "Instruction Scheduling" msgstr "" -#: ../../../SourceLevelDebugging.rst:1119 +#: ../../../SourceLevelDebugging.rst:1105 msgid "" "A number of passes can reschedule instructions, notably instruction " "selection and the pre-and-post RA machine schedulers. Instruction scheduling " @@ -1274,12 +1259,12 @@ msgid "" "the duration of the delay. To illustrate, consider this pseudo-MIR:" msgstr "" -#: ../../../SourceLevelDebugging.rst:1139 +#: ../../../SourceLevelDebugging.rst:1125 msgid "" "Imagine that the ``SUB32rr`` were moved forward to give us the following MIR:" msgstr "" -#: ../../../SourceLevelDebugging.rst:1150 +#: ../../../SourceLevelDebugging.rst:1136 msgid "" "In this circumstance LLVM would leave the MIR as shown above. Were we to " "move the ``DBG_VALUE`` of virtual register %7 upwards with the ``SUB32rr``, " @@ -1289,12 +1274,12 @@ msgid "" "time. This is preferred over misrepresenting the original program." msgstr "" -#: ../../../SourceLevelDebugging.rst:1157 +#: ../../../SourceLevelDebugging.rst:1143 msgid "" "In comparison, if one sunk the ``MOV32rm``, LLVM would produce the following:" msgstr "" -#: ../../../SourceLevelDebugging.rst:1169 +#: ../../../SourceLevelDebugging.rst:1155 msgid "" "Here, to avoid presenting a state in which the first assignment to ``!1`` " "disappears, the ``DBG_VALUE`` at the top of the block assigns the variable " @@ -1306,11 +1291,11 @@ msgid "" "available during the corresponding portion of the original program." msgstr "" -#: ../../../SourceLevelDebugging.rst:1179 +#: ../../../SourceLevelDebugging.rst:1165 msgid "Variable locations during Register Allocation" msgstr "" -#: ../../../SourceLevelDebugging.rst:1181 +#: ../../../SourceLevelDebugging.rst:1167 msgid "" "To avoid debug instructions interfering with the register allocator, the " "``LiveDebugVariables`` pass extracts variable locations from a MIR function " @@ -1325,26 +1310,26 @@ msgid "" "be subsequently removed by the ``RemoveRedundantDebugValues`` pass." msgstr "" -#: ../../../SourceLevelDebugging.rst:1194 +#: ../../../SourceLevelDebugging.rst:1180 msgid "``LiveDebugValues`` expansion of variable locations" msgstr "" -#: ../../../SourceLevelDebugging.rst:1196 +#: ../../../SourceLevelDebugging.rst:1182 msgid "" "After all optimizations have run and shortly before emission, the " "``LiveDebugValue``\\s pass runs to achieve two aims:" msgstr "" -#: ../../../SourceLevelDebugging.rst:1199 +#: ../../../SourceLevelDebugging.rst:1185 msgid "" "To propagate the location of variables through copies and register spills," msgstr "" -#: ../../../SourceLevelDebugging.rst:1200 +#: ../../../SourceLevelDebugging.rst:1186 msgid "For every block, to record every valid variable location in that block." msgstr "" -#: ../../../SourceLevelDebugging.rst:1202 +#: ../../../SourceLevelDebugging.rst:1188 msgid "" "After this pass the ``DBG_VALUE`` instruction changes meaning: rather than " "corresponding to a source-level assignment where the variable may change " @@ -1355,21 +1340,21 @@ msgid "" "presents several difficulties:" msgstr "" -#: ../../../SourceLevelDebugging.rst:1236 +#: ../../../SourceLevelDebugging.rst:1222 msgid "Here the difficulties are:" msgstr "" -#: ../../../SourceLevelDebugging.rst:1238 +#: ../../../SourceLevelDebugging.rst:1224 msgid "The control flow is roughly the opposite of basic block order" msgstr "" -#: ../../../SourceLevelDebugging.rst:1239 +#: ../../../SourceLevelDebugging.rst:1225 msgid "" "The value of the ``!23`` variable merges into ``%bb1``, but there is no PHI " "node" msgstr "" -#: ../../../SourceLevelDebugging.rst:1242 +#: ../../../SourceLevelDebugging.rst:1228 msgid "" "As mentioned above, the ``#dbg_value`` records essentially form an " "imperative program embedded in the IR, with each record defining a variable " @@ -1381,7 +1366,7 @@ msgid "" "debugging records being generated." msgstr "" -#: ../../../SourceLevelDebugging.rst:1251 +#: ../../../SourceLevelDebugging.rst:1237 msgid "" "Examining the example above, variable ``!30`` is assigned ``%input`` on both " "conditional paths through the function, while ``!23`` is assigned differing " @@ -1394,7 +1379,7 @@ msgid "" "records." msgstr "" -#: ../../../SourceLevelDebugging.rst:1260 +#: ../../../SourceLevelDebugging.rst:1246 msgid "" "Instead, ``LiveDebugValue``\\s determines variable locations when control " "flow merges. A dataflow analysis is used to propagate locations between " @@ -1403,7 +1388,7 @@ msgid "" "predecessor locations disagree, the location becomes undefined." msgstr "" -#: ../../../SourceLevelDebugging.rst:1266 +#: ../../../SourceLevelDebugging.rst:1252 msgid "" "Once ``LiveDebugValue``\\s has run, every block should have all valid " "variable locations described by ``DBG_VALUE`` instructions within the block. " @@ -1416,11 +1401,11 @@ msgid "" "block." msgstr "" -#: ../../../SourceLevelDebugging.rst:1278 +#: ../../../SourceLevelDebugging.rst:1264 msgid "C/C++ front-end specific debug information" msgstr "" -#: ../../../SourceLevelDebugging.rst:1280 +#: ../../../SourceLevelDebugging.rst:1266 msgid "" "The C and C++ front-ends represent information about the program in a format " "that is effectively identical to `DWARF `_ in " @@ -1429,7 +1414,7 @@ msgid "" "contains enough information for non-dwarf targets to translate it as needed." msgstr "" -#: ../../../SourceLevelDebugging.rst:1287 +#: ../../../SourceLevelDebugging.rst:1273 msgid "" "This section describes the forms used to represent C and C++ programs. " "Other languages could pattern themselves after this (which itself is tuned " @@ -1440,7 +1425,7 @@ msgid "" "here." msgstr "" -#: ../../../SourceLevelDebugging.rst:1294 +#: ../../../SourceLevelDebugging.rst:1280 msgid "" "The following sections provide examples of a few C/C++ constructs and the " "debug information that would best describe those constructs. The canonical " @@ -1449,45 +1434,45 @@ msgid "" "``lib/IR/DIBuilder.cpp``." msgstr "" -#: ../../../SourceLevelDebugging.rst:1301 +#: ../../../SourceLevelDebugging.rst:1287 msgid "C/C++ source file information" msgstr "" -#: ../../../SourceLevelDebugging.rst:1303 +#: ../../../SourceLevelDebugging.rst:1289 msgid "" "``llvm::Instruction`` provides easy access to metadata attached to an " "instruction. One can extract line number information encoded in LLVM IR " "using ``Instruction::getDebugLoc()`` and ``DILocation::getLine()``." msgstr "" -#: ../../../SourceLevelDebugging.rst:1316 +#: ../../../SourceLevelDebugging.rst:1302 msgid "" "When the flag ``ImplicitCode`` is true then it means that the Instruction " "has been added by the front-end but doesn't correspond to source code " "written by the user. For example" msgstr "" -#: ../../../SourceLevelDebugging.rst:1326 +#: ../../../SourceLevelDebugging.rst:1312 msgid "" "At the end of the scope the ``MyObject``'s destructor is called but it isn't " "written explicitly. This information is useful to avoid having counters on " "brackets when making code coverage." msgstr "" -#: ../../../SourceLevelDebugging.rst:1331 +#: ../../../SourceLevelDebugging.rst:1317 msgid "C/C++ global variable information" msgstr "" -#: ../../../SourceLevelDebugging.rst:1333 +#: ../../../SourceLevelDebugging.rst:1319 msgid "Given an integer global variable declared as follows:" msgstr "" -#: ../../../SourceLevelDebugging.rst:1339 -#: ../../../SourceLevelDebugging.rst:1410 +#: ../../../SourceLevelDebugging.rst:1325 +#: ../../../SourceLevelDebugging.rst:1396 msgid "a C/C++ front-end would generate the following descriptors:" msgstr "" -#: ../../../SourceLevelDebugging.rst:1393 +#: ../../../SourceLevelDebugging.rst:1379 msgid "" "The align value in ``DIGlobalVariable`` description specifies variable " "alignment in case it was forced by C11 ``_Alignas()``, C++11 ``alignas()`` " @@ -1496,23 +1481,23 @@ msgid "" "used when producing DWARF output for ``DW_AT_alignment`` value." msgstr "" -#: ../../../SourceLevelDebugging.rst:1400 +#: ../../../SourceLevelDebugging.rst:1386 msgid "C/C++ function information" msgstr "" -#: ../../../SourceLevelDebugging.rst:1402 +#: ../../../SourceLevelDebugging.rst:1388 msgid "Given a function declared as follows:" msgstr "" -#: ../../../SourceLevelDebugging.rst:1430 +#: ../../../SourceLevelDebugging.rst:1416 msgid "C++ specific debug information" msgstr "" -#: ../../../SourceLevelDebugging.rst:1433 +#: ../../../SourceLevelDebugging.rst:1419 msgid "C++ special member functions information" msgstr "" -#: ../../../SourceLevelDebugging.rst:1435 +#: ../../../SourceLevelDebugging.rst:1421 msgid "" "DWARF v5 introduces attributes defined to enhance debugging information of C+" "+ programs. LLVM can generate (or omit) these appropriate DWARF attributes. " @@ -1521,27 +1506,27 @@ msgid "" "LLVM using ``spFlags`` value ``DISPFlagDeleted``." msgstr "" -#: ../../../SourceLevelDebugging.rst:1437 +#: ../../../SourceLevelDebugging.rst:1423 msgid "Given a class declaration with copy constructor declared as deleted:" msgstr "" -#: ../../../SourceLevelDebugging.rst:1446 +#: ../../../SourceLevelDebugging.rst:1432 msgid "A C++ frontend would generate the following:" msgstr "" -#: ../../../SourceLevelDebugging.rst:1452 +#: ../../../SourceLevelDebugging.rst:1438 msgid "and this will produce an additional DWARF attribute as:" msgstr "" -#: ../../../SourceLevelDebugging.rst:1463 +#: ../../../SourceLevelDebugging.rst:1449 msgid "Fortran specific debug information" msgstr "" -#: ../../../SourceLevelDebugging.rst:1466 +#: ../../../SourceLevelDebugging.rst:1452 msgid "Fortran function information" msgstr "" -#: ../../../SourceLevelDebugging.rst:1468 +#: ../../../SourceLevelDebugging.rst:1454 msgid "" "There are a few DWARF attributes defined to support client debugging of " "Fortran programs. LLVM can generate (or omit) the appropriate DWARF " @@ -1550,23 +1535,23 @@ msgid "" "``DISPFlagElemental``, ``DISPFlagPure``, and ``DISPFlagRecursive``." msgstr "" -#: ../../../SourceLevelDebugging.rst:1474 -#: ../../../SourceLevelDebugging.rst:1499 +#: ../../../SourceLevelDebugging.rst:1460 +#: ../../../SourceLevelDebugging.rst:1485 msgid "a Fortran front-end would generate the following descriptors:" msgstr "" -#: ../../../SourceLevelDebugging.rst:1483 +#: ../../../SourceLevelDebugging.rst:1469 msgid "and this will materialize an additional DWARF attribute as:" msgstr "" -#: ../../../SourceLevelDebugging.rst:1493 +#: ../../../SourceLevelDebugging.rst:1479 msgid "" "There are a few DWARF tags defined to represent Fortran specific constructs " "i.e ``DW_TAG_string_type`` for representing Fortran character(n). In LLVM, " "this is represented as ``DIStringType``." msgstr "" -#: ../../../SourceLevelDebugging.rst:1506 +#: ../../../SourceLevelDebugging.rst:1492 msgid "" "A fortran deferred-length character can also contain the information of raw " "storage of the characters in addition to the length of the string. This " @@ -1575,42 +1560,42 @@ msgid "" "``DW_TAG_string_type`` debug info." msgstr "" -#: ../../../SourceLevelDebugging.rst:1508 +#: ../../../SourceLevelDebugging.rst:1494 msgid "" "!DIStringType(name: \"character(*)!2\", stringLengthExpression: !" "DIExpression(), stringLocationExpression: !" "DIExpression(DW_OP_push_object_address, DW_OP_deref), size: 32)" msgstr "" -#: ../../../SourceLevelDebugging.rst:1510 +#: ../../../SourceLevelDebugging.rst:1496 msgid "and this will materialize in DWARF tags as:" msgstr "" -#: ../../../SourceLevelDebugging.rst:1524 +#: ../../../SourceLevelDebugging.rst:1510 msgid "" "A Fortran front-end may need to generate a *trampoline* function to call a " "function defined in a different compilation unit. In this case, the front-" "end can emit the following descriptor for the trampoline function:" msgstr "" -#: ../../../SourceLevelDebugging.rst:1532 +#: ../../../SourceLevelDebugging.rst:1518 msgid "" "The targetFuncName field is the name of the function that the trampoline " "calls. This descriptor results in the following DWARF tag:" msgstr "" -#: ../../../SourceLevelDebugging.rst:1547 +#: ../../../SourceLevelDebugging.rst:1533 msgid "Debugging Information Extension for Objective-C Properties" msgstr "" -#: ../../../SourceLevelDebugging.rst:1552 +#: ../../../SourceLevelDebugging.rst:1538 msgid "" "Objective-C provides a simpler way to declare and define accessor methods " "using declared properties. The language provides features to declare a " "property and to let compiler synthesize accessor methods." msgstr "" -#: ../../../SourceLevelDebugging.rst:1556 +#: ../../../SourceLevelDebugging.rst:1542 msgid "" "The debugger lets developers inspect Objective-C interfaces and their " "instance variables and class variables. However, the debugger does not know " @@ -1621,11 +1606,11 @@ msgid "" "debugger can use to let developers inspect Objective-C properties." msgstr "" -#: ../../../SourceLevelDebugging.rst:1565 +#: ../../../SourceLevelDebugging.rst:1551 msgid "Proposal" msgstr "" -#: ../../../SourceLevelDebugging.rst:1567 +#: ../../../SourceLevelDebugging.rst:1553 msgid "" "Objective-C properties exist separately from class members. A property can " "be defined only by \"setter\" and \"getter\" selectors, and be calculated " @@ -1637,7 +1622,7 @@ msgid "" "declaration corresponding to this ivar." msgstr "" -#: ../../../SourceLevelDebugging.rst:1575 +#: ../../../SourceLevelDebugging.rst:1561 msgid "" "To facilitate debugging, these properties we will add a new DWARF TAG into " "the ``DW_TAG_structure_type`` definition for the class to hold the " @@ -1646,7 +1631,7 @@ msgid "" "type of the property." msgstr "" -#: ../../../SourceLevelDebugging.rst:1580 +#: ../../../SourceLevelDebugging.rst:1566 msgid "" "If there is a related ivar, there will also be a DWARF property attribute " "placed in the ``DW_TAG_member`` DIE for that ivar referring back to the " @@ -1657,16 +1642,16 @@ msgid "" "with the property attribute pointing back to the property it is backing." msgstr "" -#: ../../../SourceLevelDebugging.rst:1588 +#: ../../../SourceLevelDebugging.rst:1574 msgid "The following examples will serve as illustration for our discussion:" msgstr "" -#: ../../../SourceLevelDebugging.rst:1605 +#: ../../../SourceLevelDebugging.rst:1591 msgid "" "This produces the following DWARF (this is a \"pseudo dwarfdump\" output):" msgstr "" -#: ../../../SourceLevelDebugging.rst:1636 +#: ../../../SourceLevelDebugging.rst:1622 msgid "" "Note, the current convention is that the name of the ivar for an auto-" "synthesized property is the name of the property from which it derives with " @@ -1675,7 +1660,7 @@ msgid "" "directly." msgstr "" -#: ../../../SourceLevelDebugging.rst:1642 +#: ../../../SourceLevelDebugging.rst:1628 msgid "" "Also, it is common practice in ObjC to have different property declarations " "in the ``@interface`` and ``@implementation`` - e.g. to provide a read-only " @@ -1684,235 +1669,235 @@ msgid "" "declaration will be in force in the current translation unit." msgstr "" -#: ../../../SourceLevelDebugging.rst:1648 +#: ../../../SourceLevelDebugging.rst:1634 msgid "" "Developers can decorate a property with attributes which are encoded using " "``DW_AT_APPLE_property_attribute``." msgstr "" -#: ../../../SourceLevelDebugging.rst:1662 +#: ../../../SourceLevelDebugging.rst:1648 msgid "" "The setter and getter method names are attached to the property using " "``DW_AT_APPLE_property_setter`` and ``DW_AT_APPLE_property_getter`` " "attributes." msgstr "" -#: ../../../SourceLevelDebugging.rst:1677 +#: ../../../SourceLevelDebugging.rst:1663 msgid "The DWARF for this would be:" msgstr "" -#: ../../../SourceLevelDebugging.rst:1699 +#: ../../../SourceLevelDebugging.rst:1685 msgid "New DWARF Tags" msgstr "" -#: ../../../SourceLevelDebugging.rst:1702 +#: ../../../SourceLevelDebugging.rst:1688 msgid "TAG" msgstr "" -#: ../../../SourceLevelDebugging.rst:1702 -#: ../../../SourceLevelDebugging.rst:1711 -#: ../../../SourceLevelDebugging.rst:1726 +#: ../../../SourceLevelDebugging.rst:1688 +#: ../../../SourceLevelDebugging.rst:1697 +#: ../../../SourceLevelDebugging.rst:1712 msgid "Value" msgstr "" -#: ../../../SourceLevelDebugging.rst:1704 +#: ../../../SourceLevelDebugging.rst:1690 msgid "DW_TAG_APPLE_property" msgstr "" -#: ../../../SourceLevelDebugging.rst:1704 +#: ../../../SourceLevelDebugging.rst:1690 msgid "0x4200" msgstr "" -#: ../../../SourceLevelDebugging.rst:1708 +#: ../../../SourceLevelDebugging.rst:1694 msgid "New DWARF Attributes" msgstr "" -#: ../../../SourceLevelDebugging.rst:1711 +#: ../../../SourceLevelDebugging.rst:1697 msgid "Attribute" msgstr "" -#: ../../../SourceLevelDebugging.rst:1711 +#: ../../../SourceLevelDebugging.rst:1697 msgid "Classes" msgstr "" -#: ../../../SourceLevelDebugging.rst:1713 +#: ../../../SourceLevelDebugging.rst:1699 msgid "DW_AT_APPLE_property" msgstr "" -#: ../../../SourceLevelDebugging.rst:1713 +#: ../../../SourceLevelDebugging.rst:1699 msgid "0x3fed" msgstr "" -#: ../../../SourceLevelDebugging.rst:1713 +#: ../../../SourceLevelDebugging.rst:1699 msgid "Reference" msgstr "" -#: ../../../SourceLevelDebugging.rst:1715 +#: ../../../SourceLevelDebugging.rst:1701 msgid "DW_AT_APPLE_property_getter" msgstr "" -#: ../../../SourceLevelDebugging.rst:1715 +#: ../../../SourceLevelDebugging.rst:1701 msgid "0x3fe9" msgstr "" -#: ../../../SourceLevelDebugging.rst:1715 -#: ../../../SourceLevelDebugging.rst:1717 +#: ../../../SourceLevelDebugging.rst:1701 +#: ../../../SourceLevelDebugging.rst:1703 msgid "String" msgstr "" -#: ../../../SourceLevelDebugging.rst:1717 +#: ../../../SourceLevelDebugging.rst:1703 msgid "DW_AT_APPLE_property_setter" msgstr "" -#: ../../../SourceLevelDebugging.rst:1717 +#: ../../../SourceLevelDebugging.rst:1703 msgid "0x3fea" msgstr "" -#: ../../../SourceLevelDebugging.rst:1719 +#: ../../../SourceLevelDebugging.rst:1705 msgid "DW_AT_APPLE_property_attribute" msgstr "" -#: ../../../SourceLevelDebugging.rst:1719 +#: ../../../SourceLevelDebugging.rst:1705 msgid "0x3feb" msgstr "" -#: ../../../SourceLevelDebugging.rst:1719 +#: ../../../SourceLevelDebugging.rst:1705 msgid "Constant" msgstr "" -#: ../../../SourceLevelDebugging.rst:1723 +#: ../../../SourceLevelDebugging.rst:1709 msgid "New DWARF Constants" msgstr "" -#: ../../../SourceLevelDebugging.rst:1726 +#: ../../../SourceLevelDebugging.rst:1712 msgid "Name" msgstr "" -#: ../../../SourceLevelDebugging.rst:1728 +#: ../../../SourceLevelDebugging.rst:1714 msgid "DW_APPLE_PROPERTY_readonly" msgstr "" -#: ../../../SourceLevelDebugging.rst:1728 +#: ../../../SourceLevelDebugging.rst:1714 msgid "0x01" msgstr "" -#: ../../../SourceLevelDebugging.rst:1730 +#: ../../../SourceLevelDebugging.rst:1716 msgid "DW_APPLE_PROPERTY_getter" msgstr "" -#: ../../../SourceLevelDebugging.rst:1730 +#: ../../../SourceLevelDebugging.rst:1716 msgid "0x02" msgstr "" -#: ../../../SourceLevelDebugging.rst:1732 +#: ../../../SourceLevelDebugging.rst:1718 msgid "DW_APPLE_PROPERTY_assign" msgstr "" -#: ../../../SourceLevelDebugging.rst:1732 +#: ../../../SourceLevelDebugging.rst:1718 msgid "0x04" msgstr "" -#: ../../../SourceLevelDebugging.rst:1734 +#: ../../../SourceLevelDebugging.rst:1720 msgid "DW_APPLE_PROPERTY_readwrite" msgstr "" -#: ../../../SourceLevelDebugging.rst:1734 +#: ../../../SourceLevelDebugging.rst:1720 msgid "0x08" msgstr "" -#: ../../../SourceLevelDebugging.rst:1736 +#: ../../../SourceLevelDebugging.rst:1722 msgid "DW_APPLE_PROPERTY_retain" msgstr "" -#: ../../../SourceLevelDebugging.rst:1736 +#: ../../../SourceLevelDebugging.rst:1722 msgid "0x10" msgstr "" -#: ../../../SourceLevelDebugging.rst:1738 +#: ../../../SourceLevelDebugging.rst:1724 msgid "DW_APPLE_PROPERTY_copy" msgstr "" -#: ../../../SourceLevelDebugging.rst:1738 +#: ../../../SourceLevelDebugging.rst:1724 msgid "0x20" msgstr "" -#: ../../../SourceLevelDebugging.rst:1740 +#: ../../../SourceLevelDebugging.rst:1726 msgid "DW_APPLE_PROPERTY_nonatomic" msgstr "" -#: ../../../SourceLevelDebugging.rst:1740 +#: ../../../SourceLevelDebugging.rst:1726 msgid "0x40" msgstr "" -#: ../../../SourceLevelDebugging.rst:1742 +#: ../../../SourceLevelDebugging.rst:1728 msgid "DW_APPLE_PROPERTY_setter" msgstr "" -#: ../../../SourceLevelDebugging.rst:1742 +#: ../../../SourceLevelDebugging.rst:1728 msgid "0x80" msgstr "" -#: ../../../SourceLevelDebugging.rst:1744 +#: ../../../SourceLevelDebugging.rst:1730 msgid "DW_APPLE_PROPERTY_atomic" msgstr "" -#: ../../../SourceLevelDebugging.rst:1744 +#: ../../../SourceLevelDebugging.rst:1730 msgid "0x100" msgstr "" -#: ../../../SourceLevelDebugging.rst:1746 +#: ../../../SourceLevelDebugging.rst:1732 msgid "DW_APPLE_PROPERTY_weak" msgstr "" -#: ../../../SourceLevelDebugging.rst:1746 +#: ../../../SourceLevelDebugging.rst:1732 msgid "0x200" msgstr "" -#: ../../../SourceLevelDebugging.rst:1748 +#: ../../../SourceLevelDebugging.rst:1734 msgid "DW_APPLE_PROPERTY_strong" msgstr "" -#: ../../../SourceLevelDebugging.rst:1748 +#: ../../../SourceLevelDebugging.rst:1734 msgid "0x400" msgstr "" -#: ../../../SourceLevelDebugging.rst:1750 +#: ../../../SourceLevelDebugging.rst:1736 msgid "DW_APPLE_PROPERTY_unsafe_unretained" msgstr "" -#: ../../../SourceLevelDebugging.rst:1750 +#: ../../../SourceLevelDebugging.rst:1736 msgid "0x800" msgstr "" -#: ../../../SourceLevelDebugging.rst:1752 +#: ../../../SourceLevelDebugging.rst:1738 msgid "DW_APPLE_PROPERTY_nullability" msgstr "" -#: ../../../SourceLevelDebugging.rst:1752 +#: ../../../SourceLevelDebugging.rst:1738 msgid "0x1000" msgstr "" -#: ../../../SourceLevelDebugging.rst:1754 +#: ../../../SourceLevelDebugging.rst:1740 msgid "DW_APPLE_PROPERTY_null_resettable" msgstr "" -#: ../../../SourceLevelDebugging.rst:1754 +#: ../../../SourceLevelDebugging.rst:1740 msgid "0x2000" msgstr "" -#: ../../../SourceLevelDebugging.rst:1756 +#: ../../../SourceLevelDebugging.rst:1742 msgid "DW_APPLE_PROPERTY_class" msgstr "" -#: ../../../SourceLevelDebugging.rst:1756 +#: ../../../SourceLevelDebugging.rst:1742 msgid "0x4000" msgstr "" -#: ../../../SourceLevelDebugging.rst:1760 +#: ../../../SourceLevelDebugging.rst:1746 msgid "Name Accelerator Tables" msgstr "" -#: ../../../SourceLevelDebugging.rst:1765 +#: ../../../SourceLevelDebugging.rst:1751 msgid "" "The \"``.debug_pubnames``\" and \"``.debug_pubtypes``\" formats are not what " "a debugger needs. The \"``pub``\" in the section name indicates that the " @@ -1923,7 +1908,7 @@ msgid "" "the contents between gcc, icc, or clang." msgstr "" -#: ../../../SourceLevelDebugging.rst:1773 +#: ../../../SourceLevelDebugging.rst:1759 msgid "" "The typical query given by users tends not to match up with the contents of " "these tables. For example, the DWARF spec states that \"In the case of the " @@ -1940,7 +1925,7 @@ msgid "" "effective as a name lookup table for debuggers to use." msgstr "" -#: ../../../SourceLevelDebugging.rst:1787 +#: ../../../SourceLevelDebugging.rst:1773 msgid "" "All debuggers currently ignore the \"``.debug_pubnames``\" table as a result " "of its inconsistent and useless public-only name content making it a waste " @@ -1951,7 +1936,7 @@ msgid "" "especially for large C++ programs." msgstr "" -#: ../../../SourceLevelDebugging.rst:1795 +#: ../../../SourceLevelDebugging.rst:1781 msgid "" "Can't we just fix the sections by adding all of the names we need to this " "table? No, because that is not what the tables are defined to contain and we " @@ -1960,7 +1945,7 @@ msgid "" "the data we need." msgstr "" -#: ../../../SourceLevelDebugging.rst:1801 +#: ../../../SourceLevelDebugging.rst:1787 msgid "" "These tables are also insufficient for what a debugger like LLDB needs. " "LLDB uses clang for its expression parsing where LLDB acts as a PCH. LLDB " @@ -1972,7 +1957,7 @@ msgid "" "quick lookups will benefit this type of debugging experience greatly." msgstr "" -#: ../../../SourceLevelDebugging.rst:1810 +#: ../../../SourceLevelDebugging.rst:1796 msgid "" "We would like to generate name lookup tables that can be mapped into memory " "from disk, and used as is, with little or no up-front parsing. We would " @@ -1981,27 +1966,27 @@ msgid "" "fix these issues. In order to solve these issues we need to:" msgstr "" -#: ../../../SourceLevelDebugging.rst:1816 +#: ../../../SourceLevelDebugging.rst:1802 msgid "Have a format that can be mapped into memory from disk and used as is" msgstr "" -#: ../../../SourceLevelDebugging.rst:1817 +#: ../../../SourceLevelDebugging.rst:1803 msgid "Lookups should be very fast" msgstr "" -#: ../../../SourceLevelDebugging.rst:1818 +#: ../../../SourceLevelDebugging.rst:1804 msgid "Extensible table format so these tables can be made by many producers" msgstr "" -#: ../../../SourceLevelDebugging.rst:1819 +#: ../../../SourceLevelDebugging.rst:1805 msgid "Contain all of the names needed for typical lookups out of the box" msgstr "" -#: ../../../SourceLevelDebugging.rst:1820 +#: ../../../SourceLevelDebugging.rst:1806 msgid "Strict rules for the contents of tables" msgstr "" -#: ../../../SourceLevelDebugging.rst:1822 +#: ../../../SourceLevelDebugging.rst:1808 msgid "" "Table size is important and the accelerator table format should allow the " "reuse of strings from common string tables so the strings for the names are " @@ -2009,7 +1994,7 @@ msgid "" "is by simply mapping the table into memory with minimal header parsing." msgstr "" -#: ../../../SourceLevelDebugging.rst:1827 +#: ../../../SourceLevelDebugging.rst:1813 msgid "" "The name lookups need to be fast and optimized for the kinds of lookups that " "debuggers tend to do. Optimally we would like to touch as few parts of the " @@ -2018,31 +2003,31 @@ msgid "" "In the case of debuggers we optimized for lookups that fail most of the time." msgstr "" -#: ../../../SourceLevelDebugging.rst:1833 +#: ../../../SourceLevelDebugging.rst:1819 msgid "" "Each table that is defined should have strict rules on exactly what is in " "the accelerator tables and documented so clients can rely on the content." msgstr "" -#: ../../../SourceLevelDebugging.rst:1837 +#: ../../../SourceLevelDebugging.rst:1823 msgid "Hash Tables" msgstr "" -#: ../../../SourceLevelDebugging.rst:1840 +#: ../../../SourceLevelDebugging.rst:1826 msgid "Standard Hash Tables" msgstr "" -#: ../../../SourceLevelDebugging.rst:1842 +#: ../../../SourceLevelDebugging.rst:1828 msgid "" "Typical hash tables have a header, buckets, and each bucket points to the " "bucket contents:" msgstr "" -#: ../../../SourceLevelDebugging.rst:1855 +#: ../../../SourceLevelDebugging.rst:1841 msgid "The BUCKETS are an array of offsets to DATA for each hash:" msgstr "" -#: ../../../SourceLevelDebugging.rst:1868 +#: ../../../SourceLevelDebugging.rst:1854 msgid "" "So for ``bucket[3]`` in the example above, we have an offset into the table " "0x000034f0 which points to a chain of entries for the bucket. Each bucket " @@ -2050,7 +2035,7 @@ msgid "" "the data for the current string value." msgstr "" -#: ../../../SourceLevelDebugging.rst:1892 +#: ../../../SourceLevelDebugging.rst:1878 msgid "" "The problem with this layout for debuggers is that we need to optimize for " "the negative lookup case where the symbol we're searching for is not " @@ -2064,11 +2049,11 @@ msgid "" "have a match." msgstr "" -#: ../../../SourceLevelDebugging.rst:1903 +#: ../../../SourceLevelDebugging.rst:1889 msgid "Name Hash Tables" msgstr "" -#: ../../../SourceLevelDebugging.rst:1905 +#: ../../../SourceLevelDebugging.rst:1891 msgid "" "To solve the issues mentioned above, we have structured the hash tables a " "bit differently: a header, buckets, an array of all unique 32-bit hash " @@ -2076,7 +2061,7 @@ msgid "" "value, then the data for all hash values:" msgstr "" -#: ../../../SourceLevelDebugging.rst:1924 +#: ../../../SourceLevelDebugging.rst:1910 msgid "" "The ``BUCKETS`` in the name tables are an index into the ``HASHES`` array. " "By making all of the full 32-bit hash values contiguous in memory, we allow " @@ -2088,13 +2073,13 @@ msgid "" "``HASHES`` and ``OFFSETS`` as:" msgstr "" -#: ../../../SourceLevelDebugging.rst:1953 +#: ../../../SourceLevelDebugging.rst:1939 msgid "" "So taking the exact same data from the standard hash example above, we end " "up with:" msgstr "" -#: ../../../SourceLevelDebugging.rst:2039 +#: ../../../SourceLevelDebugging.rst:2025 msgid "" "So we still have all of the same data, we just organize it more efficiently " "for debugger lookup. If we repeat the same \"``printf``\" lookup from " @@ -2111,7 +2096,7 @@ msgid "" "as possible." msgstr "" -#: ../../../SourceLevelDebugging.rst:2052 +#: ../../../SourceLevelDebugging.rst:2038 msgid "" "The string hash that is used for these lookup tables is the Daniel J. " "Bernstein hash which is also used in the ELF ``GNU_HASH`` sections. It is a " @@ -2119,17 +2104,17 @@ msgid "" "collisions." msgstr "" -#: ../../../SourceLevelDebugging.rst:2057 +#: ../../../SourceLevelDebugging.rst:2043 msgid "" "Empty buckets are designated by using an invalid hash index of " "``UINT32_MAX``." msgstr "" -#: ../../../SourceLevelDebugging.rst:2060 +#: ../../../SourceLevelDebugging.rst:2046 msgid "Details" msgstr "" -#: ../../../SourceLevelDebugging.rst:2062 +#: ../../../SourceLevelDebugging.rst:2048 msgid "" "These name hash tables are designed to be generic where specializations of " "the table get to define additional data that goes into the header " @@ -2137,17 +2122,17 @@ msgid "" "the content of the data for each hash value." msgstr "" -#: ../../../SourceLevelDebugging.rst:2068 +#: ../../../SourceLevelDebugging.rst:2054 msgid "Header Layout" msgstr "" -#: ../../../SourceLevelDebugging.rst:2070 +#: ../../../SourceLevelDebugging.rst:2056 msgid "" "The header has a fixed part, and the specialized part. The exact format of " "the header is:" msgstr "" -#: ../../../SourceLevelDebugging.rst:2088 +#: ../../../SourceLevelDebugging.rst:2074 msgid "" "The header starts with a 32-bit \"``magic``\" value which must be ``'HASH'`` " "encoded as an ASCII integer. This allows the detection of the start of the " @@ -2160,7 +2145,7 @@ msgid "" "include:" msgstr "" -#: ../../../SourceLevelDebugging.rst:2104 +#: ../../../SourceLevelDebugging.rst:2090 msgid "" "``bucket_count`` is a 32-bit unsigned integer that represents how many " "buckets are in the ``BUCKETS`` array. ``hashes_count`` is the number of " @@ -2170,16 +2155,16 @@ msgid "" "is filled in by specialized versions of this table." msgstr "" -#: ../../../SourceLevelDebugging.rst:2112 +#: ../../../SourceLevelDebugging.rst:2098 msgid "Fixed Lookup" msgstr "" -#: ../../../SourceLevelDebugging.rst:2114 +#: ../../../SourceLevelDebugging.rst:2100 msgid "" "The header is followed by the buckets, hashes, offsets, and hash value data." msgstr "" -#: ../../../SourceLevelDebugging.rst:2125 +#: ../../../SourceLevelDebugging.rst:2111 msgid "" "``buckets`` is an array of 32-bit indexes into the ``hashes`` array. The " "``hashes`` array contains all of the 32-bit hash values for all names in the " @@ -2187,7 +2172,7 @@ msgid "" "``offsets`` array that points to the data for the hash value." msgstr "" -#: ../../../SourceLevelDebugging.rst:2130 +#: ../../../SourceLevelDebugging.rst:2116 msgid "" "This table setup makes it very easy to repurpose these tables to contain " "different data, while keeping the lookup mechanism the same for all tables. " @@ -2195,7 +2180,7 @@ msgid "" "later and do very efficient name lookups with little or no parsing." msgstr "" -#: ../../../SourceLevelDebugging.rst:2135 +#: ../../../SourceLevelDebugging.rst:2121 msgid "" "DWARF lookup tables can be implemented in a variety of ways and can store a " "lot of information for each name. We want to make the DWARF tables " @@ -2204,7 +2189,7 @@ msgid "" "kind of data we store for each name." msgstr "" -#: ../../../SourceLevelDebugging.rst:2141 +#: ../../../SourceLevelDebugging.rst:2127 msgid "" "The ``HeaderData`` contains a definition of the contents of each HashData " "chunk. We might want to store an offset to all of the debug information " @@ -2213,24 +2198,24 @@ msgid "" "comes the type of the data in each atom:" msgstr "" -#: ../../../SourceLevelDebugging.rst:2159 +#: ../../../SourceLevelDebugging.rst:2145 msgid "The enumeration values and their meanings are:" msgstr "" -#: ../../../SourceLevelDebugging.rst:2170 +#: ../../../SourceLevelDebugging.rst:2156 msgid "" "Then we allow each atom type to define the atom type and how the data for " "each atom type data is encoded:" msgstr "" -#: ../../../SourceLevelDebugging.rst:2181 +#: ../../../SourceLevelDebugging.rst:2167 msgid "" "The ``form`` type above is from the DWARF specification and defines the " "exact encoding of the data for the Atom type. See the DWARF specification " "for the ``DW_FORM_`` definitions." msgstr "" -#: ../../../SourceLevelDebugging.rst:2194 +#: ../../../SourceLevelDebugging.rst:2180 msgid "" "``HeaderData`` defines the base DIE offset that should be added to any atoms " "that are encoded using the ``DW_FORM_ref1``, ``DW_FORM_ref2``, " @@ -2240,7 +2225,7 @@ msgid "" "tells us how this data should be interpreted." msgstr "" -#: ../../../SourceLevelDebugging.rst:2201 +#: ../../../SourceLevelDebugging.rst:2187 msgid "" "For the current implementations of the \"``.apple_names``\" (all functions + " "globals), the \"``.apple_types``\" (names of all types that are defined), " @@ -2248,7 +2233,7 @@ msgid "" "``Atom`` array to be:" msgstr "" -#: ../../../SourceLevelDebugging.rst:2212 +#: ../../../SourceLevelDebugging.rst:2198 msgid "" "This defines the contents to be the DIE offset (``eAtomTypeDIEOffset``) that " "is encoded as a 32-bit value (``DW_FORM_data4``). This allows a single name " @@ -2258,7 +2243,7 @@ msgid "" "block, or inlined." msgstr "" -#: ../../../SourceLevelDebugging.rst:2219 +#: ../../../SourceLevelDebugging.rst:2205 msgid "" "The KeyType for the DWARF table is a 32-bit string table offset into the \"." "debug_str\" table. The \".debug_str\" is the string table for the DWARF " @@ -2269,41 +2254,41 @@ msgid "" "info, is that DWARF parsing can be made much faster." msgstr "" -#: ../../../SourceLevelDebugging.rst:2227 +#: ../../../SourceLevelDebugging.rst:2213 msgid "" "After a lookup is made, we get an offset into the hash data. The hash data " "needs to be able to deal with 32-bit hash collisions, so the chunk of data " "at the offset in the hash data consists of a triple:" msgstr "" -#: ../../../SourceLevelDebugging.rst:2237 +#: ../../../SourceLevelDebugging.rst:2223 msgid "" "If \"str_offset\" is zero, then the bucket contents are done. 99.9% of the " "hash data chunks contain a single item (no 32-bit hash collision):" msgstr "" -#: ../../../SourceLevelDebugging.rst:2252 +#: ../../../SourceLevelDebugging.rst:2238 msgid "If there are collisions, you will have multiple valid string offsets:" msgstr "" -#: ../../../SourceLevelDebugging.rst:2270 +#: ../../../SourceLevelDebugging.rst:2256 msgid "" "Current testing with real world C++ binaries has shown that there is around " "1 32-bit hash collision per 100,000 name entries." msgstr "" -#: ../../../SourceLevelDebugging.rst:2274 +#: ../../../SourceLevelDebugging.rst:2260 msgid "Contents" msgstr "" -#: ../../../SourceLevelDebugging.rst:2276 +#: ../../../SourceLevelDebugging.rst:2262 msgid "" "As we said, we want to strictly define exactly what is included in the " "different tables. For DWARF, we have 3 tables: \"``.apple_names``\", \"``." "apple_types``\", and \"``.apple_namespaces``\"." msgstr "" -#: ../../../SourceLevelDebugging.rst:2280 +#: ../../../SourceLevelDebugging.rst:2266 msgid "" "\"``.apple_names``\" sections should contain an entry for each DWARF DIE " "whose ``DW_TAG`` is a ``DW_TAG_label``, ``DW_TAG_inlined_subroutine``, or " @@ -2315,7 +2300,7 @@ msgid "" "following code:" msgstr "" -#: ../../../SourceLevelDebugging.rst:2298 +#: ../../../SourceLevelDebugging.rst:2284 msgid "" "Both of the static ``var`` variables would be included in the table. All " "functions should emit both their full names and their basenames. For C or C+" @@ -2326,130 +2311,130 @@ msgid "" "simple name found in the ``DW_AT_name`` attribute." msgstr "" -#: ../../../SourceLevelDebugging.rst:2306 +#: ../../../SourceLevelDebugging.rst:2292 msgid "" "\"``.apple_types``\" sections should contain an entry for each DWARF DIE " "whose tag is one of:" msgstr "" -#: ../../../SourceLevelDebugging.rst:2309 +#: ../../../SourceLevelDebugging.rst:2295 msgid "DW_TAG_array_type" msgstr "" -#: ../../../SourceLevelDebugging.rst:2310 +#: ../../../SourceLevelDebugging.rst:2296 msgid "DW_TAG_class_type" msgstr "" -#: ../../../SourceLevelDebugging.rst:2311 +#: ../../../SourceLevelDebugging.rst:2297 msgid "DW_TAG_enumeration_type" msgstr "" -#: ../../../SourceLevelDebugging.rst:2312 +#: ../../../SourceLevelDebugging.rst:2298 msgid "DW_TAG_pointer_type" msgstr "" -#: ../../../SourceLevelDebugging.rst:2313 +#: ../../../SourceLevelDebugging.rst:2299 msgid "DW_TAG_reference_type" msgstr "" -#: ../../../SourceLevelDebugging.rst:2314 +#: ../../../SourceLevelDebugging.rst:2300 msgid "DW_TAG_string_type" msgstr "" -#: ../../../SourceLevelDebugging.rst:2315 +#: ../../../SourceLevelDebugging.rst:2301 msgid "DW_TAG_structure_type" msgstr "" -#: ../../../SourceLevelDebugging.rst:2316 +#: ../../../SourceLevelDebugging.rst:2302 msgid "DW_TAG_subroutine_type" msgstr "" -#: ../../../SourceLevelDebugging.rst:2317 +#: ../../../SourceLevelDebugging.rst:2303 msgid "DW_TAG_typedef" msgstr "" -#: ../../../SourceLevelDebugging.rst:2318 +#: ../../../SourceLevelDebugging.rst:2304 msgid "DW_TAG_union_type" msgstr "" -#: ../../../SourceLevelDebugging.rst:2319 +#: ../../../SourceLevelDebugging.rst:2305 msgid "DW_TAG_ptr_to_member_type" msgstr "" -#: ../../../SourceLevelDebugging.rst:2320 +#: ../../../SourceLevelDebugging.rst:2306 msgid "DW_TAG_set_type" msgstr "" -#: ../../../SourceLevelDebugging.rst:2321 +#: ../../../SourceLevelDebugging.rst:2307 msgid "DW_TAG_subrange_type" msgstr "" -#: ../../../SourceLevelDebugging.rst:2322 +#: ../../../SourceLevelDebugging.rst:2308 msgid "DW_TAG_base_type" msgstr "" -#: ../../../SourceLevelDebugging.rst:2323 +#: ../../../SourceLevelDebugging.rst:2309 msgid "DW_TAG_const_type" msgstr "" -#: ../../../SourceLevelDebugging.rst:2324 +#: ../../../SourceLevelDebugging.rst:2310 msgid "DW_TAG_immutable_type" msgstr "" -#: ../../../SourceLevelDebugging.rst:2325 +#: ../../../SourceLevelDebugging.rst:2311 msgid "DW_TAG_file_type" msgstr "" -#: ../../../SourceLevelDebugging.rst:2326 +#: ../../../SourceLevelDebugging.rst:2312 msgid "DW_TAG_namelist" msgstr "" -#: ../../../SourceLevelDebugging.rst:2327 +#: ../../../SourceLevelDebugging.rst:2313 msgid "DW_TAG_packed_type" msgstr "" -#: ../../../SourceLevelDebugging.rst:2328 +#: ../../../SourceLevelDebugging.rst:2314 msgid "DW_TAG_volatile_type" msgstr "" -#: ../../../SourceLevelDebugging.rst:2329 +#: ../../../SourceLevelDebugging.rst:2315 msgid "DW_TAG_restrict_type" msgstr "" -#: ../../../SourceLevelDebugging.rst:2330 +#: ../../../SourceLevelDebugging.rst:2316 msgid "DW_TAG_atomic_type" msgstr "" -#: ../../../SourceLevelDebugging.rst:2331 +#: ../../../SourceLevelDebugging.rst:2317 msgid "DW_TAG_interface_type" msgstr "" -#: ../../../SourceLevelDebugging.rst:2332 +#: ../../../SourceLevelDebugging.rst:2318 msgid "DW_TAG_unspecified_type" msgstr "" -#: ../../../SourceLevelDebugging.rst:2333 +#: ../../../SourceLevelDebugging.rst:2319 msgid "DW_TAG_shared_type" msgstr "" -#: ../../../SourceLevelDebugging.rst:2335 +#: ../../../SourceLevelDebugging.rst:2321 msgid "" "Only entries with a ``DW_AT_name`` attribute are included, and the entry " "must not be a forward declaration (``DW_AT_declaration`` attribute with a " "non-zero value). For example, using the following code:" msgstr "" -#: ../../../SourceLevelDebugging.rst:2347 +#: ../../../SourceLevelDebugging.rst:2333 msgid "We get a few type DIEs:" msgstr "" -#: ../../../SourceLevelDebugging.rst:2360 +#: ../../../SourceLevelDebugging.rst:2346 msgid "" "The ``DW_TAG_pointer_type`` is not included because it does not have a " "``DW_AT_name``." msgstr "" -#: ../../../SourceLevelDebugging.rst:2362 +#: ../../../SourceLevelDebugging.rst:2348 msgid "" "\"``.apple_namespaces``\" section should contain all ``DW_TAG_namespace`` " "DIEs. If we run into a namespace that has no name this is an anonymous " @@ -2459,15 +2444,15 @@ msgid "" "mangled names." msgstr "" -#: ../../../SourceLevelDebugging.rst:2370 +#: ../../../SourceLevelDebugging.rst:2356 msgid "Language Extensions and File Format Changes" msgstr "" -#: ../../../SourceLevelDebugging.rst:2373 +#: ../../../SourceLevelDebugging.rst:2359 msgid "Objective-C Extensions" msgstr "" -#: ../../../SourceLevelDebugging.rst:2375 +#: ../../../SourceLevelDebugging.rst:2361 msgid "" "\"``.apple_objc``\" section should contain all ``DW_TAG_subprogram`` DIEs " "for an Objective-C class. The name used in the hash table is the name of " @@ -2492,7 +2477,7 @@ msgid "" "debug_names``\" section." msgstr "" -#: ../../../SourceLevelDebugging.rst:2396 +#: ../../../SourceLevelDebugging.rst:2382 msgid "" "In the \"``.apple_names``\" section for Objective-C functions, the full name " "is the entire function name with the brackets (\"``-[NSString " @@ -2500,49 +2485,49 @@ msgid "" "(\"``stringWithCString:``\")." msgstr "" -#: ../../../SourceLevelDebugging.rst:2402 +#: ../../../SourceLevelDebugging.rst:2388 msgid "Mach-O Changes" msgstr "" -#: ../../../SourceLevelDebugging.rst:2404 +#: ../../../SourceLevelDebugging.rst:2390 msgid "" "The sections names for the apple hash tables are for non-mach-o files. For " "mach-o files, the sections should be contained in the ``__DWARF`` segment " "with names as follows:" msgstr "" -#: ../../../SourceLevelDebugging.rst:2408 +#: ../../../SourceLevelDebugging.rst:2394 msgid "\"``.apple_names``\" -> \"``__apple_names``\"" msgstr "" -#: ../../../SourceLevelDebugging.rst:2409 +#: ../../../SourceLevelDebugging.rst:2395 msgid "\"``.apple_types``\" -> \"``__apple_types``\"" msgstr "" -#: ../../../SourceLevelDebugging.rst:2410 +#: ../../../SourceLevelDebugging.rst:2396 msgid "" "\"``.apple_namespaces``\" -> \"``__apple_namespac``\" (16 character limit)" msgstr "" -#: ../../../SourceLevelDebugging.rst:2411 +#: ../../../SourceLevelDebugging.rst:2397 msgid "\"``.apple_objc``\" -> \"``__apple_objc``\"" msgstr "" -#: ../../../SourceLevelDebugging.rst:2416 +#: ../../../SourceLevelDebugging.rst:2402 msgid "CodeView Debug Info Format" msgstr "" -#: ../../../SourceLevelDebugging.rst:2418 +#: ../../../SourceLevelDebugging.rst:2404 msgid "" "LLVM supports emitting CodeView, the Microsoft debug info format, and this " "section describes the design and implementation of that support." msgstr "" -#: ../../../SourceLevelDebugging.rst:2422 +#: ../../../SourceLevelDebugging.rst:2408 msgid "Format Background" msgstr "" -#: ../../../SourceLevelDebugging.rst:2424 +#: ../../../SourceLevelDebugging.rst:2410 msgid "" "CodeView as a format is clearly oriented around C++ debugging, and in C++, " "the majority of debug information tends to be type information. Therefore, " @@ -2553,7 +2538,7 @@ msgid "" "record begins with a 16-bit record size and a 16-bit record kind." msgstr "" -#: ../../../SourceLevelDebugging.rst:2432 +#: ../../../SourceLevelDebugging.rst:2418 msgid "" "Type information is usually stored in the ``.debug$T`` section of the object " "file. All other debug info, such as line info, string table, symbol info, " @@ -2565,7 +2550,7 @@ msgid "" "information appears to remain in the object file ``.debug$S`` sections." msgstr "" -#: ../../../SourceLevelDebugging.rst:2441 +#: ../../../SourceLevelDebugging.rst:2427 msgid "" "Type records are referred to by their index, which is the number of records " "in the stream before a given record plus ``0x1000``. Many common basic " @@ -2574,7 +2559,7 @@ msgid "" "are built in to CodeView consumers and do not require type records." msgstr "" -#: ../../../SourceLevelDebugging.rst:2447 +#: ../../../SourceLevelDebugging.rst:2433 msgid "" "Each type record may only contain type indices that are less than its own " "type index. This ensures that the graph of type stream references is " @@ -2585,39 +2570,39 @@ msgid "" "streams may refer to complete, non-forward-declaration type records." msgstr "" -#: ../../../SourceLevelDebugging.rst:2456 +#: ../../../SourceLevelDebugging.rst:2442 msgid "Working with CodeView" msgstr "" -#: ../../../SourceLevelDebugging.rst:2458 +#: ../../../SourceLevelDebugging.rst:2444 msgid "" "These are instructions for some common tasks for developers working to " "improve LLVM's CodeView support. Most of them revolve around using the " "CodeView dumper embedded in ``llvm-readobj``." msgstr "" -#: ../../../SourceLevelDebugging.rst:2462 +#: ../../../SourceLevelDebugging.rst:2448 msgid "Testing MSVC's output::" msgstr "" -#: ../../../SourceLevelDebugging.rst:2467 +#: ../../../SourceLevelDebugging.rst:2453 msgid "Getting LLVM IR debug info out of Clang::" msgstr "" -#: ../../../SourceLevelDebugging.rst:2471 +#: ../../../SourceLevelDebugging.rst:2457 msgid "Use this to generate LLVM IR for LLVM test cases." msgstr "" -#: ../../../SourceLevelDebugging.rst:2473 +#: ../../../SourceLevelDebugging.rst:2459 msgid "Generate and dump CodeView from LLVM IR metadata::" msgstr "" -#: ../../../SourceLevelDebugging.rst:2478 +#: ../../../SourceLevelDebugging.rst:2464 msgid "" "Use this pattern in lit test cases and FileCheck the output of llvm-readobj" msgstr "" -#: ../../../SourceLevelDebugging.rst:2480 +#: ../../../SourceLevelDebugging.rst:2466 msgid "" "Improving LLVM's CodeView support is a process of finding interesting type " "records, constructing a C++ test case that makes MSVC emit those records, " diff --git a/main/locale/pot/LC_MESSAGES/TableGen/BackEnds.pot b/main/locale/pot/LC_MESSAGES/TableGen/BackEnds.pot index ada6c030692..5ae37d06f06 100644 --- a/main/locale/pot/LC_MESSAGES/TableGen/BackEnds.pot +++ b/main/locale/pot/LC_MESSAGES/TableGen/BackEnds.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: LLVM main\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-12-01 08:45+0000\n" +"POT-Creation-Date: 2026-03-09 08:48+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -1020,23 +1020,30 @@ msgstr "" #: ../../../TableGen/BackEnds.rst:632 msgid "" +"``string UnderlyingType``. The name of the underlying C++ data type of the " +"enum. If a record has no such field, there will be no specification in the " +"generated enum." +msgstr "" + +#: ../../../TableGen/BackEnds.rst:636 +msgid "" "Here is an example where the values of the elements are specified " "explicitly, as a template argument to the ``BEntry`` class. The resulting C+" "+ code is shown." msgstr "" -#: ../../../TableGen/BackEnds.rst:665 +#: ../../../TableGen/BackEnds.rst:669 msgid "" "In the following example, the values of the elements are assigned " "automatically. Note that values are assigned from 0, in alphabetical order " "by element name." msgstr "" -#: ../../../TableGen/BackEnds.rst:693 +#: ../../../TableGen/BackEnds.rst:698 msgid "Generic Tables" msgstr "" -#: ../../../TableGen/BackEnds.rst:695 +#: ../../../TableGen/BackEnds.rst:700 msgid "" "The ``GenericTable`` class is used to define a searchable generic table. " "TableGen produces C++ code to define the table entries and also produces the " @@ -1046,13 +1053,13 @@ msgid "" "This class provides six fields." msgstr "" -#: ../../../TableGen/BackEnds.rst:702 +#: ../../../TableGen/BackEnds.rst:707 msgid "" "``string FilterClass``. The table will have one entry for each record that " "derives from this class." msgstr "" -#: ../../../TableGen/BackEnds.rst:705 +#: ../../../TableGen/BackEnds.rst:710 msgid "" "``string FilterClassField``. This is an optional field of ``FilterClass`` " "which should be `bit` type. If specified, only those records with this field " @@ -1060,13 +1067,13 @@ msgid "" "included in generated C++ fields if it isn't included in ``Fields`` list." msgstr "" -#: ../../../TableGen/BackEnds.rst:710 +#: ../../../TableGen/BackEnds.rst:715 msgid "" "``string CppTypeName``. The name of the C++ struct/class type of the table " "that holds the entries. If unspecified, the ``FilterClass`` name is used." msgstr "" -#: ../../../TableGen/BackEnds.rst:714 +#: ../../../TableGen/BackEnds.rst:719 msgid "" "``list Fields``. A list of the names of the fields *in the collected " "records* that contain the data for the table entries. The order of this list " @@ -1074,22 +1081,22 @@ msgid "" "information about the types of these fields." msgstr "" -#: ../../../TableGen/BackEnds.rst:719 +#: ../../../TableGen/BackEnds.rst:724 msgid "" "``list PrimaryKey``. The list of fields that make up the primary key." msgstr "" -#: ../../../TableGen/BackEnds.rst:722 +#: ../../../TableGen/BackEnds.rst:727 msgid "" "``string PrimaryKeyName``. The name of the generated C++ function that " "performs a lookup on the primary key." msgstr "" -#: ../../../TableGen/BackEnds.rst:725 +#: ../../../TableGen/BackEnds.rst:730 msgid "``bit PrimaryKeyEarlyOut``. See the third example below." msgstr "" -#: ../../../TableGen/BackEnds.rst:727 +#: ../../../TableGen/BackEnds.rst:732 msgid "" "``bit PrimaryKeyReturnRange``. when set to 1, modifies the lookup function’s " "definition to return a range of results rather than a single pointer to the " @@ -1099,7 +1106,7 @@ msgid "" "details." msgstr "" -#: ../../../TableGen/BackEnds.rst:733 +#: ../../../TableGen/BackEnds.rst:738 msgid "" "TableGen attempts to deduce the type of each of the table fields so that it " "can format the C++ initializers in the emitted table. It can deduce ``bit``, " @@ -1109,7 +1116,7 @@ msgid "" "used in the primary key." msgstr "" -#: ../../../TableGen/BackEnds.rst:740 +#: ../../../TableGen/BackEnds.rst:745 msgid "" "One special case of the field type has to do with code. Arbitrary code is " "represented by a string, but has to be emitted as a C++ initializer without " @@ -1121,20 +1128,20 @@ msgid "" "*xxx* is the code field name." msgstr "" -#: ../../../TableGen/BackEnds.rst:753 +#: ../../../TableGen/BackEnds.rst:758 msgid "" "Here is an example where TableGen can deduce the field types. Note that the " "table entry records are anonymous; the names of entry records are irrelevant." msgstr "" -#: ../../../TableGen/BackEnds.rst:781 +#: ../../../TableGen/BackEnds.rst:786 msgid "" "Here is the generated C++ code. The declaration of ``lookupATableByValues`` " "is guarded by ``GET_ATable_DECL``, while the definitions are guarded by " "``GET_ATable_IMPL``." msgstr "" -#: ../../../TableGen/BackEnds.rst:829 +#: ../../../TableGen/BackEnds.rst:834 msgid "" "The table entries in ``ATable`` are sorted in order by ``Val1``, and within " "each of those values, by ``Val2``. This allows a binary search of the table, " @@ -1145,7 +1152,7 @@ msgid "" "than a binary search." msgstr "" -#: ../../../TableGen/BackEnds.rst:837 +#: ../../../TableGen/BackEnds.rst:842 msgid "" "This example includes a field whose type TableGen cannot deduce. The " "``Kind`` field uses the enumerated type ``CEnum`` defined above. To inform " @@ -1154,21 +1161,21 @@ msgid "" "field whose type is required." msgstr "" -#: ../../../TableGen/BackEnds.rst:863 +#: ../../../TableGen/BackEnds.rst:868 msgid "Here is the generated C++ code." msgstr "" -#: ../../../TableGen/BackEnds.rst:899 +#: ../../../TableGen/BackEnds.rst:904 msgid "" "In the above example, lets add one more record with encoding same as that of " "record ``CEntry<\"Pear\", CBaz, 15>``." msgstr "" -#: ../../../TableGen/BackEnds.rst:907 +#: ../../../TableGen/BackEnds.rst:912 msgid "Below is the new generated ``CTable``" msgstr "" -#: ../../../TableGen/BackEnds.rst:919 +#: ../../../TableGen/BackEnds.rst:924 msgid "" "Since ``Banana`` lexicographically appears first, therefore in the " "``CEntry`` table, record with name ``Banana`` will come before the record " @@ -1183,11 +1190,11 @@ msgid "" "be done by setting ``PrimaryKeyReturnRange``." msgstr "" -#: ../../../TableGen/BackEnds.rst:942 +#: ../../../TableGen/BackEnds.rst:947 msgid "Here is the modified lookup function." msgstr "" -#: ../../../TableGen/BackEnds.rst:972 +#: ../../../TableGen/BackEnds.rst:977 msgid "" "The new lookup function will return an iterator range with first pointer to " "the first result and the last pointer to the last matching result from the " @@ -1195,7 +1202,7 @@ msgid "" "definition exists for ``PrimaryKeyName`` only." msgstr "" -#: ../../../TableGen/BackEnds.rst:977 +#: ../../../TableGen/BackEnds.rst:982 msgid "" "The ``PrimaryKeyEarlyOut`` field, when set to 1, modifies the lookup " "function so that it tests the first field of the primary key to determine " @@ -1206,15 +1213,15 @@ msgid "" "must be an integral type; it cannot be a string." msgstr "" -#: ../../../TableGen/BackEnds.rst:985 +#: ../../../TableGen/BackEnds.rst:990 msgid "Adding ``let PrimaryKeyEarlyOut = 1`` to the ``ATable`` above:" msgstr "" -#: ../../../TableGen/BackEnds.rst:997 +#: ../../../TableGen/BackEnds.rst:1002 msgid "causes the lookup function to change as follows:" msgstr "" -#: ../../../TableGen/BackEnds.rst:1009 +#: ../../../TableGen/BackEnds.rst:1014 msgid "" "We can construct two GenericTables with the same ``FilterClass``, so that " "they select from the same overall set of records, but assign them with " @@ -1222,22 +1229,22 @@ msgid "" "of the records of that class." msgstr "" -#: ../../../TableGen/BackEnds.rst:1014 +#: ../../../TableGen/BackEnds.rst:1019 msgid "" "For example, we can create two tables that contain only even or odd records. " "Fields ``IsEven`` and ``IsOdd`` won't be included in generated C++ fields " "because they aren't included in ``Fields`` list." msgstr "" -#: ../../../TableGen/BackEnds.rst:1046 +#: ../../../TableGen/BackEnds.rst:1051 msgid "The generated tables are:" msgstr "" -#: ../../../TableGen/BackEnds.rst:1067 +#: ../../../TableGen/BackEnds.rst:1072 msgid "Search Indexes" msgstr "" -#: ../../../TableGen/BackEnds.rst:1069 +#: ../../../TableGen/BackEnds.rst:1074 msgid "" "The ``SearchIndex`` class is used to define additional lookup functions for " "generic tables. To define an additional function, define a record whose " @@ -1245,29 +1252,29 @@ msgid "" "lookup function. This class provides three fields." msgstr "" -#: ../../../TableGen/BackEnds.rst:1074 +#: ../../../TableGen/BackEnds.rst:1079 msgid "" "``GenericTable Table``. The name of the table that is to receive another " "lookup function." msgstr "" -#: ../../../TableGen/BackEnds.rst:1077 +#: ../../../TableGen/BackEnds.rst:1082 msgid "" "``list Key``. The list of fields that make up the secondary key." msgstr "" -#: ../../../TableGen/BackEnds.rst:1079 +#: ../../../TableGen/BackEnds.rst:1084 msgid "``bit EarlyOut``. See the third example in `Generic Tables`_." msgstr "" -#: ../../../TableGen/BackEnds.rst:1081 +#: ../../../TableGen/BackEnds.rst:1086 msgid "" "Here is an example of a secondary key added to the ``CTable`` above. The " "generated function looks up entries based on the ``Name`` and ``Kind`` " "fields." msgstr "" -#: ../../../TableGen/BackEnds.rst:1091 +#: ../../../TableGen/BackEnds.rst:1096 msgid "" "This use of ``SearchIndex`` generates the following additional C++ code." msgstr "" diff --git a/main/locale/pot/LC_MESSAGES/TableGen/ProgRef.pot b/main/locale/pot/LC_MESSAGES/TableGen/ProgRef.pot index b067fa0c6e5..35bdc852237 100644 --- a/main/locale/pot/LC_MESSAGES/TableGen/ProgRef.pot +++ b/main/locale/pot/LC_MESSAGES/TableGen/ProgRef.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: LLVM main\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-10-13 08:36+0000\n" +"POT-Creation-Date: 2026-03-09 08:48+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -1796,35 +1796,29 @@ msgid "" msgstr "" #: ../../../TableGen/ProgRef.rst:1658 -msgid "" -"The ``!getop`` and ``!setop`` bang operators are deprecated in favor of ``!" -"getdagop`` and ``!setdagop``." -msgstr "" - -#: ../../../TableGen/ProgRef.rst:1662 msgid "``!add(``\\ *a*\\ ``,`` *b*\\ ``, ...)``" msgstr "" -#: ../../../TableGen/ProgRef.rst:1662 +#: ../../../TableGen/ProgRef.rst:1658 msgid "This operator adds *a*, *b*, etc., and produces the sum." msgstr "" -#: ../../../TableGen/ProgRef.rst:1668 +#: ../../../TableGen/ProgRef.rst:1664 msgid "``!and(``\\ *a*\\ ``,`` *b*\\ ``, ...)``" msgstr "" -#: ../../../TableGen/ProgRef.rst:1665 +#: ../../../TableGen/ProgRef.rst:1661 msgid "" "This operator does a bitwise AND on *a*, *b*, etc., and produces the result. " "A logical AND can be performed if all the arguments are either 0 or 1. This " "operator is short-circuit to 0 when the left-most operand is 0." msgstr "" -#: ../../../TableGen/ProgRef.rst:1693 +#: ../../../TableGen/ProgRef.rst:1689 msgid "``!cast<``\\ *type*\\ ``>(``\\ *a*\\ ``)``" msgstr "" -#: ../../../TableGen/ProgRef.rst:1671 +#: ../../../TableGen/ProgRef.rst:1667 msgid "" "This operator performs a cast on *a* and produces the result. If *a* is not " "a string, then a straightforward cast is performed, say between an ``int`` " @@ -1832,14 +1826,14 @@ msgid "" "class. If a record is cast to ``string``, the record's name is produced." msgstr "" -#: ../../../TableGen/ProgRef.rst:1677 +#: ../../../TableGen/ProgRef.rst:1673 msgid "" "If *a* is a string, then it is treated as a record name and looked up in the " "list of all defined records. The resulting record is expected to be of the " "specified *type*." msgstr "" -#: ../../../TableGen/ProgRef.rst:1681 +#: ../../../TableGen/ProgRef.rst:1677 msgid "" "For example, if ``!cast<``\\ *type*\\ ``>(``\\ *name*\\ ``)`` appears in a " "multiclass definition, or in a class instantiated inside a multiclass " @@ -1853,60 +1847,60 @@ msgid "" "multiclass)." msgstr "" -#: ../../../TableGen/ProgRef.rst:1693 +#: ../../../TableGen/ProgRef.rst:1689 msgid "If the type of *a* does not match *type*, TableGen raises an error." msgstr "" -#: ../../../TableGen/ProgRef.rst:1703 +#: ../../../TableGen/ProgRef.rst:1699 msgid "``!con(``\\ *a*\\ ``,`` *b*\\ ``, ...)``" msgstr "" -#: ../../../TableGen/ProgRef.rst:1696 +#: ../../../TableGen/ProgRef.rst:1692 msgid "" "This operator concatenates the DAG nodes *a*, *b*, etc. Their operations " "must equal." msgstr "" -#: ../../../TableGen/ProgRef.rst:1699 +#: ../../../TableGen/ProgRef.rst:1695 msgid "``!con((op:$lhs a1:$name1, a2:$name2), (op:$rhs b1:$name3))``" msgstr "" -#: ../../../TableGen/ProgRef.rst:1701 +#: ../../../TableGen/ProgRef.rst:1697 msgid "" "results in the DAG node ``(op:$lhs a1:$name1, a2:$name2, b1:$name3)``. The " "name of the dag operator is derived from the LHS DAG node if it is set, " "otherwise from the RHS DAG node." msgstr "" -#: ../../../TableGen/ProgRef.rst:1712 +#: ../../../TableGen/ProgRef.rst:1708 msgid "" "``!cond(``\\ *cond1* ``:`` *val1*\\ ``,`` *cond2* ``:`` *val2*\\ ``, ...,`` " "*condn* ``:`` *valn*\\ ``)``" msgstr "" -#: ../../../TableGen/ProgRef.rst:1706 +#: ../../../TableGen/ProgRef.rst:1702 msgid "" "This operator tests *cond1* and returns *val1* if the result is true. If " "false, the operator tests *cond2* and returns *val2* if the result is true. " "And so forth. An error is reported if no conditions are true." msgstr "" -#: ../../../TableGen/ProgRef.rst:1710 +#: ../../../TableGen/ProgRef.rst:1706 msgid "This example produces the sign word for an integer::" msgstr "" -#: ../../../TableGen/ProgRef.rst:1726 +#: ../../../TableGen/ProgRef.rst:1722 msgid "``!dag(``\\ *op*\\ ``,`` *arguments*\\ ``,`` *names*\\ ``)``" msgstr "" -#: ../../../TableGen/ProgRef.rst:1715 +#: ../../../TableGen/ProgRef.rst:1711 msgid "" "This operator creates a DAG node with the given operator and arguments. The " "*arguments* and *names* arguments must be lists of equal length or " "uninitialized (``?``). The *names* argument must be of type ``list``." msgstr "" -#: ../../../TableGen/ProgRef.rst:1720 +#: ../../../TableGen/ProgRef.rst:1716 msgid "" "Due to limitations of the type system, *arguments* must be a list of items " "of a common type. In practice, this means that they should either have the " @@ -1914,60 +1908,60 @@ msgid "" "``dag`` items is not possible. However, ``?`` can be used." msgstr "" -#: ../../../TableGen/ProgRef.rst:1725 +#: ../../../TableGen/ProgRef.rst:1721 msgid "" "Example: ``!dag(op, [a1, a2, ?], [\"name1\", \"name2\", \"name3\"])`` " "results in ``(op a1-value:$name1, a2-value:$name2, ?:$name3)``." msgstr "" -#: ../../../TableGen/ProgRef.rst:1730 +#: ../../../TableGen/ProgRef.rst:1726 msgid "``!div(``\\ *a*\\ ``,`` *b*\\ ``)``" msgstr "" -#: ../../../TableGen/ProgRef.rst:1729 +#: ../../../TableGen/ProgRef.rst:1725 msgid "" "This operator performs signed division of *a* by *b*, and produces the " "quotient. Division by 0 produces an error. Division of ``INT64_MIN`` by -1 " "produces an error." msgstr "" -#: ../../../TableGen/ProgRef.rst:1734 +#: ../../../TableGen/ProgRef.rst:1730 msgid "``!empty(``\\ *a*\\ ``)``" msgstr "" -#: ../../../TableGen/ProgRef.rst:1733 +#: ../../../TableGen/ProgRef.rst:1729 msgid "" "This operator produces 1 if the string, list, or DAG *a* is empty; 0 " "otherwise. A dag is empty if it has no arguments; the operator does not " "count." msgstr "" -#: ../../../TableGen/ProgRef.rst:1739 +#: ../../../TableGen/ProgRef.rst:1735 msgid "``!eq(`` *a*\\ `,` *b*\\ ``)``" msgstr "" -#: ../../../TableGen/ProgRef.rst:1737 +#: ../../../TableGen/ProgRef.rst:1733 msgid "" "This operator produces 1 if *a* is equal to *b*; 0 otherwise. The arguments " "must be ``bit``, ``bits``, ``int``, ``string``, or record values. Use ``!" "cast`` to compare other types of objects." msgstr "" -#: ../../../TableGen/ProgRef.rst:1743 +#: ../../../TableGen/ProgRef.rst:1739 msgid "``!exists<``\\ *type*\\ ``>(``\\ *name*\\ ``)``" msgstr "" -#: ../../../TableGen/ProgRef.rst:1742 +#: ../../../TableGen/ProgRef.rst:1738 msgid "" "This operator produces 1 if a record of the given *type* whose name is " "*name* exists; 0 otherwise. *name* should be of type *string*." msgstr "" -#: ../../../TableGen/ProgRef.rst:1745 +#: ../../../TableGen/ProgRef.rst:1741 msgid "``!filter(``\\ *var*\\ ``,`` *list*\\ ``,`` *predicate*\\ ``)``" msgstr "" -#: ../../../TableGen/ProgRef.rst:1747 +#: ../../../TableGen/ProgRef.rst:1743 msgid "" "This operator creates a new ``list`` by filtering the elements in *list*. To " "perform the filtering, TableGen binds the variable *var* to each element and " @@ -1978,11 +1972,11 @@ msgid "" "included." msgstr "" -#: ../../../TableGen/ProgRef.rst:1760 +#: ../../../TableGen/ProgRef.rst:1756 msgid "``!find(``\\ *string1*\\ ``,`` *string2*\\ [``,`` *start*]\\ ``)``" msgstr "" -#: ../../../TableGen/ProgRef.rst:1757 +#: ../../../TableGen/ProgRef.rst:1753 msgid "" "This operator searches for *string2* in *string1* and produces its position. " "The starting position of the search may be specified by *start*, which can " @@ -1990,13 +1984,13 @@ msgid "" "is not found, the result is -1." msgstr "" -#: ../../../TableGen/ProgRef.rst:1777 +#: ../../../TableGen/ProgRef.rst:1773 msgid "" "``!foldl(``\\ *init*\\ ``,`` *list*\\ ``,`` *acc*\\ ``,`` *var*\\ ``,`` " "*expr*\\ ``)``" msgstr "" -#: ../../../TableGen/ProgRef.rst:1763 +#: ../../../TableGen/ProgRef.rst:1759 msgid "" "This operator performs a left-fold over the items in *list*. The variable " "*acc* acts as the accumulator and is initialized to *init*. The variable " @@ -2007,23 +2001,23 @@ msgid "" "*list*; *expr* must have the same type as *init*." msgstr "" -#: ../../../TableGen/ProgRef.rst:1771 +#: ../../../TableGen/ProgRef.rst:1767 msgid "" "The following example computes the total of the ``Number`` field in the list " "of records in ``RecList``::" msgstr "" -#: ../../../TableGen/ProgRef.rst:1776 +#: ../../../TableGen/ProgRef.rst:1772 msgid "" "If your goal is to filter the list and produce a new list that includes only " "some of the elements, see ``!filter``." msgstr "" -#: ../../../TableGen/ProgRef.rst:1787 +#: ../../../TableGen/ProgRef.rst:1783 msgid "``!foreach(``\\ *var*\\ ``,`` *sequence*\\ ``,`` *expr*\\ ``)``" msgstr "" -#: ../../../TableGen/ProgRef.rst:1780 +#: ../../../TableGen/ProgRef.rst:1776 msgid "" "This operator creates a new ``list``/``dag`` in which each element is a " "function of the corresponding element in the *sequence* ``list``/``dag``. To " @@ -2032,59 +2026,59 @@ msgid "" "variable *var* and calculates the result value." msgstr "" -#: ../../../TableGen/ProgRef.rst:1786 +#: ../../../TableGen/ProgRef.rst:1782 msgid "" "If you simply want to create a list of a certain length containing the same " "value repeated multiple times, see ``!listsplat``." msgstr "" -#: ../../../TableGen/ProgRef.rst:1791 +#: ../../../TableGen/ProgRef.rst:1787 msgid "``!ge(``\\ *a*\\ `,` *b*\\ ``)``" msgstr "" -#: ../../../TableGen/ProgRef.rst:1790 +#: ../../../TableGen/ProgRef.rst:1786 msgid "" "This operator produces 1 if *a* is greater than or equal to *b*; 0 " "otherwise. The arguments must be ``bit``, ``bits``, ``int``, or ``string`` " "values." msgstr "" -#: ../../../TableGen/ProgRef.rst:1796 +#: ../../../TableGen/ProgRef.rst:1792 msgid "``!getdagarg<``\\ *type*\\ ``>(``\\ *dag*\\ ``,``\\ *key*\\ ``)``" msgstr "" -#: ../../../TableGen/ProgRef.rst:1794 +#: ../../../TableGen/ProgRef.rst:1790 msgid "" "This operator retrieves the argument from the given *dag* node by the " "specified *key*, which is either an integer index or a string name. If that " "argument is not convertible to the specified *type*, ``?`` is returned." msgstr "" -#: ../../../TableGen/ProgRef.rst:1801 +#: ../../../TableGen/ProgRef.rst:1797 msgid "``!getdagname(``\\ *dag*\\ ``,``\\ *index*\\ ``)``" msgstr "" -#: ../../../TableGen/ProgRef.rst:1799 +#: ../../../TableGen/ProgRef.rst:1795 msgid "" "This operator retrieves the argument name from the given *dag* node by the " "specified *index*. If that argument has no name associated, ``?`` is " "returned." msgstr "" -#: ../../../TableGen/ProgRef.rst:1823 +#: ../../../TableGen/ProgRef.rst:1819 msgid "" "``!getdagop(``\\ *dag*\\ ``)`` --or-- ``!getdagop<``\\ *type*\\ ``>(``\\ " "*dag*\\ ``)``" msgstr "" -#: ../../../TableGen/ProgRef.rst:1804 +#: ../../../TableGen/ProgRef.rst:1800 msgid "" "This operator produces the operator of the given *dag* node. Example: ``!" "getdagop((foo 1, 2))`` results in ``foo``. Recall that DAG operators are " "always records." msgstr "" -#: ../../../TableGen/ProgRef.rst:1808 +#: ../../../TableGen/ProgRef.rst:1804 msgid "" "The result of ``!getdagop`` can be used directly in a context where any " "record class at all is acceptable (typically placing it into another dag " @@ -2092,74 +2086,74 @@ msgid "" "class. The ``<``\\ *type*\\ ``>`` syntax is provided to make this easy." msgstr "" -#: ../../../TableGen/ProgRef.rst:1814 +#: ../../../TableGen/ProgRef.rst:1810 msgid "" "For example, to assign the result to a value of type ``BaseClass``, you " "could write either of these::" msgstr "" -#: ../../../TableGen/ProgRef.rst:1820 +#: ../../../TableGen/ProgRef.rst:1816 msgid "" "But to create a new DAG node that reuses the operator from another, no cast " "is necessary::" msgstr "" -#: ../../../TableGen/ProgRef.rst:1827 +#: ../../../TableGen/ProgRef.rst:1823 msgid "``!getdagopname(``\\ *dag*\\ ``)``" msgstr "" -#: ../../../TableGen/ProgRef.rst:1826 +#: ../../../TableGen/ProgRef.rst:1822 msgid "" "This operator retrieves the name of the given *dag* operator. If the " "operator has no name associated, ``?`` is returned." msgstr "" -#: ../../../TableGen/ProgRef.rst:1831 +#: ../../../TableGen/ProgRef.rst:1827 msgid "``!gt(``\\ *a*\\ `,` *b*\\ ``)``" msgstr "" -#: ../../../TableGen/ProgRef.rst:1830 +#: ../../../TableGen/ProgRef.rst:1826 msgid "" "This operator produces 1 if *a* is greater than *b*; 0 otherwise. The " "arguments must be ``bit``, ``bits``, ``int``, or ``string`` values." msgstr "" -#: ../../../TableGen/ProgRef.rst:1835 +#: ../../../TableGen/ProgRef.rst:1831 msgid "``!head(``\\ *a*\\ ``)``" msgstr "" -#: ../../../TableGen/ProgRef.rst:1834 +#: ../../../TableGen/ProgRef.rst:1830 msgid "" "This operator produces the zeroth element of the list *a*. (See also ``!" "tail``.)" msgstr "" -#: ../../../TableGen/ProgRef.rst:1840 +#: ../../../TableGen/ProgRef.rst:1836 msgid "``!if(``\\ *test*\\ ``,`` *then*\\ ``,`` *else*\\ ``)``" msgstr "" -#: ../../../TableGen/ProgRef.rst:1838 +#: ../../../TableGen/ProgRef.rst:1834 msgid "" "This operator evaluates the *test*, which must produce a ``bit`` or ``int``. " "If the result is not 0, the *then* expression is produced; otherwise the " "*else* expression is produced." msgstr "" -#: ../../../TableGen/ProgRef.rst:1844 +#: ../../../TableGen/ProgRef.rst:1840 msgid "``!initialized(``\\ *a*\\ ``)``" msgstr "" -#: ../../../TableGen/ProgRef.rst:1843 +#: ../../../TableGen/ProgRef.rst:1839 msgid "" "This operator produces 1 if *a* is not the uninitialized value (``?``) and 0 " "otherwise." msgstr "" -#: ../../../TableGen/ProgRef.rst:1853 +#: ../../../TableGen/ProgRef.rst:1849 msgid "``!instances<``\\ *type*\\ ``>([``\\ *regex*\\ ``])``" msgstr "" -#: ../../../TableGen/ProgRef.rst:1847 +#: ../../../TableGen/ProgRef.rst:1843 msgid "" "This operator produces a list of records whose type is *type*. If *regex* is " "provided, only records whose name matches the regular expression *regex* " @@ -2167,17 +2161,17 @@ msgid "" "Expressions)." msgstr "" -#: ../../../TableGen/ProgRef.rst:1852 +#: ../../../TableGen/ProgRef.rst:1848 msgid "" "If ``!instances`` is in a class/multiclass/foreach, only these records of " "*type* that have been instantiated will be considered." msgstr "" -#: ../../../TableGen/ProgRef.rst:1859 +#: ../../../TableGen/ProgRef.rst:1855 msgid "``!interleave(``\\ *list*\\ ``,`` *delim*\\ ``)``" msgstr "" -#: ../../../TableGen/ProgRef.rst:1856 +#: ../../../TableGen/ProgRef.rst:1852 msgid "" "This operator concatenates the items in the *list*, interleaving the *delim* " "string between each pair, and produces the resulting string. The list can be " @@ -2185,41 +2179,41 @@ msgid "" "string. The delimiter can be the empty string." msgstr "" -#: ../../../TableGen/ProgRef.rst:1863 +#: ../../../TableGen/ProgRef.rst:1859 msgid "``!isa<``\\ *type*\\ ``>(``\\ *a*\\ ``)``" msgstr "" -#: ../../../TableGen/ProgRef.rst:1862 +#: ../../../TableGen/ProgRef.rst:1858 msgid "" "This operator produces 1 if the type of *a* is a subtype of the given " "*type*; 0 otherwise." msgstr "" -#: ../../../TableGen/ProgRef.rst:1867 +#: ../../../TableGen/ProgRef.rst:1863 msgid "``!le(``\\ *a*\\ ``,`` *b*\\ ``)``" msgstr "" -#: ../../../TableGen/ProgRef.rst:1866 +#: ../../../TableGen/ProgRef.rst:1862 msgid "" "This operator produces 1 if *a* is less than or equal to *b*; 0 otherwise. " "The arguments must be ``bit``, ``bits``, ``int``, or ``string`` values." msgstr "" -#: ../../../TableGen/ProgRef.rst:1871 +#: ../../../TableGen/ProgRef.rst:1867 msgid "``!listconcat(``\\ *list1*\\ ``,`` *list2*\\ ``, ...)``" msgstr "" -#: ../../../TableGen/ProgRef.rst:1870 +#: ../../../TableGen/ProgRef.rst:1866 msgid "" "This operator concatenates the list arguments *list1*, *list2*, etc., and " "produces the resulting list. The lists must have the same element type." msgstr "" -#: ../../../TableGen/ProgRef.rst:1877 +#: ../../../TableGen/ProgRef.rst:1873 msgid "``!listflatten(``\\ *list*\\ ``)``" msgstr "" -#: ../../../TableGen/ProgRef.rst:1874 +#: ../../../TableGen/ProgRef.rst:1870 msgid "" "This operator flattens a list of lists *list* and produces a list with all " "elements of the constituent lists concatenated. If *list* is of type " @@ -2227,103 +2221,103 @@ msgid "" "element type is not a list, the result is *list* itself." msgstr "" -#: ../../../TableGen/ProgRef.rst:1881 +#: ../../../TableGen/ProgRef.rst:1877 msgid "``!listremove(``\\ *list1*\\ ``,`` *list2*\\ ``)``" msgstr "" -#: ../../../TableGen/ProgRef.rst:1880 +#: ../../../TableGen/ProgRef.rst:1876 msgid "" "This operator returns a copy of *list1* removing all elements that also " "occur in *list2*. The lists must have the same element type." msgstr "" -#: ../../../TableGen/ProgRef.rst:1886 +#: ../../../TableGen/ProgRef.rst:1882 msgid "``!listsplat(``\\ *value*\\ ``,`` *count*\\ ``)``" msgstr "" -#: ../../../TableGen/ProgRef.rst:1884 +#: ../../../TableGen/ProgRef.rst:1880 msgid "" "This operator produces a list of length *count* whose elements are all equal " "to the *value*. For example, ``!listsplat(42, 3)`` results in ``[42, 42, " "42]``." msgstr "" -#: ../../../TableGen/ProgRef.rst:1891 +#: ../../../TableGen/ProgRef.rst:1887 msgid "``!logtwo(``\\ *a*\\ ``)``" msgstr "" -#: ../../../TableGen/ProgRef.rst:1889 +#: ../../../TableGen/ProgRef.rst:1885 msgid "" "This operator produces the base 2 log of *a* and produces the integer " "result. The log of 0 or a negative number produces an error. This is a " "flooring operation." msgstr "" -#: ../../../TableGen/ProgRef.rst:1895 +#: ../../../TableGen/ProgRef.rst:1891 msgid "``!lt(``\\ *a*\\ `,` *b*\\ ``)``" msgstr "" -#: ../../../TableGen/ProgRef.rst:1894 +#: ../../../TableGen/ProgRef.rst:1890 msgid "" "This operator produces 1 if *a* is less than *b*; 0 otherwise. The arguments " "must be ``bit``, ``bits``, ``int``, or ``string`` values." msgstr "" -#: ../../../TableGen/ProgRef.rst:1899 +#: ../../../TableGen/ProgRef.rst:1895 msgid "``!match(``\\ *str*\\ `,` *regex*\\ ``)``" msgstr "" -#: ../../../TableGen/ProgRef.rst:1898 +#: ../../../TableGen/ProgRef.rst:1894 msgid "" "This operator produces 1 if the *str* matches the regular expression " "*regex*. The format of *regex* is ERE (Extended POSIX Regular Expressions)." msgstr "" -#: ../../../TableGen/ProgRef.rst:1902 +#: ../../../TableGen/ProgRef.rst:1898 msgid "``!mul(``\\ *a*\\ ``,`` *b*\\ ``, ...)``" msgstr "" -#: ../../../TableGen/ProgRef.rst:1902 +#: ../../../TableGen/ProgRef.rst:1898 msgid "This operator multiplies *a*, *b*, etc., and produces the product." msgstr "" -#: ../../../TableGen/ProgRef.rst:1907 +#: ../../../TableGen/ProgRef.rst:1903 msgid "``!ne(``\\ *a*\\ `,` *b*\\ ``)``" msgstr "" -#: ../../../TableGen/ProgRef.rst:1905 +#: ../../../TableGen/ProgRef.rst:1901 msgid "" "This operator produces 1 if *a* is not equal to *b*; 0 otherwise. The " "arguments must be ``bit``, ``bits``, ``int``, ``string``, or record values. " "Use ``!cast`` to compare other types of objects." msgstr "" -#: ../../../TableGen/ProgRef.rst:1912 +#: ../../../TableGen/ProgRef.rst:1908 msgid "``!not(``\\ *a*\\ ``)``" msgstr "" -#: ../../../TableGen/ProgRef.rst:1910 +#: ../../../TableGen/ProgRef.rst:1906 msgid "" "This operator performs a logical NOT on *a*, which must be an integer. The " "argument 0 results in 1 (true); any other argument results in 0 (false)." msgstr "" -#: ../../../TableGen/ProgRef.rst:1918 +#: ../../../TableGen/ProgRef.rst:1914 msgid "``!or(``\\ *a*\\ ``,`` *b*\\ ``, ...)``" msgstr "" -#: ../../../TableGen/ProgRef.rst:1915 +#: ../../../TableGen/ProgRef.rst:1911 msgid "" "This operator does a bitwise OR on *a*, *b*, etc., and produces the result. " "A logical OR can be performed if all the arguments are either 0 or 1. This " "operator is short-circuit to -1 (all ones) when the left-most operand is -1." msgstr "" -#: ../../../TableGen/ProgRef.rst:1934 +#: ../../../TableGen/ProgRef.rst:1930 msgid "``!range([``\\ *start*\\ ``,]`` *end*\\ ``[,``\\ *step*\\ ``])``" msgstr "" -#: ../../../TableGen/ProgRef.rst:1921 +#: ../../../TableGen/ProgRef.rst:1917 msgid "" "This operator produces half-open range sequence ``[start : end : step)`` as " "``list``. *start* is ``0`` and *step* is ``1`` by default. *step* can " @@ -2332,179 +2326,179 @@ msgid "" "``[]``." msgstr "" -#: ../../../TableGen/ProgRef.rst:1927 +#: ../../../TableGen/ProgRef.rst:1923 msgid "For example:" msgstr "" -#: ../../../TableGen/ProgRef.rst:1929 +#: ../../../TableGen/ProgRef.rst:1925 msgid "" "``!range(4)`` is equivalent to ``!range(0, 4, 1)`` and the result is `[0, 1, " "2, 3]`." msgstr "" -#: ../../../TableGen/ProgRef.rst:1931 +#: ../../../TableGen/ProgRef.rst:1927 msgid "" "``!range(1, 4)`` is equivalent to ``!range(1, 4, 1)`` and the result is `[1, " "2, 3]`." msgstr "" -#: ../../../TableGen/ProgRef.rst:1933 +#: ../../../TableGen/ProgRef.rst:1929 msgid "The result of ``!range(0, 4, 2)`` is `[0, 2]`." msgstr "" -#: ../../../TableGen/ProgRef.rst:1934 +#: ../../../TableGen/ProgRef.rst:1930 msgid "The results of ``!range(0, 4, -1)`` and ``!range(4, 0, 1)`` are empty." msgstr "" -#: ../../../TableGen/ProgRef.rst:1937 +#: ../../../TableGen/ProgRef.rst:1933 msgid "``!range(``\\ *list*\\ ``)``" msgstr "" -#: ../../../TableGen/ProgRef.rst:1937 +#: ../../../TableGen/ProgRef.rst:1933 msgid "Equivalent to ``!range(0, !size(list))``." msgstr "" -#: ../../../TableGen/ProgRef.rst:1941 +#: ../../../TableGen/ProgRef.rst:1937 msgid "``!repr(``\\ *value*\\ ``)``" msgstr "" -#: ../../../TableGen/ProgRef.rst:1940 +#: ../../../TableGen/ProgRef.rst:1936 msgid "" "Represents *value* as a string. The string format for the value is not " "guaranteed to be stable. Intended for debugging purposes only." msgstr "" -#: ../../../TableGen/ProgRef.rst:1946 +#: ../../../TableGen/ProgRef.rst:1942 msgid "``!setdagarg(``\\ *dag*\\ ``,``\\ *key*\\ ``,``\\ *arg*\\ ``)``" msgstr "" -#: ../../../TableGen/ProgRef.rst:1944 +#: ../../../TableGen/ProgRef.rst:1940 msgid "" "This operator produces a DAG node with the same operator and arguments as " "*dag*, but replacing the value of the argument specified by the *key* with " "*arg*. That *key* could be either an integer index or a string name." msgstr "" -#: ../../../TableGen/ProgRef.rst:1951 +#: ../../../TableGen/ProgRef.rst:1947 msgid "``!setdagname(``\\ *dag*\\ ``,``\\ *key*\\ ``,``\\ *name*\\ ``)``" msgstr "" -#: ../../../TableGen/ProgRef.rst:1949 +#: ../../../TableGen/ProgRef.rst:1945 msgid "" "This operator produces a DAG node with the same operator and arguments as " "*dag*, but replacing the name of the argument specified by the *key* with " "*name*. That *key* could be either an integer index or a string name." msgstr "" -#: ../../../TableGen/ProgRef.rst:1957 +#: ../../../TableGen/ProgRef.rst:1953 msgid "``!setdagop(``\\ *dag*\\ ``,`` *op*\\ ``)``" msgstr "" -#: ../../../TableGen/ProgRef.rst:1954 +#: ../../../TableGen/ProgRef.rst:1950 msgid "" "This operator produces a DAG node with the same arguments as *dag*, but with " "its operator replaced with *op*." msgstr "" -#: ../../../TableGen/ProgRef.rst:1957 +#: ../../../TableGen/ProgRef.rst:1953 msgid "Example: ``!setdagop((foo 1, 2), bar)`` results in ``(bar 1, 2)``." msgstr "" -#: ../../../TableGen/ProgRef.rst:1961 +#: ../../../TableGen/ProgRef.rst:1957 msgid "``!setdagopname(``\\ *dag*\\ ``,``\\ *name*\\ ``)``" msgstr "" -#: ../../../TableGen/ProgRef.rst:1960 +#: ../../../TableGen/ProgRef.rst:1956 msgid "" "This operator produces a DAG node with the same operator and arguments as " "*dag*, but replacing the name of the operator with *name*." msgstr "" -#: ../../../TableGen/ProgRef.rst:1966 +#: ../../../TableGen/ProgRef.rst:1962 msgid "``!shl(``\\ *a*\\ ``,`` *count*\\ ``)``" msgstr "" -#: ../../../TableGen/ProgRef.rst:1964 +#: ../../../TableGen/ProgRef.rst:1960 msgid "" "This operator shifts *a* left logically by *count* bits and produces the " "resulting value. The operation is performed on a 64-bit integer; the result " "is undefined for shift counts outside 0...63." msgstr "" -#: ../../../TableGen/ProgRef.rst:1970 +#: ../../../TableGen/ProgRef.rst:1966 msgid "``!size(``\\ *a*\\ ``)``" msgstr "" -#: ../../../TableGen/ProgRef.rst:1969 +#: ../../../TableGen/ProgRef.rst:1965 msgid "" "This operator produces the size of the string, list, or dag *a*. The size of " "a DAG is the number of arguments; the operator does not count." msgstr "" -#: ../../../TableGen/ProgRef.rst:1975 +#: ../../../TableGen/ProgRef.rst:1971 msgid "``!sra(``\\ *a*\\ ``,`` *count*\\ ``)``" msgstr "" -#: ../../../TableGen/ProgRef.rst:1973 +#: ../../../TableGen/ProgRef.rst:1969 msgid "" "This operator shifts *a* right arithmetically by *count* bits and produces " "the resulting value. The operation is performed on a 64-bit integer; the " "result is undefined for shift counts outside 0...63." msgstr "" -#: ../../../TableGen/ProgRef.rst:1980 +#: ../../../TableGen/ProgRef.rst:1976 msgid "``!srl(``\\ *a*\\ ``,`` *count*\\ ``)``" msgstr "" -#: ../../../TableGen/ProgRef.rst:1978 +#: ../../../TableGen/ProgRef.rst:1974 msgid "" "This operator shifts *a* right logically by *count* bits and produces the " "resulting value. The operation is performed on a 64-bit integer; the result " "is undefined for shift counts outside 0...63." msgstr "" -#: ../../../TableGen/ProgRef.rst:1984 +#: ../../../TableGen/ProgRef.rst:1980 msgid "``!strconcat(``\\ *str1*\\ ``,`` *str2*\\ ``, ...)``" msgstr "" -#: ../../../TableGen/ProgRef.rst:1983 +#: ../../../TableGen/ProgRef.rst:1979 msgid "" "This operator concatenates the string arguments *str1*, *str2*, etc., and " "produces the resulting string." msgstr "" -#: ../../../TableGen/ProgRef.rst:1987 +#: ../../../TableGen/ProgRef.rst:1983 msgid "``!sub(``\\ *a*\\ ``,`` *b*\\ ``)``" msgstr "" -#: ../../../TableGen/ProgRef.rst:1987 +#: ../../../TableGen/ProgRef.rst:1983 msgid "" "This operator subtracts *b* from *a* and produces the arithmetic difference." msgstr "" -#: ../../../TableGen/ProgRef.rst:1996 +#: ../../../TableGen/ProgRef.rst:1992 msgid "``!subst(``\\ *target*\\ ``,`` *repl*\\ ``,`` *value*\\ ``)``" msgstr "" -#: ../../../TableGen/ProgRef.rst:1990 +#: ../../../TableGen/ProgRef.rst:1986 msgid "" "This operator replaces all occurrences of the *target* in the *value* with " "the *repl* and produces the resulting value. The *value* can be a string, in " "which case substring substitution is performed." msgstr "" -#: ../../../TableGen/ProgRef.rst:1994 +#: ../../../TableGen/ProgRef.rst:1990 msgid "" "The *value* can be a record name, in which case the operator produces the " "*repl* record if the *target* record name equals the *value* record name; " "otherwise it produces the *value*." msgstr "" -#: ../../../TableGen/ProgRef.rst:2003 +#: ../../../TableGen/ProgRef.rst:1999 msgid "``!substr(``\\ *string*\\ ``,`` *start*\\ [``,`` *length*]\\ ``)``" msgstr "" -#: ../../../TableGen/ProgRef.rst:1999 +#: ../../../TableGen/ProgRef.rst:1995 msgid "" "This operator extracts a substring of the given *string*. The starting " "position of the substring is specified by *start*, which can range between 0 " @@ -2513,67 +2507,67 @@ msgid "" "and *length* arguments must be integers." msgstr "" -#: ../../../TableGen/ProgRef.rst:2007 +#: ../../../TableGen/ProgRef.rst:2003 msgid "``!tail(``\\ *a*\\ ``)``" msgstr "" -#: ../../../TableGen/ProgRef.rst:2006 +#: ../../../TableGen/ProgRef.rst:2002 msgid "" "This operator produces a new list with all the elements of the list *a* " "except for the zeroth one. (See also ``!head``.)" msgstr "" -#: ../../../TableGen/ProgRef.rst:2010 +#: ../../../TableGen/ProgRef.rst:2006 msgid "``!tolower(``\\ *a*\\ ``)``" msgstr "" -#: ../../../TableGen/ProgRef.rst:2010 +#: ../../../TableGen/ProgRef.rst:2006 msgid "This operator converts a string input *a* to lower case." msgstr "" -#: ../../../TableGen/ProgRef.rst:2013 +#: ../../../TableGen/ProgRef.rst:2009 msgid "``!toupper(``\\ *a*\\ ``)``" msgstr "" -#: ../../../TableGen/ProgRef.rst:2013 +#: ../../../TableGen/ProgRef.rst:2009 msgid "This operator converts a string input *a* to upper case." msgstr "" -#: ../../../TableGen/ProgRef.rst:2018 +#: ../../../TableGen/ProgRef.rst:2014 msgid "``!xor(``\\ *a*\\ ``,`` *b*\\ ``, ...)``" msgstr "" -#: ../../../TableGen/ProgRef.rst:2016 +#: ../../../TableGen/ProgRef.rst:2012 msgid "" "This operator does a bitwise EXCLUSIVE OR on *a*, *b*, etc., and produces " "the result. A logical XOR can be performed if all the arguments are either 0 " "or 1." msgstr "" -#: ../../../TableGen/ProgRef.rst:2021 +#: ../../../TableGen/ProgRef.rst:2017 msgid "Appendix B: Paste Operator Examples" msgstr "" -#: ../../../TableGen/ProgRef.rst:2023 +#: ../../../TableGen/ProgRef.rst:2019 msgid "" "Here is an example illustrating the use of the paste operator in record " "names." msgstr "" -#: ../../../TableGen/ProgRef.rst:2038 +#: ../../../TableGen/ProgRef.rst:2034 msgid "" "The first ``def`` does not use the value of the ``suffix`` variable. The " "second def does use the value of the ``i`` iterator variable, because it is " "not a global name. The following records are produced." msgstr "" -#: ../../../TableGen/ProgRef.rst:2051 +#: ../../../TableGen/ProgRef.rst:2047 msgid "" "Here is a second example illustrating the paste operator in field value " "expressions." msgstr "" -#: ../../../TableGen/ProgRef.rst:2060 +#: ../../../TableGen/ProgRef.rst:2056 msgid "" "The ``strings`` field expression uses ``suffix`` on both sides of the paste " "operator. It is evaluated normally on the left hand side, but taken verbatim " @@ -2582,18 +2576,18 @@ msgid "" "produced." msgstr "" -#: ../../../TableGen/ProgRef.rst:2075 +#: ../../../TableGen/ProgRef.rst:2071 msgid "Appendix C: Sample Record" msgstr "" -#: ../../../TableGen/ProgRef.rst:2077 +#: ../../../TableGen/ProgRef.rst:2073 msgid "" "One target machine supported by LLVM is the Intel x86. The following output " "from TableGen shows the record that is created to represent the 32-bit " "register-to-register ADD instruction." msgstr "" -#: ../../../TableGen/ProgRef.rst:2195 +#: ../../../TableGen/ProgRef.rst:2191 msgid "" "On the first line of the record, you can see that the ``ADD32rr`` record " "inherited from eight classes. Although the inheritance hierarchy is complex, " @@ -2601,13 +2595,13 @@ msgid "" "fields for each instruction." msgstr "" -#: ../../../TableGen/ProgRef.rst:2200 +#: ../../../TableGen/ProgRef.rst:2196 msgid "" "Here is the code fragment used to define ``ADD32rr`` and multiple other " "``ADD`` instructions:" msgstr "" -#: ../../../TableGen/ProgRef.rst:2208 +#: ../../../TableGen/ProgRef.rst:2204 msgid "" "The ``defm`` statement tells TableGen that ``ArithBinOp_RF`` is a " "multiclass, which contains multiple concrete record definitions that inherit " diff --git a/main/locale/pot/LC_MESSAGES/TestSuiteGuide.pot b/main/locale/pot/LC_MESSAGES/TestSuiteGuide.pot index 01970ed2ea5..3747fc7599a 100644 --- a/main/locale/pot/LC_MESSAGES/TestSuiteGuide.pot +++ b/main/locale/pot/LC_MESSAGES/TestSuiteGuide.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: LLVM main\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-10-13 08:36+0000\n" +"POT-Creation-Date: 2026-03-09 08:48+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -901,20 +901,3 @@ msgid "" "test-suite](https://llvm.org/docs/lnt/tests.html#llvm-cmake-test-suite) for " "details." msgstr "" - -#: ../../../TestSuiteGuide.md:489 -msgid "Running the test-suite via Makefiles (deprecated)" -msgstr "" - -#: ../../../TestSuiteGuide.md:492 -msgid "" -"**Note**: The test-suite comes with a set of Makefiles that are considered " -"deprecated. They do not support newer testing modes like `Bitcode` or " -"`Microbenchmarks` and are harder to use." -msgstr "" - -#: ../../../TestSuiteGuide.md:496 -msgid "" -"Old documentation is available in the [test-suite Makefile Guide]" -"(TestSuiteMakefileGuide)." -msgstr "" diff --git a/main/locale/pot/LC_MESSAGES/TestingGuide.pot b/main/locale/pot/LC_MESSAGES/TestingGuide.pot index 4c63f995ee1..5375af6fcc4 100644 --- a/main/locale/pot/LC_MESSAGES/TestingGuide.pot +++ b/main/locale/pot/LC_MESSAGES/TestingGuide.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: LLVM main\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-10-13 08:36+0000\n" +"POT-Creation-Date: 2026-03-09 08:48+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -21,33 +21,33 @@ msgstr "" msgid "LLVM Testing Infrastructure Guide" msgstr "" -#: ../../../TestingGuide.rst:15 +#: ../../../TestingGuide.rst:14 msgid "Overview" msgstr "" -#: ../../../TestingGuide.rst:17 +#: ../../../TestingGuide.rst:16 msgid "" "This document is the reference manual for the LLVM testing infrastructure. " "It documents the structure of the LLVM testing infrastructure, the tools " "needed to use it, and how to add and run tests." msgstr "" -#: ../../../TestingGuide.rst:23 +#: ../../../TestingGuide.rst:22 msgid "Requirements" msgstr "" -#: ../../../TestingGuide.rst:25 +#: ../../../TestingGuide.rst:24 msgid "" "In order to use the LLVM testing infrastructure, you will need all of the " "software required to build LLVM, as well as `Python `_ " "3.8 or later." msgstr "" -#: ../../../TestingGuide.rst:30 +#: ../../../TestingGuide.rst:29 msgid "LLVM Testing Infrastructure Organization" msgstr "" -#: ../../../TestingGuide.rst:32 +#: ../../../TestingGuide.rst:31 msgid "" "The LLVM testing infrastructure contains three major categories of tests: " "unit tests, regression tests, and whole programs. The unit tests and " @@ -56,7 +56,7 @@ msgid "" "pass. They should be run before every commit." msgstr "" -#: ../../../TestingGuide.rst:38 +#: ../../../TestingGuide.rst:37 msgid "" "The whole-program tests are referred to as the \"LLVM test suite\" (or " "\"test-suite\") and are in the ``test-suite`` `repository on GitHub `_ and `Google Mock `_ for an example of such test." msgstr "" -#: ../../../TestingGuide.rst:81 +#: ../../../TestingGuide.rst:80 msgid "``test-suite``" msgstr "" -#: ../../../TestingGuide.rst:83 +#: ../../../TestingGuide.rst:82 msgid "" "The test suite contains whole programs, which are pieces of code which can " "be compiled and linked into a stand-alone program that can be executed. " @@ -129,7 +129,7 @@ msgid "" "C++." msgstr "" -#: ../../../TestingGuide.rst:88 +#: ../../../TestingGuide.rst:87 msgid "" "These programs are compiled using a user-specified compiler and set of " "flags, and then executed to capture the program output and timing " @@ -137,7 +137,7 @@ msgid "" "to ensure that the program is being compiled correctly." msgstr "" -#: ../../../TestingGuide.rst:93 +#: ../../../TestingGuide.rst:92 msgid "" "In addition to compiling and executing programs, whole-program tests serve " "as a way of benchmarking LLVM performance, both in terms of the efficiency " @@ -145,27 +145,27 @@ msgid "" "optimizes, and generates code." msgstr "" -#: ../../../TestingGuide.rst:98 +#: ../../../TestingGuide.rst:97 msgid "" "The test-suite is located in the ``test-suite`` `repository on GitHub " "`_." msgstr "" -#: ../../../TestingGuide.rst:101 +#: ../../../TestingGuide.rst:100 msgid "See the :doc:`TestSuiteGuide` for details." msgstr "" -#: ../../../TestingGuide.rst:104 ../../../TestingGuide.rst:191 +#: ../../../TestingGuide.rst:103 ../../../TestingGuide.rst:190 msgid "Debugging Information tests" msgstr "" -#: ../../../TestingGuide.rst:106 +#: ../../../TestingGuide.rst:105 msgid "" "The test suite contains tests to check the quality of debugging information. " "The tests are written in C-based languages or in LLVM assembly language." msgstr "" -#: ../../../TestingGuide.rst:109 +#: ../../../TestingGuide.rst:108 msgid "" "These tests are compiled and run under a debugger. The debugger output is " "checked to validate the debugging information. See ``README.txt`` in the " @@ -173,11 +173,11 @@ msgid "" "project-tests/debuginfo-tests`` directory." msgstr "" -#: ../../../TestingGuide.rst:115 +#: ../../../TestingGuide.rst:114 msgid "Quick start" msgstr "" -#: ../../../TestingGuide.rst:117 +#: ../../../TestingGuide.rst:116 msgid "" "The tests are located in two separate repositories. The unit and regression " "tests are in the main \"llvm\"/ directory under the directories ``llvm/" @@ -186,65 +186,65 @@ msgid "" "after building LLVM." msgstr "" -#: ../../../TestingGuide.rst:123 +#: ../../../TestingGuide.rst:122 msgid "" "The ``test-suite`` module contains more comprehensive tests including whole " "C and C++ programs. See the :doc:`TestSuiteGuide` for details." msgstr "" -#: ../../../TestingGuide.rst:127 +#: ../../../TestingGuide.rst:126 msgid "Unit and Regression tests" msgstr "" -#: ../../../TestingGuide.rst:129 +#: ../../../TestingGuide.rst:128 msgid "To run all of the LLVM unit tests, use the ``check-llvm-unit`` target:" msgstr "" -#: ../../../TestingGuide.rst:135 +#: ../../../TestingGuide.rst:134 msgid "To run all of the LLVM regression tests, use the ``check-llvm`` target:" msgstr "" -#: ../../../TestingGuide.rst:141 +#: ../../../TestingGuide.rst:140 msgid "" "In order to get reasonable testing performance, build LLVM and subprojects " "in release mode, i.e.," msgstr "" -#: ../../../TestingGuide.rst:148 +#: ../../../TestingGuide.rst:147 msgid "" "If you have `Clang `_ checked out and built, you " "can run the LLVM and Clang tests simultaneously using:" msgstr "" -#: ../../../TestingGuide.rst:155 +#: ../../../TestingGuide.rst:154 msgid "" "To run the tests with Valgrind (Memcheck by default), use the ``LIT_OPTS`` " "make variable to pass the required options to lit. For example, you can use:" msgstr "" -#: ../../../TestingGuide.rst:162 +#: ../../../TestingGuide.rst:161 msgid "to enable testing with Valgrind and with leak checking enabled." msgstr "" -#: ../../../TestingGuide.rst:164 +#: ../../../TestingGuide.rst:163 msgid "" "To run individual tests or subsets of tests, you can use the ``llvm-lit`` " "script which is built as part of LLVM. For example, to run the ``Integer/" "BitPacked.ll`` test by itself, you can run:" msgstr "" -#: ../../../TestingGuide.rst:173 +#: ../../../TestingGuide.rst:172 msgid "" "The test files are in the ``llvm-project`` directory, not the directory you " "are building LLVM in." msgstr "" -#: ../../../TestingGuide.rst:176 +#: ../../../TestingGuide.rst:175 msgid "" "Or you can run a whole folder of tests. To run all of the ARM CodeGen tests:" msgstr "" -#: ../../../TestingGuide.rst:182 +#: ../../../TestingGuide.rst:181 msgid "" "The regression tests will use the Python psutil module only if installed in " "a **non-user** location. Under Linux, install with sudo or within a virtual " @@ -252,29 +252,29 @@ msgid "" "install psutil`` in an elevated command prompt." msgstr "" -#: ../../../TestingGuide.rst:187 +#: ../../../TestingGuide.rst:186 msgid "" "For more information on using the :program:`lit` tool, see ``llvm-lit --" "help`` or the :doc:`lit man page `." msgstr "" -#: ../../../TestingGuide.rst:193 +#: ../../../TestingGuide.rst:192 msgid "" "To run debugging information tests simply add the ``cross-project-tests`` " "project to your ``LLVM_ENABLE_PROJECTS`` define on the cmake command-line." msgstr "" -#: ../../../TestingGuide.rst:198 +#: ../../../TestingGuide.rst:197 msgid "Regression test structure" msgstr "" -#: ../../../TestingGuide.rst:200 +#: ../../../TestingGuide.rst:199 msgid "" "The LLVM regression tests are driven by :program:`lit` and are located in " "the ``llvm/test`` directory." msgstr "" -#: ../../../TestingGuide.rst:203 +#: ../../../TestingGuide.rst:202 msgid "" "This directory contains a large array of small tests that exercise various " "features of LLVM and to ensure that regressions do not occur. The directory " @@ -282,11 +282,11 @@ msgid "" "LLVM." msgstr "" -#: ../../../TestingGuide.rst:209 +#: ../../../TestingGuide.rst:208 msgid "Writing new regression tests" msgstr "" -#: ../../../TestingGuide.rst:211 +#: ../../../TestingGuide.rst:210 msgid "" "The regression test structure is very simple but does require some " "information to be set. This information is gathered via ``cmake`` and is " @@ -294,7 +294,7 @@ msgid "" "``llvm/test`` Makefile does this work for you." msgstr "" -#: ../../../TestingGuide.rst:216 +#: ../../../TestingGuide.rst:215 msgid "" "In order for the regression tests to work, each directory of tests must have " "a ``lit.local.cfg`` file. :program:`lit` looks for this file to determine " @@ -307,14 +307,14 @@ msgid "" "documentation ` for more information." msgstr "" -#: ../../../TestingGuide.rst:226 +#: ../../../TestingGuide.rst:225 msgid "" "Each test file must contain lines starting with \"RUN:\" that tell :program:" "`lit` how to run it. If there are no ``RUN`` lines, :program:`lit` will " "issue an error while running a test." msgstr "" -#: ../../../TestingGuide.rst:230 +#: ../../../TestingGuide.rst:229 msgid "" "``RUN`` lines are specified in the comments of the test program using the " "keyword ``RUN`` followed by a colon, and lastly the command (pipeline) to " @@ -327,7 +327,7 @@ msgid "" "as many ``RUN`` lines as needed." msgstr "" -#: ../../../TestingGuide.rst:240 +#: ../../../TestingGuide.rst:239 msgid "" ":program:`lit` performs substitution on each ``RUN`` line to replace LLVM " "tool names with the full paths to the executable built for each tool (in " @@ -335,7 +335,7 @@ msgid "" "any stray LLVM tools in the user's path during testing." msgstr "" -#: ../../../TestingGuide.rst:245 +#: ../../../TestingGuide.rst:244 msgid "" "Each ``RUN`` line is executed on its own, distinct from other lines unless " "its last character is ``\\``. This continuation character causes the ``RUN`` " @@ -348,17 +348,17 @@ msgid "" "line (and test case) fails too." msgstr "" -#: ../../../TestingGuide.rst:255 +#: ../../../TestingGuide.rst:254 msgid "Below is an example of legal ``RUN`` lines in a ``.ll`` file:" msgstr "" -#: ../../../TestingGuide.rst:263 +#: ../../../TestingGuide.rst:262 msgid "" "As with a Unix shell, the ``RUN`` lines permit pipelines and I/O redirection " "to be used." msgstr "" -#: ../../../TestingGuide.rst:266 +#: ../../../TestingGuide.rst:265 msgid "" "There are some quoting rules that you must pay attention to when writing " "your ``RUN`` lines. In general, nothing needs to be quoted. :program:`lit` " @@ -367,7 +367,7 @@ msgid "" "should treat everything enclosed as one value." msgstr "" -#: ../../../TestingGuide.rst:272 +#: ../../../TestingGuide.rst:271 msgid "" "In general, you should strive to keep your ``RUN`` lines as simple as " "possible, using them only to run tools that generate textual output you can " @@ -377,44 +377,44 @@ msgid "" "commit patches that use it.]*" msgstr "" -#: ../../../TestingGuide.rst:278 +#: ../../../TestingGuide.rst:277 msgid "" "Put related tests into a single file rather than having a separate file per " "test. Check if there are files already covering your feature and consider " "adding your code there instead of creating a new file." msgstr "" -#: ../../../TestingGuide.rst:283 +#: ../../../TestingGuide.rst:282 msgid "Generating assertions in regression tests" msgstr "" -#: ../../../TestingGuide.rst:285 +#: ../../../TestingGuide.rst:284 msgid "" "Some regression test cases are very large and complex to write/update by " "hand. In that case, to reduce the manual work, we can use the scripts " "available in ``llvm/utils/`` to generate the assertions." msgstr "" -#: ../../../TestingGuide.rst:289 +#: ../../../TestingGuide.rst:288 msgid "" "For example, to generate assertions in an :program:`llc`-based test, after " "adding one or more ``RUN`` lines, use:" msgstr "" -#: ../../../TestingGuide.rst:296 +#: ../../../TestingGuide.rst:295 msgid "" "This will generate FileCheck assertions, and insert a ``NOTE:`` line at the " "top to indicate that assertions were automatically generated." msgstr "" -#: ../../../TestingGuide.rst:299 +#: ../../../TestingGuide.rst:298 msgid "" "If you want to update assertions in an existing test case, pass the `-u` " "option which first checks the ``NOTE:`` line exists and matches the script " "name." msgstr "" -#: ../../../TestingGuide.rst:302 +#: ../../../TestingGuide.rst:301 msgid "" "Sometimes, a test absolutely depends on hand-written assertions and should " "not have assertions automatically generated. In that case, add the text " @@ -423,17 +423,17 @@ msgid "" "work for the test so future developers will understand what is going on." msgstr "" -#: ../../../TestingGuide.rst:308 +#: ../../../TestingGuide.rst:307 msgid "" "These are the most common scripts and their purposes/applications in " "generating assertions:" msgstr "" -#: ../../../TestingGuide.rst:332 +#: ../../../TestingGuide.rst:334 msgid "Precommit workflow for tests" msgstr "" -#: ../../../TestingGuide.rst:334 +#: ../../../TestingGuide.rst:336 msgid "" "If the test does not crash, assert, or infinite loop, commit the test with " "baseline check-lines first. That is, the test will show a miscompile or " @@ -441,7 +441,7 @@ msgid "" "something is expected to change in a test." msgstr "" -#: ../../../TestingGuide.rst:339 +#: ../../../TestingGuide.rst:341 msgid "" "A follow-up patch with code changes to the compiler will then show check-" "line differences to the tests, so it is easier to see the effect of the " @@ -449,117 +449,117 @@ msgid "" "solved." msgstr "" -#: ../../../TestingGuide.rst:343 +#: ../../../TestingGuide.rst:345 msgid "" "Baseline tests (no-functional-change or NFC patch) may be pushed to main " "without pre-commit review if you have commit access." msgstr "" -#: ../../../TestingGuide.rst:347 +#: ../../../TestingGuide.rst:349 msgid "Best practices for regression tests" msgstr "" -#: ../../../TestingGuide.rst:349 +#: ../../../TestingGuide.rst:351 msgid "" "Use auto-generated check lines (produced by the scripts mentioned above) " "whenever feasible." msgstr "" -#: ../../../TestingGuide.rst:351 +#: ../../../TestingGuide.rst:353 msgid "" "Include comments about what is tested/expected in a particular test. If " "there are relevant issues in the bug tracker, add references to those bug " "reports (for example, \"See PR999 for more details\")." msgstr "" -#: ../../../TestingGuide.rst:354 +#: ../../../TestingGuide.rst:356 msgid "" "Avoid undefined behavior and poison/undef values unless necessary. For " "example, do not use patterns like ``br i1 undef``, which are likely to break " "as a result of future optimizations." msgstr "" -#: ../../../TestingGuide.rst:357 +#: ../../../TestingGuide.rst:359 msgid "" "Minimize tests by removing unnecessary instructions, metadata, attributes, " "etc. Tools like ``llvm-reduce`` can help automate this." msgstr "" -#: ../../../TestingGuide.rst:359 +#: ../../../TestingGuide.rst:361 msgid "" "Outside PhaseOrdering tests, only run a minimal set of passes. For example, " "prefer ``opt -S -passes=instcombine`` over ``opt -S -O3``." msgstr "" -#: ../../../TestingGuide.rst:361 +#: ../../../TestingGuide.rst:363 msgid "" "Avoid unnamed instructions/blocks (such as ``%0`` or ``1:``), because they " "may require renumbering on future test modifications. These can be removed " "by running the test through ``opt -S -passes=instnamer``." msgstr "" -#: ../../../TestingGuide.rst:364 +#: ../../../TestingGuide.rst:366 msgid "" "Try to give values (including variables, blocks and functions) meaningful " "names, and avoid retaining complex names generated by the optimization " "pipeline (such as ``%foo.0.0.0.0.0.0``)." msgstr "" -#: ../../../TestingGuide.rst:369 +#: ../../../TestingGuide.rst:371 msgid "Extra files" msgstr "" -#: ../../../TestingGuide.rst:371 +#: ../../../TestingGuide.rst:373 msgid "" "If your test requires extra files besides the file containing the ``RUN:`` " "lines, and the extra files are small, consider specifying them in the same " "file and using ``split-file`` to extract them. For example," msgstr "" -#: ../../../TestingGuide.rst:387 +#: ../../../TestingGuide.rst:389 msgid "The parts are separated by the regex ``^(.|//)--- ``." msgstr "" -#: ../../../TestingGuide.rst:389 +#: ../../../TestingGuide.rst:391 msgid "" "If you want to test relative line numbers like ``[[#@LINE+1]]``, specify ``--" "leading-lines`` to add leading empty lines to preserve line numbers." msgstr "" -#: ../../../TestingGuide.rst:392 +#: ../../../TestingGuide.rst:394 msgid "" "If the extra files are large, the idiomatic place to put them is in a " "subdirectory ``Inputs``. You can then refer to the extra files as ``%S/" "Inputs/foo.bar``." msgstr "" -#: ../../../TestingGuide.rst:395 +#: ../../../TestingGuide.rst:397 msgid "" "For example, consider ``test/Linker/ident.ll``. The directory structure is " "as follows::" msgstr "" -#: ../../../TestingGuide.rst:405 +#: ../../../TestingGuide.rst:407 msgid "For convenience, these are the contents:" msgstr "" -#: ../../../TestingGuide.rst:431 +#: ../../../TestingGuide.rst:433 msgid "" "For symmetry, ``ident.ll`` is just a dummy file that doesn't actually " "participate in the test besides holding the ``RUN:`` lines." msgstr "" -#: ../../../TestingGuide.rst:436 +#: ../../../TestingGuide.rst:438 msgid "" "Some existing tests use ``RUN: true`` in extra files instead of just putting " "the extra files in an ``Inputs/`` directory. This pattern is deprecated." msgstr "" -#: ../../../TestingGuide.rst:441 +#: ../../../TestingGuide.rst:443 msgid "Elaborated tests" msgstr "" -#: ../../../TestingGuide.rst:443 +#: ../../../TestingGuide.rst:445 msgid "" "Generally, IR and assembly test files benefit from being cleaned to remove " "unnecessary details. However, for tests requiring elaborate IR or assembly " @@ -569,74 +569,74 @@ msgid "" "update_test_body.py`` on the test file to generate the needed content." msgstr "" -#: ../../../TestingGuide.rst:470 +#: ../../../TestingGuide.rst:472 msgid "" "The script will prepare extra files with ``split-file``, invoke ``gen``, and " "then rewrite the part after ``gen`` with its stdout." msgstr "" -#: ../../../TestingGuide.rst:473 +#: ../../../TestingGuide.rst:475 msgid "" "For convenience, if the test needs a single assembly file, you can also wrap " "``gen`` and its required files with ``.ifdef`` and ``.endif``. Then you can " "skip ``split-file`` in ``RUN`` lines." msgstr "" -#: ../../../TestingGuide.rst:494 +#: ../../../TestingGuide.rst:496 msgid "" "Consider specifying an explicit target triple to avoid differences when " "regeneration is needed on another machine." msgstr "" -#: ../../../TestingGuide.rst:497 +#: ../../../TestingGuide.rst:499 msgid "" "``gen`` is invoked with ``PWD`` set to ``/proc/self/cwd``. Clang commands " "don't need ``-fdebug-compilation-dir=`` since its default value is ``PWD``." msgstr "" -#: ../../../TestingGuide.rst:500 +#: ../../../TestingGuide.rst:502 msgid "" "Check prefixes should be placed before ``.endif`` since the part after ``." "endif`` is replaced." msgstr "" -#: ../../../TestingGuide.rst:503 +#: ../../../TestingGuide.rst:505 msgid "" "If the test body contains multiple files, you can print ``---`` separators " "and utilize ``split-file`` in ``RUN`` lines." msgstr "" -#: ../../../TestingGuide.rst:522 +#: ../../../TestingGuide.rst:524 msgid "Fragile tests" msgstr "" -#: ../../../TestingGuide.rst:524 +#: ../../../TestingGuide.rst:526 msgid "" "It is easy to write a fragile test that could fail spuriously if the tool " "being tested outputs a full path to the input file. For example, :program:" "`opt` by default outputs a ``ModuleID``:" msgstr "" -#: ../../../TestingGuide.rst:542 +#: ../../../TestingGuide.rst:544 msgid "" "``ModuleID`` can unexpectedly match against ``CHECK`` lines. For example:" msgstr "" -#: ../../../TestingGuide.rst:553 +#: ../../../TestingGuide.rst:555 msgid "This test will fail if placed into a ``download`` directory." msgstr "" -#: ../../../TestingGuide.rst:555 +#: ../../../TestingGuide.rst:557 msgid "" "To make your tests robust, always use ``opt ... < %s`` in the ``RUN`` line. :" "program:`opt` does not output a ``ModuleID`` when input comes from stdin." msgstr "" -#: ../../../TestingGuide.rst:559 +#: ../../../TestingGuide.rst:561 msgid "Platform-Specific Tests" msgstr "" -#: ../../../TestingGuide.rst:561 +#: ../../../TestingGuide.rst:563 msgid "" "Whenever adding tests that require the knowledge of a specific platform, " "either related to code generated, specific output or back-end features, you " @@ -644,29 +644,29 @@ msgid "" "architectures (and don't even compile all back-ends), don't fail." msgstr "" -#: ../../../TestingGuide.rst:567 +#: ../../../TestingGuide.rst:569 msgid "" "The first problem is to check for target-specific output, for example sizes " "of structures, paths and architecture names, for example:" msgstr "" -#: ../../../TestingGuide.rst:570 +#: ../../../TestingGuide.rst:572 msgid "Tests containing Windows paths will fail on Linux and vice versa." msgstr "" -#: ../../../TestingGuide.rst:571 +#: ../../../TestingGuide.rst:573 msgid "" "Tests that check for ``x86_64`` somewhere in the text will fail anywhere " "else." msgstr "" -#: ../../../TestingGuide.rst:572 +#: ../../../TestingGuide.rst:574 msgid "" "Tests where the debug information calculates the size of types and " "structures." msgstr "" -#: ../../../TestingGuide.rst:574 +#: ../../../TestingGuide.rst:576 msgid "" "Also, if the test relies on any behaviour that is coded in any back-end, it " "must go in its own directory. So, for instance, code generator tests for ARM " @@ -675,28 +675,28 @@ msgid "" "only run if a specific back-end is compiled and available." msgstr "" -#: ../../../TestingGuide.rst:580 +#: ../../../TestingGuide.rst:582 msgid "For instance, on ``test/CodeGen/ARM``, the ``lit.local.cfg`` is:" msgstr "" -#: ../../../TestingGuide.rst:588 +#: ../../../TestingGuide.rst:590 msgid "" "Other platform-specific tests are those that depend on a specific feature of " "a specific sub-architecture, for example only to Intel chips that support " "``AVX2``." msgstr "" -#: ../../../TestingGuide.rst:591 +#: ../../../TestingGuide.rst:593 msgid "" "For instance, ``test/CodeGen/X86/psubus.ll`` tests three sub-architecture " "variants:" msgstr "" -#: ../../../TestingGuide.rst:600 +#: ../../../TestingGuide.rst:602 msgid "And the checks are different:" msgstr "" -#: ../../../TestingGuide.rst:611 +#: ../../../TestingGuide.rst:613 msgid "" "So, if you're testing for a behaviour that you know is platform-specific or " "depends on special features of sub-architectures, you must add the specific " @@ -704,18 +704,18 @@ msgid "" "directory that will filter out all other architectures." msgstr "" -#: ../../../TestingGuide.rst:618 +#: ../../../TestingGuide.rst:620 msgid "Constraining test execution" msgstr "" -#: ../../../TestingGuide.rst:620 +#: ../../../TestingGuide.rst:622 msgid "" "Some tests can be run only in specific configurations, such as with debug " "builds or on particular platforms. Use ``REQUIRES`` and ``UNSUPPORTED`` to " "control when the test is enabled." msgstr "" -#: ../../../TestingGuide.rst:624 +#: ../../../TestingGuide.rst:626 msgid "" "Some tests are expected to fail. For example, there may be a known bug that " "the test detects. Use ``XFAIL`` to mark a test as an expected failure. An " @@ -723,13 +723,13 @@ msgid "" "failure if its execution succeeds." msgstr "" -#: ../../../TestingGuide.rst:638 +#: ../../../TestingGuide.rst:640 msgid "" "``REQUIRES`` and ``UNSUPPORTED`` and ``XFAIL`` all accept a comma-separated " "list of boolean expressions. The values in each expression may be:" msgstr "" -#: ../../../TestingGuide.rst:641 +#: ../../../TestingGuide.rst:643 msgid "" "Features added to ``config.available_features`` by configuration files such " "as ``lit.cfg``. String comparison of features is case-sensitive. " @@ -740,7 +740,7 @@ msgid "" "``hello``, ``helllo``, and so on." msgstr "" -#: ../../../TestingGuide.rst:647 +#: ../../../TestingGuide.rst:649 msgid "" "The default target triple, preceded by the string ``target=`` (for example, " "``target=x86_64-pc-windows-msvc``). Typically, regular expressions are used " @@ -748,33 +748,33 @@ msgid "" "to match any Windows target triple)." msgstr "" -#: ../../../TestingGuide.rst:652 +#: ../../../TestingGuide.rst:654 msgid "``REQUIRES`` enables the test if all expressions are true." msgstr "" -#: ../../../TestingGuide.rst:653 +#: ../../../TestingGuide.rst:655 msgid "``UNSUPPORTED`` disables the test if any expression is true." msgstr "" -#: ../../../TestingGuide.rst:654 +#: ../../../TestingGuide.rst:656 msgid "``XFAIL`` expects the test to fail if any expression is true." msgstr "" -#: ../../../TestingGuide.rst:656 +#: ../../../TestingGuide.rst:658 msgid "" "Use, ``XFAIL: *`` if the test is expected to fail everywhere. Similarly, use " "``UNSUPPORTED: target={{.*}}`` to disable the test everywhere." msgstr "" -#: ../../../TestingGuide.rst:669 +#: ../../../TestingGuide.rst:671 msgid "Tips for writing constraints" msgstr "" -#: ../../../TestingGuide.rst:671 +#: ../../../TestingGuide.rst:673 msgid "**``REQUIRES`` and ``UNSUPPORTED``**" msgstr "" -#: ../../../TestingGuide.rst:673 +#: ../../../TestingGuide.rst:675 msgid "" "These are logical inverses. In principle, ``UNSUPPORTED`` isn't absolutely " "necessary (the logical negation could be used with ``REQUIRES`` to get " @@ -784,11 +784,11 @@ msgid "" "the test is expected never to work." msgstr "" -#: ../../../TestingGuide.rst:680 +#: ../../../TestingGuide.rst:682 msgid "**``UNSUPPORTED`` and ``XFAIL``**" msgstr "" -#: ../../../TestingGuide.rst:682 +#: ../../../TestingGuide.rst:684 msgid "" "Both of these indicate that the test isn't expected to work; however, they " "have different effects. ``UNSUPPORTED`` causes the test to be skipped; this " @@ -799,11 +799,11 @@ msgid "" "need to decide which is more appropriate in each case." msgstr "" -#: ../../../TestingGuide.rst:690 +#: ../../../TestingGuide.rst:692 msgid "**Using ``target=...``**" msgstr "" -#: ../../../TestingGuide.rst:692 +#: ../../../TestingGuide.rst:694 msgid "" "Checking the target triple can be tricky; it's easy to mis-specify. For " "example, ``target=mips{{.*}}`` will match not only mips, but also mipsel, " @@ -813,7 +813,7 @@ msgid "" "idea to use a trailing wildcard to allow for unexpected suffixes." msgstr "" -#: ../../../TestingGuide.rst:700 +#: ../../../TestingGuide.rst:702 msgid "" "Also, it's generally better to write regular expressions that use entire " "triple components than to do something clever to shorten them. For example, " @@ -823,55 +823,55 @@ msgid "" "``target={{.+-freebsd.*}} || target={{.+-netbsd.*}}``" msgstr "" -#: ../../../TestingGuide.rst:709 +#: ../../../TestingGuide.rst:711 msgid "Substitutions" msgstr "" -#: ../../../TestingGuide.rst:711 +#: ../../../TestingGuide.rst:713 msgid "" "Besides replacing LLVM tool names, the following substitutions are performed " "in ``RUN`` lines:" msgstr "" -#: ../../../TestingGuide.rst:715 +#: ../../../TestingGuide.rst:717 msgid "``%%``" msgstr "" -#: ../../../TestingGuide.rst:715 +#: ../../../TestingGuide.rst:717 msgid "Replaced by a single ``%``. This allows escaping other substitutions." msgstr "" -#: ../../../TestingGuide.rst:721 +#: ../../../TestingGuide.rst:723 msgid "``%s``" msgstr "" -#: ../../../TestingGuide.rst:718 +#: ../../../TestingGuide.rst:720 msgid "" "File path to the test case's source. This is suitable for passing on the " "command line as the input to an LLVM tool." msgstr "" -#: ../../../TestingGuide.rst:721 +#: ../../../TestingGuide.rst:723 msgid "Example: ``/home/user/llvm/test/MC/ELF/foo_test.s``" msgstr "" -#: ../../../TestingGuide.rst:726 +#: ../../../TestingGuide.rst:728 msgid "``%S``" msgstr "" -#: ../../../TestingGuide.rst:724 +#: ../../../TestingGuide.rst:726 msgid "Directory path to the test case's source." msgstr "" -#: ../../../TestingGuide.rst:726 +#: ../../../TestingGuide.rst:728 msgid "Example: ``/home/user/llvm/test/MC/ELF``" msgstr "" -#: ../../../TestingGuide.rst:734 +#: ../../../TestingGuide.rst:736 msgid "``%t``" msgstr "" -#: ../../../TestingGuide.rst:729 +#: ../../../TestingGuide.rst:731 msgid "" "File path to a temporary file name that can be used for this test case. The " "file name won't conflict with other test cases. You can append to it if you " @@ -879,163 +879,163 @@ msgid "" "redirected output." msgstr "" -#: ../../../TestingGuide.rst:734 +#: ../../../TestingGuide.rst:736 msgid "Example: ``/home/user/llvm.build/test/MC/ELF/Output/foo_test.s.tmp``" msgstr "" -#: ../../../TestingGuide.rst:742 +#: ../../../TestingGuide.rst:744 msgid "``%T``" msgstr "" -#: ../../../TestingGuide.rst:737 +#: ../../../TestingGuide.rst:739 msgid "" "Directory of ``%t``. Deprecated. Shouldn't be used, because it can be easily " "misused and cause race conditions between tests." msgstr "" -#: ../../../TestingGuide.rst:740 +#: ../../../TestingGuide.rst:742 msgid "" "Use ``rm -rf %t && mkdir %t`` instead if a temporary directory is necessary." msgstr "" -#: ../../../TestingGuide.rst:742 +#: ../../../TestingGuide.rst:744 msgid "Example: ``/home/user/llvm.build/test/MC/ELF/Output``" msgstr "" -#: ../../../TestingGuide.rst:744 +#: ../../../TestingGuide.rst:746 msgid "``%{pathsep}``" msgstr "" -#: ../../../TestingGuide.rst:746 +#: ../../../TestingGuide.rst:748 msgid "Expands to the path separator, i.e. ``:`` (or ``;`` on Windows)." msgstr "" -#: ../../../TestingGuide.rst:750 +#: ../../../TestingGuide.rst:752 msgid "``%{fs-src-root}``" msgstr "" -#: ../../../TestingGuide.rst:749 +#: ../../../TestingGuide.rst:751 msgid "" "Expands to the root component of file system paths for the source directory, " "i.e. ``/`` on Unix systems or ``C:\\`` (or another drive) on Windows." msgstr "" -#: ../../../TestingGuide.rst:755 +#: ../../../TestingGuide.rst:757 msgid "``%{fs-tmp-root}``" msgstr "" -#: ../../../TestingGuide.rst:753 +#: ../../../TestingGuide.rst:755 msgid "" "Expands to the root component of file system paths for the test's temporary " "directory, i.e. ``/`` on Unix systems or ``C:\\`` (or another drive) on " "Windows." msgstr "" -#: ../../../TestingGuide.rst:758 +#: ../../../TestingGuide.rst:760 msgid "``%{fs-sep}``" msgstr "" -#: ../../../TestingGuide.rst:758 +#: ../../../TestingGuide.rst:760 msgid "Expands to the file system separator, i.e. ``/`` or ``\\`` on Windows." msgstr "" -#: ../../../TestingGuide.rst:760 +#: ../../../TestingGuide.rst:762 msgid "``%/s, %/S, %/t, %/T``" msgstr "" -#: ../../../TestingGuide.rst:762 +#: ../../../TestingGuide.rst:764 msgid "" "Act like the corresponding substitution above but replace any ``\\`` " "character with a ``/``. This is useful to normalize path separators." msgstr "" -#: ../../../TestingGuide.rst:765 +#: ../../../TestingGuide.rst:767 msgid "Example: ``%s: C:\\Desktop Files/foo_test.s.tmp``" msgstr "" -#: ../../../TestingGuide.rst:767 +#: ../../../TestingGuide.rst:769 msgid "Example: ``%/s: C:/Desktop Files/foo_test.s.tmp``" msgstr "" -#: ../../../TestingGuide.rst:769 +#: ../../../TestingGuide.rst:771 msgid "" "``%{s:real}, %{S:real}, %{t:real}, %{T:real}`` ``%{/s:real}, %{/S:real}, %{/" "t:real}, %{/T:real}``" msgstr "" -#: ../../../TestingGuide.rst:772 +#: ../../../TestingGuide.rst:774 msgid "" "Act like the corresponding substitution, including with ``/``, but use the " "real path by expanding all symbolic links and substitute drives." msgstr "" -#: ../../../TestingGuide.rst:775 +#: ../../../TestingGuide.rst:777 msgid "Example: ``%s: S:\\foo_test.s.tmp``" msgstr "" -#: ../../../TestingGuide.rst:777 +#: ../../../TestingGuide.rst:779 msgid "Example: ``%{/s:real}: C:/SDrive/foo_test.s.tmp``" msgstr "" -#: ../../../TestingGuide.rst:779 +#: ../../../TestingGuide.rst:781 msgid "``%:s, %:S, %:t, %:T``" msgstr "" -#: ../../../TestingGuide.rst:781 +#: ../../../TestingGuide.rst:783 msgid "" "Act like the corresponding substitution above but remove colons at the " "beginning of Windows paths. This is useful to allow concatenation of " "absolute paths on Windows to produce a legal path." msgstr "" -#: ../../../TestingGuide.rst:785 +#: ../../../TestingGuide.rst:787 msgid "Example: ``%s: C:\\Desktop Files\\foo_test.s.tmp``" msgstr "" -#: ../../../TestingGuide.rst:787 +#: ../../../TestingGuide.rst:789 msgid "Example: ``%:s: C\\Desktop Files\\foo_test.s.tmp``" msgstr "" -#: ../../../TestingGuide.rst:789 +#: ../../../TestingGuide.rst:791 msgid "``%errc_``" msgstr "" -#: ../../../TestingGuide.rst:791 +#: ../../../TestingGuide.rst:793 msgid "" "Some error messages may be substituted to allow different spellings based on " "the host platform." msgstr "" -#: ../../../TestingGuide.rst:794 +#: ../../../TestingGuide.rst:796 msgid "" "The following error codes are currently supported: ENOENT, EISDIR, EINVAL, " "EACCES." msgstr "" -#: ../../../TestingGuide.rst:797 +#: ../../../TestingGuide.rst:799 msgid "Example: ``Linux %errc_ENOENT: No such file or directory``" msgstr "" -#: ../../../TestingGuide.rst:799 +#: ../../../TestingGuide.rst:801 msgid "Example: ``Windows %errc_ENOENT: no such file or directory``" msgstr "" -#: ../../../TestingGuide.rst:801 +#: ../../../TestingGuide.rst:803 msgid "``%if feature %{%} %else %{%}``" msgstr "" -#: ../../../TestingGuide.rst:803 +#: ../../../TestingGuide.rst:805 msgid "" "Conditional substitution: if ``feature`` is available it expands to ````, otherwise it expands to ````. ``%else %{%}`` is optional and treated like ``%else %{%}`` if not present." msgstr "" -#: ../../../TestingGuide.rst:808 +#: ../../../TestingGuide.rst:810 msgid "``%(line)``, ``%(line+)``, ``%(line-)``" msgstr "" -#: ../../../TestingGuide.rst:810 +#: ../../../TestingGuide.rst:812 msgid "" "The number of the line where this substitution is used, with an optional " "integer offset. These expand only if they appear immediately in ``RUN:``, " @@ -1044,87 +1044,87 @@ msgid "" "with multiple ``RUN`` lines, which reference the test file's line numbers." msgstr "" -#: ../../../TestingGuide.rst:817 +#: ../../../TestingGuide.rst:819 msgid "**LLVM-specific substitutions:**" msgstr "" -#: ../../../TestingGuide.rst:823 +#: ../../../TestingGuide.rst:825 msgid "``%shlibext``" msgstr "" -#: ../../../TestingGuide.rst:820 +#: ../../../TestingGuide.rst:822 msgid "" "The suffix for the host platforms shared library files. This includes the " "period as the first character." msgstr "" -#: ../../../TestingGuide.rst:823 +#: ../../../TestingGuide.rst:825 msgid "Example: ``.so`` (Linux), ``.dylib`` (macOS), ``.dll`` (Windows)" msgstr "" -#: ../../../TestingGuide.rst:829 +#: ../../../TestingGuide.rst:831 msgid "``%exeext``" msgstr "" -#: ../../../TestingGuide.rst:826 +#: ../../../TestingGuide.rst:828 msgid "" "The suffix for the host platforms executable files. This includes the period " "as the first character." msgstr "" -#: ../../../TestingGuide.rst:829 +#: ../../../TestingGuide.rst:831 msgid "Example: ``.exe`` (Windows), empty on Linux." msgstr "" -#: ../../../TestingGuide.rst:831 +#: ../../../TestingGuide.rst:833 msgid "**Clang-specific substitutions:**" msgstr "" -#: ../../../TestingGuide.rst:834 +#: ../../../TestingGuide.rst:836 msgid "``%clang``" msgstr "" -#: ../../../TestingGuide.rst:834 +#: ../../../TestingGuide.rst:836 msgid "Invokes the Clang driver." msgstr "" -#: ../../../TestingGuide.rst:837 +#: ../../../TestingGuide.rst:839 msgid "``%clang_cpp``" msgstr "" -#: ../../../TestingGuide.rst:837 +#: ../../../TestingGuide.rst:839 msgid "Invokes the Clang driver as the preprocessor." msgstr "" -#: ../../../TestingGuide.rst:840 +#: ../../../TestingGuide.rst:842 msgid "``%clang_cl``" msgstr "" -#: ../../../TestingGuide.rst:840 +#: ../../../TestingGuide.rst:842 msgid "Invokes the CL-compatible Clang driver." msgstr "" -#: ../../../TestingGuide.rst:843 +#: ../../../TestingGuide.rst:845 msgid "``%clangxx``" msgstr "" -#: ../../../TestingGuide.rst:843 +#: ../../../TestingGuide.rst:845 msgid "Invokes the G++-compatible Clang driver." msgstr "" -#: ../../../TestingGuide.rst:846 +#: ../../../TestingGuide.rst:848 msgid "``%clang_cc1``" msgstr "" -#: ../../../TestingGuide.rst:846 +#: ../../../TestingGuide.rst:848 msgid "Invokes the Clang frontend." msgstr "" -#: ../../../TestingGuide.rst:853 +#: ../../../TestingGuide.rst:855 msgid "``%itanium_abi_triple``, ``%ms_abi_triple``" msgstr "" -#: ../../../TestingGuide.rst:849 +#: ../../../TestingGuide.rst:851 msgid "" "These substitutions can be used to get the current target triple adjusted to " "the desired ABI. For example, if the test suite is running with the ``i686-" @@ -1133,30 +1133,30 @@ msgid "" "constraining it to a specific triple." msgstr "" -#: ../../../TestingGuide.rst:855 +#: ../../../TestingGuide.rst:857 msgid "**FileCheck-specific substitutions:**" msgstr "" -#: ../../../TestingGuide.rst:860 +#: ../../../TestingGuide.rst:862 msgid "``%ProtectFileCheckOutput``" msgstr "" -#: ../../../TestingGuide.rst:858 +#: ../../../TestingGuide.rst:860 msgid "" "This should precede a ``FileCheck`` call if and only if the call's textual " "output affects test results. It's usually easy to tell: just look for " "redirection or piping of the ``FileCheck`` call's stdout or stderr." msgstr "" -#: ../../../TestingGuide.rst:864 +#: ../../../TestingGuide.rst:866 msgid "**Test-specific substitutions:**" msgstr "" -#: ../../../TestingGuide.rst:866 +#: ../../../TestingGuide.rst:868 msgid "Additional substitutions can be defined as follows:" msgstr "" -#: ../../../TestingGuide.rst:868 +#: ../../../TestingGuide.rst:870 msgid "" "Lit configuration files (e.g., ``lit.cfg`` or ``lit.local.cfg``) can define " "substitutions for all tests in a test directory. They do so by extending " @@ -1166,7 +1166,7 @@ msgid "" "to be escape sequences)." msgstr "" -#: ../../../TestingGuide.rst:874 +#: ../../../TestingGuide.rst:876 msgid "" "To define substitutions within a single test file, lit supports the ``DEFINE:" "`` and ``REDEFINE:`` directives, described in detail below. So that they " @@ -1174,7 +1174,7 @@ msgid "" "substitution list that is produced by lit configuration files." msgstr "" -#: ../../../TestingGuide.rst:879 +#: ../../../TestingGuide.rst:881 msgid "" "For example, the following directives can be inserted into a test file to " "define ``%{cflags}`` and ``%{fcflags}`` substitutions with empty initial " @@ -1182,7 +1182,7 @@ msgid "" "substitution:" msgstr "" -#: ../../../TestingGuide.rst:893 +#: ../../../TestingGuide.rst:895 msgid "" "Alternatively, the above substitutions can be defined in a lit configuration " "file to be shared with other test files. Either way, the test file can then " @@ -1190,7 +1190,7 @@ msgid "" "substitutions as desired before each use of ``%{check}`` in a ``RUN:`` line:" msgstr "" -#: ../../../TestingGuide.rst:916 +#: ../../../TestingGuide.rst:918 msgid "" "Besides providing initial values, the initial ``DEFINE:`` directives for the " "parameter substitutions in the above example serve a second purpose: they " @@ -1200,11 +1200,11 @@ msgid "" "substitution that might refer to it." msgstr "" -#: ../../../TestingGuide.rst:923 +#: ../../../TestingGuide.rst:925 msgid "In general, substitution expansion behaves as follows:" msgstr "" -#: ../../../TestingGuide.rst:925 +#: ../../../TestingGuide.rst:927 msgid "" "Upon arriving at each ``RUN:`` line, lit expands all substitutions in that " "``RUN:`` line using their current values from the substitution list. No " @@ -1213,7 +1213,7 @@ msgid "" "``%(line-)``." msgstr "" -#: ../../../TestingGuide.rst:930 +#: ../../../TestingGuide.rst:932 msgid "" "When expanding substitutions in a ``RUN:`` line, lit makes only one pass " "through the substitution list by default. In this case, a substitution must " @@ -1223,7 +1223,7 @@ msgid "" "setting `recursiveExpansionLimit`_ in a lit configuration file.)" msgstr "" -#: ../../../TestingGuide.rst:936 +#: ../../../TestingGuide.rst:938 msgid "" "While lit configuration files can insert anywhere in the substitution list, " "the insertion behavior of the ``DEFINE:`` and ``REDEFINE:`` directives is " @@ -1231,7 +1231,7 @@ msgid "" "the example above." msgstr "" -#: ../../../TestingGuide.rst:940 +#: ../../../TestingGuide.rst:942 msgid "" "Defining a substitution in terms of itself, whether directly or via other " "substitutions, should be avoided. It usually produces an infinitely " @@ -1240,18 +1240,18 @@ msgid "" "``." msgstr "" -#: ../../../TestingGuide.rst:945 +#: ../../../TestingGuide.rst:947 msgid "" "The relationship between the ``DEFINE:`` and ``REDEFINE:`` directive is " "analogous to the relationship between a variable declaration and variable " "assignment in many programming languages:" msgstr "" -#: ../../../TestingGuide.rst:949 +#: ../../../TestingGuide.rst:951 msgid "``DEFINE: %{name} = value``" msgstr "" -#: ../../../TestingGuide.rst:951 +#: ../../../TestingGuide.rst:953 msgid "" "This directive assigns the specified value to a new substitution whose " "pattern is ``%{name}``, or it reports an error if there is already a " @@ -1263,11 +1263,11 @@ msgid "" "the same test file or in a lit configuration file, and both will expand." msgstr "" -#: ../../../TestingGuide.rst:960 +#: ../../../TestingGuide.rst:962 msgid "``REDEFINE: %{name} = value``" msgstr "" -#: ../../../TestingGuide.rst:962 +#: ../../../TestingGuide.rst:964 msgid "" "This directive assigns the specified value to an existing substitution whose " "pattern is ``%{name}``, or it reports an error if there are no substitutions " @@ -1277,13 +1277,13 @@ msgid "" "existing substitutions is preserved." msgstr "" -#: ../../../TestingGuide.rst:969 +#: ../../../TestingGuide.rst:971 msgid "" "The following properties apply to both the ``DEFINE:`` and ``REDEFINE:`` " "directives:" msgstr "" -#: ../../../TestingGuide.rst:972 +#: ../../../TestingGuide.rst:974 msgid "" "**Substitution name**: In the directive, whitespace immediately before or " "after ``%{name}`` is optional and discarded. ``%{name}`` must start with " @@ -1292,7 +1292,7 @@ msgid "" "and colons. This syntax has a few advantages:" msgstr "" -#: ../../../TestingGuide.rst:978 +#: ../../../TestingGuide.rst:980 msgid "" "It is impossible for ``%{name}`` to contain sequences that are special in " "Python's ``re.sub`` patterns. Otherwise, attempting to specify ``%{name}`` " @@ -1300,7 +1300,7 @@ msgid "" "confusing expansions." msgstr "" -#: ../../../TestingGuide.rst:982 +#: ../../../TestingGuide.rst:984 msgid "" "The braces help avoid the possibility that another substitution's pattern " "will match part of ``%{name}`` or vice-versa, producing confusing " @@ -1309,7 +1309,7 @@ msgid "" "overlaps are still theoretically possible." msgstr "" -#: ../../../TestingGuide.rst:988 +#: ../../../TestingGuide.rst:990 msgid "" "**Substitution value**: The value includes all text from the first non-" "whitespace character after ``=`` to the last non-whitespace character. If " @@ -1318,7 +1318,7 @@ msgid "" "strings are treated as plain text in the value." msgstr "" -#: ../../../TestingGuide.rst:993 +#: ../../../TestingGuide.rst:995 msgid "" "**Line continuations**: If the last non-whitespace character on the line " "after ``:`` is ``\\``, then the next directive must use the same directive " @@ -1331,11 +1331,11 @@ msgid "" "continuation containing only whitespace after its ``:`` is an error." msgstr "" -#: ../../../TestingGuide.rst:1005 +#: ../../../TestingGuide.rst:1007 msgid "**recursiveExpansionLimit:**" msgstr "" -#: ../../../TestingGuide.rst:1007 +#: ../../../TestingGuide.rst:1009 msgid "" "As described in the previous section, when expanding substitutions in a " "``RUN:`` line, lit makes only one pass through the substitution list by " @@ -1345,7 +1345,7 @@ msgid "" "``%{inner}`` until after ``%{outer}``:" msgstr "" -#: ../../../TestingGuide.rst:1023 +#: ../../../TestingGuide.rst:1025 msgid "" "``DEFINE:`` inserts substitutions at the start of the substitution list, so " "``%{inner}`` expands first but has no effect because the original ``RUN:`` " @@ -1353,7 +1353,7 @@ msgid "" "output of the ``echo`` command becomes:" msgstr "" -#: ../../../TestingGuide.rst:1032 +#: ../../../TestingGuide.rst:1034 msgid "" "Of course, one way to fix this simple case is to reverse the definitions of " "``%{outer}`` and ``%{inner}``. However, if a test has a complex set of " @@ -1361,7 +1361,7 @@ msgid "" "sufficient substitution order." msgstr "" -#: ../../../TestingGuide.rst:1037 +#: ../../../TestingGuide.rst:1039 msgid "" "To address such use cases, lit configuration files support ``config." "recursiveExpansionLimit``, which can be set to a non-negative integer to " @@ -1371,14 +1371,14 @@ msgid "" "from the ``echo`` command would then be:" msgstr "" -#: ../../../TestingGuide.rst:1048 +#: ../../../TestingGuide.rst:1050 msgid "" "To improve performance, lit will stop making passes when it notices the " "``RUN:`` line has stopped changing. In the above example, setting the limit " "higher than 2 is thus harmless." msgstr "" -#: ../../../TestingGuide.rst:1052 +#: ../../../TestingGuide.rst:1054 msgid "" "To facilitate debugging, after reaching the limit, lit will make one extra " "pass and report an error if the ``RUN:`` line changes again. In the above " @@ -1386,69 +1386,69 @@ msgid "" "instead of producing incorrect output." msgstr "" -#: ../../../TestingGuide.rst:1058 +#: ../../../TestingGuide.rst:1060 msgid "Options" msgstr "" -#: ../../../TestingGuide.rst:1060 +#: ../../../TestingGuide.rst:1062 msgid "" "The llvm lit configuration allows some things to be customized with user " "options:" msgstr "" -#: ../../../TestingGuide.rst:1067 +#: ../../../TestingGuide.rst:1069 msgid "``llc``, ``opt``, ..." msgstr "" -#: ../../../TestingGuide.rst:1063 +#: ../../../TestingGuide.rst:1065 msgid "" "Substitute the respective llvm tool name with a custom command line. This " "allows to specify custom paths and default arguments for these tools. " "Example:" msgstr "" -#: ../../../TestingGuide.rst:1067 +#: ../../../TestingGuide.rst:1069 msgid "% llvm-lit \"-Dllc=llc -verify-machineinstrs\"" msgstr "" -#: ../../../TestingGuide.rst:1070 +#: ../../../TestingGuide.rst:1072 msgid "``run_long_tests``" msgstr "" -#: ../../../TestingGuide.rst:1070 +#: ../../../TestingGuide.rst:1072 msgid "Enable the execution of long running tests." msgstr "" -#: ../../../TestingGuide.rst:1074 +#: ../../../TestingGuide.rst:1076 msgid "``llvm_site_config``" msgstr "" -#: ../../../TestingGuide.rst:1073 +#: ../../../TestingGuide.rst:1075 msgid "Load the specified lit configuration instead of the default one." msgstr "" -#: ../../../TestingGuide.rst:1077 +#: ../../../TestingGuide.rst:1079 msgid "Other Features" msgstr "" -#: ../../../TestingGuide.rst:1079 +#: ../../../TestingGuide.rst:1081 msgid "" "To make ``RUN`` line writing easier, several helper programs are available. " "These helpers are in the ``PATH`` when running tests, so you can just call " "them using their name. For example:" msgstr "" -#: ../../../TestingGuide.rst:1085 +#: ../../../TestingGuide.rst:1087 msgid "``not``" msgstr "" -#: ../../../TestingGuide.rst:1084 +#: ../../../TestingGuide.rst:1086 msgid "" "This program runs its arguments and then inverts the result code from it. " "Zero result codes become 1. Non-zero result codes become 0." msgstr "" -#: ../../../TestingGuide.rst:1087 +#: ../../../TestingGuide.rst:1089 msgid "" "To make the output more useful, :program:`lit` will scan the lines of the " "test case for ones that contain a pattern that matches ``PR[0-9]+``. This is " @@ -1458,20 +1458,20 @@ msgid "" "This is useful to quickly get some context when a test fails." msgstr "" -#: ../../../TestingGuide.rst:1095 +#: ../../../TestingGuide.rst:1097 msgid "" "Finally, any line that contains \"END.\" will cause the special " "interpretation of lines to terminate. This is generally done right after the " "last ``RUN:`` line. This has two side effects:" msgstr "" -#: ../../../TestingGuide.rst:1099 +#: ../../../TestingGuide.rst:1101 msgid "" "it prevents special interpretation of lines that are part of the test " "program, not the instructions to the test case, and" msgstr "" -#: ../../../TestingGuide.rst:1102 +#: ../../../TestingGuide.rst:1104 msgid "" "it speeds things up for really big test cases by avoiding interpretation of " "the remainder of the file." diff --git a/main/locale/pot/LC_MESSAGES/UserGuides.pot b/main/locale/pot/LC_MESSAGES/UserGuides.pot index 26ab8a83c1b..18a8708485e 100644 --- a/main/locale/pot/LC_MESSAGES/UserGuides.pot +++ b/main/locale/pot/LC_MESSAGES/UserGuides.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: LLVM main\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-12-22 08:34+0000\n" +"POT-Creation-Date: 2026-03-09 08:48+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -29,564 +29,582 @@ msgid "" "the intermediate LLVM representation." msgstr "" -#: ../../../UserGuides.rst:87 +#: ../../../UserGuides.rst:89 msgid "Clang" msgstr "" -#: ../../../UserGuides.rst:90 +#: ../../../UserGuides.rst:92 msgid ":doc:`HowToBuildOnARM`" msgstr "" -#: ../../../UserGuides.rst:90 +#: ../../../UserGuides.rst:92 msgid "Notes on building and testing LLVM/Clang on ARM." msgstr "" -#: ../../../UserGuides.rst:93 +#: ../../../UserGuides.rst:95 msgid ":doc:`HowToBuildWithPGO`" msgstr "" -#: ../../../UserGuides.rst:93 +#: ../../../UserGuides.rst:95 msgid "Notes on building LLVM/Clang with PGO." msgstr "" -#: ../../../UserGuides.rst:96 +#: ../../../UserGuides.rst:98 msgid ":doc:`HowToCrossCompileLLVM`" msgstr "" -#: ../../../UserGuides.rst:96 +#: ../../../UserGuides.rst:98 msgid "Notes on cross-building and testing LLVM/Clang." msgstr "" -#: ../../../UserGuides.rst:101 +#: ../../../UserGuides.rst:103 msgid "`How to build the C, C++, ObjC, and ObjC++ front end`__" msgstr "" -#: ../../../UserGuides.rst:99 +#: ../../../UserGuides.rst:101 msgid "Instructions for building the clang front-end from source." msgstr "" -#: ../../../UserGuides.rst:104 +#: ../../../UserGuides.rst:106 msgid ":doc:`CoverageMappingFormat`" msgstr "" -#: ../../../UserGuides.rst:104 +#: ../../../UserGuides.rst:106 msgid "" "This describes the format and encoding used for LLVM’s code coverage mapping." msgstr "" -#: ../../../UserGuides.rst:107 +#: ../../../UserGuides.rst:109 msgid ":doc:`CFIVerify`" msgstr "" -#: ../../../UserGuides.rst:107 +#: ../../../UserGuides.rst:109 msgid "A description of the verification tool for Control Flow Integrity." msgstr "" -#: ../../../UserGuides.rst:110 +#: ../../../UserGuides.rst:112 msgid "LLVM Builds and Distributions" msgstr "" -#: ../../../UserGuides.rst:114 +#: ../../../UserGuides.rst:116 msgid ":doc:`BuildingADistribution`" msgstr "" -#: ../../../UserGuides.rst:113 +#: ../../../UserGuides.rst:115 msgid "" "A best-practices guide for using LLVM's CMake build system to package and " "distribute LLVM-based tools." msgstr "" -#: ../../../UserGuides.rst:118 +#: ../../../UserGuides.rst:120 msgid ":doc:`CMake`" msgstr "" -#: ../../../UserGuides.rst:117 +#: ../../../UserGuides.rst:119 msgid "" "An addendum to the main Getting Started guide for those using the `CMake " "build system `_." msgstr "" -#: ../../../UserGuides.rst:121 +#: ../../../UserGuides.rst:123 msgid ":doc:`Docker`" msgstr "" -#: ../../../UserGuides.rst:121 +#: ../../../UserGuides.rst:123 msgid "A reference for using Dockerfiles provided with LLVM." msgstr "" -#: ../../../UserGuides.rst:125 +#: ../../../UserGuides.rst:127 msgid ":doc:`Support Library `" msgstr "" -#: ../../../UserGuides.rst:124 +#: ../../../UserGuides.rst:126 msgid "" "This document describes the LLVM Support Library (``lib/Support``) and how " "to keep LLVM source code portable." msgstr "" -#: ../../../UserGuides.rst:128 +#: ../../../UserGuides.rst:130 msgid ":doc:`AdvancedBuilds`" msgstr "" -#: ../../../UserGuides.rst:128 +#: ../../../UserGuides.rst:130 msgid "This document describes more advanced build configurations." msgstr "" -#: ../../../UserGuides.rst:131 +#: ../../../UserGuides.rst:133 msgid "Optimizations" msgstr "" -#: ../../../UserGuides.rst:135 +#: ../../../UserGuides.rst:137 msgid ":doc:`WritingAnLLVMNewPMPass`" msgstr "" -#: ../../../UserGuides.rst:134 +#: ../../../UserGuides.rst:136 msgid "" "Information on how to write LLVM transformations under the new pass manager." msgstr "" -#: ../../../UserGuides.rst:139 +#: ../../../UserGuides.rst:141 msgid ":doc:`WritingAnLLVMPass`" msgstr "" -#: ../../../UserGuides.rst:138 +#: ../../../UserGuides.rst:140 msgid "" "Information on how to write LLVM transformations and analyses under the " "legacy pass manager." msgstr "" -#: ../../../UserGuides.rst:142 +#: ../../../UserGuides.rst:144 msgid ":doc:`Passes`" msgstr "" -#: ../../../UserGuides.rst:142 +#: ../../../UserGuides.rst:144 msgid "A list of optimizations and analyses implemented in LLVM." msgstr "" -#: ../../../UserGuides.rst:146 +#: ../../../UserGuides.rst:148 msgid ":doc:`StackSafetyAnalysis`" msgstr "" -#: ../../../UserGuides.rst:145 +#: ../../../UserGuides.rst:147 msgid "" "This document describes the design of the stack safety analysis of local " "variables." msgstr "" -#: ../../../UserGuides.rst:149 +#: ../../../UserGuides.rst:151 msgid ":doc:`MergeFunctions`" msgstr "" -#: ../../../UserGuides.rst:149 +#: ../../../UserGuides.rst:151 msgid "Describes functions merging optimization." msgstr "" -#: ../../../UserGuides.rst:153 +#: ../../../UserGuides.rst:155 msgid ":doc:`AliasAnalysis`" msgstr "" -#: ../../../UserGuides.rst:152 +#: ../../../UserGuides.rst:154 msgid "" "Information on how to write a new alias analysis implementation or how to " "use existing analyses." msgstr "" -#: ../../../UserGuides.rst:156 +#: ../../../UserGuides.rst:158 msgid ":doc:`MemorySSA`" msgstr "" -#: ../../../UserGuides.rst:156 +#: ../../../UserGuides.rst:158 msgid "" "Information about the MemorySSA utility in LLVM, as well as how to use it." msgstr "" -#: ../../../UserGuides.rst:159 +#: ../../../UserGuides.rst:161 +msgid ":doc:`MemProf`" +msgstr "" + +#: ../../../UserGuides.rst:161 +msgid "" +"User guide and internals of MemProf, profile guided optimizations for memory." +msgstr "" + +#: ../../../UserGuides.rst:164 msgid ":doc:`LoopTerminology`" msgstr "" -#: ../../../UserGuides.rst:159 +#: ../../../UserGuides.rst:164 msgid "A document describing Loops and associated terms as used in LLVM." msgstr "" -#: ../../../UserGuides.rst:162 +#: ../../../UserGuides.rst:167 msgid ":doc:`CycleTerminology`" msgstr "" -#: ../../../UserGuides.rst:162 +#: ../../../UserGuides.rst:167 msgid "A document describing cycles as a generalization of loops." msgstr "" -#: ../../../UserGuides.rst:165 +#: ../../../UserGuides.rst:170 msgid ":doc:`Vectorizers`" msgstr "" -#: ../../../UserGuides.rst:165 +#: ../../../UserGuides.rst:170 msgid "This document describes the current status of vectorization in LLVM." msgstr "" -#: ../../../UserGuides.rst:169 +#: ../../../UserGuides.rst:174 msgid ":doc:`LinkTimeOptimization`" msgstr "" -#: ../../../UserGuides.rst:168 +#: ../../../UserGuides.rst:173 msgid "" "This document describes the interface between LLVM intermodular optimizer " "and the linker and its design" msgstr "" -#: ../../../UserGuides.rst:174 +#: ../../../UserGuides.rst:179 msgid ":doc:`DTLTO`" msgstr "" -#: ../../../UserGuides.rst:172 +#: ../../../UserGuides.rst:177 msgid "" "This document describes the DTLTO implementation, which allows for " "distributing ThinLTO backend compilations without requiring support from the " "build system." msgstr "" -#: ../../../UserGuides.rst:177 +#: ../../../UserGuides.rst:182 msgid ":doc:`GoldPlugin`" msgstr "" -#: ../../../UserGuides.rst:177 +#: ../../../UserGuides.rst:182 msgid "How to build your programs with link-time optimization on Linux." msgstr "" -#: ../../../UserGuides.rst:180 +#: ../../../UserGuides.rst:185 msgid ":doc:`Remarks`" msgstr "" -#: ../../../UserGuides.rst:180 +#: ../../../UserGuides.rst:185 msgid "A reference on the implementation of remarks in LLVM." msgstr "" -#: ../../../UserGuides.rst:184 +#: ../../../UserGuides.rst:189 msgid ":doc:`Source Level Debugging with LLVM `" msgstr "" -#: ../../../UserGuides.rst:183 +#: ../../../UserGuides.rst:188 msgid "" "This document describes the design and philosophy behind the LLVM source-" "level debugger." msgstr "" -#: ../../../UserGuides.rst:188 +#: ../../../UserGuides.rst:193 msgid ":doc:`How to Update Debug Info `" msgstr "" -#: ../../../UserGuides.rst:187 +#: ../../../UserGuides.rst:192 msgid "" "This document specifies how to correctly update debug info in various kinds " "of code transformations." msgstr "" -#: ../../../UserGuides.rst:193 +#: ../../../UserGuides.rst:198 msgid ":doc:`InstrRefDebugInfo`" msgstr "" -#: ../../../UserGuides.rst:191 +#: ../../../UserGuides.rst:196 msgid "" "This document explains how LLVM uses value tracking, or instruction " "referencing, to determine variable locations for debug info in the final " "stages of compilation." msgstr "" -#: ../../../UserGuides.rst:197 +#: ../../../UserGuides.rst:202 msgid ":doc:`RemoveDIsDebugInfo`" msgstr "" -#: ../../../UserGuides.rst:196 +#: ../../../UserGuides.rst:201 msgid "" "This is a migration guide describing how to move from debug info using " "intrinsics such as dbg.value to using the non-instruction DbgRecord object." msgstr "" -#: ../../../UserGuides.rst:201 +#: ../../../UserGuides.rst:206 msgid ":doc:`KeyInstructionsDebugInfo`" msgstr "" -#: ../../../UserGuides.rst:200 +#: ../../../UserGuides.rst:205 msgid "" "This document explains how the debug info feature Key Instructions is " "implemented in LLVM." msgstr "" -#: ../../../UserGuides.rst:204 +#: ../../../UserGuides.rst:209 msgid ":doc:`InstrProfileFormat`" msgstr "" -#: ../../../UserGuides.rst:204 +#: ../../../UserGuides.rst:209 msgid "" "This document explains two binary formats of instrumentation-based profiles." msgstr "" -#: ../../../UserGuides.rst:209 +#: ../../../UserGuides.rst:214 msgid ":doc:`InstCombineContributorGuide`" msgstr "" -#: ../../../UserGuides.rst:207 +#: ../../../UserGuides.rst:212 msgid "" "This document specifies guidelines for contributions for InstCombine and " "related passes." msgstr "" -#: ../../../UserGuides.rst:212 +#: ../../../UserGuides.rst:217 msgid "Code Generation" msgstr "" -#: ../../../UserGuides.rst:215 +#: ../../../UserGuides.rst:220 msgid ":doc:`WritingAnLLVMBackend`" msgstr "" -#: ../../../UserGuides.rst:215 +#: ../../../UserGuides.rst:220 msgid "Information on how to write LLVM backends for machine targets." msgstr "" -#: ../../../UserGuides.rst:220 +#: ../../../UserGuides.rst:225 msgid ":doc:`CodeGenerator`" msgstr "" -#: ../../../UserGuides.rst:218 +#: ../../../UserGuides.rst:223 msgid "" "The design and implementation of the LLVM code generator. Useful if you are " "working on retargetting LLVM to a new architecture, designing a new codegen " "pass, or enhancing existing components." msgstr "" -#: ../../../UserGuides.rst:224 +#: ../../../UserGuides.rst:229 msgid ":doc:`TableGen `" msgstr "" -#: ../../../UserGuides.rst:223 +#: ../../../UserGuides.rst:228 msgid "" "Describes the TableGen tool, which is used heavily by the LLVM code " "generator." msgstr "" -#: ../../../UserGuides.rst:228 +#: ../../../UserGuides.rst:233 msgid "GlobalISel" msgstr "" -#: ../../../UserGuides.rst:231 +#: ../../../UserGuides.rst:236 msgid ":doc:`MIRPatterns `" msgstr "" -#: ../../../UserGuides.rst:231 +#: ../../../UserGuides.rst:236 msgid "Describes the design of MIR Patterns and how to use them." msgstr "" -#: ../../../UserGuides.rst:235 +#: ../../../UserGuides.rst:240 msgid "JIT" msgstr "" -#: ../../../UserGuides.rst:238 +#: ../../../UserGuides.rst:243 msgid ":doc:`MCJITDesignAndImplementation`" msgstr "" -#: ../../../UserGuides.rst:238 +#: ../../../UserGuides.rst:243 msgid "Describes the inner workings of MCJIT execution engine." msgstr "" -#: ../../../UserGuides.rst:242 +#: ../../../UserGuides.rst:247 msgid ":doc:`ORCv2`" msgstr "" -#: ../../../UserGuides.rst:241 +#: ../../../UserGuides.rst:246 msgid "" "Describes the design and implementation of the ORC APIs, including some " "usage examples, and a guide for users transitioning from ORCv1 to ORCv2." msgstr "" -#: ../../../UserGuides.rst:246 +#: ../../../UserGuides.rst:251 msgid ":doc:`JITLink`" msgstr "" -#: ../../../UserGuides.rst:245 +#: ../../../UserGuides.rst:250 msgid "" "Describes the design and APIs for the JITLink library, ORC's new JIT linker." msgstr "" -#: ../../../UserGuides.rst:249 +#: ../../../UserGuides.rst:254 msgid ":doc:`DebuggingJITedCode`" msgstr "" -#: ../../../UserGuides.rst:249 +#: ../../../UserGuides.rst:254 msgid "How to debug JITed code with GDB." msgstr "" -#: ../../../UserGuides.rst:252 +#: ../../../UserGuides.rst:257 msgid "Additional Topics" msgstr "" -#: ../../../UserGuides.rst:255 +#: ../../../UserGuides.rst:260 msgid ":doc:`CommandLine`" msgstr "" -#: ../../../UserGuides.rst:255 +#: ../../../UserGuides.rst:260 msgid "Provides information on using the command line parsing library." msgstr "" -#: ../../../UserGuides.rst:258 +#: ../../../UserGuides.rst:263 msgid ":doc:`ExtendingLLVM`" msgstr "" -#: ../../../UserGuides.rst:258 +#: ../../../UserGuides.rst:263 msgid "Look here to see how to add instructions and intrinsics to LLVM." msgstr "" -#: ../../../UserGuides.rst:262 +#: ../../../UserGuides.rst:267 msgid ":doc:`AddingConstrainedIntrinsics`" msgstr "" -#: ../../../UserGuides.rst:261 +#: ../../../UserGuides.rst:266 msgid "" "Gives the steps necessary when adding a new constrained math intrinsic to " "LLVM." msgstr "" -#: ../../../UserGuides.rst:265 +#: ../../../UserGuides.rst:270 msgid ":doc:`HowToBuildWindowsItaniumPrograms`" msgstr "" -#: ../../../UserGuides.rst:265 +#: ../../../UserGuides.rst:270 msgid "Notes on assembling a Windows Itanium environment." msgstr "" -#: ../../../UserGuides.rst:268 +#: ../../../UserGuides.rst:273 msgid ":doc:`HowToCrossCompileBuiltinsOnArm`" msgstr "" -#: ../../../UserGuides.rst:268 +#: ../../../UserGuides.rst:273 msgid "Notes on cross-building and testing the compiler-rt builtins for Arm." msgstr "" -#: ../../../UserGuides.rst:272 +#: ../../../UserGuides.rst:277 msgid ":doc:`BigEndianNEON`" msgstr "" -#: ../../../UserGuides.rst:271 +#: ../../../UserGuides.rst:276 msgid "" "LLVM's support for generating NEON instructions on big endian ARM targets is " "somewhat nonintuitive. This document explains the implementation and " "rationale." msgstr "" -#: ../../../UserGuides.rst:275 +#: ../../../UserGuides.rst:280 msgid ":doc:`AArch64SME`" msgstr "" -#: ../../../UserGuides.rst:275 +#: ../../../UserGuides.rst:280 msgid "LLVM's support for AArch64 SME ACLE and ABI." msgstr "" -#: ../../../UserGuides.rst:278 +#: ../../../UserGuides.rst:283 msgid ":doc:`CompileCudaWithLLVM`" msgstr "" -#: ../../../UserGuides.rst:278 +#: ../../../UserGuides.rst:283 msgid "LLVM support for CUDA." msgstr "" -#: ../../../UserGuides.rst:281 +#: ../../../UserGuides.rst:286 msgid ":doc:`NVPTXUsage`" msgstr "" -#: ../../../UserGuides.rst:281 +#: ../../../UserGuides.rst:286 msgid "This document describes using the NVPTX backend to compile GPU kernels." msgstr "" -#: ../../../UserGuides.rst:284 +#: ../../../UserGuides.rst:289 msgid ":doc:`AMDGPUUsage`" msgstr "" -#: ../../../UserGuides.rst:284 +#: ../../../UserGuides.rst:289 msgid "" "This document describes using the AMDGPU backend to compile GPU kernels." msgstr "" -#: ../../../UserGuides.rst:288 +#: ../../../UserGuides.rst:292 +msgid ":doc:`AMDGPUAsyncOperations`" +msgstr "" + +#: ../../../UserGuides.rst:292 +msgid "" +"Builtins for invoking asynchronous data transfer operations in AMD GPUs." +msgstr "" + +#: ../../../UserGuides.rst:296 msgid ":doc:`AMDGPUDwarfExtensionsForHeterogeneousDebugging`" msgstr "" -#: ../../../UserGuides.rst:287 +#: ../../../UserGuides.rst:295 msgid "" "This document describes DWARF extensions to support heterogeneous debugging " "for targets such as the AMDGPU backend." msgstr "" -#: ../../../UserGuides.rst:293 +#: ../../../UserGuides.rst:301 msgid "" ":doc:`AMDGPUDwarfExtensionAllowLocationDescriptionOnTheDwarfExpressionStack/" "AMDGPUDwarfExtensionAllowLocationDescriptionOnTheDwarfExpressionStack`" msgstr "" -#: ../../../UserGuides.rst:291 +#: ../../../UserGuides.rst:299 msgid "" "This document describes a DWARF extension to allow location descriptions on " "the DWARF expression stack. It is part of :doc:" "`AMDGPUDwarfExtensionsForHeterogeneousDebugging`." msgstr "" -#: ../../../UserGuides.rst:296 +#: ../../../UserGuides.rst:304 msgid ":doc:`SPIRVUsage`" msgstr "" -#: ../../../UserGuides.rst:296 +#: ../../../UserGuides.rst:304 msgid "This document describes using the SPIR-V target to compile GPU kernels." msgstr "" -#: ../../../UserGuides.rst:300 +#: ../../../UserGuides.rst:308 msgid ":doc:`DirectXUsage`" msgstr "" -#: ../../../UserGuides.rst:299 +#: ../../../UserGuides.rst:307 msgid "" "This document describes using the DirectX target to compile GPU code for the " "DirectX runtime." msgstr "" -#: ../../../UserGuides.rst:303 +#: ../../../UserGuides.rst:311 msgid ":doc:`RISCVUsage`" msgstr "" -#: ../../../UserGuides.rst:303 +#: ../../../UserGuides.rst:311 msgid "This document describes using the RISC-V target." msgstr "" -#: ../../../UserGuides.rst:306 +#: ../../../UserGuides.rst:314 msgid ":doc:`RISCV/RISCVVectorExtension`" msgstr "" -#: ../../../UserGuides.rst:306 +#: ../../../UserGuides.rst:314 msgid "" "This document describes how the RISC-V Vector extension can be expressed in " "LLVM IR and how code is generated for it in the backend." msgstr "" -#: ../../../UserGuides.rst:309 +#: ../../../UserGuides.rst:317 msgid ":doc:`Sandbox IR `" msgstr "" -#: ../../../UserGuides.rst:309 +#: ../../../UserGuides.rst:317 msgid "" "This document describes the design and usage of Sandbox IR, a transactional " "layer over LLVM IR." msgstr "" -#: ../../../UserGuides.rst:312 +#: ../../../UserGuides.rst:320 msgid ":doc:`Telemetry`" msgstr "" -#: ../../../UserGuides.rst:312 +#: ../../../UserGuides.rst:320 msgid "This document describes the Telemetry framework in LLVM." msgstr "" -#: ../../../UserGuides.rst:314 +#: ../../../UserGuides.rst:322 msgid ":doc:`LFI `" msgstr "" -#: ../../../UserGuides.rst:315 +#: ../../../UserGuides.rst:323 msgid "" "This document describes the Lightweight Fault Isolation (LFI) target in LLVM." msgstr "" diff --git a/main/locale/pot/LC_MESSAGES/Vectorizers.pot b/main/locale/pot/LC_MESSAGES/Vectorizers.pot index 5bfe2443fe9..f1ec33e4a8e 100644 --- a/main/locale/pot/LC_MESSAGES/Vectorizers.pot +++ b/main/locale/pot/LC_MESSAGES/Vectorizers.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: LLVM main\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-01-05 08:39+0000\n" +"POT-Creation-Date: 2026-03-09 08:48+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -39,7 +39,7 @@ msgstr "" msgid "The Loop Vectorizer" msgstr "" -#: ../../../Vectorizers.rst:24 ../../../Vectorizers.rst:492 +#: ../../../Vectorizers.rst:24 ../../../Vectorizers.rst:495 msgid "Usage" msgstr "" @@ -493,15 +493,15 @@ msgstr "" #: ../../../Vectorizers.rst:431 msgid "" -"BranchOnTwoConds is lowered to a chain of conditional branches after " -"dissolving loop regions:" +"BranchOnTwoConds is lowered to a chain of conditional branches exiting the " +"vector loop after dissolving loop regions:" msgstr "" -#: ../../../Vectorizers.rst:436 +#: ../../../Vectorizers.rst:439 msgid "Performance" msgstr "" -#: ../../../Vectorizers.rst:438 +#: ../../../Vectorizers.rst:441 msgid "" "This section shows the execution time of Clang on a simple benchmark: `gcc-" "loops `_ by Dorit Nuzman." msgstr "" -#: ../../../Vectorizers.rst:443 +#: ../../../Vectorizers.rst:446 msgid "" "The chart below compares GCC-4.7, ICC-13, and Clang-SVN with and without " "loop vectorization at -O3, tuned for \"corei7-avx\", running on a " @@ -518,35 +518,35 @@ msgid "" "last column shows the geomean of all the kernels." msgstr "" -#: ../../../Vectorizers.rst:448 +#: ../../../Vectorizers.rst:451 msgid "" "And Linpack-pc with the same configuration. Result is Mflops, higher is " "better." msgstr "" -#: ../../../Vectorizers.rst:453 +#: ../../../Vectorizers.rst:456 msgid "Ongoing Development Directions" msgstr "" -#: ../../../Vectorizers.rst:461 +#: ../../../Vectorizers.rst:464 msgid ":doc:`VectorizationPlan`" msgstr "" -#: ../../../Vectorizers.rst:461 +#: ../../../Vectorizers.rst:464 msgid "" "Modeling the process and upgrading the infrastructure of LLVM's Loop " "Vectorizer." msgstr "" -#: ../../../Vectorizers.rst:466 +#: ../../../Vectorizers.rst:469 msgid "The SLP Vectorizer" msgstr "" -#: ../../../Vectorizers.rst:469 +#: ../../../Vectorizers.rst:472 msgid "Details" msgstr "" -#: ../../../Vectorizers.rst:471 +#: ../../../Vectorizers.rst:474 msgid "" "The goal of SLP vectorization (a.k.a. superword-level parallelism) is to " "combine similar independent instructions into vector instructions. Memory " @@ -554,30 +554,30 @@ msgid "" "be vectorized using this technique." msgstr "" -#: ../../../Vectorizers.rst:476 +#: ../../../Vectorizers.rst:479 msgid "" "For example, the following function performs very similar operations on its " "inputs (a1, b1) and (a2, b2). The basic-block vectorizer may combine these " "into vector operations." msgstr "" -#: ../../../Vectorizers.rst:489 +#: ../../../Vectorizers.rst:492 msgid "" "The SLP-vectorizer processes the code bottom-up, across basic blocks, in " "search of scalars to combine." msgstr "" -#: ../../../Vectorizers.rst:494 +#: ../../../Vectorizers.rst:497 msgid "" "The SLP Vectorizer is enabled by default, but it can be disabled through " "clang using the command line flag:" msgstr "" -#: ../../../Vectorizers.rst:502 +#: ../../../Vectorizers.rst:505 msgid "The Sandbox Vectorizer" msgstr "" -#: ../../../Vectorizers.rst:508 +#: ../../../Vectorizers.rst:511 msgid "" "The :doc:`Sandbox Vectorizer ` is an experimental " "framework for building modular vectorization pipelines on top of :doc:" diff --git a/main/locale/pot/LC_MESSAGES/tutorial/MyFirstLanguageFrontend/LangImpl04.pot b/main/locale/pot/LC_MESSAGES/tutorial/MyFirstLanguageFrontend/LangImpl04.pot index 913830d0ac6..e8767199790 100644 --- a/main/locale/pot/LC_MESSAGES/tutorial/MyFirstLanguageFrontend/LangImpl04.pot +++ b/main/locale/pot/LC_MESSAGES/tutorial/MyFirstLanguageFrontend/LangImpl04.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: LLVM main\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-10-13 08:36+0000\n" +"POT-Creation-Date: 2026-03-09 08:48+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -278,7 +278,7 @@ msgid "" "expressions to look like this:" msgstr "" -#: ../../../tutorial/MyFirstLanguageFrontend/LangImpl04.rst:355 +#: ../../../tutorial/MyFirstLanguageFrontend/LangImpl04.rst:354 msgid "" "If parsing and codegen succeed, the next step is to add the module " "containing the top-level expression to the JIT. We do this by calling " @@ -289,28 +289,25 @@ msgid "" "by calling ``InitializeModuleAndPassManager()``." msgstr "" -#: ../../../tutorial/MyFirstLanguageFrontend/LangImpl04.rst:362 +#: ../../../tutorial/MyFirstLanguageFrontend/LangImpl04.rst:361 msgid "" "Once we've added the module to the JIT we need to get a pointer to the final " "generated code. We do this by calling the JIT's ``lookup`` method, and " -"passing the name of the top-level expression function: ``__anon_expr``. " -"Since we just added this function, we assert that ``lookup`` returned a " -"result." +"passing the name of the top-level expression function: ``__anon_expr``." msgstr "" -#: ../../../tutorial/MyFirstLanguageFrontend/LangImpl04.rst:367 +#: ../../../tutorial/MyFirstLanguageFrontend/LangImpl04.rst:365 msgid "" -"Next, we get the in-memory address of the ``__anon_expr`` function by " -"calling ``getAddress()`` on the symbol. Recall that we compile top-level " -"expressions into a self-contained LLVM function that takes no arguments and " -"returns the computed double. Because the LLVM JIT compiler matches the " -"native platform ABI, this means that you can just cast the result pointer to " -"a function pointer of that type and call it directly. This means, there is " -"no difference between JIT compiled code and native machine code that is " -"statically linked into your application." +"Next, we get the in-memory address of the ``__anon_expr`` function. Recall " +"that we compile top-level expressions into a self-contained LLVM function " +"that takes no arguments and returns the computed double. Because the LLVM " +"JIT compiler matches the native platform ABI, this means that you can just " +"cast the result pointer to a function pointer of that type and call it " +"directly. This means, there is no difference between JIT compiled code and " +"native machine code that is statically linked into your application." msgstr "" -#: ../../../tutorial/MyFirstLanguageFrontend/LangImpl04.rst:376 +#: ../../../tutorial/MyFirstLanguageFrontend/LangImpl04.rst:373 msgid "" "Finally, since we don't support re-evaluation of top-level expressions, we " "remove the module from the JIT when we're done to free the associated " @@ -319,11 +316,11 @@ msgid "" "to be added." msgstr "" -#: ../../../tutorial/MyFirstLanguageFrontend/LangImpl04.rst:382 +#: ../../../tutorial/MyFirstLanguageFrontend/LangImpl04.rst:379 msgid "With just these two changes, let's see how Kaleidoscope works now!" msgstr "" -#: ../../../tutorial/MyFirstLanguageFrontend/LangImpl04.rst:395 +#: ../../../tutorial/MyFirstLanguageFrontend/LangImpl04.rst:392 msgid "" "Well this looks like it is basically working. The dump of the function shows " "the \"no argument function that always returns double\" that we synthesize " @@ -331,7 +328,7 @@ msgid "" "functionality, but can we do more?" msgstr "" -#: ../../../tutorial/MyFirstLanguageFrontend/LangImpl04.rst:425 +#: ../../../tutorial/MyFirstLanguageFrontend/LangImpl04.rst:422 msgid "" "Function definitions and calls also work, but something went very wrong on " "that last line. The call looks valid, so what happened? As you may have " @@ -343,7 +340,7 @@ msgid "" "longer find it." msgstr "" -#: ../../../tutorial/MyFirstLanguageFrontend/LangImpl04.rst:433 +#: ../../../tutorial/MyFirstLanguageFrontend/LangImpl04.rst:430 msgid "" "The easiest way to fix this is to put the anonymous expression in a separate " "module from the rest of the function definitions. The JIT will happily " @@ -353,7 +350,7 @@ msgid "" "delete it without affecting the rest of the functions." msgstr "" -#: ../../../tutorial/MyFirstLanguageFrontend/LangImpl04.rst:440 +#: ../../../tutorial/MyFirstLanguageFrontend/LangImpl04.rst:437 msgid "" "In fact, we're going to go a step further and put every function in its own " "module. Doing so allows us to exploit a useful property of the " @@ -363,13 +360,13 @@ msgid "" "it will always return the most recent definition:" msgstr "" -#: ../../../tutorial/MyFirstLanguageFrontend/LangImpl04.rst:471 +#: ../../../tutorial/MyFirstLanguageFrontend/LangImpl04.rst:468 msgid "" "To allow each function to live in its own module we'll need a way to re-" "generate previous function declarations into each new module we open:" msgstr "" -#: ../../../tutorial/MyFirstLanguageFrontend/LangImpl04.rst:513 +#: ../../../tutorial/MyFirstLanguageFrontend/LangImpl04.rst:510 msgid "" "To enable this, we'll start by adding a new global, ``FunctionProtos``, that " "holds the most recent prototype for each function. We'll also add a " @@ -383,25 +380,25 @@ msgid "" "declaration in the current module for any previously declared function." msgstr "" -#: ../../../tutorial/MyFirstLanguageFrontend/LangImpl04.rst:524 +#: ../../../tutorial/MyFirstLanguageFrontend/LangImpl04.rst:521 msgid "We also need to update HandleDefinition and HandleExtern:" msgstr "" -#: ../../../tutorial/MyFirstLanguageFrontend/LangImpl04.rst:558 +#: ../../../tutorial/MyFirstLanguageFrontend/LangImpl04.rst:555 msgid "" "In HandleDefinition, we add two lines to transfer the newly defined function " "to the JIT and open a new module. In HandleExtern, we just need to add one " "line to add the prototype to FunctionProtos." msgstr "" -#: ../../../tutorial/MyFirstLanguageFrontend/LangImpl04.rst:563 +#: ../../../tutorial/MyFirstLanguageFrontend/LangImpl04.rst:560 msgid "" "Duplication of symbols in separate modules is not allowed since LLVM-9. That " "means you can not redefine function in your Kaleidoscope as its shown below. " "Just skip this part." msgstr "" -#: ../../../tutorial/MyFirstLanguageFrontend/LangImpl04.rst:565 +#: ../../../tutorial/MyFirstLanguageFrontend/LangImpl04.rst:562 msgid "" "The reason is that the newer OrcV2 JIT APIs are trying to stay very close to " "the static and dynamic linker rules, including rejecting duplicate symbols. " @@ -409,23 +406,23 @@ msgid "" "compilation for symbols using the (unique) symbol names as keys for tracking." msgstr "" -#: ../../../tutorial/MyFirstLanguageFrontend/LangImpl04.rst:567 +#: ../../../tutorial/MyFirstLanguageFrontend/LangImpl04.rst:564 msgid "" "With these changes made, let's try our REPL again (I removed the dump of the " "anonymous functions this time, you should get the idea by now :) :" msgstr "" -#: ../../../tutorial/MyFirstLanguageFrontend/LangImpl04.rst:580 +#: ../../../tutorial/MyFirstLanguageFrontend/LangImpl04.rst:577 msgid "It works!" msgstr "" -#: ../../../tutorial/MyFirstLanguageFrontend/LangImpl04.rst:582 +#: ../../../tutorial/MyFirstLanguageFrontend/LangImpl04.rst:579 msgid "" "Even with this simple code, we get some surprisingly powerful capabilities - " "check this out:" msgstr "" -#: ../../../tutorial/MyFirstLanguageFrontend/LangImpl04.rst:626 +#: ../../../tutorial/MyFirstLanguageFrontend/LangImpl04.rst:623 msgid "" "Whoa, how does the JIT know about sin and cos? The answer is surprisingly " "simple: The KaleidoscopeJIT has a straightforward symbol resolution rule " @@ -441,7 +438,7 @@ msgid "" "result when called with constants like in the \"``sin(1.0)``\" above." msgstr "" -#: ../../../tutorial/MyFirstLanguageFrontend/LangImpl04.rst:639 +#: ../../../tutorial/MyFirstLanguageFrontend/LangImpl04.rst:636 msgid "" "In the future we'll see how tweaking this symbol resolution rule can be used " "to enable all sorts of useful features, from security (restricting the set " @@ -449,20 +446,20 @@ msgid "" "symbol names, and even lazy compilation." msgstr "" -#: ../../../tutorial/MyFirstLanguageFrontend/LangImpl04.rst:644 +#: ../../../tutorial/MyFirstLanguageFrontend/LangImpl04.rst:641 msgid "" "One immediate benefit of the symbol resolution rule is that we can now " "extend the language by writing arbitrary C++ code to implement operations. " "For example, if we add:" msgstr "" -#: ../../../tutorial/MyFirstLanguageFrontend/LangImpl04.rst:662 +#: ../../../tutorial/MyFirstLanguageFrontend/LangImpl04.rst:659 msgid "" "Note, that for Windows we need to actually export the functions because the " "dynamic symbol loader will use ``GetProcAddress`` to find the symbols." msgstr "" -#: ../../../tutorial/MyFirstLanguageFrontend/LangImpl04.rst:665 +#: ../../../tutorial/MyFirstLanguageFrontend/LangImpl04.rst:662 msgid "" "Now we can produce simple output to the console by using things like: " "\"``extern putchard(x); putchard(120);``\", which prints a lowercase 'x' on " @@ -471,7 +468,7 @@ msgid "" "Kaleidoscope." msgstr "" -#: ../../../tutorial/MyFirstLanguageFrontend/LangImpl04.rst:671 +#: ../../../tutorial/MyFirstLanguageFrontend/LangImpl04.rst:668 msgid "" "This completes the JIT and optimizer chapter of the Kaleidoscope tutorial. " "At this point, we can compile a non-Turing-complete programming language, " @@ -480,27 +477,27 @@ msgid "" "tackling some interesting LLVM IR issues along the way." msgstr "" -#: ../../../tutorial/MyFirstLanguageFrontend/LangImpl04.rst:679 +#: ../../../tutorial/MyFirstLanguageFrontend/LangImpl04.rst:676 msgid "Full Code Listing" msgstr "" -#: ../../../tutorial/MyFirstLanguageFrontend/LangImpl04.rst:681 +#: ../../../tutorial/MyFirstLanguageFrontend/LangImpl04.rst:678 msgid "" "Here is the complete code listing for our running example, enhanced with the " "LLVM JIT and optimizer. To build this example, use:" msgstr "" -#: ../../../tutorial/MyFirstLanguageFrontend/LangImpl04.rst:691 +#: ../../../tutorial/MyFirstLanguageFrontend/LangImpl04.rst:688 msgid "" "If you are compiling this on Linux, make sure to add the \"-rdynamic\" " "option as well. This makes sure that the external functions are resolved " "properly at runtime." msgstr "" -#: ../../../tutorial/MyFirstLanguageFrontend/LangImpl04.rst:695 +#: ../../../tutorial/MyFirstLanguageFrontend/LangImpl04.rst:692 msgid "Here is the code:" msgstr "" -#: ../../../tutorial/MyFirstLanguageFrontend/LangImpl04.rst:700 +#: ../../../tutorial/MyFirstLanguageFrontend/LangImpl04.rst:697 msgid "`Next: Extending the language: control flow `_" msgstr "" diff --git a/main/references.json b/main/references.json index 020d7394332..28b4a6817d7 100644 --- a/main/references.json +++ b/main/references.json @@ -47,9 +47,9 @@ "branch" : "main", "commit" : { - "date" : "2026-01-05 09:37:34 +0100", - "hash" : "e65317acbb5cdd2207d87e44731121f35f5250e5", - "title" : "[ValueTracking] Support ptrtoaddr in computeKnownBits() (#173358)" + "date" : "2026-03-09 08:45:08 +0000", + "hash" : "78ab6026b65eba71c25c539f7b59977065ea8ea7", + "title" : "[RISCV] Move llvm.experimental.cttz.elts tests to rvv folder. NFC (#185371)" } }, "type" : "branch",