Ekaitz Zarraga
0703df1a6a
Fix Extended Asm ignored constraints
...
This commit fixes the case where the register of for the Extended Asm
input or output is known. Before this commit, the following case:
register long __a0 asm ("a0") = one;
asm volatile (
"ecall\n\t"
: "+r" (__a0) // NOTE the +r here
);
Didn't treat `a0` as an input+output register (+ contraint) as the code
skipped the constraint processing when the register was already chosen
(instead of allocated later).
This issue comes from f081acbfba
, that was
taken as a reference in every other Extended Assembler implementation.
2024-04-16 02:47:56 +02:00
grischka
56481d554f
bored...
...
/* Use "-g" as alias for "-g1". Use "-g0" to disable debug */
So not using -g is now the alias for -g0 ?!?
This reverts commit 8759b2581d
.
This reverts commit 3ce7bc6efc
.
This reverts commit 5fb582ab7f
.
This reverts commit aea68dbb40
.
This reverts commit fa9c31c3db
.
This reverts commit b3bebdb20a
.
This reverts commit ecf8e5a00e
.
This reverts commit fe6b5c08dc
.
This reverts commit e2e5377e7b
.
This reverts commit 1cd7998905
.
2022-05-09 22:19:15 +02:00
Detlef Riekenberg
aea68dbb40
arm-asm, arm64-link: Silence warnings for unused functions
...
The code needs to be fixed: use the functions or remove them.
arm-asm.c:
asm_parse_vfp_regvar()
arm64-link:
gotplt_entry_type()
create_plt_entry()
Signed-off-by: Detlef Riekenberg <wine.dev@web.de>
2022-04-12 02:11:06 +02:00
mingodad
1645616843
Revert "Move almost all global variables to TCCState, actually all tests pass on Ubuntu 18.04 x86_64"
...
This reverts commit af686a796b
.
2021-10-22 07:39:54 +02:00
mingodad
2ce2dbcb09
Revert "Fix some errors on arm64-asm.c, rename some variables, fix several code style declarations"
...
This reverts commit 61537d899a
.
2021-10-22 07:39:26 +02:00
mingodad
61537d899a
Fix some errors on arm64-asm.c, rename some variables, fix several code style declarations
2021-10-22 07:20:00 +02:00
mingodad
af686a796b
Move almost all global variables to TCCState, actually all tests pass on Ubuntu 18.04 x86_64
2021-10-21 20:09:42 +02:00
grischka
72f1dea537
tccelf: use rodata_section, use more rodata in tcc itself
...
libtcc.c: add -Wwrite-strings to -Wall
tccgen.c: ro float-consts, string-consts, ro arrays if base type is
tccpe.c: merge IAT with rodata
tccrun.c: mprotect rodata accordingly. free section data after copy
x86_64.c: do not use got for static data.
tcc -bench: show data.rw/ro
Probably STB_LOCAL should never get to put_got_entry(), and currently
it doesn't seem to happen (See "Hack Alarm" there)
Other files: use more ro-data in tinycc
2021-02-18 14:43:34 +01:00
Danny Milosavljevic
24c94fff09
arm-asm: Add vcvt
2021-02-13 01:03:41 +01:00
Danny Milosavljevic
f1fb23a661
arm-asm: Update comment
2021-02-13 01:03:39 +01:00
Danny Milosavljevic
2ac8568503
arm-asm: Support immediate values without "#" (Unified Assembly Language)
2021-01-28 16:32:31 +01:00
Danny Milosavljevic
25628cffe5
arm-asm: Add vmsr, vmrs
2021-01-26 14:25:39 +01:00
Danny Milosavljevic
1c9d999114
arm-asm: Implement "vmov.f32 Sn, Rd", "vmov.f32 Rd, Sn", "vmov.f64 Dm, Rd, Rn", "vmov.f64 Rd, Rn, Dm"
2021-01-26 03:31:33 +01:00
Danny Milosavljevic
90343eba3a
arm-asm: Mostly factor out VFP register reference parsing to parse_operand
2021-01-26 03:24:09 +01:00
Danny Milosavljevic
0416594071
arm-asm: Add vmov
2021-01-25 21:56:52 +01:00
Danny Milosavljevic
b82e52a497
arm-asm: Add vmla, vmls, vnmls, vnmla, vmul, vnmul, vadd, vsub, vdiv, vneg, vabs, vsqrt, vcmp, vcmpe
2021-01-25 21:56:52 +01:00
Danny Milosavljevic
104037a4c5
arm-asm: Raise error if user tries to use a shift instruction with an immediate source operand
2021-01-25 00:54:01 +01:00
Danny Milosavljevic
66de1550ab
arm-asm: Add vpush, vpop, vldm, vldmia, vldmdb, vstm, vstmia, vstmdb
2021-01-23 14:57:33 +01:00
Danny Milosavljevic
e350058532
arm-asm: Add svc
2021-01-23 14:20:06 +01:00
Danny Milosavljevic
2e87eb18ab
arm-asm: Improve build with MSVC
2021-01-21 21:56:10 +01:00
Danny Milosavljevic
cdbb55396c
arm-asm: Add vldr, vstr
...
Also add s0...s31, d0...d15
2021-01-21 18:15:19 +01:00
Danny Milosavljevic
31dde11ad5
arm-asm: Add ldc2, ldc2l, stc2, stc2l
2021-01-21 16:42:31 +01:00
Danny Milosavljevic
7900a6bb61
arm-asm: Add ldc, ldcl, stc, stcl
2021-01-21 16:42:28 +01:00
Danny Milosavljevic
d1a6c4aefa
arm-asm: Add mcr, mrc
2021-01-21 16:42:23 +01:00
Danny Milosavljevic
a1dad7a9f7
arm-asm: Add cdp2
...
Also allow instructions without condition code in the first place
2021-01-21 16:42:20 +01:00
Danny Milosavljevic
036a7fe7d4
arm-asm: Add cdp
...
Also add p0...p15 (coprocessors), c0...c15 (coprocessor register aliases)
2021-01-21 16:42:16 +01:00
Danny Milosavljevic
d60d2bb60e
arm-asm: Make "!" optional in asm_block_data_transfer_opcode
2021-01-18 18:58:08 +01:00
Danny Milosavljevic
757eccd1d2
arm-asm: Raise error if user tries to use PC for offset register of single data transfer
2021-01-14 23:16:38 +01:00
Danny Milosavljevic
007839597f
arm-asm: Implement ldr and str with shifted register offset
...
Factor out asm_parse_optional_shift
2021-01-14 23:16:31 +01:00
Danny Milosavljevic
aed4941e6b
arm-asm: Add ldrh, ldrsh, ldrsb, strh
2021-01-08 13:52:25 +01:00
Danny Milosavljevic
29f36a8953
arm-asm: Allow implicit offset 0 in input of asm_single_data_transfer_opcode
2021-01-05 17:46:08 +00:00
Danny Milosavljevic
483625065f
arm-asm: Add ldrex, ldrexb, strex, strexb
2021-01-05 17:46:08 +00:00
Danny Milosavljevic
54ef167111
arm-asm: Implement branch to label
2021-01-05 17:46:08 +00:00
Danny Milosavljevic
78d0f07e32
arm-asm: Improve immediate error message in asm_data_processing_opcode.
2021-01-03 15:54:19 +01:00
Danny Milosavljevic
a7205f738b
arm-asm: Support shift of 0 in asm_shift_opcode
2021-01-03 15:54:19 +01:00
Danny Milosavljevic
7f98aefddf
arm-asm: Implement subst_asm_operand
2021-01-03 02:34:12 +01:00
Danny Milosavljevic
9a460d3234
arm-asm: Implement asm_compute_constraints
2021-01-03 02:34:12 +01:00
Danny Milosavljevic
795d7d5ce6
arm-asm: Implement asm_gen_code
2021-01-03 02:34:12 +01:00
Danny Milosavljevic
d66c155239
arm-asm: Support bigger immediates for data processing instructions
2021-01-03 02:34:12 +01:00
Danny Milosavljevic
14b7973ab5
arm-asm: Add movw
2021-01-03 02:34:11 +01:00
Danny Milosavljevic
c882d03673
arm-asm: Add movt
2021-01-03 02:34:11 +01:00
Danny Milosavljevic
86cc9c587b
arm-asm: Raise error if asm_data_processing_opcode and asm_shift_opcode try to use PC for register-controlled shifts
2021-01-03 02:34:11 +01:00
Danny Milosavljevic
79567004b4
arm-asm: Raise error if more than two operands are specified on mov, mvn, cmp, cmn, tst, teq
2021-01-03 02:34:11 +01:00
Danny Milosavljevic
612d9d7ae6
arm-asm: Print a warning if asm_binary_opcode is used with SP as operand
2021-01-03 02:34:11 +01:00
Danny Milosavljevic
67b402fda4
arm-asm: Raise an error if asm_binary_opcode is used with PC as operand
2021-01-03 02:34:11 +01:00
Danny Milosavljevic
3a6f3e5f30
arm-asm: Add error case in asm_multiplication_opcode
2021-01-03 02:34:11 +01:00
Danny Milosavljevic
e0cb5184f5
arm-asm: Warn if regset registers are not specified in ascending order
2021-01-03 02:34:11 +01:00
Danny Milosavljevic
49365d563e
arm-asm: Support rotation for sxtb, sxth, uxtb, uxth
2021-01-03 02:34:11 +01:00
Danny Milosavljevic
daaa88ce68
arm-asm: For data processing instructions, support shifts and rotations.
2021-01-03 02:34:11 +01:00
Danny Milosavljevic
abef8f6ca7
arm-asm: Add lsl, lsr, asr, ror, rrx
2021-01-03 02:34:11 +01:00