generated.rs - source
Description: Source of the Rust file `library/core/src/../../stdarch/crates/core_arch/src/loongarch64/lsx/generated.rs`.

#
core/stdarch/crates/core_arch/src/loongarch64/lsx/
generated.rs

    1// This code is automatically generated. DO NOT MODIFY.
    2//
    3// Instead, modify `crates/stdarch-gen-loongarch/lsx.spec` and run the following command to re-generate this file:
    4//
    5// ```
    6// OUT_DIR=`pwd`/crates/core_arch cargo run -p stdarch-gen-loongarch -- crates/stdarch-gen-loongarch/lsx.spec
    7// ```
    8
    9use crate::mem::transmute;
    10use super::types::*;
    11
    12#[allow(improper_ctypes)]
    13unsafe extern "unadjusted" {
    14    #[link_name = "llvm.loongarch.lsx.vsll.b"]
    15    fn __lsx_vsll_b(a: __v16i8, b: __v16i8) -> __v16i8;
    16    #[link_name = "llvm.loongarch.lsx.vsll.h"]
    17    fn __lsx_vsll_h(a: __v8i16, b: __v8i16) -> __v8i16;
    18    #[link_name = "llvm.loongarch.lsx.vsll.w"]
    19    fn __lsx_vsll_w(a: __v4i32, b: __v4i32) -> __v4i32;
    20    #[link_name = "llvm.loongarch.lsx.vsll.d"]
    21    fn __lsx_vsll_d(a: __v2i64, b: __v2i64) -> __v2i64;
    22    #[link_name = "llvm.loongarch.lsx.vslli.b"]
    23    fn __lsx_vslli_b(a: __v16i8, b: u32) -> __v16i8;
    24    #[link_name = "llvm.loongarch.lsx.vslli.h"]
    25    fn __lsx_vslli_h(a: __v8i16, b: u32) -> __v8i16;
    26    #[link_name = "llvm.loongarch.lsx.vslli.w"]
    27    fn __lsx_vslli_w(a: __v4i32, b: u32) -> __v4i32;
    28    #[link_name = "llvm.loongarch.lsx.vslli.d"]
    29    fn __lsx_vslli_d(a: __v2i64, b: u32) -> __v2i64;
    30    #[link_name = "llvm.loongarch.lsx.vsra.b"]
    31    fn __lsx_vsra_b(a: __v16i8, b: __v16i8) -> __v16i8;
    32    #[link_name = "llvm.loongarch.lsx.vsra.h"]
    33    fn __lsx_vsra_h(a: __v8i16, b: __v8i16) -> __v8i16;
    34    #[link_name = "llvm.loongarch.lsx.vsra.w"]
    35    fn __lsx_vsra_w(a: __v4i32, b: __v4i32) -> __v4i32;
    36    #[link_name = "llvm.loongarch.lsx.vsra.d"]
    37    fn __lsx_vsra_d(a: __v2i64, b: __v2i64) -> __v2i64;
    38    #[link_name = "llvm.loongarch.lsx.vsrai.b"]
    39    fn __lsx_vsrai_b(a: __v16i8, b: u32) -> __v16i8;
    40    #[link_name = "llvm.loongarch.lsx.vsrai.h"]
    41    fn __lsx_vsrai_h(a: __v8i16, b: u32) -> __v8i16;
    42    #[link_name = "llvm.loongarch.lsx.vsrai.w"]
    43    fn __lsx_vsrai_w(a: __v4i32, b: u32) -> __v4i32;
    44    #[link_name = "llvm.loongarch.lsx.vsrai.d"]
    45    fn __lsx_vsrai_d(a: __v2i64, b: u32) -> __v2i64;
    46    #[link_name = "llvm.loongarch.lsx.vsrar.b"]
    47    fn __lsx_vsrar_b(a: __v16i8, b: __v16i8) -> __v16i8;
    48    #[link_name = "llvm.loongarch.lsx.vsrar.h"]
    49    fn __lsx_vsrar_h(a: __v8i16, b: __v8i16) -> __v8i16;
    50    #[link_name = "llvm.loongarch.lsx.vsrar.w"]
    51    fn __lsx_vsrar_w(a: __v4i32, b: __v4i32) -> __v4i32;
    52    #[link_name = "llvm.loongarch.lsx.vsrar.d"]
    53    fn __lsx_vsrar_d(a: __v2i64, b: __v2i64) -> __v2i64;
    54    #[link_name = "llvm.loongarch.lsx.vsrari.b"]
    55    fn __lsx_vsrari_b(a: __v16i8, b: u32) -> __v16i8;
    56    #[link_name = "llvm.loongarch.lsx.vsrari.h"]
    57    fn __lsx_vsrari_h(a: __v8i16, b: u32) -> __v8i16;
    58    #[link_name = "llvm.loongarch.lsx.vsrari.w"]
    59    fn __lsx_vsrari_w(a: __v4i32, b: u32) -> __v4i32;
    60    #[link_name = "llvm.loongarch.lsx.vsrari.d"]
    61    fn __lsx_vsrari_d(a: __v2i64, b: u32) -> __v2i64;
    62    #[link_name = "llvm.loongarch.lsx.vsrl.b"]
    63    fn __lsx_vsrl_b(a: __v16i8, b: __v16i8) -> __v16i8;
    64    #[link_name = "llvm.loongarch.lsx.vsrl.h"]
    65    fn __lsx_vsrl_h(a: __v8i16, b: __v8i16) -> __v8i16;
    66    #[link_name = "llvm.loongarch.lsx.vsrl.w"]
    67    fn __lsx_vsrl_w(a: __v4i32, b: __v4i32) -> __v4i32;
    68    #[link_name = "llvm.loongarch.lsx.vsrl.d"]
    69    fn __lsx_vsrl_d(a: __v2i64, b: __v2i64) -> __v2i64;
    70    #[link_name = "llvm.loongarch.lsx.vsrli.b"]
    71    fn __lsx_vsrli_b(a: __v16i8, b: u32) -> __v16i8;
    72    #[link_name = "llvm.loongarch.lsx.vsrli.h"]
    73    fn __lsx_vsrli_h(a: __v8i16, b: u32) -> __v8i16;
    74    #[link_name = "llvm.loongarch.lsx.vsrli.w"]
    75    fn __lsx_vsrli_w(a: __v4i32, b: u32) -> __v4i32;
    76    #[link_name = "llvm.loongarch.lsx.vsrli.d"]
    77    fn __lsx_vsrli_d(a: __v2i64, b: u32) -> __v2i64;
    78    #[link_name = "llvm.loongarch.lsx.vsrlr.b"]
    79    fn __lsx_vsrlr_b(a: __v16i8, b: __v16i8) -> __v16i8;
    80    #[link_name = "llvm.loongarch.lsx.vsrlr.h"]
    81    fn __lsx_vsrlr_h(a: __v8i16, b: __v8i16) -> __v8i16;
    82    #[link_name = "llvm.loongarch.lsx.vsrlr.w"]
    83    fn __lsx_vsrlr_w(a: __v4i32, b: __v4i32) -> __v4i32;
    84    #[link_name = "llvm.loongarch.lsx.vsrlr.d"]
    85    fn __lsx_vsrlr_d(a: __v2i64, b: __v2i64) -> __v2i64;
    86    #[link_name = "llvm.loongarch.lsx.vsrlri.b"]
    87    fn __lsx_vsrlri_b(a: __v16i8, b: u32) -> __v16i8;
    88    #[link_name = "llvm.loongarch.lsx.vsrlri.h"]
    89    fn __lsx_vsrlri_h(a: __v8i16, b: u32) -> __v8i16;
    90    #[link_name = "llvm.loongarch.lsx.vsrlri.w"]
    91    fn __lsx_vsrlri_w(a: __v4i32, b: u32) -> __v4i32;
    92    #[link_name = "llvm.loongarch.lsx.vsrlri.d"]
    93    fn __lsx_vsrlri_d(a: __v2i64, b: u32) -> __v2i64;
    94    #[link_name = "llvm.loongarch.lsx.vbitclr.b"]
    95    fn __lsx_vbitclr_b(a: __v16u8, b: __v16u8) -> __v16u8;
    96    #[link_name = "llvm.loongarch.lsx.vbitclr.h"]
    97    fn __lsx_vbitclr_h(a: __v8u16, b: __v8u16) -> __v8u16;
    98    #[link_name = "llvm.loongarch.lsx.vbitclr.w"]
    99    fn __lsx_vbitclr_w(a: __v4u32, b: __v4u32) -> __v4u32;
    100    #[link_name = "llvm.loongarch.lsx.vbitclr.d"]
    101    fn __lsx_vbitclr_d(a: __v2u64, b: __v2u64) -> __v2u64;
    102    #[link_name = "llvm.loongarch.lsx.vbitclri.b"]
    103    fn __lsx_vbitclri_b(a: __v16u8, b: u32) -> __v16u8;
    104    #[link_name = "llvm.loongarch.lsx.vbitclri.h"]
    105    fn __lsx_vbitclri_h(a: __v8u16, b: u32) -> __v8u16;
    106    #[link_name = "llvm.loongarch.lsx.vbitclri.w"]
    107    fn __lsx_vbitclri_w(a: __v4u32, b: u32) -> __v4u32;
    108    #[link_name = "llvm.loongarch.lsx.vbitclri.d"]
    109    fn __lsx_vbitclri_d(a: __v2u64, b: u32) -> __v2u64;
    110    #[link_name = "llvm.loongarch.lsx.vbitset.b"]
    111    fn __lsx_vbitset_b(a: __v16u8, b: __v16u8) -> __v16u8;
    112    #[link_name = "llvm.loongarch.lsx.vbitset.h"]
    113    fn __lsx_vbitset_h(a: __v8u16, b: __v8u16) -> __v8u16;
    114    #[link_name = "llvm.loongarch.lsx.vbitset.w"]
    115    fn __lsx_vbitset_w(a: __v4u32, b: __v4u32) -> __v4u32;
    116    #[link_name = "llvm.loongarch.lsx.vbitset.d"]
    117    fn __lsx_vbitset_d(a: __v2u64, b: __v2u64) -> __v2u64;
    118    #[link_name = "llvm.loongarch.lsx.vbitseti.b"]
    119    fn __lsx_vbitseti_b(a: __v16u8, b: u32) -> __v16u8;
    120    #[link_name = "llvm.loongarch.lsx.vbitseti.h"]
    121    fn __lsx_vbitseti_h(a: __v8u16, b: u32) -> __v8u16;
    122    #[link_name = "llvm.loongarch.lsx.vbitseti.w"]
    123    fn __lsx_vbitseti_w(a: __v4u32, b: u32) -> __v4u32;
    124    #[link_name = "llvm.loongarch.lsx.vbitseti.d"]
    125    fn __lsx_vbitseti_d(a: __v2u64, b: u32) -> __v2u64;
    126    #[link_name = "llvm.loongarch.lsx.vbitrev.b"]
    127    fn __lsx_vbitrev_b(a: __v16u8, b: __v16u8) -> __v16u8;
    128    #[link_name = "llvm.loongarch.lsx.vbitrev.h"]
    129    fn __lsx_vbitrev_h(a: __v8u16, b: __v8u16) -> __v8u16;
    130    #[link_name = "llvm.loongarch.lsx.vbitrev.w"]
    131    fn __lsx_vbitrev_w(a: __v4u32, b: __v4u32) -> __v4u32;
    132    #[link_name = "llvm.loongarch.lsx.vbitrev.d"]
    133    fn __lsx_vbitrev_d(a: __v2u64, b: __v2u64) -> __v2u64;
    134    #[link_name = "llvm.loongarch.lsx.vbitrevi.b"]
    135    fn __lsx_vbitrevi_b(a: __v16u8, b: u32) -> __v16u8;
    136    #[link_name = "llvm.loongarch.lsx.vbitrevi.h"]
    137    fn __lsx_vbitrevi_h(a: __v8u16, b: u32) -> __v8u16;
    138    #[link_name = "llvm.loongarch.lsx.vbitrevi.w"]
    139    fn __lsx_vbitrevi_w(a: __v4u32, b: u32) -> __v4u32;
    140    #[link_name = "llvm.loongarch.lsx.vbitrevi.d"]
    141    fn __lsx_vbitrevi_d(a: __v2u64, b: u32) -> __v2u64;
    142    #[link_name = "llvm.loongarch.lsx.vadd.b"]
    143    fn __lsx_vadd_b(a: __v16i8, b: __v16i8) -> __v16i8;
    144    #[link_name = "llvm.loongarch.lsx.vadd.h"]
    145    fn __lsx_vadd_h(a: __v8i16, b: __v8i16) -> __v8i16;
    146    #[link_name = "llvm.loongarch.lsx.vadd.w"]
    147    fn __lsx_vadd_w(a: __v4i32, b: __v4i32) -> __v4i32;
    148    #[link_name = "llvm.loongarch.lsx.vadd.d"]
    149    fn __lsx_vadd_d(a: __v2i64, b: __v2i64) -> __v2i64;
    150    #[link_name = "llvm.loongarch.lsx.vaddi.bu"]
    151    fn __lsx_vaddi_bu(a: __v16i8, b: u32) -> __v16i8;
    152    #[link_name = "llvm.loongarch.lsx.vaddi.hu"]
    153    fn __lsx_vaddi_hu(a: __v8i16, b: u32) -> __v8i16;
    154    #[link_name = "llvm.loongarch.lsx.vaddi.wu"]
    155    fn __lsx_vaddi_wu(a: __v4i32, b: u32) -> __v4i32;
    156    #[link_name = "llvm.loongarch.lsx.vaddi.du"]
    157    fn __lsx_vaddi_du(a: __v2i64, b: u32) -> __v2i64;
    158    #[link_name = "llvm.loongarch.lsx.vsub.b"]
    159    fn __lsx_vsub_b(a: __v16i8, b: __v16i8) -> __v16i8;
    160    #[link_name = "llvm.loongarch.lsx.vsub.h"]
    161    fn __lsx_vsub_h(a: __v8i16, b: __v8i16) -> __v8i16;
    162    #[link_name = "llvm.loongarch.lsx.vsub.w"]
    163    fn __lsx_vsub_w(a: __v4i32, b: __v4i32) -> __v4i32;
    164    #[link_name = "llvm.loongarch.lsx.vsub.d"]
    165    fn __lsx_vsub_d(a: __v2i64, b: __v2i64) -> __v2i64;
    166    #[link_name = "llvm.loongarch.lsx.vsubi.bu"]
    167    fn __lsx_vsubi_bu(a: __v16i8, b: u32) -> __v16i8;
    168    #[link_name = "llvm.loongarch.lsx.vsubi.hu"]
    169    fn __lsx_vsubi_hu(a: __v8i16, b: u32) -> __v8i16;
    170    #[link_name = "llvm.loongarch.lsx.vsubi.wu"]
    171    fn __lsx_vsubi_wu(a: __v4i32, b: u32) -> __v4i32;
    172    #[link_name = "llvm.loongarch.lsx.vsubi.du"]
    173    fn __lsx_vsubi_du(a: __v2i64, b: u32) -> __v2i64;
    174    #[link_name = "llvm.loongarch.lsx.vmax.b"]
    175    fn __lsx_vmax_b(a: __v16i8, b: __v16i8) -> __v16i8;
    176    #[link_name = "llvm.loongarch.lsx.vmax.h"]
    177    fn __lsx_vmax_h(a: __v8i16, b: __v8i16) -> __v8i16;
    178    #[link_name = "llvm.loongarch.lsx.vmax.w"]
    179    fn __lsx_vmax_w(a: __v4i32, b: __v4i32) -> __v4i32;
    180    #[link_name = "llvm.loongarch.lsx.vmax.d"]
    181    fn __lsx_vmax_d(a: __v2i64, b: __v2i64) -> __v2i64;
    182    #[link_name = "llvm.loongarch.lsx.vmaxi.b"]
    183    fn __lsx_vmaxi_b(a: __v16i8, b: i32) -> __v16i8;
    184    #[link_name = "llvm.loongarch.lsx.vmaxi.h"]
    185    fn __lsx_vmaxi_h(a: __v8i16, b: i32) -> __v8i16;
    186    #[link_name = "llvm.loongarch.lsx.vmaxi.w"]
    187    fn __lsx_vmaxi_w(a: __v4i32, b: i32) -> __v4i32;
    188    #[link_name = "llvm.loongarch.lsx.vmaxi.d"]
    189    fn __lsx_vmaxi_d(a: __v2i64, b: i32) -> __v2i64;
    190    #[link_name = "llvm.loongarch.lsx.vmax.bu"]
    191    fn __lsx_vmax_bu(a: __v16u8, b: __v16u8) -> __v16u8;
    192    #[link_name = "llvm.loongarch.lsx.vmax.hu"]
    193    fn __lsx_vmax_hu(a: __v8u16, b: __v8u16) -> __v8u16;
    194    #[link_name = "llvm.loongarch.lsx.vmax.wu"]
    195    fn __lsx_vmax_wu(a: __v4u32, b: __v4u32) -> __v4u32;
    196    #[link_name = "llvm.loongarch.lsx.vmax.du"]
    197    fn __lsx_vmax_du(a: __v2u64, b: __v2u64) -> __v2u64;
    198    #[link_name = "llvm.loongarch.lsx.vmaxi.bu"]
    199    fn __lsx_vmaxi_bu(a: __v16u8, b: u32) -> __v16u8;
    200    #[link_name = "llvm.loongarch.lsx.vmaxi.hu"]
    201    fn __lsx_vmaxi_hu(a: __v8u16, b: u32) -> __v8u16;
    202    #[link_name = "llvm.loongarch.lsx.vmaxi.wu"]
    203    fn __lsx_vmaxi_wu(a: __v4u32, b: u32) -> __v4u32;
    204    #[link_name = "llvm.loongarch.lsx.vmaxi.du"]
    205    fn __lsx_vmaxi_du(a: __v2u64, b: u32) -> __v2u64;
    206    #[link_name = "llvm.loongarch.lsx.vmin.b"]
    207    fn __lsx_vmin_b(a: __v16i8, b: __v16i8) -> __v16i8;
    208    #[link_name = "llvm.loongarch.lsx.vmin.h"]
    209    fn __lsx_vmin_h(a: __v8i16, b: __v8i16) -> __v8i16;
    210    #[link_name = "llvm.loongarch.lsx.vmin.w"]
    211    fn __lsx_vmin_w(a: __v4i32, b: __v4i32) -> __v4i32;
    212    #[link_name = "llvm.loongarch.lsx.vmin.d"]
    213    fn __lsx_vmin_d(a: __v2i64, b: __v2i64) -> __v2i64;
    214    #[link_name = "llvm.loongarch.lsx.vmini.b"]
    215    fn __lsx_vmini_b(a: __v16i8, b: i32) -> __v16i8;
    216    #[link_name = "llvm.loongarch.lsx.vmini.h"]
    217    fn __lsx_vmini_h(a: __v8i16, b: i32) -> __v8i16;
    218    #[link_name = "llvm.loongarch.lsx.vmini.w"]
    219    fn __lsx_vmini_w(a: __v4i32, b: i32) -> __v4i32;
    220    #[link_name = "llvm.loongarch.lsx.vmini.d"]
    221    fn __lsx_vmini_d(a: __v2i64, b: i32) -> __v2i64;
    222    #[link_name = "llvm.loongarch.lsx.vmin.bu"]
    223    fn __lsx_vmin_bu(a: __v16u8, b: __v16u8) -> __v16u8;
    224    #[link_name = "llvm.loongarch.lsx.vmin.hu"]
    225    fn __lsx_vmin_hu(a: __v8u16, b: __v8u16) -> __v8u16;
    226    #[link_name = "llvm.loongarch.lsx.vmin.wu"]
    227    fn __lsx_vmin_wu(a: __v4u32, b: __v4u32) -> __v4u32;
    228    #[link_name = "llvm.loongarch.lsx.vmin.du"]
    229    fn __lsx_vmin_du(a: __v2u64, b: __v2u64) -> __v2u64;
    230    #[link_name = "llvm.loongarch.lsx.vmini.bu"]
    231    fn __lsx_vmini_bu(a: __v16u8, b: u32) -> __v16u8;
    232    #[link_name = "llvm.loongarch.lsx.vmini.hu"]
    233    fn __lsx_vmini_hu(a: __v8u16, b: u32) -> __v8u16;
    234    #[link_name = "llvm.loongarch.lsx.vmini.wu"]
    235    fn __lsx_vmini_wu(a: __v4u32, b: u32) -> __v4u32;
    236    #[link_name = "llvm.loongarch.lsx.vmini.du"]
    237    fn __lsx_vmini_du(a: __v2u64, b: u32) -> __v2u64;
    238    #[link_name = "llvm.loongarch.lsx.vseq.b"]
    239    fn __lsx_vseq_b(a: __v16i8, b: __v16i8) -> __v16i8;
    240    #[link_name = "llvm.loongarch.lsx.vseq.h"]
    241    fn __lsx_vseq_h(a: __v8i16, b: __v8i16) -> __v8i16;
    242    #[link_name = "llvm.loongarch.lsx.vseq.w"]
    243    fn __lsx_vseq_w(a: __v4i32, b: __v4i32) -> __v4i32;
    244    #[link_name = "llvm.loongarch.lsx.vseq.d"]
    245    fn __lsx_vseq_d(a: __v2i64, b: __v2i64) -> __v2i64;
    246    #[link_name = "llvm.loongarch.lsx.vseqi.b"]
    247    fn __lsx_vseqi_b(a: __v16i8, b: i32) -> __v16i8;
    248    #[link_name = "llvm.loongarch.lsx.vseqi.h"]
    249    fn __lsx_vseqi_h(a: __v8i16, b: i32) -> __v8i16;
    250    #[link_name = "llvm.loongarch.lsx.vseqi.w"]
    251    fn __lsx_vseqi_w(a: __v4i32, b: i32) -> __v4i32;
    252    #[link_name = "llvm.loongarch.lsx.vseqi.d"]
    253    fn __lsx_vseqi_d(a: __v2i64, b: i32) -> __v2i64;
    254    #[link_name = "llvm.loongarch.lsx.vslti.b"]
    255    fn __lsx_vslti_b(a: __v16i8, b: i32) -> __v16i8;
    256    #[link_name = "llvm.loongarch.lsx.vslt.b"]
    257    fn __lsx_vslt_b(a: __v16i8, b: __v16i8) -> __v16i8;
    258    #[link_name = "llvm.loongarch.lsx.vslt.h"]
    259    fn __lsx_vslt_h(a: __v8i16, b: __v8i16) -> __v8i16;
    260    #[link_name = "llvm.loongarch.lsx.vslt.w"]
    261    fn __lsx_vslt_w(a: __v4i32, b: __v4i32) -> __v4i32;
    262    #[link_name = "llvm.loongarch.lsx.vslt.d"]
    263    fn __lsx_vslt_d(a: __v2i64, b: __v2i64) -> __v2i64;
    264    #[link_name = "llvm.loongarch.lsx.vslti.h"]
    265    fn __lsx_vslti_h(a: __v8i16, b: i32) -> __v8i16;
    266    #[link_name = "llvm.loongarch.lsx.vslti.w"]
    267    fn __lsx_vslti_w(a: __v4i32, b: i32) -> __v4i32;
    268    #[link_name = "llvm.loongarch.lsx.vslti.d"]
    269    fn __lsx_vslti_d(a: __v2i64, b: i32) -> __v2i64;
    270    #[link_name = "llvm.loongarch.lsx.vslt.bu"]
    271    fn __lsx_vslt_bu(a: __v16u8, b: __v16u8) -> __v16i8;
    272    #[link_name = "llvm.loongarch.lsx.vslt.hu"]
    273    fn __lsx_vslt_hu(a: __v8u16, b: __v8u16) -> __v8i16;
    274    #[link_name = "llvm.loongarch.lsx.vslt.wu"]
    275    fn __lsx_vslt_wu(a: __v4u32, b: __v4u32) -> __v4i32;
    276    #[link_name = "llvm.loongarch.lsx.vslt.du"]
    277    fn __lsx_vslt_du(a: __v2u64, b: __v2u64) -> __v2i64;
    278    #[link_name = "llvm.loongarch.lsx.vslti.bu"]
    279    fn __lsx_vslti_bu(a: __v16u8, b: u32) -> __v16i8;
    280    #[link_name = "llvm.loongarch.lsx.vslti.hu"]
    281    fn __lsx_vslti_hu(a: __v8u16, b: u32) -> __v8i16;
    282    #[link_name = "llvm.loongarch.lsx.vslti.wu"]
    283    fn __lsx_vslti_wu(a: __v4u32, b: u32) -> __v4i32;
    284    #[link_name = "llvm.loongarch.lsx.vslti.du"]
    285    fn __lsx_vslti_du(a: __v2u64, b: u32) -> __v2i64;
    286    #[link_name = "llvm.loongarch.lsx.vsle.b"]
    287    fn __lsx_vsle_b(a: __v16i8, b: __v16i8) -> __v16i8;
    288    #[link_name = "llvm.loongarch.lsx.vsle.h"]
    289    fn __lsx_vsle_h(a: __v8i16, b: __v8i16) -> __v8i16;
    290    #[link_name = "llvm.loongarch.lsx.vsle.w"]
    291    fn __lsx_vsle_w(a: __v4i32, b: __v4i32) -> __v4i32;
    292    #[link_name = "llvm.loongarch.lsx.vsle.d"]
    293    fn __lsx_vsle_d(a: __v2i64, b: __v2i64) -> __v2i64;
    294    #[link_name = "llvm.loongarch.lsx.vslei.b"]
    295    fn __lsx_vslei_b(a: __v16i8, b: i32) -> __v16i8;
    296    #[link_name = "llvm.loongarch.lsx.vslei.h"]
    297    fn __lsx_vslei_h(a: __v8i16, b: i32) -> __v8i16;
    298    #[link_name = "llvm.loongarch.lsx.vslei.w"]
    299    fn __lsx_vslei_w(a: __v4i32, b: i32) -> __v4i32;
    300    #[link_name = "llvm.loongarch.lsx.vslei.d"]
    301    fn __lsx_vslei_d(a: __v2i64, b: i32) -> __v2i64;
    302    #[link_name = "llvm.loongarch.lsx.vsle.bu"]
    303    fn __lsx_vsle_bu(a: __v16u8, b: __v16u8) -> __v16i8;
    304    #[link_name = "llvm.loongarch.lsx.vsle.hu"]
    305    fn __lsx_vsle_hu(a: __v8u16, b: __v8u16) -> __v8i16;
    306    #[link_name = "llvm.loongarch.lsx.vsle.wu"]
    307    fn __lsx_vsle_wu(a: __v4u32, b: __v4u32) -> __v4i32;
    308    #[link_name = "llvm.loongarch.lsx.vsle.du"]
    309    fn __lsx_vsle_du(a: __v2u64, b: __v2u64) -> __v2i64;
    310    #[link_name = "llvm.loongarch.lsx.vslei.bu"]
    311    fn __lsx_vslei_bu(a: __v16u8, b: u32) -> __v16i8;
    312    #[link_name = "llvm.loongarch.lsx.vslei.hu"]
    313    fn __lsx_vslei_hu(a: __v8u16, b: u32) -> __v8i16;
    314    #[link_name = "llvm.loongarch.lsx.vslei.wu"]
    315    fn __lsx_vslei_wu(a: __v4u32, b: u32) -> __v4i32;
    316    #[link_name = "llvm.loongarch.lsx.vslei.du"]
    317    fn __lsx_vslei_du(a: __v2u64, b: u32) -> __v2i64;
    318    #[link_name = "llvm.loongarch.lsx.vsat.b"]
    319    fn __lsx_vsat_b(a: __v16i8, b: u32) -> __v16i8;
    320    #[link_name = "llvm.loongarch.lsx.vsat.h"]
    321    fn __lsx_vsat_h(a: __v8i16, b: u32) -> __v8i16;
    322    #[link_name = "llvm.loongarch.lsx.vsat.w"]
    323    fn __lsx_vsat_w(a: __v4i32, b: u32) -> __v4i32;
    324    #[link_name = "llvm.loongarch.lsx.vsat.d"]
    325    fn __lsx_vsat_d(a: __v2i64, b: u32) -> __v2i64;
    326    #[link_name = "llvm.loongarch.lsx.vsat.bu"]
    327    fn __lsx_vsat_bu(a: __v16u8, b: u32) -> __v16u8;
    328    #[link_name = "llvm.loongarch.lsx.vsat.hu"]
    329    fn __lsx_vsat_hu(a: __v8u16, b: u32) -> __v8u16;
    330    #[link_name = "llvm.loongarch.lsx.vsat.wu"]
    331    fn __lsx_vsat_wu(a: __v4u32, b: u32) -> __v4u32;
    332    #[link_name = "llvm.loongarch.lsx.vsat.du"]
    333    fn __lsx_vsat_du(a: __v2u64, b: u32) -> __v2u64;
    334    #[link_name = "llvm.loongarch.lsx.vadda.b"]
    335    fn __lsx_vadda_b(a: __v16i8, b: __v16i8) -> __v16i8;
    336    #[link_name = "llvm.loongarch.lsx.vadda.h"]
    337    fn __lsx_vadda_h(a: __v8i16, b: __v8i16) -> __v8i16;
    338    #[link_name = "llvm.loongarch.lsx.vadda.w"]
    339    fn __lsx_vadda_w(a: __v4i32, b: __v4i32) -> __v4i32;
    340    #[link_name = "llvm.loongarch.lsx.vadda.d"]
    341    fn __lsx_vadda_d(a: __v2i64, b: __v2i64) -> __v2i64;
    342    #[link_name = "llvm.loongarch.lsx.vsadd.b"]
    343    fn __lsx_vsadd_b(a: __v16i8, b: __v16i8) -> __v16i8;
    344    #[link_name = "llvm.loongarch.lsx.vsadd.h"]
    345    fn __lsx_vsadd_h(a: __v8i16, b: __v8i16) -> __v8i16;
    346    #[link_name = "llvm.loongarch.lsx.vsadd.w"]
    347    fn __lsx_vsadd_w(a: __v4i32, b: __v4i32) -> __v4i32;
    348    #[link_name = "llvm.loongarch.lsx.vsadd.d"]
    349    fn __lsx_vsadd_d(a: __v2i64, b: __v2i64) -> __v2i64;
    350    #[link_name = "llvm.loongarch.lsx.vsadd.bu"]
    351    fn __lsx_vsadd_bu(a: __v16u8, b: __v16u8) -> __v16u8;
    352    #[link_name = "llvm.loongarch.lsx.vsadd.hu"]
    353    fn __lsx_vsadd_hu(a: __v8u16, b: __v8u16) -> __v8u16;
    354    #[link_name = "llvm.loongarch.lsx.vsadd.wu"]
    355    fn __lsx_vsadd_wu(a: __v4u32, b: __v4u32) -> __v4u32;
    356    #[link_name = "llvm.loongarch.lsx.vsadd.du"]
    357    fn __lsx_vsadd_du(a: __v2u64, b: __v2u64) -> __v2u64;
    358    #[link_name = "llvm.loongarch.lsx.vavg.b"]
    359    fn __lsx_vavg_b(a: __v16i8, b: __v16i8) -> __v16i8;
    360    #[link_name = "llvm.loongarch.lsx.vavg.h"]
    361    fn __lsx_vavg_h(a: __v8i16, b: __v8i16) -> __v8i16;
    362    #[link_name = "llvm.loongarch.lsx.vavg.w"]
    363    fn __lsx_vavg_w(a: __v4i32, b: __v4i32) -> __v4i32;
    364    #[link_name = "llvm.loongarch.lsx.vavg.d"]
    365    fn __lsx_vavg_d(a: __v2i64, b: __v2i64) -> __v2i64;
    366    #[link_name = "llvm.loongarch.lsx.vavg.bu"]
    367    fn __lsx_vavg_bu(a: __v16u8, b: __v16u8) -> __v16u8;
    368    #[link_name = "llvm.loongarch.lsx.vavg.hu"]
    369    fn __lsx_vavg_hu(a: __v8u16, b: __v8u16) -> __v8u16;
    370    #[link_name = "llvm.loongarch.lsx.vavg.wu"]
    371    fn __lsx_vavg_wu(a: __v4u32, b: __v4u32) -> __v4u32;
    372    #[link_name = "llvm.loongarch.lsx.vavg.du"]
    373    fn __lsx_vavg_du(a: __v2u64, b: __v2u64) -> __v2u64;
    374    #[link_name = "llvm.loongarch.lsx.vavgr.b"]
    375    fn __lsx_vavgr_b(a: __v16i8, b: __v16i8) -> __v16i8;
    376    #[link_name = "llvm.loongarch.lsx.vavgr.h"]
    377    fn __lsx_vavgr_h(a: __v8i16, b: __v8i16) -> __v8i16;
    378    #[link_name = "llvm.loongarch.lsx.vavgr.w"]
    379    fn __lsx_vavgr_w(a: __v4i32, b: __v4i32) -> __v4i32;
    380    #[link_name = "llvm.loongarch.lsx.vavgr.d"]
    381    fn __lsx_vavgr_d(a: __v2i64, b: __v2i64) -> __v2i64;
    382    #[link_name = "llvm.loongarch.lsx.vavgr.bu"]
    383    fn __lsx_vavgr_bu(a: __v16u8, b: __v16u8) -> __v16u8;
    384    #[link_name = "llvm.loongarch.lsx.vavgr.hu"]
    385    fn __lsx_vavgr_hu(a: __v8u16, b: __v8u16) -> __v8u16;
    386    #[link_name = "llvm.loongarch.lsx.vavgr.wu"]
    387    fn __lsx_vavgr_wu(a: __v4u32, b: __v4u32) -> __v4u32;
    388    #[link_name = "llvm.loongarch.lsx.vavgr.du"]
    389    fn __lsx_vavgr_du(a: __v2u64, b: __v2u64) -> __v2u64;
    390    #[link_name = "llvm.loongarch.lsx.vssub.b"]
    391    fn __lsx_vssub_b(a: __v16i8, b: __v16i8) -> __v16i8;
    392    #[link_name = "llvm.loongarch.lsx.vssub.h"]
    393    fn __lsx_vssub_h(a: __v8i16, b: __v8i16) -> __v8i16;
    394    #[link_name = "llvm.loongarch.lsx.vssub.w"]
    395    fn __lsx_vssub_w(a: __v4i32, b: __v4i32) -> __v4i32;
    396    #[link_name = "llvm.loongarch.lsx.vssub.d"]
    397    fn __lsx_vssub_d(a: __v2i64, b: __v2i64) -> __v2i64;
    398    #[link_name = "llvm.loongarch.lsx.vssub.bu"]
    399    fn __lsx_vssub_bu(a: __v16u8, b: __v16u8) -> __v16u8;
    400    #[link_name = "llvm.loongarch.lsx.vssub.hu"]
    401    fn __lsx_vssub_hu(a: __v8u16, b: __v8u16) -> __v8u16;
    402    #[link_name = "llvm.loongarch.lsx.vssub.wu"]
    403    fn __lsx_vssub_wu(a: __v4u32, b: __v4u32) -> __v4u32;
    404    #[link_name = "llvm.loongarch.lsx.vssub.du"]
    405    fn __lsx_vssub_du(a: __v2u64, b: __v2u64) -> __v2u64;
    406    #[link_name = "llvm.loongarch.lsx.vabsd.b"]
    407    fn __lsx_vabsd_b(a: __v16i8, b: __v16i8) -> __v16i8;
    408    #[link_name = "llvm.loongarch.lsx.vabsd.h"]
    409    fn __lsx_vabsd_h(a: __v8i16, b: __v8i16) -> __v8i16;
    410    #[link_name = "llvm.loongarch.lsx.vabsd.w"]
    411    fn __lsx_vabsd_w(a: __v4i32, b: __v4i32) -> __v4i32;
    412    #[link_name = "llvm.loongarch.lsx.vabsd.d"]
    413    fn __lsx_vabsd_d(a: __v2i64, b: __v2i64) -> __v2i64;
    414    #[link_name = "llvm.loongarch.lsx.vabsd.bu"]
    415    fn __lsx_vabsd_bu(a: __v16u8, b: __v16u8) -> __v16u8;
    416    #[link_name = "llvm.loongarch.lsx.vabsd.hu"]
    417    fn __lsx_vabsd_hu(a: __v8u16, b: __v8u16) -> __v8u16;
    418    #[link_name = "llvm.loongarch.lsx.vabsd.wu"]
    419    fn __lsx_vabsd_wu(a: __v4u32, b: __v4u32) -> __v4u32;
    420    #[link_name = "llvm.loongarch.lsx.vabsd.du"]
    421    fn __lsx_vabsd_du(a: __v2u64, b: __v2u64) -> __v2u64;
    422    #[link_name = "llvm.loongarch.lsx.vmul.b"]
    423    fn __lsx_vmul_b(a: __v16i8, b: __v16i8) -> __v16i8;
    424    #[link_name = "llvm.loongarch.lsx.vmul.h"]
    425    fn __lsx_vmul_h(a: __v8i16, b: __v8i16) -> __v8i16;
    426    #[link_name = "llvm.loongarch.lsx.vmul.w"]
    427    fn __lsx_vmul_w(a: __v4i32, b: __v4i32) -> __v4i32;
    428    #[link_name = "llvm.loongarch.lsx.vmul.d"]
    429    fn __lsx_vmul_d(a: __v2i64, b: __v2i64) -> __v2i64;
    430    #[link_name = "llvm.loongarch.lsx.vmadd.b"]
    431    fn __lsx_vmadd_b(a: __v16i8, b: __v16i8, c: __v16i8) -> __v16i8;
    432    #[link_name = "llvm.loongarch.lsx.vmadd.h"]
    433    fn __lsx_vmadd_h(a: __v8i16, b: __v8i16, c: __v8i16) -> __v8i16;
    434    #[link_name = "llvm.loongarch.lsx.vmadd.w"]
    435    fn __lsx_vmadd_w(a: __v4i32, b: __v4i32, c: __v4i32) -> __v4i32;
    436    #[link_name = "llvm.loongarch.lsx.vmadd.d"]
    437    fn __lsx_vmadd_d(a: __v2i64, b: __v2i64, c: __v2i64) -> __v2i64;
    438    #[link_name = "llvm.loongarch.lsx.vmsub.b"]
    439    fn __lsx_vmsub_b(a: __v16i8, b: __v16i8, c: __v16i8) -> __v16i8;
    440    #[link_name = "llvm.loongarch.lsx.vmsub.h"]
    441    fn __lsx_vmsub_h(a: __v8i16, b: __v8i16, c: __v8i16) -> __v8i16;
    442    #[link_name = "llvm.loongarch.lsx.vmsub.w"]
    443    fn __lsx_vmsub_w(a: __v4i32, b: __v4i32, c: __v4i32) -> __v4i32;
    444    #[link_name = "llvm.loongarch.lsx.vmsub.d"]
    445    fn __lsx_vmsub_d(a: __v2i64, b: __v2i64, c: __v2i64) -> __v2i64;
    446    #[link_name = "llvm.loongarch.lsx.vdiv.b"]
    447    fn __lsx_vdiv_b(a: __v16i8, b: __v16i8) -> __v16i8;
    448    #[link_name = "llvm.loongarch.lsx.vdiv.h"]
    449    fn __lsx_vdiv_h(a: __v8i16, b: __v8i16) -> __v8i16;
    450    #[link_name = "llvm.loongarch.lsx.vdiv.w"]
    451    fn __lsx_vdiv_w(a: __v4i32, b: __v4i32) -> __v4i32;
    452    #[link_name = "llvm.loongarch.lsx.vdiv.d"]
    453    fn __lsx_vdiv_d(a: __v2i64, b: __v2i64) -> __v2i64;
    454    #[link_name = "llvm.loongarch.lsx.vdiv.bu"]
    455    fn __lsx_vdiv_bu(a: __v16u8, b: __v16u8) -> __v16u8;
    456    #[link_name = "llvm.loongarch.lsx.vdiv.hu"]
    457    fn __lsx_vdiv_hu(a: __v8u16, b: __v8u16) -> __v8u16;
    458    #[link_name = "llvm.loongarch.lsx.vdiv.wu"]
    459    fn __lsx_vdiv_wu(a: __v4u32, b: __v4u32) -> __v4u32;
    460    #[link_name = "llvm.loongarch.lsx.vdiv.du"]
    461    fn __lsx_vdiv_du(a: __v2u64, b: __v2u64) -> __v2u64;
    462    #[link_name = "llvm.loongarch.lsx.vhaddw.h.b"]
    463    fn __lsx_vhaddw_h_b(a: __v16i8, b: __v16i8) -> __v8i16;
    464    #[link_name = "llvm.loongarch.lsx.vhaddw.w.h"]
    465    fn __lsx_vhaddw_w_h(a: __v8i16, b: __v8i16) -> __v4i32;
    466    #[link_name = "llvm.loongarch.lsx.vhaddw.d.w"]
    467    fn __lsx_vhaddw_d_w(a: __v4i32, b: __v4i32) -> __v2i64;
    468    #[link_name = "llvm.loongarch.lsx.vhaddw.hu.bu"]
    469    fn __lsx_vhaddw_hu_bu(a: __v16u8, b: __v16u8) -> __v8u16;
    470    #[link_name = "llvm.loongarch.lsx.vhaddw.wu.hu"]
    471    fn __lsx_vhaddw_wu_hu(a: __v8u16, b: __v8u16) -> __v4u32;
    472    #[link_name = "llvm.loongarch.lsx.vhaddw.du.wu"]
    473    fn __lsx_vhaddw_du_wu(a: __v4u32, b: __v4u32) -> __v2u64;
    474    #[link_name = "llvm.loongarch.lsx.vhsubw.h.b"]
    475    fn __lsx_vhsubw_h_b(a: __v16i8, b: __v16i8) -> __v8i16;
    476    #[link_name = "llvm.loongarch.lsx.vhsubw.w.h"]
    477    fn __lsx_vhsubw_w_h(a: __v8i16, b: __v8i16) -> __v4i32;
    478    #[link_name = "llvm.loongarch.lsx.vhsubw.d.w"]
    479    fn __lsx_vhsubw_d_w(a: __v4i32, b: __v4i32) -> __v2i64;
    480    #[link_name = "llvm.loongarch.lsx.vhsubw.hu.bu"]
    481    fn __lsx_vhsubw_hu_bu(a: __v16u8, b: __v16u8) -> __v8i16;
    482    #[link_name = "llvm.loongarch.lsx.vhsubw.wu.hu"]
    483    fn __lsx_vhsubw_wu_hu(a: __v8u16, b: __v8u16) -> __v4i32;
    484    #[link_name = "llvm.loongarch.lsx.vhsubw.du.wu"]
    485    fn __lsx_vhsubw_du_wu(a: __v4u32, b: __v4u32) -> __v2i64;
    486    #[link_name = "llvm.loongarch.lsx.vmod.b"]
    487    fn __lsx_vmod_b(a: __v16i8, b: __v16i8) -> __v16i8;
    488    #[link_name = "llvm.loongarch.lsx.vmod.h"]
    489    fn __lsx_vmod_h(a: __v8i16, b: __v8i16) -> __v8i16;
    490    #[link_name = "llvm.loongarch.lsx.vmod.w"]
    491    fn __lsx_vmod_w(a: __v4i32, b: __v4i32) -> __v4i32;
    492    #[link_name = "llvm.loongarch.lsx.vmod.d"]
    493    fn __lsx_vmod_d(a: __v2i64, b: __v2i64) -> __v2i64;
    494    #[link_name = "llvm.loongarch.lsx.vmod.bu"]
    495    fn __lsx_vmod_bu(a: __v16u8, b: __v16u8) -> __v16u8;
    496    #[link_name = "llvm.loongarch.lsx.vmod.hu"]
    497    fn __lsx_vmod_hu(a: __v8u16, b: __v8u16) -> __v8u16;
    498    #[link_name = "llvm.loongarch.lsx.vmod.wu"]
    499    fn __lsx_vmod_wu(a: __v4u32, b: __v4u32) -> __v4u32;
    500    #[link_name = "llvm.loongarch.lsx.vmod.du"]
    501    fn __lsx_vmod_du(a: __v2u64, b: __v2u64) -> __v2u64;
    502    #[link_name = "llvm.loongarch.lsx.vreplve.b"]
    503    fn __lsx_vreplve_b(a: __v16i8, b: i32) -> __v16i8;
    504    #[link_name = "llvm.loongarch.lsx.vreplve.h"]
    505    fn __lsx_vreplve_h(a: __v8i16, b: i32) -> __v8i16;
    506    #[link_name = "llvm.loongarch.lsx.vreplve.w"]
    507    fn __lsx_vreplve_w(a: __v4i32, b: i32) -> __v4i32;
    508    #[link_name = "llvm.loongarch.lsx.vreplve.d"]
    509    fn __lsx_vreplve_d(a: __v2i64, b: i32) -> __v2i64;
    510    #[link_name = "llvm.loongarch.lsx.vreplvei.b"]
    511    fn __lsx_vreplvei_b(a: __v16i8, b: u32) -> __v16i8;
    512    #[link_name = "llvm.loongarch.lsx.vreplvei.h"]
    513    fn __lsx_vreplvei_h(a: __v8i16, b: u32) -> __v8i16;
    514    #[link_name = "llvm.loongarch.lsx.vreplvei.w"]
    515    fn __lsx_vreplvei_w(a: __v4i32, b: u32) -> __v4i32;
    516    #[link_name = "llvm.loongarch.lsx.vreplvei.d"]
    517    fn __lsx_vreplvei_d(a: __v2i64, b: u32) -> __v2i64;
    518    #[link_name = "llvm.loongarch.lsx.vpickev.b"]
    519    fn __lsx_vpickev_b(a: __v16i8, b: __v16i8) -> __v16i8;
    520    #[link_name = "llvm.loongarch.lsx.vpickev.h"]
    521    fn __lsx_vpickev_h(a: __v8i16, b: __v8i16) -> __v8i16;
    522    #[link_name = "llvm.loongarch.lsx.vpickev.w"]
    523    fn __lsx_vpickev_w(a: __v4i32, b: __v4i32) -> __v4i32;
    524    #[link_name = "llvm.loongarch.lsx.vpickev.d"]
    525    fn __lsx_vpickev_d(a: __v2i64, b: __v2i64) -> __v2i64;
    526    #[link_name = "llvm.loongarch.lsx.vpickod.b"]
    527    fn __lsx_vpickod_b(a: __v16i8, b: __v16i8) -> __v16i8;
    528    #[link_name = "llvm.loongarch.lsx.vpickod.h"]
    529    fn __lsx_vpickod_h(a: __v8i16, b: __v8i16) -> __v8i16;
    530    #[link_name = "llvm.loongarch.lsx.vpickod.w"]
    531    fn __lsx_vpickod_w(a: __v4i32, b: __v4i32) -> __v4i32;
    532    #[link_name = "llvm.loongarch.lsx.vpickod.d"]
    533    fn __lsx_vpickod_d(a: __v2i64, b: __v2i64) -> __v2i64;
    534    #[link_name = "llvm.loongarch.lsx.vilvh.b"]
    535    fn __lsx_vilvh_b(a: __v16i8, b: __v16i8) -> __v16i8;
    536    #[link_name = "llvm.loongarch.lsx.vilvh.h"]
    537    fn __lsx_vilvh_h(a: __v8i16, b: __v8i16) -> __v8i16;
    538    #[link_name = "llvm.loongarch.lsx.vilvh.w"]
    539    fn __lsx_vilvh_w(a: __v4i32, b: __v4i32) -> __v4i32;
    540    #[link_name = "llvm.loongarch.lsx.vilvh.d"]
    541    fn __lsx_vilvh_d(a: __v2i64, b: __v2i64) -> __v2i64;
    542    #[link_name = "llvm.loongarch.lsx.vilvl.b"]
    543    fn __lsx_vilvl_b(a: __v16i8, b: __v16i8) -> __v16i8;
    544    #[link_name = "llvm.loongarch.lsx.vilvl.h"]
    545    fn __lsx_vilvl_h(a: __v8i16, b: __v8i16) -> __v8i16;
    546    #[link_name = "llvm.loongarch.lsx.vilvl.w"]
    547    fn __lsx_vilvl_w(a: __v4i32, b: __v4i32) -> __v4i32;
    548    #[link_name = "llvm.loongarch.lsx.vilvl.d"]
    549    fn __lsx_vilvl_d(a: __v2i64, b: __v2i64) -> __v2i64;
    550    #[link_name = "llvm.loongarch.lsx.vpackev.b"]
    551    fn __lsx_vpackev_b(a: __v16i8, b: __v16i8) -> __v16i8;
    552    #[link_name = "llvm.loongarch.lsx.vpackev.h"]
    553    fn __lsx_vpackev_h(a: __v8i16, b: __v8i16) -> __v8i16;
    554    #[link_name = "llvm.loongarch.lsx.vpackev.w"]
    555    fn __lsx_vpackev_w(a: __v4i32, b: __v4i32) -> __v4i32;
    556    #[link_name = "llvm.loongarch.lsx.vpackev.d"]
    557    fn __lsx_vpackev_d(a: __v2i64, b: __v2i64) -> __v2i64;
    558    #[link_name = "llvm.loongarch.lsx.vpackod.b"]
    559    fn __lsx_vpackod_b(a: __v16i8, b: __v16i8) -> __v16i8;
    560    #[link_name = "llvm.loongarch.lsx.vpackod.h"]
    561    fn __lsx_vpackod_h(a: __v8i16, b: __v8i16) -> __v8i16;
    562    #[link_name = "llvm.loongarch.lsx.vpackod.w"]
    563    fn __lsx_vpackod_w(a: __v4i32, b: __v4i32) -> __v4i32;
    564    #[link_name = "llvm.loongarch.lsx.vpackod.d"]
    565    fn __lsx_vpackod_d(a: __v2i64, b: __v2i64) -> __v2i64;
    566    #[link_name = "llvm.loongarch.lsx.vshuf.h"]
    567    fn __lsx_vshuf_h(a: __v8i16, b: __v8i16, c: __v8i16) -> __v8i16;
    568    #[link_name = "llvm.loongarch.lsx.vshuf.w"]
    569    fn __lsx_vshuf_w(a: __v4i32, b: __v4i32, c: __v4i32) -> __v4i32;
    570    #[link_name = "llvm.loongarch.lsx.vshuf.d"]
    571    fn __lsx_vshuf_d(a: __v2i64, b: __v2i64, c: __v2i64) -> __v2i64;
    572    #[link_name = "llvm.loongarch.lsx.vand.v"]
    573    fn __lsx_vand_v(a: __v16u8, b: __v16u8) -> __v16u8;
    574    #[link_name = "llvm.loongarch.lsx.vandi.b"]
    575    fn __lsx_vandi_b(a: __v16u8, b: u32) -> __v16u8;
    576    #[link_name = "llvm.loongarch.lsx.vor.v"]
    577    fn __lsx_vor_v(a: __v16u8, b: __v16u8) -> __v16u8;
    578    #[link_name = "llvm.loongarch.lsx.vori.b"]
    579    fn __lsx_vori_b(a: __v16u8, b: u32) -> __v16u8;
    580    #[link_name = "llvm.loongarch.lsx.vnor.v"]
    581    fn __lsx_vnor_v(a: __v16u8, b: __v16u8) -> __v16u8;
    582    #[link_name = "llvm.loongarch.lsx.vnori.b"]
    583    fn __lsx_vnori_b(a: __v16u8, b: u32) -> __v16u8;
    584    #[link_name = "llvm.loongarch.lsx.vxor.v"]
    585    fn __lsx_vxor_v(a: __v16u8, b: __v16u8) -> __v16u8;
    586    #[link_name = "llvm.loongarch.lsx.vxori.b"]
    587    fn __lsx_vxori_b(a: __v16u8, b: u32) -> __v16u8;
    588    #[link_name = "llvm.loongarch.lsx.vbitsel.v"]
    589    fn __lsx_vbitsel_v(a: __v16u8, b: __v16u8, c: __v16u8) -> __v16u8;
    590    #[link_name = "llvm.loongarch.lsx.vbitseli.b"]
    591    fn __lsx_vbitseli_b(a: __v16u8, b: __v16u8, c: u32) -> __v16u8;
    592    #[link_name = "llvm.loongarch.lsx.vshuf4i.b"]
    593    fn __lsx_vshuf4i_b(a: __v16i8, b: u32) -> __v16i8;
    594    #[link_name = "llvm.loongarch.lsx.vshuf4i.h"]
    595    fn __lsx_vshuf4i_h(a: __v8i16, b: u32) -> __v8i16;
    596    #[link_name = "llvm.loongarch.lsx.vshuf4i.w"]
    597    fn __lsx_vshuf4i_w(a: __v4i32, b: u32) -> __v4i32;
    598    #[link_name = "llvm.loongarch.lsx.vreplgr2vr.b"]
    599    fn __lsx_vreplgr2vr_b(a: i32) -> __v16i8;
    600    #[link_name = "llvm.loongarch.lsx.vreplgr2vr.h"]
    601    fn __lsx_vreplgr2vr_h(a: i32) -> __v8i16;
    602    #[link_name = "llvm.loongarch.lsx.vreplgr2vr.w"]
    603    fn __lsx_vreplgr2vr_w(a: i32) -> __v4i32;
    604    #[link_name = "llvm.loongarch.lsx.vreplgr2vr.d"]
    605    fn __lsx_vreplgr2vr_d(a: i64) -> __v2i64;
    606    #[link_name = "llvm.loongarch.lsx.vpcnt.b"]
    607    fn __lsx_vpcnt_b(a: __v16i8) -> __v16i8;
    608    #[link_name = "llvm.loongarch.lsx.vpcnt.h"]
    609    fn __lsx_vpcnt_h(a: __v8i16) -> __v8i16;
    610    #[link_name = "llvm.loongarch.lsx.vpcnt.w"]
    611    fn __lsx_vpcnt_w(a: __v4i32) -> __v4i32;
    612    #[link_name = "llvm.loongarch.lsx.vpcnt.d"]
    613    fn __lsx_vpcnt_d(a: __v2i64) -> __v2i64;
    614    #[link_name = "llvm.loongarch.lsx.vclo.b"]
    615    fn __lsx_vclo_b(a: __v16i8) -> __v16i8;
    616    #[link_name = "llvm.loongarch.lsx.vclo.h"]
    617    fn __lsx_vclo_h(a: __v8i16) -> __v8i16;
    618    #[link_name = "llvm.loongarch.lsx.vclo.w"]
    619    fn __lsx_vclo_w(a: __v4i32) -> __v4i32;
    620    #[link_name = "llvm.loongarch.lsx.vclo.d"]
    621    fn __lsx_vclo_d(a: __v2i64) -> __v2i64;
    622    #[link_name = "llvm.loongarch.lsx.vclz.b"]
    623    fn __lsx_vclz_b(a: __v16i8) -> __v16i8;
    624    #[link_name = "llvm.loongarch.lsx.vclz.h"]
    625    fn __lsx_vclz_h(a: __v8i16) -> __v8i16;
    626    #[link_name = "llvm.loongarch.lsx.vclz.w"]
    627    fn __lsx_vclz_w(a: __v4i32) -> __v4i32;
    628    #[link_name = "llvm.loongarch.lsx.vclz.d"]
    629    fn __lsx_vclz_d(a: __v2i64) -> __v2i64;
    630    #[link_name = "llvm.loongarch.lsx.vpickve2gr.b"]
    631    fn __lsx_vpickve2gr_b(a: __v16i8, b: u32) -> i32;
    632    #[link_name = "llvm.loongarch.lsx.vpickve2gr.h"]
    633    fn __lsx_vpickve2gr_h(a: __v8i16, b: u32) -> i32;
    634    #[link_name = "llvm.loongarch.lsx.vpickve2gr.w"]
    635    fn __lsx_vpickve2gr_w(a: __v4i32, b: u32) -> i32;
    636    #[link_name = "llvm.loongarch.lsx.vpickve2gr.d"]
    637    fn __lsx_vpickve2gr_d(a: __v2i64, b: u32) -> i64;
    638    #[link_name = "llvm.loongarch.lsx.vpickve2gr.bu"]
    639    fn __lsx_vpickve2gr_bu(a: __v16i8, b: u32) -> u32;
    640    #[link_name = "llvm.loongarch.lsx.vpickve2gr.hu"]
    641    fn __lsx_vpickve2gr_hu(a: __v8i16, b: u32) -> u32;
    642    #[link_name = "llvm.loongarch.lsx.vpickve2gr.wu"]
    643    fn __lsx_vpickve2gr_wu(a: __v4i32, b: u32) -> u32;
    644    #[link_name = "llvm.loongarch.lsx.vpickve2gr.du"]
    645    fn __lsx_vpickve2gr_du(a: __v2i64, b: u32) -> u64;
    646    #[link_name = "llvm.loongarch.lsx.vinsgr2vr.b"]
    647    fn __lsx_vinsgr2vr_b(a: __v16i8, b: i32, c: u32) -> __v16i8;
    648    #[link_name = "llvm.loongarch.lsx.vinsgr2vr.h"]
    649    fn __lsx_vinsgr2vr_h(a: __v8i16, b: i32, c: u32) -> __v8i16;
    650    #[link_name = "llvm.loongarch.lsx.vinsgr2vr.w"]
    651    fn __lsx_vinsgr2vr_w(a: __v4i32, b: i32, c: u32) -> __v4i32;
    652    #[link_name = "llvm.loongarch.lsx.vinsgr2vr.d"]
    653    fn __lsx_vinsgr2vr_d(a: __v2i64, b: i64, c: u32) -> __v2i64;
    654    #[link_name = "llvm.loongarch.lsx.vfadd.s"]
    655    fn __lsx_vfadd_s(a: __v4f32, b: __v4f32) -> __v4f32;
    656    #[link_name = "llvm.loongarch.lsx.vfadd.d"]
    657    fn __lsx_vfadd_d(a: __v2f64, b: __v2f64) -> __v2f64;
    658    #[link_name = "llvm.loongarch.lsx.vfsub.s"]
    659    fn __lsx_vfsub_s(a: __v4f32, b: __v4f32) -> __v4f32;
    660    #[link_name = "llvm.loongarch.lsx.vfsub.d"]
    661    fn __lsx_vfsub_d(a: __v2f64, b: __v2f64) -> __v2f64;
    662    #[link_name = "llvm.loongarch.lsx.vfmul.s"]
    663    fn __lsx_vfmul_s(a: __v4f32, b: __v4f32) -> __v4f32;
    664    #[link_name = "llvm.loongarch.lsx.vfmul.d"]
    665    fn __lsx_vfmul_d(a: __v2f64, b: __v2f64) -> __v2f64;
    666    #[link_name = "llvm.loongarch.lsx.vfdiv.s"]
    667    fn __lsx_vfdiv_s(a: __v4f32, b: __v4f32) -> __v4f32;
    668    #[link_name = "llvm.loongarch.lsx.vfdiv.d"]
    669    fn __lsx_vfdiv_d(a: __v2f64, b: __v2f64) -> __v2f64;
    670    #[link_name = "llvm.loongarch.lsx.vfcvt.h.s"]
    671    fn __lsx_vfcvt_h_s(a: __v4f32, b: __v4f32) -> __v8i16;
    672    #[link_name = "llvm.loongarch.lsx.vfcvt.s.d"]
    673    fn __lsx_vfcvt_s_d(a: __v2f64, b: __v2f64) -> __v4f32;
    674    #[link_name = "llvm.loongarch.lsx.vfmin.s"]
    675    fn __lsx_vfmin_s(a: __v4f32, b: __v4f32) -> __v4f32;
    676    #[link_name = "llvm.loongarch.lsx.vfmin.d"]
    677    fn __lsx_vfmin_d(a: __v2f64, b: __v2f64) -> __v2f64;
    678    #[link_name = "llvm.loongarch.lsx.vfmina.s"]
    679    fn __lsx_vfmina_s(a: __v4f32, b: __v4f32) -> __v4f32;
    680    #[link_name = "llvm.loongarch.lsx.vfmina.d"]
    681    fn __lsx_vfmina_d(a: __v2f64, b: __v2f64) -> __v2f64;
    682    #[link_name = "llvm.loongarch.lsx.vfmax.s"]
    683    fn __lsx_vfmax_s(a: __v4f32, b: __v4f32) -> __v4f32;
    684    #[link_name = "llvm.loongarch.lsx.vfmax.d"]
    685    fn __lsx_vfmax_d(a: __v2f64, b: __v2f64) -> __v2f64;
    686    #[link_name = "llvm.loongarch.lsx.vfmaxa.s"]
    687    fn __lsx_vfmaxa_s(a: __v4f32, b: __v4f32) -> __v4f32;
    688    #[link_name = "llvm.loongarch.lsx.vfmaxa.d"]
    689    fn __lsx_vfmaxa_d(a: __v2f64, b: __v2f64) -> __v2f64;
    690    #[link_name = "llvm.loongarch.lsx.vfclass.s"]
    691    fn __lsx_vfclass_s(a: __v4f32) -> __v4i32;
    692    #[link_name = "llvm.loongarch.lsx.vfclass.d"]
    693    fn __lsx_vfclass_d(a: __v2f64) -> __v2i64;
    694    #[link_name = "llvm.loongarch.lsx.vfsqrt.s"]
    695    fn __lsx_vfsqrt_s(a: __v4f32) -> __v4f32;
    696    #[link_name = "llvm.loongarch.lsx.vfsqrt.d"]
    697    fn __lsx_vfsqrt_d(a: __v2f64) -> __v2f64;
    698    #[link_name = "llvm.loongarch.lsx.vfrecip.s"]
    699    fn __lsx_vfrecip_s(a: __v4f32) -> __v4f32;
    700    #[link_name = "llvm.loongarch.lsx.vfrecip.d"]
    701    fn __lsx_vfrecip_d(a: __v2f64) -> __v2f64;
    702    #[link_name = "llvm.loongarch.lsx.vfrecipe.s"]
    703    fn __lsx_vfrecipe_s(a: __v4f32) -> __v4f32;
    704    #[link_name = "llvm.loongarch.lsx.vfrecipe.d"]
    705    fn __lsx_vfrecipe_d(a: __v2f64) -> __v2f64;
    706    #[link_name = "llvm.loongarch.lsx.vfrsqrte.s"]
    707    fn __lsx_vfrsqrte_s(a: __v4f32) -> __v4f32;
    708    #[link_name = "llvm.loongarch.lsx.vfrsqrte.d"]
    709    fn __lsx_vfrsqrte_d(a: __v2f64) -> __v2f64;
    710    #[link_name = "llvm.loongarch.lsx.vfrint.s"]
    711    fn __lsx_vfrint_s(a: __v4f32) -> __v4f32;
    712    #[link_name = "llvm.loongarch.lsx.vfrint.d"]
    713    fn __lsx_vfrint_d(a: __v2f64) -> __v2f64;
    714    #[link_name = "llvm.loongarch.lsx.vfrsqrt.s"]
    715    fn __lsx_vfrsqrt_s(a: __v4f32) -> __v4f32;
    716    #[link_name = "llvm.loongarch.lsx.vfrsqrt.d"]
    717    fn __lsx_vfrsqrt_d(a: __v2f64) -> __v2f64;
    718    #[link_name = "llvm.loongarch.lsx.vflogb.s"]
    719    fn __lsx_vflogb_s(a: __v4f32) -> __v4f32;
    720    #[link_name = "llvm.loongarch.lsx.vflogb.d"]
    721    fn __lsx_vflogb_d(a: __v2f64) -> __v2f64;
    722    #[link_name = "llvm.loongarch.lsx.vfcvth.s.h"]
    723    fn __lsx_vfcvth_s_h(a: __v8i16) -> __v4f32;
    724    #[link_name = "llvm.loongarch.lsx.vfcvth.d.s"]
    725    fn __lsx_vfcvth_d_s(a: __v4f32) -> __v2f64;
    726    #[link_name = "llvm.loongarch.lsx.vfcvtl.s.h"]
    727    fn __lsx_vfcvtl_s_h(a: __v8i16) -> __v4f32;
    728    #[link_name = "llvm.loongarch.lsx.vfcvtl.d.s"]
    729    fn __lsx_vfcvtl_d_s(a: __v4f32) -> __v2f64;
    730    #[link_name = "llvm.loongarch.lsx.vftint.w.s"]
    731    fn __lsx_vftint_w_s(a: __v4f32) -> __v4i32;
    732    #[link_name = "llvm.loongarch.lsx.vftint.l.d"]
    733    fn __lsx_vftint_l_d(a: __v2f64) -> __v2i64;
    734    #[link_name = "llvm.loongarch.lsx.vftint.wu.s"]
    735    fn __lsx_vftint_wu_s(a: __v4f32) -> __v4u32;
    736    #[link_name = "llvm.loongarch.lsx.vftint.lu.d"]
    737    fn __lsx_vftint_lu_d(a: __v2f64) -> __v2u64;
    738    #[link_name = "llvm.loongarch.lsx.vftintrz.w.s"]
    739    fn __lsx_vftintrz_w_s(a: __v4f32) -> __v4i32;
    740    #[link_name = "llvm.loongarch.lsx.vftintrz.l.d"]
    741    fn __lsx_vftintrz_l_d(a: __v2f64) -> __v2i64;
    742    #[link_name = "llvm.loongarch.lsx.vftintrz.wu.s"]
    743    fn __lsx_vftintrz_wu_s(a: __v4f32) -> __v4u32;
    744    #[link_name = "llvm.loongarch.lsx.vftintrz.lu.d"]
    745    fn __lsx_vftintrz_lu_d(a: __v2f64) -> __v2u64;
    746    #[link_name = "llvm.loongarch.lsx.vffint.s.w"]
    747    fn __lsx_vffint_s_w(a: __v4i32) -> __v4f32;
    748    #[link_name = "llvm.loongarch.lsx.vffint.d.l"]
    749    fn __lsx_vffint_d_l(a: __v2i64) -> __v2f64;
    750    #[link_name = "llvm.loongarch.lsx.vffint.s.wu"]
    751    fn __lsx_vffint_s_wu(a: __v4u32) -> __v4f32;
    752    #[link_name = "llvm.loongarch.lsx.vffint.d.lu"]
    753    fn __lsx_vffint_d_lu(a: __v2u64) -> __v2f64;
    754    #[link_name = "llvm.loongarch.lsx.vandn.v"]
    755    fn __lsx_vandn_v(a: __v16u8, b: __v16u8) -> __v16u8;
    756    #[link_name = "llvm.loongarch.lsx.vneg.b"]
    757    fn __lsx_vneg_b(a: __v16i8) -> __v16i8;
    758    #[link_name = "llvm.loongarch.lsx.vneg.h"]
    759    fn __lsx_vneg_h(a: __v8i16) -> __v8i16;
    760    #[link_name = "llvm.loongarch.lsx.vneg.w"]
    761    fn __lsx_vneg_w(a: __v4i32) -> __v4i32;
    762    #[link_name = "llvm.loongarch.lsx.vneg.d"]
    763    fn __lsx_vneg_d(a: __v2i64) -> __v2i64;
    764    #[link_name = "llvm.loongarch.lsx.vmuh.b"]
    765    fn __lsx_vmuh_b(a: __v16i8, b: __v16i8) -> __v16i8;
    766    #[link_name = "llvm.loongarch.lsx.vmuh.h"]
    767    fn __lsx_vmuh_h(a: __v8i16, b: __v8i16) -> __v8i16;
    768    #[link_name = "llvm.loongarch.lsx.vmuh.w"]
    769    fn __lsx_vmuh_w(a: __v4i32, b: __v4i32) -> __v4i32;
    770    #[link_name = "llvm.loongarch.lsx.vmuh.d"]
    771    fn __lsx_vmuh_d(a: __v2i64, b: __v2i64) -> __v2i64;
    772    #[link_name = "llvm.loongarch.lsx.vmuh.bu"]
    773    fn __lsx_vmuh_bu(a: __v16u8, b: __v16u8) -> __v16u8;
    774    #[link_name = "llvm.loongarch.lsx.vmuh.hu"]
    775    fn __lsx_vmuh_hu(a: __v8u16, b: __v8u16) -> __v8u16;
    776    #[link_name = "llvm.loongarch.lsx.vmuh.wu"]
    777    fn __lsx_vmuh_wu(a: __v4u32, b: __v4u32) -> __v4u32;
    778    #[link_name = "llvm.loongarch.lsx.vmuh.du"]
    779    fn __lsx_vmuh_du(a: __v2u64, b: __v2u64) -> __v2u64;
    780    #[link_name = "llvm.loongarch.lsx.vsllwil.h.b"]
    781    fn __lsx_vsllwil_h_b(a: __v16i8, b: u32) -> __v8i16;
    782    #[link_name = "llvm.loongarch.lsx.vsllwil.w.h"]
    783    fn __lsx_vsllwil_w_h(a: __v8i16, b: u32) -> __v4i32;
    784    #[link_name = "llvm.loongarch.lsx.vsllwil.d.w"]
    785    fn __lsx_vsllwil_d_w(a: __v4i32, b: u32) -> __v2i64;
    786    #[link_name = "llvm.loongarch.lsx.vsllwil.hu.bu"]
    787    fn __lsx_vsllwil_hu_bu(a: __v16u8, b: u32) -> __v8u16;
    788    #[link_name = "llvm.loongarch.lsx.vsllwil.wu.hu"]
    789    fn __lsx_vsllwil_wu_hu(a: __v8u16, b: u32) -> __v4u32;
    790    #[link_name = "llvm.loongarch.lsx.vsllwil.du.wu"]
    791    fn __lsx_vsllwil_du_wu(a: __v4u32, b: u32) -> __v2u64;
    792    #[link_name = "llvm.loongarch.lsx.vsran.b.h"]
    793    fn __lsx_vsran_b_h(a: __v8i16, b: __v8i16) -> __v16i8;
    794    #[link_name = "llvm.loongarch.lsx.vsran.h.w"]
    795    fn __lsx_vsran_h_w(a: __v4i32, b: __v4i32) -> __v8i16;
    796    #[link_name = "llvm.loongarch.lsx.vsran.w.d"]
    797    fn __lsx_vsran_w_d(a: __v2i64, b: __v2i64) -> __v4i32;
    798    #[link_name = "llvm.loongarch.lsx.vssran.b.h"]
    799    fn __lsx_vssran_b_h(a: __v8i16, b: __v8i16) -> __v16i8;
    800    #[link_name = "llvm.loongarch.lsx.vssran.h.w"]
    801    fn __lsx_vssran_h_w(a: __v4i32, b: __v4i32) -> __v8i16;
    802    #[link_name = "llvm.loongarch.lsx.vssran.w.d"]
    803    fn __lsx_vssran_w_d(a: __v2i64, b: __v2i64) -> __v4i32;
    804    #[link_name = "llvm.loongarch.lsx.vssran.bu.h"]
    805    fn __lsx_vssran_bu_h(a: __v8u16, b: __v8u16) -> __v16u8;
    806    #[link_name = "llvm.loongarch.lsx.vssran.hu.w"]
    807    fn __lsx_vssran_hu_w(a: __v4u32, b: __v4u32) -> __v8u16;
    808    #[link_name = "llvm.loongarch.lsx.vssran.wu.d"]
    809    fn __lsx_vssran_wu_d(a: __v2u64, b: __v2u64) -> __v4u32;
    810    #[link_name = "llvm.loongarch.lsx.vsrarn.b.h"]
    811    fn __lsx_vsrarn_b_h(a: __v8i16, b: __v8i16) -> __v16i8;
    812    #[link_name = "llvm.loongarch.lsx.vsrarn.h.w"]
    813    fn __lsx_vsrarn_h_w(a: __v4i32, b: __v4i32) -> __v8i16;
    814    #[link_name = "llvm.loongarch.lsx.vsrarn.w.d"]
    815    fn __lsx_vsrarn_w_d(a: __v2i64, b: __v2i64) -> __v4i32;
    816    #[link_name = "llvm.loongarch.lsx.vssrarn.b.h"]
    817    fn __lsx_vssrarn_b_h(a: __v8i16, b: __v8i16) -> __v16i8;
    818    #[link_name = "llvm.loongarch.lsx.vssrarn.h.w"]
    819    fn __lsx_vssrarn_h_w(a: __v4i32, b: __v4i32) -> __v8i16;
    820    #[link_name = "llvm.loongarch.lsx.vssrarn.w.d"]
    821    fn __lsx_vssrarn_w_d(a: __v2i64, b: __v2i64) -> __v4i32;
    822    #[link_name = "llvm.loongarch.lsx.vssrarn.bu.h"]
    823    fn __lsx_vssrarn_bu_h(a: __v8u16, b: __v8u16) -> __v16u8;
    824    #[link_name = "llvm.loongarch.lsx.vssrarn.hu.w"]
    825    fn __lsx_vssrarn_hu_w(a: __v4u32, b: __v4u32) -> __v8u16;
    826    #[link_name = "llvm.loongarch.lsx.vssrarn.wu.d"]
    827    fn __lsx_vssrarn_wu_d(a: __v2u64, b: __v2u64) -> __v4u32;
    828    #[link_name = "llvm.loongarch.lsx.vsrln.b.h"]
    829    fn __lsx_vsrln_b_h(a: __v8i16, b: __v8i16) -> __v16i8;
    830    #[link_name = "llvm.loongarch.lsx.vsrln.h.w"]
    831    fn __lsx_vsrln_h_w(a: __v4i32, b: __v4i32) -> __v8i16;
    832    #[link_name = "llvm.loongarch.lsx.vsrln.w.d"]
    833    fn __lsx_vsrln_w_d(a: __v2i64, b: __v2i64) -> __v4i32;
    834    #[link_name = "llvm.loongarch.lsx.vssrln.bu.h"]
    835    fn __lsx_vssrln_bu_h(a: __v8u16, b: __v8u16) -> __v16u8;
    836    #[link_name = "llvm.loongarch.lsx.vssrln.hu.w"]
    837    fn __lsx_vssrln_hu_w(a: __v4u32, b: __v4u32) -> __v8u16;
    838    #[link_name = "llvm.loongarch.lsx.vssrln.wu.d"]
    839    fn __lsx_vssrln_wu_d(a: __v2u64, b: __v2u64) -> __v4u32;
    840    #[link_name = "llvm.loongarch.lsx.vsrlrn.b.h"]
    841    fn __lsx_vsrlrn_b_h(a: __v8i16, b: __v8i16) -> __v16i8;
    842    #[link_name = "llvm.loongarch.lsx.vsrlrn.h.w"]
    843    fn __lsx_vsrlrn_h_w(a: __v4i32, b: __v4i32) -> __v8i16;
    844    #[link_name = "llvm.loongarch.lsx.vsrlrn.w.d"]
    845    fn __lsx_vsrlrn_w_d(a: __v2i64, b: __v2i64) -> __v4i32;
    846    #[link_name = "llvm.loongarch.lsx.vssrlrn.bu.h"]
    847    fn __lsx_vssrlrn_bu_h(a: __v8u16, b: __v8u16) -> __v16u8;
    848    #[link_name = "llvm.loongarch.lsx.vssrlrn.hu.w"]
    849    fn __lsx_vssrlrn_hu_w(a: __v4u32, b: __v4u32) -> __v8u16;
    850    #[link_name = "llvm.loongarch.lsx.vssrlrn.wu.d"]
    851    fn __lsx_vssrlrn_wu_d(a: __v2u64, b: __v2u64) -> __v4u32;
    852    #[link_name = "llvm.loongarch.lsx.vfrstpi.b"]
    853    fn __lsx_vfrstpi_b(a: __v16i8, b: __v16i8, c: u32) -> __v16i8;
    854    #[link_name = "llvm.loongarch.lsx.vfrstpi.h"]
    855    fn __lsx_vfrstpi_h(a: __v8i16, b: __v8i16, c: u32) -> __v8i16;
    856    #[link_name = "llvm.loongarch.lsx.vfrstp.b"]
    857    fn __lsx_vfrstp_b(a: __v16i8, b: __v16i8, c: __v16i8) -> __v16i8;
    858    #[link_name = "llvm.loongarch.lsx.vfrstp.h"]
    859    fn __lsx_vfrstp_h(a: __v8i16, b: __v8i16, c: __v8i16) -> __v8i16;
    860    #[link_name = "llvm.loongarch.lsx.vshuf4i.d"]
    861    fn __lsx_vshuf4i_d(a: __v2i64, b: __v2i64, c: u32) -> __v2i64;
    862    #[link_name = "llvm.loongarch.lsx.vbsrl.v"]
    863    fn __lsx_vbsrl_v(a: __v16i8, b: u32) -> __v16i8;
    864    #[link_name = "llvm.loongarch.lsx.vbsll.v"]
    865    fn __lsx_vbsll_v(a: __v16i8, b: u32) -> __v16i8;
    866    #[link_name = "llvm.loongarch.lsx.vextrins.b"]
    867    fn __lsx_vextrins_b(a: __v16i8, b: __v16i8, c: u32) -> __v16i8;
    868    #[link_name = "llvm.loongarch.lsx.vextrins.h"]
    869    fn __lsx_vextrins_h(a: __v8i16, b: __v8i16, c: u32) -> __v8i16;
    870    #[link_name = "llvm.loongarch.lsx.vextrins.w"]
    871    fn __lsx_vextrins_w(a: __v4i32, b: __v4i32, c: u32) -> __v4i32;
    872    #[link_name = "llvm.loongarch.lsx.vextrins.d"]
    873    fn __lsx_vextrins_d(a: __v2i64, b: __v2i64, c: u32) -> __v2i64;
    874    #[link_name = "llvm.loongarch.lsx.vmskltz.b"]
    875    fn __lsx_vmskltz_b(a: __v16i8) -> __v16i8;
    876    #[link_name = "llvm.loongarch.lsx.vmskltz.h"]
    877    fn __lsx_vmskltz_h(a: __v8i16) -> __v8i16;
    878    #[link_name = "llvm.loongarch.lsx.vmskltz.w"]
    879    fn __lsx_vmskltz_w(a: __v4i32) -> __v4i32;
    880    #[link_name = "llvm.loongarch.lsx.vmskltz.d"]
    881    fn __lsx_vmskltz_d(a: __v2i64) -> __v2i64;
    882    #[link_name = "llvm.loongarch.lsx.vsigncov.b"]
    883    fn __lsx_vsigncov_b(a: __v16i8, b: __v16i8) -> __v16i8;
    884    #[link_name = "llvm.loongarch.lsx.vsigncov.h"]
    885    fn __lsx_vsigncov_h(a: __v8i16, b: __v8i16) -> __v8i16;
    886    #[link_name = "llvm.loongarch.lsx.vsigncov.w"]
    887    fn __lsx_vsigncov_w(a: __v4i32, b: __v4i32) -> __v4i32;
    888    #[link_name = "llvm.loongarch.lsx.vsigncov.d"]
    889    fn __lsx_vsigncov_d(a: __v2i64, b: __v2i64) -> __v2i64;
    890    #[link_name = "llvm.loongarch.lsx.vfmadd.s"]
    891    fn __lsx_vfmadd_s(a: __v4f32, b: __v4f32, c: __v4f32) -> __v4f32;
    892    #[link_name = "llvm.loongarch.lsx.vfmadd.d"]
    893    fn __lsx_vfmadd_d(a: __v2f64, b: __v2f64, c: __v2f64) -> __v2f64;
    894    #[link_name = "llvm.loongarch.lsx.vfmsub.s"]
    895    fn __lsx_vfmsub_s(a: __v4f32, b: __v4f32, c: __v4f32) -> __v4f32;
    896    #[link_name = "llvm.loongarch.lsx.vfmsub.d"]
    897    fn __lsx_vfmsub_d(a: __v2f64, b: __v2f64, c: __v2f64) -> __v2f64;
    898    #[link_name = "llvm.loongarch.lsx.vfnmadd.s"]
    899    fn __lsx_vfnmadd_s(a: __v4f32, b: __v4f32, c: __v4f32) -> __v4f32;
    900    #[link_name = "llvm.loongarch.lsx.vfnmadd.d"]
    901    fn __lsx_vfnmadd_d(a: __v2f64, b: __v2f64, c: __v2f64) -> __v2f64;
    902    #[link_name = "llvm.loongarch.lsx.vfnmsub.s"]
    903    fn __lsx_vfnmsub_s(a: __v4f32, b: __v4f32, c: __v4f32) -> __v4f32;
    904    #[link_name = "llvm.loongarch.lsx.vfnmsub.d"]
    905    fn __lsx_vfnmsub_d(a: __v2f64, b: __v2f64, c: __v2f64) -> __v2f64;
    906    #[link_name = "llvm.loongarch.lsx.vftintrne.w.s"]
    907    fn __lsx_vftintrne_w_s(a: __v4f32) -> __v4i32;
    908    #[link_name = "llvm.loongarch.lsx.vftintrne.l.d"]
    909    fn __lsx_vftintrne_l_d(a: __v2f64) -> __v2i64;
    910    #[link_name = "llvm.loongarch.lsx.vftintrp.w.s"]
    911    fn __lsx_vftintrp_w_s(a: __v4f32) -> __v4i32;
    912    #[link_name = "llvm.loongarch.lsx.vftintrp.l.d"]
    913    fn __lsx_vftintrp_l_d(a: __v2f64) -> __v2i64;
    914    #[link_name = "llvm.loongarch.lsx.vftintrm.w.s"]
    915    fn __lsx_vftintrm_w_s(a: __v4f32) -> __v4i32;
    916    #[link_name = "llvm.loongarch.lsx.vftintrm.l.d"]
    917    fn __lsx_vftintrm_l_d(a: __v2f64) -> __v2i64;
    918    #[link_name = "llvm.loongarch.lsx.vftint.w.d"]
    919    fn __lsx_vftint_w_d(a: __v2f64, b: __v2f64) -> __v4i32;
    920    #[link_name = "llvm.loongarch.lsx.vffint.s.l"]
    921    fn __lsx_vffint_s_l(a: __v2i64, b: __v2i64) -> __v4f32;
    922    #[link_name = "llvm.loongarch.lsx.vftintrz.w.d"]
    923    fn __lsx_vftintrz_w_d(a: __v2f64, b: __v2f64) -> __v4i32;
    924    #[link_name = "llvm.loongarch.lsx.vftintrp.w.d"]
    925    fn __lsx_vftintrp_w_d(a: __v2f64, b: __v2f64) -> __v4i32;
    926    #[link_name = "llvm.loongarch.lsx.vftintrm.w.d"]
    927    fn __lsx_vftintrm_w_d(a: __v2f64, b: __v2f64) -> __v4i32;
    928    #[link_name = "llvm.loongarch.lsx.vftintrne.w.d"]
    929    fn __lsx_vftintrne_w_d(a: __v2f64, b: __v2f64) -> __v4i32;
    930    #[link_name = "llvm.loongarch.lsx.vftintl.l.s"]
    931    fn __lsx_vftintl_l_s(a: __v4f32) -> __v2i64;
    932    #[link_name = "llvm.loongarch.lsx.vftinth.l.s"]
    933    fn __lsx_vftinth_l_s(a: __v4f32) -> __v2i64;
    934    #[link_name = "llvm.loongarch.lsx.vffinth.d.w"]
    935    fn __lsx_vffinth_d_w(a: __v4i32) -> __v2f64;
    936    #[link_name = "llvm.loongarch.lsx.vffintl.d.w"]
    937    fn __lsx_vffintl_d_w(a: __v4i32) -> __v2f64;
    938    #[link_name = "llvm.loongarch.lsx.vftintrzl.l.s"]
    939    fn __lsx_vftintrzl_l_s(a: __v4f32) -> __v2i64;
    940    #[link_name = "llvm.loongarch.lsx.vftintrzh.l.s"]
    941    fn __lsx_vftintrzh_l_s(a: __v4f32) -> __v2i64;
    942    #[link_name = "llvm.loongarch.lsx.vftintrpl.l.s"]
    943    fn __lsx_vftintrpl_l_s(a: __v4f32) -> __v2i64;
    944    #[link_name = "llvm.loongarch.lsx.vftintrph.l.s"]
    945    fn __lsx_vftintrph_l_s(a: __v4f32) -> __v2i64;
    946    #[link_name = "llvm.loongarch.lsx.vftintrml.l.s"]
    947    fn __lsx_vftintrml_l_s(a: __v4f32) -> __v2i64;
    948    #[link_name = "llvm.loongarch.lsx.vftintrmh.l.s"]
    949    fn __lsx_vftintrmh_l_s(a: __v4f32) -> __v2i64;
    950    #[link_name = "llvm.loongarch.lsx.vftintrnel.l.s"]
    951    fn __lsx_vftintrnel_l_s(a: __v4f32) -> __v2i64;
    952    #[link_name = "llvm.loongarch.lsx.vftintrneh.l.s"]
    953    fn __lsx_vftintrneh_l_s(a: __v4f32) -> __v2i64;
    954    #[link_name = "llvm.loongarch.lsx.vfrintrne.s"]
    955    fn __lsx_vfrintrne_s(a: __v4f32) -> __v4f32;
    956    #[link_name = "llvm.loongarch.lsx.vfrintrne.d"]
    957    fn __lsx_vfrintrne_d(a: __v2f64) -> __v2f64;
    958    #[link_name = "llvm.loongarch.lsx.vfrintrz.s"]
    959    fn __lsx_vfrintrz_s(a: __v4f32) -> __v4f32;
    960    #[link_name = "llvm.loongarch.lsx.vfrintrz.d"]
    961    fn __lsx_vfrintrz_d(a: __v2f64) -> __v2f64;
    962    #[link_name = "llvm.loongarch.lsx.vfrintrp.s"]
    963    fn __lsx_vfrintrp_s(a: __v4f32) -> __v4f32;
    964    #[link_name = "llvm.loongarch.lsx.vfrintrp.d"]
    965    fn __lsx_vfrintrp_d(a: __v2f64) -> __v2f64;
    966    #[link_name = "llvm.loongarch.lsx.vfrintrm.s"]
    967    fn __lsx_vfrintrm_s(a: __v4f32) -> __v4f32;
    968    #[link_name = "llvm.loongarch.lsx.vfrintrm.d"]
    969    fn __lsx_vfrintrm_d(a: __v2f64) -> __v2f64;
    970    #[link_name = "llvm.loongarch.lsx.vstelm.b"]
    971    fn __lsx_vstelm_b(a: __v16i8, b: *mut i8, c: i32, d: u32);
    972    #[link_name = "llvm.loongarch.lsx.vstelm.h"]
    973    fn __lsx_vstelm_h(a: __v8i16, b: *mut i8, c: i32, d: u32);
    974    #[link_name = "llvm.loongarch.lsx.vstelm.w"]
    975    fn __lsx_vstelm_w(a: __v4i32, b: *mut i8, c: i32, d: u32);
    976    #[link_name = "llvm.loongarch.lsx.vstelm.d"]
    977    fn __lsx_vstelm_d(a: __v2i64, b: *mut i8, c: i32, d: u32);
    978    #[link_name = "llvm.loongarch.lsx.vaddwev.d.w"]
    979    fn __lsx_vaddwev_d_w(a: __v4i32, b: __v4i32) -> __v2i64;
    980    #[link_name = "llvm.loongarch.lsx.vaddwev.w.h"]
    981    fn __lsx_vaddwev_w_h(a: __v8i16, b: __v8i16) -> __v4i32;
    982    #[link_name = "llvm.loongarch.lsx.vaddwev.h.b"]
    983    fn __lsx_vaddwev_h_b(a: __v16i8, b: __v16i8) -> __v8i16;
    984    #[link_name = "llvm.loongarch.lsx.vaddwod.d.w"]
    985    fn __lsx_vaddwod_d_w(a: __v4i32, b: __v4i32) -> __v2i64;
    986    #[link_name = "llvm.loongarch.lsx.vaddwod.w.h"]
    987    fn __lsx_vaddwod_w_h(a: __v8i16, b: __v8i16) -> __v4i32;
    988    #[link_name = "llvm.loongarch.lsx.vaddwod.h.b"]
    989    fn __lsx_vaddwod_h_b(a: __v16i8, b: __v16i8) -> __v8i16;
    990    #[link_name = "llvm.loongarch.lsx.vaddwev.d.wu"]
    991    fn __lsx_vaddwev_d_wu(a: __v4u32, b: __v4u32) -> __v2i64;
    992    #[link_name = "llvm.loongarch.lsx.vaddwev.w.hu"]
    993    fn __lsx_vaddwev_w_hu(a: __v8u16, b: __v8u16) -> __v4i32;
    994    #[link_name = "llvm.loongarch.lsx.vaddwev.h.bu"]
    995    fn __lsx_vaddwev_h_bu(a: __v16u8, b: __v16u8) -> __v8i16;
    996    #[link_name = "llvm.loongarch.lsx.vaddwod.d.wu"]
    997    fn __lsx_vaddwod_d_wu(a: __v4u32, b: __v4u32) -> __v2i64;
    998    #[link_name = "llvm.loongarch.lsx.vaddwod.w.hu"]
    999    fn __lsx_vaddwod_w_hu(a: __v8u16, b: __v8u16) -> __v4i32;
    1000    #[link_name = "llvm.loongarch.lsx.vaddwod.h.bu"]
    1001    fn __lsx_vaddwod_h_bu(a: __v16u8, b: __v16u8) -> __v8i16;
    1002    #[link_name = "llvm.loongarch.lsx.vaddwev.d.wu.w"]
    1003    fn __lsx_vaddwev_d_wu_w(a: __v4u32, b: __v4i32) -> __v2i64;
    1004    #[link_name = "llvm.loongarch.lsx.vaddwev.w.hu.h"]
    1005    fn __lsx_vaddwev_w_hu_h(a: __v8u16, b: __v8i16) -> __v4i32;
    1006    #[link_name = "llvm.loongarch.lsx.vaddwev.h.bu.b"]
    1007    fn __lsx_vaddwev_h_bu_b(a: __v16u8, b: __v16i8) -> __v8i16;
    1008    #[link_name = "llvm.loongarch.lsx.vaddwod.d.wu.w"]
    1009    fn __lsx_vaddwod_d_wu_w(a: __v4u32, b: __v4i32) -> __v2i64;
    1010    #[link_name = "llvm.loongarch.lsx.vaddwod.w.hu.h"]
    1011    fn __lsx_vaddwod_w_hu_h(a: __v8u16, b: __v8i16) -> __v4i32;
    1012    #[link_name = "llvm.loongarch.lsx.vaddwod.h.bu.b"]
    1013    fn __lsx_vaddwod_h_bu_b(a: __v16u8, b: __v16i8) -> __v8i16;
    1014    #[link_name = "llvm.loongarch.lsx.vsubwev.d.w"]
    1015    fn __lsx_vsubwev_d_w(a: __v4i32, b: __v4i32) -> __v2i64;
    1016    #[link_name = "llvm.loongarch.lsx.vsubwev.w.h"]
    1017    fn __lsx_vsubwev_w_h(a: __v8i16, b: __v8i16) -> __v4i32;
    1018    #[link_name = "llvm.loongarch.lsx.vsubwev.h.b"]
    1019    fn __lsx_vsubwev_h_b(a: __v16i8, b: __v16i8) -> __v8i16;
    1020    #[link_name = "llvm.loongarch.lsx.vsubwod.d.w"]
    1021    fn __lsx_vsubwod_d_w(a: __v4i32, b: __v4i32) -> __v2i64;
    1022    #[link_name = "llvm.loongarch.lsx.vsubwod.w.h"]
    1023    fn __lsx_vsubwod_w_h(a: __v8i16, b: __v8i16) -> __v4i32;
    1024    #[link_name = "llvm.loongarch.lsx.vsubwod.h.b"]
    1025    fn __lsx_vsubwod_h_b(a: __v16i8, b: __v16i8) -> __v8i16;
    1026    #[link_name = "llvm.loongarch.lsx.vsubwev.d.wu"]
    1027    fn __lsx_vsubwev_d_wu(a: __v4u32, b: __v4u32) -> __v2i64;
    1028    #[link_name = "llvm.loongarch.lsx.vsubwev.w.hu"]
    1029    fn __lsx_vsubwev_w_hu(a: __v8u16, b: __v8u16) -> __v4i32;
    1030    #[link_name = "llvm.loongarch.lsx.vsubwev.h.bu"]
    1031    fn __lsx_vsubwev_h_bu(a: __v16u8, b: __v16u8) -> __v8i16;
    1032    #[link_name = "llvm.loongarch.lsx.vsubwod.d.wu"]
    1033    fn __lsx_vsubwod_d_wu(a: __v4u32, b: __v4u32) -> __v2i64;
    1034    #[link_name = "llvm.loongarch.lsx.vsubwod.w.hu"]
    1035    fn __lsx_vsubwod_w_hu(a: __v8u16, b: __v8u16) -> __v4i32;
    1036    #[link_name = "llvm.loongarch.lsx.vsubwod.h.bu"]
    1037    fn __lsx_vsubwod_h_bu(a: __v16u8, b: __v16u8) -> __v8i16;
    1038    #[link_name = "llvm.loongarch.lsx.vaddwev.q.d"]
    1039    fn __lsx_vaddwev_q_d(a: __v2i64, b: __v2i64) -> __v2i64;
    1040    #[link_name = "llvm.loongarch.lsx.vaddwod.q.d"]
    1041    fn __lsx_vaddwod_q_d(a: __v2i64, b: __v2i64) -> __v2i64;
    1042    #[link_name = "llvm.loongarch.lsx.vaddwev.q.du"]
    1043    fn __lsx_vaddwev_q_du(a: __v2u64, b: __v2u64) -> __v2i64;
    1044    #[link_name = "llvm.loongarch.lsx.vaddwod.q.du"]
    1045    fn __lsx_vaddwod_q_du(a: __v2u64, b: __v2u64) -> __v2i64;
    1046    #[link_name = "llvm.loongarch.lsx.vsubwev.q.d"]
    1047    fn __lsx_vsubwev_q_d(a: __v2i64, b: __v2i64) -> __v2i64;
    1048    #[link_name = "llvm.loongarch.lsx.vsubwod.q.d"]
    1049    fn __lsx_vsubwod_q_d(a: __v2i64, b: __v2i64) -> __v2i64;
    1050    #[link_name = "llvm.loongarch.lsx.vsubwev.q.du"]
    1051    fn __lsx_vsubwev_q_du(a: __v2u64, b: __v2u64) -> __v2i64;
    1052    #[link_name = "llvm.loongarch.lsx.vsubwod.q.du"]
    1053    fn __lsx_vsubwod_q_du(a: __v2u64, b: __v2u64) -> __v2i64;
    1054    #[link_name = "llvm.loongarch.lsx.vaddwev.q.du.d"]
    1055    fn __lsx_vaddwev_q_du_d(a: __v2u64, b: __v2i64) -> __v2i64;
    1056    #[link_name = "llvm.loongarch.lsx.vaddwod.q.du.d"]
    1057    fn __lsx_vaddwod_q_du_d(a: __v2u64, b: __v2i64) -> __v2i64;
    1058    #[link_name = "llvm.loongarch.lsx.vmulwev.d.w"]
    1059    fn __lsx_vmulwev_d_w(a: __v4i32, b: __v4i32) -> __v2i64;
    1060    #[link_name = "llvm.loongarch.lsx.vmulwev.w.h"]
    1061    fn __lsx_vmulwev_w_h(a: __v8i16, b: __v8i16) -> __v4i32;
    1062    #[link_name = "llvm.loongarch.lsx.vmulwev.h.b"]
    1063    fn __lsx_vmulwev_h_b(a: __v16i8, b: __v16i8) -> __v8i16;
    1064    #[link_name = "llvm.loongarch.lsx.vmulwod.d.w"]
    1065    fn __lsx_vmulwod_d_w(a: __v4i32, b: __v4i32) -> __v2i64;
    1066    #[link_name = "llvm.loongarch.lsx.vmulwod.w.h"]
    1067    fn __lsx_vmulwod_w_h(a: __v8i16, b: __v8i16) -> __v4i32;
    1068    #[link_name = "llvm.loongarch.lsx.vmulwod.h.b"]
    1069    fn __lsx_vmulwod_h_b(a: __v16i8, b: __v16i8) -> __v8i16;
    1070    #[link_name = "llvm.loongarch.lsx.vmulwev.d.wu"]
    1071    fn __lsx_vmulwev_d_wu(a: __v4u32, b: __v4u32) -> __v2i64;
    1072    #[link_name = "llvm.loongarch.lsx.vmulwev.w.hu"]
    1073    fn __lsx_vmulwev_w_hu(a: __v8u16, b: __v8u16) -> __v4i32;
    1074    #[link_name = "llvm.loongarch.lsx.vmulwev.h.bu"]
    1075    fn __lsx_vmulwev_h_bu(a: __v16u8, b: __v16u8) -> __v8i16;
    1076    #[link_name = "llvm.loongarch.lsx.vmulwod.d.wu"]
    1077    fn __lsx_vmulwod_d_wu(a: __v4u32, b: __v4u32) -> __v2i64;
    1078    #[link_name = "llvm.loongarch.lsx.vmulwod.w.hu"]
    1079    fn __lsx_vmulwod_w_hu(a: __v8u16, b: __v8u16) -> __v4i32;
    1080    #[link_name = "llvm.loongarch.lsx.vmulwod.h.bu"]
    1081    fn __lsx_vmulwod_h_bu(a: __v16u8, b: __v16u8) -> __v8i16;
    1082    #[link_name = "llvm.loongarch.lsx.vmulwev.d.wu.w"]
    1083    fn __lsx_vmulwev_d_wu_w(a: __v4u32, b: __v4i32) -> __v2i64;
    1084    #[link_name = "llvm.loongarch.lsx.vmulwev.w.hu.h"]
    1085    fn __lsx_vmulwev_w_hu_h(a: __v8u16, b: __v8i16) -> __v4i32;
    1086    #[link_name = "llvm.loongarch.lsx.vmulwev.h.bu.b"]
    1087    fn __lsx_vmulwev_h_bu_b(a: __v16u8, b: __v16i8) -> __v8i16;
    1088    #[link_name = "llvm.loongarch.lsx.vmulwod.d.wu.w"]
    1089    fn __lsx_vmulwod_d_wu_w(a: __v4u32, b: __v4i32) -> __v2i64;
    1090    #[link_name = "llvm.loongarch.lsx.vmulwod.w.hu.h"]
    1091    fn __lsx_vmulwod_w_hu_h(a: __v8u16, b: __v8i16) -> __v4i32;
    1092    #[link_name = "llvm.loongarch.lsx.vmulwod.h.bu.b"]
    1093    fn __lsx_vmulwod_h_bu_b(a: __v16u8, b: __v16i8) -> __v8i16;
    1094    #[link_name = "llvm.loongarch.lsx.vmulwev.q.d"]
    1095    fn __lsx_vmulwev_q_d(a: __v2i64, b: __v2i64) -> __v2i64;
    1096    #[link_name = "llvm.loongarch.lsx.vmulwod.q.d"]
    1097    fn __lsx_vmulwod_q_d(a: __v2i64, b: __v2i64) -> __v2i64;
    1098    #[link_name = "llvm.loongarch.lsx.vmulwev.q.du"]
    1099    fn __lsx_vmulwev_q_du(a: __v2u64, b: __v2u64) -> __v2i64;
    1100    #[link_name = "llvm.loongarch.lsx.vmulwod.q.du"]
    1101    fn __lsx_vmulwod_q_du(a: __v2u64, b: __v2u64) -> __v2i64;
    1102    #[link_name = "llvm.loongarch.lsx.vmulwev.q.du.d"]
    1103    fn __lsx_vmulwev_q_du_d(a: __v2u64, b: __v2i64) -> __v2i64;
    1104    #[link_name = "llvm.loongarch.lsx.vmulwod.q.du.d"]
    1105    fn __lsx_vmulwod_q_du_d(a: __v2u64, b: __v2i64) -> __v2i64;
    1106    #[link_name = "llvm.loongarch.lsx.vhaddw.q.d"]
    1107    fn __lsx_vhaddw_q_d(a: __v2i64, b: __v2i64) -> __v2i64;
    1108    #[link_name = "llvm.loongarch.lsx.vhaddw.qu.du"]
    1109    fn __lsx_vhaddw_qu_du(a: __v2u64, b: __v2u64) -> __v2u64;
    1110    #[link_name = "llvm.loongarch.lsx.vhsubw.q.d"]
    1111    fn __lsx_vhsubw_q_d(a: __v2i64, b: __v2i64) -> __v2i64;
    1112    #[link_name = "llvm.loongarch.lsx.vhsubw.qu.du"]
    1113    fn __lsx_vhsubw_qu_du(a: __v2u64, b: __v2u64) -> __v2u64;
    1114    #[link_name = "llvm.loongarch.lsx.vmaddwev.d.w"]
    1115    fn __lsx_vmaddwev_d_w(a: __v2i64, b: __v4i32, c: __v4i32) -> __v2i64;
    1116    #[link_name = "llvm.loongarch.lsx.vmaddwev.w.h"]
    1117    fn __lsx_vmaddwev_w_h(a: __v4i32, b: __v8i16, c: __v8i16) -> __v4i32;
    1118    #[link_name = "llvm.loongarch.lsx.vmaddwev.h.b"]
    1119    fn __lsx_vmaddwev_h_b(a: __v8i16, b: __v16i8, c: __v16i8) -> __v8i16;
    1120    #[link_name = "llvm.loongarch.lsx.vmaddwev.d.wu"]
    1121    fn __lsx_vmaddwev_d_wu(a: __v2u64, b: __v4u32, c: __v4u32) -> __v2u64;
    1122    #[link_name = "llvm.loongarch.lsx.vmaddwev.w.hu"]
    1123    fn __lsx_vmaddwev_w_hu(a: __v4u32, b: __v8u16, c: __v8u16) -> __v4u32;
    1124    #[link_name = "llvm.loongarch.lsx.vmaddwev.h.bu"]
    1125    fn __lsx_vmaddwev_h_bu(a: __v8u16, b: __v16u8, c: __v16u8) -> __v8u16;
    1126    #[link_name = "llvm.loongarch.lsx.vmaddwod.d.w"]
    1127    fn __lsx_vmaddwod_d_w(a: __v2i64, b: __v4i32, c: __v4i32) -> __v2i64;
    1128    #[link_name = "llvm.loongarch.lsx.vmaddwod.w.h"]
    1129    fn __lsx_vmaddwod_w_h(a: __v4i32, b: __v8i16, c: __v8i16) -> __v4i32;
    1130    #[link_name = "llvm.loongarch.lsx.vmaddwod.h.b"]
    1131    fn __lsx_vmaddwod_h_b(a: __v8i16, b: __v16i8, c: __v16i8) -> __v8i16;
    1132    #[link_name = "llvm.loongarch.lsx.vmaddwod.d.wu"]
    1133    fn __lsx_vmaddwod_d_wu(a: __v2u64, b: __v4u32, c: __v4u32) -> __v2u64;
    1134    #[link_name = "llvm.loongarch.lsx.vmaddwod.w.hu"]
    1135    fn __lsx_vmaddwod_w_hu(a: __v4u32, b: __v8u16, c: __v8u16) -> __v4u32;
    1136    #[link_name = "llvm.loongarch.lsx.vmaddwod.h.bu"]
    1137    fn __lsx_vmaddwod_h_bu(a: __v8u16, b: __v16u8, c: __v16u8) -> __v8u16;
    1138    #[link_name = "llvm.loongarch.lsx.vmaddwev.d.wu.w"]
    1139    fn __lsx_vmaddwev_d_wu_w(a: __v2i64, b: __v4u32, c: __v4i32) -> __v2i64;
    1140    #[link_name = "llvm.loongarch.lsx.vmaddwev.w.hu.h"]
    1141    fn __lsx_vmaddwev_w_hu_h(a: __v4i32, b: __v8u16, c: __v8i16) -> __v4i32;
    1142    #[link_name = "llvm.loongarch.lsx.vmaddwev.h.bu.b"]
    1143    fn __lsx_vmaddwev_h_bu_b(a: __v8i16, b: __v16u8, c: __v16i8) -> __v8i16;
    1144    #[link_name = "llvm.loongarch.lsx.vmaddwod.d.wu.w"]
    1145    fn __lsx_vmaddwod_d_wu_w(a: __v2i64, b: __v4u32, c: __v4i32) -> __v2i64;
    1146    #[link_name = "llvm.loongarch.lsx.vmaddwod.w.hu.h"]
    1147    fn __lsx_vmaddwod_w_hu_h(a: __v4i32, b: __v8u16, c: __v8i16) -> __v4i32;
    1148    #[link_name = "llvm.loongarch.lsx.vmaddwod.h.bu.b"]
    1149    fn __lsx_vmaddwod_h_bu_b(a: __v8i16, b: __v16u8, c: __v16i8) -> __v8i16;
    1150    #[link_name = "llvm.loongarch.lsx.vmaddwev.q.d"]
    1151    fn __lsx_vmaddwev_q_d(a: __v2i64, b: __v2i64, c: __v2i64) -> __v2i64;
    1152    #[link_name = "llvm.loongarch.lsx.vmaddwod.q.d"]
    1153    fn __lsx_vmaddwod_q_d(a: __v2i64, b: __v2i64, c: __v2i64) -> __v2i64;
    1154    #[link_name = "llvm.loongarch.lsx.vmaddwev.q.du"]
    1155    fn __lsx_vmaddwev_q_du(a: __v2u64, b: __v2u64, c: __v2u64) -> __v2u64;
    1156    #[link_name = "llvm.loongarch.lsx.vmaddwod.q.du"]
    1157    fn __lsx_vmaddwod_q_du(a: __v2u64, b: __v2u64, c: __v2u64) -> __v2u64;
    1158    #[link_name = "llvm.loongarch.lsx.vmaddwev.q.du.d"]
    1159    fn __lsx_vmaddwev_q_du_d(a: __v2i64, b: __v2u64, c: __v2i64) -> __v2i64;
    1160    #[link_name = "llvm.loongarch.lsx.vmaddwod.q.du.d"]
    1161    fn __lsx_vmaddwod_q_du_d(a: __v2i64, b: __v2u64, c: __v2i64) -> __v2i64;
    1162    #[link_name = "llvm.loongarch.lsx.vrotr.b"]
    1163    fn __lsx_vrotr_b(a: __v16i8, b: __v16i8) -> __v16i8;
    1164    #[link_name = "llvm.loongarch.lsx.vrotr.h"]
    1165    fn __lsx_vrotr_h(a: __v8i16, b: __v8i16) -> __v8i16;
    1166    #[link_name = "llvm.loongarch.lsx.vrotr.w"]
    1167    fn __lsx_vrotr_w(a: __v4i32, b: __v4i32) -> __v4i32;
    1168    #[link_name = "llvm.loongarch.lsx.vrotr.d"]
    1169    fn __lsx_vrotr_d(a: __v2i64, b: __v2i64) -> __v2i64;
    1170    #[link_name = "llvm.loongarch.lsx.vadd.q"]
    1171    fn __lsx_vadd_q(a: __v2i64, b: __v2i64) -> __v2i64;
    1172    #[link_name = "llvm.loongarch.lsx.vsub.q"]
    1173    fn __lsx_vsub_q(a: __v2i64, b: __v2i64) -> __v2i64;
    1174    #[link_name = "llvm.loongarch.lsx.vldrepl.b"]
    1175    fn __lsx_vldrepl_b(a: *const i8, b: i32) -> __v16i8;
    1176    #[link_name = "llvm.loongarch.lsx.vldrepl.h"]
    1177    fn __lsx_vldrepl_h(a: *const i8, b: i32) -> __v8i16;
    1178    #[link_name = "llvm.loongarch.lsx.vldrepl.w"]
    1179    fn __lsx_vldrepl_w(a: *const i8, b: i32) -> __v4i32;
    1180    #[link_name = "llvm.loongarch.lsx.vldrepl.d"]
    1181    fn __lsx_vldrepl_d(a: *const i8, b: i32) -> __v2i64;
    1182    #[link_name = "llvm.loongarch.lsx.vmskgez.b"]
    1183    fn __lsx_vmskgez_b(a: __v16i8) -> __v16i8;
    1184    #[link_name = "llvm.loongarch.lsx.vmsknz.b"]
    1185    fn __lsx_vmsknz_b(a: __v16i8) -> __v16i8;
    1186    #[link_name = "llvm.loongarch.lsx.vexth.h.b"]
    1187    fn __lsx_vexth_h_b(a: __v16i8) -> __v8i16;
    1188    #[link_name = "llvm.loongarch.lsx.vexth.w.h"]
    1189    fn __lsx_vexth_w_h(a: __v8i16) -> __v4i32;
    1190    #[link_name = "llvm.loongarch.lsx.vexth.d.w"]
    1191    fn __lsx_vexth_d_w(a: __v4i32) -> __v2i64;
    1192    #[link_name = "llvm.loongarch.lsx.vexth.q.d"]
    1193    fn __lsx_vexth_q_d(a: __v2i64) -> __v2i64;
    1194    #[link_name = "llvm.loongarch.lsx.vexth.hu.bu"]
    1195    fn __lsx_vexth_hu_bu(a: __v16u8) -> __v8u16;
    1196    #[link_name = "llvm.loongarch.lsx.vexth.wu.hu"]
    1197    fn __lsx_vexth_wu_hu(a: __v8u16) -> __v4u32;
    1198    #[link_name = "llvm.loongarch.lsx.vexth.du.wu"]
    1199    fn __lsx_vexth_du_wu(a: __v4u32) -> __v2u64;
    1200    #[link_name = "llvm.loongarch.lsx.vexth.qu.du"]
    1201    fn __lsx_vexth_qu_du(a: __v2u64) -> __v2u64;
    1202    #[link_name = "llvm.loongarch.lsx.vrotri.b"]
    1203    fn __lsx_vrotri_b(a: __v16i8, b: u32) -> __v16i8;
    1204    #[link_name = "llvm.loongarch.lsx.vrotri.h"]
    1205    fn __lsx_vrotri_h(a: __v8i16, b: u32) -> __v8i16;
    1206    #[link_name = "llvm.loongarch.lsx.vrotri.w"]
    1207    fn __lsx_vrotri_w(a: __v4i32, b: u32) -> __v4i32;
    1208    #[link_name = "llvm.loongarch.lsx.vrotri.d"]
    1209    fn __lsx_vrotri_d(a: __v2i64, b: u32) -> __v2i64;
    1210    #[link_name = "llvm.loongarch.lsx.vextl.q.d"]
    1211    fn __lsx_vextl_q_d(a: __v2i64) -> __v2i64;
    1212    #[link_name = "llvm.loongarch.lsx.vsrlni.b.h"]
    1213    fn __lsx_vsrlni_b_h(a: __v16i8, b: __v16i8, c: u32) -> __v16i8;
    1214    #[link_name = "llvm.loongarch.lsx.vsrlni.h.w"]
    1215    fn __lsx_vsrlni_h_w(a: __v8i16, b: __v8i16, c: u32) -> __v8i16;
    1216    #[link_name = "llvm.loongarch.lsx.vsrlni.w.d"]
    1217    fn __lsx_vsrlni_w_d(a: __v4i32, b: __v4i32, c: u32) -> __v4i32;
    1218    #[link_name = "llvm.loongarch.lsx.vsrlni.d.q"]
    1219    fn __lsx_vsrlni_d_q(a: __v2i64, b: __v2i64, c: u32) -> __v2i64;
    1220    #[link_name = "llvm.loongarch.lsx.vsrlrni.b.h"]
    1221    fn __lsx_vsrlrni_b_h(a: __v16i8, b: __v16i8, c: u32) -> __v16i8;
    1222    #[link_name = "llvm.loongarch.lsx.vsrlrni.h.w"]
    1223    fn __lsx_vsrlrni_h_w(a: __v8i16, b: __v8i16, c: u32) -> __v8i16;
    1224    #[link_name = "llvm.loongarch.lsx.vsrlrni.w.d"]
    1225    fn __lsx_vsrlrni_w_d(a: __v4i32, b: __v4i32, c: u32) -> __v4i32;
    1226    #[link_name = "llvm.loongarch.lsx.vsrlrni.d.q"]
    1227    fn __lsx_vsrlrni_d_q(a: __v2i64, b: __v2i64, c: u32) -> __v2i64;
    1228    #[link_name = "llvm.loongarch.lsx.vssrlni.b.h"]
    1229    fn __lsx_vssrlni_b_h(a: __v16i8, b: __v16i8, c: u32) -> __v16i8;
    1230    #[link_name = "llvm.loongarch.lsx.vssrlni.h.w"]
    1231    fn __lsx_vssrlni_h_w(a: __v8i16, b: __v8i16, c: u32) -> __v8i16;
    1232    #[link_name = "llvm.loongarch.lsx.vssrlni.w.d"]
    1233    fn __lsx_vssrlni_w_d(a: __v4i32, b: __v4i32, c: u32) -> __v4i32;
    1234    #[link_name = "llvm.loongarch.lsx.vssrlni.d.q"]
    1235    fn __lsx_vssrlni_d_q(a: __v2i64, b: __v2i64, c: u32) -> __v2i64;
    1236    #[link_name = "llvm.loongarch.lsx.vssrlni.bu.h"]
    1237    fn __lsx_vssrlni_bu_h(a: __v16u8, b: __v16i8, c: u32) -> __v16u8;
    1238    #[link_name = "llvm.loongarch.lsx.vssrlni.hu.w"]
    1239    fn __lsx_vssrlni_hu_w(a: __v8u16, b: __v8i16, c: u32) -> __v8u16;
    1240    #[link_name = "llvm.loongarch.lsx.vssrlni.wu.d"]
    1241    fn __lsx_vssrlni_wu_d(a: __v4u32, b: __v4i32, c: u32) -> __v4u32;
    1242    #[link_name = "llvm.loongarch.lsx.vssrlni.du.q"]
    1243    fn __lsx_vssrlni_du_q(a: __v2u64, b: __v2i64, c: u32) -> __v2u64;
    1244    #[link_name = "llvm.loongarch.lsx.vssrlrni.b.h"]
    1245    fn __lsx_vssrlrni_b_h(a: __v16i8, b: __v16i8, c: u32) -> __v16i8;
    1246    #[link_name = "llvm.loongarch.lsx.vssrlrni.h.w"]
    1247    fn __lsx_vssrlrni_h_w(a: __v8i16, b: __v8i16, c: u32) -> __v8i16;
    1248    #[link_name = "llvm.loongarch.lsx.vssrlrni.w.d"]
    1249    fn __lsx_vssrlrni_w_d(a: __v4i32, b: __v4i32, c: u32) -> __v4i32;
    1250    #[link_name = "llvm.loongarch.lsx.vssrlrni.d.q"]
    1251    fn __lsx_vssrlrni_d_q(a: __v2i64, b: __v2i64, c: u32) -> __v2i64;
    1252    #[link_name = "llvm.loongarch.lsx.vssrlrni.bu.h"]
    1253    fn __lsx_vssrlrni_bu_h(a: __v16u8, b: __v16i8, c: u32) -> __v16u8;
    1254    #[link_name = "llvm.loongarch.lsx.vssrlrni.hu.w"]
    1255    fn __lsx_vssrlrni_hu_w(a: __v8u16, b: __v8i16, c: u32) -> __v8u16;
    1256    #[link_name = "llvm.loongarch.lsx.vssrlrni.wu.d"]
    1257    fn __lsx_vssrlrni_wu_d(a: __v4u32, b: __v4i32, c: u32) -> __v4u32;
    1258    #[link_name = "llvm.loongarch.lsx.vssrlrni.du.q"]
    1259    fn __lsx_vssrlrni_du_q(a: __v2u64, b: __v2i64, c: u32) -> __v2u64;
    1260    #[link_name = "llvm.loongarch.lsx.vsrani.b.h"]
    1261    fn __lsx_vsrani_b_h(a: __v16i8, b: __v16i8, c: u32) -> __v16i8;
    1262    #[link_name = "llvm.loongarch.lsx.vsrani.h.w"]
    1263    fn __lsx_vsrani_h_w(a: __v8i16, b: __v8i16, c: u32) -> __v8i16;
    1264    #[link_name = "llvm.loongarch.lsx.vsrani.w.d"]
    1265    fn __lsx_vsrani_w_d(a: __v4i32, b: __v4i32, c: u32) -> __v4i32;
    1266    #[link_name = "llvm.loongarch.lsx.vsrani.d.q"]
    1267    fn __lsx_vsrani_d_q(a: __v2i64, b: __v2i64, c: u32) -> __v2i64;
    1268    #[link_name = "llvm.loongarch.lsx.vsrarni.b.h"]
    1269    fn __lsx_vsrarni_b_h(a: __v16i8, b: __v16i8, c: u32) -> __v16i8;
    1270    #[link_name = "llvm.loongarch.lsx.vsrarni.h.w"]
    1271    fn __lsx_vsrarni_h_w(a: __v8i16, b: __v8i16, c: u32) -> __v8i16;
    1272    #[link_name = "llvm.loongarch.lsx.vsrarni.w.d"]
    1273    fn __lsx_vsrarni_w_d(a: __v4i32, b: __v4i32, c: u32) -> __v4i32;
    1274    #[link_name = "llvm.loongarch.lsx.vsrarni.d.q"]
    1275    fn __lsx_vsrarni_d_q(a: __v2i64, b: __v2i64, c: u32) -> __v2i64;
    1276    #[link_name = "llvm.loongarch.lsx.vssrani.b.h"]
    1277    fn __lsx_vssrani_b_h(a: __v16i8, b: __v16i8, c: u32) -> __v16i8;
    1278    #[link_name = "llvm.loongarch.lsx.vssrani.h.w"]
    1279    fn __lsx_vssrani_h_w(a: __v8i16, b: __v8i16, c: u32) -> __v8i16;
    1280    #[link_name = "llvm.loongarch.lsx.vssrani.w.d"]
    1281    fn __lsx_vssrani_w_d(a: __v4i32, b: __v4i32, c: u32) -> __v4i32;
    1282    #[link_name = "llvm.loongarch.lsx.vssrani.d.q"]
    1283    fn __lsx_vssrani_d_q(a: __v2i64, b: __v2i64, c: u32) -> __v2i64;
    1284    #[link_name = "llvm.loongarch.lsx.vssrani.bu.h"]
    1285    fn __lsx_vssrani_bu_h(a: __v16u8, b: __v16i8, c: u32) -> __v16u8;
    1286    #[link_name = "llvm.loongarch.lsx.vssrani.hu.w"]
    1287    fn __lsx_vssrani_hu_w(a: __v8u16, b: __v8i16, c: u32) -> __v8u16;
    1288    #[link_name = "llvm.loongarch.lsx.vssrani.wu.d"]
    1289    fn __lsx_vssrani_wu_d(a: __v4u32, b: __v4i32, c: u32) -> __v4u32;
    1290    #[link_name = "llvm.loongarch.lsx.vssrani.du.q"]
    1291    fn __lsx_vssrani_du_q(a: __v2u64, b: __v2i64, c: u32) -> __v2u64;
    1292    #[link_name = "llvm.loongarch.lsx.vssrarni.b.h"]
    1293    fn __lsx_vssrarni_b_h(a: __v16i8, b: __v16i8, c: u32) -> __v16i8;
    1294    #[link_name = "llvm.loongarch.lsx.vssrarni.h.w"]
    1295    fn __lsx_vssrarni_h_w(a: __v8i16, b: __v8i16, c: u32) -> __v8i16;
    1296    #[link_name = "llvm.loongarch.lsx.vssrarni.w.d"]
    1297    fn __lsx_vssrarni_w_d(a: __v4i32, b: __v4i32, c: u32) -> __v4i32;
    1298    #[link_name = "llvm.loongarch.lsx.vssrarni.d.q"]
    1299    fn __lsx_vssrarni_d_q(a: __v2i64, b: __v2i64, c: u32) -> __v2i64;
    1300    #[link_name = "llvm.loongarch.lsx.vssrarni.bu.h"]
    1301    fn __lsx_vssrarni_bu_h(a: __v16u8, b: __v16i8, c: u32) -> __v16u8;
    1302    #[link_name = "llvm.loongarch.lsx.vssrarni.hu.w"]
    1303    fn __lsx_vssrarni_hu_w(a: __v8u16, b: __v8i16, c: u32) -> __v8u16;
    1304    #[link_name = "llvm.loongarch.lsx.vssrarni.wu.d"]
    1305    fn __lsx_vssrarni_wu_d(a: __v4u32, b: __v4i32, c: u32) -> __v4u32;
    1306    #[link_name = "llvm.loongarch.lsx.vssrarni.du.q"]
    1307    fn __lsx_vssrarni_du_q(a: __v2u64, b: __v2i64, c: u32) -> __v2u64;
    1308    #[link_name = "llvm.loongarch.lsx.vpermi.w"]
    1309    fn __lsx_vpermi_w(a: __v4i32, b: __v4i32, c: u32) -> __v4i32;
    1310    #[link_name = "llvm.loongarch.lsx.vld"]
    1311    fn __lsx_vld(a: *const i8, b: i32) -> __v16i8;
    1312    #[link_name = "llvm.loongarch.lsx.vst"]
    1313    fn __lsx_vst(a: __v16i8, b: *mut i8, c: i32);
    1314    #[link_name = "llvm.loongarch.lsx.vssrlrn.b.h"]
    1315    fn __lsx_vssrlrn_b_h(a: __v8i16, b: __v8i16) -> __v16i8;
    1316    #[link_name = "llvm.loongarch.lsx.vssrlrn.h.w"]
    1317    fn __lsx_vssrlrn_h_w(a: __v4i32, b: __v4i32) -> __v8i16;
    1318    #[link_name = "llvm.loongarch.lsx.vssrlrn.w.d"]
    1319    fn __lsx_vssrlrn_w_d(a: __v2i64, b: __v2i64) -> __v4i32;
    1320    #[link_name = "llvm.loongarch.lsx.vssrln.b.h"]
    1321    fn __lsx_vssrln_b_h(a: __v8i16, b: __v8i16) -> __v16i8;
    1322    #[link_name = "llvm.loongarch.lsx.vssrln.h.w"]
    1323    fn __lsx_vssrln_h_w(a: __v4i32, b: __v4i32) -> __v8i16;
    1324    #[link_name = "llvm.loongarch.lsx.vssrln.w.d"]
    1325    fn __lsx_vssrln_w_d(a: __v2i64, b: __v2i64) -> __v4i32;
    1326    #[link_name = "llvm.loongarch.lsx.vorn.v"]
    1327    fn __lsx_vorn_v(a: __v16i8, b: __v16i8) -> __v16i8;
    1328    #[link_name = "llvm.loongarch.lsx.vldi"]
    1329    fn __lsx_vldi(a: i32) -> __v2i64;
    1330    #[link_name = "llvm.loongarch.lsx.vshuf.b"]
    1331    fn __lsx_vshuf_b(a: __v16i8, b: __v16i8, c: __v16i8) -> __v16i8;
    1332    #[link_name = "llvm.loongarch.lsx.vldx"]
    1333    fn __lsx_vldx(a: *const i8, b: i64) -> __v16i8;
    1334    #[link_name = "llvm.loongarch.lsx.vstx"]
    1335    fn __lsx_vstx(a: __v16i8, b: *mut i8, c: i64);
    1336    #[link_name = "llvm.loongarch.lsx.vextl.qu.du"]
    1337    fn __lsx_vextl_qu_du(a: __v2u64) -> __v2u64;
    1338    #[link_name = "llvm.loongarch.lsx.bnz.b"]
    1339    fn __lsx_bnz_b(a: __v16u8) -> i32;
    1340    #[link_name = "llvm.loongarch.lsx.bnz.d"]
    1341    fn __lsx_bnz_d(a: __v2u64) -> i32;
    1342    #[link_name = "llvm.loongarch.lsx.bnz.h"]
    1343    fn __lsx_bnz_h(a: __v8u16) -> i32;
    1344    #[link_name = "llvm.loongarch.lsx.bnz.v"]
    1345    fn __lsx_bnz_v(a: __v16u8) -> i32;
    1346    #[link_name = "llvm.loongarch.lsx.bnz.w"]
    1347    fn __lsx_bnz_w(a: __v4u32) -> i32;
    1348    #[link_name = "llvm.loongarch.lsx.bz.b"]
    1349    fn __lsx_bz_b(a: __v16u8) -> i32;
    1350    #[link_name = "llvm.loongarch.lsx.bz.d"]
    1351    fn __lsx_bz_d(a: __v2u64) -> i32;
    1352    #[link_name = "llvm.loongarch.lsx.bz.h"]
    1353    fn __lsx_bz_h(a: __v8u16) -> i32;
    1354    #[link_name = "llvm.loongarch.lsx.bz.v"]
    1355    fn __lsx_bz_v(a: __v16u8) -> i32;
    1356    #[link_name = "llvm.loongarch.lsx.bz.w"]
    1357    fn __lsx_bz_w(a: __v4u32) -> i32;
    1358    #[link_name = "llvm.loongarch.lsx.vfcmp.caf.d"]
    1359    fn __lsx_vfcmp_caf_d(a: __v2f64, b: __v2f64) -> __v2i64;
    1360    #[link_name = "llvm.loongarch.lsx.vfcmp.caf.s"]
    1361    fn __lsx_vfcmp_caf_s(a: __v4f32, b: __v4f32) -> __v4i32;
    1362    #[link_name = "llvm.loongarch.lsx.vfcmp.ceq.d"]
    1363    fn __lsx_vfcmp_ceq_d(a: __v2f64, b: __v2f64) -> __v2i64;
    1364    #[link_name = "llvm.loongarch.lsx.vfcmp.ceq.s"]
    1365    fn __lsx_vfcmp_ceq_s(a: __v4f32, b: __v4f32) -> __v4i32;
    1366    #[link_name = "llvm.loongarch.lsx.vfcmp.cle.d"]
    1367    fn __lsx_vfcmp_cle_d(a: __v2f64, b: __v2f64) -> __v2i64;
    1368    #[link_name = "llvm.loongarch.lsx.vfcmp.cle.s"]
    1369    fn __lsx_vfcmp_cle_s(a: __v4f32, b: __v4f32) -> __v4i32;
    1370    #[link_name = "llvm.loongarch.lsx.vfcmp.clt.d"]
    1371    fn __lsx_vfcmp_clt_d(a: __v2f64, b: __v2f64) -> __v2i64;
    1372    #[link_name = "llvm.loongarch.lsx.vfcmp.clt.s"]
    1373    fn __lsx_vfcmp_clt_s(a: __v4f32, b: __v4f32) -> __v4i32;
    1374    #[link_name = "llvm.loongarch.lsx.vfcmp.cne.d"]
    1375    fn __lsx_vfcmp_cne_d(a: __v2f64, b: __v2f64) -> __v2i64;
    1376    #[link_name = "llvm.loongarch.lsx.vfcmp.cne.s"]
    1377    fn __lsx_vfcmp_cne_s(a: __v4f32, b: __v4f32) -> __v4i32;
    1378    #[link_name = "llvm.loongarch.lsx.vfcmp.cor.d"]
    1379    fn __lsx_vfcmp_cor_d(a: __v2f64, b: __v2f64) -> __v2i64;
    1380    #[link_name = "llvm.loongarch.lsx.vfcmp.cor.s"]
    1381    fn __lsx_vfcmp_cor_s(a: __v4f32, b: __v4f32) -> __v4i32;
    1382    #[link_name = "llvm.loongarch.lsx.vfcmp.cueq.d"]
    1383    fn __lsx_vfcmp_cueq_d(a: __v2f64, b: __v2f64) -> __v2i64;
    1384    #[link_name = "llvm.loongarch.lsx.vfcmp.cueq.s"]
    1385    fn __lsx_vfcmp_cueq_s(a: __v4f32, b: __v4f32) -> __v4i32;
    1386    #[link_name = "llvm.loongarch.lsx.vfcmp.cule.d"]
    1387    fn __lsx_vfcmp_cule_d(a: __v2f64, b: __v2f64) -> __v2i64;
    1388    #[link_name = "llvm.loongarch.lsx.vfcmp.cule.s"]
    1389    fn __lsx_vfcmp_cule_s(a: __v4f32, b: __v4f32) -> __v4i32;
    1390    #[link_name = "llvm.loongarch.lsx.vfcmp.cult.d"]
    1391    fn __lsx_vfcmp_cult_d(a: __v2f64, b: __v2f64) -> __v2i64;
    1392    #[link_name = "llvm.loongarch.lsx.vfcmp.cult.s"]
    1393    fn __lsx_vfcmp_cult_s(a: __v4f32, b: __v4f32) -> __v4i32;
    1394    #[link_name = "llvm.loongarch.lsx.vfcmp.cun.d"]
    1395    fn __lsx_vfcmp_cun_d(a: __v2f64, b: __v2f64) -> __v2i64;
    1396    #[link_name = "llvm.loongarch.lsx.vfcmp.cune.d"]
    1397    fn __lsx_vfcmp_cune_d(a: __v2f64, b: __v2f64) -> __v2i64;
    1398    #[link_name = "llvm.loongarch.lsx.vfcmp.cune.s"]
    1399    fn __lsx_vfcmp_cune_s(a: __v4f32, b: __v4f32) -> __v4i32;
    1400    #[link_name = "llvm.loongarch.lsx.vfcmp.cun.s"]
    1401    fn __lsx_vfcmp_cun_s(a: __v4f32, b: __v4f32) -> __v4i32;
    1402    #[link_name = "llvm.loongarch.lsx.vfcmp.saf.d"]
    1403    fn __lsx_vfcmp_saf_d(a: __v2f64, b: __v2f64) -> __v2i64;
    1404    #[link_name = "llvm.loongarch.lsx.vfcmp.saf.s"]
    1405    fn __lsx_vfcmp_saf_s(a: __v4f32, b: __v4f32) -> __v4i32;
    1406    #[link_name = "llvm.loongarch.lsx.vfcmp.seq.d"]
    1407    fn __lsx_vfcmp_seq_d(a: __v2f64, b: __v2f64) -> __v2i64;
    1408    #[link_name = "llvm.loongarch.lsx.vfcmp.seq.s"]
    1409    fn __lsx_vfcmp_seq_s(a: __v4f32, b: __v4f32) -> __v4i32;
    1410    #[link_name = "llvm.loongarch.lsx.vfcmp.sle.d"]
    1411    fn __lsx_vfcmp_sle_d(a: __v2f64, b: __v2f64) -> __v2i64;
    1412    #[link_name = "llvm.loongarch.lsx.vfcmp.sle.s"]
    1413    fn __lsx_vfcmp_sle_s(a: __v4f32, b: __v4f32) -> __v4i32;
    1414    #[link_name = "llvm.loongarch.lsx.vfcmp.slt.d"]
    1415    fn __lsx_vfcmp_slt_d(a: __v2f64, b: __v2f64) -> __v2i64;
    1416    #[link_name = "llvm.loongarch.lsx.vfcmp.slt.s"]
    1417    fn __lsx_vfcmp_slt_s(a: __v4f32, b: __v4f32) -> __v4i32;
    1418    #[link_name = "llvm.loongarch.lsx.vfcmp.sne.d"]
    1419    fn __lsx_vfcmp_sne_d(a: __v2f64, b: __v2f64) -> __v2i64;
    1420    #[link_name = "llvm.loongarch.lsx.vfcmp.sne.s"]
    1421    fn __lsx_vfcmp_sne_s(a: __v4f32, b: __v4f32) -> __v4i32;
    1422    #[link_name = "llvm.loongarch.lsx.vfcmp.sor.d"]
    1423    fn __lsx_vfcmp_sor_d(a: __v2f64, b: __v2f64) -> __v2i64;
    1424    #[link_name = "llvm.loongarch.lsx.vfcmp.sor.s"]
    1425    fn __lsx_vfcmp_sor_s(a: __v4f32, b: __v4f32) -> __v4i32;
    1426    #[link_name = "llvm.loongarch.lsx.vfcmp.sueq.d"]
    1427    fn __lsx_vfcmp_sueq_d(a: __v2f64, b: __v2f64) -> __v2i64;
    1428    #[link_name = "llvm.loongarch.lsx.vfcmp.sueq.s"]
    1429    fn __lsx_vfcmp_sueq_s(a: __v4f32, b: __v4f32) -> __v4i32;
    1430    #[link_name = "llvm.loongarch.lsx.vfcmp.sule.d"]
    1431    fn __lsx_vfcmp_sule_d(a: __v2f64, b: __v2f64) -> __v2i64;
    1432    #[link_name = "llvm.loongarch.lsx.vfcmp.sule.s"]
    1433    fn __lsx_vfcmp_sule_s(a: __v4f32, b: __v4f32) -> __v4i32;
    1434    #[link_name = "llvm.loongarch.lsx.vfcmp.sult.d"]
    1435    fn __lsx_vfcmp_sult_d(a: __v2f64, b: __v2f64) -> __v2i64;
    1436    #[link_name = "llvm.loongarch.lsx.vfcmp.sult.s"]
    1437    fn __lsx_vfcmp_sult_s(a: __v4f32, b: __v4f32) -> __v4i32;
    1438    #[link_name = "llvm.loongarch.lsx.vfcmp.sun.d"]
    1439    fn __lsx_vfcmp_sun_d(a: __v2f64, b: __v2f64) -> __v2i64;
    1440    #[link_name = "llvm.loongarch.lsx.vfcmp.sune.d"]
    1441    fn __lsx_vfcmp_sune_d(a: __v2f64, b: __v2f64) -> __v2i64;
    1442    #[link_name = "llvm.loongarch.lsx.vfcmp.sune.s"]
    1443    fn __lsx_vfcmp_sune_s(a: __v4f32, b: __v4f32) -> __v4i32;
    1444    #[link_name = "llvm.loongarch.lsx.vfcmp.sun.s"]
    1445    fn __lsx_vfcmp_sun_s(a: __v4f32, b: __v4f32) -> __v4i32;
    1446    #[link_name = "llvm.loongarch.lsx.vrepli.b"]
    1447    fn __lsx_vrepli_b(a: i32) -> __v16i8;
    1448    #[link_name = "llvm.loongarch.lsx.vrepli.d"]
    1449    fn __lsx_vrepli_d(a: i32) -> __v2i64;
    1450    #[link_name = "llvm.loongarch.lsx.vrepli.h"]
    1451    fn __lsx_vrepli_h(a: i32) -> __v8i16;
    1452    #[link_name = "llvm.loongarch.lsx.vrepli.w"]
    1453    fn __lsx_vrepli_w(a: i32) -> __v4i32;
    1454}
    1455
    1456#[inline]
    1457#[target_feature(enable = "lsx")]
    1458#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    1459pub fn lsx_vsll_b(a: m128i, b: m128i) -> m128i {
    1460    unsafe { transmute(__lsx_vsll_b(transmute(a), transmute(b))) }
    1461}
    1462
    1463#[inline]
    1464#[target_feature(enable = "lsx")]
    1465#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    1466pub fn lsx_vsll_h(a: m128i, b: m128i) -> m128i {
    1467    unsafe { transmute(__lsx_vsll_h(transmute(a), transmute(b))) }
    1468}
    1469
    1470#[inline]
    1471#[target_feature(enable = "lsx")]
    1472#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    1473pub fn lsx_vsll_w(a: m128i, b: m128i) -> m128i {
    1474    unsafe { transmute(__lsx_vsll_w(transmute(a), transmute(b))) }
    1475}
    1476
    1477#[inline]
    1478#[target_feature(enable = "lsx")]
    1479#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    1480pub fn lsx_vsll_d(a: m128i, b: m128i) -> m128i {
    1481    unsafe { transmute(__lsx_vsll_d(transmute(a), transmute(b))) }
    1482}
    1483
    1484#[inline]
    1485#[target_feature(enable = "lsx")]
    1486#[rustc_legacy_const_generics(1)]
    1487#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    1488pub fn lsx_vslli_b<const IMM3: u32>(a: m128i) -> m128i {
    1489    static_assert_uimm_bits!(IMM3, 3);
    1490    unsafe { transmute(__lsx_vslli_b(transmute(a), IMM3)) }
    1491}
    1492
    1493#[inline]
    1494#[target_feature(enable = "lsx")]
    1495#[rustc_legacy_const_generics(1)]
    1496#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    1497pub fn lsx_vslli_h<const IMM4: u32>(a: m128i) -> m128i {
    1498    static_assert_uimm_bits!(IMM4, 4);
    1499    unsafe { transmute(__lsx_vslli_h(transmute(a), IMM4)) }
    1500}
    1501
    1502#[inline]
    1503#[target_feature(enable = "lsx")]
    1504#[rustc_legacy_const_generics(1)]
    1505#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    1506pub fn lsx_vslli_w<const IMM5: u32>(a: m128i) -> m128i {
    1507    static_assert_uimm_bits!(IMM5, 5);
    1508    unsafe { transmute(__lsx_vslli_w(transmute(a), IMM5)) }
    1509}
    1510
    1511#[inline]
    1512#[target_feature(enable = "lsx")]
    1513#[rustc_legacy_const_generics(1)]
    1514#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    1515pub fn lsx_vslli_d<const IMM6: u32>(a: m128i) -> m128i {
    1516    static_assert_uimm_bits!(IMM6, 6);
    1517    unsafe { transmute(__lsx_vslli_d(transmute(a), IMM6)) }
    1518}
    1519
    1520#[inline]
    1521#[target_feature(enable = "lsx")]
    1522#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    1523pub fn lsx_vsra_b(a: m128i, b: m128i) -> m128i {
    1524    unsafe { transmute(__lsx_vsra_b(transmute(a), transmute(b))) }
    1525}
    1526
    1527#[inline]
    1528#[target_feature(enable = "lsx")]
    1529#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    1530pub fn lsx_vsra_h(a: m128i, b: m128i) -> m128i {
    1531    unsafe { transmute(__lsx_vsra_h(transmute(a), transmute(b))) }
    1532}
    1533
    1534#[inline]
    1535#[target_feature(enable = "lsx")]
    1536#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    1537pub fn lsx_vsra_w(a: m128i, b: m128i) -> m128i {
    1538    unsafe { transmute(__lsx_vsra_w(transmute(a), transmute(b))) }
    1539}
    1540
    1541#[inline]
    1542#[target_feature(enable = "lsx")]
    1543#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    1544pub fn lsx_vsra_d(a: m128i, b: m128i) -> m128i {
    1545    unsafe { transmute(__lsx_vsra_d(transmute(a), transmute(b))) }
    1546}
    1547
    1548#[inline]
    1549#[target_feature(enable = "lsx")]
    1550#[rustc_legacy_const_generics(1)]
    1551#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    1552pub fn lsx_vsrai_b<const IMM3: u32>(a: m128i) -> m128i {
    1553    static_assert_uimm_bits!(IMM3, 3);
    1554    unsafe { transmute(__lsx_vsrai_b(transmute(a), IMM3)) }
    1555}
    1556
    1557#[inline]
    1558#[target_feature(enable = "lsx")]
    1559#[rustc_legacy_const_generics(1)]
    1560#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    1561pub fn lsx_vsrai_h<const IMM4: u32>(a: m128i) -> m128i {
    1562    static_assert_uimm_bits!(IMM4, 4);
    1563    unsafe { transmute(__lsx_vsrai_h(transmute(a), IMM4)) }
    1564}
    1565
    1566#[inline]
    1567#[target_feature(enable = "lsx")]
    1568#[rustc_legacy_const_generics(1)]
    1569#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    1570pub fn lsx_vsrai_w<const IMM5: u32>(a: m128i) -> m128i {
    1571    static_assert_uimm_bits!(IMM5, 5);
    1572    unsafe { transmute(__lsx_vsrai_w(transmute(a), IMM5)) }
    1573}
    1574
    1575#[inline]
    1576#[target_feature(enable = "lsx")]
    1577#[rustc_legacy_const_generics(1)]
    1578#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    1579pub fn lsx_vsrai_d<const IMM6: u32>(a: m128i) -> m128i {
    1580    static_assert_uimm_bits!(IMM6, 6);
    1581    unsafe { transmute(__lsx_vsrai_d(transmute(a), IMM6)) }
    1582}
    1583
    1584#[inline]
    1585#[target_feature(enable = "lsx")]
    1586#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    1587pub fn lsx_vsrar_b(a: m128i, b: m128i) -> m128i {
    1588    unsafe { transmute(__lsx_vsrar_b(transmute(a), transmute(b))) }
    1589}
    1590
    1591#[inline]
    1592#[target_feature(enable = "lsx")]
    1593#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    1594pub fn lsx_vsrar_h(a: m128i, b: m128i) -> m128i {
    1595    unsafe { transmute(__lsx_vsrar_h(transmute(a), transmute(b))) }
    1596}
    1597
    1598#[inline]
    1599#[target_feature(enable = "lsx")]
    1600#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    1601pub fn lsx_vsrar_w(a: m128i, b: m128i) -> m128i {
    1602    unsafe { transmute(__lsx_vsrar_w(transmute(a), transmute(b))) }
    1603}
    1604
    1605#[inline]
    1606#[target_feature(enable = "lsx")]
    1607#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    1608pub fn lsx_vsrar_d(a: m128i, b: m128i) -> m128i {
    1609    unsafe { transmute(__lsx_vsrar_d(transmute(a), transmute(b))) }
    1610}
    1611
    1612#[inline]
    1613#[target_feature(enable = "lsx")]
    1614#[rustc_legacy_const_generics(1)]
    1615#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    1616pub fn lsx_vsrari_b<const IMM3: u32>(a: m128i) -> m128i {
    1617    static_assert_uimm_bits!(IMM3, 3);
    1618    unsafe { transmute(__lsx_vsrari_b(transmute(a), IMM3)) }
    1619}
    1620
    1621#[inline]
    1622#[target_feature(enable = "lsx")]
    1623#[rustc_legacy_const_generics(1)]
    1624#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    1625pub fn lsx_vsrari_h<const IMM4: u32>(a: m128i) -> m128i {
    1626    static_assert_uimm_bits!(IMM4, 4);
    1627    unsafe { transmute(__lsx_vsrari_h(transmute(a), IMM4)) }
    1628}
    1629
    1630#[inline]
    1631#[target_feature(enable = "lsx")]
    1632#[rustc_legacy_const_generics(1)]
    1633#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    1634pub fn lsx_vsrari_w<const IMM5: u32>(a: m128i) -> m128i {
    1635    static_assert_uimm_bits!(IMM5, 5);
    1636    unsafe { transmute(__lsx_vsrari_w(transmute(a), IMM5)) }
    1637}
    1638
    1639#[inline]
    1640#[target_feature(enable = "lsx")]
    1641#[rustc_legacy_const_generics(1)]
    1642#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    1643pub fn lsx_vsrari_d<const IMM6: u32>(a: m128i) -> m128i {
    1644    static_assert_uimm_bits!(IMM6, 6);
    1645    unsafe { transmute(__lsx_vsrari_d(transmute(a), IMM6)) }
    1646}
    1647
    1648#[inline]
    1649#[target_feature(enable = "lsx")]
    1650#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    1651pub fn lsx_vsrl_b(a: m128i, b: m128i) -> m128i {
    1652    unsafe { transmute(__lsx_vsrl_b(transmute(a), transmute(b))) }
    1653}
    1654
    1655#[inline]
    1656#[target_feature(enable = "lsx")]
    1657#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    1658pub fn lsx_vsrl_h(a: m128i, b: m128i) -> m128i {
    1659    unsafe { transmute(__lsx_vsrl_h(transmute(a), transmute(b))) }
    1660}
    1661
    1662#[inline]
    1663#[target_feature(enable = "lsx")]
    1664#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    1665pub fn lsx_vsrl_w(a: m128i, b: m128i) -> m128i {
    1666    unsafe { transmute(__lsx_vsrl_w(transmute(a), transmute(b))) }
    1667}
    1668
    1669#[inline]
    1670#[target_feature(enable = "lsx")]
    1671#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    1672pub fn lsx_vsrl_d(a: m128i, b: m128i) -> m128i {
    1673    unsafe { transmute(__lsx_vsrl_d(transmute(a), transmute(b))) }
    1674}
    1675
    1676#[inline]
    1677#[target_feature(enable = "lsx")]
    1678#[rustc_legacy_const_generics(1)]
    1679#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    1680pub fn lsx_vsrli_b<const IMM3: u32>(a: m128i) -> m128i {
    1681    static_assert_uimm_bits!(IMM3, 3);
    1682    unsafe { transmute(__lsx_vsrli_b(transmute(a), IMM3)) }
    1683}
    1684
    1685#[inline]
    1686#[target_feature(enable = "lsx")]
    1687#[rustc_legacy_const_generics(1)]
    1688#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    1689pub fn lsx_vsrli_h<const IMM4: u32>(a: m128i) -> m128i {
    1690    static_assert_uimm_bits!(IMM4, 4);
    1691    unsafe { transmute(__lsx_vsrli_h(transmute(a), IMM4)) }
    1692}
    1693
    1694#[inline]
    1695#[target_feature(enable = "lsx")]
    1696#[rustc_legacy_const_generics(1)]
    1697#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    1698pub fn lsx_vsrli_w<const IMM5: u32>(a: m128i) -> m128i {
    1699    static_assert_uimm_bits!(IMM5, 5);
    1700    unsafe { transmute(__lsx_vsrli_w(transmute(a), IMM5)) }
    1701}
    1702
    1703#[inline]
    1704#[target_feature(enable = "lsx")]
    1705#[rustc_legacy_const_generics(1)]
    1706#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    1707pub fn lsx_vsrli_d<const IMM6: u32>(a: m128i) -> m128i {
    1708    static_assert_uimm_bits!(IMM6, 6);
    1709    unsafe { transmute(__lsx_vsrli_d(transmute(a), IMM6)) }
    1710}
    1711
    1712#[inline]
    1713#[target_feature(enable = "lsx")]
    1714#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    1715pub fn lsx_vsrlr_b(a: m128i, b: m128i) -> m128i {
    1716    unsafe { transmute(__lsx_vsrlr_b(transmute(a), transmute(b))) }
    1717}
    1718
    1719#[inline]
    1720#[target_feature(enable = "lsx")]
    1721#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    1722pub fn lsx_vsrlr_h(a: m128i, b: m128i) -> m128i {
    1723    unsafe { transmute(__lsx_vsrlr_h(transmute(a), transmute(b))) }
    1724}
    1725
    1726#[inline]
    1727#[target_feature(enable = "lsx")]
    1728#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    1729pub fn lsx_vsrlr_w(a: m128i, b: m128i) -> m128i {
    1730    unsafe { transmute(__lsx_vsrlr_w(transmute(a), transmute(b))) }
    1731}
    1732
    1733#[inline]
    1734#[target_feature(enable = "lsx")]
    1735#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    1736pub fn lsx_vsrlr_d(a: m128i, b: m128i) -> m128i {
    1737    unsafe { transmute(__lsx_vsrlr_d(transmute(a), transmute(b))) }
    1738}
    1739
    1740#[inline]
    1741#[target_feature(enable = "lsx")]
    1742#[rustc_legacy_const_generics(1)]
    1743#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    1744pub fn lsx_vsrlri_b<const IMM3: u32>(a: m128i) -> m128i {
    1745    static_assert_uimm_bits!(IMM3, 3);
    1746    unsafe { transmute(__lsx_vsrlri_b(transmute(a), IMM3)) }
    1747}
    1748
    1749#[inline]
    1750#[target_feature(enable = "lsx")]
    1751#[rustc_legacy_const_generics(1)]
    1752#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    1753pub fn lsx_vsrlri_h<const IMM4: u32>(a: m128i) -> m128i {
    1754    static_assert_uimm_bits!(IMM4, 4);
    1755    unsafe { transmute(__lsx_vsrlri_h(transmute(a), IMM4)) }
    1756}
    1757
    1758#[inline]
    1759#[target_feature(enable = "lsx")]
    1760#[rustc_legacy_const_generics(1)]
    1761#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    1762pub fn lsx_vsrlri_w<const IMM5: u32>(a: m128i) -> m128i {
    1763    static_assert_uimm_bits!(IMM5, 5);
    1764    unsafe { transmute(__lsx_vsrlri_w(transmute(a), IMM5)) }
    1765}
    1766
    1767#[inline]
    1768#[target_feature(enable = "lsx")]
    1769#[rustc_legacy_const_generics(1)]
    1770#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    1771pub fn lsx_vsrlri_d<const IMM6: u32>(a: m128i) -> m128i {
    1772    static_assert_uimm_bits!(IMM6, 6);
    1773    unsafe { transmute(__lsx_vsrlri_d(transmute(a), IMM6)) }
    1774}
    1775
    1776#[inline]
    1777#[target_feature(enable = "lsx")]
    1778#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    1779pub fn lsx_vbitclr_b(a: m128i, b: m128i) -> m128i {
    1780    unsafe { transmute(__lsx_vbitclr_b(transmute(a), transmute(b))) }
    1781}
    1782
    1783#[inline]
    1784#[target_feature(enable = "lsx")]
    1785#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    1786pub fn lsx_vbitclr_h(a: m128i, b: m128i) -> m128i {
    1787    unsafe { transmute(__lsx_vbitclr_h(transmute(a), transmute(b))) }
    1788}
    1789
    1790#[inline]
    1791#[target_feature(enable = "lsx")]
    1792#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    1793pub fn lsx_vbitclr_w(a: m128i, b: m128i) -> m128i {
    1794    unsafe { transmute(__lsx_vbitclr_w(transmute(a), transmute(b))) }
    1795}
    1796
    1797#[inline]
    1798#[target_feature(enable = "lsx")]
    1799#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    1800pub fn lsx_vbitclr_d(a: m128i, b: m128i) -> m128i {
    1801    unsafe { transmute(__lsx_vbitclr_d(transmute(a), transmute(b))) }
    1802}
    1803
    1804#[inline]
    1805#[target_feature(enable = "lsx")]
    1806#[rustc_legacy_const_generics(1)]
    1807#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    1808pub fn lsx_vbitclri_b<const IMM3: u32>(a: m128i) -> m128i {
    1809    static_assert_uimm_bits!(IMM3, 3);
    1810    unsafe { transmute(__lsx_vbitclri_b(transmute(a), IMM3)) }
    1811}
    1812
    1813#[inline]
    1814#[target_feature(enable = "lsx")]
    1815#[rustc_legacy_const_generics(1)]
    1816#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    1817pub fn lsx_vbitclri_h<const IMM4: u32>(a: m128i) -> m128i {
    1818    static_assert_uimm_bits!(IMM4, 4);
    1819    unsafe { transmute(__lsx_vbitclri_h(transmute(a), IMM4)) }
    1820}
    1821
    1822#[inline]
    1823#[target_feature(enable = "lsx")]
    1824#[rustc_legacy_const_generics(1)]
    1825#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    1826pub fn lsx_vbitclri_w<const IMM5: u32>(a: m128i) -> m128i {
    1827    static_assert_uimm_bits!(IMM5, 5);
    1828    unsafe { transmute(__lsx_vbitclri_w(transmute(a), IMM5)) }
    1829}
    1830
    1831#[inline]
    1832#[target_feature(enable = "lsx")]
    1833#[rustc_legacy_const_generics(1)]
    1834#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    1835pub fn lsx_vbitclri_d<const IMM6: u32>(a: m128i) -> m128i {
    1836    static_assert_uimm_bits!(IMM6, 6);
    1837    unsafe { transmute(__lsx_vbitclri_d(transmute(a), IMM6)) }
    1838}
    1839
    1840#[inline]
    1841#[target_feature(enable = "lsx")]
    1842#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    1843pub fn lsx_vbitset_b(a: m128i, b: m128i) -> m128i {
    1844    unsafe { transmute(__lsx_vbitset_b(transmute(a), transmute(b))) }
    1845}
    1846
    1847#[inline]
    1848#[target_feature(enable = "lsx")]
    1849#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    1850pub fn lsx_vbitset_h(a: m128i, b: m128i) -> m128i {
    1851    unsafe { transmute(__lsx_vbitset_h(transmute(a), transmute(b))) }
    1852}
    1853
    1854#[inline]
    1855#[target_feature(enable = "lsx")]
    1856#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    1857pub fn lsx_vbitset_w(a: m128i, b: m128i) -> m128i {
    1858    unsafe { transmute(__lsx_vbitset_w(transmute(a), transmute(b))) }
    1859}
    1860
    1861#[inline]
    1862#[target_feature(enable = "lsx")]
    1863#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    1864pub fn lsx_vbitset_d(a: m128i, b: m128i) -> m128i {
    1865    unsafe { transmute(__lsx_vbitset_d(transmute(a), transmute(b))) }
    1866}
    1867
    1868#[inline]
    1869#[target_feature(enable = "lsx")]
    1870#[rustc_legacy_const_generics(1)]
    1871#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    1872pub fn lsx_vbitseti_b<const IMM3: u32>(a: m128i) -> m128i {
    1873    static_assert_uimm_bits!(IMM3, 3);
    1874    unsafe { transmute(__lsx_vbitseti_b(transmute(a), IMM3)) }
    1875}
    1876
    1877#[inline]
    1878#[target_feature(enable = "lsx")]
    1879#[rustc_legacy_const_generics(1)]
    1880#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    1881pub fn lsx_vbitseti_h<const IMM4: u32>(a: m128i) -> m128i {
    1882    static_assert_uimm_bits!(IMM4, 4);
    1883    unsafe { transmute(__lsx_vbitseti_h(transmute(a), IMM4)) }
    1884}
    1885
    1886#[inline]
    1887#[target_feature(enable = "lsx")]
    1888#[rustc_legacy_const_generics(1)]
    1889#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    1890pub fn lsx_vbitseti_w<const IMM5: u32>(a: m128i) -> m128i {
    1891    static_assert_uimm_bits!(IMM5, 5);
    1892    unsafe { transmute(__lsx_vbitseti_w(transmute(a), IMM5)) }
    1893}
    1894
    1895#[inline]
    1896#[target_feature(enable = "lsx")]
    1897#[rustc_legacy_const_generics(1)]
    1898#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    1899pub fn lsx_vbitseti_d<const IMM6: u32>(a: m128i) -> m128i {
    1900    static_assert_uimm_bits!(IMM6, 6);
    1901    unsafe { transmute(__lsx_vbitseti_d(transmute(a), IMM6)) }
    1902}
    1903
    1904#[inline]
    1905#[target_feature(enable = "lsx")]
    1906#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    1907pub fn lsx_vbitrev_b(a: m128i, b: m128i) -> m128i {
    1908    unsafe { transmute(__lsx_vbitrev_b(transmute(a), transmute(b))) }
    1909}
    1910
    1911#[inline]
    1912#[target_feature(enable = "lsx")]
    1913#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    1914pub fn lsx_vbitrev_h(a: m128i, b: m128i) -> m128i {
    1915    unsafe { transmute(__lsx_vbitrev_h(transmute(a), transmute(b))) }
    1916}
    1917
    1918#[inline]
    1919#[target_feature(enable = "lsx")]
    1920#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    1921pub fn lsx_vbitrev_w(a: m128i, b: m128i) -> m128i {
    1922    unsafe { transmute(__lsx_vbitrev_w(transmute(a), transmute(b))) }
    1923}
    1924
    1925#[inline]
    1926#[target_feature(enable = "lsx")]
    1927#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    1928pub fn lsx_vbitrev_d(a: m128i, b: m128i) -> m128i {
    1929    unsafe { transmute(__lsx_vbitrev_d(transmute(a), transmute(b))) }
    1930}
    1931
    1932#[inline]
    1933#[target_feature(enable = "lsx")]
    1934#[rustc_legacy_const_generics(1)]
    1935#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    1936pub fn lsx_vbitrevi_b<const IMM3: u32>(a: m128i) -> m128i {
    1937    static_assert_uimm_bits!(IMM3, 3);
    1938    unsafe { transmute(__lsx_vbitrevi_b(transmute(a), IMM3)) }
    1939}
    1940
    1941#[inline]
    1942#[target_feature(enable = "lsx")]
    1943#[rustc_legacy_const_generics(1)]
    1944#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    1945pub fn lsx_vbitrevi_h<const IMM4: u32>(a: m128i) -> m128i {
    1946    static_assert_uimm_bits!(IMM4, 4);
    1947    unsafe { transmute(__lsx_vbitrevi_h(transmute(a), IMM4)) }
    1948}
    1949
    1950#[inline]
    1951#[target_feature(enable = "lsx")]
    1952#[rustc_legacy_const_generics(1)]
    1953#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    1954pub fn lsx_vbitrevi_w<const IMM5: u32>(a: m128i) -> m128i {
    1955    static_assert_uimm_bits!(IMM5, 5);
    1956    unsafe { transmute(__lsx_vbitrevi_w(transmute(a), IMM5)) }
    1957}
    1958
    1959#[inline]
    1960#[target_feature(enable = "lsx")]
    1961#[rustc_legacy_const_generics(1)]
    1962#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    1963pub fn lsx_vbitrevi_d<const IMM6: u32>(a: m128i) -> m128i {
    1964    static_assert_uimm_bits!(IMM6, 6);
    1965    unsafe { transmute(__lsx_vbitrevi_d(transmute(a), IMM6)) }
    1966}
    1967
    1968#[inline]
    1969#[target_feature(enable = "lsx")]
    1970#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    1971pub fn lsx_vadd_b(a: m128i, b: m128i) -> m128i {
    1972    unsafe { transmute(__lsx_vadd_b(transmute(a), transmute(b))) }
    1973}
    1974
    1975#[inline]
    1976#[target_feature(enable = "lsx")]
    1977#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    1978pub fn lsx_vadd_h(a: m128i, b: m128i) -> m128i {
    1979    unsafe { transmute(__lsx_vadd_h(transmute(a), transmute(b))) }
    1980}
    1981
    1982#[inline]
    1983#[target_feature(enable = "lsx")]
    1984#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    1985pub fn lsx_vadd_w(a: m128i, b: m128i) -> m128i {
    1986    unsafe { transmute(__lsx_vadd_w(transmute(a), transmute(b))) }
    1987}
    1988
    1989#[inline]
    1990#[target_feature(enable = "lsx")]
    1991#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    1992pub fn lsx_vadd_d(a: m128i, b: m128i) -> m128i {
    1993    unsafe { transmute(__lsx_vadd_d(transmute(a), transmute(b))) }
    1994}
    1995
    1996#[inline]
    1997#[target_feature(enable = "lsx")]
    1998#[rustc_legacy_const_generics(1)]
    1999#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2000pub fn lsx_vaddi_bu<const IMM5: u32>(a: m128i) -> m128i {
    2001    static_assert_uimm_bits!(IMM5, 5);
    2002    unsafe { transmute(__lsx_vaddi_bu(transmute(a), IMM5)) }
    2003}
    2004
    2005#[inline]
    2006#[target_feature(enable = "lsx")]
    2007#[rustc_legacy_const_generics(1)]
    2008#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2009pub fn lsx_vaddi_hu<const IMM5: u32>(a: m128i) -> m128i {
    2010    static_assert_uimm_bits!(IMM5, 5);
    2011    unsafe { transmute(__lsx_vaddi_hu(transmute(a), IMM5)) }
    2012}
    2013
    2014#[inline]
    2015#[target_feature(enable = "lsx")]
    2016#[rustc_legacy_const_generics(1)]
    2017#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2018pub fn lsx_vaddi_wu<const IMM5: u32>(a: m128i) -> m128i {
    2019    static_assert_uimm_bits!(IMM5, 5);
    2020    unsafe { transmute(__lsx_vaddi_wu(transmute(a), IMM5)) }
    2021}
    2022
    2023#[inline]
    2024#[target_feature(enable = "lsx")]
    2025#[rustc_legacy_const_generics(1)]
    2026#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2027pub fn lsx_vaddi_du<const IMM5: u32>(a: m128i) -> m128i {
    2028    static_assert_uimm_bits!(IMM5, 5);
    2029    unsafe { transmute(__lsx_vaddi_du(transmute(a), IMM5)) }
    2030}
    2031
    2032#[inline]
    2033#[target_feature(enable = "lsx")]
    2034#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2035pub fn lsx_vsub_b(a: m128i, b: m128i) -> m128i {
    2036    unsafe { transmute(__lsx_vsub_b(transmute(a), transmute(b))) }
    2037}
    2038
    2039#[inline]
    2040#[target_feature(enable = "lsx")]
    2041#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2042pub fn lsx_vsub_h(a: m128i, b: m128i) -> m128i {
    2043    unsafe { transmute(__lsx_vsub_h(transmute(a), transmute(b))) }
    2044}
    2045
    2046#[inline]
    2047#[target_feature(enable = "lsx")]
    2048#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2049pub fn lsx_vsub_w(a: m128i, b: m128i) -> m128i {
    2050    unsafe { transmute(__lsx_vsub_w(transmute(a), transmute(b))) }
    2051}
    2052
    2053#[inline]
    2054#[target_feature(enable = "lsx")]
    2055#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2056pub fn lsx_vsub_d(a: m128i, b: m128i) -> m128i {
    2057    unsafe { transmute(__lsx_vsub_d(transmute(a), transmute(b))) }
    2058}
    2059
    2060#[inline]
    2061#[target_feature(enable = "lsx")]
    2062#[rustc_legacy_const_generics(1)]
    2063#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2064pub fn lsx_vsubi_bu<const IMM5: u32>(a: m128i) -> m128i {
    2065    static_assert_uimm_bits!(IMM5, 5);
    2066    unsafe { transmute(__lsx_vsubi_bu(transmute(a), IMM5)) }
    2067}
    2068
    2069#[inline]
    2070#[target_feature(enable = "lsx")]
    2071#[rustc_legacy_const_generics(1)]
    2072#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2073pub fn lsx_vsubi_hu<const IMM5: u32>(a: m128i) -> m128i {
    2074    static_assert_uimm_bits!(IMM5, 5);
    2075    unsafe { transmute(__lsx_vsubi_hu(transmute(a), IMM5)) }
    2076}
    2077
    2078#[inline]
    2079#[target_feature(enable = "lsx")]
    2080#[rustc_legacy_const_generics(1)]
    2081#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2082pub fn lsx_vsubi_wu<const IMM5: u32>(a: m128i) -> m128i {
    2083    static_assert_uimm_bits!(IMM5, 5);
    2084    unsafe { transmute(__lsx_vsubi_wu(transmute(a), IMM5)) }
    2085}
    2086
    2087#[inline]
    2088#[target_feature(enable = "lsx")]
    2089#[rustc_legacy_const_generics(1)]
    2090#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2091pub fn lsx_vsubi_du<const IMM5: u32>(a: m128i) -> m128i {
    2092    static_assert_uimm_bits!(IMM5, 5);
    2093    unsafe { transmute(__lsx_vsubi_du(transmute(a), IMM5)) }
    2094}
    2095
    2096#[inline]
    2097#[target_feature(enable = "lsx")]
    2098#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2099pub fn lsx_vmax_b(a: m128i, b: m128i) -> m128i {
    2100    unsafe { transmute(__lsx_vmax_b(transmute(a), transmute(b))) }
    2101}
    2102
    2103#[inline]
    2104#[target_feature(enable = "lsx")]
    2105#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2106pub fn lsx_vmax_h(a: m128i, b: m128i) -> m128i {
    2107    unsafe { transmute(__lsx_vmax_h(transmute(a), transmute(b))) }
    2108}
    2109
    2110#[inline]
    2111#[target_feature(enable = "lsx")]
    2112#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2113pub fn lsx_vmax_w(a: m128i, b: m128i) -> m128i {
    2114    unsafe { transmute(__lsx_vmax_w(transmute(a), transmute(b))) }
    2115}
    2116
    2117#[inline]
    2118#[target_feature(enable = "lsx")]
    2119#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2120pub fn lsx_vmax_d(a: m128i, b: m128i) -> m128i {
    2121    unsafe { transmute(__lsx_vmax_d(transmute(a), transmute(b))) }
    2122}
    2123
    2124#[inline]
    2125#[target_feature(enable = "lsx")]
    2126#[rustc_legacy_const_generics(1)]
    2127#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2128pub fn lsx_vmaxi_b<const IMM_S5: i32>(a: m128i) -> m128i {
    2129    static_assert_simm_bits!(IMM_S5, 5);
    2130    unsafe { transmute(__lsx_vmaxi_b(transmute(a), IMM_S5)) }
    2131}
    2132
    2133#[inline]
    2134#[target_feature(enable = "lsx")]
    2135#[rustc_legacy_const_generics(1)]
    2136#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2137pub fn lsx_vmaxi_h<const IMM_S5: i32>(a: m128i) -> m128i {
    2138    static_assert_simm_bits!(IMM_S5, 5);
    2139    unsafe { transmute(__lsx_vmaxi_h(transmute(a), IMM_S5)) }
    2140}
    2141
    2142#[inline]
    2143#[target_feature(enable = "lsx")]
    2144#[rustc_legacy_const_generics(1)]
    2145#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2146pub fn lsx_vmaxi_w<const IMM_S5: i32>(a: m128i) -> m128i {
    2147    static_assert_simm_bits!(IMM_S5, 5);
    2148    unsafe { transmute(__lsx_vmaxi_w(transmute(a), IMM_S5)) }
    2149}
    2150
    2151#[inline]
    2152#[target_feature(enable = "lsx")]
    2153#[rustc_legacy_const_generics(1)]
    2154#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2155pub fn lsx_vmaxi_d<const IMM_S5: i32>(a: m128i) -> m128i {
    2156    static_assert_simm_bits!(IMM_S5, 5);
    2157    unsafe { transmute(__lsx_vmaxi_d(transmute(a), IMM_S5)) }
    2158}
    2159
    2160#[inline]
    2161#[target_feature(enable = "lsx")]
    2162#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2163pub fn lsx_vmax_bu(a: m128i, b: m128i) -> m128i {
    2164    unsafe { transmute(__lsx_vmax_bu(transmute(a), transmute(b))) }
    2165}
    2166
    2167#[inline]
    2168#[target_feature(enable = "lsx")]
    2169#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2170pub fn lsx_vmax_hu(a: m128i, b: m128i) -> m128i {
    2171    unsafe { transmute(__lsx_vmax_hu(transmute(a), transmute(b))) }
    2172}
    2173
    2174#[inline]
    2175#[target_feature(enable = "lsx")]
    2176#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2177pub fn lsx_vmax_wu(a: m128i, b: m128i) -> m128i {
    2178    unsafe { transmute(__lsx_vmax_wu(transmute(a), transmute(b))) }
    2179}
    2180
    2181#[inline]
    2182#[target_feature(enable = "lsx")]
    2183#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2184pub fn lsx_vmax_du(a: m128i, b: m128i) -> m128i {
    2185    unsafe { transmute(__lsx_vmax_du(transmute(a), transmute(b))) }
    2186}
    2187
    2188#[inline]
    2189#[target_feature(enable = "lsx")]
    2190#[rustc_legacy_const_generics(1)]
    2191#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2192pub fn lsx_vmaxi_bu<const IMM5: u32>(a: m128i) -> m128i {
    2193    static_assert_uimm_bits!(IMM5, 5);
    2194    unsafe { transmute(__lsx_vmaxi_bu(transmute(a), IMM5)) }
    2195}
    2196
    2197#[inline]
    2198#[target_feature(enable = "lsx")]
    2199#[rustc_legacy_const_generics(1)]
    2200#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2201pub fn lsx_vmaxi_hu<const IMM5: u32>(a: m128i) -> m128i {
    2202    static_assert_uimm_bits!(IMM5, 5);
    2203    unsafe { transmute(__lsx_vmaxi_hu(transmute(a), IMM5)) }
    2204}
    2205
    2206#[inline]
    2207#[target_feature(enable = "lsx")]
    2208#[rustc_legacy_const_generics(1)]
    2209#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2210pub fn lsx_vmaxi_wu<const IMM5: u32>(a: m128i) -> m128i {
    2211    static_assert_uimm_bits!(IMM5, 5);
    2212    unsafe { transmute(__lsx_vmaxi_wu(transmute(a), IMM5)) }
    2213}
    2214
    2215#[inline]
    2216#[target_feature(enable = "lsx")]
    2217#[rustc_legacy_const_generics(1)]
    2218#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2219pub fn lsx_vmaxi_du<const IMM5: u32>(a: m128i) -> m128i {
    2220    static_assert_uimm_bits!(IMM5, 5);
    2221    unsafe { transmute(__lsx_vmaxi_du(transmute(a), IMM5)) }
    2222}
    2223
    2224#[inline]
    2225#[target_feature(enable = "lsx")]
    2226#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2227pub fn lsx_vmin_b(a: m128i, b: m128i) -> m128i {
    2228    unsafe { transmute(__lsx_vmin_b(transmute(a), transmute(b))) }
    2229}
    2230
    2231#[inline]
    2232#[target_feature(enable = "lsx")]
    2233#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2234pub fn lsx_vmin_h(a: m128i, b: m128i) -> m128i {
    2235    unsafe { transmute(__lsx_vmin_h(transmute(a), transmute(b))) }
    2236}
    2237
    2238#[inline]
    2239#[target_feature(enable = "lsx")]
    2240#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2241pub fn lsx_vmin_w(a: m128i, b: m128i) -> m128i {
    2242    unsafe { transmute(__lsx_vmin_w(transmute(a), transmute(b))) }
    2243}
    2244
    2245#[inline]
    2246#[target_feature(enable = "lsx")]
    2247#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2248pub fn lsx_vmin_d(a: m128i, b: m128i) -> m128i {
    2249    unsafe { transmute(__lsx_vmin_d(transmute(a), transmute(b))) }
    2250}
    2251
    2252#[inline]
    2253#[target_feature(enable = "lsx")]
    2254#[rustc_legacy_const_generics(1)]
    2255#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2256pub fn lsx_vmini_b<const IMM_S5: i32>(a: m128i) -> m128i {
    2257    static_assert_simm_bits!(IMM_S5, 5);
    2258    unsafe { transmute(__lsx_vmini_b(transmute(a), IMM_S5)) }
    2259}
    2260
    2261#[inline]
    2262#[target_feature(enable = "lsx")]
    2263#[rustc_legacy_const_generics(1)]
    2264#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2265pub fn lsx_vmini_h<const IMM_S5: i32>(a: m128i) -> m128i {
    2266    static_assert_simm_bits!(IMM_S5, 5);
    2267    unsafe { transmute(__lsx_vmini_h(transmute(a), IMM_S5)) }
    2268}
    2269
    2270#[inline]
    2271#[target_feature(enable = "lsx")]
    2272#[rustc_legacy_const_generics(1)]
    2273#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2274pub fn lsx_vmini_w<const IMM_S5: i32>(a: m128i) -> m128i {
    2275    static_assert_simm_bits!(IMM_S5, 5);
    2276    unsafe { transmute(__lsx_vmini_w(transmute(a), IMM_S5)) }
    2277}
    2278
    2279#[inline]
    2280#[target_feature(enable = "lsx")]
    2281#[rustc_legacy_const_generics(1)]
    2282#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2283pub fn lsx_vmini_d<const IMM_S5: i32>(a: m128i) -> m128i {
    2284    static_assert_simm_bits!(IMM_S5, 5);
    2285    unsafe { transmute(__lsx_vmini_d(transmute(a), IMM_S5)) }
    2286}
    2287
    2288#[inline]
    2289#[target_feature(enable = "lsx")]
    2290#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2291pub fn lsx_vmin_bu(a: m128i, b: m128i) -> m128i {
    2292    unsafe { transmute(__lsx_vmin_bu(transmute(a), transmute(b))) }
    2293}
    2294
    2295#[inline]
    2296#[target_feature(enable = "lsx")]
    2297#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2298pub fn lsx_vmin_hu(a: m128i, b: m128i) -> m128i {
    2299    unsafe { transmute(__lsx_vmin_hu(transmute(a), transmute(b))) }
    2300}
    2301
    2302#[inline]
    2303#[target_feature(enable = "lsx")]
    2304#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2305pub fn lsx_vmin_wu(a: m128i, b: m128i) -> m128i {
    2306    unsafe { transmute(__lsx_vmin_wu(transmute(a), transmute(b))) }
    2307}
    2308
    2309#[inline]
    2310#[target_feature(enable = "lsx")]
    2311#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2312pub fn lsx_vmin_du(a: m128i, b: m128i) -> m128i {
    2313    unsafe { transmute(__lsx_vmin_du(transmute(a), transmute(b))) }
    2314}
    2315
    2316#[inline]
    2317#[target_feature(enable = "lsx")]
    2318#[rustc_legacy_const_generics(1)]
    2319#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2320pub fn lsx_vmini_bu<const IMM5: u32>(a: m128i) -> m128i {
    2321    static_assert_uimm_bits!(IMM5, 5);
    2322    unsafe { transmute(__lsx_vmini_bu(transmute(a), IMM5)) }
    2323}
    2324
    2325#[inline]
    2326#[target_feature(enable = "lsx")]
    2327#[rustc_legacy_const_generics(1)]
    2328#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2329pub fn lsx_vmini_hu<const IMM5: u32>(a: m128i) -> m128i {
    2330    static_assert_uimm_bits!(IMM5, 5);
    2331    unsafe { transmute(__lsx_vmini_hu(transmute(a), IMM5)) }
    2332}
    2333
    2334#[inline]
    2335#[target_feature(enable = "lsx")]
    2336#[rustc_legacy_const_generics(1)]
    2337#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2338pub fn lsx_vmini_wu<const IMM5: u32>(a: m128i) -> m128i {
    2339    static_assert_uimm_bits!(IMM5, 5);
    2340    unsafe { transmute(__lsx_vmini_wu(transmute(a), IMM5)) }
    2341}
    2342
    2343#[inline]
    2344#[target_feature(enable = "lsx")]
    2345#[rustc_legacy_const_generics(1)]
    2346#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2347pub fn lsx_vmini_du<const IMM5: u32>(a: m128i) -> m128i {
    2348    static_assert_uimm_bits!(IMM5, 5);
    2349    unsafe { transmute(__lsx_vmini_du(transmute(a), IMM5)) }
    2350}
    2351
    2352#[inline]
    2353#[target_feature(enable = "lsx")]
    2354#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2355pub fn lsx_vseq_b(a: m128i, b: m128i) -> m128i {
    2356    unsafe { transmute(__lsx_vseq_b(transmute(a), transmute(b))) }
    2357}
    2358
    2359#[inline]
    2360#[target_feature(enable = "lsx")]
    2361#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2362pub fn lsx_vseq_h(a: m128i, b: m128i) -> m128i {
    2363    unsafe { transmute(__lsx_vseq_h(transmute(a), transmute(b))) }
    2364}
    2365
    2366#[inline]
    2367#[target_feature(enable = "lsx")]
    2368#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2369pub fn lsx_vseq_w(a: m128i, b: m128i) -> m128i {
    2370    unsafe { transmute(__lsx_vseq_w(transmute(a), transmute(b))) }
    2371}
    2372
    2373#[inline]
    2374#[target_feature(enable = "lsx")]
    2375#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2376pub fn lsx_vseq_d(a: m128i, b: m128i) -> m128i {
    2377    unsafe { transmute(__lsx_vseq_d(transmute(a), transmute(b))) }
    2378}
    2379
    2380#[inline]
    2381#[target_feature(enable = "lsx")]
    2382#[rustc_legacy_const_generics(1)]
    2383#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2384pub fn lsx_vseqi_b<const IMM_S5: i32>(a: m128i) -> m128i {
    2385    static_assert_simm_bits!(IMM_S5, 5);
    2386    unsafe { transmute(__lsx_vseqi_b(transmute(a), IMM_S5)) }
    2387}
    2388
    2389#[inline]
    2390#[target_feature(enable = "lsx")]
    2391#[rustc_legacy_const_generics(1)]
    2392#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2393pub fn lsx_vseqi_h<const IMM_S5: i32>(a: m128i) -> m128i {
    2394    static_assert_simm_bits!(IMM_S5, 5);
    2395    unsafe { transmute(__lsx_vseqi_h(transmute(a), IMM_S5)) }
    2396}
    2397
    2398#[inline]
    2399#[target_feature(enable = "lsx")]
    2400#[rustc_legacy_const_generics(1)]
    2401#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2402pub fn lsx_vseqi_w<const IMM_S5: i32>(a: m128i) -> m128i {
    2403    static_assert_simm_bits!(IMM_S5, 5);
    2404    unsafe { transmute(__lsx_vseqi_w(transmute(a), IMM_S5)) }
    2405}
    2406
    2407#[inline]
    2408#[target_feature(enable = "lsx")]
    2409#[rustc_legacy_const_generics(1)]
    2410#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2411pub fn lsx_vseqi_d<const IMM_S5: i32>(a: m128i) -> m128i {
    2412    static_assert_simm_bits!(IMM_S5, 5);
    2413    unsafe { transmute(__lsx_vseqi_d(transmute(a), IMM_S5)) }
    2414}
    2415
    2416#[inline]
    2417#[target_feature(enable = "lsx")]
    2418#[rustc_legacy_const_generics(1)]
    2419#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2420pub fn lsx_vslti_b<const IMM_S5: i32>(a: m128i) -> m128i {
    2421    static_assert_simm_bits!(IMM_S5, 5);
    2422    unsafe { transmute(__lsx_vslti_b(transmute(a), IMM_S5)) }
    2423}
    2424
    2425#[inline]
    2426#[target_feature(enable = "lsx")]
    2427#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2428pub fn lsx_vslt_b(a: m128i, b: m128i) -> m128i {
    2429    unsafe { transmute(__lsx_vslt_b(transmute(a), transmute(b))) }
    2430}
    2431
    2432#[inline]
    2433#[target_feature(enable = "lsx")]
    2434#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2435pub fn lsx_vslt_h(a: m128i, b: m128i) -> m128i {
    2436    unsafe { transmute(__lsx_vslt_h(transmute(a), transmute(b))) }
    2437}
    2438
    2439#[inline]
    2440#[target_feature(enable = "lsx")]
    2441#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2442pub fn lsx_vslt_w(a: m128i, b: m128i) -> m128i {
    2443    unsafe { transmute(__lsx_vslt_w(transmute(a), transmute(b))) }
    2444}
    2445
    2446#[inline]
    2447#[target_feature(enable = "lsx")]
    2448#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2449pub fn lsx_vslt_d(a: m128i, b: m128i) -> m128i {
    2450    unsafe { transmute(__lsx_vslt_d(transmute(a), transmute(b))) }
    2451}
    2452
    2453#[inline]
    2454#[target_feature(enable = "lsx")]
    2455#[rustc_legacy_const_generics(1)]
    2456#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2457pub fn lsx_vslti_h<const IMM_S5: i32>(a: m128i) -> m128i {
    2458    static_assert_simm_bits!(IMM_S5, 5);
    2459    unsafe { transmute(__lsx_vslti_h(transmute(a), IMM_S5)) }
    2460}
    2461
    2462#[inline]
    2463#[target_feature(enable = "lsx")]
    2464#[rustc_legacy_const_generics(1)]
    2465#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2466pub fn lsx_vslti_w<const IMM_S5: i32>(a: m128i) -> m128i {
    2467    static_assert_simm_bits!(IMM_S5, 5);
    2468    unsafe { transmute(__lsx_vslti_w(transmute(a), IMM_S5)) }
    2469}
    2470
    2471#[inline]
    2472#[target_feature(enable = "lsx")]
    2473#[rustc_legacy_const_generics(1)]
    2474#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2475pub fn lsx_vslti_d<const IMM_S5: i32>(a: m128i) -> m128i {
    2476    static_assert_simm_bits!(IMM_S5, 5);
    2477    unsafe { transmute(__lsx_vslti_d(transmute(a), IMM_S5)) }
    2478}
    2479
    2480#[inline]
    2481#[target_feature(enable = "lsx")]
    2482#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2483pub fn lsx_vslt_bu(a: m128i, b: m128i) -> m128i {
    2484    unsafe { transmute(__lsx_vslt_bu(transmute(a), transmute(b))) }
    2485}
    2486
    2487#[inline]
    2488#[target_feature(enable = "lsx")]
    2489#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2490pub fn lsx_vslt_hu(a: m128i, b: m128i) -> m128i {
    2491    unsafe { transmute(__lsx_vslt_hu(transmute(a), transmute(b))) }
    2492}
    2493
    2494#[inline]
    2495#[target_feature(enable = "lsx")]
    2496#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2497pub fn lsx_vslt_wu(a: m128i, b: m128i) -> m128i {
    2498    unsafe { transmute(__lsx_vslt_wu(transmute(a), transmute(b))) }
    2499}
    2500
    2501#[inline]
    2502#[target_feature(enable = "lsx")]
    2503#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2504pub fn lsx_vslt_du(a: m128i, b: m128i) -> m128i {
    2505    unsafe { transmute(__lsx_vslt_du(transmute(a), transmute(b))) }
    2506}
    2507
    2508#[inline]
    2509#[target_feature(enable = "lsx")]
    2510#[rustc_legacy_const_generics(1)]
    2511#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2512pub fn lsx_vslti_bu<const IMM5: u32>(a: m128i) -> m128i {
    2513    static_assert_uimm_bits!(IMM5, 5);
    2514    unsafe { transmute(__lsx_vslti_bu(transmute(a), IMM5)) }
    2515}
    2516
    2517#[inline]
    2518#[target_feature(enable = "lsx")]
    2519#[rustc_legacy_const_generics(1)]
    2520#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2521pub fn lsx_vslti_hu<const IMM5: u32>(a: m128i) -> m128i {
    2522    static_assert_uimm_bits!(IMM5, 5);
    2523    unsafe { transmute(__lsx_vslti_hu(transmute(a), IMM5)) }
    2524}
    2525
    2526#[inline]
    2527#[target_feature(enable = "lsx")]
    2528#[rustc_legacy_const_generics(1)]
    2529#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2530pub fn lsx_vslti_wu<const IMM5: u32>(a: m128i) -> m128i {
    2531    static_assert_uimm_bits!(IMM5, 5);
    2532    unsafe { transmute(__lsx_vslti_wu(transmute(a), IMM5)) }
    2533}
    2534
    2535#[inline]
    2536#[target_feature(enable = "lsx")]
    2537#[rustc_legacy_const_generics(1)]
    2538#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2539pub fn lsx_vslti_du<const IMM5: u32>(a: m128i) -> m128i {
    2540    static_assert_uimm_bits!(IMM5, 5);
    2541    unsafe { transmute(__lsx_vslti_du(transmute(a), IMM5)) }
    2542}
    2543
    2544#[inline]
    2545#[target_feature(enable = "lsx")]
    2546#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2547pub fn lsx_vsle_b(a: m128i, b: m128i) -> m128i {
    2548    unsafe { transmute(__lsx_vsle_b(transmute(a), transmute(b))) }
    2549}
    2550
    2551#[inline]
    2552#[target_feature(enable = "lsx")]
    2553#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2554pub fn lsx_vsle_h(a: m128i, b: m128i) -> m128i {
    2555    unsafe { transmute(__lsx_vsle_h(transmute(a), transmute(b))) }
    2556}
    2557
    2558#[inline]
    2559#[target_feature(enable = "lsx")]
    2560#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2561pub fn lsx_vsle_w(a: m128i, b: m128i) -> m128i {
    2562    unsafe { transmute(__lsx_vsle_w(transmute(a), transmute(b))) }
    2563}
    2564
    2565#[inline]
    2566#[target_feature(enable = "lsx")]
    2567#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2568pub fn lsx_vsle_d(a: m128i, b: m128i) -> m128i {
    2569    unsafe { transmute(__lsx_vsle_d(transmute(a), transmute(b))) }
    2570}
    2571
    2572#[inline]
    2573#[target_feature(enable = "lsx")]
    2574#[rustc_legacy_const_generics(1)]
    2575#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2576pub fn lsx_vslei_b<const IMM_S5: i32>(a: m128i) -> m128i {
    2577    static_assert_simm_bits!(IMM_S5, 5);
    2578    unsafe { transmute(__lsx_vslei_b(transmute(a), IMM_S5)) }
    2579}
    2580
    2581#[inline]
    2582#[target_feature(enable = "lsx")]
    2583#[rustc_legacy_const_generics(1)]
    2584#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2585pub fn lsx_vslei_h<const IMM_S5: i32>(a: m128i) -> m128i {
    2586    static_assert_simm_bits!(IMM_S5, 5);
    2587    unsafe { transmute(__lsx_vslei_h(transmute(a), IMM_S5)) }
    2588}
    2589
    2590#[inline]
    2591#[target_feature(enable = "lsx")]
    2592#[rustc_legacy_const_generics(1)]
    2593#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2594pub fn lsx_vslei_w<const IMM_S5: i32>(a: m128i) -> m128i {
    2595    static_assert_simm_bits!(IMM_S5, 5);
    2596    unsafe { transmute(__lsx_vslei_w(transmute(a), IMM_S5)) }
    2597}
    2598
    2599#[inline]
    2600#[target_feature(enable = "lsx")]
    2601#[rustc_legacy_const_generics(1)]
    2602#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2603pub fn lsx_vslei_d<const IMM_S5: i32>(a: m128i) -> m128i {
    2604    static_assert_simm_bits!(IMM_S5, 5);
    2605    unsafe { transmute(__lsx_vslei_d(transmute(a), IMM_S5)) }
    2606}
    2607
    2608#[inline]
    2609#[target_feature(enable = "lsx")]
    2610#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2611pub fn lsx_vsle_bu(a: m128i, b: m128i) -> m128i {
    2612    unsafe { transmute(__lsx_vsle_bu(transmute(a), transmute(b))) }
    2613}
    2614
    2615#[inline]
    2616#[target_feature(enable = "lsx")]
    2617#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2618pub fn lsx_vsle_hu(a: m128i, b: m128i) -> m128i {
    2619    unsafe { transmute(__lsx_vsle_hu(transmute(a), transmute(b))) }
    2620}
    2621
    2622#[inline]
    2623#[target_feature(enable = "lsx")]
    2624#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2625pub fn lsx_vsle_wu(a: m128i, b: m128i) -> m128i {
    2626    unsafe { transmute(__lsx_vsle_wu(transmute(a), transmute(b))) }
    2627}
    2628
    2629#[inline]
    2630#[target_feature(enable = "lsx")]
    2631#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2632pub fn lsx_vsle_du(a: m128i, b: m128i) -> m128i {
    2633    unsafe { transmute(__lsx_vsle_du(transmute(a), transmute(b))) }
    2634}
    2635
    2636#[inline]
    2637#[target_feature(enable = "lsx")]
    2638#[rustc_legacy_const_generics(1)]
    2639#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2640pub fn lsx_vslei_bu<const IMM5: u32>(a: m128i) -> m128i {
    2641    static_assert_uimm_bits!(IMM5, 5);
    2642    unsafe { transmute(__lsx_vslei_bu(transmute(a), IMM5)) }
    2643}
    2644
    2645#[inline]
    2646#[target_feature(enable = "lsx")]
    2647#[rustc_legacy_const_generics(1)]
    2648#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2649pub fn lsx_vslei_hu<const IMM5: u32>(a: m128i) -> m128i {
    2650    static_assert_uimm_bits!(IMM5, 5);
    2651    unsafe { transmute(__lsx_vslei_hu(transmute(a), IMM5)) }
    2652}
    2653
    2654#[inline]
    2655#[target_feature(enable = "lsx")]
    2656#[rustc_legacy_const_generics(1)]
    2657#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2658pub fn lsx_vslei_wu<const IMM5: u32>(a: m128i) -> m128i {
    2659    static_assert_uimm_bits!(IMM5, 5);
    2660    unsafe { transmute(__lsx_vslei_wu(transmute(a), IMM5)) }
    2661}
    2662
    2663#[inline]
    2664#[target_feature(enable = "lsx")]
    2665#[rustc_legacy_const_generics(1)]
    2666#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2667pub fn lsx_vslei_du<const IMM5: u32>(a: m128i) -> m128i {
    2668    static_assert_uimm_bits!(IMM5, 5);
    2669    unsafe { transmute(__lsx_vslei_du(transmute(a), IMM5)) }
    2670}
    2671
    2672#[inline]
    2673#[target_feature(enable = "lsx")]
    2674#[rustc_legacy_const_generics(1)]
    2675#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2676pub fn lsx_vsat_b<const IMM3: u32>(a: m128i) -> m128i {
    2677    static_assert_uimm_bits!(IMM3, 3);
    2678    unsafe { transmute(__lsx_vsat_b(transmute(a), IMM3)) }
    2679}
    2680
    2681#[inline]
    2682#[target_feature(enable = "lsx")]
    2683#[rustc_legacy_const_generics(1)]
    2684#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2685pub fn lsx_vsat_h<const IMM4: u32>(a: m128i) -> m128i {
    2686    static_assert_uimm_bits!(IMM4, 4);
    2687    unsafe { transmute(__lsx_vsat_h(transmute(a), IMM4)) }
    2688}
    2689
    2690#[inline]
    2691#[target_feature(enable = "lsx")]
    2692#[rustc_legacy_const_generics(1)]
    2693#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2694pub fn lsx_vsat_w<const IMM5: u32>(a: m128i) -> m128i {
    2695    static_assert_uimm_bits!(IMM5, 5);
    2696    unsafe { transmute(__lsx_vsat_w(transmute(a), IMM5)) }
    2697}
    2698
    2699#[inline]
    2700#[target_feature(enable = "lsx")]
    2701#[rustc_legacy_const_generics(1)]
    2702#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2703pub fn lsx_vsat_d<const IMM6: u32>(a: m128i) -> m128i {
    2704    static_assert_uimm_bits!(IMM6, 6);
    2705    unsafe { transmute(__lsx_vsat_d(transmute(a), IMM6)) }
    2706}
    2707
    2708#[inline]
    2709#[target_feature(enable = "lsx")]
    2710#[rustc_legacy_const_generics(1)]
    2711#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2712pub fn lsx_vsat_bu<const IMM3: u32>(a: m128i) -> m128i {
    2713    static_assert_uimm_bits!(IMM3, 3);
    2714    unsafe { transmute(__lsx_vsat_bu(transmute(a), IMM3)) }
    2715}
    2716
    2717#[inline]
    2718#[target_feature(enable = "lsx")]
    2719#[rustc_legacy_const_generics(1)]
    2720#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2721pub fn lsx_vsat_hu<const IMM4: u32>(a: m128i) -> m128i {
    2722    static_assert_uimm_bits!(IMM4, 4);
    2723    unsafe { transmute(__lsx_vsat_hu(transmute(a), IMM4)) }
    2724}
    2725
    2726#[inline]
    2727#[target_feature(enable = "lsx")]
    2728#[rustc_legacy_const_generics(1)]
    2729#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2730pub fn lsx_vsat_wu<const IMM5: u32>(a: m128i) -> m128i {
    2731    static_assert_uimm_bits!(IMM5, 5);
    2732    unsafe { transmute(__lsx_vsat_wu(transmute(a), IMM5)) }
    2733}
    2734
    2735#[inline]
    2736#[target_feature(enable = "lsx")]
    2737#[rustc_legacy_const_generics(1)]
    2738#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2739pub fn lsx_vsat_du<const IMM6: u32>(a: m128i) -> m128i {
    2740    static_assert_uimm_bits!(IMM6, 6);
    2741    unsafe { transmute(__lsx_vsat_du(transmute(a), IMM6)) }
    2742}
    2743
    2744#[inline]
    2745#[target_feature(enable = "lsx")]
    2746#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2747pub fn lsx_vadda_b(a: m128i, b: m128i) -> m128i {
    2748    unsafe { transmute(__lsx_vadda_b(transmute(a), transmute(b))) }
    2749}
    2750
    2751#[inline]
    2752#[target_feature(enable = "lsx")]
    2753#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2754pub fn lsx_vadda_h(a: m128i, b: m128i) -> m128i {
    2755    unsafe { transmute(__lsx_vadda_h(transmute(a), transmute(b))) }
    2756}
    2757
    2758#[inline]
    2759#[target_feature(enable = "lsx")]
    2760#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2761pub fn lsx_vadda_w(a: m128i, b: m128i) -> m128i {
    2762    unsafe { transmute(__lsx_vadda_w(transmute(a), transmute(b))) }
    2763}
    2764
    2765#[inline]
    2766#[target_feature(enable = "lsx")]
    2767#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2768pub fn lsx_vadda_d(a: m128i, b: m128i) -> m128i {
    2769    unsafe { transmute(__lsx_vadda_d(transmute(a), transmute(b))) }
    2770}
    2771
    2772#[inline]
    2773#[target_feature(enable = "lsx")]
    2774#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2775pub fn lsx_vsadd_b(a: m128i, b: m128i) -> m128i {
    2776    unsafe { transmute(__lsx_vsadd_b(transmute(a), transmute(b))) }
    2777}
    2778
    2779#[inline]
    2780#[target_feature(enable = "lsx")]
    2781#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2782pub fn lsx_vsadd_h(a: m128i, b: m128i) -> m128i {
    2783    unsafe { transmute(__lsx_vsadd_h(transmute(a), transmute(b))) }
    2784}
    2785
    2786#[inline]
    2787#[target_feature(enable = "lsx")]
    2788#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2789pub fn lsx_vsadd_w(a: m128i, b: m128i) -> m128i {
    2790    unsafe { transmute(__lsx_vsadd_w(transmute(a), transmute(b))) }
    2791}
    2792
    2793#[inline]
    2794#[target_feature(enable = "lsx")]
    2795#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2796pub fn lsx_vsadd_d(a: m128i, b: m128i) -> m128i {
    2797    unsafe { transmute(__lsx_vsadd_d(transmute(a), transmute(b))) }
    2798}
    2799
    2800#[inline]
    2801#[target_feature(enable = "lsx")]
    2802#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2803pub fn lsx_vsadd_bu(a: m128i, b: m128i) -> m128i {
    2804    unsafe { transmute(__lsx_vsadd_bu(transmute(a), transmute(b))) }
    2805}
    2806
    2807#[inline]
    2808#[target_feature(enable = "lsx")]
    2809#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2810pub fn lsx_vsadd_hu(a: m128i, b: m128i) -> m128i {
    2811    unsafe { transmute(__lsx_vsadd_hu(transmute(a), transmute(b))) }
    2812}
    2813
    2814#[inline]
    2815#[target_feature(enable = "lsx")]
    2816#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2817pub fn lsx_vsadd_wu(a: m128i, b: m128i) -> m128i {
    2818    unsafe { transmute(__lsx_vsadd_wu(transmute(a), transmute(b))) }
    2819}
    2820
    2821#[inline]
    2822#[target_feature(enable = "lsx")]
    2823#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2824pub fn lsx_vsadd_du(a: m128i, b: m128i) -> m128i {
    2825    unsafe { transmute(__lsx_vsadd_du(transmute(a), transmute(b))) }
    2826}
    2827
    2828#[inline]
    2829#[target_feature(enable = "lsx")]
    2830#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2831pub fn lsx_vavg_b(a: m128i, b: m128i) -> m128i {
    2832    unsafe { transmute(__lsx_vavg_b(transmute(a), transmute(b))) }
    2833}
    2834
    2835#[inline]
    2836#[target_feature(enable = "lsx")]
    2837#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2838pub fn lsx_vavg_h(a: m128i, b: m128i) -> m128i {
    2839    unsafe { transmute(__lsx_vavg_h(transmute(a), transmute(b))) }
    2840}
    2841
    2842#[inline]
    2843#[target_feature(enable = "lsx")]
    2844#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2845pub fn lsx_vavg_w(a: m128i, b: m128i) -> m128i {
    2846    unsafe { transmute(__lsx_vavg_w(transmute(a), transmute(b))) }
    2847}
    2848
    2849#[inline]
    2850#[target_feature(enable = "lsx")]
    2851#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2852pub fn lsx_vavg_d(a: m128i, b: m128i) -> m128i {
    2853    unsafe { transmute(__lsx_vavg_d(transmute(a), transmute(b))) }
    2854}
    2855
    2856#[inline]
    2857#[target_feature(enable = "lsx")]
    2858#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2859pub fn lsx_vavg_bu(a: m128i, b: m128i) -> m128i {
    2860    unsafe { transmute(__lsx_vavg_bu(transmute(a), transmute(b))) }
    2861}
    2862
    2863#[inline]
    2864#[target_feature(enable = "lsx")]
    2865#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2866pub fn lsx_vavg_hu(a: m128i, b: m128i) -> m128i {
    2867    unsafe { transmute(__lsx_vavg_hu(transmute(a), transmute(b))) }
    2868}
    2869
    2870#[inline]
    2871#[target_feature(enable = "lsx")]
    2872#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2873pub fn lsx_vavg_wu(a: m128i, b: m128i) -> m128i {
    2874    unsafe { transmute(__lsx_vavg_wu(transmute(a), transmute(b))) }
    2875}
    2876
    2877#[inline]
    2878#[target_feature(enable = "lsx")]
    2879#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2880pub fn lsx_vavg_du(a: m128i, b: m128i) -> m128i {
    2881    unsafe { transmute(__lsx_vavg_du(transmute(a), transmute(b))) }
    2882}
    2883
    2884#[inline]
    2885#[target_feature(enable = "lsx")]
    2886#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2887pub fn lsx_vavgr_b(a: m128i, b: m128i) -> m128i {
    2888    unsafe { transmute(__lsx_vavgr_b(transmute(a), transmute(b))) }
    2889}
    2890
    2891#[inline]
    2892#[target_feature(enable = "lsx")]
    2893#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2894pub fn lsx_vavgr_h(a: m128i, b: m128i) -> m128i {
    2895    unsafe { transmute(__lsx_vavgr_h(transmute(a), transmute(b))) }
    2896}
    2897
    2898#[inline]
    2899#[target_feature(enable = "lsx")]
    2900#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2901pub fn lsx_vavgr_w(a: m128i, b: m128i) -> m128i {
    2902    unsafe { transmute(__lsx_vavgr_w(transmute(a), transmute(b))) }
    2903}
    2904
    2905#[inline]
    2906#[target_feature(enable = "lsx")]
    2907#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2908pub fn lsx_vavgr_d(a: m128i, b: m128i) -> m128i {
    2909    unsafe { transmute(__lsx_vavgr_d(transmute(a), transmute(b))) }
    2910}
    2911
    2912#[inline]
    2913#[target_feature(enable = "lsx")]
    2914#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2915pub fn lsx_vavgr_bu(a: m128i, b: m128i) -> m128i {
    2916    unsafe { transmute(__lsx_vavgr_bu(transmute(a), transmute(b))) }
    2917}
    2918
    2919#[inline]
    2920#[target_feature(enable = "lsx")]
    2921#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2922pub fn lsx_vavgr_hu(a: m128i, b: m128i) -> m128i {
    2923    unsafe { transmute(__lsx_vavgr_hu(transmute(a), transmute(b))) }
    2924}
    2925
    2926#[inline]
    2927#[target_feature(enable = "lsx")]
    2928#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2929pub fn lsx_vavgr_wu(a: m128i, b: m128i) -> m128i {
    2930    unsafe { transmute(__lsx_vavgr_wu(transmute(a), transmute(b))) }
    2931}
    2932
    2933#[inline]
    2934#[target_feature(enable = "lsx")]
    2935#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2936pub fn lsx_vavgr_du(a: m128i, b: m128i) -> m128i {
    2937    unsafe { transmute(__lsx_vavgr_du(transmute(a), transmute(b))) }
    2938}
    2939
    2940#[inline]
    2941#[target_feature(enable = "lsx")]
    2942#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2943pub fn lsx_vssub_b(a: m128i, b: m128i) -> m128i {
    2944    unsafe { transmute(__lsx_vssub_b(transmute(a), transmute(b))) }
    2945}
    2946
    2947#[inline]
    2948#[target_feature(enable = "lsx")]
    2949#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2950pub fn lsx_vssub_h(a: m128i, b: m128i) -> m128i {
    2951    unsafe { transmute(__lsx_vssub_h(transmute(a), transmute(b))) }
    2952}
    2953
    2954#[inline]
    2955#[target_feature(enable = "lsx")]
    2956#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2957pub fn lsx_vssub_w(a: m128i, b: m128i) -> m128i {
    2958    unsafe { transmute(__lsx_vssub_w(transmute(a), transmute(b))) }
    2959}
    2960
    2961#[inline]
    2962#[target_feature(enable = "lsx")]
    2963#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2964pub fn lsx_vssub_d(a: m128i, b: m128i) -> m128i {
    2965    unsafe { transmute(__lsx_vssub_d(transmute(a), transmute(b))) }
    2966}
    2967
    2968#[inline]
    2969#[target_feature(enable = "lsx")]
    2970#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2971pub fn lsx_vssub_bu(a: m128i, b: m128i) -> m128i {
    2972    unsafe { transmute(__lsx_vssub_bu(transmute(a), transmute(b))) }
    2973}
    2974
    2975#[inline]
    2976#[target_feature(enable = "lsx")]
    2977#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2978pub fn lsx_vssub_hu(a: m128i, b: m128i) -> m128i {
    2979    unsafe { transmute(__lsx_vssub_hu(transmute(a), transmute(b))) }
    2980}
    2981
    2982#[inline]
    2983#[target_feature(enable = "lsx")]
    2984#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2985pub fn lsx_vssub_wu(a: m128i, b: m128i) -> m128i {
    2986    unsafe { transmute(__lsx_vssub_wu(transmute(a), transmute(b))) }
    2987}
    2988
    2989#[inline]
    2990#[target_feature(enable = "lsx")]
    2991#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2992pub fn lsx_vssub_du(a: m128i, b: m128i) -> m128i {
    2993    unsafe { transmute(__lsx_vssub_du(transmute(a), transmute(b))) }
    2994}
    2995
    2996#[inline]
    2997#[target_feature(enable = "lsx")]
    2998#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    2999pub fn lsx_vabsd_b(a: m128i, b: m128i) -> m128i {
    3000    unsafe { transmute(__lsx_vabsd_b(transmute(a), transmute(b))) }
    3001}
    3002
    3003#[inline]
    3004#[target_feature(enable = "lsx")]
    3005#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3006pub fn lsx_vabsd_h(a: m128i, b: m128i) -> m128i {
    3007    unsafe { transmute(__lsx_vabsd_h(transmute(a), transmute(b))) }
    3008}
    3009
    3010#[inline]
    3011#[target_feature(enable = "lsx")]
    3012#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3013pub fn lsx_vabsd_w(a: m128i, b: m128i) -> m128i {
    3014    unsafe { transmute(__lsx_vabsd_w(transmute(a), transmute(b))) }
    3015}
    3016
    3017#[inline]
    3018#[target_feature(enable = "lsx")]
    3019#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3020pub fn lsx_vabsd_d(a: m128i, b: m128i) -> m128i {
    3021    unsafe { transmute(__lsx_vabsd_d(transmute(a), transmute(b))) }
    3022}
    3023
    3024#[inline]
    3025#[target_feature(enable = "lsx")]
    3026#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3027pub fn lsx_vabsd_bu(a: m128i, b: m128i) -> m128i {
    3028    unsafe { transmute(__lsx_vabsd_bu(transmute(a), transmute(b))) }
    3029}
    3030
    3031#[inline]
    3032#[target_feature(enable = "lsx")]
    3033#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3034pub fn lsx_vabsd_hu(a: m128i, b: m128i) -> m128i {
    3035    unsafe { transmute(__lsx_vabsd_hu(transmute(a), transmute(b))) }
    3036}
    3037
    3038#[inline]
    3039#[target_feature(enable = "lsx")]
    3040#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3041pub fn lsx_vabsd_wu(a: m128i, b: m128i) -> m128i {
    3042    unsafe { transmute(__lsx_vabsd_wu(transmute(a), transmute(b))) }
    3043}
    3044
    3045#[inline]
    3046#[target_feature(enable = "lsx")]
    3047#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3048pub fn lsx_vabsd_du(a: m128i, b: m128i) -> m128i {
    3049    unsafe { transmute(__lsx_vabsd_du(transmute(a), transmute(b))) }
    3050}
    3051
    3052#[inline]
    3053#[target_feature(enable = "lsx")]
    3054#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3055pub fn lsx_vmul_b(a: m128i, b: m128i) -> m128i {
    3056    unsafe { transmute(__lsx_vmul_b(transmute(a), transmute(b))) }
    3057}
    3058
    3059#[inline]
    3060#[target_feature(enable = "lsx")]
    3061#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3062pub fn lsx_vmul_h(a: m128i, b: m128i) -> m128i {
    3063    unsafe { transmute(__lsx_vmul_h(transmute(a), transmute(b))) }
    3064}
    3065
    3066#[inline]
    3067#[target_feature(enable = "lsx")]
    3068#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3069pub fn lsx_vmul_w(a: m128i, b: m128i) -> m128i {
    3070    unsafe { transmute(__lsx_vmul_w(transmute(a), transmute(b))) }
    3071}
    3072
    3073#[inline]
    3074#[target_feature(enable = "lsx")]
    3075#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3076pub fn lsx_vmul_d(a: m128i, b: m128i) -> m128i {
    3077    unsafe { transmute(__lsx_vmul_d(transmute(a), transmute(b))) }
    3078}
    3079
    3080#[inline]
    3081#[target_feature(enable = "lsx")]
    3082#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3083pub fn lsx_vmadd_b(a: m128i, b: m128i, c: m128i) -> m128i {
    3084    unsafe { transmute(__lsx_vmadd_b(transmute(a), transmute(b), transmute(c))) }
    3085}
    3086
    3087#[inline]
    3088#[target_feature(enable = "lsx")]
    3089#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3090pub fn lsx_vmadd_h(a: m128i, b: m128i, c: m128i) -> m128i {
    3091    unsafe { transmute(__lsx_vmadd_h(transmute(a), transmute(b), transmute(c))) }
    3092}
    3093
    3094#[inline]
    3095#[target_feature(enable = "lsx")]
    3096#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3097pub fn lsx_vmadd_w(a: m128i, b: m128i, c: m128i) -> m128i {
    3098    unsafe { transmute(__lsx_vmadd_w(transmute(a), transmute(b), transmute(c))) }
    3099}
    3100
    3101#[inline]
    3102#[target_feature(enable = "lsx")]
    3103#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3104pub fn lsx_vmadd_d(a: m128i, b: m128i, c: m128i) -> m128i {
    3105    unsafe { transmute(__lsx_vmadd_d(transmute(a), transmute(b), transmute(c))) }
    3106}
    3107
    3108#[inline]
    3109#[target_feature(enable = "lsx")]
    3110#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3111pub fn lsx_vmsub_b(a: m128i, b: m128i, c: m128i) -> m128i {
    3112    unsafe { transmute(__lsx_vmsub_b(transmute(a), transmute(b), transmute(c))) }
    3113}
    3114
    3115#[inline]
    3116#[target_feature(enable = "lsx")]
    3117#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3118pub fn lsx_vmsub_h(a: m128i, b: m128i, c: m128i) -> m128i {
    3119    unsafe { transmute(__lsx_vmsub_h(transmute(a), transmute(b), transmute(c))) }
    3120}
    3121
    3122#[inline]
    3123#[target_feature(enable = "lsx")]
    3124#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3125pub fn lsx_vmsub_w(a: m128i, b: m128i, c: m128i) -> m128i {
    3126    unsafe { transmute(__lsx_vmsub_w(transmute(a), transmute(b), transmute(c))) }
    3127}
    3128
    3129#[inline]
    3130#[target_feature(enable = "lsx")]
    3131#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3132pub fn lsx_vmsub_d(a: m128i, b: m128i, c: m128i) -> m128i {
    3133    unsafe { transmute(__lsx_vmsub_d(transmute(a), transmute(b), transmute(c))) }
    3134}
    3135
    3136#[inline]
    3137#[target_feature(enable = "lsx")]
    3138#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3139pub fn lsx_vdiv_b(a: m128i, b: m128i) -> m128i {
    3140    unsafe { transmute(__lsx_vdiv_b(transmute(a), transmute(b))) }
    3141}
    3142
    3143#[inline]
    3144#[target_feature(enable = "lsx")]
    3145#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3146pub fn lsx_vdiv_h(a: m128i, b: m128i) -> m128i {
    3147    unsafe { transmute(__lsx_vdiv_h(transmute(a), transmute(b))) }
    3148}
    3149
    3150#[inline]
    3151#[target_feature(enable = "lsx")]
    3152#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3153pub fn lsx_vdiv_w(a: m128i, b: m128i) -> m128i {
    3154    unsafe { transmute(__lsx_vdiv_w(transmute(a), transmute(b))) }
    3155}
    3156
    3157#[inline]
    3158#[target_feature(enable = "lsx")]
    3159#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3160pub fn lsx_vdiv_d(a: m128i, b: m128i) -> m128i {
    3161    unsafe { transmute(__lsx_vdiv_d(transmute(a), transmute(b))) }
    3162}
    3163
    3164#[inline]
    3165#[target_feature(enable = "lsx")]
    3166#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3167pub fn lsx_vdiv_bu(a: m128i, b: m128i) -> m128i {
    3168    unsafe { transmute(__lsx_vdiv_bu(transmute(a), transmute(b))) }
    3169}
    3170
    3171#[inline]
    3172#[target_feature(enable = "lsx")]
    3173#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3174pub fn lsx_vdiv_hu(a: m128i, b: m128i) -> m128i {
    3175    unsafe { transmute(__lsx_vdiv_hu(transmute(a), transmute(b))) }
    3176}
    3177
    3178#[inline]
    3179#[target_feature(enable = "lsx")]
    3180#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3181pub fn lsx_vdiv_wu(a: m128i, b: m128i) -> m128i {
    3182    unsafe { transmute(__lsx_vdiv_wu(transmute(a), transmute(b))) }
    3183}
    3184
    3185#[inline]
    3186#[target_feature(enable = "lsx")]
    3187#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3188pub fn lsx_vdiv_du(a: m128i, b: m128i) -> m128i {
    3189    unsafe { transmute(__lsx_vdiv_du(transmute(a), transmute(b))) }
    3190}
    3191
    3192#[inline]
    3193#[target_feature(enable = "lsx")]
    3194#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3195pub fn lsx_vhaddw_h_b(a: m128i, b: m128i) -> m128i {
    3196    unsafe { transmute(__lsx_vhaddw_h_b(transmute(a), transmute(b))) }
    3197}
    3198
    3199#[inline]
    3200#[target_feature(enable = "lsx")]
    3201#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3202pub fn lsx_vhaddw_w_h(a: m128i, b: m128i) -> m128i {
    3203    unsafe { transmute(__lsx_vhaddw_w_h(transmute(a), transmute(b))) }
    3204}
    3205
    3206#[inline]
    3207#[target_feature(enable = "lsx")]
    3208#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3209pub fn lsx_vhaddw_d_w(a: m128i, b: m128i) -> m128i {
    3210    unsafe { transmute(__lsx_vhaddw_d_w(transmute(a), transmute(b))) }
    3211}
    3212
    3213#[inline]
    3214#[target_feature(enable = "lsx")]
    3215#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3216pub fn lsx_vhaddw_hu_bu(a: m128i, b: m128i) -> m128i {
    3217    unsafe { transmute(__lsx_vhaddw_hu_bu(transmute(a), transmute(b))) }
    3218}
    3219
    3220#[inline]
    3221#[target_feature(enable = "lsx")]
    3222#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3223pub fn lsx_vhaddw_wu_hu(a: m128i, b: m128i) -> m128i {
    3224    unsafe { transmute(__lsx_vhaddw_wu_hu(transmute(a), transmute(b))) }
    3225}
    3226
    3227#[inline]
    3228#[target_feature(enable = "lsx")]
    3229#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3230pub fn lsx_vhaddw_du_wu(a: m128i, b: m128i) -> m128i {
    3231    unsafe { transmute(__lsx_vhaddw_du_wu(transmute(a), transmute(b))) }
    3232}
    3233
    3234#[inline]
    3235#[target_feature(enable = "lsx")]
    3236#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3237pub fn lsx_vhsubw_h_b(a: m128i, b: m128i) -> m128i {
    3238    unsafe { transmute(__lsx_vhsubw_h_b(transmute(a), transmute(b))) }
    3239}
    3240
    3241#[inline]
    3242#[target_feature(enable = "lsx")]
    3243#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3244pub fn lsx_vhsubw_w_h(a: m128i, b: m128i) -> m128i {
    3245    unsafe { transmute(__lsx_vhsubw_w_h(transmute(a), transmute(b))) }
    3246}
    3247
    3248#[inline]
    3249#[target_feature(enable = "lsx")]
    3250#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3251pub fn lsx_vhsubw_d_w(a: m128i, b: m128i) -> m128i {
    3252    unsafe { transmute(__lsx_vhsubw_d_w(transmute(a), transmute(b))) }
    3253}
    3254
    3255#[inline]
    3256#[target_feature(enable = "lsx")]
    3257#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3258pub fn lsx_vhsubw_hu_bu(a: m128i, b: m128i) -> m128i {
    3259    unsafe { transmute(__lsx_vhsubw_hu_bu(transmute(a), transmute(b))) }
    3260}
    3261
    3262#[inline]
    3263#[target_feature(enable = "lsx")]
    3264#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3265pub fn lsx_vhsubw_wu_hu(a: m128i, b: m128i) -> m128i {
    3266    unsafe { transmute(__lsx_vhsubw_wu_hu(transmute(a), transmute(b))) }
    3267}
    3268
    3269#[inline]
    3270#[target_feature(enable = "lsx")]
    3271#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3272pub fn lsx_vhsubw_du_wu(a: m128i, b: m128i) -> m128i {
    3273    unsafe { transmute(__lsx_vhsubw_du_wu(transmute(a), transmute(b))) }
    3274}
    3275
    3276#[inline]
    3277#[target_feature(enable = "lsx")]
    3278#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3279pub fn lsx_vmod_b(a: m128i, b: m128i) -> m128i {
    3280    unsafe { transmute(__lsx_vmod_b(transmute(a), transmute(b))) }
    3281}
    3282
    3283#[inline]
    3284#[target_feature(enable = "lsx")]
    3285#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3286pub fn lsx_vmod_h(a: m128i, b: m128i) -> m128i {
    3287    unsafe { transmute(__lsx_vmod_h(transmute(a), transmute(b))) }
    3288}
    3289
    3290#[inline]
    3291#[target_feature(enable = "lsx")]
    3292#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3293pub fn lsx_vmod_w(a: m128i, b: m128i) -> m128i {
    3294    unsafe { transmute(__lsx_vmod_w(transmute(a), transmute(b))) }
    3295}
    3296
    3297#[inline]
    3298#[target_feature(enable = "lsx")]
    3299#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3300pub fn lsx_vmod_d(a: m128i, b: m128i) -> m128i {
    3301    unsafe { transmute(__lsx_vmod_d(transmute(a), transmute(b))) }
    3302}
    3303
    3304#[inline]
    3305#[target_feature(enable = "lsx")]
    3306#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3307pub fn lsx_vmod_bu(a: m128i, b: m128i) -> m128i {
    3308    unsafe { transmute(__lsx_vmod_bu(transmute(a), transmute(b))) }
    3309}
    3310
    3311#[inline]
    3312#[target_feature(enable = "lsx")]
    3313#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3314pub fn lsx_vmod_hu(a: m128i, b: m128i) -> m128i {
    3315    unsafe { transmute(__lsx_vmod_hu(transmute(a), transmute(b))) }
    3316}
    3317
    3318#[inline]
    3319#[target_feature(enable = "lsx")]
    3320#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3321pub fn lsx_vmod_wu(a: m128i, b: m128i) -> m128i {
    3322    unsafe { transmute(__lsx_vmod_wu(transmute(a), transmute(b))) }
    3323}
    3324
    3325#[inline]
    3326#[target_feature(enable = "lsx")]
    3327#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3328pub fn lsx_vmod_du(a: m128i, b: m128i) -> m128i {
    3329    unsafe { transmute(__lsx_vmod_du(transmute(a), transmute(b))) }
    3330}
    3331
    3332#[inline]
    3333#[target_feature(enable = "lsx")]
    3334#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3335pub fn lsx_vreplve_b(a: m128i, b: i32) -> m128i {
    3336    unsafe { transmute(__lsx_vreplve_b(transmute(a), transmute(b))) }
    3337}
    3338
    3339#[inline]
    3340#[target_feature(enable = "lsx")]
    3341#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3342pub fn lsx_vreplve_h(a: m128i, b: i32) -> m128i {
    3343    unsafe { transmute(__lsx_vreplve_h(transmute(a), transmute(b))) }
    3344}
    3345
    3346#[inline]
    3347#[target_feature(enable = "lsx")]
    3348#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3349pub fn lsx_vreplve_w(a: m128i, b: i32) -> m128i {
    3350    unsafe { transmute(__lsx_vreplve_w(transmute(a), transmute(b))) }
    3351}
    3352
    3353#[inline]
    3354#[target_feature(enable = "lsx")]
    3355#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3356pub fn lsx_vreplve_d(a: m128i, b: i32) -> m128i {
    3357    unsafe { transmute(__lsx_vreplve_d(transmute(a), transmute(b))) }
    3358}
    3359
    3360#[inline]
    3361#[target_feature(enable = "lsx")]
    3362#[rustc_legacy_const_generics(1)]
    3363#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3364pub fn lsx_vreplvei_b<const IMM4: u32>(a: m128i) -> m128i {
    3365    static_assert_uimm_bits!(IMM4, 4);
    3366    unsafe { transmute(__lsx_vreplvei_b(transmute(a), IMM4)) }
    3367}
    3368
    3369#[inline]
    3370#[target_feature(enable = "lsx")]
    3371#[rustc_legacy_const_generics(1)]
    3372#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3373pub fn lsx_vreplvei_h<const IMM3: u32>(a: m128i) -> m128i {
    3374    static_assert_uimm_bits!(IMM3, 3);
    3375    unsafe { transmute(__lsx_vreplvei_h(transmute(a), IMM3)) }
    3376}
    3377
    3378#[inline]
    3379#[target_feature(enable = "lsx")]
    3380#[rustc_legacy_const_generics(1)]
    3381#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3382pub fn lsx_vreplvei_w<const IMM2: u32>(a: m128i) -> m128i {
    3383    static_assert_uimm_bits!(IMM2, 2);
    3384    unsafe { transmute(__lsx_vreplvei_w(transmute(a), IMM2)) }
    3385}
    3386
    3387#[inline]
    3388#[target_feature(enable = "lsx")]
    3389#[rustc_legacy_const_generics(1)]
    3390#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3391pub fn lsx_vreplvei_d<const IMM1: u32>(a: m128i) -> m128i {
    3392    static_assert_uimm_bits!(IMM1, 1);
    3393    unsafe { transmute(__lsx_vreplvei_d(transmute(a), IMM1)) }
    3394}
    3395
    3396#[inline]
    3397#[target_feature(enable = "lsx")]
    3398#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3399pub fn lsx_vpickev_b(a: m128i, b: m128i) -> m128i {
    3400    unsafe { transmute(__lsx_vpickev_b(transmute(a), transmute(b))) }
    3401}
    3402
    3403#[inline]
    3404#[target_feature(enable = "lsx")]
    3405#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3406pub fn lsx_vpickev_h(a: m128i, b: m128i) -> m128i {
    3407    unsafe { transmute(__lsx_vpickev_h(transmute(a), transmute(b))) }
    3408}
    3409
    3410#[inline]
    3411#[target_feature(enable = "lsx")]
    3412#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3413pub fn lsx_vpickev_w(a: m128i, b: m128i) -> m128i {
    3414    unsafe { transmute(__lsx_vpickev_w(transmute(a), transmute(b))) }
    3415}
    3416
    3417#[inline]
    3418#[target_feature(enable = "lsx")]
    3419#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3420pub fn lsx_vpickev_d(a: m128i, b: m128i) -> m128i {
    3421    unsafe { transmute(__lsx_vpickev_d(transmute(a), transmute(b))) }
    3422}
    3423
    3424#[inline]
    3425#[target_feature(enable = "lsx")]
    3426#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3427pub fn lsx_vpickod_b(a: m128i, b: m128i) -> m128i {
    3428    unsafe { transmute(__lsx_vpickod_b(transmute(a), transmute(b))) }
    3429}
    3430
    3431#[inline]
    3432#[target_feature(enable = "lsx")]
    3433#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3434pub fn lsx_vpickod_h(a: m128i, b: m128i) -> m128i {
    3435    unsafe { transmute(__lsx_vpickod_h(transmute(a), transmute(b))) }
    3436}
    3437
    3438#[inline]
    3439#[target_feature(enable = "lsx")]
    3440#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3441pub fn lsx_vpickod_w(a: m128i, b: m128i) -> m128i {
    3442    unsafe { transmute(__lsx_vpickod_w(transmute(a), transmute(b))) }
    3443}
    3444
    3445#[inline]
    3446#[target_feature(enable = "lsx")]
    3447#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3448pub fn lsx_vpickod_d(a: m128i, b: m128i) -> m128i {
    3449    unsafe { transmute(__lsx_vpickod_d(transmute(a), transmute(b))) }
    3450}
    3451
    3452#[inline]
    3453#[target_feature(enable = "lsx")]
    3454#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3455pub fn lsx_vilvh_b(a: m128i, b: m128i) -> m128i {
    3456    unsafe { transmute(__lsx_vilvh_b(transmute(a), transmute(b))) }
    3457}
    3458
    3459#[inline]
    3460#[target_feature(enable = "lsx")]
    3461#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3462pub fn lsx_vilvh_h(a: m128i, b: m128i) -> m128i {
    3463    unsafe { transmute(__lsx_vilvh_h(transmute(a), transmute(b))) }
    3464}
    3465
    3466#[inline]
    3467#[target_feature(enable = "lsx")]
    3468#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3469pub fn lsx_vilvh_w(a: m128i, b: m128i) -> m128i {
    3470    unsafe { transmute(__lsx_vilvh_w(transmute(a), transmute(b))) }
    3471}
    3472
    3473#[inline]
    3474#[target_feature(enable = "lsx")]
    3475#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3476pub fn lsx_vilvh_d(a: m128i, b: m128i) -> m128i {
    3477    unsafe { transmute(__lsx_vilvh_d(transmute(a), transmute(b))) }
    3478}
    3479
    3480#[inline]
    3481#[target_feature(enable = "lsx")]
    3482#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3483pub fn lsx_vilvl_b(a: m128i, b: m128i) -> m128i {
    3484    unsafe { transmute(__lsx_vilvl_b(transmute(a), transmute(b))) }
    3485}
    3486
    3487#[inline]
    3488#[target_feature(enable = "lsx")]
    3489#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3490pub fn lsx_vilvl_h(a: m128i, b: m128i) -> m128i {
    3491    unsafe { transmute(__lsx_vilvl_h(transmute(a), transmute(b))) }
    3492}
    3493
    3494#[inline]
    3495#[target_feature(enable = "lsx")]
    3496#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3497pub fn lsx_vilvl_w(a: m128i, b: m128i) -> m128i {
    3498    unsafe { transmute(__lsx_vilvl_w(transmute(a), transmute(b))) }
    3499}
    3500
    3501#[inline]
    3502#[target_feature(enable = "lsx")]
    3503#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3504pub fn lsx_vilvl_d(a: m128i, b: m128i) -> m128i {
    3505    unsafe { transmute(__lsx_vilvl_d(transmute(a), transmute(b))) }
    3506}
    3507
    3508#[inline]
    3509#[target_feature(enable = "lsx")]
    3510#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3511pub fn lsx_vpackev_b(a: m128i, b: m128i) -> m128i {
    3512    unsafe { transmute(__lsx_vpackev_b(transmute(a), transmute(b))) }
    3513}
    3514
    3515#[inline]
    3516#[target_feature(enable = "lsx")]
    3517#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3518pub fn lsx_vpackev_h(a: m128i, b: m128i) -> m128i {
    3519    unsafe { transmute(__lsx_vpackev_h(transmute(a), transmute(b))) }
    3520}
    3521
    3522#[inline]
    3523#[target_feature(enable = "lsx")]
    3524#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3525pub fn lsx_vpackev_w(a: m128i, b: m128i) -> m128i {
    3526    unsafe { transmute(__lsx_vpackev_w(transmute(a), transmute(b))) }
    3527}
    3528
    3529#[inline]
    3530#[target_feature(enable = "lsx")]
    3531#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3532pub fn lsx_vpackev_d(a: m128i, b: m128i) -> m128i {
    3533    unsafe { transmute(__lsx_vpackev_d(transmute(a), transmute(b))) }
    3534}
    3535
    3536#[inline]
    3537#[target_feature(enable = "lsx")]
    3538#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3539pub fn lsx_vpackod_b(a: m128i, b: m128i) -> m128i {
    3540    unsafe { transmute(__lsx_vpackod_b(transmute(a), transmute(b))) }
    3541}
    3542
    3543#[inline]
    3544#[target_feature(enable = "lsx")]
    3545#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3546pub fn lsx_vpackod_h(a: m128i, b: m128i) -> m128i {
    3547    unsafe { transmute(__lsx_vpackod_h(transmute(a), transmute(b))) }
    3548}
    3549
    3550#[inline]
    3551#[target_feature(enable = "lsx")]
    3552#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3553pub fn lsx_vpackod_w(a: m128i, b: m128i) -> m128i {
    3554    unsafe { transmute(__lsx_vpackod_w(transmute(a), transmute(b))) }
    3555}
    3556
    3557#[inline]
    3558#[target_feature(enable = "lsx")]
    3559#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3560pub fn lsx_vpackod_d(a: m128i, b: m128i) -> m128i {
    3561    unsafe { transmute(__lsx_vpackod_d(transmute(a), transmute(b))) }
    3562}
    3563
    3564#[inline]
    3565#[target_feature(enable = "lsx")]
    3566#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3567pub fn lsx_vshuf_h(a: m128i, b: m128i, c: m128i) -> m128i {
    3568    unsafe { transmute(__lsx_vshuf_h(transmute(a), transmute(b), transmute(c))) }
    3569}
    3570
    3571#[inline]
    3572#[target_feature(enable = "lsx")]
    3573#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3574pub fn lsx_vshuf_w(a: m128i, b: m128i, c: m128i) -> m128i {
    3575    unsafe { transmute(__lsx_vshuf_w(transmute(a), transmute(b), transmute(c))) }
    3576}
    3577
    3578#[inline]
    3579#[target_feature(enable = "lsx")]
    3580#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3581pub fn lsx_vshuf_d(a: m128i, b: m128i, c: m128i) -> m128i {
    3582    unsafe { transmute(__lsx_vshuf_d(transmute(a), transmute(b), transmute(c))) }
    3583}
    3584
    3585#[inline]
    3586#[target_feature(enable = "lsx")]
    3587#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3588pub fn lsx_vand_v(a: m128i, b: m128i) -> m128i {
    3589    unsafe { transmute(__lsx_vand_v(transmute(a), transmute(b))) }
    3590}
    3591
    3592#[inline]
    3593#[target_feature(enable = "lsx")]
    3594#[rustc_legacy_const_generics(1)]
    3595#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3596pub fn lsx_vandi_b<const IMM8: u32>(a: m128i) -> m128i {
    3597    static_assert_uimm_bits!(IMM8, 8);
    3598    unsafe { transmute(__lsx_vandi_b(transmute(a), IMM8)) }
    3599}
    3600
    3601#[inline]
    3602#[target_feature(enable = "lsx")]
    3603#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3604pub fn lsx_vor_v(a: m128i, b: m128i) -> m128i {
    3605    unsafe { transmute(__lsx_vor_v(transmute(a), transmute(b))) }
    3606}
    3607
    3608#[inline]
    3609#[target_feature(enable = "lsx")]
    3610#[rustc_legacy_const_generics(1)]
    3611#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3612pub fn lsx_vori_b<const IMM8: u32>(a: m128i) -> m128i {
    3613    static_assert_uimm_bits!(IMM8, 8);
    3614    unsafe { transmute(__lsx_vori_b(transmute(a), IMM8)) }
    3615}
    3616
    3617#[inline]
    3618#[target_feature(enable = "lsx")]
    3619#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3620pub fn lsx_vnor_v(a: m128i, b: m128i) -> m128i {
    3621    unsafe { transmute(__lsx_vnor_v(transmute(a), transmute(b))) }
    3622}
    3623
    3624#[inline]
    3625#[target_feature(enable = "lsx")]
    3626#[rustc_legacy_const_generics(1)]
    3627#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3628pub fn lsx_vnori_b<const IMM8: u32>(a: m128i) -> m128i {
    3629    static_assert_uimm_bits!(IMM8, 8);
    3630    unsafe { transmute(__lsx_vnori_b(transmute(a), IMM8)) }
    3631}
    3632
    3633#[inline]
    3634#[target_feature(enable = "lsx")]
    3635#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3636pub fn lsx_vxor_v(a: m128i, b: m128i) -> m128i {
    3637    unsafe { transmute(__lsx_vxor_v(transmute(a), transmute(b))) }
    3638}
    3639
    3640#[inline]
    3641#[target_feature(enable = "lsx")]
    3642#[rustc_legacy_const_generics(1)]
    3643#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3644pub fn lsx_vxori_b<const IMM8: u32>(a: m128i) -> m128i {
    3645    static_assert_uimm_bits!(IMM8, 8);
    3646    unsafe { transmute(__lsx_vxori_b(transmute(a), IMM8)) }
    3647}
    3648
    3649#[inline]
    3650#[target_feature(enable = "lsx")]
    3651#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3652pub fn lsx_vbitsel_v(a: m128i, b: m128i, c: m128i) -> m128i {
    3653    unsafe { transmute(__lsx_vbitsel_v(transmute(a), transmute(b), transmute(c))) }
    3654}
    3655
    3656#[inline]
    3657#[target_feature(enable = "lsx")]
    3658#[rustc_legacy_const_generics(2)]
    3659#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3660pub fn lsx_vbitseli_b<const IMM8: u32>(a: m128i, b: m128i) -> m128i {
    3661    static_assert_uimm_bits!(IMM8, 8);
    3662    unsafe { transmute(__lsx_vbitseli_b(transmute(a), transmute(b), IMM8)) }
    3663}
    3664
    3665#[inline]
    3666#[target_feature(enable = "lsx")]
    3667#[rustc_legacy_const_generics(1)]
    3668#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3669pub fn lsx_vshuf4i_b<const IMM8: u32>(a: m128i) -> m128i {
    3670    static_assert_uimm_bits!(IMM8, 8);
    3671    unsafe { transmute(__lsx_vshuf4i_b(transmute(a), IMM8)) }
    3672}
    3673
    3674#[inline]
    3675#[target_feature(enable = "lsx")]
    3676#[rustc_legacy_const_generics(1)]
    3677#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3678pub fn lsx_vshuf4i_h<const IMM8: u32>(a: m128i) -> m128i {
    3679    static_assert_uimm_bits!(IMM8, 8);
    3680    unsafe { transmute(__lsx_vshuf4i_h(transmute(a), IMM8)) }
    3681}
    3682
    3683#[inline]
    3684#[target_feature(enable = "lsx")]
    3685#[rustc_legacy_const_generics(1)]
    3686#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3687pub fn lsx_vshuf4i_w<const IMM8: u32>(a: m128i) -> m128i {
    3688    static_assert_uimm_bits!(IMM8, 8);
    3689    unsafe { transmute(__lsx_vshuf4i_w(transmute(a), IMM8)) }
    3690}
    3691
    3692#[inline]
    3693#[target_feature(enable = "lsx")]
    3694#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3695pub fn lsx_vreplgr2vr_b(a: i32) -> m128i {
    3696    unsafe { transmute(__lsx_vreplgr2vr_b(transmute(a))) }
    3697}
    3698
    3699#[inline]
    3700#[target_feature(enable = "lsx")]
    3701#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3702pub fn lsx_vreplgr2vr_h(a: i32) -> m128i {
    3703    unsafe { transmute(__lsx_vreplgr2vr_h(transmute(a))) }
    3704}
    3705
    3706#[inline]
    3707#[target_feature(enable = "lsx")]
    3708#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3709pub fn lsx_vreplgr2vr_w(a: i32) -> m128i {
    3710    unsafe { transmute(__lsx_vreplgr2vr_w(transmute(a))) }
    3711}
    3712
    3713#[inline]
    3714#[target_feature(enable = "lsx")]
    3715#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3716pub fn lsx_vreplgr2vr_d(a: i64) -> m128i {
    3717    unsafe { transmute(__lsx_vreplgr2vr_d(transmute(a))) }
    3718}
    3719
    3720#[inline]
    3721#[target_feature(enable = "lsx")]
    3722#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3723pub fn lsx_vpcnt_b(a: m128i) -> m128i {
    3724    unsafe { transmute(__lsx_vpcnt_b(transmute(a))) }
    3725}
    3726
    3727#[inline]
    3728#[target_feature(enable = "lsx")]
    3729#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3730pub fn lsx_vpcnt_h(a: m128i) -> m128i {
    3731    unsafe { transmute(__lsx_vpcnt_h(transmute(a))) }
    3732}
    3733
    3734#[inline]
    3735#[target_feature(enable = "lsx")]
    3736#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3737pub fn lsx_vpcnt_w(a: m128i) -> m128i {
    3738    unsafe { transmute(__lsx_vpcnt_w(transmute(a))) }
    3739}
    3740
    3741#[inline]
    3742#[target_feature(enable = "lsx")]
    3743#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3744pub fn lsx_vpcnt_d(a: m128i) -> m128i {
    3745    unsafe { transmute(__lsx_vpcnt_d(transmute(a))) }
    3746}
    3747
    3748#[inline]
    3749#[target_feature(enable = "lsx")]
    3750#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3751pub fn lsx_vclo_b(a: m128i) -> m128i {
    3752    unsafe { transmute(__lsx_vclo_b(transmute(a))) }
    3753}
    3754
    3755#[inline]
    3756#[target_feature(enable = "lsx")]
    3757#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3758pub fn lsx_vclo_h(a: m128i) -> m128i {
    3759    unsafe { transmute(__lsx_vclo_h(transmute(a))) }
    3760}
    3761
    3762#[inline]
    3763#[target_feature(enable = "lsx")]
    3764#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3765pub fn lsx_vclo_w(a: m128i) -> m128i {
    3766    unsafe { transmute(__lsx_vclo_w(transmute(a))) }
    3767}
    3768
    3769#[inline]
    3770#[target_feature(enable = "lsx")]
    3771#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3772pub fn lsx_vclo_d(a: m128i) -> m128i {
    3773    unsafe { transmute(__lsx_vclo_d(transmute(a))) }
    3774}
    3775
    3776#[inline]
    3777#[target_feature(enable = "lsx")]
    3778#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3779pub fn lsx_vclz_b(a: m128i) -> m128i {
    3780    unsafe { transmute(__lsx_vclz_b(transmute(a))) }
    3781}
    3782
    3783#[inline]
    3784#[target_feature(enable = "lsx")]
    3785#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3786pub fn lsx_vclz_h(a: m128i) -> m128i {
    3787    unsafe { transmute(__lsx_vclz_h(transmute(a))) }
    3788}
    3789
    3790#[inline]
    3791#[target_feature(enable = "lsx")]
    3792#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3793pub fn lsx_vclz_w(a: m128i) -> m128i {
    3794    unsafe { transmute(__lsx_vclz_w(transmute(a))) }
    3795}
    3796
    3797#[inline]
    3798#[target_feature(enable = "lsx")]
    3799#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3800pub fn lsx_vclz_d(a: m128i) -> m128i {
    3801    unsafe { transmute(__lsx_vclz_d(transmute(a))) }
    3802}
    3803
    3804#[inline]
    3805#[target_feature(enable = "lsx")]
    3806#[rustc_legacy_const_generics(1)]
    3807#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3808pub fn lsx_vpickve2gr_b<const IMM4: u32>(a: m128i) -> i32 {
    3809    static_assert_uimm_bits!(IMM4, 4);
    3810    unsafe { transmute(__lsx_vpickve2gr_b(transmute(a), IMM4)) }
    3811}
    3812
    3813#[inline]
    3814#[target_feature(enable = "lsx")]
    3815#[rustc_legacy_const_generics(1)]
    3816#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3817pub fn lsx_vpickve2gr_h<const IMM3: u32>(a: m128i) -> i32 {
    3818    static_assert_uimm_bits!(IMM3, 3);
    3819    unsafe { transmute(__lsx_vpickve2gr_h(transmute(a), IMM3)) }
    3820}
    3821
    3822#[inline]
    3823#[target_feature(enable = "lsx")]
    3824#[rustc_legacy_const_generics(1)]
    3825#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3826pub fn lsx_vpickve2gr_w<const IMM2: u32>(a: m128i) -> i32 {
    3827    static_assert_uimm_bits!(IMM2, 2);
    3828    unsafe { transmute(__lsx_vpickve2gr_w(transmute(a), IMM2)) }
    3829}
    3830
    3831#[inline]
    3832#[target_feature(enable = "lsx")]
    3833#[rustc_legacy_const_generics(1)]
    3834#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3835pub fn lsx_vpickve2gr_d<const IMM1: u32>(a: m128i) -> i64 {
    3836    static_assert_uimm_bits!(IMM1, 1);
    3837    unsafe { transmute(__lsx_vpickve2gr_d(transmute(a), IMM1)) }
    3838}
    3839
    3840#[inline]
    3841#[target_feature(enable = "lsx")]
    3842#[rustc_legacy_const_generics(1)]
    3843#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3844pub fn lsx_vpickve2gr_bu<const IMM4: u32>(a: m128i) -> u32 {
    3845    static_assert_uimm_bits!(IMM4, 4);
    3846    unsafe { transmute(__lsx_vpickve2gr_bu(transmute(a), IMM4)) }
    3847}
    3848
    3849#[inline]
    3850#[target_feature(enable = "lsx")]
    3851#[rustc_legacy_const_generics(1)]
    3852#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3853pub fn lsx_vpickve2gr_hu<const IMM3: u32>(a: m128i) -> u32 {
    3854    static_assert_uimm_bits!(IMM3, 3);
    3855    unsafe { transmute(__lsx_vpickve2gr_hu(transmute(a), IMM3)) }
    3856}
    3857
    3858#[inline]
    3859#[target_feature(enable = "lsx")]
    3860#[rustc_legacy_const_generics(1)]
    3861#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3862pub fn lsx_vpickve2gr_wu<const IMM2: u32>(a: m128i) -> u32 {
    3863    static_assert_uimm_bits!(IMM2, 2);
    3864    unsafe { transmute(__lsx_vpickve2gr_wu(transmute(a), IMM2)) }
    3865}
    3866
    3867#[inline]
    3868#[target_feature(enable = "lsx")]
    3869#[rustc_legacy_const_generics(1)]
    3870#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3871pub fn lsx_vpickve2gr_du<const IMM1: u32>(a: m128i) -> u64 {
    3872    static_assert_uimm_bits!(IMM1, 1);
    3873    unsafe { transmute(__lsx_vpickve2gr_du(transmute(a), IMM1)) }
    3874}
    3875
    3876#[inline]
    3877#[target_feature(enable = "lsx")]
    3878#[rustc_legacy_const_generics(2)]
    3879#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3880pub fn lsx_vinsgr2vr_b<const IMM4: u32>(a: m128i, b: i32) -> m128i {
    3881    static_assert_uimm_bits!(IMM4, 4);
    3882    unsafe { transmute(__lsx_vinsgr2vr_b(transmute(a), transmute(b), IMM4)) }
    3883}
    3884
    3885#[inline]
    3886#[target_feature(enable = "lsx")]
    3887#[rustc_legacy_const_generics(2)]
    3888#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3889pub fn lsx_vinsgr2vr_h<const IMM3: u32>(a: m128i, b: i32) -> m128i {
    3890    static_assert_uimm_bits!(IMM3, 3);
    3891    unsafe { transmute(__lsx_vinsgr2vr_h(transmute(a), transmute(b), IMM3)) }
    3892}
    3893
    3894#[inline]
    3895#[target_feature(enable = "lsx")]
    3896#[rustc_legacy_const_generics(2)]
    3897#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3898pub fn lsx_vinsgr2vr_w<const IMM2: u32>(a: m128i, b: i32) -> m128i {
    3899    static_assert_uimm_bits!(IMM2, 2);
    3900    unsafe { transmute(__lsx_vinsgr2vr_w(transmute(a), transmute(b), IMM2)) }
    3901}
    3902
    3903#[inline]
    3904#[target_feature(enable = "lsx")]
    3905#[rustc_legacy_const_generics(2)]
    3906#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3907pub fn lsx_vinsgr2vr_d<const IMM1: u32>(a: m128i, b: i64) -> m128i {
    3908    static_assert_uimm_bits!(IMM1, 1);
    3909    unsafe { transmute(__lsx_vinsgr2vr_d(transmute(a), transmute(b), IMM1)) }
    3910}
    3911
    3912#[inline]
    3913#[target_feature(enable = "lsx")]
    3914#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3915pub fn lsx_vfadd_s(a: m128, b: m128) -> m128 {
    3916    unsafe { transmute(__lsx_vfadd_s(transmute(a), transmute(b))) }
    3917}
    3918
    3919#[inline]
    3920#[target_feature(enable = "lsx")]
    3921#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3922pub fn lsx_vfadd_d(a: m128d, b: m128d) -> m128d {
    3923    unsafe { transmute(__lsx_vfadd_d(transmute(a), transmute(b))) }
    3924}
    3925
    3926#[inline]
    3927#[target_feature(enable = "lsx")]
    3928#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3929pub fn lsx_vfsub_s(a: m128, b: m128) -> m128 {
    3930    unsafe { transmute(__lsx_vfsub_s(transmute(a), transmute(b))) }
    3931}
    3932
    3933#[inline]
    3934#[target_feature(enable = "lsx")]
    3935#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3936pub fn lsx_vfsub_d(a: m128d, b: m128d) -> m128d {
    3937    unsafe { transmute(__lsx_vfsub_d(transmute(a), transmute(b))) }
    3938}
    3939
    3940#[inline]
    3941#[target_feature(enable = "lsx")]
    3942#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3943pub fn lsx_vfmul_s(a: m128, b: m128) -> m128 {
    3944    unsafe { transmute(__lsx_vfmul_s(transmute(a), transmute(b))) }
    3945}
    3946
    3947#[inline]
    3948#[target_feature(enable = "lsx")]
    3949#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3950pub fn lsx_vfmul_d(a: m128d, b: m128d) -> m128d {
    3951    unsafe { transmute(__lsx_vfmul_d(transmute(a), transmute(b))) }
    3952}
    3953
    3954#[inline]
    3955#[target_feature(enable = "lsx")]
    3956#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3957pub fn lsx_vfdiv_s(a: m128, b: m128) -> m128 {
    3958    unsafe { transmute(__lsx_vfdiv_s(transmute(a), transmute(b))) }
    3959}
    3960
    3961#[inline]
    3962#[target_feature(enable = "lsx")]
    3963#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3964pub fn lsx_vfdiv_d(a: m128d, b: m128d) -> m128d {
    3965    unsafe { transmute(__lsx_vfdiv_d(transmute(a), transmute(b))) }
    3966}
    3967
    3968#[inline]
    3969#[target_feature(enable = "lsx")]
    3970#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3971pub fn lsx_vfcvt_h_s(a: m128, b: m128) -> m128i {
    3972    unsafe { transmute(__lsx_vfcvt_h_s(transmute(a), transmute(b))) }
    3973}
    3974
    3975#[inline]
    3976#[target_feature(enable = "lsx")]
    3977#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3978pub fn lsx_vfcvt_s_d(a: m128d, b: m128d) -> m128 {
    3979    unsafe { transmute(__lsx_vfcvt_s_d(transmute(a), transmute(b))) }
    3980}
    3981
    3982#[inline]
    3983#[target_feature(enable = "lsx")]
    3984#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3985pub fn lsx_vfmin_s(a: m128, b: m128) -> m128 {
    3986    unsafe { transmute(__lsx_vfmin_s(transmute(a), transmute(b))) }
    3987}
    3988
    3989#[inline]
    3990#[target_feature(enable = "lsx")]
    3991#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3992pub fn lsx_vfmin_d(a: m128d, b: m128d) -> m128d {
    3993    unsafe { transmute(__lsx_vfmin_d(transmute(a), transmute(b))) }
    3994}
    3995
    3996#[inline]
    3997#[target_feature(enable = "lsx")]
    3998#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    3999pub fn lsx_vfmina_s(a: m128, b: m128) -> m128 {
    4000    unsafe { transmute(__lsx_vfmina_s(transmute(a), transmute(b))) }
    4001}
    4002
    4003#[inline]
    4004#[target_feature(enable = "lsx")]
    4005#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4006pub fn lsx_vfmina_d(a: m128d, b: m128d) -> m128d {
    4007    unsafe { transmute(__lsx_vfmina_d(transmute(a), transmute(b))) }
    4008}
    4009
    4010#[inline]
    4011#[target_feature(enable = "lsx")]
    4012#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4013pub fn lsx_vfmax_s(a: m128, b: m128) -> m128 {
    4014    unsafe { transmute(__lsx_vfmax_s(transmute(a), transmute(b))) }
    4015}
    4016
    4017#[inline]
    4018#[target_feature(enable = "lsx")]
    4019#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4020pub fn lsx_vfmax_d(a: m128d, b: m128d) -> m128d {
    4021    unsafe { transmute(__lsx_vfmax_d(transmute(a), transmute(b))) }
    4022}
    4023
    4024#[inline]
    4025#[target_feature(enable = "lsx")]
    4026#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4027pub fn lsx_vfmaxa_s(a: m128, b: m128) -> m128 {
    4028    unsafe { transmute(__lsx_vfmaxa_s(transmute(a), transmute(b))) }
    4029}
    4030
    4031#[inline]
    4032#[target_feature(enable = "lsx")]
    4033#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4034pub fn lsx_vfmaxa_d(a: m128d, b: m128d) -> m128d {
    4035    unsafe { transmute(__lsx_vfmaxa_d(transmute(a), transmute(b))) }
    4036}
    4037
    4038#[inline]
    4039#[target_feature(enable = "lsx")]
    4040#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4041pub fn lsx_vfclass_s(a: m128) -> m128i {
    4042    unsafe { transmute(__lsx_vfclass_s(transmute(a))) }
    4043}
    4044
    4045#[inline]
    4046#[target_feature(enable = "lsx")]
    4047#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4048pub fn lsx_vfclass_d(a: m128d) -> m128i {
    4049    unsafe { transmute(__lsx_vfclass_d(transmute(a))) }
    4050}
    4051
    4052#[inline]
    4053#[target_feature(enable = "lsx")]
    4054#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4055pub fn lsx_vfsqrt_s(a: m128) -> m128 {
    4056    unsafe { transmute(__lsx_vfsqrt_s(transmute(a))) }
    4057}
    4058
    4059#[inline]
    4060#[target_feature(enable = "lsx")]
    4061#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4062pub fn lsx_vfsqrt_d(a: m128d) -> m128d {
    4063    unsafe { transmute(__lsx_vfsqrt_d(transmute(a))) }
    4064}
    4065
    4066#[inline]
    4067#[target_feature(enable = "lsx")]
    4068#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4069pub fn lsx_vfrecip_s(a: m128) -> m128 {
    4070    unsafe { transmute(__lsx_vfrecip_s(transmute(a))) }
    4071}
    4072
    4073#[inline]
    4074#[target_feature(enable = "lsx")]
    4075#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4076pub fn lsx_vfrecip_d(a: m128d) -> m128d {
    4077    unsafe { transmute(__lsx_vfrecip_d(transmute(a))) }
    4078}
    4079
    4080#[inline]
    4081#[target_feature(enable = "lsx,frecipe")]
    4082#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4083pub fn lsx_vfrecipe_s(a: m128) -> m128 {
    4084    unsafe { transmute(__lsx_vfrecipe_s(transmute(a))) }
    4085}
    4086
    4087#[inline]
    4088#[target_feature(enable = "lsx,frecipe")]
    4089#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4090pub fn lsx_vfrecipe_d(a: m128d) -> m128d {
    4091    unsafe { transmute(__lsx_vfrecipe_d(transmute(a))) }
    4092}
    4093
    4094#[inline]
    4095#[target_feature(enable = "lsx,frecipe")]
    4096#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4097pub fn lsx_vfrsqrte_s(a: m128) -> m128 {
    4098    unsafe { transmute(__lsx_vfrsqrte_s(transmute(a))) }
    4099}
    4100
    4101#[inline]
    4102#[target_feature(enable = "lsx,frecipe")]
    4103#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4104pub fn lsx_vfrsqrte_d(a: m128d) -> m128d {
    4105    unsafe { transmute(__lsx_vfrsqrte_d(transmute(a))) }
    4106}
    4107
    4108#[inline]
    4109#[target_feature(enable = "lsx")]
    4110#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4111pub fn lsx_vfrint_s(a: m128) -> m128 {
    4112    unsafe { transmute(__lsx_vfrint_s(transmute(a))) }
    4113}
    4114
    4115#[inline]
    4116#[target_feature(enable = "lsx")]
    4117#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4118pub fn lsx_vfrint_d(a: m128d) -> m128d {
    4119    unsafe { transmute(__lsx_vfrint_d(transmute(a))) }
    4120}
    4121
    4122#[inline]
    4123#[target_feature(enable = "lsx")]
    4124#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4125pub fn lsx_vfrsqrt_s(a: m128) -> m128 {
    4126    unsafe { transmute(__lsx_vfrsqrt_s(transmute(a))) }
    4127}
    4128
    4129#[inline]
    4130#[target_feature(enable = "lsx")]
    4131#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4132pub fn lsx_vfrsqrt_d(a: m128d) -> m128d {
    4133    unsafe { transmute(__lsx_vfrsqrt_d(transmute(a))) }
    4134}
    4135
    4136#[inline]
    4137#[target_feature(enable = "lsx")]
    4138#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4139pub fn lsx_vflogb_s(a: m128) -> m128 {
    4140    unsafe { transmute(__lsx_vflogb_s(transmute(a))) }
    4141}
    4142
    4143#[inline]
    4144#[target_feature(enable = "lsx")]
    4145#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4146pub fn lsx_vflogb_d(a: m128d) -> m128d {
    4147    unsafe { transmute(__lsx_vflogb_d(transmute(a))) }
    4148}
    4149
    4150#[inline]
    4151#[target_feature(enable = "lsx")]
    4152#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4153pub fn lsx_vfcvth_s_h(a: m128i) -> m128 {
    4154    unsafe { transmute(__lsx_vfcvth_s_h(transmute(a))) }
    4155}
    4156
    4157#[inline]
    4158#[target_feature(enable = "lsx")]
    4159#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4160pub fn lsx_vfcvth_d_s(a: m128) -> m128d {
    4161    unsafe { transmute(__lsx_vfcvth_d_s(transmute(a))) }
    4162}
    4163
    4164#[inline]
    4165#[target_feature(enable = "lsx")]
    4166#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4167pub fn lsx_vfcvtl_s_h(a: m128i) -> m128 {
    4168    unsafe { transmute(__lsx_vfcvtl_s_h(transmute(a))) }
    4169}
    4170
    4171#[inline]
    4172#[target_feature(enable = "lsx")]
    4173#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4174pub fn lsx_vfcvtl_d_s(a: m128) -> m128d {
    4175    unsafe { transmute(__lsx_vfcvtl_d_s(transmute(a))) }
    4176}
    4177
    4178#[inline]
    4179#[target_feature(enable = "lsx")]
    4180#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4181pub fn lsx_vftint_w_s(a: m128) -> m128i {
    4182    unsafe { transmute(__lsx_vftint_w_s(transmute(a))) }
    4183}
    4184
    4185#[inline]
    4186#[target_feature(enable = "lsx")]
    4187#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4188pub fn lsx_vftint_l_d(a: m128d) -> m128i {
    4189    unsafe { transmute(__lsx_vftint_l_d(transmute(a))) }
    4190}
    4191
    4192#[inline]
    4193#[target_feature(enable = "lsx")]
    4194#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4195pub fn lsx_vftint_wu_s(a: m128) -> m128i {
    4196    unsafe { transmute(__lsx_vftint_wu_s(transmute(a))) }
    4197}
    4198
    4199#[inline]
    4200#[target_feature(enable = "lsx")]
    4201#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4202pub fn lsx_vftint_lu_d(a: m128d) -> m128i {
    4203    unsafe { transmute(__lsx_vftint_lu_d(transmute(a))) }
    4204}
    4205
    4206#[inline]
    4207#[target_feature(enable = "lsx")]
    4208#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4209pub fn lsx_vftintrz_w_s(a: m128) -> m128i {
    4210    unsafe { transmute(__lsx_vftintrz_w_s(transmute(a))) }
    4211}
    4212
    4213#[inline]
    4214#[target_feature(enable = "lsx")]
    4215#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4216pub fn lsx_vftintrz_l_d(a: m128d) -> m128i {
    4217    unsafe { transmute(__lsx_vftintrz_l_d(transmute(a))) }
    4218}
    4219
    4220#[inline]
    4221#[target_feature(enable = "lsx")]
    4222#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4223pub fn lsx_vftintrz_wu_s(a: m128) -> m128i {
    4224    unsafe { transmute(__lsx_vftintrz_wu_s(transmute(a))) }
    4225}
    4226
    4227#[inline]
    4228#[target_feature(enable = "lsx")]
    4229#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4230pub fn lsx_vftintrz_lu_d(a: m128d) -> m128i {
    4231    unsafe { transmute(__lsx_vftintrz_lu_d(transmute(a))) }
    4232}
    4233
    4234#[inline]
    4235#[target_feature(enable = "lsx")]
    4236#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4237pub fn lsx_vffint_s_w(a: m128i) -> m128 {
    4238    unsafe { transmute(__lsx_vffint_s_w(transmute(a))) }
    4239}
    4240
    4241#[inline]
    4242#[target_feature(enable = "lsx")]
    4243#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4244pub fn lsx_vffint_d_l(a: m128i) -> m128d {
    4245    unsafe { transmute(__lsx_vffint_d_l(transmute(a))) }
    4246}
    4247
    4248#[inline]
    4249#[target_feature(enable = "lsx")]
    4250#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4251pub fn lsx_vffint_s_wu(a: m128i) -> m128 {
    4252    unsafe { transmute(__lsx_vffint_s_wu(transmute(a))) }
    4253}
    4254
    4255#[inline]
    4256#[target_feature(enable = "lsx")]
    4257#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4258pub fn lsx_vffint_d_lu(a: m128i) -> m128d {
    4259    unsafe { transmute(__lsx_vffint_d_lu(transmute(a))) }
    4260}
    4261
    4262#[inline]
    4263#[target_feature(enable = "lsx")]
    4264#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4265pub fn lsx_vandn_v(a: m128i, b: m128i) -> m128i {
    4266    unsafe { transmute(__lsx_vandn_v(transmute(a), transmute(b))) }
    4267}
    4268
    4269#[inline]
    4270#[target_feature(enable = "lsx")]
    4271#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4272pub fn lsx_vneg_b(a: m128i) -> m128i {
    4273    unsafe { transmute(__lsx_vneg_b(transmute(a))) }
    4274}
    4275
    4276#[inline]
    4277#[target_feature(enable = "lsx")]
    4278#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4279pub fn lsx_vneg_h(a: m128i) -> m128i {
    4280    unsafe { transmute(__lsx_vneg_h(transmute(a))) }
    4281}
    4282
    4283#[inline]
    4284#[target_feature(enable = "lsx")]
    4285#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4286pub fn lsx_vneg_w(a: m128i) -> m128i {
    4287    unsafe { transmute(__lsx_vneg_w(transmute(a))) }
    4288}
    4289
    4290#[inline]
    4291#[target_feature(enable = "lsx")]
    4292#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4293pub fn lsx_vneg_d(a: m128i) -> m128i {
    4294    unsafe { transmute(__lsx_vneg_d(transmute(a))) }
    4295}
    4296
    4297#[inline]
    4298#[target_feature(enable = "lsx")]
    4299#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4300pub fn lsx_vmuh_b(a: m128i, b: m128i) -> m128i {
    4301    unsafe { transmute(__lsx_vmuh_b(transmute(a), transmute(b))) }
    4302}
    4303
    4304#[inline]
    4305#[target_feature(enable = "lsx")]
    4306#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4307pub fn lsx_vmuh_h(a: m128i, b: m128i) -> m128i {
    4308    unsafe { transmute(__lsx_vmuh_h(transmute(a), transmute(b))) }
    4309}
    4310
    4311#[inline]
    4312#[target_feature(enable = "lsx")]
    4313#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4314pub fn lsx_vmuh_w(a: m128i, b: m128i) -> m128i {
    4315    unsafe { transmute(__lsx_vmuh_w(transmute(a), transmute(b))) }
    4316}
    4317
    4318#[inline]
    4319#[target_feature(enable = "lsx")]
    4320#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4321pub fn lsx_vmuh_d(a: m128i, b: m128i) -> m128i {
    4322    unsafe { transmute(__lsx_vmuh_d(transmute(a), transmute(b))) }
    4323}
    4324
    4325#[inline]
    4326#[target_feature(enable = "lsx")]
    4327#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4328pub fn lsx_vmuh_bu(a: m128i, b: m128i) -> m128i {
    4329    unsafe { transmute(__lsx_vmuh_bu(transmute(a), transmute(b))) }
    4330}
    4331
    4332#[inline]
    4333#[target_feature(enable = "lsx")]
    4334#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4335pub fn lsx_vmuh_hu(a: m128i, b: m128i) -> m128i {
    4336    unsafe { transmute(__lsx_vmuh_hu(transmute(a), transmute(b))) }
    4337}
    4338
    4339#[inline]
    4340#[target_feature(enable = "lsx")]
    4341#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4342pub fn lsx_vmuh_wu(a: m128i, b: m128i) -> m128i {
    4343    unsafe { transmute(__lsx_vmuh_wu(transmute(a), transmute(b))) }
    4344}
    4345
    4346#[inline]
    4347#[target_feature(enable = "lsx")]
    4348#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4349pub fn lsx_vmuh_du(a: m128i, b: m128i) -> m128i {
    4350    unsafe { transmute(__lsx_vmuh_du(transmute(a), transmute(b))) }
    4351}
    4352
    4353#[inline]
    4354#[target_feature(enable = "lsx")]
    4355#[rustc_legacy_const_generics(1)]
    4356#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4357pub fn lsx_vsllwil_h_b<const IMM3: u32>(a: m128i) -> m128i {
    4358    static_assert_uimm_bits!(IMM3, 3);
    4359    unsafe { transmute(__lsx_vsllwil_h_b(transmute(a), IMM3)) }
    4360}
    4361
    4362#[inline]
    4363#[target_feature(enable = "lsx")]
    4364#[rustc_legacy_const_generics(1)]
    4365#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4366pub fn lsx_vsllwil_w_h<const IMM4: u32>(a: m128i) -> m128i {
    4367    static_assert_uimm_bits!(IMM4, 4);
    4368    unsafe { transmute(__lsx_vsllwil_w_h(transmute(a), IMM4)) }
    4369}
    4370
    4371#[inline]
    4372#[target_feature(enable = "lsx")]
    4373#[rustc_legacy_const_generics(1)]
    4374#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4375pub fn lsx_vsllwil_d_w<const IMM5: u32>(a: m128i) -> m128i {
    4376    static_assert_uimm_bits!(IMM5, 5);
    4377    unsafe { transmute(__lsx_vsllwil_d_w(transmute(a), IMM5)) }
    4378}
    4379
    4380#[inline]
    4381#[target_feature(enable = "lsx")]
    4382#[rustc_legacy_const_generics(1)]
    4383#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4384pub fn lsx_vsllwil_hu_bu<const IMM3: u32>(a: m128i) -> m128i {
    4385    static_assert_uimm_bits!(IMM3, 3);
    4386    unsafe { transmute(__lsx_vsllwil_hu_bu(transmute(a), IMM3)) }
    4387}
    4388
    4389#[inline]
    4390#[target_feature(enable = "lsx")]
    4391#[rustc_legacy_const_generics(1)]
    4392#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4393pub fn lsx_vsllwil_wu_hu<const IMM4: u32>(a: m128i) -> m128i {
    4394    static_assert_uimm_bits!(IMM4, 4);
    4395    unsafe { transmute(__lsx_vsllwil_wu_hu(transmute(a), IMM4)) }
    4396}
    4397
    4398#[inline]
    4399#[target_feature(enable = "lsx")]
    4400#[rustc_legacy_const_generics(1)]
    4401#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4402pub fn lsx_vsllwil_du_wu<const IMM5: u32>(a: m128i) -> m128i {
    4403    static_assert_uimm_bits!(IMM5, 5);
    4404    unsafe { transmute(__lsx_vsllwil_du_wu(transmute(a), IMM5)) }
    4405}
    4406
    4407#[inline]
    4408#[target_feature(enable = "lsx")]
    4409#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4410pub fn lsx_vsran_b_h(a: m128i, b: m128i) -> m128i {
    4411    unsafe { transmute(__lsx_vsran_b_h(transmute(a), transmute(b))) }
    4412}
    4413
    4414#[inline]
    4415#[target_feature(enable = "lsx")]
    4416#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4417pub fn lsx_vsran_h_w(a: m128i, b: m128i) -> m128i {
    4418    unsafe { transmute(__lsx_vsran_h_w(transmute(a), transmute(b))) }
    4419}
    4420
    4421#[inline]
    4422#[target_feature(enable = "lsx")]
    4423#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4424pub fn lsx_vsran_w_d(a: m128i, b: m128i) -> m128i {
    4425    unsafe { transmute(__lsx_vsran_w_d(transmute(a), transmute(b))) }
    4426}
    4427
    4428#[inline]
    4429#[target_feature(enable = "lsx")]
    4430#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4431pub fn lsx_vssran_b_h(a: m128i, b: m128i) -> m128i {
    4432    unsafe { transmute(__lsx_vssran_b_h(transmute(a), transmute(b))) }
    4433}
    4434
    4435#[inline]
    4436#[target_feature(enable = "lsx")]
    4437#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4438pub fn lsx_vssran_h_w(a: m128i, b: m128i) -> m128i {
    4439    unsafe { transmute(__lsx_vssran_h_w(transmute(a), transmute(b))) }
    4440}
    4441
    4442#[inline]
    4443#[target_feature(enable = "lsx")]
    4444#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4445pub fn lsx_vssran_w_d(a: m128i, b: m128i) -> m128i {
    4446    unsafe { transmute(__lsx_vssran_w_d(transmute(a), transmute(b))) }
    4447}
    4448
    4449#[inline]
    4450#[target_feature(enable = "lsx")]
    4451#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4452pub fn lsx_vssran_bu_h(a: m128i, b: m128i) -> m128i {
    4453    unsafe { transmute(__lsx_vssran_bu_h(transmute(a), transmute(b))) }
    4454}
    4455
    4456#[inline]
    4457#[target_feature(enable = "lsx")]
    4458#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4459pub fn lsx_vssran_hu_w(a: m128i, b: m128i) -> m128i {
    4460    unsafe { transmute(__lsx_vssran_hu_w(transmute(a), transmute(b))) }
    4461}
    4462
    4463#[inline]
    4464#[target_feature(enable = "lsx")]
    4465#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4466pub fn lsx_vssran_wu_d(a: m128i, b: m128i) -> m128i {
    4467    unsafe { transmute(__lsx_vssran_wu_d(transmute(a), transmute(b))) }
    4468}
    4469
    4470#[inline]
    4471#[target_feature(enable = "lsx")]
    4472#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4473pub fn lsx_vsrarn_b_h(a: m128i, b: m128i) -> m128i {
    4474    unsafe { transmute(__lsx_vsrarn_b_h(transmute(a), transmute(b))) }
    4475}
    4476
    4477#[inline]
    4478#[target_feature(enable = "lsx")]
    4479#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4480pub fn lsx_vsrarn_h_w(a: m128i, b: m128i) -> m128i {
    4481    unsafe { transmute(__lsx_vsrarn_h_w(transmute(a), transmute(b))) }
    4482}
    4483
    4484#[inline]
    4485#[target_feature(enable = "lsx")]
    4486#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4487pub fn lsx_vsrarn_w_d(a: m128i, b: m128i) -> m128i {
    4488    unsafe { transmute(__lsx_vsrarn_w_d(transmute(a), transmute(b))) }
    4489}
    4490
    4491#[inline]
    4492#[target_feature(enable = "lsx")]
    4493#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4494pub fn lsx_vssrarn_b_h(a: m128i, b: m128i) -> m128i {
    4495    unsafe { transmute(__lsx_vssrarn_b_h(transmute(a), transmute(b))) }
    4496}
    4497
    4498#[inline]
    4499#[target_feature(enable = "lsx")]
    4500#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4501pub fn lsx_vssrarn_h_w(a: m128i, b: m128i) -> m128i {
    4502    unsafe { transmute(__lsx_vssrarn_h_w(transmute(a), transmute(b))) }
    4503}
    4504
    4505#[inline]
    4506#[target_feature(enable = "lsx")]
    4507#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4508pub fn lsx_vssrarn_w_d(a: m128i, b: m128i) -> m128i {
    4509    unsafe { transmute(__lsx_vssrarn_w_d(transmute(a), transmute(b))) }
    4510}
    4511
    4512#[inline]
    4513#[target_feature(enable = "lsx")]
    4514#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4515pub fn lsx_vssrarn_bu_h(a: m128i, b: m128i) -> m128i {
    4516    unsafe { transmute(__lsx_vssrarn_bu_h(transmute(a), transmute(b))) }
    4517}
    4518
    4519#[inline]
    4520#[target_feature(enable = "lsx")]
    4521#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4522pub fn lsx_vssrarn_hu_w(a: m128i, b: m128i) -> m128i {
    4523    unsafe { transmute(__lsx_vssrarn_hu_w(transmute(a), transmute(b))) }
    4524}
    4525
    4526#[inline]
    4527#[target_feature(enable = "lsx")]
    4528#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4529pub fn lsx_vssrarn_wu_d(a: m128i, b: m128i) -> m128i {
    4530    unsafe { transmute(__lsx_vssrarn_wu_d(transmute(a), transmute(b))) }
    4531}
    4532
    4533#[inline]
    4534#[target_feature(enable = "lsx")]
    4535#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4536pub fn lsx_vsrln_b_h(a: m128i, b: m128i) -> m128i {
    4537    unsafe { transmute(__lsx_vsrln_b_h(transmute(a), transmute(b))) }
    4538}
    4539
    4540#[inline]
    4541#[target_feature(enable = "lsx")]
    4542#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4543pub fn lsx_vsrln_h_w(a: m128i, b: m128i) -> m128i {
    4544    unsafe { transmute(__lsx_vsrln_h_w(transmute(a), transmute(b))) }
    4545}
    4546
    4547#[inline]
    4548#[target_feature(enable = "lsx")]
    4549#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4550pub fn lsx_vsrln_w_d(a: m128i, b: m128i) -> m128i {
    4551    unsafe { transmute(__lsx_vsrln_w_d(transmute(a), transmute(b))) }
    4552}
    4553
    4554#[inline]
    4555#[target_feature(enable = "lsx")]
    4556#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4557pub fn lsx_vssrln_bu_h(a: m128i, b: m128i) -> m128i {
    4558    unsafe { transmute(__lsx_vssrln_bu_h(transmute(a), transmute(b))) }
    4559}
    4560
    4561#[inline]
    4562#[target_feature(enable = "lsx")]
    4563#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4564pub fn lsx_vssrln_hu_w(a: m128i, b: m128i) -> m128i {
    4565    unsafe { transmute(__lsx_vssrln_hu_w(transmute(a), transmute(b))) }
    4566}
    4567
    4568#[inline]
    4569#[target_feature(enable = "lsx")]
    4570#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4571pub fn lsx_vssrln_wu_d(a: m128i, b: m128i) -> m128i {
    4572    unsafe { transmute(__lsx_vssrln_wu_d(transmute(a), transmute(b))) }
    4573}
    4574
    4575#[inline]
    4576#[target_feature(enable = "lsx")]
    4577#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4578pub fn lsx_vsrlrn_b_h(a: m128i, b: m128i) -> m128i {
    4579    unsafe { transmute(__lsx_vsrlrn_b_h(transmute(a), transmute(b))) }
    4580}
    4581
    4582#[inline]
    4583#[target_feature(enable = "lsx")]
    4584#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4585pub fn lsx_vsrlrn_h_w(a: m128i, b: m128i) -> m128i {
    4586    unsafe { transmute(__lsx_vsrlrn_h_w(transmute(a), transmute(b))) }
    4587}
    4588
    4589#[inline]
    4590#[target_feature(enable = "lsx")]
    4591#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4592pub fn lsx_vsrlrn_w_d(a: m128i, b: m128i) -> m128i {
    4593    unsafe { transmute(__lsx_vsrlrn_w_d(transmute(a), transmute(b))) }
    4594}
    4595
    4596#[inline]
    4597#[target_feature(enable = "lsx")]
    4598#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4599pub fn lsx_vssrlrn_bu_h(a: m128i, b: m128i) -> m128i {
    4600    unsafe { transmute(__lsx_vssrlrn_bu_h(transmute(a), transmute(b))) }
    4601}
    4602
    4603#[inline]
    4604#[target_feature(enable = "lsx")]
    4605#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4606pub fn lsx_vssrlrn_hu_w(a: m128i, b: m128i) -> m128i {
    4607    unsafe { transmute(__lsx_vssrlrn_hu_w(transmute(a), transmute(b))) }
    4608}
    4609
    4610#[inline]
    4611#[target_feature(enable = "lsx")]
    4612#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4613pub fn lsx_vssrlrn_wu_d(a: m128i, b: m128i) -> m128i {
    4614    unsafe { transmute(__lsx_vssrlrn_wu_d(transmute(a), transmute(b))) }
    4615}
    4616
    4617#[inline]
    4618#[target_feature(enable = "lsx")]
    4619#[rustc_legacy_const_generics(2)]
    4620#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4621pub fn lsx_vfrstpi_b<const IMM5: u32>(a: m128i, b: m128i) -> m128i {
    4622    static_assert_uimm_bits!(IMM5, 5);
    4623    unsafe { transmute(__lsx_vfrstpi_b(transmute(a), transmute(b), IMM5)) }
    4624}
    4625
    4626#[inline]
    4627#[target_feature(enable = "lsx")]
    4628#[rustc_legacy_const_generics(2)]
    4629#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4630pub fn lsx_vfrstpi_h<const IMM5: u32>(a: m128i, b: m128i) -> m128i {
    4631    static_assert_uimm_bits!(IMM5, 5);
    4632    unsafe { transmute(__lsx_vfrstpi_h(transmute(a), transmute(b), IMM5)) }
    4633}
    4634
    4635#[inline]
    4636#[target_feature(enable = "lsx")]
    4637#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4638pub fn lsx_vfrstp_b(a: m128i, b: m128i, c: m128i) -> m128i {
    4639    unsafe { transmute(__lsx_vfrstp_b(transmute(a), transmute(b), transmute(c))) }
    4640}
    4641
    4642#[inline]
    4643#[target_feature(enable = "lsx")]
    4644#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4645pub fn lsx_vfrstp_h(a: m128i, b: m128i, c: m128i) -> m128i {
    4646    unsafe { transmute(__lsx_vfrstp_h(transmute(a), transmute(b), transmute(c))) }
    4647}
    4648
    4649#[inline]
    4650#[target_feature(enable = "lsx")]
    4651#[rustc_legacy_const_generics(2)]
    4652#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4653pub fn lsx_vshuf4i_d<const IMM8: u32>(a: m128i, b: m128i) -> m128i {
    4654    static_assert_uimm_bits!(IMM8, 8);
    4655    unsafe { transmute(__lsx_vshuf4i_d(transmute(a), transmute(b), IMM8)) }
    4656}
    4657
    4658#[inline]
    4659#[target_feature(enable = "lsx")]
    4660#[rustc_legacy_const_generics(1)]
    4661#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4662pub fn lsx_vbsrl_v<const IMM5: u32>(a: m128i) -> m128i {
    4663    static_assert_uimm_bits!(IMM5, 5);
    4664    unsafe { transmute(__lsx_vbsrl_v(transmute(a), IMM5)) }
    4665}
    4666
    4667#[inline]
    4668#[target_feature(enable = "lsx")]
    4669#[rustc_legacy_const_generics(1)]
    4670#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4671pub fn lsx_vbsll_v<const IMM5: u32>(a: m128i) -> m128i {
    4672    static_assert_uimm_bits!(IMM5, 5);
    4673    unsafe { transmute(__lsx_vbsll_v(transmute(a), IMM5)) }
    4674}
    4675
    4676#[inline]
    4677#[target_feature(enable = "lsx")]
    4678#[rustc_legacy_const_generics(2)]
    4679#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4680pub fn lsx_vextrins_b<const IMM8: u32>(a: m128i, b: m128i) -> m128i {
    4681    static_assert_uimm_bits!(IMM8, 8);
    4682    unsafe { transmute(__lsx_vextrins_b(transmute(a), transmute(b), IMM8)) }
    4683}
    4684
    4685#[inline]
    4686#[target_feature(enable = "lsx")]
    4687#[rustc_legacy_const_generics(2)]
    4688#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4689pub fn lsx_vextrins_h<const IMM8: u32>(a: m128i, b: m128i) -> m128i {
    4690    static_assert_uimm_bits!(IMM8, 8);
    4691    unsafe { transmute(__lsx_vextrins_h(transmute(a), transmute(b), IMM8)) }
    4692}
    4693
    4694#[inline]
    4695#[target_feature(enable = "lsx")]
    4696#[rustc_legacy_const_generics(2)]
    4697#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4698pub fn lsx_vextrins_w<const IMM8: u32>(a: m128i, b: m128i) -> m128i {
    4699    static_assert_uimm_bits!(IMM8, 8);
    4700    unsafe { transmute(__lsx_vextrins_w(transmute(a), transmute(b), IMM8)) }
    4701}
    4702
    4703#[inline]
    4704#[target_feature(enable = "lsx")]
    4705#[rustc_legacy_const_generics(2)]
    4706#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4707pub fn lsx_vextrins_d<const IMM8: u32>(a: m128i, b: m128i) -> m128i {
    4708    static_assert_uimm_bits!(IMM8, 8);
    4709    unsafe { transmute(__lsx_vextrins_d(transmute(a), transmute(b), IMM8)) }
    4710}
    4711
    4712#[inline]
    4713#[target_feature(enable = "lsx")]
    4714#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4715pub fn lsx_vmskltz_b(a: m128i) -> m128i {
    4716    unsafe { transmute(__lsx_vmskltz_b(transmute(a))) }
    4717}
    4718
    4719#[inline]
    4720#[target_feature(enable = "lsx")]
    4721#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4722pub fn lsx_vmskltz_h(a: m128i) -> m128i {
    4723    unsafe { transmute(__lsx_vmskltz_h(transmute(a))) }
    4724}
    4725
    4726#[inline]
    4727#[target_feature(enable = "lsx")]
    4728#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4729pub fn lsx_vmskltz_w(a: m128i) -> m128i {
    4730    unsafe { transmute(__lsx_vmskltz_w(transmute(a))) }
    4731}
    4732
    4733#[inline]
    4734#[target_feature(enable = "lsx")]
    4735#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4736pub fn lsx_vmskltz_d(a: m128i) -> m128i {
    4737    unsafe { transmute(__lsx_vmskltz_d(transmute(a))) }
    4738}
    4739
    4740#[inline]
    4741#[target_feature(enable = "lsx")]
    4742#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4743pub fn lsx_vsigncov_b(a: m128i, b: m128i) -> m128i {
    4744    unsafe { transmute(__lsx_vsigncov_b(transmute(a), transmute(b))) }
    4745}
    4746
    4747#[inline]
    4748#[target_feature(enable = "lsx")]
    4749#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4750pub fn lsx_vsigncov_h(a: m128i, b: m128i) -> m128i {
    4751    unsafe { transmute(__lsx_vsigncov_h(transmute(a), transmute(b))) }
    4752}
    4753
    4754#[inline]
    4755#[target_feature(enable = "lsx")]
    4756#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4757pub fn lsx_vsigncov_w(a: m128i, b: m128i) -> m128i {
    4758    unsafe { transmute(__lsx_vsigncov_w(transmute(a), transmute(b))) }
    4759}
    4760
    4761#[inline]
    4762#[target_feature(enable = "lsx")]
    4763#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4764pub fn lsx_vsigncov_d(a: m128i, b: m128i) -> m128i {
    4765    unsafe { transmute(__lsx_vsigncov_d(transmute(a), transmute(b))) }
    4766}
    4767
    4768#[inline]
    4769#[target_feature(enable = "lsx")]
    4770#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4771pub fn lsx_vfmadd_s(a: m128, b: m128, c: m128) -> m128 {
    4772    unsafe { transmute(__lsx_vfmadd_s(transmute(a), transmute(b), transmute(c))) }
    4773}
    4774
    4775#[inline]
    4776#[target_feature(enable = "lsx")]
    4777#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4778pub fn lsx_vfmadd_d(a: m128d, b: m128d, c: m128d) -> m128d {
    4779    unsafe { transmute(__lsx_vfmadd_d(transmute(a), transmute(b), transmute(c))) }
    4780}
    4781
    4782#[inline]
    4783#[target_feature(enable = "lsx")]
    4784#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4785pub fn lsx_vfmsub_s(a: m128, b: m128, c: m128) -> m128 {
    4786    unsafe { transmute(__lsx_vfmsub_s(transmute(a), transmute(b), transmute(c))) }
    4787}
    4788
    4789#[inline]
    4790#[target_feature(enable = "lsx")]
    4791#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4792pub fn lsx_vfmsub_d(a: m128d, b: m128d, c: m128d) -> m128d {
    4793    unsafe { transmute(__lsx_vfmsub_d(transmute(a), transmute(b), transmute(c))) }
    4794}
    4795
    4796#[inline]
    4797#[target_feature(enable = "lsx")]
    4798#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4799pub fn lsx_vfnmadd_s(a: m128, b: m128, c: m128) -> m128 {
    4800    unsafe { transmute(__lsx_vfnmadd_s(transmute(a), transmute(b), transmute(c))) }
    4801}
    4802
    4803#[inline]
    4804#[target_feature(enable = "lsx")]
    4805#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4806pub fn lsx_vfnmadd_d(a: m128d, b: m128d, c: m128d) -> m128d {
    4807    unsafe { transmute(__lsx_vfnmadd_d(transmute(a), transmute(b), transmute(c))) }
    4808}
    4809
    4810#[inline]
    4811#[target_feature(enable = "lsx")]
    4812#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4813pub fn lsx_vfnmsub_s(a: m128, b: m128, c: m128) -> m128 {
    4814    unsafe { transmute(__lsx_vfnmsub_s(transmute(a), transmute(b), transmute(c))) }
    4815}
    4816
    4817#[inline]
    4818#[target_feature(enable = "lsx")]
    4819#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4820pub fn lsx_vfnmsub_d(a: m128d, b: m128d, c: m128d) -> m128d {
    4821    unsafe { transmute(__lsx_vfnmsub_d(transmute(a), transmute(b), transmute(c))) }
    4822}
    4823
    4824#[inline]
    4825#[target_feature(enable = "lsx")]
    4826#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4827pub fn lsx_vftintrne_w_s(a: m128) -> m128i {
    4828    unsafe { transmute(__lsx_vftintrne_w_s(transmute(a))) }
    4829}
    4830
    4831#[inline]
    4832#[target_feature(enable = "lsx")]
    4833#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4834pub fn lsx_vftintrne_l_d(a: m128d) -> m128i {
    4835    unsafe { transmute(__lsx_vftintrne_l_d(transmute(a))) }
    4836}
    4837
    4838#[inline]
    4839#[target_feature(enable = "lsx")]
    4840#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4841pub fn lsx_vftintrp_w_s(a: m128) -> m128i {
    4842    unsafe { transmute(__lsx_vftintrp_w_s(transmute(a))) }
    4843}
    4844
    4845#[inline]
    4846#[target_feature(enable = "lsx")]
    4847#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4848pub fn lsx_vftintrp_l_d(a: m128d) -> m128i {
    4849    unsafe { transmute(__lsx_vftintrp_l_d(transmute(a))) }
    4850}
    4851
    4852#[inline]
    4853#[target_feature(enable = "lsx")]
    4854#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4855pub fn lsx_vftintrm_w_s(a: m128) -> m128i {
    4856    unsafe { transmute(__lsx_vftintrm_w_s(transmute(a))) }
    4857}
    4858
    4859#[inline]
    4860#[target_feature(enable = "lsx")]
    4861#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4862pub fn lsx_vftintrm_l_d(a: m128d) -> m128i {
    4863    unsafe { transmute(__lsx_vftintrm_l_d(transmute(a))) }
    4864}
    4865
    4866#[inline]
    4867#[target_feature(enable = "lsx")]
    4868#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4869pub fn lsx_vftint_w_d(a: m128d, b: m128d) -> m128i {
    4870    unsafe { transmute(__lsx_vftint_w_d(transmute(a), transmute(b))) }
    4871}
    4872
    4873#[inline]
    4874#[target_feature(enable = "lsx")]
    4875#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4876pub fn lsx_vffint_s_l(a: m128i, b: m128i) -> m128 {
    4877    unsafe { transmute(__lsx_vffint_s_l(transmute(a), transmute(b))) }
    4878}
    4879
    4880#[inline]
    4881#[target_feature(enable = "lsx")]
    4882#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4883pub fn lsx_vftintrz_w_d(a: m128d, b: m128d) -> m128i {
    4884    unsafe { transmute(__lsx_vftintrz_w_d(transmute(a), transmute(b))) }
    4885}
    4886
    4887#[inline]
    4888#[target_feature(enable = "lsx")]
    4889#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4890pub fn lsx_vftintrp_w_d(a: m128d, b: m128d) -> m128i {
    4891    unsafe { transmute(__lsx_vftintrp_w_d(transmute(a), transmute(b))) }
    4892}
    4893
    4894#[inline]
    4895#[target_feature(enable = "lsx")]
    4896#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4897pub fn lsx_vftintrm_w_d(a: m128d, b: m128d) -> m128i {
    4898    unsafe { transmute(__lsx_vftintrm_w_d(transmute(a), transmute(b))) }
    4899}
    4900
    4901#[inline]
    4902#[target_feature(enable = "lsx")]
    4903#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4904pub fn lsx_vftintrne_w_d(a: m128d, b: m128d) -> m128i {
    4905    unsafe { transmute(__lsx_vftintrne_w_d(transmute(a), transmute(b))) }
    4906}
    4907
    4908#[inline]
    4909#[target_feature(enable = "lsx")]
    4910#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4911pub fn lsx_vftintl_l_s(a: m128) -> m128i {
    4912    unsafe { transmute(__lsx_vftintl_l_s(transmute(a))) }
    4913}
    4914
    4915#[inline]
    4916#[target_feature(enable = "lsx")]
    4917#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4918pub fn lsx_vftinth_l_s(a: m128) -> m128i {
    4919    unsafe { transmute(__lsx_vftinth_l_s(transmute(a))) }
    4920}
    4921
    4922#[inline]
    4923#[target_feature(enable = "lsx")]
    4924#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4925pub fn lsx_vffinth_d_w(a: m128i) -> m128d {
    4926    unsafe { transmute(__lsx_vffinth_d_w(transmute(a))) }
    4927}
    4928
    4929#[inline]
    4930#[target_feature(enable = "lsx")]
    4931#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4932pub fn lsx_vffintl_d_w(a: m128i) -> m128d {
    4933    unsafe { transmute(__lsx_vffintl_d_w(transmute(a))) }
    4934}
    4935
    4936#[inline]
    4937#[target_feature(enable = "lsx")]
    4938#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4939pub fn lsx_vftintrzl_l_s(a: m128) -> m128i {
    4940    unsafe { transmute(__lsx_vftintrzl_l_s(transmute(a))) }
    4941}
    4942
    4943#[inline]
    4944#[target_feature(enable = "lsx")]
    4945#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4946pub fn lsx_vftintrzh_l_s(a: m128) -> m128i {
    4947    unsafe { transmute(__lsx_vftintrzh_l_s(transmute(a))) }
    4948}
    4949
    4950#[inline]
    4951#[target_feature(enable = "lsx")]
    4952#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4953pub fn lsx_vftintrpl_l_s(a: m128) -> m128i {
    4954    unsafe { transmute(__lsx_vftintrpl_l_s(transmute(a))) }
    4955}
    4956
    4957#[inline]
    4958#[target_feature(enable = "lsx")]
    4959#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4960pub fn lsx_vftintrph_l_s(a: m128) -> m128i {
    4961    unsafe { transmute(__lsx_vftintrph_l_s(transmute(a))) }
    4962}
    4963
    4964#[inline]
    4965#[target_feature(enable = "lsx")]
    4966#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4967pub fn lsx_vftintrml_l_s(a: m128) -> m128i {
    4968    unsafe { transmute(__lsx_vftintrml_l_s(transmute(a))) }
    4969}
    4970
    4971#[inline]
    4972#[target_feature(enable = "lsx")]
    4973#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4974pub fn lsx_vftintrmh_l_s(a: m128) -> m128i {
    4975    unsafe { transmute(__lsx_vftintrmh_l_s(transmute(a))) }
    4976}
    4977
    4978#[inline]
    4979#[target_feature(enable = "lsx")]
    4980#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4981pub fn lsx_vftintrnel_l_s(a: m128) -> m128i {
    4982    unsafe { transmute(__lsx_vftintrnel_l_s(transmute(a))) }
    4983}
    4984
    4985#[inline]
    4986#[target_feature(enable = "lsx")]
    4987#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4988pub fn lsx_vftintrneh_l_s(a: m128) -> m128i {
    4989    unsafe { transmute(__lsx_vftintrneh_l_s(transmute(a))) }
    4990}
    4991
    4992#[inline]
    4993#[target_feature(enable = "lsx")]
    4994#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    4995pub fn lsx_vfrintrne_s(a: m128) -> m128 {
    4996    unsafe { transmute(__lsx_vfrintrne_s(transmute(a))) }
    4997}
    4998
    4999#[inline]
    5000#[target_feature(enable = "lsx")]
    5001#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5002pub fn lsx_vfrintrne_d(a: m128d) -> m128d {
    5003    unsafe { transmute(__lsx_vfrintrne_d(transmute(a))) }
    5004}
    5005
    5006#[inline]
    5007#[target_feature(enable = "lsx")]
    5008#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5009pub fn lsx_vfrintrz_s(a: m128) -> m128 {
    5010    unsafe { transmute(__lsx_vfrintrz_s(transmute(a))) }
    5011}
    5012
    5013#[inline]
    5014#[target_feature(enable = "lsx")]
    5015#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5016pub fn lsx_vfrintrz_d(a: m128d) -> m128d {
    5017    unsafe { transmute(__lsx_vfrintrz_d(transmute(a))) }
    5018}
    5019
    5020#[inline]
    5021#[target_feature(enable = "lsx")]
    5022#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5023pub fn lsx_vfrintrp_s(a: m128) -> m128 {
    5024    unsafe { transmute(__lsx_vfrintrp_s(transmute(a))) }
    5025}
    5026
    5027#[inline]
    5028#[target_feature(enable = "lsx")]
    5029#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5030pub fn lsx_vfrintrp_d(a: m128d) -> m128d {
    5031    unsafe { transmute(__lsx_vfrintrp_d(transmute(a))) }
    5032}
    5033
    5034#[inline]
    5035#[target_feature(enable = "lsx")]
    5036#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5037pub fn lsx_vfrintrm_s(a: m128) -> m128 {
    5038    unsafe { transmute(__lsx_vfrintrm_s(transmute(a))) }
    5039}
    5040
    5041#[inline]
    5042#[target_feature(enable = "lsx")]
    5043#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5044pub fn lsx_vfrintrm_d(a: m128d) -> m128d {
    5045    unsafe { transmute(__lsx_vfrintrm_d(transmute(a))) }
    5046}
    5047
    5048#[inline]
    5049#[target_feature(enable = "lsx")]
    5050#[rustc_legacy_const_generics(2, 3)]
    5051#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5052pub unsafe fn lsx_vstelm_b<const IMM_S8: i32, const IMM4: u32>(a: m128i, mem_addr: *mut i8) {
    5053    static_assert_simm_bits!(IMM_S8, 8);
    5054    static_assert_uimm_bits!(IMM4, 4);
    5055    transmute(__lsx_vstelm_b(transmute(a), mem_addr, IMM_S8, IMM4))
    5056}
    5057
    5058#[inline]
    5059#[target_feature(enable = "lsx")]
    5060#[rustc_legacy_const_generics(2, 3)]
    5061#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5062pub unsafe fn lsx_vstelm_h<const IMM_S8: i32, const IMM3: u32>(a: m128i, mem_addr: *mut i8) {
    5063    static_assert_simm_bits!(IMM_S8, 8);
    5064    static_assert_uimm_bits!(IMM3, 3);
    5065    transmute(__lsx_vstelm_h(transmute(a), mem_addr, IMM_S8, IMM3))
    5066}
    5067
    5068#[inline]
    5069#[target_feature(enable = "lsx")]
    5070#[rustc_legacy_const_generics(2, 3)]
    5071#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5072pub unsafe fn lsx_vstelm_w<const IMM_S8: i32, const IMM2: u32>(a: m128i, mem_addr: *mut i8) {
    5073    static_assert_simm_bits!(IMM_S8, 8);
    5074    static_assert_uimm_bits!(IMM2, 2);
    5075    transmute(__lsx_vstelm_w(transmute(a), mem_addr, IMM_S8, IMM2))
    5076}
    5077
    5078#[inline]
    5079#[target_feature(enable = "lsx")]
    5080#[rustc_legacy_const_generics(2, 3)]
    5081#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5082pub unsafe fn lsx_vstelm_d<const IMM_S8: i32, const IMM1: u32>(a: m128i, mem_addr: *mut i8) {
    5083    static_assert_simm_bits!(IMM_S8, 8);
    5084    static_assert_uimm_bits!(IMM1, 1);
    5085    transmute(__lsx_vstelm_d(transmute(a), mem_addr, IMM_S8, IMM1))
    5086}
    5087
    5088#[inline]
    5089#[target_feature(enable = "lsx")]
    5090#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5091pub fn lsx_vaddwev_d_w(a: m128i, b: m128i) -> m128i {
    5092    unsafe { transmute(__lsx_vaddwev_d_w(transmute(a), transmute(b))) }
    5093}
    5094
    5095#[inline]
    5096#[target_feature(enable = "lsx")]
    5097#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5098pub fn lsx_vaddwev_w_h(a: m128i, b: m128i) -> m128i {
    5099    unsafe { transmute(__lsx_vaddwev_w_h(transmute(a), transmute(b))) }
    5100}
    5101
    5102#[inline]
    5103#[target_feature(enable = "lsx")]
    5104#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5105pub fn lsx_vaddwev_h_b(a: m128i, b: m128i) -> m128i {
    5106    unsafe { transmute(__lsx_vaddwev_h_b(transmute(a), transmute(b))) }
    5107}
    5108
    5109#[inline]
    5110#[target_feature(enable = "lsx")]
    5111#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5112pub fn lsx_vaddwod_d_w(a: m128i, b: m128i) -> m128i {
    5113    unsafe { transmute(__lsx_vaddwod_d_w(transmute(a), transmute(b))) }
    5114}
    5115
    5116#[inline]
    5117#[target_feature(enable = "lsx")]
    5118#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5119pub fn lsx_vaddwod_w_h(a: m128i, b: m128i) -> m128i {
    5120    unsafe { transmute(__lsx_vaddwod_w_h(transmute(a), transmute(b))) }
    5121}
    5122
    5123#[inline]
    5124#[target_feature(enable = "lsx")]
    5125#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5126pub fn lsx_vaddwod_h_b(a: m128i, b: m128i) -> m128i {
    5127    unsafe { transmute(__lsx_vaddwod_h_b(transmute(a), transmute(b))) }
    5128}
    5129
    5130#[inline]
    5131#[target_feature(enable = "lsx")]
    5132#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5133pub fn lsx_vaddwev_d_wu(a: m128i, b: m128i) -> m128i {
    5134    unsafe { transmute(__lsx_vaddwev_d_wu(transmute(a), transmute(b))) }
    5135}
    5136
    5137#[inline]
    5138#[target_feature(enable = "lsx")]
    5139#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5140pub fn lsx_vaddwev_w_hu(a: m128i, b: m128i) -> m128i {
    5141    unsafe { transmute(__lsx_vaddwev_w_hu(transmute(a), transmute(b))) }
    5142}
    5143
    5144#[inline]
    5145#[target_feature(enable = "lsx")]
    5146#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5147pub fn lsx_vaddwev_h_bu(a: m128i, b: m128i) -> m128i {
    5148    unsafe { transmute(__lsx_vaddwev_h_bu(transmute(a), transmute(b))) }
    5149}
    5150
    5151#[inline]
    5152#[target_feature(enable = "lsx")]
    5153#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5154pub fn lsx_vaddwod_d_wu(a: m128i, b: m128i) -> m128i {
    5155    unsafe { transmute(__lsx_vaddwod_d_wu(transmute(a), transmute(b))) }
    5156}
    5157
    5158#[inline]
    5159#[target_feature(enable = "lsx")]
    5160#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5161pub fn lsx_vaddwod_w_hu(a: m128i, b: m128i) -> m128i {
    5162    unsafe { transmute(__lsx_vaddwod_w_hu(transmute(a), transmute(b))) }
    5163}
    5164
    5165#[inline]
    5166#[target_feature(enable = "lsx")]
    5167#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5168pub fn lsx_vaddwod_h_bu(a: m128i, b: m128i) -> m128i {
    5169    unsafe { transmute(__lsx_vaddwod_h_bu(transmute(a), transmute(b))) }
    5170}
    5171
    5172#[inline]
    5173#[target_feature(enable = "lsx")]
    5174#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5175pub fn lsx_vaddwev_d_wu_w(a: m128i, b: m128i) -> m128i {
    5176    unsafe { transmute(__lsx_vaddwev_d_wu_w(transmute(a), transmute(b))) }
    5177}
    5178
    5179#[inline]
    5180#[target_feature(enable = "lsx")]
    5181#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5182pub fn lsx_vaddwev_w_hu_h(a: m128i, b: m128i) -> m128i {
    5183    unsafe { transmute(__lsx_vaddwev_w_hu_h(transmute(a), transmute(b))) }
    5184}
    5185
    5186#[inline]
    5187#[target_feature(enable = "lsx")]
    5188#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5189pub fn lsx_vaddwev_h_bu_b(a: m128i, b: m128i) -> m128i {
    5190    unsafe { transmute(__lsx_vaddwev_h_bu_b(transmute(a), transmute(b))) }
    5191}
    5192
    5193#[inline]
    5194#[target_feature(enable = "lsx")]
    5195#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5196pub fn lsx_vaddwod_d_wu_w(a: m128i, b: m128i) -> m128i {
    5197    unsafe { transmute(__lsx_vaddwod_d_wu_w(transmute(a), transmute(b))) }
    5198}
    5199
    5200#[inline]
    5201#[target_feature(enable = "lsx")]
    5202#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5203pub fn lsx_vaddwod_w_hu_h(a: m128i, b: m128i) -> m128i {
    5204    unsafe { transmute(__lsx_vaddwod_w_hu_h(transmute(a), transmute(b))) }
    5205}
    5206
    5207#[inline]
    5208#[target_feature(enable = "lsx")]
    5209#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5210pub fn lsx_vaddwod_h_bu_b(a: m128i, b: m128i) -> m128i {
    5211    unsafe { transmute(__lsx_vaddwod_h_bu_b(transmute(a), transmute(b))) }
    5212}
    5213
    5214#[inline]
    5215#[target_feature(enable = "lsx")]
    5216#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5217pub fn lsx_vsubwev_d_w(a: m128i, b: m128i) -> m128i {
    5218    unsafe { transmute(__lsx_vsubwev_d_w(transmute(a), transmute(b))) }
    5219}
    5220
    5221#[inline]
    5222#[target_feature(enable = "lsx")]
    5223#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5224pub fn lsx_vsubwev_w_h(a: m128i, b: m128i) -> m128i {
    5225    unsafe { transmute(__lsx_vsubwev_w_h(transmute(a), transmute(b))) }
    5226}
    5227
    5228#[inline]
    5229#[target_feature(enable = "lsx")]
    5230#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5231pub fn lsx_vsubwev_h_b(a: m128i, b: m128i) -> m128i {
    5232    unsafe { transmute(__lsx_vsubwev_h_b(transmute(a), transmute(b))) }
    5233}
    5234
    5235#[inline]
    5236#[target_feature(enable = "lsx")]
    5237#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5238pub fn lsx_vsubwod_d_w(a: m128i, b: m128i) -> m128i {
    5239    unsafe { transmute(__lsx_vsubwod_d_w(transmute(a), transmute(b))) }
    5240}
    5241
    5242#[inline]
    5243#[target_feature(enable = "lsx")]
    5244#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5245pub fn lsx_vsubwod_w_h(a: m128i, b: m128i) -> m128i {
    5246    unsafe { transmute(__lsx_vsubwod_w_h(transmute(a), transmute(b))) }
    5247}
    5248
    5249#[inline]
    5250#[target_feature(enable = "lsx")]
    5251#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5252pub fn lsx_vsubwod_h_b(a: m128i, b: m128i) -> m128i {
    5253    unsafe { transmute(__lsx_vsubwod_h_b(transmute(a), transmute(b))) }
    5254}
    5255
    5256#[inline]
    5257#[target_feature(enable = "lsx")]
    5258#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5259pub fn lsx_vsubwev_d_wu(a: m128i, b: m128i) -> m128i {
    5260    unsafe { transmute(__lsx_vsubwev_d_wu(transmute(a), transmute(b))) }
    5261}
    5262
    5263#[inline]
    5264#[target_feature(enable = "lsx")]
    5265#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5266pub fn lsx_vsubwev_w_hu(a: m128i, b: m128i) -> m128i {
    5267    unsafe { transmute(__lsx_vsubwev_w_hu(transmute(a), transmute(b))) }
    5268}
    5269
    5270#[inline]
    5271#[target_feature(enable = "lsx")]
    5272#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5273pub fn lsx_vsubwev_h_bu(a: m128i, b: m128i) -> m128i {
    5274    unsafe { transmute(__lsx_vsubwev_h_bu(transmute(a), transmute(b))) }
    5275}
    5276
    5277#[inline]
    5278#[target_feature(enable = "lsx")]
    5279#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5280pub fn lsx_vsubwod_d_wu(a: m128i, b: m128i) -> m128i {
    5281    unsafe { transmute(__lsx_vsubwod_d_wu(transmute(a), transmute(b))) }
    5282}
    5283
    5284#[inline]
    5285#[target_feature(enable = "lsx")]
    5286#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5287pub fn lsx_vsubwod_w_hu(a: m128i, b: m128i) -> m128i {
    5288    unsafe { transmute(__lsx_vsubwod_w_hu(transmute(a), transmute(b))) }
    5289}
    5290
    5291#[inline]
    5292#[target_feature(enable = "lsx")]
    5293#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5294pub fn lsx_vsubwod_h_bu(a: m128i, b: m128i) -> m128i {
    5295    unsafe { transmute(__lsx_vsubwod_h_bu(transmute(a), transmute(b))) }
    5296}
    5297
    5298#[inline]
    5299#[target_feature(enable = "lsx")]
    5300#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5301pub fn lsx_vaddwev_q_d(a: m128i, b: m128i) -> m128i {
    5302    unsafe { transmute(__lsx_vaddwev_q_d(transmute(a), transmute(b))) }
    5303}
    5304
    5305#[inline]
    5306#[target_feature(enable = "lsx")]
    5307#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5308pub fn lsx_vaddwod_q_d(a: m128i, b: m128i) -> m128i {
    5309    unsafe { transmute(__lsx_vaddwod_q_d(transmute(a), transmute(b))) }
    5310}
    5311
    5312#[inline]
    5313#[target_feature(enable = "lsx")]
    5314#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5315pub fn lsx_vaddwev_q_du(a: m128i, b: m128i) -> m128i {
    5316    unsafe { transmute(__lsx_vaddwev_q_du(transmute(a), transmute(b))) }
    5317}
    5318
    5319#[inline]
    5320#[target_feature(enable = "lsx")]
    5321#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5322pub fn lsx_vaddwod_q_du(a: m128i, b: m128i) -> m128i {
    5323    unsafe { transmute(__lsx_vaddwod_q_du(transmute(a), transmute(b))) }
    5324}
    5325
    5326#[inline]
    5327#[target_feature(enable = "lsx")]
    5328#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5329pub fn lsx_vsubwev_q_d(a: m128i, b: m128i) -> m128i {
    5330    unsafe { transmute(__lsx_vsubwev_q_d(transmute(a), transmute(b))) }
    5331}
    5332
    5333#[inline]
    5334#[target_feature(enable = "lsx")]
    5335#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5336pub fn lsx_vsubwod_q_d(a: m128i, b: m128i) -> m128i {
    5337    unsafe { transmute(__lsx_vsubwod_q_d(transmute(a), transmute(b))) }
    5338}
    5339
    5340#[inline]
    5341#[target_feature(enable = "lsx")]
    5342#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5343pub fn lsx_vsubwev_q_du(a: m128i, b: m128i) -> m128i {
    5344    unsafe { transmute(__lsx_vsubwev_q_du(transmute(a), transmute(b))) }
    5345}
    5346
    5347#[inline]
    5348#[target_feature(enable = "lsx")]
    5349#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5350pub fn lsx_vsubwod_q_du(a: m128i, b: m128i) -> m128i {
    5351    unsafe { transmute(__lsx_vsubwod_q_du(transmute(a), transmute(b))) }
    5352}
    5353
    5354#[inline]
    5355#[target_feature(enable = "lsx")]
    5356#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5357pub fn lsx_vaddwev_q_du_d(a: m128i, b: m128i) -> m128i {
    5358    unsafe { transmute(__lsx_vaddwev_q_du_d(transmute(a), transmute(b))) }
    5359}
    5360
    5361#[inline]
    5362#[target_feature(enable = "lsx")]
    5363#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5364pub fn lsx_vaddwod_q_du_d(a: m128i, b: m128i) -> m128i {
    5365    unsafe { transmute(__lsx_vaddwod_q_du_d(transmute(a), transmute(b))) }
    5366}
    5367
    5368#[inline]
    5369#[target_feature(enable = "lsx")]
    5370#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5371pub fn lsx_vmulwev_d_w(a: m128i, b: m128i) -> m128i {
    5372    unsafe { transmute(__lsx_vmulwev_d_w(transmute(a), transmute(b))) }
    5373}
    5374
    5375#[inline]
    5376#[target_feature(enable = "lsx")]
    5377#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5378pub fn lsx_vmulwev_w_h(a: m128i, b: m128i) -> m128i {
    5379    unsafe { transmute(__lsx_vmulwev_w_h(transmute(a), transmute(b))) }
    5380}
    5381
    5382#[inline]
    5383#[target_feature(enable = "lsx")]
    5384#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5385pub fn lsx_vmulwev_h_b(a: m128i, b: m128i) -> m128i {
    5386    unsafe { transmute(__lsx_vmulwev_h_b(transmute(a), transmute(b))) }
    5387}
    5388
    5389#[inline]
    5390#[target_feature(enable = "lsx")]
    5391#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5392pub fn lsx_vmulwod_d_w(a: m128i, b: m128i) -> m128i {
    5393    unsafe { transmute(__lsx_vmulwod_d_w(transmute(a), transmute(b))) }
    5394}
    5395
    5396#[inline]
    5397#[target_feature(enable = "lsx")]
    5398#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5399pub fn lsx_vmulwod_w_h(a: m128i, b: m128i) -> m128i {
    5400    unsafe { transmute(__lsx_vmulwod_w_h(transmute(a), transmute(b))) }
    5401}
    5402
    5403#[inline]
    5404#[target_feature(enable = "lsx")]
    5405#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5406pub fn lsx_vmulwod_h_b(a: m128i, b: m128i) -> m128i {
    5407    unsafe { transmute(__lsx_vmulwod_h_b(transmute(a), transmute(b))) }
    5408}
    5409
    5410#[inline]
    5411#[target_feature(enable = "lsx")]
    5412#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5413pub fn lsx_vmulwev_d_wu(a: m128i, b: m128i) -> m128i {
    5414    unsafe { transmute(__lsx_vmulwev_d_wu(transmute(a), transmute(b))) }
    5415}
    5416
    5417#[inline]
    5418#[target_feature(enable = "lsx")]
    5419#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5420pub fn lsx_vmulwev_w_hu(a: m128i, b: m128i) -> m128i {
    5421    unsafe { transmute(__lsx_vmulwev_w_hu(transmute(a), transmute(b))) }
    5422}
    5423
    5424#[inline]
    5425#[target_feature(enable = "lsx")]
    5426#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5427pub fn lsx_vmulwev_h_bu(a: m128i, b: m128i) -> m128i {
    5428    unsafe { transmute(__lsx_vmulwev_h_bu(transmute(a), transmute(b))) }
    5429}
    5430
    5431#[inline]
    5432#[target_feature(enable = "lsx")]
    5433#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5434pub fn lsx_vmulwod_d_wu(a: m128i, b: m128i) -> m128i {
    5435    unsafe { transmute(__lsx_vmulwod_d_wu(transmute(a), transmute(b))) }
    5436}
    5437
    5438#[inline]
    5439#[target_feature(enable = "lsx")]
    5440#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5441pub fn lsx_vmulwod_w_hu(a: m128i, b: m128i) -> m128i {
    5442    unsafe { transmute(__lsx_vmulwod_w_hu(transmute(a), transmute(b))) }
    5443}
    5444
    5445#[inline]
    5446#[target_feature(enable = "lsx")]
    5447#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5448pub fn lsx_vmulwod_h_bu(a: m128i, b: m128i) -> m128i {
    5449    unsafe { transmute(__lsx_vmulwod_h_bu(transmute(a), transmute(b))) }
    5450}
    5451
    5452#[inline]
    5453#[target_feature(enable = "lsx")]
    5454#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5455pub fn lsx_vmulwev_d_wu_w(a: m128i, b: m128i) -> m128i {
    5456    unsafe { transmute(__lsx_vmulwev_d_wu_w(transmute(a), transmute(b))) }
    5457}
    5458
    5459#[inline]
    5460#[target_feature(enable = "lsx")]
    5461#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5462pub fn lsx_vmulwev_w_hu_h(a: m128i, b: m128i) -> m128i {
    5463    unsafe { transmute(__lsx_vmulwev_w_hu_h(transmute(a), transmute(b))) }
    5464}
    5465
    5466#[inline]
    5467#[target_feature(enable = "lsx")]
    5468#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5469pub fn lsx_vmulwev_h_bu_b(a: m128i, b: m128i) -> m128i {
    5470    unsafe { transmute(__lsx_vmulwev_h_bu_b(transmute(a), transmute(b))) }
    5471}
    5472
    5473#[inline]
    5474#[target_feature(enable = "lsx")]
    5475#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5476pub fn lsx_vmulwod_d_wu_w(a: m128i, b: m128i) -> m128i {
    5477    unsafe { transmute(__lsx_vmulwod_d_wu_w(transmute(a), transmute(b))) }
    5478}
    5479
    5480#[inline]
    5481#[target_feature(enable = "lsx")]
    5482#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5483pub fn lsx_vmulwod_w_hu_h(a: m128i, b: m128i) -> m128i {
    5484    unsafe { transmute(__lsx_vmulwod_w_hu_h(transmute(a), transmute(b))) }
    5485}
    5486
    5487#[inline]
    5488#[target_feature(enable = "lsx")]
    5489#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5490pub fn lsx_vmulwod_h_bu_b(a: m128i, b: m128i) -> m128i {
    5491    unsafe { transmute(__lsx_vmulwod_h_bu_b(transmute(a), transmute(b))) }
    5492}
    5493
    5494#[inline]
    5495#[target_feature(enable = "lsx")]
    5496#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5497pub fn lsx_vmulwev_q_d(a: m128i, b: m128i) -> m128i {
    5498    unsafe { transmute(__lsx_vmulwev_q_d(transmute(a), transmute(b))) }
    5499}
    5500
    5501#[inline]
    5502#[target_feature(enable = "lsx")]
    5503#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5504pub fn lsx_vmulwod_q_d(a: m128i, b: m128i) -> m128i {
    5505    unsafe { transmute(__lsx_vmulwod_q_d(transmute(a), transmute(b))) }
    5506}
    5507
    5508#[inline]
    5509#[target_feature(enable = "lsx")]
    5510#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5511pub fn lsx_vmulwev_q_du(a: m128i, b: m128i) -> m128i {
    5512    unsafe { transmute(__lsx_vmulwev_q_du(transmute(a), transmute(b))) }
    5513}
    5514
    5515#[inline]
    5516#[target_feature(enable = "lsx")]
    5517#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5518pub fn lsx_vmulwod_q_du(a: m128i, b: m128i) -> m128i {
    5519    unsafe { transmute(__lsx_vmulwod_q_du(transmute(a), transmute(b))) }
    5520}
    5521
    5522#[inline]
    5523#[target_feature(enable = "lsx")]
    5524#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5525pub fn lsx_vmulwev_q_du_d(a: m128i, b: m128i) -> m128i {
    5526    unsafe { transmute(__lsx_vmulwev_q_du_d(transmute(a), transmute(b))) }
    5527}
    5528
    5529#[inline]
    5530#[target_feature(enable = "lsx")]
    5531#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5532pub fn lsx_vmulwod_q_du_d(a: m128i, b: m128i) -> m128i {
    5533    unsafe { transmute(__lsx_vmulwod_q_du_d(transmute(a), transmute(b))) }
    5534}
    5535
    5536#[inline]
    5537#[target_feature(enable = "lsx")]
    5538#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5539pub fn lsx_vhaddw_q_d(a: m128i, b: m128i) -> m128i {
    5540    unsafe { transmute(__lsx_vhaddw_q_d(transmute(a), transmute(b))) }
    5541}
    5542
    5543#[inline]
    5544#[target_feature(enable = "lsx")]
    5545#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5546pub fn lsx_vhaddw_qu_du(a: m128i, b: m128i) -> m128i {
    5547    unsafe { transmute(__lsx_vhaddw_qu_du(transmute(a), transmute(b))) }
    5548}
    5549
    5550#[inline]
    5551#[target_feature(enable = "lsx")]
    5552#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5553pub fn lsx_vhsubw_q_d(a: m128i, b: m128i) -> m128i {
    5554    unsafe { transmute(__lsx_vhsubw_q_d(transmute(a), transmute(b))) }
    5555}
    5556
    5557#[inline]
    5558#[target_feature(enable = "lsx")]
    5559#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5560pub fn lsx_vhsubw_qu_du(a: m128i, b: m128i) -> m128i {
    5561    unsafe { transmute(__lsx_vhsubw_qu_du(transmute(a), transmute(b))) }
    5562}
    5563
    5564#[inline]
    5565#[target_feature(enable = "lsx")]
    5566#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5567pub fn lsx_vmaddwev_d_w(a: m128i, b: m128i, c: m128i) -> m128i {
    5568    unsafe { transmute(__lsx_vmaddwev_d_w(transmute(a), transmute(b), transmute(c))) }
    5569}
    5570
    5571#[inline]
    5572#[target_feature(enable = "lsx")]
    5573#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5574pub fn lsx_vmaddwev_w_h(a: m128i, b: m128i, c: m128i) -> m128i {
    5575    unsafe { transmute(__lsx_vmaddwev_w_h(transmute(a), transmute(b), transmute(c))) }
    5576}
    5577
    5578#[inline]
    5579#[target_feature(enable = "lsx")]
    5580#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5581pub fn lsx_vmaddwev_h_b(a: m128i, b: m128i, c: m128i) -> m128i {
    5582    unsafe { transmute(__lsx_vmaddwev_h_b(transmute(a), transmute(b), transmute(c))) }
    5583}
    5584
    5585#[inline]
    5586#[target_feature(enable = "lsx")]
    5587#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5588pub fn lsx_vmaddwev_d_wu(a: m128i, b: m128i, c: m128i) -> m128i {
    5589    unsafe { transmute(__lsx_vmaddwev_d_wu(transmute(a), transmute(b), transmute(c))) }
    5590}
    5591
    5592#[inline]
    5593#[target_feature(enable = "lsx")]
    5594#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5595pub fn lsx_vmaddwev_w_hu(a: m128i, b: m128i, c: m128i) -> m128i {
    5596    unsafe { transmute(__lsx_vmaddwev_w_hu(transmute(a), transmute(b), transmute(c))) }
    5597}
    5598
    5599#[inline]
    5600#[target_feature(enable = "lsx")]
    5601#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5602pub fn lsx_vmaddwev_h_bu(a: m128i, b: m128i, c: m128i) -> m128i {
    5603    unsafe { transmute(__lsx_vmaddwev_h_bu(transmute(a), transmute(b), transmute(c))) }
    5604}
    5605
    5606#[inline]
    5607#[target_feature(enable = "lsx")]
    5608#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5609pub fn lsx_vmaddwod_d_w(a: m128i, b: m128i, c: m128i) -> m128i {
    5610    unsafe { transmute(__lsx_vmaddwod_d_w(transmute(a), transmute(b), transmute(c))) }
    5611}
    5612
    5613#[inline]
    5614#[target_feature(enable = "lsx")]
    5615#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5616pub fn lsx_vmaddwod_w_h(a: m128i, b: m128i, c: m128i) -> m128i {
    5617    unsafe { transmute(__lsx_vmaddwod_w_h(transmute(a), transmute(b), transmute(c))) }
    5618}
    5619
    5620#[inline]
    5621#[target_feature(enable = "lsx")]
    5622#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5623pub fn lsx_vmaddwod_h_b(a: m128i, b: m128i, c: m128i) -> m128i {
    5624    unsafe { transmute(__lsx_vmaddwod_h_b(transmute(a), transmute(b), transmute(c))) }
    5625}
    5626
    5627#[inline]
    5628#[target_feature(enable = "lsx")]
    5629#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5630pub fn lsx_vmaddwod_d_wu(a: m128i, b: m128i, c: m128i) -> m128i {
    5631    unsafe { transmute(__lsx_vmaddwod_d_wu(transmute(a), transmute(b), transmute(c))) }
    5632}
    5633
    5634#[inline]
    5635#[target_feature(enable = "lsx")]
    5636#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5637pub fn lsx_vmaddwod_w_hu(a: m128i, b: m128i, c: m128i) -> m128i {
    5638    unsafe { transmute(__lsx_vmaddwod_w_hu(transmute(a), transmute(b), transmute(c))) }
    5639}
    5640
    5641#[inline]
    5642#[target_feature(enable = "lsx")]
    5643#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5644pub fn lsx_vmaddwod_h_bu(a: m128i, b: m128i, c: m128i) -> m128i {
    5645    unsafe { transmute(__lsx_vmaddwod_h_bu(transmute(a), transmute(b), transmute(c))) }
    5646}
    5647
    5648#[inline]
    5649#[target_feature(enable = "lsx")]
    5650#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5651pub fn lsx_vmaddwev_d_wu_w(a: m128i, b: m128i, c: m128i) -> m128i {
    5652    unsafe { transmute(__lsx_vmaddwev_d_wu_w(transmute(a), transmute(b), transmute(c))) }
    5653}
    5654
    5655#[inline]
    5656#[target_feature(enable = "lsx")]
    5657#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5658pub fn lsx_vmaddwev_w_hu_h(a: m128i, b: m128i, c: m128i) -> m128i {
    5659    unsafe { transmute(__lsx_vmaddwev_w_hu_h(transmute(a), transmute(b), transmute(c))) }
    5660}
    5661
    5662#[inline]
    5663#[target_feature(enable = "lsx")]
    5664#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5665pub fn lsx_vmaddwev_h_bu_b(a: m128i, b: m128i, c: m128i) -> m128i {
    5666    unsafe { transmute(__lsx_vmaddwev_h_bu_b(transmute(a), transmute(b), transmute(c))) }
    5667}
    5668
    5669#[inline]
    5670#[target_feature(enable = "lsx")]
    5671#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5672pub fn lsx_vmaddwod_d_wu_w(a: m128i, b: m128i, c: m128i) -> m128i {
    5673    unsafe { transmute(__lsx_vmaddwod_d_wu_w(transmute(a), transmute(b), transmute(c))) }
    5674}
    5675
    5676#[inline]
    5677#[target_feature(enable = "lsx")]
    5678#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5679pub fn lsx_vmaddwod_w_hu_h(a: m128i, b: m128i, c: m128i) -> m128i {
    5680    unsafe { transmute(__lsx_vmaddwod_w_hu_h(transmute(a), transmute(b), transmute(c))) }
    5681}
    5682
    5683#[inline]
    5684#[target_feature(enable = "lsx")]
    5685#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5686pub fn lsx_vmaddwod_h_bu_b(a: m128i, b: m128i, c: m128i) -> m128i {
    5687    unsafe { transmute(__lsx_vmaddwod_h_bu_b(transmute(a), transmute(b), transmute(c))) }
    5688}
    5689
    5690#[inline]
    5691#[target_feature(enable = "lsx")]
    5692#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5693pub fn lsx_vmaddwev_q_d(a: m128i, b: m128i, c: m128i) -> m128i {
    5694    unsafe { transmute(__lsx_vmaddwev_q_d(transmute(a), transmute(b), transmute(c))) }
    5695}
    5696
    5697#[inline]
    5698#[target_feature(enable = "lsx")]
    5699#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5700pub fn lsx_vmaddwod_q_d(a: m128i, b: m128i, c: m128i) -> m128i {
    5701    unsafe { transmute(__lsx_vmaddwod_q_d(transmute(a), transmute(b), transmute(c))) }
    5702}
    5703
    5704#[inline]
    5705#[target_feature(enable = "lsx")]
    5706#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5707pub fn lsx_vmaddwev_q_du(a: m128i, b: m128i, c: m128i) -> m128i {
    5708    unsafe { transmute(__lsx_vmaddwev_q_du(transmute(a), transmute(b), transmute(c))) }
    5709}
    5710
    5711#[inline]
    5712#[target_feature(enable = "lsx")]
    5713#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5714pub fn lsx_vmaddwod_q_du(a: m128i, b: m128i, c: m128i) -> m128i {
    5715    unsafe { transmute(__lsx_vmaddwod_q_du(transmute(a), transmute(b), transmute(c))) }
    5716}
    5717
    5718#[inline]
    5719#[target_feature(enable = "lsx")]
    5720#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5721pub fn lsx_vmaddwev_q_du_d(a: m128i, b: m128i, c: m128i) -> m128i {
    5722    unsafe { transmute(__lsx_vmaddwev_q_du_d(transmute(a), transmute(b), transmute(c))) }
    5723}
    5724
    5725#[inline]
    5726#[target_feature(enable = "lsx")]
    5727#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5728pub fn lsx_vmaddwod_q_du_d(a: m128i, b: m128i, c: m128i) -> m128i {
    5729    unsafe { transmute(__lsx_vmaddwod_q_du_d(transmute(a), transmute(b), transmute(c))) }
    5730}
    5731
    5732#[inline]
    5733#[target_feature(enable = "lsx")]
    5734#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5735pub fn lsx_vrotr_b(a: m128i, b: m128i) -> m128i {
    5736    unsafe { transmute(__lsx_vrotr_b(transmute(a), transmute(b))) }
    5737}
    5738
    5739#[inline]
    5740#[target_feature(enable = "lsx")]
    5741#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5742pub fn lsx_vrotr_h(a: m128i, b: m128i) -> m128i {
    5743    unsafe { transmute(__lsx_vrotr_h(transmute(a), transmute(b))) }
    5744}
    5745
    5746#[inline]
    5747#[target_feature(enable = "lsx")]
    5748#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5749pub fn lsx_vrotr_w(a: m128i, b: m128i) -> m128i {
    5750    unsafe { transmute(__lsx_vrotr_w(transmute(a), transmute(b))) }
    5751}
    5752
    5753#[inline]
    5754#[target_feature(enable = "lsx")]
    5755#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5756pub fn lsx_vrotr_d(a: m128i, b: m128i) -> m128i {
    5757    unsafe { transmute(__lsx_vrotr_d(transmute(a), transmute(b))) }
    5758}
    5759
    5760#[inline]
    5761#[target_feature(enable = "lsx")]
    5762#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5763pub fn lsx_vadd_q(a: m128i, b: m128i) -> m128i {
    5764    unsafe { transmute(__lsx_vadd_q(transmute(a), transmute(b))) }
    5765}
    5766
    5767#[inline]
    5768#[target_feature(enable = "lsx")]
    5769#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5770pub fn lsx_vsub_q(a: m128i, b: m128i) -> m128i {
    5771    unsafe { transmute(__lsx_vsub_q(transmute(a), transmute(b))) }
    5772}
    5773
    5774#[inline]
    5775#[target_feature(enable = "lsx")]
    5776#[rustc_legacy_const_generics(1)]
    5777#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5778pub unsafe fn lsx_vldrepl_b<const IMM_S12: i32>(mem_addr: *const i8) -> m128i {
    5779    static_assert_simm_bits!(IMM_S12, 12);
    5780    transmute(__lsx_vldrepl_b(mem_addr, IMM_S12))
    5781}
    5782
    5783#[inline]
    5784#[target_feature(enable = "lsx")]
    5785#[rustc_legacy_const_generics(1)]
    5786#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5787pub unsafe fn lsx_vldrepl_h<const IMM_S11: i32>(mem_addr: *const i8) -> m128i {
    5788    static_assert_simm_bits!(IMM_S11, 11);
    5789    transmute(__lsx_vldrepl_h(mem_addr, IMM_S11))
    5790}
    5791
    5792#[inline]
    5793#[target_feature(enable = "lsx")]
    5794#[rustc_legacy_const_generics(1)]
    5795#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5796pub unsafe fn lsx_vldrepl_w<const IMM_S10: i32>(mem_addr: *const i8) -> m128i {
    5797    static_assert_simm_bits!(IMM_S10, 10);
    5798    transmute(__lsx_vldrepl_w(mem_addr, IMM_S10))
    5799}
    5800
    5801#[inline]
    5802#[target_feature(enable = "lsx")]
    5803#[rustc_legacy_const_generics(1)]
    5804#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5805pub unsafe fn lsx_vldrepl_d<const IMM_S9: i32>(mem_addr: *const i8) -> m128i {
    5806    static_assert_simm_bits!(IMM_S9, 9);
    5807    transmute(__lsx_vldrepl_d(mem_addr, IMM_S9))
    5808}
    5809
    5810#[inline]
    5811#[target_feature(enable = "lsx")]
    5812#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5813pub fn lsx_vmskgez_b(a: m128i) -> m128i {
    5814    unsafe { transmute(__lsx_vmskgez_b(transmute(a))) }
    5815}
    5816
    5817#[inline]
    5818#[target_feature(enable = "lsx")]
    5819#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5820pub fn lsx_vmsknz_b(a: m128i) -> m128i {
    5821    unsafe { transmute(__lsx_vmsknz_b(transmute(a))) }
    5822}
    5823
    5824#[inline]
    5825#[target_feature(enable = "lsx")]
    5826#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5827pub fn lsx_vexth_h_b(a: m128i) -> m128i {
    5828    unsafe { transmute(__lsx_vexth_h_b(transmute(a))) }
    5829}
    5830
    5831#[inline]
    5832#[target_feature(enable = "lsx")]
    5833#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5834pub fn lsx_vexth_w_h(a: m128i) -> m128i {
    5835    unsafe { transmute(__lsx_vexth_w_h(transmute(a))) }
    5836}
    5837
    5838#[inline]
    5839#[target_feature(enable = "lsx")]
    5840#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5841pub fn lsx_vexth_d_w(a: m128i) -> m128i {
    5842    unsafe { transmute(__lsx_vexth_d_w(transmute(a))) }
    5843}
    5844
    5845#[inline]
    5846#[target_feature(enable = "lsx")]
    5847#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5848pub fn lsx_vexth_q_d(a: m128i) -> m128i {
    5849    unsafe { transmute(__lsx_vexth_q_d(transmute(a))) }
    5850}
    5851
    5852#[inline]
    5853#[target_feature(enable = "lsx")]
    5854#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5855pub fn lsx_vexth_hu_bu(a: m128i) -> m128i {
    5856    unsafe { transmute(__lsx_vexth_hu_bu(transmute(a))) }
    5857}
    5858
    5859#[inline]
    5860#[target_feature(enable = "lsx")]
    5861#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5862pub fn lsx_vexth_wu_hu(a: m128i) -> m128i {
    5863    unsafe { transmute(__lsx_vexth_wu_hu(transmute(a))) }
    5864}
    5865
    5866#[inline]
    5867#[target_feature(enable = "lsx")]
    5868#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5869pub fn lsx_vexth_du_wu(a: m128i) -> m128i {
    5870    unsafe { transmute(__lsx_vexth_du_wu(transmute(a))) }
    5871}
    5872
    5873#[inline]
    5874#[target_feature(enable = "lsx")]
    5875#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5876pub fn lsx_vexth_qu_du(a: m128i) -> m128i {
    5877    unsafe { transmute(__lsx_vexth_qu_du(transmute(a))) }
    5878}
    5879
    5880#[inline]
    5881#[target_feature(enable = "lsx")]
    5882#[rustc_legacy_const_generics(1)]
    5883#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5884pub fn lsx_vrotri_b<const IMM3: u32>(a: m128i) -> m128i {
    5885    static_assert_uimm_bits!(IMM3, 3);
    5886    unsafe { transmute(__lsx_vrotri_b(transmute(a), IMM3)) }
    5887}
    5888
    5889#[inline]
    5890#[target_feature(enable = "lsx")]
    5891#[rustc_legacy_const_generics(1)]
    5892#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5893pub fn lsx_vrotri_h<const IMM4: u32>(a: m128i) -> m128i {
    5894    static_assert_uimm_bits!(IMM4, 4);
    5895    unsafe { transmute(__lsx_vrotri_h(transmute(a), IMM4)) }
    5896}
    5897
    5898#[inline]
    5899#[target_feature(enable = "lsx")]
    5900#[rustc_legacy_const_generics(1)]
    5901#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5902pub fn lsx_vrotri_w<const IMM5: u32>(a: m128i) -> m128i {
    5903    static_assert_uimm_bits!(IMM5, 5);
    5904    unsafe { transmute(__lsx_vrotri_w(transmute(a), IMM5)) }
    5905}
    5906
    5907#[inline]
    5908#[target_feature(enable = "lsx")]
    5909#[rustc_legacy_const_generics(1)]
    5910#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5911pub fn lsx_vrotri_d<const IMM6: u32>(a: m128i) -> m128i {
    5912    static_assert_uimm_bits!(IMM6, 6);
    5913    unsafe { transmute(__lsx_vrotri_d(transmute(a), IMM6)) }
    5914}
    5915
    5916#[inline]
    5917#[target_feature(enable = "lsx")]
    5918#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5919pub fn lsx_vextl_q_d(a: m128i) -> m128i {
    5920    unsafe { transmute(__lsx_vextl_q_d(transmute(a))) }
    5921}
    5922
    5923#[inline]
    5924#[target_feature(enable = "lsx")]
    5925#[rustc_legacy_const_generics(2)]
    5926#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5927pub fn lsx_vsrlni_b_h<const IMM4: u32>(a: m128i, b: m128i) -> m128i {
    5928    static_assert_uimm_bits!(IMM4, 4);
    5929    unsafe { transmute(__lsx_vsrlni_b_h(transmute(a), transmute(b), IMM4)) }
    5930}
    5931
    5932#[inline]
    5933#[target_feature(enable = "lsx")]
    5934#[rustc_legacy_const_generics(2)]
    5935#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5936pub fn lsx_vsrlni_h_w<const IMM5: u32>(a: m128i, b: m128i) -> m128i {
    5937    static_assert_uimm_bits!(IMM5, 5);
    5938    unsafe { transmute(__lsx_vsrlni_h_w(transmute(a), transmute(b), IMM5)) }
    5939}
    5940
    5941#[inline]
    5942#[target_feature(enable = "lsx")]
    5943#[rustc_legacy_const_generics(2)]
    5944#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5945pub fn lsx_vsrlni_w_d<const IMM6: u32>(a: m128i, b: m128i) -> m128i {
    5946    static_assert_uimm_bits!(IMM6, 6);
    5947    unsafe { transmute(__lsx_vsrlni_w_d(transmute(a), transmute(b), IMM6)) }
    5948}
    5949
    5950#[inline]
    5951#[target_feature(enable = "lsx")]
    5952#[rustc_legacy_const_generics(2)]
    5953#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5954pub fn lsx_vsrlni_d_q<const IMM7: u32>(a: m128i, b: m128i) -> m128i {
    5955    static_assert_uimm_bits!(IMM7, 7);
    5956    unsafe { transmute(__lsx_vsrlni_d_q(transmute(a), transmute(b), IMM7)) }
    5957}
    5958
    5959#[inline]
    5960#[target_feature(enable = "lsx")]
    5961#[rustc_legacy_const_generics(2)]
    5962#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5963pub fn lsx_vsrlrni_b_h<const IMM4: u32>(a: m128i, b: m128i) -> m128i {
    5964    static_assert_uimm_bits!(IMM4, 4);
    5965    unsafe { transmute(__lsx_vsrlrni_b_h(transmute(a), transmute(b), IMM4)) }
    5966}
    5967
    5968#[inline]
    5969#[target_feature(enable = "lsx")]
    5970#[rustc_legacy_const_generics(2)]
    5971#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5972pub fn lsx_vsrlrni_h_w<const IMM5: u32>(a: m128i, b: m128i) -> m128i {
    5973    static_assert_uimm_bits!(IMM5, 5);
    5974    unsafe { transmute(__lsx_vsrlrni_h_w(transmute(a), transmute(b), IMM5)) }
    5975}
    5976
    5977#[inline]
    5978#[target_feature(enable = "lsx")]
    5979#[rustc_legacy_const_generics(2)]
    5980#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5981pub fn lsx_vsrlrni_w_d<const IMM6: u32>(a: m128i, b: m128i) -> m128i {
    5982    static_assert_uimm_bits!(IMM6, 6);
    5983    unsafe { transmute(__lsx_vsrlrni_w_d(transmute(a), transmute(b), IMM6)) }
    5984}
    5985
    5986#[inline]
    5987#[target_feature(enable = "lsx")]
    5988#[rustc_legacy_const_generics(2)]
    5989#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5990pub fn lsx_vsrlrni_d_q<const IMM7: u32>(a: m128i, b: m128i) -> m128i {
    5991    static_assert_uimm_bits!(IMM7, 7);
    5992    unsafe { transmute(__lsx_vsrlrni_d_q(transmute(a), transmute(b), IMM7)) }
    5993}
    5994
    5995#[inline]
    5996#[target_feature(enable = "lsx")]
    5997#[rustc_legacy_const_generics(2)]
    5998#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    5999pub fn lsx_vssrlni_b_h<const IMM4: u32>(a: m128i, b: m128i) -> m128i {
    6000    static_assert_uimm_bits!(IMM4, 4);
    6001    unsafe { transmute(__lsx_vssrlni_b_h(transmute(a), transmute(b), IMM4)) }
    6002}
    6003
    6004#[inline]
    6005#[target_feature(enable = "lsx")]
    6006#[rustc_legacy_const_generics(2)]
    6007#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    6008pub fn lsx_vssrlni_h_w<const IMM5: u32>(a: m128i, b: m128i) -> m128i {
    6009    static_assert_uimm_bits!(IMM5, 5);
    6010    unsafe { transmute(__lsx_vssrlni_h_w(transmute(a), transmute(b), IMM5)) }
    6011}
    6012
    6013#[inline]
    6014#[target_feature(enable = "lsx")]
    6015#[rustc_legacy_const_generics(2)]
    6016#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    6017pub fn lsx_vssrlni_w_d<const IMM6: u32>(a: m128i, b: m128i) -> m128i {
    6018    static_assert_uimm_bits!(IMM6, 6);
    6019    unsafe { transmute(__lsx_vssrlni_w_d(transmute(a), transmute(b), IMM6)) }
    6020}
    6021
    6022#[inline]
    6023#[target_feature(enable = "lsx")]
    6024#[rustc_legacy_const_generics(2)]
    6025#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    6026pub fn lsx_vssrlni_d_q<const IMM7: u32>(a: m128i, b: m128i) -> m128i {
    6027    static_assert_uimm_bits!(IMM7, 7);
    6028    unsafe { transmute(__lsx_vssrlni_d_q(transmute(a), transmute(b), IMM7)) }
    6029}
    6030
    6031#[inline]
    6032#[target_feature(enable = "lsx")]
    6033#[rustc_legacy_const_generics(2)]
    6034#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    6035pub fn lsx_vssrlni_bu_h<const IMM4: u32>(a: m128i, b: m128i) -> m128i {
    6036    static_assert_uimm_bits!(IMM4, 4);
    6037    unsafe { transmute(__lsx_vssrlni_bu_h(transmute(a), transmute(b), IMM4)) }
    6038}
    6039
    6040#[inline]
    6041#[target_feature(enable = "lsx")]
    6042#[rustc_legacy_const_generics(2)]
    6043#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    6044pub fn lsx_vssrlni_hu_w<const IMM5: u32>(a: m128i, b: m128i) -> m128i {
    6045    static_assert_uimm_bits!(IMM5, 5);
    6046    unsafe { transmute(__lsx_vssrlni_hu_w(transmute(a), transmute(b), IMM5)) }
    6047}
    6048
    6049#[inline]
    6050#[target_feature(enable = "lsx")]
    6051#[rustc_legacy_const_generics(2)]
    6052#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    6053pub fn lsx_vssrlni_wu_d<const IMM6: u32>(a: m128i, b: m128i) -> m128i {
    6054    static_assert_uimm_bits!(IMM6, 6);
    6055    unsafe { transmute(__lsx_vssrlni_wu_d(transmute(a), transmute(b), IMM6)) }
    6056}
    6057
    6058#[inline]
    6059#[target_feature(enable = "lsx")]
    6060#[rustc_legacy_const_generics(2)]
    6061#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    6062pub fn lsx_vssrlni_du_q<const IMM7: u32>(a: m128i, b: m128i) -> m128i {
    6063    static_assert_uimm_bits!(IMM7, 7);
    6064    unsafe { transmute(__lsx_vssrlni_du_q(transmute(a), transmute(b), IMM7)) }
    6065}
    6066
    6067#[inline]
    6068#[target_feature(enable = "lsx")]
    6069#[rustc_legacy_const_generics(2)]
    6070#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    6071pub fn lsx_vssrlrni_b_h<const IMM4: u32>(a: m128i, b: m128i) -> m128i {
    6072    static_assert_uimm_bits!(IMM4, 4);
    6073    unsafe { transmute(__lsx_vssrlrni_b_h(transmute(a), transmute(b), IMM4)) }
    6074}
    6075
    6076#[inline]
    6077#[target_feature(enable = "lsx")]
    6078#[rustc_legacy_const_generics(2)]
    6079#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    6080pub fn lsx_vssrlrni_h_w<const IMM5: u32>(a: m128i, b: m128i) -> m128i {
    6081    static_assert_uimm_bits!(IMM5, 5);
    6082    unsafe { transmute(__lsx_vssrlrni_h_w(transmute(a), transmute(b), IMM5)) }
    6083}
    6084
    6085#[inline]
    6086#[target_feature(enable = "lsx")]
    6087#[rustc_legacy_const_generics(2)]
    6088#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    6089pub fn lsx_vssrlrni_w_d<const IMM6: u32>(a: m128i, b: m128i) -> m128i {
    6090    static_assert_uimm_bits!(IMM6, 6);
    6091    unsafe { transmute(__lsx_vssrlrni_w_d(transmute(a), transmute(b), IMM6)) }
    6092}
    6093
    6094#[inline]
    6095#[target_feature(enable = "lsx")]
    6096#[rustc_legacy_const_generics(2)]
    6097#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    6098pub fn lsx_vssrlrni_d_q<const IMM7: u32>(a: m128i, b: m128i) -> m128i {
    6099    static_assert_uimm_bits!(IMM7, 7);
    6100    unsafe { transmute(__lsx_vssrlrni_d_q(transmute(a), transmute(b), IMM7)) }
    6101}
    6102
    6103#[inline]
    6104#[target_feature(enable = "lsx")]
    6105#[rustc_legacy_const_generics(2)]
    6106#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    6107pub fn lsx_vssrlrni_bu_h<const IMM4: u32>(a: m128i, b: m128i) -> m128i {
    6108    static_assert_uimm_bits!(IMM4, 4);
    6109    unsafe { transmute(__lsx_vssrlrni_bu_h(transmute(a), transmute(b), IMM4)) }
    6110}
    6111
    6112#[inline]
    6113#[target_feature(enable = "lsx")]
    6114#[rustc_legacy_const_generics(2)]
    6115#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    6116pub fn lsx_vssrlrni_hu_w<const IMM5: u32>(a: m128i, b: m128i) -> m128i {
    6117    static_assert_uimm_bits!(IMM5, 5);
    6118    unsafe { transmute(__lsx_vssrlrni_hu_w(transmute(a), transmute(b), IMM5)) }
    6119}
    6120
    6121#[inline]
    6122#[target_feature(enable = "lsx")]
    6123#[rustc_legacy_const_generics(2)]
    6124#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    6125pub fn lsx_vssrlrni_wu_d<const IMM6: u32>(a: m128i, b: m128i) -> m128i {
    6126    static_assert_uimm_bits!(IMM6, 6);
    6127    unsafe { transmute(__lsx_vssrlrni_wu_d(transmute(a), transmute(b), IMM6)) }
    6128}
    6129
    6130#[inline]
    6131#[target_feature(enable = "lsx")]
    6132#[rustc_legacy_const_generics(2)]
    6133#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    6134pub fn lsx_vssrlrni_du_q<const IMM7: u32>(a: m128i, b: m128i) -> m128i {
    6135    static_assert_uimm_bits!(IMM7, 7);
    6136    unsafe { transmute(__lsx_vssrlrni_du_q(transmute(a), transmute(b), IMM7)) }
    6137}
    6138
    6139#[inline]
    6140#[target_feature(enable = "lsx")]
    6141#[rustc_legacy_const_generics(2)]
    6142#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    6143pub fn lsx_vsrani_b_h<const IMM4: u32>(a: m128i, b: m128i) -> m128i {
    6144    static_assert_uimm_bits!(IMM4, 4);
    6145    unsafe { transmute(__lsx_vsrani_b_h(transmute(a), transmute(b), IMM4)) }
    6146}
    6147
    6148#[inline]
    6149#[target_feature(enable = "lsx")]
    6150#[rustc_legacy_const_generics(2)]
    6151#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    6152pub fn lsx_vsrani_h_w<const IMM5: u32>(a: m128i, b: m128i) -> m128i {
    6153    static_assert_uimm_bits!(IMM5, 5);
    6154    unsafe { transmute(__lsx_vsrani_h_w(transmute(a), transmute(b), IMM5)) }
    6155}
    6156
    6157#[inline]
    6158#[target_feature(enable = "lsx")]
    6159#[rustc_legacy_const_generics(2)]
    6160#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    6161pub fn lsx_vsrani_w_d<const IMM6: u32>(a: m128i, b: m128i) -> m128i {
    6162    static_assert_uimm_bits!(IMM6, 6);
    6163    unsafe { transmute(__lsx_vsrani_w_d(transmute(a), transmute(b), IMM6)) }
    6164}
    6165
    6166#[inline]
    6167#[target_feature(enable = "lsx")]
    6168#[rustc_legacy_const_generics(2)]
    6169#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    6170pub fn lsx_vsrani_d_q<const IMM7: u32>(a: m128i, b: m128i) -> m128i {
    6171    static_assert_uimm_bits!(IMM7, 7);
    6172    unsafe { transmute(__lsx_vsrani_d_q(transmute(a), transmute(b), IMM7)) }
    6173}
    6174
    6175#[inline]
    6176#[target_feature(enable = "lsx")]
    6177#[rustc_legacy_const_generics(2)]
    6178#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    6179pub fn lsx_vsrarni_b_h<const IMM4: u32>(a: m128i, b: m128i) -> m128i {
    6180    static_assert_uimm_bits!(IMM4, 4);
    6181    unsafe { transmute(__lsx_vsrarni_b_h(transmute(a), transmute(b), IMM4)) }
    6182}
    6183
    6184#[inline]
    6185#[target_feature(enable = "lsx")]
    6186#[rustc_legacy_const_generics(2)]
    6187#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    6188pub fn lsx_vsrarni_h_w<const IMM5: u32>(a: m128i, b: m128i) -> m128i {
    6189    static_assert_uimm_bits!(IMM5, 5);
    6190    unsafe { transmute(__lsx_vsrarni_h_w(transmute(a), transmute(b), IMM5)) }
    6191}
    6192
    6193#[inline]
    6194#[target_feature(enable = "lsx")]
    6195#[rustc_legacy_const_generics(2)]
    6196#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    6197pub fn lsx_vsrarni_w_d<const IMM6: u32>(a: m128i, b: m128i) -> m128i {
    6198    static_assert_uimm_bits!(IMM6, 6);
    6199    unsafe { transmute(__lsx_vsrarni_w_d(transmute(a), transmute(b), IMM6)) }
    6200}
    6201
    6202#[inline]
    6203#[target_feature(enable = "lsx")]
    6204#[rustc_legacy_const_generics(2)]
    6205#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    6206pub fn lsx_vsrarni_d_q<const IMM7: u32>(a: m128i, b: m128i) -> m128i {
    6207    static_assert_uimm_bits!(IMM7, 7);
    6208    unsafe { transmute(__lsx_vsrarni_d_q(transmute(a), transmute(b), IMM7)) }
    6209}
    6210
    6211#[inline]
    6212#[target_feature(enable = "lsx")]
    6213#[rustc_legacy_const_generics(2)]
    6214#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    6215pub fn lsx_vssrani_b_h<const IMM4: u32>(a: m128i, b: m128i) -> m128i {
    6216    static_assert_uimm_bits!(IMM4, 4);
    6217    unsafe { transmute(__lsx_vssrani_b_h(transmute(a), transmute(b), IMM4)) }
    6218}
    6219
    6220#[inline]
    6221#[target_feature(enable = "lsx")]
    6222#[rustc_legacy_const_generics(2)]
    6223#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    6224pub fn lsx_vssrani_h_w<const IMM5: u32>(a: m128i, b: m128i) -> m128i {
    6225    static_assert_uimm_bits!(IMM5, 5);
    6226    unsafe { transmute(__lsx_vssrani_h_w(transmute(a), transmute(b), IMM5)) }
    6227}
    6228
    6229#[inline]
    6230#[target_feature(enable = "lsx")]
    6231#[rustc_legacy_const_generics(2)]
    6232#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    6233pub fn lsx_vssrani_w_d<const IMM6: u32>(a: m128i, b: m128i) -> m128i {
    6234    static_assert_uimm_bits!(IMM6, 6);
    6235    unsafe { transmute(__lsx_vssrani_w_d(transmute(a), transmute(b), IMM6)) }
    6236}
    6237
    6238#[inline]
    6239#[target_feature(enable = "lsx")]
    6240#[rustc_legacy_const_generics(2)]
    6241#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    6242pub fn lsx_vssrani_d_q<const IMM7: u32>(a: m128i, b: m128i) -> m128i {
    6243    static_assert_uimm_bits!(IMM7, 7);
    6244    unsafe { transmute(__lsx_vssrani_d_q(transmute(a), transmute(b), IMM7)) }
    6245}
    6246
    6247#[inline]
    6248#[target_feature(enable = "lsx")]
    6249#[rustc_legacy_const_generics(2)]
    6250#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    6251pub fn lsx_vssrani_bu_h<const IMM4: u32>(a: m128i, b: m128i) -> m128i {
    6252    static_assert_uimm_bits!(IMM4, 4);
    6253    unsafe { transmute(__lsx_vssrani_bu_h(transmute(a), transmute(b), IMM4)) }
    6254}
    6255
    6256#[inline]
    6257#[target_feature(enable = "lsx")]
    6258#[rustc_legacy_const_generics(2)]
    6259#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    6260pub fn lsx_vssrani_hu_w<const IMM5: u32>(a: m128i, b: m128i) -> m128i {
    6261    static_assert_uimm_bits!(IMM5, 5);
    6262    unsafe { transmute(__lsx_vssrani_hu_w(transmute(a), transmute(b), IMM5)) }
    6263}
    6264
    6265#[inline]
    6266#[target_feature(enable = "lsx")]
    6267#[rustc_legacy_const_generics(2)]
    6268#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    6269pub fn lsx_vssrani_wu_d<const IMM6: u32>(a: m128i, b: m128i) -> m128i {
    6270    static_assert_uimm_bits!(IMM6, 6);
    6271    unsafe { transmute(__lsx_vssrani_wu_d(transmute(a), transmute(b), IMM6)) }
    6272}
    6273
    6274#[inline]
    6275#[target_feature(enable = "lsx")]
    6276#[rustc_legacy_const_generics(2)]
    6277#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    6278pub fn lsx_vssrani_du_q<const IMM7: u32>(a: m128i, b: m128i) -> m128i {
    6279    static_assert_uimm_bits!(IMM7, 7);
    6280    unsafe { transmute(__lsx_vssrani_du_q(transmute(a), transmute(b), IMM7)) }
    6281}
    6282
    6283#[inline]
    6284#[target_feature(enable = "lsx")]
    6285#[rustc_legacy_const_generics(2)]
    6286#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    6287pub fn lsx_vssrarni_b_h<const IMM4: u32>(a: m128i, b: m128i) -> m128i {
    6288    static_assert_uimm_bits!(IMM4, 4);
    6289    unsafe { transmute(__lsx_vssrarni_b_h(transmute(a), transmute(b), IMM4)) }
    6290}
    6291
    6292#[inline]
    6293#[target_feature(enable = "lsx")]
    6294#[rustc_legacy_const_generics(2)]
    6295#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    6296pub fn lsx_vssrarni_h_w<const IMM5: u32>(a: m128i, b: m128i) -> m128i {
    6297    static_assert_uimm_bits!(IMM5, 5);
    6298    unsafe { transmute(__lsx_vssrarni_h_w(transmute(a), transmute(b), IMM5)) }
    6299}
    6300
    6301#[inline]
    6302#[target_feature(enable = "lsx")]
    6303#[rustc_legacy_const_generics(2)]
    6304#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    6305pub fn lsx_vssrarni_w_d<const IMM6: u32>(a: m128i, b: m128i) -> m128i {
    6306    static_assert_uimm_bits!(IMM6, 6);
    6307    unsafe { transmute(__lsx_vssrarni_w_d(transmute(a), transmute(b), IMM6)) }
    6308}
    6309
    6310#[inline]
    6311#[target_feature(enable = "lsx")]
    6312#[rustc_legacy_const_generics(2)]
    6313#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    6314pub fn lsx_vssrarni_d_q<const IMM7: u32>(a: m128i, b: m128i) -> m128i {
    6315    static_assert_uimm_bits!(IMM7, 7);
    6316    unsafe { transmute(__lsx_vssrarni_d_q(transmute(a), transmute(b), IMM7)) }
    6317}
    6318
    6319#[inline]
    6320#[target_feature(enable = "lsx")]
    6321#[rustc_legacy_const_generics(2)]
    6322#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    6323pub fn lsx_vssrarni_bu_h<const IMM4: u32>(a: m128i, b: m128i) -> m128i {
    6324    static_assert_uimm_bits!(IMM4, 4);
    6325    unsafe { transmute(__lsx_vssrarni_bu_h(transmute(a), transmute(b), IMM4)) }
    6326}
    6327
    6328#[inline]
    6329#[target_feature(enable = "lsx")]
    6330#[rustc_legacy_const_generics(2)]
    6331#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    6332pub fn lsx_vssrarni_hu_w<const IMM5: u32>(a: m128i, b: m128i) -> m128i {
    6333    static_assert_uimm_bits!(IMM5, 5);
    6334    unsafe { transmute(__lsx_vssrarni_hu_w(transmute(a), transmute(b), IMM5)) }
    6335}
    6336
    6337#[inline]
    6338#[target_feature(enable = "lsx")]
    6339#[rustc_legacy_const_generics(2)]
    6340#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    6341pub fn lsx_vssrarni_wu_d<const IMM6: u32>(a: m128i, b: m128i) -> m128i {
    6342    static_assert_uimm_bits!(IMM6, 6);
    6343    unsafe { transmute(__lsx_vssrarni_wu_d(transmute(a), transmute(b), IMM6)) }
    6344}
    6345
    6346#[inline]
    6347#[target_feature(enable = "lsx")]
    6348#[rustc_legacy_const_generics(2)]
    6349#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    6350pub fn lsx_vssrarni_du_q<const IMM7: u32>(a: m128i, b: m128i) -> m128i {
    6351    static_assert_uimm_bits!(IMM7, 7);
    6352    unsafe { transmute(__lsx_vssrarni_du_q(transmute(a), transmute(b), IMM7)) }
    6353}
    6354
    6355#[inline]
    6356#[target_feature(enable = "lsx")]
    6357#[rustc_legacy_const_generics(2)]
    6358#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    6359pub fn lsx_vpermi_w<const IMM8: u32>(a: m128i, b: m128i) -> m128i {
    6360    static_assert_uimm_bits!(IMM8, 8);
    6361    unsafe { transmute(__lsx_vpermi_w(transmute(a), transmute(b), IMM8)) }
    6362}
    6363
    6364#[inline]
    6365#[target_feature(enable = "lsx")]
    6366#[rustc_legacy_const_generics(1)]
    6367#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    6368pub unsafe fn lsx_vld<const IMM_S12: i32>(mem_addr: *const i8) -> m128i {
    6369    static_assert_simm_bits!(IMM_S12, 12);
    6370    transmute(__lsx_vld(mem_addr, IMM_S12))
    6371}
    6372
    6373#[inline]
    6374#[target_feature(enable = "lsx")]
    6375#[rustc_legacy_const_generics(2)]
    6376#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    6377pub unsafe fn lsx_vst<const IMM_S12: i32>(a: m128i, mem_addr: *mut i8) {
    6378    static_assert_simm_bits!(IMM_S12, 12);
    6379    transmute(__lsx_vst(transmute(a), mem_addr, IMM_S12))
    6380}
    6381
    6382#[inline]
    6383#[target_feature(enable = "lsx")]
    6384#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    6385pub fn lsx_vssrlrn_b_h(a: m128i, b: m128i) -> m128i {
    6386    unsafe { transmute(__lsx_vssrlrn_b_h(transmute(a), transmute(b))) }
    6387}
    6388
    6389#[inline]
    6390#[target_feature(enable = "lsx")]
    6391#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    6392pub fn lsx_vssrlrn_h_w(a: m128i, b: m128i) -> m128i {
    6393    unsafe { transmute(__lsx_vssrlrn_h_w(transmute(a), transmute(b))) }
    6394}
    6395
    6396#[inline]
    6397#[target_feature(enable = "lsx")]
    6398#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    6399pub fn lsx_vssrlrn_w_d(a: m128i, b: m128i) -> m128i {
    6400    unsafe { transmute(__lsx_vssrlrn_w_d(transmute(a), transmute(b))) }
    6401}
    6402
    6403#[inline]
    6404#[target_feature(enable = "lsx")]
    6405#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    6406pub fn lsx_vssrln_b_h(a: m128i, b: m128i) -> m128i {
    6407    unsafe { transmute(__lsx_vssrln_b_h(transmute(a), transmute(b))) }
    6408}
    6409
    6410#[inline]
    6411#[target_feature(enable = "lsx")]
    6412#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    6413pub fn lsx_vssrln_h_w(a: m128i, b: m128i) -> m128i {
    6414    unsafe { transmute(__lsx_vssrln_h_w(transmute(a), transmute(b))) }
    6415}
    6416
    6417#[inline]
    6418#[target_feature(enable = "lsx")]
    6419#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    6420pub fn lsx_vssrln_w_d(a: m128i, b: m128i) -> m128i {
    6421    unsafe { transmute(__lsx_vssrln_w_d(transmute(a), transmute(b))) }
    6422}
    6423
    6424#[inline]
    6425#[target_feature(enable = "lsx")]
    6426#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    6427pub fn lsx_vorn_v(a: m128i, b: m128i) -> m128i {
    6428    unsafe { transmute(__lsx_vorn_v(transmute(a), transmute(b))) }
    6429}
    6430
    6431#[inline]
    6432#[target_feature(enable = "lsx")]
    6433#[rustc_legacy_const_generics(0)]
    6434#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    6435pub fn lsx_vldi<const IMM_S13: i32>() -> m128i {
    6436    static_assert_simm_bits!(IMM_S13, 13);
    6437    unsafe { transmute(__lsx_vldi(IMM_S13)) }
    6438}
    6439
    6440#[inline]
    6441#[target_feature(enable = "lsx")]
    6442#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    6443pub fn lsx_vshuf_b(a: m128i, b: m128i, c: m128i) -> m128i {
    6444    unsafe { transmute(__lsx_vshuf_b(transmute(a), transmute(b), transmute(c))) }
    6445}
    6446
    6447#[inline]
    6448#[target_feature(enable = "lsx")]
    6449#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    6450pub unsafe fn lsx_vldx(mem_addr: *const i8, b: i64) -> m128i {
    6451    transmute(__lsx_vldx(mem_addr, transmute(b)))
    6452}
    6453
    6454#[inline]
    6455#[target_feature(enable = "lsx")]
    6456#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    6457pub unsafe fn lsx_vstx(a: m128i, mem_addr: *mut i8, b: i64) {
    6458    transmute(__lsx_vstx(transmute(a), mem_addr, transmute(b)))
    6459}
    6460
    6461#[inline]
    6462#[target_feature(enable = "lsx")]
    6463#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    6464pub fn lsx_vextl_qu_du(a: m128i) -> m128i {
    6465    unsafe { transmute(__lsx_vextl_qu_du(transmute(a))) }
    6466}
    6467
    6468#[inline]
    6469#[target_feature(enable = "lsx")]
    6470#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    6471pub fn lsx_bnz_b(a: m128i) -> i32 {
    6472    unsafe { transmute(__lsx_bnz_b(transmute(a))) }
    6473}
    6474
    6475#[inline]
    6476#[target_feature(enable = "lsx")]
    6477#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    6478pub fn lsx_bnz_d(a: m128i) -> i32 {
    6479    unsafe { transmute(__lsx_bnz_d(transmute(a))) }
    6480}
    6481
    6482#[inline]
    6483#[target_feature(enable = "lsx")]
    6484#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    6485pub fn lsx_bnz_h(a: m128i) -> i32 {
    6486    unsafe { transmute(__lsx_bnz_h(transmute(a))) }
    6487}
    6488
    6489#[inline]
    6490#[target_feature(enable = "lsx")]
    6491#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    6492pub fn lsx_bnz_v(a: m128i) -> i32 {
    6493    unsafe { transmute(__lsx_bnz_v(transmute(a))) }
    6494}
    6495
    6496#[inline]
    6497#[target_feature(enable = "lsx")]
    6498#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    6499pub fn lsx_bnz_w(a: m128i) -> i32 {
    6500    unsafe { transmute(__lsx_bnz_w(transmute(a))) }
    6501}
    6502
    6503#[inline]
    6504#[target_feature(enable = "lsx")]
    6505#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    6506pub fn lsx_bz_b(a: m128i) -> i32 {
    6507    unsafe { transmute(__lsx_bz_b(transmute(a))) }
    6508}
    6509
    6510#[inline]
    6511#[target_feature(enable = "lsx")]
    6512#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    6513pub fn lsx_bz_d(a: m128i) -> i32 {
    6514    unsafe { transmute(__lsx_bz_d(transmute(a))) }
    6515}
    6516
    6517#[inline]
    6518#[target_feature(enable = "lsx")]
    6519#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    6520pub fn lsx_bz_h(a: m128i) -> i32 {
    6521    unsafe { transmute(__lsx_bz_h(transmute(a))) }
    6522}
    6523
    6524#[inline]
    6525#[target_feature(enable = "lsx")]
    6526#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    6527pub fn lsx_bz_v(a: m128i) -> i32 {
    6528    unsafe { transmute(__lsx_bz_v(transmute(a))) }
    6529}
    6530
    6531#[inline]
    6532#[target_feature(enable = "lsx")]
    6533#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    6534pub fn lsx_bz_w(a: m128i) -> i32 {
    6535    unsafe { transmute(__lsx_bz_w(transmute(a))) }
    6536}
    6537
    6538#[inline]
    6539#[target_feature(enable = "lsx")]
    6540#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    6541pub fn lsx_vfcmp_caf_d(a: m128d, b: m128d) -> m128i {
    6542    unsafe { transmute(__lsx_vfcmp_caf_d(transmute(a), transmute(b))) }
    6543}
    6544
    6545#[inline]
    6546#[target_feature(enable = "lsx")]
    6547#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    6548pub fn lsx_vfcmp_caf_s(a: m128, b: m128) -> m128i {
    6549    unsafe { transmute(__lsx_vfcmp_caf_s(transmute(a), transmute(b))) }
    6550}
    6551
    6552#[inline]
    6553#[target_feature(enable = "lsx")]
    6554#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    6555pub fn lsx_vfcmp_ceq_d(a: m128d, b: m128d) -> m128i {
    6556    unsafe { transmute(__lsx_vfcmp_ceq_d(transmute(a), transmute(b))) }
    6557}
    6558
    6559#[inline]
    6560#[target_feature(enable = "lsx")]
    6561#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    6562pub fn lsx_vfcmp_ceq_s(a: m128, b: m128) -> m128i {
    6563    unsafe { transmute(__lsx_vfcmp_ceq_s(transmute(a), transmute(b))) }
    6564}
    6565
    6566#[inline]
    6567#[target_feature(enable = "lsx")]
    6568#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    6569pub fn lsx_vfcmp_cle_d(a: m128d, b: m128d) -> m128i {
    6570    unsafe { transmute(__lsx_vfcmp_cle_d(transmute(a), transmute(b))) }
    6571}
    6572
    6573#[inline]
    6574#[target_feature(enable = "lsx")]
    6575#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    6576pub fn lsx_vfcmp_cle_s(a: m128, b: m128) -> m128i {
    6577    unsafe { transmute(__lsx_vfcmp_cle_s(transmute(a), transmute(b))) }
    6578}
    6579
    6580#[inline]
    6581#[target_feature(enable = "lsx")]
    6582#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    6583pub fn lsx_vfcmp_clt_d(a: m128d, b: m128d) -> m128i {
    6584    unsafe { transmute(__lsx_vfcmp_clt_d(transmute(a), transmute(b))) }
    6585}
    6586
    6587#[inline]
    6588#[target_feature(enable = "lsx")]
    6589#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    6590pub fn lsx_vfcmp_clt_s(a: m128, b: m128) -> m128i {
    6591    unsafe { transmute(__lsx_vfcmp_clt_s(transmute(a), transmute(b))) }
    6592}
    6593
    6594#[inline]
    6595#[target_feature(enable = "lsx")]
    6596#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    6597pub fn lsx_vfcmp_cne_d(a: m128d, b: m128d) -> m128i {
    6598    unsafe { transmute(__lsx_vfcmp_cne_d(transmute(a), transmute(b))) }
    6599}
    6600
    6601#[inline]
    6602#[target_feature(enable = "lsx")]
    6603#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    6604pub fn lsx_vfcmp_cne_s(a: m128, b: m128) -> m128i {
    6605    unsafe { transmute(__lsx_vfcmp_cne_s(transmute(a), transmute(b))) }
    6606}
    6607
    6608#[inline]
    6609#[target_feature(enable = "lsx")]
    6610#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    6611pub fn lsx_vfcmp_cor_d(a: m128d, b: m128d) -> m128i {
    6612    unsafe { transmute(__lsx_vfcmp_cor_d(transmute(a), transmute(b))) }
    6613}
    6614
    6615#[inline]
    6616#[target_feature(enable = "lsx")]
    6617#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    6618pub fn lsx_vfcmp_cor_s(a: m128, b: m128) -> m128i {
    6619    unsafe { transmute(__lsx_vfcmp_cor_s(transmute(a), transmute(b))) }
    6620}
    6621
    6622#[inline]
    6623#[target_feature(enable = "lsx")]
    6624#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    6625pub fn lsx_vfcmp_cueq_d(a: m128d, b: m128d) -> m128i {
    6626    unsafe { transmute(__lsx_vfcmp_cueq_d(transmute(a), transmute(b))) }
    6627}
    6628
    6629#[inline]
    6630#[target_feature(enable = "lsx")]
    6631#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    6632pub fn lsx_vfcmp_cueq_s(a: m128, b: m128) -> m128i {
    6633    unsafe { transmute(__lsx_vfcmp_cueq_s(transmute(a), transmute(b))) }
    6634}
    6635
    6636#[inline]
    6637#[target_feature(enable = "lsx")]
    6638#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    6639pub fn lsx_vfcmp_cule_d(a: m128d, b: m128d) -> m128i {
    6640    unsafe { transmute(__lsx_vfcmp_cule_d(transmute(a), transmute(b))) }
    6641}
    6642
    6643#[inline]
    6644#[target_feature(enable = "lsx")]
    6645#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    6646pub fn lsx_vfcmp_cule_s(a: m128, b: m128) -> m128i {
    6647    unsafe { transmute(__lsx_vfcmp_cule_s(transmute(a), transmute(b))) }
    6648}
    6649
    6650#[inline]
    6651#[target_feature(enable = "lsx")]
    6652#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    6653pub fn lsx_vfcmp_cult_d(a: m128d, b: m128d) -> m128i {
    6654    unsafe { transmute(__lsx_vfcmp_cult_d(transmute(a), transmute(b))) }
    6655}
    6656
    6657#[inline]
    6658#[target_feature(enable = "lsx")]
    6659#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    6660pub fn lsx_vfcmp_cult_s(a: m128, b: m128) -> m128i {
    6661    unsafe { transmute(__lsx_vfcmp_cult_s(transmute(a), transmute(b))) }
    6662}
    6663
    6664#[inline]
    6665#[target_feature(enable = "lsx")]
    6666#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    6667pub fn lsx_vfcmp_cun_d(a: m128d, b: m128d) -> m128i {
    6668    unsafe { transmute(__lsx_vfcmp_cun_d(transmute(a), transmute(b))) }
    6669}
    6670
    6671#[inline]
    6672#[target_feature(enable = "lsx")]
    6673#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    6674pub fn lsx_vfcmp_cune_d(a: m128d, b: m128d) -> m128i {
    6675    unsafe { transmute(__lsx_vfcmp_cune_d(transmute(a), transmute(b))) }
    6676}
    6677
    6678#[inline]
    6679#[target_feature(enable = "lsx")]
    6680#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    6681pub fn lsx_vfcmp_cune_s(a: m128, b: m128) -> m128i {
    6682    unsafe { transmute(__lsx_vfcmp_cune_s(transmute(a), transmute(b))) }
    6683}
    6684
    6685#[inline]
    6686#[target_feature(enable = "lsx")]
    6687#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    6688pub fn lsx_vfcmp_cun_s(a: m128, b: m128) -> m128i {
    6689    unsafe { transmute(__lsx_vfcmp_cun_s(transmute(a), transmute(b))) }
    6690}
    6691
    6692#[inline]
    6693#[target_feature(enable = "lsx")]
    6694#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    6695pub fn lsx_vfcmp_saf_d(a: m128d, b: m128d) -> m128i {
    6696    unsafe { transmute(__lsx_vfcmp_saf_d(transmute(a), transmute(b))) }
    6697}
    6698
    6699#[inline]
    6700#[target_feature(enable = "lsx")]
    6701#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    6702pub fn lsx_vfcmp_saf_s(a: m128, b: m128) -> m128i {
    6703    unsafe { transmute(__lsx_vfcmp_saf_s(transmute(a), transmute(b))) }
    6704}
    6705
    6706#[inline]
    6707#[target_feature(enable = "lsx")]
    6708#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    6709pub fn lsx_vfcmp_seq_d(a: m128d, b: m128d) -> m128i {
    6710    unsafe { transmute(__lsx_vfcmp_seq_d(transmute(a), transmute(b))) }
    6711}
    6712
    6713#[inline]
    6714#[target_feature(enable = "lsx")]
    6715#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    6716pub fn lsx_vfcmp_seq_s(a: m128, b: m128) -> m128i {
    6717    unsafe { transmute(__lsx_vfcmp_seq_s(transmute(a), transmute(b))) }
    6718}
    6719
    6720#[inline]
    6721#[target_feature(enable = "lsx")]
    6722#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    6723pub fn lsx_vfcmp_sle_d(a: m128d, b: m128d) -> m128i {
    6724    unsafe { transmute(__lsx_vfcmp_sle_d(transmute(a), transmute(b))) }
    6725}
    6726
    6727#[inline]
    6728#[target_feature(enable = "lsx")]
    6729#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    6730pub fn lsx_vfcmp_sle_s(a: m128, b: m128) -> m128i {
    6731    unsafe { transmute(__lsx_vfcmp_sle_s(transmute(a), transmute(b))) }
    6732}
    6733
    6734#[inline]
    6735#[target_feature(enable = "lsx")]
    6736#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    6737pub fn lsx_vfcmp_slt_d(a: m128d, b: m128d) -> m128i {
    6738    unsafe { transmute(__lsx_vfcmp_slt_d(transmute(a), transmute(b))) }
    6739}
    6740
    6741#[inline]
    6742#[target_feature(enable = "lsx")]
    6743#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    6744pub fn lsx_vfcmp_slt_s(a: m128, b: m128) -> m128i {
    6745    unsafe { transmute(__lsx_vfcmp_slt_s(transmute(a), transmute(b))) }
    6746}
    6747
    6748#[inline]
    6749#[target_feature(enable = "lsx")]
    6750#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    6751pub fn lsx_vfcmp_sne_d(a: m128d, b: m128d) -> m128i {
    6752    unsafe { transmute(__lsx_vfcmp_sne_d(transmute(a), transmute(b))) }
    6753}
    6754
    6755#[inline]
    6756#[target_feature(enable = "lsx")]
    6757#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    6758pub fn lsx_vfcmp_sne_s(a: m128, b: m128) -> m128i {
    6759    unsafe { transmute(__lsx_vfcmp_sne_s(transmute(a), transmute(b))) }
    6760}
    6761
    6762#[inline]
    6763#[target_feature(enable = "lsx")]
    6764#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    6765pub fn lsx_vfcmp_sor_d(a: m128d, b: m128d) -> m128i {
    6766    unsafe { transmute(__lsx_vfcmp_sor_d(transmute(a), transmute(b))) }
    6767}
    6768
    6769#[inline]
    6770#[target_feature(enable = "lsx")]
    6771#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    6772pub fn lsx_vfcmp_sor_s(a: m128, b: m128) -> m128i {
    6773    unsafe { transmute(__lsx_vfcmp_sor_s(transmute(a), transmute(b))) }
    6774}
    6775
    6776#[inline]
    6777#[target_feature(enable = "lsx")]
    6778#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    6779pub fn lsx_vfcmp_sueq_d(a: m128d, b: m128d) -> m128i {
    6780    unsafe { transmute(__lsx_vfcmp_sueq_d(transmute(a), transmute(b))) }
    6781}
    6782
    6783#[inline]
    6784#[target_feature(enable = "lsx")]
    6785#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    6786pub fn lsx_vfcmp_sueq_s(a: m128, b: m128) -> m128i {
    6787    unsafe { transmute(__lsx_vfcmp_sueq_s(transmute(a), transmute(b))) }
    6788}
    6789
    6790#[inline]
    6791#[target_feature(enable = "lsx")]
    6792#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    6793pub fn lsx_vfcmp_sule_d(a: m128d, b: m128d) -> m128i {
    6794    unsafe { transmute(__lsx_vfcmp_sule_d(transmute(a), transmute(b))) }
    6795}
    6796
    6797#[inline]
    6798#[target_feature(enable = "lsx")]
    6799#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    6800pub fn lsx_vfcmp_sule_s(a: m128, b: m128) -> m128i {
    6801    unsafe { transmute(__lsx_vfcmp_sule_s(transmute(a), transmute(b))) }
    6802}
    6803
    6804#[inline]
    6805#[target_feature(enable = "lsx")]
    6806#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    6807pub fn lsx_vfcmp_sult_d(a: m128d, b: m128d) -> m128i {
    6808    unsafe { transmute(__lsx_vfcmp_sult_d(transmute(a), transmute(b))) }
    6809}
    6810
    6811#[inline]
    6812#[target_feature(enable = "lsx")]
    6813#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    6814pub fn lsx_vfcmp_sult_s(a: m128, b: m128) -> m128i {
    6815    unsafe { transmute(__lsx_vfcmp_sult_s(transmute(a), transmute(b))) }
    6816}
    6817
    6818#[inline]
    6819#[target_feature(enable = "lsx")]
    6820#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    6821pub fn lsx_vfcmp_sun_d(a: m128d, b: m128d) -> m128i {
    6822    unsafe { transmute(__lsx_vfcmp_sun_d(transmute(a), transmute(b))) }
    6823}
    6824
    6825#[inline]
    6826#[target_feature(enable = "lsx")]
    6827#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    6828pub fn lsx_vfcmp_sune_d(a: m128d, b: m128d) -> m128i {
    6829    unsafe { transmute(__lsx_vfcmp_sune_d(transmute(a), transmute(b))) }
    6830}
    6831
    6832#[inline]
    6833#[target_feature(enable = "lsx")]
    6834#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    6835pub fn lsx_vfcmp_sune_s(a: m128, b: m128) -> m128i {
    6836    unsafe { transmute(__lsx_vfcmp_sune_s(transmute(a), transmute(b))) }
    6837}
    6838
    6839#[inline]
    6840#[target_feature(enable = "lsx")]
    6841#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    6842pub fn lsx_vfcmp_sun_s(a: m128, b: m128) -> m128i {
    6843    unsafe { transmute(__lsx_vfcmp_sun_s(transmute(a), transmute(b))) }
    6844}
    6845
    6846#[inline]
    6847#[target_feature(enable = "lsx")]
    6848#[rustc_legacy_const_generics(0)]
    6849#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    6850pub fn lsx_vrepli_b<const IMM_S10: i32>() -> m128i {
    6851    static_assert_simm_bits!(IMM_S10, 10);
    6852    unsafe { transmute(__lsx_vrepli_b(IMM_S10)) }
    6853}
    6854
    6855#[inline]
    6856#[target_feature(enable = "lsx")]
    6857#[rustc_legacy_const_generics(0)]
    6858#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    6859pub fn lsx_vrepli_d<const IMM_S10: i32>() -> m128i {
    6860    static_assert_simm_bits!(IMM_S10, 10);
    6861    unsafe { transmute(__lsx_vrepli_d(IMM_S10)) }
    6862}
    6863
    6864#[inline]
    6865#[target_feature(enable = "lsx")]
    6866#[rustc_legacy_const_generics(0)]
    6867#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    6868pub fn lsx_vrepli_h<const IMM_S10: i32>() -> m128i {
    6869    static_assert_simm_bits!(IMM_S10, 10);
    6870    unsafe { transmute(__lsx_vrepli_h(IMM_S10)) }
    6871}
    6872
    6873#[inline]
    6874#[target_feature(enable = "lsx")]
    6875#[rustc_legacy_const_generics(0)]
    6876#[unstable(feature = "stdarch_loongarch", issue = "117427")]
    6877pub fn lsx_vrepli_w<const IMM_S10: i32>() -> m128i {
    6878    static_assert_simm_bits!(IMM_S10, 10);
    6879    unsafe { transmute(__lsx_vrepli_w(IMM_S10)) }
    6880}