mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-05 00:33:55 -06:00
tcg: Implement tcg_gen_{h,w}swap_{i32,i64}
Swap half-words (16-bit) and words (32-bit) within a larger value. Mirrors functions of the same names within include/qemu/bitops.h. Signed-off-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: David Hildenbrand <david@redhat.com> Reviewed-by: David Miller <dmiller423@gmail.com> Reviewed-by: David Hildenbrand <david@redhat.com> Message-Id: <20220428094708.84835-5-david@redhat.com> Signed-off-by: Thomas Huth <thuth@redhat.com>
This commit is contained in:
parent
d98ed7d96e
commit
46be8425ff
2 changed files with 36 additions and 0 deletions
|
@ -332,6 +332,7 @@ void tcg_gen_ext8u_i32(TCGv_i32 ret, TCGv_i32 arg);
|
|||
void tcg_gen_ext16u_i32(TCGv_i32 ret, TCGv_i32 arg);
|
||||
void tcg_gen_bswap16_i32(TCGv_i32 ret, TCGv_i32 arg, int flags);
|
||||
void tcg_gen_bswap32_i32(TCGv_i32 ret, TCGv_i32 arg);
|
||||
void tcg_gen_hswap_i32(TCGv_i32 ret, TCGv_i32 arg);
|
||||
void tcg_gen_smin_i32(TCGv_i32, TCGv_i32 arg1, TCGv_i32 arg2);
|
||||
void tcg_gen_smax_i32(TCGv_i32, TCGv_i32 arg1, TCGv_i32 arg2);
|
||||
void tcg_gen_umin_i32(TCGv_i32, TCGv_i32 arg1, TCGv_i32 arg2);
|
||||
|
@ -531,6 +532,8 @@ void tcg_gen_ext32u_i64(TCGv_i64 ret, TCGv_i64 arg);
|
|||
void tcg_gen_bswap16_i64(TCGv_i64 ret, TCGv_i64 arg, int flags);
|
||||
void tcg_gen_bswap32_i64(TCGv_i64 ret, TCGv_i64 arg, int flags);
|
||||
void tcg_gen_bswap64_i64(TCGv_i64 ret, TCGv_i64 arg);
|
||||
void tcg_gen_hswap_i64(TCGv_i64 ret, TCGv_i64 arg);
|
||||
void tcg_gen_wswap_i64(TCGv_i64 ret, TCGv_i64 arg);
|
||||
void tcg_gen_smin_i64(TCGv_i64, TCGv_i64 arg1, TCGv_i64 arg2);
|
||||
void tcg_gen_smax_i64(TCGv_i64, TCGv_i64 arg1, TCGv_i64 arg2);
|
||||
void tcg_gen_umin_i64(TCGv_i64, TCGv_i64 arg1, TCGv_i64 arg2);
|
||||
|
@ -1077,6 +1080,8 @@ void tcg_gen_stl_vec(TCGv_vec r, TCGv_ptr base, TCGArg offset, TCGType t);
|
|||
#define tcg_gen_bswap32_tl tcg_gen_bswap32_i64
|
||||
#define tcg_gen_bswap64_tl tcg_gen_bswap64_i64
|
||||
#define tcg_gen_bswap_tl tcg_gen_bswap64_i64
|
||||
#define tcg_gen_hswap_tl tcg_gen_hswap_i64
|
||||
#define tcg_gen_wswap_tl tcg_gen_wswap_i64
|
||||
#define tcg_gen_concat_tl_i64 tcg_gen_concat32_i64
|
||||
#define tcg_gen_extr_i64_tl tcg_gen_extr32_i64
|
||||
#define tcg_gen_andc_tl tcg_gen_andc_i64
|
||||
|
@ -1192,6 +1197,7 @@ void tcg_gen_stl_vec(TCGv_vec r, TCGv_ptr base, TCGArg offset, TCGType t);
|
|||
#define tcg_gen_bswap16_tl tcg_gen_bswap16_i32
|
||||
#define tcg_gen_bswap32_tl(D, S, F) tcg_gen_bswap32_i32(D, S)
|
||||
#define tcg_gen_bswap_tl tcg_gen_bswap32_i32
|
||||
#define tcg_gen_hswap_tl tcg_gen_hswap_i32
|
||||
#define tcg_gen_concat_tl_i64 tcg_gen_concat_i32_i64
|
||||
#define tcg_gen_extr_i64_tl tcg_gen_extr_i64_i32
|
||||
#define tcg_gen_andc_tl tcg_gen_andc_i32
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue