On Wed, Jan 19, 2011 at 07:29:53PM +0000, Peter Maydell wrote:
> Fix the register and part of register we get the scalar from in
> the various "multiply vector by scalar" ops (VMUL by scalar
> and friends).
>
> Signed-off-by: Peter Maydell <[email protected]>
> ---
> target-arm/translate.c | 12 ++++++------
> 1 files changed, 6 insertions(+), 6 deletions(-)
Thanks, applied.
> diff --git a/target-arm/translate.c b/target-arm/translate.c
> index c60cd18..0c2856a 100644
> --- a/target-arm/translate.c
> +++ b/target-arm/translate.c
> @@ -3608,14 +3608,14 @@ static inline TCGv neon_get_scalar(int size, int reg)
> {
> TCGv tmp;
> if (size == 1) {
> - tmp = neon_load_reg(reg >> 1, reg & 1);
> - } else {
> - tmp = neon_load_reg(reg >> 2, (reg >> 1) & 1);
> - if (reg & 1) {
> - gen_neon_dup_low16(tmp);
> - } else {
> + tmp = neon_load_reg(reg & 7, reg >> 4);
> + if (reg & 8) {
> gen_neon_dup_high16(tmp);
> + } else {
> + gen_neon_dup_low16(tmp);
> }
> + } else {
> + tmp = neon_load_reg(reg & 15, reg >> 4);
> }
> return tmp;
> }
> --
> 1.6.3.3
>
>
>
--
Aurelien Jarno GPG: 1024D/F1BCDB73
[email protected] http://www.aurel32.net