diff options
Diffstat (limited to 'lib/Target/Hexagon/HexagonIntrinsics.td')
-rw-r--r-- | lib/Target/Hexagon/HexagonIntrinsics.td | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/lib/Target/Hexagon/HexagonIntrinsics.td b/lib/Target/Hexagon/HexagonIntrinsics.td index 99f59d5ea669..7d3f9d92cbd4 100644 --- a/lib/Target/Hexagon/HexagonIntrinsics.td +++ b/lib/Target/Hexagon/HexagonIntrinsics.td @@ -1843,13 +1843,18 @@ class si_MInst_didi<string opc, Intrinsic IntID> !strconcat("$dst = ", !strconcat(opc , "($src1, $src2)")), [(set IntRegs:$dst, (IntID DoubleRegs:$src1, DoubleRegs:$src2))]>; + +class T_RI_pat <InstHexagon MI, Intrinsic IntID> + : Pat<(IntID (i32 IntRegs:$Rs), imm:$It), + (MI IntRegs:$Rs, imm:$It)>; + // // LDInst classes. // -let mayLoad = 1, neverHasSideEffects = 1 in +let mayLoad = 1, hasSideEffects = 0 in class di_LDInstPI_diu4<string opc, Intrinsic IntID> : LDInstPI<(outs IntRegs:$dst, DoubleRegs:$dst2), - (ins IntRegs:$src1, IntRegs:$src2, CRRegs:$src3, s4Imm:$offset), + (ins IntRegs:$src1, IntRegs:$src2, CtrRegs:$src3, s4Imm:$offset), "$dst2 = memd($src1++#$offset:circ($src3))", [], "$src1 = $dst">; |