From e906c889182f1385ef48374e87e8ae7323b58848 Mon Sep 17 00:00:00 2001 From: Richard Sandiford Date: Wed, 25 Jan 2012 19:04:44 +0000 Subject: [PATCH] mips.c: Don't process ASM_OPERANDS. gcc/ * config/mips/mips.c: Don't process ASM_OPERANDS. From-SVN: r183532 --- gcc/ChangeLog | 4 ++++ gcc/config/mips/mips.c | 5 ++++- 2 files changed, 8 insertions(+), 1 deletion(-) 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 + + * config/mips/mips.c: Don't process ASM_OPERANDS. + 2012-01-25 Georg-Johann Lay 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)) -- 2.30.2