[PATCH] D76508: [VectorUtils] move x86's scaleShuffleMask to generic VectorUtils
    Eli Friedman via Phabricator via llvm-commits 
    llvm-commits at lists.llvm.org
       
    Fri Mar 20 10:50:26 PDT 2020
    
    
  
efriedma added a comment.
Whether a given transform is endian-agnostic depends on the specific transform.  If you're talking about reordering a bitcast and a shuffle, in particular, I'm pretty sure that's endian-agnostic.  Trivial example:
  %shufflefirst = shufflevector <1 x i64> %x, <1 x i64> %x, <1 x i32> <i32 0>
  %z = bitcast <1 x i64> %shufflefirst to <2 x i32>
  
  vs.
  
  %bitcastfirst = bitcast <1 x i64> %x to <2 x i32>
  %result = shufflevector <2 x i32> %bitcastfirst, <1 x i32> %bitcastfirst, <2 x i32> <i32 0, i32 1>
The shuffle is a no-op; an identity shuffle is spelled the same way on big-endian and little-endian targets.
CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D76508/new/
https://reviews.llvm.org/D76508
    
    
More information about the llvm-commits
mailing list