Skip to content

[RISC-V] Introduce Zbs #115335

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

Open
wants to merge 52 commits into
base: main
Choose a base branch
from
Open

[RISC-V] Introduce Zbs #115335

wants to merge 52 commits into from

Conversation

tomeksowi
Copy link
Contributor

@tomeksowi tomeksowi commented May 6, 2025

Single-bit instructions

Part of #84834, cc @dotnet/samsung

@ghost ghost added the area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI label May 6, 2025
@dotnet-policy-service dotnet-policy-service bot added the community-contribution Indicates that the PR has been added by a community member label May 6, 2025
Copy link
Contributor

Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch
See info in area-owners.md if you want to be subscribed.

@am11 am11 added the arch-riscv Related to the RISC-V architecture label May 6, 2025
@risc-vv
Copy link

risc-vv commented May 6, 2025

RISC-V Release-CLR-QEMU: 9064 / 9094 (99.67%)
=======================
      passed: 9064
      failed: 2
     skipped: 597
      killed: 28
------------------------
 TOTAL tests: 9691
VIRTUAL time: 29h 37min 35s 909ms
   REAL time: 42min 51s 362ms
=======================

report.xml, report.md, failures.xml, testclr_details.tar.zst

Build information and commands

GIT: 2eb54ac5eb825abb358b05a8147a6cd44a0c6f7f
CI: fb90762a15dc605159873a3c1988381b6a288350
REPO: tomeksowi/runtime
BRANCH: zbs
CONFIG: Release
LIB_CONFIG: Release

RISC-V Release-FX-QEMU: 284444 / 285527 (99.62%)
=======================
      passed: 284444
      failed: 1077
     skipped: 38
      killed: 6
------------------------
 TOTAL tests: 285565
VIRTUAL time: 26h 15min 16s 695ms
   REAL time: 1h 10min 48s 483ms
=======================

report.xml, report.md, failures.xml, testclr_details.tar.zst

Build information and commands

GIT: 2eb54ac5eb825abb358b05a8147a6cd44a0c6f7f
CI: fb90762a15dc605159873a3c1988381b6a288350
REPO: tomeksowi/runtime
BRANCH: zbs
CONFIG: Release
LIB_CONFIG: Release

RISC-V Release-CLR-VF2: 9063 / 9093 (99.67%)
=======================
      passed: 9063
      failed: 2
     skipped: 597
      killed: 28
------------------------
 TOTAL tests: 9690
VIRTUAL time: 10h 35min 3s 934ms
   REAL time: 47min 4s 120ms
=======================

report.xml, report.md, failures.xml, testclr_details.tar.zst

Build information and commands

GIT: 2eb54ac5eb825abb358b05a8147a6cd44a0c6f7f
CI: fb90762a15dc605159873a3c1988381b6a288350
REPO: tomeksowi/runtime
BRANCH: zbs
CONFIG: Release
LIB_CONFIG: Release

RISC-V Release-FX-VF2: 306037 / 307763 (99.44%)
=======================
      passed: 306037
      failed: 1717
     skipped: 38
      killed: 9
------------------------
 TOTAL tests: 307801
VIRTUAL time: 20h 48min 54s 449ms
   REAL time: 2h 16min 23s 389ms
=======================

report.xml, report.md, failures.xml, testclr_details.tar.zst

Build information and commands

GIT: 2eb54ac5eb825abb358b05a8147a6cd44a0c6f7f
CI: fb90762a15dc605159873a3c1988381b6a288350
REPO: tomeksowi/runtime
BRANCH: zbs
CONFIG: Release
LIB_CONFIG: Release

@risc-vv
Copy link

risc-vv commented May 7, 2025

RISC-V Release-CLR-QEMU: 9064 / 9094 (99.67%)
=======================
      passed: 9064
      failed: 2
     skipped: 597
      killed: 28
------------------------
 TOTAL tests: 9691
VIRTUAL time: 29h 32min 11s 822ms
   REAL time: 42min 50s 445ms
=======================

report.xml, report.md, failures.xml, testclr_details.tar.zst

Build information and commands

GIT: 90aa3eea9f0daa94f2f9971e22dc3e3d802e1b79
CI: fb90762a15dc605159873a3c1988381b6a288350
REPO: tomeksowi/runtime
BRANCH: zbs
CONFIG: Release
LIB_CONFIG: Release

RISC-V Release-CLR-VF2: 9064 / 9094 (99.67%)
=======================
      passed: 9064
      failed: 2
     skipped: 597
      killed: 28
------------------------
 TOTAL tests: 9691
VIRTUAL time: 10h 29min 21s 101ms
   REAL time: 46min 42s 468ms
=======================

report.xml, report.md, failures.xml, testclr_details.tar.zst

Build information and commands

GIT: 90aa3eea9f0daa94f2f9971e22dc3e3d802e1b79
CI: fb90762a15dc605159873a3c1988381b6a288350
REPO: tomeksowi/runtime
BRANCH: zbs
CONFIG: Release
LIB_CONFIG: Release

RISC-V Release-FX-QEMU: 284102 / 284874 (99.73%)
=======================
      passed: 284102
      failed: 767
     skipped: 38
      killed: 5
------------------------
 TOTAL tests: 284912
VIRTUAL time: 26h 34min 26s 217ms
   REAL time: 1h 11min 32s 686ms
=======================

report.xml, report.md, failures.xml, testclr_details.tar.zst

Build information and commands

GIT: 90aa3eea9f0daa94f2f9971e22dc3e3d802e1b79
CI: fb90762a15dc605159873a3c1988381b6a288350
REPO: tomeksowi/runtime
BRANCH: zbs
CONFIG: Release
LIB_CONFIG: Release

RISC-V Release-FX-VF2: 508616 / 510336 (99.66%)
=======================
      passed: 508616
      failed: 1708
     skipped: 38
      killed: 12
------------------------
 TOTAL tests: 510374
VIRTUAL time: 21h 48min 58s 143ms
   REAL time: 2h 8min 53s 795ms
=======================

report.xml, report.md, failures.xml, testclr_details.tar.zst

Build information and commands

GIT: 90aa3eea9f0daa94f2f9971e22dc3e3d802e1b79
CI: fb90762a15dc605159873a3c1988381b6a288350
REPO: tomeksowi/runtime
BRANCH: zbs
CONFIG: Release
LIB_CONFIG: Release

@risc-vv
Copy link

risc-vv commented May 7, 2025

RISC-V Release-CLR-QEMU: 9064 / 9094 (99.67%)
=======================
      passed: 9064
      failed: 2
     skipped: 597
      killed: 28
------------------------
 TOTAL tests: 9691
VIRTUAL time: 29h 33min 31s 208ms
   REAL time: 42min 50s 391ms
=======================

report.xml, report.md, failures.xml, testclr_details.tar.zst

Build information and commands

GIT: 10e542fe505e520c70c1e3a02cdec5f19cfd01de
CI: fb90762a15dc605159873a3c1988381b6a288350
REPO: tomeksowi/runtime
BRANCH: zbs
CONFIG: Release
LIB_CONFIG: Release

RISC-V Release-CLR-VF2: 9064 / 9094 (99.67%)
=======================
      passed: 9064
      failed: 2
     skipped: 597
      killed: 28
------------------------
 TOTAL tests: 9691
VIRTUAL time: 10h 51min 51s 566ms
   REAL time: 48min 16s 85ms
=======================

report.xml, report.md, failures.xml, testclr_details.tar.zst

Build information and commands

GIT: 10e542fe505e520c70c1e3a02cdec5f19cfd01de
CI: fb90762a15dc605159873a3c1988381b6a288350
REPO: tomeksowi/runtime
BRANCH: zbs
CONFIG: Release
LIB_CONFIG: Release

RISC-V Release-FX-QEMU: 284592 / 285652 (99.63%)
=======================
      passed: 284592
      failed: 1055
     skipped: 38
      killed: 5
------------------------
 TOTAL tests: 285690
VIRTUAL time: 27h 10min 33s 736ms
   REAL time: 1h 11min 22s 158ms
=======================

report.xml, report.md, failures.xml, testclr_details.tar.zst

Build information and commands

GIT: 10e542fe505e520c70c1e3a02cdec5f19cfd01de
CI: fb90762a15dc605159873a3c1988381b6a288350
REPO: tomeksowi/runtime
BRANCH: zbs
CONFIG: Release
LIB_CONFIG: Release

