Page MenuHomeFreeBSD

xregs_via_sig: Add avx registers to test
ClosedPublic

Authored by dchagin on Jun 1 2023, 8:48 PM.
Tags
None
Referenced Files
Unknown Object (File)
Tue, Apr 16, 8:47 PM
Unknown Object (File)
Mar 15 2024, 10:28 AM
Unknown Object (File)
Mar 15 2024, 10:28 AM
Unknown Object (File)
Mar 15 2024, 10:28 AM
Unknown Object (File)
Mar 11 2024, 3:16 PM
Unknown Object (File)
Mar 11 2024, 3:09 PM
Unknown Object (File)
Mar 11 2024, 3:09 PM
Unknown Object (File)
Mar 11 2024, 3:09 PM
Subscribers

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

tools/test/xregs_via_sig/c2x2c_amd64.S
20 ↗(On Diff #122739)

We traditionally spell the directive as '.globl'

33 ↗(On Diff #122739)

movl $1, %eax
You do cmpl $1, %eax after the function call.

36 ↗(On Diff #122739)

xorl %eax, %eax
It is same as xorq you used, but avoids prefix. You do not need %rax anyway.

tools/test/xregs_via_sig/c2x2c_amd64.S
24 ↗(On Diff #122751)

CPUID instruction corrupts %ebp, which is callee-saved register.

tools/test/xregs_via_sig/c2x2c_amd64.S
24 ↗(On Diff #122751)

you mean %ebx?

tools/test/xregs_via_sig/c2x2c_amd64.S
8 ↗(On Diff #122751)

I think xregs_bank should be in C instead. I would rather that you just export cpu_to_xmm, cpu_to_ymm, etc., invoke cpuid once during startup to save the desired bank in a global in C and have C wrappers to choose which MD routines to invoke.

tools/test/xregs_via_sig/c2x2c_amd64.S
24 ↗(On Diff #122751)

Yes %ebx sorry

kib added inline comments.
tools/test/xregs_sig/c2x2c_amd64.S
23

Please use the size instruction suffixes consistently

This revision is now accepted and ready to land.Jun 3 2023, 7:28 PM
This revision was automatically updated to reflect the committed changes.