diff options
Diffstat (limited to 'clang/test/CodeGen/block-copy.c')
-rw-r--r-- | clang/test/CodeGen/block-copy.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/clang/test/CodeGen/block-copy.c b/clang/test/CodeGen/block-copy.c new file mode 100644 index 0000000..fba76ad --- /dev/null +++ b/clang/test/CodeGen/block-copy.c @@ -0,0 +1,20 @@ +/* RUN: %clang_cc1 %s -emit-llvm -o - | FileCheck %s + + 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}; + // CHECK: memcpy + foo(lookupTable); +} |