Skip to content
  • Evan Cheng's avatar
    Look for SSE and instructions of this form: (and x, (build_vector c1,c2,c3,c4)). · 82b04130
    Evan Cheng authored
    If there exists a use of a build_vector that's the bitwise complement of the mask,
    then transform the node to
    (and (xor x, (build_vector -1,-1,-1,-1)), (build_vector ~c1,~c2,~c3,~c4)).
    
    Since this transformation is only useful when 1) the given build_vector will
    become a load from constpool, and 2) (and (xor x -1), y) matches to a single
    instruction, I decided this is appropriate as a x86 specific transformation.
    rdar://7323335
    
    llvm-svn: 96389
    82b04130
Loading