https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61185
Marek Polacek <mpolacek at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|--- |4.10.0 --- Comment #1 from Marek Polacek <mpolacek at gcc dot gnu.org> --- And the reason is that we convert the (i - j) to int here: 10501 /* Convert the non vector shift-count to an integer, regardless 10502 of size of value being shifted. */ 10503 if (TREE_CODE (TREE_TYPE (op1)) != VECTOR_TYPE 10504 && TYPE_MAIN_VARIANT (TREE_TYPE (op1)) != integer_type_node) 10505 op1 = convert (integer_type_node, op1);