Commit 88c1e3dbdbc9ee5b03d76f23b3816b5c127ce70f
1 parent
b854065e
Replace tcg_gen_rori_i32 by tcg_gen_rotri_i32.
Signed-off-by: Filip Navara <filip.navara@gmail.com>
Showing
1 changed file
with
3 additions
and
18 deletions
target-arm/translate.c
... | ... | @@ -424,21 +424,6 @@ static inline void tcg_gen_bic_i32(TCGv dest, TCGv t0, TCGv t1) |
424 | 424 | /* FIXME: Implement this natively. */ |
425 | 425 | #define tcg_gen_abs_i32(t0, t1) gen_helper_abs(t0, t1) |
426 | 426 | |
427 | -/* FIXME: Implement this natively. */ | |
428 | -static void tcg_gen_rori_i32(TCGv t0, TCGv t1, int i) | |
429 | -{ | |
430 | - TCGv tmp; | |
431 | - | |
432 | - if (i == 0) | |
433 | - return; | |
434 | - | |
435 | - tmp = new_tmp(); | |
436 | - tcg_gen_shri_i32(tmp, t1, i); | |
437 | - tcg_gen_shli_i32(t1, t1, 32 - i); | |
438 | - tcg_gen_or_i32(t0, t1, tmp); | |
439 | - dead_tmp(tmp); | |
440 | -} | |
441 | - | |
442 | 427 | static void shifter_out_im(TCGv var, int shift) |
443 | 428 | { |
444 | 429 | TCGv tmp = new_tmp(); |
... | ... | @@ -490,7 +475,7 @@ static inline void gen_arm_shift_im(TCGv var, int shiftop, int shift, int flags) |
490 | 475 | if (shift != 0) { |
491 | 476 | if (flags) |
492 | 477 | shifter_out_im(var, shift - 1); |
493 | - tcg_gen_rori_i32(var, var, shift); break; | |
478 | + tcg_gen_rotri_i32(var, var, shift); break; | |
494 | 479 | } else { |
495 | 480 | TCGv tmp = load_cpu_field(CF); |
496 | 481 | if (flags) |
... | ... | @@ -6582,7 +6567,7 @@ static void disas_arm_insn(CPUState * env, DisasContext *s) |
6582 | 6567 | /* ??? In many cases it's not neccessary to do a |
6583 | 6568 | rotate, a shift is sufficient. */ |
6584 | 6569 | if (shift != 0) |
6585 | - tcg_gen_rori_i32(tmp, tmp, shift * 8); | |
6570 | + tcg_gen_rotri_i32(tmp, tmp, shift * 8); | |
6586 | 6571 | op1 = (insn >> 20) & 7; |
6587 | 6572 | switch (op1) { |
6588 | 6573 | case 0: gen_sxtb16(tmp); break; |
... | ... | @@ -7409,7 +7394,7 @@ static int disas_thumb2_insn(CPUState *env, DisasContext *s, uint16_t insn_hw1) |
7409 | 7394 | /* ??? In many cases it's not neccessary to do a |
7410 | 7395 | rotate, a shift is sufficient. */ |
7411 | 7396 | if (shift != 0) |
7412 | - tcg_gen_rori_i32(tmp, tmp, shift * 8); | |
7397 | + tcg_gen_rotri_i32(tmp, tmp, shift * 8); | |
7413 | 7398 | op = (insn >> 20) & 7; |
7414 | 7399 | switch (op) { |
7415 | 7400 | case 0: gen_sxth(tmp); break; | ... | ... |