[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