On 09/08/2013 10:13 PM, Erik Schnetter wrote: > Yes, we can use the same kernel library for all x86-64 architectures. > However, this would require disabling many performance features.
Which ones do you mean? The kernel libs are LLVM bitcode, which is not yet very target-specific as such, so the target-specific features are basically inline asm blocks selected using #ifdefs when building the bc? IMO inline asm blocks should be avoided in the longer term anyways (try to use intrinsics instead) as we want to vectorize WGs as efficiently as possible and it's easier to vectorize intrinsics calls than inline asm blocks. Same goes to vector datatypes: we might want to "scalarize" them for more efficient WG vectorization, so not always we want to use hand coded vectorized versions of functions dealing with them. So, what about producing a "generic" bitcode lib without CPU feature specific inline asm blocks (perhaps only intrinsics calls), and then let the llc do its magic based on autodetection? The very final call to the llc from the fully linked work group function bitcode should be of the most importance here, right? -- --Pekka ------------------------------------------------------------------------------ Learn the latest--Visual Studio 2012, SharePoint 2013, SQL 2012, more! Discover the easy way to master current and previous Microsoft technologies and advance your career. Get an incredible 1,500+ hours of step-by-step tutorial videos with LearnDevNow. Subscribe today and save! http://pubads.g.doubleclick.net/gampad/clk?id=58041391&iu=/4140/ostg.clktrk _______________________________________________ pocl-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/pocl-devel
