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/e314cd4f-c4f6-4782-b292-9f4f30a87c9bn%40googlegroups.com.