• philhofer's avatar
    cmd/compile: add support for arm64 bit-test instructions · c59b4959
    philhofer authored
    Add support for generating TBZ/TBNZ instructions.
    
    The bit-test-and-branch pattern shows up in a number of
    important places, including the runtime (gc bitmaps).
    
    Before this change, there were 3 TB[N]?Z instructions in the Go tool,
    all of which were in hand-written assembly. After this change, there
    are 285. Also, the go1 benchmark binary gets about 4.5kB smaller.
    
    Fixes #21361
    
    Change-Id: I170c138b852754b9b8df149966ca5e62e6dfa771
    Reviewed-on: https://go-review.googlesource.com/54470
    Run-TryBot: Philip Hofer <phofer@umich.edu>
    TryBot-Result: Gobot Gobot <gobot@golang.org>
    Reviewed-by: 's avatarCherry Zhang <cherryyz@google.com>
    c59b4959
rulegen.go 24.1 KB