codegen bug with SSE autovectorization
codegen bug with SSE autovectorization
- Subject: codegen bug with SSE autovectorization
- From: "Elron Yellin" <email@hidden>
- Date: Thu, 15 Jun 2006 10:57:15 -0400
There is a codegen bug in Apple's gcc with SSE autovectorization.
Should the compiler ever decide to vectorize a loop with logical shift
operations, it will generate the wrong shift constant. The problem is
that the SSE2 logical shift instruction takes a single 128 bit shift
value, but Apple's gcc is treating the shift operand as a vector of N
shift values. So for the case of a double word shift, instead of
shifting by, eg, 0x12 it shifts by 0x00000012000000120000001200000012,
and the result is of course always zero.
Apparently this bug does not exist in the FSF gcc.
(radar 4583078)
Elron
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Xcode-users mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden