]> Cypherpunks repositories - gostls13.git/commit
cmd/internal/obj/arm: support more ARMv5/ARMv6/ARMv7 instructions
authorBen Shi <powerman1st@163.com>
Mon, 23 Jan 2017 09:14:35 +0000 (09:14 +0000)
committerCherry Zhang <cherryyz@google.com>
Thu, 30 Mar 2017 18:19:04 +0000 (18:19 +0000)
commitc5ddc558baa9884050ddf26dd93c91e9297509b8
tree6b0d0415077a48bde74061200a30064984c436bd
parent944d56d7635f1f5e599805d621cd3a171534e333
cmd/internal/obj/arm: support more ARMv5/ARMv6/ARMv7 instructions

REV/REV16/REVSH were introduced in ARMv6, they offered more efficient
byte reverse operatons.

MMUL/MMULA/MMULS were introduced in ARMv6, they simplified
a serial of mul->shift->add/sub operations into a single instruction.

RBIT was introduced in ARMv7, it inversed a 32-bit word's bit order.

MULS was introduced in ARMv7, it corresponded to MULA.

MULBB/MULABB were introduced in ARMv5TE, they performed 16-bit
multiplication (and accumulation).

Change-Id: I6365b17b3c4eaf382a657c210bb0094b423b11b8
Reviewed-on: https://go-review.googlesource.com/35565
Run-TryBot: Cherry Zhang <cherryyz@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Cherry Zhang <cherryyz@google.com>
src/cmd/asm/internal/arch/arm.go
src/cmd/asm/internal/asm/testdata/arm.s
src/cmd/internal/obj/arm/a.out.go
src/cmd/internal/obj/arm/anames.go
src/cmd/internal/obj/arm/asm5.go