diff options
author | Ahmed Bougacha <ahmed.bougacha@gmail.com> | 2015-11-17 16:45:40 +0000 |
---|---|---|
committer | Ahmed Bougacha <ahmed.bougacha@gmail.com> | 2015-11-17 16:45:40 +0000 |
commit | 88ddeae8bda08376ddb05e47c5e5ca6f83454131 (patch) | |
tree | ec4d2f1d6d7b7439fda0cd2f03dbbd7945004d8a /llvm/lib/Target/Target.cpp | |
parent | af08e1bdf053f0a4e385bd2889d06ce546f514de (diff) | |
download | bcm5719-llvm-88ddeae8bda08376ddb05e47c5e5ca6f83454131.tar.gz bcm5719-llvm-88ddeae8bda08376ddb05e47c5e5ca6f83454131.zip |
[AArch64] Promote f16 SELECT_CC CC operands when op is legal.
SELECT_CC has the nasty property of having operands with unrelated
types. So if you do something like:
f32 = select_cc f16, f16, f32, f32, cc
You'd only look for the action for <select_cc, f32>, but never f16.
If the types are all legal, but the op isn't (as for f16 on AArch64,
or for f128 on x86_64/AArch64?), then you get into trouble.
For f128, we have softenSetCCOperands to handle this case.
Similarly, for f16, we can directly promote the CC operands.
llvm-svn: 253344
Diffstat (limited to 'llvm/lib/Target/Target.cpp')
0 files changed, 0 insertions, 0 deletions