[llvm-commits] CVS: llvm-test/SingleSource/UnitTests/Integer/trunc.c trunc.reference_output general-test.c matrix.c matrix.h matrix.reference_output

Guoling Han han at autoesl.com
Thu Jan 25 19:10:33 PST 2007



Changes in directory llvm-test/SingleSource/UnitTests/Integer:

trunc.c added (r1.1)
trunc.reference_output added (r1.1)
general-test.c updated: 1.5 -> 1.6
matrix.c updated: 1.7 -> 1.8
matrix.h updated: 1.1 -> 1.2
matrix.reference_output updated: 1.2 -> 1.3
---
Log message:

Add trunc.c for cbe test.
Modify matrix.c to avoid overflow problem.


---
Diffs of the changes:  (+71 -17)

 general-test.c          |    2 -
 matrix.c                |   14 ++++++-------
 matrix.h                |    2 -
 matrix.reference_output |   16 +++++++--------
 trunc.c                 |   50 ++++++++++++++++++++++++++++++++++++++++++++++++
 trunc.reference_output  |    4 +++
 6 files changed, 71 insertions(+), 17 deletions(-)


Index: llvm-test/SingleSource/UnitTests/Integer/trunc.c
diff -c /dev/null llvm-test/SingleSource/UnitTests/Integer/trunc.c:1.1
*** /dev/null	Thu Jan 25 21:10:27 2007
--- llvm-test/SingleSource/UnitTests/Integer/trunc.c	Thu Jan 25 21:10:17 2007
***************
*** 0 ****
--- 1,50 ----
+ //===--- trunc.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 used to test trunc and sext instructions.
+ //
+ //===----------------------------------------------------------------------===//
+ 
+ #include <stdio.h>
+ 
+ typedef int __attribute__ ((bitwidth(24))) int24;
+ 
+ int
+ test(int24 v)
+ {
+   int y;
+ 
+   y = v * (-1);
+   printf("test() y = %d\n", y);
+ 
+   return 0;
+ }
+ 
+ int
+ main ( int argc, char** argv)
+ {
+   int num;
+   int24 x;
+   
+   if (argc > 1)
+     num = atoi(argv[1]);
+ 
+   test(num);
+   
+   num = num - 0xdf5e75; //0x10001
+ 
+   x = num;
+ 
+   printf("x=%x\n", x);
+ 
+   if(x != 1)
+     printf("error\n");
+ 
+   test(x);
+   
+   return 0;
+ }


Index: llvm-test/SingleSource/UnitTests/Integer/trunc.reference_output
diff -c /dev/null llvm-test/SingleSource/UnitTests/Integer/trunc.reference_output:1.1
*** /dev/null	Thu Jan 25 21:10:33 2007
--- llvm-test/SingleSource/UnitTests/Integer/trunc.reference_output	Thu Jan 25 21:10:17 2007
***************
*** 0 ****
--- 1,4 ----
+ test() y = 2138506
+ x=1
+ test() y = -1
+ exit 0


Index: llvm-test/SingleSource/UnitTests/Integer/general-test.c
diff -u llvm-test/SingleSource/UnitTests/Integer/general-test.c:1.5 llvm-test/SingleSource/UnitTests/Integer/general-test.c:1.6
--- llvm-test/SingleSource/UnitTests/Integer/general-test.c:1.5	Mon Jan 22 15:07:53 2007
+++ llvm-test/SingleSource/UnitTests/Integer/general-test.c	Thu Jan 25 21:10:17 2007
@@ -41,7 +41,7 @@
   *result = sizeof(My17BitInt) + sizeof(j) + sizeof(struct MyStruct);
   Data1.i4Field = num;
   Data1.i12Field = num + 1;
-  Data1.i17Field = num + 2;
+  Data1.i17Field = num + 2; 
   Data1.i37Field = num + 3;
   Data1.next = 0;
   Data2 = Data1;


Index: llvm-test/SingleSource/UnitTests/Integer/matrix.c
diff -u llvm-test/SingleSource/UnitTests/Integer/matrix.c:1.7 llvm-test/SingleSource/UnitTests/Integer/matrix.c:1.8
--- llvm-test/SingleSource/UnitTests/Integer/matrix.c:1.7	Mon Jan 22 18:17:21 2007
+++ llvm-test/SingleSource/UnitTests/Integer/matrix.c	Thu Jan 25 21:10:17 2007
@@ -19,10 +19,10 @@
 
 typedef enum bool{false=0, true=1} bool;
 
-void mysort(const int17  X[8], int17  Y[8])
+void mysort(const int24  X[8], int24  Y[8])
 {
   unsigned int i, j;
-  int17 temp;
+  int24 temp;
   {
     j = 0;
     for ( ; ; ) {
@@ -69,11 +69,11 @@
 
 
 
-int my_test(int17  A[8][8], int17  B[8][8])
+int my_test(int24  A[8][8], int24  B[8][8])
 {
   unsigned int i, j, k, dd;
-  int17 C[8][8];
-  int17 D[8];
+  int24 C[8][8];
+  int24 D[8];
   int t;
   {
     i = 0;
@@ -118,8 +118,8 @@
 {
   int i, j;
             
-  int17 X[8][8];
-  int17 Y[8][8];
+  int24 X[8][8];
+  int24 Y[8][8];
 
   for(i=0; i<8; i++)
     for(j=0; j<8; j++){


Index: llvm-test/SingleSource/UnitTests/Integer/matrix.h
diff -u llvm-test/SingleSource/UnitTests/Integer/matrix.h:1.1 llvm-test/SingleSource/UnitTests/Integer/matrix.h:1.2
--- llvm-test/SingleSource/UnitTests/Integer/matrix.h:1.1	Thu Jan 18 20:22:46 2007
+++ llvm-test/SingleSource/UnitTests/Integer/matrix.h	Thu Jan 25 21:10:17 2007
@@ -2,5 +2,5 @@
 // Date: Fri Jan 12 17:32:33 CST 2007
 #ifndef DATATYPE_DEFINE
 #define DATATYPE_DEFINE
-typedef int __attribute__ ((bitwidth(17))) int17;
+typedef int __attribute__ ((bitwidth(24))) int24;
 #endif


Index: llvm-test/SingleSource/UnitTests/Integer/matrix.reference_output
diff -u llvm-test/SingleSource/UnitTests/Integer/matrix.reference_output:1.2 llvm-test/SingleSource/UnitTests/Integer/matrix.reference_output:1.3
--- llvm-test/SingleSource/UnitTests/Integer/matrix.reference_output:1.2	Mon Jan 22 14:47:27 2007
+++ llvm-test/SingleSource/UnitTests/Integer/matrix.reference_output	Thu Jan 25 21:10:17 2007
@@ -1,9 +1,9 @@
-get_gcd(50088, 48396) = 12
-get_gcd(-30896, -34280) = -8
-get_gcd(19192, 14116) = 4
-get_gcd(62512, 55744) = 16
-get_gcd(60148, -11704) = -44
-get_gcd(38384, 28232) = 8
-get_gcd(64784, 52940) = 4
-get_gcd(57344, 43808) = 32
+get_gcd(443304, 441612) = 1692
+get_gcd(886608, 883224) = 3384
+get_gcd(1329912, 1324836) = 5076
+get_gcd(1773216, 1766448) = 6768
+get_gcd(2216520, 2208060) = 8460
+get_gcd(2659824, 2649672) = 10152
+get_gcd(3103128, 3091284) = 11844
+get_gcd(3546432, 3532896) = 13536
 exit 0






More information about the llvm-commits mailing list