On Tue, Sep 15, 2015 at 10:14:38AM +0100, Alan Lawrence wrote: > The V_THREE_ELEM attribute used BLKmode for most sizes, but occasionally > EImode. This patch changes to BLKmode in all cases, explicitly setting > memory size (thus, preserving size for the cases that were EImode, and > setting size for the first time for cases that were already BLKmode). > > The patterns affected are only for intrinsics: the aarch64_ld3r > expanders and aarch64_simd_ld3r insns, and the > aarch64_vec_{load,store}_lanesci_lane insns used by the > aarch64_{ld,st}3_lane expanders. > > bootstrapped and check-gcc on aarch64-none-linux-gnu
OK (some comments on your ChangeLog below). Thanks, James > > gcc/ChangeLog: > > * config/aarch64/aarch64-simd.md (aarch64_simd_ld3r<mode>, > aarch64_vec_load_lanesci_lane<mode>, > aarch64_vec_store_lanesci_lane<mode>): Change operand mode > from <V_THREE_ELEM> to BLK. I see this style used by a few people in the ChangeLog, personally I prefer the form where each named entity is in its own set of (), such that I can search for "(aarch64_foo)" and not match partial strings like ", aarch64_foo_bar" as I would searching "aarch64_foo" with your format. > No newline here. > (aarch64_ld3r<mode>, aarch64_ld3_lane<mode>, > aarch64_st3_lane<mode>): Generate MEM rtx with BLKmode, call > set_mem_size. > Likewise. > * config/aarch64/iterators.md (V_THREE_ELEM): Remove.