summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4>2012-01-25 19:04:44 +0000
committerrsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4>2012-01-25 19:04:44 +0000
commitfb7bf3ef0832baa89d1e9e652fcb847ae2bf21df (patch)
tree5414dff4ea454f9565410e70a08cf2810ea382af
parent588ac0488f3e287e9560a19a202e9a12572ec7b8 (diff)
downloadgcc-fb7bf3ef0832baa89d1e9e652fcb847ae2bf21df.tar.gz
gcc/
* 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
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/config/mips/mips.c5
2 files changed, 8 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index fc98fb42afb..b3914bedd9a 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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
diff --git a/gcc/config/mips/mips.c b/gcc/config/mips/mips.c
index 4a64ff234ca..e4231a59c49 100644
--- a/gcc/config/mips/mips.c
+++ b/gcc/config/mips/mips.c
@@ -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))