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.
--- /dev/null
+/* 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];
+}