diff options
author | Daniel Sanders <daniel.sanders@imgtec.com> | 2014-03-12 13:35:43 +0000 |
---|---|---|
committer | Daniel Sanders <daniel.sanders@imgtec.com> | 2014-03-12 13:35:43 +0000 |
commit | 61c76cc56fc4481425e65f69eb32eece5d7c08df (patch) | |
tree | 507cb495f7d4c1849a07c87302d858aaebf5275b /clang/test/CodeGen/arm-byval-align.c | |
parent | ebb00e15538538e5ffc58ef3e585849b3f684411 (diff) | |
download | bcm5719-llvm-61c76cc56fc4481425e65f69eb32eece5d7c08df.tar.gz bcm5719-llvm-61c76cc56fc4481425e65f69eb32eece5d7c08df.zip |
[mips][fp64] Add an implicit def to MTHC1 claiming that it reads the lower 32-bits of 64-bit FPR
Summary:
This is a white lie to workaround a widespread bug in the -mfp64
implementation.
The problem is that none of the 32-bit fpu ops mention the fact that they
clobber the upper 32-bits of the 64-bit FPR. This allows MTHC1 to be
scheduled on the wrong side of most 32-bit FPU ops, particularly MTC1.
Fixing that requires a major overhaul of the FPU implementation which can't
be done right now due to time constraints.
The testcase is SingleSource/Benchmarks/Misc/oourafft.c when given
TARGET_CFLAGS='-mips32r2 mfp64 -mmsa'.
Also correct the comment added in r203464 to indicate that two
instructions were affected.
Reviewers: matheusalmeida, jacksprat
Reviewed By: matheusalmeida
Differential Revision: http://llvm-reviews.chandlerc.com/D3029
llvm-svn: 203659
Diffstat (limited to 'clang/test/CodeGen/arm-byval-align.c')
0 files changed, 0 insertions, 0 deletions