let isAsmParserOnly = 1;
}
-multiclass I3DNow_binop_rm<bits<8> opc, string Mn> {
- def rr : I3DNow_binop<opc, MRMSrcReg, (ins VR64:$src1, VR64:$src2), Mn, []>;
- def rm : I3DNow_binop<opc, MRMSrcMem, (ins VR64:$src1, i64mem:$src2), Mn, []>;
-}
-
multiclass I3DNow_binop_rm_int<bits<8> opc, string Mn, bit Commutable = 0,
string Ver = ""> {
let isCommutable = Commutable in
(bitconvert (load_mmx addr:$src2))))]>;
}
-multiclass I3DNow_conv_rm<bits<8> opc, string Mn> {
- def rr : I3DNow_conv<opc, MRMSrcReg, (ins VR64:$src1), Mn, []>;
- def rm : I3DNow_conv<opc, MRMSrcMem, (ins i64mem:$src1), Mn, []>;
-}
-
multiclass I3DNow_conv_rm_int<bits<8> opc, string Mn, string Ver = ""> {
def rr : I3DNow_conv<opc, MRMSrcReg, (ins VR64:$src), Mn,
[(set VR64:$dst, (!cast<Intrinsic>(
defm PI2FD : I3DNow_conv_rm_int<0x0D, "pi2fd">;
defm PMULHRW : I3DNow_binop_rm_int<0xB7, "pmulhrw", 1>;
-
def FEMMS : I3DNow<0x0E, RawFrm, (outs), (ins), "femms",
[(int_x86_mmx_femms)]>;