It seems to me that there is automatic alignment for loops: https://github.com/golang/go/blob/go1.17.7/src/cmd/internal/obj/x86/asm6.go#L51-L67
On Friday, 25 February 2022 at 06:42:23 UTC Wojciech Muła wrote: > The directive is not documented on https://pkg.go.dev/cmd/internal/obj/x86. > `grep -l -R PCALIGN *` run in `cmd/interal/obj` shows for the freshest > master: > > arm64/doc.go > arm64/asm7.go > arm64/asm_arm64_test.go > link.go > ppc64/doc.go > ppc64/asm9.go > ppc64/asm_test.go > util.go > > Seems it's not implemented. When tried to use it, I got the following > error: > > # main > asm: asmins: missing op 00000 (<unknown line number>) PCALIGN > $16 > asm: assembly failed > > Sample asm code to check this: > > ---asmfun_amd64.s--- > #include "textflag.h" > > TEXT ·asmfun(SB), NOSPLIT, $0 > PCALIGN $16 > RET > ---eof--- > > ---main.go--- > package main > > // go:noescape > func asmfun() > func main() { asmfun() } > ---eof--- > > w. > > On Friday, February 25, 2022 at 2:21:41 AM UTC+1 Ian Lance Taylor wrote: > >> On Thu, Feb 24, 2022 at 9:40 AM Wojciech Muła <wojte...@gmail.com> >> wrote: >> > >> > I'm writing an implementation in x86 assembler and I need to force a >> certain alignment of blocks of code (as it affects performance). I found >> that there's PCALIGN directive, but it's only available for the PPC >> architecture. It does not work for x86. >> > >> > Is there any easy way to achieve this for x86? If I had one loop, it >> won't be a problem --- I'd just put a few `BYTE $0x90` and move on. The >> problem is my code is huge, partially autogenerated with few variants. >> > >> > Any hints? >> >> As far as I can tell PCALIGN is implemented for all architectures. >> >> Ian >> > -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/golang-nuts/6b449fb0-aee0-4505-a22c-48d5f15a923an%40googlegroups.com.