sim: overhaul alignment settings management

Currently, the sim-config module will abort if alignment settings
haven't been specified by the port's configure.ac.  This is a bit
weird when we've allowed SIM_AC_OPTION_ALIGNMENT to seem like it's
optional to use.  Thus everyone invokes it.

There are 4 alignment settings, but really only 2 matters: strict
and nonstrict.  The "mixed" setting is just the default ("unset"),
and "forced" isn't used directly by anyone (it's available as a
runtime option for some ports).

The m4 macro has 2 args: the "wire" settings (which represents the
hardwired port behavior), and the default settings (which are used
if nothing else is specified).  If none are specified, then the
build won't work (see above as if SIM_AC_OPTION_ALIGNMENT wasn't
called).  If default settings are provided, then that is used, but
we allow the user to override at runtime.  Otherwise, the "wire"
settings are used and user runtime options to change are ignored.

Most ports specify a default, or set the "wire" to nonstrict.  A
few set "wire" to strict, but it's not clear that's necessary as
it doesn't make the code behavior, by default, any different.  It
might make things a little faster, but we should provide the user
the choice of the compromises to make: force a specific mode at
compile time for faster runtime, or allow the choice at runtime.
More likely it seems like an oversight when these ports were
initially created, and/or copied & pasted from existing ports.

With all that backstory, let's get to what this commit does.

First kill off the idea of a compile-time default alignment and
set it to nonstrict in the common code.  For any ports that want
strict alignment by default, that code is moved to sim_open while
initializing the sim.  That means WITH_DEFAULT_ALIGNMENT can be
completely removed.

Moving the default alignment to the runtime also allows removal
of setting the "wire" settings at configure time.  Which allows
removing of all arguments to SIM_AC_OPTION_ALIGNMENT and moving
that call to common code.

The macro logic can be reworked to not pass WITH_ALIGNMENT as -D
CPPFLAG and instead move it to config.h.

All of these taken together mean we can hoist the macro up to the
top level and share it among all sims so behavior is consistent
among all the ports.
diff --git a/sim/ChangeLog b/sim/ChangeLog
index b8a2e6c..54f2216 100644
--- a/sim/ChangeLog
+++ b/sim/ChangeLog
@@ -1,5 +1,11 @@
 2021-06-12  Mike Frysinger  <vapier@gentoo.org>
 
+	* configure.ac: Call SIM_AC_OPTION_ALIGNMENT.
+	* m4/sim_ac_option_alignment.m4: Delete wire and default alignment.
+	* aclocal.m4, config.h.in, configure, Makefile.in: Regenerate.
+
+2021-06-12  Mike Frysinger  <vapier@gentoo.org>
+
 	* configure.ac: Define PKGVERSION & REPORT_BUGS_TO.
 	* m4/sim_ac_common.m4: Delete calls to ACX_PKGVERSION & ACX_BUGURL.
 	* aclocal.m4, config.h.in, configure, Makefile.in: Regenerate.
diff --git a/sim/Makefile.in b/sim/Makefile.in
index 891253a..290268c 100644
--- a/sim/Makefile.in
+++ b/sim/Makefile.in
@@ -198,6 +198,7 @@
 	$(top_srcdir)/../config/depstand.m4 \
 	$(top_srcdir)/../config/lead-dot.m4 \
 	$(top_srcdir)/../config/override.m4 \
+	$(top_srcdir)/m4/sim_ac_option_alignment.m4 \
 	$(top_srcdir)/m4/sim_ac_option_assert.m4 \
 	$(top_srcdir)/m4/sim_ac_option_debug.m4 \
 	$(top_srcdir)/m4/sim_ac_option_environment.m4 \
diff --git a/sim/aarch64/ChangeLog b/sim/aarch64/ChangeLog
index 28d73fa..939ea29 100644
--- a/sim/aarch64/ChangeLog
+++ b/sim/aarch64/ChangeLog
@@ -1,5 +1,10 @@
 2021-06-12  Mike Frysinger  <vapier@gentoo.org>
 
+	* configure.ac: Delete call to SIM_AC_OPTION_ALIGNMENT.
+	* interp.c (sim_open): Set current_alignment.
+
+2021-06-12  Mike Frysinger  <vapier@gentoo.org>
+
 	* aclocal.m4, config.in, configure: Regenerate.
 
 2021-06-12  Mike Frysinger  <vapier@gentoo.org>
diff --git a/sim/aarch64/aclocal.m4 b/sim/aarch64/aclocal.m4
index 6591f2c..88b04d1 100644
--- a/sim/aarch64/aclocal.m4
+++ b/sim/aarch64/aclocal.m4
@@ -110,7 +110,6 @@
 m4_include([../../ltversion.m4])
 m4_include([../../lt~obsolete.m4])
 m4_include([../m4/sim_ac_common.m4])
-m4_include([../m4/sim_ac_option_alignment.m4])
 m4_include([../m4/sim_ac_option_endian.m4])
 m4_include([../m4/sim_ac_option_hardware.m4])
 m4_include([../m4/sim_ac_option_inline.m4])
diff --git a/sim/aarch64/configure b/sim/aarch64/configure
index 1045495..5408aad 100755
--- a/sim/aarch64/configure
+++ b/sim/aarch64/configure
@@ -636,6 +636,7 @@
 sim_scache
 sim_float
 sim_bitsize
+sim_alignment
 cgen_breaks
 MAINT
 MAINTAINER_MODE_FALSE
@@ -753,8 +754,7 @@
 sim_hw
 sim_hw_objs
 sim_hw_cflags
-sim_endian
-sim_alignment'
+sim_endian'
 ac_subst_files=''
 ac_user_opts='
 enable_option_checking
@@ -769,7 +769,6 @@
 enable_maintainer_mode
 enable_sim_inline
 enable_sim_endian
-enable_sim_alignment
 enable_werror
 enable_build_warnings
 enable_sim_build_warnings
@@ -1414,9 +1413,6 @@
                           Specify which functions should be inlined
   --enable-sim-endian=endian
                           Specify target byte endian orientation
-  --enable-sim-alignment=align
-                          Specify strict, nonstrict or forced alignment of
-                          memory accesses
   --enable-werror         treat compile warnings as errors
   --enable-build-warnings enable build-time compiler warnings if gcc is used
   --enable-sim-build-warnings
@@ -10748,7 +10744,7 @@
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 10751 "configure"
+#line 10747 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -10854,7 +10850,7 @@
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 10857 "configure"
+#line 10853 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -11196,56 +11192,6 @@
 fi
 fi
 
-## We use NONSTRICT_ALIGNMENT as the default because AArch64 only
-## enforces 4-byte alignment, even for 8-byte reads/writes.  The
-## common core does not support this, so we opt for non-strict
-## alignment instead.
-wire_alignment="NONSTRICT_ALIGNMENT"
-default_alignment="NONSTRICT_ALIGNMENT"
-
-# Check whether --enable-sim-alignment was given.
-if test "${enable_sim_alignment+set}" = set; then :
-  enableval=$enable_sim_alignment; case "${enableval}" in
-  strict | STRICT)       sim_alignment="-DWITH_ALIGNMENT=STRICT_ALIGNMENT";;
-  nonstrict | NONSTRICT) sim_alignment="-DWITH_ALIGNMENT=NONSTRICT_ALIGNMENT";;
-  forced | FORCED)       sim_alignment="-DWITH_ALIGNMENT=FORCED_ALIGNMENT";;
-  yes) if test x"$wire_alignment" != x; then
-	 sim_alignment="-DWITH_ALIGNMENT=${wire_alignment}"
-       else
-         if test x"$default_alignment" != x; then
-           sim_alignment="-DWITH_ALIGNMENT=${default_alignment}"
-         else
-	   echo "No hard-wired alignment for target $target" 1>&6
-	   sim_alignment="-DWITH_ALIGNMENT=0"
-         fi
-       fi;;
-  no)  if test x"$default_alignment" != x; then
-	 sim_alignment="-DWITH_DEFAULT_ALIGNMENT=${default_alignment}"
-       else
-         if test x"$wire_alignment" != x; then
-	   sim_alignment="-DWITH_DEFAULT_ALIGNMENT=${wire_alignment}"
-         else
-           echo "No default alignment for target $target" 1>&6
-           sim_alignment="-DWITH_DEFAULT_ALIGNMENT=0"
-         fi
-       fi;;
-  *)   as_fn_error $? "\"Unknown value $enableval passed to --enable-sim-alignment\"" "$LINENO" 5; sim_alignment="";;
-esac
-if test x"$silent" != x"yes" && test x"$sim_alignment" != x""; then
-  echo "Setting alignment flags = $sim_alignment" 6>&1
-fi
-else
-  if test x"$default_alignment" != x; then
-  sim_alignment="-DWITH_DEFAULT_ALIGNMENT=${default_alignment}"
-else
-  if test x"$wire_alignment" != x; then
-    sim_alignment="-DWITH_ALIGNMENT=${wire_alignment}"
-  else
-    sim_alignment=
-  fi
-fi
-fi
-
 
 # Check whether --enable-werror was given.
 if test "${enable_werror+set}" = set; then :
diff --git a/sim/aarch64/configure.ac b/sim/aarch64/configure.ac
index 1c212dc..381682fb 100644
--- a/sim/aarch64/configure.ac
+++ b/sim/aarch64/configure.ac
@@ -25,11 +25,6 @@
 SIM_AC_COMMON
 
 SIM_AC_OPTION_ENDIAN
-## We use NONSTRICT_ALIGNMENT as the default because AArch64 only
-## enforces 4-byte alignment, even for 8-byte reads/writes.  The
-## common core does not support this, so we opt for non-strict
-## alignment instead.
-SIM_AC_OPTION_ALIGNMENT(NONSTRICT_ALIGNMENT,NONSTRICT_ALIGNMENT)
 SIM_AC_OPTION_WARNINGS
 
 SIM_AC_OUTPUT
diff --git a/sim/aarch64/interp.c b/sim/aarch64/interp.c
index fd35f4f..18c2fc0 100644
--- a/sim/aarch64/interp.c
+++ b/sim/aarch64/interp.c
@@ -330,6 +330,11 @@
 
   SIM_ASSERT (STATE_MAGIC (sd) == SIM_MAGIC_NUMBER);
 
+  /* We use NONSTRICT_ALIGNMENT as the default because AArch64 only enforces
+     4-byte alignment, even for 8-byte reads/writes.  The common core does not
+     support this, so we opt for non-strict alignment instead.  */
+  current_alignment = NONSTRICT_ALIGNMENT;
+
   /* Perform the initialization steps one by one.  */
   if (sim_cpu_alloc_all (sd, 1) != SIM_RC_OK
       || sim_pre_argv_init (sd, argv[0]) != SIM_RC_OK
diff --git a/sim/aclocal.m4 b/sim/aclocal.m4
index 1dde78f..f21cf08 100644
--- a/sim/aclocal.m4
+++ b/sim/aclocal.m4
@@ -1171,6 +1171,7 @@
 m4_include([../config/depstand.m4])
 m4_include([../config/lead-dot.m4])
 m4_include([../config/override.m4])
+m4_include([m4/sim_ac_option_alignment.m4])
 m4_include([m4/sim_ac_option_assert.m4])
 m4_include([m4/sim_ac_option_debug.m4])
 m4_include([m4/sim_ac_option_environment.m4])
diff --git a/sim/arm/ChangeLog b/sim/arm/ChangeLog
index 83e174a..4d3632e 100644
--- a/sim/arm/ChangeLog
+++ b/sim/arm/ChangeLog
@@ -1,5 +1,10 @@
 2021-06-12  Mike Frysinger  <vapier@gentoo.org>
 
+	* configure.ac: Delete call to SIM_AC_OPTION_ALIGNMENT.
+	* wrapper.c (sim_open): Set current_alignment.
+
+2021-06-12  Mike Frysinger  <vapier@gentoo.org>
+
 	* aclocal.m4, config.in, configure: Regenerate.
 
 2021-06-12  Mike Frysinger  <vapier@gentoo.org>
diff --git a/sim/arm/aclocal.m4 b/sim/arm/aclocal.m4
index 6591f2c..88b04d1 100644
--- a/sim/arm/aclocal.m4
+++ b/sim/arm/aclocal.m4
@@ -110,7 +110,6 @@
 m4_include([../../ltversion.m4])
 m4_include([../../lt~obsolete.m4])
 m4_include([../m4/sim_ac_common.m4])
-m4_include([../m4/sim_ac_option_alignment.m4])
 m4_include([../m4/sim_ac_option_endian.m4])
 m4_include([../m4/sim_ac_option_hardware.m4])
 m4_include([../m4/sim_ac_option_inline.m4])
diff --git a/sim/arm/configure b/sim/arm/configure
index f85ae47..5408aad 100755
--- a/sim/arm/configure
+++ b/sim/arm/configure
@@ -636,6 +636,7 @@
 sim_scache
 sim_float
 sim_bitsize
+sim_alignment
 cgen_breaks
 MAINT
 MAINTAINER_MODE_FALSE
@@ -753,8 +754,7 @@
 sim_hw
 sim_hw_objs
 sim_hw_cflags
-sim_endian
-sim_alignment'
+sim_endian'
 ac_subst_files=''
 ac_user_opts='
 enable_option_checking
@@ -769,7 +769,6 @@
 enable_maintainer_mode
 enable_sim_inline
 enable_sim_endian
-enable_sim_alignment
 enable_werror
 enable_build_warnings
 enable_sim_build_warnings
@@ -1414,9 +1413,6 @@
                           Specify which functions should be inlined
   --enable-sim-endian=endian
                           Specify target byte endian orientation
-  --enable-sim-alignment=align
-                          Specify strict, nonstrict or forced alignment of
-                          memory accesses
   --enable-werror         treat compile warnings as errors
   --enable-build-warnings enable build-time compiler warnings if gcc is used
   --enable-sim-build-warnings
@@ -10748,7 +10744,7 @@
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 10751 "configure"
+#line 10747 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -10854,7 +10850,7 @@
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 10857 "configure"
+#line 10853 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -11196,52 +11192,6 @@
 fi
 fi
 
-wire_alignment="STRICT_ALIGNMENT"
-default_alignment="STRICT_ALIGNMENT"
-
-# Check whether --enable-sim-alignment was given.
-if test "${enable_sim_alignment+set}" = set; then :
-  enableval=$enable_sim_alignment; case "${enableval}" in
-  strict | STRICT)       sim_alignment="-DWITH_ALIGNMENT=STRICT_ALIGNMENT";;
-  nonstrict | NONSTRICT) sim_alignment="-DWITH_ALIGNMENT=NONSTRICT_ALIGNMENT";;
-  forced | FORCED)       sim_alignment="-DWITH_ALIGNMENT=FORCED_ALIGNMENT";;
-  yes) if test x"$wire_alignment" != x; then
-	 sim_alignment="-DWITH_ALIGNMENT=${wire_alignment}"
-       else
-         if test x"$default_alignment" != x; then
-           sim_alignment="-DWITH_ALIGNMENT=${default_alignment}"
-         else
-	   echo "No hard-wired alignment for target $target" 1>&6
-	   sim_alignment="-DWITH_ALIGNMENT=0"
-         fi
-       fi;;
-  no)  if test x"$default_alignment" != x; then
-	 sim_alignment="-DWITH_DEFAULT_ALIGNMENT=${default_alignment}"
-       else
-         if test x"$wire_alignment" != x; then
-	   sim_alignment="-DWITH_DEFAULT_ALIGNMENT=${wire_alignment}"
-         else
-           echo "No default alignment for target $target" 1>&6
-           sim_alignment="-DWITH_DEFAULT_ALIGNMENT=0"
-         fi
-       fi;;
-  *)   as_fn_error $? "\"Unknown value $enableval passed to --enable-sim-alignment\"" "$LINENO" 5; sim_alignment="";;
-esac
-if test x"$silent" != x"yes" && test x"$sim_alignment" != x""; then
-  echo "Setting alignment flags = $sim_alignment" 6>&1
-fi
-else
-  if test x"$default_alignment" != x; then
-  sim_alignment="-DWITH_DEFAULT_ALIGNMENT=${default_alignment}"
-else
-  if test x"$wire_alignment" != x; then
-    sim_alignment="-DWITH_ALIGNMENT=${wire_alignment}"
-  else
-    sim_alignment=
-  fi
-fi
-fi
-
 
 # Check whether --enable-werror was given.
 if test "${enable_werror+set}" = set; then :
diff --git a/sim/arm/configure.ac b/sim/arm/configure.ac
index 88fac82..7638b6d 100644
--- a/sim/arm/configure.ac
+++ b/sim/arm/configure.ac
@@ -5,7 +5,6 @@
 SIM_AC_COMMON
 
 SIM_AC_OPTION_ENDIAN
-SIM_AC_OPTION_ALIGNMENT(STRICT_ALIGNMENT,STRICT_ALIGNMENT)
 SIM_AC_OPTION_WARNINGS
 
 SIM_AC_OUTPUT
diff --git a/sim/arm/wrapper.c b/sim/arm/wrapper.c
index a1147e4..e697d55 100644
--- a/sim/arm/wrapper.c
+++ b/sim/arm/wrapper.c
@@ -801,6 +801,9 @@
   SIM_DESC sd = sim_state_alloc (kind, cb);
   SIM_ASSERT (STATE_MAGIC (sd) == SIM_MAGIC_NUMBER);
 
+  /* Set default options before parsing user options.  */
+  current_alignment = STRICT_ALIGNMENT;
+
   /* The cpu data is kept in a separately allocated chunk of memory.  */
   if (sim_cpu_alloc_all (sd, 1) != SIM_RC_OK)
     {
diff --git a/sim/avr/ChangeLog b/sim/avr/ChangeLog
index a5033fc..1a18e99 100644
--- a/sim/avr/ChangeLog
+++ b/sim/avr/ChangeLog
@@ -1,5 +1,10 @@
 2021-06-12  Mike Frysinger  <vapier@gentoo.org>
 
+	* configure.ac: Delete call to SIM_AC_OPTION_ALIGNMENT.
+	* interp.c (sim_open): Set current_alignment.
+
+2021-06-12  Mike Frysinger  <vapier@gentoo.org>
+
 	* aclocal.m4, config.in, configure: Regenerate.
 
 2021-06-12  Mike Frysinger  <vapier@gentoo.org>
diff --git a/sim/avr/aclocal.m4 b/sim/avr/aclocal.m4
index 6591f2c..88b04d1 100644
--- a/sim/avr/aclocal.m4
+++ b/sim/avr/aclocal.m4
@@ -110,7 +110,6 @@
 m4_include([../../ltversion.m4])
 m4_include([../../lt~obsolete.m4])
 m4_include([../m4/sim_ac_common.m4])
-m4_include([../m4/sim_ac_option_alignment.m4])
 m4_include([../m4/sim_ac_option_endian.m4])
 m4_include([../m4/sim_ac_option_hardware.m4])
 m4_include([../m4/sim_ac_option_inline.m4])
diff --git a/sim/avr/configure b/sim/avr/configure
index c7dbbaa..32b8327 100755
--- a/sim/avr/configure
+++ b/sim/avr/configure
@@ -636,6 +636,7 @@
 sim_scache
 sim_float
 sim_bitsize
+sim_alignment
 cgen_breaks
 MAINT
 MAINTAINER_MODE_FALSE
@@ -753,8 +754,7 @@
 sim_hw
 sim_hw_objs
 sim_hw_cflags
-sim_endian
-sim_alignment'
+sim_endian'
 ac_subst_files=''
 ac_user_opts='
 enable_option_checking
@@ -769,7 +769,6 @@
 enable_maintainer_mode
 enable_sim_inline
 enable_sim_endian
-enable_sim_alignment
 enable_werror
 enable_build_warnings
 enable_sim_build_warnings
@@ -1414,9 +1413,6 @@
                           Specify which functions should be inlined
   --enable-sim-endian=endian
                           Specify target byte endian orientation
-  --enable-sim-alignment=align
-                          Specify strict, nonstrict or forced alignment of
-                          memory accesses
   --enable-werror         treat compile warnings as errors
   --enable-build-warnings enable build-time compiler warnings if gcc is used
   --enable-sim-build-warnings
@@ -10748,7 +10744,7 @@
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 10751 "configure"
+#line 10747 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -10854,7 +10850,7 @@
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 10857 "configure"
+#line 10853 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -11196,52 +11192,6 @@
 fi
 fi
 
-wire_alignment="STRICT_ALIGNMENT"
-default_alignment="STRICT_ALIGNMENT"
-
-# Check whether --enable-sim-alignment was given.
-if test "${enable_sim_alignment+set}" = set; then :
-  enableval=$enable_sim_alignment; case "${enableval}" in
-  strict | STRICT)       sim_alignment="-DWITH_ALIGNMENT=STRICT_ALIGNMENT";;
-  nonstrict | NONSTRICT) sim_alignment="-DWITH_ALIGNMENT=NONSTRICT_ALIGNMENT";;
-  forced | FORCED)       sim_alignment="-DWITH_ALIGNMENT=FORCED_ALIGNMENT";;
-  yes) if test x"$wire_alignment" != x; then
-	 sim_alignment="-DWITH_ALIGNMENT=${wire_alignment}"
-       else
-         if test x"$default_alignment" != x; then
-           sim_alignment="-DWITH_ALIGNMENT=${default_alignment}"
-         else
-	   echo "No hard-wired alignment for target $target" 1>&6
-	   sim_alignment="-DWITH_ALIGNMENT=0"
-         fi
-       fi;;
-  no)  if test x"$default_alignment" != x; then
-	 sim_alignment="-DWITH_DEFAULT_ALIGNMENT=${default_alignment}"
-       else
-         if test x"$wire_alignment" != x; then
-	   sim_alignment="-DWITH_DEFAULT_ALIGNMENT=${wire_alignment}"
-         else
-           echo "No default alignment for target $target" 1>&6
-           sim_alignment="-DWITH_DEFAULT_ALIGNMENT=0"
-         fi
-       fi;;
-  *)   as_fn_error $? "\"Unknown value $enableval passed to --enable-sim-alignment\"" "$LINENO" 5; sim_alignment="";;
-esac
-if test x"$silent" != x"yes" && test x"$sim_alignment" != x""; then
-  echo "Setting alignment flags = $sim_alignment" 6>&1
-fi
-else
-  if test x"$default_alignment" != x; then
-  sim_alignment="-DWITH_DEFAULT_ALIGNMENT=${default_alignment}"
-else
-  if test x"$wire_alignment" != x; then
-    sim_alignment="-DWITH_ALIGNMENT=${wire_alignment}"
-  else
-    sim_alignment=
-  fi
-fi
-fi
-
 
 # Check whether --enable-werror was given.
 if test "${enable_werror+set}" = set; then :
