diff options
author | Sanjay Patel <spatel@rotateright.com> | 2019-02-28 19:47:04 +0000 |
---|---|---|
committer | Sanjay Patel <spatel@rotateright.com> | 2019-02-28 19:47:04 +0000 |
commit | 7fc6ef7dd7433c1947e1a00db0c32d1c68bf385f (patch) | |
tree | 8c5e21d6735a77017cca252210db17bf6c0c6584 /llvm/lib/IR/Module.cpp | |
parent | fadb22f4e2d64b614c87f48b625adaf217cc904f (diff) | |
download | bcm5719-llvm-7fc6ef7dd7433c1947e1a00db0c32d1c68bf385f.tar.gz bcm5719-llvm-7fc6ef7dd7433c1947e1a00db0c32d1c68bf385f.zip |
[x86] scalarize extract element 0 of FP math
This is another step towards ensuring that we produce the optimal code for reductions,
but there are other potential benefits as seen in the tests diffs:
1. Memory loads may get scalarized resulting in more efficient code.
2. Memory stores may get scalarized resulting in more efficient code.
3. Complex ops like fdiv/sqrt get scalarized which may be faster instructions depending on uarch.
4. Even simple ops like addss/subss/mulss/roundss may result in faster operation/less frequency throttling when scalarized depending on uarch.
The TODO comment suggests 1 or more follow-ups for opcodes that can currently result in regressions.
Differential Revision: https://reviews.llvm.org/D58282
llvm-svn: 355130
Diffstat (limited to 'llvm/lib/IR/Module.cpp')
0 files changed, 0 insertions, 0 deletions