aboutsummaryrefslogtreecommitdiff
path: root/tccasm.c
diff options
context:
space:
mode:
authorMichael Matz <matz@suse.de>2016-07-11 16:28:48 +0200
committerMichael Matz <matz@suse.de>2016-12-15 17:47:07 +0100
commitf9423ff3fa5ac2374ed1a36c2d93475539f63f35 (patch)
tree6b09ef5d2f6b24207eda841c9957aceee2c2fc90 /tccasm.c
parent10c351488901667059181cf034dd500354f352ed (diff)
downloadtinycc-f9423ff3fa5ac2374ed1a36c2d93475539f63f35.tar.gz
tinycc-f9423ff3fa5ac2374ed1a36c2d93475539f63f35.tar.bz2
inline asm: Fix 'P' and accept some r<nr> registers
A 'P' template modifier should avoid adding a '$' to literal arguments. Also accept the numbered r8+ registers in an inline asm clobber list (ignoring them for now).
Diffstat (limited to 'tccasm.c')
-rw-r--r--tccasm.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/tccasm.c b/tccasm.c
index 569ff81..b651f68 100644
--- a/tccasm.c
+++ b/tccasm.c
@@ -1043,10 +1043,10 @@ static void subst_asm_operands(ASMOperand *operands, int nb_operands,
}
modifier = 0;
if (*str == 'c' || *str == 'n' ||
- *str == 'b' || *str == 'w' ||
- *str == 'h' || *str == 'k' || *str == 'q' ||
- /* P in GCC would add "@PLT" to symbol refs in PIC mode
- Ignore this in TCC. */
+ *str == 'b' || *str == 'w' || *str == 'h' || *str == 'k' ||
+ *str == 'q' ||
+ /* P in GCC would add "@PLT" to symbol refs in PIC mode,
+ and make literal operands not be decorated with '$'. */
*str == 'P')
modifier = *str++;
index = find_constraint(operands, nb_operands, str, &str);