AArch64: Better codegen for storing to __fp16.
authorJim Grosbach <grosbach@apple.com>
Wed, 9 Jul 2014 18:55:52 +0000 (18:55 +0000)
committerJim Grosbach <grosbach@apple.com>
Wed, 9 Jul 2014 18:55:52 +0000 (18:55 +0000)
commit34cc92b475ce19206b81aef78ed351e199c8b5df
tree8b12d9a8797fc5cda4750aca40ae947c7ebfaf59
parent37b8093a8f93c39297c2f4c25337b7550a710202
AArch64: Better codegen for storing to __fp16.

Storing will generally be immediately preceded by rounding from an f32
or f64, so make sure to match those patterns directly to convert into the
FPR16 register class directly rather than going through the integer GPRs.

This also eliminates an extra step in the convert-from-f64 path
which was first converting to f32 and then to f16 from there.

rdar://17594379

llvm-svn: 212638
llvm/lib/Target/AArch64/AArch64InstrInfo.td
llvm/test/CodeGen/AArch64/f16-convert.ll