[MIPS,committed] Clean up vect.exp results

Submitted by Richard Sandiford on Jan. 24, 2012, 7:46 p.m.

Details

Message ID 87pqe86g03.fsf@firetop.home
State New
Headers show

Commit Message

Richard Sandiford Jan. 24, 2012, 7:46 p.m.
...for -mpaired-single at least.  Although the patch shows the intention
of making this specific to -mpaired-single, we don't distinguish between
integer and float capabilities, so the condition effectively triggers
for Loongson integer vectors too.

The patch is still correct for floats on Loongson, and the Loongson
results are messy even without this patch, so I'm afraid I'm going
to punt on them for now and concentrate on getting the standard ISA
results clean.  The lack of feedback to Richard's autovectorisation
patches makes me wonder how much interest there is in Loongson these
days anyway.

Tested on mipsisa64-elf and mips64-linux-gnu.  Applied.

Richard


gcc/testsuite/
	* lib/target-supports.exp (proc check_effective_target_vect_perm)
	(check_effective_target_vect_extract_even_odd)
	(check_effective_target_vect_interleave): Return true for MIPS
	paired-single.

Patch hide | download patch | download mbox

Index: gcc/testsuite/lib/target-supports.exp
===================================================================
--- gcc/testsuite/lib/target-supports.exp	2012-01-24 19:20:28.000000000 +0000
+++ gcc/testsuite/lib/target-supports.exp	2012-01-24 19:40:13.000000000 +0000
@@ -2759,7 +2759,9 @@  proc check_effective_target_vect_perm {
 	     || [istarget powerpc*-*-*]
              || [istarget spu-*-*]
 	     || [istarget i?86-*-*]
-	     || [istarget x86_64-*-*] } {
+	     || [istarget x86_64-*-*]
+	     || ([istarget mips*-*-*]
+		 && [check_effective_target_mpaired_single]) } {
             set et_vect_perm_saved 1
         }
     }
@@ -3484,8 +3486,10 @@  proc check_effective_target_vect_extract
              || [istarget i?86-*-*]
              || [istarget x86_64-*-*]
              || [istarget ia64-*-*]
-             || [istarget spu-*-*] } {
-           set et_vect_extract_even_odd_saved 1
+             || [istarget spu-*-*]
+	     || ([istarget mips*-*-*]
+		 && [check_effective_target_mpaired_single]) } {
+	    set et_vect_extract_even_odd_saved 1
         }
     }
 
@@ -3507,7 +3511,9 @@  proc check_effective_target_vect_interle
              || [istarget i?86-*-*]
              || [istarget x86_64-*-*]
              || [istarget ia64-*-*]
-             || [istarget spu-*-*] } {
+             || [istarget spu-*-*]
+	     || ([istarget mips*-*-*]
+		 && [check_effective_target_mpaired_single]) } {
            set et_vect_interleave_saved 1
         }
     }