diff --git a/sim/avr/configure.ac b/sim/avr/configure.ac
index 92046a1..9d6e1e6 100644
--- a/sim/avr/configure.ac
+++ b/sim/avr/configure.ac
@@ -5,7 +5,6 @@
 SIM_AC_COMMON
 
 SIM_AC_OPTION_ENDIAN(LITTLE)
-SIM_AC_OPTION_ALIGNMENT(STRICT_ALIGNMENT,STRICT_ALIGNMENT)
 SIM_AC_OPTION_WARNINGS
 
 SIM_AC_OUTPUT
diff --git a/sim/avr/interp.c b/sim/avr/interp.c
index d456c39..1626fad 100644
--- a/sim/avr/interp.c
+++ b/sim/avr/interp.c
@@ -1684,6 +1684,9 @@
   SIM_DESC sd = sim_state_alloc_extra (kind, cb, sizeof (struct avr_sim_state));
   SIM_ASSERT (STATE_MAGIC (sd) == SIM_MAGIC_NUMBER);
 
+  /* Set default options before parsing user options.  */
+  current_alignment = STRICT_ALIGNMENT;
+
   /* The cpu data is kept in a separately allocated chunk of memory.  */
   if (sim_cpu_alloc_all (sd, 1) != SIM_RC_OK)
     {
diff --git a/sim/bfin/ChangeLog b/sim/bfin/ChangeLog
index 224ec72..52ba04f 100644
--- a/sim/bfin/ChangeLog
+++ b/sim/bfin/ChangeLog
@@ -1,5 +1,10 @@
 2021-06-12  Mike Frysinger  <vapier@gentoo.org>
 
+	* configure.ac: Delete call to SIM_AC_OPTION_ALIGNMENT.
+	* interp.c (sim_open): Set current_alignment.
+
+2021-06-12  Mike Frysinger  <vapier@gentoo.org>
+
 	* aclocal.m4, config.in, configure: Regenerate.
 
 2021-06-12  Mike Frysinger  <vapier@gentoo.org>
diff --git a/sim/bfin/aclocal.m4 b/sim/bfin/aclocal.m4
index bf8ea92..529d860 100644
--- a/sim/bfin/aclocal.m4
+++ b/sim/bfin/aclocal.m4
@@ -111,7 +111,6 @@
 m4_include([../../ltversion.m4])
 m4_include([../../lt~obsolete.m4])
 m4_include([../m4/sim_ac_common.m4])
-m4_include([../m4/sim_ac_option_alignment.m4])
 m4_include([../m4/sim_ac_option_default_model.m4])
 m4_include([../m4/sim_ac_option_endian.m4])
 m4_include([../m4/sim_ac_option_hardware.m4])
diff --git a/sim/bfin/configure b/sim/bfin/configure
index c115c2e..26366a4 100755
--- a/sim/bfin/configure
+++ b/sim/bfin/configure
@@ -635,6 +635,7 @@
 sim_scache
 sim_float
 sim_bitsize
+sim_alignment
 cgen_breaks
 SDL_LIBS
 SDL_CFLAGS
@@ -758,8 +759,7 @@
 sim_hw_objs
 sim_hw_cflags
 sim_endian
-sim_default_model
-sim_alignment'
+sim_default_model'
 ac_subst_files=''
 ac_user_opts='
 enable_option_checking
@@ -774,7 +774,6 @@
 enable_maintainer_mode
 enable_sim_inline
 enable_sim_endian
-enable_sim_alignment
 enable_sim_default_model
 enable_werror
 enable_build_warnings
@@ -1425,9 +1424,6 @@
                           Specify which functions should be inlined
   --enable-sim-endian=endian
                           Specify target byte endian orientation
-  --enable-sim-alignment=align
-                          Specify strict, nonstrict or forced alignment of
-                          memory accesses
   --enable-sim-default-model=model
                           Specify default model to simulate
   --enable-werror         treat compile warnings as errors
@@ -10768,7 +10764,7 @@
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 10771 "configure"
+#line 10767 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -10874,7 +10870,7 @@
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 10877 "configure"
+#line 10873 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -11216,52 +11212,6 @@
 fi
 fi
 
-wire_alignment="STRICT_ALIGNMENT"
-default_alignment="STRICT_ALIGNMENT"
-
-# Check whether --enable-sim-alignment was given.
-if test "${enable_sim_alignment+set}" = set; then :
-  enableval=$enable_sim_alignment; case "${enableval}" in
-  strict | STRICT)       sim_alignment="-DWITH_ALIGNMENT=STRICT_ALIGNMENT";;
-  nonstrict | NONSTRICT) sim_alignment="-DWITH_ALIGNMENT=NONSTRICT_ALIGNMENT";;
-  forced | FORCED)       sim_alignment="-DWITH_ALIGNMENT=FORCED_ALIGNMENT";;
-  yes) if test x"$wire_alignment" != x; then
-	 sim_alignment="-DWITH_ALIGNMENT=${wire_alignment}"
-       else
-         if test x"$default_alignment" != x; then
-           sim_alignment="-DWITH_ALIGNMENT=${default_alignment}"
-         else
-	   echo "No hard-wired alignment for target $target" 1>&6
-	   sim_alignment="-DWITH_ALIGNMENT=0"
-         fi
-       fi;;
-  no)  if test x"$default_alignment" != x; then
-	 sim_alignment="-DWITH_DEFAULT_ALIGNMENT=${default_alignment}"
-       else
-         if test x"$wire_alignment" != x; then
-	   sim_alignment="-DWITH_DEFAULT_ALIGNMENT=${wire_alignment}"
-         else
-           echo "No default alignment for target $target" 1>&6
-           sim_alignment="-DWITH_DEFAULT_ALIGNMENT=0"
-         fi
-       fi;;
-  *)   as_fn_error $? "\"Unknown value $enableval passed to --enable-sim-alignment\"" "$LINENO" 5; sim_alignment="";;
-esac
-if test x"$silent" != x"yes" && test x"$sim_alignment" != x""; then
-  echo "Setting alignment flags = $sim_alignment" 6>&1
-fi
-else
-  if test x"$default_alignment" != x; then
-  sim_alignment="-DWITH_DEFAULT_ALIGNMENT=${default_alignment}"
-else
-  if test x"$wire_alignment" != x; then
-    sim_alignment="-DWITH_ALIGNMENT=${wire_alignment}"
-  else
-    sim_alignment=
-  fi
-fi
-fi
-
 
 default_sim_default_model="bf537"
 # Check whether --enable-sim-default-model was given.
diff --git a/sim/bfin/configure.ac b/sim/bfin/configure.ac
index 18e82fa..e2d53bc 100644
--- a/sim/bfin/configure.ac
+++ b/sim/bfin/configure.ac
@@ -5,7 +5,6 @@
 SIM_AC_COMMON
 
 SIM_AC_OPTION_ENDIAN(LITTLE)
-SIM_AC_OPTION_ALIGNMENT(STRICT_ALIGNMENT,STRICT_ALIGNMENT)
 SIM_AC_OPTION_DEFAULT_MODEL(bf537)
 SIM_AC_OPTION_WARNINGS
 SIM_AC_OPTION_HARDWARE(\
diff --git a/sim/bfin/interp.c b/sim/bfin/interp.c
index 3435720..2e9696f 100644
--- a/sim/bfin/interp.c
+++ b/sim/bfin/interp.c
@@ -720,6 +720,9 @@
   SIM_DESC sd = sim_state_alloc_extra (kind, callback,
 				       sizeof (struct bfin_board_data));
 
+  /* Set default options before parsing user options.  */
+  current_alignment = STRICT_ALIGNMENT;
+
   /* The cpu data is kept in a separately allocated chunk of memory.  */
   if (sim_cpu_alloc_all (sd, 1) != SIM_RC_OK)
     {
diff --git a/sim/bpf/ChangeLog b/sim/bpf/ChangeLog
index f6d6530..fdbd0ee 100644
--- a/sim/bpf/ChangeLog
+++ b/sim/bpf/ChangeLog
@@ -1,5 +1,9 @@
 2021-06-12  Mike Frysinger  <vapier@gentoo.org>
 
+	* configure.ac: Delete call to SIM_AC_OPTION_ALIGNMENT.
+
+2021-06-12  Mike Frysinger  <vapier@gentoo.org>
+
 	* aclocal.m4, config.in, configure: Regenerate.
 
 2021-06-12  Mike Frysinger  <vapier@gentoo.org>
diff --git a/sim/bpf/aclocal.m4 b/sim/bpf/aclocal.m4
index be3ce43..8298e1f 100644
--- a/sim/bpf/aclocal.m4
+++ b/sim/bpf/aclocal.m4
@@ -110,7 +110,6 @@
 m4_include([../../ltversion.m4])
 m4_include([../../lt~obsolete.m4])
 m4_include([../m4/sim_ac_common.m4])
-m4_include([../m4/sim_ac_option_alignment.m4])
 m4_include([../m4/sim_ac_option_bitsize.m4])
 m4_include([../m4/sim_ac_option_cgen_maint.m4])
 m4_include([../m4/sim_ac_option_default_model.m4])
diff --git a/sim/bpf/configure b/sim/bpf/configure
index 0c69d90..55da616 100755
--- a/sim/bpf/configure
+++ b/sim/bpf/configure
@@ -633,6 +633,7 @@
 LIBOBJS
 sim_reserved_bits
 sim_float
+sim_alignment
 cgen_breaks
 cgen
 cgendir
@@ -756,8 +757,7 @@
 sim_hw_cflags
 sim_endian
 sim_default_model
-sim_bitsize
-sim_alignment'
+sim_bitsize'
 ac_subst_files=''
 ac_user_opts='
 enable_option_checking
@@ -773,7 +773,6 @@
 enable_sim_inline
 enable_sim_bitsize
 enable_sim_endian
-enable_sim_alignment
 enable_sim_scache
 enable_sim_default_model
 enable_werror
@@ -1422,9 +1421,6 @@
   --enable-sim-bitsize=N  Specify target bitsize (32 or 64)
   --enable-sim-endian=endian
                           Specify target byte endian orientation
-  --enable-sim-alignment=align
-                          Specify strict, nonstrict or forced alignment of
-                          memory accesses
   --enable-sim-scache=size
                           Specify simulator execution cache size
   --enable-sim-default-model=model
@@ -10761,7 +10757,7 @@
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 10764 "configure"
+#line 10760 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -10867,7 +10863,7 @@
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 10870 "configure"
+#line 10866 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -11268,52 +11264,6 @@
 fi
 fi
 
-wire_alignment="NONSTRICT_ALIGNMENT"
-default_alignment=""
-
-# Check whether --enable-sim-alignment was given.
-if test "${enable_sim_alignment+set}" = set; then :
-  enableval=$enable_sim_alignment; case "${enableval}" in
-  strict | STRICT)       sim_alignment="-DWITH_ALIGNMENT=STRICT_ALIGNMENT";;
-  nonstrict | NONSTRICT) sim_alignment="-DWITH_ALIGNMENT=NONSTRICT_ALIGNMENT";;
-  forced | FORCED)       sim_alignment="-DWITH_ALIGNMENT=FORCED_ALIGNMENT";;
-  yes) if test x"$wire_alignment" != x; then
-	 sim_alignment="-DWITH_ALIGNMENT=${wire_alignment}"
-       else
-         if test x"$default_alignment" != x; then
-           sim_alignment="-DWITH_ALIGNMENT=${default_alignment}"
-         else
-	   echo "No hard-wired alignment for target $target" 1>&6
-	   sim_alignment="-DWITH_ALIGNMENT=0"
-         fi
-       fi;;
-  no)  if test x"$default_alignment" != x; then
-	 sim_alignment="-DWITH_DEFAULT_ALIGNMENT=${default_alignment}"
-       else
-         if test x"$wire_alignment" != x; then
-	   sim_alignment="-DWITH_DEFAULT_ALIGNMENT=${wire_alignment}"
-         else
-           echo "No default alignment for target $target" 1>&6
-           sim_alignment="-DWITH_DEFAULT_ALIGNMENT=0"
-         fi
-       fi;;
-  *)   as_fn_error $? "\"Unknown value $enableval passed to --enable-sim-alignment\"" "$LINENO" 5; sim_alignment="";;
-esac
-if test x"$silent" != x"yes" && test x"$sim_alignment" != x""; then
-  echo "Setting alignment flags = $sim_alignment" 6>&1
-fi
-else
-  if test x"$default_alignment" != x; then
-  sim_alignment="-DWITH_DEFAULT_ALIGNMENT=${default_alignment}"
-else
-  if test x"$wire_alignment" != x; then
-    sim_alignment="-DWITH_ALIGNMENT=${wire_alignment}"
-  else
-    sim_alignment=
-  fi
-fi
-fi
-
 
 default_sim_scache="16384"
 # Check whether --enable-sim-scache was given.
diff --git a/sim/bpf/configure.ac b/sim/bpf/configure.ac
index a0f8576..4e00c13 100644
--- a/sim/bpf/configure.ac
+++ b/sim/bpf/configure.ac
@@ -6,7 +6,6 @@
 
 SIM_AC_OPTION_BITSIZE([64])
 SIM_AC_OPTION_ENDIAN([], [LITTLE])
-SIM_AC_OPTION_ALIGNMENT(NONSTRICT_ALIGNMENT)
 SIM_AC_OPTION_SCACHE(16384)
 SIM_AC_OPTION_DEFAULT_MODEL([bpf-def])
 SIM_AC_OPTION_WARNINGS(no)
diff --git a/sim/common/ChangeLog b/sim/common/ChangeLog
index 25cf339..ff0f4e2 100644
--- a/sim/common/ChangeLog
+++ b/sim/common/ChangeLog
@@ -1,5 +1,13 @@
 2021-06-12  Mike Frysinger  <vapier@gentoo.org>
 
+	* Make-common.in: Delete SIM_ALIGNMENT.
+	* sim-config.c (sim_config): Change WITH_DEFAULT_ALIGNMENT to
+	NONSTRICT_ALIGNMENT.
+	(sim_config_print): Delete WITH_DEFAULT_ALIGNMENT logic.
+	* sim-config.h (WITH_DEFAULT_ALIGNMENT): Delete.
+
+2021-06-12  Mike Frysinger  <vapier@gentoo.org>
+
 	* defs.h: Include ../config.h.  Undefine PACKAGE* defines.
 
 2021-06-09  Mike Frysinger  <vapier@gentoo.org>
diff --git a/sim/common/Make-common.in b/sim/common/Make-common.in
index f32026e..999b1ee 100644
--- a/sim/common/Make-common.in
+++ b/sim/common/Make-common.in
@@ -82,7 +82,6 @@
 CXXFLAGS = @CXXFLAGS@
 LDFLAGS = @LDFLAGS@
 
-SIM_ALIGNMENT = @sim_alignment@
 SIM_BITSIZE = @sim_bitsize@
 SIM_DEFAULT_MODEL = @sim_default_model@
 SIM_ENDIAN = @sim_endian@
@@ -222,7 +221,6 @@
 CONFIG_CFLAGS = \
 	@DEFS@ \
 	$(SIM_DEFAULT_MODEL) \
-	$(SIM_ALIGNMENT) \
 	$(SIM_BITSIZE) \
 	$(SIM_ENDIAN) \
 	$(SIM_FLOAT) \
diff --git a/sim/common/sim-config.c b/sim/common/sim-config.c
index df99d6a..c9005f4 100644
--- a/sim/common/sim-config.c
+++ b/sim/common/sim-config.c
@@ -253,8 +253,9 @@
 #endif
   if (current_alignment == 0)
     current_alignment = WITH_ALIGNMENT;
+  /* If the port hasn't specified an alignment, default to not enforcing.  */
   if (current_alignment == 0)
-    current_alignment = WITH_DEFAULT_ALIGNMENT;
+    current_alignment = NONSTRICT_ALIGNMENT;
 
   /* verify the alignment */
   if (CURRENT_ALIGNMENT == 0)
@@ -331,11 +332,6 @@
   sim_io_printf (sd, "WITH_ALIGNMENT = %s\n",
 		 config_alignment_to_a (WITH_ALIGNMENT));
 
-#if defined (WITH_DEFAULT_ALIGNMENT)
-  sim_io_printf (sd, "WITH_DEFAULT_ALIGNMENT = %s\n",
-		 config_alignment_to_a (WITH_DEFAULT_ALIGNMENT));
-#endif
-
 #if defined (WITH_XOR_ENDIAN)
   sim_io_printf (sd, "WITH_XOR_ENDIAN = %d\n", WITH_XOR_ENDIAN);
 #endif
diff --git a/sim/common/sim-config.h b/sim/common/sim-config.h
index 6ab8d1a..2b6ed3d 100644
--- a/sim/common/sim-config.h
+++ b/sim/common/sim-config.h
@@ -195,11 +195,11 @@
 
 /* Alignment:
 
-   A processor architecture may or may not handle miss aligned
+   A processor architecture may or may not handle misaligned
    transfers.
 
    As alternatives: both little and big endian modes take an exception
-   (STRICT_ALIGNMENT); big and little endian models handle mis aligned
+   (STRICT_ALIGNMENT); big and little endian models handle misaligned
    transfers (NONSTRICT_ALIGNMENT); or the address is forced into
    alignment using a mask (FORCED_ALIGNMENT).
 
@@ -220,13 +220,6 @@
 #define WITH_ALIGNMENT 0
 #endif
 
-#if !defined (WITH_DEFAULT_ALIGNMENT)
-#define WITH_DEFAULT_ALIGNMENT 0 /* fatal */
-#endif
-
-
-
-
 #define CURRENT_ALIGNMENT (WITH_ALIGNMENT \
 			   ? WITH_ALIGNMENT \
 			   : current_alignment)
diff --git a/sim/config.h.in b/sim/config.h.in
index 65f9da0..a1d4f78 100644
--- a/sim/config.h.in
+++ b/sim/config.h.in
@@ -437,6 +437,9 @@
 /* Version number of package */
 #undef VERSION
 
+/* Sim alignment settings */
+#undef WITH_ALIGNMENT
+
 /* Sim assert settings */
 #undef WITH_ASSERT
 
diff --git a/sim/configure b/sim/configure
index 2a9a9b6..bb3c54c 100755
--- a/sim/configure
+++ b/sim/configure
@@ -755,6 +755,7 @@
 enable_sim
 enable_example_sims
 enable_targets
+enable_sim_alignment
 enable_sim_assert
 enable_sim_debug
 enable_sim_environment
@@ -1433,6 +1434,9 @@
   --enable-sim            Enable the GNU simulator
   --enable-example-sims   enable example GNU simulators
   --enable-targets        alternative target configurations
+  --enable-sim-alignment=align
+                          Specify strict, nonstrict or forced alignment of
+                          memory accesses
   --enable-sim-assert     Specify whether to perform random assertions
   --enable-sim-debug=opts Enable debugging flags (for developers of the sim
                           itself)
@@ -6645,6 +6649,26 @@
 fi
 
 
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to force sim alignment" >&5
+$as_echo_n "checking whether to force sim alignment... " >&6; }
+sim_alignment=
+# Check whether --enable-sim-alignment was given.
+if test "${enable_sim_alignment+set}" = set; then :
+  enableval=$enable_sim_alignment; case "${enableval}" in
+  yes | strict | STRICT)      sim_alignment="STRICT_ALIGNMENT";;
+  no | nonstrict | NONSTRICT) sim_alignment="NONSTRICT_ALIGNMENT";;
+  forced | FORCED)            sim_alignment="FORCED_ALIGNMENT";;
+  *) as_fn_error $? "\"Unknown value $enableval passed to --enable-sim-alignment\"" "$LINENO" 5;;
+esac
+fi
+
+cat >>confdefs.h <<_ACEOF
+#define WITH_ALIGNMENT ${sim_alignment:-0}
+_ACEOF
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${sim_alignment:-no}" >&5
+$as_echo "${sim_alignment:-no}" >&6; }
+
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable sim asserts" >&5
 $as_echo_n "checking whether to enable sim asserts... " >&6; }
diff --git a/sim/configure.ac b/sim/configure.ac
index 8022a11..e7f3f53 100644
--- a/sim/configure.ac
+++ b/sim/configure.ac
@@ -108,6 +108,7 @@
 
 dnl Standard (and optional) simulator options.
 dnl Eventually all simulators will support these.
+SIM_AC_OPTION_ALIGNMENT
 SIM_AC_OPTION_ASSERT
 SIM_AC_OPTION_DEBUG
 SIM_AC_OPTION_ENVIRONMENT
diff --git a/sim/cr16/ChangeLog b/sim/cr16/ChangeLog
index 52a2cca..6e5470f 100644
--- a/sim/cr16/ChangeLog
+++ b/sim/cr16/ChangeLog
@@ -1,5 +1,9 @@
 2021-06-12  Mike Frysinger  <vapier@gentoo.org>
 
+	* configure.ac: Delete call to SIM_AC_OPTION_ALIGNMENT.
+
+2021-06-12  Mike Frysinger  <vapier@gentoo.org>
+
 	* aclocal.m4, config.in, configure: Regenerate.
 
 2021-06-12  Mike Frysinger  <vapier@gentoo.org>
diff --git a/sim/cr16/aclocal.m4 b/sim/cr16/aclocal.m4
index 6591f2c..88b04d1 100644
--- a/sim/cr16/aclocal.m4
+++ b/sim/cr16/aclocal.m4
@@ -110,7 +110,6 @@
 m4_include([../../ltversion.m4])
 m4_include([../../lt~obsolete.m4])
 m4_include([../m4/sim_ac_common.m4])
-m4_include([../m4/sim_ac_option_alignment.m4])
 m4_include([../m4/sim_ac_option_endian.m4])
 m4_include([../m4/sim_ac_option_hardware.m4])
 m4_include([../m4/sim_ac_option_inline.m4])
diff --git a/sim/cr16/configure b/sim/cr16/configure
index a5721fa..7cdfa3e 100755
--- a/sim/cr16/configure
+++ b/sim/cr16/configure
@@ -636,6 +636,7 @@
 sim_scache
 sim_float
 sim_bitsize
+sim_alignment
 cgen_breaks
 MAINT
 MAINTAINER_MODE_FALSE
@@ -753,8 +754,7 @@
 sim_hw
 sim_hw_objs
 sim_hw_cflags
-sim_endian
-sim_alignment'
+sim_endian'
 ac_subst_files=''
 ac_user_opts='
 enable_option_checking
@@ -769,7 +769,6 @@
 enable_maintainer_mode
 enable_sim_inline
 enable_sim_endian
-enable_sim_alignment
 enable_werror
 enable_build_warnings
 enable_sim_build_warnings
@@ -1414,9 +1413,6 @@
                           Specify which functions should be inlined
   --enable-sim-endian=endian
                           Specify target byte endian orientation
-  --enable-sim-alignment=align
-                          Specify strict, nonstrict or forced alignment of
-                          memory accesses
   --enable-werror         treat compile warnings as errors
   --enable-build-warnings enable build-time compiler warnings if gcc is used
   --enable-sim-build-warnings
@@ -10748,7 +10744,7 @@
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 10751 "configure"
+#line 10747 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -10854,7 +10850,7 @@
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 10857 "configure"
+#line 10853 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -11196,52 +11192,6 @@
 fi
 fi
 
-wire_alignment="NONSTRICT_ALIGNMENT"
-default_alignment=""
-
-# Check whether --enable-sim-alignment was given.
-if test "${enable_sim_alignment+set}" = set; then :
-  enableval=$enable_sim_alignment; case "${enableval}" in
-  strict | STRICT)       sim_alignment="-DWITH_ALIGNMENT=STRICT_ALIGNMENT";;
-  nonstrict | NONSTRICT) sim_alignment="-DWITH_ALIGNMENT=NONSTRICT_ALIGNMENT";;
-  forced | FORCED)       sim_alignment="-DWITH_ALIGNMENT=FORCED_ALIGNMENT";;
-  yes) if test x"$wire_alignment" != x; then
-	 sim_alignment="-DWITH_ALIGNMENT=${wire_alignment}"
-       else
-         if test x"$default_alignment" != x; then
-           sim_alignment="-DWITH_ALIGNMENT=${default_alignment}"
-         else
-	   echo "No hard-wired alignment for target $target" 1>&6
-	   sim_alignment="-DWITH_ALIGNMENT=0"
-         fi
-       fi;;
-  no)  if test x"$default_alignment" != x; then
-	 sim_alignment="-DWITH_DEFAULT_ALIGNMENT=${default_alignment}"
-       else
-         if test x"$wire_alignment" != x; then
-	   sim_alignment="-DWITH_DEFAULT_ALIGNMENT=${wire_alignment}"
-         else
-           echo "No default alignment for target $target" 1>&6
-           sim_alignment="-DWITH_DEFAULT_ALIGNMENT=0"
-         fi
-       fi;;
-  *)   as_fn_error $? "\"Unknown value $enableval passed to --enable-sim-alignment\"" "$LINENO" 5; sim_alignment="";;
-esac
-if test x"$silent" != x"yes" && test x"$sim_alignment" != x""; then
-  echo "Setting alignment flags = $sim_alignment" 6>&1
-fi
-else
-  if test x"$default_alignment" != x; then
-  sim_alignment="-DWITH_DEFAULT_ALIGNMENT=${default_alignment}"
-else
-  if test x"$wire_alignment" != x; then
-    sim_alignment="-DWITH_ALIGNMENT=${wire_alignment}"
-  else
-    sim_alignment=
-  fi
-fi
-fi
-
 
 
 # Check whether --enable-werror was given.
diff --git a/sim/cr16/configure.ac b/sim/cr16/configure.ac
index f4dc9c1..8cd4d23 100644
--- a/sim/cr16/configure.ac
+++ b/sim/cr16/configure.ac
@@ -5,6 +5,5 @@
 SIM_AC_COMMON
 
 SIM_AC_OPTION_ENDIAN(LITTLE)
-SIM_AC_OPTION_ALIGNMENT(NONSTRICT_ALIGNMENT)
 
 SIM_AC_OUTPUT
diff --git a/sim/cris/ChangeLog b/sim/cris/ChangeLog
index 15d2baa..bde34bb 100644
--- a/sim/cris/ChangeLog
+++ b/sim/cris/ChangeLog
@@ -1,5 +1,9 @@
 2021-06-12  Mike Frysinger  <vapier@gentoo.org>
 
+	* configure.ac: Delete call to SIM_AC_OPTION_ALIGNMENT.
+
+2021-06-12  Mike Frysinger  <vapier@gentoo.org>
+
 	* aclocal.m4, config.in, configure: Regenerate.
 
 2021-06-12  Mike Frysinger  <vapier@gentoo.org>
diff --git a/sim/cris/aclocal.m4 b/sim/cris/aclocal.m4
index 948b368..4fb0bd7 100644
--- a/sim/cris/aclocal.m4
+++ b/sim/cris/aclocal.m4
@@ -110,7 +110,6 @@
 m4_include([../../ltversion.m4])
 m4_include([../../lt~obsolete.m4])
 m4_include([../m4/sim_ac_common.m4])
-m4_include([../m4/sim_ac_option_alignment.m4])
 m4_include([../m4/sim_ac_option_cgen_maint.m4])
 m4_include([../m4/sim_ac_option_default_model.m4])
 m4_include([../m4/sim_ac_option_endian.m4])
diff --git a/sim/cris/configure b/sim/cris/configure
index c65a228..d830d68 100755
--- a/sim/cris/configure
+++ b/sim/cris/configure
@@ -634,6 +634,7 @@
 sim_reserved_bits
 sim_float
 sim_bitsize
+sim_alignment
 cgen_breaks
 cgen
 cgendir
@@ -756,8 +757,7 @@
 sim_hw_objs
 sim_hw_cflags
 sim_endian
-sim_default_model
-sim_alignment'
+sim_default_model'
 ac_subst_files=''
 ac_user_opts='
 enable_option_checking
@@ -772,7 +772,6 @@
 enable_maintainer_mode
 enable_sim_inline
 enable_sim_endian
-enable_sim_alignment
 enable_sim_scache
 enable_werror
 enable_build_warnings
@@ -1420,9 +1419,6 @@
                           Specify which functions should be inlined
   --enable-sim-endian=endian
                           Specify target byte endian orientation
-  --enable-sim-alignment=align
-                          Specify strict, nonstrict or forced alignment of
-                          memory accesses
   --enable-sim-scache=size
                           Specify simulator execution cache size
   --enable-werror         treat compile warnings as errors
@@ -10759,7 +10755,7 @@
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 10762 "configure"
+#line 10758 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -10865,7 +10861,7 @@
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 10868 "configure"
+#line 10864 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -11207,52 +11203,6 @@
 fi
 fi
 
-wire_alignment="NONSTRICT_ALIGNMENT"
-default_alignment=""
-
-# Check whether --enable-sim-alignment was given.
-if test "${enable_sim_alignment+set}" = set; then :
-  enableval=$enable_sim_alignment; case "${enableval}" in
-  strict | STRICT)       sim_alignment="-DWITH_ALIGNMENT=STRICT_ALIGNMENT";;
-  nonstrict | NONSTRICT) sim_alignment="-DWITH_ALIGNMENT=NONSTRICT_ALIGNMENT";;
-  forced | FORCED)       sim_alignment="-DWITH_ALIGNMENT=FORCED_ALIGNMENT";;
-  yes) if test x"$wire_alignment" != x; then
-	 sim_alignment="-DWITH_ALIGNMENT=${wire_alignment}"
-       else
-         if test x"$default_alignment" != x; then
-           sim_alignment="-DWITH_ALIGNMENT=${default_alignment}"
-         else
-	   echo "No hard-wired alignment for target $target" 1>&6
-	   sim_alignment="-DWITH_ALIGNMENT=0"
-         fi
-       fi;;
-  no)  if test x"$default_alignment" != x; then
-	 sim_alignment="-DWITH_DEFAULT_ALIGNMENT=${default_alignment}"
-       else
-         if test x"$wire_alignment" != x; then
-	   sim_alignment="-DWITH_DEFAULT_ALIGNMENT=${wire_alignment}"
-         else
-           echo "No default alignment for target $target" 1>&6
-           sim_alignment="-DWITH_DEFAULT_ALIGNMENT=0"
-         fi
-       fi;;
-  *)   as_fn_error $? "\"Unknown value $enableval passed to --enable-sim-alignment\"" "$LINENO" 5; sim_alignment="";;
-esac
-if test x"$silent" != x"yes" && test x"$sim_alignment" != x""; then
-  echo "Setting alignment flags = $sim_alignment" 6>&1
-fi
-else
-  if test x"$default_alignment" != x; then
-  sim_alignment="-DWITH_DEFAULT_ALIGNMENT=${default_alignment}"
-else
-  if test x"$wire_alignment" != x; then
-    sim_alignment="-DWITH_ALIGNMENT=${wire_alignment}"
-  else
-    sim_alignment=
-  fi
-fi
-fi
-
 
 default_sim_scache="16384"
 # Check whether --enable-sim-scache was given.
diff --git a/sim/cris/configure.ac b/sim/cris/configure.ac
index b5eaea7..cc5bb49 100644
--- a/sim/cris/configure.ac
+++ b/sim/cris/configure.ac
@@ -5,7 +5,6 @@
 SIM_AC_COMMON
 
 SIM_AC_OPTION_ENDIAN(LITTLE)
-SIM_AC_OPTION_ALIGNMENT(NONSTRICT_ALIGNMENT)
 SIM_AC_OPTION_SCACHE(16384)
 SIM_AC_OPTION_WARNINGS(no)
 SIM_AC_OPTION_HARDWARE(rv cris cris_900000xx)
diff --git a/sim/d10v/ChangeLog b/sim/d10v/ChangeLog
index aef1a22..2254eae 100644
--- a/sim/d10v/ChangeLog
+++ b/sim/d10v/ChangeLog
@@ -1,5 +1,10 @@
 2021-06-12  Mike Frysinger  <vapier@gentoo.org>
 
+	* configure.ac: Delete call to SIM_AC_OPTION_ALIGNMENT.
+	* interp.c (sim_open):
+
+2021-06-12  Mike Frysinger  <vapier@gentoo.org>
+
 	* aclocal.m4, config.in, configure: Regenerate.
 
 2021-06-12  Mike Frysinger  <vapier@gentoo.org>
diff --git a/sim/d10v/aclocal.m4 b/sim/d10v/aclocal.m4
index 6591f2c..88b04d1 100644
--- a/sim/d10v/aclocal.m4
+++ b/sim/d10v/aclocal.m4
@@ -110,7 +110,6 @@
 m4_include([../../ltversion.m4])
 m4_include([../../lt~obsolete.m4])
 m4_include([../m4/sim_ac_common.m4])
-m4_include([../m4/sim_ac_option_alignment.m4])
 m4_include([../m4/sim_ac_option_endian.m4])
 m4_include([../m4/sim_ac_option_hardware.m4])
 m4_include([../m4/sim_ac_option_inline.m4])
diff --git a/sim/d10v/configure b/sim/d10v/configure
index 4e99517..017c6c0 100755
--- a/sim/d10v/configure
+++ b/sim/d10v/configure
@@ -636,6 +636,7 @@
 sim_scache
 sim_float
 sim_bitsize
+sim_alignment
 cgen_breaks
 MAINT
 MAINTAINER_MODE_FALSE
@@ -753,8 +754,7 @@
 sim_hw
 sim_hw_objs
 sim_hw_cflags
-sim_endian
-sim_alignment'
+sim_endian'
 ac_subst_files=''
 ac_user_opts='
 enable_option_checking
@@ -769,7 +769,6 @@
 enable_maintainer_mode
 enable_sim_inline
 enable_sim_endian
-enable_sim_alignment
 enable_werror
 enable_build_warnings
 enable_sim_build_warnings
@@ -1414,9 +1413,6 @@
                           Specify which functions should be inlined
   --enable-sim-endian=endian
                           Specify target byte endian orientation
-  --enable-sim-alignment=align
-                          Specify strict, nonstrict or forced alignment of
-                          memory accesses
   --enable-werror         treat compile warnings as errors
   --enable-build-warnings enable build-time compiler warnings if gcc is used
   --enable-sim-build-warnings
@@ -10748,7 +10744,7 @@
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 10751 "configure"
+#line 10747 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -10854,7 +10850,7 @@
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 10857 "configure"
+#line 10853 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -11196,52 +11192,6 @@
 fi
 fi
 
-wire_alignment="STRICT_ALIGNMENT"
-default_alignment="STRICT_ALIGNMENT"
-
-# Check whether --enable-sim-alignment was given.
-if test "${enable_sim_alignment+set}" = set; then :
-  enableval=$enable_sim_alignment; case "${enableval}" in
-  strict | STRICT)       sim_alignment="-DWITH_ALIGNMENT=STRICT_ALIGNMENT";;
-  nonstrict | NONSTRICT) sim_alignment="-DWITH_ALIGNMENT=NONSTRICT_ALIGNMENT";;
-  forced | FORCED)       sim_alignment="-DWITH_ALIGNMENT=FORCED_ALIGNMENT";;
-  yes) if test x"$wire_alignment" != x; then
-	 sim_alignment="-DWITH_ALIGNMENT=${wire_alignment}"
-       else
-         if test x"$default_alignment" != x; then
-           sim_alignment="-DWITH_ALIGNMENT=${default_alignment}"
-         else
-	   echo "No hard-wired alignment for target $target" 1>&6
-	   sim_alignment="-DWITH_ALIGNMENT=0"
-         fi
-       fi;;
-  no)  if test x"$default_alignment" != x; then
-	 sim_alignment="-DWITH_DEFAULT_ALIGNMENT=${default_alignment}"
-       else
-         if test x"$wire_alignment" != x; then
-	   sim_alignment="-DWITH_DEFAULT_ALIGNMENT=${wire_alignment}"
-         else
-           echo "No default alignment for target $target" 1>&6
-           sim_alignment="-DWITH_DEFAULT_ALIGNMENT=0"
-         fi
-       fi;;
-  *)   as_fn_error $? "\"Unknown value $enableval passed to --enable-sim-alignment\"" "$LINENO" 5; sim_alignment="";;
-esac
-if test x"$silent" != x"yes" && test x"$sim_alignment" != x""; then
-  echo "Setting alignment flags = $sim_alignment" 6>&1
-fi
-else
-  if test x"$default_alignment" != x; then
-  sim_alignment="-DWITH_DEFAULT_ALIGNMENT=${default_alignment}"
-else
-  if test x"$wire_alignment" != x; then
-    sim_alignment="-DWITH_ALIGNMENT=${wire_alignment}"
-  else
-    sim_alignment=
-  fi
-fi
-fi
-
 
 
 # Check whether --enable-werror was given.
diff --git a/sim/d10v/configure.ac b/sim/d10v/configure.ac
index 8114520..ec8a87e 100644
--- a/sim/d10v/configure.ac
+++ b/sim/d10v/configure.ac
@@ -5,6 +5,5 @@
 SIM_AC_COMMON
 
 SIM_AC_OPTION_ENDIAN
-SIM_AC_OPTION_ALIGNMENT(STRICT_ALIGNMENT,STRICT_ALIGNMENT)
 
 SIM_AC_OUTPUT
diff --git a/sim/d10v/interp.c b/sim/d10v/interp.c
index b587cc1..c0cdc03 100644
--- a/sim/d10v/interp.c
+++ b/sim/d10v/interp.c
@@ -755,6 +755,9 @@
   SIM_DESC sd = sim_state_alloc (kind, cb);
   SIM_ASSERT (STATE_MAGIC (sd) == SIM_MAGIC_NUMBER);
 
+  /* Set default options before parsing user options.  */
+  current_alignment = STRICT_ALIGNMENT;
+
   /* The cpu data is kept in a separately allocated chunk of memory.  */
   if (sim_cpu_alloc_all (sd, 1) != SIM_RC_OK)
     {
diff --git a/sim/example-synacor/ChangeLog b/sim/example-synacor/ChangeLog
index 9ffd181..88008b1 100644
--- a/sim/example-synacor/ChangeLog
+++ b/sim/example-synacor/ChangeLog
@@ -1,5 +1,10 @@
 2021-06-12  Mike Frysinger  <vapier@gentoo.org>
 
+	* configure.ac: Delete call to SIM_AC_OPTION_ALIGNMENT.
+	* interp.c (sim_open):
+
+2021-06-12  Mike Frysinger  <vapier@gentoo.org>
+
 	* aclocal.m4, config.in, configure: Regenerate.
 
 2021-06-12  Mike Frysinger  <vapier@gentoo.org>
diff --git a/sim/example-synacor/aclocal.m4 b/sim/example-synacor/aclocal.m4
index 6591f2c..88b04d1 100644
--- a/sim/example-synacor/aclocal.m4
+++ b/sim/example-synacor/aclocal.m4
@@ -110,7 +110,6 @@
 m4_include([../../ltversion.m4])
 m4_include([../../lt~obsolete.m4])
 m4_include([../m4/sim_ac_common.m4])
-m4_include([../m4/sim_ac_option_alignment.m4])
 m4_include([../m4/sim_ac_option_endian.m4])
 m4_include([../m4/sim_ac_option_hardware.m4])
 m4_include([../m4/sim_ac_option_inline.m4])
diff --git a/sim/example-synacor/configure b/sim/example-synacor/configure
index 55cf665..7cdfa3e 100755
--- a/sim/example-synacor/configure
+++ b/sim/example-synacor/configure
@@ -636,6 +636,7 @@
 sim_scache
 sim_float
 sim_bitsize
+sim_alignment
 cgen_breaks
 MAINT
 MAINTAINER_MODE_FALSE
@@ -753,8 +754,7 @@
 sim_hw
 sim_hw_objs
 sim_hw_cflags
-sim_endian
-sim_alignment'
+sim_endian'
 ac_subst_files=''
 ac_user_opts='
 enable_option_checking
@@ -769,7 +769,6 @@
 enable_maintainer_mode
 enable_sim_inline
 enable_sim_endian
-enable_sim_alignment
 enable_werror
 enable_build_warnings
 enable_sim_build_warnings
@@ -1414,9 +1413,6 @@
                           Specify which functions should be inlined
   --enable-sim-endian=endian
                           Specify target byte endian orientation
-  --enable-sim-alignment=align
-                          Specify strict, nonstrict or forced alignment of
-                          memory accesses
   --enable-werror         treat compile warnings as errors
   --enable-build-warnings enable build-time compiler warnings if gcc is used
   --enable-sim-build-warnings
@@ -10748,7 +10744,7 @@
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 10751 "configure"
+#line 10747 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -10854,7 +10850,7 @@
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 10857 "configure"
+#line 10853 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -11196,52 +11192,6 @@
 fi
 fi
 
-wire_alignment="STRICT_ALIGNMENT"
-default_alignment="STRICT_ALIGNMENT"
-
-# Check whether --enable-sim-alignment was given.
-if test "${enable_sim_alignment+set}" = set; then :
-  enableval=$enable_sim_alignment; case "${enableval}" in
-  strict | STRICT)       sim_alignment="-DWITH_ALIGNMENT=STRICT_ALIGNMENT";;
-  nonstrict | NONSTRICT) sim_alignment="-DWITH_ALIGNMENT=NONSTRICT_ALIGNMENT";;
-  forced | FORCED)       sim_alignment="-DWITH_ALIGNMENT=FORCED_ALIGNMENT";;
-  yes) if test x"$wire_alignment" != x; then
-	 sim_alignment="-DWITH_ALIGNMENT=${wire_alignment}"
-       else
-         if test x"$default_alignment" != x; then
-           sim_alignment="-DWITH_ALIGNMENT=${default_alignment}"
-         else
-	   echo "No hard-wired alignment for target $target" 1>&6
-	   sim_alignment="-DWITH_ALIGNMENT=0"
-         fi
-       fi;;
-  no)  if test x"$default_alignment" != x; then
-	 sim_alignment="-DWITH_DEFAULT_ALIGNMENT=${default_alignment}"
-       else
-         if test x"$wire_alignment" != x; then
-	   sim_alignment="-DWITH_DEFAULT_ALIGNMENT=${wire_alignment}"
-         else
-           echo "No default alignment for target $target" 1>&6
-           sim_alignment="-DWITH_DEFAULT_ALIGNMENT=0"
-         fi
-       fi;;
-  *)   as_fn_error $? "\"Unknown value $enableval passed to --enable-sim-alignment\"" "$LINENO" 5; sim_alignment="";;
-esac
-if test x"$silent" != x"yes" && test x"$sim_alignment" != x""; then
-  echo "Setting alignment flags = $sim_alignment" 6>&1
-fi
-else
-  if test x"$default_alignment" != x; then
-  sim_alignment="-DWITH_DEFAULT_ALIGNMENT=${default_alignment}"
-else
-  if test x"$wire_alignment" != x; then
-    sim_alignment="-DWITH_ALIGNMENT=${wire_alignment}"
-  else
-    sim_alignment=
-  fi
-fi
-fi
-
 
 
 # Check whether --enable-werror was given.
diff --git a/sim/example-synacor/configure.ac b/sim/example-synacor/configure.ac
index 13b3111..8cd4d23 100644
--- a/sim/example-synacor/configure.ac
+++ b/sim/example-synacor/configure.ac
@@ -5,6 +5,5 @@
 SIM_AC_COMMON
 
 SIM_AC_OPTION_ENDIAN(LITTLE)
-SIM_AC_OPTION_ALIGNMENT(STRICT_ALIGNMENT,STRICT_ALIGNMENT)
 
 SIM_AC_OUTPUT
diff --git a/sim/example-synacor/interp.c b/sim/example-synacor/interp.c
index eaf8f1f..784c9cb 100644
--- a/sim/example-synacor/interp.c
+++ b/sim/example-synacor/interp.c
@@ -82,6 +82,9 @@
   int i;
   SIM_DESC sd = sim_state_alloc (kind, callback);
 
