https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79911
Bug ID: 79911 Summary: VEC_SELECT bugs in arm neon patterns Product: gcc Version: 7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: jakub at gcc dot gnu.org Target Milestone: --- I've recently posted http://gcc.gnu.org/ml/gcc-patches/2017-03/msg00183.html with some extra verification of sanity of md patterns (based on assertions simplify-rtx.c does for VEC_SELECT as well as documentation requiring it). With this patch make s-recog fails on arm-linux: ../../gcc/config/arm/neon.md:1338:1: element mode mismatch between vec_select HImode and its operand QImode ../../gcc/config/arm/neon.md:1338:1: element mode mismatch between vec_select SImode and its operand QImode ../../gcc/config/arm/neon.md:1338:1: element mode mismatch between vec_select QImode and its operand HImode ../../gcc/config/arm/neon.md:1338:1: element mode mismatch between vec_select SImode and its operand HImode ../../gcc/config/arm/neon.md:1338:1: element mode mismatch between vec_select QImode and its operand SImode ../../gcc/config/arm/neon.md:1338:1: element mode mismatch between vec_select HImode and its operand SImode ../../gcc/config/arm/neon.md:1353:1: element mode mismatch between vec_select HImode and its operand QImode ../../gcc/config/arm/neon.md:1353:1: element mode mismatch between vec_select SImode and its operand QImode ../../gcc/config/arm/neon.md:1353:1: element mode mismatch between vec_select QImode and its operand HImode ../../gcc/config/arm/neon.md:1353:1: element mode mismatch between vec_select SImode and its operand HImode ../../gcc/config/arm/neon.md:1353:1: element mode mismatch between vec_select QImode and its operand SImode ../../gcc/config/arm/neon.md:1353:1: element mode mismatch between vec_select HImode and its operand SImode ../../gcc/config/arm/neon.md:1407:1: element mode mismatch between vec_select HImode and its operand QImode ../../gcc/config/arm/neon.md:1407:1: element mode mismatch between vec_select SImode and its operand QImode ../../gcc/config/arm/neon.md:1407:1: element mode mismatch between vec_select QImode and its operand HImode ../../gcc/config/arm/neon.md:1407:1: element mode mismatch between vec_select SImode and its operand HImode ../../gcc/config/arm/neon.md:1407:1: element mode mismatch between vec_select QImode and its operand SImode ../../gcc/config/arm/neon.md:1407:1: element mode mismatch between vec_select HImode and its operand SImode ../../gcc/config/arm/neon.md:1422:1: element mode mismatch between vec_select HImode and its operand QImode ../../gcc/config/arm/neon.md:1422:1: element mode mismatch between vec_select SImode and its operand QImode ../../gcc/config/arm/neon.md:1422:1: element mode mismatch between vec_select QImode and its operand HImode ../../gcc/config/arm/neon.md:1422:1: element mode mismatch between vec_select SImode and its operand HImode ../../gcc/config/arm/neon.md:1422:1: element mode mismatch between vec_select QImode and its operand SImode ../../gcc/config/arm/neon.md:1422:1: element mode mismatch between vec_select HImode and its operand SImode