[PATCH] D71843: [ARM][MVE] MVE-I should not be disabled by -mfpu=none

Momchil Velikov via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Dec 23 09:15:52 PST 2019


chill created this revision.
chill added reviewers: SjoerdMeijer, simon_tatham, efriedma.
Herald added subscribers: llvm-commits, dmgreen, hiraditya, kristof.beyls.
Herald added a project: LLVM.

Architecturally, it's allowed to MVE-I without an FPU, thus `-mfpu=none` should
not disable MVE-I or moves to/from FP-registers.

      

This patch removes `+/-fpregs` from features unconditionally added to target
feature list, depending on FPU and moves the logic to Clang driver, where the
negative form (`-fpregs`) is conditionally added to the target features list for
the cases of `-mfloat-abi=soft`, or `-mfpu=none` without `+mve`. Only the
negative form is added by the driver, the positive one is derived from other
features in the backend.


https://reviews.llvm.org/D71843

Files:
  clang/lib/Driver/ToolChains/Arch/ARM.cpp
  clang/test/CodeGen/arm-target-features.c
  clang/test/Driver/arm-mfpu.c
  llvm/lib/Support/ARMTargetParser.cpp
  llvm/test/CodeGen/ARM/softfp-constant-comparison.ll
  llvm/test/CodeGen/Thumb2/LowOverheadLoops/dont-remove-loop-update.mir
  llvm/test/CodeGen/Thumb2/LowOverheadLoops/dont-remove-loop-update2.mir
  llvm/test/CodeGen/Thumb2/LowOverheadLoops/dont-remove-loop-update3.mir
  llvm/test/CodeGen/Thumb2/LowOverheadLoops/fast-fp-loops.ll
  llvm/test/CodeGen/Thumb2/LowOverheadLoops/mve-float-loops.ll
  llvm/test/Transforms/LoopVectorize/ARM/mve-shiftcost.ll
  llvm/test/Transforms/LoopVectorize/ARM/mve-vldn.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D71843.235152.patch
Type: text/x-patch
Size: 29791 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20191223/677e17ec/attachment.bin>


More information about the llvm-commits mailing list