Lines Matching refs:ws

367 def vbclr_b : PatFrag<(ops node:$ws, node:$wt),
368 (and node:$ws, (vnot (shl vsplat_imm_eq_1, node:$wt)))>;
369 def vbclr_h : PatFrag<(ops node:$ws, node:$wt),
370 (and node:$ws, (vnot (shl vsplat_imm_eq_1, node:$wt)))>;
371 def vbclr_w : PatFrag<(ops node:$ws, node:$wt),
372 (and node:$ws, (vnot (shl vsplat_imm_eq_1, node:$wt)))>;
373 def vbclr_d : PatFrag<(ops node:$ws, node:$wt),
374 (and node:$ws, (vnot (shl (v2i64 vsplati64_imm_eq_1),
377 def vbneg_b : PatFrag<(ops node:$ws, node:$wt),
378 (xor node:$ws, (shl vsplat_imm_eq_1, node:$wt))>;
379 def vbneg_h : PatFrag<(ops node:$ws, node:$wt),
380 (xor node:$ws, (shl vsplat_imm_eq_1, node:$wt))>;
381 def vbneg_w : PatFrag<(ops node:$ws, node:$wt),
382 (xor node:$ws, (shl vsplat_imm_eq_1, node:$wt))>;
383 def vbneg_d : PatFrag<(ops node:$ws, node:$wt),
384 (xor node:$ws, (shl (v2i64 vsplati64_imm_eq_1),
387 def vbset_b : PatFrag<(ops node:$ws, node:$wt),
388 (or node:$ws, (shl vsplat_imm_eq_1, node:$wt))>;
389 def vbset_h : PatFrag<(ops node:$ws, node:$wt),
390 (or node:$ws, (shl vsplat_imm_eq_1, node:$wt))>;
391 def vbset_w : PatFrag<(ops node:$ws, node:$wt),
392 (or node:$ws, (shl vsplat_imm_eq_1, node:$wt))>;
393 def vbset_d : PatFrag<(ops node:$ws, node:$wt),
394 (or node:$ws, (shl (v2i64 vsplati64_imm_eq_1),
397 def muladd : PatFrag<(ops node:$wd, node:$ws, node:$wt),
398 (add node:$wd, (mul node:$ws, node:$wt))>;
400 def mulsub : PatFrag<(ops node:$wd, node:$ws, node:$wt),
401 (sub node:$wd, (mul node:$ws, node:$wt))>;
403 def mul_fexp2 : PatFrag<(ops node:$ws, node:$wt),
404 (fmul node:$ws, (fexp2 node:$wt))>;
1123 dag InOperandList = (ins ROWS:$ws, vsplat_uimm3:$m);
1124 string AsmString = !strconcat(instr_asm, "\t$wd, $ws, $m");
1125 list<dag> Pattern = [(set ROWD:$wd, (OpNode ROWS:$ws, Imm:$m))];
1134 dag InOperandList = (ins ROWS:$ws, vsplat_uimm4:$m);
1135 string AsmString = !strconcat(instr_asm, "\t$wd, $ws, $m");
1136 list<dag> Pattern = [(set ROWD:$wd, (OpNode ROWS:$ws, Imm:$m))];
1145 dag InOperandList = (ins ROWS:$ws, vsplat_uimm5:$m);
1146 string AsmString = !strconcat(instr_asm, "\t$wd, $ws, $m");
1147 list<dag> Pattern = [(set ROWD:$wd, (OpNode ROWS:$ws, Imm:$m))];
1156 dag InOperandList = (ins ROWS:$ws, vsplat_uimm6:$m);
1157 string AsmString = !strconcat(instr_asm, "\t$wd, $ws, $m");
1158 list<dag> Pattern = [(set ROWD:$wd, (OpNode ROWS:$ws, Imm:$m))];
1167 dag InOperandList = (ins ROWS:$ws, ImmOp:$m);
1168 string AsmString = !strconcat(instr_asm, "\t$wd, $ws, $m");
1169 list<dag> Pattern = [(set ROWD:$wd, (OpNode ROWS:$ws, Imm:$m))];
1178 dag InOperandList = (ins ROWD:$wd_in, ROWS:$ws, Mask.OpClass:$m);
1179 string AsmString = !strconcat(instr_asm, "\t$wd, $ws, $m");
1184 list<dag> Pattern = [(set ROWD:$wd, (vselect (Ty Mask:$m), (Ty ROWD:$ws),
1207 dag InOperandList = (ins ROWS:$ws, SplatImm.OpClass:$m);
1208 string AsmString = !strconcat(instr_asm, "\t$wd, $ws, $m");
1209 list<dag> Pattern = [(set ROWD:$wd, (OpNode ROWS:$ws, SplatImm:$m))];
1218 dag InOperandList = (ins ROWS:$ws, ImmOp:$n);
1219 string AsmString = !strconcat(instr_asm, "\t$rd, $ws[$n]");
1220 list<dag> Pattern = [(set ROD:$rd, (OpNode (VecTy ROWS:$ws), Imm:$n))];
1229 dag InOperandList = (ins ROWD:$wd_in, ROWS:$ws, ImmOp:$n);
1230 string AsmString = !strconcat(instr_asm, "\t$wd, $ws[$n]");
1231 list<dag> Pattern = [(set ROWD:$wd, (OpNode ROWD:$wd_in, ROWS:$ws,
1240 MSAPseudo<(outs RCD:$wd), (ins RCWS:$ws, ImmOp:$n),
1241 [(set RCD:$wd, (OpNode (VecTy RCWS:$ws), Imm:$n))]> {
1251 dag InOperandList = (ins ROWS:$ws, SplatImm.OpClass:$imm);
1252 string AsmString = !strconcat(instr_asm, "\t$wd, $ws, $imm");
1253 list<dag> Pattern = [(set ROWD:$wd, (OpNode ROWS:$ws, SplatImm:$imm))];
1262 dag InOperandList = (ins ROWS:$ws, SplatImm.OpClass:$u8);
1263 string AsmString = !strconcat(instr_asm, "\t$wd, $ws, $u8");
1264 list<dag> Pattern = [(set ROWD:$wd, (OpNode ROWS:$ws, SplatImm:$u8))];
1272 dag InOperandList = (ins ROWS:$ws, uimm8:$u8);
1273 string AsmString = !strconcat(instr_asm, "\t$wd, $ws, $u8");
1274 list<dag> Pattern = [(set ROWD:$wd, (MipsSHF timmZExt8:$u8, ROWS:$ws))];
1294 dag InOperandList = (ins ROWS:$ws);
1295 string AsmString = !strconcat(instr_asm, "\t$wd, $ws");
1296 list<dag> Pattern = [(set ROWD:$wd, (OpNode ROWS:$ws))];
1322 dag InOperandList = (ins ROWS:$ws);
1323 string AsmString = !strconcat(instr_asm, "\t$wd, $ws");
1324 list<dag> Pattern = [(set ROWD:$wd, (OpNode ROWS:$ws))];
1333 dag InOperandList = (ins ROWS:$ws, ROWT:$wt);
1334 string AsmString = !strconcat(instr_asm, "\t$wd, $ws, $wt");
1335 list<dag> Pattern = [(set ROWD:$wd, (OpNode ROWS:$ws, ROWT:$wt))];
1344 dag InOperandList = (ins ROWD:$wd_in, ROWS:$ws, ROWT:$wt);
1345 string AsmString = !strconcat(instr_asm, "\t$wd, $ws, $wt");
1346 list<dag> Pattern = [(set ROWD:$wd, (OpNode ROWD:$wd_in, ROWS:$ws,
1356 dag InOperandList = (ins ROWS:$ws, GPR32Opnd:$rt);
1357 string AsmString = !strconcat(instr_asm, "\t$wd, $ws[$rt]");
1358 list<dag> Pattern = [(set ROWD:$wd, (OpNode ROWS:$ws, GPR32Opnd:$rt))];
1367 dag InOperandList = (ins ROWD:$wd_in, ROWS:$ws, ROWT:$wt);
1368 string AsmString = !strconcat(instr_asm, "\t$wd, $ws, $wt");
1369 list<dag> Pattern = [(set ROWD:$wd, (MipsVSHF ROWD:$wd_in, ROWS:$ws,
1379 dag InOperandList = (ins ROWD:$wd_in, ROWS:$ws, GPR32Opnd:$rt);
1380 string AsmString = !strconcat(instr_asm, "\t$wd, $ws[$rt]");
1381 list<dag> Pattern = [(set ROWD:$wd, (OpNode ROWD:$wd_in, ROWS:$ws,
1392 dag InOperandList = (ins ROWD:$wd_in, ROWS:$ws, ROWT:$wt);
1393 string AsmString = !strconcat(instr_asm, "\t$wd, $ws, $wt");
1394 list<dag> Pattern = [(set ROWD:$wd, (OpNode ROWD:$wd_in, ROWS:$ws,
1461 dag InOperandList = (ins ROWD:$wd_in, ImmOp:$n, ROWS:$ws, uimmz:$n2);
1462 string AsmString = !strconcat(instr_asm, "\t$wd[$n], $ws[$n2]");
1465 ROWS:$ws,
1476 dag InOperandList = (ins ROWS:$ws, ROWT:$wt);
1477 string AsmString = !strconcat(instr_asm, "\t$wd, $ws, $wt");
1478 list<dag> Pattern = [(set ROWD:$wd, (OpNode ROWS:$ws, ROWT:$wt))];
1487 dag InOperandList = (ins ROWS:$ws, SplatImm.OpClass:$n);
1488 string AsmString = !strconcat(instr_asm, "\t$wd, $ws[$n]");
1489 list<dag> Pattern = [(set ROWD:$wd, (MipsVSHF SplatImm:$n, ROWS:$ws,
1490 ROWS:$ws))];
1497 MSAPseudo<(outs ROWD:$wd), (ins ROWS:$ws, ROWT:$wt),
1498 [(set ROWD:$wd, (OpNode ROWS:$ws, ROWT:$wt))]>;
1664 dag InOperandList = (ins MSA128BOpnd:$wd_in, MSA128BOpnd:$ws,
1666 string AsmString = "bmnz.v\t$wd, $ws, $wt";
1668 MSA128BOpnd:$ws,
1676 dag InOperandList = (ins MSA128BOpnd:$wd_in, MSA128BOpnd:$ws,
1678 string AsmString = "bmnzi.b\t$wd, $ws, $u8";
1680 MSA128BOpnd:$ws,
1688 dag InOperandList = (ins MSA128BOpnd:$wd_in, MSA128BOpnd:$ws,
1690 string AsmString = "bmz.v\t$wd, $ws, $wt";
1693 MSA128BOpnd:$ws))];
1700 dag InOperandList = (ins MSA128BOpnd:$wd_in, MSA128BOpnd:$ws,
1702 string AsmString = "bmzi.b\t$wd, $ws, $u8";
1705 MSA128BOpnd:$ws))];
1733 dag InOperandList = (ins MSA128BOpnd:$wd_in, MSA128BOpnd:$ws,
1735 string AsmString = "bsel.v\t$wd, $ws, $wt";
1742 MSA128BOpnd:$ws))];
1749 dag InOperandList = (ins MSA128BOpnd:$wd_in, MSA128BOpnd:$ws,
1751 string AsmString = "bseli.b\t$wd, $ws, $u8";
1758 MSA128BOpnd:$ws))];
2052 MSAPseudo<(outs MSA128W:$wd), (ins MSA128W:$ws),
2053 [(set MSA128W:$wd, (fexp2 MSA128W:$ws))]>;
2055 MSAPseudo<(outs MSA128D:$wd), (ins MSA128D:$ws),
2056 [(set MSA128D:$wd, (fexp2 MSA128D:$ws))]>;
2453 dag InOperandList = (ins MSA128BOpnd:$ws);
2454 string AsmString = "move.v\t$wd, $ws";
2785 MSA128BOpnd:$ws,
2789 MSA128BOpnd:$ws,
2793 MSA128BOpnd:$ws,
2886 MSAPseudo<(outs RO:$wd), (ins RO:$wd_in, RO:$ws, RO:$wt),
2887 [(set RO:$wd, (Ty (vselect RO:$wd_in, RO:$wt, RO:$ws)))]>,
2893 MSA128BOpnd:$ws, MSA128BOpnd:$wt)> {
3184 def : MipsPat<(fsub MSA128WOpnd:$wd, (fmul MSA128WOpnd:$ws, MSA128WOpnd:$wt)),
3185 (FMSUB_W MSA128WOpnd:$wd, MSA128WOpnd:$ws, MSA128WOpnd:$wt)>,
3187 def : MipsPat<(fsub MSA128DOpnd:$wd, (fmul MSA128DOpnd:$ws, MSA128DOpnd:$wt)),
3188 (FMSUB_D MSA128DOpnd:$wd, MSA128DOpnd:$ws, MSA128DOpnd:$wt)>,
3191 def : MipsPat<(fadd MSA128WOpnd:$wd, (fmul MSA128WOpnd:$ws, MSA128WOpnd:$wt)),
3192 (FMADD_W MSA128WOpnd:$wd, MSA128WOpnd:$ws, MSA128WOpnd:$wt)>,
3194 def : MipsPat<(fadd MSA128DOpnd:$wd, (fmul MSA128DOpnd:$ws, MSA128DOpnd:$wt)),
3195 (FMADD_D MSA128DOpnd:$wd, MSA128DOpnd:$ws, MSA128DOpnd:$wt)>,
3389 MSA128BOpnd:$ws,
3393 MSA128BOpnd:$ws,
3397 MSA128BOpnd:$ws,
3405 MSA128BOpnd:$ws,
3409 MSA128BOpnd:$ws,
3413 MSA128BOpnd:$ws,
3560 MSA128BOpnd:$ws,
3564 MSA128BOpnd:$ws,
3568 MSA128BOpnd:$ws,
3577 def : MSAPat<(extractelt (v4i32 MSA128W:$ws), immZExt4:$idx),
3578 (COPY_S_W MSA128W:$ws, immZExt4:$idx)>;
3584 def ST_FH : MSAPat<(store (v8f16 MSA128H:$ws), addrimm10lsl1:$addr),
3585 (ST_H MSA128H:$ws, addrimm10lsl1:$addr)>;
3586 def ST_FW : MSAPat<(store (v4f32 MSA128W:$ws), addrimm10lsl2:$addr),
3587 (ST_W MSA128W:$ws, addrimm10lsl2:$addr)>;
3588 def ST_FD : MSAPat<(store (v2f64 MSA128D:$ws), addrimm10lsl3:$addr),
3589 (ST_D MSA128D:$ws, addrimm10lsl3:$addr)>;
3595 (ins ROWS:$ws),
3596 [(set ROWD:$wd, (fabs ROWS:$ws))]> {
3600 PseudoInstExpansion<(FMAX_A_W MSA128WOpnd:$wd, MSA128WOpnd:$ws,
3601 MSA128WOpnd:$ws)>;
3603 PseudoInstExpansion<(FMAX_A_D MSA128DOpnd:$wd, MSA128DOpnd:$ws,
3604 MSA128DOpnd:$ws)>;
3758 (ins RCWS:$ws),
3759 [(set GPR32:$dst, (OpNode (TyNode RCWS:$ws)))]> {
3786 MipsPseudo<(outs), (ins MSA128F16:$ws, mem_simm10:$addr),
3787 [(store (f16 MSA128F16:$ws), (addrimm10:$addr))]>;
3789 MipsPseudo<(outs MSA128F16:$ws), (ins mem_simm10:$addr),
3790 [(set MSA128F16:$ws, (f16 (load addrimm10:$addr)))]>;
3795 MipsPseudo<(outs FGR32Opnd:$fd), (ins MSA128F16:$ws),
3796 [(set FGR32Opnd:$fd, (f32 (fpextend MSA128F16:$ws)))]>;
3801 MipsPseudo<(outs FGR64Opnd:$fd), (ins MSA128F16:$ws),
3802 [(set FGR64Opnd:$fd, (f64 (fpextend MSA128F16:$ws)))]>;
3808 def : MipsPat<(MipsTruncIntFP MSA128F16:$ws),
3809 (TRUNC_W_D64 (MSA_FP_EXTEND_D_PSEUDO MSA128F16:$ws))>,
3812 def : MipsPat<(MipsFPCmp MSA128F16:$ws, MSA128F16:$wt, imm:$cond),
3813 (FCMP_S32 (MSA_FP_EXTEND_W_PSEUDO MSA128F16:$ws),
3841 MSAPat<(VT (Node VT:$ws, (VT (and VT:$wt, Vec)))),
3842 (VT (Insn VT:$ws, VT:$wt))>;
3845 MSAPat<(VT (Node VT:$ws, (shl vsplat_imm_eq_1, (Frag VT:$wt)))),
3846 (VT (Insn VT:$ws, VT:$wt))>;
3855 def : MSAPat<(v2i64 (Node v2i64:$ws, (v2i64 (and v2i64:$wt,
3857 (v2i64 (!cast<MSAInst>(Insn#_D) v2i64:$ws, v2i64:$wt))>;
3864 def : MSAPat<(Node v2i64:$ws, (shl (v2i64 vsplati64_imm_eq_1),
3866 (v2i64 (!cast<MSAInst>(Insn#_D) v2i64:$ws, v2i64:$wt))>;
3875 def : MSAPat<(and v16i8:$ws, (vnot (shl vsplat_imm_eq_1,
3877 (v16i8 (BCLR_B v16i8:$ws, v16i8:$wt))>;
3878 def : MSAPat<(and v8i16:$ws, (vnot (shl vsplat_imm_eq_1,
3880 (v8i16 (BCLR_H v8i16:$ws, v8i16:$wt))>;
3881 def : MSAPat<(and v4i32:$ws, (vnot (shl vsplat_imm_eq_1,
3883 (v4i32 (BCLR_W v4i32:$ws, v4i32:$wt))>;
3884 def : MSAPat<(and v2i64:$ws, (vnot (shl (v2i64 vsplati64_imm_eq_1),
3886 (v2i64 (BCLR_D v2i64:$ws, v2i64:$wt))>;
3895 def : MSAPat<(vextract_zext_i32 (v4i32 MSA128W:$ws), immZExt2Ptr:$idx),
3896 (COPY_S_W MSA128W:$ws, immZExt2:$idx)>, ASE_MSA_NOT_MSA64;
3897 def : MSAPat<(vextract_zext_i32 (v4f32 MSA128W:$ws), immZExt2Ptr:$idx),
3898 (COPY_S_W MSA128W:$ws, immZExt2:$idx)>, ASE_MSA_NOT_MSA64;
3905 def : MSAPat<(vextract_zext_i64 (v2i64 MSA128D:$ws), immZExt1Ptr:$idx),
3906 (COPY_S_D MSA128D:$ws, immZExt1:$idx)>, ASE_MSA64;
3907 def : MSAPat<(vextract_zext_i64 (v2f64 MSA128D:$ws), immZExt1Ptr:$idx),
3908 (COPY_S_D MSA128D:$ws, immZExt1:$idx)>, ASE_MSA64;
3911 def : MSAPat<(i32 (vextract_sext_i8 v16i8:$ws, i32:$idx)),
3912 (SRA (COPY_TO_REGCLASS (i32 (EXTRACT_SUBREG (SPLAT_B v16i8:$ws,
3916 def : MSAPat<(i32 (vextract_sext_i16 v8i16:$ws, i32:$idx)),
3917 (SRA (COPY_TO_REGCLASS (i32 (EXTRACT_SUBREG (SPLAT_H v8i16:$ws,
3921 def : MSAPat<(i32 (vextract_sext_i32 v4i32:$ws, i32:$idx)),
3922 (COPY_TO_REGCLASS (i32 (EXTRACT_SUBREG (SPLAT_W v4i32:$ws,
3926 def : MSAPat<(i64 (vextract_sext_i64 v2i64:$ws, i32:$idx)),
3927 (COPY_TO_REGCLASS (i64 (EXTRACT_SUBREG (SPLAT_D v2i64:$ws,
3932 def : MSAPat<(i32 (vextract_zext_i8 v16i8:$ws, i32:$idx)),
3933 (SRL (COPY_TO_REGCLASS (i32 (EXTRACT_SUBREG (SPLAT_B v16i8:$ws,
3937 def : MSAPat<(i32 (vextract_zext_i16 v8i16:$ws, i32:$idx)),
3938 (SRL (COPY_TO_REGCLASS (i32 (EXTRACT_SUBREG (SPLAT_H v8i16:$ws,
3942 def : MSAPat<(i32 (vextract_zext_i32 v4i32:$ws, i32:$idx)),
3943 (COPY_TO_REGCLASS (i32 (EXTRACT_SUBREG (SPLAT_W v4i32:$ws,
3947 def : MSAPat<(i64 (vextract_zext_i64 v2i64:$ws, i32:$idx)),
3948 (COPY_TO_REGCLASS (i64 (EXTRACT_SUBREG (SPLAT_D v2i64:$ws,
3953 def : MSAPat<(f32 (vector_extract v4f32:$ws, i32:$idx)),
3954 (f32 (EXTRACT_SUBREG (SPLAT_W v4f32:$ws,
3957 def : MSAPat<(f64 (vector_extract v2f64:$ws, i32:$idx)),
3958 (f64 (EXTRACT_SUBREG (SPLAT_D v2f64:$ws,
3964 (i32 (vextract_sext_i8 v16i8:$ws, i64:$idx)),
3967 (SPLAT_B v16i8:$ws,
3974 (i32 (vextract_sext_i16 v8i16:$ws, i64:$idx)),
3977 (SPLAT_H v8i16:$ws,
3984 (i32 (vextract_sext_i32 v4i32:$ws, i64:$idx)),
3987 (SPLAT_W v4i32:$ws,
3993 (i64 (vextract_sext_i64 v2i64:$ws, i64:$idx)),
3996 (SPLAT_D v2i64:$ws,
4002 (i32 (vextract_zext_i8 v16i8:$ws, i64:$idx)),
4005 (SPLAT_B v16i8:$ws,
4012 (i32 (vextract_zext_i16 v8i16:$ws, i64:$idx)),
4015 (SPLAT_H v8i16:$ws,
4022 (i32 (vextract_zext_i32 v4i32:$ws, i64:$idx)),
4025 (SPLAT_W v4i32:$ws,
4030 (i64 (vextract_zext_i64 v2i64:$ws, i64:$idx)),
4033 (SPLAT_D v2i64:$ws,
4040 (f32 (vector_extract v4f32:$ws, i64:$idx)),
4042 (SPLAT_W v4f32:$ws,
4046 (f64 (vector_extract v2f64:$ws, i64:$idx)),
4048 (SPLAT_D v2f64:$ws,