http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52607
Bug #: 52607 Summary: v4df __builtin_shuffle with {0,2,1,3} or {1,3,0,2} Classification: Unclassified Product: gcc Version: 4.7.0 Status: UNCONFIRMED Severity: enhancement Priority: P3 Component: target AssignedTo: unassig...@gcc.gnu.org ReportedBy: marc.gli...@normalesup.org Hello, this is really just a follow-up to PR52568. The permutations {0,2,1,3} and {1,3,0,2} can be realized with a very similar technique. Starting from 0123: vpermilpd+vperm2f128->3210 vblendpd(0123,3210)->0213 or: vpermilpd->1032 vperm2f128->2301 vblendpd(1032,2301)->1302 I am not sure if there is a nice way to generalize this or if the function expand_vec_perm_vperm2f128_vblend should be cloned a few times and slightly modified. (these permutations are less important to me than 1230 was)