diff --git a/ChangeLog b/ChangeLog
index 0b650a5e6e670255c78f6a83b904a433dfb0b832..483f337f2d4b43c96b0fdd5ea2fbbe8383bd123e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2012-03-31  Niels Möller  <nisse@lysator.liu.se>
+
+	* macros.h (ROTL32): New macro, to replace (almost) all other
+	rotation macros.
+
 2012-03-30  Niels Möller  <nisse@lysator.liu.se>
 
 	* nettle-internal.c (nettle_salsa20): Cipher struct for
diff --git a/macros.h b/macros.h
index 9a57b15082f19aef58cfb4128128456dac8fd410..f12deab4aefa93aacbee992fc47e53c1d843f454 100644
--- a/macros.h
+++ b/macros.h
@@ -119,6 +119,8 @@ do {						\
 		  (dst) += (blocksize),		\
 		  (src) += (blocksize)) )
 
+#define ROTL32(n,x) ((((x))<<(n)) | (((x))>>(32-(n))))
+
 /* Requires that size >= 2 */
 #define INCREMENT(size, ctr)			\
   do {						\