[all-commits] [llvm/llvm-project] d0af73: [AArch64][GlobalISel] Widen s2 and s4 G_IMPLICIT_D...

Jessica Paquette via All-commits all-commits at lists.llvm.org
Wed Jul 21 12:59:56 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: d0af732bd00c0390fbcc6f900e8a59eb3954106c
      https://github.com/llvm/llvm-project/commit/d0af732bd00c0390fbcc6f900e8a59eb3954106c
  Author: Jessica Paquette <jpaquette at apple.com>
  Date:   2021-07-21 (Wed, 21 Jul 2021)

  Changed paths:
    M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-freeze.mir

  Log Message:
  -----------
  [AArch64][GlobalISel] Widen s2 and s4 G_IMPLICIT_DEF + G_FREEZE

These had

```
.clampScalar(0, s1, 64)
.widenScalarToNextPow2(0, 8)
```

If you have s2 or s4, then `widenScalarToNextPow2` does nothing.

This changes the `widenScalarToNextPow2` rule to use s8 as the minimum type
instead, allowing us to correctly widen s2 and s4.

This does not impact s1, since it's marked as legal already.

Differential Revision: https://reviews.llvm.org/D106413




More information about the All-commits mailing list