Skip to content

Commit 0a387f7

Browse files
tklausergopherbot
authored andcommitted
cpu: detect zbc extension on riscv64
Change-Id: Icdd4c279693c67982f37c80a891ecadda8ec108a Reviewed-on: https://go-review.googlesource.com/c/sys/+/776280 LUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Keith Randall <khr@golang.org> Reviewed-by: Keith Randall <khr@google.com> Auto-Submit: Tobias Klauser <tobias.klauser@gmail.com> Reviewed-by: Florian Lehner <lehner.florian86@gmail.com> Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
1 parent 758f71c commit 0a387f7

3 files changed

Lines changed: 4 additions & 0 deletions

File tree

cpu/cpu.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -236,6 +236,7 @@ var RISCV64 struct {
236236
HasZba bool // Address generation instructions extension
237237
HasZbb bool // Basic bit-manipulation extension
238238
HasZbs bool // Single-bit instructions extension
239+
HasZbc bool // Carryless multiplication extension
239240
HasZvbb bool // Vector Basic Bit-manipulation
240241
HasZvbc bool // Vector Carryless Multiplication
241242
HasZvkb bool // Vector Cryptography Bit-manipulation

cpu/cpu_linux_riscv64.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@ const (
5858
riscv_HWPROBE_EXT_ZBA = 0x8
5959
riscv_HWPROBE_EXT_ZBB = 0x10
6060
riscv_HWPROBE_EXT_ZBS = 0x20
61+
riscv_HWPROBE_EXT_ZBC = 0x80
6162
riscv_HWPROBE_EXT_ZVBB = 0x20000
6263
riscv_HWPROBE_EXT_ZVBC = 0x40000
6364
riscv_HWPROBE_EXT_ZVKB = 0x80000
@@ -108,6 +109,7 @@ func doinit() {
108109
RISCV64.HasZba = isSet(v, riscv_HWPROBE_EXT_ZBA)
109110
RISCV64.HasZbb = isSet(v, riscv_HWPROBE_EXT_ZBB)
110111
RISCV64.HasZbs = isSet(v, riscv_HWPROBE_EXT_ZBS)
112+
RISCV64.HasZbc = isSet(v, riscv_HWPROBE_EXT_ZBC)
111113
RISCV64.HasZvbb = isSet(v, riscv_HWPROBE_EXT_ZVBB)
112114
RISCV64.HasZvbc = isSet(v, riscv_HWPROBE_EXT_ZVBC)
113115
RISCV64.HasZvkb = isSet(v, riscv_HWPROBE_EXT_ZVKB)

cpu/cpu_riscv64.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ func initOptions() {
1616
{Name: "zba", Feature: &RISCV64.HasZba},
1717
{Name: "zbb", Feature: &RISCV64.HasZbb},
1818
{Name: "zbs", Feature: &RISCV64.HasZbs},
19+
{Name: "zbc", Feature: &RISCV64.HasZbc},
1920
// RISC-V Cryptography Extensions
2021
{Name: "zvbb", Feature: &RISCV64.HasZvbb},
2122
{Name: "zvbc", Feature: &RISCV64.HasZvbc},

0 commit comments

Comments
 (0)