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, Jun 11, 7:18 AM
Unknown Object (File)
Wed, May 22, 8:23 AM
Unknown Object (File)
Wed, May 22, 5:24 AM
Unknown Object (File)
May 16 2024, 3:35 AM
Unknown Object (File)
May 16 2024, 12:26 AM
Unknown Object (File)
May 15 2024, 7:46 PM
Unknown Object (File)
May 15 2024, 6:34 PM
Unknown Object (File)
May 9 2024, 9:16 AM
Subscribers

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 51886
Build 48777: arc lint + arc unit

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.