summaryrefslogtreecommitdiffstats
path: root/lldb/packages/Python/lldbsuite/test/expression_command/macros
diff options
context:
space:
mode:
authorCraig Topper <craig.topper@gmail.com>2016-12-09 06:42:28 +0000
committerCraig Topper <craig.topper@gmail.com>2016-12-09 06:42:28 +0000
commita55b483bb5d8f807ead39191d34b30b18a78e43d (patch)
tree2704b88a49cce2e78f7021b2a625d8d7f1e81f66 /lldb/packages/Python/lldbsuite/test/expression_command/macros
parent27c062932a8c3b44fe5d4c4fdbc0310cc32b61c6 (diff)
downloadbcm5719-llvm-a55b483bb5d8f807ead39191d34b30b18a78e43d.tar.gz
bcm5719-llvm-a55b483bb5d8f807ead39191d34b30b18a78e43d.zip
[AVX-512] Correctly preserve the passthru semantics of the FMA scalar intrinsics
Summary: Scalar intrinsics have specific semantics about the which input's upper bits are passed through to the output. The same input is also supposed to be the input we use for the lower element when the mask bit is 0 in a masked operation. We aren't currently keeping these semantics with instruction selection. This patch corrects this by introducing new scalar FMA ISD nodes that indicate whether operand 1(one of the multiply inputs) or operand 3(the additon/subtraction input) should pass thru its upper bits. We use this information to select 213/132 form for the operand 1 version and the 231 form for the operand 3 version. We also use this information to suppress combining FNEG operations on the passthru input since semantically the passthru bits aren't negated. This is stronger than the earlier check added for a user being SELECTS so we can remove that. This fixes PR30913. Reviewers: delena, zvi, v_klochkov Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D27144 llvm-svn: 289190
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/expression_command/macros')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud