Hi,

On Linux/x86-64, when we pass

RUNTESTFLAGS="--target_board='unix{-mx32}'"

to GCC tests, we can't check lp64/ilp32 for availability of 64bit x86
instructions.  This patch adds ia32 and x32 effetive targets.  OK for
trunk?

Thanks.


H.J.
---
2011-07-07  H.J. Lu  <hongjiu...@intel.com>

        * lib/target-supports.exp (check_effective_target_ia32): New.
        (check_effective_target_x32): Likewise.
        (check_effective_target_vect_cmdline_needed): Also check x32.

diff --git a/gcc/testsuite/lib/target-supports.exp 
b/gcc/testsuite/lib/target-supports.exp
index 7db156f..b5b8782 100644
--- a/gcc/testsuite/lib/target-supports.exp
+++ b/gcc/testsuite/lib/target-supports.exp
@@ -1512,6 +1512,28 @@ proc check_effective_target_ilp32 { } {
     }]
 }
 
+# Return 1 if we're generating ia32 code using default options, 0
+# otherwise.
+
+proc check_effective_target_ia32 { } {
+    return [check_no_compiler_messages ia32 object {
+       int dummy[sizeof (int) == 4
+                 && sizeof (void *) == 4
+                 && sizeof (long) == 4 ? 1 : -1] = { __i386__ };
+    }]
+}
+
+# Return 1 if we're generating x32 code using default options, 0
+# otherwise.
+
+proc check_effective_target_x32 { } {
+    return [check_no_compiler_messages x32 object {
+       int dummy[sizeof (int) == 4
+                 && sizeof (void *) == 4
+                 && sizeof (long) == 4 ? 1 : -1] = { __x86_64__ };
+    }]
+}
+
 # Return 1 if we're generating 32-bit or larger integers using default
 # options, 0 otherwise.
 
@@ -1713,7 +1735,8 @@ proc check_effective_target_vect_cmdline_needed { } {
        if { [istarget alpha*-*-*]
             || [istarget ia64-*-*]
             || (([istarget x86_64-*-*] || [istarget i?86-*-*])
-                && [check_effective_target_lp64])
+                && ([check_effective_target_x32]
+                    || [check_effective_target_lp64]))
             || ([istarget powerpc*-*-*]
                 && ([check_effective_target_powerpc_spe]
                     || [check_effective_target_powerpc_altivec]))

Reply via email to