[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Tinycc-devel] [PATCH 00/16] Add ARM inline assembler
From: |
Danny Milosavljevic |
Subject: |
Re: [Tinycc-devel] [PATCH 00/16] Add ARM inline assembler |
Date: |
Sat, 26 Dec 2020 23:09:38 +0100 |
Unit tests:
#!/bin/sh
set -e
cat arm-tok.h |grep DEF_ASM_CONDED |grep -v '#define' |grep -v '/[*]' |sed -e
's;DEF_ASM_CONDED.\(.*\).$;\1;'| grep -v 'not useful' >L
for s in $(cat L)
do
ok=0
for args in "r3, r4, r5, r6" \
"r3, r4, r5" \
"r3, r4" "r3" \
"{r3,r4,r5}" \
"r2!, {r3,r4,r5}" \
"r2, [r3, r4]" \
"r2, [r3, r4]!" \
"r2, [r3, -r4]" \
"r2, [r3, -r4]!" \
"r2, [r3], r4" \
"r2, [r3, #4]" \
"r2, [r3, #-4]" \
"r2, r3, #4" \
"r2, r3, #-4" \
"r2, #4" \
"r2, #-4" \
"#4" \
"#-4" \
""
do
echo "$s $args" > a.s
#cat a.s
if as -o a.o a.s 2>/dev/null
then
objdump -S a.o |grep "^[ ]*0:" >a.expected
echo '__asm__("'"$s ${args}"'");' > a.c
if ./tcc -o a.o -c a.c
then
objdump -S a.o |grep "^[ ]*0:" >a.got
diff -u a.got a.expected || {
echo "warning: '$s $args' did not work
correctly in tcc (see above)">&2
}
else
echo "warning: '$s $args' did not work in
tcc">&2
fi
ok=1
fi
done
if [ "${ok}" -eq "0" ]
then
echo "warning: $s could not be used.">&2
fi
done
(This cannot test branches, though)
pgpsZeJ0KCHdC.pgp
Description: OpenPGP digital signature
- [Tinycc-devel] [PATCH 01/16] arm-asm: Publish g, gen_le16, gen_le32 in tcc.h, (continued)
- [Tinycc-devel] [PATCH 01/16] arm-asm: Publish g, gen_le16, gen_le32 in tcc.h, Danny Milosavljevic, 2020/12/26
- [Tinycc-devel] [PATCH 09/16] arm-asm: Add swi, Danny Milosavljevic, 2020/12/26
- [Tinycc-devel] [PATCH 07/16] arm-asm: Add parse_operand, Operand, Danny Milosavljevic, 2020/12/26
- [Tinycc-devel] [PATCH 10/16] arm-asm: Add clz, sxtb, sxth, uxtb, uxth, Danny Milosavljevic, 2020/12/26
- [Tinycc-devel] [PATCH 12/16] arm-asm: Add stmda, ldmda, stm, ldm, stmia, ldmia, stmdb, ldmdb, stmib, ldmib, Danny Milosavljevic, 2020/12/26
- [Tinycc-devel] [PATCH 11/16] arm-asm: Add mul, mla, smull, umull, smlal, umlal, Danny Milosavljevic, 2020/12/26
- [Tinycc-devel] [PATCH 13/16] arm-asm: Add ldr, ldrb, str, strb, Danny Milosavljevic, 2020/12/26
- [Tinycc-devel] [PATCH 16/16] arm-asm: Optimize gen_le32, Danny Milosavljevic, 2020/12/26
- [Tinycc-devel] [PATCH 15/16] arm-asm: Add b, bl, bx, blx, Danny Milosavljevic, 2020/12/26
- [Tinycc-devel] [PATCH 14/16] arm-asm: Add and, eor, sub, rsb, add, adc, sbc, rsc, tst, teq, cmp, cmn, orr, mov, bic, mvn, Danny Milosavljevic, 2020/12/26
- Re: [Tinycc-devel] [PATCH 00/16] Add ARM inline assembler,
Danny Milosavljevic <=
- [Tinycc-devel] [PATCH 02/16] arm-asm: Implement asm_parse_regvar and asm_clobber, Danny Milosavljevic, 2020/12/26
- [Tinycc-devel] [PATCH 04/16] arm-asm: Remove asm_error, Danny Milosavljevic, 2020/12/26
- Re: [Tinycc-devel] [PATCH 00/16] Add ARM inline assembler, Jan Nieuwenhuizen, 2020/12/27
- Re: [Tinycc-devel] [PATCH 00/16] Add ARM inline assembler, Michael Matz, 2020/12/27
- Prev by Date:
[Tinycc-devel] [PATCH 14/16] arm-asm: Add and, eor, sub, rsb, add, adc, sbc, rsc, tst, teq, cmp, cmn, orr, mov, bic, mvn
- Next by Date:
[Tinycc-devel] [PATCH 02/16] arm-asm: Implement asm_parse_regvar and asm_clobber
- Previous by thread:
[Tinycc-devel] [PATCH 14/16] arm-asm: Add and, eor, sub, rsb, add, adc, sbc, rsc, tst, teq, cmp, cmn, orr, mov, bic, mvn
- Next by thread:
[Tinycc-devel] [PATCH 02/16] arm-asm: Implement asm_parse_regvar and asm_clobber
- Index(es):