[all-commits] [llvm/llvm-project] fe5d1f: [ARM] Fix missing ELF FPU attributes for fp-armv8-...

Rodolfo Wottrich via All-commits all-commits at lists.llvm.org
Thu Aug 22 08:30:49 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: fe5d1f901a709bc6a2180b7a77b9d5948c6c3482
      https://github.com/llvm/llvm-project/commit/fe5d1f901a709bc6a2180b7a77b9d5948c6c3482
  Author: Rodolfo Wottrich <rgwott at users.noreply.github.com>
  Date:   2024-08-22 (Thu, 22 Aug 2024)

  Changed paths:
    M llvm/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp
    M llvm/test/MC/ARM/directive-fpu-multiple.s
    A llvm/test/MC/ARM/directive-fpu-single-crypto-neon-fp-armv8.s
    A llvm/test/MC/ARM/directive-fpu-single-fp-armv8-fullfp16-d16.s
    A llvm/test/MC/ARM/directive-fpu-single-fp-armv8-fullfp16-sp-d16.s
    A llvm/test/MC/ARM/directive-fpu-single-fp-armv8.s
    A llvm/test/MC/ARM/directive-fpu-single-fpv4-sp-d16.s
    A llvm/test/MC/ARM/directive-fpu-single-fpv5-d16.s
    A llvm/test/MC/ARM/directive-fpu-single-fpv5-sp-d16.s
    A llvm/test/MC/ARM/directive-fpu-single-neon-fp-armv8.s
    A llvm/test/MC/ARM/directive-fpu-single-neon-fp16.s
    A llvm/test/MC/ARM/directive-fpu-single-neon-vfpv4.s
    A llvm/test/MC/ARM/directive-fpu-single-neon.s
    A llvm/test/MC/ARM/directive-fpu-single-none.s
    A llvm/test/MC/ARM/directive-fpu-single-vfp.s
    A llvm/test/MC/ARM/directive-fpu-single-vfpv2.s
    A llvm/test/MC/ARM/directive-fpu-single-vfpv3-d16-fp16.s
    A llvm/test/MC/ARM/directive-fpu-single-vfpv3-d16.s
    A llvm/test/MC/ARM/directive-fpu-single-vfpv3-fp16.s
    A llvm/test/MC/ARM/directive-fpu-single-vfpv3.s
    A llvm/test/MC/ARM/directive-fpu-single-vfpv3xd-fp16.s
    A llvm/test/MC/ARM/directive-fpu-single-vfpv3xd.s
    A llvm/test/MC/ARM/directive-fpu-single-vfpv4-d16.s
    A llvm/test/MC/ARM/directive-fpu-single-vfpv4.s

  Log Message:
  -----------
  [ARM] Fix missing ELF FPU attributes for fp-armv8-fullfp16-d16  (#105677)

An assembly input with

>   .fpu fp-armv8-fullfp16-d16

crashes the compiler because the ELF FPU attribute emitter misses the
respective entry. This patch fixes this.

Interestingly, compiling with -mfpu=fp-armv8-fullfp16-d16 does not cause
the crash because FPv5_D16 is an alias in the compiler and

>   .fpu fpv5-d16

is emitted instead, which does not crash.

The existing .fpu directive test with multiple FPUs serves the purpose
of verifying that each possible FPU option is defined, but does not
trigger the crash because only the last .fpu directive goes effectively
down the code path. Therefore one test for each FPU is required.

Fixes #105674.



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