Arnold Schwaighofer
f9cea17f75
LoopVectorizer: integer division is not a reduction operation
Don't classify idiv/udiv as a reduction operation. Integer division is lossy.
For example : (1 / 2) * 4 != 4/2.
Example:
int a[] = { 2, 5, 2, 2}
int x = 80;
for()
x /= a[i];
Scalar:
x /= 2 // = 40
x /= 5 // = 8
x /= 2 // = 4
x /= 2 // = 2
Vectorized:
<80, 1> / <2,5> //= <40,0>
<40, 0> / <2,2> //= <20,0>
20*0 = 0
radar://13640654
llvm-svn: 179381
2013-04-12 15:15:19 +00:00
..
2013-01-29 23:31:38 +00:00
2013-04-04 23:26:27 +00:00
2013-01-09 01:20:59 +00:00
2013-01-05 00:58:48 +00:00
2013-01-05 00:58:48 +00:00
2013-01-23 01:35:00 +00:00
2013-01-09 01:20:59 +00:00
2013-01-09 01:20:59 +00:00
2013-01-09 01:20:59 +00:00
2013-03-09 15:56:34 +00:00
2013-01-09 01:20:59 +00:00
2013-01-07 23:13:00 +00:00
2013-01-09 01:20:59 +00:00
2013-03-09 18:25:40 +00:00
2013-01-13 07:56:29 +00:00
2013-01-05 00:58:48 +00:00
2013-01-09 01:20:59 +00:00
2013-01-09 01:20:59 +00:00
2013-01-09 01:20:59 +00:00
2013-01-05 00:58:48 +00:00
2013-02-27 15:24:19 +00:00
2013-01-05 00:58:48 +00:00
2013-04-12 15:15:19 +00:00
2013-01-09 01:20:59 +00:00
2013-01-09 01:20:59 +00:00
2013-01-09 01:20:59 +00:00
2013-01-10 17:34:39 +00:00
2013-03-01 19:07:31 +00:00
2013-01-23 01:35:00 +00:00
2013-01-09 01:20:59 +00:00
2013-01-09 01:20:59 +00:00
2013-01-19 13:57:58 +00:00
2013-01-09 01:20:59 +00:00
2013-01-09 01:20:59 +00:00
2013-01-09 01:20:59 +00:00
2013-01-09 01:20:59 +00:00
2013-01-05 00:58:48 +00:00
2013-01-23 01:35:00 +00:00
2013-03-02 01:33:49 +00:00
2013-01-09 01:20:59 +00:00