Hi, The patch folds: lhs = svld1rq ({-1, -1, -1, ...}, &v[0]) into: lhs = vec_perm_expr and expands above vec_perm_expr using aarch64_expand_sve_dupq. With patch, for following test: #include #include svint32_t foo (int32x4_t x) { return svld1rq (svptrue_b8 (), &x[0]); } it generates following code: foo: .LFB4350: dup z0.q, z0.q[0] ret and passes bootstrap+test on aarch64-linux-gnu. But I am not sure if the changes to aarch64_evpc_sve_tbl are correct. Thanks, Prathamesh