golang/go
在 GitHub 查看cmd/objdump: new GOAMD64=v3 instructions don't disassemble properly
Open
#48,584 建立於 2021年9月23日
NeedsFixcompiler/runtimehelp wanted
倉庫指標
- Star
- (133,883 star)
- PR 合併指標
- (30 天內沒有已合併 PR)
描述
Build this program with GOAMD64=v3:
package main
//go:noinline
func f(x, y uint64) uint64 {
return x &^ y
}
func main() {
f(0, 0)
}
Disassembling with the native objdump -d, we get
1053b20: c4 e2 e0 f2 c0 andnq %rax, %rbx, %rax
With go tool objdump we get
:0 0x1053b20 c4e2e0f2c0c3cc ROLL $0xcc, BL
@martisch
Side note, the popcount instruction disassembles as POPCNT, it should really disassemble as POPCNTQ or POPCNTL, as appropriate.