Skip to content

Subtree update cg_gcc 2025/04/25 #140295

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 13 commits into from
Apr 26, 2025

Conversation

antoyo
Copy link
Contributor

@antoyo antoyo commented Apr 25, 2025

r? GuillaumeGomez

GuillaumeGomez and others added 13 commits April 18, 2025 21:20
…affleLapkin

simd intrinsics with mask: accept unsigned integer masks, and fix some of the errors

It's not clear at all why the mask would have to be signed, it is anyway interpreted bitwise. The backend should just make sure that works no matter the surface-level type; our LLVM backend already does this correctly. The note of "the mask may be widened, which only has the correct behavior for signed integers" explains... nothing? Why can't the code do the widening correctly? If necessary, just cast to the signed type first...

Also while we are at it, fix the errors. For simd_masked_load/store, the errors talked about the "third argument" but they meant the first argument (the mask is the first argument there). They also used the wrong type for `expected_element`.

I have extremely low confidence in the GCC part of this PR.

See [discussion on Zulip](https://rust-lang.zulipchat.com/#narrow/channel/257879-project-portable-simd/topic/On.20the.20sign.20of.20masks)
@rustbot rustbot added 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 Apr 25, 2025
@rustbot
Copy link
Collaborator

rustbot commented Apr 25, 2025

Some changes occurred in compiler/rustc_codegen_gcc

cc @antoyo, @GuillaumeGomez

@GuillaumeGomez
Copy link
Member

@bors r+ rollup=never p=1

@bors
Copy link
Collaborator

bors commented Apr 25, 2025

📌 Commit 3cd97b6 has been approved by GuillaumeGomez

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 Apr 25, 2025
@bors
Copy link
Collaborator

bors commented Apr 25, 2025

⌛ Testing commit 3cd97b6 with merge 555e1d0...

@bors
Copy link
Collaborator

bors commented Apr 26, 2025

☀️ Test successful - checks-actions
Approved by: GuillaumeGomez
Pushing 555e1d0 to master...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label Apr 26, 2025
@rust-log-analyzer
Copy link
Collaborator

A job failed! Check out the build log: (web) (plain)

Click to see the possible cause of the failure (guessed by this bot)
   Compiling diff v0.1.13
   Compiling glob-match v0.2.1
   Compiling citool v0.1.0 (/home/runner/work/rust/rust/src/ci/citool)
    Finished `release` profile [optimized] target(s) in 45.83s
     Running `target/release/citool post-merge-report b4c8b0c3f0533bb342a4873ff59bdad3883ab8e3 555e1d0386f024a8359645c3217f4b3eae9be042`
Downloading metrics of job aarch64-gnu
Downloading metrics of job aarch64-gnu-debug
Downloading metrics of job arm-android
Downloading metrics of job armhf-gnu
Downloading metrics of job dist-aarch64-linux
Downloading metrics of job dist-android
Downloading metrics of job dist-arm-linux
Downloading metrics of job dist-armhf-linux
Downloading metrics of job dist-armv7-linux
Downloading metrics of job dist-i586-gnu-i586-i686-musl
Downloading metrics of job dist-i686-linux
Downloading metrics of job dist-loongarch64-linux
Downloading metrics of job dist-loongarch64-musl
Downloading metrics of job dist-ohos
Downloading metrics of job dist-powerpc-linux
Downloading metrics of job dist-powerpc64-linux
Downloading metrics of job dist-powerpc64le-linux
Downloading metrics of job dist-riscv64-linux
Downloading metrics of job dist-s390x-linux
Downloading metrics of job dist-various-1
Downloading metrics of job dist-various-2
Downloading metrics of job dist-x86_64-freebsd
Downloading metrics of job dist-x86_64-illumos
Downloading metrics of job dist-x86_64-linux
Downloading metrics of job dist-x86_64-linux-alt
Downloading metrics of job dist-x86_64-musl
Downloading metrics of job dist-x86_64-netbsd
Downloading metrics of job i686-gnu-1
Downloading metrics of job i686-gnu-2
Downloading metrics of job i686-gnu-nopt-1
Downloading metrics of job i686-gnu-nopt-2
Downloading metrics of job mingw-check
Downloading metrics of job test-various
Downloading metrics of job x86_64-rust-for-linux
Downloading metrics of job x86_64-gnu
Downloading metrics of job x86_64-gnu-stable
Downloading metrics of job x86_64-gnu-aux
Downloading metrics of job x86_64-gnu-debug
Downloading metrics of job x86_64-gnu-distcheck
Downloading metrics of job x86_64-gnu-llvm-20-1
Downloading metrics of job x86_64-gnu-llvm-20-2
Downloading metrics of job x86_64-gnu-llvm-20-3
Downloading metrics of job x86_64-gnu-llvm-19-1
Downloading metrics of job x86_64-gnu-llvm-19-2
Downloading metrics of job x86_64-gnu-llvm-19-3
Downloading metrics of job x86_64-gnu-nopt
Downloading metrics of job x86_64-gnu-tools
Downloading metrics of job dist-x86_64-apple
Downloading metrics of job dist-apple-various
Downloading metrics of job x86_64-apple-1
Downloading metrics of job x86_64-apple-2
Downloading metrics of job dist-aarch64-apple
Downloading metrics of job aarch64-apple
Downloading metrics of job x86_64-msvc-1
Downloading metrics of job x86_64-msvc-2
Downloading metrics of job i686-msvc-1
Downloading metrics of job i686-msvc-2
Downloading metrics of job x86_64-msvc-ext1
Downloading metrics of job x86_64-msvc-ext2
Downloading metrics of job x86_64-msvc-ext3
Downloading metrics of job x86_64-mingw-1
Downloading metrics of job x86_64-mingw-2
Downloading metrics of job dist-x86_64-msvc
Downloading metrics of job dist-i686-msvc
Downloading metrics of job dist-aarch64-msvc
Downloading metrics of job dist-i686-mingw
Downloading metrics of job dist-x86_64-mingw
Downloading metrics of job dist-x86_64-msvc-alt
<details>
<summary>What is this?</summary>
This is an experimental post-merge analysis report that shows differences in test outcomes between the merged PR and its parent PR.
</details>


Comparing b4c8b0c3f0533bb342a4873ff59bdad3883ab8e3 (parent) -> 555e1d0386f024a8359645c3217f4b3eae9be042 (this PR)

# Test differences
No test diffs found
<details>
<summary>Test dashboard</summary>

Run

```bash
cargo run --manifest-path src/ci/citool/Cargo.toml -- \
    test-dashboard 555e1d0386f024a8359645c3217f4b3eae9be042 --output-dir test-dashboard

And then open test-dashboard/index.html in your browser to see an overview of all executed tests.

Job duration changes

  1. dist-aarch64-linux: 5437.1s -> 7658.2s (40.9%)
  2. aarch64-apple: 4935.9s -> 4082.1s (-17.3%)
  3. x86_64-gnu-distcheck: 4419.6s -> 4973.8s (12.5%)
  4. dist-x86_64-apple: 8618.2s -> 9499.8s (10.2%)
  5. x86_64-rust-for-linux: 2492.9s -> 2740.5s (9.9%)
  6. dist-aarch64-apple: 5946.0s -> 5547.4s (-6.7%)
  7. x86_64-apple-2: 5644.3s -> 5991.8s (6.2%)
  8. i686-msvc-2: 7626.3s -> 7173.3s (-5.9%)
  9. x86_64-msvc-ext1: 7033.8s -> 7340.6s (4.4%)
  10. dist-loongarch64-musl: 5239.1s -> 5463.6s (4.3%)
How to interpret the job duration changes?

Job durations can vary a lot, based on the actual runner instance
that executed the job, system noise, invalidated caches, etc. The table above is provided
mostly for t-infra members, for simpler debugging of potential CI slow-downs.

no pull requests found for branch "master"
##[error]Process completed with exit code 1.
Post job cleanup.


</details>

@rust-timer
Copy link
Collaborator

Finished benchmarking commit (555e1d0): comparison URL.

Overall result: no relevant changes - no action needed

@rustbot label: -perf-regression

Instruction count

This benchmark run did not return any relevant results for this metric.

Max RSS (memory usage)

Results (primary -1.3%)

This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.

mean range count
Regressions ❌
(primary)
0.9% [0.9%, 0.9%] 1
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-1.9% [-3.1%, -0.6%] 4
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) -1.3% [-3.1%, 0.9%] 5

Cycles

Results (primary -0.1%)

This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.

mean range count
Regressions ❌
(primary)
0.4% [0.4%, 0.4%] 1
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-0.7% [-0.7%, -0.7%] 1
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) -0.1% [-0.7%, 0.4%] 2

Binary size

This benchmark run did not return any relevant results for this metric.

Bootstrap: 775.721s -> 776.189s (0.06%)
Artifact size: 365.17 MiB -> 365.11 MiB (-0.02%)

@bors bors merged commit 555e1d0 into rust-lang:master Apr 26, 2025
7 checks passed
@rustbot rustbot added this to the 1.88.0 milestone Apr 26, 2025
@GuillaumeGomez GuillaumeGomez deleted the subtree-update_cg_gcc_2025-04-25 branch April 26, 2025 09:12
@GuillaumeGomez
Copy link
Member

@rust-lang/infra Is this normal to have the CI failing but still the PR getting merged?

@Kobzol
Copy link
Contributor

Kobzol commented Apr 26, 2025

It's just the post-merge report that failed, the auto tests were fine. I'll take a look.

@Kobzol
Copy link
Contributor

Kobzol commented Apr 28, 2025

Hmm, for some reason GH was unable to find a PR corresponding to the SHA that was merged. I'll keep a watch on this in case it repeats.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
merged-by-bors This PR was explicitly merged by bors. 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.

10 participants