1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-22 02:33:06 +01:00

Pythran compat - range vs. xrange

Use range instead of xrange whenever possible. The extra list creation in Python2
is generally not a performance bottleneck.

Differential Revision: https://reviews.llvm.org/D56253

llvm-svn: 350309
This commit is contained in:
Serge Guelton 2019-01-03 14:11:58 +00:00
parent 9489afe68c
commit f594682627
14 changed files with 41 additions and 41 deletions

View File

@ -79,7 +79,7 @@ print('entry:')
print(' br label %before0') print(' br label %before0')
print('') print('')
for i in xrange(branch_blocks): for i in range(branch_blocks):
next = 'before%d' % (i + 1) if i + 1 < branch_blocks else 'main' next = 'before%d' % (i + 1) if i + 1 < branch_blocks else 'main'
print('before%d:' % i) print('before%d:' % i)
print(' %%bstop%d = getelementptr i32, i32 *%%stop, i64 %d' % (i, i)) print(' %%bstop%d = getelementptr i32, i32 *%%stop, i64 %d' % (i, i))
@ -90,14 +90,14 @@ for i in xrange(branch_blocks):
print('%s:' % next) print('%s:' % next)
a, b = 1, 1 a, b = 1, 1
for i in xrange(0, main_size, 6): for i in range(0, main_size, 6):
a, b = b, a + b a, b = b, a + b
offset = 4096 + b % 500000 offset = 4096 + b % 500000
value = a % 256 value = a % 256
print(' %%ptr%d = getelementptr i8, i8 *%%base, i64 %d' % (i, offset)) print(' %%ptr%d = getelementptr i8, i8 *%%base, i64 %d' % (i, offset))
print(' store volatile i8 %d, i8 *%%ptr%d' % (value, i)) print(' store volatile i8 %d, i8 *%%ptr%d' % (value, i))
for i in xrange(branch_blocks): for i in range(branch_blocks):
print(' %%astop%d = getelementptr i32, i32 *%%stop, i64 %d' % (i, i + 25)) print(' %%astop%d = getelementptr i32, i32 *%%stop, i64 %d' % (i, i + 25))
print(' %%acur%d = load i32 , i32 *%%astop%d' % (i, i)) print(' %%acur%d = load i32 , i32 *%%astop%d' % (i, i))
print(' %%atest%d = icmp eq i32 %%limit, %%acur%d' % (i, i)) print(' %%atest%d = icmp eq i32 %%limit, %%acur%d' % (i, i))

View File

@ -66,7 +66,7 @@ print(' br label %b0')
print('') print('')
a, b = 1, 1 a, b = 1, 1
for i in xrange(blocks): for i in range(blocks):
a, b = b, a + b a, b = b, a + b
value = a % 256 value = a % 256
next = 'b%d' % (i + 1) if i + 1 < blocks else 'end' next = 'b%d' % (i + 1) if i + 1 < blocks else 'end'

View File

@ -79,7 +79,7 @@ print('entry:')
print(' br label %before0') print(' br label %before0')
print('') print('')
for i in xrange(branch_blocks): for i in range(branch_blocks):
next = 'before%d' % (i + 1) if i + 1 < branch_blocks else 'main' next = 'before%d' % (i + 1) if i + 1 < branch_blocks else 'main'
print('before%d:' % i) print('before%d:' % i)
print(' %%bstop%d = getelementptr i8, i8 *%%stop, i64 %d' % (i, i)) print(' %%bstop%d = getelementptr i8, i8 *%%stop, i64 %d' % (i, i))
@ -91,14 +91,14 @@ for i in xrange(branch_blocks):
print('%s:' % next) print('%s:' % next)
a, b = 1, 1 a, b = 1, 1
for i in xrange(0, main_size, 6): for i in range(0, main_size, 6):
a, b = b, a + b a, b = b, a + b
offset = 4096 + b % 500000 offset = 4096 + b % 500000
value = a % 256 value = a % 256
print(' %%ptr%d = getelementptr i8, i8 *%%base, i64 %d' % (i, offset)) print(' %%ptr%d = getelementptr i8, i8 *%%base, i64 %d' % (i, offset))
print(' store volatile i8 %d, i8 *%%ptr%d' % (value, i)) print(' store volatile i8 %d, i8 *%%ptr%d' % (value, i))
for i in xrange(branch_blocks): for i in range(branch_blocks):
print(' %%astop%d = getelementptr i8, i8 *%%stop, i64 %d' % (i, i + 25)) print(' %%astop%d = getelementptr i8, i8 *%%stop, i64 %d' % (i, i + 25))
print(' %%acur%d = load i8 , i8 *%%astop%d' % (i, i)) print(' %%acur%d = load i8 , i8 *%%astop%d' % (i, i))
print(' %%aext%d = sext i8 %%acur%d to i32' % (i, i)) print(' %%aext%d = sext i8 %%acur%d to i32' % (i, i))

