Skip to content

Commit

Permalink
[Clang][XTHeadVector] Implement 13.5 vnclip/vnclipu wrapper macros
Browse files Browse the repository at this point in the history
  • Loading branch information
imkiva committed Apr 1, 2024
1 parent ba7e8c7 commit 3481e04
Showing 1 changed file with 84 additions and 0 deletions.
84 changes: 84 additions & 0 deletions clang/include/clang/Basic/riscv_vector_xtheadv_wrappers.td
Original file line number Diff line number Diff line change
Expand Up @@ -1917,3 +1917,87 @@ let HeaderCode =

}] in
def th_single_width_fractional_multiply_with_rounding_and_saturation_wrapper_macros: RVVHeader;

// 13.5. Vector Narrowing Fixed-Point Clip Operations

let HeaderCode =
[{
// Vector Narrowing Fixed-Point Clip Operations
#define __riscv_vnclip_wv_i8m1(op1, op2, rm, vl) __riscv_th_vnclip_wv_i8m1(op1, op2, rm, vl)
#define __riscv_vnclip_wx_i8m1(op1, op2, rm, vl) __riscv_th_vnclip_wx_i8m1(op1, op2, rm, vl)
#define __riscv_vnclip_wv_i8m2(op1, op2, rm, vl) __riscv_th_vnclip_wv_i8m2(op1, op2, rm, vl)
#define __riscv_vnclip_wx_i8m2(op1, op2, rm, vl) __riscv_th_vnclip_wx_i8m2(op1, op2, rm, vl)
#define __riscv_vnclip_wv_i8m4(op1, op2, rm, vl) __riscv_th_vnclip_wv_i8m4(op1, op2, rm, vl)
#define __riscv_vnclip_wx_i8m4(op1, op2, rm, vl) __riscv_th_vnclip_wx_i8m4(op1, op2, rm, vl)
#define __riscv_vnclip_wv_i16m1(op1, op2, rm, vl) __riscv_th_vnclip_wv_i16m1(op1, op2, rm, vl)
#define __riscv_vnclip_wx_i16m1(op1, op2, rm, vl) __riscv_th_vnclip_wx_i16m1(op1, op2, rm, vl)
#define __riscv_vnclip_wv_i16m2(op1, op2, rm, vl) __riscv_th_vnclip_wv_i16m2(op1, op2, rm, vl)
#define __riscv_vnclip_wx_i16m2(op1, op2, rm, vl) __riscv_th_vnclip_wx_i16m2(op1, op2, rm, vl)
#define __riscv_vnclip_wv_i16m4(op1, op2, rm, vl) __riscv_th_vnclip_wv_i16m4(op1, op2, rm, vl)
#define __riscv_vnclip_wx_i16m4(op1, op2, rm, vl) __riscv_th_vnclip_wx_i16m4(op1, op2, rm, vl)
#define __riscv_vnclip_wv_i32m1(op1, op2, rm, vl) __riscv_th_vnclip_wv_i32m1(op1, op2, rm, vl)
#define __riscv_vnclip_wx_i32m1(op1, op2, rm, vl) __riscv_th_vnclip_wx_i32m1(op1, op2, rm, vl)
#define __riscv_vnclip_wv_i32m2(op1, op2, rm, vl) __riscv_th_vnclip_wv_i32m2(op1, op2, rm, vl)
#define __riscv_vnclip_wx_i32m2(op1, op2, rm, vl) __riscv_th_vnclip_wx_i32m2(op1, op2, rm, vl)
#define __riscv_vnclip_wv_i32m4(op1, op2, rm, vl) __riscv_th_vnclip_wv_i32m4(op1, op2, rm, vl)
#define __riscv_vnclip_wx_i32m4(op1, op2, rm, vl) __riscv_th_vnclip_wx_i32m4(op1, op2, rm, vl)

#define __riscv_vnclip_wv_i8m1_m(mask, op1, op2, rm, vl) __riscv_th_vnclip_wv_i8m1_m(mask, op1, op2, rm, vl)
#define __riscv_vnclip_wx_i8m1_m(mask, op1, op2, rm, vl) __riscv_th_vnclip_wx_i8m1_m(mask, op1, op2, rm, vl)
#define __riscv_vnclip_wv_i8m2_m(mask, op1, op2, rm, vl) __riscv_th_vnclip_wv_i8m2_m(mask, op1, op2, rm, vl)
#define __riscv_vnclip_wx_i8m2_m(mask, op1, op2, rm, vl) __riscv_th_vnclip_wx_i8m2_m(mask, op1, op2, rm, vl)
#define __riscv_vnclip_wv_i8m4_m(mask, op1, op2, rm, vl) __riscv_th_vnclip_wv_i8m4_m(mask, op1, op2, rm, vl)
#define __riscv_vnclip_wx_i8m4_m(mask, op1, op2, rm, vl) __riscv_th_vnclip_wx_i8m4_m(mask, op1, op2, rm, vl)
#define __riscv_vnclip_wv_i16m1_m(mask, op1, op2, rm, vl) __riscv_th_vnclip_wv_i16m1_m(mask, op1, op2, rm, vl)
#define __riscv_vnclip_wx_i16m1_m(mask, op1, op2, rm, vl) __riscv_th_vnclip_wx_i16m1_m(mask, op1, op2, rm, vl)
#define __riscv_vnclip_wv_i16m2_m(mask, op1, op2, rm, vl) __riscv_th_vnclip_wv_i16m2_m(mask, op1, op2, rm, vl)
#define __riscv_vnclip_wx_i16m2_m(mask, op1, op2, rm, vl) __riscv_th_vnclip_wx_i16m2_m(mask, op1, op2, rm, vl)
#define __riscv_vnclip_wv_i16m4_m(mask, op1, op2, rm, vl) __riscv_th_vnclip_wv_i16m4_m(mask, op1, op2, rm, vl)
#define __riscv_vnclip_wx_i16m4_m(mask, op1, op2, rm, vl) __riscv_th_vnclip_wx_i16m4_m(mask, op1, op2, rm, vl)
#define __riscv_vnclip_wv_i32m1_m(mask, op1, op2, rm, vl) __riscv_th_vnclip_wv_i32m1_m(mask, op1, op2, rm, vl)
#define __riscv_vnclip_wx_i32m1_m(mask, op1, op2, rm, vl) __riscv_th_vnclip_wx_i32m1_m(mask, op1, op2, rm, vl)
#define __riscv_vnclip_wv_i32m2_m(mask, op1, op2, rm, vl) __riscv_th_vnclip_wv_i32m2_m(mask, op1, op2, rm, vl)
#define __riscv_vnclip_wx_i32m2_m(mask, op1, op2, rm, vl) __riscv_th_vnclip_wx_i32m2_m(mask, op1, op2, rm, vl)
#define __riscv_vnclip_wv_i32m4_m(mask, op1, op2, rm, vl) __riscv_th_vnclip_wv_i32m4_m(mask, op1, op2, rm, vl)
#define __riscv_vnclip_wx_i32m4_m(mask, op1, op2, rm, vl) __riscv_th_vnclip_wx_i32m4_m(mask, op1, op2, rm, vl)

#define __riscv_vnclipu_wv_u8m1(op1, op2, rm, vl) __riscv_th_vnclipu_wv_u8m1(op1, op2, rm, vl)
#define __riscv_vnclipu_wx_u8m1(op1, op2, rm, vl) __riscv_th_vnclipu_wx_u8m1(op1, op2, rm, vl)
#define __riscv_vnclipu_wv_u8m2(op1, op2, rm, vl) __riscv_th_vnclipu_wv_u8m2(op1, op2, rm, vl)
#define __riscv_vnclipu_wx_u8m2(op1, op2, rm, vl) __riscv_th_vnclipu_wx_u8m2(op1, op2, rm, vl)
#define __riscv_vnclipu_wv_u8m4(op1, op2, rm, vl) __riscv_th_vnclipu_wv_u8m4(op1, op2, rm, vl)
#define __riscv_vnclipu_wx_u8m4(op1, op2, rm, vl) __riscv_th_vnclipu_wx_u8m4(op1, op2, rm, vl)
#define __riscv_vnclipu_wv_u16m1(op1, op2, rm, vl) __riscv_th_vnclipu_wv_u16m1(op1, op2, rm, vl)
#define __riscv_vnclipu_wx_u16m1(op1, op2, rm, vl) __riscv_th_vnclipu_wx_u16m1(op1, op2, rm, vl)
#define __riscv_vnclipu_wv_u16m2(op1, op2, rm, vl) __riscv_th_vnclipu_wv_u16m2(op1, op2, rm, vl)
#define __riscv_vnclipu_wx_u16m2(op1, op2, rm, vl) __riscv_th_vnclipu_wx_u16m2(op1, op2, rm, vl)
#define __riscv_vnclipu_wv_u16m4(op1, op2, rm, vl) __riscv_th_vnclipu_wv_u16m4(op1, op2, rm, vl)
#define __riscv_vnclipu_wx_u16m4(op1, op2, rm, vl) __riscv_th_vnclipu_wx_u16m4(op1, op2, rm, vl)
#define __riscv_vnclipu_wv_u32m1(op1, op2, rm, vl) __riscv_th_vnclipu_wv_u32m1(op1, op2, rm, vl)
#define __riscv_vnclipu_wx_u32m1(op1, op2, rm, vl) __riscv_th_vnclipu_wx_u32m1(op1, op2, rm, vl)
#define __riscv_vnclipu_wv_u32m2(op1, op2, rm, vl) __riscv_th_vnclipu_wv_u32m2(op1, op2, rm, vl)
#define __riscv_vnclipu_wx_u32m2(op1, op2, rm, vl) __riscv_th_vnclipu_wx_u32m2(op1, op2, rm, vl)
#define __riscv_vnclipu_wv_u32m4(op1, op2, rm, vl) __riscv_th_vnclipu_wv_u32m4(op1, op2, rm, vl)
#define __riscv_vnclipu_wx_u32m4(op1, op2, rm, vl) __riscv_th_vnclipu_wx_u32m4(op1, op2, rm, vl)

#define __riscv_vnclipu_wv_u8m1_m(mask, op1, op2, rm, vl) __riscv_th_vnclipu_wv_u8m1_m(mask, op1, op2, rm, vl)
#define __riscv_vnclipu_wx_u8m1_m(mask, op1, op2, rm, vl) __riscv_th_vnclipu_wx_u8m1_m(mask, op1, op2, rm, vl)
#define __riscv_vnclipu_wv_u8m2_m(mask, op1, op2, rm, vl) __riscv_th_vnclipu_wv_u8m2_m(mask, op1, op2, rm, vl)
#define __riscv_vnclipu_wx_u8m2_m(mask, op1, op2, rm, vl) __riscv_th_vnclipu_wx_u8m2_m(mask, op1, op2, rm, vl)
#define __riscv_vnclipu_wv_u8m4_m(mask, op1, op2, rm, vl) __riscv_th_vnclipu_wv_u8m4_m(mask, op1, op2, rm, vl)
#define __riscv_vnclipu_wx_u8m4_m(mask, op1, op2, rm, vl) __riscv_th_vnclipu_wx_u8m4_m(mask, op1, op2, rm, vl)
#define __riscv_vnclipu_wv_u16m1_m(mask, op1, op2, rm, vl) __riscv_th_vnclipu_wv_u16m1_m(mask, op1, op2, rm, vl)
#define __riscv_vnclipu_wx_u16m1_m(mask, op1, op2, rm, vl) __riscv_th_vnclipu_wx_u16m1_m(mask, op1, op2, rm, vl)
#define __riscv_vnclipu_wv_u16m2_m(mask, op1, op2, rm, vl) __riscv_th_vnclipu_wv_u16m2_m(mask, op1, op2, rm, vl)
#define __riscv_vnclipu_wx_u16m2_m(mask, op1, op2, rm, vl) __riscv_th_vnclipu_wx_u16m2_m(mask, op1, op2, rm, vl)
#define __riscv_vnclipu_wv_u16m4_m(mask, op1, op2, rm, vl) __riscv_th_vnclipu_wv_u16m4_m(mask, op1, op2, rm, vl)
#define __riscv_vnclipu_wx_u16m4_m(mask, op1, op2, rm, vl) __riscv_th_vnclipu_wx_u16m4_m(mask, op1, op2, rm, vl)
#define __riscv_vnclipu_wv_u32m1_m(mask, op1, op2, rm, vl) __riscv_th_vnclipu_wv_u32m1_m(mask, op1, op2, rm, vl)
#define __riscv_vnclipu_wx_u32m1_m(mask, op1, op2, rm, vl) __riscv_th_vnclipu_wx_u32m1_m(mask, op1, op2, rm, vl)
#define __riscv_vnclipu_wv_u32m2_m(mask, op1, op2, rm, vl) __riscv_th_vnclipu_wv_u32m2_m(mask, op1, op2, rm, vl)
#define __riscv_vnclipu_wx_u32m2_m(mask, op1, op2, rm, vl) __riscv_th_vnclipu_wx_u32m2_m(mask, op1, op2, rm, vl)
#define __riscv_vnclipu_wv_u32m4_m(mask, op1, op2, rm, vl) __riscv_th_vnclipu_wv_u32m4_m(mask, op1, op2, rm, vl)
#define __riscv_vnclipu_wx_u32m4_m(mask, op1, op2, rm, vl) __riscv_th_vnclipu_wx_u32m4_m(mask, op1, op2, rm, vl)

}] in
def th_narrowing_width_fixed_point_clip_wrapper_macros: RVVHeader;

0 comments on commit 3481e04

Please sign in to comment.