Skip to content

Conversation

@Flakebi
Copy link
Contributor

@Flakebi Flakebi commented Dec 14, 2025

The amdgpu target uses vector types in various places. The vector types can be used on all architectures, there is no associated target feature that needs to be enabled.

The largest vector type found in LLVM intrinsics is v32i32 ([32 x i32]) for mfma intrinsics. Note that while this intrinsic is only supported on some architectures, the vector type itself is supported on all architectures.

Tracking issue: #135024

(I used an empty string to say “does not need a target feature”. If you prefer an Option or something like that, I’ll change it.)

The amdgpu target uses vector types in various places. The vector types
can be used on all architectures, there is no associated target feature
that needs to be enabled.

The largest vector type found in LLVM intrinsics is `v32i32`
(`[32 x i32]`) for mfma intrinsics. Note that while this intrinsic is
only supported on some architectures, the vector type itself is
supported on all architectures.
@rustbot rustbot added A-run-make Area: port run-make Makefiles to rmake.rs S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels Dec 14, 2025
@rustbot
Copy link
Collaborator

rustbot commented Dec 14, 2025

r? @jieyouxu

rustbot has assigned @jieyouxu.
They will have a look at your PR within the next two weeks and either review your PR or reassign to another reviewer.

Use r? to explicitly pick a reviewer

@Flakebi Flakebi mentioned this pull request Dec 14, 2025
24 tasks
@rust-log-analyzer
Copy link
Collaborator

The job x86_64-gnu-tools failed! Check out the build log: (web) (plain enhanced) (plain)

Click to see the possible cause of the failure (guessed by this bot)
 INFO Testing chapter 'Foreword': "foreword.md"
 INFO Testing chapter 'Introduction': "ch00-00-introduction.md"
 INFO Testing chapter 'Getting Started': "ch01-00-getting-started.md"
 INFO Testing chapter 'Installation': "ch01-01-installation.md"
 INFO Testing chapter 'Hello, World!': "ch01-02-hello-world.md"
 INFO Testing chapter 'Hello, Cargo!': "ch01-03-hello-cargo.md"
 INFO Testing chapter 'Programming a Guessing Game': "ch02-00-guessing-game-tutorial.md"
 INFO Testing chapter 'Common Programming Concepts': "ch03-00-common-programming-concepts.md"
 INFO Testing chapter 'Variables and Mutability': "ch03-01-variables-and-mutability.md"
 INFO Testing chapter 'Data Types': "ch03-02-data-types.md"
 INFO Testing chapter 'Functions': "ch03-03-how-functions-work.md"
 INFO Testing chapter 'Comments': "ch03-04-comments.md"
 INFO Testing chapter 'Control Flow': "ch03-05-control-flow.md"
 INFO Testing chapter 'Understanding Ownership': "ch04-00-understanding-ownership.md"
 INFO Testing chapter 'What is Ownership?': "ch04-01-what-is-ownership.md"
 INFO Testing chapter 'References and Borrowing': "ch04-02-references-and-borrowing.md"
---
 INFO Testing chapter 'Writing Automated Tests': "ch11-00-testing.md"
 INFO Testing chapter 'How to Write Tests': "ch11-01-writing-tests.md"
 INFO Testing chapter 'Controlling How Tests Are Run': "ch11-02-running-tests.md"
 INFO Testing chapter 'Test Organization': "ch11-03-test-organization.md"
 INFO Testing chapter 'An I/O Project: Building a Command Line Program': "ch12-00-an-io-project.md"
 INFO Testing chapter 'Accepting Command Line Arguments': "ch12-01-accepting-command-line-arguments.md"
 INFO Testing chapter 'Reading a File': "ch12-02-reading-a-file.md"
 INFO Testing chapter 'Refactoring to Improve Modularity and Error Handling': "ch12-03-improving-error-handling-and-modularity.md"
 INFO Testing chapter 'Adding Functionality with Test Driven Development': "ch12-04-testing-the-librarys-functionality.md"
 INFO Testing chapter 'Working with Environment Variables': "ch12-05-working-with-environment-variables.md"
 INFO Testing chapter 'Redirecting Errors to Standard Error': "ch12-06-writing-to-stderr-instead-of-stdout.md"
 INFO Testing chapter 'Functional Language Features: Iterators and Closures': "ch13-00-functional-features.md"
 INFO Testing chapter 'Closures': "ch13-01-closures.md"
 INFO Testing chapter 'Processing a Series of Items with Iterators': "ch13-02-iterators.md"
 INFO Testing chapter 'Improving Our I/O Project': "ch13-03-improving-our-io-project.md"
 INFO Testing chapter 'Performance in Loops vs. Iterators': "ch13-04-performance.md"
