@@ -3462,10 +3462,12 @@ static void gen_std(DisasContext *ctx)
3462
3462
if (HAVE_ATOMIC128 ) {
3463
3463
TCGv_i32 oi = tcg_temp_new_i32 ();
3464
3464
if (ctx -> le_mode ) {
3465
- tcg_gen_movi_i32 (oi , make_memop_idx (MO_LEQ , ctx -> mem_idx ));
3465
+ tcg_gen_movi_i32 (oi , make_memop_idx (MO_LE | MO_128 ,
3466
+ ctx -> mem_idx ));
3466
3467
gen_helper_stq_le_parallel (cpu_env , EA , lo , hi , oi );
3467
3468
} else {
3468
- tcg_gen_movi_i32 (oi , make_memop_idx (MO_BEQ , ctx -> mem_idx ));
3469
+ tcg_gen_movi_i32 (oi , make_memop_idx (MO_BE | MO_128 ,
3470
+ ctx -> mem_idx ));
3469
3471
gen_helper_stq_be_parallel (cpu_env , EA , lo , hi , oi );
3470
3472
}
3471
3473
tcg_temp_free_i32 (oi );
@@ -4067,11 +4069,11 @@ static void gen_lqarx(DisasContext *ctx)
4067
4069
if (HAVE_ATOMIC128 ) {
4068
4070
TCGv_i32 oi = tcg_temp_new_i32 ();
4069
4071
if (ctx -> le_mode ) {
4070
- tcg_gen_movi_i32 (oi , make_memop_idx (MO_LEQ | MO_ALIGN_16 ,
4072
+ tcg_gen_movi_i32 (oi , make_memop_idx (MO_LE | MO_128 | MO_ALIGN ,
4071
4073
ctx -> mem_idx ));
4072
4074
gen_helper_lq_le_parallel (lo , cpu_env , EA , oi );
4073
4075
} else {
4074
- tcg_gen_movi_i32 (oi , make_memop_idx (MO_BEQ | MO_ALIGN_16 ,
4076
+ tcg_gen_movi_i32 (oi , make_memop_idx (MO_BE | MO_128 | MO_ALIGN ,
4075
4077
ctx -> mem_idx ));
4076
4078
gen_helper_lq_be_parallel (lo , cpu_env , EA , oi );
4077
4079
}
@@ -4122,7 +4124,7 @@ static void gen_stqcx_(DisasContext *ctx)
4122
4124
4123
4125
if (tb_cflags (ctx -> base .tb ) & CF_PARALLEL ) {
4124
4126
if (HAVE_CMPXCHG128 ) {
4125
- TCGv_i32 oi = tcg_const_i32 (DEF_MEMOP (MO_Q ) | MO_ALIGN_16 );
4127
+ TCGv_i32 oi = tcg_const_i32 (DEF_MEMOP (MO_128 ) | MO_ALIGN );
4126
4128
if (ctx -> le_mode ) {
4127
4129
gen_helper_stqcx_le_parallel (cpu_crf [0 ], cpu_env ,
4128
4130
EA , lo , hi , oi );
0 commit comments