Messages in this thread | | | Date | Tue, 21 Apr 2020 10:55:16 -0500 | From | Segher Boessenkool <> | Subject | Re: [PATCH 2/5] powerpc: Replace _ALIGN_DOWN() by ALIGN_DOWN() |
| |
Hi!
On Tue, Apr 21, 2020 at 01:04:05AM +0000, Joel Stanley wrote: > On Mon, 20 Apr 2020 at 18:38, Christophe Leroy <christophe.leroy@c-s.fr> wrote: > > _ALIGN_DOWN() is specific to powerpc > > ALIGN_DOWN() is generic and does the same > > > > Replace _ALIGN_DOWN() by ALIGN_DOWN() > > This one is a bit less obvious. It becomes (leaving the typeof's alone > for clarity): > > -((addr)&(~((typeof(addr))(size)-1))) > +((((addr) - ((size) - 1)) + ((typeof(addr))(size) - 1)) & > ~((typeof(addr))(size)-1)) > > Which I assume the compiler will sort out?
[ This is line-wrapped, something in your mailer? Took me a bit to figure out the - and + are diff -u things :-) ]
In the common case where size is a constant integer power of two, the compiler will have no problem with this. But why do so complicated?
Why are the casts there, btw?
Segher
| |