Hi Richard,
> gcc/
>* config/arm/arm.c (arm_print_operand): Use MEM_SIZE to get the
>size of a '%A' memory reference.
>(T_DREG, T_QREG): New neon_builtin_type_bits.
>(arm_init_neon_builtins): Assert that the load and store operands
>are neon_struct_operands.
>(locate_neon_
Ping for this change to the NEON vldN and vstN patterns:
http://gcc.gnu.org/ml/gcc-patches/2011-03/msg01996.html
Thanks,
Richard
Richard Sandiford writes:
> The ??? is saying that the V8QI-derived MEM is really a 3-byte access,
> not a 4-byte (SI) access, and so on. The comment makes the mode sound
> like a representational niceity, but really, there's no such thing as
> a "conservatively wrong" memory size here.
The patterns for the Neon vld and vst intrinsics use the following sort
of construct to refer to memory:
(mem:FOO (match_operand:SI X "register_operand" "r"))
This patch changes them to use:
(match_operand:FOO' X "neon_struct_operand" "(=)Um")
instead. This has some performance benefit