[LLVMdev] 128-bit PXOR requires SSE2

Eli Friedman eli.friedman at gmail.com
Fri Jan 20 14:55:28 PST 2012


On Fri, Jan 20, 2012 at 2:47 PM, Nicolas Capens
<nicolas.capens at gmail.com> wrote:
> Hi all,
>
> I think I found a bug in LLVM 3.0: When compiling for a target without
> SSE2 support, there were some 128-bit PXOR instructions in the generated
> code.
>
> I traced it down to the following definition in X86InstrSSE.td:
>
>   def FsFLD0SS : I<0xEF, MRMInitReg, (outs FR32:$dst), (ins), "",
>                    [(set FR32:$dst, fp32imm0)]>,
>                    Requires<[HasSSE1]>, TB, OpSize;
>
> I tried replacing the HasSSE1 with a HasSSE2 but that didn't do the
> trick. I noticed that TOT has a different definition and I tried
> substituting that as well but again no luck. Is there a simple way to
> make it work with LLVM 3.0 or should I consider updating to a later version?

That particular issue doesn't look familiar; if you can reproduce with
trunk, please file a bug report.

-Eli




More information about the llvm-dev mailing list