diff options
Diffstat (limited to 'test/FrontendC/block-copy.c')
-rw-r--r-- | test/FrontendC/block-copy.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/test/FrontendC/block-copy.c b/test/FrontendC/block-copy.c new file mode 100644 index 0000000..a53732e --- /dev/null +++ b/test/FrontendC/block-copy.c @@ -0,0 +1,20 @@ +/* RUN: %llvmgcc %s -S -o - -emit-llvm -O3 | grep {call.*memcpy} + + This should compile into a memcpy from a global, not 128 stores. */ + + + +void foo(); + +float bar() { + float lookupTable[] = {-1,-1,-1,0, -1,-1,0,-1, -1,-1,0,1, -1,-1,1,0, + -1,0,-1,-1, -1,0,-1,1, -1,0,1,-1, -1,0,1,1, + -1,1,-1,0, -1,1,0,-1, -1,1,0,1, -1,1,1,0, + 0,-1,-1,-1, 0,-1,-1,1, 0,-1,1,-1, 0,-1,1,1, + 1,-1,-1,0, 1,-1,0,-1, 1,-1,0,1, 1,-1,1,0, + 1,0,-1,-1, 1,0,-1,1, 1,0,1,-1, 1,0,1,1, + 1,1,-1,0, 1,1,0,-1, 1,1,0,1, 1,1,1,0, + 0,1,-1,-1, 0,1,-1,1, 0,1,1,-1, 0,1,1,1}; + foo(lookupTable); +} + |