[all-commits] [llvm/llvm-project] 848f6a: [X86] Add tests showing failure by matchAddressRec...

Simon Pilgrim via All-commits all-commits at lists.llvm.org
Sun Jul 9 07:54:29 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 848f6abfdb0f4cb87a33707ba852129fd0f05026
      https://github.com/llvm/llvm-project/commit/848f6abfdb0f4cb87a33707ba852129fd0f05026
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2023-07-09 (Sun, 09 Jul 2023)

  Changed paths:
    M llvm/test/CodeGen/X86/h-register-addressing-64.ll

  Log Message:
  -----------
  [X86] Add tests showing failure by matchAddressRecursively to peek through ZEXT nodes to match foldMaskAndShiftToExtract

Test coverage for a similar regression in D146121


  Commit: 7428739ea81e1508b8da92e1561574216857a897
      https://github.com/llvm/llvm-project/commit/7428739ea81e1508b8da92e1561574216857a897
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2023-07-09 (Sun, 09 Jul 2023)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
    M llvm/test/CodeGen/X86/h-register-addressing-64.ll

  Log Message:
  -----------
  [X86] matchAddressRecursively - peek through ZEXT nodes to match foldMaskAndShiftToExtract

Handle (zero_extend (and (srl X, C1), C2)) patterns to allow foldMaskAndShiftToExtract to match h-register extractions from smaller types

Ideally matchAddressRecursively needs to be able to recurse through ZEXT/SEXT nodes generally but for now we should just handle specific cases when they occur

Addresses regressions in D146121


Compare: https://github.com/llvm/llvm-project/compare/c54ff51be9c1...7428739ea81e


More information about the All-commits mailing list