[all-commits] [llvm/llvm-project] 7432fb: [ARM][XO] Execute-only miscompiles double literals...

simonwallis2 via All-commits all-commits at lists.llvm.org
Mon Jun 8 00:14:08 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 7432fb2c784691eb85b5996e0922b55389b43b6e
      https://github.com/llvm/llvm-project/commit/7432fb2c784691eb85b5996e0922b55389b43b6e
  Author: Simon Wallis <simon.wallis2 at arm.com>
  Date:   2020-06-08 (Mon, 08 Jun 2020)

  Changed paths:
    M llvm/lib/Target/ARM/ARMISelLowering.cpp
    M llvm/test/CodeGen/ARM/constantfp.ll

  Log Message:
  -----------
  [ARM][XO] Execute-only miscompiles double literals for big-endian

Summary:
With -mbig-endian -mexecute-only and targeting an fpu,
an incorrect sequence of movw/movt was generated to construct a double literal.
The test suite was hardwired to check these wrong values.

The fault was caused by the explicit word swap in LowerConstantFP().

With -mbig-endian -mexecute-only -mfpu=none, a correct sequence of
movw/movt is generated to construct a double literal.
The test suite did not test this no fpu case.

The test suite expected values have been corrected.
The test file is updated to add testing of fpu=none case

Reviewers: christof, llvm-commits, dmgreen

Reviewed By: dmgreen

Subscribers: dmgreen, kristof.beyls, hiraditya, danielkiss

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D81259

Change-Id: Ia3737df243218c89c82f02b7f9f4032ecd5a3917




More information about the All-commits mailing list