RISC-V Release-FX-VF2: 306274 / 307994 (99.44%)
=======================
      passed: 306274
      failed: 1710
     skipped: 38
      killed: 10
------------------------
 TOTAL tests: 308032
VIRTUAL time: 20h 28min 28s 790ms
   REAL time: 2h 9min 32s 244ms
=======================

report.xml, report.md, failures.xml, testclr_details.tar.zst

Build information and commands

GIT: 10e542fe505e520c70c1e3a02cdec5f19cfd01de
CI: fb90762a15dc605159873a3c1988381b6a288350
REPO: tomeksowi/runtime
BRANCH: zbs
CONFIG: Release
LIB_CONFIG: Release

Conflicts:
	src/coreclr/inc/jiteeversionguid.h
@risc-vv
Copy link

risc-vv commented Jun 4, 2025

RISC-V Release-CLR-QEMU: 9081 / 9111 (99.67%)
=======================
      passed: 9081
      failed: 2
     skipped: 599
      killed: 28
------------------------
 TOTAL tests: 9710
VIRTUAL time: 35h 33min 9s 329ms
   REAL time: 36min 57s 178ms
=======================

report.xml, report.md, failures.xml, testclr_details.tar.zst

RISC-V Release-FX-QEMU: 280575 / 281636 (99.62%)
=======================
      passed: 280575
      failed: 1056
     skipped: 38
      killed: 5
------------------------
 TOTAL tests: 281674
VIRTUAL time: 29h 25min 22s 983ms
   REAL time: 1h 11min 56s 821ms
=======================

report.xml, report.md, failures.xml, testclr_details.tar.zst

RISC-V Release-CLR-VF2: 9082 / 9112 (99.67%)
=======================
      passed: 9082
      failed: 2
     skipped: 599
      killed: 28
------------------------
 TOTAL tests: 9711
VIRTUAL time: 10h 57min 0s 82ms
   REAL time: 44min 52s 321ms
=======================

report.xml, report.md, failures.xml, testclr_details.tar.zst

RISC-V Release-FX-VF2: 298966 / 300685 (99.43%)
=======================
      passed: 298966
      failed: 1711
     skipped: 38
      killed: 8
------------------------
 TOTAL tests: 300723
VIRTUAL time: 18h 40min 32s 4ms
   REAL time: 2h 14min 25s 847ms
=======================

report.xml, report.md, failures.xml, testclr_details.tar.zst

Build information and commands

GIT: a1b3e7bf8f8e4817753ca5cbf99c42234f7a011f
CI: 8d15504ae1358a01693a7c50a10ed6536bf11989
REPO: dotnet/runtime
BRANCH: main
CONFIG: Release
LIB_CONFIG: Release

@tomeksowi
Copy link
Contributor Author

@dotnet/jit-contrib could you review?

@risc-vv
Copy link

risc-vv commented Jun 13, 2025

c89c962 is being scheduled for building and testing

GIT: c89c962827834b65f6c4bede2922afafc44cebbc
REPO: dotnet/runtime
BRANCH: main

@risc-vv
Copy link

risc-vv commented Jun 13, 2025

RISC-V Release-FX-QEMU: 248430 / 249492 (99.57%)
=======================
      passed: 248430
      failed: 1055
     skipped: 38
      killed: 7
------------------------
 TOTAL tests: 249530
VIRTUAL time: 30h 4min 40s 185ms
   REAL time: 1h 11min 28s 572ms
=======================

report.xml, report.md, failures.xml, testclr_details.tar.zst

RISC-V Release-CLR-QEMU: 9083 / 9113 (99.67%)
=======================
      passed: 9083
      failed: 2
     skipped: 599
      killed: 28
------------------------
 TOTAL tests: 9712
VIRTUAL time: 35h 10min 29s 278ms
   REAL time: 35min 59s 165ms
=======================

report.xml, report.md, failures.xml, testclr_details.tar.zst

RISC-V Release-FX-VF2: 271986 / 273707 (99.37%)
=======================
      passed: 271986
      failed: 1710
     skipped: 38
      killed: 11
------------------------
 TOTAL tests: 273745
VIRTUAL time: 20h 47min 7s 551ms
   REAL time: 2h 11min 34s 312ms
=======================

report.xml, report.md, failures.xml, testclr_details.tar.zst

