OSDN Git Service

* lib/target-supports.exp (check_effective_target_powerpc_spe):
authorjsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 1 Jan 2007 12:56:08 +0000 (12:56 +0000)
committerjsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 1 Jan 2007 12:56:08 +0000 (12:56 +0000)
New.
(check_effective_target_vect_cmdline_needed): Use it.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120308 138bc75d-0d04-0410-961f-82ee72b054a4

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

index 7b2dbcd..6c18b36 100644 (file)
@@ -1,3 +1,9 @@
+2007-01-01  Joseph Myers  <joseph@codesourcery.com>
+
+       * lib/target-supports.exp (check_effective_target_powerpc_spe):
+       New.
+       (check_effective_target_vect_cmdline_needed): Use it.
+
 2006-12-31  Richard Guenther  <rguenther@suse.de>
 
        PR middle-end/30137
index e64a523..11850ae 100644 (file)
@@ -1,4 +1,4 @@
-#   Copyright (C) 1999, 2001, 2003, 2004, 2005, 2006
+#   Copyright (C) 1999, 2001, 2003, 2004, 2005, 2006, 2007
 #   Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
@@ -1240,7 +1240,9 @@ proc check_effective_target_vect_cmdline_needed { } {
        set et_vect_cmdline_needed_saved 1
        if { [istarget ia64-*-*]
             || (([istarget x86_64-*-*] || [istarget i?86-*-*])
-                && [check_effective_target_lp64])} {
+                && [check_effective_target_lp64])
+            || ([istarget powerpc*-*-*]
+                && [check_effective_target_powerpc_spe])} {
           set et_vect_cmdline_needed_saved 0
        }
     }
@@ -1360,6 +1362,22 @@ proc check_effective_target_powerpc_altivec_ok { } {
     }
 }
 
+# Return 1 if this is a PowerPC target with SPE enabled.
+
+proc check_effective_target_powerpc_spe { } {
+    if { [istarget powerpc*-*-*] } {
+       return [check_no_compiler_messages powerpc_spe object {
+           #ifndef __SPE__
+           #error not SPE
+           #else
+           int dummy;
+           #endif
+       }]
+    } else {
+       return 0
+    }
+}
+
 # Return 1 if the target supports hardware vector shift operation.
 
 proc check_effective_target_vect_shift { } {