View File

@ -83,7 +83,7 @@ print('entry:')
print(' br label %before0') print(' br label %before0')
print('') print('')
for i in xrange(branch_blocks): for i in range(branch_blocks):
next = 'before%d' % (i + 1) if i + 1 < branch_blocks else 'main' next = 'before%d' % (i + 1) if i + 1 < branch_blocks else 'main'
print('before%d:' % i) print('before%d:' % i)
print(' %%bstop%d = getelementptr i8, i8 *%%stop, i64 %d' % (i, i)) print(' %%bstop%d = getelementptr i8, i8 *%%stop, i64 %d' % (i, i))
@ -95,14 +95,14 @@ for i in xrange(branch_blocks):
print('%s:' % next) print('%s:' % next)
a, b = 1, 1 a, b = 1, 1
for i in xrange(0, main_size, 6): for i in range(0, main_size, 6):
a, b = b, a + b a, b = b, a + b
offset = 4096 + b % 500000 offset = 4096 + b % 500000
value = a % 256 value = a % 256
print(' %%ptr%d = getelementptr i8, i8 *%%base, i64 %d' % (i, offset)) print(' %%ptr%d = getelementptr i8, i8 *%%base, i64 %d' % (i, offset))
print(' store volatile i8 %d, i8 *%%ptr%d' % (value, i)) print(' store volatile i8 %d, i8 *%%ptr%d' % (value, i))
for i in xrange(branch_blocks): for i in range(branch_blocks):
print(' %%astop%d = getelementptr i8, i8 *%%stop, i64 %d' % (i, i + 25)) print(' %%astop%d = getelementptr i8, i8 *%%stop, i64 %d' % (i, i + 25))
print(' %%acur%d = load i8 , i8 *%%astop%d' % (i, i)) print(' %%acur%d = load i8 , i8 *%%astop%d' % (i, i))
print(' %%aext%d = sext i8 %%acur%d to i64' % (i, i)) print(' %%aext%d = sext i8 %%acur%d to i64' % (i, i))

View File

@ -83,7 +83,7 @@ print('entry:')
print(' br label %before0') print(' br label %before0')
print('') print('')
for i in xrange(branch_blocks): for i in range(branch_blocks):
next = 'before%d' % (i + 1) if i + 1 < branch_blocks else 'main' next = 'before%d' % (i + 1) if i + 1 < branch_blocks else 'main'
print('before%d:' % i) print('before%d:' % i)
print(' %%bcur%d = load i8 , i8 *%%stop' % i) print(' %%bcur%d = load i8 , i8 *%%stop' % i)
@ -94,14 +94,14 @@ for i in xrange(branch_blocks):
print('%s:' % next) print('%s:' % next)
a, b = 1, 1 a, b = 1, 1
for i in xrange(0, main_size, 6): for i in range(0, main_size, 6):
a, b = b, a + b a, b = b, a + b
offset = 4096 + b % 500000 offset = 4096 + b % 500000
value = a % 256 value = a % 256
print(' %%ptr%d = getelementptr i8, i8 *%%base, i64 %d' % (i, offset)) print(' %%ptr%d = getelementptr i8, i8 *%%base, i64 %d' % (i, offset))
print(' store volatile i8 %d, i8 *%%ptr%d' % (value, i)) print(' store volatile i8 %d, i8 *%%ptr%d' % (value, i))
for i in xrange(branch_blocks): for i in range(branch_blocks):
print(' %%acur%d = load i8 , i8 *%%stop' % i) print(' %%acur%d = load i8 , i8 *%%stop' % i)
print(' %%aext%d = sext i8 %%acur%d to i32' % (i, i)) print(' %%aext%d = sext i8 %%acur%d to i32' % (i, i))
print(' %%atest%d = icmp slt i32 %%aext%d, %d' % (i, i, i + 100)) print(' %%atest%d = icmp slt i32 %%aext%d, %d' % (i, i, i + 100))

View File