---
 INFO Testing chapter 'Advanced Traits': "ch20-02-advanced-traits.md"
 INFO Testing chapter 'Advanced Types': "ch20-03-advanced-types.md"
 INFO Testing chapter 'Advanced Functions and Closures': "ch20-04-advanced-functions-and-closures.md"
 INFO Testing chapter 'Macros': "ch20-05-macros.md"
 INFO Testing chapter 'Final Project: Building a Multithreaded Web Server': "ch21-00-final-project-a-web-server.md"
 INFO Testing chapter 'Building a Single-Threaded Web Server': "ch21-01-single-threaded.md"
 INFO Testing chapter 'From Single-Threaded to Multithreaded Server': "ch21-02-multithreaded.md"
 INFO Testing chapter 'Graceful Shutdown and Cleanup': "ch21-03-graceful-shutdown-and-cleanup.md"
 INFO Testing chapter 'Appendix': "appendix-00.md"
 INFO Testing chapter 'A - Keywords': "appendix-01-keywords.md"
 INFO Testing chapter 'B - Operators and Symbols': "appendix-02-operators.md"
 INFO Testing chapter 'C - Derivable Traits': "appendix-03-derivable-traits.md"
 INFO Testing chapter 'D - Useful Development Tools': "appendix-04-useful-development-tools.md"
 INFO Testing chapter 'E - Editions': "appendix-05-editions.md"
 INFO Testing chapter 'F - Translations of the Book': "appendix-06-translation.md"
 INFO Testing chapter 'G - How Rust is Made and “Nightly Rust”': "appendix-07-nightly-rust.md"
 finished in 65.759 seconds
##[endgroup]
[TIMING:end] test::BookTest { test_compiler: Compiler { stage: 2, host: x86_64-unknown-linux-gnu, forced_compiler: false }, path: "src/doc/book", name: "book", is_ext_doc: true, dependencies: ["src/doc/book/packages/trpl"] } -- 155.710
[TIMING:end] test::TheBook { test_compiler: Compiler { stage: 2, host: x86_64-unknown-linux-gnu, forced_compiler: false } } -- 0.000
[TIMING:start] test::Nomicon { test_compiler: Compiler { stage: 2, host: x86_64-unknown-linux-gnu, forced_compiler: false } }
---
 INFO Testing chapter 'Arrays and Slices': "primitives/array.md"
 INFO Testing chapter 'Custom Types': "custom_types.md"
 INFO Testing chapter 'Structures': "custom_types/structs.md"
 INFO Testing chapter 'Enums': "custom_types/enum.md"
 INFO Testing chapter 'use': "custom_types/enum/enum_use.md"
 INFO Testing chapter 'C-like': "custom_types/enum/c_like.md"
 INFO Testing chapter 'Testcase: linked-list': "custom_types/enum/testcase_linked_list.md"
 INFO Testing chapter 'constants': "custom_types/constants.md"
 INFO Testing chapter 'Variable Bindings': "variable_bindings.md"
 INFO Testing chapter 'Mutability': "variable_bindings/mut.md"
 INFO Testing chapter 'Scope and Shadowing': "variable_bindings/scope.md"
 INFO Testing chapter 'Declare first': "variable_bindings/declare.md"
 INFO Testing chapter 'Freezing': "variable_bindings/freeze.md"
---
 INFO Testing chapter 'Disambiguating overlapping traits': "trait/disambiguating.md"
 INFO Testing chapter 'macro_rules!': "macros.md"
 INFO Testing chapter 'Syntax': "macros/syntax.md"
 INFO Testing chapter 'Designators': "macros/designators.md"
 INFO Testing chapter 'Overload': "macros/overload.md"
 INFO Testing chapter 'Repeat': "macros/repeat.md"
 INFO Testing chapter 'DRY (Don't Repeat Yourself)': "macros/dry.md"
 INFO Testing chapter 'DSL (Domain Specific Languages)': "macros/dsl.md"
 INFO Testing chapter 'Variadics': "macros/variadics.md"
 INFO Testing chapter 'Error handling': "error.md"
 INFO Testing chapter 'panic': "error/panic.md"
 INFO Testing chapter 'abort & unwind': "error/abort_unwind.md"
 INFO Testing chapter 'Option & unwrap': "error/option_unwrap.md"
 INFO Testing chapter 'Unpacking options with ?': "error/option_unwrap/question_mark.md"
---
 INFO Testing chapter 'MacOS': "intro/install/macos.md"
 INFO Testing chapter 'Windows': "intro/install/windows.md"
 INFO Testing chapter 'Verify Installation': "intro/install/verify.md"
 INFO Testing chapter 'Getting started': "start/index.md"
 INFO Testing chapter 'QEMU': "start/qemu.md"
 INFO Testing chapter 'Hardware': "start/hardware.md"
 INFO Testing chapter 'Memory-mapped Registers': "start/registers.md"
 INFO Testing chapter 'Semihosting': "start/semihosting.md"
 INFO Testing chapter 'Panicking': "start/panicking.md"
 INFO Testing chapter 'Exceptions': "start/exceptions.md"
 INFO Testing chapter 'Interrupts': "start/interrupts.md"
---
 INFO Testing chapter 'HALs': "design-patterns/hal/index.md"
 INFO Testing chapter 'Checklist': "design-patterns/hal/checklist.md"
 INFO Testing chapter 'Naming': "design-patterns/hal/naming.md"
 INFO Testing chapter 'Interoperability': "design-patterns/hal/interoperability.md"
 INFO Testing chapter 'Predictability': "design-patterns/hal/predictability.md"
 INFO Testing chapter 'GPIO': "design-patterns/hal/gpio.md"
 INFO Testing chapter 'Tips for embedded C developers': "c-tips/index.md"
 INFO Testing chapter 'Interoperability': "interoperability/index.md"
 INFO Testing chapter 'A little C with your Rust': "interoperability/c-with-rust.md"
 INFO Testing chapter 'A little Rust with your C': "interoperability/rust-with-c.md"
 INFO Testing chapter 'Unsorted topics': "unsorted/index.md"
 INFO Testing chapter 'Optimizations: The speed size tradeoff': "unsorted/speed-vs-size.md"
---
.................................................. (50/144)
...............F
======== tests/rustdoc-gui/module-items-font.goml ========

