diff --git a/qemu/aarch64.h b/qemu/aarch64.h index 5b19de41..e9453c9e 100644 --- a/qemu/aarch64.h +++ b/qemu/aarch64.h @@ -853,6 +853,62 @@ #define helper_atomic_fetch_orw_be_mmu helper_atomic_fetch_orw_be_mmu_aarch64 #define helper_atomic_fetch_orw_le helper_atomic_fetch_orw_le_aarch64 #define helper_atomic_fetch_orw_le_mmu helper_atomic_fetch_orw_le_mmu_aarch64 +#define helper_atomic_fetch_smaxb_mmu helper_atomic_fetch_smaxb_mmu_aarch64 +#define helper_atomic_fetch_smaxb helper_atomic_fetch_smaxb_aarch64 +#define helper_atomic_fetch_smaxl_be_mmu helper_atomic_fetch_smaxl_be_mmu_aarch64 +#define helper_atomic_fetch_smaxl_be helper_atomic_fetch_smaxl_be_aarch64 +#define helper_atomic_fetch_smaxq_be_mmu helper_atomic_fetch_smaxq_be_mmu_aarch64 +#define helper_atomic_fetch_smaxq_be helper_atomic_fetch_smaxq_be_aarch64 +#define helper_atomic_fetch_smaxw_be_mmu helper_atomic_fetch_smaxw_be_mmu_aarch64 +#define helper_atomic_fetch_smaxw_be helper_atomic_fetch_smaxw_be_aarch64 +#define helper_atomic_fetch_sminb_mmu helper_atomic_fetch_sminb_mmu_aarch64 +#define helper_atomic_fetch_sminb helper_atomic_fetch_sminb_aarch64 +#define helper_atomic_fetch_sminl_be_mmu helper_atomic_fetch_sminl_be_mmu_aarch64 +#define helper_atomic_fetch_sminl_be helper_atomic_fetch_sminl_be_aarch64 +#define helper_atomic_fetch_sminq_be_mmu helper_atomic_fetch_sminq_be_mmu_aarch64 +#define helper_atomic_fetch_sminq_be helper_atomic_fetch_sminq_be_aarch64 +#define helper_atomic_fetch_sminw_be_mmu helper_atomic_fetch_sminw_be_mmu_aarch64 +#define helper_atomic_fetch_sminw_be helper_atomic_fetch_sminw_be_aarch64 +#define helper_atomic_fetch_umaxb_mmu helper_atomic_fetch_umaxb_mmu_aarch64 +#define helper_atomic_fetch_umaxb helper_atomic_fetch_umaxb_aarch64 +#define helper_atomic_fetch_umaxl_be_mmu helper_atomic_fetch_umaxl_be_mmu_aarch64 +#define helper_atomic_fetch_umaxl_be helper_atomic_fetch_umaxl_be_aarch64 +#define helper_atomic_fetch_umaxq_be_mmu helper_atomic_fetch_umaxq_be_mmu_aarch64 +#define helper_atomic_fetch_umaxq_be helper_atomic_fetch_umaxq_be_aarch64 +#define helper_atomic_fetch_umaxw_be_mmu helper_atomic_fetch_umaxw_be_mmu_aarch64 +#define helper_atomic_fetch_umaxw_be helper_atomic_fetch_umaxw_be_aarch64 +#define helper_atomic_fetch_uminb_mmu helper_atomic_fetch_uminb_mmu_aarch64 +#define helper_atomic_fetch_uminb helper_atomic_fetch_uminb_aarch64 +#define helper_atomic_fetch_uminl_be_mmu helper_atomic_fetch_uminl_be_mmu_aarch64 +#define helper_atomic_fetch_uminl_be helper_atomic_fetch_uminl_be_aarch64 +#define helper_atomic_fetch_uminq_be_mmu helper_atomic_fetch_uminq_be_mmu_aarch64 +#define helper_atomic_fetch_uminq_be helper_atomic_fetch_uminq_be_aarch64 +#define helper_atomic_fetch_uminw_be_mmu helper_atomic_fetch_uminw_be_mmu_aarch64 +#define helper_atomic_fetch_uminw_be helper_atomic_fetch_uminw_be_aarch64 +#define helper_atomic_fetch_smaxl_le_mmu helper_atomic_fetch_smaxl_le_mmu_aarch64 +#define helper_atomic_fetch_smaxl_le helper_atomic_fetch_smaxl_le_aarch64 +#define helper_atomic_fetch_smaxq_le_mmu helper_atomic_fetch_smaxq_le_mmu_aarch64 +#define helper_atomic_fetch_smaxq_le helper_atomic_fetch_smaxq_le_aarch64 +#define helper_atomic_fetch_smaxw_le_mmu helper_atomic_fetch_smaxw_le_mmu_aarch64 +#define helper_atomic_fetch_smaxw_le helper_atomic_fetch_smaxw_le_aarch64 +#define helper_atomic_fetch_sminl_le_mmu helper_atomic_fetch_sminl_le_mmu_aarch64 +#define helper_atomic_fetch_sminl_le helper_atomic_fetch_sminl_le_aarch64 +#define helper_atomic_fetch_sminq_le_mmu helper_atomic_fetch_sminq_le_mmu_aarch64 +#define helper_atomic_fetch_sminq_le helper_atomic_fetch_sminq_le_aarch64 +#define helper_atomic_fetch_sminw_le_mmu helper_atomic_fetch_sminw_le_mmu_aarch64 +#define helper_atomic_fetch_sminw_le helper_atomic_fetch_sminw_le_aarch64 +#define helper_atomic_fetch_umaxl_le_mmu helper_atomic_fetch_umaxl_le_mmu_aarch64 +#define helper_atomic_fetch_umaxl_le helper_atomic_fetch_umaxl_le_aarch64 +#define helper_atomic_fetch_umaxq_le_mmu helper_atomic_fetch_umaxq_le_mmu_aarch64 +#define helper_atomic_fetch_umaxq_le helper_atomic_fetch_umaxq_le_aarch64 +#define helper_atomic_fetch_umaxw_le_mmu helper_atomic_fetch_umaxw_le_mmu_aarch64 +#define helper_atomic_fetch_umaxw_le helper_atomic_fetch_umaxw_le_aarch64 +#define helper_atomic_fetch_uminl_le_mmu helper_atomic_fetch_uminl_le_mmu_aarch64 +#define helper_atomic_fetch_uminl_le helper_atomic_fetch_uminl_le_aarch64 +#define helper_atomic_fetch_uminq_le_mmu helper_atomic_fetch_uminq_le_mmu_aarch64 +#define helper_atomic_fetch_uminq_le helper_atomic_fetch_uminq_le_aarch64 +#define helper_atomic_fetch_uminw_le_mmu helper_atomic_fetch_uminw_le_mmu_aarch64 +#define helper_atomic_fetch_uminw_le helper_atomic_fetch_uminw_le_aarch64 #define helper_atomic_fetch_xorb helper_atomic_fetch_xorb_aarch64 #define helper_atomic_fetch_xorb_mmu helper_atomic_fetch_xorb_mmu_aarch64 #define helper_atomic_fetch_xorl_be helper_atomic_fetch_xorl_be_aarch64 @@ -885,10 +941,66 @@ #define helper_atomic_or_fetchw_be_mmu helper_atomic_or_fetchw_be_mmu_aarch64 #define helper_atomic_or_fetchw_le helper_atomic_or_fetchw_le_aarch64 #define helper_atomic_or_fetchw_le_mmu helper_atomic_or_fetchw_le_mmu_aarch64 +#define helper_atomic_smax_fetchb_mmu helper_atomic_smax_fetchb_mmu_aarch64 +#define helper_atomic_smax_fetchb helper_atomic_smax_fetchb_aarch64 +#define helper_atomic_smax_fetchl_be_mmu helper_atomic_smax_fetchl_be_mmu_aarch64 +#define helper_atomic_smax_fetchl_be helper_atomic_smax_fetchl_be_aarch64 +#define helper_atomic_smax_fetchq_be_mmu helper_atomic_smax_fetchq_be_mmu_aarch64 +#define helper_atomic_smax_fetchq_be helper_atomic_smax_fetchq_be_aarch64 +#define helper_atomic_smax_fetchw_be_mmu helper_atomic_smax_fetchw_be_mmu_aarch64 +#define helper_atomic_smax_fetchw_be helper_atomic_smax_fetchw_be_aarch64 +#define helper_atomic_smin_fetchb_mmu helper_atomic_smin_fetchb_mmu_aarch64 +#define helper_atomic_smin_fetchb helper_atomic_smin_fetchb_aarch64 +#define helper_atomic_smin_fetchl_be_mmu helper_atomic_smin_fetchl_be_mmu_aarch64 +#define helper_atomic_smin_fetchl_be helper_atomic_smin_fetchl_be_aarch64 +#define helper_atomic_smin_fetchq_be_mmu helper_atomic_smin_fetchq_be_mmu_aarch64 +#define helper_atomic_smin_fetchq_be helper_atomic_smin_fetchq_be_aarch64 +#define helper_atomic_smin_fetchw_be_mmu helper_atomic_smin_fetchw_be_mmu_aarch64 +#define helper_atomic_smin_fetchw_be helper_atomic_smin_fetchw_be_aarch64 +#define helper_atomic_smax_fetchl_le_mmu helper_atomic_smax_fetchl_le_mmu_aarch64 +#define helper_atomic_smax_fetchl_le helper_atomic_smax_fetchl_le_aarch64 +#define helper_atomic_smax_fetchq_le_mmu helper_atomic_smax_fetchq_le_mmu_aarch64 +#define helper_atomic_smax_fetchq_le helper_atomic_smax_fetchq_le_aarch64 +#define helper_atomic_smax_fetchw_le_mmu helper_atomic_smax_fetchw_le_mmu_aarch64 +#define helper_atomic_smax_fetchw_le helper_atomic_smax_fetchw_le_aarch64 +#define helper_atomic_smin_fetchl_le_mmu helper_atomic_smin_fetchl_le_mmu_aarch64 +#define helper_atomic_smin_fetchl_le helper_atomic_smin_fetchl_le_aarch64 +#define helper_atomic_smin_fetchq_le_mmu helper_atomic_smin_fetchq_le_mmu_aarch64 +#define helper_atomic_smin_fetchq_le helper_atomic_smin_fetchq_le_aarch64 +#define helper_atomic_smin_fetchw_le_mmu helper_atomic_smin_fetchw_le_mmu_aarch64 +#define helper_atomic_smin_fetchw_le helper_atomic_smin_fetchw_le_aarch64 #define helper_atomic_sto_be helper_atomic_sto_be_aarch64 #define helper_atomic_sto_be_mmu helper_atomic_sto_be_mmu_aarch64 #define helper_atomic_sto_le helper_atomic_sto_le_aarch64 #define helper_atomic_sto_le_mmu helper_atomic_sto_le_mmu_aarch64 +#define helper_atomic_umax_fetchb_mmu helper_atomic_umax_fetchb_mmu_aarch64 +#define helper_atomic_umax_fetchb helper_atomic_umax_fetchb_aarch64 +#define helper_atomic_umax_fetchl_be_mmu helper_atomic_umax_fetchl_be_mmu_aarch64 +#define helper_atomic_umax_fetchl_be helper_atomic_umax_fetchl_be_aarch64 +#define helper_atomic_umax_fetchq_be_mmu helper_atomic_umax_fetchq_be_mmu_aarch64 +#define helper_atomic_umax_fetchq_be helper_atomic_umax_fetchq_be_aarch64 +#define helper_atomic_umax_fetchw_be_mmu helper_atomic_umax_fetchw_be_mmu_aarch64 +#define helper_atomic_umax_fetchw_be helper_atomic_umax_fetchw_be_aarch64 +#define helper_atomic_umin_fetchb_mmu helper_atomic_umin_fetchb_mmu_aarch64 +#define helper_atomic_umin_fetchb helper_atomic_umin_fetchb_aarch64 +#define helper_atomic_umin_fetchl_be_mmu helper_atomic_umin_fetchl_be_mmu_aarch64 +#define helper_atomic_umin_fetchl_be helper_atomic_umin_fetchl_be_aarch64 +#define helper_atomic_umin_fetchq_be_mmu helper_atomic_umin_fetchq_be_mmu_aarch64 +#define helper_atomic_umin_fetchq_be helper_atomic_umin_fetchq_be_aarch64 +#define helper_atomic_umin_fetchw_be_mmu helper_atomic_umin_fetchw_be_mmu_aarch64 +#define helper_atomic_umin_fetchw_be helper_atomic_umin_fetchw_be_aarch64 +#define helper_atomic_umax_fetchl_le_mmu helper_atomic_umax_fetchl_le_mmu_aarch64 +#define helper_atomic_umax_fetchl_le helper_atomic_umax_fetchl_le_aarch64 +#define helper_atomic_umax_fetchq_le_mmu helper_atomic_umax_fetchq_le_mmu_aarch64 +#define helper_atomic_umax_fetchq_le helper_atomic_umax_fetchq_le_aarch64 +#define helper_atomic_umax_fetchw_le_mmu helper_atomic_umax_fetchw_le_mmu_aarch64 +#define helper_atomic_umax_fetchw_le helper_atomic_umax_fetchw_le_aarch64 +#define helper_atomic_umin_fetchl_le_mmu helper_atomic_umin_fetchl_le_mmu_aarch64 +#define helper_atomic_umin_fetchl_le helper_atomic_umin_fetchl_le_aarch64 +#define helper_atomic_umin_fetchq_le_mmu helper_atomic_umin_fetchq_le_mmu_aarch64 +#define helper_atomic_umin_fetchq_le helper_atomic_umin_fetchq_le_aarch64 +#define helper_atomic_umin_fetchw_le_mmu helper_atomic_umin_fetchw_le_mmu_aarch64 +#define helper_atomic_umin_fetchw_le helper_atomic_umin_fetchw_le_aarch64 #define helper_atomic_xchgb helper_atomic_xchgb_aarch64 #define helper_atomic_xchgb helper_atomic_xchgb_aarch64 #define helper_atomic_xchgb_mmu helper_atomic_xchgb_mmu_aarch64 @@ -2516,10 +2628,26 @@ #define tcg_gen_atomic_fetch_and_i64 tcg_gen_atomic_fetch_and_i64_aarch64 #define tcg_gen_atomic_fetch_or_i32 tcg_gen_atomic_fetch_or_i32_aarch64 #define tcg_gen_atomic_fetch_or_i64 tcg_gen_atomic_fetch_or_i64_aarch64 +#define tcg_gen_atomic_fetch_smax_i32 tcg_gen_atomic_fetch_smax_i32_aarch64 +#define tcg_gen_atomic_fetch_smax_i64 tcg_gen_atomic_fetch_smax_i64_aarch64 +#define tcg_gen_atomic_fetch_smin_i32 tcg_gen_atomic_fetch_smin_i32_aarch64 +#define tcg_gen_atomic_fetch_smin_i64 tcg_gen_atomic_fetch_smin_i64_aarch64 +#define tcg_gen_atomic_fetch_umax_i32 tcg_gen_atomic_fetch_umax_i32_aarch64 +#define tcg_gen_atomic_fetch_umax_i64 tcg_gen_atomic_fetch_umax_i64_aarch64 +#define tcg_gen_atomic_fetch_umin_i32 tcg_gen_atomic_fetch_umin_i32_aarch64 +#define tcg_gen_atomic_fetch_umin_i64 tcg_gen_atomic_fetch_umin_i64_aarch64 #define tcg_gen_atomic_fetch_xor_i32 tcg_gen_atomic_fetch_xor_i32_aarch64 #define tcg_gen_atomic_fetch_xor_i64 tcg_gen_atomic_fetch_xor_i64_aarch64 #define tcg_gen_atomic_or_fetch_i32 tcg_gen_atomic_or_fetch_i32_aarch64 #define tcg_gen_atomic_or_fetch_i64 tcg_gen_atomic_or_fetch_i64_aarch64 +#define tcg_gen_atomic_smax_fetch_i32 tcg_gen_atomic_smax_fetch_i32_aarch64 +#define tcg_gen_atomic_smax_fetch_i64 tcg_gen_atomic_smax_fetch_i64_aarch64 +#define tcg_gen_atomic_smin_fetch_i32 tcg_gen_atomic_smin_fetch_i32_aarch64 +#define tcg_gen_atomic_smin_fetch_i64 tcg_gen_atomic_smin_fetch_i64_aarch64 +#define tcg_gen_atomic_umax_fetch_i32 tcg_gen_atomic_umax_fetch_i32_aarch64 +#define tcg_gen_atomic_umax_fetch_i64 tcg_gen_atomic_umax_fetch_i64_aarch64 +#define tcg_gen_atomic_umin_fetch_i32 tcg_gen_atomic_umin_fetch_i32_aarch64 +#define tcg_gen_atomic_umin_fetch_i64 tcg_gen_atomic_umin_fetch_i64_aarch64 #define tcg_gen_atomic_xchg_i32 tcg_gen_atomic_xchg_i32_aarch64 #define tcg_gen_atomic_xchg_i64 tcg_gen_atomic_xchg_i64_aarch64 #define tcg_gen_atomic_xor_fetch_i32 tcg_gen_atomic_xor_fetch_i32_aarch64 diff --git a/qemu/aarch64eb.h b/qemu/aarch64eb.h index 9a747b0f..8092ca35 100644 --- a/qemu/aarch64eb.h +++ b/qemu/aarch64eb.h @@ -853,6 +853,62 @@ #define helper_atomic_fetch_orw_be_mmu helper_atomic_fetch_orw_be_mmu_aarch64eb #define helper_atomic_fetch_orw_le helper_atomic_fetch_orw_le_aarch64eb #define helper_atomic_fetch_orw_le_mmu helper_atomic_fetch_orw_le_mmu_aarch64eb +#define helper_atomic_fetch_smaxb_mmu helper_atomic_fetch_smaxb_mmu_aarch64eb +#define helper_atomic_fetch_smaxb helper_atomic_fetch_smaxb_aarch64eb +#define helper_atomic_fetch_smaxl_be_mmu helper_atomic_fetch_smaxl_be_mmu_aarch64eb +#define helper_atomic_fetch_smaxl_be helper_atomic_fetch_smaxl_be_aarch64eb +#define helper_atomic_fetch_smaxq_be_mmu helper_atomic_fetch_smaxq_be_mmu_aarch64eb +#define helper_atomic_fetch_smaxq_be helper_atomic_fetch_smaxq_be_aarch64eb +#define helper_atomic_fetch_smaxw_be_mmu helper_atomic_fetch_smaxw_be_mmu_aarch64eb +#define helper_atomic_fetch_smaxw_be helper_atomic_fetch_smaxw_be_aarch64eb +#define helper_atomic_fetch_sminb_mmu helper_atomic_fetch_sminb_mmu_aarch64eb +#define helper_atomic_fetch_sminb helper_atomic_fetch_sminb_aarch64eb +#define helper_atomic_fetch_sminl_be_mmu helper_atomic_fetch_sminl_be_mmu_aarch64eb +#define helper_atomic_fetch_sminl_be helper_atomic_fetch_sminl_be_aarch64eb +#define helper_atomic_fetch_sminq_be_mmu helper_atomic_fetch_sminq_be_mmu_aarch64eb +#define helper_atomic_fetch_sminq_be helper_atomic_fetch_sminq_be_aarch64eb +#define helper_atomic_fetch_sminw_be_mmu helper_atomic_fetch_sminw_be_mmu_aarch64eb +#define helper_atomic_fetch_sminw_be helper_atomic_fetch_sminw_be_aarch64eb +#define helper_atomic_fetch_umaxb_mmu helper_atomic_fetch_umaxb_mmu_aarch64eb +#define helper_atomic_fetch_umaxb helper_atomic_fetch_umaxb_aarch64eb +#define helper_atomic_fetch_umaxl_be_mmu helper_atomic_fetch_umaxl_be_mmu_aarch64eb +#define helper_atomic_fetch_umaxl_be helper_atomic_fetch_umaxl_be_aarch64eb +#define helper_atomic_fetch_umaxq_be_mmu helper_atomic_fetch_umaxq_be_mmu_aarch64eb +#define helper_atomic_fetch_umaxq_be helper_atomic_fetch_umaxq_be_aarch64eb +#define helper_atomic_fetch_umaxw_be_mmu helper_atomic_fetch_umaxw_be_mmu_aarch64eb +#define helper_atomic_fetch_umaxw_be helper_atomic_fetch_umaxw_be_aarch64eb +#define helper_atomic_fetch_uminb_mmu helper_atomic_fetch_uminb_mmu_aarch64eb +#define helper_atomic_fetch_uminb helper_atomic_fetch_uminb_aarch64eb +#define helper_atomic_fetch_uminl_be_mmu helper_atomic_fetch_uminl_be_mmu_aarch64eb +#define helper_atomic_fetch_uminl_be helper_atomic_fetch_uminl_be_aarch64eb +#define helper_atomic_fetch_uminq_be_mmu helper_atomic_fetch_uminq_be_mmu_aarch64eb +#define helper_atomic_fetch_uminq_be helper_atomic_fetch_uminq_be_aarch64eb +#define helper_atomic_fetch_uminw_be_mmu helper_atomic_fetch_uminw_be_mmu_aarch64eb +#define helper_atomic_fetch_uminw_be helper_atomic_fetch_uminw_be_aarch64eb +#define helper_atomic_fetch_smaxl_le_mmu helper_atomic_fetch_smaxl_le_mmu_aarch64eb +#define helper_atomic_fetch_smaxl_le helper_atomic_fetch_smaxl_le_aarch64eb +#define helper_atomic_fetch_smaxq_le_mmu helper_atomic_fetch_smaxq_le_mmu_aarch64eb +#define helper_atomic_fetch_smaxq_le helper_atomic_fetch_smaxq_le_aarch64eb +#define helper_atomic_fetch_smaxw_le_mmu helper_atomic_fetch_smaxw_le_mmu_aarch64eb +#define helper_atomic_fetch_smaxw_le helper_atomic_fetch_smaxw_le_aarch64eb +#define helper_atomic_fetch_sminl_le_mmu helper_atomic_fetch_sminl_le_mmu_aarch64eb +#define helper_atomic_fetch_sminl_le helper_atomic_fetch_sminl_le_aarch64eb +#define helper_atomic_fetch_sminq_le_mmu helper_atomic_fetch_sminq_le_mmu_aarch64eb +#define helper_atomic_fetch_sminq_le helper_atomic_fetch_sminq_le_aarch64eb +#define helper_atomic_fetch_sminw_le_mmu helper_atomic_fetch_sminw_le_mmu_aarch64eb +#define helper_atomic_fetch_sminw_le helper_atomic_fetch_sminw_le_aarch64eb +#define helper_atomic_fetch_umaxl_le_mmu helper_atomic_fetch_umaxl_le_mmu_aarch64eb +#define helper_atomic_fetch_umaxl_le helper_atomic_fetch_umaxl_le_aarch64eb +#define helper_atomic_fetch_umaxq_le_mmu helper_atomic_fetch_umaxq_le_mmu_aarch64eb +#define helper_atomic_fetch_umaxq_le helper_atomic_fetch_umaxq_le_aarch64eb +#define helper_atomic_fetch_umaxw_le_mmu helper_atomic_fetch_umaxw_le_mmu_aarch64eb +#define helper_atomic_fetch_umaxw_le helper_atomic_fetch_umaxw_le_aarch64eb +#define helper_atomic_fetch_uminl_le_mmu helper_atomic_fetch_uminl_le_mmu_aarch64eb +#define helper_atomic_fetch_uminl_le helper_atomic_fetch_uminl_le_aarch64eb +#define helper_atomic_fetch_uminq_le_mmu helper_atomic_fetch_uminq_le_mmu_aarch64eb +#define helper_atomic_fetch_uminq_le helper_atomic_fetch_uminq_le_aarch64eb +#define helper_atomic_fetch_uminw_le_mmu helper_atomic_fetch_uminw_le_mmu_aarch64eb +#define helper_atomic_fetch_uminw_le helper_atomic_fetch_uminw_le_aarch64eb #define helper_atomic_fetch_xorb helper_atomic_fetch_xorb_aarch64eb #define helper_atomic_fetch_xorb_mmu helper_atomic_fetch_xorb_mmu_aarch64eb #define helper_atomic_fetch_xorl_be helper_atomic_fetch_xorl_be_aarch64eb @@ -885,10 +941,66 @@ #define helper_atomic_or_fetchw_be_mmu helper_atomic_or_fetchw_be_mmu_aarch64eb #define helper_atomic_or_fetchw_le helper_atomic_or_fetchw_le_aarch64eb #define helper_atomic_or_fetchw_le_mmu helper_atomic_or_fetchw_le_mmu_aarch64eb +#define helper_atomic_smax_fetchb_mmu helper_atomic_smax_fetchb_mmu_aarch64eb +#define helper_atomic_smax_fetchb helper_atomic_smax_fetchb_aarch64eb +#define helper_atomic_smax_fetchl_be_mmu helper_atomic_smax_fetchl_be_mmu_aarch64eb +#define helper_atomic_smax_fetchl_be helper_atomic_smax_fetchl_be_aarch64eb +#define helper_atomic_smax_fetchq_be_mmu helper_atomic_smax_fetchq_be_mmu_aarch64eb +#define helper_atomic_smax_fetchq_be helper_atomic_smax_fetchq_be_aarch64eb +#define helper_atomic_smax_fetchw_be_mmu helper_atomic_smax_fetchw_be_mmu_aarch64eb +#define helper_atomic_smax_fetchw_be helper_atomic_smax_fetchw_be_aarch64eb +#define helper_atomic_smin_fetchb_mmu helper_atomic_smin_fetchb_mmu_aarch64eb +#define helper_atomic_smin_fetchb helper_atomic_smin_fetchb_aarch64eb +#define helper_atomic_smin_fetchl_be_mmu helper_atomic_smin_fetchl_be_mmu_aarch64eb +#define helper_atomic_smin_fetchl_be helper_atomic_smin_fetchl_be_aarch64eb +#define helper_atomic_smin_fetchq_be_mmu helper_atomic_smin_fetchq_be_mmu_aarch64eb +#define helper_atomic_smin_fetchq_be helper_atomic_smin_fetchq_be_aarch64eb +#define helper_atomic_smin_fetchw_be_mmu helper_atomic_smin_fetchw_be_mmu_aarch64eb +#define helper_atomic_smin_fetchw_be helper_atomic_smin_fetchw_be_aarch64eb +#define helper_atomic_smax_fetchl_le_mmu helper_atomic_smax_fetchl_le_mmu_aarch64eb +#define helper_atomic_smax_fetchl_le helper_atomic_smax_fetchl_le_aarch64eb +#define helper_atomic_smax_fetchq_le_mmu helper_atomic_smax_fetchq_le_mmu_aarch64eb +#define helper_atomic_smax_fetchq_le helper_atomic_smax_fetchq_le_aarch64eb +#define helper_atomic_smax_fetchw_le_mmu helper_atomic_smax_fetchw_le_mmu_aarch64eb +#define helper_atomic_smax_fetchw_le helper_atomic_smax_fetchw_le_aarch64eb +#define helper_atomic_smin_fetchl_le_mmu helper_atomic_smin_fetchl_le_mmu_aarch64eb +#define helper_atomic_smin_fetchl_le helper_atomic_smin_fetchl_le_aarch64eb +#define helper_atomic_smin_fetchq_le_mmu helper_atomic_smin_fetchq_le_mmu_aarch64eb +#define helper_atomic_smin_fetchq_le helper_atomic_smin_fetchq_le_aarch64eb +#define helper_atomic_smin_fetchw_le_mmu helper_atomic_smin_fetchw_le_mmu_aarch64eb +#define helper_atomic_smin_fetchw_le helper_atomic_smin_fetchw_le_aarch64eb #define helper_atomic_sto_be helper_atomic_sto_be_aarch64eb #define helper_atomic_sto_be_mmu helper_atomic_sto_be_mmu_aarch64eb #define helper_atomic_sto_le helper_atomic_sto_le_aarch64eb #define helper_atomic_sto_le_mmu helper_atomic_sto_le_mmu_aarch64eb +#define helper_atomic_umax_fetchb_mmu helper_atomic_umax_fetchb_mmu_aarch64eb +#define helper_atomic_umax_fetchb helper_atomic_umax_fetchb_aarch64eb +#define helper_atomic_umax_fetchl_be_mmu helper_atomic_umax_fetchl_be_mmu_aarch64eb +#define helper_atomic_umax_fetchl_be helper_atomic_umax_fetchl_be_aarch64eb +#define helper_atomic_umax_fetchq_be_mmu helper_atomic_umax_fetchq_be_mmu_aarch64eb +#define helper_atomic_umax_fetchq_be helper_atomic_umax_fetchq_be_aarch64eb +#define helper_atomic_umax_fetchw_be_mmu helper_atomic_umax_fetchw_be_mmu_aarch64eb +#define helper_atomic_umax_fetchw_be helper_atomic_umax_fetchw_be_aarch64eb +#define helper_atomic_umin_fetchb_mmu helper_atomic_umin_fetchb_mmu_aarch64eb +#define helper_atomic_umin_fetchb helper_atomic_umin_fetchb_aarch64eb +#define helper_atomic_umin_fetchl_be_mmu helper_atomic_umin_fetchl_be_mmu_aarch64eb +#define helper_atomic_umin_fetchl_be helper_atomic_umin_fetchl_be_aarch64eb +#define helper_atomic_umin_fetchq_be_mmu helper_atomic_umin_fetchq_be_mmu_aarch64eb +#define helper_atomic_umin_fetchq_be helper_atomic_umin_fetchq_be_aarch64eb +#define helper_atomic_umin_fetchw_be_mmu helper_atomic_umin_fetchw_be_mmu_aarch64eb +#define helper_atomic_umin_fetchw_be helper_atomic_umin_fetchw_be_aarch64eb +#define helper_atomic_umax_fetchl_le_mmu helper_atomic_umax_fetchl_le_mmu_aarch64eb +#define helper_atomic_umax_fetchl_le helper_atomic_umax_fetchl_le_aarch64eb +#define helper_atomic_umax_fetchq_le_mmu helper_atomic_umax_fetchq_le_mmu_aarch64eb +#define helper_atomic_umax_fetchq_le helper_atomic_umax_fetchq_le_aarch64eb +#define helper_atomic_umax_fetchw_le_mmu helper_atomic_umax_fetchw_le_mmu_aarch64eb +#define helper_atomic_umax_fetchw_le helper_atomic_umax_fetchw_le_aarch64eb +#define helper_atomic_umin_fetchl_le_mmu helper_atomic_umin_fetchl_le_mmu_aarch64eb +#define helper_atomic_umin_fetchl_le helper_atomic_umin_fetchl_le_aarch64eb +#define helper_atomic_umin_fetchq_le_mmu helper_atomic_umin_fetchq_le_mmu_aarch64eb +#define helper_atomic_umin_fetchq_le helper_atomic_umin_fetchq_le_aarch64eb +#define helper_atomic_umin_fetchw_le_mmu helper_atomic_umin_fetchw_le_mmu_aarch64eb +#define helper_atomic_umin_fetchw_le helper_atomic_umin_fetchw_le_aarch64eb #define helper_atomic_xchgb helper_atomic_xchgb_aarch64eb #define helper_atomic_xchgb helper_atomic_xchgb_aarch64eb #define helper_atomic_xchgb_mmu helper_atomic_xchgb_mmu_aarch64eb @@ -2516,10 +2628,26 @@ #define tcg_gen_atomic_fetch_and_i64 tcg_gen_atomic_fetch_and_i64_aarch64eb #define tcg_gen_atomic_fetch_or_i32 tcg_gen_atomic_fetch_or_i32_aarch64eb #define tcg_gen_atomic_fetch_or_i64 tcg_gen_atomic_fetch_or_i64_aarch64eb +#define tcg_gen_atomic_fetch_smax_i32 tcg_gen_atomic_fetch_smax_i32_aarch64eb +#define tcg_gen_atomic_fetch_smax_i64 tcg_gen_atomic_fetch_smax_i64_aarch64eb +#define tcg_gen_atomic_fetch_smin_i32 tcg_gen_atomic_fetch_smin_i32_aarch64eb +#define tcg_gen_atomic_fetch_smin_i64 tcg_gen_atomic_fetch_smin_i64_aarch64eb +#define tcg_gen_atomic_fetch_umax_i32 tcg_gen_atomic_fetch_umax_i32_aarch64eb +#define tcg_gen_atomic_fetch_umax_i64 tcg_gen_atomic_fetch_umax_i64_aarch64eb +#define tcg_gen_atomic_fetch_umin_i32 tcg_gen_atomic_fetch_umin_i32_aarch64eb +#define tcg_gen_atomic_fetch_umin_i64 tcg_gen_atomic_fetch_umin_i64_aarch64eb #define tcg_gen_atomic_fetch_xor_i32 tcg_gen_atomic_fetch_xor_i32_aarch64eb #define tcg_gen_atomic_fetch_xor_i64 tcg_gen_atomic_fetch_xor_i64_aarch64eb #define tcg_gen_atomic_or_fetch_i32 tcg_gen_atomic_or_fetch_i32_aarch64eb #define tcg_gen_atomic_or_fetch_i64 tcg_gen_atomic_or_fetch_i64_aarch64eb +#define tcg_gen_atomic_smax_fetch_i32 tcg_gen_atomic_smax_fetch_i32_aarch64eb +#define tcg_gen_atomic_smax_fetch_i64 tcg_gen_atomic_smax_fetch_i64_aarch64eb +#define tcg_gen_atomic_smin_fetch_i32 tcg_gen_atomic_smin_fetch_i32_aarch64eb +#define tcg_gen_atomic_smin_fetch_i64 tcg_gen_atomic_smin_fetch_i64_aarch64eb +#define tcg_gen_atomic_umax_fetch_i32 tcg_gen_atomic_umax_fetch_i32_aarch64eb +#define tcg_gen_atomic_umax_fetch_i64 tcg_gen_atomic_umax_fetch_i64_aarch64eb +#define tcg_gen_atomic_umin_fetch_i32 tcg_gen_atomic_umin_fetch_i32_aarch64eb +#define tcg_gen_atomic_umin_fetch_i64 tcg_gen_atomic_umin_fetch_i64_aarch64eb #define tcg_gen_atomic_xchg_i32 tcg_gen_atomic_xchg_i32_aarch64eb #define tcg_gen_atomic_xchg_i64 tcg_gen_atomic_xchg_i64_aarch64eb #define tcg_gen_atomic_xor_fetch_i32 tcg_gen_atomic_xor_fetch_i32_aarch64eb diff --git a/qemu/accel/tcg/atomic_template.h b/qemu/accel/tcg/atomic_template.h index 1c7c1752..e6096f0c 100644 --- a/qemu/accel/tcg/atomic_template.h +++ b/qemu/accel/tcg/atomic_template.h @@ -25,18 +25,22 @@ #elif DATA_SIZE == 8 # define SUFFIX q # define DATA_TYPE uint64_t +# define SDATA_TYPE int64_t # define BSWAP bswap64 #elif DATA_SIZE == 4 # define SUFFIX l # define DATA_TYPE uint32_t +# define SDATA_TYPE int32_t # define BSWAP bswap32 #elif DATA_SIZE == 2 # define SUFFIX w # define DATA_TYPE uint16_t +# define SDATA_TYPE int16_t # define BSWAP bswap16 #elif DATA_SIZE == 1 # define SUFFIX b # define DATA_TYPE uint8_t +# define SDATA_TYPE int8_t # define BSWAP #else # error unsupported data size @@ -113,6 +117,38 @@ GEN_ATOMIC_HELPER(or_fetch) GEN_ATOMIC_HELPER(xor_fetch) #undef GEN_ATOMIC_HELPER + +/* These helpers are, as a whole, full barriers. Within the helper, + * the leading barrier is explicit and the trailing barrier is within + * cmpxchg primitive. + */ +#define GEN_ATOMIC_HELPER_FN(X, FN, XDATA_TYPE, RET) \ +ABI_TYPE ATOMIC_NAME(X)(CPUArchState *env, target_ulong addr, \ + ABI_TYPE xval EXTRA_ARGS) \ +{ \ + XDATA_TYPE *haddr = ATOMIC_MMU_LOOKUP; \ + XDATA_TYPE cmp, old, new, val = xval; \ + smp_mb(); \ + cmp = atomic_read__nocheck(haddr); \ + do { \ + old = cmp; new = FN(old, val); \ + cmp = atomic_cmpxchg__nocheck(haddr, old, new); \ + } while (cmp != old); \ + ATOMIC_MMU_CLEANUP; \ + return RET; \ +} + +GEN_ATOMIC_HELPER_FN(fetch_smin, MIN, SDATA_TYPE, old) +GEN_ATOMIC_HELPER_FN(fetch_umin, MIN, DATA_TYPE, old) +GEN_ATOMIC_HELPER_FN(fetch_smax, MAX, SDATA_TYPE, old) +GEN_ATOMIC_HELPER_FN(fetch_umax, MAX, DATA_TYPE, old) + +GEN_ATOMIC_HELPER_FN(smin_fetch, MIN, SDATA_TYPE, new) +GEN_ATOMIC_HELPER_FN(umin_fetch, MIN, DATA_TYPE, new) +GEN_ATOMIC_HELPER_FN(smax_fetch, MAX, SDATA_TYPE, new) +GEN_ATOMIC_HELPER_FN(umax_fetch, MAX, DATA_TYPE, new) + +#undef GEN_ATOMIC_HELPER_FN #endif /* DATA SIZE >= 16 */ #undef END @@ -221,6 +257,38 @@ ABI_TYPE ATOMIC_NAME(add_fetch)(CPUArchState *env, target_ulong addr, ldo = ldn; } } + +/* These helpers are, as a whole, full barriers. Within the helper, + * the leading barrier is explicit and the trailing barrier is within + * cmpxchg primitive. + */ +#define GEN_ATOMIC_HELPER_FN(X, FN, XDATA_TYPE, RET) \ +ABI_TYPE ATOMIC_NAME(X)(CPUArchState *env, target_ulong addr, \ + ABI_TYPE xval EXTRA_ARGS) \ +{ \ + XDATA_TYPE *haddr = ATOMIC_MMU_LOOKUP; \ + XDATA_TYPE ldo, ldn, old, new, val = xval; \ + smp_mb(); \ + ldn = atomic_read__nocheck(haddr); \ + do { \ + ldo = ldn; old = BSWAP(ldo); new = FN(old, val); \ + ldn = atomic_cmpxchg__nocheck(haddr, ldo, BSWAP(new)); \ + } while (ldo != ldn); \ + ATOMIC_MMU_CLEANUP; \ + return RET; \ +} + +GEN_ATOMIC_HELPER_FN(fetch_smin, MIN, SDATA_TYPE, old) +GEN_ATOMIC_HELPER_FN(fetch_umin, MIN, DATA_TYPE, old) +GEN_ATOMIC_HELPER_FN(fetch_smax, MAX, SDATA_TYPE, old) +GEN_ATOMIC_HELPER_FN(fetch_umax, MAX, DATA_TYPE, old) + +GEN_ATOMIC_HELPER_FN(smin_fetch, MIN, SDATA_TYPE, new) +GEN_ATOMIC_HELPER_FN(umin_fetch, MIN, DATA_TYPE, new) +GEN_ATOMIC_HELPER_FN(smax_fetch, MAX, SDATA_TYPE, new) +GEN_ATOMIC_HELPER_FN(umax_fetch, MAX, DATA_TYPE, new) + +#undef GEN_ATOMIC_HELPER_FN #endif /* DATA_SIZE >= 16 */ #undef END @@ -229,5 +297,6 @@ ABI_TYPE ATOMIC_NAME(add_fetch)(CPUArchState *env, target_ulong addr, #undef BSWAP #undef ABI_TYPE #undef DATA_TYPE +#undef SDATA_TYPE #undef SUFFIX #undef DATA_SIZE diff --git a/qemu/accel/tcg/tcg-runtime.h b/qemu/accel/tcg/tcg-runtime.h index 3d249fef..3f540ea3 100644 --- a/qemu/accel/tcg/tcg-runtime.h +++ b/qemu/accel/tcg/tcg-runtime.h @@ -126,11 +126,19 @@ GEN_ATOMIC_HELPERS(fetch_add) GEN_ATOMIC_HELPERS(fetch_and) GEN_ATOMIC_HELPERS(fetch_or) GEN_ATOMIC_HELPERS(fetch_xor) +GEN_ATOMIC_HELPERS(fetch_smin) +GEN_ATOMIC_HELPERS(fetch_umin) +GEN_ATOMIC_HELPERS(fetch_smax) +GEN_ATOMIC_HELPERS(fetch_umax) GEN_ATOMIC_HELPERS(add_fetch) GEN_ATOMIC_HELPERS(and_fetch) GEN_ATOMIC_HELPERS(or_fetch) GEN_ATOMIC_HELPERS(xor_fetch) +GEN_ATOMIC_HELPERS(smin_fetch) +GEN_ATOMIC_HELPERS(umin_fetch) +GEN_ATOMIC_HELPERS(smax_fetch) +GEN_ATOMIC_HELPERS(umax_fetch) GEN_ATOMIC_HELPERS(xchg) diff --git a/qemu/arm.h b/qemu/arm.h index 0c2e5407..5418b130 100644 --- a/qemu/arm.h +++ b/qemu/arm.h @@ -853,6 +853,62 @@ #define helper_atomic_fetch_orw_be_mmu helper_atomic_fetch_orw_be_mmu_arm #define helper_atomic_fetch_orw_le helper_atomic_fetch_orw_le_arm #define helper_atomic_fetch_orw_le_mmu helper_atomic_fetch_orw_le_mmu_arm +#define helper_atomic_fetch_smaxb_mmu helper_atomic_fetch_smaxb_mmu_arm +#define helper_atomic_fetch_smaxb helper_atomic_fetch_smaxb_arm +#define helper_atomic_fetch_smaxl_be_mmu helper_atomic_fetch_smaxl_be_mmu_arm +#define helper_atomic_fetch_smaxl_be helper_atomic_fetch_smaxl_be_arm +#define helper_atomic_fetch_smaxq_be_mmu helper_atomic_fetch_smaxq_be_mmu_arm +#define helper_atomic_fetch_smaxq_be helper_atomic_fetch_smaxq_be_arm +#define helper_atomic_fetch_smaxw_be_mmu helper_atomic_fetch_smaxw_be_mmu_arm +#define helper_atomic_fetch_smaxw_be helper_atomic_fetch_smaxw_be_arm +#define helper_atomic_fetch_sminb_mmu helper_atomic_fetch_sminb_mmu_arm +#define helper_atomic_fetch_sminb helper_atomic_fetch_sminb_arm +#define helper_atomic_fetch_sminl_be_mmu helper_atomic_fetch_sminl_be_mmu_arm +#define helper_atomic_fetch_sminl_be helper_atomic_fetch_sminl_be_arm +#define helper_atomic_fetch_sminq_be_mmu helper_atomic_fetch_sminq_be_mmu_arm +#define helper_atomic_fetch_sminq_be helper_atomic_fetch_sminq_be_arm +#define helper_atomic_fetch_sminw_be_mmu helper_atomic_fetch_sminw_be_mmu_arm +#define helper_atomic_fetch_sminw_be helper_atomic_fetch_sminw_be_arm +#define helper_atomic_fetch_umaxb_mmu helper_atomic_fetch_umaxb_mmu_arm +#define helper_atomic_fetch_umaxb helper_atomic_fetch_umaxb_arm +#define helper_atomic_fetch_umaxl_be_mmu helper_atomic_fetch_umaxl_be_mmu_arm +#define helper_atomic_fetch_umaxl_be helper_atomic_fetch_umaxl_be_arm +#define helper_atomic_fetch_umaxq_be_mmu helper_atomic_fetch_umaxq_be_mmu_arm +#define helper_atomic_fetch_umaxq_be helper_atomic_fetch_umaxq_be_arm +#define helper_atomic_fetch_umaxw_be_mmu helper_atomic_fetch_umaxw_be_mmu_arm +#define helper_atomic_fetch_umaxw_be helper_atomic_fetch_umaxw_be_arm +#define helper_atomic_fetch_uminb_mmu helper_atomic_fetch_uminb_mmu_arm +#define helper_atomic_fetch_uminb helper_atomic_fetch_uminb_arm +#define helper_atomic_fetch_uminl_be_mmu helper_atomic_fetch_uminl_be_mmu_arm +#define helper_atomic_fetch_uminl_be helper_atomic_fetch_uminl_be_arm +#define helper_atomic_fetch_uminq_be_mmu helper_atomic_fetch_uminq_be_mmu_arm +#define helper_atomic_fetch_uminq_be helper_atomic_fetch_uminq_be_arm +#define helper_atomic_fetch_uminw_be_mmu helper_atomic_fetch_uminw_be_mmu_arm +#define helper_atomic_fetch_uminw_be helper_atomic_fetch_uminw_be_arm +#define helper_atomic_fetch_smaxl_le_mmu helper_atomic_fetch_smaxl_le_mmu_arm +#define helper_atomic_fetch_smaxl_le helper_atomic_fetch_smaxl_le_arm +#define helper_atomic_fetch_smaxq_le_mmu helper_atomic_fetch_smaxq_le_mmu_arm +#define helper_atomic_fetch_smaxq_le helper_atomic_fetch_smaxq_le_arm +#define helper_atomic_fetch_smaxw_le_mmu helper_atomic_fetch_smaxw_le_mmu_arm +#define helper_atomic_fetch_smaxw_le helper_atomic_fetch_smaxw_le_arm +#define helper_atomic_fetch_sminl_le_mmu helper_atomic_fetch_sminl_le_mmu_arm +#define helper_atomic_fetch_sminl_le helper_atomic_fetch_sminl_le_arm +#define helper_atomic_fetch_sminq_le_mmu helper_atomic_fetch_sminq_le_mmu_arm +#define helper_atomic_fetch_sminq_le helper_atomic_fetch_sminq_le_arm +#define helper_atomic_fetch_sminw_le_mmu helper_atomic_fetch_sminw_le_mmu_arm +#define helper_atomic_fetch_sminw_le helper_atomic_fetch_sminw_le_arm +#define helper_atomic_fetch_umaxl_le_mmu helper_atomic_fetch_umaxl_le_mmu_arm +#define helper_atomic_fetch_umaxl_le helper_atomic_fetch_umaxl_le_arm +#define helper_atomic_fetch_umaxq_le_mmu helper_atomic_fetch_umaxq_le_mmu_arm +#define helper_atomic_fetch_umaxq_le helper_atomic_fetch_umaxq_le_arm +#define helper_atomic_fetch_umaxw_le_mmu helper_atomic_fetch_umaxw_le_mmu_arm +#define helper_atomic_fetch_umaxw_le helper_atomic_fetch_umaxw_le_arm +#define helper_atomic_fetch_uminl_le_mmu helper_atomic_fetch_uminl_le_mmu_arm +#define helper_atomic_fetch_uminl_le helper_atomic_fetch_uminl_le_arm +#define helper_atomic_fetch_uminq_le_mmu helper_atomic_fetch_uminq_le_mmu_arm +#define helper_atomic_fetch_uminq_le helper_atomic_fetch_uminq_le_arm +#define helper_atomic_fetch_uminw_le_mmu helper_atomic_fetch_uminw_le_mmu_arm +#define helper_atomic_fetch_uminw_le helper_atomic_fetch_uminw_le_arm #define helper_atomic_fetch_xorb helper_atomic_fetch_xorb_arm #define helper_atomic_fetch_xorb_mmu helper_atomic_fetch_xorb_mmu_arm #define helper_atomic_fetch_xorl_be helper_atomic_fetch_xorl_be_arm @@ -885,10 +941,66 @@ #define helper_atomic_or_fetchw_be_mmu helper_atomic_or_fetchw_be_mmu_arm #define helper_atomic_or_fetchw_le helper_atomic_or_fetchw_le_arm #define helper_atomic_or_fetchw_le_mmu helper_atomic_or_fetchw_le_mmu_arm +#define helper_atomic_smax_fetchb_mmu helper_atomic_smax_fetchb_mmu_arm +#define helper_atomic_smax_fetchb helper_atomic_smax_fetchb_arm +#define helper_atomic_smax_fetchl_be_mmu helper_atomic_smax_fetchl_be_mmu_arm +#define helper_atomic_smax_fetchl_be helper_atomic_smax_fetchl_be_arm +#define helper_atomic_smax_fetchq_be_mmu helper_atomic_smax_fetchq_be_mmu_arm +#define helper_atomic_smax_fetchq_be helper_atomic_smax_fetchq_be_arm +#define helper_atomic_smax_fetchw_be_mmu helper_atomic_smax_fetchw_be_mmu_arm +#define helper_atomic_smax_fetchw_be helper_atomic_smax_fetchw_be_arm +#define helper_atomic_smin_fetchb_mmu helper_atomic_smin_fetchb_mmu_arm +#define helper_atomic_smin_fetchb helper_atomic_smin_fetchb_arm +#define helper_atomic_smin_fetchl_be_mmu helper_atomic_smin_fetchl_be_mmu_arm +#define helper_atomic_smin_fetchl_be helper_atomic_smin_fetchl_be_arm +#define helper_atomic_smin_fetchq_be_mmu helper_atomic_smin_fetchq_be_mmu_arm +#define helper_atomic_smin_fetchq_be helper_atomic_smin_fetchq_be_arm +#define helper_atomic_smin_fetchw_be_mmu helper_atomic_smin_fetchw_be_mmu_arm +#define helper_atomic_smin_fetchw_be helper_atomic_smin_fetchw_be_arm +#define helper_atomic_smax_fetchl_le_mmu helper_atomic_smax_fetchl_le_mmu_arm +#define helper_atomic_smax_fetchl_le helper_atomic_smax_fetchl_le_arm +#define helper_atomic_smax_fetchq_le_mmu helper_atomic_smax_fetchq_le_mmu_arm +#define helper_atomic_smax_fetchq_le helper_atomic_smax_fetchq_le_arm +#define helper_atomic_smax_fetchw_le_mmu helper_atomic_smax_fetchw_le_mmu_arm +#define helper_atomic_smax_fetchw_le helper_atomic_smax_fetchw_le_arm +#define helper_atomic_smin_fetchl_le_mmu helper_atomic_smin_fetchl_le_mmu_arm +#define helper_atomic_smin_fetchl_le helper_atomic_smin_fetchl_le_arm +#define helper_atomic_smin_fetchq_le_mmu helper_atomic_smin_fetchq_le_mmu_arm +#define helper_atomic_smin_fetchq_le helper_atomic_smin_fetchq_le_arm +#define helper_atomic_smin_fetchw_le_mmu helper_atomic_smin_fetchw_le_mmu_arm +#define helper_atomic_smin_fetchw_le helper_atomic_smin_fetchw_le_arm #define helper_atomic_sto_be helper_atomic_sto_be_arm #define helper_atomic_sto_be_mmu helper_atomic_sto_be_mmu_arm #define helper_atomic_sto_le helper_atomic_sto_le_arm #define helper_atomic_sto_le_mmu helper_atomic_sto_le_mmu_arm +#define helper_atomic_umax_fetchb_mmu helper_atomic_umax_fetchb_mmu_arm +#define helper_atomic_umax_fetchb helper_atomic_umax_fetchb_arm +#define helper_atomic_umax_fetchl_be_mmu helper_atomic_umax_fetchl_be_mmu_arm +#define helper_atomic_umax_fetchl_be helper_atomic_umax_fetchl_be_arm +#define helper_atomic_umax_fetchq_be_mmu helper_atomic_umax_fetchq_be_mmu_arm +#define helper_atomic_umax_fetchq_be helper_atomic_umax_fetchq_be_arm +#define helper_atomic_umax_fetchw_be_mmu helper_atomic_umax_fetchw_be_mmu_arm +#define helper_atomic_umax_fetchw_be helper_atomic_umax_fetchw_be_arm +#define helper_atomic_umin_fetchb_mmu helper_atomic_umin_fetchb_mmu_arm +#define helper_atomic_umin_fetchb helper_atomic_umin_fetchb_arm +#define helper_atomic_umin_fetchl_be_mmu helper_atomic_umin_fetchl_be_mmu_arm +#define helper_atomic_umin_fetchl_be helper_atomic_umin_fetchl_be_arm +#define helper_atomic_umin_fetchq_be_mmu helper_atomic_umin_fetchq_be_mmu_arm +#define helper_atomic_umin_fetchq_be helper_atomic_umin_fetchq_be_arm +#define helper_atomic_umin_fetchw_be_mmu helper_atomic_umin_fetchw_be_mmu_arm +#define helper_atomic_umin_fetchw_be helper_atomic_umin_fetchw_be_arm +#define helper_atomic_umax_fetchl_le_mmu helper_atomic_umax_fetchl_le_mmu_arm +#define helper_atomic_umax_fetchl_le helper_atomic_umax_fetchl_le_arm +#define helper_atomic_umax_fetchq_le_mmu helper_atomic_umax_fetchq_le_mmu_arm +#define helper_atomic_umax_fetchq_le helper_atomic_umax_fetchq_le_arm +#define helper_atomic_umax_fetchw_le_mmu helper_atomic_umax_fetchw_le_mmu_arm +#define helper_atomic_umax_fetchw_le helper_atomic_umax_fetchw_le_arm +#define helper_atomic_umin_fetchl_le_mmu helper_atomic_umin_fetchl_le_mmu_arm +#define helper_atomic_umin_fetchl_le helper_atomic_umin_fetchl_le_arm +#define helper_atomic_umin_fetchq_le_mmu helper_atomic_umin_fetchq_le_mmu_arm +#define helper_atomic_umin_fetchq_le helper_atomic_umin_fetchq_le_arm +#define helper_atomic_umin_fetchw_le_mmu helper_atomic_umin_fetchw_le_mmu_arm +#define helper_atomic_umin_fetchw_le helper_atomic_umin_fetchw_le_arm #define helper_atomic_xchgb helper_atomic_xchgb_arm #define helper_atomic_xchgb helper_atomic_xchgb_arm #define helper_atomic_xchgb_mmu helper_atomic_xchgb_mmu_arm @@ -2516,10 +2628,26 @@ #define tcg_gen_atomic_fetch_and_i64 tcg_gen_atomic_fetch_and_i64_arm #define tcg_gen_atomic_fetch_or_i32 tcg_gen_atomic_fetch_or_i32_arm #define tcg_gen_atomic_fetch_or_i64 tcg_gen_atomic_fetch_or_i64_arm +#define tcg_gen_atomic_fetch_smax_i32 tcg_gen_atomic_fetch_smax_i32_arm +#define tcg_gen_atomic_fetch_smax_i64 tcg_gen_atomic_fetch_smax_i64_arm +#define tcg_gen_atomic_fetch_smin_i32 tcg_gen_atomic_fetch_smin_i32_arm +#define tcg_gen_atomic_fetch_smin_i64 tcg_gen_atomic_fetch_smin_i64_arm +#define tcg_gen_atomic_fetch_umax_i32 tcg_gen_atomic_fetch_umax_i32_arm +#define tcg_gen_atomic_fetch_umax_i64 tcg_gen_atomic_fetch_umax_i64_arm +#define tcg_gen_atomic_fetch_umin_i32 tcg_gen_atomic_fetch_umin_i32_arm +#define tcg_gen_atomic_fetch_umin_i64 tcg_gen_atomic_fetch_umin_i64_arm #define tcg_gen_atomic_fetch_xor_i32 tcg_gen_atomic_fetch_xor_i32_arm #define tcg_gen_atomic_fetch_xor_i64 tcg_gen_atomic_fetch_xor_i64_arm #define tcg_gen_atomic_or_fetch_i32 tcg_gen_atomic_or_fetch_i32_arm #define tcg_gen_atomic_or_fetch_i64 tcg_gen_atomic_or_fetch_i64_arm +#define tcg_gen_atomic_smax_fetch_i32 tcg_gen_atomic_smax_fetch_i32_arm +#define tcg_gen_atomic_smax_fetch_i64 tcg_gen_atomic_smax_fetch_i64_arm +#define tcg_gen_atomic_smin_fetch_i32 tcg_gen_atomic_smin_fetch_i32_arm +#define tcg_gen_atomic_smin_fetch_i64 tcg_gen_atomic_smin_fetch_i64_arm +#define tcg_gen_atomic_umax_fetch_i32 tcg_gen_atomic_umax_fetch_i32_arm +#define tcg_gen_atomic_umax_fetch_i64 tcg_gen_atomic_umax_fetch_i64_arm +#define tcg_gen_atomic_umin_fetch_i32 tcg_gen_atomic_umin_fetch_i32_arm +#define tcg_gen_atomic_umin_fetch_i64 tcg_gen_atomic_umin_fetch_i64_arm #define tcg_gen_atomic_xchg_i32 tcg_gen_atomic_xchg_i32_arm #define tcg_gen_atomic_xchg_i64 tcg_gen_atomic_xchg_i64_arm #define tcg_gen_atomic_xor_fetch_i32 tcg_gen_atomic_xor_fetch_i32_arm diff --git a/qemu/armeb.h b/qemu/armeb.h index 47210de3..2215a10b 100644 --- a/qemu/armeb.h +++ b/qemu/armeb.h @@ -853,6 +853,62 @@ #define helper_atomic_fetch_orw_be_mmu helper_atomic_fetch_orw_be_mmu_armeb #define helper_atomic_fetch_orw_le helper_atomic_fetch_orw_le_armeb #define helper_atomic_fetch_orw_le_mmu helper_atomic_fetch_orw_le_mmu_armeb +#define helper_atomic_fetch_smaxb_mmu helper_atomic_fetch_smaxb_mmu_armeb +#define helper_atomic_fetch_smaxb helper_atomic_fetch_smaxb_armeb +#define helper_atomic_fetch_smaxl_be_mmu helper_atomic_fetch_smaxl_be_mmu_armeb +#define helper_atomic_fetch_smaxl_be helper_atomic_fetch_smaxl_be_armeb +#define helper_atomic_fetch_smaxq_be_mmu helper_atomic_fetch_smaxq_be_mmu_armeb +#define helper_atomic_fetch_smaxq_be helper_atomic_fetch_smaxq_be_armeb +#define helper_atomic_fetch_smaxw_be_mmu helper_atomic_fetch_smaxw_be_mmu_armeb +#define helper_atomic_fetch_smaxw_be helper_atomic_fetch_smaxw_be_armeb +#define helper_atomic_fetch_sminb_mmu helper_atomic_fetch_sminb_mmu_armeb +#define helper_atomic_fetch_sminb helper_atomic_fetch_sminb_armeb +#define helper_atomic_fetch_sminl_be_mmu helper_atomic_fetch_sminl_be_mmu_armeb +#define helper_atomic_fetch_sminl_be helper_atomic_fetch_sminl_be_armeb +#define helper_atomic_fetch_sminq_be_mmu helper_atomic_fetch_sminq_be_mmu_armeb +#define helper_atomic_fetch_sminq_be helper_atomic_fetch_sminq_be_armeb +#define helper_atomic_fetch_sminw_be_mmu helper_atomic_fetch_sminw_be_mmu_armeb +#define helper_atomic_fetch_sminw_be helper_atomic_fetch_sminw_be_armeb +#define helper_atomic_fetch_umaxb_mmu helper_atomic_fetch_umaxb_mmu_armeb +#define helper_atomic_fetch_umaxb helper_atomic_fetch_umaxb_armeb +#define helper_atomic_fetch_umaxl_be_mmu helper_atomic_fetch_umaxl_be_mmu_armeb +#define helper_atomic_fetch_umaxl_be helper_atomic_fetch_umaxl_be_armeb +#define helper_atomic_fetch_umaxq_be_mmu helper_atomic_fetch_umaxq_be_mmu_armeb +#define helper_atomic_fetch_umaxq_be helper_atomic_fetch_umaxq_be_armeb +#define helper_atomic_fetch_umaxw_be_mmu helper_atomic_fetch_umaxw_be_mmu_armeb +#define helper_atomic_fetch_umaxw_be helper_atomic_fetch_umaxw_be_armeb +#define helper_atomic_fetch_uminb_mmu helper_atomic_fetch_uminb_mmu_armeb +#define helper_atomic_fetch_uminb helper_atomic_fetch_uminb_armeb +#define helper_atomic_fetch_uminl_be_mmu helper_atomic_fetch_uminl_be_mmu_armeb +#define helper_atomic_fetch_uminl_be helper_atomic_fetch_uminl_be_armeb +#define helper_atomic_fetch_uminq_be_mmu helper_atomic_fetch_uminq_be_mmu_armeb +#define helper_atomic_fetch_uminq_be helper_atomic_fetch_uminq_be_armeb +#define helper_atomic_fetch_uminw_be_mmu helper_atomic_fetch_uminw_be_mmu_armeb +#define helper_atomic_fetch_uminw_be helper_atomic_fetch_uminw_be_armeb +#define helper_atomic_fetch_smaxl_le_mmu helper_atomic_fetch_smaxl_le_mmu_armeb +#define helper_atomic_fetch_smaxl_le helper_atomic_fetch_smaxl_le_armeb +#define helper_atomic_fetch_smaxq_le_mmu helper_atomic_fetch_smaxq_le_mmu_armeb +#define helper_atomic_fetch_smaxq_le helper_atomic_fetch_smaxq_le_armeb +#define helper_atomic_fetch_smaxw_le_mmu helper_atomic_fetch_smaxw_le_mmu_armeb +#define helper_atomic_fetch_smaxw_le helper_atomic_fetch_smaxw_le_armeb +#define helper_atomic_fetch_sminl_le_mmu helper_atomic_fetch_sminl_le_mmu_armeb +#define helper_atomic_fetch_sminl_le helper_atomic_fetch_sminl_le_armeb +#define helper_atomic_fetch_sminq_le_mmu helper_atomic_fetch_sminq_le_mmu_armeb +#define helper_atomic_fetch_sminq_le helper_atomic_fetch_sminq_le_armeb +#define helper_atomic_fetch_sminw_le_mmu helper_atomic_fetch_sminw_le_mmu_armeb +#define helper_atomic_fetch_sminw_le helper_atomic_fetch_sminw_le_armeb +#define helper_atomic_fetch_umaxl_le_mmu helper_atomic_fetch_umaxl_le_mmu_armeb +#define helper_atomic_fetch_umaxl_le helper_atomic_fetch_umaxl_le_armeb +#define helper_atomic_fetch_umaxq_le_mmu helper_atomic_fetch_umaxq_le_mmu_armeb +#define helper_atomic_fetch_umaxq_le helper_atomic_fetch_umaxq_le_armeb +#define helper_atomic_fetch_umaxw_le_mmu helper_atomic_fetch_umaxw_le_mmu_armeb +#define helper_atomic_fetch_umaxw_le helper_atomic_fetch_umaxw_le_armeb +#define helper_atomic_fetch_uminl_le_mmu helper_atomic_fetch_uminl_le_mmu_armeb +#define helper_atomic_fetch_uminl_le helper_atomic_fetch_uminl_le_armeb +#define helper_atomic_fetch_uminq_le_mmu helper_atomic_fetch_uminq_le_mmu_armeb +#define helper_atomic_fetch_uminq_le helper_atomic_fetch_uminq_le_armeb +#define helper_atomic_fetch_uminw_le_mmu helper_atomic_fetch_uminw_le_mmu_armeb +#define helper_atomic_fetch_uminw_le helper_atomic_fetch_uminw_le_armeb #define helper_atomic_fetch_xorb helper_atomic_fetch_xorb_armeb #define helper_atomic_fetch_xorb_mmu helper_atomic_fetch_xorb_mmu_armeb #define helper_atomic_fetch_xorl_be helper_atomic_fetch_xorl_be_armeb @@ -885,10 +941,66 @@ #define helper_atomic_or_fetchw_be_mmu helper_atomic_or_fetchw_be_mmu_armeb #define helper_atomic_or_fetchw_le helper_atomic_or_fetchw_le_armeb #define helper_atomic_or_fetchw_le_mmu helper_atomic_or_fetchw_le_mmu_armeb +#define helper_atomic_smax_fetchb_mmu helper_atomic_smax_fetchb_mmu_armeb +#define helper_atomic_smax_fetchb helper_atomic_smax_fetchb_armeb +#define helper_atomic_smax_fetchl_be_mmu helper_atomic_smax_fetchl_be_mmu_armeb +#define helper_atomic_smax_fetchl_be helper_atomic_smax_fetchl_be_armeb +#define helper_atomic_smax_fetchq_be_mmu helper_atomic_smax_fetchq_be_mmu_armeb +#define helper_atomic_smax_fetchq_be helper_atomic_smax_fetchq_be_armeb +#define helper_atomic_smax_fetchw_be_mmu helper_atomic_smax_fetchw_be_mmu_armeb +#define helper_atomic_smax_fetchw_be helper_atomic_smax_fetchw_be_armeb +#define helper_atomic_smin_fetchb_mmu helper_atomic_smin_fetchb_mmu_armeb +#define helper_atomic_smin_fetchb helper_atomic_smin_fetchb_armeb +#define helper_atomic_smin_fetchl_be_mmu helper_atomic_smin_fetchl_be_mmu_armeb +#define helper_atomic_smin_fetchl_be helper_atomic_smin_fetchl_be_armeb +#define helper_atomic_smin_fetchq_be_mmu helper_atomic_smin_fetchq_be_mmu_armeb +#define helper_atomic_smin_fetchq_be helper_atomic_smin_fetchq_be_armeb +#define helper_atomic_smin_fetchw_be_mmu helper_atomic_smin_fetchw_be_mmu_armeb +#define helper_atomic_smin_fetchw_be helper_atomic_smin_fetchw_be_armeb +#define helper_atomic_smax_fetchl_le_mmu helper_atomic_smax_fetchl_le_mmu_armeb +#define helper_atomic_smax_fetchl_le helper_atomic_smax_fetchl_le_armeb +#define helper_atomic_smax_fetchq_le_mmu helper_atomic_smax_fetchq_le_mmu_armeb +#define helper_atomic_smax_fetchq_le helper_atomic_smax_fetchq_le_armeb +#define helper_atomic_smax_fetchw_le_mmu helper_atomic_smax_fetchw_le_mmu_armeb +#define helper_atomic_smax_fetchw_le helper_atomic_smax_fetchw_le_armeb +#define helper_atomic_smin_fetchl_le_mmu helper_atomic_smin_fetchl_le_mmu_armeb +#define helper_atomic_smin_fetchl_le helper_atomic_smin_fetchl_le_armeb +#define helper_atomic_smin_fetchq_le_mmu helper_atomic_smin_fetchq_le_mmu_armeb +#define helper_atomic_smin_fetchq_le helper_atomic_smin_fetchq_le_armeb +#define helper_atomic_smin_fetchw_le_mmu helper_atomic_smin_fetchw_le_mmu_armeb +#define helper_atomic_smin_fetchw_le helper_atomic_smin_fetchw_le_armeb #define helper_atomic_sto_be helper_atomic_sto_be_armeb #define helper_atomic_sto_be_mmu helper_atomic_sto_be_mmu_armeb #define helper_atomic_sto_le helper_atomic_sto_le_armeb #define helper_atomic_sto_le_mmu helper_atomic_sto_le_mmu_armeb +#define helper_atomic_umax_fetchb_mmu helper_atomic_umax_fetchb_mmu_armeb +#define helper_atomic_umax_fetchb helper_atomic_umax_fetchb_armeb +#define helper_atomic_umax_fetchl_be_mmu helper_atomic_umax_fetchl_be_mmu_armeb +#define helper_atomic_umax_fetchl_be helper_atomic_umax_fetchl_be_armeb +#define helper_atomic_umax_fetchq_be_mmu helper_atomic_umax_fetchq_be_mmu_armeb +#define helper_atomic_umax_fetchq_be helper_atomic_umax_fetchq_be_armeb +#define helper_atomic_umax_fetchw_be_mmu helper_atomic_umax_fetchw_be_mmu_armeb +#define helper_atomic_umax_fetchw_be helper_atomic_umax_fetchw_be_armeb +#define helper_atomic_umin_fetchb_mmu helper_atomic_umin_fetchb_mmu_armeb +#define helper_atomic_umin_fetchb helper_atomic_umin_fetchb_armeb +#define helper_atomic_umin_fetchl_be_mmu helper_atomic_umin_fetchl_be_mmu_armeb +#define helper_atomic_umin_fetchl_be helper_atomic_umin_fetchl_be_armeb +#define helper_atomic_umin_fetchq_be_mmu helper_atomic_umin_fetchq_be_mmu_armeb +#define helper_atomic_umin_fetchq_be helper_atomic_umin_fetchq_be_armeb +#define helper_atomic_umin_fetchw_be_mmu helper_atomic_umin_fetchw_be_mmu_armeb +#define helper_atomic_umin_fetchw_be helper_atomic_umin_fetchw_be_armeb +#define helper_atomic_umax_fetchl_le_mmu helper_atomic_umax_fetchl_le_mmu_armeb +#define helper_atomic_umax_fetchl_le helper_atomic_umax_fetchl_le_armeb +#define helper_atomic_umax_fetchq_le_mmu helper_atomic_umax_fetchq_le_mmu_armeb +#define helper_atomic_umax_fetchq_le helper_atomic_umax_fetchq_le_armeb +#define helper_atomic_umax_fetchw_le_mmu helper_atomic_umax_fetchw_le_mmu_armeb +#define helper_atomic_umax_fetchw_le helper_atomic_umax_fetchw_le_armeb +#define helper_atomic_umin_fetchl_le_mmu helper_atomic_umin_fetchl_le_mmu_armeb +#define helper_atomic_umin_fetchl_le helper_atomic_umin_fetchl_le_armeb +#define helper_atomic_umin_fetchq_le_mmu helper_atomic_umin_fetchq_le_mmu_armeb +#define helper_atomic_umin_fetchq_le helper_atomic_umin_fetchq_le_armeb +#define helper_atomic_umin_fetchw_le_mmu helper_atomic_umin_fetchw_le_mmu_armeb +#define helper_atomic_umin_fetchw_le helper_atomic_umin_fetchw_le_armeb #define helper_atomic_xchgb helper_atomic_xchgb_armeb #define helper_atomic_xchgb helper_atomic_xchgb_armeb #define helper_atomic_xchgb_mmu helper_atomic_xchgb_mmu_armeb @@ -2516,10 +2628,26 @@ #define tcg_gen_atomic_fetch_and_i64 tcg_gen_atomic_fetch_and_i64_armeb #define tcg_gen_atomic_fetch_or_i32 tcg_gen_atomic_fetch_or_i32_armeb #define tcg_gen_atomic_fetch_or_i64 tcg_gen_atomic_fetch_or_i64_armeb +#define tcg_gen_atomic_fetch_smax_i32 tcg_gen_atomic_fetch_smax_i32_armeb +#define tcg_gen_atomic_fetch_smax_i64 tcg_gen_atomic_fetch_smax_i64_armeb +#define tcg_gen_atomic_fetch_smin_i32 tcg_gen_atomic_fetch_smin_i32_armeb +#define tcg_gen_atomic_fetch_smin_i64 tcg_gen_atomic_fetch_smin_i64_armeb +#define tcg_gen_atomic_fetch_umax_i32 tcg_gen_atomic_fetch_umax_i32_armeb +#define tcg_gen_atomic_fetch_umax_i64 tcg_gen_atomic_fetch_umax_i64_armeb +#define tcg_gen_atomic_fetch_umin_i32 tcg_gen_atomic_fetch_umin_i32_armeb +#define tcg_gen_atomic_fetch_umin_i64 tcg_gen_atomic_fetch_umin_i64_armeb #define tcg_gen_atomic_fetch_xor_i32 tcg_gen_atomic_fetch_xor_i32_armeb #define tcg_gen_atomic_fetch_xor_i64 tcg_gen_atomic_fetch_xor_i64_armeb #define tcg_gen_atomic_or_fetch_i32 tcg_gen_atomic_or_fetch_i32_armeb #define tcg_gen_atomic_or_fetch_i64 tcg_gen_atomic_or_fetch_i64_armeb +#define tcg_gen_atomic_smax_fetch_i32 tcg_gen_atomic_smax_fetch_i32_armeb +#define tcg_gen_atomic_smax_fetch_i64 tcg_gen_atomic_smax_fetch_i64_armeb +#define tcg_gen_atomic_smin_fetch_i32 tcg_gen_atomic_smin_fetch_i32_armeb +#define tcg_gen_atomic_smin_fetch_i64 tcg_gen_atomic_smin_fetch_i64_armeb +#define tcg_gen_atomic_umax_fetch_i32 tcg_gen_atomic_umax_fetch_i32_armeb +#define tcg_gen_atomic_umax_fetch_i64 tcg_gen_atomic_umax_fetch_i64_armeb +#define tcg_gen_atomic_umin_fetch_i32 tcg_gen_atomic_umin_fetch_i32_armeb +#define tcg_gen_atomic_umin_fetch_i64 tcg_gen_atomic_umin_fetch_i64_armeb #define tcg_gen_atomic_xchg_i32 tcg_gen_atomic_xchg_i32_armeb #define tcg_gen_atomic_xchg_i64 tcg_gen_atomic_xchg_i64_armeb #define tcg_gen_atomic_xor_fetch_i32 tcg_gen_atomic_xor_fetch_i32_armeb diff --git a/qemu/header_gen.py b/qemu/header_gen.py index f016fb91..00233487 100644 --- a/qemu/header_gen.py +++ b/qemu/header_gen.py @@ -859,6 +859,62 @@ symbols = ( 'helper_atomic_fetch_orw_be_mmu', 'helper_atomic_fetch_orw_le', 'helper_atomic_fetch_orw_le_mmu', + 'helper_atomic_fetch_smaxb_mmu', + 'helper_atomic_fetch_smaxb', + 'helper_atomic_fetch_smaxl_be_mmu', + 'helper_atomic_fetch_smaxl_be', + 'helper_atomic_fetch_smaxq_be_mmu', + 'helper_atomic_fetch_smaxq_be', + 'helper_atomic_fetch_smaxw_be_mmu', + 'helper_atomic_fetch_smaxw_be', + 'helper_atomic_fetch_sminb_mmu', + 'helper_atomic_fetch_sminb', + 'helper_atomic_fetch_sminl_be_mmu', + 'helper_atomic_fetch_sminl_be', + 'helper_atomic_fetch_sminq_be_mmu', + 'helper_atomic_fetch_sminq_be', + 'helper_atomic_fetch_sminw_be_mmu', + 'helper_atomic_fetch_sminw_be', + 'helper_atomic_fetch_umaxb_mmu', + 'helper_atomic_fetch_umaxb', + 'helper_atomic_fetch_umaxl_be_mmu', + 'helper_atomic_fetch_umaxl_be', + 'helper_atomic_fetch_umaxq_be_mmu', + 'helper_atomic_fetch_umaxq_be', + 'helper_atomic_fetch_umaxw_be_mmu', + 'helper_atomic_fetch_umaxw_be', + 'helper_atomic_fetch_uminb_mmu', + 'helper_atomic_fetch_uminb', + 'helper_atomic_fetch_uminl_be_mmu', + 'helper_atomic_fetch_uminl_be', + 'helper_atomic_fetch_uminq_be_mmu', + 'helper_atomic_fetch_uminq_be', + 'helper_atomic_fetch_uminw_be_mmu', + 'helper_atomic_fetch_uminw_be', + 'helper_atomic_fetch_smaxl_le_mmu', + 'helper_atomic_fetch_smaxl_le', + 'helper_atomic_fetch_smaxq_le_mmu', + 'helper_atomic_fetch_smaxq_le', + 'helper_atomic_fetch_smaxw_le_mmu', + 'helper_atomic_fetch_smaxw_le', + 'helper_atomic_fetch_sminl_le_mmu', + 'helper_atomic_fetch_sminl_le', + 'helper_atomic_fetch_sminq_le_mmu', + 'helper_atomic_fetch_sminq_le', + 'helper_atomic_fetch_sminw_le_mmu', + 'helper_atomic_fetch_sminw_le', + 'helper_atomic_fetch_umaxl_le_mmu', + 'helper_atomic_fetch_umaxl_le', + 'helper_atomic_fetch_umaxq_le_mmu', + 'helper_atomic_fetch_umaxq_le', + 'helper_atomic_fetch_umaxw_le_mmu', + 'helper_atomic_fetch_umaxw_le', + 'helper_atomic_fetch_uminl_le_mmu', + 'helper_atomic_fetch_uminl_le', + 'helper_atomic_fetch_uminq_le_mmu', + 'helper_atomic_fetch_uminq_le', + 'helper_atomic_fetch_uminw_le_mmu', + 'helper_atomic_fetch_uminw_le', 'helper_atomic_fetch_xorb', 'helper_atomic_fetch_xorb_mmu', 'helper_atomic_fetch_xorl_be', @@ -891,10 +947,66 @@ symbols = ( 'helper_atomic_or_fetchw_be_mmu', 'helper_atomic_or_fetchw_le', 'helper_atomic_or_fetchw_le_mmu', + 'helper_atomic_smax_fetchb_mmu', + 'helper_atomic_smax_fetchb', + 'helper_atomic_smax_fetchl_be_mmu', + 'helper_atomic_smax_fetchl_be', + 'helper_atomic_smax_fetchq_be_mmu', + 'helper_atomic_smax_fetchq_be', + 'helper_atomic_smax_fetchw_be_mmu', + 'helper_atomic_smax_fetchw_be', + 'helper_atomic_smin_fetchb_mmu', + 'helper_atomic_smin_fetchb', + 'helper_atomic_smin_fetchl_be_mmu', + 'helper_atomic_smin_fetchl_be', + 'helper_atomic_smin_fetchq_be_mmu', + 'helper_atomic_smin_fetchq_be', + 'helper_atomic_smin_fetchw_be_mmu', + 'helper_atomic_smin_fetchw_be', + 'helper_atomic_smax_fetchl_le_mmu', + 'helper_atomic_smax_fetchl_le', + 'helper_atomic_smax_fetchq_le_mmu', + 'helper_atomic_smax_fetchq_le', + 'helper_atomic_smax_fetchw_le_mmu', + 'helper_atomic_smax_fetchw_le', + 'helper_atomic_smin_fetchl_le_mmu', + 'helper_atomic_smin_fetchl_le', + 'helper_atomic_smin_fetchq_le_mmu', + 'helper_atomic_smin_fetchq_le', + 'helper_atomic_smin_fetchw_le_mmu', + 'helper_atomic_smin_fetchw_le', 'helper_atomic_sto_be', 'helper_atomic_sto_be_mmu', 'helper_atomic_sto_le', 'helper_atomic_sto_le_mmu', + 'helper_atomic_umax_fetchb_mmu', + 'helper_atomic_umax_fetchb', + 'helper_atomic_umax_fetchl_be_mmu', + 'helper_atomic_umax_fetchl_be', + 'helper_atomic_umax_fetchq_be_mmu', + 'helper_atomic_umax_fetchq_be', + 'helper_atomic_umax_fetchw_be_mmu', + 'helper_atomic_umax_fetchw_be', + 'helper_atomic_umin_fetchb_mmu', + 'helper_atomic_umin_fetchb', + 'helper_atomic_umin_fetchl_be_mmu', + 'helper_atomic_umin_fetchl_be', + 'helper_atomic_umin_fetchq_be_mmu', + 'helper_atomic_umin_fetchq_be', + 'helper_atomic_umin_fetchw_be_mmu', + 'helper_atomic_umin_fetchw_be', + 'helper_atomic_umax_fetchl_le_mmu', + 'helper_atomic_umax_fetchl_le', + 'helper_atomic_umax_fetchq_le_mmu', + 'helper_atomic_umax_fetchq_le', + 'helper_atomic_umax_fetchw_le_mmu', + 'helper_atomic_umax_fetchw_le', + 'helper_atomic_umin_fetchl_le_mmu', + 'helper_atomic_umin_fetchl_le', + 'helper_atomic_umin_fetchq_le_mmu', + 'helper_atomic_umin_fetchq_le', + 'helper_atomic_umin_fetchw_le_mmu', + 'helper_atomic_umin_fetchw_le', 'helper_atomic_xchgb', 'helper_atomic_xchgb', 'helper_atomic_xchgb_mmu', @@ -2522,10 +2634,26 @@ symbols = ( 'tcg_gen_atomic_fetch_and_i64', 'tcg_gen_atomic_fetch_or_i32', 'tcg_gen_atomic_fetch_or_i64', + 'tcg_gen_atomic_fetch_smax_i32', + 'tcg_gen_atomic_fetch_smax_i64', + 'tcg_gen_atomic_fetch_smin_i32', + 'tcg_gen_atomic_fetch_smin_i64', + 'tcg_gen_atomic_fetch_umax_i32', + 'tcg_gen_atomic_fetch_umax_i64', + 'tcg_gen_atomic_fetch_umin_i32', + 'tcg_gen_atomic_fetch_umin_i64', 'tcg_gen_atomic_fetch_xor_i32', 'tcg_gen_atomic_fetch_xor_i64', 'tcg_gen_atomic_or_fetch_i32', 'tcg_gen_atomic_or_fetch_i64', + 'tcg_gen_atomic_smax_fetch_i32', + 'tcg_gen_atomic_smax_fetch_i64', + 'tcg_gen_atomic_smin_fetch_i32', + 'tcg_gen_atomic_smin_fetch_i64', + 'tcg_gen_atomic_umax_fetch_i32', + 'tcg_gen_atomic_umax_fetch_i64', + 'tcg_gen_atomic_umin_fetch_i32', + 'tcg_gen_atomic_umin_fetch_i64', 'tcg_gen_atomic_xchg_i32', 'tcg_gen_atomic_xchg_i64', 'tcg_gen_atomic_xor_fetch_i32', diff --git a/qemu/m68k.h b/qemu/m68k.h index 9a36692d..3b03b3d9 100644 --- a/qemu/m68k.h +++ b/qemu/m68k.h @@ -853,6 +853,62 @@ #define helper_atomic_fetch_orw_be_mmu helper_atomic_fetch_orw_be_mmu_m68k #define helper_atomic_fetch_orw_le helper_atomic_fetch_orw_le_m68k #define helper_atomic_fetch_orw_le_mmu helper_atomic_fetch_orw_le_mmu_m68k +#define helper_atomic_fetch_smaxb_mmu helper_atomic_fetch_smaxb_mmu_m68k +#define helper_atomic_fetch_smaxb helper_atomic_fetch_smaxb_m68k +#define helper_atomic_fetch_smaxl_be_mmu helper_atomic_fetch_smaxl_be_mmu_m68k +#define helper_atomic_fetch_smaxl_be helper_atomic_fetch_smaxl_be_m68k +#define helper_atomic_fetch_smaxq_be_mmu helper_atomic_fetch_smaxq_be_mmu_m68k +#define helper_atomic_fetch_smaxq_be helper_atomic_fetch_smaxq_be_m68k +#define helper_atomic_fetch_smaxw_be_mmu helper_atomic_fetch_smaxw_be_mmu_m68k +#define helper_atomic_fetch_smaxw_be helper_atomic_fetch_smaxw_be_m68k +#define helper_atomic_fetch_sminb_mmu helper_atomic_fetch_sminb_mmu_m68k +#define helper_atomic_fetch_sminb helper_atomic_fetch_sminb_m68k +#define helper_atomic_fetch_sminl_be_mmu helper_atomic_fetch_sminl_be_mmu_m68k +#define helper_atomic_fetch_sminl_be helper_atomic_fetch_sminl_be_m68k +#define helper_atomic_fetch_sminq_be_mmu helper_atomic_fetch_sminq_be_mmu_m68k +#define helper_atomic_fetch_sminq_be helper_atomic_fetch_sminq_be_m68k +#define helper_atomic_fetch_sminw_be_mmu helper_atomic_fetch_sminw_be_mmu_m68k +#define helper_atomic_fetch_sminw_be helper_atomic_fetch_sminw_be_m68k +#define helper_atomic_fetch_umaxb_mmu helper_atomic_fetch_umaxb_mmu_m68k +#define helper_atomic_fetch_umaxb helper_atomic_fetch_umaxb_m68k +#define helper_atomic_fetch_umaxl_be_mmu helper_atomic_fetch_umaxl_be_mmu_m68k +#define helper_atomic_fetch_umaxl_be helper_atomic_fetch_umaxl_be_m68k +#define helper_atomic_fetch_umaxq_be_mmu helper_atomic_fetch_umaxq_be_mmu_m68k +#define helper_atomic_fetch_umaxq_be helper_atomic_fetch_umaxq_be_m68k +#define helper_atomic_fetch_umaxw_be_mmu helper_atomic_fetch_umaxw_be_mmu_m68k +#define helper_atomic_fetch_umaxw_be helper_atomic_fetch_umaxw_be_m68k +#define helper_atomic_fetch_uminb_mmu helper_atomic_fetch_uminb_mmu_m68k +#define helper_atomic_fetch_uminb helper_atomic_fetch_uminb_m68k +#define helper_atomic_fetch_uminl_be_mmu helper_atomic_fetch_uminl_be_mmu_m68k +#define helper_atomic_fetch_uminl_be helper_atomic_fetch_uminl_be_m68k +#define helper_atomic_fetch_uminq_be_mmu helper_atomic_fetch_uminq_be_mmu_m68k +#define helper_atomic_fetch_uminq_be helper_atomic_fetch_uminq_be_m68k +#define helper_atomic_fetch_uminw_be_mmu helper_atomic_fetch_uminw_be_mmu_m68k +#define helper_atomic_fetch_uminw_be helper_atomic_fetch_uminw_be_m68k +#define helper_atomic_fetch_smaxl_le_mmu helper_atomic_fetch_smaxl_le_mmu_m68k +#define helper_atomic_fetch_smaxl_le helper_atomic_fetch_smaxl_le_m68k +#define helper_atomic_fetch_smaxq_le_mmu helper_atomic_fetch_smaxq_le_mmu_m68k +#define helper_atomic_fetch_smaxq_le helper_atomic_fetch_smaxq_le_m68k +#define helper_atomic_fetch_smaxw_le_mmu helper_atomic_fetch_smaxw_le_mmu_m68k +#define helper_atomic_fetch_smaxw_le helper_atomic_fetch_smaxw_le_m68k +#define helper_atomic_fetch_sminl_le_mmu helper_atomic_fetch_sminl_le_mmu_m68k +#define helper_atomic_fetch_sminl_le helper_atomic_fetch_sminl_le_m68k +#define helper_atomic_fetch_sminq_le_mmu helper_atomic_fetch_sminq_le_mmu_m68k +#define helper_atomic_fetch_sminq_le helper_atomic_fetch_sminq_le_m68k +#define helper_atomic_fetch_sminw_le_mmu helper_atomic_fetch_sminw_le_mmu_m68k +#define helper_atomic_fetch_sminw_le helper_atomic_fetch_sminw_le_m68k +#define helper_atomic_fetch_umaxl_le_mmu helper_atomic_fetch_umaxl_le_mmu_m68k +#define helper_atomic_fetch_umaxl_le helper_atomic_fetch_umaxl_le_m68k +#define helper_atomic_fetch_umaxq_le_mmu helper_atomic_fetch_umaxq_le_mmu_m68k +#define helper_atomic_fetch_umaxq_le helper_atomic_fetch_umaxq_le_m68k +#define helper_atomic_fetch_umaxw_le_mmu helper_atomic_fetch_umaxw_le_mmu_m68k +#define helper_atomic_fetch_umaxw_le helper_atomic_fetch_umaxw_le_m68k +#define helper_atomic_fetch_uminl_le_mmu helper_atomic_fetch_uminl_le_mmu_m68k +#define helper_atomic_fetch_uminl_le helper_atomic_fetch_uminl_le_m68k +#define helper_atomic_fetch_uminq_le_mmu helper_atomic_fetch_uminq_le_mmu_m68k +#define helper_atomic_fetch_uminq_le helper_atomic_fetch_uminq_le_m68k +#define helper_atomic_fetch_uminw_le_mmu helper_atomic_fetch_uminw_le_mmu_m68k +#define helper_atomic_fetch_uminw_le helper_atomic_fetch_uminw_le_m68k #define helper_atomic_fetch_xorb helper_atomic_fetch_xorb_m68k #define helper_atomic_fetch_xorb_mmu helper_atomic_fetch_xorb_mmu_m68k #define helper_atomic_fetch_xorl_be helper_atomic_fetch_xorl_be_m68k @@ -885,10 +941,66 @@ #define helper_atomic_or_fetchw_be_mmu helper_atomic_or_fetchw_be_mmu_m68k #define helper_atomic_or_fetchw_le helper_atomic_or_fetchw_le_m68k #define helper_atomic_or_fetchw_le_mmu helper_atomic_or_fetchw_le_mmu_m68k +#define helper_atomic_smax_fetchb_mmu helper_atomic_smax_fetchb_mmu_m68k +#define helper_atomic_smax_fetchb helper_atomic_smax_fetchb_m68k +#define helper_atomic_smax_fetchl_be_mmu helper_atomic_smax_fetchl_be_mmu_m68k +#define helper_atomic_smax_fetchl_be helper_atomic_smax_fetchl_be_m68k +#define helper_atomic_smax_fetchq_be_mmu helper_atomic_smax_fetchq_be_mmu_m68k +#define helper_atomic_smax_fetchq_be helper_atomic_smax_fetchq_be_m68k +#define helper_atomic_smax_fetchw_be_mmu helper_atomic_smax_fetchw_be_mmu_m68k +#define helper_atomic_smax_fetchw_be helper_atomic_smax_fetchw_be_m68k +#define helper_atomic_smin_fetchb_mmu helper_atomic_smin_fetchb_mmu_m68k +#define helper_atomic_smin_fetchb helper_atomic_smin_fetchb_m68k +#define helper_atomic_smin_fetchl_be_mmu helper_atomic_smin_fetchl_be_mmu_m68k +#define helper_atomic_smin_fetchl_be helper_atomic_smin_fetchl_be_m68k +#define helper_atomic_smin_fetchq_be_mmu helper_atomic_smin_fetchq_be_mmu_m68k +#define helper_atomic_smin_fetchq_be helper_atomic_smin_fetchq_be_m68k +#define helper_atomic_smin_fetchw_be_mmu helper_atomic_smin_fetchw_be_mmu_m68k +#define helper_atomic_smin_fetchw_be helper_atomic_smin_fetchw_be_m68k +#define helper_atomic_smax_fetchl_le_mmu helper_atomic_smax_fetchl_le_mmu_m68k +#define helper_atomic_smax_fetchl_le helper_atomic_smax_fetchl_le_m68k +#define helper_atomic_smax_fetchq_le_mmu helper_atomic_smax_fetchq_le_mmu_m68k +#define helper_atomic_smax_fetchq_le helper_atomic_smax_fetchq_le_m68k +#define helper_atomic_smax_fetchw_le_mmu helper_atomic_smax_fetchw_le_mmu_m68k +#define helper_atomic_smax_fetchw_le helper_atomic_smax_fetchw_le_m68k +#define helper_atomic_smin_fetchl_le_mmu helper_atomic_smin_fetchl_le_mmu_m68k +#define helper_atomic_smin_fetchl_le helper_atomic_smin_fetchl_le_m68k +#define helper_atomic_smin_fetchq_le_mmu helper_atomic_smin_fetchq_le_mmu_m68k +#define helper_atomic_smin_fetchq_le helper_atomic_smin_fetchq_le_m68k +#define helper_atomic_smin_fetchw_le_mmu helper_atomic_smin_fetchw_le_mmu_m68k +#define helper_atomic_smin_fetchw_le helper_atomic_smin_fetchw_le_m68k #define helper_atomic_sto_be helper_atomic_sto_be_m68k #define helper_atomic_sto_be_mmu helper_atomic_sto_be_mmu_m68k #define helper_atomic_sto_le helper_atomic_sto_le_m68k #define helper_atomic_sto_le_mmu helper_atomic_sto_le_mmu_m68k +#define helper_atomic_umax_fetchb_mmu helper_atomic_umax_fetchb_mmu_m68k +#define helper_atomic_umax_fetchb helper_atomic_umax_fetchb_m68k +#define helper_atomic_umax_fetchl_be_mmu helper_atomic_umax_fetchl_be_mmu_m68k +#define helper_atomic_umax_fetchl_be helper_atomic_umax_fetchl_be_m68k +#define helper_atomic_umax_fetchq_be_mmu helper_atomic_umax_fetchq_be_mmu_m68k +#define helper_atomic_umax_fetchq_be helper_atomic_umax_fetchq_be_m68k +#define helper_atomic_umax_fetchw_be_mmu helper_atomic_umax_fetchw_be_mmu_m68k +#define helper_atomic_umax_fetchw_be helper_atomic_umax_fetchw_be_m68k +#define helper_atomic_umin_fetchb_mmu helper_atomic_umin_fetchb_mmu_m68k +#define helper_atomic_umin_fetchb helper_atomic_umin_fetchb_m68k +#define helper_atomic_umin_fetchl_be_mmu helper_atomic_umin_fetchl_be_mmu_m68k +#define helper_atomic_umin_fetchl_be helper_atomic_umin_fetchl_be_m68k +#define helper_atomic_umin_fetchq_be_mmu helper_atomic_umin_fetchq_be_mmu_m68k +#define helper_atomic_umin_fetchq_be helper_atomic_umin_fetchq_be_m68k +#define helper_atomic_umin_fetchw_be_mmu helper_atomic_umin_fetchw_be_mmu_m68k +#define helper_atomic_umin_fetchw_be helper_atomic_umin_fetchw_be_m68k +#define helper_atomic_umax_fetchl_le_mmu helper_atomic_umax_fetchl_le_mmu_m68k +#define helper_atomic_umax_fetchl_le helper_atomic_umax_fetchl_le_m68k +#define helper_atomic_umax_fetchq_le_mmu helper_atomic_umax_fetchq_le_mmu_m68k +#define helper_atomic_umax_fetchq_le helper_atomic_umax_fetchq_le_m68k +#define helper_atomic_umax_fetchw_le_mmu helper_atomic_umax_fetchw_le_mmu_m68k +#define helper_atomic_umax_fetchw_le helper_atomic_umax_fetchw_le_m68k +#define helper_atomic_umin_fetchl_le_mmu helper_atomic_umin_fetchl_le_mmu_m68k +#define helper_atomic_umin_fetchl_le helper_atomic_umin_fetchl_le_m68k +#define helper_atomic_umin_fetchq_le_mmu helper_atomic_umin_fetchq_le_mmu_m68k +#define helper_atomic_umin_fetchq_le helper_atomic_umin_fetchq_le_m68k +#define helper_atomic_umin_fetchw_le_mmu helper_atomic_umin_fetchw_le_mmu_m68k +#define helper_atomic_umin_fetchw_le helper_atomic_umin_fetchw_le_m68k #define helper_atomic_xchgb helper_atomic_xchgb_m68k #define helper_atomic_xchgb helper_atomic_xchgb_m68k #define helper_atomic_xchgb_mmu helper_atomic_xchgb_mmu_m68k @@ -2516,10 +2628,26 @@ #define tcg_gen_atomic_fetch_and_i64 tcg_gen_atomic_fetch_and_i64_m68k #define tcg_gen_atomic_fetch_or_i32 tcg_gen_atomic_fetch_or_i32_m68k #define tcg_gen_atomic_fetch_or_i64 tcg_gen_atomic_fetch_or_i64_m68k +#define tcg_gen_atomic_fetch_smax_i32 tcg_gen_atomic_fetch_smax_i32_m68k +#define tcg_gen_atomic_fetch_smax_i64 tcg_gen_atomic_fetch_smax_i64_m68k +#define tcg_gen_atomic_fetch_smin_i32 tcg_gen_atomic_fetch_smin_i32_m68k +#define tcg_gen_atomic_fetch_smin_i64 tcg_gen_atomic_fetch_smin_i64_m68k +#define tcg_gen_atomic_fetch_umax_i32 tcg_gen_atomic_fetch_umax_i32_m68k +#define tcg_gen_atomic_fetch_umax_i64 tcg_gen_atomic_fetch_umax_i64_m68k +#define tcg_gen_atomic_fetch_umin_i32 tcg_gen_atomic_fetch_umin_i32_m68k +#define tcg_gen_atomic_fetch_umin_i64 tcg_gen_atomic_fetch_umin_i64_m68k #define tcg_gen_atomic_fetch_xor_i32 tcg_gen_atomic_fetch_xor_i32_m68k #define tcg_gen_atomic_fetch_xor_i64 tcg_gen_atomic_fetch_xor_i64_m68k #define tcg_gen_atomic_or_fetch_i32 tcg_gen_atomic_or_fetch_i32_m68k #define tcg_gen_atomic_or_fetch_i64 tcg_gen_atomic_or_fetch_i64_m68k +#define tcg_gen_atomic_smax_fetch_i32 tcg_gen_atomic_smax_fetch_i32_m68k +#define tcg_gen_atomic_smax_fetch_i64 tcg_gen_atomic_smax_fetch_i64_m68k +#define tcg_gen_atomic_smin_fetch_i32 tcg_gen_atomic_smin_fetch_i32_m68k +#define tcg_gen_atomic_smin_fetch_i64 tcg_gen_atomic_smin_fetch_i64_m68k +#define tcg_gen_atomic_umax_fetch_i32 tcg_gen_atomic_umax_fetch_i32_m68k +#define tcg_gen_atomic_umax_fetch_i64 tcg_gen_atomic_umax_fetch_i64_m68k +#define tcg_gen_atomic_umin_fetch_i32 tcg_gen_atomic_umin_fetch_i32_m68k +#define tcg_gen_atomic_umin_fetch_i64 tcg_gen_atomic_umin_fetch_i64_m68k #define tcg_gen_atomic_xchg_i32 tcg_gen_atomic_xchg_i32_m68k #define tcg_gen_atomic_xchg_i64 tcg_gen_atomic_xchg_i64_m68k #define tcg_gen_atomic_xor_fetch_i32 tcg_gen_atomic_xor_fetch_i32_m68k diff --git a/qemu/mips.h b/qemu/mips.h index d56fd95d..6a6436c1 100644 --- a/qemu/mips.h +++ b/qemu/mips.h @@ -853,6 +853,62 @@ #define helper_atomic_fetch_orw_be_mmu helper_atomic_fetch_orw_be_mmu_mips #define helper_atomic_fetch_orw_le helper_atomic_fetch_orw_le_mips #define helper_atomic_fetch_orw_le_mmu helper_atomic_fetch_orw_le_mmu_mips +#define helper_atomic_fetch_smaxb_mmu helper_atomic_fetch_smaxb_mmu_mips +#define helper_atomic_fetch_smaxb helper_atomic_fetch_smaxb_mips +#define helper_atomic_fetch_smaxl_be_mmu helper_atomic_fetch_smaxl_be_mmu_mips +#define helper_atomic_fetch_smaxl_be helper_atomic_fetch_smaxl_be_mips +#define helper_atomic_fetch_smaxq_be_mmu helper_atomic_fetch_smaxq_be_mmu_mips +#define helper_atomic_fetch_smaxq_be helper_atomic_fetch_smaxq_be_mips +#define helper_atomic_fetch_smaxw_be_mmu helper_atomic_fetch_smaxw_be_mmu_mips +#define helper_atomic_fetch_smaxw_be helper_atomic_fetch_smaxw_be_mips +#define helper_atomic_fetch_sminb_mmu helper_atomic_fetch_sminb_mmu_mips +#define helper_atomic_fetch_sminb helper_atomic_fetch_sminb_mips +#define helper_atomic_fetch_sminl_be_mmu helper_atomic_fetch_sminl_be_mmu_mips +#define helper_atomic_fetch_sminl_be helper_atomic_fetch_sminl_be_mips +#define helper_atomic_fetch_sminq_be_mmu helper_atomic_fetch_sminq_be_mmu_mips +#define helper_atomic_fetch_sminq_be helper_atomic_fetch_sminq_be_mips +#define helper_atomic_fetch_sminw_be_mmu helper_atomic_fetch_sminw_be_mmu_mips +#define helper_atomic_fetch_sminw_be helper_atomic_fetch_sminw_be_mips +#define helper_atomic_fetch_umaxb_mmu helper_atomic_fetch_umaxb_mmu_mips +#define helper_atomic_fetch_umaxb helper_atomic_fetch_umaxb_mips +#define helper_atomic_fetch_umaxl_be_mmu helper_atomic_fetch_umaxl_be_mmu_mips +#define helper_atomic_fetch_umaxl_be helper_atomic_fetch_umaxl_be_mips +#define helper_atomic_fetch_umaxq_be_mmu helper_atomic_fetch_umaxq_be_mmu_mips +#define helper_atomic_fetch_umaxq_be helper_atomic_fetch_umaxq_be_mips +#define helper_atomic_fetch_umaxw_be_mmu helper_atomic_fetch_umaxw_be_mmu_mips +#define helper_atomic_fetch_umaxw_be helper_atomic_fetch_umaxw_be_mips +#define helper_atomic_fetch_uminb_mmu helper_atomic_fetch_uminb_mmu_mips +#define helper_atomic_fetch_uminb helper_atomic_fetch_uminb_mips +#define helper_atomic_fetch_uminl_be_mmu helper_atomic_fetch_uminl_be_mmu_mips +#define helper_atomic_fetch_uminl_be helper_atomic_fetch_uminl_be_mips +#define helper_atomic_fetch_uminq_be_mmu helper_atomic_fetch_uminq_be_mmu_mips +#define helper_atomic_fetch_uminq_be helper_atomic_fetch_uminq_be_mips +#define helper_atomic_fetch_uminw_be_mmu helper_atomic_fetch_uminw_be_mmu_mips +#define helper_atomic_fetch_uminw_be helper_atomic_fetch_uminw_be_mips +#define helper_atomic_fetch_smaxl_le_mmu helper_atomic_fetch_smaxl_le_mmu_mips +#define helper_atomic_fetch_smaxl_le helper_atomic_fetch_smaxl_le_mips +#define helper_atomic_fetch_smaxq_le_mmu helper_atomic_fetch_smaxq_le_mmu_mips +#define helper_atomic_fetch_smaxq_le helper_atomic_fetch_smaxq_le_mips +#define helper_atomic_fetch_smaxw_le_mmu helper_atomic_fetch_smaxw_le_mmu_mips +#define helper_atomic_fetch_smaxw_le helper_atomic_fetch_smaxw_le_mips +#define helper_atomic_fetch_sminl_le_mmu helper_atomic_fetch_sminl_le_mmu_mips +#define helper_atomic_fetch_sminl_le helper_atomic_fetch_sminl_le_mips +#define helper_atomic_fetch_sminq_le_mmu helper_atomic_fetch_sminq_le_mmu_mips +#define helper_atomic_fetch_sminq_le helper_atomic_fetch_sminq_le_mips +#define helper_atomic_fetch_sminw_le_mmu helper_atomic_fetch_sminw_le_mmu_mips +#define helper_atomic_fetch_sminw_le helper_atomic_fetch_sminw_le_mips +#define helper_atomic_fetch_umaxl_le_mmu helper_atomic_fetch_umaxl_le_mmu_mips +#define helper_atomic_fetch_umaxl_le helper_atomic_fetch_umaxl_le_mips +#define helper_atomic_fetch_umaxq_le_mmu helper_atomic_fetch_umaxq_le_mmu_mips +#define helper_atomic_fetch_umaxq_le helper_atomic_fetch_umaxq_le_mips +#define helper_atomic_fetch_umaxw_le_mmu helper_atomic_fetch_umaxw_le_mmu_mips +#define helper_atomic_fetch_umaxw_le helper_atomic_fetch_umaxw_le_mips +#define helper_atomic_fetch_uminl_le_mmu helper_atomic_fetch_uminl_le_mmu_mips +#define helper_atomic_fetch_uminl_le helper_atomic_fetch_uminl_le_mips +#define helper_atomic_fetch_uminq_le_mmu helper_atomic_fetch_uminq_le_mmu_mips +#define helper_atomic_fetch_uminq_le helper_atomic_fetch_uminq_le_mips +#define helper_atomic_fetch_uminw_le_mmu helper_atomic_fetch_uminw_le_mmu_mips +#define helper_atomic_fetch_uminw_le helper_atomic_fetch_uminw_le_mips #define helper_atomic_fetch_xorb helper_atomic_fetch_xorb_mips #define helper_atomic_fetch_xorb_mmu helper_atomic_fetch_xorb_mmu_mips #define helper_atomic_fetch_xorl_be helper_atomic_fetch_xorl_be_mips @@ -885,10 +941,66 @@ #define helper_atomic_or_fetchw_be_mmu helper_atomic_or_fetchw_be_mmu_mips #define helper_atomic_or_fetchw_le helper_atomic_or_fetchw_le_mips #define helper_atomic_or_fetchw_le_mmu helper_atomic_or_fetchw_le_mmu_mips +#define helper_atomic_smax_fetchb_mmu helper_atomic_smax_fetchb_mmu_mips +#define helper_atomic_smax_fetchb helper_atomic_smax_fetchb_mips +#define helper_atomic_smax_fetchl_be_mmu helper_atomic_smax_fetchl_be_mmu_mips +#define helper_atomic_smax_fetchl_be helper_atomic_smax_fetchl_be_mips +#define helper_atomic_smax_fetchq_be_mmu helper_atomic_smax_fetchq_be_mmu_mips +#define helper_atomic_smax_fetchq_be helper_atomic_smax_fetchq_be_mips +#define helper_atomic_smax_fetchw_be_mmu helper_atomic_smax_fetchw_be_mmu_mips +#define helper_atomic_smax_fetchw_be helper_atomic_smax_fetchw_be_mips +#define helper_atomic_smin_fetchb_mmu helper_atomic_smin_fetchb_mmu_mips +#define helper_atomic_smin_fetchb helper_atomic_smin_fetchb_mips +#define helper_atomic_smin_fetchl_be_mmu helper_atomic_smin_fetchl_be_mmu_mips +#define helper_atomic_smin_fetchl_be helper_atomic_smin_fetchl_be_mips +#define helper_atomic_smin_fetchq_be_mmu helper_atomic_smin_fetchq_be_mmu_mips +#define helper_atomic_smin_fetchq_be helper_atomic_smin_fetchq_be_mips +#define helper_atomic_smin_fetchw_be_mmu helper_atomic_smin_fetchw_be_mmu_mips +#define helper_atomic_smin_fetchw_be helper_atomic_smin_fetchw_be_mips +#define helper_atomic_smax_fetchl_le_mmu helper_atomic_smax_fetchl_le_mmu_mips +#define helper_atomic_smax_fetchl_le helper_atomic_smax_fetchl_le_mips +#define helper_atomic_smax_fetchq_le_mmu helper_atomic_smax_fetchq_le_mmu_mips +#define helper_atomic_smax_fetchq_le helper_atomic_smax_fetchq_le_mips +#define helper_atomic_smax_fetchw_le_mmu helper_atomic_smax_fetchw_le_mmu_mips +#define helper_atomic_smax_fetchw_le helper_atomic_smax_fetchw_le_mips +#define helper_atomic_smin_fetchl_le_mmu helper_atomic_smin_fetchl_le_mmu_mips +#define helper_atomic_smin_fetchl_le helper_atomic_smin_fetchl_le_mips +#define helper_atomic_smin_fetchq_le_mmu helper_atomic_smin_fetchq_le_mmu_mips +#define helper_atomic_smin_fetchq_le helper_atomic_smin_fetchq_le_mips +#define helper_atomic_smin_fetchw_le_mmu helper_atomic_smin_fetchw_le_mmu_mips +#define helper_atomic_smin_fetchw_le helper_atomic_smin_fetchw_le_mips #define helper_atomic_sto_be helper_atomic_sto_be_mips #define helper_atomic_sto_be_mmu helper_atomic_sto_be_mmu_mips #define helper_atomic_sto_le helper_atomic_sto_le_mips #define helper_atomic_sto_le_mmu helper_atomic_sto_le_mmu_mips +#define helper_atomic_umax_fetchb_mmu helper_atomic_umax_fetchb_mmu_mips +#define helper_atomic_umax_fetchb helper_atomic_umax_fetchb_mips +#define helper_atomic_umax_fetchl_be_mmu helper_atomic_umax_fetchl_be_mmu_mips +#define helper_atomic_umax_fetchl_be helper_atomic_umax_fetchl_be_mips +#define helper_atomic_umax_fetchq_be_mmu helper_atomic_umax_fetchq_be_mmu_mips +#define helper_atomic_umax_fetchq_be helper_atomic_umax_fetchq_be_mips +#define helper_atomic_umax_fetchw_be_mmu helper_atomic_umax_fetchw_be_mmu_mips +#define helper_atomic_umax_fetchw_be helper_atomic_umax_fetchw_be_mips +#define helper_atomic_umin_fetchb_mmu helper_atomic_umin_fetchb_mmu_mips +#define helper_atomic_umin_fetchb helper_atomic_umin_fetchb_mips +#define helper_atomic_umin_fetchl_be_mmu helper_atomic_umin_fetchl_be_mmu_mips +#define helper_atomic_umin_fetchl_be helper_atomic_umin_fetchl_be_mips +#define helper_atomic_umin_fetchq_be_mmu helper_atomic_umin_fetchq_be_mmu_mips +#define helper_atomic_umin_fetchq_be helper_atomic_umin_fetchq_be_mips +#define helper_atomic_umin_fetchw_be_mmu helper_atomic_umin_fetchw_be_mmu_mips +#define helper_atomic_umin_fetchw_be helper_atomic_umin_fetchw_be_mips +#define helper_atomic_umax_fetchl_le_mmu helper_atomic_umax_fetchl_le_mmu_mips +#define helper_atomic_umax_fetchl_le helper_atomic_umax_fetchl_le_mips +#define helper_atomic_umax_fetchq_le_mmu helper_atomic_umax_fetchq_le_mmu_mips +#define helper_atomic_umax_fetchq_le helper_atomic_umax_fetchq_le_mips +#define helper_atomic_umax_fetchw_le_mmu helper_atomic_umax_fetchw_le_mmu_mips +#define helper_atomic_umax_fetchw_le helper_atomic_umax_fetchw_le_mips +#define helper_atomic_umin_fetchl_le_mmu helper_atomic_umin_fetchl_le_mmu_mips +#define helper_atomic_umin_fetchl_le helper_atomic_umin_fetchl_le_mips +#define helper_atomic_umin_fetchq_le_mmu helper_atomic_umin_fetchq_le_mmu_mips +#define helper_atomic_umin_fetchq_le helper_atomic_umin_fetchq_le_mips +#define helper_atomic_umin_fetchw_le_mmu helper_atomic_umin_fetchw_le_mmu_mips +#define helper_atomic_umin_fetchw_le helper_atomic_umin_fetchw_le_mips #define helper_atomic_xchgb helper_atomic_xchgb_mips #define helper_atomic_xchgb helper_atomic_xchgb_mips #define helper_atomic_xchgb_mmu helper_atomic_xchgb_mmu_mips @@ -2516,10 +2628,26 @@ #define tcg_gen_atomic_fetch_and_i64 tcg_gen_atomic_fetch_and_i64_mips #define tcg_gen_atomic_fetch_or_i32 tcg_gen_atomic_fetch_or_i32_mips #define tcg_gen_atomic_fetch_or_i64 tcg_gen_atomic_fetch_or_i64_mips +#define tcg_gen_atomic_fetch_smax_i32 tcg_gen_atomic_fetch_smax_i32_mips +#define tcg_gen_atomic_fetch_smax_i64 tcg_gen_atomic_fetch_smax_i64_mips +#define tcg_gen_atomic_fetch_smin_i32 tcg_gen_atomic_fetch_smin_i32_mips +#define tcg_gen_atomic_fetch_smin_i64 tcg_gen_atomic_fetch_smin_i64_mips +#define tcg_gen_atomic_fetch_umax_i32 tcg_gen_atomic_fetch_umax_i32_mips +#define tcg_gen_atomic_fetch_umax_i64 tcg_gen_atomic_fetch_umax_i64_mips +#define tcg_gen_atomic_fetch_umin_i32 tcg_gen_atomic_fetch_umin_i32_mips +#define tcg_gen_atomic_fetch_umin_i64 tcg_gen_atomic_fetch_umin_i64_mips #define tcg_gen_atomic_fetch_xor_i32 tcg_gen_atomic_fetch_xor_i32_mips #define tcg_gen_atomic_fetch_xor_i64 tcg_gen_atomic_fetch_xor_i64_mips #define tcg_gen_atomic_or_fetch_i32 tcg_gen_atomic_or_fetch_i32_mips #define tcg_gen_atomic_or_fetch_i64 tcg_gen_atomic_or_fetch_i64_mips +#define tcg_gen_atomic_smax_fetch_i32 tcg_gen_atomic_smax_fetch_i32_mips +#define tcg_gen_atomic_smax_fetch_i64 tcg_gen_atomic_smax_fetch_i64_mips +#define tcg_gen_atomic_smin_fetch_i32 tcg_gen_atomic_smin_fetch_i32_mips +#define tcg_gen_atomic_smin_fetch_i64 tcg_gen_atomic_smin_fetch_i64_mips +#define tcg_gen_atomic_umax_fetch_i32 tcg_gen_atomic_umax_fetch_i32_mips +#define tcg_gen_atomic_umax_fetch_i64 tcg_gen_atomic_umax_fetch_i64_mips +#define tcg_gen_atomic_umin_fetch_i32 tcg_gen_atomic_umin_fetch_i32_mips +#define tcg_gen_atomic_umin_fetch_i64 tcg_gen_atomic_umin_fetch_i64_mips #define tcg_gen_atomic_xchg_i32 tcg_gen_atomic_xchg_i32_mips #define tcg_gen_atomic_xchg_i64 tcg_gen_atomic_xchg_i64_mips #define tcg_gen_atomic_xor_fetch_i32 tcg_gen_atomic_xor_fetch_i32_mips diff --git a/qemu/mips64.h b/qemu/mips64.h index bda90517..a0234b41 100644 --- a/qemu/mips64.h +++ b/qemu/mips64.h @@ -853,6 +853,62 @@ #define helper_atomic_fetch_orw_be_mmu helper_atomic_fetch_orw_be_mmu_mips64 #define helper_atomic_fetch_orw_le helper_atomic_fetch_orw_le_mips64 #define helper_atomic_fetch_orw_le_mmu helper_atomic_fetch_orw_le_mmu_mips64 +#define helper_atomic_fetch_smaxb_mmu helper_atomic_fetch_smaxb_mmu_mips64 +#define helper_atomic_fetch_smaxb helper_atomic_fetch_smaxb_mips64 +#define helper_atomic_fetch_smaxl_be_mmu helper_atomic_fetch_smaxl_be_mmu_mips64 +#define helper_atomic_fetch_smaxl_be helper_atomic_fetch_smaxl_be_mips64 +#define helper_atomic_fetch_smaxq_be_mmu helper_atomic_fetch_smaxq_be_mmu_mips64 +#define helper_atomic_fetch_smaxq_be helper_atomic_fetch_smaxq_be_mips64 +#define helper_atomic_fetch_smaxw_be_mmu helper_atomic_fetch_smaxw_be_mmu_mips64 +#define helper_atomic_fetch_smaxw_be helper_atomic_fetch_smaxw_be_mips64 +#define helper_atomic_fetch_sminb_mmu helper_atomic_fetch_sminb_mmu_mips64 +#define helper_atomic_fetch_sminb helper_atomic_fetch_sminb_mips64 +#define helper_atomic_fetch_sminl_be_mmu helper_atomic_fetch_sminl_be_mmu_mips64 +#define helper_atomic_fetch_sminl_be helper_atomic_fetch_sminl_be_mips64 +#define helper_atomic_fetch_sminq_be_mmu helper_atomic_fetch_sminq_be_mmu_mips64 +#define helper_atomic_fetch_sminq_be helper_atomic_fetch_sminq_be_mips64 +#define helper_atomic_fetch_sminw_be_mmu helper_atomic_fetch_sminw_be_mmu_mips64 +#define helper_atomic_fetch_sminw_be helper_atomic_fetch_sminw_be_mips64 +#define helper_atomic_fetch_umaxb_mmu helper_atomic_fetch_umaxb_mmu_mips64 +#define helper_atomic_fetch_umaxb helper_atomic_fetch_umaxb_mips64 +#define helper_atomic_fetch_umaxl_be_mmu helper_atomic_fetch_umaxl_be_mmu_mips64 +#define helper_atomic_fetch_umaxl_be helper_atomic_fetch_umaxl_be_mips64 +#define helper_atomic_fetch_umaxq_be_mmu helper_atomic_fetch_umaxq_be_mmu_mips64 +#define helper_atomic_fetch_umaxq_be helper_atomic_fetch_umaxq_be_mips64 +#define helper_atomic_fetch_umaxw_be_mmu helper_atomic_fetch_umaxw_be_mmu_mips64 +#define helper_atomic_fetch_umaxw_be helper_atomic_fetch_umaxw_be_mips64 +#define helper_atomic_fetch_uminb_mmu helper_atomic_fetch_uminb_mmu_mips64 +#define helper_atomic_fetch_uminb helper_atomic_fetch_uminb_mips64 +#define helper_atomic_fetch_uminl_be_mmu helper_atomic_fetch_uminl_be_mmu_mips64 +#define helper_atomic_fetch_uminl_be helper_atomic_fetch_uminl_be_mips64 +#define helper_atomic_fetch_uminq_be_mmu helper_atomic_fetch_uminq_be_mmu_mips64 +#define helper_atomic_fetch_uminq_be helper_atomic_fetch_uminq_be_mips64 +#define helper_atomic_fetch_uminw_be_mmu helper_atomic_fetch_uminw_be_mmu_mips64 +#define helper_atomic_fetch_uminw_be helper_atomic_fetch_uminw_be_mips64 +#define helper_atomic_fetch_smaxl_le_mmu helper_atomic_fetch_smaxl_le_mmu_mips64 +#define helper_atomic_fetch_smaxl_le helper_atomic_fetch_smaxl_le_mips64 +#define helper_atomic_fetch_smaxq_le_mmu helper_atomic_fetch_smaxq_le_mmu_mips64 +#define helper_atomic_fetch_smaxq_le helper_atomic_fetch_smaxq_le_mips64 +#define helper_atomic_fetch_smaxw_le_mmu helper_atomic_fetch_smaxw_le_mmu_mips64 +#define helper_atomic_fetch_smaxw_le helper_atomic_fetch_smaxw_le_mips64 +#define helper_atomic_fetch_sminl_le_mmu helper_atomic_fetch_sminl_le_mmu_mips64 +#define helper_atomic_fetch_sminl_le helper_atomic_fetch_sminl_le_mips64 +#define helper_atomic_fetch_sminq_le_mmu helper_atomic_fetch_sminq_le_mmu_mips64 +#define helper_atomic_fetch_sminq_le helper_atomic_fetch_sminq_le_mips64 +#define helper_atomic_fetch_sminw_le_mmu helper_atomic_fetch_sminw_le_mmu_mips64 +#define helper_atomic_fetch_sminw_le helper_atomic_fetch_sminw_le_mips64 +#define helper_atomic_fetch_umaxl_le_mmu helper_atomic_fetch_umaxl_le_mmu_mips64 +#define helper_atomic_fetch_umaxl_le helper_atomic_fetch_umaxl_le_mips64 +#define helper_atomic_fetch_umaxq_le_mmu helper_atomic_fetch_umaxq_le_mmu_mips64 +#define helper_atomic_fetch_umaxq_le helper_atomic_fetch_umaxq_le_mips64 +#define helper_atomic_fetch_umaxw_le_mmu helper_atomic_fetch_umaxw_le_mmu_mips64 +#define helper_atomic_fetch_umaxw_le helper_atomic_fetch_umaxw_le_mips64 +#define helper_atomic_fetch_uminl_le_mmu helper_atomic_fetch_uminl_le_mmu_mips64 +#define helper_atomic_fetch_uminl_le helper_atomic_fetch_uminl_le_mips64 +#define helper_atomic_fetch_uminq_le_mmu helper_atomic_fetch_uminq_le_mmu_mips64 +#define helper_atomic_fetch_uminq_le helper_atomic_fetch_uminq_le_mips64 +#define helper_atomic_fetch_uminw_le_mmu helper_atomic_fetch_uminw_le_mmu_mips64 +#define helper_atomic_fetch_uminw_le helper_atomic_fetch_uminw_le_mips64 #define helper_atomic_fetch_xorb helper_atomic_fetch_xorb_mips64 #define helper_atomic_fetch_xorb_mmu helper_atomic_fetch_xorb_mmu_mips64 #define helper_atomic_fetch_xorl_be helper_atomic_fetch_xorl_be_mips64 @@ -885,10 +941,66 @@ #define helper_atomic_or_fetchw_be_mmu helper_atomic_or_fetchw_be_mmu_mips64 #define helper_atomic_or_fetchw_le helper_atomic_or_fetchw_le_mips64 #define helper_atomic_or_fetchw_le_mmu helper_atomic_or_fetchw_le_mmu_mips64 +#define helper_atomic_smax_fetchb_mmu helper_atomic_smax_fetchb_mmu_mips64 +#define helper_atomic_smax_fetchb helper_atomic_smax_fetchb_mips64 +#define helper_atomic_smax_fetchl_be_mmu helper_atomic_smax_fetchl_be_mmu_mips64 +#define helper_atomic_smax_fetchl_be helper_atomic_smax_fetchl_be_mips64 +#define helper_atomic_smax_fetchq_be_mmu helper_atomic_smax_fetchq_be_mmu_mips64 +#define helper_atomic_smax_fetchq_be helper_atomic_smax_fetchq_be_mips64 +#define helper_atomic_smax_fetchw_be_mmu helper_atomic_smax_fetchw_be_mmu_mips64 +#define helper_atomic_smax_fetchw_be helper_atomic_smax_fetchw_be_mips64 +#define helper_atomic_smin_fetchb_mmu helper_atomic_smin_fetchb_mmu_mips64 +#define helper_atomic_smin_fetchb helper_atomic_smin_fetchb_mips64 +#define helper_atomic_smin_fetchl_be_mmu helper_atomic_smin_fetchl_be_mmu_mips64 +#define helper_atomic_smin_fetchl_be helper_atomic_smin_fetchl_be_mips64 +#define helper_atomic_smin_fetchq_be_mmu helper_atomic_smin_fetchq_be_mmu_mips64 +#define helper_atomic_smin_fetchq_be helper_atomic_smin_fetchq_be_mips64 +#define helper_atomic_smin_fetchw_be_mmu helper_atomic_smin_fetchw_be_mmu_mips64 +#define helper_atomic_smin_fetchw_be helper_atomic_smin_fetchw_be_mips64 +#define helper_atomic_smax_fetchl_le_mmu helper_atomic_smax_fetchl_le_mmu_mips64 +#define helper_atomic_smax_fetchl_le helper_atomic_smax_fetchl_le_mips64 +#define helper_atomic_smax_fetchq_le_mmu helper_atomic_smax_fetchq_le_mmu_mips64 +#define helper_atomic_smax_fetchq_le helper_atomic_smax_fetchq_le_mips64 +#define helper_atomic_smax_fetchw_le_mmu helper_atomic_smax_fetchw_le_mmu_mips64 +#define helper_atomic_smax_fetchw_le helper_atomic_smax_fetchw_le_mips64 +#define helper_atomic_smin_fetchl_le_mmu helper_atomic_smin_fetchl_le_mmu_mips64 +#define helper_atomic_smin_fetchl_le helper_atomic_smin_fetchl_le_mips64 +#define helper_atomic_smin_fetchq_le_mmu helper_atomic_smin_fetchq_le_mmu_mips64 +#define helper_atomic_smin_fetchq_le helper_atomic_smin_fetchq_le_mips64 +#define helper_atomic_smin_fetchw_le_mmu helper_atomic_smin_fetchw_le_mmu_mips64 +#define helper_atomic_smin_fetchw_le helper_atomic_smin_fetchw_le_mips64 #define helper_atomic_sto_be helper_atomic_sto_be_mips64 #define helper_atomic_sto_be_mmu helper_atomic_sto_be_mmu_mips64 #define helper_atomic_sto_le helper_atomic_sto_le_mips64 #define helper_atomic_sto_le_mmu helper_atomic_sto_le_mmu_mips64 +#define helper_atomic_umax_fetchb_mmu helper_atomic_umax_fetchb_mmu_mips64 +#define helper_atomic_umax_fetchb helper_atomic_umax_fetchb_mips64 +#define helper_atomic_umax_fetchl_be_mmu helper_atomic_umax_fetchl_be_mmu_mips64 +#define helper_atomic_umax_fetchl_be helper_atomic_umax_fetchl_be_mips64 +#define helper_atomic_umax_fetchq_be_mmu helper_atomic_umax_fetchq_be_mmu_mips64 +#define helper_atomic_umax_fetchq_be helper_atomic_umax_fetchq_be_mips64 +#define helper_atomic_umax_fetchw_be_mmu helper_atomic_umax_fetchw_be_mmu_mips64 +#define helper_atomic_umax_fetchw_be helper_atomic_umax_fetchw_be_mips64 +#define helper_atomic_umin_fetchb_mmu helper_atomic_umin_fetchb_mmu_mips64 +#define helper_atomic_umin_fetchb helper_atomic_umin_fetchb_mips64 +#define helper_atomic_umin_fetchl_be_mmu helper_atomic_umin_fetchl_be_mmu_mips64 +#define helper_atomic_umin_fetchl_be helper_atomic_umin_fetchl_be_mips64 +#define helper_atomic_umin_fetchq_be_mmu helper_atomic_umin_fetchq_be_mmu_mips64 +#define helper_atomic_umin_fetchq_be helper_atomic_umin_fetchq_be_mips64 +#define helper_atomic_umin_fetchw_be_mmu helper_atomic_umin_fetchw_be_mmu_mips64 +#define helper_atomic_umin_fetchw_be helper_atomic_umin_fetchw_be_mips64 +#define helper_atomic_umax_fetchl_le_mmu helper_atomic_umax_fetchl_le_mmu_mips64 +#define helper_atomic_umax_fetchl_le helper_atomic_umax_fetchl_le_mips64 +#define helper_atomic_umax_fetchq_le_mmu helper_atomic_umax_fetchq_le_mmu_mips64 +#define helper_atomic_umax_fetchq_le helper_atomic_umax_fetchq_le_mips64 +#define helper_atomic_umax_fetchw_le_mmu helper_atomic_umax_fetchw_le_mmu_mips64 +#define helper_atomic_umax_fetchw_le helper_atomic_umax_fetchw_le_mips64 +#define helper_atomic_umin_fetchl_le_mmu helper_atomic_umin_fetchl_le_mmu_mips64 +#define helper_atomic_umin_fetchl_le helper_atomic_umin_fetchl_le_mips64 +#define helper_atomic_umin_fetchq_le_mmu helper_atomic_umin_fetchq_le_mmu_mips64 +#define helper_atomic_umin_fetchq_le helper_atomic_umin_fetchq_le_mips64 +#define helper_atomic_umin_fetchw_le_mmu helper_atomic_umin_fetchw_le_mmu_mips64 +#define helper_atomic_umin_fetchw_le helper_atomic_umin_fetchw_le_mips64 #define helper_atomic_xchgb helper_atomic_xchgb_mips64 #define helper_atomic_xchgb helper_atomic_xchgb_mips64 #define helper_atomic_xchgb_mmu helper_atomic_xchgb_mmu_mips64 @@ -2516,10 +2628,26 @@ #define tcg_gen_atomic_fetch_and_i64 tcg_gen_atomic_fetch_and_i64_mips64 #define tcg_gen_atomic_fetch_or_i32 tcg_gen_atomic_fetch_or_i32_mips64 #define tcg_gen_atomic_fetch_or_i64 tcg_gen_atomic_fetch_or_i64_mips64 +#define tcg_gen_atomic_fetch_smax_i32 tcg_gen_atomic_fetch_smax_i32_mips64 +#define tcg_gen_atomic_fetch_smax_i64 tcg_gen_atomic_fetch_smax_i64_mips64 +#define tcg_gen_atomic_fetch_smin_i32 tcg_gen_atomic_fetch_smin_i32_mips64 +#define tcg_gen_atomic_fetch_smin_i64 tcg_gen_atomic_fetch_smin_i64_mips64 +#define tcg_gen_atomic_fetch_umax_i32 tcg_gen_atomic_fetch_umax_i32_mips64 +#define tcg_gen_atomic_fetch_umax_i64 tcg_gen_atomic_fetch_umax_i64_mips64 +#define tcg_gen_atomic_fetch_umin_i32 tcg_gen_atomic_fetch_umin_i32_mips64 +#define tcg_gen_atomic_fetch_umin_i64 tcg_gen_atomic_fetch_umin_i64_mips64 #define tcg_gen_atomic_fetch_xor_i32 tcg_gen_atomic_fetch_xor_i32_mips64 #define tcg_gen_atomic_fetch_xor_i64 tcg_gen_atomic_fetch_xor_i64_mips64 #define tcg_gen_atomic_or_fetch_i32 tcg_gen_atomic_or_fetch_i32_mips64 #define tcg_gen_atomic_or_fetch_i64 tcg_gen_atomic_or_fetch_i64_mips64 +#define tcg_gen_atomic_smax_fetch_i32 tcg_gen_atomic_smax_fetch_i32_mips64 +#define tcg_gen_atomic_smax_fetch_i64 tcg_gen_atomic_smax_fetch_i64_mips64 +#define tcg_gen_atomic_smin_fetch_i32 tcg_gen_atomic_smin_fetch_i32_mips64 +#define tcg_gen_atomic_smin_fetch_i64 tcg_gen_atomic_smin_fetch_i64_mips64 +#define tcg_gen_atomic_umax_fetch_i32 tcg_gen_atomic_umax_fetch_i32_mips64 +#define tcg_gen_atomic_umax_fetch_i64 tcg_gen_atomic_umax_fetch_i64_mips64 +#define tcg_gen_atomic_umin_fetch_i32 tcg_gen_atomic_umin_fetch_i32_mips64 +#define tcg_gen_atomic_umin_fetch_i64 tcg_gen_atomic_umin_fetch_i64_mips64 #define tcg_gen_atomic_xchg_i32 tcg_gen_atomic_xchg_i32_mips64 #define tcg_gen_atomic_xchg_i64 tcg_gen_atomic_xchg_i64_mips64 #define tcg_gen_atomic_xor_fetch_i32 tcg_gen_atomic_xor_fetch_i32_mips64 diff --git a/qemu/mips64el.h b/qemu/mips64el.h index 72ded0de..b96f1712 100644 --- a/qemu/mips64el.h +++ b/qemu/mips64el.h @@ -853,6 +853,62 @@ #define helper_atomic_fetch_orw_be_mmu helper_atomic_fetch_orw_be_mmu_mips64el #define helper_atomic_fetch_orw_le helper_atomic_fetch_orw_le_mips64el #define helper_atomic_fetch_orw_le_mmu helper_atomic_fetch_orw_le_mmu_mips64el +#define helper_atomic_fetch_smaxb_mmu helper_atomic_fetch_smaxb_mmu_mips64el +#define helper_atomic_fetch_smaxb helper_atomic_fetch_smaxb_mips64el +#define helper_atomic_fetch_smaxl_be_mmu helper_atomic_fetch_smaxl_be_mmu_mips64el +#define helper_atomic_fetch_smaxl_be helper_atomic_fetch_smaxl_be_mips64el +#define helper_atomic_fetch_smaxq_be_mmu helper_atomic_fetch_smaxq_be_mmu_mips64el +#define helper_atomic_fetch_smaxq_be helper_atomic_fetch_smaxq_be_mips64el +#define helper_atomic_fetch_smaxw_be_mmu helper_atomic_fetch_smaxw_be_mmu_mips64el +#define helper_atomic_fetch_smaxw_be helper_atomic_fetch_smaxw_be_mips64el +#define helper_atomic_fetch_sminb_mmu helper_atomic_fetch_sminb_mmu_mips64el +#define helper_atomic_fetch_sminb helper_atomic_fetch_sminb_mips64el +#define helper_atomic_fetch_sminl_be_mmu helper_atomic_fetch_sminl_be_mmu_mips64el +#define helper_atomic_fetch_sminl_be helper_atomic_fetch_sminl_be_mips64el +#define helper_atomic_fetch_sminq_be_mmu helper_atomic_fetch_sminq_be_mmu_mips64el +#define helper_atomic_fetch_sminq_be helper_atomic_fetch_sminq_be_mips64el +#define helper_atomic_fetch_sminw_be_mmu helper_atomic_fetch_sminw_be_mmu_mips64el +#define helper_atomic_fetch_sminw_be helper_atomic_fetch_sminw_be_mips64el +#define helper_atomic_fetch_umaxb_mmu helper_atomic_fetch_umaxb_mmu_mips64el +#define helper_atomic_fetch_umaxb helper_atomic_fetch_umaxb_mips64el +#define helper_atomic_fetch_umaxl_be_mmu helper_atomic_fetch_umaxl_be_mmu_mips64el +#define helper_atomic_fetch_umaxl_be helper_atomic_fetch_umaxl_be_mips64el +#define helper_atomic_fetch_umaxq_be_mmu helper_atomic_fetch_umaxq_be_mmu_mips64el +#define helper_atomic_fetch_umaxq_be helper_atomic_fetch_umaxq_be_mips64el +#define helper_atomic_fetch_umaxw_be_mmu helper_atomic_fetch_umaxw_be_mmu_mips64el +#define helper_atomic_fetch_umaxw_be helper_atomic_fetch_umaxw_be_mips64el +#define helper_atomic_fetch_uminb_mmu helper_atomic_fetch_uminb_mmu_mips64el +#define helper_atomic_fetch_uminb helper_atomic_fetch_uminb_mips64el +#define helper_atomic_fetch_uminl_be_mmu helper_atomic_fetch_uminl_be_mmu_mips64el +#define helper_atomic_fetch_uminl_be helper_atomic_fetch_uminl_be_mips64el +#define helper_atomic_fetch_uminq_be_mmu helper_atomic_fetch_uminq_be_mmu_mips64el +#define helper_atomic_fetch_uminq_be helper_atomic_fetch_uminq_be_mips64el +#define helper_atomic_fetch_uminw_be_mmu helper_atomic_fetch_uminw_be_mmu_mips64el +#define helper_atomic_fetch_uminw_be helper_atomic_fetch_uminw_be_mips64el +#define helper_atomic_fetch_smaxl_le_mmu helper_atomic_fetch_smaxl_le_mmu_mips64el +#define helper_atomic_fetch_smaxl_le helper_atomic_fetch_smaxl_le_mips64el +#define helper_atomic_fetch_smaxq_le_mmu helper_atomic_fetch_smaxq_le_mmu_mips64el +#define helper_atomic_fetch_smaxq_le helper_atomic_fetch_smaxq_le_mips64el +#define helper_atomic_fetch_smaxw_le_mmu helper_atomic_fetch_smaxw_le_mmu_mips64el +#define helper_atomic_fetch_smaxw_le helper_atomic_fetch_smaxw_le_mips64el +#define helper_atomic_fetch_sminl_le_mmu helper_atomic_fetch_sminl_le_mmu_mips64el +#define helper_atomic_fetch_sminl_le helper_atomic_fetch_sminl_le_mips64el +#define helper_atomic_fetch_sminq_le_mmu helper_atomic_fetch_sminq_le_mmu_mips64el +#define helper_atomic_fetch_sminq_le helper_atomic_fetch_sminq_le_mips64el +#define helper_atomic_fetch_sminw_le_mmu helper_atomic_fetch_sminw_le_mmu_mips64el +#define helper_atomic_fetch_sminw_le helper_atomic_fetch_sminw_le_mips64el +#define helper_atomic_fetch_umaxl_le_mmu helper_atomic_fetch_umaxl_le_mmu_mips64el +#define helper_atomic_fetch_umaxl_le helper_atomic_fetch_umaxl_le_mips64el +#define helper_atomic_fetch_umaxq_le_mmu helper_atomic_fetch_umaxq_le_mmu_mips64el +#define helper_atomic_fetch_umaxq_le helper_atomic_fetch_umaxq_le_mips64el +#define helper_atomic_fetch_umaxw_le_mmu helper_atomic_fetch_umaxw_le_mmu_mips64el +#define helper_atomic_fetch_umaxw_le helper_atomic_fetch_umaxw_le_mips64el +#define helper_atomic_fetch_uminl_le_mmu helper_atomic_fetch_uminl_le_mmu_mips64el +#define helper_atomic_fetch_uminl_le helper_atomic_fetch_uminl_le_mips64el +#define helper_atomic_fetch_uminq_le_mmu helper_atomic_fetch_uminq_le_mmu_mips64el +#define helper_atomic_fetch_uminq_le helper_atomic_fetch_uminq_le_mips64el +#define helper_atomic_fetch_uminw_le_mmu helper_atomic_fetch_uminw_le_mmu_mips64el +#define helper_atomic_fetch_uminw_le helper_atomic_fetch_uminw_le_mips64el #define helper_atomic_fetch_xorb helper_atomic_fetch_xorb_mips64el #define helper_atomic_fetch_xorb_mmu helper_atomic_fetch_xorb_mmu_mips64el #define helper_atomic_fetch_xorl_be helper_atomic_fetch_xorl_be_mips64el @@ -885,10 +941,66 @@ #define helper_atomic_or_fetchw_be_mmu helper_atomic_or_fetchw_be_mmu_mips64el #define helper_atomic_or_fetchw_le helper_atomic_or_fetchw_le_mips64el #define helper_atomic_or_fetchw_le_mmu helper_atomic_or_fetchw_le_mmu_mips64el +#define helper_atomic_smax_fetchb_mmu helper_atomic_smax_fetchb_mmu_mips64el +#define helper_atomic_smax_fetchb helper_atomic_smax_fetchb_mips64el +#define helper_atomic_smax_fetchl_be_mmu helper_atomic_smax_fetchl_be_mmu_mips64el +#define helper_atomic_smax_fetchl_be helper_atomic_smax_fetchl_be_mips64el +#define helper_atomic_smax_fetchq_be_mmu helper_atomic_smax_fetchq_be_mmu_mips64el +#define helper_atomic_smax_fetchq_be helper_atomic_smax_fetchq_be_mips64el +#define helper_atomic_smax_fetchw_be_mmu helper_atomic_smax_fetchw_be_mmu_mips64el +#define helper_atomic_smax_fetchw_be helper_atomic_smax_fetchw_be_mips64el +#define helper_atomic_smin_fetchb_mmu helper_atomic_smin_fetchb_mmu_mips64el +#define helper_atomic_smin_fetchb helper_atomic_smin_fetchb_mips64el +#define helper_atomic_smin_fetchl_be_mmu helper_atomic_smin_fetchl_be_mmu_mips64el +#define helper_atomic_smin_fetchl_be helper_atomic_smin_fetchl_be_mips64el +#define helper_atomic_smin_fetchq_be_mmu helper_atomic_smin_fetchq_be_mmu_mips64el +#define helper_atomic_smin_fetchq_be helper_atomic_smin_fetchq_be_mips64el +#define helper_atomic_smin_fetchw_be_mmu helper_atomic_smin_fetchw_be_mmu_mips64el +#define helper_atomic_smin_fetchw_be helper_atomic_smin_fetchw_be_mips64el +#define helper_atomic_smax_fetchl_le_mmu helper_atomic_smax_fetchl_le_mmu_mips64el +#define helper_atomic_smax_fetchl_le helper_atomic_smax_fetchl_le_mips64el +#define helper_atomic_smax_fetchq_le_mmu helper_atomic_smax_fetchq_le_mmu_mips64el +#define helper_atomic_smax_fetchq_le helper_atomic_smax_fetchq_le_mips64el +#define helper_atomic_smax_fetchw_le_mmu helper_atomic_smax_fetchw_le_mmu_mips64el +#define helper_atomic_smax_fetchw_le helper_atomic_smax_fetchw_le_mips64el +#define helper_atomic_smin_fetchl_le_mmu helper_atomic_smin_fetchl_le_mmu_mips64el +#define helper_atomic_smin_fetchl_le helper_atomic_smin_fetchl_le_mips64el +#define helper_atomic_smin_fetchq_le_mmu helper_atomic_smin_fetchq_le_mmu_mips64el +#define helper_atomic_smin_fetchq_le helper_atomic_smin_fetchq_le_mips64el +#define helper_atomic_smin_fetchw_le_mmu helper_atomic_smin_fetchw_le_mmu_mips64el +#define helper_atomic_smin_fetchw_le helper_atomic_smin_fetchw_le_mips64el #define helper_atomic_sto_be helper_atomic_sto_be_mips64el #define helper_atomic_sto_be_mmu helper_atomic_sto_be_mmu_mips64el #define helper_atomic_sto_le helper_atomic_sto_le_mips64el #define helper_atomic_sto_le_mmu helper_atomic_sto_le_mmu_mips64el +#define helper_atomic_umax_fetchb_mmu helper_atomic_umax_fetchb_mmu_mips64el +#define helper_atomic_umax_fetchb helper_atomic_umax_fetchb_mips64el +#define helper_atomic_umax_fetchl_be_mmu helper_atomic_umax_fetchl_be_mmu_mips64el +#define helper_atomic_umax_fetchl_be helper_atomic_umax_fetchl_be_mips64el +#define helper_atomic_umax_fetchq_be_mmu helper_atomic_umax_fetchq_be_mmu_mips64el +#define helper_atomic_umax_fetchq_be helper_atomic_umax_fetchq_be_mips64el +#define helper_atomic_umax_fetchw_be_mmu helper_atomic_umax_fetchw_be_mmu_mips64el +#define helper_atomic_umax_fetchw_be helper_atomic_umax_fetchw_be_mips64el +#define helper_atomic_umin_fetchb_mmu helper_atomic_umin_fetchb_mmu_mips64el +#define helper_atomic_umin_fetchb helper_atomic_umin_fetchb_mips64el +#define helper_atomic_umin_fetchl_be_mmu helper_atomic_umin_fetchl_be_mmu_mips64el +#define helper_atomic_umin_fetchl_be helper_atomic_umin_fetchl_be_mips64el +#define helper_atomic_umin_fetchq_be_mmu helper_atomic_umin_fetchq_be_mmu_mips64el +#define helper_atomic_umin_fetchq_be helper_atomic_umin_fetchq_be_mips64el +#define helper_atomic_umin_fetchw_be_mmu helper_atomic_umin_fetchw_be_mmu_mips64el +#define helper_atomic_umin_fetchw_be helper_atomic_umin_fetchw_be_mips64el +#define helper_atomic_umax_fetchl_le_mmu helper_atomic_umax_fetchl_le_mmu_mips64el +#define helper_atomic_umax_fetchl_le helper_atomic_umax_fetchl_le_mips64el +#define helper_atomic_umax_fetchq_le_mmu helper_atomic_umax_fetchq_le_mmu_mips64el +#define helper_atomic_umax_fetchq_le helper_atomic_umax_fetchq_le_mips64el +#define helper_atomic_umax_fetchw_le_mmu helper_atomic_umax_fetchw_le_mmu_mips64el +#define helper_atomic_umax_fetchw_le helper_atomic_umax_fetchw_le_mips64el +#define helper_atomic_umin_fetchl_le_mmu helper_atomic_umin_fetchl_le_mmu_mips64el +#define helper_atomic_umin_fetchl_le helper_atomic_umin_fetchl_le_mips64el +#define helper_atomic_umin_fetchq_le_mmu helper_atomic_umin_fetchq_le_mmu_mips64el +#define helper_atomic_umin_fetchq_le helper_atomic_umin_fetchq_le_mips64el +#define helper_atomic_umin_fetchw_le_mmu helper_atomic_umin_fetchw_le_mmu_mips64el +#define helper_atomic_umin_fetchw_le helper_atomic_umin_fetchw_le_mips64el #define helper_atomic_xchgb helper_atomic_xchgb_mips64el #define helper_atomic_xchgb helper_atomic_xchgb_mips64el #define helper_atomic_xchgb_mmu helper_atomic_xchgb_mmu_mips64el @@ -2516,10 +2628,26 @@ #define tcg_gen_atomic_fetch_and_i64 tcg_gen_atomic_fetch_and_i64_mips64el #define tcg_gen_atomic_fetch_or_i32 tcg_gen_atomic_fetch_or_i32_mips64el #define tcg_gen_atomic_fetch_or_i64 tcg_gen_atomic_fetch_or_i64_mips64el +#define tcg_gen_atomic_fetch_smax_i32 tcg_gen_atomic_fetch_smax_i32_mips64el +#define tcg_gen_atomic_fetch_smax_i64 tcg_gen_atomic_fetch_smax_i64_mips64el +#define tcg_gen_atomic_fetch_smin_i32 tcg_gen_atomic_fetch_smin_i32_mips64el +#define tcg_gen_atomic_fetch_smin_i64 tcg_gen_atomic_fetch_smin_i64_mips64el +#define tcg_gen_atomic_fetch_umax_i32 tcg_gen_atomic_fetch_umax_i32_mips64el +#define tcg_gen_atomic_fetch_umax_i64 tcg_gen_atomic_fetch_umax_i64_mips64el +#define tcg_gen_atomic_fetch_umin_i32 tcg_gen_atomic_fetch_umin_i32_mips64el +#define tcg_gen_atomic_fetch_umin_i64 tcg_gen_atomic_fetch_umin_i64_mips64el #define tcg_gen_atomic_fetch_xor_i32 tcg_gen_atomic_fetch_xor_i32_mips64el #define tcg_gen_atomic_fetch_xor_i64 tcg_gen_atomic_fetch_xor_i64_mips64el #define tcg_gen_atomic_or_fetch_i32 tcg_gen_atomic_or_fetch_i32_mips64el #define tcg_gen_atomic_or_fetch_i64 tcg_gen_atomic_or_fetch_i64_mips64el +#define tcg_gen_atomic_smax_fetch_i32 tcg_gen_atomic_smax_fetch_i32_mips64el +#define tcg_gen_atomic_smax_fetch_i64 tcg_gen_atomic_smax_fetch_i64_mips64el +#define tcg_gen_atomic_smin_fetch_i32 tcg_gen_atomic_smin_fetch_i32_mips64el +#define tcg_gen_atomic_smin_fetch_i64 tcg_gen_atomic_smin_fetch_i64_mips64el +#define tcg_gen_atomic_umax_fetch_i32 tcg_gen_atomic_umax_fetch_i32_mips64el +#define tcg_gen_atomic_umax_fetch_i64 tcg_gen_atomic_umax_fetch_i64_mips64el +#define tcg_gen_atomic_umin_fetch_i32 tcg_gen_atomic_umin_fetch_i32_mips64el +#define tcg_gen_atomic_umin_fetch_i64 tcg_gen_atomic_umin_fetch_i64_mips64el #define tcg_gen_atomic_xchg_i32 tcg_gen_atomic_xchg_i32_mips64el #define tcg_gen_atomic_xchg_i64 tcg_gen_atomic_xchg_i64_mips64el #define tcg_gen_atomic_xor_fetch_i32 tcg_gen_atomic_xor_fetch_i32_mips64el diff --git a/qemu/mipsel.h b/qemu/mipsel.h index a53af4f9..e29b3324 100644 --- a/qemu/mipsel.h +++ b/qemu/mipsel.h @@ -853,6 +853,62 @@ #define helper_atomic_fetch_orw_be_mmu helper_atomic_fetch_orw_be_mmu_mipsel #define helper_atomic_fetch_orw_le helper_atomic_fetch_orw_le_mipsel #define helper_atomic_fetch_orw_le_mmu helper_atomic_fetch_orw_le_mmu_mipsel +#define helper_atomic_fetch_smaxb_mmu helper_atomic_fetch_smaxb_mmu_mipsel +#define helper_atomic_fetch_smaxb helper_atomic_fetch_smaxb_mipsel +#define helper_atomic_fetch_smaxl_be_mmu helper_atomic_fetch_smaxl_be_mmu_mipsel +#define helper_atomic_fetch_smaxl_be helper_atomic_fetch_smaxl_be_mipsel +#define helper_atomic_fetch_smaxq_be_mmu helper_atomic_fetch_smaxq_be_mmu_mipsel +#define helper_atomic_fetch_smaxq_be helper_atomic_fetch_smaxq_be_mipsel +#define helper_atomic_fetch_smaxw_be_mmu helper_atomic_fetch_smaxw_be_mmu_mipsel +#define helper_atomic_fetch_smaxw_be helper_atomic_fetch_smaxw_be_mipsel +#define helper_atomic_fetch_sminb_mmu helper_atomic_fetch_sminb_mmu_mipsel +#define helper_atomic_fetch_sminb helper_atomic_fetch_sminb_mipsel +#define helper_atomic_fetch_sminl_be_mmu helper_atomic_fetch_sminl_be_mmu_mipsel +#define helper_atomic_fetch_sminl_be helper_atomic_fetch_sminl_be_mipsel +#define helper_atomic_fetch_sminq_be_mmu helper_atomic_fetch_sminq_be_mmu_mipsel +#define helper_atomic_fetch_sminq_be helper_atomic_fetch_sminq_be_mipsel +#define helper_atomic_fetch_sminw_be_mmu helper_atomic_fetch_sminw_be_mmu_mipsel +#define helper_atomic_fetch_sminw_be helper_atomic_fetch_sminw_be_mipsel +#define helper_atomic_fetch_umaxb_mmu helper_atomic_fetch_umaxb_mmu_mipsel +#define helper_atomic_fetch_umaxb helper_atomic_fetch_umaxb_mipsel +#define helper_atomic_fetch_umaxl_be_mmu helper_atomic_fetch_umaxl_be_mmu_mipsel +#define helper_atomic_fetch_umaxl_be helper_atomic_fetch_umaxl_be_mipsel +#define helper_atomic_fetch_umaxq_be_mmu helper_atomic_fetch_umaxq_be_mmu_mipsel +#define helper_atomic_fetch_umaxq_be helper_atomic_fetch_umaxq_be_mipsel +#define helper_atomic_fetch_umaxw_be_mmu helper_atomic_fetch_umaxw_be_mmu_mipsel +#define helper_atomic_fetch_umaxw_be helper_atomic_fetch_umaxw_be_mipsel +#define helper_atomic_fetch_uminb_mmu helper_atomic_fetch_uminb_mmu_mipsel +#define helper_atomic_fetch_uminb helper_atomic_fetch_uminb_mipsel +#define helper_atomic_fetch_uminl_be_mmu helper_atomic_fetch_uminl_be_mmu_mipsel +#define helper_atomic_fetch_uminl_be helper_atomic_fetch_uminl_be_mipsel +#define helper_atomic_fetch_uminq_be_mmu helper_atomic_fetch_uminq_be_mmu_mipsel +#define helper_atomic_fetch_uminq_be helper_atomic_fetch_uminq_be_mipsel +#define helper_atomic_fetch_uminw_be_mmu helper_atomic_fetch_uminw_be_mmu_mipsel +#define helper_atomic_fetch_uminw_be helper_atomic_fetch_uminw_be_mipsel +#define helper_atomic_fetch_smaxl_le_mmu helper_atomic_fetch_smaxl_le_mmu_mipsel +#define helper_atomic_fetch_smaxl_le helper_atomic_fetch_smaxl_le_mipsel +#define helper_atomic_fetch_smaxq_le_mmu helper_atomic_fetch_smaxq_le_mmu_mipsel +#define helper_atomic_fetch_smaxq_le helper_atomic_fetch_smaxq_le_mipsel +#define helper_atomic_fetch_smaxw_le_mmu helper_atomic_fetch_smaxw_le_mmu_mipsel +#define helper_atomic_fetch_smaxw_le helper_atomic_fetch_smaxw_le_mipsel +#define helper_atomic_fetch_sminl_le_mmu helper_atomic_fetch_sminl_le_mmu_mipsel +#define helper_atomic_fetch_sminl_le helper_atomic_fetch_sminl_le_mipsel +#define helper_atomic_fetch_sminq_le_mmu helper_atomic_fetch_sminq_le_mmu_mipsel +#define helper_atomic_fetch_sminq_le helper_atomic_fetch_sminq_le_mipsel +#define helper_atomic_fetch_sminw_le_mmu helper_atomic_fetch_sminw_le_mmu_mipsel +#define helper_atomic_fetch_sminw_le helper_atomic_fetch_sminw_le_mipsel +#define helper_atomic_fetch_umaxl_le_mmu helper_atomic_fetch_umaxl_le_mmu_mipsel +#define helper_atomic_fetch_umaxl_le helper_atomic_fetch_umaxl_le_mipsel +#define helper_atomic_fetch_umaxq_le_mmu helper_atomic_fetch_umaxq_le_mmu_mipsel +#define helper_atomic_fetch_umaxq_le helper_atomic_fetch_umaxq_le_mipsel +#define helper_atomic_fetch_umaxw_le_mmu helper_atomic_fetch_umaxw_le_mmu_mipsel +#define helper_atomic_fetch_umaxw_le helper_atomic_fetch_umaxw_le_mipsel +#define helper_atomic_fetch_uminl_le_mmu helper_atomic_fetch_uminl_le_mmu_mipsel +#define helper_atomic_fetch_uminl_le helper_atomic_fetch_uminl_le_mipsel +#define helper_atomic_fetch_uminq_le_mmu helper_atomic_fetch_uminq_le_mmu_mipsel +#define helper_atomic_fetch_uminq_le helper_atomic_fetch_uminq_le_mipsel +#define helper_atomic_fetch_uminw_le_mmu helper_atomic_fetch_uminw_le_mmu_mipsel +#define helper_atomic_fetch_uminw_le helper_atomic_fetch_uminw_le_mipsel #define helper_atomic_fetch_xorb helper_atomic_fetch_xorb_mipsel #define helper_atomic_fetch_xorb_mmu helper_atomic_fetch_xorb_mmu_mipsel #define helper_atomic_fetch_xorl_be helper_atomic_fetch_xorl_be_mipsel @@ -885,10 +941,66 @@ #define helper_atomic_or_fetchw_be_mmu helper_atomic_or_fetchw_be_mmu_mipsel #define helper_atomic_or_fetchw_le helper_atomic_or_fetchw_le_mipsel #define helper_atomic_or_fetchw_le_mmu helper_atomic_or_fetchw_le_mmu_mipsel +#define helper_atomic_smax_fetchb_mmu helper_atomic_smax_fetchb_mmu_mipsel +#define helper_atomic_smax_fetchb helper_atomic_smax_fetchb_mipsel +#define helper_atomic_smax_fetchl_be_mmu helper_atomic_smax_fetchl_be_mmu_mipsel +#define helper_atomic_smax_fetchl_be helper_atomic_smax_fetchl_be_mipsel +#define helper_atomic_smax_fetchq_be_mmu helper_atomic_smax_fetchq_be_mmu_mipsel +#define helper_atomic_smax_fetchq_be helper_atomic_smax_fetchq_be_mipsel +#define helper_atomic_smax_fetchw_be_mmu helper_atomic_smax_fetchw_be_mmu_mipsel +#define helper_atomic_smax_fetchw_be helper_atomic_smax_fetchw_be_mipsel +#define helper_atomic_smin_fetchb_mmu helper_atomic_smin_fetchb_mmu_mipsel +#define helper_atomic_smin_fetchb helper_atomic_smin_fetchb_mipsel +#define helper_atomic_smin_fetchl_be_mmu helper_atomic_smin_fetchl_be_mmu_mipsel +#define helper_atomic_smin_fetchl_be helper_atomic_smin_fetchl_be_mipsel +#define helper_atomic_smin_fetchq_be_mmu helper_atomic_smin_fetchq_be_mmu_mipsel +#define helper_atomic_smin_fetchq_be helper_atomic_smin_fetchq_be_mipsel +#define helper_atomic_smin_fetchw_be_mmu helper_atomic_smin_fetchw_be_mmu_mipsel +#define helper_atomic_smin_fetchw_be helper_atomic_smin_fetchw_be_mipsel +#define helper_atomic_smax_fetchl_le_mmu helper_atomic_smax_fetchl_le_mmu_mipsel +#define helper_atomic_smax_fetchl_le helper_atomic_smax_fetchl_le_mipsel +#define helper_atomic_smax_fetchq_le_mmu helper_atomic_smax_fetchq_le_mmu_mipsel +#define helper_atomic_smax_fetchq_le helper_atomic_smax_fetchq_le_mipsel +#define helper_atomic_smax_fetchw_le_mmu helper_atomic_smax_fetchw_le_mmu_mipsel +#define helper_atomic_smax_fetchw_le helper_atomic_smax_fetchw_le_mipsel +#define helper_atomic_smin_fetchl_le_mmu helper_atomic_smin_fetchl_le_mmu_mipsel +#define helper_atomic_smin_fetchl_le helper_atomic_smin_fetchl_le_mipsel +#define helper_atomic_smin_fetchq_le_mmu helper_atomic_smin_fetchq_le_mmu_mipsel +#define helper_atomic_smin_fetchq_le helper_atomic_smin_fetchq_le_mipsel +#define helper_atomic_smin_fetchw_le_mmu helper_atomic_smin_fetchw_le_mmu_mipsel +#define helper_atomic_smin_fetchw_le helper_atomic_smin_fetchw_le_mipsel #define helper_atomic_sto_be helper_atomic_sto_be_mipsel #define helper_atomic_sto_be_mmu helper_atomic_sto_be_mmu_mipsel #define helper_atomic_sto_le helper_atomic_sto_le_mipsel #define helper_atomic_sto_le_mmu helper_atomic_sto_le_mmu_mipsel +#define helper_atomic_umax_fetchb_mmu helper_atomic_umax_fetchb_mmu_mipsel +#define helper_atomic_umax_fetchb helper_atomic_umax_fetchb_mipsel +#define helper_atomic_umax_fetchl_be_mmu helper_atomic_umax_fetchl_be_mmu_mipsel +#define helper_atomic_umax_fetchl_be helper_atomic_umax_fetchl_be_mipsel +#define helper_atomic_umax_fetchq_be_mmu helper_atomic_umax_fetchq_be_mmu_mipsel +#define helper_atomic_umax_fetchq_be helper_atomic_umax_fetchq_be_mipsel +#define helper_atomic_umax_fetchw_be_mmu helper_atomic_umax_fetchw_be_mmu_mipsel +#define helper_atomic_umax_fetchw_be helper_atomic_umax_fetchw_be_mipsel +#define helper_atomic_umin_fetchb_mmu helper_atomic_umin_fetchb_mmu_mipsel +#define helper_atomic_umin_fetchb helper_atomic_umin_fetchb_mipsel +#define helper_atomic_umin_fetchl_be_mmu helper_atomic_umin_fetchl_be_mmu_mipsel +#define helper_atomic_umin_fetchl_be helper_atomic_umin_fetchl_be_mipsel +#define helper_atomic_umin_fetchq_be_mmu helper_atomic_umin_fetchq_be_mmu_mipsel +#define helper_atomic_umin_fetchq_be helper_atomic_umin_fetchq_be_mipsel +#define helper_atomic_umin_fetchw_be_mmu helper_atomic_umin_fetchw_be_mmu_mipsel +#define helper_atomic_umin_fetchw_be helper_atomic_umin_fetchw_be_mipsel +#define helper_atomic_umax_fetchl_le_mmu helper_atomic_umax_fetchl_le_mmu_mipsel +#define helper_atomic_umax_fetchl_le helper_atomic_umax_fetchl_le_mipsel +#define helper_atomic_umax_fetchq_le_mmu helper_atomic_umax_fetchq_le_mmu_mipsel +#define helper_atomic_umax_fetchq_le helper_atomic_umax_fetchq_le_mipsel +#define helper_atomic_umax_fetchw_le_mmu helper_atomic_umax_fetchw_le_mmu_mipsel +#define helper_atomic_umax_fetchw_le helper_atomic_umax_fetchw_le_mipsel +#define helper_atomic_umin_fetchl_le_mmu helper_atomic_umin_fetchl_le_mmu_mipsel +#define helper_atomic_umin_fetchl_le helper_atomic_umin_fetchl_le_mipsel +#define helper_atomic_umin_fetchq_le_mmu helper_atomic_umin_fetchq_le_mmu_mipsel +#define helper_atomic_umin_fetchq_le helper_atomic_umin_fetchq_le_mipsel +#define helper_atomic_umin_fetchw_le_mmu helper_atomic_umin_fetchw_le_mmu_mipsel +#define helper_atomic_umin_fetchw_le helper_atomic_umin_fetchw_le_mipsel #define helper_atomic_xchgb helper_atomic_xchgb_mipsel #define helper_atomic_xchgb helper_atomic_xchgb_mipsel #define helper_atomic_xchgb_mmu helper_atomic_xchgb_mmu_mipsel @@ -2516,10 +2628,26 @@ #define tcg_gen_atomic_fetch_and_i64 tcg_gen_atomic_fetch_and_i64_mipsel #define tcg_gen_atomic_fetch_or_i32 tcg_gen_atomic_fetch_or_i32_mipsel #define tcg_gen_atomic_fetch_or_i64 tcg_gen_atomic_fetch_or_i64_mipsel +#define tcg_gen_atomic_fetch_smax_i32 tcg_gen_atomic_fetch_smax_i32_mipsel +#define tcg_gen_atomic_fetch_smax_i64 tcg_gen_atomic_fetch_smax_i64_mipsel +#define tcg_gen_atomic_fetch_smin_i32 tcg_gen_atomic_fetch_smin_i32_mipsel +#define tcg_gen_atomic_fetch_smin_i64 tcg_gen_atomic_fetch_smin_i64_mipsel +#define tcg_gen_atomic_fetch_umax_i32 tcg_gen_atomic_fetch_umax_i32_mipsel +#define tcg_gen_atomic_fetch_umax_i64 tcg_gen_atomic_fetch_umax_i64_mipsel +#define tcg_gen_atomic_fetch_umin_i32 tcg_gen_atomic_fetch_umin_i32_mipsel +#define tcg_gen_atomic_fetch_umin_i64 tcg_gen_atomic_fetch_umin_i64_mipsel #define tcg_gen_atomic_fetch_xor_i32 tcg_gen_atomic_fetch_xor_i32_mipsel #define tcg_gen_atomic_fetch_xor_i64 tcg_gen_atomic_fetch_xor_i64_mipsel #define tcg_gen_atomic_or_fetch_i32 tcg_gen_atomic_or_fetch_i32_mipsel #define tcg_gen_atomic_or_fetch_i64 tcg_gen_atomic_or_fetch_i64_mipsel +#define tcg_gen_atomic_smax_fetch_i32 tcg_gen_atomic_smax_fetch_i32_mipsel +#define tcg_gen_atomic_smax_fetch_i64 tcg_gen_atomic_smax_fetch_i64_mipsel +#define tcg_gen_atomic_smin_fetch_i32 tcg_gen_atomic_smin_fetch_i32_mipsel +#define tcg_gen_atomic_smin_fetch_i64 tcg_gen_atomic_smin_fetch_i64_mipsel +#define tcg_gen_atomic_umax_fetch_i32 tcg_gen_atomic_umax_fetch_i32_mipsel +#define tcg_gen_atomic_umax_fetch_i64 tcg_gen_atomic_umax_fetch_i64_mipsel +#define tcg_gen_atomic_umin_fetch_i32 tcg_gen_atomic_umin_fetch_i32_mipsel +#define tcg_gen_atomic_umin_fetch_i64 tcg_gen_atomic_umin_fetch_i64_mipsel #define tcg_gen_atomic_xchg_i32 tcg_gen_atomic_xchg_i32_mipsel #define tcg_gen_atomic_xchg_i64 tcg_gen_atomic_xchg_i64_mipsel #define tcg_gen_atomic_xor_fetch_i32 tcg_gen_atomic_xor_fetch_i32_mipsel diff --git a/qemu/powerpc.h b/qemu/powerpc.h index 85c913d1..c403b134 100644 --- a/qemu/powerpc.h +++ b/qemu/powerpc.h @@ -853,6 +853,62 @@ #define helper_atomic_fetch_orw_be_mmu helper_atomic_fetch_orw_be_mmu_powerpc #define helper_atomic_fetch_orw_le helper_atomic_fetch_orw_le_powerpc #define helper_atomic_fetch_orw_le_mmu helper_atomic_fetch_orw_le_mmu_powerpc +#define helper_atomic_fetch_smaxb_mmu helper_atomic_fetch_smaxb_mmu_powerpc +#define helper_atomic_fetch_smaxb helper_atomic_fetch_smaxb_powerpc +#define helper_atomic_fetch_smaxl_be_mmu helper_atomic_fetch_smaxl_be_mmu_powerpc +#define helper_atomic_fetch_smaxl_be helper_atomic_fetch_smaxl_be_powerpc +#define helper_atomic_fetch_smaxq_be_mmu helper_atomic_fetch_smaxq_be_mmu_powerpc +#define helper_atomic_fetch_smaxq_be helper_atomic_fetch_smaxq_be_powerpc +#define helper_atomic_fetch_smaxw_be_mmu helper_atomic_fetch_smaxw_be_mmu_powerpc +#define helper_atomic_fetch_smaxw_be helper_atomic_fetch_smaxw_be_powerpc +#define helper_atomic_fetch_sminb_mmu helper_atomic_fetch_sminb_mmu_powerpc +#define helper_atomic_fetch_sminb helper_atomic_fetch_sminb_powerpc +#define helper_atomic_fetch_sminl_be_mmu helper_atomic_fetch_sminl_be_mmu_powerpc +#define helper_atomic_fetch_sminl_be helper_atomic_fetch_sminl_be_powerpc +#define helper_atomic_fetch_sminq_be_mmu helper_atomic_fetch_sminq_be_mmu_powerpc +#define helper_atomic_fetch_sminq_be helper_atomic_fetch_sminq_be_powerpc +#define helper_atomic_fetch_sminw_be_mmu helper_atomic_fetch_sminw_be_mmu_powerpc +#define helper_atomic_fetch_sminw_be helper_atomic_fetch_sminw_be_powerpc +#define helper_atomic_fetch_umaxb_mmu helper_atomic_fetch_umaxb_mmu_powerpc +#define helper_atomic_fetch_umaxb helper_atomic_fetch_umaxb_powerpc +#define helper_atomic_fetch_umaxl_be_mmu helper_atomic_fetch_umaxl_be_mmu_powerpc +#define helper_atomic_fetch_umaxl_be helper_atomic_fetch_umaxl_be_powerpc +#define helper_atomic_fetch_umaxq_be_mmu helper_atomic_fetch_umaxq_be_mmu_powerpc +#define helper_atomic_fetch_umaxq_be helper_atomic_fetch_umaxq_be_powerpc +#define helper_atomic_fetch_umaxw_be_mmu helper_atomic_fetch_umaxw_be_mmu_powerpc +#define helper_atomic_fetch_umaxw_be helper_atomic_fetch_umaxw_be_powerpc +#define helper_atomic_fetch_uminb_mmu helper_atomic_fetch_uminb_mmu_powerpc +#define helper_atomic_fetch_uminb helper_atomic_fetch_uminb_powerpc +#define helper_atomic_fetch_uminl_be_mmu helper_atomic_fetch_uminl_be_mmu_powerpc +#define helper_atomic_fetch_uminl_be helper_atomic_fetch_uminl_be_powerpc +#define helper_atomic_fetch_uminq_be_mmu helper_atomic_fetch_uminq_be_mmu_powerpc +#define helper_atomic_fetch_uminq_be helper_atomic_fetch_uminq_be_powerpc +#define helper_atomic_fetch_uminw_be_mmu helper_atomic_fetch_uminw_be_mmu_powerpc +#define helper_atomic_fetch_uminw_be helper_atomic_fetch_uminw_be_powerpc +#define helper_atomic_fetch_smaxl_le_mmu helper_atomic_fetch_smaxl_le_mmu_powerpc +#define helper_atomic_fetch_smaxl_le helper_atomic_fetch_smaxl_le_powerpc +#define helper_atomic_fetch_smaxq_le_mmu helper_atomic_fetch_smaxq_le_mmu_powerpc +#define helper_atomic_fetch_smaxq_le helper_atomic_fetch_smaxq_le_powerpc +#define helper_atomic_fetch_smaxw_le_mmu helper_atomic_fetch_smaxw_le_mmu_powerpc +#define helper_atomic_fetch_smaxw_le helper_atomic_fetch_smaxw_le_powerpc +#define helper_atomic_fetch_sminl_le_mmu helper_atomic_fetch_sminl_le_mmu_powerpc +#define helper_atomic_fetch_sminl_le helper_atomic_fetch_sminl_le_powerpc +#define helper_atomic_fetch_sminq_le_mmu helper_atomic_fetch_sminq_le_mmu_powerpc +#define helper_atomic_fetch_sminq_le helper_atomic_fetch_sminq_le_powerpc +#define helper_atomic_fetch_sminw_le_mmu helper_atomic_fetch_sminw_le_mmu_powerpc +#define helper_atomic_fetch_sminw_le helper_atomic_fetch_sminw_le_powerpc +#define helper_atomic_fetch_umaxl_le_mmu helper_atomic_fetch_umaxl_le_mmu_powerpc +#define helper_atomic_fetch_umaxl_le helper_atomic_fetch_umaxl_le_powerpc +#define helper_atomic_fetch_umaxq_le_mmu helper_atomic_fetch_umaxq_le_mmu_powerpc +#define helper_atomic_fetch_umaxq_le helper_atomic_fetch_umaxq_le_powerpc +#define helper_atomic_fetch_umaxw_le_mmu helper_atomic_fetch_umaxw_le_mmu_powerpc +#define helper_atomic_fetch_umaxw_le helper_atomic_fetch_umaxw_le_powerpc +#define helper_atomic_fetch_uminl_le_mmu helper_atomic_fetch_uminl_le_mmu_powerpc +#define helper_atomic_fetch_uminl_le helper_atomic_fetch_uminl_le_powerpc +#define helper_atomic_fetch_uminq_le_mmu helper_atomic_fetch_uminq_le_mmu_powerpc +#define helper_atomic_fetch_uminq_le helper_atomic_fetch_uminq_le_powerpc +#define helper_atomic_fetch_uminw_le_mmu helper_atomic_fetch_uminw_le_mmu_powerpc +#define helper_atomic_fetch_uminw_le helper_atomic_fetch_uminw_le_powerpc #define helper_atomic_fetch_xorb helper_atomic_fetch_xorb_powerpc #define helper_atomic_fetch_xorb_mmu helper_atomic_fetch_xorb_mmu_powerpc #define helper_atomic_fetch_xorl_be helper_atomic_fetch_xorl_be_powerpc @@ -885,10 +941,66 @@ #define helper_atomic_or_fetchw_be_mmu helper_atomic_or_fetchw_be_mmu_powerpc #define helper_atomic_or_fetchw_le helper_atomic_or_fetchw_le_powerpc #define helper_atomic_or_fetchw_le_mmu helper_atomic_or_fetchw_le_mmu_powerpc +#define helper_atomic_smax_fetchb_mmu helper_atomic_smax_fetchb_mmu_powerpc +#define helper_atomic_smax_fetchb helper_atomic_smax_fetchb_powerpc +#define helper_atomic_smax_fetchl_be_mmu helper_atomic_smax_fetchl_be_mmu_powerpc +#define helper_atomic_smax_fetchl_be helper_atomic_smax_fetchl_be_powerpc +#define helper_atomic_smax_fetchq_be_mmu helper_atomic_smax_fetchq_be_mmu_powerpc +#define helper_atomic_smax_fetchq_be helper_atomic_smax_fetchq_be_powerpc +#define helper_atomic_smax_fetchw_be_mmu helper_atomic_smax_fetchw_be_mmu_powerpc +#define helper_atomic_smax_fetchw_be helper_atomic_smax_fetchw_be_powerpc +#define helper_atomic_smin_fetchb_mmu helper_atomic_smin_fetchb_mmu_powerpc +#define helper_atomic_smin_fetchb helper_atomic_smin_fetchb_powerpc +#define helper_atomic_smin_fetchl_be_mmu helper_atomic_smin_fetchl_be_mmu_powerpc +#define helper_atomic_smin_fetchl_be helper_atomic_smin_fetchl_be_powerpc +#define helper_atomic_smin_fetchq_be_mmu helper_atomic_smin_fetchq_be_mmu_powerpc +#define helper_atomic_smin_fetchq_be helper_atomic_smin_fetchq_be_powerpc +#define helper_atomic_smin_fetchw_be_mmu helper_atomic_smin_fetchw_be_mmu_powerpc +#define helper_atomic_smin_fetchw_be helper_atomic_smin_fetchw_be_powerpc +#define helper_atomic_smax_fetchl_le_mmu helper_atomic_smax_fetchl_le_mmu_powerpc +#define helper_atomic_smax_fetchl_le helper_atomic_smax_fetchl_le_powerpc +#define helper_atomic_smax_fetchq_le_mmu helper_atomic_smax_fetchq_le_mmu_powerpc +#define helper_atomic_smax_fetchq_le helper_atomic_smax_fetchq_le_powerpc +#define helper_atomic_smax_fetchw_le_mmu helper_atomic_smax_fetchw_le_mmu_powerpc +#define helper_atomic_smax_fetchw_le helper_atomic_smax_fetchw_le_powerpc +#define helper_atomic_smin_fetchl_le_mmu helper_atomic_smin_fetchl_le_mmu_powerpc +#define helper_atomic_smin_fetchl_le helper_atomic_smin_fetchl_le_powerpc +#define helper_atomic_smin_fetchq_le_mmu helper_atomic_smin_fetchq_le_mmu_powerpc +#define helper_atomic_smin_fetchq_le helper_atomic_smin_fetchq_le_powerpc +#define helper_atomic_smin_fetchw_le_mmu helper_atomic_smin_fetchw_le_mmu_powerpc +#define helper_atomic_smin_fetchw_le helper_atomic_smin_fetchw_le_powerpc #define helper_atomic_sto_be helper_atomic_sto_be_powerpc #define helper_atomic_sto_be_mmu helper_atomic_sto_be_mmu_powerpc #define helper_atomic_sto_le helper_atomic_sto_le_powerpc #define helper_atomic_sto_le_mmu helper_atomic_sto_le_mmu_powerpc +#define helper_atomic_umax_fetchb_mmu helper_atomic_umax_fetchb_mmu_powerpc +#define helper_atomic_umax_fetchb helper_atomic_umax_fetchb_powerpc +#define helper_atomic_umax_fetchl_be_mmu helper_atomic_umax_fetchl_be_mmu_powerpc +#define helper_atomic_umax_fetchl_be helper_atomic_umax_fetchl_be_powerpc +#define helper_atomic_umax_fetchq_be_mmu helper_atomic_umax_fetchq_be_mmu_powerpc +#define helper_atomic_umax_fetchq_be helper_atomic_umax_fetchq_be_powerpc +#define helper_atomic_umax_fetchw_be_mmu helper_atomic_umax_fetchw_be_mmu_powerpc +#define helper_atomic_umax_fetchw_be helper_atomic_umax_fetchw_be_powerpc +#define helper_atomic_umin_fetchb_mmu helper_atomic_umin_fetchb_mmu_powerpc +#define helper_atomic_umin_fetchb helper_atomic_umin_fetchb_powerpc +#define helper_atomic_umin_fetchl_be_mmu helper_atomic_umin_fetchl_be_mmu_powerpc +#define helper_atomic_umin_fetchl_be helper_atomic_umin_fetchl_be_powerpc +#define helper_atomic_umin_fetchq_be_mmu helper_atomic_umin_fetchq_be_mmu_powerpc +#define helper_atomic_umin_fetchq_be helper_atomic_umin_fetchq_be_powerpc +#define helper_atomic_umin_fetchw_be_mmu helper_atomic_umin_fetchw_be_mmu_powerpc +#define helper_atomic_umin_fetchw_be helper_atomic_umin_fetchw_be_powerpc +#define helper_atomic_umax_fetchl_le_mmu helper_atomic_umax_fetchl_le_mmu_powerpc +#define helper_atomic_umax_fetchl_le helper_atomic_umax_fetchl_le_powerpc +#define helper_atomic_umax_fetchq_le_mmu helper_atomic_umax_fetchq_le_mmu_powerpc +#define helper_atomic_umax_fetchq_le helper_atomic_umax_fetchq_le_powerpc +#define helper_atomic_umax_fetchw_le_mmu helper_atomic_umax_fetchw_le_mmu_powerpc +#define helper_atomic_umax_fetchw_le helper_atomic_umax_fetchw_le_powerpc +#define helper_atomic_umin_fetchl_le_mmu helper_atomic_umin_fetchl_le_mmu_powerpc +#define helper_atomic_umin_fetchl_le helper_atomic_umin_fetchl_le_powerpc +#define helper_atomic_umin_fetchq_le_mmu helper_atomic_umin_fetchq_le_mmu_powerpc +#define helper_atomic_umin_fetchq_le helper_atomic_umin_fetchq_le_powerpc +#define helper_atomic_umin_fetchw_le_mmu helper_atomic_umin_fetchw_le_mmu_powerpc +#define helper_atomic_umin_fetchw_le helper_atomic_umin_fetchw_le_powerpc #define helper_atomic_xchgb helper_atomic_xchgb_powerpc #define helper_atomic_xchgb helper_atomic_xchgb_powerpc #define helper_atomic_xchgb_mmu helper_atomic_xchgb_mmu_powerpc @@ -2516,10 +2628,26 @@ #define tcg_gen_atomic_fetch_and_i64 tcg_gen_atomic_fetch_and_i64_powerpc #define tcg_gen_atomic_fetch_or_i32 tcg_gen_atomic_fetch_or_i32_powerpc #define tcg_gen_atomic_fetch_or_i64 tcg_gen_atomic_fetch_or_i64_powerpc +#define tcg_gen_atomic_fetch_smax_i32 tcg_gen_atomic_fetch_smax_i32_powerpc +#define tcg_gen_atomic_fetch_smax_i64 tcg_gen_atomic_fetch_smax_i64_powerpc +#define tcg_gen_atomic_fetch_smin_i32 tcg_gen_atomic_fetch_smin_i32_powerpc +#define tcg_gen_atomic_fetch_smin_i64 tcg_gen_atomic_fetch_smin_i64_powerpc +#define tcg_gen_atomic_fetch_umax_i32 tcg_gen_atomic_fetch_umax_i32_powerpc +#define tcg_gen_atomic_fetch_umax_i64 tcg_gen_atomic_fetch_umax_i64_powerpc +#define tcg_gen_atomic_fetch_umin_i32 tcg_gen_atomic_fetch_umin_i32_powerpc +#define tcg_gen_atomic_fetch_umin_i64 tcg_gen_atomic_fetch_umin_i64_powerpc #define tcg_gen_atomic_fetch_xor_i32 tcg_gen_atomic_fetch_xor_i32_powerpc #define tcg_gen_atomic_fetch_xor_i64 tcg_gen_atomic_fetch_xor_i64_powerpc #define tcg_gen_atomic_or_fetch_i32 tcg_gen_atomic_or_fetch_i32_powerpc #define tcg_gen_atomic_or_fetch_i64 tcg_gen_atomic_or_fetch_i64_powerpc +#define tcg_gen_atomic_smax_fetch_i32 tcg_gen_atomic_smax_fetch_i32_powerpc +#define tcg_gen_atomic_smax_fetch_i64 tcg_gen_atomic_smax_fetch_i64_powerpc +#define tcg_gen_atomic_smin_fetch_i32 tcg_gen_atomic_smin_fetch_i32_powerpc +#define tcg_gen_atomic_smin_fetch_i64 tcg_gen_atomic_smin_fetch_i64_powerpc +#define tcg_gen_atomic_umax_fetch_i32 tcg_gen_atomic_umax_fetch_i32_powerpc +#define tcg_gen_atomic_umax_fetch_i64 tcg_gen_atomic_umax_fetch_i64_powerpc +#define tcg_gen_atomic_umin_fetch_i32 tcg_gen_atomic_umin_fetch_i32_powerpc +#define tcg_gen_atomic_umin_fetch_i64 tcg_gen_atomic_umin_fetch_i64_powerpc #define tcg_gen_atomic_xchg_i32 tcg_gen_atomic_xchg_i32_powerpc #define tcg_gen_atomic_xchg_i64 tcg_gen_atomic_xchg_i64_powerpc #define tcg_gen_atomic_xor_fetch_i32 tcg_gen_atomic_xor_fetch_i32_powerpc diff --git a/qemu/sparc.h b/qemu/sparc.h index 62ff5d00..f944c375 100644 --- a/qemu/sparc.h +++ b/qemu/sparc.h @@ -853,6 +853,62 @@ #define helper_atomic_fetch_orw_be_mmu helper_atomic_fetch_orw_be_mmu_sparc #define helper_atomic_fetch_orw_le helper_atomic_fetch_orw_le_sparc #define helper_atomic_fetch_orw_le_mmu helper_atomic_fetch_orw_le_mmu_sparc +#define helper_atomic_fetch_smaxb_mmu helper_atomic_fetch_smaxb_mmu_sparc +#define helper_atomic_fetch_smaxb helper_atomic_fetch_smaxb_sparc +#define helper_atomic_fetch_smaxl_be_mmu helper_atomic_fetch_smaxl_be_mmu_sparc +#define helper_atomic_fetch_smaxl_be helper_atomic_fetch_smaxl_be_sparc +#define helper_atomic_fetch_smaxq_be_mmu helper_atomic_fetch_smaxq_be_mmu_sparc +#define helper_atomic_fetch_smaxq_be helper_atomic_fetch_smaxq_be_sparc +#define helper_atomic_fetch_smaxw_be_mmu helper_atomic_fetch_smaxw_be_mmu_sparc +#define helper_atomic_fetch_smaxw_be helper_atomic_fetch_smaxw_be_sparc +#define helper_atomic_fetch_sminb_mmu helper_atomic_fetch_sminb_mmu_sparc +#define helper_atomic_fetch_sminb helper_atomic_fetch_sminb_sparc +#define helper_atomic_fetch_sminl_be_mmu helper_atomic_fetch_sminl_be_mmu_sparc +#define helper_atomic_fetch_sminl_be helper_atomic_fetch_sminl_be_sparc +#define helper_atomic_fetch_sminq_be_mmu helper_atomic_fetch_sminq_be_mmu_sparc +#define helper_atomic_fetch_sminq_be helper_atomic_fetch_sminq_be_sparc +#define helper_atomic_fetch_sminw_be_mmu helper_atomic_fetch_sminw_be_mmu_sparc +#define helper_atomic_fetch_sminw_be helper_atomic_fetch_sminw_be_sparc +#define helper_atomic_fetch_umaxb_mmu helper_atomic_fetch_umaxb_mmu_sparc +#define helper_atomic_fetch_umaxb helper_atomic_fetch_umaxb_sparc +#define helper_atomic_fetch_umaxl_be_mmu helper_atomic_fetch_umaxl_be_mmu_sparc +#define helper_atomic_fetch_umaxl_be helper_atomic_fetch_umaxl_be_sparc +#define helper_atomic_fetch_umaxq_be_mmu helper_atomic_fetch_umaxq_be_mmu_sparc +#define helper_atomic_fetch_umaxq_be helper_atomic_fetch_umaxq_be_sparc +#define helper_atomic_fetch_umaxw_be_mmu helper_atomic_fetch_umaxw_be_mmu_sparc +#define helper_atomic_fetch_umaxw_be helper_atomic_fetch_umaxw_be_sparc +#define helper_atomic_fetch_uminb_mmu helper_atomic_fetch_uminb_mmu_sparc +#define helper_atomic_fetch_uminb helper_atomic_fetch_uminb_sparc +#define helper_atomic_fetch_uminl_be_mmu helper_atomic_fetch_uminl_be_mmu_sparc +#define helper_atomic_fetch_uminl_be helper_atomic_fetch_uminl_be_sparc +#define helper_atomic_fetch_uminq_be_mmu helper_atomic_fetch_uminq_be_mmu_sparc +#define helper_atomic_fetch_uminq_be helper_atomic_fetch_uminq_be_sparc +#define helper_atomic_fetch_uminw_be_mmu helper_atomic_fetch_uminw_be_mmu_sparc +#define helper_atomic_fetch_uminw_be helper_atomic_fetch_uminw_be_sparc +#define helper_atomic_fetch_smaxl_le_mmu helper_atomic_fetch_smaxl_le_mmu_sparc +#define helper_atomic_fetch_smaxl_le helper_atomic_fetch_smaxl_le_sparc +#define helper_atomic_fetch_smaxq_le_mmu helper_atomic_fetch_smaxq_le_mmu_sparc +#define helper_atomic_fetch_smaxq_le helper_atomic_fetch_smaxq_le_sparc +#define helper_atomic_fetch_smaxw_le_mmu helper_atomic_fetch_smaxw_le_mmu_sparc +#define helper_atomic_fetch_smaxw_le helper_atomic_fetch_smaxw_le_sparc +#define helper_atomic_fetch_sminl_le_mmu helper_atomic_fetch_sminl_le_mmu_sparc +#define helper_atomic_fetch_sminl_le helper_atomic_fetch_sminl_le_sparc +#define helper_atomic_fetch_sminq_le_mmu helper_atomic_fetch_sminq_le_mmu_sparc +#define helper_atomic_fetch_sminq_le helper_atomic_fetch_sminq_le_sparc +#define helper_atomic_fetch_sminw_le_mmu helper_atomic_fetch_sminw_le_mmu_sparc +#define helper_atomic_fetch_sminw_le helper_atomic_fetch_sminw_le_sparc +#define helper_atomic_fetch_umaxl_le_mmu helper_atomic_fetch_umaxl_le_mmu_sparc +#define helper_atomic_fetch_umaxl_le helper_atomic_fetch_umaxl_le_sparc +#define helper_atomic_fetch_umaxq_le_mmu helper_atomic_fetch_umaxq_le_mmu_sparc +#define helper_atomic_fetch_umaxq_le helper_atomic_fetch_umaxq_le_sparc +#define helper_atomic_fetch_umaxw_le_mmu helper_atomic_fetch_umaxw_le_mmu_sparc +#define helper_atomic_fetch_umaxw_le helper_atomic_fetch_umaxw_le_sparc +#define helper_atomic_fetch_uminl_le_mmu helper_atomic_fetch_uminl_le_mmu_sparc +#define helper_atomic_fetch_uminl_le helper_atomic_fetch_uminl_le_sparc +#define helper_atomic_fetch_uminq_le_mmu helper_atomic_fetch_uminq_le_mmu_sparc +#define helper_atomic_fetch_uminq_le helper_atomic_fetch_uminq_le_sparc +#define helper_atomic_fetch_uminw_le_mmu helper_atomic_fetch_uminw_le_mmu_sparc +#define helper_atomic_fetch_uminw_le helper_atomic_fetch_uminw_le_sparc #define helper_atomic_fetch_xorb helper_atomic_fetch_xorb_sparc #define helper_atomic_fetch_xorb_mmu helper_atomic_fetch_xorb_mmu_sparc #define helper_atomic_fetch_xorl_be helper_atomic_fetch_xorl_be_sparc @@ -885,10 +941,66 @@ #define helper_atomic_or_fetchw_be_mmu helper_atomic_or_fetchw_be_mmu_sparc #define helper_atomic_or_fetchw_le helper_atomic_or_fetchw_le_sparc #define helper_atomic_or_fetchw_le_mmu helper_atomic_or_fetchw_le_mmu_sparc +#define helper_atomic_smax_fetchb_mmu helper_atomic_smax_fetchb_mmu_sparc +#define helper_atomic_smax_fetchb helper_atomic_smax_fetchb_sparc +#define helper_atomic_smax_fetchl_be_mmu helper_atomic_smax_fetchl_be_mmu_sparc +#define helper_atomic_smax_fetchl_be helper_atomic_smax_fetchl_be_sparc +#define helper_atomic_smax_fetchq_be_mmu helper_atomic_smax_fetchq_be_mmu_sparc +#define helper_atomic_smax_fetchq_be helper_atomic_smax_fetchq_be_sparc +#define helper_atomic_smax_fetchw_be_mmu helper_atomic_smax_fetchw_be_mmu_sparc +#define helper_atomic_smax_fetchw_be helper_atomic_smax_fetchw_be_sparc +#define helper_atomic_smin_fetchb_mmu helper_atomic_smin_fetchb_mmu_sparc +#define helper_atomic_smin_fetchb helper_atomic_smin_fetchb_sparc +#define helper_atomic_smin_fetchl_be_mmu helper_atomic_smin_fetchl_be_mmu_sparc +#define helper_atomic_smin_fetchl_be helper_atomic_smin_fetchl_be_sparc +#define helper_atomic_smin_fetchq_be_mmu helper_atomic_smin_fetchq_be_mmu_sparc +#define helper_atomic_smin_fetchq_be helper_atomic_smin_fetchq_be_sparc +#define helper_atomic_smin_fetchw_be_mmu helper_atomic_smin_fetchw_be_mmu_sparc +#define helper_atomic_smin_fetchw_be helper_atomic_smin_fetchw_be_sparc +#define helper_atomic_smax_fetchl_le_mmu helper_atomic_smax_fetchl_le_mmu_sparc +#define helper_atomic_smax_fetchl_le helper_atomic_smax_fetchl_le_sparc +#define helper_atomic_smax_fetchq_le_mmu helper_atomic_smax_fetchq_le_mmu_sparc +#define helper_atomic_smax_fetchq_le helper_atomic_smax_fetchq_le_sparc +#define helper_atomic_smax_fetchw_le_mmu helper_atomic_smax_fetchw_le_mmu_sparc +#define helper_atomic_smax_fetchw_le helper_atomic_smax_fetchw_le_sparc +#define helper_atomic_smin_fetchl_le_mmu helper_atomic_smin_fetchl_le_mmu_sparc +#define helper_atomic_smin_fetchl_le helper_atomic_smin_fetchl_le_sparc +#define helper_atomic_smin_fetchq_le_mmu helper_atomic_smin_fetchq_le_mmu_sparc +#define helper_atomic_smin_fetchq_le helper_atomic_smin_fetchq_le_sparc +#define helper_atomic_smin_fetchw_le_mmu helper_atomic_smin_fetchw_le_mmu_sparc +#define helper_atomic_smin_fetchw_le helper_atomic_smin_fetchw_le_sparc #define helper_atomic_sto_be helper_atomic_sto_be_sparc #define helper_atomic_sto_be_mmu helper_atomic_sto_be_mmu_sparc #define helper_atomic_sto_le helper_atomic_sto_le_sparc #define helper_atomic_sto_le_mmu helper_atomic_sto_le_mmu_sparc +#define helper_atomic_umax_fetchb_mmu helper_atomic_umax_fetchb_mmu_sparc +#define helper_atomic_umax_fetchb helper_atomic_umax_fetchb_sparc +#define helper_atomic_umax_fetchl_be_mmu helper_atomic_umax_fetchl_be_mmu_sparc +#define helper_atomic_umax_fetchl_be helper_atomic_umax_fetchl_be_sparc +#define helper_atomic_umax_fetchq_be_mmu helper_atomic_umax_fetchq_be_mmu_sparc +#define helper_atomic_umax_fetchq_be helper_atomic_umax_fetchq_be_sparc +#define helper_atomic_umax_fetchw_be_mmu helper_atomic_umax_fetchw_be_mmu_sparc +#define helper_atomic_umax_fetchw_be helper_atomic_umax_fetchw_be_sparc +#define helper_atomic_umin_fetchb_mmu helper_atomic_umin_fetchb_mmu_sparc +#define helper_atomic_umin_fetchb helper_atomic_umin_fetchb_sparc +#define helper_atomic_umin_fetchl_be_mmu helper_atomic_umin_fetchl_be_mmu_sparc +#define helper_atomic_umin_fetchl_be helper_atomic_umin_fetchl_be_sparc +#define helper_atomic_umin_fetchq_be_mmu helper_atomic_umin_fetchq_be_mmu_sparc +#define helper_atomic_umin_fetchq_be helper_atomic_umin_fetchq_be_sparc +#define helper_atomic_umin_fetchw_be_mmu helper_atomic_umin_fetchw_be_mmu_sparc +#define helper_atomic_umin_fetchw_be helper_atomic_umin_fetchw_be_sparc +#define helper_atomic_umax_fetchl_le_mmu helper_atomic_umax_fetchl_le_mmu_sparc +#define helper_atomic_umax_fetchl_le helper_atomic_umax_fetchl_le_sparc +#define helper_atomic_umax_fetchq_le_mmu helper_atomic_umax_fetchq_le_mmu_sparc +#define helper_atomic_umax_fetchq_le helper_atomic_umax_fetchq_le_sparc +#define helper_atomic_umax_fetchw_le_mmu helper_atomic_umax_fetchw_le_mmu_sparc +#define helper_atomic_umax_fetchw_le helper_atomic_umax_fetchw_le_sparc +#define helper_atomic_umin_fetchl_le_mmu helper_atomic_umin_fetchl_le_mmu_sparc +#define helper_atomic_umin_fetchl_le helper_atomic_umin_fetchl_le_sparc +#define helper_atomic_umin_fetchq_le_mmu helper_atomic_umin_fetchq_le_mmu_sparc +#define helper_atomic_umin_fetchq_le helper_atomic_umin_fetchq_le_sparc +#define helper_atomic_umin_fetchw_le_mmu helper_atomic_umin_fetchw_le_mmu_sparc +#define helper_atomic_umin_fetchw_le helper_atomic_umin_fetchw_le_sparc #define helper_atomic_xchgb helper_atomic_xchgb_sparc #define helper_atomic_xchgb helper_atomic_xchgb_sparc #define helper_atomic_xchgb_mmu helper_atomic_xchgb_mmu_sparc @@ -2516,10 +2628,26 @@ #define tcg_gen_atomic_fetch_and_i64 tcg_gen_atomic_fetch_and_i64_sparc #define tcg_gen_atomic_fetch_or_i32 tcg_gen_atomic_fetch_or_i32_sparc #define tcg_gen_atomic_fetch_or_i64 tcg_gen_atomic_fetch_or_i64_sparc +#define tcg_gen_atomic_fetch_smax_i32 tcg_gen_atomic_fetch_smax_i32_sparc +#define tcg_gen_atomic_fetch_smax_i64 tcg_gen_atomic_fetch_smax_i64_sparc +#define tcg_gen_atomic_fetch_smin_i32 tcg_gen_atomic_fetch_smin_i32_sparc +#define tcg_gen_atomic_fetch_smin_i64 tcg_gen_atomic_fetch_smin_i64_sparc +#define tcg_gen_atomic_fetch_umax_i32 tcg_gen_atomic_fetch_umax_i32_sparc +#define tcg_gen_atomic_fetch_umax_i64 tcg_gen_atomic_fetch_umax_i64_sparc +#define tcg_gen_atomic_fetch_umin_i32 tcg_gen_atomic_fetch_umin_i32_sparc +#define tcg_gen_atomic_fetch_umin_i64 tcg_gen_atomic_fetch_umin_i64_sparc #define tcg_gen_atomic_fetch_xor_i32 tcg_gen_atomic_fetch_xor_i32_sparc #define tcg_gen_atomic_fetch_xor_i64 tcg_gen_atomic_fetch_xor_i64_sparc #define tcg_gen_atomic_or_fetch_i32 tcg_gen_atomic_or_fetch_i32_sparc #define tcg_gen_atomic_or_fetch_i64 tcg_gen_atomic_or_fetch_i64_sparc +#define tcg_gen_atomic_smax_fetch_i32 tcg_gen_atomic_smax_fetch_i32_sparc +#define tcg_gen_atomic_smax_fetch_i64 tcg_gen_atomic_smax_fetch_i64_sparc +#define tcg_gen_atomic_smin_fetch_i32 tcg_gen_atomic_smin_fetch_i32_sparc +#define tcg_gen_atomic_smin_fetch_i64 tcg_gen_atomic_smin_fetch_i64_sparc +#define tcg_gen_atomic_umax_fetch_i32 tcg_gen_atomic_umax_fetch_i32_sparc +#define tcg_gen_atomic_umax_fetch_i64 tcg_gen_atomic_umax_fetch_i64_sparc +#define tcg_gen_atomic_umin_fetch_i32 tcg_gen_atomic_umin_fetch_i32_sparc +#define tcg_gen_atomic_umin_fetch_i64 tcg_gen_atomic_umin_fetch_i64_sparc #define tcg_gen_atomic_xchg_i32 tcg_gen_atomic_xchg_i32_sparc #define tcg_gen_atomic_xchg_i64 tcg_gen_atomic_xchg_i64_sparc #define tcg_gen_atomic_xor_fetch_i32 tcg_gen_atomic_xor_fetch_i32_sparc diff --git a/qemu/sparc64.h b/qemu/sparc64.h index ca99d380..922fe413 100644 --- a/qemu/sparc64.h +++ b/qemu/sparc64.h @@ -853,6 +853,62 @@ #define helper_atomic_fetch_orw_be_mmu helper_atomic_fetch_orw_be_mmu_sparc64 #define helper_atomic_fetch_orw_le helper_atomic_fetch_orw_le_sparc64 #define helper_atomic_fetch_orw_le_mmu helper_atomic_fetch_orw_le_mmu_sparc64 +#define helper_atomic_fetch_smaxb_mmu helper_atomic_fetch_smaxb_mmu_sparc64 +#define helper_atomic_fetch_smaxb helper_atomic_fetch_smaxb_sparc64 +#define helper_atomic_fetch_smaxl_be_mmu helper_atomic_fetch_smaxl_be_mmu_sparc64 +#define helper_atomic_fetch_smaxl_be helper_atomic_fetch_smaxl_be_sparc64 +#define helper_atomic_fetch_smaxq_be_mmu helper_atomic_fetch_smaxq_be_mmu_sparc64 +#define helper_atomic_fetch_smaxq_be helper_atomic_fetch_smaxq_be_sparc64 +#define helper_atomic_fetch_smaxw_be_mmu helper_atomic_fetch_smaxw_be_mmu_sparc64 +#define helper_atomic_fetch_smaxw_be helper_atomic_fetch_smaxw_be_sparc64 +#define helper_atomic_fetch_sminb_mmu helper_atomic_fetch_sminb_mmu_sparc64 +#define helper_atomic_fetch_sminb helper_atomic_fetch_sminb_sparc64 +#define helper_atomic_fetch_sminl_be_mmu helper_atomic_fetch_sminl_be_mmu_sparc64 +#define helper_atomic_fetch_sminl_be helper_atomic_fetch_sminl_be_sparc64 +#define helper_atomic_fetch_sminq_be_mmu helper_atomic_fetch_sminq_be_mmu_sparc64 +#define helper_atomic_fetch_sminq_be helper_atomic_fetch_sminq_be_sparc64 +#define helper_atomic_fetch_sminw_be_mmu helper_atomic_fetch_sminw_be_mmu_sparc64 +#define helper_atomic_fetch_sminw_be helper_atomic_fetch_sminw_be_sparc64 +#define helper_atomic_fetch_umaxb_mmu helper_atomic_fetch_umaxb_mmu_sparc64 +#define helper_atomic_fetch_umaxb helper_atomic_fetch_umaxb_sparc64 +#define helper_atomic_fetch_umaxl_be_mmu helper_atomic_fetch_umaxl_be_mmu_sparc64 +#define helper_atomic_fetch_umaxl_be helper_atomic_fetch_umaxl_be_sparc64 +#define helper_atomic_fetch_umaxq_be_mmu helper_atomic_fetch_umaxq_be_mmu_sparc64 +#define helper_atomic_fetch_umaxq_be helper_atomic_fetch_umaxq_be_sparc64 +#define helper_atomic_fetch_umaxw_be_mmu helper_atomic_fetch_umaxw_be_mmu_sparc64 +#define helper_atomic_fetch_umaxw_be helper_atomic_fetch_umaxw_be_sparc64 +#define helper_atomic_fetch_uminb_mmu helper_atomic_fetch_uminb_mmu_sparc64 +#define helper_atomic_fetch_uminb helper_atomic_fetch_uminb_sparc64 +#define helper_atomic_fetch_uminl_be_mmu helper_atomic_fetch_uminl_be_mmu_sparc64 +#define helper_atomic_fetch_uminl_be helper_atomic_fetch_uminl_be_sparc64 +#define helper_atomic_fetch_uminq_be_mmu helper_atomic_fetch_uminq_be_mmu_sparc64 +#define helper_atomic_fetch_uminq_be helper_atomic_fetch_uminq_be_sparc64 +#define helper_atomic_fetch_uminw_be_mmu helper_atomic_fetch_uminw_be_mmu_sparc64 +#define helper_atomic_fetch_uminw_be helper_atomic_fetch_uminw_be_sparc64 +#define helper_atomic_fetch_smaxl_le_mmu helper_atomic_fetch_smaxl_le_mmu_sparc64 +#define helper_atomic_fetch_smaxl_le helper_atomic_fetch_smaxl_le_sparc64 +#define helper_atomic_fetch_smaxq_le_mmu helper_atomic_fetch_smaxq_le_mmu_sparc64 +#define helper_atomic_fetch_smaxq_le helper_atomic_fetch_smaxq_le_sparc64 +#define helper_atomic_fetch_smaxw_le_mmu helper_atomic_fetch_smaxw_le_mmu_sparc64 +#define helper_atomic_fetch_smaxw_le helper_atomic_fetch_smaxw_le_sparc64 +#define helper_atomic_fetch_sminl_le_mmu helper_atomic_fetch_sminl_le_mmu_sparc64 +#define helper_atomic_fetch_sminl_le helper_atomic_fetch_sminl_le_sparc64 +#define helper_atomic_fetch_sminq_le_mmu helper_atomic_fetch_sminq_le_mmu_sparc64 +#define helper_atomic_fetch_sminq_le helper_atomic_fetch_sminq_le_sparc64 +#define helper_atomic_fetch_sminw_le_mmu helper_atomic_fetch_sminw_le_mmu_sparc64 +#define helper_atomic_fetch_sminw_le helper_atomic_fetch_sminw_le_sparc64 +#define helper_atomic_fetch_umaxl_le_mmu helper_atomic_fetch_umaxl_le_mmu_sparc64 +#define helper_atomic_fetch_umaxl_le helper_atomic_fetch_umaxl_le_sparc64 +#define helper_atomic_fetch_umaxq_le_mmu helper_atomic_fetch_umaxq_le_mmu_sparc64 +#define helper_atomic_fetch_umaxq_le helper_atomic_fetch_umaxq_le_sparc64 +#define helper_atomic_fetch_umaxw_le_mmu helper_atomic_fetch_umaxw_le_mmu_sparc64 +#define helper_atomic_fetch_umaxw_le helper_atomic_fetch_umaxw_le_sparc64 +#define helper_atomic_fetch_uminl_le_mmu helper_atomic_fetch_uminl_le_mmu_sparc64 +#define helper_atomic_fetch_uminl_le helper_atomic_fetch_uminl_le_sparc64 +#define helper_atomic_fetch_uminq_le_mmu helper_atomic_fetch_uminq_le_mmu_sparc64 +#define helper_atomic_fetch_uminq_le helper_atomic_fetch_uminq_le_sparc64 +#define helper_atomic_fetch_uminw_le_mmu helper_atomic_fetch_uminw_le_mmu_sparc64 +#define helper_atomic_fetch_uminw_le helper_atomic_fetch_uminw_le_sparc64 #define helper_atomic_fetch_xorb helper_atomic_fetch_xorb_sparc64 #define helper_atomic_fetch_xorb_mmu helper_atomic_fetch_xorb_mmu_sparc64 #define helper_atomic_fetch_xorl_be helper_atomic_fetch_xorl_be_sparc64 @@ -885,10 +941,66 @@ #define helper_atomic_or_fetchw_be_mmu helper_atomic_or_fetchw_be_mmu_sparc64 #define helper_atomic_or_fetchw_le helper_atomic_or_fetchw_le_sparc64 #define helper_atomic_or_fetchw_le_mmu helper_atomic_or_fetchw_le_mmu_sparc64 +#define helper_atomic_smax_fetchb_mmu helper_atomic_smax_fetchb_mmu_sparc64 +#define helper_atomic_smax_fetchb helper_atomic_smax_fetchb_sparc64 +#define helper_atomic_smax_fetchl_be_mmu helper_atomic_smax_fetchl_be_mmu_sparc64 +#define helper_atomic_smax_fetchl_be helper_atomic_smax_fetchl_be_sparc64 +#define helper_atomic_smax_fetchq_be_mmu helper_atomic_smax_fetchq_be_mmu_sparc64 +#define helper_atomic_smax_fetchq_be helper_atomic_smax_fetchq_be_sparc64 +#define helper_atomic_smax_fetchw_be_mmu helper_atomic_smax_fetchw_be_mmu_sparc64 +#define helper_atomic_smax_fetchw_be helper_atomic_smax_fetchw_be_sparc64 +#define helper_atomic_smin_fetchb_mmu helper_atomic_smin_fetchb_mmu_sparc64 +#define helper_atomic_smin_fetchb helper_atomic_smin_fetchb_sparc64 +#define helper_atomic_smin_fetchl_be_mmu helper_atomic_smin_fetchl_be_mmu_sparc64 +#define helper_atomic_smin_fetchl_be helper_atomic_smin_fetchl_be_sparc64 +#define helper_atomic_smin_fetchq_be_mmu helper_atomic_smin_fetchq_be_mmu_sparc64 +#define helper_atomic_smin_fetchq_be helper_atomic_smin_fetchq_be_sparc64 +#define helper_atomic_smin_fetchw_be_mmu helper_atomic_smin_fetchw_be_mmu_sparc64 +#define helper_atomic_smin_fetchw_be helper_atomic_smin_fetchw_be_sparc64 +#define helper_atomic_smax_fetchl_le_mmu helper_atomic_smax_fetchl_le_mmu_sparc64 +#define helper_atomic_smax_fetchl_le helper_atomic_smax_fetchl_le_sparc64 +#define helper_atomic_smax_fetchq_le_mmu helper_atomic_smax_fetchq_le_mmu_sparc64 +#define helper_atomic_smax_fetchq_le helper_atomic_smax_fetchq_le_sparc64 +#define helper_atomic_smax_fetchw_le_mmu helper_atomic_smax_fetchw_le_mmu_sparc64 +#define helper_atomic_smax_fetchw_le helper_atomic_smax_fetchw_le_sparc64 +#define helper_atomic_smin_fetchl_le_mmu helper_atomic_smin_fetchl_le_mmu_sparc64 +#define helper_atomic_smin_fetchl_le helper_atomic_smin_fetchl_le_sparc64 +#define helper_atomic_smin_fetchq_le_mmu helper_atomic_smin_fetchq_le_mmu_sparc64 +#define helper_atomic_smin_fetchq_le helper_atomic_smin_fetchq_le_sparc64 +#define helper_atomic_smin_fetchw_le_mmu helper_atomic_smin_fetchw_le_mmu_sparc64 +#define helper_atomic_smin_fetchw_le helper_atomic_smin_fetchw_le_sparc64 #define helper_atomic_sto_be helper_atomic_sto_be_sparc64 #define helper_atomic_sto_be_mmu helper_atomic_sto_be_mmu_sparc64 #define helper_atomic_sto_le helper_atomic_sto_le_sparc64 #define helper_atomic_sto_le_mmu helper_atomic_sto_le_mmu_sparc64 +#define helper_atomic_umax_fetchb_mmu helper_atomic_umax_fetchb_mmu_sparc64 +#define helper_atomic_umax_fetchb helper_atomic_umax_fetchb_sparc64 +#define helper_atomic_umax_fetchl_be_mmu helper_atomic_umax_fetchl_be_mmu_sparc64 +#define helper_atomic_umax_fetchl_be helper_atomic_umax_fetchl_be_sparc64 +#define helper_atomic_umax_fetchq_be_mmu helper_atomic_umax_fetchq_be_mmu_sparc64 +#define helper_atomic_umax_fetchq_be helper_atomic_umax_fetchq_be_sparc64 +#define helper_atomic_umax_fetchw_be_mmu helper_atomic_umax_fetchw_be_mmu_sparc64 +#define helper_atomic_umax_fetchw_be helper_atomic_umax_fetchw_be_sparc64 +#define helper_atomic_umin_fetchb_mmu helper_atomic_umin_fetchb_mmu_sparc64 +#define helper_atomic_umin_fetchb helper_atomic_umin_fetchb_sparc64 +#define helper_atomic_umin_fetchl_be_mmu helper_atomic_umin_fetchl_be_mmu_sparc64 +#define helper_atomic_umin_fetchl_be helper_atomic_umin_fetchl_be_sparc64 +#define helper_atomic_umin_fetchq_be_mmu helper_atomic_umin_fetchq_be_mmu_sparc64 +#define helper_atomic_umin_fetchq_be helper_atomic_umin_fetchq_be_sparc64 +#define helper_atomic_umin_fetchw_be_mmu helper_atomic_umin_fetchw_be_mmu_sparc64 +#define helper_atomic_umin_fetchw_be helper_atomic_umin_fetchw_be_sparc64 +#define helper_atomic_umax_fetchl_le_mmu helper_atomic_umax_fetchl_le_mmu_sparc64 +#define helper_atomic_umax_fetchl_le helper_atomic_umax_fetchl_le_sparc64 +#define helper_atomic_umax_fetchq_le_mmu helper_atomic_umax_fetchq_le_mmu_sparc64 +#define helper_atomic_umax_fetchq_le helper_atomic_umax_fetchq_le_sparc64 +#define helper_atomic_umax_fetchw_le_mmu helper_atomic_umax_fetchw_le_mmu_sparc64 +#define helper_atomic_umax_fetchw_le helper_atomic_umax_fetchw_le_sparc64 +#define helper_atomic_umin_fetchl_le_mmu helper_atomic_umin_fetchl_le_mmu_sparc64 +#define helper_atomic_umin_fetchl_le helper_atomic_umin_fetchl_le_sparc64 +#define helper_atomic_umin_fetchq_le_mmu helper_atomic_umin_fetchq_le_mmu_sparc64 +#define helper_atomic_umin_fetchq_le helper_atomic_umin_fetchq_le_sparc64 +#define helper_atomic_umin_fetchw_le_mmu helper_atomic_umin_fetchw_le_mmu_sparc64 +#define helper_atomic_umin_fetchw_le helper_atomic_umin_fetchw_le_sparc64 #define helper_atomic_xchgb helper_atomic_xchgb_sparc64 #define helper_atomic_xchgb helper_atomic_xchgb_sparc64 #define helper_atomic_xchgb_mmu helper_atomic_xchgb_mmu_sparc64 @@ -2516,10 +2628,26 @@ #define tcg_gen_atomic_fetch_and_i64 tcg_gen_atomic_fetch_and_i64_sparc64 #define tcg_gen_atomic_fetch_or_i32 tcg_gen_atomic_fetch_or_i32_sparc64 #define tcg_gen_atomic_fetch_or_i64 tcg_gen_atomic_fetch_or_i64_sparc64 +#define tcg_gen_atomic_fetch_smax_i32 tcg_gen_atomic_fetch_smax_i32_sparc64 +#define tcg_gen_atomic_fetch_smax_i64 tcg_gen_atomic_fetch_smax_i64_sparc64 +#define tcg_gen_atomic_fetch_smin_i32 tcg_gen_atomic_fetch_smin_i32_sparc64 +#define tcg_gen_atomic_fetch_smin_i64 tcg_gen_atomic_fetch_smin_i64_sparc64 +#define tcg_gen_atomic_fetch_umax_i32 tcg_gen_atomic_fetch_umax_i32_sparc64 +#define tcg_gen_atomic_fetch_umax_i64 tcg_gen_atomic_fetch_umax_i64_sparc64 +#define tcg_gen_atomic_fetch_umin_i32 tcg_gen_atomic_fetch_umin_i32_sparc64 +#define tcg_gen_atomic_fetch_umin_i64 tcg_gen_atomic_fetch_umin_i64_sparc64 #define tcg_gen_atomic_fetch_xor_i32 tcg_gen_atomic_fetch_xor_i32_sparc64 #define tcg_gen_atomic_fetch_xor_i64 tcg_gen_atomic_fetch_xor_i64_sparc64 #define tcg_gen_atomic_or_fetch_i32 tcg_gen_atomic_or_fetch_i32_sparc64 #define tcg_gen_atomic_or_fetch_i64 tcg_gen_atomic_or_fetch_i64_sparc64 +#define tcg_gen_atomic_smax_fetch_i32 tcg_gen_atomic_smax_fetch_i32_sparc64 +#define tcg_gen_atomic_smax_fetch_i64 tcg_gen_atomic_smax_fetch_i64_sparc64 +#define tcg_gen_atomic_smin_fetch_i32 tcg_gen_atomic_smin_fetch_i32_sparc64 +#define tcg_gen_atomic_smin_fetch_i64 tcg_gen_atomic_smin_fetch_i64_sparc64 +#define tcg_gen_atomic_umax_fetch_i32 tcg_gen_atomic_umax_fetch_i32_sparc64 +#define tcg_gen_atomic_umax_fetch_i64 tcg_gen_atomic_umax_fetch_i64_sparc64 +#define tcg_gen_atomic_umin_fetch_i32 tcg_gen_atomic_umin_fetch_i32_sparc64 +#define tcg_gen_atomic_umin_fetch_i64 tcg_gen_atomic_umin_fetch_i64_sparc64 #define tcg_gen_atomic_xchg_i32 tcg_gen_atomic_xchg_i32_sparc64 #define tcg_gen_atomic_xchg_i64 tcg_gen_atomic_xchg_i64_sparc64 #define tcg_gen_atomic_xor_fetch_i32 tcg_gen_atomic_xor_fetch_i32_sparc64 diff --git a/qemu/tcg/tcg-op.c b/qemu/tcg/tcg-op.c index 7701aaa9..9f4c0f02 100644 --- a/qemu/tcg/tcg-op.c +++ b/qemu/tcg/tcg-op.c @@ -3145,11 +3145,19 @@ GEN_ATOMIC_HELPER(fetch_add, add, 0) GEN_ATOMIC_HELPER(fetch_and, and, 0) GEN_ATOMIC_HELPER(fetch_or, or, 0) GEN_ATOMIC_HELPER(fetch_xor, xor, 0) +GEN_ATOMIC_HELPER(fetch_smin, smin, 0) +GEN_ATOMIC_HELPER(fetch_umin, umin, 0) +GEN_ATOMIC_HELPER(fetch_smax, smax, 0) +GEN_ATOMIC_HELPER(fetch_umax, umax, 0) GEN_ATOMIC_HELPER(add_fetch, add, 1) GEN_ATOMIC_HELPER(and_fetch, and, 1) GEN_ATOMIC_HELPER(or_fetch, or, 1) GEN_ATOMIC_HELPER(xor_fetch, xor, 1) +GEN_ATOMIC_HELPER(smin_fetch, smin, 1) +GEN_ATOMIC_HELPER(umin_fetch, umin, 1) +GEN_ATOMIC_HELPER(smax_fetch, smax, 1) +GEN_ATOMIC_HELPER(umax_fetch, umax, 1) static void tcg_gen_mov2_i32(TCGContext *s, TCGv_i32 r, TCGv_i32 a, TCGv_i32 b) { diff --git a/qemu/tcg/tcg-op.h b/qemu/tcg/tcg-op.h index 9b501b54..327718a6 100644 --- a/qemu/tcg/tcg-op.h +++ b/qemu/tcg/tcg-op.h @@ -915,6 +915,15 @@ void tcg_gen_atomic_fetch_or_i32(TCGContext *, TCGv_i32, TCGv, TCGv_i32, TCGArg, void tcg_gen_atomic_fetch_or_i64(TCGContext *, TCGv_i64, TCGv, TCGv_i64, TCGArg, TCGMemOp); void tcg_gen_atomic_fetch_xor_i32(TCGContext *, TCGv_i32, TCGv, TCGv_i32, TCGArg, TCGMemOp); void tcg_gen_atomic_fetch_xor_i64(TCGContext *, TCGv_i64, TCGv, TCGv_i64, TCGArg, TCGMemOp); +void tcg_gen_atomic_fetch_smin_i32(TCGContext *, TCGv_i32, TCGv, TCGv_i32, TCGArg, TCGMemOp); +void tcg_gen_atomic_fetch_smin_i64(TCGContext *, TCGv_i64, TCGv, TCGv_i64, TCGArg, TCGMemOp); +void tcg_gen_atomic_fetch_umin_i32(TCGContext *, TCGv_i32, TCGv, TCGv_i32, TCGArg, TCGMemOp); +void tcg_gen_atomic_fetch_umin_i64(TCGContext *, TCGv_i64, TCGv, TCGv_i64, TCGArg, TCGMemOp); +void tcg_gen_atomic_fetch_smax_i32(TCGContext *, TCGv_i32, TCGv, TCGv_i32, TCGArg, TCGMemOp); +void tcg_gen_atomic_fetch_smax_i64(TCGContext *, TCGv_i64, TCGv, TCGv_i64, TCGArg, TCGMemOp); +void tcg_gen_atomic_fetch_umax_i32(TCGContext *, TCGv_i32, TCGv, TCGv_i32, TCGArg, TCGMemOp); +void tcg_gen_atomic_fetch_umax_i64(TCGContext *, TCGv_i64, TCGv, TCGv_i64, TCGArg, TCGMemOp); + void tcg_gen_atomic_add_fetch_i32(TCGContext *, TCGv_i32, TCGv, TCGv_i32, TCGArg, TCGMemOp); void tcg_gen_atomic_add_fetch_i64(TCGContext *, TCGv_i64, TCGv, TCGv_i64, TCGArg, TCGMemOp); void tcg_gen_atomic_and_fetch_i32(TCGContext *, TCGv_i32, TCGv, TCGv_i32, TCGArg, TCGMemOp); @@ -923,6 +932,14 @@ void tcg_gen_atomic_or_fetch_i32(TCGContext *, TCGv_i32, TCGv, TCGv_i32, TCGArg, void tcg_gen_atomic_or_fetch_i64(TCGContext *, TCGv_i64, TCGv, TCGv_i64, TCGArg, TCGMemOp); void tcg_gen_atomic_xor_fetch_i32(TCGContext *, TCGv_i32, TCGv, TCGv_i32, TCGArg, TCGMemOp); void tcg_gen_atomic_xor_fetch_i64(TCGContext *, TCGv_i64, TCGv, TCGv_i64, TCGArg, TCGMemOp); +void tcg_gen_atomic_smin_fetch_i32(TCGContext *, TCGv_i32, TCGv, TCGv_i32, TCGArg, TCGMemOp); +void tcg_gen_atomic_smin_fetch_i64(TCGContext *, TCGv_i64, TCGv, TCGv_i64, TCGArg, TCGMemOp); +void tcg_gen_atomic_umin_fetch_i32(TCGContext *, TCGv_i32, TCGv, TCGv_i32, TCGArg, TCGMemOp); +void tcg_gen_atomic_umin_fetch_i64(TCGContext *, TCGv_i64, TCGv, TCGv_i64, TCGArg, TCGMemOp); +void tcg_gen_atomic_smax_fetch_i32(TCGContext *, TCGv_i32, TCGv, TCGv_i32, TCGArg, TCGMemOp); +void tcg_gen_atomic_smax_fetch_i64(TCGContext *, TCGv_i64, TCGv, TCGv_i64, TCGArg, TCGMemOp); +void tcg_gen_atomic_umax_fetch_i32(TCGContext *, TCGv_i32, TCGv, TCGv_i32, TCGArg, TCGMemOp); +void tcg_gen_atomic_umax_fetch_i64(TCGContext *, TCGv_i64, TCGv, TCGv_i64, TCGArg, TCGMemOp); void tcg_gen_mov_vec(TCGContext *, TCGv_vec, TCGv_vec); void tcg_gen_dup_i32_vec(TCGContext *, unsigned vece, TCGv_vec, TCGv_i32); @@ -1052,10 +1069,18 @@ void tcg_gen_stl_vec(TCGContext *, TCGv_vec r, TCGv_ptr base, TCGArg offset, TCG #define tcg_gen_atomic_fetch_and_tl tcg_gen_atomic_fetch_and_i64 #define tcg_gen_atomic_fetch_or_tl tcg_gen_atomic_fetch_or_i64 #define tcg_gen_atomic_fetch_xor_tl tcg_gen_atomic_fetch_xor_i64 +#define tcg_gen_atomic_fetch_smin_tl tcg_gen_atomic_fetch_smin_i64 +#define tcg_gen_atomic_fetch_umin_tl tcg_gen_atomic_fetch_umin_i64 +#define tcg_gen_atomic_fetch_smax_tl tcg_gen_atomic_fetch_smax_i64 +#define tcg_gen_atomic_fetch_umax_tl tcg_gen_atomic_fetch_umax_i64 #define tcg_gen_atomic_add_fetch_tl tcg_gen_atomic_add_fetch_i64 #define tcg_gen_atomic_and_fetch_tl tcg_gen_atomic_and_fetch_i64 #define tcg_gen_atomic_or_fetch_tl tcg_gen_atomic_or_fetch_i64 #define tcg_gen_atomic_xor_fetch_tl tcg_gen_atomic_xor_fetch_i64 +#define tcg_gen_atomic_smin_fetch_tl tcg_gen_atomic_smin_fetch_i64 +#define tcg_gen_atomic_umin_fetch_tl tcg_gen_atomic_umin_fetch_i64 +#define tcg_gen_atomic_smax_fetch_tl tcg_gen_atomic_smax_fetch_i64 +#define tcg_gen_atomic_umax_fetch_tl tcg_gen_atomic_umax_fetch_i64 #define tcg_gen_dup_tl_vec tcg_gen_dup_i64_vec #else #define tcg_gen_movi_tl tcg_gen_movi_i32 @@ -1154,10 +1179,18 @@ void tcg_gen_stl_vec(TCGContext *, TCGv_vec r, TCGv_ptr base, TCGArg offset, TCG #define tcg_gen_atomic_fetch_and_tl tcg_gen_atomic_fetch_and_i32 #define tcg_gen_atomic_fetch_or_tl tcg_gen_atomic_fetch_or_i32 #define tcg_gen_atomic_fetch_xor_tl tcg_gen_atomic_fetch_xor_i32 +#define tcg_gen_atomic_fetch_smin_tl tcg_gen_atomic_fetch_smin_i32 +#define tcg_gen_atomic_fetch_umin_tl tcg_gen_atomic_fetch_umin_i32 +#define tcg_gen_atomic_fetch_smax_tl tcg_gen_atomic_fetch_smax_i32 +#define tcg_gen_atomic_fetch_umax_tl tcg_gen_atomic_fetch_umax_i32 #define tcg_gen_atomic_add_fetch_tl tcg_gen_atomic_add_fetch_i32 #define tcg_gen_atomic_and_fetch_tl tcg_gen_atomic_and_fetch_i32 #define tcg_gen_atomic_or_fetch_tl tcg_gen_atomic_or_fetch_i32 #define tcg_gen_atomic_xor_fetch_tl tcg_gen_atomic_xor_fetch_i32 +#define tcg_gen_atomic_smin_fetch_tl tcg_gen_atomic_smin_fetch_i32 +#define tcg_gen_atomic_umin_fetch_tl tcg_gen_atomic_umin_fetch_i32 +#define tcg_gen_atomic_smax_fetch_tl tcg_gen_atomic_smax_fetch_i32 +#define tcg_gen_atomic_umax_fetch_tl tcg_gen_atomic_umax_fetch_i32 #define tcg_gen_dup_tl_vec tcg_gen_dup_i32_vec #endif diff --git a/qemu/tcg/tcg.h b/qemu/tcg/tcg.h index 12d5bd59..21bd9946 100644 --- a/qemu/tcg/tcg.h +++ b/qemu/tcg/tcg.h @@ -1514,12 +1514,20 @@ GEN_ATOMIC_HELPER_ALL(fetch_sub) GEN_ATOMIC_HELPER_ALL(fetch_and) GEN_ATOMIC_HELPER_ALL(fetch_or) GEN_ATOMIC_HELPER_ALL(fetch_xor) +GEN_ATOMIC_HELPER_ALL(fetch_smin) +GEN_ATOMIC_HELPER_ALL(fetch_umin) +GEN_ATOMIC_HELPER_ALL(fetch_smax) +GEN_ATOMIC_HELPER_ALL(fetch_umax) GEN_ATOMIC_HELPER_ALL(add_fetch) GEN_ATOMIC_HELPER_ALL(sub_fetch) GEN_ATOMIC_HELPER_ALL(and_fetch) GEN_ATOMIC_HELPER_ALL(or_fetch) GEN_ATOMIC_HELPER_ALL(xor_fetch) +GEN_ATOMIC_HELPER_ALL(smin_fetch) +GEN_ATOMIC_HELPER_ALL(umin_fetch) +GEN_ATOMIC_HELPER_ALL(smax_fetch) +GEN_ATOMIC_HELPER_ALL(umax_fetch) GEN_ATOMIC_HELPER_ALL(xchg) diff --git a/qemu/x86_64.h b/qemu/x86_64.h index 6a3fc2e1..3966ccec 100644 --- a/qemu/x86_64.h +++ b/qemu/x86_64.h @@ -853,6 +853,62 @@ #define helper_atomic_fetch_orw_be_mmu helper_atomic_fetch_orw_be_mmu_x86_64 #define helper_atomic_fetch_orw_le helper_atomic_fetch_orw_le_x86_64 #define helper_atomic_fetch_orw_le_mmu helper_atomic_fetch_orw_le_mmu_x86_64 +#define helper_atomic_fetch_smaxb_mmu helper_atomic_fetch_smaxb_mmu_x86_64 +#define helper_atomic_fetch_smaxb helper_atomic_fetch_smaxb_x86_64 +#define helper_atomic_fetch_smaxl_be_mmu helper_atomic_fetch_smaxl_be_mmu_x86_64 +#define helper_atomic_fetch_smaxl_be helper_atomic_fetch_smaxl_be_x86_64 +#define helper_atomic_fetch_smaxq_be_mmu helper_atomic_fetch_smaxq_be_mmu_x86_64 +#define helper_atomic_fetch_smaxq_be helper_atomic_fetch_smaxq_be_x86_64 +#define helper_atomic_fetch_smaxw_be_mmu helper_atomic_fetch_smaxw_be_mmu_x86_64 +#define helper_atomic_fetch_smaxw_be helper_atomic_fetch_smaxw_be_x86_64 +#define helper_atomic_fetch_sminb_mmu helper_atomic_fetch_sminb_mmu_x86_64 +#define helper_atomic_fetch_sminb helper_atomic_fetch_sminb_x86_64 +#define helper_atomic_fetch_sminl_be_mmu helper_atomic_fetch_sminl_be_mmu_x86_64 +#define helper_atomic_fetch_sminl_be helper_atomic_fetch_sminl_be_x86_64 +#define helper_atomic_fetch_sminq_be_mmu helper_atomic_fetch_sminq_be_mmu_x86_64 +#define helper_atomic_fetch_sminq_be helper_atomic_fetch_sminq_be_x86_64 +#define helper_atomic_fetch_sminw_be_mmu helper_atomic_fetch_sminw_be_mmu_x86_64 +#define helper_atomic_fetch_sminw_be helper_atomic_fetch_sminw_be_x86_64 +#define helper_atomic_fetch_umaxb_mmu helper_atomic_fetch_umaxb_mmu_x86_64 +#define helper_atomic_fetch_umaxb helper_atomic_fetch_umaxb_x86_64 +#define helper_atomic_fetch_umaxl_be_mmu helper_atomic_fetch_umaxl_be_mmu_x86_64 +#define helper_atomic_fetch_umaxl_be helper_atomic_fetch_umaxl_be_x86_64 +#define helper_atomic_fetch_umaxq_be_mmu helper_atomic_fetch_umaxq_be_mmu_x86_64 +#define helper_atomic_fetch_umaxq_be helper_atomic_fetch_umaxq_be_x86_64 +#define helper_atomic_fetch_umaxw_be_mmu helper_atomic_fetch_umaxw_be_mmu_x86_64 +#define helper_atomic_fetch_umaxw_be helper_atomic_fetch_umaxw_be_x86_64 +#define helper_atomic_fetch_uminb_mmu helper_atomic_fetch_uminb_mmu_x86_64 +#define helper_atomic_fetch_uminb helper_atomic_fetch_uminb_x86_64 +#define helper_atomic_fetch_uminl_be_mmu helper_atomic_fetch_uminl_be_mmu_x86_64 +#define helper_atomic_fetch_uminl_be helper_atomic_fetch_uminl_be_x86_64 +#define helper_atomic_fetch_uminq_be_mmu helper_atomic_fetch_uminq_be_mmu_x86_64 +#define helper_atomic_fetch_uminq_be helper_atomic_fetch_uminq_be_x86_64 +#define helper_atomic_fetch_uminw_be_mmu helper_atomic_fetch_uminw_be_mmu_x86_64 +#define helper_atomic_fetch_uminw_be helper_atomic_fetch_uminw_be_x86_64 +#define helper_atomic_fetch_smaxl_le_mmu helper_atomic_fetch_smaxl_le_mmu_x86_64 +#define helper_atomic_fetch_smaxl_le helper_atomic_fetch_smaxl_le_x86_64 +#define helper_atomic_fetch_smaxq_le_mmu helper_atomic_fetch_smaxq_le_mmu_x86_64 +#define helper_atomic_fetch_smaxq_le helper_atomic_fetch_smaxq_le_x86_64 +#define helper_atomic_fetch_smaxw_le_mmu helper_atomic_fetch_smaxw_le_mmu_x86_64 +#define helper_atomic_fetch_smaxw_le helper_atomic_fetch_smaxw_le_x86_64 +#define helper_atomic_fetch_sminl_le_mmu helper_atomic_fetch_sminl_le_mmu_x86_64 +#define helper_atomic_fetch_sminl_le helper_atomic_fetch_sminl_le_x86_64 +#define helper_atomic_fetch_sminq_le_mmu helper_atomic_fetch_sminq_le_mmu_x86_64 +#define helper_atomic_fetch_sminq_le helper_atomic_fetch_sminq_le_x86_64 +#define helper_atomic_fetch_sminw_le_mmu helper_atomic_fetch_sminw_le_mmu_x86_64 +#define helper_atomic_fetch_sminw_le helper_atomic_fetch_sminw_le_x86_64 +#define helper_atomic_fetch_umaxl_le_mmu helper_atomic_fetch_umaxl_le_mmu_x86_64 +#define helper_atomic_fetch_umaxl_le helper_atomic_fetch_umaxl_le_x86_64 +#define helper_atomic_fetch_umaxq_le_mmu helper_atomic_fetch_umaxq_le_mmu_x86_64 +#define helper_atomic_fetch_umaxq_le helper_atomic_fetch_umaxq_le_x86_64 +#define helper_atomic_fetch_umaxw_le_mmu helper_atomic_fetch_umaxw_le_mmu_x86_64 +#define helper_atomic_fetch_umaxw_le helper_atomic_fetch_umaxw_le_x86_64 +#define helper_atomic_fetch_uminl_le_mmu helper_atomic_fetch_uminl_le_mmu_x86_64 +#define helper_atomic_fetch_uminl_le helper_atomic_fetch_uminl_le_x86_64 +#define helper_atomic_fetch_uminq_le_mmu helper_atomic_fetch_uminq_le_mmu_x86_64 +#define helper_atomic_fetch_uminq_le helper_atomic_fetch_uminq_le_x86_64 +#define helper_atomic_fetch_uminw_le_mmu helper_atomic_fetch_uminw_le_mmu_x86_64 +#define helper_atomic_fetch_uminw_le helper_atomic_fetch_uminw_le_x86_64 #define helper_atomic_fetch_xorb helper_atomic_fetch_xorb_x86_64 #define helper_atomic_fetch_xorb_mmu helper_atomic_fetch_xorb_mmu_x86_64 #define helper_atomic_fetch_xorl_be helper_atomic_fetch_xorl_be_x86_64 @@ -885,10 +941,66 @@ #define helper_atomic_or_fetchw_be_mmu helper_atomic_or_fetchw_be_mmu_x86_64 #define helper_atomic_or_fetchw_le helper_atomic_or_fetchw_le_x86_64 #define helper_atomic_or_fetchw_le_mmu helper_atomic_or_fetchw_le_mmu_x86_64 +#define helper_atomic_smax_fetchb_mmu helper_atomic_smax_fetchb_mmu_x86_64 +#define helper_atomic_smax_fetchb helper_atomic_smax_fetchb_x86_64 +#define helper_atomic_smax_fetchl_be_mmu helper_atomic_smax_fetchl_be_mmu_x86_64 +#define helper_atomic_smax_fetchl_be helper_atomic_smax_fetchl_be_x86_64 +#define helper_atomic_smax_fetchq_be_mmu helper_atomic_smax_fetchq_be_mmu_x86_64 +#define helper_atomic_smax_fetchq_be helper_atomic_smax_fetchq_be_x86_64 +#define helper_atomic_smax_fetchw_be_mmu helper_atomic_smax_fetchw_be_mmu_x86_64 +#define helper_atomic_smax_fetchw_be helper_atomic_smax_fetchw_be_x86_64 +#define helper_atomic_smin_fetchb_mmu helper_atomic_smin_fetchb_mmu_x86_64 +#define helper_atomic_smin_fetchb helper_atomic_smin_fetchb_x86_64 +#define helper_atomic_smin_fetchl_be_mmu helper_atomic_smin_fetchl_be_mmu_x86_64 +#define helper_atomic_smin_fetchl_be helper_atomic_smin_fetchl_be_x86_64 +#define helper_atomic_smin_fetchq_be_mmu helper_atomic_smin_fetchq_be_mmu_x86_64 +#define helper_atomic_smin_fetchq_be helper_atomic_smin_fetchq_be_x86_64 +#define helper_atomic_smin_fetchw_be_mmu helper_atomic_smin_fetchw_be_mmu_x86_64 +#define helper_atomic_smin_fetchw_be helper_atomic_smin_fetchw_be_x86_64 +#define helper_atomic_smax_fetchl_le_mmu helper_atomic_smax_fetchl_le_mmu_x86_64 +#define helper_atomic_smax_fetchl_le helper_atomic_smax_fetchl_le_x86_64 +#define helper_atomic_smax_fetchq_le_mmu helper_atomic_smax_fetchq_le_mmu_x86_64 +#define helper_atomic_smax_fetchq_le helper_atomic_smax_fetchq_le_x86_64 +#define helper_atomic_smax_fetchw_le_mmu helper_atomic_smax_fetchw_le_mmu_x86_64 +#define helper_atomic_smax_fetchw_le helper_atomic_smax_fetchw_le_x86_64 +#define helper_atomic_smin_fetchl_le_mmu helper_atomic_smin_fetchl_le_mmu_x86_64 +#define helper_atomic_smin_fetchl_le helper_atomic_smin_fetchl_le_x86_64 +#define helper_atomic_smin_fetchq_le_mmu helper_atomic_smin_fetchq_le_mmu_x86_64 +#define helper_atomic_smin_fetchq_le helper_atomic_smin_fetchq_le_x86_64 +#define helper_atomic_smin_fetchw_le_mmu helper_atomic_smin_fetchw_le_mmu_x86_64 +#define helper_atomic_smin_fetchw_le helper_atomic_smin_fetchw_le_x86_64 #define helper_atomic_sto_be helper_atomic_sto_be_x86_64 #define helper_atomic_sto_be_mmu helper_atomic_sto_be_mmu_x86_64 #define helper_atomic_sto_le helper_atomic_sto_le_x86_64 #define helper_atomic_sto_le_mmu helper_atomic_sto_le_mmu_x86_64 +#define helper_atomic_umax_fetchb_mmu helper_atomic_umax_fetchb_mmu_x86_64 +#define helper_atomic_umax_fetchb helper_atomic_umax_fetchb_x86_64 +#define helper_atomic_umax_fetchl_be_mmu helper_atomic_umax_fetchl_be_mmu_x86_64 +#define helper_atomic_umax_fetchl_be helper_atomic_umax_fetchl_be_x86_64 +#define helper_atomic_umax_fetchq_be_mmu helper_atomic_umax_fetchq_be_mmu_x86_64 +#define helper_atomic_umax_fetchq_be helper_atomic_umax_fetchq_be_x86_64 +#define helper_atomic_umax_fetchw_be_mmu helper_atomic_umax_fetchw_be_mmu_x86_64 +#define helper_atomic_umax_fetchw_be helper_atomic_umax_fetchw_be_x86_64 +#define helper_atomic_umin_fetchb_mmu helper_atomic_umin_fetchb_mmu_x86_64 +#define helper_atomic_umin_fetchb helper_atomic_umin_fetchb_x86_64 +#define helper_atomic_umin_fetchl_be_mmu helper_atomic_umin_fetchl_be_mmu_x86_64 +#define helper_atomic_umin_fetchl_be helper_atomic_umin_fetchl_be_x86_64 +#define helper_atomic_umin_fetchq_be_mmu helper_atomic_umin_fetchq_be_mmu_x86_64 +#define helper_atomic_umin_fetchq_be helper_atomic_umin_fetchq_be_x86_64 +#define helper_atomic_umin_fetchw_be_mmu helper_atomic_umin_fetchw_be_mmu_x86_64 +#define helper_atomic_umin_fetchw_be helper_atomic_umin_fetchw_be_x86_64 +#define helper_atomic_umax_fetchl_le_mmu helper_atomic_umax_fetchl_le_mmu_x86_64 +#define helper_atomic_umax_fetchl_le helper_atomic_umax_fetchl_le_x86_64 +#define helper_atomic_umax_fetchq_le_mmu helper_atomic_umax_fetchq_le_mmu_x86_64 +#define helper_atomic_umax_fetchq_le helper_atomic_umax_fetchq_le_x86_64 +#define helper_atomic_umax_fetchw_le_mmu helper_atomic_umax_fetchw_le_mmu_x86_64 +#define helper_atomic_umax_fetchw_le helper_atomic_umax_fetchw_le_x86_64 +#define helper_atomic_umin_fetchl_le_mmu helper_atomic_umin_fetchl_le_mmu_x86_64 +#define helper_atomic_umin_fetchl_le helper_atomic_umin_fetchl_le_x86_64 +#define helper_atomic_umin_fetchq_le_mmu helper_atomic_umin_fetchq_le_mmu_x86_64 +#define helper_atomic_umin_fetchq_le helper_atomic_umin_fetchq_le_x86_64 +#define helper_atomic_umin_fetchw_le_mmu helper_atomic_umin_fetchw_le_mmu_x86_64 +#define helper_atomic_umin_fetchw_le helper_atomic_umin_fetchw_le_x86_64 #define helper_atomic_xchgb helper_atomic_xchgb_x86_64 #define helper_atomic_xchgb helper_atomic_xchgb_x86_64 #define helper_atomic_xchgb_mmu helper_atomic_xchgb_mmu_x86_64 @@ -2516,10 +2628,26 @@ #define tcg_gen_atomic_fetch_and_i64 tcg_gen_atomic_fetch_and_i64_x86_64 #define tcg_gen_atomic_fetch_or_i32 tcg_gen_atomic_fetch_or_i32_x86_64 #define tcg_gen_atomic_fetch_or_i64 tcg_gen_atomic_fetch_or_i64_x86_64 +#define tcg_gen_atomic_fetch_smax_i32 tcg_gen_atomic_fetch_smax_i32_x86_64 +#define tcg_gen_atomic_fetch_smax_i64 tcg_gen_atomic_fetch_smax_i64_x86_64 +#define tcg_gen_atomic_fetch_smin_i32 tcg_gen_atomic_fetch_smin_i32_x86_64 +#define tcg_gen_atomic_fetch_smin_i64 tcg_gen_atomic_fetch_smin_i64_x86_64 +#define tcg_gen_atomic_fetch_umax_i32 tcg_gen_atomic_fetch_umax_i32_x86_64 +#define tcg_gen_atomic_fetch_umax_i64 tcg_gen_atomic_fetch_umax_i64_x86_64 +#define tcg_gen_atomic_fetch_umin_i32 tcg_gen_atomic_fetch_umin_i32_x86_64 +#define tcg_gen_atomic_fetch_umin_i64 tcg_gen_atomic_fetch_umin_i64_x86_64 #define tcg_gen_atomic_fetch_xor_i32 tcg_gen_atomic_fetch_xor_i32_x86_64 #define tcg_gen_atomic_fetch_xor_i64 tcg_gen_atomic_fetch_xor_i64_x86_64 #define tcg_gen_atomic_or_fetch_i32 tcg_gen_atomic_or_fetch_i32_x86_64 #define tcg_gen_atomic_or_fetch_i64 tcg_gen_atomic_or_fetch_i64_x86_64 +#define tcg_gen_atomic_smax_fetch_i32 tcg_gen_atomic_smax_fetch_i32_x86_64 +#define tcg_gen_atomic_smax_fetch_i64 tcg_gen_atomic_smax_fetch_i64_x86_64 +#define tcg_gen_atomic_smin_fetch_i32 tcg_gen_atomic_smin_fetch_i32_x86_64 +#define tcg_gen_atomic_smin_fetch_i64 tcg_gen_atomic_smin_fetch_i64_x86_64 +#define tcg_gen_atomic_umax_fetch_i32 tcg_gen_atomic_umax_fetch_i32_x86_64 +#define tcg_gen_atomic_umax_fetch_i64 tcg_gen_atomic_umax_fetch_i64_x86_64 +#define tcg_gen_atomic_umin_fetch_i32 tcg_gen_atomic_umin_fetch_i32_x86_64 +#define tcg_gen_atomic_umin_fetch_i64 tcg_gen_atomic_umin_fetch_i64_x86_64 #define tcg_gen_atomic_xchg_i32 tcg_gen_atomic_xchg_i32_x86_64 #define tcg_gen_atomic_xchg_i64 tcg_gen_atomic_xchg_i64_x86_64 #define tcg_gen_atomic_xor_fetch_i32 tcg_gen_atomic_xor_fetch_i32_x86_64