arm-asm: Improve build with MSVC
This commit is contained in:
parent
3fc55e15e8
commit
2e87eb18ab
1 changed files with 33 additions and 17 deletions
50
arm-asm.c
50
arm-asm.c
|
@ -623,7 +623,7 @@ static void asm_data_processing_opcode(TCCState *s1, int token)
|
|||
{
|
||||
Operand ops[3];
|
||||
int nb_ops;
|
||||
Operand shift = {};
|
||||
Operand shift = {0};
|
||||
int nb_shift = 0;
|
||||
uint32_t operands = 0;
|
||||
|
||||
|
@ -1741,12 +1741,14 @@ ST_FUNC void asm_opcode(TCCState *s1, int token)
|
|||
if (token < TOK_ASM_nopeq) { // no condition code
|
||||
switch (token) {
|
||||
case TOK_ASM_cdp2:
|
||||
return asm_coprocessor_opcode(s1, token);
|
||||
asm_coprocessor_opcode(s1, token);
|
||||
return;
|
||||
case TOK_ASM_ldc2:
|
||||
case TOK_ASM_ldc2l:
|
||||
case TOK_ASM_stc2:
|
||||
case TOK_ASM_stc2l:
|
||||
return asm_coprocessor_data_transfer_opcode(s1, token);
|
||||
asm_coprocessor_data_transfer_opcode(s1, token);
|
||||
return;
|
||||
default:
|
||||
expect("instruction");
|
||||
return;
|
||||
|
@ -1766,18 +1768,22 @@ ST_FUNC void asm_opcode(TCCState *s1, int token)
|
|||
case TOK_ASM_ldmdbeq:
|
||||
case TOK_ASM_stmibeq:
|
||||
case TOK_ASM_ldmibeq:
|
||||
return asm_block_data_transfer_opcode(s1, token);
|
||||
asm_block_data_transfer_opcode(s1, token);
|
||||
return;
|
||||
case TOK_ASM_nopeq:
|
||||
case TOK_ASM_wfeeq:
|
||||
case TOK_ASM_wfieq:
|
||||
return asm_nullary_opcode(token);
|
||||
asm_nullary_opcode(token);
|
||||
return;
|
||||
case TOK_ASM_swieq:
|
||||
return asm_unary_opcode(s1, token);
|
||||
asm_unary_opcode(s1, token);
|
||||
return;
|
||||
case TOK_ASM_beq:
|
||||
case TOK_ASM_bleq:
|
||||
case TOK_ASM_bxeq:
|
||||
case TOK_ASM_blxeq:
|
||||
return asm_branch_opcode(s1, token);
|
||||
asm_branch_opcode(s1, token);
|
||||
return;
|
||||
case TOK_ASM_clzeq:
|
||||
case TOK_ASM_sxtbeq:
|
||||
case TOK_ASM_sxtheq:
|
||||
|
@ -1785,7 +1791,8 @@ ST_FUNC void asm_opcode(TCCState *s1, int token)
|
|||
case TOK_ASM_uxtheq:
|
||||
case TOK_ASM_movteq:
|
||||
case TOK_ASM_movweq:
|
||||
return asm_binary_opcode(s1, token);
|
||||
asm_binary_opcode(s1, token);
|
||||
return;
|
||||
|
||||
case TOK_ASM_ldreq:
|
||||
case TOK_ASM_ldrbeq:
|
||||
|
@ -1795,13 +1802,15 @@ ST_FUNC void asm_opcode(TCCState *s1, int token)
|
|||
case TOK_ASM_ldrexbeq:
|
||||
case TOK_ASM_strexeq:
|
||||
case TOK_ASM_strexbeq:
|
||||
return asm_single_data_transfer_opcode(s1, token);
|
||||
asm_single_data_transfer_opcode(s1, token);
|
||||
return;
|
||||
|
||||
case TOK_ASM_ldrheq:
|
||||
case TOK_ASM_ldrsheq:
|
||||
case TOK_ASM_ldrsbeq:
|
||||
case TOK_ASM_strheq:
|
||||
return asm_misc_single_data_transfer_opcode(s1, token);
|
||||
asm_misc_single_data_transfer_opcode(s1, token);
|
||||
return;
|
||||
|
||||
case TOK_ASM_andeq:
|
||||
case TOK_ASM_eoreq:
|
||||
|
@ -1835,7 +1844,8 @@ ST_FUNC void asm_opcode(TCCState *s1, int token)
|
|||
case TOK_ASM_movseq:
|
||||
case TOK_ASM_bicseq:
|
||||
case TOK_ASM_mvnseq:
|
||||
return asm_data_processing_opcode(s1, token);
|
||||
asm_data_processing_opcode(s1, token);
|
||||
return;
|
||||
|
||||
case TOK_ASM_lsleq:
|
||||
case TOK_ASM_lslseq:
|
||||
|
@ -1847,13 +1857,15 @@ ST_FUNC void asm_opcode(TCCState *s1, int token)
|
|||
case TOK_ASM_rorseq:
|
||||
case TOK_ASM_rrxseq:
|
||||
case TOK_ASM_rrxeq:
|
||||
return asm_shift_opcode(s1, token);
|
||||
asm_shift_opcode(s1, token);
|
||||
return;
|
||||
|
||||
case TOK_ASM_muleq:
|
||||
case TOK_ASM_mulseq:
|
||||
case TOK_ASM_mlaeq:
|
||||
case TOK_ASM_mlaseq:
|
||||
return asm_multiplication_opcode(s1, token);
|
||||
asm_multiplication_opcode(s1, token);
|
||||
return;
|
||||
|
||||
case TOK_ASM_smulleq:
|
||||
case TOK_ASM_smullseq:
|
||||
|
@ -1863,23 +1875,27 @@ ST_FUNC void asm_opcode(TCCState *s1, int token)
|
|||
case TOK_ASM_smlalseq:
|
||||
case TOK_ASM_umlaleq:
|
||||
case TOK_ASM_umlalseq:
|
||||
return asm_long_multiplication_opcode(s1, token);
|
||||
asm_long_multiplication_opcode(s1, token);
|
||||
return;
|
||||
|
||||
case TOK_ASM_cdpeq:
|
||||
case TOK_ASM_mcreq:
|
||||
case TOK_ASM_mrceq:
|
||||
return asm_coprocessor_opcode(s1, token);
|
||||
asm_coprocessor_opcode(s1, token);
|
||||
return;
|
||||
|
||||
case TOK_ASM_ldceq:
|
||||
case TOK_ASM_ldcleq:
|
||||
case TOK_ASM_stceq:
|
||||
case TOK_ASM_stcleq:
|
||||
return asm_coprocessor_data_transfer_opcode(s1, token);
|
||||
asm_coprocessor_data_transfer_opcode(s1, token);
|
||||
return;
|
||||
|
||||
#if defined(TCC_ARM_VFP)
|
||||
case TOK_ASM_vldreq:
|
||||
case TOK_ASM_vstreq:
|
||||
return asm_floating_point_single_data_transfer_opcode(s1, token);
|
||||
asm_floating_point_single_data_transfer_opcode(s1, token);
|
||||
return;
|
||||
#endif
|
||||
|
||||
default:
|
||||
|
|
Loading…
Add table
Reference in a new issue