This testcase was fixed after r14-2135-gd915762ea9043da85 and there was no testcase for it before so adding one is a good thing.
Committed as obvious after testing the testcase to make sure it works. gcc/testsuite/ChangeLog: PR tree-optimization/110444 * gcc.c-torture/compile/pr110444-1.c: New test. --- gcc/testsuite/gcc.c-torture/compile/pr110444-1.c | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 gcc/testsuite/gcc.c-torture/compile/pr110444-1.c diff --git a/gcc/testsuite/gcc.c-torture/compile/pr110444-1.c b/gcc/testsuite/gcc.c-torture/compile/pr110444-1.c new file mode 100644 index 00000000000..1cdb400f76f --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/compile/pr110444-1.c @@ -0,0 +1,11 @@ +/* This used to ICE after SLP during match-and-simplify + as real_can_shorten_arithmetic was called with the vector + mode. */ +void f(float *a, float *b, float *c, int size) +{ + float t[2]; + t[0] = b[0] - (float)__builtin_pow(c[0], 2); + t[1] = b[1] - (float)__builtin_pow(c[1], 2); + a[0] = t[0]; + a[1] = t[1]; +} -- 2.31.1