gcc-4.8.5 does not accept case clauses with non-literal type, which
happens for "QImode" as it expands to (scalar_int_mode
((scalar_int_mode::from_int) E_QImode)).
Use E_QImode instead in arm_preferred_simd_mode, to fix the
build. Same for HImode, SImode, HFmode and SFmode as introduced by a
recent patch.
2020-10-12 Christophe Lyon <christophe.lyon@linaro.org>
gcc/
* config/arm/arm.c (arm_preferred_simd_mode): Use E_FOOmode
instead of FOOmode.
if (TARGET_HAVE_MVE)
switch (mode)
{
- case QImode:
+ case E_QImode:
return V16QImode;
- case HImode:
+ case E_HImode:
return V8HImode;
- case SImode:
+ case E_SImode:
return V4SImode;
default:;
if (TARGET_HAVE_MVE_FLOAT)
switch (mode)
{
- case HFmode:
+ case E_HFmode:
return V8HFmode;
- case SFmode:
+ case E_SFmode:
return V4SFmode;
default:;