Skip to content
  1. Aug 23, 2011
  2. Aug 22, 2011
  3. Aug 20, 2011
  4. Aug 19, 2011
  5. Aug 18, 2011
  6. Aug 17, 2011
  7. Aug 16, 2011
    • Bruno Cardoso Lopes's avatar
      Instead of always leaving the work to the generic legalizer when · 2e99f1b3
      Bruno Cardoso Lopes authored
      there is no support for native 256-bit shuffles, be more smart in some
      cases, for example, when you can extract specific 128-bit parts and use
      regular 128-bit shuffles for them. Example:
      
      For this shuffle:
        shufflevector <4 x i64> %a, <4 x i64> %b, <4 x i32>
                      <i32 1, i32 0, i32 7, i32 6>
      
      This was expanded to:
        vextractf128  $1, %ymm1, %xmm2
        vpextrq $0, %xmm2, %rax
        vmovd %rax, %xmm1
        vpextrq $1, %xmm2, %rax
        vmovd %rax, %xmm2
        vpunpcklqdq %xmm1, %xmm2, %xmm1
        vpextrq $0, %xmm0, %rax
        vmovd %rax, %xmm2
        vpextrq $1, %xmm0, %rax
        vmovd %rax, %xmm0
        vpunpcklqdq %xmm2, %xmm0, %xmm0
        vinsertf128 $1, %xmm1, %ymm0, %ymm0
        ret
      
      Now we get:
        vshufpd $1, %xmm0, %xmm0, %xmm0
        vextractf128  $1, %ymm1, %xmm1
        vshufpd $1, %xmm1, %xmm1, %xmm1
        vinsertf128 $1, %xmm1, %ymm0, %ymm0
      
      llvm-svn: 137733
      2e99f1b3
    • Bruno Cardoso Lopes's avatar
      While I'm here, remove the "_alt" hacks to a series of INSERT_SUBREG and · c1676e41
      Bruno Cardoso Lopes authored
      also add the AVX versions of the 128-bit patterns
      
      llvm-svn: 137685
      c1676e41
    • Bruno Cardoso Lopes's avatar
      Reorder declarations of vmovmskp* and also put the necessary AVX · 67005029
      Bruno Cardoso Lopes authored
      predicate and TB encoding fields. This fix the encoding for the
      attached testcase. This fixes PR10625.
      
      llvm-svn: 137684
      67005029
    • Jim Grosbach's avatar
      MCTargetAsmParser target match predicate support. · 120a96a7
      Jim Grosbach authored
      Allow a target assembly parser to do context sensitive constraint checking
      on a potential instruction match. This will be used, for example, to handle
      Thumb2 IT block parsing.
      
      llvm-svn: 137675
      120a96a7
  8. Aug 15, 2011
  9. Aug 12, 2011
  10. Aug 11, 2011
  11. Aug 10, 2011
  12. Aug 09, 2011
Loading