Linus Torvalds writes: (Summary) I tried to do the same thing in fs/namespace.c where it does
the reverse bit translation, and gcc makes a _horrible_ mess of it and
actually makes the code much worse because for some reason the pattern
doesn't trigger.
doesn't trigger.
So this gcc optimization is apparently pretty damn fragile in general. It triggers for the trivial cases, but then other code around it can confuse it badly.
confuse it badly.
So I don't think I'll touch this, it seems to not be really reliably something that makes gcc generate what should be the obvious code..
doesn't trigger.
So this gcc optimization is apparently pretty damn fragile in general. It triggers for the trivial cases, but then other code around it can confuse it badly.
confuse it badly.
So I don't think I'll touch this, it seems to not be really reliably something that makes gcc generate what should be the obvious code..