Hi, The attached prototype patch extends fold_vec_perm to fold VEC_PERM_EXPR in VLA manner, and currently handles the following cases: (a) fixed len arg0, arg1 and fixed len sel. (b) fixed len arg0, arg1 and vla sel (c) vla arg0, arg1 and vla sel with arg0, arg1 being VECTOR_CST. It seems to work for the VLA tests written in test_vec_perm_vla_folding (), and am working thru the fallout observed in regression testing. Does the approach taken in the patch look in the right direction ? I am not sure if I have got the conversion from "sel_index" to index of either arg0, or arg1 entirely correct. I would be grateful for suggestions on the patch. Thanks, Prathamesh