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 |
|
Danny Milosavljevic
|
b940d8edb2
|
arm-asm: Optimize gen_le32
|
2021-01-03 02:34:11 +01:00 |
|
Danny Milosavljevic
|
b85c3e1595
|
arm-asm: Add b, bl, bx, blx
|
2021-01-03 02:34:11 +01:00 |
|
Danny Milosavljevic
|
3b1f06c3b2
|
arm-asm: Add and, eor, sub, rsb, add, adc, sbc, rsc, tst, teq, cmp, cmn, orr, mov, bic, mvn
|
2021-01-03 02:34:11 +01:00 |
|
Danny Milosavljevic
|
c7682dd9aa
|
arm-asm: Add ldr, ldrb, str, strb
|
2021-01-03 02:34:11 +01:00 |
|
Danny Milosavljevic
|
632b213756
|
arm-asm: Add stmda, ldmda, stm, ldm, stmia, ldmia, stmdb, ldmdb, stmib, ldmib
|
2021-01-03 02:34:10 +01:00 |
|
Danny Milosavljevic
|
82663d33bb
|
arm-asm: Add mul, mla, smull, umull, smlal, umlal
|
2021-01-03 02:34:10 +01:00 |
|
Danny Milosavljevic
|
c4e13c1ef9
|
arm-asm: Add clz, sxtb, sxth, uxtb, uxth
|
2021-01-03 02:34:10 +01:00 |
|
Danny Milosavljevic
|
c9e0c2a543
|
arm-asm: Add swi
|
2021-01-03 02:34:10 +01:00 |
|
Danny Milosavljevic
|
b495959e4b
|
arm-asm: Add push, pop
Also edited tcctok.h to not redefine push, pop
|
2021-01-03 02:34:10 +01:00 |
|
Danny Milosavljevic
|
c5428cd19c
|
arm-asm: Add parse_operand, Operand
tccpp: Allow '#' token to reach the assembler.
|
2021-01-03 02:34:10 +01:00 |
|