+  /* Set default options before parsing user options.  */
+  current_alignment = STRICT_ALIGNMENT;
+
   /* The cpu data is kept in a separately allocated chunk of memory.  */
   if (sim_cpu_alloc_all (sd, 1) != SIM_RC_OK)
     {
diff --git a/sim/frv/ChangeLog b/sim/frv/ChangeLog
index 6fc7d02..c231ad1 100644
--- a/sim/frv/ChangeLog
+++ b/sim/frv/ChangeLog
@@ -1,5 +1,10 @@
 2021-06-12  Mike Frysinger  <vapier@gentoo.org>
 
+	* configure.ac: Delete call to SIM_AC_OPTION_ALIGNMENT.
+	* sim-if.c (sim_open): Set current_alignment.
+
+2021-06-12  Mike Frysinger  <vapier@gentoo.org>
+
 	* aclocal.m4, config.in, configure: Regenerate.
 
 2021-06-12  Mike Frysinger  <vapier@gentoo.org>
diff --git a/sim/frv/aclocal.m4 b/sim/frv/aclocal.m4
index 948b368..4fb0bd7 100644
--- a/sim/frv/aclocal.m4
+++ b/sim/frv/aclocal.m4
@@ -110,7 +110,6 @@
 m4_include([../../ltversion.m4])
 m4_include([../../lt~obsolete.m4])
 m4_include([../m4/sim_ac_common.m4])
-m4_include([../m4/sim_ac_option_alignment.m4])
 m4_include([../m4/sim_ac_option_cgen_maint.m4])
 m4_include([../m4/sim_ac_option_default_model.m4])
 m4_include([../m4/sim_ac_option_endian.m4])
diff --git a/sim/frv/configure b/sim/frv/configure
index bc3aa9c..346e0bd 100755
--- a/sim/frv/configure
+++ b/sim/frv/configure
@@ -634,6 +634,7 @@
 sim_reserved_bits
 sim_float
 sim_bitsize
+sim_alignment
 cgen_breaks
 sim_trapdump
 cgen
@@ -757,8 +758,7 @@
 sim_hw_objs
 sim_hw_cflags
 sim_endian
-sim_default_model
-sim_alignment'
+sim_default_model'
 ac_subst_files=''
 ac_user_opts='
 enable_option_checking
@@ -773,7 +773,6 @@
 enable_maintainer_mode
 enable_sim_inline
 enable_sim_endian
-enable_sim_alignment
 enable_sim_scache
 enable_sim_default_model
 enable_werror
@@ -1422,9 +1421,6 @@
                           Specify which functions should be inlined
   --enable-sim-endian=endian
                           Specify target byte endian orientation
-  --enable-sim-alignment=align
-                          Specify strict, nonstrict or forced alignment of
-                          memory accesses
   --enable-sim-scache=size
                           Specify simulator execution cache size
   --enable-sim-default-model=model
@@ -10762,7 +10758,7 @@
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 10765 "configure"
+#line 10761 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -10868,7 +10864,7 @@
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 10871 "configure"
+#line 10867 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -11210,52 +11206,6 @@
 fi
 fi
 
-wire_alignment="STRICT_ALIGNMENT"
-default_alignment=""
-
-# Check whether --enable-sim-alignment was given.
-if test "${enable_sim_alignment+set}" = set; then :
-  enableval=$enable_sim_alignment; case "${enableval}" in
-  strict | STRICT)       sim_alignment="-DWITH_ALIGNMENT=STRICT_ALIGNMENT";;
-  nonstrict | NONSTRICT) sim_alignment="-DWITH_ALIGNMENT=NONSTRICT_ALIGNMENT";;
-  forced | FORCED)       sim_alignment="-DWITH_ALIGNMENT=FORCED_ALIGNMENT";;
-  yes) if test x"$wire_alignment" != x; then
-	 sim_alignment="-DWITH_ALIGNMENT=${wire_alignment}"
-       else
-         if test x"$default_alignment" != x; then
-           sim_alignment="-DWITH_ALIGNMENT=${default_alignment}"
-         else
-	   echo "No hard-wired alignment for target $target" 1>&6
-	   sim_alignment="-DWITH_ALIGNMENT=0"
-         fi
-       fi;;
-  no)  if test x"$default_alignment" != x; then
-	 sim_alignment="-DWITH_DEFAULT_ALIGNMENT=${default_alignment}"
-       else
-         if test x"$wire_alignment" != x; then
-	   sim_alignment="-DWITH_DEFAULT_ALIGNMENT=${wire_alignment}"
-         else
-           echo "No default alignment for target $target" 1>&6
-           sim_alignment="-DWITH_DEFAULT_ALIGNMENT=0"
-         fi
-       fi;;
-  *)   as_fn_error $? "\"Unknown value $enableval passed to --enable-sim-alignment\"" "$LINENO" 5; sim_alignment="";;
-esac
-if test x"$silent" != x"yes" && test x"$sim_alignment" != x""; then
-  echo "Setting alignment flags = $sim_alignment" 6>&1
-fi
-else
-  if test x"$default_alignment" != x; then
-  sim_alignment="-DWITH_DEFAULT_ALIGNMENT=${default_alignment}"
-else
-  if test x"$wire_alignment" != x; then
-    sim_alignment="-DWITH_ALIGNMENT=${wire_alignment}"
-  else
-    sim_alignment=
-  fi
-fi
-fi
-
 
 default_sim_scache="16384"
 # Check whether --enable-sim-scache was given.
diff --git a/sim/frv/configure.ac b/sim/frv/configure.ac
index e5bbdbf..fcc2e88 100644
--- a/sim/frv/configure.ac
+++ b/sim/frv/configure.ac
@@ -5,7 +5,6 @@
 SIM_AC_COMMON
 
 SIM_AC_OPTION_ENDIAN(BIG)
-SIM_AC_OPTION_ALIGNMENT(STRICT_ALIGNMENT)
 SIM_AC_OPTION_SCACHE(16384)
 SIM_AC_OPTION_DEFAULT_MODEL(fr500)
 SIM_AC_OPTION_WARNINGS(no)
diff --git a/sim/frv/sim-if.c b/sim/frv/sim-if.c
index 8ac9665..0ad5f62 100644
--- a/sim/frv/sim-if.c
+++ b/sim/frv/sim-if.c
@@ -54,6 +54,9 @@
   unsigned long elf_flags = 0;
   SIM_DESC sd = sim_state_alloc (kind, callback);
 
+  /* Set default options before parsing user options.  */
+  current_alignment = STRICT_ALIGNMENT;
+
   /* The cpu data is kept in a separately allocated chunk of memory.  */
   if (sim_cpu_alloc_all (sd, 1) != SIM_RC_OK)
     {
diff --git a/sim/ft32/ChangeLog b/sim/ft32/ChangeLog
index 1b29987..57889b6 100644
--- a/sim/ft32/ChangeLog
+++ b/sim/ft32/ChangeLog
@@ -1,5 +1,10 @@
 2021-06-12  Mike Frysinger  <vapier@gentoo.org>
 
+	* configure.ac: Delete call to SIM_AC_OPTION_ALIGNMENT.
+	* interp.c (sim_open): Set current_alignment.
+
+2021-06-12  Mike Frysinger  <vapier@gentoo.org>
+
 	* aclocal.m4, config.in, configure: Regenerate.
 
 2021-06-12  Mike Frysinger  <vapier@gentoo.org>
diff --git a/sim/ft32/aclocal.m4 b/sim/ft32/aclocal.m4
index 6591f2c..88b04d1 100644
--- a/sim/ft32/aclocal.m4
+++ b/sim/ft32/aclocal.m4
@@ -110,7 +110,6 @@
 m4_include([../../ltversion.m4])
 m4_include([../../lt~obsolete.m4])
 m4_include([../m4/sim_ac_common.m4])
-m4_include([../m4/sim_ac_option_alignment.m4])
 m4_include([../m4/sim_ac_option_endian.m4])
 m4_include([../m4/sim_ac_option_hardware.m4])
 m4_include([../m4/sim_ac_option_inline.m4])
diff --git a/sim/ft32/configure b/sim/ft32/configure
index b56ec1a..32b8327 100755
--- a/sim/ft32/configure
+++ b/sim/ft32/configure
@@ -636,6 +636,7 @@
 sim_scache
 sim_float
 sim_bitsize
+sim_alignment
 cgen_breaks
 MAINT
 MAINTAINER_MODE_FALSE
@@ -753,8 +754,7 @@
 sim_hw
 sim_hw_objs
 sim_hw_cflags
-sim_endian
-sim_alignment'
+sim_endian'
 ac_subst_files=''
 ac_user_opts='
 enable_option_checking
@@ -769,7 +769,6 @@
 enable_maintainer_mode
 enable_sim_inline
 enable_sim_endian
-enable_sim_alignment
 enable_werror
 enable_build_warnings
 enable_sim_build_warnings
@@ -1414,9 +1413,6 @@
                           Specify which functions should be inlined
   --enable-sim-endian=endian
                           Specify target byte endian orientation
-  --enable-sim-alignment=align
-                          Specify strict, nonstrict or forced alignment of
-                          memory accesses
   --enable-werror         treat compile warnings as errors
   --enable-build-warnings enable build-time compiler warnings if gcc is used
   --enable-sim-build-warnings
@@ -10748,7 +10744,7 @@
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 10751 "configure"
+#line 10747 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -10854,7 +10850,7 @@
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 10857 "configure"
+#line 10853 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -11196,52 +11192,6 @@
 fi
 fi
 
-wire_alignment="STRICT_ALIGNMENT"
-default_alignment=""
-
-# Check whether --enable-sim-alignment was given.
-if test "${enable_sim_alignment+set}" = set; then :
-  enableval=$enable_sim_alignment; case "${enableval}" in
-  strict | STRICT)       sim_alignment="-DWITH_ALIGNMENT=STRICT_ALIGNMENT";;
-  nonstrict | NONSTRICT) sim_alignment="-DWITH_ALIGNMENT=NONSTRICT_ALIGNMENT";;
-  forced | FORCED)       sim_alignment="-DWITH_ALIGNMENT=FORCED_ALIGNMENT";;
-  yes) if test x"$wire_alignment" != x; then
-	 sim_alignment="-DWITH_ALIGNMENT=${wire_alignment}"
-       else
-         if test x"$default_alignment" != x; then
-           sim_alignment="-DWITH_ALIGNMENT=${default_alignment}"
-         else
-	   echo "No hard-wired alignment for target $target" 1>&6
-	   sim_alignment="-DWITH_ALIGNMENT=0"
-         fi
-       fi;;
-  no)  if test x"$default_alignment" != x; then
-	 sim_alignment="-DWITH_DEFAULT_ALIGNMENT=${default_alignment}"
-       else
-         if test x"$wire_alignment" != x; then
-	   sim_alignment="-DWITH_DEFAULT_ALIGNMENT=${wire_alignment}"
-         else
-           echo "No default alignment for target $target" 1>&6
-           sim_alignment="-DWITH_DEFAULT_ALIGNMENT=0"
-         fi
-       fi;;
-  *)   as_fn_error $? "\"Unknown value $enableval passed to --enable-sim-alignment\"" "$LINENO" 5; sim_alignment="";;
-esac
-if test x"$silent" != x"yes" && test x"$sim_alignment" != x""; then
-  echo "Setting alignment flags = $sim_alignment" 6>&1
-fi
-else
-  if test x"$default_alignment" != x; then
-  sim_alignment="-DWITH_DEFAULT_ALIGNMENT=${default_alignment}"
-else
-  if test x"$wire_alignment" != x; then
-    sim_alignment="-DWITH_ALIGNMENT=${wire_alignment}"
-  else
-    sim_alignment=
-  fi
-fi
-fi
-
 
 # Check whether --enable-werror was given.
 if test "${enable_werror+set}" = set; then :
diff --git a/sim/ft32/configure.ac b/sim/ft32/configure.ac
index 658a0a4..9d6e1e6 100644
--- a/sim/ft32/configure.ac
+++ b/sim/ft32/configure.ac
@@ -5,7 +5,6 @@
 SIM_AC_COMMON
 
 SIM_AC_OPTION_ENDIAN(LITTLE)
-SIM_AC_OPTION_ALIGNMENT(STRICT_ALIGNMENT)
 SIM_AC_OPTION_WARNINGS
 
 SIM_AC_OUTPUT
diff --git a/sim/ft32/interp.c b/sim/ft32/interp.c
index 5fc9ea2..8a44a47 100644
--- a/sim/ft32/interp.c
+++ b/sim/ft32/interp.c
@@ -808,6 +808,9 @@
   size_t i;
   SIM_DESC sd = sim_state_alloc (kind, cb);
 
+  /* Set default options before parsing user options.  */
+  current_alignment = STRICT_ALIGNMENT;
+
   /* The cpu data is kept in a separately allocated chunk of memory.  */
   if (sim_cpu_alloc_all (sd, 1) != SIM_RC_OK)
     {
diff --git a/sim/h8300/ChangeLog b/sim/h8300/ChangeLog
index ec06f33..d4e7cd0 100644
--- a/sim/h8300/ChangeLog
+++ b/sim/h8300/ChangeLog
@@ -1,5 +1,9 @@
 2021-06-12  Mike Frysinger  <vapier@gentoo.org>
 
+	* configure.ac: Delete call to SIM_AC_OPTION_ALIGNMENT.
+
+2021-06-12  Mike Frysinger  <vapier@gentoo.org>
+
 	* aclocal.m4, config.in, configure: Regenerate.
 
 2021-06-12  Mike Frysinger  <vapier@gentoo.org>
diff --git a/sim/h8300/aclocal.m4 b/sim/h8300/aclocal.m4
index 6591f2c..88b04d1 100644
--- a/sim/h8300/aclocal.m4
+++ b/sim/h8300/aclocal.m4
@@ -110,7 +110,6 @@
 m4_include([../../ltversion.m4])
 m4_include([../../lt~obsolete.m4])
 m4_include([../m4/sim_ac_common.m4])
-m4_include([../m4/sim_ac_option_alignment.m4])
 m4_include([../m4/sim_ac_option_endian.m4])
 m4_include([../m4/sim_ac_option_hardware.m4])
 m4_include([../m4/sim_ac_option_inline.m4])
diff --git a/sim/h8300/configure b/sim/h8300/configure
index d5e2c9c..590f5e7 100755
--- a/sim/h8300/configure
+++ b/sim/h8300/configure
@@ -636,6 +636,7 @@
 sim_scache
 sim_float
 sim_bitsize
+sim_alignment
 cgen_breaks
 MAINT
 MAINTAINER_MODE_FALSE
@@ -753,8 +754,7 @@
 sim_hw
 sim_hw_objs
 sim_hw_cflags
-sim_endian
-sim_alignment'
+sim_endian'
 ac_subst_files=''
 ac_user_opts='
 enable_option_checking
@@ -769,7 +769,6 @@
 enable_maintainer_mode
 enable_sim_inline
 enable_sim_endian
-enable_sim_alignment
 enable_werror
 enable_build_warnings
 enable_sim_build_warnings
@@ -1414,9 +1413,6 @@
                           Specify which functions should be inlined
   --enable-sim-endian=endian
                           Specify target byte endian orientation
-  --enable-sim-alignment=align
-                          Specify strict, nonstrict or forced alignment of
-                          memory accesses
   --enable-werror         treat compile warnings as errors
   --enable-build-warnings enable build-time compiler warnings if gcc is used
   --enable-sim-build-warnings
@@ -10748,7 +10744,7 @@
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 10751 "configure"
+#line 10747 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -10854,7 +10850,7 @@
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 10857 "configure"
+#line 10853 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -11196,52 +11192,6 @@
 fi
 fi
 
-wire_alignment="NONSTRICT_ALIGNMENT"
-default_alignment=""
-
-# Check whether --enable-sim-alignment was given.
-if test "${enable_sim_alignment+set}" = set; then :
-  enableval=$enable_sim_alignment; case "${enableval}" in
-  strict | STRICT)       sim_alignment="-DWITH_ALIGNMENT=STRICT_ALIGNMENT";;
-  nonstrict | NONSTRICT) sim_alignment="-DWITH_ALIGNMENT=NONSTRICT_ALIGNMENT";;
-  forced | FORCED)       sim_alignment="-DWITH_ALIGNMENT=FORCED_ALIGNMENT";;
-  yes) if test x"$wire_alignment" != x; then
-	 sim_alignment="-DWITH_ALIGNMENT=${wire_alignment}"
-       else
-         if test x"$default_alignment" != x; then
-           sim_alignment="-DWITH_ALIGNMENT=${default_alignment}"
-         else
-	   echo "No hard-wired alignment for target $target" 1>&6
-	   sim_alignment="-DWITH_ALIGNMENT=0"
-         fi
-       fi;;
-  no)  if test x"$default_alignment" != x; then
-	 sim_alignment="-DWITH_DEFAULT_ALIGNMENT=${default_alignment}"
-       else
-         if test x"$wire_alignment" != x; then
-	   sim_alignment="-DWITH_DEFAULT_ALIGNMENT=${wire_alignment}"
-         else
-           echo "No default alignment for target $target" 1>&6
-           sim_alignment="-DWITH_DEFAULT_ALIGNMENT=0"
-         fi
-       fi;;
-  *)   as_fn_error $? "\"Unknown value $enableval passed to --enable-sim-alignment\"" "$LINENO" 5; sim_alignment="";;
-esac
-if test x"$silent" != x"yes" && test x"$sim_alignment" != x""; then
-  echo "Setting alignment flags = $sim_alignment" 6>&1
-fi
-else
-  if test x"$default_alignment" != x; then
-  sim_alignment="-DWITH_DEFAULT_ALIGNMENT=${default_alignment}"
-else
-  if test x"$wire_alignment" != x; then
-    sim_alignment="-DWITH_ALIGNMENT=${wire_alignment}"
-  else
-    sim_alignment=
-  fi
-fi
-fi
-
 
 
 # Check whether --enable-werror was given.
diff --git a/sim/h8300/configure.ac b/sim/h8300/configure.ac
index 43250f8..7e2a166 100644
--- a/sim/h8300/configure.ac
+++ b/sim/h8300/configure.ac
@@ -5,6 +5,5 @@
 SIM_AC_COMMON
 
 SIM_AC_OPTION_ENDIAN(BIG)
-SIM_AC_OPTION_ALIGNMENT(NONSTRICT_ALIGNMENT)
 
 SIM_AC_OUTPUT
diff --git a/sim/iq2000/ChangeLog b/sim/iq2000/ChangeLog
index bd72159..a19e06d 100644
--- a/sim/iq2000/ChangeLog
+++ b/sim/iq2000/ChangeLog
@@ -1,5 +1,10 @@
 2021-06-12  Mike Frysinger  <vapier@gentoo.org>
 
+	* configure.ac: Delete call to SIM_AC_OPTION_ALIGNMENT.
+	* sim-if.c (sim_open):
+
+2021-06-12  Mike Frysinger  <vapier@gentoo.org>
+
 	* aclocal.m4, config.in, configure: Regenerate.
 
 2021-06-12  Mike Frysinger  <vapier@gentoo.org>
diff --git a/sim/iq2000/aclocal.m4 b/sim/iq2000/aclocal.m4
index 948b368..4fb0bd7 100644
--- a/sim/iq2000/aclocal.m4
+++ b/sim/iq2000/aclocal.m4
@@ -110,7 +110,6 @@
 m4_include([../../ltversion.m4])
 m4_include([../../lt~obsolete.m4])
 m4_include([../m4/sim_ac_common.m4])
-m4_include([../m4/sim_ac_option_alignment.m4])
 m4_include([../m4/sim_ac_option_cgen_maint.m4])
 m4_include([../m4/sim_ac_option_default_model.m4])
 m4_include([../m4/sim_ac_option_endian.m4])
diff --git a/sim/iq2000/configure b/sim/iq2000/configure
index 5a3b811..88eb6f6 100755
--- a/sim/iq2000/configure
+++ b/sim/iq2000/configure
@@ -634,6 +634,7 @@
 sim_reserved_bits
 sim_float
 sim_bitsize
+sim_alignment
 cgen_breaks
 cgen
 cgendir
@@ -756,8 +757,7 @@
 sim_hw_objs
 sim_hw_cflags
 sim_endian
-sim_default_model
-sim_alignment'
+sim_default_model'
 ac_subst_files=''
 ac_user_opts='
 enable_option_checking
@@ -772,7 +772,6 @@
 enable_maintainer_mode
 enable_sim_inline
 enable_sim_endian
-enable_sim_alignment
 enable_sim_scache
 enable_sim_default_model
 enable_werror
@@ -1420,9 +1419,6 @@
                           Specify which functions should be inlined
   --enable-sim-endian=endian
                           Specify target byte endian orientation
-  --enable-sim-alignment=align
-                          Specify strict, nonstrict or forced alignment of
-                          memory accesses
   --enable-sim-scache=size
                           Specify simulator execution cache size
   --enable-sim-default-model=model
@@ -10759,7 +10755,7 @@
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 10762 "configure"
+#line 10758 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -10865,7 +10861,7 @@
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 10868 "configure"
+#line 10864 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -11207,52 +11203,6 @@
 fi
 fi
 
-wire_alignment="STRICT_ALIGNMENT"
-default_alignment=""
-
-# Check whether --enable-sim-alignment was given.
-if test "${enable_sim_alignment+set}" = set; then :
-  enableval=$enable_sim_alignment; case "${enableval}" in
-  strict | STRICT)       sim_alignment="-DWITH_ALIGNMENT=STRICT_ALIGNMENT";;
-  nonstrict | NONSTRICT) sim_alignment="-DWITH_ALIGNMENT=NONSTRICT_ALIGNMENT";;
-  forced | FORCED)       sim_alignment="-DWITH_ALIGNMENT=FORCED_ALIGNMENT";;
-  yes) if test x"$wire_alignment" != x; then
-	 sim_alignment="-DWITH_ALIGNMENT=${wire_alignment}"
-       else
-         if test x"$default_alignment" != x; then
-           sim_alignment="-DWITH_ALIGNMENT=${default_alignment}"
-         else
-	   echo "No hard-wired alignment for target $target" 1>&6
-	   sim_alignment="-DWITH_ALIGNMENT=0"
-         fi
-       fi;;
-  no)  if test x"$default_alignment" != x; then
-	 sim_alignment="-DWITH_DEFAULT_ALIGNMENT=${default_alignment}"
-       else
-         if test x"$wire_alignment" != x; then
-	   sim_alignment="-DWITH_DEFAULT_ALIGNMENT=${wire_alignment}"
-         else
-           echo "No default alignment for target $target" 1>&6
-           sim_alignment="-DWITH_DEFAULT_ALIGNMENT=0"
-         fi
-       fi;;
-  *)   as_fn_error $? "\"Unknown value $enableval passed to --enable-sim-alignment\"" "$LINENO" 5; sim_alignment="";;
-esac
-if test x"$silent" != x"yes" && test x"$sim_alignment" != x""; then
-  echo "Setting alignment flags = $sim_alignment" 6>&1
-fi
-else
-  if test x"$default_alignment" != x; then
-  sim_alignment="-DWITH_DEFAULT_ALIGNMENT=${default_alignment}"
-else
-  if test x"$wire_alignment" != x; then
-    sim_alignment="-DWITH_ALIGNMENT=${wire_alignment}"
-  else
-    sim_alignment=
-  fi
-fi
-fi
-
 
 default_sim_scache="16384"
 # Check whether --enable-sim-scache was given.
diff --git a/sim/iq2000/configure.ac b/sim/iq2000/configure.ac
index 623fa19..c61c948 100644
--- a/sim/iq2000/configure.ac
+++ b/sim/iq2000/configure.ac
@@ -5,7 +5,6 @@
 SIM_AC_COMMON
 
 SIM_AC_OPTION_ENDIAN(BIG)
-SIM_AC_OPTION_ALIGNMENT(STRICT_ALIGNMENT)
 SIM_AC_OPTION_SCACHE(16384)
 SIM_AC_OPTION_DEFAULT_MODEL(iq2000)
 SIM_AC_OPTION_WARNINGS(no)
diff --git a/sim/iq2000/sim-if.c b/sim/iq2000/sim-if.c
index 679d516..82ac53f 100644
--- a/sim/iq2000/sim-if.c
+++ b/sim/iq2000/sim-if.c
@@ -60,6 +60,9 @@
   int i;
   SIM_DESC sd = sim_state_alloc (kind, callback);
 
