[all-commits] [llvm/llvm-project] f297d0: [AArch64][GlobalISel] More FCmp legalization. (#78...

David Green via All-commits all-commits at lists.llvm.org
Sun Jan 28 07:42:47 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: f297d0bc6d5c9ca8db704b65fd0946ef2e9610ff
      https://github.com/llvm/llvm-project/commit/f297d0bc6d5c9ca8db704b65fd0946ef2e9610ff
  Author: David Green <david.green at arm.com>
  Date:   2024-01-28 (Sun, 28 Jan 2024)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-fcmp.mir
    M llvm/test/CodeGen/AArch64/fcmp.ll

  Log Message:
  -----------
  [AArch64][GlobalISel] More FCmp legalization. (#78734)

This fills out the fcmp handling to be more like the other instructions,
adding better support for fp16 and some larger vectors.

Select of f16 values is still not handled optimally in places as the
select is only legal for s32 values, not s16. This would be correct for
integer but not necessarily for fp. It is as if we need to do
legalization -> regbankselect -> extra legaliation -> selection.




More information about the All-commits mailing list