[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 02/10] target-arm: A64: Fix vector register acce
From: |
Richard Henderson |
Subject: |
Re: [Qemu-devel] [PATCH 02/10] target-arm: A64: Fix vector register access on bigendian hosts |
Date: |
Mon, 30 Dec 2013 07:03:03 -0800 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.2.0 |
On 12/28/2013 01:49 PM, Peter Maydell wrote:
> if (size < 4) {
> switch (size) {
> case 0:
> - tcg_gen_ld8u_i64(tmp, cpu_env, freg_offs);
> + tcg_gen_ld8u_i64(tmp, cpu_env, fp_reg_offset(srcidx, MO_8));
> break;
> case 1:
> - tcg_gen_ld16u_i64(tmp, cpu_env, freg_offs);
> + tcg_gen_ld16u_i64(tmp, cpu_env, fp_reg_offset(srcidx, MO_16));
> break;
> case 2:
> - tcg_gen_ld32u_i64(tmp, cpu_env, freg_offs);
> + tcg_gen_ld32u_i64(tmp, cpu_env, fp_reg_offset(srcidx, MO_32));
> break;
> case 3:
> - tcg_gen_ld_i64(tmp, cpu_env, freg_offs);
> + tcg_gen_ld_i64(tmp, cpu_env, fp_reg_offset(srcidx, MO_64));
> break;
> }
> tcg_gen_qemu_st_i64(tmp, tcg_addr, get_mem_index(s), MO_TE + size);
It occurs to me to wonder whether it wouldn't just be better to load the whole
64-bit quantity and store the piece we need, ignoring the entire host-endian
issue.
I agree with the fp_reg_hi_offset helper, I just wonder if we ought not just
have a one-argument fp_reg_lo_offset helper instead of the sized one you
introduce.
r~
- [Qemu-devel] [PATCH 01/10] target-arm: A64: Add support for dumping AArch64 VFP register state, (continued)
- [Qemu-devel] [PATCH 01/10] target-arm: A64: Add support for dumping AArch64 VFP register state, Peter Maydell, 2013/12/28
- [Qemu-devel] [PATCH 09/10] target-arm: A64: Add support for floating point cond select, Peter Maydell, 2013/12/28
- [Qemu-devel] [PATCH 08/10] target-arm: A64: Add support for floating point conditional compare, Peter Maydell, 2013/12/28
- [Qemu-devel] [PATCH 03/10] target-arm: Use VFP_BINOP macro for min, max, minnum, maxnum, Peter Maydell, 2013/12/28
- [Qemu-devel] [PATCH 02/10] target-arm: A64: Fix vector register access on bigendian hosts, Peter Maydell, 2013/12/28
- Re: [Qemu-devel] [PATCH 02/10] target-arm: A64: Fix vector register access on bigendian hosts,
Richard Henderson <=
- [Qemu-devel] [PATCH 05/10] target-arm: A64: Add "Floating-point data-processing (3 source)" insns, Peter Maydell, 2013/12/28
- [Qemu-devel] [PATCH 10/10] target-arm: Give the FPSCR rounding modes names, Peter Maydell, 2013/12/28