+  /* Set default options before parsing user options.  */
+  current_alignment = STRICT_ALIGNMENT;
+
   /* The cpu data is kept in a separately allocated chunk of memory.  */
   if (sim_cpu_alloc_all (sd, 1) != SIM_RC_OK)
     {
diff --git a/sim/lm32/ChangeLog b/sim/lm32/ChangeLog
index b511c3f..3223d90 100644
--- a/sim/lm32/ChangeLog
+++ b/sim/lm32/ChangeLog
@@ -1,5 +1,10 @@
 2021-06-12  Mike Frysinger  <vapier@gentoo.org>
 
+	* configure.ac: Delete call to SIM_AC_OPTION_ALIGNMENT.
+	* sim-if.c (sim_open): Set current_alignment.
+
+2021-06-12  Mike Frysinger  <vapier@gentoo.org>
+
 	* aclocal.m4, config.in, configure: Regenerate.
 
 2021-06-12  Mike Frysinger  <vapier@gentoo.org>
diff --git a/sim/lm32/aclocal.m4 b/sim/lm32/aclocal.m4
index 948b368..4fb0bd7 100644
--- a/sim/lm32/aclocal.m4
+++ b/sim/lm32/aclocal.m4
@@ -110,7 +110,6 @@
 m4_include([../../ltversion.m4])
 m4_include([../../lt~obsolete.m4])
 m4_include([../m4/sim_ac_common.m4])
-m4_include([../m4/sim_ac_option_alignment.m4])
 m4_include([../m4/sim_ac_option_cgen_maint.m4])
 m4_include([../m4/sim_ac_option_default_model.m4])
 m4_include([../m4/sim_ac_option_endian.m4])
diff --git a/sim/lm32/configure b/sim/lm32/configure
index 9b732c9..679488d 100755
--- a/sim/lm32/configure
+++ b/sim/lm32/configure
@@ -634,6 +634,7 @@
 sim_reserved_bits
 sim_float
 sim_bitsize
+sim_alignment
 cgen_breaks
 cgen
 cgendir
@@ -756,8 +757,7 @@
 sim_hw_objs
 sim_hw_cflags
 sim_endian
-sim_default_model
-sim_alignment'
+sim_default_model'
 ac_subst_files=''
 ac_user_opts='
 enable_option_checking
@@ -772,7 +772,6 @@
 enable_maintainer_mode
 enable_sim_inline
 enable_sim_endian
-enable_sim_alignment
 enable_sim_scache
 enable_sim_default_model
 enable_werror
@@ -1420,9 +1419,6 @@
                           Specify which functions should be inlined
   --enable-sim-endian=endian
                           Specify target byte endian orientation
-  --enable-sim-alignment=align
-                          Specify strict, nonstrict or forced alignment of
-                          memory accesses
   --enable-sim-scache=size
                           Specify simulator execution cache size
   --enable-sim-default-model=model
@@ -10759,7 +10755,7 @@
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 10762 "configure"
+#line 10758 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -10865,7 +10861,7 @@
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 10868 "configure"
+#line 10864 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -11207,52 +11203,6 @@
 fi
 fi
 
-wire_alignment="STRICT_ALIGNMENT"
-default_alignment="STRICT_ALIGNMENT"
-
-# Check whether --enable-sim-alignment was given.
-if test "${enable_sim_alignment+set}" = set; then :
-  enableval=$enable_sim_alignment; case "${enableval}" in
-  strict | STRICT)       sim_alignment="-DWITH_ALIGNMENT=STRICT_ALIGNMENT";;
-  nonstrict | NONSTRICT) sim_alignment="-DWITH_ALIGNMENT=NONSTRICT_ALIGNMENT";;
-  forced | FORCED)       sim_alignment="-DWITH_ALIGNMENT=FORCED_ALIGNMENT";;
-  yes) if test x"$wire_alignment" != x; then
-	 sim_alignment="-DWITH_ALIGNMENT=${wire_alignment}"
-       else
-         if test x"$default_alignment" != x; then
-           sim_alignment="-DWITH_ALIGNMENT=${default_alignment}"
-         else
-	   echo "No hard-wired alignment for target $target" 1>&6
-	   sim_alignment="-DWITH_ALIGNMENT=0"
-         fi
-       fi;;
-  no)  if test x"$default_alignment" != x; then
-	 sim_alignment="-DWITH_DEFAULT_ALIGNMENT=${default_alignment}"
-       else
-         if test x"$wire_alignment" != x; then
-	   sim_alignment="-DWITH_DEFAULT_ALIGNMENT=${wire_alignment}"
-         else
-           echo "No default alignment for target $target" 1>&6
-           sim_alignment="-DWITH_DEFAULT_ALIGNMENT=0"
-         fi
-       fi;;
-  *)   as_fn_error $? "\"Unknown value $enableval passed to --enable-sim-alignment\"" "$LINENO" 5; sim_alignment="";;
-esac
-if test x"$silent" != x"yes" && test x"$sim_alignment" != x""; then
-  echo "Setting alignment flags = $sim_alignment" 6>&1
-fi
-else
-  if test x"$default_alignment" != x; then
-  sim_alignment="-DWITH_DEFAULT_ALIGNMENT=${default_alignment}"
-else
-  if test x"$wire_alignment" != x; then
-    sim_alignment="-DWITH_ALIGNMENT=${wire_alignment}"
-  else
-    sim_alignment=
-  fi
-fi
-fi
-
 
 default_sim_scache="16384"
 # Check whether --enable-sim-scache was given.
diff --git a/sim/lm32/configure.ac b/sim/lm32/configure.ac
index 6354887..4a20374 100644
--- a/sim/lm32/configure.ac
+++ b/sim/lm32/configure.ac
@@ -5,7 +5,6 @@
 SIM_AC_COMMON
 
 SIM_AC_OPTION_ENDIAN(BIG)
-SIM_AC_OPTION_ALIGNMENT(STRICT_ALIGNMENT,STRICT_ALIGNMENT)
 SIM_AC_OPTION_SCACHE(16384)
 SIM_AC_OPTION_DEFAULT_MODEL(lm32)
 SIM_AC_OPTION_WARNINGS(no)
diff --git a/sim/lm32/sim-if.c b/sim/lm32/sim-if.c
index 3d4ee35..fba2d63 100644
--- a/sim/lm32/sim-if.c
+++ b/sim/lm32/sim-if.c
@@ -91,6 +91,9 @@
   int i;
   unsigned long base, limit;
 
+  /* Set default options before parsing user options.  */
+  current_alignment = STRICT_ALIGNMENT;
+
   /* The cpu data is kept in a separately allocated chunk of memory.  */
   if (sim_cpu_alloc_all (sd, 1) != SIM_RC_OK)
     {
diff --git a/sim/m32r/ChangeLog b/sim/m32r/ChangeLog
index 4d0e947..69795b3 100644
--- a/sim/m32r/ChangeLog
+++ b/sim/m32r/ChangeLog
@@ -1,5 +1,10 @@
 2021-06-12  Mike Frysinger  <vapier@gentoo.org>
 
+	* configure.ac: Delete call to SIM_AC_OPTION_ALIGNMENT.
+	* sim-if.c (sim_open): Set current_alignment.
+
+2021-06-12  Mike Frysinger  <vapier@gentoo.org>
+
 	* aclocal.m4, config.in, configure: Regenerate.
 
 2021-06-12  Mike Frysinger  <vapier@gentoo.org>
diff --git a/sim/m32r/aclocal.m4 b/sim/m32r/aclocal.m4
index 948b368..4fb0bd7 100644
--- a/sim/m32r/aclocal.m4
+++ b/sim/m32r/aclocal.m4
@@ -110,7 +110,6 @@
 m4_include([../../ltversion.m4])
 m4_include([../../lt~obsolete.m4])
 m4_include([../m4/sim_ac_common.m4])
-m4_include([../m4/sim_ac_option_alignment.m4])
 m4_include([../m4/sim_ac_option_cgen_maint.m4])
 m4_include([../m4/sim_ac_option_default_model.m4])
 m4_include([../m4/sim_ac_option_endian.m4])
diff --git a/sim/m32r/configure b/sim/m32r/configure
index 3dc94f6..d045b29 100755
--- a/sim/m32r/configure
+++ b/sim/m32r/configure
@@ -634,6 +634,7 @@
 sim_reserved_bits
 sim_float
 sim_bitsize
+sim_alignment
 cgen_breaks
 sim_extra_cflags
 traps_obj
@@ -758,8 +759,7 @@
 sim_hw_objs
 sim_hw_cflags
 sim_endian
-sim_default_model
-sim_alignment'
+sim_default_model'
 ac_subst_files=''
 ac_user_opts='
 enable_option_checking
@@ -774,7 +774,6 @@
 enable_maintainer_mode
 enable_sim_inline
 enable_sim_endian
-enable_sim_alignment
 enable_sim_scache
 enable_sim_default_model
 enable_werror
@@ -1422,9 +1421,6 @@
                           Specify which functions should be inlined
   --enable-sim-endian=endian
                           Specify target byte endian orientation
-  --enable-sim-alignment=align
-                          Specify strict, nonstrict or forced alignment of
-                          memory accesses
   --enable-sim-scache=size
                           Specify simulator execution cache size
   --enable-sim-default-model=model
@@ -10761,7 +10757,7 @@
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 10764 "configure"
+#line 10760 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -10867,7 +10863,7 @@
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 10870 "configure"
+#line 10866 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -11209,52 +11205,6 @@
 fi
 fi
 
-wire_alignment="STRICT_ALIGNMENT"
-default_alignment=""
-
-# Check whether --enable-sim-alignment was given.
-if test "${enable_sim_alignment+set}" = set; then :
-  enableval=$enable_sim_alignment; case "${enableval}" in
-  strict | STRICT)       sim_alignment="-DWITH_ALIGNMENT=STRICT_ALIGNMENT";;
-  nonstrict | NONSTRICT) sim_alignment="-DWITH_ALIGNMENT=NONSTRICT_ALIGNMENT";;
-  forced | FORCED)       sim_alignment="-DWITH_ALIGNMENT=FORCED_ALIGNMENT";;
-  yes) if test x"$wire_alignment" != x; then
-	 sim_alignment="-DWITH_ALIGNMENT=${wire_alignment}"
-       else
-         if test x"$default_alignment" != x; then
-           sim_alignment="-DWITH_ALIGNMENT=${default_alignment}"
-         else
-	   echo "No hard-wired alignment for target $target" 1>&6
-	   sim_alignment="-DWITH_ALIGNMENT=0"
-         fi
-       fi;;
-  no)  if test x"$default_alignment" != x; then
-	 sim_alignment="-DWITH_DEFAULT_ALIGNMENT=${default_alignment}"
-       else
-         if test x"$wire_alignment" != x; then
-	   sim_alignment="-DWITH_DEFAULT_ALIGNMENT=${wire_alignment}"
-         else
-           echo "No default alignment for target $target" 1>&6
-           sim_alignment="-DWITH_DEFAULT_ALIGNMENT=0"
-         fi
-       fi;;
-  *)   as_fn_error $? "\"Unknown value $enableval passed to --enable-sim-alignment\"" "$LINENO" 5; sim_alignment="";;
-esac
-if test x"$silent" != x"yes" && test x"$sim_alignment" != x""; then
-  echo "Setting alignment flags = $sim_alignment" 6>&1
-fi
-else
-  if test x"$default_alignment" != x; then
-  sim_alignment="-DWITH_DEFAULT_ALIGNMENT=${default_alignment}"
-else
-  if test x"$wire_alignment" != x; then
-    sim_alignment="-DWITH_ALIGNMENT=${wire_alignment}"
-  else
-    sim_alignment=
-  fi
-fi
-fi
-
 
 default_sim_scache="16384"
 # Check whether --enable-sim-scache was given.
diff --git a/sim/m32r/configure.ac b/sim/m32r/configure.ac
index 8ab55bc..a5cea83 100644
--- a/sim/m32r/configure.ac
+++ b/sim/m32r/configure.ac
@@ -5,7 +5,6 @@
 SIM_AC_COMMON
 
 SIM_AC_OPTION_ENDIAN(BIG)
-SIM_AC_OPTION_ALIGNMENT(STRICT_ALIGNMENT)
 SIM_AC_OPTION_SCACHE(16384)
 SIM_AC_OPTION_DEFAULT_MODEL(m32r/d)
 SIM_AC_OPTION_WARNINGS(no)
diff --git a/sim/m32r/sim-if.c b/sim/m32r/sim-if.c
index e08a5d4..bea6505 100644
--- a/sim/m32r/sim-if.c
+++ b/sim/m32r/sim-if.c
@@ -54,6 +54,9 @@
   char c;
   int i;
 
+  /* Set default options before parsing user options.  */
+  current_alignment = STRICT_ALIGNMENT;
+
   /* The cpu data is kept in a separately allocated chunk of memory.  */
   if (sim_cpu_alloc_all (sd, 1) != SIM_RC_OK)
     {
diff --git a/sim/m4/sim_ac_option_alignment.m4 b/sim/m4/sim_ac_option_alignment.m4
index dcfa479..409fbfc 100644
--- a/sim/m4/sim_ac_option_alignment.m4
+++ b/sim/m4/sim_ac_option_alignment.m4
@@ -15,52 +15,19 @@
 dnl
 dnl Specify the alignment restrictions of the target architecture.
 dnl Without this option all possible alignment restrictions are accommodated.
-dnl arg[1] is hardwired target alignment
-dnl arg[2] is default target alignment
 AC_DEFUN([SIM_AC_OPTION_ALIGNMENT],
-wire_alignment="[$1]"
-default_alignment="[$2]"
-[
+[dnl
+AC_MSG_CHECKING([whether to force sim alignment])
+sim_alignment=
 AC_ARG_ENABLE(sim-alignment,
 [AS_HELP_STRING([--enable-sim-alignment=align],
 		[Specify strict, nonstrict or forced alignment of memory accesses])],
 [case "${enableval}" in
-  strict | STRICT)       sim_alignment="-DWITH_ALIGNMENT=STRICT_ALIGNMENT";;
-  nonstrict | NONSTRICT) sim_alignment="-DWITH_ALIGNMENT=NONSTRICT_ALIGNMENT";;
-  forced | FORCED)       sim_alignment="-DWITH_ALIGNMENT=FORCED_ALIGNMENT";;
-  yes) if test x"$wire_alignment" != x; then
-	 sim_alignment="-DWITH_ALIGNMENT=${wire_alignment}"
-       else
-         if test x"$default_alignment" != x; then
-           sim_alignment="-DWITH_ALIGNMENT=${default_alignment}"
-         else
-	   echo "No hard-wired alignment for target $target" 1>&6
-	   sim_alignment="-DWITH_ALIGNMENT=0"
-         fi
-       fi;;
-  no)  if test x"$default_alignment" != x; then
-	 sim_alignment="-DWITH_DEFAULT_ALIGNMENT=${default_alignment}"
-       else
-         if test x"$wire_alignment" != x; then
-	   sim_alignment="-DWITH_DEFAULT_ALIGNMENT=${wire_alignment}"
-         else
-           echo "No default alignment for target $target" 1>&6
-           sim_alignment="-DWITH_DEFAULT_ALIGNMENT=0"
-         fi
-       fi;;
-  *)   AC_MSG_ERROR("Unknown value $enableval passed to --enable-sim-alignment"); sim_alignment="";;
-esac
-if test x"$silent" != x"yes" && test x"$sim_alignment" != x""; then
-  echo "Setting alignment flags = $sim_alignment" 6>&1
-fi],
-[if test x"$default_alignment" != x; then
-  sim_alignment="-DWITH_DEFAULT_ALIGNMENT=${default_alignment}"
-else
-  if test x"$wire_alignment" != x; then
-    sim_alignment="-DWITH_ALIGNMENT=${wire_alignment}"
-  else
-    sim_alignment=
-  fi
-fi])dnl
+  yes | strict | STRICT)      sim_alignment="STRICT_ALIGNMENT";;
+  no | nonstrict | NONSTRICT) sim_alignment="NONSTRICT_ALIGNMENT";;
+  forced | FORCED)            sim_alignment="FORCED_ALIGNMENT";;
+  *) AC_MSG_ERROR("Unknown value $enableval passed to --enable-sim-alignment");;
+esac])dnl
+AC_DEFINE_UNQUOTED([WITH_ALIGNMENT], [${sim_alignment:-0}], [Sim alignment settings])
+AC_MSG_RESULT([${sim_alignment:-no}])
 ])dnl
-AC_SUBST(sim_alignment)
diff --git a/sim/m68hc11/ChangeLog b/sim/m68hc11/ChangeLog
index 9aba1c0..65c1d21 100644
--- a/sim/m68hc11/ChangeLog
+++ b/sim/m68hc11/ChangeLog
@@ -1,5 +1,9 @@
 2021-06-12  Mike Frysinger  <vapier@gentoo.org>
 
+	* configure.ac: Delete call to SIM_AC_OPTION_ALIGNMENT.
+
+2021-06-12  Mike Frysinger  <vapier@gentoo.org>
+
 	* aclocal.m4, config.in, configure: Regenerate.
 
 2021-06-12  Mike Frysinger  <vapier@gentoo.org>
diff --git a/sim/m68hc11/aclocal.m4 b/sim/m68hc11/aclocal.m4
index 6591f2c..88b04d1 100644
--- a/sim/m68hc11/aclocal.m4
+++ b/sim/m68hc11/aclocal.m4
@@ -110,7 +110,6 @@
 m4_include([../../ltversion.m4])
 m4_include([../../lt~obsolete.m4])
 m4_include([../m4/sim_ac_common.m4])
-m4_include([../m4/sim_ac_option_alignment.m4])
 m4_include([../m4/sim_ac_option_endian.m4])
 m4_include([../m4/sim_ac_option_hardware.m4])
 m4_include([../m4/sim_ac_option_inline.m4])
diff --git a/sim/m68hc11/configure b/sim/m68hc11/configure
index 999dc48..0236296 100755
--- a/sim/m68hc11/configure
+++ b/sim/m68hc11/configure
@@ -636,6 +636,7 @@
 sim_scache
 sim_float
 sim_bitsize
+sim_alignment
 cgen_breaks
 MAINT
 MAINTAINER_MODE_FALSE
@@ -753,8 +754,7 @@
 sim_hw
 sim_hw_objs
 sim_hw_cflags
-sim_endian
-sim_alignment'
+sim_endian'
 ac_subst_files=''
 ac_user_opts='
 enable_option_checking
@@ -769,7 +769,6 @@
 enable_maintainer_mode
 enable_sim_inline
 enable_sim_endian
-enable_sim_alignment
 enable_sim_hardware
 enable_werror
 enable_build_warnings
@@ -1414,9 +1413,6 @@
                           Specify which functions should be inlined
   --enable-sim-endian=endian
                           Specify target byte endian orientation
-  --enable-sim-alignment=align
-                          Specify strict, nonstrict or forced alignment of
-                          memory accesses
   --enable-sim-hardware=LIST
                           Specify the hardware to be included in the build.
   --enable-werror         treat compile warnings as errors
@@ -10748,7 +10744,7 @@
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 10751 "configure"
+#line 10747 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -10854,7 +10850,7 @@
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 10857 "configure"
+#line 10853 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -11196,52 +11192,6 @@
 fi
 fi
 
-wire_alignment="NONSTRICT_ALIGNMENT"
-default_alignment=""
-
-# Check whether --enable-sim-alignment was given.
-if test "${enable_sim_alignment+set}" = set; then :
-  enableval=$enable_sim_alignment; case "${enableval}" in
-  strict | STRICT)       sim_alignment="-DWITH_ALIGNMENT=STRICT_ALIGNMENT";;
-  nonstrict | NONSTRICT) sim_alignment="-DWITH_ALIGNMENT=NONSTRICT_ALIGNMENT";;
-  forced | FORCED)       sim_alignment="-DWITH_ALIGNMENT=FORCED_ALIGNMENT";;
-  yes) if test x"$wire_alignment" != x; then
-	 sim_alignment="-DWITH_ALIGNMENT=${wire_alignment}"
-       else
-         if test x"$default_alignment" != x; then
-           sim_alignment="-DWITH_ALIGNMENT=${default_alignment}"
-         else
-	   echo "No hard-wired alignment for target $target" 1>&6
-	   sim_alignment="-DWITH_ALIGNMENT=0"
-         fi
-       fi;;
-  no)  if test x"$default_alignment" != x; then
-	 sim_alignment="-DWITH_DEFAULT_ALIGNMENT=${default_alignment}"
-       else
-         if test x"$wire_alignment" != x; then
-	   sim_alignment="-DWITH_DEFAULT_ALIGNMENT=${wire_alignment}"
-         else
-           echo "No default alignment for target $target" 1>&6
-           sim_alignment="-DWITH_DEFAULT_ALIGNMENT=0"
-         fi
-       fi;;
-  *)   as_fn_error $? "\"Unknown value $enableval passed to --enable-sim-alignment\"" "$LINENO" 5; sim_alignment="";;
-esac
-if test x"$silent" != x"yes" && test x"$sim_alignment" != x""; then
-  echo "Setting alignment flags = $sim_alignment" 6>&1
-fi
-else
-  if test x"$default_alignment" != x; then
-  sim_alignment="-DWITH_DEFAULT_ALIGNMENT=${default_alignment}"
-else
-  if test x"$wire_alignment" != x; then
-    sim_alignment="-DWITH_ALIGNMENT=${wire_alignment}"
-  else
-    sim_alignment=
-  fi
-fi
-fi
-
 
 hardware="cfi core pal glue \
   m68hc11 m68hc11sio m68hc11eepr m68hc11tim m68hc11spi nvram"
diff --git a/sim/m68hc11/configure.ac b/sim/m68hc11/configure.ac
index 57e13e2..b268504 100644
--- a/sim/m68hc11/configure.ac
+++ b/sim/m68hc11/configure.ac
@@ -6,7 +6,6 @@
 
 dnl Options available in this module
 SIM_AC_OPTION_ENDIAN(BIG)
-SIM_AC_OPTION_ALIGNMENT(NONSTRICT_ALIGNMENT)
 SIM_AC_OPTION_HARDWARE(\
   m68hc11 m68hc11sio m68hc11eepr m68hc11tim m68hc11spi nvram)
 
diff --git a/sim/mcore/ChangeLog b/sim/mcore/ChangeLog
index 4240923..8864c7a 100644
--- a/sim/mcore/ChangeLog
+++ b/sim/mcore/ChangeLog
@@ -1,5 +1,9 @@
 2021-06-12  Mike Frysinger  <vapier@gentoo.org>
 
+	* configure.ac: Delete call to SIM_AC_OPTION_ALIGNMENT.
+
+2021-06-12  Mike Frysinger  <vapier@gentoo.org>
+
 	* aclocal.m4, config.in, configure: Regenerate.
 
 2021-06-12  Mike Frysinger  <vapier@gentoo.org>
