/*
** ffsw1:
** cmp w1, 0
-** rbit w0, w1
-** clz w0, w0
-** csinc w0, wzr, w0, eq
+** rbit (w[0-9]+), w1
+** clz (w[0-9]+), \1
+** csinc w0, wzr, \2, eq
** ret
*/
/*
** ffsx1:
** cmp x1, 0
-** rbit x0, x1
-** clz x0, x0
-** csinc x0, xzr, x0, eq
+** rbit (x[0-9]+), x1
+** clz (x[0-9]+), \1
+** csinc x0, xzr, \2, eq
** ret
*/
/*
** ffsw2:
** cmp w1, 0
-** ctz w0, w1
-** csinc w0, wzr, w0, eq
+** ctz (w[0-9]+), w1
+** csinc w0, wzr, \1, eq
** ret
*/
/*
** ffsx2:
** cmp x1, 0
-** ctz x0, x1
-** csinc x0, xzr, x0, eq
+** ctz (x[0-9]+), x1
+** csinc x0, xzr, \1, eq
** ret
*/
return 1 / x;
}
-/* { dg-final { scan-assembler {\tfrecpe\t(d[0-9]+), d0\n\tfrecps\t(d[0-9]+), \1, d0\n\tfmul\t\1, \1, \2\n\tfrecps\t\2, \1, d0\n\tfmul\td0, \1, \2\n} } } */
+/* { dg-final { scan-assembler {\tfrecpe\t(d[0-9]+), d0\n\tfrecps\t(d[0-9]+), \1, d0\n\tfmul\t(d[0-9]+), \1, \2\n\tfrecps\t(d[0-9]+), \1, d0\n\tfmul\td0, \3, \4\n} } } */
return y / x;
}
-/* { dg-final { scan-assembler {\tfrecpe\t(s[0-9]+), s0\n\tfrecps\t(s[0-9]+), \1, s0\n\tfmul\t\1, \1, s1\n\tfmul\ts0, \1, \2\n} } } */
+/* { dg-final { scan-assembler {\tfrecpe\t(s[0-9]+), s0\n\tfrecps\t(s[0-9]+), \1, s0\n\tfmul\t(s[0-9]+), \1, s1\n\tfmul\ts0, \3, \2\n} } } */
double
f2 (double x, double y)
return y / x;
}
-/* { dg-final { scan-assembler {\tfrecpe\t(d[0-9]+), d0\n\tfrecps\t(d[0-9]+), \1, d0\n\tfmul\t\1, \1, \2\n\tfrecps\t\2, \1, d0\n\tfmul\t\1, \1, d1\n\tfmul\td0, \1, \2\n} } } */
+/* { dg-final { scan-assembler {\tfrecpe\t(d[0-9]+), d0\n\tfrecps\t(d[0-9]+), \1, d0\n\tfmul\t(d[0-9]+), \1, \2\n\tfrecps\t(d[0-9]+), \3, d0\n\tfmul\t(d[0-9]+), \3, d1\n\tfmul\td0, \5, \4\n} } } */