Changes in directory llvm-test/SingleSource/UnitTests/Integer:
sign2.c added (r1.1) sign2.reference_output added (r1.1) arith.c updated: 1.7 -> 1.8 --- Log message: --- Diffs of the changes: (+59 -0) arith.c | 3 +++ sign2.c | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ sign2.reference_output | 7 +++++++ 3 files changed, 59 insertions(+) Index: llvm-test/SingleSource/UnitTests/Integer/sign2.c diff -c /dev/null llvm-test/SingleSource/UnitTests/Integer/sign2.c:1.1 *** /dev/null Fri Jan 26 21:02:23 2007 --- llvm-test/SingleSource/UnitTests/Integer/sign2.c Fri Jan 26 21:02:13 2007 *************** *** 0 **** --- 1,49 ---- + //===--- sign.c --- Test Cases for Bit Accurate Types --------------------===// + // + // This file was developed by Guoling Han and is distributed under the + // University of Illinois Open Source License. See LICENSE.TXT for details. + // + //===----------------------------------------------------------------------===// + // + // This is another test for arithmetic operations with signed and + // unsigned operands. + // + //===----------------------------------------------------------------------===// + #include <stdio.h> + + typedef int __attribute__ ((bitwidth(24))) int24; + typedef unsigned int __attribute__ ((bitwidth(24))) uint24; + + + int + main ( int argc, char** argv) + { + int num, r; + int24 x, y, z; + uint24 ux, uy, uz; + + r = rand(); + ux = r; + x = r; + printf("rand() = %d\n", r); + + printf("ux = %u, x = %d\n", ux, x); + + z = x / 4321; + uz = ux / (unsigned)4321; + printf("uz = %u, z = %d\n", uz, z); + + y = x + 0x800000; + uy = x + 0x800000u; + printf("uy = %u, y = %d\n", uy, y); + + z = y / x ; + uz = uy / ux ; + printf("ux = %u, x = %d\n", uz, z); + + z = x / y ; + uz = ux / uy ; + printf("ux = %u, x = %d\n", uz, z); + + return 0; + } Index: llvm-test/SingleSource/UnitTests/Integer/sign2.reference_output diff -c /dev/null llvm-test/SingleSource/UnitTests/Integer/sign2.reference_output:1.1 *** /dev/null Fri Jan 26 21:02:29 2007 --- llvm-test/SingleSource/UnitTests/Integer/sign2.reference_output Fri Jan 26 21:02:13 2007 *************** *** 0 **** --- 1,7 ---- + rand() = 1804289383 + ux = 9127271, x = -7649945 + uz = 2112, z = -1770 + uy = 738663, y = 738663 + ux = 0, x = 0 + ux = 12, x = -10 + exit 0 Index: llvm-test/SingleSource/UnitTests/Integer/arith.c diff -u llvm-test/SingleSource/UnitTests/Integer/arith.c:1.7 llvm-test/SingleSource/UnitTests/Integer/arith.c:1.8 --- llvm-test/SingleSource/UnitTests/Integer/arith.c:1.7 Wed Jan 24 14:39:44 2007 +++ llvm-test/SingleSource/UnitTests/Integer/arith.c Fri Jan 26 21:02:13 2007 @@ -17,6 +17,8 @@ int21 y = 0x0fffff; + + int my_test() { uint10 i = 0; @@ -70,6 +72,7 @@ ui_y = y; i_temp = ui_x - ui_y; printf("i_temp = %x\n", i_temp); + return 0; } _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits