mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-05-05 06:50:21 +02:00
* include/lightning/jit_mips.h, lib/jit_mips-cpu.c, lib/jit_mips-sz.c, lib/jit_mips.c, size: Build and pass all test cases on Irix big endian mips using the 64 bit abi.
1054 lines
8 KiB
C
1054 lines
8 KiB
C
|
|
#if __WORDSIZE == 32
|
|
#if NEW_ABI
|
|
#define JIT_INSTR_MAX 44
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
44,
|
|
0,
|
|
4,
|
|
12,
|
|
12,
|
|
20,
|
|
28,
|
|
28,
|
|
4,
|
|
12,
|
|
12,
|
|
20,
|
|
28,
|
|
28,
|
|
8,
|
|
16,
|
|
12,
|
|
20,
|
|
12,
|
|
20,
|
|
8,
|
|
16,
|
|
8,
|
|
16,
|
|
12,
|
|
16,
|
|
12,
|
|
16,
|
|
8,
|
|
16,
|
|
8,
|
|
16,
|
|
4,
|
|
12,
|
|
4,
|
|
12,
|
|
4,
|
|
12,
|
|
4,
|
|
4,
|
|
4,
|
|
4,
|
|
4,
|
|
4,
|
|
4,
|
|
8,
|
|
4,
|
|
4,
|
|
4,
|
|
4,
|
|
8,
|
|
12,
|
|
8,
|
|
12,
|
|
12,
|
|
12,
|
|
8,
|
|
12,
|
|
8,
|
|
12,
|
|
4,
|
|
8,
|
|
4,
|
|
8,
|
|
8,
|
|
8,
|
|
4,
|
|
8,
|
|
8,
|
|
4,
|
|
8,
|
|
4,
|
|
0,
|
|
0,
|
|
4,
|
|
4,
|
|
12,
|
|
4,
|
|
12,
|
|
4,
|
|
12,
|
|
4,
|
|
12,
|
|
4,
|
|
12,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
8,
|
|
4,
|
|
8,
|
|
4,
|
|
8,
|
|
4,
|
|
8,
|
|
4,
|
|
8,
|
|
4,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
4,
|
|
12,
|
|
4,
|
|
12,
|
|
4,
|
|
12,
|
|
0,
|
|
0,
|
|
8,
|
|
4,
|
|
8,
|
|
4,
|
|
8,
|
|
4,
|
|
0,
|
|
0,
|
|
12,
|
|
12,
|
|
12,
|
|
12,
|
|
12,
|
|
16,
|
|
12,
|
|
16,
|
|
8,
|
|
16,
|
|
12,
|
|
12,
|
|
12,
|
|
12,
|
|
12,
|
|
16,
|
|
12,
|
|
16,
|
|
8,
|
|
16,
|
|
12,
|
|
12,
|
|
12,
|
|
12,
|
|
28,
|
|
28,
|
|
16,
|
|
20,
|
|
28,
|
|
28,
|
|
16,
|
|
20,
|
|
28,
|
|
28,
|
|
16,
|
|
20,
|
|
28,
|
|
28,
|
|
16,
|
|
20,
|
|
0,
|
|
8,
|
|
12,
|
|
16,
|
|
44,
|
|
0,
|
|
4,
|
|
16,
|
|
4,
|
|
16,
|
|
4,
|
|
16,
|
|
4,
|
|
16,
|
|
4,
|
|
4,
|
|
4,
|
|
16,
|
|
28,
|
|
16,
|
|
28,
|
|
16,
|
|
28,
|
|
16,
|
|
28,
|
|
16,
|
|
28,
|
|
16,
|
|
28,
|
|
16,
|
|
28,
|
|
16,
|
|
28,
|
|
16,
|
|
28,
|
|
16,
|
|
28,
|
|
16,
|
|
28,
|
|
16,
|
|
28,
|
|
16,
|
|
28,
|
|
16,
|
|
28,
|
|
8,
|
|
0,
|
|
8,
|
|
4,
|
|
4,
|
|
12,
|
|
4,
|
|
12,
|
|
8,
|
|
4,
|
|
4,
|
|
12,
|
|
8,
|
|
4,
|
|
12,
|
|
24,
|
|
12,
|
|
24,
|
|
12,
|
|
24,
|
|
12,
|
|
24,
|
|
12,
|
|
24,
|
|
12,
|
|
24,
|
|
12,
|
|
24,
|
|
12,
|
|
24,
|
|
12,
|
|
24,
|
|
12,
|
|
24,
|
|
12,
|
|
24,
|
|
12,
|
|
24,
|
|
12,
|
|
24,
|
|
12,
|
|
24,
|
|
0,
|
|
4,
|
|
16,
|
|
4,
|
|
16,
|
|
4,
|
|
16,
|
|
4,
|
|
16,
|
|
4,
|
|
4,
|
|
4,
|
|
16,
|
|
28,
|
|
16,
|
|
28,
|
|
16,
|
|
28,
|
|
16,
|
|
28,
|
|
16,
|
|
28,
|
|
16,
|
|
28,
|
|
16,
|
|
28,
|
|
16,
|
|
28,
|
|
16,
|
|
28,
|
|
16,
|
|
28,
|
|
16,
|
|
28,
|
|
16,
|
|
28,
|
|
16,
|
|
28,
|
|
16,
|
|
28,
|
|
8,
|
|
0,
|
|
8,
|
|
4,
|
|
4,
|
|
12,
|
|
4,
|
|
12,
|
|
8,
|
|
4,
|
|
4,
|
|
12,
|
|
8,
|
|
4,
|
|
12,
|
|
24,
|
|
12,
|
|
24,
|
|
12,
|
|
24,
|
|
12,
|
|
24,
|
|
12,
|
|
24,
|
|
12,
|
|
24,
|
|
12,
|
|
24,
|
|
12,
|
|
24,
|
|
12,
|
|
24,
|
|
12,
|
|
24,
|
|
12,
|
|
24,
|
|
12,
|
|
24,
|
|
12,
|
|
24,
|
|
12,
|
|
24,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
4,
|
|
12,
|
|
0,
|
|
0,
|
|
#endif /* NEW_ABI */
|
|
#endif /* __WORDSIZE */
|
|
|
|
#if __WORDSIZE == 32
|
|
#if !NEW_ABI
|
|
#define JIT_INSTR_MAX 96
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
96,
|
|
0,
|
|
4,
|
|
12,
|
|
12,
|
|
20,
|
|
28,
|
|
28,
|
|
4,
|
|
12,
|
|
12,
|
|
20,
|
|
28,
|
|
28,
|
|
8,
|
|
16,
|
|
12,
|
|
20,
|
|
12,
|
|
20,
|
|
8,
|
|
16,
|
|
8,
|
|
16,
|
|
12,
|
|
16,
|
|
12,
|
|
16,
|
|
8,
|
|
16,
|
|
8,
|
|
16,
|
|
4,
|
|
12,
|
|
4,
|
|
12,
|
|
4,
|
|
12,
|
|
4,
|
|
4,
|
|
4,
|
|
4,
|
|
4,
|
|
4,
|
|
4,
|
|
8,
|
|
4,
|
|
4,
|
|
4,
|
|
4,
|
|
8,
|
|
12,
|
|
8,
|
|
12,
|
|
12,
|
|
12,
|
|
8,
|
|
12,
|
|
8,
|
|
12,
|
|
4,
|
|
8,
|
|
4,
|
|
8,
|
|
8,
|
|
8,
|
|
4,
|
|
8,
|
|
8,
|
|
4,
|
|
8,
|
|
4,
|
|
0,
|
|
0,
|
|
56,
|
|
4,
|
|
12,
|
|
4,
|
|
12,
|
|
4,
|
|
12,
|
|
4,
|
|
12,
|
|
4,
|
|
12,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
8,
|
|
4,
|
|
8,
|
|
4,
|
|
8,
|
|
4,
|
|
8,
|
|
4,
|
|
8,
|
|
4,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
4,
|
|
12,
|
|
4,
|
|
12,
|
|
4,
|
|
12,
|
|
0,
|
|
0,
|
|
8,
|
|
4,
|
|
8,
|
|
4,
|
|
8,
|
|
4,
|
|
0,
|
|
0,
|
|
12,
|
|
12,
|
|
12,
|
|
12,
|
|
12,
|
|
16,
|
|
12,
|
|
16,
|
|
8,
|
|
16,
|
|
12,
|
|
12,
|
|
12,
|
|
12,
|
|
12,
|
|
16,
|
|
12,
|
|
16,
|
|
8,
|
|
16,
|
|
12,
|
|
12,
|
|
12,
|
|
12,
|
|
28,
|
|
28,
|
|
16,
|
|
20,
|
|
28,
|
|
28,
|
|
16,
|
|
20,
|
|
28,
|
|
28,
|
|
16,
|
|
20,
|
|
28,
|
|
28,
|
|
16,
|
|
20,
|
|
0,
|
|
8,
|
|
12,
|
|
16,
|
|
96,
|
|
0,
|
|
4,
|
|
16,
|
|
4,
|
|
16,
|
|
4,
|
|
16,
|
|
4,
|
|
16,
|
|
4,
|
|
4,
|
|
4,
|
|
16,
|
|
28,
|
|
16,
|
|
28,
|
|
16,
|
|
28,
|
|
16,
|
|
28,
|
|
16,
|
|
28,
|
|
16,
|
|
28,
|
|
16,
|
|
28,
|
|
16,
|
|
28,
|
|
16,
|
|
28,
|
|
16,
|
|
28,
|
|
16,
|
|
28,
|
|
16,
|
|
28,
|
|
16,
|
|
28,
|
|
16,
|
|
28,
|
|
8,
|
|
0,
|
|
8,
|
|
4,
|
|
4,
|
|
12,
|
|
4,
|
|
12,
|
|
8,
|
|
4,
|
|
4,
|
|
12,
|
|
8,
|
|
4,
|
|
12,
|
|
24,
|
|
12,
|
|
24,
|
|
12,
|
|
24,
|
|
12,
|
|
24,
|
|
12,
|
|
24,
|
|
12,
|
|
24,
|
|
12,
|
|
24,
|
|
12,
|
|
24,
|
|
12,
|
|
24,
|
|
12,
|
|
24,
|
|
12,
|
|
24,
|
|
12,
|
|
24,
|
|
12,
|
|
24,
|
|
12,
|
|
24,
|
|
0,
|
|
4,
|
|
20,
|
|
4,
|
|
20,
|
|
4,
|
|
20,
|
|
4,
|
|
20,
|
|
4,
|
|
4,
|
|
4,
|
|
16,
|
|
40,
|
|
16,
|
|
40,
|
|
16,
|
|
40,
|
|
16,
|
|
40,
|
|
16,
|
|
40,
|
|
16,
|
|
40,
|
|
16,
|
|
40,
|
|
16,
|
|
40,
|
|
16,
|
|
40,
|
|
16,
|
|
40,
|
|
16,
|
|
40,
|
|
16,
|
|
40,
|
|
16,
|
|
40,
|
|
16,
|
|
40,
|
|
8,
|
|
0,
|
|
8,
|
|
4,
|
|
4,
|
|
24,
|
|
8,
|
|
16,
|
|
12,
|
|
8,
|
|
8,
|
|
16,
|
|
12,
|
|
8,
|
|
12,
|
|
28,
|
|
12,
|
|
28,
|
|
12,
|
|
28,
|
|
12,
|
|
28,
|
|
12,
|
|
28,
|
|
12,
|
|
36,
|
|
12,
|
|
36,
|
|
12,
|
|
36,
|
|
12,
|
|
36,
|
|
12,
|
|
36,
|
|
12,
|
|
36,
|
|
12,
|
|
28,
|
|
12,
|
|
28,
|
|
12,
|
|
36,
|
|
4,
|
|
8,
|
|
0,
|
|
0,
|
|
4,
|
|
8,
|
|
8,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
#endif /* NEW_ABI */
|
|
#endif /* __WORDSIZE */
|
|
|
|
#if __WORDSIZE == 64
|
|
#define JIT_INSTR_MAX 44
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
44,
|
|
0,
|
|
4,
|
|
28,
|
|
12,
|
|
36,
|
|
28,
|
|
28,
|
|
4,
|
|
28,
|
|
12,
|
|
36,
|
|
28,
|
|
28,
|
|
8,
|
|
32,
|
|
12,
|
|
32,
|
|
12,
|
|
32,
|
|
8,
|
|
32,
|
|
8,
|
|
32,
|
|
12,
|
|
16,
|
|
12,
|
|
16,
|
|
8,
|
|
32,
|
|
8,
|
|
32,
|
|
4,
|
|
28,
|
|
4,
|
|
28,
|
|
4,
|
|
28,
|
|
4,
|
|
4,
|
|
4,
|
|
4,
|
|
4,
|
|
4,
|
|
4,
|
|
8,
|
|
4,
|
|
4,
|
|
4,
|
|
4,
|
|
8,
|
|
12,
|
|
8,
|
|
12,
|
|
12,
|
|
12,
|
|
8,
|
|
12,
|
|
8,
|
|
12,
|
|
4,
|
|
8,
|
|
4,
|
|
8,
|
|
8,
|
|
8,
|
|
4,
|
|
28,
|
|
8,
|
|
4,
|
|
8,
|
|
4,
|
|
4,
|
|
8,
|
|
4,
|
|
4,
|
|
12,
|
|
4,
|
|
12,
|
|
4,
|
|
12,
|
|
4,
|
|
12,
|
|
4,
|
|
12,
|
|
4,
|
|
12,
|
|
4,
|
|
12,
|
|
8,
|
|
4,
|
|
8,
|
|
4,
|
|
8,
|
|
4,
|
|
8,
|
|
4,
|
|
8,
|
|
4,
|
|
8,
|
|
4,
|
|
8,
|
|
4,
|
|
4,
|
|
12,
|
|
4,
|
|
12,
|
|
4,
|
|
12,
|
|
4,
|
|
12,
|
|
8,
|
|
4,
|
|
8,
|
|
4,
|
|
8,
|
|
4,
|
|
8,
|
|
4,
|
|
12,
|
|
12,
|
|
12,
|
|
12,
|
|
12,
|
|
16,
|
|
12,
|
|
16,
|
|
8,
|
|
36,
|
|
12,
|
|
12,
|
|
12,
|
|
12,
|
|
12,
|
|
16,
|
|
12,
|
|
16,
|
|
8,
|
|
32,
|
|
12,
|
|
12,
|
|
12,
|
|
12,
|
|
28,
|
|
28,
|
|
16,
|
|
20,
|
|
28,
|
|
28,
|
|
16,
|
|
20,
|
|
28,
|
|
28,
|
|
16,
|
|
20,
|
|
28,
|
|
28,
|
|
16,
|
|
20,
|
|
0,
|
|
8,
|
|
12,
|
|
32,
|
|
44,
|
|
0,
|
|
4,
|
|
16,
|
|
4,
|
|
16,
|
|
4,
|
|
16,
|
|
4,
|
|
16,
|
|
4,
|
|
4,
|
|
4,
|
|
16,
|
|
28,
|
|
16,
|
|
28,
|
|
16,
|
|
28,
|
|
16,
|
|
28,
|
|
16,
|
|
28,
|
|
16,
|
|
28,
|
|
16,
|
|
28,
|
|
16,
|
|
28,
|
|
16,
|
|
28,
|
|
16,
|
|
28,
|
|
16,
|
|
28,
|
|
16,
|
|
28,
|
|
16,
|
|
28,
|
|
16,
|
|
28,
|
|
8,
|
|
8,
|
|
8,
|
|
4,
|
|
4,
|
|
12,
|
|
4,
|
|
12,
|
|
8,
|
|
4,
|
|
4,
|
|
12,
|
|
8,
|
|
4,
|
|
12,
|
|
24,
|
|
12,
|
|
24,
|
|
12,
|
|
24,
|
|
12,
|
|
24,
|
|
12,
|
|
24,
|
|
12,
|
|
24,
|
|
12,
|
|
24,
|
|
12,
|
|
24,
|
|
12,
|
|
24,
|
|
12,
|
|
24,
|
|
12,
|
|
24,
|
|
12,
|
|
24,
|
|
12,
|
|
24,
|
|
12,
|
|
24,
|
|
0,
|
|
4,
|
|
16,
|
|
4,
|
|
16,
|
|
4,
|
|
16,
|
|
4,
|
|
16,
|
|
4,
|
|
4,
|
|
4,
|
|
16,
|
|
28,
|
|
16,
|
|
28,
|
|
16,
|
|
28,
|
|
16,
|
|
28,
|
|
16,
|
|
28,
|
|
16,
|
|
28,
|
|
16,
|
|
28,
|
|
16,
|
|
28,
|
|
16,
|
|
28,
|
|
16,
|
|
28,
|
|
16,
|
|
28,
|
|
16,
|
|
28,
|
|
16,
|
|
28,
|
|
16,
|
|
28,
|
|
8,
|
|
8,
|
|
8,
|
|
4,
|
|
4,
|
|
12,
|
|
4,
|
|
12,
|
|
8,
|
|
4,
|
|
4,
|
|
12,
|
|
8,
|
|
4,
|
|
12,
|
|
24,
|
|
12,
|
|
24,
|
|
12,
|
|
24,
|
|
12,
|
|
24,
|
|
12,
|
|
24,
|
|
12,
|
|
24,
|
|
12,
|
|
24,
|
|
12,
|
|
24,
|
|
12,
|
|
24,
|
|
12,
|
|
24,
|
|
12,
|
|
24,
|
|
12,
|
|
24,
|
|
12,
|
|
24,
|
|
12,
|
|
24,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
4,
|
|
12,
|
|
0,
|
|
0,
|
|
#endif /* __WORDSIZE */
|