aboutsummaryrefslogtreecommitdiff
path: root/gcc/stmt.c
diff options
context:
space:
mode:
authorJim Wilson <wilson@gcc.gnu.org>1995-12-18 15:39:23 -0800
committerJim Wilson <wilson@gcc.gnu.org>1995-12-18 15:39:23 -0800
commit7b7a33b380bc71f5b05bbaf24297161230e37923 (patch)
tree05818a251313d2d15fbc5f03f6ef97c28fa68336 /gcc/stmt.c
parent4b6ba2ba9c57660ae486da2a6f00f78739ce80ca (diff)
downloadgcc-7b7a33b380bc71f5b05bbaf24297161230e37923.zip
gcc-7b7a33b380bc71f5b05bbaf24297161230e37923.tar.gz
gcc-7b7a33b380bc71f5b05bbaf24297161230e37923.tar.bz2
(expand_asm_operands): Handle numeric constraints in
with the default case. From-SVN: r10803
Diffstat (limited to 'gcc/stmt.c')
-rw-r--r--gcc/stmt.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/gcc/stmt.c b/gcc/stmt.c
index 0bf6e50..d4f199d 100644
--- a/gcc/stmt.c
+++ b/gcc/stmt.c
@@ -1427,7 +1427,6 @@ expand_asm_operands (string, outputs, inputs, clobbers, vol, filename, line)
break;
case '?': case '!': case '*': case '%': case '&':
- case '0': case '1': case '2': case '3': case '4':
case 'V': case 'm': case 'o': case '<': case '>':
case 'E': case 'F': case 'G': case 'H': case 'X':
case 's': case 'i': case 'n':
@@ -1439,6 +1438,12 @@ expand_asm_operands (string, outputs, inputs, clobbers, vol, filename, line)
break;
case 'p': case 'g': case 'r':
+ /* Whether or not a numeric constraint allows a register is
+ decided by the matching constraint, and so there is no need
+ to do anything special with them. We must handle them in
+ the default case, so that we don't unnecessarily force
+ operands to memory. */
+ case '0': case '1': case '2': case '3': case '4':
default:
allows_reg = 1;
break;
@@ -1543,8 +1548,13 @@ expand_asm_operands (string, outputs, inputs, clobbers, vol, filename, line)
#endif
break;
- case '0': case '1': case '2': case '3': case '4':
case 'p': case 'g': case 'r':
+ /* Whether or not a numeric constraint allows a register is
+ decided by the matching constraint, and so there is no need
+ to do anything special with them. We must handle them in
+ the default case, so that we don't unnecessarily force
+ operands to memory. */
+ case '0': case '1': case '2': case '3': case '4':
default:
allows_reg = 1;
break;