diff --git a/sim/mcore/aclocal.m4 b/sim/mcore/aclocal.m4
index 6591f2c..88b04d1 100644
--- a/sim/mcore/aclocal.m4
+++ b/sim/mcore/aclocal.m4
@@ -110,7 +110,6 @@
 m4_include([../../ltversion.m4])
 m4_include([../../lt~obsolete.m4])
 m4_include([../m4/sim_ac_common.m4])
-m4_include([../m4/sim_ac_option_alignment.m4])
 m4_include([../m4/sim_ac_option_endian.m4])
 m4_include([../m4/sim_ac_option_hardware.m4])
 m4_include([../m4/sim_ac_option_inline.m4])
diff --git a/sim/mcore/configure b/sim/mcore/configure
index 4e99517..017c6c0 100755
--- a/sim/mcore/configure
+++ b/sim/mcore/configure
@@ -636,6 +636,7 @@
 sim_scache
 sim_float
 sim_bitsize
+sim_alignment
 cgen_breaks
 MAINT
 MAINTAINER_MODE_FALSE
@@ -753,8 +754,7 @@
 sim_hw
 sim_hw_objs
 sim_hw_cflags
-sim_endian
-sim_alignment'
+sim_endian'
 ac_subst_files=''
 ac_user_opts='
 enable_option_checking
@@ -769,7 +769,6 @@
 enable_maintainer_mode
 enable_sim_inline
 enable_sim_endian
-enable_sim_alignment
 enable_werror
 enable_build_warnings
 enable_sim_build_warnings
@@ -1414,9 +1413,6 @@
                           Specify which functions should be inlined
   --enable-sim-endian=endian
                           Specify target byte endian orientation
-  --enable-sim-alignment=align
-                          Specify strict, nonstrict or forced alignment of
-                          memory accesses
   --enable-werror         treat compile warnings as errors
   --enable-build-warnings enable build-time compiler warnings if gcc is used
   --enable-sim-build-warnings
@@ -10748,7 +10744,7 @@
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 10751 "configure"
+#line 10747 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -10854,7 +10850,7 @@
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 10857 "configure"
+#line 10853 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -11196,52 +11192,6 @@
 fi
 fi
 
-wire_alignment="STRICT_ALIGNMENT"
-default_alignment="STRICT_ALIGNMENT"
-
-# Check whether --enable-sim-alignment was given.
-if test "${enable_sim_alignment+set}" = set; then :
-  enableval=$enable_sim_alignment; case "${enableval}" in
-  strict | STRICT)       sim_alignment="-DWITH_ALIGNMENT=STRICT_ALIGNMENT";;
-  nonstrict | NONSTRICT) sim_alignment="-DWITH_ALIGNMENT=NONSTRICT_ALIGNMENT";;
-  forced | FORCED)       sim_alignment="-DWITH_ALIGNMENT=FORCED_ALIGNMENT";;
-  yes) if test x"$wire_alignment" != x; then
-	 sim_alignment="-DWITH_ALIGNMENT=${wire_alignment}"
-       else
-         if test x"$default_alignment" != x; then
-           sim_alignment="-DWITH_ALIGNMENT=${default_alignment}"
-         else
-	   echo "No hard-wired alignment for target $target" 1>&6
-	   sim_alignment="-DWITH_ALIGNMENT=0"
-         fi
-       fi;;
-  no)  if test x"$default_alignment" != x; then
-	 sim_alignment="-DWITH_DEFAULT_ALIGNMENT=${default_alignment}"
-       else
-         if test x"$wire_alignment" != x; then
-	   sim_alignment="-DWITH_DEFAULT_ALIGNMENT=${wire_alignment}"
-         else
-           echo "No default alignment for target $target" 1>&6
-           sim_alignment="-DWITH_DEFAULT_ALIGNMENT=0"
-         fi
-       fi;;
-  *)   as_fn_error $? "\"Unknown value $enableval passed to --enable-sim-alignment\"" "$LINENO" 5; sim_alignment="";;
-esac
-if test x"$silent" != x"yes" && test x"$sim_alignment" != x""; then
-  echo "Setting alignment flags = $sim_alignment" 6>&1
-fi
-else
-  if test x"$default_alignment" != x; then
-  sim_alignment="-DWITH_DEFAULT_ALIGNMENT=${default_alignment}"
-else
-  if test x"$wire_alignment" != x; then
-    sim_alignment="-DWITH_ALIGNMENT=${wire_alignment}"
-  else
-    sim_alignment=
-  fi
-fi
-fi
-
 
 
 # Check whether --enable-werror was given.
diff --git a/sim/mcore/configure.ac b/sim/mcore/configure.ac
index 8114520..ec8a87e 100644
--- a/sim/mcore/configure.ac
+++ b/sim/mcore/configure.ac
@@ -5,6 +5,5 @@
 SIM_AC_COMMON
 
 SIM_AC_OPTION_ENDIAN
-SIM_AC_OPTION_ALIGNMENT(STRICT_ALIGNMENT,STRICT_ALIGNMENT)
 
 SIM_AC_OUTPUT
diff --git a/sim/microblaze/ChangeLog b/sim/microblaze/ChangeLog
index f3bf6ef..9ec4802 100644
--- a/sim/microblaze/ChangeLog
+++ b/sim/microblaze/ChangeLog
@@ -1,5 +1,9 @@
 2021-06-12  Mike Frysinger  <vapier@gentoo.org>
 
+	* configure.ac: Delete call to SIM_AC_OPTION_ALIGNMENT.
+
+2021-06-12  Mike Frysinger  <vapier@gentoo.org>
+
 	* aclocal.m4, config.in, configure: Regenerate.
 
 2021-06-12  Mike Frysinger  <vapier@gentoo.org>
diff --git a/sim/microblaze/aclocal.m4 b/sim/microblaze/aclocal.m4
index 6591f2c..88b04d1 100644
--- a/sim/microblaze/aclocal.m4
+++ b/sim/microblaze/aclocal.m4
@@ -110,7 +110,6 @@
 m4_include([../../ltversion.m4])
 m4_include([../../lt~obsolete.m4])
 m4_include([../m4/sim_ac_common.m4])
-m4_include([../m4/sim_ac_option_alignment.m4])
 m4_include([../m4/sim_ac_option_endian.m4])
 m4_include([../m4/sim_ac_option_hardware.m4])
 m4_include([../m4/sim_ac_option_inline.m4])
diff --git a/sim/microblaze/configure b/sim/microblaze/configure
index f85ae47..5408aad 100755
--- a/sim/microblaze/configure
+++ b/sim/microblaze/configure
@@ -636,6 +636,7 @@
 sim_scache
 sim_float
 sim_bitsize
+sim_alignment
 cgen_breaks
 MAINT
 MAINTAINER_MODE_FALSE
@@ -753,8 +754,7 @@
 sim_hw
 sim_hw_objs
 sim_hw_cflags
-sim_endian
-sim_alignment'
+sim_endian'
 ac_subst_files=''
 ac_user_opts='
 enable_option_checking
@@ -769,7 +769,6 @@
 enable_maintainer_mode
 enable_sim_inline
 enable_sim_endian
-enable_sim_alignment
 enable_werror
 enable_build_warnings
 enable_sim_build_warnings
@@ -1414,9 +1413,6 @@
                           Specify which functions should be inlined
   --enable-sim-endian=endian
                           Specify target byte endian orientation
-  --enable-sim-alignment=align
-                          Specify strict, nonstrict or forced alignment of
-                          memory accesses
   --enable-werror         treat compile warnings as errors
   --enable-build-warnings enable build-time compiler warnings if gcc is used
   --enable-sim-build-warnings
@@ -10748,7 +10744,7 @@
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 10751 "configure"
+#line 10747 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -10854,7 +10850,7 @@
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 10857 "configure"
+#line 10853 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -11196,52 +11192,6 @@
 fi
 fi
 
-wire_alignment="STRICT_ALIGNMENT"
-default_alignment="STRICT_ALIGNMENT"
-
-# Check whether --enable-sim-alignment was given.
-if test "${enable_sim_alignment+set}" = set; then :
-  enableval=$enable_sim_alignment; case "${enableval}" in
-  strict | STRICT)       sim_alignment="-DWITH_ALIGNMENT=STRICT_ALIGNMENT";;
-  nonstrict | NONSTRICT) sim_alignment="-DWITH_ALIGNMENT=NONSTRICT_ALIGNMENT";;
-  forced | FORCED)       sim_alignment="-DWITH_ALIGNMENT=FORCED_ALIGNMENT";;
-  yes) if test x"$wire_alignment" != x; then
-	 sim_alignment="-DWITH_ALIGNMENT=${wire_alignment}"
-       else
-         if test x"$default_alignment" != x; then
-           sim_alignment="-DWITH_ALIGNMENT=${default_alignment}"
-         else
-	   echo "No hard-wired alignment for target $target" 1>&6
-	   sim_alignment="-DWITH_ALIGNMENT=0"
-         fi
-       fi;;
-  no)  if test x"$default_alignment" != x; then
-	 sim_alignment="-DWITH_DEFAULT_ALIGNMENT=${default_alignment}"
-       else
-         if test x"$wire_alignment" != x; then
-	   sim_alignment="-DWITH_DEFAULT_ALIGNMENT=${wire_alignment}"
-         else
-           echo "No default alignment for target $target" 1>&6
-           sim_alignment="-DWITH_DEFAULT_ALIGNMENT=0"
-         fi
-       fi;;
-  *)   as_fn_error $? "\"Unknown value $enableval passed to --enable-sim-alignment\"" "$LINENO" 5; sim_alignment="";;
-esac
-if test x"$silent" != x"yes" && test x"$sim_alignment" != x""; then
-  echo "Setting alignment flags = $sim_alignment" 6>&1
-fi
-else
-  if test x"$default_alignment" != x; then
-  sim_alignment="-DWITH_DEFAULT_ALIGNMENT=${default_alignment}"
-else
-  if test x"$wire_alignment" != x; then
-    sim_alignment="-DWITH_ALIGNMENT=${wire_alignment}"
-  else
-    sim_alignment=
-  fi
-fi
-fi
-
 
 # Check whether --enable-werror was given.
 if test "${enable_werror+set}" = set; then :
diff --git a/sim/microblaze/configure.ac b/sim/microblaze/configure.ac
index 88fac82..7638b6d 100644
--- a/sim/microblaze/configure.ac
+++ b/sim/microblaze/configure.ac
@@ -5,7 +5,6 @@
 SIM_AC_COMMON
 
 SIM_AC_OPTION_ENDIAN
-SIM_AC_OPTION_ALIGNMENT(STRICT_ALIGNMENT,STRICT_ALIGNMENT)
 SIM_AC_OPTION_WARNINGS
 
 SIM_AC_OUTPUT
diff --git a/sim/mips/ChangeLog b/sim/mips/ChangeLog
index 7883bfa..60c5e7a 100644
--- a/sim/mips/ChangeLog
+++ b/sim/mips/ChangeLog
@@ -1,5 +1,9 @@
 2021-06-12  Mike Frysinger  <vapier@gentoo.org>
 
+	* configure.ac: Delete call to SIM_AC_OPTION_ALIGNMENT.
+
+2021-06-12  Mike Frysinger  <vapier@gentoo.org>
+
 	* aclocal.m4, config.in, configure: Regenerate.
 
 2021-06-12  Mike Frysinger  <vapier@gentoo.org>
diff --git a/sim/mips/aclocal.m4 b/sim/mips/aclocal.m4
index 203d14c..b61eb2e 100644
--- a/sim/mips/aclocal.m4
+++ b/sim/mips/aclocal.m4
@@ -110,7 +110,6 @@
 m4_include([../../ltversion.m4])
 m4_include([../../lt~obsolete.m4])
 m4_include([../m4/sim_ac_common.m4])
-m4_include([../m4/sim_ac_option_alignment.m4])
 m4_include([../m4/sim_ac_option_bitsize.m4])
 m4_include([../m4/sim_ac_option_endian.m4])
 m4_include([../m4/sim_ac_option_float.m4])
diff --git a/sim/mips/configure b/sim/mips/configure
index 42ee0f8..55ce9af 100755
--- a/sim/mips/configure
+++ b/sim/mips/configure
@@ -633,6 +633,7 @@
 LIBOBJS
 sim_default_model
 sim_scache
+sim_alignment
 cgen_breaks
 XMKMF
 sim_multi_obj
@@ -764,8 +765,7 @@
 sim_hw_cflags
 sim_float
 sim_endian
-sim_bitsize
-sim_alignment'
+sim_bitsize'
 ac_subst_files=''
 ac_user_opts='
 enable_option_checking
@@ -779,7 +779,6 @@
 enable_libtool_lock
 enable_maintainer_mode
 enable_sim_inline
-enable_sim_alignment
 enable_werror
 enable_build_warnings
 enable_sim_build_warnings
@@ -1432,9 +1431,6 @@
                           sometimes confusing) to the casual installer
   --enable-sim-inline=inlines
                           Specify which functions should be inlined
-  --enable-sim-alignment=align
-                          Specify strict, nonstrict or forced alignment of
-                          memory accesses
   --enable-werror         treat compile warnings as errors
   --enable-build-warnings enable build-time compiler warnings if gcc is used
   --enable-sim-build-warnings
@@ -10776,7 +10772,7 @@
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 10779 "configure"
+#line 10775 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -10882,7 +10878,7 @@
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 10885 "configure"
+#line 10881 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -11179,52 +11175,6 @@
 
 
 
-wire_alignment="NONSTRICT_ALIGNMENT"
-default_alignment=""
-
-# Check whether --enable-sim-alignment was given.
-if test "${enable_sim_alignment+set}" = set; then :
-  enableval=$enable_sim_alignment; case "${enableval}" in
-  strict | STRICT)       sim_alignment="-DWITH_ALIGNMENT=STRICT_ALIGNMENT";;
-  nonstrict | NONSTRICT) sim_alignment="-DWITH_ALIGNMENT=NONSTRICT_ALIGNMENT";;
-  forced | FORCED)       sim_alignment="-DWITH_ALIGNMENT=FORCED_ALIGNMENT";;
-  yes) if test x"$wire_alignment" != x; then
-	 sim_alignment="-DWITH_ALIGNMENT=${wire_alignment}"
-       else
-         if test x"$default_alignment" != x; then
-           sim_alignment="-DWITH_ALIGNMENT=${default_alignment}"
-         else
-	   echo "No hard-wired alignment for target $target" 1>&6
-	   sim_alignment="-DWITH_ALIGNMENT=0"
-         fi
-       fi;;
-  no)  if test x"$default_alignment" != x; then
-	 sim_alignment="-DWITH_DEFAULT_ALIGNMENT=${default_alignment}"
-       else
-         if test x"$wire_alignment" != x; then
-	   sim_alignment="-DWITH_DEFAULT_ALIGNMENT=${wire_alignment}"
-         else
-           echo "No default alignment for target $target" 1>&6
-           sim_alignment="-DWITH_DEFAULT_ALIGNMENT=0"
-         fi
-       fi;;
-  *)   as_fn_error $? "\"Unknown value $enableval passed to --enable-sim-alignment\"" "$LINENO" 5; sim_alignment="";;
-esac
-if test x"$silent" != x"yes" && test x"$sim_alignment" != x""; then
-  echo "Setting alignment flags = $sim_alignment" 6>&1
-fi
-else
-  if test x"$default_alignment" != x; then
-  sim_alignment="-DWITH_DEFAULT_ALIGNMENT=${default_alignment}"
-else
-  if test x"$wire_alignment" != x; then
-    sim_alignment="-DWITH_ALIGNMENT=${wire_alignment}"
-  else
-    sim_alignment=
-  fi
-fi
-fi
-
 
 # Check whether --enable-werror was given.
 if test "${enable_werror+set}" = set; then :
diff --git a/sim/mips/configure.ac b/sim/mips/configure.ac
index f4e6737..f0b26b4 100644
--- a/sim/mips/configure.ac
+++ b/sim/mips/configure.ac
@@ -5,7 +5,6 @@
 SIM_AC_COMMON
 
 dnl Options available in this module
-SIM_AC_OPTION_ALIGNMENT(NONSTRICT_ALIGNMENT)
 SIM_AC_OPTION_WARNINGS(no)
 SIM_AC_OPTION_RESERVED_BITS(1)
 
diff --git a/sim/mn10300/ChangeLog b/sim/mn10300/ChangeLog
index 9aec01e..9a2c1d1 100644
--- a/sim/mn10300/ChangeLog
+++ b/sim/mn10300/ChangeLog
@@ -1,5 +1,9 @@
 2021-06-12  Mike Frysinger  <vapier@gentoo.org>
 
+	* configure.ac: Delete call to SIM_AC_OPTION_ALIGNMENT.
+
+2021-06-12  Mike Frysinger  <vapier@gentoo.org>
+
 	* aclocal.m4, config.in, configure: Regenerate.
 
 2021-06-12  Mike Frysinger  <vapier@gentoo.org>
diff --git a/sim/mn10300/aclocal.m4 b/sim/mn10300/aclocal.m4
index 9c220ef..8121fe6 100644
--- a/sim/mn10300/aclocal.m4
+++ b/sim/mn10300/aclocal.m4
@@ -110,7 +110,6 @@
 m4_include([../../ltversion.m4])
 m4_include([../../lt~obsolete.m4])
 m4_include([../m4/sim_ac_common.m4])
-m4_include([../m4/sim_ac_option_alignment.m4])
 m4_include([../m4/sim_ac_option_bitsize.m4])
 m4_include([../m4/sim_ac_option_endian.m4])
 m4_include([../m4/sim_ac_option_hardware.m4])
diff --git a/sim/mn10300/configure b/sim/mn10300/configure
index 0ac10ba..c698a6d 100755
--- a/sim/mn10300/configure
+++ b/sim/mn10300/configure
@@ -634,6 +634,7 @@
 sim_default_model
 sim_scache
 sim_float
+sim_alignment
 cgen_breaks
 MAINT
 MAINTAINER_MODE_FALSE
@@ -753,8 +754,7 @@
 sim_hw_objs
 sim_hw_cflags
 sim_endian
-sim_bitsize
-sim_alignment'
+sim_bitsize'
 ac_subst_files=''
 ac_user_opts='
 enable_option_checking
@@ -769,7 +769,6 @@
 enable_maintainer_mode
 enable_sim_inline
 enable_sim_endian
-enable_sim_alignment
 enable_werror
 enable_build_warnings
 enable_sim_build_warnings
@@ -1416,9 +1415,6 @@
                           Specify which functions should be inlined
   --enable-sim-endian=endian
                           Specify target byte endian orientation
-  --enable-sim-alignment=align
-                          Specify strict, nonstrict or forced alignment of
-                          memory accesses
   --enable-werror         treat compile warnings as errors
   --enable-build-warnings enable build-time compiler warnings if gcc is used
   --enable-sim-build-warnings
@@ -10754,7 +10750,7 @@
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 10757 "configure"
+#line 10753 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -10860,7 +10856,7 @@
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 10863 "configure"
+#line 10859 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -11202,52 +11198,6 @@
 fi
 fi
 
-wire_alignment="NONSTRICT_ALIGNMENT"
-default_alignment=""
-
-# Check whether --enable-sim-alignment was given.
-if test "${enable_sim_alignment+set}" = set; then :
-  enableval=$enable_sim_alignment; case "${enableval}" in
-  strict | STRICT)       sim_alignment="-DWITH_ALIGNMENT=STRICT_ALIGNMENT";;
-  nonstrict | NONSTRICT) sim_alignment="-DWITH_ALIGNMENT=NONSTRICT_ALIGNMENT";;
-  forced | FORCED)       sim_alignment="-DWITH_ALIGNMENT=FORCED_ALIGNMENT";;
-  yes) if test x"$wire_alignment" != x; then
-	 sim_alignment="-DWITH_ALIGNMENT=${wire_alignment}"
-       else
-         if test x"$default_alignment" != x; then
-           sim_alignment="-DWITH_ALIGNMENT=${default_alignment}"
-         else
-	   echo "No hard-wired alignment for target $target" 1>&6
-	   sim_alignment="-DWITH_ALIGNMENT=0"
-         fi
-       fi;;
-  no)  if test x"$default_alignment" != x; then
-	 sim_alignment="-DWITH_DEFAULT_ALIGNMENT=${default_alignment}"
-       else
-         if test x"$wire_alignment" != x; then
-	   sim_alignment="-DWITH_DEFAULT_ALIGNMENT=${wire_alignment}"
-         else
-           echo "No default alignment for target $target" 1>&6
-           sim_alignment="-DWITH_DEFAULT_ALIGNMENT=0"
-         fi
-       fi;;
-  *)   as_fn_error $? "\"Unknown value $enableval passed to --enable-sim-alignment\"" "$LINENO" 5; sim_alignment="";;
-esac
-if test x"$silent" != x"yes" && test x"$sim_alignment" != x""; then
-  echo "Setting alignment flags = $sim_alignment" 6>&1
-fi
-else
-  if test x"$default_alignment" != x; then
-  sim_alignment="-DWITH_DEFAULT_ALIGNMENT=${default_alignment}"
-else
-  if test x"$wire_alignment" != x; then
-    sim_alignment="-DWITH_ALIGNMENT=${wire_alignment}"
-  else
-    sim_alignment=
-  fi
-fi
-fi
-
 
 # Check whether --enable-werror was given.
 if test "${enable_werror+set}" = set; then :
diff --git a/sim/mn10300/configure.ac b/sim/mn10300/configure.ac
index 55aec73..b09159d 100644
--- a/sim/mn10300/configure.ac
+++ b/sim/mn10300/configure.ac
@@ -5,7 +5,6 @@
 SIM_AC_COMMON
 
 SIM_AC_OPTION_ENDIAN(LITTLE)
-SIM_AC_OPTION_ALIGNMENT(NONSTRICT_ALIGNMENT)
 SIM_AC_OPTION_WARNINGS(no)
 SIM_AC_OPTION_RESERVED_BITS
 SIM_AC_OPTION_BITSIZE(32,31)
diff --git a/sim/moxie/ChangeLog b/sim/moxie/ChangeLog
index 96c040b..6126b42 100644
--- a/sim/moxie/ChangeLog
+++ b/sim/moxie/ChangeLog
@@ -1,5 +1,9 @@
 2021-06-12  Mike Frysinger  <vapier@gentoo.org>
 
+	* configure.ac: Delete call to SIM_AC_OPTION_ALIGNMENT.
+
+2021-06-12  Mike Frysinger  <vapier@gentoo.org>
+
 	* aclocal.m4, config.in, configure: Regenerate.
 
 2021-06-12  Mike Frysinger  <vapier@gentoo.org>
diff --git a/sim/moxie/aclocal.m4 b/sim/moxie/aclocal.m4
index 6591f2c..88b04d1 100644
--- a/sim/moxie/aclocal.m4
+++ b/sim/moxie/aclocal.m4
@@ -110,7 +110,6 @@
 m4_include([../../ltversion.m4])
 m4_include([../../lt~obsolete.m4])
 m4_include([../m4/sim_ac_common.m4])
