diff options
-rw-r--r-- | test/Transforms/ConstProp/2002-05-03-NotOperator.ll | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/test/Transforms/ConstProp/2002-05-03-NotOperator.ll b/test/Transforms/ConstProp/2002-05-03-NotOperator.ll new file mode 100644 index 0000000000..fbb67e6468 --- /dev/null +++ b/test/Transforms/ConstProp/2002-05-03-NotOperator.ll @@ -0,0 +1,18 @@ +; This bug has to do with the fact that constant propogation was implemented in +; terms of _logical_ not (! in C) instead of _bitwise_ not (~ in C). This was +; due to a spec change. + +; RUN: if as < %s | opt -constprop | dis | grep 'int 0' +; RUN: then exit 1 +; RUN: else exit 0 +; RUN: fi + +int "test1"() { + %R = not int 123 + ret int %R +} + +int "test2"() { + %R = not int -123 + ret int %R +} |