@ -83,7 +83,7 @@ print('entry:')
print(' br label %before0') print(' br label %before0')
print('') print('')
for i in xrange(branch_blocks): for i in range(branch_blocks):
next = 'before%d' % (i + 1) if i + 1 < branch_blocks else 'main' next = 'before%d' % (i + 1) if i + 1 < branch_blocks else 'main'
print('before%d:' % i) print('before%d:' % i)
print(' %%bcur%d = load i8 , i8 *%%stop' % i) print(' %%bcur%d = load i8 , i8 *%%stop' % i)
@ -94,14 +94,14 @@ for i in xrange(branch_blocks):
print('%s:' % next) print('%s:' % next)
a, b = 1, 1 a, b = 1, 1
for i in xrange(0, main_size, 6): for i in range(0, main_size, 6):
a, b = b, a + b a, b = b, a + b
offset = 4096 + b % 500000 offset = 4096 + b % 500000
value = a % 256 value = a % 256
print(' %%ptr%d = getelementptr i8, i8 *%%base, i64 %d' % (i, offset)) print(' %%ptr%d = getelementptr i8, i8 *%%base, i64 %d' % (i, offset))
print(' store volatile i8 %d, i8 *%%ptr%d' % (value, i)) print(' store volatile i8 %d, i8 *%%ptr%d' % (value, i))
for i in xrange(branch_blocks): for i in range(branch_blocks):
print(' %%acur%d = load i8 , i8 *%%stop' % i) print(' %%acur%d = load i8 , i8 *%%stop' % i)
print(' %%aext%d = sext i8 %%acur%d to i64' % (i, i)) print(' %%aext%d = sext i8 %%acur%d to i64' % (i, i))
print(' %%atest%d = icmp slt i64 %%aext%d, %d' % (i, i, i + 100)) print(' %%atest%d = icmp slt i64 %%aext%d, %d' % (i, i, i + 100))

View File

@ -40,7 +40,7 @@ main_size = 0xffd8
print('define void @f1(i8 *%base, i32 *%counts) {') print('define void @f1(i8 *%base, i32 *%counts) {')
print('entry:') print('entry:')
for i in xrange(branch_blocks - 1, -1, -1): for i in range(branch_blocks - 1, -1, -1):
print(' %%countptr%d = getelementptr i32, i32 *%%counts, i64 %d' % (i, i)) print(' %%countptr%d = getelementptr i32, i32 *%%counts, i64 %d' % (i, i))
print(' %%initcount%d = load i32 , i32 *%%countptr%d' % (i, i)) print(' %%initcount%d = load i32 , i32 *%%countptr%d' % (i, i))
print(' br label %%loop%d' % i) print(' br label %%loop%d' % i)
@ -52,14 +52,14 @@ for i in xrange(branch_blocks - 1, -1, -1):
' [ %%nextcount%d, %%%s ]' % (i, i, block1, i, block2))) ' [ %%nextcount%d, %%%s ]' % (i, i, block1, i, block2)))
a, b = 1, 1 a, b = 1, 1
for i in xrange(0, main_size, 6): for i in range(0, main_size, 6):
a, b = b, a + b a, b = b, a + b
offset = 4096 + b % 500000 offset = 4096 + b % 500000
value = a % 256 value = a % 256
print(' %%ptr%d = getelementptr i8, i8 *%%base, i64 %d' % (i, offset)) print(' %%ptr%d = getelementptr i8, i8 *%%base, i64 %d' % (i, offset))
print(' store volatile i8 %d, i8 *%%ptr%d' % (value, i)) print(' store volatile i8 %d, i8 *%%ptr%d' % (value, i))
for i in xrange(branch_blocks): for i in range(branch_blocks):
print(' %%nextcount%d = add i32 %%count%d, -1' % (i, i)) print(' %%nextcount%d = add i32 %%count%d, -1' % (i, i))
print(' %%test%d = icmp ne i32 %%nextcount%d, 0' % (i, i)) print(' %%test%d = icmp ne i32 %%nextcount%d, 0' % (i, i))
print(' br i1 %%test%d, label %%loop%d, label %%after%d' % (i, i, i)) print(' br i1 %%test%d, label %%loop%d, label %%after%d' % (i, i, i))

View File

@ -41,7 +41,7 @@ main_size = 0xffd8
print('define void @f1(i8 *%base, i64 *%counts) {') print('define void @f1(i8 *%base, i64 *%counts) {')
print('entry:') print('entry:')
for i in xrange(branch_blocks - 1, -1, -1): for i in range(branch_blocks - 1, -1, -1):
print(' %%countptr%d = getelementptr i64, i64 *%%counts, i64 %d' % (i, i)) print(' %%countptr%d = getelementptr i64, i64 *%%counts, i64 %d' % (i, i))
print(' %%initcount%d = load i64 , i64 *%%countptr%d' % (i, i)) print(' %%initcount%d = load i64 , i64 *%%countptr%d' % (i, i))
print(' br label %%loop%d' % i) print(' br label %%loop%d' % i)
@ -53,14 +53,14 @@ for i in xrange(branch_blocks - 1, -1, -1):
' [ %%nextcount%d, %%%s ]' % (i, i, block1, i, block2))) ' [ %%nextcount%d, %%%s ]' % (i, i, block1, i, block2)))
a, b = 1, 1 a, b = 1, 1
for i in xrange(0, main_size, 6): for i in range(0, main_size, 6):
a, b = b, a + b a, b = b, a + b
offset = 4096 + b % 500000 offset = 4096 + b % 500000
value = a % 256 value = a % 256
print(' %%ptr%d = getelementptr i8, i8 *%%base, i64 %d' % (i, offset)) print(' %%ptr%d = getelementptr i8, i8 *%%base, i64 %d' % (i, offset))
print(' store volatile i8 %d, i8 *%%ptr%d' % (value, i)) print(' store volatile i8 %d, i8 *%%ptr%d' % (value, i))
for i in xrange(branch_blocks): for i in range(branch_blocks):
print(' %%nextcount%d = add i64 %%count%d, -1' % (i, i)) print(' %%nextcount%d = add i64 %%count%d, -1' % (i, i))
print(' %%test%d = icmp ne i64 %%nextcount%d, 0' % (i, i)) print(' %%test%d = icmp ne i64 %%nextcount%d, 0' % (i, i))
print(' br i1 %%test%d, label %%loop%d, label %%after%d' % (i, i, i)) print(' br i1 %%test%d, label %%loop%d, label %%after%d' % (i, i, i))

View File

@ -79,7 +79,7 @@ print('entry:')
print(' br label %before0') print(' br label %before0')
print('') print('')
for i in xrange(branch_blocks): for i in range(branch_blocks):
next = 'before%d' % (i + 1) if i + 1 < branch_blocks else 'main' next = 'before%d' % (i + 1) if i + 1 < branch_blocks else 'main'
print('before%d:' % i) print('before%d:' % i)
print(' %%bstop%d = getelementptr i8, i8 *%%stop, i64 %d' % (i, i)) print(' %%bstop%d = getelementptr i8, i8 *%%stop, i64 %d' % (i, i))
@ -91,14 +91,14 @@ for i in xrange(branch_blocks):
print('%s:' % next) print('%s:' % next)
a, b = 1, 1 a, b = 1, 1
for i in xrange(0, main_size, 6): for i in range(0, main_size, 6):
a, b = b, a + b a, b = b, a + b
offset = 4096 + b % 500000 offset = 4096 + b % 500000
value = a % 256 value = a % 256
print(' %%ptr%d = getelementptr i8, i8 *%%base, i64 %d' % (i, offset)) print(' %%ptr%d = getelementptr i8, i8 *%%base, i64 %d' % (i, offset))
print(' store volatile i8 %d, i8 *%%ptr%d' % (value, i)) print(' store volatile i8 %d, i8 *%%ptr%d' % (value, i))
for i in xrange(branch_blocks): for i in range(branch_blocks):
print(' %%astop%d = getelementptr i8, i8 *%%stop, i64 %d' % (i, i + 25)) print(' %%astop%d = getelementptr i8, i8 *%%stop, i64 %d' % (i, i + 25))
print(' %%acur%d = load i8 , i8 *%%astop%d' % (i, i)) print(' %%acur%d = load i8 , i8 *%%astop%d' % (i, i))
print(' %%aext%d = sext i8 %%acur%d to i32' % (i, i)) print(' %%aext%d = sext i8 %%acur%d to i32' % (i, i))

View File

@ -83,7 +83,7 @@ print('entry:')
print(' br label %before0') print(' br label %before0')
print('') print('')
for i in xrange(branch_blocks): for i in range(branch_blocks):
next = 'before%d' % (i + 1) if i + 1 < branch_blocks else 'main' next = 'before%d' % (i + 1) if i + 1 < branch_blocks else 'main'
print('before%d:' % i) print('before%d:' % i)
print(' %%bstop%d = getelementptr i8, i8 *%%stop, i64 %d' % (i, i)) print(' %%bstop%d = getelementptr i8, i8 *%%stop, i64 %d' % (i, i))
@ -95,14 +95,14 @@ for i in xrange(branch_blocks):
print('%s:' % next) print('%s:' % next)
a, b = 1, 1 a, b = 1, 1
for i in xrange(0, main_size, 6): for i in range(0, main_size, 6):
a, b = b, a + b a, b = b, a + b
offset = 4096 + b % 500000 offset = 4096 + b % 500000
value = a % 256 value = a % 256
print(' %%ptr%d = getelementptr i8, i8 *%%base, i64 %d' % (i, offset)) print(' %%ptr%d = getelementptr i8, i8 *%%base, i64 %d' % (i, offset))
print(' store volatile i8 %d, i8 *%%ptr%d' % (value, i)) print(' store volatile i8 %d, i8 *%%ptr%d' % (value, i))
for i in xrange(branch_blocks): for i in range(branch_blocks):
print(' %%astop%d = getelementptr i8, i8 *%%stop, i64 %d' % (i, i + 25)) print(' %%astop%d = getelementptr i8, i8 *%%stop, i64 %d' % (i, i + 25))
print(' %%acur%d = load i8 , i8 *%%astop%d' % (i, i)) print(' %%acur%d = load i8 , i8 *%%astop%d' % (i, i))
print(' %%aext%d = sext i8 %%acur%d to i64' % (i, i)) print(' %%aext%d = sext i8 %%acur%d to i64' % (i, i))

View File

@ -99,7 +99,7 @@ print('entry:')
print(' br label %before0') print(' br label %before0')
print('') print('')
for i in xrange(branch_blocks): for i in range(branch_blocks):
next = 'before%d' % (i + 1) if i + 1 < branch_blocks else 'main' next = 'before%d' % (i + 1) if i + 1 < branch_blocks else 'main'
print('before%d:' % i) print('before%d:' % i)
print(' %%bcur%da = load i32 , i32 *%%stopa' % i) print(' %%bcur%da = load i32 , i32 *%%stopa' % i)
@ -111,14 +111,14 @@ for i in xrange(branch_blocks):
print('%s:' % next) print('%s:' % next)
a, b = 1, 1 a, b = 1, 1
for i in xrange(0, main_size, 6): for i in range(0, main_size, 6):
a, b = b, a + b a, b = b, a + b
offset = 4096 + b % 500000 offset = 4096 + b % 500000
value = a % 256 value = a % 256
print(' %%ptr%d = getelementptr i8, i8 *%%base, i64 %d' % (i, offset)) print(' %%ptr%d = getelementptr i8, i8 *%%base, i64 %d' % (i, offset))
print(' store volatile i8 %d, i8 *%%ptr%d' % (value, i)) print(' store volatile i8 %d, i8 *%%ptr%d' % (value, i))
for i in xrange(branch_blocks): for i in range(branch_blocks):
print(' %%acur%da = load i32 , i32 *%%stopa' % i) print(' %%acur%da = load i32 , i32 *%%stopa' % i)
print(' %%acur%db = load i32 , i32 *%%stopb' % i) print(' %%acur%db = load i32 , i32 *%%stopb' % i)
print(' %%asub%d = sub i32 %%acur%da, %%acur%db' % (i, i, i)) print(' %%asub%d = sub i32 %%acur%da, %%acur%db' % (i, i, i))

View File

@ -99,7 +99,7 @@ print('entry:')
print(' br label %before0') print(' br label %before0')
print('') print('')
for i in xrange(branch_blocks): for i in range(branch_blocks):
next = 'before%d' % (i + 1) if i + 1 < branch_blocks else 'main' next = 'before%d' % (i + 1) if i + 1 < branch_blocks else 'main'
print('before%d:' % i) print('before%d:' % i)
print(' %%bcur%da = load i64 , i64 *%%stopa' % i) print(' %%bcur%da = load i64 , i64 *%%stopa' % i)
@ -111,14 +111,14 @@ for i in xrange(branch_blocks):
print('%s:' % next) print('%s:' % next)
a, b = 1, 1 a, b = 1, 1
for i in xrange(0, main_size, 6): for i in range(0, main_size, 6):
a, b = b, a + b a, b = b, a + b
offset = 4096 + b % 500000 offset = 4096 + b % 500000
value = a % 256 value = a % 256
print(' %%ptr%d = getelementptr i8, i8 *%%base, i64 %d' % (i, offset)) print(' %%ptr%d = getelementptr i8, i8 *%%base, i64 %d' % (i, offset))
print(' store volatile i8 %d, i8 *%%ptr%d' % (value, i)) print(' store volatile i8 %d, i8 *%%ptr%d' % (value, i))
for i in xrange(branch_blocks): for i in range(branch_blocks):
print(' %%acur%da = load i64 , i64 *%%stopa' % i) print(' %%acur%da = load i64 , i64 *%%stopa' % i)
print(' %%acur%db = load i64 , i64 *%%stopb' % i) print(' %%acur%db = load i64 , i64 *%%stopb' % i)
print(' %%asub%d = sub i64 %%acur%da, %%acur%db' % (i, i, i)) print(' %%asub%d = sub i64 %%acur%da, %%acur%db' % (i, i, i))

View File

@ -22,8 +22,8 @@ def main():
print("Rungs must be a multiple of 2") print("Rungs must be a multiple of 2")
return return
print("int ladder(int *foo, int *bar, int x) {") print("int ladder(int *foo, int *bar, int x) {")
rung1 = xrange(0, args.rungs, 2) rung1 = range(0, args.rungs, 2)
rung2 = xrange(1, args.rungs, 2) rung2 = range(1, args.rungs, 2)
for i in rung1: for i in rung1:
print("rung1%d:" % i) print("rung1%d:" % i)
print("*foo = x++;") print("*foo = x++;")

View File

@ -107,7 +107,7 @@ def main():
else random.choice(range(shuffle_range)) else random.choice(range(shuffle_range))
for _ in itertools.repeat(None, width)] for _ in itertools.repeat(None, width)]
for _ in itertools.repeat(None, args.max_shuffle_height - i)] for _ in itertools.repeat(None, args.max_shuffle_height - i)]
for i in xrange(args.max_shuffle_height)] for i in range(args.max_shuffle_height)]
if args.verbose: if args.verbose:
# Print out the shuffle sequence in a compact form. # Print out the shuffle sequence in a compact form.
@ -121,8 +121,8 @@ def main():
# Symbolically evaluate the shuffle tree. # Symbolically evaluate the shuffle tree.
inputs = [[int(j % element_modulus) inputs = [[int(j % element_modulus)
for j in xrange(i * width + 1, (i + 1) * width + 1)] for j in range(i * width + 1, (i + 1) * width + 1)]
for i in xrange(args.max_shuffle_height + 1)] for i in range(args.max_shuffle_height + 1)]
results = inputs results = inputs
for shuffles in shuffle_tree: for shuffles in shuffle_tree:
results = [[((results[i] if j < width else results[i + 1])[j % width] results = [[((results[i] if j < width else results[i + 1])[j % width]
@ -157,7 +157,7 @@ define internal fastcc <%(N)d x %(T)s> @test(%(arguments)s) noinline nounwind {
entry:""" % dict(subst, entry:""" % dict(subst,
arguments=', '.join( arguments=', '.join(
['<%(N)d x %(T)s> %%s.0.%(i)d' % dict(subst, i=i) ['<%(N)d x %(T)s> %%s.0.%(i)d' % dict(subst, i=i)
for i in xrange(args.max_shuffle_height + 1)]))) for i in range(args.max_shuffle_height + 1)])))
for i, shuffles in enumerate(shuffle_tree): for i, shuffles in enumerate(shuffle_tree):
for j, s in enumerate(shuffles): for j, s in enumerate(shuffles):
@ -191,7 +191,7 @@ define internal fastcc <%(N)d x %(T)s> @test_wrapper(%(arguments)s) optnone noin
} }
""" % dict(subst, """ % dict(subst,
arguments=', '.join(['<%(N)d x %(T)s> %%s.%(i)d' % dict(subst, i=i) arguments=', '.join(['<%(N)d x %(T)s> %%s.%(i)d' % dict(subst, i=i)
for i in xrange(args.max_shuffle_height + 1)]))) for i in range(args.max_shuffle_height + 1)])))
# Finally, generate a main function which will trap if any lanes are mapped # Finally, generate a main function which will trap if any lanes are mapped
# incorrectly (in an observable way). # incorrectly (in an observable way).