[HN Gopher] Minotaur: A SIMD-Oriented Synthesizing Superoptimizer
       ___________________________________________________________________
        
       Minotaur: A SIMD-Oriented Synthesizing Superoptimizer
        
       Author : luu
       Score  : 27 points
       Date   : 2023-07-12 20:27 UTC (1 days ago)
        
 (HTM) web link (arxiv.org)
 (TXT) w3m dump (arxiv.org)
        
       | brucethemoose2 wrote:
       | Looks like the source is here: https://github.com/minotaur-
       | toolkit/minotaur
        
       | chrisaycock wrote:
       | As an example optimization, consider this C code:
       | do {         if (*--p == '.') *p = '_';       } while (p !=
       | name);
       | 
       | LLVM originally produced this bitcode for AVX-2 instructions:
       | %1 = shufflevector %0, <31, 30, 29, ... , 0>       %2 = icmp eq
       | %1, <46, 46, 46, ... , 46>       %3 = shufflevector %2, <31, 30,
       | 29, ... , 0>
       | 
       | Minotaur instead produced:                 %1 = icmp eq %0, <46,
       | 46, 46, ... , 46>
       | 
       | Both compare the register to ASCII 46 ('.'), but LLVM originally
       | produced an unnecessary pair of vector reversals. Minotaur
       | removed it.
        
       ___________________________________________________________________
       (page generated 2023-07-13 23:00 UTC)