x86-64: Small improvements to dl-trampoline.S
authorNoah Goldstein <goldstein.w.n@gmail.com>
Tue, 28 Jun 2022 15:26:26 +0000 (08:26 -0700)
committerNoah Goldstein <goldstein.w.n@gmail.com>
Thu, 30 Jun 2022 02:47:52 +0000 (19:47 -0700)
commit58bcf7b71a113378dd490f6c41931a14f25a26c9
treeba53cf12cc40a9f9b70b4d74cbb08735feded071
parent21925f64730d52eb7d8b2fb62b412f8ab92b0caf
x86-64: Small improvements to dl-trampoline.S

1.  Remove sse2 instructions when using the avx512 or avx version.

2.  Fixup some format nits in how the address offsets where aligned.

3.  Use more space efficient instructions in the conditional AVX
    restoral.
        - vpcmpeqq          -> vpcmpeqb
        - cmp imm32, r; jz  -> inc r; jz

4.  Use `rep movsb` instead of `rep movsq`. The former is guranteed to
    be fast with the ERMS flags, the latter is not. The latter also
    wastes an instruction in size setup.
sysdeps/x86_64/dl-trampoline.S
sysdeps/x86_64/dl-trampoline.h