Displaying 8 results from an estimated 8 matches for "anh_0_7".
2016 Mar 30
2
Instruction selection pattern for intrinsic returning llvm_any_ty
...on the original call
%_tmp3 = call %rec6 @llvm.phx.divm.u16.rec6(i16 %_tmp1, i16 %_tmp2)
has been lowered to
t6: i16,i16 = llvm.phx.divm.u16 TargetConstant:i16<3778>, t2, t4
and the instruction I want to select also returns two values
def divm16_pseudo : MyPseudoInst<
(outs aNh_0_7:$dst, aNh_0_7:$dst2),
(ins aNh_0_7:$src1, aNh_0_7:$src2)>;
Both outs are i16.
/Mikael
2016 Mar 30
2
Instruction selection pattern for intrinsic returning llvm_any_ty
...def int_phx_divm_u16 : Intrinsic<[llvm_any_ty],
[llvm_i16_ty, llvm_i16_ty],
[IntrNoMem]>;
that I want to translate to the following instruction during instruction
selection:
def divm16_pseudo : MyPseudoInst<
(outs aNh_0_7:$dst, aNh_0_7:$dst2),
(ins aNh_0_7:$src1, aNh_0_7:$src2)>;
So I've done a pattern the same way I've done for numerous other
intrinsics (that returns simple types like i16/i32 etc):
def : Pat<(int_phx_divm_u16 i16:$src1, i16:$src2),
(divm16_pseudo $src1, $src2)>;...
2016 Mar 30
0
Instruction selection pattern for intrinsic returning llvm_any_ty
...ec6 @llvm.phx.divm.u16.rec6(i16 %_tmp1, i16 %_tmp2)
>
> has been lowered to
>
> t6: i16,i16 = llvm.phx.divm.u16 TargetConstant:i16<3778>, t2, t4
>
> and the instruction I want to select also returns two values
>
> def divm16_pseudo : MyPseudoInst<
> (outs aNh_0_7:$dst, aNh_0_7:$dst2),
> (ins aNh_0_7:$src1, aNh_0_7:$src2)>;
>
> Both outs are i16.
>
> /Mikael
>
The intrinsic itself should define multiple IR outputs rather than using any ty. I’m also not sure if tablegen currently supports patterns with multiple results
-Matt
2016 Mar 30
2
Instruction selection pattern for intrinsic returning llvm_any_ty
...gt; [llvm_i16_ty, llvm_i16_ty],
>> [IntrNoMem]>;
>>
>> that I want to translate to the following instruction during instruction selection:
>>
>> def divm16_pseudo : MyPseudoInst<
>> (outs aNh_0_7:$dst, aNh_0_7:$dst2),
>> (ins aNh_0_7:$src1, aNh_0_7:$src2)>;
>>
>> So I've done a pattern the same way I've done for numerous other intrinsics (that returns simple types like i16/i32 etc):
>>
>> def : Pat<(int_phx_divm_u16 i16:$src1, i16:$src2),
>...
2016 Mar 30
0
Instruction selection pattern for intrinsic returning llvm_any_ty
...insic<[llvm_any_ty],
> [llvm_i16_ty, llvm_i16_ty],
> [IntrNoMem]>;
>
> that I want to translate to the following instruction during instruction selection:
>
> def divm16_pseudo : MyPseudoInst<
> (outs aNh_0_7:$dst, aNh_0_7:$dst2),
> (ins aNh_0_7:$src1, aNh_0_7:$src2)>;
>
> So I've done a pattern the same way I've done for numerous other intrinsics (that returns simple types like i16/i32 etc):
>
> def : Pat<(int_phx_divm_u16 i16:$src1, i16:$src2),
> (divm16_p...
2016 Mar 30
2
Instruction selection pattern for intrinsic returning llvm_any_ty
...tmp1, i16 %_tmp2)
>>
>> has been lowered to
>>
>> t6: i16,i16 = llvm.phx.divm.u16 TargetConstant:i16<3778>, t2, t4
>>
>> and the instruction I want to select also returns two values
>>
>> def divm16_pseudo : MyPseudoInst<
>> (outs aNh_0_7:$dst, aNh_0_7:$dst2),
>> (ins aNh_0_7:$src1, aNh_0_7:$src2)>;
>>
>> Both outs are i16.
>>
>> /Mikael
>>
>
> The intrinsic itself should define multiple IR outputs rather than using any ty.
But the intrinsic returns a record so in the input ll-file i...
2016 Mar 30
0
Instruction selection pattern for intrinsic returning llvm_any_ty
> On Mar 30, 2016, at 11:35, Mikael Holmén <mikael.holmen at ericsson.com> wrote:
>
> i16 (divm16_pseudo …)
>
> stuff?
>
> I've tried
> (i16, i16 (divm16_pseudo i16:$src1, i16:$src2)
> and
> ((i16, i16) (divm16_pseudo i16:$src1, i16:$src2)
> and a few other variants without managing to get it through.
>
> Thanks again,
> Mikael
Are you
2016 Mar 30
0
Instruction selection pattern for intrinsic returning llvm_any_ty
...t;> has been lowered to
>>>
>>> t6: i16,i16 = llvm.phx.divm.u16 TargetConstant:i16<3778>, t2, t4
>>>
>>> and the instruction I want to select also returns two values
>>>
>>> def divm16_pseudo : MyPseudoInst<
>>> (outs aNh_0_7:$dst, aNh_0_7:$dst2),
>>> (ins aNh_0_7:$src1, aNh_0_7:$src2)>;
>>>
>>> Both outs are i16.
>>>
>>> /Mikael
>>>
>>
>> The intrinsic itself should define multiple IR outputs rather than using any ty.
>
> But the intrins...