[all-commits] [llvm/llvm-project] 3f7b4c: [PowerPC] Add support for embedded devices with EFPU2

Nemanja Ivanovic via All-commits all-commits at lists.llvm.org
Tue Jan 12 07:50:10 PST 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 3f7b4ce96065eea66bf4344973173e76ec1a4255
      https://github.com/llvm/llvm-project/commit/3f7b4ce96065eea66bf4344973173e76ec1a4255
  Author: Nemanja Ivanovic <nemanja.i.ibm at gmail.com>
  Date:   2021-01-12 (Tue, 12 Jan 2021)

  Changed paths:
    M clang/docs/ClangCommandLineReference.rst
    M clang/include/clang/Driver/Options.td
    M clang/lib/Basic/Targets/PPC.cpp
    M clang/test/Driver/ppc-features.cpp
    M llvm/lib/Target/PowerPC/PPC.td
    M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
    M llvm/lib/Target/PowerPC/PPCSubtarget.cpp
    M llvm/lib/Target/PowerPC/PPCSubtarget.h
    M llvm/test/CodeGen/PowerPC/spe.ll

  Log Message:
  -----------
  [PowerPC] Add support for embedded devices with EFPU2

PowerPC cores like e200z759n3 [1] using an efpu2 only support single precision
hardware floating point instructions. The single precision instructions efs*
and evfs* are identical to the spe float instructions while efd* and evfd*
instructions trigger a not implemented exception.

This patch introduces a new command line option -mefpu2 which leads to
single-hardware / double-software code generation.

[1] Core reference:
  https://www.nxp.com/files-static/32bit/doc/ref_manual/e200z759CRM.pdf

Differential revision: https://reviews.llvm.org/D92935




More information about the All-commits mailing list