aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/validation
diff options
Diffstat (limited to 'validation')
-rw-r--r--validation/expand/builtin_isdigit.c10
-rw-r--r--validation/linear/builtin-fma.c2
-rw-r--r--validation/linear/builtin_isdigit.c12
3 files changed, 23 insertions, 1 deletions
diff --git a/validation/expand/builtin_isdigit.c b/validation/expand/builtin_isdigit.c
new file mode 100644
index 00000000..56550b38
--- /dev/null
+++ b/validation/expand/builtin_isdigit.c
@@ -0,0 +1,10 @@
+_Static_assert(__builtin_isdigit('0'));
+_Static_assert(__builtin_isdigit('9'));
+
+_Static_assert(!__builtin_isdigit(0));
+_Static_assert(!__builtin_isdigit(' '));
+_Static_assert(!__builtin_isdigit('z'));
+
+/*
+ * check-name: builtin_isdigit
+ */
diff --git a/validation/linear/builtin-fma.c b/validation/linear/builtin-fma.c
index b1024f39..9ca50f0f 100644
--- a/validation/linear/builtin-fma.c
+++ b/validation/linear/builtin-fma.c
@@ -11,7 +11,7 @@ double fma(double a, double x, double y)
fma:
.L0:
<entry-point>
- fmadd.64 %r4 <- %r1, %r2, %r3
+ fmadd.64 %r4 <- %arg1, %arg2, %arg3
ret.64 %r4
diff --git a/validation/linear/builtin_isdigit.c b/validation/linear/builtin_isdigit.c
new file mode 100644
index 00000000..c1d3ea15
--- /dev/null
+++ b/validation/linear/builtin_isdigit.c
@@ -0,0 +1,12 @@
+_Bool isdigit(int c)
+{
+ return __builtin_isdigit(c) == (((unsigned) (c - '0')) <= 9);
+}
+
+/*
+ * check-name: builtin_isdigit
+ * check-command: test-linearize -Wno-decl $file
+ *
+ * check-output-ignore
+ * check-output-returns: 1
+ */