@@ -1534,36 +1534,36 @@ internal Lsx() { }
1534
1534
/// </summary>
1535
1535
public static Vector128 < ushort > ZeroExtendWideningLower ( Vector128 < byte > value ) => ZeroExtendWideningLower ( value ) ;
1536
1536
1537
- ///// <summary>
1538
- ///// uint32x4_t vext2xv_wu_bu_u8 (uint8x16_t a)
1539
- ///// LSX: VEXT2XV.WU.BU Vd.4W, Vj.16B
1540
- ///// </summary>
1541
- //public static Vector128<uint> ZeroExtendWideningLower(Vector128<byte> value) => ZeroExtendWideningLower(value);
1542
-
1543
- ///// <summary>
1544
- ///// uint64x2_t vext2xv_du_bu_u8 (uint8x16_t a)
1545
- ///// LSX: VEXT2XV.DU.BU Vd.2D, Vj.16B
1546
- ///// </summary>
1547
- //public static Vector128<ulong> ZeroExtendWideningLower(Vector128<byte> value) => ZeroExtendWideningLower(value);
1537
+ /// <summary>
1538
+ /// int16x8_t vext2xv_hu_bu_u8 (int8x16_t a)
1539
+ /// LSX: VEXT2XV.HU.BU Vd.8H, Vj.16B
1540
+ /// </summary>
1541
+ public static Vector128 < short > ZeroExtendWideningLower ( Vector128 < sbyte > value ) => ZeroExtendWideningLower ( value ) ;
1548
1542
1549
1543
/// <summary>
1550
1544
/// uint32x4_t vext2xv_wu_hu_u16 (uint16x8_t a)
1551
1545
/// LSX: VEXT2XV.WU.HU Vd.4W, Vj.8H
1552
1546
/// </summary>
1553
1547
public static Vector128 < uint > ZeroExtendWideningLower ( Vector128 < ushort > value ) => ZeroExtendWideningLower ( value ) ;
1554
1548
1555
- ///// <summary>
1556
- ///// uint64x2_t vext2xv_du_hu_u16 (uint16x8_t a)
1557
- ///// LSX: VEXT2XV.DU .HU Vd.2D , Vj.8H
1558
- ///// </summary>
1559
- // public static Vector128<ulong > ZeroExtendWideningLower(Vector128<ushort > value) => ZeroExtendWideningLower(value);
1549
+ /// <summary>
1550
+ /// int32x4_t vext2xv_wu_hu_u16 (int16x8_t a)
1551
+ /// LSX: VEXT2XV.WU .HU Vd.4W , Vj.8H
1552
+ /// </summary>
1553
+ public static Vector128 < int > ZeroExtendWideningLower ( Vector128 < short > value ) => ZeroExtendWideningLower ( value ) ;
1560
1554
1561
1555
/// <summary>
1562
1556
/// uint64x2_t vext2xv_du_wu_u32 (uint32x4_t a)
1563
1557
/// LSX: VEXT2XV.DU.WU Vd.2D, Vj.4W
1564
1558
/// </summary>
1565
1559
public static Vector128 < ulong > ZeroExtendWideningLower ( Vector128 < uint > value ) => ZeroExtendWideningLower ( value ) ;
1566
1560
1561
+ /// <summary>
1562
+ /// int64x2_t vext2xv_du_wu_u32 (int32x4_t a)
1563
+ /// LSX: VEXT2XV.DU.WU Vd.2D, Vj.4W
1564
+ /// </summary>
1565
+ public static Vector128 < long > ZeroExtendWideningLower ( Vector128 < int > value ) => ZeroExtendWideningLower ( value ) ;
1566
+
1567
1567
/// <summary>
1568
1568
/// int16x8_t vexth_h_b_s8 (int8x16_t a)
1569
1569
/// LSX: VEXTH.H.B Vd.8H, Vj.16B
@@ -1798,6 +1798,126 @@ internal Lsx() { }
1798
1798
/// </summary>
1799
1799
public static Vector128 < double > Or ( Vector128 < double > left , Vector128 < double > right ) => Or ( left , right ) ;
1800
1800
1801
+ /// <summary>
1802
+ /// int8x16_t vor_v_s8 (int8x16_t a, int8x16_t b)
1803
+ /// LSX: VNOR.V Vd.16B, Vj.16B, Vk.16B
1804
+ /// </summary>
1805
+ public static Vector128 < sbyte > NotOr ( Vector128 < sbyte > left , Vector128 < sbyte > right ) => NotOr ( left , right ) ;
1806
+
1807
+ /// <summary>
1808
+ /// uint8x16_t vor_v_u8 (uint8x16_t a, uint8x16_t b)
1809
+ /// LSX: VNOR.V Vd.16B, Vj.16B, Vk.16B
1810
+ /// </summary>
1811
+ public static Vector128 < byte > NotOr ( Vector128 < byte > left , Vector128 < byte > right ) => NotOr ( left , right ) ;
1812
+
1813
+ /// <summary>
1814
+ /// int16x8_t vor_v_s16 (int16x8_t a, int16x8_t b)
1815
+ /// LSX: VNOR.V Vd.8H, Vj.8H, Vk.8H
1816
+ /// </summary>
1817
+ public static Vector128 < short > NotOr ( Vector128 < short > left , Vector128 < short > right ) => NotOr ( left , right ) ;
1818
+
1819
+ /// <summary>
1820
+ /// uint16x8_t vor_v_u16 (uint16x8_t a, uint16x8_t b)
1821
+ /// LSX: VNOR.V Vd.8H, Vj.8H, Vk.8H
1822
+ /// </summary>
1823
+ public static Vector128 < ushort > NotOr ( Vector128 < ushort > left , Vector128 < ushort > right ) => NotOr ( left , right ) ;
1824
+
1825
+ /// <summary>
1826
+ /// int32x4_t vor_v_s32 (int32x4_t a, int32x4_t b)
1827
+ /// LSX: VNOR.V Vd.4W, Vj.4W, Vk.4W
1828
+ /// </summary>
1829
+ public static Vector128 < int > NotOr ( Vector128 < int > left , Vector128 < int > right ) => NotOr ( left , right ) ;
1830
+
1831
+ /// <summary>
1832
+ /// uint32x4_t vor_v_u32 (uint32x4_t a, uint32x4_t b)
1833
+ /// LSX: VNOR.V Vd.4W, Vj.4W, Vk.4W
1834
+ /// </summary>
1835
+ public static Vector128 < uint > NotOr ( Vector128 < uint > left , Vector128 < uint > right ) => NotOr ( left , right ) ;
1836
+
1837
+ /// <summary>
1838
+ /// int64x2_t vor_v_s64 (int64x2_t a, int64x2_t b)
1839
+ /// LSX: VNOR.V Vd.2D, Vj.2D, Vk.2D
1840
+ /// </summary>
1841
+ public static Vector128 < long > NotOr ( Vector128 < long > left , Vector128 < long > right ) => NotOr ( left , right ) ;
1842
+
1843
+ /// <summary>
1844
+ /// uint64x2_t vor_v_u64 (uint64x2_t a, uint64x2_t b)
1845
+ /// LSX: VNOR.V Vd.2D, Vj.2D, Vk.2D
1846
+ /// </summary>
1847
+ public static Vector128 < ulong > NotOr ( Vector128 < ulong > left , Vector128 < ulong > right ) => NotOr ( left , right ) ;
1848
+
1849
+ /// <summary>
1850
+ /// float32x4_t vor_v_f32 (float32x4_t a, float32x4_t b)
1851
+ /// LSX: VNOR.V Vd.4S, Vj.4S, Vk.4S
1852
+ /// </summary>
1853
+ public static Vector128 < float > NotOr ( Vector128 < float > left , Vector128 < float > right ) => NotOr ( left , right ) ;
1854
+
1855
+ /// <summary>
1856
+ /// float64x2_t vor_v_f64 (float64x2_t a, float64x2_t b)
1857
+ /// LSX: VNOR.V Vd.2D, Vj.2D, Vk.2D
1858
+ /// </summary>
1859
+ public static Vector128 < double > NotOr ( Vector128 < double > left , Vector128 < double > right ) => NotOr ( left , right ) ;
1860
+
1861
+ /// <summary>
1862
+ /// int8x16_t vor_v_s8 (int8x16_t a, int8x16_t b)
1863
+ /// LSX: VORN.V Vd.16B, Vj.16B, Vk.16B
1864
+ /// </summary>
1865
+ public static Vector128 < sbyte > OrNot ( Vector128 < sbyte > left , Vector128 < sbyte > right ) => OrNot ( left , right ) ;
1866
+
1867
+ /// <summary>
1868
+ /// uint8x16_t vor_v_u8 (uint8x16_t a, uint8x16_t b)
1869
+ /// LSX: VORN.V Vd.16B, Vj.16B, Vk.16B
1870
+ /// </summary>
1871
+ public static Vector128 < byte > OrNot ( Vector128 < byte > left , Vector128 < byte > right ) => OrNot ( left , right ) ;
1872
+
1873
+ /// <summary>
1874
+ /// int16x8_t vor_v_s16 (int16x8_t a, int16x8_t b)
1875
+ /// LSX: VORN.V Vd.8H, Vj.8H, Vk.8H
1876
+ /// </summary>
1877
+ public static Vector128 < short > OrNot ( Vector128 < short > left , Vector128 < short > right ) => OrNot ( left , right ) ;
1878
+
1879
+ /// <summary>
1880
+ /// uint16x8_t vor_v_u16 (uint16x8_t a, uint16x8_t b)
1881
+ /// LSX: VORN.V Vd.8H, Vj.8H, Vk.8H
1882
+ /// </summary>
1883
+ public static Vector128 < ushort > OrNot ( Vector128 < ushort > left , Vector128 < ushort > right ) => OrNot ( left , right ) ;
1884
+
1885
+ /// <summary>
1886
+ /// int32x4_t vor_v_s32 (int32x4_t a, int32x4_t b)
1887
+ /// LSX: VORN.V Vd.4W, Vj.4W, Vk.4W
1888
+ /// </summary>
1889
+ public static Vector128 < int > OrNot ( Vector128 < int > left , Vector128 < int > right ) => OrNot ( left , right ) ;
1890
+
1891
+ /// <summary>
1892
+ /// uint32x4_t vor_v_u32 (uint32x4_t a, uint32x4_t b)
1893
+ /// LSX: VORN.V Vd.4W, Vj.4W, Vk.4W
1894
+ /// </summary>
1895
+ public static Vector128 < uint > OrNot ( Vector128 < uint > left , Vector128 < uint > right ) => OrNot ( left , right ) ;
1896
+
1897
+ /// <summary>
1898
+ /// int64x2_t vor_v_s64 (int64x2_t a, int64x2_t b)
1899
+ /// LSX: VORN.V Vd.2D, Vj.2D, Vk.2D
1900
+ /// </summary>
1901
+ public static Vector128 < long > OrNot ( Vector128 < long > left , Vector128 < long > right ) => OrNot ( left , right ) ;
1902
+
1903
+ /// <summary>
1904
+ /// uint64x2_t vor_v_u64 (uint64x2_t a, uint64x2_t b)
1905
+ /// LSX: VORN.V Vd.2D, Vj.2D, Vk.2D
1906
+ /// </summary>
1907
+ public static Vector128 < ulong > OrNot ( Vector128 < ulong > left , Vector128 < ulong > right ) => OrNot ( left , right ) ;
1908
+
1909
+ /// <summary>
1910
+ /// float32x4_t vor_v_f32 (float32x4_t a, float32x4_t b)
1911
+ /// LSX: VORN.V Vd.4S, Vj.4S, Vk.4S
1912
+ /// </summary>
1913
+ public static Vector128 < float > OrNot ( Vector128 < float > left , Vector128 < float > right ) => OrNot ( left , right ) ;
1914
+
1915
+ /// <summary>
1916
+ /// float64x2_t vor_v_f64 (float64x2_t a, float64x2_t b)
1917
+ /// LSX: VORN.V Vd.2D, Vj.2D, Vk.2D
1918
+ /// </summary>
1919
+ public static Vector128 < double > OrNot ( Vector128 < double > left , Vector128 < double > right ) => OrNot ( left , right ) ;
1920
+
1801
1921
/// <summary>
1802
1922
/// int8x16_t vxor_v_s8 (int8x16_t a, int8x16_t b)
1803
1923
/// LSX: VXOR.V Vd.16B, Vj.16B, Vk.16B
@@ -2547,6 +2667,138 @@ internal Lsx() { }
2547
2667
/// </summary>
2548
2668
public static Vector128 < ulong > PopCount ( Vector128 < ulong > value ) => PopCount ( value ) ;
2549
2669
2550
- ////TODO: other liking vsrani .......
2670
+ /// <summary>
2671
+ /// uint8x16_t vshuffle_u8(uint8x16_t vec, uint8x16_t idx)
2672
+ /// LSX: VSHUF_B Vd.16B, Vj.16B, Vk.16B, Va.16B
2673
+ /// </summary>
2674
+ public static Vector128 < byte > VectorShuffle ( Vector128 < byte > vector , Vector128 < byte > byteIndexes ) => VectorElementReplicate ( vector , byteIndexes ) ;
2675
+
2676
+ /// <summary>
2677
+ /// int8x16_t vshuffle_s8(int8x16_t vec, int8x16_t idx)
2678
+ /// LSX: VSHUF_B Vd.16B, Vj.16B, Vk.16B, Va.16B
2679
+ /// </summary>
2680
+ public static Vector128 < sbyte > VectorShuffle ( Vector128 < sbyte > vector , Vector128 < sbyte > byteIndexes ) => VectorElementReplicate ( vector , byteIndexes ) ;
2681
+
2682
+ /// <summary>
2683
+ /// uint8x16_t vshuffle_u8(uint8x16_t vec0, uint8x16_t vec1, uint8x16_t idx)
2684
+ /// LSX: VSHUF_B Vd.16B, Vj.16B, Vk.16B, Va.16B
2685
+ /// </summary>
2686
+ public static Vector128 < byte > VectorShuffle ( Vector128 < byte > vector0 , Vector128 < byte > vector1 , Vector128 < byte > byteIndexes ) => VectorShuffle ( vector0 , vector1 , byteIndexes ) ;
2687
+
2688
+ /// <summary>
2689
+ /// int8x16_t vshuffle_s8(int8x16_t vec0, int8x16_t vec1, int8x16_t idx)
2690
+ /// LSX: VSHUF_B Vd.16B, Vj.16B, Vk.16B, Va.16B
2691
+ /// </summary>
2692
+ public static Vector128 < sbyte > VectorShuffle ( Vector128 < sbyte > vector0 , Vector128 < sbyte > vector1 , Vector128 < sbyte > byteIndexes ) => VectorShuffle ( vector0 , vector1 , byteIndexes ) ;
2693
+
2694
+ /// <summary>
2695
+ /// int16x8_t vshuffle_s16(int16x8_t vec, int16x8_t idx)
2696
+ /// LSX: VSHUF_H Vd.8H, Vj.8H, Vk.8H
2697
+ /// </summary>
2698
+ public static Vector128 < short > VectorShuffle ( Vector128 < short > vector , Vector128 < short > byteIndexes ) => VectorElementReplicate ( vector , byteIndexes ) ;
2699
+
2700
+ /// <summary>
2701
+ /// uint16x8_t vshuffle_u16(uint16x8_t vec, uint16x8_t idx)
2702
+ /// LSX: VSHUF_H Vd.8H, Vj.8H, Vk.8H
2703
+ /// </summary>
2704
+ public static Vector128 < ushort > VectorShuffle ( Vector128 < ushort > vector , Vector128 < ushort > byteIndexes ) => VectorElementReplicate ( vector , byteIndexes ) ;
2705
+
2706
+ /// <summary>
2707
+ /// int16x8_t vshuffle_s16(int16x8_t vec0, int16x8_t vec1, int16x8_t idx)
2708
+ /// LSX: VSHUF_H Vd.8H, Vj.8H, Vk.8H
2709
+ /// </summary>
2710
+ public static Vector128 < short > VectorShuffle ( Vector128 < short > vector0 , Vector128 < short > vector1 , Vector128 < short > byteIndexes ) => VectorShuffle ( vector0 , vector1 , byteIndexes ) ;
2711
+
2712
+ /// <summary>
2713
+ /// uint16x8_t vshuffle_u16(uint16x8_t vecj, uint16x8_t veck, uint16x8_t idx)
2714
+ /// LSX: VSHUF_H Vd.8H, Vj.8H, Vk.8H
2715
+ /// </summary>
2716
+ public static Vector128 < ushort > VectorShuffle ( Vector128 < ushort > vector0 , Vector128 < ushort > vector1 , Vector128 < ushort > byteIndexes ) => VectorShuffle ( vector0 , vector1 , byteIndexes ) ;
2717
+
2718
+ /// <summary>
2719
+ /// int32x4_t vshuffle_s32(int32x4_t vec0, int32x4_t vec1, int32x4_t idx)
2720
+ /// LSX: VSHUF_H Vd.4W, Vj.4W, Vk.4W
2721
+ /// </summary>
2722
+ public static Vector128 < int > VectorShuffle ( Vector128 < int > vector0 , Vector128 < int > vector1 , Vector128 < int > byteIndexes ) => VectorShuffle ( vector0 , vector1 , byteIndexes ) ;
2723
+
2724
+ /// <summary>
2725
+ /// uint32x4_t vshuffle_u32(uint32x4_t vecj, uint32x4_t veck, uint32x4_t idx)
2726
+ /// LSX: VSHUF_H Vd.4W, Vj.4W, Vk.4W
2727
+ /// </summary>
2728
+ public static Vector128 < uint > VectorShuffle ( Vector128 < uint > vector0 , Vector128 < uint > vector1 , Vector128 < uint > byteIndexes ) => VectorShuffle ( vector0 , vector1 , byteIndexes ) ;
2729
+
2730
+ /// <summary>
2731
+ /// int64x2_t vshuffle_s64(int64x2_t vec0, int64x2_t vec1, int64x2_t idx)
2732
+ /// LSX: VSHUF_H Vd.2D, Vj.2D, Vk.2D
2733
+ /// </summary>
2734
+ public static Vector128 < long > VectorShuffle ( Vector128 < long > vector0 , Vector128 < long > vector1 , Vector128 < long > byteIndexes ) => VectorShuffle ( vector0 , vector1 , byteIndexes ) ;
2735
+
2736
+ /// <summary>
2737
+ /// uint64x2_t vshuffle_u64(uint64x2_t vecj, uint64x2_t veck, uint64x2_t idx)
2738
+ /// LSX: VSHUF_H Vd.2D, Vj.2D, Vk.2D
2739
+ /// </summary>
2740
+ public static Vector128 < ulong > VectorShuffle ( Vector128 < ulong > vector0 , Vector128 < ulong > vector1 , Vector128 < ulong > byteIndexes ) => VectorShuffle ( vector0 , vector1 , byteIndexes ) ;
2741
+
2742
+ /// <summary>
2743
+ /// uint8x16_t vreplve_u8(uint8x16_t vector, uint8_t idx)
2744
+ /// LSX: VREPLVE_B Vd.16B, Vj.16B, rk
2745
+ /// LSX: VREPLVEI_B Vd.16B, Vj.16B, ui4
2746
+ /// </summary>
2747
+ public static Vector128 < byte > VectorElementReplicate ( Vector128 < byte > vector , byte elementIndexe ) => VectorElementReplicate ( vector , elementIndexe ) ;
2748
+
2749
+ /// <summary>
2750
+ /// int8x16_t vreplve_s8(int8x16_t vector, uint8_t idx)
2751
+ /// LSX: VREPLVE_B Vd.16B, Vj.16B, rk
2752
+ /// LSX: VREPLVEI_B Vd.16B, Vj.16B, ui4
2753
+ /// </summary>
2754
+ public static Vector128 < sbyte > VectorElementReplicate ( Vector128 < sbyte > vector , byte elementIndexe ) => VectorElementReplicate ( vector , elementIndexe ) ;
2755
+
2756
+ /// <summary>
2757
+ /// int16x8_t vreplve_s16(int16x8_t vector, uint8_t idx)
2758
+ /// LSX: VREPLVE_H Vd.8H, Vj.8H, rk
2759
+ /// LSX: VREPLVEI_H Vd.8H, Vj.8H, ui3
2760
+ /// </summary>
2761
+ public static Vector128 < short > VectorElementReplicate ( Vector128 < short > vector , byte elementIndexe ) => VectorElementReplicate ( vector , elementIndexe ) ;
2762
+
2763
+ /// <summary>
2764
+ /// uint16x8_t vreplve_u16(uint16x8_t vector, uint8_t idx)
2765
+ /// LSX: VREPLVE_H Vd.8H, Vj.8H, rk
2766
+ /// LSX: VREPLVEI_H Vd.8H, Vj.8H, ui3
2767
+ /// </summary>
2768
+ public static Vector128 < ushort > VectorElementReplicate ( Vector128 < ushort > vector , byte elementIndexe ) => VectorElementReplicate ( vector , elementIndexe ) ;
2769
+
2770
+ /// <summary>
2771
+ /// int32x4_t vreplve_s32(int32x4_t vector, uint8_t idx)
2772
+ /// LSX: VREPLVE_W Vd.4W, Vj.4W, rk
2773
+ /// LSX: VREPLVEI_W Vd.4W, Vj.4W, ui2
2774
+ /// </summary>
2775
+ public static Vector128 < int > VectorElementReplicate ( Vector128 < int > vector , byte elementIndexe ) => VectorElementReplicate ( vector , elementIndexe ) ;
2776
+
2777
+ /// <summary>
2778
+ /// uint32x4_t vreplve_u32(uint32x4_t vector, uint8_t idx)
2779
+ /// LSX: VREPLVE_W Vd.4W, Vj.4W, rk
2780
+ /// LSX: VREPLVEI_W Vd.4W, Vj.4W, ui2
2781
+ /// </summary>
2782
+ public static Vector128 < uint > VectorElementReplicate ( Vector128 < uint > vector , byte elementIndexe ) => VectorElementReplicate ( vector , elementIndexe ) ;
2783
+
2784
+ /// <summary>
2785
+ /// int64x2_t vreplve_s64(int64x2_t vector, uint8_t idx)
2786
+ /// LSX: VREPLVE_D Vd.2D, Vj.2D, rk
2787
+ /// LSX: VREPLVEI_D Vd.2D, Vj.2D, ui1
2788
+ /// </summary>
2789
+ public static Vector128 < long > VectorElementReplicate ( Vector128 < long > vector , byte elementIndexe ) => VectorElementReplicate ( vector , elementIndexe ) ;
2790
+
2791
+ /// <summary>
2792
+ /// uint64x2_t vreplve_u32(uint64x2_t vector, uint8_t idx)
2793
+ /// LSX: VREPLVE_D Vd.2D, Vj.2D, rk
2794
+ /// LSX: VREPLVEI_D Vd.2D, Vj.2D, ui1
2795
+ /// </summary>
2796
+ public static Vector128 < ulong > VectorElementReplicate ( Vector128 < ulong > vector , byte elementIndexe ) => VectorElementReplicate ( vector , elementIndexe ) ;
2797
+
2798
+
2799
+
2800
+ // TODO: other liking vsrani .......
2801
+ // TODO:----------------------------------
2802
+
2551
2803
}
2552
2804
}
0 commit comments