gcc/
authorrsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 25 Jan 2012 19:04:44 +0000 (19:04 +0000)
committerrsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 25 Jan 2012 19:04:44 +0000 (19:04 +0000)
* config/mips/mips.c: Don't process ASM_OPERANDS.

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

gcc/ChangeLog
gcc/config/mips/mips.c

index fc98fb4..b3914be 100644 (file)
@@ -1,3 +1,7 @@
+2012-01-25  Richard Sandiford  <rdsandiford@googlemail.com>
+
+       * config/mips/mips.c: Don't process ASM_OPERANDS.
+
 2012-01-25  Georg-Johann Lay  <avr@gjlay.de>
 
        PR target/49868
index 4a64ff2..e4231a5 100644 (file)
@@ -3101,7 +3101,10 @@ mips_small_data_pattern_1 (rtx *loc, void *data)
 {
   enum mips_symbol_context context;
 
-  if (GET_CODE (*loc) == LO_SUM)
+  /* Ignore things like "g" constraints in asms.  We make no particular
+     guarantee about which symbolic constants are acceptable as asm operands
+     versus which must be forced into a GPR.  */
+  if (GET_CODE (*loc) == LO_SUM || GET_CODE (*loc) == ASM_OPERANDS)
     return -1;
 
   if (MEM_P (*loc))