Lines Matching refs:src3

380                    (ins To.RC:$src1, From.RC:$src2, u8imm:$src3),
382 "$src3, $src2, $src1", "$src1, $src2, $src3",
383 (vinsert_insert:$src3 (To.VT To.RC:$src1),
386 (vinsert_for_mask:$src3 (To.VT To.RC:$src1),
392 (ins To.RC:$src1, From.MemOp:$src2, u8imm:$src3),
394 "$src3, $src2, $src1", "$src1, $src2, $src3",
395 (vinsert_insert:$src3 (To.VT To.RC:$src1),
398 (vinsert_for_mask:$src3 (To.VT To.RC:$src1),
661 (ins VR128X:$src1, VR128X:$src2, u8imm:$src3),
662 "vinsertps\t{$src3, $src2, $src1, $dst|$dst, $src1, $src2, $src3}",
663 [(set VR128X:$dst, (X86insertps VR128X:$src1, VR128X:$src2, timm:$src3))]>,
666 (ins VR128X:$src1, f32mem:$src2, u8imm:$src3),
667 "vinsertps\t{$src3, $src2, $src1, $dst|$dst, $src1, $src2, $src3}",
670 timm:$src3))]>,
1624 (ins _.RC:$src2, _.RC:$src3),
1625 OpcodeStr, "$src3, $src2", "$src2, $src3",
1626 (_.VT (X86VPermt2 _.RC:$src2, IdxVT.RC:$src1, _.RC:$src3)), 1>,
1631 (ins _.RC:$src2, _.MemOp:$src3),
1632 OpcodeStr, "$src3, $src2", "$src2, $src3",
1634 (_.VT (_.LdFrag addr:$src3)))), 1>,
1645 (ins _.RC:$src2, _.ScalarMemOp:$src3),
1646 OpcodeStr, !strconcat("${src3}", _.BroadcastStr,", $src2"),
1647 !strconcat("$src2, ${src3}", _.BroadcastStr ),
1649 IdxVT.RC:$src1,(_.VT (_.BroadcastLdFrag addr:$src3)))), 1>,
1714 _.RC:$src3),
1717 _.RC:$src2, _.RC:$src3)>;
1722 (_.LdFrag addr:$src3)),
1725 _.RC:$src2, addr:$src3)>;
1729 (_.BroadcastLdFrag addr:$src3)),
1732 _.RC:$src2, addr:$src3)>;
1746 (ins IdxVT.RC:$src2, _.RC:$src3),
1747 OpcodeStr, "$src3, $src2", "$src2, $src3",
1748 (_.VT (X86VPermt2 _.RC:$src1, IdxVT.RC:$src2, _.RC:$src3)), 1>,
1752 (ins IdxVT.RC:$src2, _.MemOp:$src3),
1753 OpcodeStr, "$src3, $src2", "$src2, $src3",
1755 (_.LdFrag addr:$src3))), 1>,
1764 (ins IdxVT.RC:$src2, _.ScalarMemOp:$src3),
1765 OpcodeStr, !strconcat("${src3}", _.BroadcastStr,", $src2"),
1766 !strconcat("$src2, ${src3}", _.BroadcastStr ),
1768 IdxVT.RC:$src2,(_.VT (_.BroadcastLdFrag addr:$src3)))), 1>,
6559 (ins _.RC:$src2, _.RC:$src3),
6560 OpcodeStr, "$src3, $src2", "$src2, $src3",
6561 (_.VT (OpNode _.RC:$src2, _.RC:$src1, _.RC:$src3)),
6562 (_.VT (MaskOpNode _.RC:$src2, _.RC:$src1, _.RC:$src3)), 1, 1>,
6566 (ins _.RC:$src2, _.MemOp:$src3),
6567 OpcodeStr, "$src3, $src2", "$src2, $src3",
6568 (_.VT (OpNode _.RC:$src2, _.RC:$src1, (_.LdFrag addr:$src3))),
6569 (_.VT (MaskOpNode _.RC:$src2, _.RC:$src1, (_.LdFrag addr:$src3))), 1, 0>,
6574 (ins _.RC:$src2, _.ScalarMemOp:$src3),
6575 OpcodeStr, !strconcat("${src3}", _.BroadcastStr,", $src2"),
6576 !strconcat("$src2, ${src3}", _.BroadcastStr ),
6578 _.RC:$src1,(_.VT (_.BroadcastLdFrag addr:$src3))),
6580 _.RC:$src1,(_.VT (_.BroadcastLdFrag addr:$src3))), 1, 0>,
6592 (ins _.RC:$src2, _.RC:$src3, AVX512RC:$rc),
6593 OpcodeStr, "$rc, $src3, $src2", "$src2, $src3, $rc",
6594 (_.VT ( OpNode _.RC:$src2, _.RC:$src1, _.RC:$src3, (i32 timm:$rc))),
6595 (_.VT ( OpNode _.RC:$src2, _.RC:$src1, _.RC:$src3, (i32 timm:$rc))), 1, 1>,
6654 (ins _.RC:$src2, _.RC:$src3),
6655 OpcodeStr, "$src3, $src2", "$src2, $src3",
6657 (_.VT (MaskOpNode _.RC:$src2, _.RC:$src3, _.RC:$src1)), 1, 1>,
6661 (ins _.RC:$src2, _.MemOp:$src3),
6662 OpcodeStr, "$src3, $src2", "$src2, $src3",
6663 (_.VT (OpNode _.RC:$src2, (_.LdFrag addr:$src3), _.RC:$src1)),
6664 (_.VT (MaskOpNode _.RC:$src2, (_.LdFrag addr:$src3), _.RC:$src1)), 1, 0>,
6669 (ins _.RC:$src2, _.ScalarMemOp:$src3),
6670 OpcodeStr, "${src3}"#_.BroadcastStr#", $src2",
6671 "$src2, ${src3}"#_.BroadcastStr,
6673 (_.VT (_.BroadcastLdFrag addr:$src3)),
6676 (_.VT (_.BroadcastLdFrag addr:$src3)),
6689 (ins _.RC:$src2, _.RC:$src3, AVX512RC:$rc),
6690 OpcodeStr, "$rc, $src3, $src2", "$src2, $src3, $rc",
6692 (_.VT (OpNode _.RC:$src2, _.RC:$src3, _.RC:$src1, (i32 timm:$rc))),
6750 (ins _.RC:$src2, _.RC:$src3),
6751 OpcodeStr, "$src3, $src2", "$src2, $src3",
6753 (_.VT (MaskOpNode _.RC:$src1, _.RC:$src3, _.RC:$src2)), 1, 1>,
6759 (ins _.RC:$src2, _.MemOp:$src3),
6760 OpcodeStr, "$src3, $src2", "$src2, $src3",
6761 (_.VT (OpNode (_.LdFrag addr:$src3), _.RC:$src1, _.RC:$src2)),
6762 (_.VT (MaskOpNode (_.LdFrag addr:$src3), _.RC:$src1, _.RC:$src2)), 1, 0>,
6769 (ins _.RC:$src2, _.ScalarMemOp:$src3),
6770 OpcodeStr, "${src3}"#_.BroadcastStr#", $src2",
6771 "$src2, ${src3}"#_.BroadcastStr,
6772 (_.VT (OpNode (_.VT (_.BroadcastLdFrag addr:$src3)),
6774 (_.VT (MaskOpNode (_.VT (_.BroadcastLdFrag addr:$src3)),
6787 (ins _.RC:$src2, _.RC:$src3, AVX512RC:$rc),
6788 OpcodeStr, "$rc, $src3, $src2", "$src2, $src3, $rc",
6790 (_.VT (OpNode _.RC:$src1, _.RC:$src3, _.RC:$src2, (i32 timm:$rc))),
6847 (ins _.RC:$src2, _.RC:$src3), OpcodeStr,
6848 "$src3, $src2", "$src2, $src3", (null_frag), 1, 1, 0, "_Int">,
6853 (ins _.RC:$src2, _.IntScalarMemOp:$src3), OpcodeStr,
6854 "$src3, $src2", "$src2, $src3", (null_frag), 1, 1, 0, "_Int">,
6860 (ins _.RC:$src2, _.RC:$src3, AVX512RC:$rc),
6861 OpcodeStr, "$rc, $src3, $src2", "$src2, $src3, $rc", (null_frag), 1, 1, 0, "_Int">,
6866 (ins _.FRC:$src1, _.FRC:$src2, _.FRC:$src3),
6868 "\t{$src3, $src2, $dst|$dst, $src2, $src3}"),
6871 (ins _.FRC:$src1, _.FRC:$src2, _.ScalarMemOp:$src3),
6873 "\t{$src3, $src2, $dst|$dst, $src2, $src3}"),
6879 (ins _.FRC:$src1, _.FRC:$src2, _.FRC:$src3, AVX512RC:$rc),
6881 "\t{$rc, $src3, $src2, $dst|$dst, $src2, $src3, $rc}"),
6896 _.FRC:$src3))),
6898 (_.ScalarLdFrag addr:$src3)))),
6900 _.FRC:$src3, (i32 timm:$rc)))), 0>;
6903 (set _.FRC:$dst, (_.EltVT (OpNode _.FRC:$src2, _.FRC:$src3,
6906 (_.ScalarLdFrag addr:$src3), _.FRC:$src1))),
6907 (set _.FRC:$dst, (_.EltVT (OpNodeRnd _.FRC:$src2, _.FRC:$src3,
6913 (set _.FRC:$dst, (_.EltVT (OpNode _.FRC:$src1, _.FRC:$src3,
6915 (set _.FRC:$dst, (_.EltVT (OpNode (_.ScalarLdFrag addr:$src3),
6917 (set _.FRC:$dst, (_.EltVT (OpNodeRnd _.FRC:$src1, _.FRC:$src3,
6953 _.FRC:$src3))))),
6956 (_.VT (COPY_TO_REGCLASS _.FRC:$src3, VR128X)))>;
6959 (Op _.FRC:$src2, _.FRC:$src3,
6963 (_.VT (COPY_TO_REGCLASS _.FRC:$src3, VR128X)))>;
6968 (_.ScalarLdFrag addr:$src3)))))),
6971 addr:$src3)>;
6975 (_.ScalarLdFrag addr:$src3), _.FRC:$src2))))),
6978 addr:$src3)>;
6981 (Op _.FRC:$src2, (_.ScalarLdFrag addr:$src3),
6985 addr:$src3)>;
6991 _.FRC:$src3),
6996 (_.VT (COPY_TO_REGCLASS _.FRC:$src3, VR128X)))>;
7002 (_.ScalarLdFrag addr:$src3)),
7006 (_.VT (COPY_TO_REGCLASS _.FRC:$src2, VR128X)), addr:$src3)>;
7011 (_.ScalarLdFrag addr:$src3), _.FRC:$src2),
7015 (_.VT (COPY_TO_REGCLASS _.FRC:$src2, VR128X)), addr:$src3)>;
7019 (MaskedOp _.FRC:$src2, _.FRC:$src3,
7025 (_.VT (COPY_TO_REGCLASS _.FRC:$src3, VR128X)))>;
7029 (MaskedOp _.FRC:$src2, (_.ScalarLdFrag addr:$src3),
7034 (_.VT (COPY_TO_REGCLASS _.FRC:$src2, VR128X)), addr:$src3)>;
7040 _.FRC:$src3),
7045 (_.VT (COPY_TO_REGCLASS _.FRC:$src3, VR128X)))>;
7049 (MaskedOp _.FRC:$src2, _.FRC:$src3,
7055 (_.VT (COPY_TO_REGCLASS _.FRC:$src3, VR128X)))>;
7061 (_.ScalarLdFrag addr:$src3)),
7065 (_.VT (COPY_TO_REGCLASS _.FRC:$src2, VR128X)), addr:$src3)>;
7070 _.FRC:$src2, (_.ScalarLdFrag addr:$src3)),
7074 (_.VT (COPY_TO_REGCLASS _.FRC:$src2, VR128X)), addr:$src3)>;
7078 (MaskedOp _.FRC:$src2, (_.ScalarLdFrag addr:$src3),
7083 (_.VT (COPY_TO_REGCLASS _.FRC:$src2, VR128X)), addr:$src3)>;
7089 _.FRC:$src3, (i32 timm:$rc)))))),
7092 (_.VT (COPY_TO_REGCLASS _.FRC:$src3, VR128X)), AVX512RC:$rc)>;
7095 (RndOp _.FRC:$src2, _.FRC:$src3,
7100 (_.VT (COPY_TO_REGCLASS _.FRC:$src3, VR128X)), AVX512RC:$rc)>;
7106 _.FRC:$src3, (i32 timm:$rc)),
7111 (_.VT (COPY_TO_REGCLASS _.FRC:$src3, VR128X)), AVX512RC:$rc)>;
7115 (RndOp _.FRC:$src2, _.FRC:$src3,
7122 (_.VT (COPY_TO_REGCLASS _.FRC:$src3, VR128X)), AVX512RC:$rc)>;
7128 _.FRC:$src3, (i32 timm:$rc)),
7133 (_.VT (COPY_TO_REGCLASS _.FRC:$src3, VR128X)), AVX512RC:$rc)>;
7137 (RndOp _.FRC:$src2, _.FRC:$src3,
7144 (_.VT (COPY_TO_REGCLASS _.FRC:$src3, VR128X)), AVX512RC:$rc)>;
7184 (ins _.RC:$src2, _.RC:$src3),
7185 OpcodeStr, "$src3, $src2", "$src2, $src3",
7186 (_.VT (OpNode _.RC:$src2, _.RC:$src3, _.RC:$src1)), 1, 1>,
7190 (ins _.RC:$src2, _.MemOp:$src3),
7191 OpcodeStr, "$src3, $src2", "$src2, $src3",
7192 (_.VT (OpNode _.RC:$src2, (_.LdFrag addr:$src3), _.RC:$src1))>,
7197 (ins _.RC:$src2, _.ScalarMemOp:$src3),
7198 OpcodeStr, !strconcat("${src3}", _.BroadcastStr,", $src2"),
7199 !strconcat("$src2, ${src3}", _.BroadcastStr ),
7201 (_.VT (_.BroadcastLdFrag addr:$src3)),
9608 (ins _.RC:$src1, _.RC:$src2, i32u8imm:$src3), OpcodeStr,
9609 "$src3, $src2, $src1", "$src1, $src2, $src3",
9611 (i32 timm:$src3))), "_Int">,
9616 (ins _.RC:$src1, _.RC:$src2, i32u8imm:$src3), OpcodeStr,
9617 "$src3, {sae}, $src2, $src1", "$src1, $src2, {sae}, $src3",
9619 (i32 timm:$src3))), "_Int">, EVEX_B,
9623 (ins _.RC:$src1, _.IntScalarMemOp:$src2, i32u8imm:$src3),
9625 "$src3, $src2, $src1", "$src1, $src2, $src3",
9627 (_.ScalarIntMemFrags addr:$src2), (i32 timm:$src3))), "_Int">,
9632 (ins _.FRC:$src1, _.FRC:$src2, i32u8imm:$src3),
9633 OpcodeStr#"\t{$src3, $src2, $src1, $dst|$dst, $src1, $src2, $src3}",
9638 (ins _.FRC:$src1, _.ScalarMemOp:$src2, i32u8imm:$src3),
9639 OpcodeStr#"\t{$src3, $src2, $src1, $dst|$dst, $src1, $src2, $src3}",
10734 (ins _.RC:$src1, _.RC:$src2, i32u8imm:$src3),
10735 OpcodeStr, "$src3, $src2, $src1", "$src1, $src2, $src3",
10738 (i32 timm:$src3))>,
10741 (ins _.RC:$src1, _.MemOp:$src2, i32u8imm:$src3),
10742 OpcodeStr, "$src3, $src2, $src1", "$src1, $src2, $src3",
10745 (i32 timm:$src3))>,
10748 (ins _.RC:$src1, _.ScalarMemOp:$src2, i32u8imm:$src3),
10749 OpcodeStr, "$src3, ${src2}"#_.BroadcastStr#", $src1",
10750 "$src1, ${src2}"#_.BroadcastStr#", $src3",
10753 (i32 timm:$src3))>, EVEX_B,
10765 (ins SrcInfo.RC:$src1, SrcInfo.RC:$src2, u8imm:$src3),
10766 OpcodeStr, "$src3, $src2, $src1", "$src1, $src2, $src3",
10769 (i8 timm:$src3)))>,
10772 (ins SrcInfo.RC:$src1, SrcInfo.MemOp:$src2, u8imm:$src3),
10773 OpcodeStr, "$src3, $src2, $src1", "$src1, $src2, $src3",
10777 (i8 timm:$src3)))>,
10791 (ins _.RC:$src1, _.ScalarMemOp:$src2, u8imm:$src3),
10792 OpcodeStr, "$src3, ${src2}"#_.BroadcastStr#", $src1",
10793 "$src1, ${src2}"#_.BroadcastStr#", $src3",
10796 (i8 timm:$src3))>, EVEX_B,
10806 (ins _.RC:$src1, _.RC:$src2, i32u8imm:$src3),
10807 OpcodeStr, "$src3, $src2, $src1", "$src1, $src2, $src3",
10810 (i32 timm:$src3))>,
10813 (ins _.RC:$src1, _.IntScalarMemOp:$src2, i32u8imm:$src3),
10814 OpcodeStr, "$src3, $src2, $src1", "$src1, $src2, $src3",
10817 (i32 timm:$src3))>,
10828 (ins _.RC:$src1, _.RC:$src2, i32u8imm:$src3),
10829 OpcodeStr, "$src3, {sae}, $src2, $src1",
10830 "$src1, $src2, {sae}, $src3",
10833 (i32 timm:$src3))>,
10842 (ins _.RC:$src1, _.RC:$src2, i32u8imm:$src3),
10843 OpcodeStr, "$src3, {sae}, $src2, $src1",
10844 "$src1, $src2, {sae}, $src3",
10847 (i32 timm:$src3))>,
10974 (ins _.RC:$src1, _.RC:$src2, u8imm:$src3),
10975 OpcodeStr, "$src3, $src2, $src1", "$src1, $src2, $src3",
10978 (i8 timm:$src3)))))>,
10981 (ins _.RC:$src1, _.MemOp:$src2, u8imm:$src3),
10982 OpcodeStr, "$src3, $src2, $src1", "$src1, $src2, $src3",
10987 (i8 timm:$src3)))))>,
10990 (ins _.RC:$src1, _.ScalarMemOp:$src2, u8imm:$src3),
10991 OpcodeStr, "$src3, ${src2}"#_.BroadcastStr#", $src1",
10992 "$src1, ${src2}"#_.BroadcastStr#", $src3",
10998 (i8 timm:$src3)))))>, EVEX_B,
11028 (ins _.RC:$src1, _.RC:$src2, u8imm:$src3),
11029 OpcodeStr, "$src3, $src2, $src1", "$src1, $src2, $src3",
11030 (_.VT (X86VAlign _.RC:$src1, _.RC:$src2, (i8 timm:$src3)))>,
11033 (ins _.RC:$src1, _.MemOp:$src2, u8imm:$src3),
11034 OpcodeStr, "$src3, $src2, $src1", "$src1, $src2, $src3",
11037 (i8 timm:$src3)))>,
11041 (ins _.RC:$src1, _.ScalarMemOp:$src2, u8imm:$src3),
11042 OpcodeStr, "$src3, ${src2}"#_.BroadcastStr#", $src1",
11043 "$src1, ${src2}"#_.BroadcastStr#", $src3",
11046 (i8 timm:$src3))>, EVEX_B,
11094 timm:$src3))),
11098 (ImmXForm timm:$src3))>;
11103 timm:$src3))),
11107 (ImmXForm timm:$src3))>;
11113 timm:$src3))),
11117 (ImmXForm timm:$src3))>;
11123 timm:$src3))),
11127 (ImmXForm timm:$src3))>;
11137 timm:$src3)),
11139 (ImmXForm timm:$src3))>;
11146 timm:$src3))),
11150 (ImmXForm timm:$src3))>;
11157 timm:$src3))),
11161 (ImmXForm timm:$src3))>;
11515 (ins _.RC:$src1, _.ScalarMemOp:$src2, u8imm:$src3),
11516 OpcodeStr#"\t{$src3, $src2, $src1, $dst|$dst, $src1, $src2, $src3}",
11518 (_.VT (OpNode _.RC:$src1, (LdFrag addr:$src2), immoperator:$src3)))]>,
11526 (ins _.RC:$src1, GR32orGR64:$src2, u8imm:$src3),
11527 OpcodeStr#"\t{$src3, $src2, $src1, $dst|$dst, $src1, $src2, $src3}",
11529 (OpNode _.RC:$src1, GR32orGR64:$src2, timm:$src3))]>, EVEX, VVVV,
11540 (ins _.RC:$src1, GRC:$src2, u8imm:$src3),
11541 OpcodeStr#"\t{$src3, $src2, $src1, $dst|$dst, $src1, $src2, $src3}",
11543 (_.VT (insertelt _.RC:$src1, GRC:$src2, imm:$src3)))]>,
11561 timm:$src3),
11563 timm:$src3)>;
11567 def : Pat<(X86pinsrb VR128:$src1, (i32 (anyext (i8 GR8:$src2))), timm:$src3),
11569 GR8:$src2, sub_8bit), timm:$src3)>;
11572 timm:$src3),
11574 timm:$src3)>;
11745 (ins _.RC:$src2, _.RC:$src3, u8imm:$src4),
11746 OpcodeStr, "$src4, $src3, $src2", "$src2, $src3, $src4",
11749 (_.VT _.RC:$src3),
11753 (ins _.RC:$src2, _.MemOp:$src3, u8imm:$src4),
11754 OpcodeStr, "$src4, $src3, $src2", "$src2, $src3, $src4",
11757 (_.VT (bitconvert (_.LdFrag addr:$src3))),
11762 (ins _.RC:$src2, _.ScalarMemOp:$src3, u8imm:$src4),
11763 OpcodeStr, "$src4, ${src3}"#_.BroadcastStr#", $src2",
11764 "$src2, ${src3}"#_.BroadcastStr#", $src4",
11767 (_.VT (_.BroadcastLdFrag addr:$src3)),
11775 (OpNode _.RC:$src3, _.RC:$src2, _.RC:$src1, (i8 timm:$src4)),
11778 _.RC:$src2, _.RC:$src3, (VPTERNLOG321_imm8 timm:$src4))>;
11780 (OpNode _.RC:$src2, _.RC:$src1, _.RC:$src3, (i8 timm:$src4)),
11783 _.RC:$src2, _.RC:$src3, (VPTERNLOG213_imm8 timm:$src4))>;
11788 (OpNode (bitconvert (_.LdFrag addr:$src3)),
11792 _.RC:$src2, addr:$src3, (VPTERNLOG321_imm8 timm:$src4))>;
11794 (OpNode _.RC:$src1, (bitconvert (_.LdFrag addr:$src3)),
11798 _.RC:$src2, addr:$src3, (VPTERNLOG132_imm8 timm:$src4))>;
11803 (OpNode _.RC:$src1, (bitconvert (_.LdFrag addr:$src3)),
11807 _.RC:$src2, addr:$src3, (VPTERNLOG132_imm8 timm:$src4))>;
11809 (OpNode (bitconvert (_.LdFrag addr:$src3)),
11813 _.RC:$src2, addr:$src3, (VPTERNLOG321_imm8 timm:$src4))>;
11816 (bitconvert (_.LdFrag addr:$src3)), (i8 timm:$src4)),
11819 _.RC:$src2, addr:$src3, (VPTERNLOG213_imm8 timm:$src4))>;
11821 (OpNode _.RC:$src2, (bitconvert (_.LdFrag addr:$src3)),
11825 _.RC:$src2, addr:$src3, (VPTERNLOG231_imm8 timm:$src4))>;
11827 (OpNode (bitconvert (_.LdFrag addr:$src3)),
11831 _.RC:$src2, addr:$src3, (VPTERNLOG312_imm8 timm:$src4))>;
11836 (OpNode (_.BroadcastLdFrag addr:$src3),
11840 _.KRCWM:$mask, _.RC:$src2, addr:$src3,
11844 (_.BroadcastLdFrag addr:$src3),
11848 _.KRCWM:$mask, _.RC:$src2, addr:$src3,
11854 (OpNode _.RC:$src1, (_.BroadcastLdFrag addr:$src3),
11858 _.RC:$src2, addr:$src3, (VPTERNLOG132_imm8 timm:$src4))>;
11860 (OpNode (_.BroadcastLdFrag addr:$src3),
11864 _.RC:$src2, addr:$src3, (VPTERNLOG321_imm8 timm:$src4))>;
11867 (_.BroadcastLdFrag addr:$src3),
11870 _.RC:$src2, addr:$src3, (VPTERNLOG213_imm8 timm:$src4))>;
11873 (_.BroadcastLdFrag addr:$src3),
11877 _.RC:$src2, addr:$src3, (VPTERNLOG231_imm8 timm:$src4))>;
11879 (OpNode (_.BroadcastLdFrag addr:$src3),
11883 _.RC:$src2, addr:$src3, (VPTERNLOG312_imm8 timm:$src4))>;
12011 (ins _.RC:$src2, _.RC:$src3, i32u8imm:$src4),
12012 OpcodeStr#_.Suffix, "$src4, $src3, $src2", "$src2, $src3, $src4",
12015 (TblVT.VT _.RC:$src3),
12018 (ins _.RC:$src2, _.MemOp:$src3, i32u8imm:$src4),
12019 OpcodeStr#_.Suffix, "$src4, $src3, $src2", "$src2, $src3, $src4",
12022 (TblVT.VT (bitconvert (TblVT.LdFrag addr:$src3))),
12026 (ins _.RC:$src2, _.ScalarMemOp:$src3, i32u8imm:$src4),
12027 OpcodeStr#_.Suffix, "$src4, ${src3}"#_.BroadcastStr#", $src2",
12028 "$src2, ${src3}"#_.BroadcastStr#", $src4",
12031 (TblVT.VT (TblVT.BroadcastLdFrag addr:$src3)),
12042 (ins _.RC:$src2, _.RC:$src3, i32u8imm:$src4),
12043 OpcodeStr#_.Suffix, "$src4, {sae}, $src3, $src2",
12044 "$src2, $src3, {sae}, $src4",
12047 (TblVT.VT _.RC:$src3),
12059 (ins _.RC:$src2, _.RC:$src3, i32u8imm:$src4),
12060 OpcodeStr#_.Suffix, "$src4, $src3, $src2", "$src2, $src3, $src4",
12063 (_src3VT.VT _src3VT.RC:$src3),
12067 (ins _.RC:$src2, _.RC:$src3, i32u8imm:$src4),
12068 OpcodeStr#_.Suffix, "$src4, {sae}, $src3, $src2",
12069 "$src2, $src3, {sae}, $src4",
12072 (_src3VT.VT _src3VT.RC:$src3),
12076 (ins _.RC:$src2, _.ScalarMemOp:$src3, i32u8imm:$src4),
12077 OpcodeStr#_.Suffix, "$src4, $src3, $src2", "$src2, $src3, $src4",
12081 (_src3VT.ScalarLdFrag addr:$src3))),
12306 (ins VTI.RC:$src2, VTI.RC:$src3), OpStr,
12307 "$src3, $src2", "$src2, $src3",
12308 (VTI.VT (OpNode VTI.RC:$src1, VTI.RC:$src2, VTI.RC:$src3))>,
12311 (ins VTI.RC:$src2, VTI.MemOp:$src3), OpStr,
12312 "$src3, $src2", "$src2, $src3",
12314 (VTI.VT (VTI.LdFrag addr:$src3))))>,
12326 (ins VTI.RC:$src2, VTI.ScalarMemOp:$src3), OpStr,
12327 "${src3}"#VTI.BroadcastStr#", $src2",
12328 "$src2, ${src3}"#VTI.BroadcastStr,
12330 (VTI.VT (VTI.BroadcastLdFrag addr:$src3)))>,
12408 (ins VTI.RC:$src2, VTI.RC:$src3), OpStr,
12409 "$src3, $src2", "$src2, $src3",
12411 VTI.RC:$src2, VTI.RC:$src3)),
12415 (ins VTI.RC:$src2, VTI.MemOp:$src3), OpStr,
12416 "$src3, $src2", "$src2, $src3",
12418 (VTI.VT (VTI.LdFrag addr:$src3))))>,
12423 (ins VTI.RC:$src2, VTI.ScalarMemOp:$src3),
12424 OpStr, "${src3}"#VTI.BroadcastStr#", $src2",
12425 "$src2, ${src3}"#VTI.BroadcastStr,
12427 (VTI.VT (VTI.BroadcastLdFrag addr:$src3)))>,
12461 (X86vpmaddwd_su VR512:$src2, VR512:$src3))),
12462 (VPDPWSSDZr VR512:$src1, VR512:$src2, VR512:$src3)>;
12464 (X86vpmaddwd_su VR512:$src2, (load addr:$src3)))),
12465 (VPDPWSSDZm VR512:$src1, VR512:$src2, addr:$src3)>;
12469 (X86vpmaddwd_su VR256X:$src2, VR256X:$src3))),
12470 (VPDPWSSDZ256r VR256X:$src1, VR256X:$src2, VR256X:$src3)>;
12472 (X86vpmaddwd_su VR256X:$src2, (load addr:$src3)))),
12473 (VPDPWSSDZ256m VR256X:$src1, VR256X:$src2, addr:$src3)>;
12475 (X86vpmaddwd_su VR128X:$src2, VR128X:$src3))),
12476 (VPDPWSSDZ128r VR128X:$src1, VR128X:$src2, VR128X:$src3)>;
12478 (X86vpmaddwd_su VR128X:$src2, (load addr:$src3)))),
12479 (VPDPWSSDZ128m VR128X:$src1, VR128X:$src2, addr:$src3)>;
12556 (ins VTI.RC:$src1, BcstVTI.ScalarMemOp:$src2, u8imm:$src3),
12557 OpStr, "$src3, ${src2}"#BcstVTI.BroadcastStr#", $src1",
12558 "$src1, ${src2}"#BcstVTI.BroadcastStr#", $src3",
12561 (i8 timm:$src3))>, EVEX_B,
12593 (outs VR512:$dst), (ins VR512:$src2, f128mem:$src3),
12594 "v4fmaddps", "$src3, $src2", "$src2, $src3",
12599 (outs VR512:$dst), (ins VR512:$src2, f128mem:$src3),
12600 "v4fnmaddps", "$src3, $src2", "$src2, $src3",
12605 (outs VR128X:$dst), (ins VR128X:$src2, f128mem:$src3),
12606 "v4fmaddss", "$src3, $src2", "$src2, $src3",
12611 (outs VR128X:$dst), (ins VR128X:$src2, f128mem:$src3),
12612 "v4fnmaddss", "$src3, $src2", "$src2, $src3",
12624 (outs VR512:$dst), (ins VR512:$src2, f128mem:$src3),
12625 "vp4dpwssd", "$src3, $src2", "$src2, $src3",
12630 (outs VR512:$dst), (ins VR512:$src2, f128mem:$src3),
12631 "vp4dpwssds", "$src3, $src2", "$src2, $src3",
12827 (ins src_v.RC:$src2, src_v.RC:$src3),
12828 OpcodeStr, "$src3, $src2", "$src2, $src3",
12829 (_.VT (OpNode _.RC:$src1, src_v.RC:$src2, src_v.RC:$src3))>,
12833 (ins src_v.RC:$src2, src_v.MemOp:$src3),
12834 OpcodeStr, "$src3, $src2", "$src2, $src3",
12836 (src_v.LdFrag addr:$src3)))>, EVEX, VVVV,
12841 (ins src_v.RC:$src2, f32mem:$src3),
12843 !strconcat("${src3}", _.BroadcastStr,", $src2"),
12844 !strconcat("$src2, ${src3}", _.BroadcastStr),
13472 (ins _.RC:$src2, _.RC:$src3),
13473 OpcodeStr, "$src3, $src2", "$src2, $src3",
13474 (_.VT (OpNode _.RC:$src2, _.RC:$src3, _.RC:$src1)), IsCommutable>, EVEX, VVVV;
13477 (ins _.RC:$src2, _.MemOp:$src3),
13478 OpcodeStr, "$src3, $src2", "$src2, $src3",
13479 (_.VT (OpNode _.RC:$src2, (_.LdFrag addr:$src3), _.RC:$src1))>, EVEX, VVVV;
13482 (ins _.RC:$src2, _.ScalarMemOp:$src3),
13483 OpcodeStr, !strconcat("${src3}", _.BroadcastStr,", $src2"), !strconcat("$src2, ${src3}", _.BroadcastStr),
13484 (_.VT (OpNode _.RC:$src2, (_.VT (_.BroadcastLdFrag addr:$src3)), _.RC:$src1))>, EVEX_B, EVEX, VVVV;
13492 (ins _.RC:$src2, _.RC:$src3, AVX512RC:$rc),
13493 OpcodeStr, "$rc, $src3, $src2", "$src2, $src3, $rc",
13494 (_.VT (OpNode _.RC:$src2, _.RC:$src3, _.RC:$src1, (i32 timm:$rc)))>,
13545 (ins VR128X:$src2, VR128X:$src3), OpcodeStr,
13546 "$src3, $src2", "$src2, $src3",
13547 (v4f32 (OpNode VR128X:$src2, VR128X:$src3, VR128X:$src1)), IsCommutable>,
13550 (ins VR128X:$src2, ssmem:$src3), OpcodeStr,
13551 "$src3, $src2", "$src2, $src3",
13552 (v4f32 (OpNode VR128X:$src2, (sse_load_f32 addr:$src3), VR128X:$src1))>,
13555 (ins VR128X:$src2, VR128X:$src3, AVX512RC:$rc), OpcodeStr,
13556 "$rc, $src3, $src2", "$src2, $src3, $rc",
13557 (v4f32 (OpNodeRnd VR128X:$src2, VR128X:$src3, VR128X:$src1, (i32 timm:$rc)))>,