[Bug tree-optimization/71307] [7 Regression] Code quality regression with lane extraction arm_neon.h intrinsics on aarch64
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71307 --- Comment #4 from ktkachov at gcc dot gnu.org --- Hmm, I distinctly remember it being a regression but when I try today with the branches they all generate the bad code
[Bug tree-optimization/71307] [7 Regression] Code quality regression with lane extraction arm_neon.h intrinsics on aarch64
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71307 Jakub Jelinek changed: What|Removed |Added CC||jakub at gcc dot gnu.org --- Comment #3 from Jakub Jelinek --- Are you sure this is a regression? At least with a cross-compiler (from x86_64-linux), I'm getting: umovx0, v1.d[1] fmovd0, x0 out of gcc 6.2.1 20161122 and 5.x as well.
[Bug tree-optimization/71307] [7 Regression] Code quality regression with lane extraction arm_neon.h intrinsics on aarch64
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71307 Andrew Pinski changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed||2016-06-26 Ever confirmed|0 |1 --- Comment #2 from Andrew Pinski --- Confirmed.
[Bug tree-optimization/71307] [7 Regression] Code quality regression with lane extraction arm_neon.h intrinsics on aarch64
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71307 --- Comment #1 from Richard Biener --- If the BIT_FIELD_REF covers the whole object then it should be simplified to a VIEW_CONVERT. There is "related" simplification in match.pd: (simplify (BIT_FIELD_REF @0 @1 @2) (switch (if (TREE_CODE (TREE_TYPE (@0)) == COMPLEX_TYPE && tree_int_cst_equal (@1, TYPE_SIZE (TREE_TYPE (TREE_TYPE (@0) (switch (if (integer_zerop (@2)) (view_convert (realpart @0))) (if (tree_int_cst_equal (@2, TYPE_SIZE (TREE_TYPE (TREE_TYPE (@0) (view_convert (imagpart @0) (if (INTEGRAL_TYPE_P (TREE_TYPE (@0)) && INTEGRAL_TYPE_P (type) /* On GIMPLE this should only apply to register arguments. */ && (! GIMPLE || is_gimple_reg (@0)) /* A bit-field-ref that referenced the full argument can be stripped. */ && ((compare_tree_int (@1, TYPE_PRECISION (TREE_TYPE (@0))) == 0 && integer_zerop (@2)) ... (convert @0 but restricted to integral types as we use convert and not view_convert. Other than that, BIT_FIELD_REF expansion might simply miss a trick.
[Bug tree-optimization/71307] [7 Regression] Code quality regression with lane extraction arm_neon.h intrinsics on aarch64
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71307 ktkachov at gcc dot gnu.org changed: What|Removed |Added Known to work||6.1.0 Target Milestone|--- |7.0 Known to fail||7.0