Commit Graph

142 Commits

Author SHA1 Message Date
Ilya Leoshkevich
66c2eba016
Merge 035f133798 into e0a7ea8a92 2025-04-08 12:52:21 -04:00
Mike Pall
8358eb0cce Merge branch 'master' into v2.1 2025-01-13 16:15:19 +01:00
Mike Pall
e8236561d4 Bump copyright date. 2025-01-13 15:59:10 +01:00
Ilya Leoshkevich
dee73f516f Add s390x architecture support to DynASM
s390x (IBM Z) is an architecture of server computers produced by IBM.
It is supported by a number of open source code generators, such as
GCC, LLVM, OpenJDK, eBPF, QEMU, Valgrind and Cranelift. One of the
missing pieces in the ecosystem support is LuaJIT.

The s390x support for LuaJIT was initially developed by @ketank-new,
@mundaym and @niravthakkar. It found its way into moonjit and luajit2
forks, as well as Fedora distro (as a patch). There were also smaller
contributions by @preetikhorjuvenkar, @Bisht13, @velemas,
@AlekseiNikiforovIBM, and @iii-i.

This is a cumulative patch of the DynASM changes from this work. It
contains all the contributions squashed together, plus minor stylistic
cleanups.

Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
2024-11-14 12:25:58 +01:00
Mike Pall
3ca0a80711 DynASM/x86: Add endbr instruction.
Thanks to Dmitry Stogov. #1143 #1142
2024-01-22 19:17:45 +01:00
Mike Pall
c525bcb902 DynASM/x86: Allow [&expr] operand.
Thanks to Dmitry Stogov. #1138
2023-12-23 20:06:17 +01:00
Mike Pall
656ecbcf8f DynASM/ARM64: Support ldp/stp of q registers.
Thanks to Peter Cawley. #1096
2023-10-08 22:12:01 +02:00
Mike Pall
ef587afb2c Merge branch 'master' into v2.1 2023-08-20 21:33:37 +02:00
Mike Pall
158a284cc9 Bump copyright date. 2023-08-20 21:25:30 +02:00
Mike Pall
117ddf35e6 DynASM/ARM64: Add instructions for ARM64e PAC.
Contributed by Peter Cawley. #559
2023-08-12 22:24:00 +02:00
Mike Pall
91914b23f6 DynASM: Fix regression due to warning fix.
Thanks to Dmitry Stogov. #1041 #970
2023-08-12 14:29:02 +02:00
Mike Pall
51fb2f2c3a DynASM: Fix warnings.
Reported by Ilija Tovilo.
2023-06-02 12:54:46 +02:00
Mike Pall
6053b04815 DynASM: Fix warnings. 2022-06-08 16:21:01 +02:00
Mike Pall
68bb11405c DynASM/ARM64: Fix LSL/BFI* encoding with variable registers.
Thanks to Dmitry Stogov.
2022-06-02 13:48:04 +02:00
Mike Pall
e2c312e0de DynASM/ARM64: Fix NOP instruction for aligment
Reported by Marius Wachtler.
2022-03-25 15:31:17 +01:00
Mike Pall
7306ba78d6 Merge branch 'master' into v2.1 2022-01-15 19:42:30 +01:00
Mike Pall
c4dfb625ba Bump copyright date. 2022-01-15 19:30:54 +01:00
Mike Pall
c1c4c5599c Merge branch 'master' into v2.1 2021-06-08 22:35:23 +02:00
Mike Pall
98f95f6918 DynASM/x86: Add missing escape in pattern. 2021-06-08 22:34:22 +02:00
Mike Pall
4216bdfb2a DynASM/ARM64: Fix LSL/BFI* encoding with variable shifts.
Thanks to Dmitry Stogov.
2021-06-04 13:51:56 +02:00
Mike Pall
5783ba1bf7 DynASM/ARM64: Fix ADRP encoding with absolute address.
Thanks to Dmitry Stogov.
2021-05-22 13:31:48 +02:00
Mike Pall
8dc3cd6c84 DynASM: Bump version to 1.5.0. 2021-05-02 22:29:01 +02:00
Mike Pall
0f8a340c8c DynASM/ARM64: Add .long expr. Add .quad/.addr expr + refs.
Suggested by Dmitry Stogov, Hao Sun and Nick Gasson.
2021-05-02 22:25:56 +02:00
Mike Pall
1449663ecf DynASM/x86: Fix x64 .aword refs. Add .qword, .quad, .addr and .long.
Suggested by Dmitry Stogov.
2021-05-02 22:25:16 +02:00
Mike Pall
20f556e531 DynASM: Fix global label references
ARM64 patch contributed by Hao Sun and Nick Gasson.
2021-03-31 18:36:44 +02:00
Mike Pall
d1132afb25 DynASM/ARM64: Add VREG support.
Contributed by Hao Sun and Nick Gasson.
2021-03-31 18:11:32 +02:00
Mike Pall
1e66d0f9e6 Merge branch 'master' into v2.1 2021-01-02 21:56:07 +01:00
Mike Pall
f47c864b01 Bump copyright date. 2021-01-02 21:49:41 +01:00
Mike Pall
1d8b747c16 Merge branch 'master' into v2.1 2020-10-12 16:18:02 +02:00
Mike Pall
050466552b Minor changes and https-ify links. 2020-10-12 16:11:32 +02:00
Mike Pall
cc44642cf8 Merge branch 'master' into v2.1 2020-09-12 17:36:04 +02:00
Mike Pall
412d5a4039 DynASM/x86: Fix VREG support. 2020-09-12 17:32:30 +02:00
Mike Pall
87b111f0fe Merge branch 'master' into v2.1 2020-01-20 23:34:21 +01:00
Mike Pall
38a5ed4b43 Bump copyright date. 2020-01-20 23:26:51 +01:00
Mike Pall
9749952b55 DynASM/x86: Fix BMI instructions.
Thanks to Peter Cawley.
2020-01-20 22:23:17 +01:00
Mike Pall
94d0b53004 MIPS: Add MIPS64 R6 port.
Contributed by Hua Zhang, YunQiang Su from Wave Computing,
and Radovan Birdic from RT-RK.
Sponsored by Wave Computing.
2020-01-20 22:15:45 +01:00
Mike Pall
617f532542 Merge branch 'master' into v2.1 2019-01-10 12:34:20 +01:00
Mike Pall
5c911998a3 DynASM/MIPS: Fix shadowed variable.
Cleanup only, bug cannot trigger.
Thanks to Domingo Alvarez Duarte.
2019-01-10 12:32:08 +01:00
Mike Pall
20e4c52945 DynASM/PPC: Fix shadowed variable.
Cleanup only, bug cannot trigger.
Thanks to Domingo Alvarez Duarte.
2019-01-10 12:28:24 +01:00
Mike Pall
26f1023819 DynASM/x86: Fix vroundps/vroundpd encoding.
Thanks to Alexander Nasonov.
2018-08-22 13:35:41 +02:00
Mike Pall
9b41062156 DynASM: Fix warning. 2018-06-24 14:10:21 +02:00
Mike Pall
cc299958bb DynASM/x86: Add FMA3 instructions.
Thanks to Alexander Nasonov.
2018-06-05 12:23:13 +02:00
Mike Pall
fe651bf6e2 DynASM/x86: Add BMI1 and BMI2 instructions.
Thanks to Peter Cawley.
2018-02-27 23:22:40 +01:00
Mike Pall
0bf46e1edf Merge branch 'master' into v2.1 2018-01-29 13:19:30 +01:00
Mike Pall
d4ee803427 Fix GCC 7 -Wimplicit-fallthrough warnings. 2018-01-29 13:06:13 +01:00
Mike Pall
6a2d8b0b4d Merge branch 'master' into v2.1 2017-09-20 19:42:34 +02:00
Mike Pall
0c0e7b168e DynASM/x86: Fix potential REL_A overflow.
Thanks to Joshua Haberman.
2017-09-20 19:39:50 +02:00
Mike Pall
a9740d9edb DynASM: Fix warning. 2017-03-08 21:59:14 +01:00
Mike Pall
71ff7ef8a7 Merge branch 'master' into v2.1 2017-01-17 12:41:05 +01:00
Mike Pall
b93a1dd0c8 Bump copyright date to 2017. 2017-01-17 12:35:03 +01:00