Suyog Sarda
1dea0dc279
This patch recognizes (+ (+ v0, v1) (+ v2, v3)), reorders them for bundling into vector of loads,
and vectorizes it.
Test case :
float hadd(float* a) {
return (a[0] + a[1]) + (a[2] + a[3]);
}
AArch64 assembly before patch :
ldp s0, s1, [x0]
ldp s2, s3, [x0, #8]
fadd s0, s0, s1
fadd s1, s2, s3
fadd s0, s0, s1
ret
AArch64 assembly after patch :
ldp d0, d1, [x0]
fadd v0.2s, v0.2s, v1.2s
faddp s0, v0.2s
ret
Reviewed Link : http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20141208/248531.html
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@224119 91177308-0d34-0410-b5e6-96231b3b80d8
2014-12-12 12:53:44 +00:00
..
2014-10-03 20:01:09 +00:00
2014-09-11 08:40:17 +00:00
2014-10-03 20:01:09 +00:00
2014-09-03 21:01:03 +00:00
2014-06-09 22:42:55 +00:00
2014-10-16 20:00:02 +00:00
2014-11-12 22:16:55 +00:00
2014-06-10 00:32:29 +00:00
2014-08-21 02:12:35 +00:00
2014-11-25 17:23:05 +00:00
2014-10-07 15:10:23 +00:00
2014-12-01 21:04:44 +00:00
2014-11-18 17:46:32 +00:00
2014-11-03 18:19:26 +00:00
2014-12-03 17:32:44 +00:00
2014-10-07 07:07:19 +00:00
2014-12-09 18:38:53 +00:00
2014-12-01 02:55:24 +00:00
2014-11-18 02:20:58 +00:00
2014-12-11 12:41:10 +00:00
2014-12-12 04:34:07 +00:00
2014-11-02 08:03:05 +00:00
2014-12-11 12:56:17 +00:00
2014-07-30 22:51:54 +00:00
2014-11-25 17:23:05 +00:00
2014-12-02 14:22:34 +00:00
2014-11-03 23:19:16 +00:00
2014-10-03 20:01:09 +00:00
2014-10-29 23:05:12 +00:00
2014-09-12 17:55:16 +00:00
2014-12-10 00:07:37 +00:00
2014-11-20 20:19:55 +00:00
2014-12-02 22:59:06 +00:00
2014-06-13 14:24:07 +00:00
2014-07-11 10:36:00 +00:00
2014-10-16 20:00:02 +00:00
2014-10-16 19:43:08 +00:00
2014-09-02 18:47:54 +00:00
2014-07-30 22:51:54 +00:00
2014-11-17 02:28:27 +00:00
2014-08-01 23:21:21 +00:00
2014-11-19 23:21:20 +00:00
2014-10-30 22:28:46 +00:00
2014-10-03 20:01:09 +00:00
2014-10-03 20:01:09 +00:00
2014-11-07 08:54:19 +00:00
2014-10-25 18:34:03 +00:00
2014-12-04 22:19:28 +00:00
2014-12-12 12:53:44 +00:00
2014-11-21 02:34:55 +00:00
2014-10-03 20:01:09 +00:00
2014-12-03 04:28:32 +00:00
2014-11-19 13:32:51 +00:00
2014-06-09 22:42:55 +00:00
2014-12-02 18:31:53 +00:00