RISC-V Release-CLR-VF2: 9084 / 9114 (99.67%)
=======================
      passed: 9084
      failed: 2
     skipped: 599
      killed: 28
------------------------
 TOTAL tests: 9713
VIRTUAL time: 10h 54min 38s 166ms
   REAL time: 44min 44s 55ms
=======================

report.xml, report.md, failures.xml, testclr_details.tar.zst

Build information and commands

GIT: 8f2330dbb9ce5e76d2583f8e0e548d7f5ca958bc
CI: ff51305a244b14413d8afd782debae409d7468b8
REPO: dotnet/runtime
BRANCH: main
CONFIG: Release
LIB_CONFIG: Release

@tomeksowi
Copy link
Contributor Author

While discussing #115943 (comment) I noticed xarch's GT_BITTEST_EQ/GT_BT which is similar to bext(i). I'll try to reuse existing lowerings in a future PR so I removed the GT_BIT_EXTRACT part here.

@risc-vv
Copy link

risc-vv commented Jun 24, 2025

RISC-V Release-CLR-QEMU: 9087 / 9117 (99.67%)
=======================
      passed: 9087
      failed: 2
     skipped: 600
      killed: 28
------------------------
 TOTAL tests: 9717
VIRTUAL time: 35h 24min 11s 521ms
   REAL time: 36min 11s 196ms
=======================

report.xml, report.md, failures.xml, testclr_details.tar.zst

RISC-V Release-CLR-VF2: 9088 / 9118 (99.67%)
=======================
      passed: 9088
      failed: 2
     skipped: 600
      killed: 28
------------------------
 TOTAL tests: 9718
VIRTUAL time: 11h 23min 0s 35ms
   REAL time: 46min 21s 374ms
=======================

report.xml, report.md, failures.xml, testclr_details.tar.zst

RISC-V Release-FX-QEMU: 281181 / 282249 (99.62%)
=======================
      passed: 281181
      failed: 1062
     skipped: 39
      killed: 6
------------------------
 TOTAL tests: 282288
VIRTUAL time: 29h 59min 20s 352ms
   REAL time: 1h 10min 45s 115ms
=======================

report.xml, report.md, failures.xml, testclr_details.tar.zst

RISC-V Release-FX-VF2: 503077 / 504820 (99.65%)
=======================
      passed: 503077
      failed: 1736
     skipped: 39
      killed: 7
------------------------
 TOTAL tests: 504859
VIRTUAL time: 22h 5min 38s 857ms
   REAL time: 2h 17min 39s 882ms
=======================

report.xml, report.md, failures.xml, testclr_details.tar.zst

Build information and commands

GIT: 269b114da37b469c397d85e9f3f01974edeee0ea
CI: 01a69d638efe9b8b18c2888449be98b4a6cde211
REPO: dotnet/runtime
BRANCH: main
CONFIG: Release
LIB_CONFIG: Release

@risc-vv
Copy link

risc-vv commented Jun 25, 2025

RISC-V Release-CLR-QEMU: 9087 / 9117 (99.67%)
=======================
      passed: 9087
      failed: 2
     skipped: 600
      killed: 28
------------------------
 TOTAL tests: 9717
VIRTUAL time: 35h 19min 35s 454ms
   REAL time: 36min 13s 909ms
=======================

report.xml, report.md, failures.xml, testclr_details.tar.zst

Build information and commands

GIT: 269b114da37b469c397d85e9f3f01974edeee0ea
CI: 01a69d638efe9b8b18c2888449be98b4a6cde211
REPO: dotnet/runtime
BRANCH: main
CONFIG: Release
LIB_CONFIG: Release

@risc-vv
Copy link

risc-vv commented Jun 25, 2025

RISC-V Release-FX-QEMU: 283642 / 284711 (99.62%)
=======================
      passed: 283642
      failed: 1063
     skipped: 39
      killed: 6
------------------------
 TOTAL tests: 284750
VIRTUAL time: 30h 32min 3s 456ms
   REAL time: 1h 11min 10s 862ms
=======================

report.xml, report.md, failures.xml, testclr_details.tar.zst

RISC-V Release-CLR-VF2: 9088 / 9118 (99.67%)
=======================
      passed: 9088
      failed: 2
     skipped: 600
      killed: 28
------------------------
 TOTAL tests: 9718
