diff --git a/media/libjpeg/simd/powerpc/jsimd.c b/media/libjpeg/simd/powerpc/jsimd.c index b9e86dcfac..5ff3be48ac 100644 --- a/media/libjpeg/simd/powerpc/jsimd.c +++ b/media/libjpeg/simd/powerpc/jsimd.c @@ -38,6 +38,9 @@ #elif defined(__FreeBSD__) #include #include +#elif defined(__NetBSD__) +#include +#include #endif static unsigned int simd_support = ~0; @@ -127,6 +130,9 @@ init_simd(void) size_t len = sizeof(altivec); #elif defined(__FreeBSD__) unsigned long cpufeatures = 0; +#elif defined(__NetBSD__) + int ret, av; + size_t len; #endif if (simd_support != ~0U) @@ -149,6 +155,11 @@ init_simd(void) #elif defined(__OpenBSD__) if (sysctl(mib, 2, &altivec, &len, NULL, 0) == 0 && altivec != 0) simd_support |= JSIMD_ALTIVEC; +#elif defined(__NetBSD__) + len = sizeof(av); + ret = sysctlbyname("machdep.altivec", &av, &len, NULL, 0); + if (!ret && av) + simd_support |= JSIMD_ALTIVEC; #elif defined(__FreeBSD__) elf_aux_info(AT_HWCAP, &cpufeatures, sizeof(cpufeatures)); if (cpufeatures & PPC_FEATURE_HAS_ALTIVEC)