]> code.delx.au - gnu-emacs/blobdiff - src/lisp.h
Use __builtin_assume_aligned on untagged Lisp vals
[gnu-emacs] / src / lisp.h
index 1fc6130be0b1fc4f899ab31523e2d280e12fbcd5..4042f4decb13017bb00e6bdb75c5b1c0d5461c10 100644 (file)
@@ -341,7 +341,9 @@ error !;
      (struct Lisp_Symbol *) ((intptr_t) XLI (a) - Lisp_Symbol \
                             + (char *) lispsym))
 # define lisp_h_XTYPE(a) ((enum Lisp_Type) (XLI (a) & ~VALMASK))
-# define lisp_h_XUNTAG(a, type) ((void *) (intptr_t) (XLI (a) - (type)))
+# define lisp_h_XUNTAG(a, type) \
+    __builtin_assume_aligned ((void *) (intptr_t) (XLI (a) - (type)), \
+                             GCALIGNMENT)
 #endif
 
 /* When compiling via gcc -O0, define the key operations as macros, as