Hi all,

I've committed the attached to fix a failure-to-assemble bug that can occur in some vectorized code. This has been hidden for a long time because sub-word vectors were disabled on GCN, but this is no longer the case.

The gather load instructions had the suffixes for store, which didn't assemble well. E.g. it had 'flat_load_short', instead of 'flat_load_ustore'.

This fixes about 39 tests in vect.exp.

--
Andrew Stubbs
Mentor Graphics / CodeSourcery
Fix unrecognised GCN instruction.

2019-12-06  Andrew Stubbs  <a...@codesourcery.com>

	gcc/
	* config/gcn/gcn-valu.md (gather<mode>_insn_1offset<exec>): Use %o
	in the asm output.

diff --git a/gcc/config/gcn/gcn-valu.md b/gcc/config/gcn/gcn-valu.md
index 90f0dcf3106..95e0731a374 100644
--- a/gcc/config/gcn/gcn-valu.md
+++ b/gcc/config/gcn/gcn-valu.md
@@ -716,10 +716,10 @@
     if (AS_FLAT_P (as))
       {
 	if (TARGET_GCN5_PLUS)
-	  sprintf (buf, "flat_load%%s0\t%%0, %%1 offset:%%2%s\;s_waitcnt\t0",
+	  sprintf (buf, "flat_load%%o0\t%%0, %%1 offset:%%2%s\;s_waitcnt\t0",
 		   glc);
 	else
-	  sprintf (buf, "flat_load%%s0\t%%0, %%1%s\;s_waitcnt\t0", glc);
+	  sprintf (buf, "flat_load%%o0\t%%0, %%1%s\;s_waitcnt\t0", glc);
       }
     else if (AS_GLOBAL_P (as))
       sprintf (buf, "global_load%%s0\t%%0, %%1, off offset:%%2%s\;"

Reply via email to