source: EcnlProtoTool/trunk/tcc-0.9.27/arm-asm.c@ 331

Last change on this file since 331 was 331, checked in by coas-nagasima, 6 years ago

prototoolに関連するプロジェクトをnewlibからmuslを使うよう変更・更新
ntshellをnewlibの下位の実装から、muslのsyscallの実装に変更・更新
以下のOSSをアップデート
・mruby-1.3.0
・musl-1.1.18
・onigmo-6.1.3
・tcc-0.9.27
以下のOSSを追加
・openssl-1.1.0e
・curl-7.57.0
・zlib-1.2.11
以下のmrbgemsを追加
・iij/mruby-digest
・iij/mruby-env
・iij/mruby-errno
・iij/mruby-iijson
・iij/mruby-ipaddr
・iij/mruby-mock
・iij/mruby-require
・iij/mruby-tls-openssl

  • Property svn:eol-style set to native
  • Property svn:mime-type set to text/x-csrc
File size: 1.9 KB
Line 
1/*************************************************************/
2/*
3 * ARM dummy assembler for TCC
4 *
5 */
6
7#ifdef TARGET_DEFS_ONLY
8
9#define CONFIG_TCC_ASM
10#define NB_ASM_REGS 16
11
12ST_FUNC void g(int c);
13ST_FUNC void gen_le16(int c);
14ST_FUNC void gen_le32(int c);
15
16/*************************************************************/
17#else
18/*************************************************************/
19
20#include "tcc.h"
21
22static void asm_error(void)
23{
24 tcc_error("ARM asm not implemented.");
25}
26
27/* XXX: make it faster ? */
28ST_FUNC void g(int c)
29{
30 int ind1;
31 if (nocode_wanted)
32 return;
33 ind1 = ind + 1;
34 if (ind1 > cur_text_section->data_allocated)
35 section_realloc(cur_text_section, ind1);
36 cur_text_section->data[ind] = c;
37 ind = ind1;
38}
39
40ST_FUNC void gen_le16 (int i)
41{
42 g(i);
43 g(i>>8);
44}
45
46ST_FUNC void gen_le32 (int i)
47{
48 gen_le16(i);
49 gen_le16(i>>16);
50}
51
52ST_FUNC void gen_expr32(ExprValue *pe)
53{
54 gen_le32(pe->v);
55}
56
57ST_FUNC void asm_opcode(TCCState *s1, int opcode)
58{
59 asm_error();
60}
61
62ST_FUNC void subst_asm_operand(CString *add_str, SValue *sv, int modifier)
63{
64 asm_error();
65}
66
67/* generate prolog and epilog code for asm statement */
68ST_FUNC void asm_gen_code(ASMOperand *operands, int nb_operands,
69 int nb_outputs, int is_output,
70 uint8_t *clobber_regs,
71 int out_reg)
72{
73}
74
75ST_FUNC void asm_compute_constraints(ASMOperand *operands,
76 int nb_operands, int nb_outputs,
77 const uint8_t *clobber_regs,
78 int *pout_reg)
79{
80}
81
82ST_FUNC void asm_clobber(uint8_t *clobber_regs, const char *str)
83{
84 asm_error();
85}
86
87ST_FUNC int asm_parse_regvar (int t)
88{
89 asm_error();
90 return -1;
91}
92
93/*************************************************************/
94#endif /* ndef TARGET_DEFS_ONLY */
Note: See TracBrowser for help on using the repository browser.