PR tree-optimization/85331
* vec-perm-indices.h (vec_perm_indices::clamp): Change input type
from int to HOST_WIDE_INT.
* gcc.c-torture/execute/pr85331.c: New test.
From-SVN: r259320
+2018-04-11 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/85331
+ * vec-perm-indices.h (vec_perm_indices::clamp): Change input type
+ from int to HOST_WIDE_INT.
+
2018-04-11 Martin Jambor <mjambor@suse.cz>
PR ipa/84149
+2018-04-11 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/85331
+ * gcc.c-torture/execute/pr85331.c: New test.
+
2018-04-11 Marek Polacek <polacek@redhat.com>
PR c++/85032
--- /dev/null
+/* PR tree-optimization/85331 */
+
+typedef double V __attribute__((vector_size (2 * sizeof (double))));
+typedef long long W __attribute__((vector_size (2 * sizeof (long long))));
+
+__attribute__((noipa)) void
+foo (V *r)
+{
+ V y = { 1.0, 2.0 };
+ W m = { 10000000001LL, 0LL };
+ *r = __builtin_shuffle (y, m);
+}
+
+int
+main ()
+{
+ V r;
+ foo (&r);
+ if (r[0] != 2.0 || r[1] != 1.0)
+ __builtin_abort ();
+ return 0;
+}
vec_perm_indices::clamp (element_type elt) const
{
element_type limit = input_nelts (), elem_within_input;
- int input;
+ HOST_WIDE_INT input;
if (!can_div_trunc_p (elt, limit, &input, &elem_within_input))
return elt;