aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/internal/obj
diff options
context:
space:
mode:
authorlimeidan <limeidan@loongson.cn>2024-01-06 17:26:37 +0800
committerabner chenc <chenguoqi@loongson.cn>2024-07-30 00:34:05 +0000
commitff0c2d96348fd86f77ecf6868dc1a0f09e35ff90 (patch)
tree2a3db697e78b13b98abf522d182aa55bee009aeb /src/cmd/internal/obj
parent950fcf129ecc75e6311d3aaf555e7b8add3248cb (diff)
downloadgo-ff0c2d96348fd86f77ecf6868dc1a0f09e35ff90.tar.xz
cmd/internal/obj/loong64: fixed operand assignment error for BFPT/BFPF instructions
The BFPT correspond to BCNEZ instruction of LoongArch64 which structure is: | op-p1 | offs[15:0] | op-p2 | cj | offs[20:16] | The register REG_FCC0 should be assigned to the source operand cj which named rj here. Change-Id: I696d0a46028924da1cd7e240fbb40a1913f1a757 Reviewed-on: https://go-review.googlesource.com/c/go/+/565620 Reviewed-by: Michael Knyszek <mknyszek@google.com> Reviewed-by: abner chenc <chenguoqi@loongson.cn> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Qiqi Huang <huangqiqi@loongson.cn> Reviewed-by: Dmitri Shuralyov <dmitshur@google.com> Reviewed-by: sophie zhao <zhaoxiaolin@loongson.cn>
Diffstat (limited to 'src/cmd/internal/obj')
-rw-r--r--src/cmd/internal/obj/loong64/asm.go2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/cmd/internal/obj/loong64/asm.go b/src/cmd/internal/obj/loong64/asm.go
index 6d21767645..749db66421 100644
--- a/src/cmd/internal/obj/loong64/asm.go
+++ b/src/cmd/internal/obj/loong64/asm.go
@@ -1373,7 +1373,7 @@ func (c *ctxt0) asmout(p *obj.Prog, o *Optab, out []uint32) {
width = 21
// FCC0 is the implicit source operand, now that we
// don't register-allocate from the FCC bank.
- rd = REG_FCC0
+ rj = REG_FCC0
case ABEQ, ABNE:
if rd == 0 || rd == REGZERO || rj == REGZERO {
// BEQZ/BNEZ can be encoded with 21-bit offsets.