Re: [COMPAT] Add compat_merge64 helper

!MAILaRCHIVE_VOTE_RePLACE
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: Heiko Carstens <heiko.carstens@...>
Cc: Kyle McMartin <kyle@...>, <linux-arch@...>, <linux-kernel@...>
Date: Wednesday, October 3, 2007 - 8:12 am

On Sat, Sep 29, 2007 at 11:48:52AM +0200, Heiko Carstens wrote:


This funny macro gets away without any extra headers or #ifdef messiness:

#define merge_64(r1,r2)							\
({									\
	union {								\
		int __words[2];						\
		long long	__dword;				\
	} __u = {							\
		.__words = { (r1), (r2) }				\
	};								\
									\
	__u.__dword;							\
})

Thanks to gcc doing bogus sign and zero extensions it compiles into
slightly larger code for MIPS but that may not be an issue on other
architectures.

   Ralf
-
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[COMPAT] Add compat_merge64 helper, Kyle McMartin, (Fri Sep 28, 6:33 pm)
Re: [COMPAT] Add compat_merge64 helper, Heiko Carstens, (Sat Sep 29, 5:48 am)
Re: [COMPAT] Add compat_merge64 helper, Ralf Baechle, (Wed Oct 3, 8:12 am)
Re: [COMPAT] Add compat_merge64 helper, Arnd Bergmann, (Fri Sep 28, 7:38 pm)
Re: [COMPAT] Add compat_merge64 helper, Kyle McMartin, (Fri Sep 28, 8:01 pm)
Re: [COMPAT] Add compat_merge64 helper, Arnd Bergmann, (Fri Sep 28, 7:52 pm)
Re: [COMPAT] Add compat_merge64 helper, Kyle McMartin, (Fri Sep 28, 8:02 pm)
Re: [COMPAT] Add compat_merge64 helper, Paul Mundt, (Sat Sep 29, 3:23 am)
[PATCH] Generic compat_sys_fallocate, Kyle McMartin, (Fri Sep 28, 6:33 pm)
Re: [PATCH] Generic compat_sys_fallocate, Geert Uytterhoeven, (Sat Sep 29, 5:11 am)