1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- /*************************************************************/
- /*
- * ARM dummy assembler for TCC
- *
- */
- #ifdef TARGET_DEFS_ONLY
- #define CONFIG_TCC_ASM
- #define NB_ASM_REGS 16
- ST_FUNC void g(int c);
- ST_FUNC void gen_le16(int c);
- ST_FUNC void gen_le32(int c);
- /*************************************************************/
- #else
- /*************************************************************/
- #include "tcc.h"
- static void asm_error(void)
- {
- tcc_error("ARM asm not implemented.");
- }
- /* XXX: make it faster ? */
- ST_FUNC void g(int c)
- {
- int ind1;
- if (nocode_wanted)
- return;
- ind1 = ind + 1;
- if (ind1 > cur_text_section->data_allocated)
- section_realloc(cur_text_section, ind1);
- cur_text_section->data[ind] = c;
- ind = ind1;
- }
- ST_FUNC void gen_le16 (int i)
- {
- g(i);
- g(i>>8);
- }
- ST_FUNC void gen_le32 (int i)
- {
- gen_le16(i);
- gen_le16(i>>16);
- }
- ST_FUNC void gen_expr32(ExprValue *pe)
- {
- gen_le32(pe->v);
- }
- ST_FUNC void asm_opcode(TCCState *s1, int opcode)
- {
- asm_error();
- }
- ST_FUNC void subst_asm_operand(CString *add_str, SValue *sv, int modifier)
- {
- asm_error();
- }
- /* generate prolog and epilog code for asm statement */
- ST_FUNC void asm_gen_code(ASMOperand *operands, int nb_operands,
- int nb_outputs, int is_output,
- uint8_t *clobber_regs,
- int out_reg)
- {
- }
- ST_FUNC void asm_compute_constraints(ASMOperand *operands,
- int nb_operands, int nb_outputs,
- const uint8_t *clobber_regs,
- int *pout_reg)
- {
- }
- ST_FUNC void asm_clobber(uint8_t *clobber_regs, const char *str)
- {
- asm_error();
- }
- ST_FUNC int asm_parse_regvar (int t)
- {
- asm_error();
- return -1;
- }
- /*************************************************************/
- #endif /* ndef TARGET_DEFS_ONLY */
|