* config/m68k/m68kelf.h: Suppress '/* within comment' warning.
authorgeoffk <geoffk@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 19 Nov 1999 00:23:01 +0000 (00:23 +0000)
committergeoffk <geoffk@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 19 Nov 1999 00:23:01 +0000 (00:23 +0000)
* config/m68k/m68k.h (MASK_PCREL): Don't use same value as
MASK_ALIGN_INT.

* config/m68k/m68k.h (MASK_NO_STRICT_ALIGNMENT): New macro.
(TARGET_STRICT_ALIGNMENT): New macro.
(TARGET_SWITCHES): Add "strict-align" and "no-strict-align".
(STRICT_ALIGNMENT): Depend on TARGET_STRICT_ALIGNMENT.
* invoke.texi (M680x0 Options): Document -mstrict-align.

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

gcc/ChangeLog
gcc/config/m68k/m68k.h
gcc/config/m68k/m68kelf.h
gcc/invoke.texi

index 66758cd..f5f4125 100644 (file)
@@ -1,3 +1,17 @@
+Fri Nov 19 11:11:55 1999  Greg McGary  <gkm@gnu.org>
+                         Geoffrey Keating  <geoffk@cygnus.com>
+
+       * config/m68k/m68kelf.h: Suppress '/* within comment' warning.
+
+       * config/m68k/m68k.h (MASK_PCREL): Don't use same value as
+       MASK_ALIGN_INT.
+       
+       * config/m68k/m68k.h (MASK_NO_STRICT_ALIGNMENT): New macro.
+       (TARGET_STRICT_ALIGNMENT): New macro.
+       (TARGET_SWITCHES): Add "strict-align" and "no-strict-align".
+       (STRICT_ALIGNMENT): Depend on TARGET_STRICT_ALIGNMENT.
+       * invoke.texi (M680x0 Options): Document -mstrict-align.
+
 Thu Nov 18 11:10:03 1999  Jan Hubicka  <hubicka@freesoft.cz>
                          Richard Henderson  <rth@cygnus.com>
 
index 72c65b6..62fd759 100644 (file)
@@ -132,9 +132,13 @@ extern int target_flags;
    treated as all containing an implicit PC-relative component, and hence
    cannot be used directly as addresses for memory writes.  See the comments
    in m68k.c for more information.  */
-#define MASK_PCREL     4096
+#define MASK_PCREL     8192
 #define TARGET_PCREL   (target_flags & MASK_PCREL)
 
+/* Relax strict alignment. */
+#define MASK_NO_STRICT_ALIGNMENT 16384
+#define TARGET_STRICT_ALIGNMENT  (~target_flags & MASK_NO_STRICT_ALIGNMENT)
+
 /* Macro to define tables used to set the flags.
    This is a list in braces of pairs in braces,
    each pair being { "NAME", VALUE }
@@ -194,6 +198,8 @@ extern int target_flags;
     { "align-int", MASK_ALIGN_INT },                                   \
     { "no-align-int", -MASK_ALIGN_INT },                               \
     { "pcrel", MASK_PCREL},                                            \
+    { "strict-align", -MASK_NO_STRICT_ALIGNMENT},                      \
+    { "no-strict-align", MASK_NO_STRICT_ALIGNMENT},                    \
     SUBTARGET_SWITCHES                                                 \
     { "", TARGET_DEFAULT}}
 /* TARGET_DEFAULT is defined in sun*.h and isi.h, etc.  */
@@ -304,7 +310,7 @@ extern int target_flags;
 
 /* Set this nonzero if move instructions will actually fail to work
    when given unaligned data.  */
-#define STRICT_ALIGNMENT 1
+#define STRICT_ALIGNMENT (TARGET_STRICT_ALIGNMENT)
 
 /* Maximum power of 2 that code can be aligned to.  */
 #define MAX_CODE_ALIGN 2                       /* 4 byte alignment */
index b9cf388..7ac21b6 100644 (file)
@@ -22,7 +22,7 @@ along with GNU CC; see the file COPYING.  If not, write to
 the Free Software Foundation, 59 Temple Place - Suite 330,
 Boston, MA 02111-1307, USA.  */
 
-/* #notinclude "m68k/sgs.h"    /* The m68k/SVR4 assembler is SGS based */
+/* #notinclude "m68k/sgs.h"    / * The m68k/SVR4 assembler is SGS based */
 
 /* These are necessary for -fpic/-fPIC to work correctly.  */
 #ifndef MOTOROLA
index 7b7a088..1784fb9 100644 (file)
@@ -221,7 +221,7 @@ in the following sections.
 -m68000  -m68020  -m68020-40  -m68020-60  -m68030  -m68040
 -m68060  -mcpu32 -m5200  -m68881  -mbitfield  -mc68000  -mc68020  
 -mfpa -mnobitfield  -mrtd  -mshort  -msoft-float  -mpcrel
--malign-int
+-malign-int -mstrict-align
 
 @emph{VAX Options}
 -mg  -mgnu  -munix
@@ -3831,6 +3831,12 @@ allowing at most a 16-bit offset for pc-relative addressing.  -fPIC is
 not presently supported with -mpcrel, though this could be supported for
 68020 and higher processors.
 
+@item -mno-strict-align
+@itemx -mstrict-align
+@kindex -mstrict-align
+Do not (do) assume that unaligned memory references will be handled by
+the system.
+
 @end table
 
 @node VAX Options