> In this case, they pass a align stack to our code, but cglobal push 3 > registers, so broken stack align.
I don't understand what you mean. x264asm knows what the stack alignment is, so when it allocates scratch space, it references aligned locations on the stack. It doesn't matter how many registers it pushes; if it pushes 12 bytes of registers, it references locations that are 12 bytes off from where it would if there were no registers pushed. "esp" itself may not be aligned, but that's fine, because no data is ever accessed directly from esp -- it's accessed from aligned locations on the stack. That's how stack alignment works. esp only needs to be aligned if the function calls another function, but x264asm is for leaf functions, so that doesn't apply. Jason _______________________________________________ x265-devel mailing list [email protected] https://mailman.videolan.org/listinfo/x265-devel
