• Ben Shi's avatar
    runtime: use hardware divider to improve performance · 69261eca
    Ben Shi authored
    The hardware divider is an optional component of ARMv7. This patch
    detects whether it is available in runtime and use it or not.
    
    1. The hardware divider is detected at startup and a flag is set/clear
       according to a perticular bit of runtime.hwcap.
    2. Each call of runtime.udiv will check this flag and decide if
       use the hardware division instruction.
    
    A rough test shows the performance improves 40-50% for ARMv7. And
    the compatibility of ARMv5/v6 is not broken.
    
    fixes #19118
    
    Change-Id: Ic586bc9659ebc169553ca2004d2bdb721df823ac
    Reviewed-on: https://go-review.googlesource.com/37496
    Run-TryBot: Cherry Zhang <cherryyz@google.com>
    TryBot-Result: Gobot Gobot <gobot@golang.org>
    Reviewed-by: 's avatarCherry Zhang <cherryyz@google.com>
    69261eca
os_plan9_arm.go 581 Bytes