[all-commits] [llvm/llvm-project] 9545ef: [Mips] Fix fast isel for i16 bswap. (#103398)

Craig Topper via All-commits all-commits at lists.llvm.org
Tue Aug 20 00:16:47 PDT 2024


  Branch: refs/heads/release/19.x
  Home:   https://github.com/llvm/llvm-project
  Commit: 9545ef53ebe8be2a53ef6f84626f52bed73c82ba
      https://github.com/llvm/llvm-project/commit/9545ef53ebe8be2a53ef6f84626f52bed73c82ba
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

  Changed paths:
    M llvm/lib/Target/Mips/MipsFastISel.cpp
    M llvm/test/CodeGen/Mips/Fast-ISel/bswap1.ll

  Log Message:
  -----------
  [Mips] Fix fast isel for i16 bswap. (#103398)

We need to mask the SRL result to 8 bits before ORing in the SLL. This
is needed in case bits 23:16 of the input aren't zero. They will have
been shifted into bits 15:8.

We don't need to AND the result with 0xffff. It's ok if the upper 16
bits of the register are garbage.

Fixes #103035.

(cherry picked from commit ebe7265b142f370f0a563fece5db22f57383ba2d)



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