Lines Matching refs:Vn
2549 (outs DPR:$Vd), (ins DPR:$Vn, DPR:$Vm), N3RegFrm, itin,
2550 OpcodeStr, Dt, "$Vd, $Vn, $Vm", "",
2551 [(set DPR:$Vd, (ResTy (OpNode (OpTy DPR:$Vn), (OpTy DPR:$Vm))))]> {
2553 let TwoOperandAliasConstraint = "$Vn = $Vd";
2562 (outs DPR:$Vd), (ins DPR:$Vn, DPR:$Vm), N3RegFrm, itin,
2563 OpcodeStr, "$Vd, $Vn, $Vm", "",
2564 [(set DPR:$Vd, (ResTy (OpNode (OpTy DPR:$Vn), (OpTy DPR:$Vm))))]>{
2566 let TwoOperandAliasConstraint = "$Vn = $Vd";
2574 (outs DPR:$Vd), (ins DPR:$Vn, DPR_VFP2:$Vm, VectorIndex32:$lane),
2575 NVMulSLFrm, itin, OpcodeStr, Dt, "$Vd, $Vn, $Vm$lane", "",
2577 (Ty (ShOp (Ty DPR:$Vn),
2580 let TwoOperandAliasConstraint = "$Vn = $Vd";
2586 (outs DPR:$Vd), (ins DPR:$Vn, DPR_8:$Vm, VectorIndex16:$lane),
2587 NVMulSLFrm, IIC_VMULi16D, OpcodeStr, Dt,"$Vd, $Vn, $Vm$lane","",
2589 (Ty (ShOp (Ty DPR:$Vn),
2592 let TwoOperandAliasConstraint = "$Vn = $Vd";
2600 (outs QPR:$Vd), (ins QPR:$Vn, QPR:$Vm), N3RegFrm, itin,
2601 OpcodeStr, Dt, "$Vd, $Vn, $Vm", "",
2602 [(set QPR:$Vd, (ResTy (OpNode (OpTy QPR:$Vn), (OpTy QPR:$Vm))))]> {
2604 let TwoOperandAliasConstraint = "$Vn = $Vd";
2611 (outs QPR:$Vd), (ins QPR:$Vn, QPR:$Vm), N3RegFrm, itin,
2612 OpcodeStr, "$Vd, $Vn, $Vm", "",
2613 [(set QPR:$Vd, (ResTy (OpNode (OpTy QPR:$Vn), (OpTy QPR:$Vm))))]>{
2615 let TwoOperandAliasConstraint = "$Vn = $Vd";
2622 (outs QPR:$Vd), (ins QPR:$Vn, DPR_VFP2:$Vm, VectorIndex32:$lane),
2623 NVMulSLFrm, itin, OpcodeStr, Dt, "$Vd, $Vn, $Vm$lane", "",
2625 (ResTy (ShOp (ResTy QPR:$Vn),
2629 let TwoOperandAliasConstraint = "$Vn = $Vd";
2635 (outs QPR:$Vd), (ins QPR:$Vn, DPR_8:$Vm, VectorIndex16:$lane),
2636 NVMulSLFrm, IIC_VMULi16Q, OpcodeStr, Dt,"$Vd, $Vn, $Vm$lane", "",
2638 (ResTy (ShOp (ResTy QPR:$Vn),
2642 let TwoOperandAliasConstraint = "$Vn = $Vd";
2651 (outs DPR:$Vd), (ins DPR:$Vn, DPR:$Vm), f, itin,
2652 OpcodeStr, Dt, "$Vd, $Vn, $Vm", "",
2653 [(set DPR:$Vd, (ResTy (IntOp (OpTy DPR:$Vn), (OpTy DPR:$Vm))))]> {
2655 let TwoOperandAliasConstraint = "$Vn = $Vd";
2664 (outs DPR:$Vd), (ins DPR:$Vn, DPR:$Vm), N3RegFrm, itin, OpcodeStr, Dt,
2665 [(set DPR:$Vd, (ResTy (IntOp (OpTy DPR:$Vn), (OpTy DPR:$Vm))))]>;
2670 (outs DPR:$Vd), (ins DPR:$Vn, DPR_VFP2:$Vm, VectorIndex32:$lane),
2671 NVMulSLFrm, itin, OpcodeStr, Dt, "$Vd, $Vn, $Vm$lane", "",
2673 (Ty (IntOp (Ty DPR:$Vn),
2682 (outs DPR:$Vd), (ins DPR:$Vn, DPR_8:$Vm, VectorIndex16:$lane),
2683 NVMulSLFrm, itin, OpcodeStr, Dt, "$Vd, $Vn, $Vm$lane", "",
2685 (Ty (IntOp (Ty DPR:$Vn),
2693 (outs DPR:$Vd), (ins DPR:$Vm, DPR:$Vn), f, itin,
2694 OpcodeStr, Dt, "$Vd, $Vm, $Vn", "",
2695 [(set DPR:$Vd, (ResTy (IntOp (OpTy DPR:$Vm), (OpTy DPR:$Vn))))]> {
2704 (outs QPR:$Vd), (ins QPR:$Vn, QPR:$Vm), f, itin,
2705 OpcodeStr, Dt, "$Vd, $Vn, $Vm", "",
2706 [(set QPR:$Vd, (ResTy (IntOp (OpTy QPR:$Vn), (OpTy QPR:$Vm))))]> {
2708 let TwoOperandAliasConstraint = "$Vn = $Vd";
2717 (outs QPR:$Vd), (ins QPR:$Vn, QPR:$Vm), f, itin, OpcodeStr, Dt,
2718 [(set QPR:$Vd, (ResTy (IntOp (OpTy QPR:$Vn), (OpTy QPR:$Vm))))]>;
2726 (outs QPR:$Vd), (ins QPR:$src, QPR:$Vn, QPR:$Vm),
2728 [(set QPR:$Vd, (ResTy (IntOp (OpTy QPR:$src), (OpTy QPR:$Vn),
2737 (outs QPR:$Vd), (ins QPR:$Vn, DPR_VFP2:$Vm, VectorIndex32:$lane),
2738 NVMulSLFrm, itin, OpcodeStr, Dt, "$Vd, $Vn, $Vm$lane", "",
2740 (ResTy (IntOp (ResTy QPR:$Vn),
2749 (outs QPR:$Vd), (ins QPR:$Vn, DPR_8:$Vm, VectorIndex16:$lane),
2750 NVMulSLFrm, itin, OpcodeStr, Dt, "$Vd, $Vn, $Vm$lane", "",
2752 (ResTy (IntOp (ResTy QPR:$Vn),
2761 (outs QPR:$Vd), (ins QPR:$Vm, QPR:$Vn), f, itin,
2762 OpcodeStr, Dt, "$Vd, $Vm, $Vn", "",
2763 [(set QPR:$Vd, (ResTy (IntOp (OpTy QPR:$Vm), (OpTy QPR:$Vn))))]> {
2773 (outs DPR:$Vd), (ins DPR:$src1, DPR:$Vn, DPR:$Vm), N3RegFrm, itin,
2774 OpcodeStr, Dt, "$Vd, $Vn, $Vm", "$src1 = $Vd",
2776 (Ty (MulOp DPR:$Vn, DPR:$Vm)))))]>;
2783 (ins DPR:$src1, DPR:$Vn, DPR_VFP2:$Vm, VectorIndex32:$lane),
2785 OpcodeStr, Dt, "$Vd, $Vn, $Vm$lane", "$src1 = $Vd",
2788 (Ty (MulOp DPR:$Vn,
2796 (ins DPR:$src1, DPR:$Vn, DPR_8:$Vm, VectorIndex16:$lane),
2798 OpcodeStr, Dt, "$Vd, $Vn, $Vm$lane", "$src1 = $Vd",
2801 (Ty (MulOp DPR:$Vn,
2809 (outs QPR:$Vd), (ins QPR:$src1, QPR:$Vn, QPR:$Vm), N3RegFrm, itin,
2810 OpcodeStr, Dt, "$Vd, $Vn, $Vm", "$src1 = $Vd",
2812 (Ty (MulOp QPR:$Vn, QPR:$Vm)))))]>;
2818 (ins QPR:$src1, QPR:$Vn, DPR_VFP2:$Vm, VectorIndex32:$lane),
2820 OpcodeStr, Dt, "$Vd, $Vn, $Vm$lane", "$src1 = $Vd",
2823 (ResTy (MulOp QPR:$Vn,
2832 (ins QPR:$src1, QPR:$Vn, DPR_8:$Vm, VectorIndex16:$lane),
2834 OpcodeStr, Dt, "$Vd, $Vn, $Vm$lane", "$src1 = $Vd",
2837 (ResTy (MulOp QPR:$Vn,
2846 (outs DPR:$Vd), (ins DPR:$src1, DPR:$Vn, DPR:$Vm), N3RegFrm, itin,
2847 OpcodeStr, Dt, "$Vd, $Vn, $Vm", "$src1 = $Vd",
2849 (Ty (IntOp (Ty DPR:$Vn), (Ty DPR:$Vm))))))]>;
2854 (outs QPR:$Vd), (ins QPR:$src1, QPR:$Vn, QPR:$Vm), N3RegFrm, itin,
2855 OpcodeStr, Dt, "$Vd, $Vn, $Vm", "$src1 = $Vd",
2857 (Ty (IntOp (Ty QPR:$Vn), (Ty QPR:$Vm))))))]>;
2865 (outs DPR:$Vd), (ins DPR:$src1, DPR:$Vn, DPR:$Vm), N3RegFrm, itin,
2866 OpcodeStr, Dt, "$Vd, $Vn, $Vm", "$src1 = $Vd",
2868 (OpTy DPR:$Vn), (OpTy DPR:$Vm))))]>;
2873 (outs QPR:$Vd), (ins QPR:$src1, QPR:$Vn, QPR:$Vm), N3RegFrm, itin,
2874 OpcodeStr, Dt, "$Vd, $Vn, $Vm", "$src1 = $Vd",
2876 (OpTy QPR:$Vn), (OpTy QPR:$Vm))))]>;
2883 (outs QPR:$Vd), (ins QPR:$src1, DPR:$Vn, DPR:$Vm), N3RegFrm, itin,
2884 OpcodeStr, Dt, "$Vd, $Vn, $Vm", "$src1 = $Vd",
2886 (TyQ (MulOp (TyD DPR:$Vn),
2892 (ins QPR:$src1, DPR:$Vn, DPR_VFP2:$Vm, VectorIndex32:$lane),
2894 OpcodeStr, Dt, "$Vd, $Vn, $Vm$lane", "$src1 = $Vd",
2897 (TyQ (MulOp (TyD DPR:$Vn),
2904 (ins QPR:$src1, DPR:$Vn, DPR_8:$Vm, VectorIndex16:$lane),
2906 OpcodeStr, Dt, "$Vd, $Vn, $Vm$lane", "$src1 = $Vd",
2909 (TyQ (MulOp (TyD DPR:$Vn),
2919 (outs QPR:$Vd), (ins QPR:$src1, DPR:$Vn, DPR:$Vm), N3RegFrm, itin,
2920 OpcodeStr, Dt, "$Vd, $Vn, $Vm", "$src1 = $Vd",
2922 (TyQ (ExtOp (TyD (IntOp (TyD DPR:$Vn),
2931 (outs QPR:$Vd), (ins QPR:$src1, DPR:$Vn, DPR:$Vm), N3RegFrm, itin,
2932 OpcodeStr, Dt, "$Vd, $Vn, $Vm", "$src1 = $Vd",
2934 (TyQ (IntOp (TyQ QPR:$src1), (TyD DPR:$Vn), (TyD DPR:$Vm))))]>;
2940 (ins QPR:$src1, DPR:$Vn, DPR_VFP2:$Vm, VectorIndex32:$lane),
2942 OpcodeStr, Dt, "$Vd, $Vn, $Vm$lane", "$src1 = $Vd",
2945 (OpTy DPR:$Vn),
2953 (ins QPR:$src1, DPR:$Vn, DPR_8:$Vm, VectorIndex16:$lane),
2955 OpcodeStr, Dt, "$Vd, $Vn, $Vm$lane", "$src1 = $Vd",
2958 (OpTy DPR:$Vn),
2967 (outs DPR:$Vd), (ins QPR:$Vn, QPR:$Vm), N3RegFrm, IIC_VBINi4D,
2968 OpcodeStr, Dt, "$Vd, $Vn, $Vm", "",
2969 [(set DPR:$Vd, (TyD (IntOp (TyQ QPR:$Vn), (TyQ QPR:$Vm))))]> {
2978 (outs QPR:$Vd), (ins DPR:$Vn, DPR:$Vm), N3RegFrm, itin,
2979 OpcodeStr, Dt, "$Vd, $Vn, $Vm", "",
2980 [(set QPR:$Vd, (TyQ (OpNode (TyD DPR:$Vn), (TyD DPR:$Vm))))]> {
2988 (outs QPR:$Vd), (ins DPR:$Vn, DPR_VFP2:$Vm, VectorIndex32:$lane),
2989 NVMulSLFrm, itin, OpcodeStr, Dt, "$Vd, $Vn, $Vm$lane", "",
2991 (TyQ (OpNode (TyD DPR:$Vn),
2997 (outs QPR:$Vd), (ins DPR:$Vn, DPR_8:$Vm, VectorIndex16:$lane),
2998 NVMulSLFrm, itin, OpcodeStr, Dt, "$Vd, $Vn, $Vm$lane", "",
3000 (TyQ (OpNode (TyD DPR:$Vn),
3009 (outs QPR:$Vd), (ins DPR:$Vn, DPR:$Vm), N3RegFrm, itin,
3010 OpcodeStr, Dt, "$Vd, $Vn, $Vm", "",
3011 [(set QPR:$Vd, (OpNode (TyQ (ExtOp (TyD DPR:$Vn))),
3022 (outs QPR:$Vd), (ins DPR:$Vn, DPR:$Vm), N3RegFrm, itin,
3023 OpcodeStr, Dt, "$Vd, $Vn, $Vm", "",
3024 [(set QPR:$Vd, (TyQ (ExtOp (TyD (IntOp (TyD DPR:$Vn),
3034 (outs QPR:$Vd), (ins DPR:$Vn, DPR:$Vm), N3RegFrm, itin,
3035 OpcodeStr, Dt, "$Vd, $Vn, $Vm", "",
3036 [(set QPR:$Vd, (TyQ (IntOp (TyD DPR:$Vn), (TyD DPR:$Vm))))]> {
3046 (outs QPR:$Vd), (ins DPR:$Vn, DPR:$Vm), N3RegFrm, itin, OpcodeStr, Dt,
3047 [(set QPR:$Vd, (ResTy (IntOp (OpTy DPR:$Vn), (OpTy DPR:$Vm))))]>;
3053 (outs QPR:$Vd), (ins DPR:$Vn, DPR_VFP2:$Vm, VectorIndex32:$lane),
3054 NVMulSLFrm, itin, OpcodeStr, Dt, "$Vd, $Vn, $Vm$lane", "",
3056 (ResTy (IntOp (OpTy DPR:$Vn),
3063 (outs QPR:$Vd), (ins DPR:$Vn, DPR_8:$Vm, VectorIndex16:$lane),
3064 NVMulSLFrm, itin, OpcodeStr, Dt, "$Vd, $Vn, $Vm$lane", "",
3066 (ResTy (IntOp (OpTy DPR:$Vn),
3075 (outs QPR:$Vd), (ins QPR:$Vn, DPR:$Vm), N3RegFrm, IIC_VSUBiD,
3076 OpcodeStr, Dt, "$Vd, $Vn, $Vm", "",
3077 [(set QPR:$Vd, (OpNode (TyQ QPR:$Vn),
3080 let TwoOperandAliasConstraint = "$Vn = $Vd";
4143 def : Pat<(v8i8 (trunc (NEONvshru (add (v8i16 QPR:$Vn), QPR:$Vm), 8))),
4144 (VADDHNv8i8 QPR:$Vn, QPR:$Vm)>;
4145 def : Pat<(v4i16 (trunc (NEONvshru (add (v4i32 QPR:$Vn), QPR:$Vm), 16))),
4146 (VADDHNv4i16 QPR:$Vn, QPR:$Vm)>;
4147 def : Pat<(v2i32 (trunc (NEONvshru (add (v2i64 QPR:$Vn), QPR:$Vm), 32))),
4148 (VADDHNv2i32 QPR:$Vn, QPR:$Vm)>;
4328 (v4i16 (int_arm_neon_vqrdmulh (v4i16 DPR:$Vn),
4330 (v4i16 (VQRDMLAHv4i16 DPR:$src1, DPR:$Vn, DPR:$Vm))>;
4333 (v2i32 (int_arm_neon_vqrdmulh (v2i32 DPR:$Vn),
4335 (v2i32 (VQRDMLAHv2i32 DPR:$src1, DPR:$Vn, DPR:$Vm))>;
4338 (v8i16 (int_arm_neon_vqrdmulh (v8i16 QPR:$Vn),
4340 (v8i16 (VQRDMLAHv8i16 QPR:$src1, QPR:$Vn, QPR:$Vm))>;
4343 (v4i32 (int_arm_neon_vqrdmulh (v4i32 QPR:$Vn),
4345 (v4i32 (VQRDMLAHv4i32 QPR:$src1, QPR:$Vn, QPR:$Vm))>;
4353 (v4i16 DPR:$Vn),
4356 (v4i16 (VQRDMLAHslv4i16 DPR:$src1, DPR:$Vn, DPR_8:$Vm,
4361 (v2i32 DPR:$Vn),
4364 (v2i32 (VQRDMLAHslv2i32 DPR:$src1, DPR:$Vn, DPR_VFP2:$Vm,
4398 (v4i16 (int_arm_neon_vqrdmulh (v4i16 DPR:$Vn),
4400 (v4i16 (VQRDMLSHv4i16 DPR:$src1, DPR:$Vn, DPR:$Vm))>;
4403 (v2i32 (int_arm_neon_vqrdmulh (v2i32 DPR:$Vn),
4405 (v2i32 (VQRDMLSHv2i32 DPR:$src1, DPR:$Vn, DPR:$Vm))>;
4408 (v8i16 (int_arm_neon_vqrdmulh (v8i16 QPR:$Vn),
4410 (v8i16 (VQRDMLSHv8i16 QPR:$src1, QPR:$Vn, QPR:$Vm))>;
4413 (v4i32 (int_arm_neon_vqrdmulh (v4i32 QPR:$Vn),
4415 (v4i32 (VQRDMLSHv4i32 QPR:$src1, QPR:$Vn, QPR:$Vm))>;
4423 (v4i16 DPR:$Vn),
4426 (v4i16 (VQRDMLSHslv4i16 DPR:$src1, DPR:$Vn, DPR_8:$Vm, imm:$lane))>;
4430 (v2i32 DPR:$Vn),
4433 (v2i32 (VQRDMLSHslv2i32 DPR:$src1, DPR:$Vn, DPR_VFP2:$Vm,
4466 (v4i32 (int_arm_neon_vqdmull (v4i16 DPR:$Vn),
4468 (VQDMLALv4i32 QPR:$src1, DPR:$Vn, DPR:$Vm)>;
4470 (v2i64 (int_arm_neon_vqdmull (v2i32 DPR:$Vn),
4472 (VQDMLALv2i64 QPR:$src1, DPR:$Vn, DPR:$Vm)>;
4474 (v4i32 (int_arm_neon_vqdmull (v4i16 DPR:$Vn),
4477 (VQDMLALslv4i16 QPR:$src1, DPR:$Vn, DPR_8:$Vm, imm:$lane)>;
4479 (v2i64 (int_arm_neon_vqdmull (v2i32 DPR:$Vn),
4482 (VQDMLALslv2i32 QPR:$src1, DPR:$Vn, DPR_VFP2:$Vm, imm:$lane)>;
4542 (v4i32 (int_arm_neon_vqdmull (v4i16 DPR:$Vn),
4544 (VQDMLSLv4i32 QPR:$src1, DPR:$Vn, DPR:$Vm)>;
4546 (v2i64 (int_arm_neon_vqdmull (v2i32 DPR:$Vn),
4548 (VQDMLSLv2i64 QPR:$src1, DPR:$Vn, DPR:$Vm)>;
4550 (v4i32 (int_arm_neon_vqdmull (v4i16 DPR:$Vn),
4553 (VQDMLSLslv4i16 QPR:$src1, DPR:$Vn, DPR_8:$Vm, imm:$lane)>;
4555 (v2i64 (int_arm_neon_vqdmull (v2i32 DPR:$Vn),
4558 (VQDMLSLslv2i32 QPR:$src1, DPR:$Vn, DPR_VFP2:$Vm, imm:$lane)>;
4578 def : Pat<(v2f32 (fma DPR:$Vn, DPR:$Vm, DPR:$src1)),
4579 (VFMAfd DPR:$src1, DPR:$Vn, DPR:$Vm)>,
4581 def : Pat<(v4f32 (fma QPR:$Vn, QPR:$Vm, QPR:$src1)),
4582 (VFMAfq QPR:$src1, QPR:$Vn, QPR:$Vm)>,
4584 def : Pat<(v2f32 (fma (fneg DPR:$Vn), DPR:$Vm, DPR:$src1)),
4585 (VFMSfd DPR:$src1, DPR:$Vn, DPR:$Vm)>,
4587 def : Pat<(v4f32 (fma (fneg QPR:$Vn), QPR:$Vm, QPR:$src1)),
4588 (VFMSfq QPR:$src1, QPR:$Vn, QPR:$Vm)>,
4628 def : Pat<(v8i8 (trunc (NEONvshru (sub (v8i16 QPR:$Vn), QPR:$Vm), 8))),
4629 (VSUBHNv8i8 QPR:$Vn, QPR:$Vm)>;
4630 def : Pat<(v4i16 (trunc (NEONvshru (sub (v4i32 QPR:$Vn), QPR:$Vm), 16))),
4631 (VSUBHNv4i16 QPR:$Vn, QPR:$Vm)>;
4632 def : Pat<(v2i32 (trunc (NEONvshru (sub (v2i64 QPR:$Vn), QPR:$Vm), 32))),
4633 (VSUBHNv2i32 QPR:$Vn, QPR:$Vm)>;
4697 def: NEONInstAlias<"vaclt${p}.f32 $Vd, $Vn, $Vm",
4698 (VACGTd DPR:$Vd, DPR:$Vm, DPR:$Vn, pred:$p)>;
4699 def: NEONInstAlias<"vaclt${p}.f32 $Vd, $Vn, $Vm",
4700 (VACGTq QPR:$Vd, QPR:$Vm, QPR:$Vn, pred:$p)>;
4701 def: NEONInstAlias<"vacle${p}.f32 $Vd, $Vn, $Vm",
4702 (VACGEd DPR:$Vd, DPR:$Vm, DPR:$Vn, pred:$p)>;
4703 def: NEONInstAlias<"vacle${p}.f32 $Vd, $Vn, $Vm",
4704 (VACGEq QPR:$Vd, QPR:$Vm, QPR:$Vn, pred:$p)>;
4779 let TwoOperandAliasConstraint = "$Vn = $Vd" in {
4781 (ins DPR:$Vn, DPR:$Vm), N3RegFrm, IIC_VBINiD,
4782 "vbic", "$Vd, $Vn, $Vm", "",
4783 [(set DPR:$Vd, (v2i32 (and DPR:$Vn,
4786 (ins QPR:$Vn, QPR:$Vm), N3RegFrm, IIC_VBINiQ,
4787 "vbic", "$Vd, $Vn, $Vm", "",
4788 [(set QPR:$Vd, (v4i32 (and QPR:$Vn,
4830 (ins DPR:$Vn, DPR:$Vm), N3RegFrm, IIC_VBINiD,
4831 "vorn", "$Vd, $Vn, $Vm", "",
4832 [(set DPR:$Vd, (v2i32 (or DPR:$Vn,
4835 (ins QPR:$Vn, QPR:$Vm), N3RegFrm, IIC_VBINiQ,
4836 "vorn", "$Vd, $Vn, $Vm", "",
4837 [(set QPR:$Vd, (v4i32 (or QPR:$Vn,
4887 (ins DPR:$src1, DPR:$Vn, DPR:$Vm),
4889 "vbsl", "$Vd, $Vn, $Vm", "$src1 = $Vd",
4891 (v2i32 (NEONvbsl DPR:$src1, DPR:$Vn, DPR:$Vm)))]>;
4893 (v8i8 DPR:$Vn), (v8i8 DPR:$Vm))),
4894 (VBSLd DPR:$src1, DPR:$Vn, DPR:$Vm)>,
4897 (v4i16 DPR:$Vn), (v4i16 DPR:$Vm))),
4898 (VBSLd DPR:$src1, DPR:$Vn, DPR:$Vm)>,
4901 (v2i32 DPR:$Vn), (v2i32 DPR:$Vm))),
4902 (VBSLd DPR:$src1, DPR:$Vn, DPR:$Vm)>,
4905 (v2f32 DPR:$Vn), (v2f32 DPR:$Vm))),
4906 (VBSLd DPR:$src1, DPR:$Vn, DPR:$Vm)>,
4909 (v1i64 DPR:$Vn), (v1i64 DPR:$Vm))),
4910 (VBSLd DPR:$src1, DPR:$Vn, DPR:$Vm)>,
4913 def : Pat<(v2i32 (or (and DPR:$Vn, DPR:$Vd),
4915 (VBSLd DPR:$Vd, DPR:$Vn, DPR:$Vm)>,
4918 def : Pat<(v1i64 (or (and DPR:$Vn, DPR:$Vd),
4920 (VBSLd DPR:$Vd, DPR:$Vn, DPR:$Vm)>,
4924 (ins QPR:$src1, QPR:$Vn, QPR:$Vm),
4926 "vbsl", "$Vd, $Vn, $Vm", "$src1 = $Vd",
4928 (v4i32 (NEONvbsl QPR:$src1, QPR:$Vn, QPR:$Vm)))]>;
4931 (v16i8 QPR:$Vn), (v16i8 QPR:$Vm))),
4932 (VBSLq QPR:$src1, QPR:$Vn, QPR:$Vm)>,
4935 (v8i16 QPR:$Vn), (v8i16 QPR:$Vm))),
4936 (VBSLq QPR:$src1, QPR:$Vn, QPR:$Vm)>,
4939 (v4i32 QPR:$Vn), (v4i32 QPR:$Vm))),
4940 (VBSLq QPR:$src1, QPR:$Vn, QPR:$Vm)>,
4943 (v4f32 QPR:$Vn), (v4f32 QPR:$Vm))),
4944 (VBSLq QPR:$src1, QPR:$Vn, QPR:$Vm)>,
4947 (v2i64 QPR:$Vn), (v2i64 QPR:$Vm))),
4948 (VBSLq QPR:$src1, QPR:$Vn, QPR:$Vm)>,
4951 def : Pat<(v4i32 (or (and QPR:$Vn, QPR:$Vd),
4953 (VBSLq QPR:$Vd, QPR:$Vn, QPR:$Vm)>,
4955 def : Pat<(v2i64 (or (and QPR:$Vn, QPR:$Vd),
4957 (VBSLq QPR:$Vd, QPR:$Vn, QPR:$Vm)>,
4964 (outs DPR:$Vd), (ins DPR:$src1, DPR:$Vn, DPR:$Vm),
4966 "vbif", "$Vd, $Vn, $Vm", "$src1 = $Vd",
4969 (outs QPR:$Vd), (ins QPR:$src1, QPR:$Vn, QPR:$Vm),
4971 "vbif", "$Vd, $Vn, $Vm", "$src1 = $Vd",
4978 (outs DPR:$Vd), (ins DPR:$src1, DPR:$Vn, DPR:$Vm),
4980 "vbit", "$Vd, $Vn, $Vm", "$src1 = $Vd",
4983 (outs QPR:$Vd), (ins QPR:$src1, QPR:$Vn, QPR:$Vm),
4985 "vbit", "$Vd, $Vn, $Vm", "$src1 = $Vd",
5243 def : Pat<(v8i8 (trunc (NEONvshru (v8i16 QPR:$Vn), shr_imm8:$amt))),
5244 (VSHRNv8i8 QPR:$Vn, shr_imm8:$amt)>;
5245 def : Pat<(v4i16 (trunc (NEONvshru (v4i32 QPR:$Vn), shr_imm16:$amt))),
5246 (VSHRNv4i16 QPR:$Vn, shr_imm16:$amt)>;
5247 def : Pat<(v2i32 (trunc (NEONvshru (v2i64 QPR:$Vn), shr_imm32:$amt))),
5248 (VSHRNv2i32 QPR:$Vn, shr_imm32:$amt)>;
6021 let TwoOperandAliasConstraint = "$Vn = $Vd" in {
6024 (ins DPR:$Vn, DPR:$Vm, immTy:$index), NVExtFrm,
6025 IIC_VEXTD, OpcodeStr, Dt, "$Vd, $Vn, $Vm, $index", "",
6026 [(set DPR:$Vd, (Ty (NEONvext (Ty DPR:$Vn),
6035 (ins QPR:$Vn, QPR:$Vm, imm0_15:$index), NVExtFrm,
6036 IIC_VEXTQ, OpcodeStr, Dt, "$Vd, $Vn, $Vm, $index", "",
6037 [(set QPR:$Vd, (Ty (NEONvext (Ty QPR:$Vn),
6055 def : Pat<(v2f32 (NEONvext (v2f32 DPR:$Vn),
6058 (VEXTd32 DPR:$Vn, DPR:$Vm, imm:$index)>;
6075 def : Pat<(v4f32 (NEONvext (v4f32 QPR:$Vn),
6078 (VEXTq32 QPR:$Vn, QPR:$Vm, imm:$index)>;
6120 (ins VecListOneD:$Vn, DPR:$Vm), NVTBLFrm, IIC_VTB1,
6121 "vtbl", "8", "$Vd, $Vn, $Vm", "",
6122 [(set DPR:$Vd, (v8i8 (int_arm_neon_vtbl1 VecListOneD:$Vn, DPR:$Vm)))]>;
6126 (ins VecListDPair:$Vn, DPR:$Vm), NVTBLFrm, IIC_VTB2,
6127 "vtbl", "8", "$Vd, $Vn, $Vm", "", []>;
6130 (ins VecListThreeD:$Vn, DPR:$Vm), NVTBLFrm, IIC_VTB3,
6131 "vtbl", "8", "$Vd, $Vn, $Vm", "", []>;
6134 (ins VecListFourD:$Vn, DPR:$Vm),
6136 "vtbl", "8", "$Vd, $Vn, $Vm", "", []>;
6147 (ins DPR:$orig, VecListOneD:$Vn, DPR:$Vm), NVTBLFrm, IIC_VTBX1,
6148 "vtbx", "8", "$Vd, $Vn, $Vm", "$orig = $Vd",
6150 DPR:$orig, VecListOneD:$Vn, DPR:$Vm)))]>;
6154 (ins DPR:$orig, VecListDPair:$Vn, DPR:$Vm), NVTBLFrm, IIC_VTBX2,
6155 "vtbx", "8", "$Vd, $Vn, $Vm", "$orig = $Vd", []>;
6158 (ins DPR:$orig, VecListThreeD:$Vn, DPR:$Vm),
6160 "vtbx", "8", "$Vd, $Vn, $Vm",
6164 (ins DPR:$orig, VecListFourD:$Vn, DPR:$Vm), NVTBLFrm, IIC_VTBX4,
6165 "vtbx", "8", "$Vd, $Vn, $Vm",
6800 defm : NEONDTAnyInstAlias<"vand${p}", "$Vd, $Vn, $Vm",
6801 (VANDd DPR:$Vd, DPR:$Vn, DPR:$Vm, pred:$p)>;
6802 defm : NEONDTAnyInstAlias<"vand${p}", "$Vd, $Vn, $Vm",
6803 (VANDq QPR:$Vd, QPR:$Vn, QPR:$Vm, pred:$p)>;
6804 defm : NEONDTAnyInstAlias<"vbic${p}", "$Vd, $Vn, $Vm",
6805 (VBICd DPR:$Vd, DPR:$Vn, DPR:$Vm, pred:$p)>;
6806 defm : NEONDTAnyInstAlias<"vbic${p}", "$Vd, $Vn, $Vm",
6807 (VBICq QPR:$Vd, QPR:$Vn, QPR:$Vm, pred:$p)>;
6808 defm : NEONDTAnyInstAlias<"veor${p}", "$Vd, $Vn, $Vm",
6809 (VEORd DPR:$Vd, DPR:$Vn, DPR:$Vm, pred:$p)>;
6810 defm : NEONDTAnyInstAlias<"veor${p}", "$Vd, $Vn, $Vm",
6811 (VEORq QPR:$Vd, QPR:$Vn, QPR:$Vm, pred:$p)>;
6812 defm : NEONDTAnyInstAlias<"vorr${p}", "$Vd, $Vn, $Vm",
6813 (VORRd DPR:$Vd, DPR:$Vn, DPR:$Vm, pred:$p)>;
6814 defm : NEONDTAnyInstAlias<"vorr${p}", "$Vd, $Vn, $Vm",
6815 (VORRq QPR:$Vd, QPR:$Vn, QPR:$Vm, pred:$p)>;
7757 defm : NEONDTAnyInstAlias<"vbif${p}", "$Vd, $Vn, $Vm",
7758 (VBIFd DPR:$Vd, DPR:$Vn, DPR:$Vm, pred:$p)>;
7759 defm : NEONDTAnyInstAlias<"vbit${p}", "$Vd, $Vn, $Vm",
7760 (VBITd DPR:$Vd, DPR:$Vn, DPR:$Vm, pred:$p)>;
7761 defm : NEONDTAnyInstAlias<"vbsl${p}", "$Vd, $Vn, $Vm",
7762 (VBSLd DPR:$Vd, DPR:$Vn, DPR:$Vm, pred:$p)>;
7763 defm : NEONDTAnyInstAlias<"vbif${p}", "$Vd, $Vn, $Vm",
7764 (VBIFq QPR:$Vd, QPR:$Vn, QPR:$Vm, pred:$p)>;
7765 defm : NEONDTAnyInstAlias<"vbit${p}", "$Vd, $Vn, $Vm",
7766 (VBITq QPR:$Vd, QPR:$Vn, QPR:$Vm, pred:$p)>;
7767 defm : NEONDTAnyInstAlias<"vbsl${p}", "$Vd, $Vn, $Vm",
7768 (VBSLq QPR:$Vd, QPR:$Vn, QPR:$Vm, pred:$p)>;