* lib/target-supports.exp
authorJoseph Myers <joseph@codesourcery.com>
Fri, 6 Oct 2006 00:47:35 +0000 (01:47 +0100)
committerJoseph Myers <jsm28@gcc.gnu.org>
Fri, 6 Oct 2006 00:47:35 +0000 (01:47 +0100)
(check_effective_target_vect_cmdline_needed): Handle i?86-*-* the
same as x86_64-*-*; check for LP64.

From-SVN: r117477

gcc/testsuite/ChangeLog
gcc/testsuite/lib/target-supports.exp

index 08d9f29..31ba8d4 100644 (file)
@@ -1,3 +1,9 @@
+2006-10-06  Joseph Myers  <joseph@codesourcery.com>
+
+       * lib/target-supports.exp
+       (check_effective_target_vect_cmdline_needed): Handle i?86-*-* the
+       same as x86_64-*-*; check for LP64.
+
 2006-10-04  Richard Henderson  <rth@redhat.com>
 
        * lib/target-supports.exp (check_effective_target_tls): Redefine
index 30b4e7e..074cdb2 100644 (file)
@@ -1207,18 +1207,33 @@ proc check_effective_target_dfprt { } {
 
 # Return 1 if the target needs a command line argument to enable a SIMD
 # instruction set.
-#
-# This won't change for different subtargets so cache the result.
 
 proc check_effective_target_vect_cmdline_needed { } {
     global et_vect_cmdline_needed_saved
+    global et_vect_cmdline_needed_target_name
+
+    if { ![info exists et_vect_cmdline_needed_target_name] } {
+       set et_vect_cmdline_needed_target_name ""
+    }
+
+    # If the target has changed since we set the cached value, clear it.
+    set current_target [current_target_name]
+    if { $current_target != $et_vect_cmdline_needed_target_name } {
+       verbose "check_effective_target_vect_cmdline_needed: `$et_vect_cmdline_needed_target_name' `$current_target'" 2
+       set et_vect_cmdline_needed_target_name $current_target
+       if { [info exists et_vect_cmdline_needed_saved] } {
+           verbose "check_effective_target_vect_cmdline_needed: removing cached result" 2
+           unset et_vect_cmdline_needed_saved
+       }
+    }
 
     if [info exists et_vect_cmdline_needed_saved] {
        verbose "check_effective_target_vect_cmdline_needed: using cached result" 2
     } else {
        set et_vect_cmdline_needed_saved 1
        if { [istarget ia64-*-*]
-             || [istarget x86_64-*-*] } {
+            || (([istarget x86_64-*-*] || [istarget i?86-*-*])
+                && [check_effective_target_lp64])} {
           set et_vect_cmdline_needed_saved 0
        }
     }