Search
Monday, 10th of February 2020, 8:40:06 UTC
11:37:30
pfdietz
Not seeing more failures.
15:00:32
stassats
huh, alloc-tramp doesn't save YMM registers, that's why i'm seeing very rare failures there
15:00:56
stassats
but saving them is expensive, gotta add alloc-tramp-avx2
15:02:07
stassats
how do i convince alloc to thrash ymm registers, though
15:03:54
stassats
do vzeroupper in an interrupt? but it's pseudo-atomic there
15:10:24
stassats
no test case, but __asm__("vzeroupper;" ); confirms it
15:17:58
flip214
I did some automated tests once by telling GDB to debug the process and inject faults at a breakpoint
15:18:09
flip214
needs the gdb binary but works like a treat ;)
16:35:40
stassats
and there's no separate avx storage base, just float-regs, so how do I know that 256-bit registers are used
16:40:34
Xach
Is there a way to tell if a function was created in defstruct?
16:45:46
stassats
do i just have to walk through all TNs and see if some of them are avx2?
16:52:41
pkhuong
stassats: i think xsave can handle that in hardware
16:53:28
stassats
except that it's optional
17:32:40
pkhuong
yeah.... more cpuid :( is there any avx2 HW that does not have xsave?
18:11:43
stassats
well, that doesn't work...
18:12:12
stassats
canonicalize-inline-constant is using avx2 registers, now i can't save its registers on non-avx2 harware
18:22:30
stassats
and the assembly routines the allocate don't know to call the avx2 version...
18:36:15
stassats
i suppose i can multiply all ALLOC-UNSIGNED-BIGNUM-IN- by avx2
18:37:35
stassats
but if xsaveopt is faster and can be patched into alloc-tramp, then that may be a better option even when no avx2 registers are used
18:41:16
stassats
there's already tune_asm_routines_for_microarch
19:24:40
stassats
if i'm reading right, xsave needs its own memory region
19:25:22
stassats
ok, things are complicate, i might just add ALLOC-UNSIGNED-BIGNUM-IN-AVX2 and split optionally using avx register functions and call it a day
Monday, 10th of February 2020, 20:40:06 UTC