-m4_include([../m4/sim_ac_option_alignment.m4])
 m4_include([../m4/sim_ac_option_endian.m4])
 m4_include([../m4/sim_ac_option_hardware.m4])
 m4_include([../m4/sim_ac_option_inline.m4])
diff --git a/sim/moxie/configure b/sim/moxie/configure
index c24729b..aa8c895 100755
--- a/sim/moxie/configure
+++ b/sim/moxie/configure
@@ -636,6 +636,7 @@
 sim_scache
 sim_float
 sim_bitsize
+sim_alignment
 cgen_breaks
 DTC
 MAINT
@@ -754,8 +755,7 @@
 sim_hw
 sim_hw_objs
 sim_hw_cflags
-sim_endian
-sim_alignment'
+sim_endian'
 ac_subst_files=''
 ac_user_opts='
 enable_option_checking
@@ -770,7 +770,6 @@
 enable_maintainer_mode
 enable_sim_inline
 enable_sim_endian
-enable_sim_alignment
 enable_werror
 enable_build_warnings
 enable_sim_build_warnings
@@ -1415,9 +1414,6 @@
                           Specify which functions should be inlined
   --enable-sim-endian=endian
                           Specify target byte endian orientation
-  --enable-sim-alignment=align
-                          Specify strict, nonstrict or forced alignment of
-                          memory accesses
   --enable-werror         treat compile warnings as errors
   --enable-build-warnings enable build-time compiler warnings if gcc is used
   --enable-sim-build-warnings
@@ -10749,7 +10745,7 @@
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 10752 "configure"
+#line 10748 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -10855,7 +10851,7 @@
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 10858 "configure"
+#line 10854 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -11290,52 +11286,6 @@
 fi
 fi
 
-wire_alignment="STRICT_ALIGNMENT"
-default_alignment=""
-
-# Check whether --enable-sim-alignment was given.
-if test "${enable_sim_alignment+set}" = set; then :
-  enableval=$enable_sim_alignment; case "${enableval}" in
-  strict | STRICT)       sim_alignment="-DWITH_ALIGNMENT=STRICT_ALIGNMENT";;
-  nonstrict | NONSTRICT) sim_alignment="-DWITH_ALIGNMENT=NONSTRICT_ALIGNMENT";;
-  forced | FORCED)       sim_alignment="-DWITH_ALIGNMENT=FORCED_ALIGNMENT";;
-  yes) if test x"$wire_alignment" != x; then
-	 sim_alignment="-DWITH_ALIGNMENT=${wire_alignment}"
-       else
-         if test x"$default_alignment" != x; then
-           sim_alignment="-DWITH_ALIGNMENT=${default_alignment}"
-         else
-	   echo "No hard-wired alignment for target $target" 1>&6
-	   sim_alignment="-DWITH_ALIGNMENT=0"
-         fi
-       fi;;
-  no)  if test x"$default_alignment" != x; then
-	 sim_alignment="-DWITH_DEFAULT_ALIGNMENT=${default_alignment}"
-       else
-         if test x"$wire_alignment" != x; then
-	   sim_alignment="-DWITH_DEFAULT_ALIGNMENT=${wire_alignment}"
-         else
-           echo "No default alignment for target $target" 1>&6
-           sim_alignment="-DWITH_DEFAULT_ALIGNMENT=0"
-         fi
-       fi;;
-  *)   as_fn_error $? "\"Unknown value $enableval passed to --enable-sim-alignment\"" "$LINENO" 5; sim_alignment="";;
-esac
-if test x"$silent" != x"yes" && test x"$sim_alignment" != x""; then
-  echo "Setting alignment flags = $sim_alignment" 6>&1
-fi
-else
-  if test x"$default_alignment" != x; then
-  sim_alignment="-DWITH_DEFAULT_ALIGNMENT=${default_alignment}"
-else
-  if test x"$wire_alignment" != x; then
-    sim_alignment="-DWITH_ALIGNMENT=${wire_alignment}"
-  else
-    sim_alignment=
-  fi
-fi
-fi
-
 
 
 # Check whether --enable-werror was given.
diff --git a/sim/moxie/configure.ac b/sim/moxie/configure.ac
index fb5a91e..75a6f37 100644
--- a/sim/moxie/configure.ac
+++ b/sim/moxie/configure.ac
@@ -7,6 +7,5 @@
 AC_CHECK_TOOL(DTC, dtc)
 
 SIM_AC_OPTION_ENDIAN(BIG)
-SIM_AC_OPTION_ALIGNMENT(STRICT_ALIGNMENT)
 
 SIM_AC_OUTPUT
diff --git a/sim/msp430/ChangeLog b/sim/msp430/ChangeLog
index 5653de6..24298e6 100644
--- a/sim/msp430/ChangeLog
+++ b/sim/msp430/ChangeLog
@@ -1,5 +1,9 @@
 2021-06-12  Mike Frysinger  <vapier@gentoo.org>
 
+	* configure.ac: Delete call to SIM_AC_OPTION_ALIGNMENT.
+
+2021-06-12  Mike Frysinger  <vapier@gentoo.org>
+
 	* aclocal.m4, config.in, configure: Regenerate.
 
 2021-06-12  Mike Frysinger  <vapier@gentoo.org>
diff --git a/sim/msp430/aclocal.m4 b/sim/msp430/aclocal.m4
index 6591f2c..88b04d1 100644
--- a/sim/msp430/aclocal.m4
+++ b/sim/msp430/aclocal.m4
@@ -110,7 +110,6 @@
 m4_include([../../ltversion.m4])
 m4_include([../../lt~obsolete.m4])
 m4_include([../m4/sim_ac_common.m4])
-m4_include([../m4/sim_ac_option_alignment.m4])
 m4_include([../m4/sim_ac_option_endian.m4])
 m4_include([../m4/sim_ac_option_hardware.m4])
 m4_include([../m4/sim_ac_option_inline.m4])
diff --git a/sim/msp430/configure b/sim/msp430/configure
index c7dbbaa..32b8327 100755
--- a/sim/msp430/configure
+++ b/sim/msp430/configure
@@ -636,6 +636,7 @@
 sim_scache
 sim_float
 sim_bitsize
+sim_alignment
 cgen_breaks
 MAINT
 MAINTAINER_MODE_FALSE
@@ -753,8 +754,7 @@
 sim_hw
 sim_hw_objs
 sim_hw_cflags
-sim_endian
-sim_alignment'
+sim_endian'
 ac_subst_files=''
 ac_user_opts='
 enable_option_checking
@@ -769,7 +769,6 @@
 enable_maintainer_mode
 enable_sim_inline
 enable_sim_endian
-enable_sim_alignment
 enable_werror
 enable_build_warnings
 enable_sim_build_warnings
@@ -1414,9 +1413,6 @@
                           Specify which functions should be inlined
   --enable-sim-endian=endian
                           Specify target byte endian orientation
-  --enable-sim-alignment=align
-                          Specify strict, nonstrict or forced alignment of
-                          memory accesses
   --enable-werror         treat compile warnings as errors
   --enable-build-warnings enable build-time compiler warnings if gcc is used
   --enable-sim-build-warnings
@@ -10748,7 +10744,7 @@
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 10751 "configure"
+#line 10747 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -10854,7 +10850,7 @@
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 10857 "configure"
+#line 10853 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -11196,52 +11192,6 @@
 fi
 fi
 
-wire_alignment="STRICT_ALIGNMENT"
-default_alignment="STRICT_ALIGNMENT"
-
-# Check whether --enable-sim-alignment was given.
-if test "${enable_sim_alignment+set}" = set; then :
-  enableval=$enable_sim_alignment; case "${enableval}" in
-  strict | STRICT)       sim_alignment="-DWITH_ALIGNMENT=STRICT_ALIGNMENT";;
-  nonstrict | NONSTRICT) sim_alignment="-DWITH_ALIGNMENT=NONSTRICT_ALIGNMENT";;
-  forced | FORCED)       sim_alignment="-DWITH_ALIGNMENT=FORCED_ALIGNMENT";;
-  yes) if test x"$wire_alignment" != x; then
-	 sim_alignment="-DWITH_ALIGNMENT=${wire_alignment}"
-       else
-         if test x"$default_alignment" != x; then
-           sim_alignment="-DWITH_ALIGNMENT=${default_alignment}"
-         else
-	   echo "No hard-wired alignment for target $target" 1>&6
-	   sim_alignment="-DWITH_ALIGNMENT=0"
-         fi
-       fi;;
-  no)  if test x"$default_alignment" != x; then
-	 sim_alignment="-DWITH_DEFAULT_ALIGNMENT=${default_alignment}"
-       else
-         if test x"$wire_alignment" != x; then
-	   sim_alignment="-DWITH_DEFAULT_ALIGNMENT=${wire_alignment}"
-         else
-           echo "No default alignment for target $target" 1>&6
-           sim_alignment="-DWITH_DEFAULT_ALIGNMENT=0"
-         fi
-       fi;;
-  *)   as_fn_error $? "\"Unknown value $enableval passed to --enable-sim-alignment\"" "$LINENO" 5; sim_alignment="";;
-esac
-if test x"$silent" != x"yes" && test x"$sim_alignment" != x""; then
-  echo "Setting alignment flags = $sim_alignment" 6>&1
-fi
-else
-  if test x"$default_alignment" != x; then
-  sim_alignment="-DWITH_DEFAULT_ALIGNMENT=${default_alignment}"
-else
-  if test x"$wire_alignment" != x; then
-    sim_alignment="-DWITH_ALIGNMENT=${wire_alignment}"
-  else
-    sim_alignment=
-  fi
-fi
-fi
-
 
 # Check whether --enable-werror was given.
 if test "${enable_werror+set}" = set; then :
diff --git a/sim/msp430/configure.ac b/sim/msp430/configure.ac
index 0277d7f..19839d1 100644
--- a/sim/msp430/configure.ac
+++ b/sim/msp430/configure.ac
@@ -24,7 +24,6 @@
 SIM_AC_COMMON
 
 SIM_AC_OPTION_ENDIAN(LITTLE)
-SIM_AC_OPTION_ALIGNMENT(STRICT_ALIGNMENT,STRICT_ALIGNMENT)
 SIM_AC_OPTION_WARNINGS
 
 SIM_AC_OUTPUT
diff --git a/sim/or1k/ChangeLog b/sim/or1k/ChangeLog
index bf7296b..2cba0f5 100644
--- a/sim/or1k/ChangeLog
+++ b/sim/or1k/ChangeLog
@@ -1,5 +1,9 @@
 2021-06-12  Mike Frysinger  <vapier@gentoo.org>
 
+	* configure.ac: Delete call to SIM_AC_OPTION_ALIGNMENT.
+
+2021-06-12  Mike Frysinger  <vapier@gentoo.org>
+
 	* aclocal.m4, config.in, configure: Regenerate.
 
 2021-06-12  Mike Frysinger  <vapier@gentoo.org>
diff --git a/sim/or1k/aclocal.m4 b/sim/or1k/aclocal.m4
index be3ce43..8298e1f 100644
--- a/sim/or1k/aclocal.m4
+++ b/sim/or1k/aclocal.m4
@@ -110,7 +110,6 @@
 m4_include([../../ltversion.m4])
 m4_include([../../lt~obsolete.m4])
 m4_include([../m4/sim_ac_common.m4])
-m4_include([../m4/sim_ac_option_alignment.m4])
 m4_include([../m4/sim_ac_option_bitsize.m4])
 m4_include([../m4/sim_ac_option_cgen_maint.m4])
 m4_include([../m4/sim_ac_option_default_model.m4])
diff --git a/sim/or1k/configure b/sim/or1k/configure
index 5c1c378..362961e 100755
--- a/sim/or1k/configure
+++ b/sim/or1k/configure
@@ -633,6 +633,7 @@
 LIBOBJS
 sim_reserved_bits
 sim_float
+sim_alignment
 cgen_breaks
 cgen
 cgendir
@@ -756,8 +757,7 @@
 sim_hw_cflags
 sim_endian
 sim_default_model
-sim_bitsize
-sim_alignment'
+sim_bitsize'
 ac_subst_files=''
 ac_user_opts='
 enable_option_checking
@@ -772,7 +772,6 @@
 enable_maintainer_mode
 enable_sim_inline
 enable_sim_endian
-enable_sim_alignment
 enable_sim_bitsize
 enable_sim_scache
 enable_sim_default_model
@@ -1421,9 +1420,6 @@
                           Specify which functions should be inlined
   --enable-sim-endian=endian
                           Specify target byte endian orientation
-  --enable-sim-alignment=align
-                          Specify strict, nonstrict or forced alignment of
-                          memory accesses
   --enable-sim-bitsize=N  Specify target bitsize (32 or 64)
   --enable-sim-scache=size
                           Specify simulator execution cache size
@@ -10761,7 +10757,7 @@
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 10764 "configure"
+#line 10760 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -10867,7 +10863,7 @@
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 10870 "configure"
+#line 10866 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -11209,52 +11205,6 @@
 fi
 fi
 
-wire_alignment="STRICT_ALIGNMENT"
-default_alignment=""
-
-# Check whether --enable-sim-alignment was given.
-if test "${enable_sim_alignment+set}" = set; then :
-  enableval=$enable_sim_alignment; case "${enableval}" in
-  strict | STRICT)       sim_alignment="-DWITH_ALIGNMENT=STRICT_ALIGNMENT";;
-  nonstrict | NONSTRICT) sim_alignment="-DWITH_ALIGNMENT=NONSTRICT_ALIGNMENT";;
-  forced | FORCED)       sim_alignment="-DWITH_ALIGNMENT=FORCED_ALIGNMENT";;
-  yes) if test x"$wire_alignment" != x; then
-	 sim_alignment="-DWITH_ALIGNMENT=${wire_alignment}"
-       else
-         if test x"$default_alignment" != x; then
-           sim_alignment="-DWITH_ALIGNMENT=${default_alignment}"
-         else
-	   echo "No hard-wired alignment for target $target" 1>&6
-	   sim_alignment="-DWITH_ALIGNMENT=0"
-         fi
-       fi;;
-  no)  if test x"$default_alignment" != x; then
-	 sim_alignment="-DWITH_DEFAULT_ALIGNMENT=${default_alignment}"
-       else
-         if test x"$wire_alignment" != x; then
-	   sim_alignment="-DWITH_DEFAULT_ALIGNMENT=${wire_alignment}"
-         else
-           echo "No default alignment for target $target" 1>&6
-           sim_alignment="-DWITH_DEFAULT_ALIGNMENT=0"
-         fi
-       fi;;
-  *)   as_fn_error $? "\"Unknown value $enableval passed to --enable-sim-alignment\"" "$LINENO" 5; sim_alignment="";;
-esac
-if test x"$silent" != x"yes" && test x"$sim_alignment" != x""; then
-  echo "Setting alignment flags = $sim_alignment" 6>&1
-fi
-else
-  if test x"$default_alignment" != x; then
-  sim_alignment="-DWITH_DEFAULT_ALIGNMENT=${default_alignment}"
-else
-  if test x"$wire_alignment" != x; then
-    sim_alignment="-DWITH_ALIGNMENT=${wire_alignment}"
-  else
-    sim_alignment=
-  fi
-fi
-fi
-
 wire_word_bitsize="32"
 wire_word_msb="31"
 wire_address_bitsize="32"
diff --git a/sim/or1k/configure.ac b/sim/or1k/configure.ac
index 32fb0d4..e09fee1 100644
--- a/sim/or1k/configure.ac
+++ b/sim/or1k/configure.ac
@@ -5,7 +5,6 @@
 SIM_AC_COMMON
 
 SIM_AC_OPTION_ENDIAN(BIG)
-SIM_AC_OPTION_ALIGNMENT(STRICT_ALIGNMENT)
 SIM_AC_OPTION_BITSIZE([32], [31], [32])
 SIM_AC_OPTION_SCACHE(16384)
 SIM_AC_OPTION_DEFAULT_MODEL([or1200])
diff --git a/sim/ppc/ChangeLog b/sim/ppc/ChangeLog
index 3926430..49b3e66 100644
--- a/sim/ppc/ChangeLog
+++ b/sim/ppc/ChangeLog
@@ -1,5 +1,11 @@
 2021-06-12  Mike Frysinger  <vapier@gentoo.org>
 
+	* Makefile.in: Delete ALIGNMENT_CFLAGS.
+	* configure.ac: Delete sim-alignment.
+	* configure: Regenerate.
+
+2021-06-12  Mike Frysinger  <vapier@gentoo.org>
+
 	* configure.ac: Delete calls to ACX_PKGVERSION & ACX_BUGURL.
 	* aclocal.m4, config.in, configure: Regenerate.
 
diff --git a/sim/ppc/Makefile.in b/sim/ppc/Makefile.in
index 1996e13..5d0dd74 100644
--- a/sim/ppc/Makefile.in
+++ b/sim/ppc/Makefile.in
@@ -79,7 +79,6 @@
 BITSIZE_CFLAGS = @sim_bitsize@
 HOSTBITSIZE_CFLAGS = @sim_hostbitsize@
 TIMEBASE_CFLAGS = @sim_timebase@
-ALIGNMENT_CFLAGS = @sim_alignment@
 FLOAT_CFLAGS = @sim_float@
 RESERVED_CFLAGS = @sim_reserved@
 MONITOR_CFLAGS = @sim_monitor@
@@ -95,7 +94,6 @@
   $(BITSIZE_CFLAGS) \
   $(HOSTBITSIZE_CFLAGS) \
   $(TIMEBASE_CFLAGS) \
-  $(ALIGNMENT_CFLAGS) \
   $(FLOAT_CFLAGS) \
   $(RESERVED_CFLAGS) \
   $(MONITOR_CFLAGS) \
diff --git a/sim/ppc/configure b/sim/ppc/configure
index 5f0f779..c7dd1b4 100755
--- a/sim/ppc/configure
+++ b/sim/ppc/configure
@@ -633,7 +633,6 @@
 sim_monitor
 sim_reserved
 sim_float
-sim_alignment
 sim_timebase
 sim_hostbitsize
 sim_bitsize
@@ -742,7 +741,6 @@
 ac_subst_files=''
 ac_user_opts='
 enable_option_checking
-enable_sim_alignment
 enable_sim_assert
 enable_sim_bitsize
 enable_sim_config
@@ -1400,7 +1398,6 @@
   --disable-option-checking  ignore unrecognized --enable/--with options
   --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
   --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
-  --enable-sim-alignment=align		Specify strict or nonstrict alignment.
   --enable-sim-assert			Specify whether to perform random assertions.
   --enable-sim-bitsize=n		Specify target bitsize (32 or 64).
   --enable-sim-config=file		Override default config file
@@ -3120,22 +3117,6 @@
 fi
 
 
-# Check whether --enable-sim-alignment was given.
-if test "${enable_sim_alignment+set}" = set; then :
-  enableval=$enable_sim_alignment; case "${enableval}" in
-  yes | strict | STRICT)	sim_alignment="-DWITH_ALIGNMENT=STRICT_ALIGNMENT";;
-  no | nonstrict | NONSTRICT)	sim_alignment="-DWITH_ALIGNMENT=NONSTRICT_ALIGNMENT";;
-  0 | default | DEFAULT)	sim_alignment="-DWITH_ALIGNMENT=0";;
-  *)				as_fn_error $? "\"Unknown value $enableval passed to --enable-sim-alignment\"" "$LINENO" 5; sim_alignment="";;
-esac
-if test x"$silent" != x"yes" && test x"$sim_alignment" != x""; then
-  echo "Setting alignment flags = $sim_alignment" 6>&1
-fi
-else
-  sim_alignment=""
-fi
-
-
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable sim asserts" >&5
 $as_echo_n "checking whether to enable sim asserts... " >&6; }
 sim_assert="1"
@@ -5179,7 +5160,6 @@
 
 
 
-
 ac_config_files="$ac_config_files Makefile"
 
 ac_config_commands="$ac_config_commands default"
diff --git a/sim/ppc/configure.ac b/sim/ppc/configure.ac
index 5697345..3b93bee 100644
--- a/sim/ppc/configure.ac
+++ b/sim/ppc/configure.ac
@@ -19,19 +19,6 @@
 ZW_GNU_GETTEXT_SISTER_DIR(../../intl)
 
 
