This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH, v8] Vectorized _cpp_clean_line
On 08/22/2010 02:48 AM, Andi Kleen wrote:
> Thanks. To be honest I'm not sure there are enough non SSE2 x86 boxes
> around used for compiling that makes the MMX variant worth keeping around.
> Perhaps with only three alternatives the if would work again.
> But it's nice that you wrote it.
Honestly, the code generation didn't look great even with just
SSE2 + SSE4.2. That probably points to a problem with too much
hoisting.
That said, it's pretty hard to measure things at this point,
and it just feels cleaner to do via indirection.
>> + if (__builtin_expect (end - s < 16, 0)
>> + && __builtin_expect ((si & 0xfff) > 0xff0, 0))
>
> OT but I thought __builtin_expect supported &&. Not true?
I really don't know what happens if you put the B_E on the outside.
>> + /* ??? The builtin doesn't understand that the PCMPESTRI read from
>
> Can we fix the builtin?
Possibly.
> I'm wondering, could we add a new builtin that supports returning
> the flags directly?
Well, we have a builtin that returns the flags, but not the flags
and the value in ecx at the same time. I thought about trying to
add that, but didn't get far.
r~