mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-29 22:40:34 +02:00
ALPHA: Implement lightning Alpha port.
* include/lightning/jit_alpha.h, lib/jit_alpha-cpu.c, lib/jit_alpha-fpu.c, lib/jit_alpha-sz.c, lib/jit_alpha.c: New files implementing a lightning Alpha port. Thanks to Trent Nelson and snakebit.net staff for providing access to an Alpha system. * check/float.tst, check/lightning.c, configure.ac, include/lightning.h, include/lightning/Makefile.am, include/lightning/jit_private.h, lib/Makefile.am, lib/jit_disasm.c, lib/jit_size.c, lib/lightning.c: Minor changes to adapt for the new Alpha port.
This commit is contained in:
parent
53dd28d682
commit
05b88d9d45
16 changed files with 5979 additions and 12 deletions
|
@ -36,6 +36,10 @@ EXTRA_DIST = \
|
|||
jit_aarch64-cpu.c \
|
||||
jit_aarch64-fpu.c \
|
||||
jit_aarch64-sz.c \
|
||||
jit_alpha.c \
|
||||
jit_alpha-cpu.c \
|
||||
jit_alpha-fpu.c \
|
||||
jit_alpha-sz.c \
|
||||
jit_arm.c \
|
||||
jit_arm-cpu.c \
|
||||
jit_arm-swf.c \
|
||||
|
|
2641
lib/jit_alpha-cpu.c
Normal file
2641
lib/jit_alpha-cpu.c
Normal file
File diff suppressed because it is too large
Load diff
1538
lib/jit_alpha-fpu.c
Normal file
1538
lib/jit_alpha-fpu.c
Normal file
File diff suppressed because it is too large
Load diff
350
lib/jit_alpha-sz.c
Normal file
350
lib/jit_alpha-sz.c
Normal file
|
@ -0,0 +1,350 @@
|
|||
|
||||
#if __WORDSIZE == 64
|
||||
#define JIT_INSTR_MAX 76
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
76,
|
||||
0,
|
||||
4,
|
||||
32,
|
||||
12,
|
||||
40,
|
||||
28,
|
||||
28,
|
||||
4,
|
||||
32,
|
||||
12,
|
||||
40,
|
||||
28,
|
||||
28,
|
||||
4,
|
||||
32,
|
||||
44,
|
||||
56,
|
||||
12,
|
||||
32,
|
||||
48,
|
||||
72,
|
||||
48,
|
||||
72,
|
||||
56,
|
||||
56,
|
||||
56,
|
||||
56,
|
||||
48,
|
||||
72,
|
||||
48,
|
||||
72,
|
||||
4,
|
||||
32,
|
||||
4,
|
||||
32,
|
||||
4,
|
||||
32,
|
||||
4,
|
||||
4,
|
||||
4,
|
||||
4,
|
||||
4,
|
||||
4,
|
||||
4,
|
||||
4,
|
||||
4,
|
||||
4,
|
||||
4,
|
||||
8,
|
||||
4,
|
||||
8,
|
||||
4,
|
||||
4,
|
||||
4,
|
||||
4,
|
||||
4,
|
||||
8,
|
||||
4,
|
||||
8,
|
||||
4,
|
||||
8,
|
||||
4,
|
||||
8,
|
||||
8,
|
||||
12,
|
||||
4,
|
||||
32,
|
||||
8,
|
||||
8,
|
||||
8,
|
||||
8,
|
||||
8,
|
||||
8,
|
||||
36,
|
||||
12,
|
||||
40,
|
||||
4,
|
||||
32,
|
||||
12,
|
||||
40,
|
||||
4,
|
||||
32,
|
||||
4,
|
||||
32,
|
||||
12,
|
||||
40,
|
||||
4,
|
||||
32,
|
||||
16,
|
||||
12,
|
||||
8,
|
||||
4,
|
||||
16,
|
||||
12,
|
||||
8,
|
||||
4,
|
||||
8,
|
||||
4,
|
||||
16,
|
||||
12,
|
||||
8,
|
||||
4,
|
||||
4,
|
||||
32,
|
||||
4,
|
||||
32,
|
||||
4,
|
||||
32,
|
||||
4,
|
||||
32,
|
||||
8,
|
||||
4,
|
||||
8,
|
||||
4,
|
||||
8,
|
||||
4,
|
||||
8,
|
||||
4,
|
||||
8,
|
||||
8,
|
||||
8,
|
||||
12,
|
||||
8,
|
||||
12,
|
||||
8,
|
||||
12,
|
||||
8,
|
||||
40,
|
||||
8,
|
||||
12,
|
||||
8,
|
||||
12,
|
||||
8,
|
||||
12,
|
||||
8,
|
||||
12,
|
||||
8,
|
||||
36,
|
||||
8,
|
||||
8,
|
||||
8,
|
||||
8,
|
||||
28,
|
||||
32,
|
||||
16,
|
||||
16,
|
||||
28,
|
||||
32,
|
||||
16,
|
||||
16,
|
||||
28,
|
||||
32,
|
||||
16,
|
||||
16,
|
||||
28,
|
||||
32,
|
||||
16,
|
||||
16,
|
||||
0,
|
||||
36,
|
||||
8,
|
||||
36,
|
||||
68,
|
||||
0,
|
||||
8,
|
||||
32,
|
||||
8,
|
||||
32,
|
||||
8,
|
||||
32,
|
||||
8,
|
||||
32,
|
||||
4,
|
||||
4,
|
||||
8,
|
||||
32,
|
||||
56,
|
||||
32,
|
||||
56,
|
||||
32,
|
||||
56,
|
||||
32,
|
||||
56,
|
||||
32,
|
||||
56,
|
||||
32,
|
||||
56,
|
||||
32,
|
||||
56,
|
||||
32,
|
||||
56,
|
||||
32,
|
||||
56,
|
||||
32,
|
||||
56,
|
||||
32,
|
||||
56,
|
||||
32,
|
||||
56,
|
||||
20,
|
||||
44,
|
||||
20,
|
||||
44,
|
||||
16,
|
||||
16,
|
||||
12,
|
||||
4,
|
||||
4,
|
||||
24,
|
||||
4,
|
||||
32,
|
||||
8,
|
||||
4,
|
||||
4,
|
||||
32,
|
||||
8,
|
||||
4,
|
||||
24,
|
||||
48,
|
||||
24,
|
||||
48,
|
||||
24,
|
||||
48,
|
||||
24,
|
||||
48,
|
||||
24,
|
||||
48,
|
||||
28,
|
||||
52,
|
||||
28,
|
||||
52,
|
||||
28,
|
||||
52,
|
||||
28,
|
||||
52,
|
||||
28,
|
||||
52,
|
||||
28,
|
||||
52,
|
||||
28,
|
||||
52,
|
||||
12,
|
||||
36,
|
||||
12,
|
||||
36,
|
||||
0,
|
||||
8,
|
||||
28,
|
||||
8,
|
||||
28,
|
||||
8,
|
||||
28,
|
||||
8,
|
||||
28,
|
||||
4,
|
||||
4,
|
||||
8,
|
||||
32,
|
||||
52,
|
||||
32,
|
||||
52,
|
||||
32,
|
||||
52,
|
||||
32,
|
||||
52,
|
||||
32,
|
||||
52,
|
||||
32,
|
||||
52,
|
||||
32,
|
||||
52,
|
||||
32,
|
||||
52,
|
||||
32,
|
||||
52,
|
||||
32,
|
||||
52,
|
||||
32,
|
||||
52,
|
||||
32,
|
||||
52,
|
||||
20,
|
||||
40,
|
||||
20,
|
||||
40,
|
||||
16,
|
||||
16,
|
||||
12,
|
||||
4,
|
||||
4,
|
||||
20,
|
||||
4,
|
||||
32,
|
||||
8,
|
||||
4,
|
||||
4,
|
||||
32,
|
||||
8,
|
||||
4,
|
||||
24,
|
||||
44,
|
||||
24,
|
||||
44,
|
||||
24,
|
||||
44,
|
||||
24,
|
||||
44,
|
||||
24,
|
||||
44,
|
||||
28,
|
||||
48,
|
||||
28,
|
||||
48,
|
||||
28,
|
||||
48,
|
||||
28,
|
||||
48,
|
||||
28,
|
||||
48,
|
||||
28,
|
||||
48,
|
||||
28,
|
||||
48,
|
||||
12,
|
||||
32,
|
||||
12,
|
||||
32,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
#endif /* __WORDSIZE */
|
1253
lib/jit_alpha.c
Normal file
1253
lib/jit_alpha.c
Normal file
File diff suppressed because it is too large
Load diff
|
@ -100,6 +100,10 @@ jit_init_debug(char *progname)
|
|||
disasm_info.mach = bfd_mach_s390_64;
|
||||
disasm_info.endian = disasm_info.display_endian = BFD_ENDIAN_BIG;
|
||||
disasm_info.disassembler_options = "zarch";
|
||||
# endif
|
||||
# if defined(__alpha__)
|
||||
disasm_info.arch = bfd_arch_alpha;
|
||||
disasm_info.mach = bfd_mach_alpha_ev6;
|
||||
# endif
|
||||
disasm_info.print_address_func = disasm_print_address;
|
||||
|
||||
|
@ -117,7 +121,13 @@ jit_init_debug(char *progname)
|
|||
|
||||
if (bfd_get_file_flags(disasm_bfd) & DYNAMIC) {
|
||||
dyn_storage = bfd_get_dynamic_symtab_upper_bound(disasm_bfd);
|
||||
# if defined(__alpha__)
|
||||
/* XXX */
|
||||
if (dyn_storage < 0)
|
||||
dyn_storage = 0;
|
||||
# else
|
||||
assert(dyn_storage >= 0);
|
||||
# endif
|
||||
}
|
||||
else
|
||||
dyn_storage = 0;
|
||||
|
|
|
@ -48,6 +48,8 @@ static jit_int16_t _szs[jit_code_x86_retval_d + 1] = {
|
|||
# include "jit_aarch64-sz.c"
|
||||
# elif defined(__s390x__)
|
||||
# include "jit_s390x-sz.c"
|
||||
# elif defined(__alpha__)
|
||||
# include "jit_alpha-sz.c"
|
||||
# endif
|
||||
#endif
|
||||
};
|
||||
|
|
|
@ -3113,4 +3113,6 @@ _patch_register(jit_state_t *_jit, jit_node_t *node, jit_node_t *link,
|
|||
# include "jit_aarch64.c"
|
||||
#elif defined(__s390x__)
|
||||
# include "jit_s390x.c"
|
||||
#elif defined(__alpha__)
|
||||
# include "jit_alpha.c"
|
||||
#endif
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue