Bug 1571613 Comment 14 Edit History

Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.

(In reply to Cameron Kaiser [:spectre] from comment #12)
> I'd prefer someone who can test it do that in a followup.

I can't test as part of Firefox (doesn't build, anyway) but FreeBSD bits extracted into standalone sample worked fine on ref12-ppc64.freebsd.org. NetBSD bits were tested on x86_after replacing CPU_ALTIVEC with HW_NCPU. OpenBSD has similar code in devel/sdl package.

> the "Mozilla way" seems to be runtime detection, not compile-time detection

x86_32 and x86_64 translate `__MMX__`, `__SSE__`, `__AVX__`, etc. into `MOZILLA_PRESUME_*` which is later used to skip runtime checks e.g.,

https://searchfox.org/mozilla-central/search?q=MOZILLA_PRESUME_AVX2
(In reply to Cameron Kaiser [:spectre] from comment #12)
> I'd prefer someone who can test it do that in a followup.

I can't test as part of Firefox (doesn't build, anyway) but FreeBSD bits extracted into standalone sample worked fine on ref12-ppc64.freebsd.org. NetBSD bits were tested on x86_64 after replacing `CPU_ALTIVEC` with `HW_NCPU` (don't have access to powerpc*). OpenBSD has similar code in devel/sdl package.

> the "Mozilla way" seems to be runtime detection, not compile-time detection

x86_32 and x86_64 translate `__MMX__`, `__SSE__`, `__AVX__`, etc. into `MOZILLA_PRESUME_*` which is later used to skip runtime checks e.g.,

https://searchfox.org/mozilla-central/search?q=MOZILLA_PRESUME_AVX2
(In reply to Cameron Kaiser [:spectre] from comment #12)
> I'd prefer someone who can test it do that in a followup.

I can't test as part of Firefox (doesn't build, anyway) but FreeBSD bits extracted into standalone sample worked fine on ref12-ppc64.freebsd.org. NetBSD bits were tested on x86_64 after replacing `CPU_ALTIVEC` with `HW_NCPU` (don't have access to powerpc*). OpenBSD has similar code in devel/sdl package.

> the "Mozilla way" seems to be runtime detection, not compile-time detection

x86_32 and x86_64 translate `__MMX__`, `__SSE__`, `__AVX__`, etc. into `MOZILLA_PRESUME_*` which is later used to skip runtime checks e.g.,
https://searchfox.org/mozilla-central/source/mozglue/build/SSE.cpp#186-188
(In reply to Cameron Kaiser [:spectre] from comment #12)
> I'd prefer someone who can test it do that in a followup.

I can't test as part of Firefox (doesn't build, anyway) but FreeBSD bits extracted into standalone sample worked fine on ref12-ppc64.freebsd.org. NetBSD bits were tested on x86_64 after replacing `CPU_ALTIVEC` with `HW_NCPU` (don't have access to powerpc*). OpenBSD has similar code in devel/sdl package.

> the "Mozilla way" seems to be runtime detection, not compile-time detection

x86_32 and x86_64 translate `__MMX__`, `__SSE__`, `__AVX__`, etc. into `MOZILLA_PRESUME_*` which is later used to skip runtime checks e.g.,
https://searchfox.org/mozilla-central/rev/30b01f4f60db/mozglue/build/SSE.cpp#186-188
(In reply to Cameron Kaiser [:spectre] from comment #12)
> I'd prefer someone who can test it do that in a followup.

I can't test as part of Firefox (doesn't build, anyway) but FreeBSD bits extracted into standalone sample worked fine on ref12-ppc64.freebsd.org. NetBSD bits were tested on x86_64 after replacing `CPU_ALTIVEC` with `HW_NCPU` (can't use powerpc* macro on non-powerpc*). OpenBSD has similar code in devel/sdl package.

> the "Mozilla way" seems to be runtime detection, not compile-time detection

x86_32 and x86_64 translate `__MMX__`, `__SSE__`, `__AVX__`, etc. into `MOZILLA_PRESUME_*` which is later used to skip runtime checks e.g.,
https://searchfox.org/mozilla-central/rev/30b01f4f60db/mozglue/build/SSE.cpp#186-188
(In reply to Cameron Kaiser [:spectre] from comment #12)
> I'd prefer someone who can test it do that in a followup.

I can't test as part of Firefox (doesn't build, anyway) but FreeBSD bits extracted into standalone sample worked fine on ref12-ppc64.freebsd.org. NetBSD bits were tested on x86_64 after replacing `CPU_ALTIVEC` with `HW_NCPU` (can't use powerpc* macro on non-powerpc*). OpenBSD has similar code in devel/sdl package.

In other words, if you want the perfect testing then it won't happen for years. During that time living with broken `/proc` fallback doesn't seem desirable.

> the "Mozilla way" seems to be runtime detection, not compile-time detection

x86_32 and x86_64 translate `__MMX__`, `__SSE__`, `__AVX__`, etc. into `MOZILLA_PRESUME_*` which is later used to skip runtime checks e.g.,
https://searchfox.org/mozilla-central/rev/30b01f4f60db/mozglue/build/SSE.cpp#186-188

Back to Bug 1571613 Comment 14