This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug target/52607] v4df __builtin_shuffle with {0,2,1,3} or {1,3,0,2}


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52607

Marc Glisse <marc.glisse at normalesup dot org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
  Attachment #26909|0                           |1
        is obsolete|                            |

--- Comment #5 from Marc Glisse <marc.glisse at normalesup dot org> 2012-03-18 12:53:13 UTC ---
Created attachment 26911
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=26911
patch

With this one, all V4DF shuffles on one vector are done in at most 3
instructions (and are correct). Doing V8SF at the same time was getting
confusing so I dropped it for the last 2 functions, which end up looking almost
like: "if the pattern is 0112 do this, if it is 0130 do that, etc".

I didn't check if all the functions are still used by at least one pattern...

Note: my access to an avx machine is not sufficient to submit a patch, so feel
free to take pieces of this and modify/test/submit them (I have a copyright
assignment).


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]