[LLVMdev] how to define extending vector load patterns?

Heikki Kultala hkultala at cs.tut.fi
Tue Oct 30 08:38:20 PDT 2012


On 10/30/2012 04:52 PM, Tim Northover wrote:
> Hi Heikki,
>
>> just using [(set V2I32Regs:$result, (sextloadv2i8 ADDRrr:$address))]
>>
>> gives me error that extloav2i8 is not defined.
>
> I don't have a target to test this on, but looking at
> include/llvm/Target/TargetSelectionDAG.td, there is an "sextloadvi8"
> PatFrag, at least. I'd suggest a pattern along the lines of:
>
> (set V2I32Regs:$result, (v2i32 (sextloadvi8 ADDRrr:$address)))

Thanks, now it accepts the pattern, but it still does not work.

LLVM ERROR: Cannot select: 0x1b98410: v2i32,ch = load 0x2bc86a0, 
0x1b9d460, 0x25ceb90<LD2[FIXED_STACK7](align=4), sext from v2i8>[ID=365]




More information about the llvm-dev mailing list