about summary refs log tree commit diff homepage
path: root/test/VectorInstructions
AgeCommit message (Collapse)Author
2024-02-08Assume C compiler's default standard is `-std=gnu17`Martin Nowack
Newer compilers use `-std=gnu17` as the default when compiling C code. Fix all the test cases that violate this behaviour or explicitly request older standards `-std=c89` where necessary.
2022-07-24Support arguments of width 128, 256 and 512 bits for external callsPavel
2020-12-04Test reflecting the LLVM 11 behavior for transforming reads of the form ↵Cristian Cadar
f[k], with k symbolic and f a 4-element vector into something along the lines: if k == 0 => f[0] elif k == 1 => f[1] elif k == 2 => f[2] elif k == 3 => f[3] else ==> undef
2020-12-04Test reflecting the LLVM 11 behavior for transforming writes of the form ↵Cristian Cadar
f[k] = v, with f a 4-element vector, into something along the lines: if k == 0 => f[0] = v if k == 1 => f[1] = v if k == 2 => f[2] = v if k == 3 => f[3] = v
2020-12-04Move all overflows from the vector instructions tests into a new file, as ↵Cristian Cadar
the overflow behaviour is different in LLVM 11.
2020-03-19Additional test for dealing with vector instructionsCristian Cadar
2019-03-07Renamed %llvmgcc and %llvmgxx to %clang and %clangxx respectively.Cristian Cadar
2018-10-26llvm5: test, add -disable-O0-optnone to -O0Jiri Slaby
Otherwise optimizations done in klee won't have any effect. Signed-off-by: Jiri Slaby <jirislaby@gmail.com>
2018-08-01test: remove geq-llvm-3.4Julian Büning
2018-05-23test: add parenthesis around & operandsJiri Slaby
Some compilers are picky, so avoid the warning by additional parentheses: test/VectorInstructions/integer_ops_unsigned_symbolic.c:85:22: warning: & has lower precedence than <; < will be evaluated first [-Wparentheses] Signed-off-by: Jiri Slaby <jirislaby@gmail.com>
2017-07-19Implement basic support for vectorized instructions.Dan Liew
We use LLVM's Scalarizer pass to remove most vectorized code so that the Executor only needs to support the InsertElement and ExtractElement instructions. This pass was not available in LLVM 3.4 so to support that LLVM version the pass has been back ported. To check that the Executor is not receiving vector operand types that it can't handle assertions have been added. There are a few limitations to this implementation. * The InsertElement and ExtractElement index cannot be symbolic. * There is no support for LLVM < 3.4.