[Power9] Add remaining __flaot128 builtin support for FMA round to odd
authorStefan Pintilie <stefanp@ca.ibm.com>
Wed, 11 Jul 2018 01:42:22 +0000 (01:42 +0000)
committerStefan Pintilie <stefanp@ca.ibm.com>
Wed, 11 Jul 2018 01:42:22 +0000 (01:42 +0000)
commitb9d01aa29e5d0aa433c2fc62ace709fe69c45ceb
tree13e0b71596172ed47d456f62b0487c964565cefa
parent95720c16b352b7dfaa8e6f1bf9de32fe13932655
[Power9] Add remaining __flaot128 builtin support for FMA round to odd

Implement this as it is done on GCC:

__float128 a, b, c, d;
a = __builtin_fmaf128_round_to_odd (b, c, d);         // generates xsmaddqpo
a = __builtin_fmaf128_round_to_odd (b, c, -d);        // generates xsmsubqpo
a = - __builtin_fmaf128_round_to_odd (b, c, d);       // generates xsnmaddqpo
a = - __builtin_fmaf128_round_to_odd (b, c, -d);      // generates xsnmsubpqp

Differential Revision: https://reviews.llvm.org/D48218

llvm-svn: 336754
llvm/lib/Target/PowerPC/PPCInstrVSX.td
llvm/test/CodeGen/PowerPC/builtins-ppc-p9-f128.ll