// PR target/88152 // { dg-do compile } // { dg-options "-O2 -std=c++14 -fdump-tree-forwprop1" } // { dg-final { scan-tree-dump-times " (?:(?:<|>=) \{ 0\[, \]|>> (?:7|15|31|63))" 120 "forwprop1" } } template using V [[gnu::vector_size (sizeof (T) * N)]] = T; void *foo (); template __attribute__((noipa)) void test_uns () { V *x = (V *) foo (); x[1] = x[0] > max; x[3] = x[2] >= maxp1; x[5] = x[4] <= max; x[7] = x[6] < maxp1; } template __attribute__((noipa)) void test () { V *x = (V *) foo (); x[1] = x[0] >= 0; x[3] = x[2] > -1; x[5] = x[4] < 0; x[7] = x[6] <= -1; } template __attribute__((noipa)) void tests () { test_uns (); test (); test_uns (); test (); test_uns (); test (); test_uns (); test (); test_uns (); test (); } void all_tests () { tests<1> (); tests<2> (); tests<8> (); }