summaryrefslogtreecommitdiffstats
path: root/polly/test/Isl/CodeGen/exprModDiv.ll
diff options
context:
space:
mode:
Diffstat (limited to 'polly/test/Isl/CodeGen/exprModDiv.ll')
-rw-r--r--polly/test/Isl/CodeGen/exprModDiv.ll34
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"
OpenPOWER on IntegriCloud