Skip to content
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

cmd/compile: implement atomic intrinsics for riscv64 #36765

Closed
4a6f656c opened this issue Jan 25, 2020 · 9 comments
Closed

cmd/compile: implement atomic intrinsics for riscv64 #36765

4a6f656c opened this issue Jan 25, 2020 · 9 comments

Comments

@4a6f656c
Copy link
Contributor

@4a6f656c 4a6f656c commented Jan 25, 2020

Go on riscv64 does not currently support atomic intrinsics, rather all atomics are functions. This should be implemented.

@gopherbot

This comment has been minimized.

Copy link

@gopherbot gopherbot commented Jan 25, 2020

Change https://golang.org/cl/216263 mentions this issue: test: adjust tests for riscv64

gopherbot pushed a commit that referenced this issue Jan 25, 2020
This disables some tests that are unsupported on riscv64 and adds support
for risc64 to test/nosplit.

Updates #27532, #36739 and #36765

Change-Id: I0a57797a05bc80236709fc240c0a0efb0ee0d16b
Reviewed-on: https://go-review.googlesource.com/c/go/+/216263
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
@tklauser tklauser added the arch-riscv label Jan 27, 2020
@tklauser tklauser added this to the Backlog milestone Jan 27, 2020
@cagedmantis

This comment has been minimized.

Copy link
Contributor

@cagedmantis cagedmantis commented Feb 3, 2020

@gopherbot

This comment has been minimized.

Copy link

@gopherbot gopherbot commented Feb 23, 2020

Change https://golang.org/cl/220540 mentions this issue: cmd/internal/obj/riscv: add LR/SC instructions

@gopherbot

This comment has been minimized.

Copy link

@gopherbot gopherbot commented Feb 23, 2020

Change https://golang.org/cl/220541 mentions this issue: cmd/internal/obj/riscv: add atomic memory operation instructions

@gopherbot

This comment has been minimized.

Copy link

@gopherbot gopherbot commented Feb 23, 2020

Change https://golang.org/cl/220539 mentions this issue: cmd/internal/obj/riscv: add FENCE instruction

gopherbot pushed a commit that referenced this issue Mar 15, 2020
Also remove #define's that were previously in use.

Updates #36765

Change-Id: I90b6a8629c78f549012f3f6c5f3b325336182712
Reviewed-on: https://go-review.googlesource.com/c/go/+/220539
Reviewed-by: Cherry Zhang <cherryyz@google.com>
gopherbot pushed a commit that referenced this issue Mar 15, 2020
Add support for Load-Reserved (LR) and Store-Conditional (SC) instructions.

Use instructions in place of currently used defines.

Updates #36765

Change-Id: I77e660639802293ece40cfde4865ac237e3308d6
Reviewed-on: https://go-review.googlesource.com/c/go/+/220540
Reviewed-by: Cherry Zhang <cherryyz@google.com>
gopherbot pushed a commit that referenced this issue Mar 15, 2020
Use instructions in place of currently used defines.

Updates #36765

Change-Id: I00bb59e77b1aace549d7857cc9721ba2cb4ac6ca
Reviewed-on: https://go-review.googlesource.com/c/go/+/220541
Reviewed-by: Cherry Zhang <cherryyz@google.com>
@gopherbot

This comment has been minimized.

Copy link

@gopherbot gopherbot commented Mar 15, 2020

Change https://golang.org/cl/223557 mentions this issue: cmd/compile: provide Load8/Store8 atomic intrinsics on riscv64

@gopherbot

This comment has been minimized.

Copy link

@gopherbot gopherbot commented Mar 15, 2020

Change https://golang.org/cl/223560 mentions this issue: test: re-enable atomic intrinsic related tests on riscv64

@gopherbot

This comment has been minimized.

Copy link

@gopherbot gopherbot commented Mar 15, 2020

Change https://golang.org/cl/223558 mentions this issue: cmd/compile: provide Load32/Load64/Store32/Store64 atomic intrinsics on riscv64

@gopherbot

This comment has been minimized.

Copy link

@gopherbot gopherbot commented Mar 15, 2020

Change https://golang.org/cl/223559 mentions this issue: cmd/compile: provide Add/Cas/Exchange atomic intrinsics on riscv64

gopherbot pushed a commit that referenced this issue Mar 17, 2020
Updates #36765

Change-Id: Ieeb6bbc54e4841a1348ad50e80342ec4bc675e07
Reviewed-on: https://go-review.googlesource.com/c/go/+/223557
Reviewed-by: Cherry Zhang <cherryyz@google.com>
Run-TryBot: Cherry Zhang <cherryyz@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
gopherbot pushed a commit that referenced this issue Mar 24, 2020
…on riscv64

Updates #36765

Change-Id: Id5ce5c5f60112e4f4cf9eec1b1ec120994934950
Reviewed-on: https://go-review.googlesource.com/c/go/+/223558
Reviewed-by: Cherry Zhang <cherryyz@google.com>
Run-TryBot: Cherry Zhang <cherryyz@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
gopherbot pushed a commit that referenced this issue Mar 25, 2020
Provide Add32, Add64, Cas32, Cas64, Exchange32 and Exchange64 atomic
intrinsics on riscv64.

Updates #36765

Change-Id: I9a3b7d2ce3d49f699171fd76a0fed891d149a6bb
Reviewed-on: https://go-review.googlesource.com/c/go/+/223559
Run-TryBot: Joel Sing <joel@sing.id.au>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Cherry Zhang <cherryyz@google.com>
Reviewed-by: Keith Randall <khr@golang.org>
@gopherbot gopherbot closed this in f4fe891 Mar 25, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
4 participants
You can’t perform that action at this time.