[llvm-dev] error: In anonymous_4820: Unrecognized node 'VRR128'!

Craig Topper via llvm-dev llvm-dev at lists.llvm.org
Tue Jul 11 07:55:50 PDT 2017


You need a type inside this bitconvert. The outer type is the destination
type for the bitconvert but it also needs an input type

(store (v32i32 (bitconvert VRR128:$src)), addr:$dst)

On Tue, Jul 11, 2017 at 7:27 AM hameeza ahmed <hahmed2305 at gmail.com> wrote:

> hello,
> i need to use v32i32 and v32f32 in store instructions.
> I defined my register as;
>
> def VRR128 : RegisterClass<"X86", [v32i32, v32f32],
>                           1024, (add R_0_V_0, R_1_V_0, R_2_V_0)>;
>
> def STORE_DWORD : I<0x70, MRMDestMem, (outs), (ins i2048mem:$dst,
> VRR128:$src),
>                     "STORE_DWORD\t{$src, $dst|$dst, $src}",
>                     [(store (v32i32 (bitconvert VRR128:$src)),
> addr:$dst)], IIC_MOV_MEM>, TA;
>
>
>
> def: Pat<(store (v32f32 (bitconvert (VRR128:$src))), addr:$dst),
> (STORE_DWORD addr:$dst, VRR128:$src)>;
>
> but getting the following error;
> STORE_DWORD: (st (bitconvert:v32i32 VRR128:{v32i32:v32f32}:$src),
> addr:iPTR:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>>
> Included from /PIM/lib/Target/X86/X86.td:832:
> /lib/Target/X86/X86InstrInfo.td:3166:1: error: In STORE_DWORD: Could not
> infer all types in pattern!
> def STORE_DWORD : I<0x70, MRMDestMem, (outs), (ins i2048mem:$dst,
> VRR128:$src),
> ^
> anonymous_4820: /PIM/lib/Target/X86/X86.td:832:
> /lib/Target/X86/X86InstrInfo.td:3173:1: error: In anonymous_4820:
> Unrecognized node 'VRR128'!
>
> Please help.
>
> Thank You
>
> --
~Craig
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20170711/3fe0de04/attachment.html>


More information about the llvm-dev mailing list