[all-commits] [llvm/llvm-project] 1bd647: [X86] Remove SandyBridge CVTSS2SIrm/CVTSD2SIrm ove...

Simon Pilgrim via All-commits all-commits at lists.llvm.org
Sat Nov 5 05:22:50 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 1bd6471c125d4de288753da0ff8737375503b796
      https://github.com/llvm/llvm-project/commit/1bd6471c125d4de288753da0ff8737375503b796
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2022-11-05 (Sat, 05 Nov 2022)

  Changed paths:
    M llvm/lib/Target/X86/X86SchedSandyBridge.td
    M llvm/test/tools/llvm-mca/X86/Barcelona/resources-sse1.s
    M llvm/test/tools/llvm-mca/X86/Barcelona/resources-sse2.s
    M llvm/test/tools/llvm-mca/X86/Generic/resources-sse1.s
    M llvm/test/tools/llvm-mca/X86/Generic/resources-sse2.s
    M llvm/test/tools/llvm-mca/X86/SandyBridge/resources-sse1.s
    M llvm/test/tools/llvm-mca/X86/SandyBridge/resources-sse2.s

  Log Message:
  -----------
  [X86] Remove SandyBridge CVTSS2SIrm/CVTSD2SIrm overrides

Just use the default WriteCvtSS2I/WriteCvtSD2I folded variants (already used by the VCVTSS2SI/VCVTSD2SI AVX variants).

Confirmed with agner and uops.info - there should be no difference between the SSE/AVX1 variants in folded load latency


  Commit: 184817d0df00af94168fc9121b42e5a3fd77d8d7
      https://github.com/llvm/llvm-project/commit/184817d0df00af94168fc9121b42e5a3fd77d8d7
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2022-11-05 (Sat, 05 Nov 2022)

  Changed paths:
    M llvm/lib/Target/X86/X86InstrSSE.td

  Log Message:
  -----------
  [X86] Add missing ReadAfterFold attributes from CVTSD2SSrm/CVTSS2SDrm to match the AVX + _Int equivalents

This was never added in D52886, probably because the defs were already missing the old ReadAfterLd attribute, but they do exhibit the same behaviour of reading the dst reg after the load.


Compare: https://github.com/llvm/llvm-project/compare/d95dc5bce9df...184817d0df00


More information about the All-commits mailing list