From 59ba16c6c208f1b5a6be75670e031bc5391fe4a7 Mon Sep 17 00:00:00 2001 From: gjl Date: Tue, 28 Feb 2012 09:00:15 +0000 Subject: [PATCH] * gcc.target/avr/torture/builtins-1.c: New test. * 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 | 5 +++ gcc/testsuite/gcc.target/avr/torture/builtins-1.c | 38 ++++++++++++++++++++++ .../gcc.target/avr/torture/builtins-error.c | 11 +++++++ 3 files changed, 54 insertions(+) create mode 100644 gcc/testsuite/gcc.target/avr/torture/builtins-1.c create mode 100644 gcc/testsuite/gcc.target/avr/torture/builtins-error.c diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index fab88d9e33d..d1365a0e19d 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2012-02-28 Georg-Johann Lay + + * gcc.target/avr/torture/builtins-1.c: New test. + * gcc.target/avr/torture/builtins-error.c: New test. + 2012-02-28 Kai Tietz * 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 index 00000000000..1fa3aaaaeb3 --- /dev/null +++ b/gcc/testsuite/gcc.target/avr/torture/builtins-1.c @@ -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 index 00000000000..692b8afd859 --- /dev/null +++ b/gcc/testsuite/gcc.target/avr/torture/builtins-error.c @@ -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" } */ +} -- 2.11.0