From b1ad0e39a41248c8c59fd61f41bed91d5c33f11c Mon Sep 17 00:00:00 2001 From: Michael Beck Date: Sat, 7 Jun 2008 17:51:41 +0000 Subject: [PATCH] demonstrates an error in ShrsLs lowering [r20020] --- ir/be/test/fehler113.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 ir/be/test/fehler113.c diff --git a/ir/be/test/fehler113.c b/ir/be/test/fehler113.c new file mode 100644 index 000000000..82d21490a --- /dev/null +++ b/ir/be/test/fehler113.c @@ -0,0 +1,18 @@ +#ifndef CHAR_BIT +#define CHAR_BIT 8 +#endif + +#define ROL(a,b) (((a) << (b)) | ((a) >> ((sizeof (a) * CHAR_BIT) - (b)))) +#define ROL(a,b) (((a) << (b)) | ((a) >> ((sizeof (a) * CHAR_BIT) - (b)))) + +/* This is NOT folded into a ROL, but demonstrates an error in old lowering */ +long long testLL(long long a) { + return ROL(a,3); +} + +int main() { + int printf(const char *fmt, ...); + + printf("%lld\n", testLL(1)); + return 0; +} -- 2.20.1