===================================================================
@@ -0,0 +1,25 @@
+/* glibc bug, https://sourceware.org/ml/libc-alpha/2017-04/msg00256.html
+ When using software completions, we have to prevent assembler to match
+ input and output operands of sqrtt/sqrtf insn. Fixed in glibc 2.26. */
+/* { dg-do run } */
+/* { dg-options "-O2 -fno-builtin-sqrt -mieee" } */
+
+double sqrt (double);
+
+static double
+float64frombits (unsigned long b)
+{
+ union { unsigned long __b; double __d; } u = { .__b = b };
+ return u.__d;
+}
+
+int
+main (void)
+{
+ double a = float64frombits (2);
+
+ if (sqrt (a) != 3.1434555694052576e-162)
+ __builtin_abort ();
+
+ return 0;
+}