VIRTUAL time: 11h 15min 7s 892ms
   REAL time: 45min 54s 641ms
=======================

report.xml, report.md, failures.xml, testclr_details.tar.zst

RISC-V Release-CLR-QEMU: 9087 / 9117 (99.67%)
=======================
      passed: 9087
      failed: 2
     skipped: 600
      killed: 28
------------------------
 TOTAL tests: 9717
VIRTUAL time: 35h 22min 44s 885ms
   REAL time: 36min 11s 916ms
=======================

report.xml, report.md, failures.xml, testclr_details.tar.zst

RISC-V Release-FX-VF2: 501238 / 502976 (99.65%)
=======================
      passed: 501238
      failed: 1729
     skipped: 39
      killed: 9
------------------------
 TOTAL tests: 503015
VIRTUAL time: 21h 17min 2s 284ms
   REAL time: 2h 19min 2s 7ms
=======================

report.xml, report.md, failures.xml, testclr_details.tar.zst

Build information and commands

GIT: 4aead698ea830380bc97169484df495e3661177c
CI: 01a69d638efe9b8b18c2888449be98b4a6cde211
REPO: dotnet/runtime
BRANCH: main
CONFIG: Release
LIB_CONFIG: Release

Conflicts:
	src/coreclr/inc/jiteeversionguid.h
@risc-vv
Copy link

risc-vv commented Jul 4, 2025

RISC-V Release-CLR-QEMU: 9080 / 9110 (99.67%)
=======================
      passed: 9080
      failed: 2
     skipped: 600
      killed: 28
------------------------
 TOTAL tests: 9710
VIRTUAL time: 35h 12min 13s 484ms
   REAL time: 36min 4s 353ms
=======================

report.xml, report.md, failures.xml, testclr_details.tar.zst

RISC-V Release-CLR-VF2: 9081 / 9111 (99.67%)
=======================
      passed: 9081
      failed: 2
     skipped: 600
      killed: 28
------------------------
 TOTAL tests: 9711
VIRTUAL time: 11h 4min 43s 443ms
   REAL time: 45min 9s 404ms
=======================

report.xml, report.md, failures.xml, testclr_details.tar.zst

RISC-V Release-FX-QEMU: 283654 / 284727 (99.62%)
=======================
      passed: 283654
      failed: 1068
     skipped: 39
      killed: 5
------------------------
 TOTAL tests: 284766
VIRTUAL time: 30h 19min 11s 59ms
   REAL time: 1h 11min 56s 675ms
=======================

report.xml, report.md, failures.xml, testclr_details.tar.zst

RISC-V Release-FX-VF2: 301561 / 303316 (99.42%)
=======================
      passed: 301561
      failed: 1746
     skipped: 39
      killed: 9
------------------------
 TOTAL tests: 303355
VIRTUAL time: 20h 38min 42s 588ms
   REAL time: 2h 11min 23s 233ms
=======================

report.xml, report.md, failures.xml, testclr_details.tar.zst

Build information and commands

GIT: 848c99ef909837da10fdfe151d12521c06e8fd28
CI: 342a73835e41f07726d6771940277220aab69719
REPO: dotnet/runtime
BRANCH: main
CONFIG: Release
LIB_CONFIG: Release

@risc-vv
Copy link

risc-vv commented Jul 4, 2025

848c99e is being scheduled for building and testing

GIT: 848c99ef909837da10fdfe151d12521c06e8fd28
REPO: dotnet/runtime
BRANCH: main

3 similar comments
@risc-vv
Copy link

risc-vv commented Jul 4, 2025

848c99e is being scheduled for building and testing

GIT: 848c99ef909837da10fdfe151d12521c06e8fd28
REPO: dotnet/runtime
BRANCH: main

@risc-vv
Copy link

risc-vv commented Jul 4, 2025

848c99e is being scheduled for building and testing

GIT: 848c99ef909837da10fdfe151d12521c06e8fd28
REPO: dotnet/runtime
BRANCH: main

@risc-vv
Copy link

risc-vv commented Jul 4, 2025

848c99e is being scheduled for building and testing

GIT: 848c99ef909837da10fdfe151d12521c06e8fd28
REPO: dotnet/runtime
BRANCH: main

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
arch-riscv Related to the RISC-V architecture area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI community-contribution Indicates that the PR has been added by a community member
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants