[all-commits] [llvm/llvm-project] 00934b: [AArch64] Funnel Shift now uses rev32/rev64 instru...

jyli0116 via All-commits all-commits at lists.llvm.org
Wed Apr 23 06:40:01 PDT 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 00934beb8e6b9a5fe04ff7805249706d0edc3c5b
      https://github.com/llvm/llvm-project/commit/00934beb8e6b9a5fe04ff7805249706d0edc3c5b
  Author: jyli0116 <jyli0116 at gmail.com>
  Date:   2025-04-23 (Wed, 23 Apr 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/test/CodeGen/AArch64/fsh.ll

  Log Message:
  -----------
  [AArch64] Funnel Shift now uses rev32/rev64 instructions (#136707)

Fixes #130469 

Now uses REV32/REV64 instructions to complete operation.

New Output:
```
G1:
        rev64   v0.4s, v0.4s
        ret
G2:
        rev32   v0.8h, v0.8h
        ret
G3:
        rev16   v0.16b, v0.16b
        ret
G4:
        rev32   v0.4h, v0.4h
        ret
G5:
        rev16   v0.8b, v0.8b
        ret
```

Old Output:

```
G1:
        shl     v1.2d, v0.2d, #32
        usra    v1.2d, v0.2d, #32
        mov     v0.16b, v1.16b
        ret

G2:
        shl     v1.4s, v0.4s, #16
        usra    v1.4s, v0.4s, #16
        mov     v0.16b, v1.16b
        ret

G3:
        rev16   v0.16b, v0.16b
        ret

G4:
        shl     v1.2s, v0.2s, #16
        usra    v1.2s, v0.2s, #16
        fmov    d0, d1
        ret

G5:
        rev16   v0.8b, v0.8b
        ret
```



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list