[llvm-commits] [llvm] r109434 - /llvm/trunk/lib/Target/X86/X86InstrInfo.td

Bruno Cardoso Lopes bruno.cardoso at gmail.com
Fri Jul 30 09:21:59 PDT 2010


This is actually a typo, thanks Jim

On Friday, July 30, 2010, Jim Grosbach <grosbach at apple.com> wrote:
> Minor thing. Should work as-is, but the predicates should be using "&&" rather than "&".
>
> -Jim
>
> On Jul 26, 2010, at 2:01 PM, Bruno Cardoso Lopes wrote:
>
>> Author: bruno
>> Date: Mon Jul 26 16:01:18 2010
>> New Revision: 109434
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=109434&view=rev
>> Log:
>> Temporary hack to let codegen assert or generate poor code in case
>> we are using AVX and no AVX version of the desired intruction is present,
>> this is better for incremental dev (without fallbacks it's easier to spot
>> what's missing). Not sure this is the best hack thought (we can also disable
>> all HasSSE* predicates by dinamically marking them 'false' if AVX is present)
>>
>>
>> Modified:
>>    llvm/trunk/lib/Target/X86/X86InstrInfo.td
>>
>> Modified: llvm/trunk/lib/Target/X86/X86InstrInfo.td
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86InstrInfo.td?rev=109434&r1=109433&r2=109434&view=diff
>> ==============================================================================
>> --- llvm/trunk/lib/Target/X86/X86InstrInfo.td (original)
>> +++ llvm/trunk/lib/Target/X86/X86InstrInfo.td Mon Jul 26 16:01:18 2010
>> @@ -348,14 +348,19 @@
>> // X86 Instruction Predicate Definitions.
>> def HasCMov      : Predicate<"Subtarget->hasCMov()">;
>> def NoCMov       : Predicate<"!Subtarget->hasCMov()">;
>> -def HasMMX       : Predicate<"Subtarget->hasMMX()">;
>> -def HasSSE1      : Predicate<"Subtarget->hasSSE1()">;
>> -def HasSSE2      : Predicate<"Subtarget->hasSSE2()">;
>> -def HasSSE3      : Predicate<"Subtarget->hasSSE3()">;
>> -def HasSSSE3     : Predicate<"Subtarget->hasSSSE3()">;
>> -def HasSSE41     : Predicate<"Subtarget->hasSSE41()">;
>> -def HasSSE42     : Predicate<"Subtarget->hasSSE42()">;
>> -def HasSSE4A     : Predicate<"Subtarget->hasSSE4A()">;
>> +
>> +// FIXME: temporary hack to let codegen assert or generate poor code in case
>> +// no AVX version of the desired intructions is present, this is better for
>> +// incremental dev (without fallbacks it's easier to spot what's missing)
>> +def HasMMX       : Predicate<"Subtarget->hasMMX() & !Subtarget->hasAVX()">;
>> +def HasSSE1      : Predicate<"Subtarget->hasSSE1() & !Subtarget->hasAVX()">;
>> +def HasSSE2      : Predicate<"Subtarget->hasSSE2() & !Subtarget->hasAVX()">;
>> +def HasSSE3      : Predicate<"Subtarget->hasSSE3() & !Subtarget->hasAVX()">;
>> +def HasSSSE3     : Predicate<"Subtarget->hasSSSE3() & !Subtarget->hasAVX()">;
>> +def HasSSE41     : Predicate<"Subtarget->hasSSE41() & !Subtarget->hasAVX()">;
>> +def HasSSE42     : Predicate<"Subtarget->hasSSE42() & !Subtarget->hasAVX()">;
>> +def HasSSE4A     : Predicate<"Subtarget->hasSSE4A() & !Subtarget->hasAVX()">;
>> +
>> def HasAVX       : Predicate<"Subtarget->hasAVX()">;
>> def HasCLMUL     : Predicate<"Subtarget->hasCLMUL()">;
>> def HasFMA3      : Predicate<"Subtarget->hasFMA3()">;
>>
>>
>> _______________________________________________
>> llvm-commits mailing list
>> llvm-commits at cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>
>

-- 
Bruno Cardoso Lopes
http://www.brunocardoso.cc




More information about the llvm-commits mailing list