Add CRIS atomic patterns for 1, 2, and 4 bytes.
authorHans-Peter Nilsson <hp@axis.com>
Fri, 1 Jun 2012 05:49:16 +0000 (05:49 +0000)
committerHans-Peter Nilsson <hp@gcc.gnu.org>
Fri, 1 Jun 2012 05:49:16 +0000 (05:49 +0000)
commit21ed44440fc2b6148425eb156452507629018b18
tree3748c4b19fefbeba9a6320eb38c3640e4c85681f
parent183d6a7e728f6c53827ac48060e7a4fb0529b09f
Add CRIS atomic patterns for 1, 2, and 4 bytes.

* config/cris/cris.c (cris_emit_trap_for_misalignment): New function.
* config/cris/cris-protos.h: Declare it.
* config/cris/cris.h [!TARGET_DEFAULT, TARGET_CPU_DEFAULT == 32]
(TARGET_DEFAULT): Add alignment by 32.
[!TARGET_DEFAULT, TARGET_CPU_DEFAULT == 10] (TARGET_DEFAULT): New
case, as TARGET_CPU_DEFAULT == 0 but with alignment as for
TARGET_CPU_DEFAULT == 32.
(TARGET_TRAP_UNALIGNED_ATOMIC): New macro.
* config/cris/cris.md: Include sync.md.  Avoid allocating specific
numbers by replacing the define_constants for all UNSPECs with the
equivalent define_c_enum construct.
* config/cris/cris.opt (mtrap-unaligned-atomic): New option.
* config/cris/sync.md: New file.

From-SVN: r188096
gcc/ChangeLog
gcc/config/cris/cris-protos.h
gcc/config/cris/cris.c
gcc/config/cris/cris.h
gcc/config/cris/cris.md
gcc/config/cris/cris.opt
gcc/config/cris/sync.md [new file with mode: 0644]