OSDN Git Service

* gcc.target/avr/torture/builtins-1.c: New test.
authorgjl <gjl@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 28 Feb 2012 09:00:15 +0000 (09:00 +0000)
committergjl <gjl@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 28 Feb 2012 09:00:15 +0000 (09:00 +0000)
* gcc.target/avr/torture/builtins-error.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@184617 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/avr/torture/builtins-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/avr/torture/builtins-error.c [new file with mode: 0644]

index fab88d9..d1365a0 100644 (file)
@@ -1,3 +1,8 @@
+2012-02-28  Georg-Johann Lay  <avr@gjlay.de>
+
+       * gcc.target/avr/torture/builtins-1.c: New test.
+       * gcc.target/avr/torture/builtins-error.c: New test.
+
 2012-02-28  Kai Tietz  <ktietz@redhat.com>
 
        * gcc.target/i386/pr46939.c (long): Fix LP64 vs LLP64
diff --git a/gcc/testsuite/gcc.target/avr/torture/builtins-1.c b/gcc/testsuite/gcc.target/avr/torture/builtins-1.c
new file mode 100644 (file)
index 0000000..1fa3aaa
--- /dev/null
@@ -0,0 +1,38 @@
+/* { dg-do compile } */
+
+void nop (void)    { __builtin_avr_nop (); }
+void sei (void)    { __builtin_avr_sei (); }
+void cli (void)    { __builtin_avr_cli (); }
+void wdr (void)    { __builtin_avr_wdr (); }
+void sleep (void)  { __builtin_avr_sleep (); }
+
+char fmul (char a, char b)   { return __builtin_avr_fmul (a, b); }
+char fmuls (char a, char b)  { return __builtin_avr_fmuls (a, b); }
+char fmulsu (char a, char b) { return __builtin_avr_fmulsu (a, b); }
+
+char swap1 (char a)
+{
+    return __builtin_avr_swap (a+1);
+}
+
+char swap2 (char a)
+{
+    return __builtin_avr_swap (__builtin_avr_swap (a+1));
+}
+
+char swap15 (void)
+{
+    return __builtin_avr_swap (15);
+}
+
+void delay0 (void)  { __builtin_avr_delay_cycles (0); }
+void delay1 (void)  { __builtin_avr_delay_cycles (1); }
+void delay2 (void)  { __builtin_avr_delay_cycles (2); }
+void delay3 (void)  { __builtin_avr_delay_cycles (3); }
+
+void delay_1 (void)  { __builtin_avr_delay_cycles (44); }
+void delay_2 (void)  { __builtin_avr_delay_cycles (0x1234); }
+void delay_3 (void)  { __builtin_avr_delay_cycles (0x123456); }
+void delay_4 (void)  { __builtin_avr_delay_cycles (-1ul); }
+
+/* { dg-final { scan-assembler-not "__builtin_avr_" } } */
diff --git a/gcc/testsuite/gcc.target/avr/torture/builtins-error.c b/gcc/testsuite/gcc.target/avr/torture/builtins-error.c
new file mode 100644 (file)
index 0000000..692b8af
--- /dev/null
@@ -0,0 +1,11 @@
+/* { dg-do assemble } */
+
+char insert (long a)
+{
+    return __builtin_avr_insert_bits (15.3f+a, 0, 0); /* { dg-error "expects a compile time" } */
+}
+
+void delay (long a)
+{
+    __builtin_avr_delay_cycles (a); /* { dg-error "expects a compile time" } */
+}