-AC_ARG_ENABLE(sim-alignment,
-[  --enable-sim-alignment=align		Specify strict or nonstrict alignment.],
-[case "${enableval}" in
-  yes | strict | STRICT)	sim_alignment="-DWITH_ALIGNMENT=STRICT_ALIGNMENT";;
-  no | nonstrict | NONSTRICT)	sim_alignment="-DWITH_ALIGNMENT=NONSTRICT_ALIGNMENT";;
-  0 | default | DEFAULT)	sim_alignment="-DWITH_ALIGNMENT=0";;
-  *)				AC_MSG_ERROR("Unknown value $enableval passed to --enable-sim-alignment"); sim_alignment="";;
-esac
-if test x"$silent" != x"yes" && test x"$sim_alignment" != x""; then
-  echo "Setting alignment flags = $sim_alignment" 6>&1
-fi],[sim_alignment=""])dnl
-
-
 AC_MSG_CHECKING([whether to enable sim asserts])
 sim_assert="1"
 AC_ARG_ENABLE(sim-assert,
@@ -818,7 +805,6 @@
 AC_SUBST(sim_bitsize)
 AC_SUBST(sim_hostbitsize)
 AC_SUBST(sim_timebase)
-AC_SUBST(sim_alignment)
 AC_SUBST(sim_float)
 AC_SUBST(sim_reserved)
 AC_SUBST(sim_monitor)
diff --git a/sim/pru/ChangeLog b/sim/pru/ChangeLog
index 260007d..bb7ff9f 100644
--- a/sim/pru/ChangeLog
+++ b/sim/pru/ChangeLog
@@ -1,5 +1,10 @@
 2021-06-12  Mike Frysinger  <vapier@gentoo.org>
 
+	* configure.ac: Delete call to SIM_AC_OPTION_ALIGNMENT.
+	* interp.c (sim_open): Set current_alignment.
+
+2021-06-12  Mike Frysinger  <vapier@gentoo.org>
+
 	* aclocal.m4, config.in, configure: Regenerate.
 
 2021-06-12  Mike Frysinger  <vapier@gentoo.org>
diff --git a/sim/pru/aclocal.m4 b/sim/pru/aclocal.m4
index 6591f2c..88b04d1 100644
--- a/sim/pru/aclocal.m4
+++ b/sim/pru/aclocal.m4
@@ -110,7 +110,6 @@
 m4_include([../../ltversion.m4])
 m4_include([../../lt~obsolete.m4])
 m4_include([../m4/sim_ac_common.m4])
-m4_include([../m4/sim_ac_option_alignment.m4])
 m4_include([../m4/sim_ac_option_endian.m4])
 m4_include([../m4/sim_ac_option_hardware.m4])
 m4_include([../m4/sim_ac_option_inline.m4])
diff --git a/sim/pru/configure b/sim/pru/configure
index c7dbbaa..32b8327 100755
--- a/sim/pru/configure
+++ b/sim/pru/configure
@@ -636,6 +636,7 @@
 sim_scache
 sim_float
 sim_bitsize
+sim_alignment
 cgen_breaks
 MAINT
 MAINTAINER_MODE_FALSE
@@ -753,8 +754,7 @@
 sim_hw
 sim_hw_objs
 sim_hw_cflags
-sim_endian
-sim_alignment'
+sim_endian'
 ac_subst_files=''
 ac_user_opts='
 enable_option_checking
@@ -769,7 +769,6 @@
 enable_maintainer_mode
 enable_sim_inline
 enable_sim_endian
-enable_sim_alignment
 enable_werror
 enable_build_warnings
 enable_sim_build_warnings
@@ -1414,9 +1413,6 @@
                           Specify which functions should be inlined
   --enable-sim-endian=endian
                           Specify target byte endian orientation
-  --enable-sim-alignment=align
-                          Specify strict, nonstrict or forced alignment of
-                          memory accesses
   --enable-werror         treat compile warnings as errors
   --enable-build-warnings enable build-time compiler warnings if gcc is used
   --enable-sim-build-warnings
@@ -10748,7 +10744,7 @@
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 10751 "configure"
+#line 10747 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -10854,7 +10850,7 @@
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 10857 "configure"
+#line 10853 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -11196,52 +11192,6 @@
 fi
 fi
 
-wire_alignment="STRICT_ALIGNMENT"
-default_alignment="STRICT_ALIGNMENT"
-
-# Check whether --enable-sim-alignment was given.
-if test "${enable_sim_alignment+set}" = set; then :
-  enableval=$enable_sim_alignment; case "${enableval}" in
-  strict | STRICT)       sim_alignment="-DWITH_ALIGNMENT=STRICT_ALIGNMENT";;
-  nonstrict | NONSTRICT) sim_alignment="-DWITH_ALIGNMENT=NONSTRICT_ALIGNMENT";;
-  forced | FORCED)       sim_alignment="-DWITH_ALIGNMENT=FORCED_ALIGNMENT";;
-  yes) if test x"$wire_alignment" != x; then
-	 sim_alignment="-DWITH_ALIGNMENT=${wire_alignment}"
-       else
-         if test x"$default_alignment" != x; then
-           sim_alignment="-DWITH_ALIGNMENT=${default_alignment}"
-         else
-	   echo "No hard-wired alignment for target $target" 1>&6
-	   sim_alignment="-DWITH_ALIGNMENT=0"
-         fi
-       fi;;
-  no)  if test x"$default_alignment" != x; then
-	 sim_alignment="-DWITH_DEFAULT_ALIGNMENT=${default_alignment}"
-       else
-         if test x"$wire_alignment" != x; then
-	   sim_alignment="-DWITH_DEFAULT_ALIGNMENT=${wire_alignment}"
-         else
-           echo "No default alignment for target $target" 1>&6
-           sim_alignment="-DWITH_DEFAULT_ALIGNMENT=0"
-         fi
-       fi;;
-  *)   as_fn_error $? "\"Unknown value $enableval passed to --enable-sim-alignment\"" "$LINENO" 5; sim_alignment="";;
-esac
-if test x"$silent" != x"yes" && test x"$sim_alignment" != x""; then
-  echo "Setting alignment flags = $sim_alignment" 6>&1
-fi
-else
-  if test x"$default_alignment" != x; then
-  sim_alignment="-DWITH_DEFAULT_ALIGNMENT=${default_alignment}"
-else
-  if test x"$wire_alignment" != x; then
-    sim_alignment="-DWITH_ALIGNMENT=${wire_alignment}"
-  else
-    sim_alignment=
-  fi
-fi
-fi
-
 
 # Check whether --enable-werror was given.
 if test "${enable_werror+set}" = set; then :
diff --git a/sim/pru/configure.ac b/sim/pru/configure.ac
index a4db77b..79dab8b 100644
--- a/sim/pru/configure.ac
+++ b/sim/pru/configure.ac
@@ -24,7 +24,6 @@
 SIM_AC_COMMON
 
 SIM_AC_OPTION_ENDIAN(LITTLE)
-SIM_AC_OPTION_ALIGNMENT(STRICT_ALIGNMENT,STRICT_ALIGNMENT)
 SIM_AC_OPTION_WARNINGS
 
 SIM_AC_OUTPUT
diff --git a/sim/pru/interp.c b/sim/pru/interp.c
index 58ac333..38269df 100644
--- a/sim/pru/interp.c
+++ b/sim/pru/interp.c
@@ -745,6 +745,9 @@
   SIM_DESC sd = sim_state_alloc (kind, cb);
   SIM_ASSERT (STATE_MAGIC (sd) == SIM_MAGIC_NUMBER);
 
+  /* Set default options before parsing user options.  */
+  current_alignment = STRICT_ALIGNMENT;
+
   /* The cpu data is kept in a separately allocated chunk of memory.  */
   if (sim_cpu_alloc_all (sd, 1) != SIM_RC_OK)
     {
diff --git a/sim/riscv/ChangeLog b/sim/riscv/ChangeLog
index 0427805..04cc234 100644
--- a/sim/riscv/ChangeLog
+++ b/sim/riscv/ChangeLog
@@ -1,5 +1,9 @@
 2021-06-12  Mike Frysinger  <vapier@gentoo.org>
 
+	* configure.ac: Delete call to SIM_AC_OPTION_ALIGNMENT.
+
+2021-06-12  Mike Frysinger  <vapier@gentoo.org>
+
 	* aclocal.m4, config.in, configure: Regenerate.
 
 2021-06-12  Mike Frysinger  <vapier@gentoo.org>
diff --git a/sim/riscv/aclocal.m4 b/sim/riscv/aclocal.m4
index 2995da2..6677e0f 100644
--- a/sim/riscv/aclocal.m4
+++ b/sim/riscv/aclocal.m4
@@ -110,7 +110,6 @@
 m4_include([../../ltversion.m4])
 m4_include([../../lt~obsolete.m4])
 m4_include([../m4/sim_ac_common.m4])
-m4_include([../m4/sim_ac_option_alignment.m4])
 m4_include([../m4/sim_ac_option_bitsize.m4])
 m4_include([../m4/sim_ac_option_default_model.m4])
 m4_include([../m4/sim_ac_option_endian.m4])
diff --git a/sim/riscv/configure b/sim/riscv/configure
index dc3611e..36a39e6 100755
--- a/sim/riscv/configure
+++ b/sim/riscv/configure
@@ -634,6 +634,7 @@
 sim_reserved_bits
 sim_scache
 sim_float
+sim_alignment
 cgen_breaks
 MAINT
 MAINTAINER_MODE_FALSE
@@ -753,8 +754,7 @@
 sim_hw_cflags
 sim_endian
 sim_default_model
-sim_bitsize
-sim_alignment'
+sim_bitsize'
 ac_subst_files=''
 ac_user_opts='
 enable_option_checking
@@ -769,7 +769,6 @@
 enable_maintainer_mode
 enable_sim_inline
 enable_sim_endian
-enable_sim_alignment
 enable_werror
 enable_build_warnings
 enable_sim_build_warnings
@@ -1416,9 +1415,6 @@
                           Specify which functions should be inlined
   --enable-sim-endian=endian
                           Specify target byte endian orientation
-  --enable-sim-alignment=align
-                          Specify strict, nonstrict or forced alignment of
-                          memory accesses
   --enable-werror         treat compile warnings as errors
   --enable-build-warnings enable build-time compiler warnings if gcc is used
   --enable-sim-build-warnings
@@ -10753,7 +10749,7 @@
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 10756 "configure"
+#line 10752 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -10859,7 +10855,7 @@
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 10862 "configure"
+#line 10858 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -11201,52 +11197,6 @@
 fi
 fi
 
-wire_alignment="NONSTRICT_ALIGNMENT"
-default_alignment=""
-
-# Check whether --enable-sim-alignment was given.
-if test "${enable_sim_alignment+set}" = set; then :
-  enableval=$enable_sim_alignment; case "${enableval}" in
-  strict | STRICT)       sim_alignment="-DWITH_ALIGNMENT=STRICT_ALIGNMENT";;
-  nonstrict | NONSTRICT) sim_alignment="-DWITH_ALIGNMENT=NONSTRICT_ALIGNMENT";;
-  forced | FORCED)       sim_alignment="-DWITH_ALIGNMENT=FORCED_ALIGNMENT";;
-  yes) if test x"$wire_alignment" != x; then
-	 sim_alignment="-DWITH_ALIGNMENT=${wire_alignment}"
-       else
-         if test x"$default_alignment" != x; then
-           sim_alignment="-DWITH_ALIGNMENT=${default_alignment}"
-         else
-	   echo "No hard-wired alignment for target $target" 1>&6
-	   sim_alignment="-DWITH_ALIGNMENT=0"
-         fi
-       fi;;
-  no)  if test x"$default_alignment" != x; then
-	 sim_alignment="-DWITH_DEFAULT_ALIGNMENT=${default_alignment}"
-       else
-         if test x"$wire_alignment" != x; then
-	   sim_alignment="-DWITH_DEFAULT_ALIGNMENT=${wire_alignment}"
-         else
-           echo "No default alignment for target $target" 1>&6
-           sim_alignment="-DWITH_DEFAULT_ALIGNMENT=0"
-         fi
-       fi;;
-  *)   as_fn_error $? "\"Unknown value $enableval passed to --enable-sim-alignment\"" "$LINENO" 5; sim_alignment="";;
-esac
-if test x"$silent" != x"yes" && test x"$sim_alignment" != x""; then
-  echo "Setting alignment flags = $sim_alignment" 6>&1
-fi
-else
-  if test x"$default_alignment" != x; then
-  sim_alignment="-DWITH_DEFAULT_ALIGNMENT=${default_alignment}"
-else
-  if test x"$wire_alignment" != x; then
-    sim_alignment="-DWITH_ALIGNMENT=${wire_alignment}"
-  else
-    sim_alignment=
-  fi
-fi
-fi
-
 
 # Check whether --enable-werror was given.
 if test "${enable_werror+set}" = set; then :
diff --git a/sim/riscv/configure.ac b/sim/riscv/configure.ac
index e5a07bb..3d678ac 100644
--- a/sim/riscv/configure.ac
+++ b/sim/riscv/configure.ac
@@ -5,7 +5,6 @@
 SIM_AC_COMMON
 
 SIM_AC_OPTION_ENDIAN(LITTLE)
-SIM_AC_OPTION_ALIGNMENT(NONSTRICT_ALIGNMENT)
 SIM_AC_OPTION_WARNINGS
 
 # Select the default model for the target.
diff --git a/sim/sh/ChangeLog b/sim/sh/ChangeLog
index fad906f..c44dbab 100644
--- a/sim/sh/ChangeLog
+++ b/sim/sh/ChangeLog
@@ -1,5 +1,10 @@
 2021-06-12  Mike Frysinger  <vapier@gentoo.org>
 
+	* configure.ac: Delete call to SIM_AC_OPTION_ALIGNMENT.
+	* interp.c (sim_open): Set current_alignment.
+
+2021-06-12  Mike Frysinger  <vapier@gentoo.org>
+
 	* aclocal.m4, config.in, configure: Regenerate.
 
 2021-06-12  Mike Frysinger  <vapier@gentoo.org>
diff --git a/sim/sh/aclocal.m4 b/sim/sh/aclocal.m4
index 6591f2c..88b04d1 100644
--- a/sim/sh/aclocal.m4
+++ b/sim/sh/aclocal.m4
@@ -110,7 +110,6 @@
 m4_include([../../ltversion.m4])
 m4_include([../../lt~obsolete.m4])
 m4_include([../m4/sim_ac_common.m4])
-m4_include([../m4/sim_ac_option_alignment.m4])
 m4_include([../m4/sim_ac_option_endian.m4])
 m4_include([../m4/sim_ac_option_hardware.m4])
 m4_include([../m4/sim_ac_option_inline.m4])
diff --git a/sim/sh/configure b/sim/sh/configure
index f66af79..4d3f8ce 100755
--- a/sim/sh/configure
+++ b/sim/sh/configure
@@ -636,6 +636,7 @@
 sim_scache
 sim_float
 sim_bitsize
+sim_alignment
 cgen_breaks
 MAINT
 MAINTAINER_MODE_FALSE
@@ -753,8 +754,7 @@
 sim_hw
 sim_hw_objs
 sim_hw_cflags
-sim_endian
-sim_alignment'
+sim_endian'
 ac_subst_files=''
 ac_user_opts='
 enable_option_checking
@@ -769,7 +769,6 @@
 enable_maintainer_mode
 enable_sim_inline
 enable_sim_endian
-enable_sim_alignment
 enable_werror
 enable_build_warnings
 enable_sim_build_warnings
@@ -1414,9 +1413,6 @@
                           Specify which functions should be inlined
   --enable-sim-endian=endian
                           Specify target byte endian orientation
-  --enable-sim-alignment=align
-                          Specify strict, nonstrict or forced alignment of
-                          memory accesses
   --enable-werror         treat compile warnings as errors
   --enable-build-warnings enable build-time compiler warnings if gcc is used
   --enable-sim-build-warnings
@@ -10748,7 +10744,7 @@
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 10751 "configure"
+#line 10747 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -10854,7 +10850,7 @@
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 10857 "configure"
+#line 10853 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -11196,52 +11192,6 @@
 fi
 fi
 
-wire_alignment="STRICT_ALIGNMENT"
-default_alignment="STRICT_ALIGNMENT"
-
-# Check whether --enable-sim-alignment was given.
-if test "${enable_sim_alignment+set}" = set; then :
-  enableval=$enable_sim_alignment; case "${enableval}" in
-  strict | STRICT)       sim_alignment="-DWITH_ALIGNMENT=STRICT_ALIGNMENT";;
-  nonstrict | NONSTRICT) sim_alignment="-DWITH_ALIGNMENT=NONSTRICT_ALIGNMENT";;
-  forced | FORCED)       sim_alignment="-DWITH_ALIGNMENT=FORCED_ALIGNMENT";;
-  yes) if test x"$wire_alignment" != x; then
-	 sim_alignment="-DWITH_ALIGNMENT=${wire_alignment}"
-       else
-         if test x"$default_alignment" != x; then
-           sim_alignment="-DWITH_ALIGNMENT=${default_alignment}"
-         else
-	   echo "No hard-wired alignment for target $target" 1>&6
-	   sim_alignment="-DWITH_ALIGNMENT=0"
-         fi
-       fi;;
-  no)  if test x"$default_alignment" != x; then
-	 sim_alignment="-DWITH_DEFAULT_ALIGNMENT=${default_alignment}"
-       else
-         if test x"$wire_alignment" != x; then
-	   sim_alignment="-DWITH_DEFAULT_ALIGNMENT=${wire_alignment}"
-         else
-           echo "No default alignment for target $target" 1>&6
-           sim_alignment="-DWITH_DEFAULT_ALIGNMENT=0"
-         fi
-       fi;;
-  *)   as_fn_error $? "\"Unknown value $enableval passed to --enable-sim-alignment\"" "$LINENO" 5; sim_alignment="";;
-esac
-if test x"$silent" != x"yes" && test x"$sim_alignment" != x""; then
-  echo "Setting alignment flags = $sim_alignment" 6>&1
-fi
-else
-  if test x"$default_alignment" != x; then
-  sim_alignment="-DWITH_DEFAULT_ALIGNMENT=${default_alignment}"
-else
-  if test x"$wire_alignment" != x; then
-    sim_alignment="-DWITH_ALIGNMENT=${wire_alignment}"
-  else
-    sim_alignment=
-  fi
-fi
-fi
-
 
 # Check whether --enable-werror was given.
 if test "${enable_werror+set}" = set; then :
diff --git a/sim/sh/configure.ac b/sim/sh/configure.ac
index 4417ba4..dd975d3 100644
--- a/sim/sh/configure.ac
+++ b/sim/sh/configure.ac
@@ -5,7 +5,6 @@
 SIM_AC_COMMON
 
 SIM_AC_OPTION_ENDIAN
-SIM_AC_OPTION_ALIGNMENT(STRICT_ALIGNMENT,STRICT_ALIGNMENT)
 SIM_AC_OPTION_WARNINGS(no)
 
 SIM_AC_OUTPUT
diff --git a/sim/sh/interp.c b/sim/sh/interp.c
index 87fb863..264e9b1 100644
--- a/sim/sh/interp.c
+++ b/sim/sh/interp.c
@@ -2358,6 +2358,9 @@
   SIM_DESC sd = sim_state_alloc (kind, cb);
   SIM_ASSERT (STATE_MAGIC (sd) == SIM_MAGIC_NUMBER);
 
+  /* Set default options before parsing user options.  */
+  current_alignment = STRICT_ALIGNMENT;
+
   /* The cpu data is kept in a separately allocated chunk of memory.  */
   if (sim_cpu_alloc_all (sd, 1) != SIM_RC_OK)
     {
diff --git a/sim/v850/ChangeLog b/sim/v850/ChangeLog
index 9526fca..0536ccb 100644
--- a/sim/v850/ChangeLog
+++ b/sim/v850/ChangeLog
@@ -1,5 +1,9 @@
 2021-06-12  Mike Frysinger  <vapier@gentoo.org>
 
+	* configure.ac: Delete call to SIM_AC_OPTION_ALIGNMENT.
+
+2021-06-12  Mike Frysinger  <vapier@gentoo.org>
+
 	* aclocal.m4, config.in, configure: Regenerate.
 
 2021-06-12  Mike Frysinger  <vapier@gentoo.org>
diff --git a/sim/v850/aclocal.m4 b/sim/v850/aclocal.m4
index 9c220ef..8121fe6 100644
--- a/sim/v850/aclocal.m4
+++ b/sim/v850/aclocal.m4
@@ -110,7 +110,6 @@
 m4_include([../../ltversion.m4])
 m4_include([../../lt~obsolete.m4])
 m4_include([../m4/sim_ac_common.m4])
-m4_include([../m4/sim_ac_option_alignment.m4])
 m4_include([../m4/sim_ac_option_bitsize.m4])
 m4_include([../m4/sim_ac_option_endian.m4])
 m4_include([../m4/sim_ac_option_hardware.m4])
diff --git a/sim/v850/configure b/sim/v850/configure
index 5b27076..9e1dfa5 100755
--- a/sim/v850/configure
+++ b/sim/v850/configure
@@ -634,6 +634,7 @@
 sim_default_model
 sim_scache
 sim_float
+sim_alignment
 cgen_breaks
 MAINT
 MAINTAINER_MODE_FALSE
@@ -753,8 +754,7 @@
 sim_hw_objs
 sim_hw_cflags
 sim_endian
-sim_bitsize
-sim_alignment'
+sim_bitsize'
 ac_subst_files=''
 ac_user_opts='
 enable_option_checking
@@ -769,7 +769,6 @@
 enable_maintainer_mode
 enable_sim_inline
 enable_sim_endian
-enable_sim_alignment
 enable_sim_reserved_bits
 enable_sim_bitsize
 enable_werror
@@ -1416,9 +1415,6 @@
                           Specify which functions should be inlined
   --enable-sim-endian=endian
                           Specify target byte endian orientation
-  --enable-sim-alignment=align
-                          Specify strict, nonstrict or forced alignment of
-                          memory accesses
   --enable-sim-reserved-bits
                           Specify whether to check reserved bits in
                           instruction
@@ -10754,7 +10750,7 @@
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 10757 "configure"
+#line 10753 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -10860,7 +10856,7 @@
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 10863 "configure"
+#line 10859 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -11202,52 +11198,6 @@
 fi
 fi
 
-wire_alignment=""
-default_alignment="NONSTRICT_ALIGNMENT"
-
-# Check whether --enable-sim-alignment was given.
-if test "${enable_sim_alignment+set}" = set; then :
-  enableval=$enable_sim_alignment; case "${enableval}" in
-  strict | STRICT)       sim_alignment="-DWITH_ALIGNMENT=STRICT_ALIGNMENT";;
-  nonstrict | NONSTRICT) sim_alignment="-DWITH_ALIGNMENT=NONSTRICT_ALIGNMENT";;
-  forced | FORCED)       sim_alignment="-DWITH_ALIGNMENT=FORCED_ALIGNMENT";;
-  yes) if test x"$wire_alignment" != x; then
-	 sim_alignment="-DWITH_ALIGNMENT=${wire_alignment}"
-       else
-         if test x"$default_alignment" != x; then
-           sim_alignment="-DWITH_ALIGNMENT=${default_alignment}"
-         else
-	   echo "No hard-wired alignment for target $target" 1>&6
-	   sim_alignment="-DWITH_ALIGNMENT=0"
-         fi
-       fi;;
-  no)  if test x"$default_alignment" != x; then
-	 sim_alignment="-DWITH_DEFAULT_ALIGNMENT=${default_alignment}"
-       else
-         if test x"$wire_alignment" != x; then
-	   sim_alignment="-DWITH_DEFAULT_ALIGNMENT=${wire_alignment}"
-         else
-           echo "No default alignment for target $target" 1>&6
-           sim_alignment="-DWITH_DEFAULT_ALIGNMENT=0"
-         fi
-       fi;;
-  *)   as_fn_error $? "\"Unknown value $enableval passed to --enable-sim-alignment\"" "$LINENO" 5; sim_alignment="";;
-esac
-if test x"$silent" != x"yes" && test x"$sim_alignment" != x""; then
-  echo "Setting alignment flags = $sim_alignment" 6>&1
-fi
-else
-  if test x"$default_alignment" != x; then
-  sim_alignment="-DWITH_DEFAULT_ALIGNMENT=${default_alignment}"
-else
-  if test x"$wire_alignment" != x; then
-    sim_alignment="-DWITH_ALIGNMENT=${wire_alignment}"
-  else
-    sim_alignment=
-  fi
-fi
-fi
-
 
 default_sim_reserved_bits="1"
 # Check whether --enable-sim-reserved-bits was given.
diff --git a/sim/v850/configure.ac b/sim/v850/configure.ac
index 9a7c1ec..6d586f1 100644
--- a/sim/v850/configure.ac
+++ b/sim/v850/configure.ac
@@ -5,7 +5,6 @@
 SIM_AC_COMMON
 
 SIM_AC_OPTION_ENDIAN(LITTLE)
-SIM_AC_OPTION_ALIGNMENT(,NONSTRICT_ALIGNMENT)
 SIM_AC_OPTION_RESERVED_BITS
 SIM_AC_OPTION_BITSIZE(32,31)