Commit f22ebd25 authored by Luca Barbato's avatar Luca Barbato

ppc: configure: Support ISA 2.06 and later

POWER 7 and POWER 8 support VSX and ldbrx.

POWER 8 supports additional extended VSX instructions introduced
with ISA 2.07.
parent 3058872c
......@@ -276,6 +276,8 @@ Advanced options (experts only):
Optimization options (experts only):
--disable-asm disable all assembly optimizations
--disable-altivec disable AltiVec optimizations
--disable-vsx disable VSX optimizations
--disable-power8 disable POWER8 optimizations
--disable-amd3dnow disable 3DNow! optimizations
--disable-amd3dnowext disable 3DNow! extended optimizations
--disable-mmx disable MMX optimizations
......@@ -1339,7 +1341,9 @@ ARCH_EXT_LIST_PPC="
altivec
dcbzl
ldbrx
power8
ppc4xx
vsx
"
ARCH_EXT_LIST_X86="
......@@ -1709,6 +1713,8 @@ map 'eval ${v}_inline_deps=inline_asm' $ARCH_EXT_LIST_ARM
altivec_deps="ppc"
ppc4xx_deps="ppc"
vsx_deps="altivec"
power8_deps="vsx"
cpunop_deps="i686"
x86_64_select="i686"
......@@ -3323,19 +3329,28 @@ elif enabled ppc; then
;;
g4|745*|ppc745*|powerpc745*)
cpuflags="-mcpu=7450"
disable vsx
;;
74*|ppc74*|powerpc74*)
cpuflags="-mcpu=7400"
disable vsx
;;
g5|970|ppc970|powerpc970)
cpuflags="-mcpu=970"
disable vsx
;;
power[3-7]*)
power[3-6]*)
cpuflags="-mcpu=$cpu"
disable vsx
;;
power[7-8]*)
cpuflags="-mcpu=$cpu"
enable ldbrx
;;
cell)
cpuflags="-mcpu=cell"
enable ldbrx
disable vsx
;;
e500mc)
cpuflags="-mcpu=e500mc"
......@@ -4012,6 +4027,15 @@ EOF
enabled altivec || warn "Altivec disabled, possibly missing --cpu flag"
fi
if enabled vsx; then
check_cflags -mvsx &&
check_builtin vec_vsx_ld "altivec.h" "__builtin_vec_vsx_ld" || disable vsx
fi
if enabled power8; then
check_cpp_condition "altivec.h" "defined(_ARCH_PWR8)" || disable power8
fi
elif enabled x86; then
check_builtin rdtsc intrin.h "__rdtsc()"
......@@ -4706,6 +4730,8 @@ if enabled arm; then
fi
if enabled ppc; then
echo "AltiVec enabled ${altivec-no}"
echo "VSX enabled ${vsx-no}"
echo "POWER8 enabled ${power8-no}"
echo "PPC 4xx optimizations ${ppc4xx-no}"
echo "dcbzl available ${dcbzl-no}"
fi
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment