Commit 3785457c authored by Ben Shi's avatar Ben Shi Committed by Cherry Zhang

cmd/internal/obj/arm: fix wrong encoding of MULBB

"MULBB R1, R2, R3" is encoded to 0xe163f182, which should be
0xe1630182.

This patch fix it.

fix #20764

Change-Id: I9d3c3ffa40ecde86638e5e083eacc67578caebf4
Reviewed-on: https://go-review.googlesource.com/46491
Run-TryBot: Cherry Zhang <cherryyz@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: 's avatarCherry Zhang <cherryyz@google.com>
parent ddeab538
...@@ -975,7 +975,7 @@ jmp_label_3: ...@@ -975,7 +975,7 @@ jmp_label_3:
MULL R1, R2, (R4, R3) // 9231c4e0 MULL R1, R2, (R4, R3) // 9231c4e0
MULL.S R1, R2, (R4, R3) // 9231d4e0 MULL.S R1, R2, (R4, R3) // 9231d4e0
MMUL R1, R2, R3 // 12f153e7 MMUL R1, R2, R3 // 12f153e7
MULBB R1, R2, R3 // 82f163e1 MULBB R1, R2, R3 // 820163e1
MULWB R1, R2, R3 // a20123e1 MULWB R1, R2, R3 // a20123e1
MULWT R1, R2, R3 // e20123e1 MULWT R1, R2, R3 // e20123e1
......
...@@ -2866,7 +2866,7 @@ func (c *ctxt5) oprrr(p *obj.Prog, a obj.As, sc int) uint32 { ...@@ -2866,7 +2866,7 @@ func (c *ctxt5) oprrr(p *obj.Prog, a obj.As, sc int) uint32 {
return o&(0xf<<28) | 0x12<<20 | 0xa<<4 return o&(0xf<<28) | 0x12<<20 | 0xa<<4
case AMULBB: case AMULBB:
return o&(0xf<<28) | 0x16<<20 | 0xf<<12 | 0x8<<4 return o&(0xf<<28) | 0x16<<20 | 0x8<<4
case AMULAWT: case AMULAWT:
return o&(0xf<<28) | 0x12<<20 | 0xc<<4 return o&(0xf<<28) | 0x12<<20 | 0xc<<4
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment