Minux Ma

Results 11 issues of Minux Ma

``` void (*f(int *p))(void) { return (void *)0; } ``` ``` $ 8cc -c t2.c [ERROR] 8cc.h:426: t.c:1:25: ';' or ',' are expected, but got { ```

I think we can get rid of constant pool for integer immediate values by using movz and movk to load constants. it needs at most 4 instructions to load arbitrary...

see discussion of https://github.com/4ad/go/commit/4ea45eab176f9a261d9288c9069477910eede063

I'm also wondering if Dmitry wants to add race detector support? :)

right now we inline appendp each time, we should use appendp instead before upstream.

cleanup

It seems our atomic operations might lack memory barriers, as I run misc/cgo/test for enough number of times, test9400 almost always timeout due to missed synchronization (esp. when GOMAXPROCS=8). test9400...

https://github.com/4ad/go/commit/53506458aa79fed23a5db0b4f4ec31ee342a1b15#commitcomment-9807610 https://github.com/4ad/go/commit/d7dcc3829662dd7be157097e7f603d9cef6e0fcd#commitcomment-9799083 See also the commit message for another idea.

cleanup

I think on all the other architectures, ANOP is just a placeholder, and to generate a real nop instruction, one must explicit write it out (e.g. XCHGL AX, AX on...

It seems we translated asm_ppc64x.s to asm_arm64.s, however, at least we failed to replace ppc64x's closure environment register (R11) with ours (R26).