Lines Matching refs:OpcodeStr
157 class JMP_RR<BPFJumpOp Opc, string OpcodeStr, PatLeaf Cond>
161 "if $dst "#OpcodeStr#" $src goto $BrDst",
173 class JMP_RI<BPFJumpOp Opc, string OpcodeStr, PatLeaf Cond>
177 "if $dst "#OpcodeStr#" $imm goto $BrDst",
189 class JMP_RR_32<BPFJumpOp Opc, string OpcodeStr, PatLeaf Cond>
193 "if $dst "#OpcodeStr#" $src goto $BrDst",
205 class JMP_RI_32<BPFJumpOp Opc, string OpcodeStr, PatLeaf Cond>
209 "if $dst "#OpcodeStr#" $imm goto $BrDst",
221 multiclass J<BPFJumpOp Opc, string OpcodeStr, PatLeaf Cond, PatLeaf Cond32> {
222 def _rr : JMP_RR<Opc, OpcodeStr, Cond>;
223 def _ri : JMP_RI<Opc, OpcodeStr, Cond>;
224 def _rr_32 : JMP_RR_32<Opc, OpcodeStr, Cond32>;
225 def _ri_32 : JMP_RI_32<Opc, OpcodeStr, Cond32>;
265 multiclass ALU<BPFArithOp Opc, string OpcodeStr, SDNode OpNode> {
269 "$dst "#OpcodeStr#" $src",
274 "$dst "#OpcodeStr#" $imm",
279 "$dst "#OpcodeStr#" $src",
284 "$dst "#OpcodeStr#" $imm",
322 class LD_IMM64<bits<4> Pseudo, string OpcodeStr>
326 "$dst "#OpcodeStr#" ${imm} ll",
398 class STORE<BPFWidthModifer SizeOp, string OpcodeStr, list<dag> Pattern>
402 "*("#OpcodeStr#" *)($addr) = $src",
413 class STOREi64<BPFWidthModifer Opc, string OpcodeStr, PatFrag OpNode>
414 : STORE<Opc, OpcodeStr, [(OpNode i64:$src, ADDRri:$addr)]>;
424 class LOAD<BPFWidthModifer SizeOp, string OpcodeStr, list<dag> Pattern>
428 "$dst = *("#OpcodeStr#" *)($addr)",
439 class LOADi64<BPFWidthModifer SizeOp, string OpcodeStr, PatFrag OpNode>
440 : LOAD<SizeOp, OpcodeStr, [(set i64:$dst, (OpNode ADDRri:$addr))]>;
470 class BRANCH<BPFJumpOp Opc, string OpcodeStr, list<dag> Pattern>
474 !strconcat(OpcodeStr, " $BrDst"),
482 class CALL<string OpcodeStr>
486 !strconcat(OpcodeStr, " $BrDst"),
494 class CALLX<string OpcodeStr>
498 !strconcat(OpcodeStr, " $BrDst"),
519 class NOP_I<string OpcodeStr>
523 !strconcat(OpcodeStr, "\t$imm"),
534 class RET<string OpcodeStr>
538 !strconcat(OpcodeStr, ""),
623 class XADD<BPFWidthModifer SizeOp, string OpcodeStr, PatFrag OpNode>
627 "lock *("#OpcodeStr#" *)($addr) += $val",
693 class XFALU64<BPFWidthModifer SizeOp, BPFArithOp Opc, string OpcodeStr,
698 "$dst = atomic_fetch_"#OpcStr#"(("#OpcodeStr#" *)($addr), $val)",
711 class XFALU32<BPFWidthModifer SizeOp, BPFArithOp Opc, string OpcodeStr,
716 "$dst = atomic_fetch_"#OpcStr#"(("#OpcodeStr#" *)($addr), $val)",
751 class XCHG<BPFWidthModifer SizeOp, string OpcodeStr, PatFrag OpNode>
755 "$dst = xchg_"#OpcodeStr#"($addr, $val)",
768 class XCHG32<BPFWidthModifer SizeOp, string OpcodeStr, PatFrag OpNode>
772 "$dst = xchg32_"#OpcodeStr#"($addr, $val)",
794 class CMPXCHG<BPFWidthModifer SizeOp, string OpcodeStr, PatFrag OpNode>
798 "r0 = cmpxchg_"#OpcodeStr#"($addr, r0, $new)",
811 class CMPXCHG32<BPFWidthModifer SizeOp, string OpcodeStr, PatFrag OpNode>
815 "w0 = cmpxchg32_"#OpcodeStr#"($addr, w0, $new)",
838 class BSWAP<bits<32> SizeOp, string OpcodeStr, BPFSrcType SrcType, list<dag> Pattern>
842 "$dst = "#OpcodeStr#" $src",
867 class LOAD_ABS<BPFWidthModifer SizeOp, string OpcodeStr, Intrinsic OpNode>
871 "r0 = *("#OpcodeStr#" *)skb[$imm]",
879 class LOAD_IND<BPFWidthModifer SizeOp, string OpcodeStr, Intrinsic OpNode>
883 "r0 = *("#OpcodeStr#" *)skb[$val]",
919 class STORE32<BPFWidthModifer SizeOp, string OpcodeStr, list<dag> Pattern>
923 "*("#OpcodeStr#" *)($addr) = $src",
934 class STOREi32<BPFWidthModifer Opc, string OpcodeStr, PatFrag OpNode>
935 : STORE32<Opc, OpcodeStr, [(OpNode i32:$src, ADDRri:$addr)]>;
943 class LOAD32<BPFWidthModifer SizeOp, string OpcodeStr, list<dag> Pattern>
947 "$dst = *("#OpcodeStr#" *)($addr)",
958 class LOADi32<BPFWidthModifer SizeOp, string OpcodeStr, PatFrag OpNode>
959 : LOAD32<SizeOp, OpcodeStr, [(set i32:$dst, (OpNode ADDRri:$addr))]>;