Exploit vabsd for some cases on power9, for example:
void foo (char *restrict p, char *restrict q, char *restrict t) { for (int i = 0; i < 16; i++) t[i] = abs (p[i] - q[i]); }
this case should be matched to the HW instruction vabsdub.
Paths
| Differential D80271
[PowerPC] Exploit vabsd for absolute difference of vectors on P9 ClosedPublic Authored by Esme on May 19 2020, 11:05 PM.
Details
Summary Exploit vabsd for some cases on power9, for example: void foo (char *restrict p, char *restrict q, char *restrict t) { for (int i = 0; i < 16; i++) t[i] = abs (p[i] - q[i]); } this case should be matched to the HW instruction vabsdub.
Diff Detail
Event TimelineComment Actions minor comment: would it be better to make 'some cases' in title more accurate, like 'absolute difference' (how ISA names the instr)? Esme retitled this revision from [PowerPC] Exploit vabsd for some cases on P9 to [PowerPC] Exploit vabsd for absolute difference of vectors on P9.May 26 2020, 2:10 AM This revision is now accepted and ready to land.May 28 2020, 8:20 PM Closed by commit rG3101601b54fb: [PowerPC] Exploit vabsd on P9 (authored by Esme, committed by Eloring <onelirong@gmail.com>). · Explain WhyMay 31 2020, 7:42 PM This revision was automatically updated to reflect the committed changes.
Revision Contents
Diff 267540 llvm/lib/Target/PowerPC/PPCISelLowering.cpp
llvm/test/CodeGen/PowerPC/vec_absd.ll
|