diff options
| author | Ben Shi <powerman1st@163.com> | 2018-05-11 06:19:58 +0000 |
|---|---|---|
| committer | Cherry Zhang <cherryyz@google.com> | 2018-05-14 01:53:39 +0000 |
| commit | bec2f51b07b2d5cf38ac88d21d9bf221e329e132 (patch) | |
| tree | 07f697d5ff4aca402b9ae5ce530b04a65a222526 /src/cmd/asm/internal | |
| parent | 3080b7d0af65858400b13134c1c471e2cb35e647 (diff) | |
| download | go-bec2f51b07b2d5cf38ac88d21d9bf221e329e132.tar.xz | |
cmd/internal/obj/arm: fix wrong encoding of MUL
The arm assembler incorrectly encodes the following instructions.
"MUL R2, R4" -> 0xe0040492 ("MUL R4, R2, R4")
"MUL R2, R4, R4" -> 0xe0040492 ("MUL R4, R2, R4")
The CL fixes that issue.
fixes #25347
Change-Id: I883716c7bc51c5f64837ae7d81342f94540a58cb
Reviewed-on: https://go-review.googlesource.com/112737
Reviewed-by: Cherry Zhang <cherryyz@google.com>
Run-TryBot: Cherry Zhang <cherryyz@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Diffstat (limited to 'src/cmd/asm/internal')
| -rw-r--r-- | src/cmd/asm/internal/asm/testdata/arm.s | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/src/cmd/asm/internal/asm/testdata/arm.s b/src/cmd/asm/internal/asm/testdata/arm.s index 0b3363e17e..cc8e25ef7c 100644 --- a/src/cmd/asm/internal/asm/testdata/arm.s +++ b/src/cmd/asm/internal/asm/testdata/arm.s @@ -951,13 +951,17 @@ jmp_label_3: // MUL MUL R2, R3, R4 // 930204e0 - MUL R2, R4 // 920404e0 + MUL R2, R4 // 940204e0 + MUL R2, R4, R4 // 940204e0 MUL.S R2, R3, R4 // 930214e0 - MUL.S R2, R4 // 920414e0 + MUL.S R2, R4 // 940214e0 + MUL.S R2, R4, R4 // 940214e0 MULU R5, R6, R7 // 960507e0 - MULU R5, R7 // 950707e0 + MULU R5, R7 // 970507e0 + MULU R5, R7, R7 // 970507e0 MULU.S R5, R6, R7 // 960517e0 - MULU.S R5, R7 // 950717e0 + MULU.S R5, R7 // 970517e0 + MULU.S R5, R7, R7 // 970517e0 MULLU R1, R2, (R4, R3) // 923184e0 MULLU.S R1, R2, (R4, R3) // 923194e0 MULL R1, R2, (R4, R3) // 9231c4e0 |
