[llvm-commits] [llvm-gcc-4.2] r85540 - /llvm-gcc-4.2/trunk/gcc/config/arm/llvm-arm.cpp

Bob Wilson bob.wilson at apple.com
Thu Oct 29 16:49:01 PDT 2009


Author: bwilson
Date: Thu Oct 29 18:49:00 2009
New Revision: 85540

URL: http://llvm.org/viewvc/llvm-project?rev=85540&view=rev
Log:
Fix ARM AAPCS-VFP detection of homogeneous aggregates.  An aggregate
consisting of a single vector (aka a "containerized vector") has a count
of 1, but the existing code (which pre-dates our use of ARM-style
containerized vectors) was checking for count > 1.

Modified:
    llvm-gcc-4.2/trunk/gcc/config/arm/llvm-arm.cpp

Modified: llvm-gcc-4.2/trunk/gcc/config/arm/llvm-arm.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/arm/llvm-arm.cpp?rev=85540&r1=85539&r2=85540&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/arm/llvm-arm.cpp (original)
+++ llvm-gcc-4.2/trunk/gcc/config/arm/llvm-arm.cpp Thu Oct 29 18:49:00 2009
@@ -2407,19 +2407,19 @@
     }
 
     // Make sure that one FDT is 4 or less elements in size.
-    if (fdt_counts[ARM_FDT_HALF_FLOAT] > 1 &&
+    if (fdt_counts[ARM_FDT_HALF_FLOAT] >= 1 &&
         fdt_counts[ARM_FDT_HALF_FLOAT] <= 4)
       result = true;
-    else if (fdt_counts[ARM_FDT_FLOAT] > 1 &&
+    else if (fdt_counts[ARM_FDT_FLOAT] >= 1 &&
              fdt_counts[ARM_FDT_FLOAT] <= 4)
       result = true;
-    else if (fdt_counts[ARM_FDT_DOUBLE] > 1 &&
+    else if (fdt_counts[ARM_FDT_DOUBLE] >= 1 &&
              fdt_counts[ARM_FDT_DOUBLE] <= 4)
       result = true;
-    else if (fdt_counts[ARM_FDT_VECTOR_64] > 1 &&
+    else if (fdt_counts[ARM_FDT_VECTOR_64] >= 1 &&
              fdt_counts[ARM_FDT_VECTOR_64] <= 4)
       result = true;
-    else if (fdt_counts[ARM_FDT_VECTOR_128] > 1 &&
+    else if (fdt_counts[ARM_FDT_VECTOR_128] >= 1 &&
              fdt_counts[ARM_FDT_VECTOR_128] <= 4)
       result = true;
     





More information about the llvm-commits mailing list