[llvm-commits] [llvm] r78508 - in /llvm/trunk: lib/Target/X86/X86CodeEmitter.cpp lib/Target/X86/X86InstrFormats.td lib/Target/X86/X86InstrInfo.cpp lib/Target/X86/X86InstrInfo.h lib/Target/X86/X86InstrSSE.td test/CodeGen/X86/sse42.ll
Eric Christopher
echristo at apple.com
Mon Aug 10 14:46:13 PDT 2009
Resending as me this time :)
On Aug 10, 2009, at 2:38 PM, Eric Christopher wrote:
>
> On Aug 8, 2009, at 5:13 PM, Eli Friedman wrote:
>
>> On Sat, Aug 8, 2009 at 2:55 PM, Eric
>> Christopher<echristo at apple.com> wrote:
>>> + // TODO: These correspond to int_x86_sse42_crc32_8 but with a
>>> 64-bit src
>>> + // and dest, figure it out.
>>> + //def CRC64m8 : SS42FI<0xF1, MRMSrcMem, (outs GR64:$dst),
>>> + // (ins GR32:$src1, i8mem:$src2),
>>> + // "crc32 \t{$src2, $src1|$src1, $src2}",
>>> + // [(set GR64:$dst,
>>> + // (int_x86_sse42_crc32_8 GR64:$src1,
>>> + // (load addr:$src2)))]>,
>>> + // OpSize, REX_W;
>>> + //def CRC64r8 : SS42FI<0xF1, MRMSrcReg, (outs GR64:$dst),
>>> + // (ins GR64:$src1, GR8:$src2),
>>> + // "crc32 \t{$src2, $src1|$src1, $src2}",
>>> + // [(set GR64:$dst,
>>> + // (int_x86_sse42_crc32_8 GR32:$src1,
>>> GR8:$src2))]>,
>>> + // OpSize, REX_W;
>>> +}
>>
>> Hmm... if the encoding is correct, I'd suggest just getting rid of
>> the
>> pattern and uncommenting it. There isn't any situation where we
>> would
>> actually want to use these forms; the effect is exactly the same as
>> CRC32r/m8.
>
> Yeah, wasn't sure since the target register size is different, but
> seems reasonable.
-eric
More information about the llvm-commits
mailing list