diff options
author | Evan Cheng <evan.cheng@apple.com> | 2011-02-23 02:24:55 +0000 |
---|---|---|
committer | Evan Cheng <evan.cheng@apple.com> | 2011-02-23 02:24:55 +0000 |
commit | d6b641e5bc3e7b65a315290ddea8bcf56c3f8202 (patch) | |
tree | 2d29c9f7c039a70babd8e55631fdcf2d3540cb76 /llvm/tools/llvm-mc/Disassembler.cpp | |
parent | ef59fe78455c6d2789daa5c11026ab92b3ee18b4 (diff) | |
download | llvm-d6b641e5bc3e7b65a315290ddea8bcf56c3f8202.zip llvm-d6b641e5bc3e7b65a315290ddea8bcf56c3f8202.tar.gz llvm-d6b641e5bc3e7b65a315290ddea8bcf56c3f8202.tar.bz2 |
More fcopysign correctness and performance fix.
The previous codegen for the slow path (when values are in VFP / NEON
registers) was incorrect if the source is NaN.
The new codegen uses NEON vbsl instruction to copy the sign bit. e.g.
vmov.i32 d1, #0x80000000
vbsl d1, d2, d0
If NEON is not available, it uses integer instructions to copy the sign bit.
rdar://9034702
llvm-svn: 126295
Diffstat (limited to 'llvm/tools/llvm-mc/Disassembler.cpp')
0 files changed, 0 insertions, 0 deletions