diff options
Diffstat (limited to 'polly/test/Isl/CodeGen/exprModDiv.ll')
| -rw-r--r-- | polly/test/Isl/CodeGen/exprModDiv.ll | 34 |
1 files changed, 13 insertions, 21 deletions
diff --git a/polly/test/Isl/CodeGen/exprModDiv.ll b/polly/test/Isl/CodeGen/exprModDiv.ll index 7453a93cff0..43117819aa6 100644 --- a/polly/test/Isl/CodeGen/exprModDiv.ll +++ b/polly/test/Isl/CodeGen/exprModDiv.ll @@ -18,7 +18,7 @@ ; A[i % 127] ; CHECK: %pexp.pdiv_r = urem i64 %polly.indvar, 127 -; CHECK: %polly.access.A{{[0-9]*}} = getelementptr float, float* %A, i64 %pexp.pdiv_r +; CHECK: %polly.access.A9 = getelementptr float, float* %A, i64 %pexp.pdiv_r ; A[floor(i / 127)] ; @@ -28,8 +28,7 @@ ; each value of i to indeed be mapped to a value. ; ; CHECK: %pexp.p_div_q = udiv i64 %polly.indvar, 127 -; CHECK: %polly.div.trunc = trunc i64 %pexp.p_div_q to i58 -; CHECK: %polly.access.B{{[0-9]*}} = getelementptr float, float* %B, i58 %polly.div.trunc +; CHECK: %polly.access.B10 = getelementptr float, float* %B, i64 %pexp.p_div_q ; #define floord(n,d) ((n < 0) ? (n - d + 1) : n) / d ; A[p + 127 * floord(-p - 1, 127) + 127] @@ -38,39 +37,32 @@ ; CHECK: %pexp.fdiv_q.2 = icmp slt i64 %p, 0 ; CHECK: %pexp.fdiv_q.3 = select i1 %pexp.fdiv_q.2, i64 %pexp.fdiv_q.1, i64 %p ; CHECK: %pexp.fdiv_q.4 = sdiv i64 %pexp.fdiv_q.3, 127 -; CHECK: %polly.div.trunc1 = trunc i64 %pexp.fdiv_q.4 to i58 -; CHECK: %[[r0:[0-9]*]] = sext i58 %polly.div.trunc1 to i64 -; CHECK: %[[r1:[0-9]*]] = mul nsw i64 127, %[[r0]] +; CHECK: %[[r1:[0-9]*]] = mul nsw i64 127, %pexp.fdiv_q.4 ; CHECK: %[[r2:[0-9]*]] = sub nsw i64 %p, %[[r1]] -; CHECK: %polly.access.A{{[0-9]*}} = getelementptr float, float* %A, i64 %[[r2]] +; CHECK: %polly.access.A11 = getelementptr float, float* %A, i64 %[[r2]] ; A[p / 127] ; CHECK: %pexp.div = sdiv exact i64 %p, 127 -; CHECK: %polly.div.trunc3 = trunc i64 %pexp.div to i58 -; CHECK: %polly.access.B{{[0-9]*}} = getelementptr float, float* %B, i58 %polly.div.trunc3 +; CHECK: %polly.access.B12 = getelementptr float, float* %B, i64 %pexp.div ; A[i % 128] ; POW2: %pexp.pdiv_r = urem i64 %polly.indvar, 128 -; POW2: %polly.access.A{{[0-9]*}} = getelementptr float, float* %A, i64 %pexp.pdiv_r +; POW2: %polly.access.A9 = getelementptr float, float* %A, i64 %pexp.pdiv_r ; A[floor(i / 128)] -; POW2: %polly.div.shr = ashr i64 %polly.indvar, 7 -; POW2: %polly.div.trunc = trunc i64 %polly.div.shr to i57 -; POW2: %polly.access.B{{[0-9]*}} = getelementptr float, float* %B, i57 %polly.div.trunc +; POW2: %pexp.p_div_q = udiv i64 %polly.indvar, 128 +; POW2: %polly.access.B10 = getelementptr float, float* %B, i64 %pexp.p_div_q ; #define floord(n,d) ((n < 0) ? (n - d + 1) : n) / d ; A[p + 128 * floord(-p - 1, 128) + 128] -; POW2: %polly.div.shr1 = ashr i64 %p, 7 -; POW2: %polly.div.trunc2 = trunc i64 %polly.div.shr1 to i57 -; POW2: %[[r0:[0-9]*]] = sext i57 %polly.div.trunc2 to i64 -; POW2: %[[r1:[0-9]*]] = mul nsw i64 128, %[[r0]] +; POW2: %polly.fdiv_q.shr = ashr i64 %p, 7 +; POW2: %[[r1:[0-9]*]] = mul nsw i64 128, %polly.fdiv_q.shr ; POW2: %[[r2:[0-9]*]] = sub nsw i64 %p, %[[r1]] -; POW2: %polly.access.A{{[0-9]*}} = getelementptr float, float* %A, i64 %[[r2]] +; POW2: %polly.access.A11 = getelementptr float, float* %A, i64 %[[r2]] ; A[p / 128] -; POW2: %polly.div.shr4 = ashr i64 %p, 7 -; POW2: %polly.div.trunc5 = trunc i64 %polly.div.shr4 to i57 -; POW2: %polly.access.B{{[0-9]*}} = getelementptr float, float* %B, i57 %polly.div.trunc5 +; POW2: %pexp.div = sdiv exact i64 %p, 128 +; POW2: %polly.access.B12 = getelementptr float, float* %B, i64 %pexp.div target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" |

