aboutsummaryrefslogtreecommitdiff
path: root/i386-asm.c
diff options
context:
space:
mode:
authorMichael Matz <matz@suse.de>2016-07-11 17:03:53 +0200
committerMichael Matz <matz@suse.de>2016-12-15 17:47:08 +0100
commite5f4f8d0e7966a4ed50849ded52c5274a1ff55db (patch)
tree80746c84f70e834a23e0f1eaa2cf6ac2065ff165 /i386-asm.c
parentbbce31552ec7a9f4ac8a92f31d95d4a4c1be66d0 (diff)
downloadtinycc-e5f4f8d0e7966a4ed50849ded52c5274a1ff55db.tar.gz
tinycc-e5f4f8d0e7966a4ed50849ded52c5274a1ff55db.tar.bz2
inline asm: Accept "e" constraint
This is meant to be a (sign-extended) 32bit constant (possibly symbolic). We don't do any checks and simply regard it as "i".
Diffstat (limited to 'i386-asm.c')
-rw-r--r--i386-asm.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/i386-asm.c b/i386-asm.c
index ea15140..b02026e 100644
--- a/i386-asm.c
+++ b/i386-asm.c
@@ -1017,6 +1017,7 @@ static inline int constraint_priority(const char *str)
case 'N':
case 'M':
case 'I':
+ case 'e':
case 'i':
case 'm':
case 'g':
@@ -1193,6 +1194,7 @@ ST_FUNC void asm_compute_constraints(ASMOperand *operands,
op->reg = reg;
regs_allocated[reg] |= reg_mask;
break;
+ case 'e':
case 'i':
if (!((op->vt->r & (VT_VALMASK | VT_LVAL)) == VT_CONST))
goto try_next;