[all-commits] [llvm/llvm-project] 3030e6: [X86][AVX] Add AVX2 tests to extractelement-load.ll

Simon Pilgrim via All-commits all-commits at lists.llvm.org
Tue Jul 7 10:33:21 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 3030e6b94b21f4d37ada6bef7cde6920415409d8
      https://github.com/llvm/llvm-project/commit/3030e6b94b21f4d37ada6bef7cde6920415409d8
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2020-07-07 (Tue, 07 Jul 2020)

  Changed paths:
    M llvm/test/CodeGen/X86/extractelement-load.ll

  Log Message:
  -----------
  [X86][AVX] Add AVX2 tests to extractelement-load.ll


  Commit: 6cff71e92e644adf5eab8cb411e5ac053746bbac
      https://github.com/llvm/llvm-project/commit/6cff71e92e644adf5eab8cb411e5ac053746bbac
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2020-07-07 (Tue, 07 Jul 2020)

  Changed paths:
    M llvm/test/CodeGen/X86/extractelement-load.ll

  Log Message:
  -----------
  [X86][AVX] Add test case showing incorrect extraction from VBROADCAST_LOAD on AVX2 targets

On AVX2 we tend to lower BUILD_VECTOR of constants as broadcasts if we can, in this case a <2 x i16> non-uniform constant has been lowered as a <4 x i32> broadcast.

The test case shows that the extraction folding code has incorrectly extracted the wrong part (lower WORD) of the resulting i32 memory source.

Found by internal fuzzing tests.


Compare: https://github.com/llvm/llvm-project/compare/dfa0db79d0e3...6cff71e92e64


More information about the All-commits mailing list