[ERROR] `tests/rustdoc-gui/module-items-font.goml`: module-items-font output:
Waiting failed: 30000ms exceeded
stack: TimeoutError: Waiting failed: 30000ms exceeded
    at new WaitTask (/checkout/obj/build/x86_64-unknown-linux-gnu/test/rustdoc-gui/node_modules/puppeteer-core/lib/cjs/puppeteer/common/WaitTask.js:50:34)
    at IsolatedWorld.waitForFunction (/checkout/obj/build/x86_64-unknown-linux-gnu/test/rustdoc-gui/node_modules/puppeteer-core/lib/cjs/puppeteer/api/Realm.js:25:26)
    at CdpFrame.waitForFunction (/checkout/obj/build/x86_64-unknown-linux-gnu/test/rustdoc-gui/node_modules/puppeteer-core/lib/cjs/puppeteer/api/Frame.js:561:43)
    at CdpFrame.<anonymous> (/checkout/obj/build/x86_64-unknown-linux-gnu/test/rustdoc-gui/node_modules/puppeteer-core/lib/cjs/puppeteer/util/decorators.js:98:27)
    at CdpPage.waitForFunction (/checkout/obj/build/x86_64-unknown-linux-gnu/test/rustdoc-gui/node_modules/puppeteer-core/lib/cjs/puppeteer/api/Page.js:1366:37)
    at runAllCommands (/checkout/obj/build/x86_64-unknown-linux-gnu/test/rustdoc-gui/node_modules/browser-ui-test/src/index.js:417:28)
    at async innerRunTestCode (/checkout/obj/build/x86_64-unknown-linux-gnu/test/rustdoc-gui/node_modules/browser-ui-test/src/index.js:692:21)
    at async innerRunTests (/checkout/obj/build/x86_64-unknown-linux-gnu/test/rustdoc-gui/node_modules/browser-ui-test/src/index.js:630:17)
    at async runTests (/checkout/obj/build/x86_64-unknown-linux-gnu/test/rustdoc-gui/node_modules/browser-ui-test/src/index.js:820:27)



<= doc-ui tests done: 65 succeeded, 79 failed, 0 filtered out

@jieyouxu jieyouxu closed this Dec 15, 2025
@rustbot rustbot removed the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Dec 15, 2025
@jieyouxu jieyouxu reopened this Dec 15, 2025
@rustbot rustbot added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Dec 15, 2025
Copy link
Member

@jieyouxu jieyouxu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Seems sensible, thanks

View changes since this review

@jieyouxu jieyouxu added the O-amdgcn Target: the Radeon 9001XT and such label Dec 15, 2025
@jieyouxu
Copy link
Member

@bors r+

@bors
Copy link
Collaborator

bors commented Dec 15, 2025

📌 Commit a9b1472 has been approved by jieyouxu

It is now in the queue for this repository.

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Dec 15, 2025
bors added a commit that referenced this pull request Dec 15, 2025
Rollup of 7 pull requests

Successful merges:

 - #149744 (test: update duplicate many_digits test to use f64 instead of f32)
 - #149946 (mir_build: Move and rename code for partitioning match candidates)
 - #149987 (Move ambient cdb discovery from compiletest to bootstrap)
 - #149990 (Improve amdgpu docs: Mention device-libs and xnack)
 - #149994 (Allow vector types for amdgpu)
 - #149997 (Link POSIX instead of Linux manual for Instant)
 - #150010 (Correct library linking for hexagon targets in run-make tests)

r? `@ghost`
`@rustbot` modify labels: rollup
@bors bors merged commit 3e412fa into rust-lang:main Dec 15, 2025
20 of 22 checks passed
@rustbot rustbot added this to the 1.94.0 milestone Dec 15, 2025
rust-timer added a commit that referenced this pull request Dec 15, 2025
Rollup merge of #149994 - Flakebi:amdgpu-vectors, r=jieyouxu

Allow vector types for amdgpu

The amdgpu target uses vector types in various places. The vector types can be used on all architectures, there is no associated target feature that needs to be enabled.

The largest vector type found in LLVM intrinsics is `v32i32` (`[32 x i32]`) for mfma intrinsics. Note that while this intrinsic is only supported on some architectures, the vector type itself is supported on all architectures.

Tracking issue: #135024

(I used an empty string to say “does not need a target feature”. If you prefer an `Option` or something like that, I’ll change it.)
@Flakebi Flakebi deleted the amdgpu-vectors branch December 15, 2025 16:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-run-make Area: port run-make Makefiles to rmake.rs O-amdgcn Target: the Radeon 9001XT and such S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants