mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-13 04:30:23 +00:00
[shuffle] Tweak the shuffle fuzzer to support bigger seeds. I'm
currently using UUIDs to seed this in order to scan a bigger range. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@215521 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
6bb093bbe7
commit
08cfa8c155
@ -63,7 +63,7 @@ def main():
|
||||
|
||||
if args.verbose:
|
||||
# Print out the shuffle sequence in a compact form.
|
||||
print >>sys.stderr, 'Testing shuffle sequence:'
|
||||
print >>sys.stderr, 'Testing shuffle sequence "%s":' % (args.seed,)
|
||||
for s in shuffles:
|
||||
print >>sys.stderr, ' v%d%s: %s' % (width, element_type, s)
|
||||
print >>sys.stderr, ''
|
||||
@ -114,9 +114,9 @@ entry:""" % subst
|
||||
if r != -1:
|
||||
s = ('FAIL(%(seed)s): lane %(lane)d, expected %(result)d, found %%d\\0A' %
|
||||
{'seed': args.seed, 'lane': i, 'result': r})
|
||||
s += ''.join(['\\00' for _ in itertools.repeat(None, 64 - len(s) + 2)])
|
||||
s += ''.join(['\\00' for _ in itertools.repeat(None, 128 - len(s) + 2)])
|
||||
print """
|
||||
@error.%(i)d = private unnamed_addr global [64 x i8] c"%(s)s"
|
||||
@error.%(i)d = private unnamed_addr global [128 x i8] c"%(s)s"
|
||||
""".strip() % {'i': i, 's': s}
|
||||
|
||||
# Finally, generate a main function which will trap if any lanes are mapped
|
||||
@ -125,8 +125,8 @@ entry:""" % subst
|
||||
define i32 @main() optnone noinline {
|
||||
entry:
|
||||
; Create a scratch space to print error messages.
|
||||
%%str = alloca [64 x i8]
|
||||
%%str.ptr = getelementptr inbounds [64 x i8]* %%str, i32 0, i32 0
|
||||
%%str = alloca [128 x i8]
|
||||
%%str.ptr = getelementptr inbounds [128 x i8]* %%str, i32 0, i32 0
|
||||
|
||||
; Build the input vector and call the test function.
|
||||
%%input = bitcast <%(N)d x %(IT)s> <%(input)s> to <%(N)d x %(T)s>
|
||||
@ -161,7 +161,7 @@ die.%(i)d:
|
||||
; Capture the actual value and print an error message.
|
||||
%%tmp.%(i)d = zext %(IT)s %%v.%(i)d to i2048
|
||||
%%bad.%(i)d = trunc i2048 %%tmp.%(i)d to i32
|
||||
call i32 (i8*, i8*, ...)* @sprintf(i8* %%str.ptr, i8* getelementptr inbounds ([64 x i8]* @error.%(i)d, i32 0, i32 0), i32 %%bad.%(i)d)
|
||||
call i32 (i8*, i8*, ...)* @sprintf(i8* %%str.ptr, i8* getelementptr inbounds ([128 x i8]* @error.%(i)d, i32 0, i32 0), i32 %%bad.%(i)d)
|
||||
%%length.%(i)d = call i32 @strlen(i8* %%str.ptr)
|
||||
%%size.%(i)d = add i32 %%length.%(i)d, 1
|
||||
call i32 @write(i32 2, i8* %%str.ptr, i32 %%size.%(i)d)
|
||||
|
Loading…
Reference in New Issue
Block a user