[llvm-commits] [llvm] r93242 - in /llvm/trunk: lib/Target/X86/X86FastISel.cpp test/CodeGen/X86/fast-isel.ll
Evan Cheng
evan.cheng at apple.com
Tue Jan 12 12:56:59 PST 2010
On Jan 12, 2010, at 11:39 AM, Jakob Stoklund Olesen wrote:
>
> On Jan 12, 2010, at 9:46 AM, Duncan Sands wrote:
>
>> Author: baldrick
>> Date: Tue Jan 12 11:46:16 2010
>> New Revision: 93242
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=93242&view=rev
>> Log:
>> Revert commit 93204, since it causes the assembler to barf
>> on x86-64 linux with messages like this:
>> Error: Incorrect register `%r14' used with `l' suffix
>
>
>
>> -bool X86FastISel::X86SelectOR(Instruction *I) {
>> - // FIXME: This is necessary because tablegen stopped generate fastisel
>> - // patterns after 93152 and 93191 (which turns OR to ADD if the set
>> - // bits in the source operands are known not to overlap).
>> - const TargetRegisterClass *RC = NULL;
>> - unsigned OpReg = 0, OpImm = 0;
>> - if (I->getType()->isInteger(16)) {
>> - RC = X86::GR16RegisterClass;
>> - OpReg = X86::OR16rr; OpImm = X86::OR16ri;
>> - } else if (I->getType()->isInteger(32)) {
>> - RC = X86::GR32RegisterClass;
>> - OpReg = X86::OR32rr; OpImm = X86::OR32ri;
>> - } else if (I->getType()->isInteger(64)) {
>> - RC = X86::GR64RegisterClass;
>> - OpReg = X86::OR32rr; OpImm = X86::OR32ri;
>
> Should this be OR64rr / OR64ri?
>
> That would explain the errors.
Yes. But I've since fixed it differently.
Evan
>
> /jakob
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
More information about the llvm-commits
mailing list