mes/module/mescc
Andrius Štikonas 05e945c0a8 mescc: Do not overflow M1 64bit immediates.
M1 immediates are limited to 31-bit before they become negative.

* module/mescc/x86_64/as.scm (x86_64:value->r, x86_64:r-cmp-value,
x86_64:r-long-mem-add, x86_64:r-and): Limit M1 immediate to #x80000000.

* lib/tests/scaffold/67-m1-overflow-check.c: New test.
* build-aux/check-mescc.sh (mes_tests): Add it.
2023-11-05 09:36:26 +01:00
..
armv4 ARM: Use explicit remainder in __mesabi_uldiv call. 2022-09-13 13:52:03 +02:00
i386 mescc: Use signed division for x86, x86_64 when appropriate. 2020-10-06 19:53:02 +02:00
x86_64 mescc: Do not overflow M1 64bit immediates. 2023-11-05 09:36:26 +01:00
as.scm mescc: x86_64 support: Refactor to abstracted assembly, add x86_64. 2018-08-15 18:26:55 +02:00
bytevectors.scm mescc: x86_64 support: Refactor to abstracted assembly, add x86_64. 2018-08-15 18:26:55 +02:00
compile.scm mescc: Do not overflow M1 64bit immediates. 2023-11-05 09:36:26 +01:00
info.scm mescc: Do not dump variables with extern storage. 2019-07-27 17:22:00 +02:00
M1.scm mescc: Fix hex2:immediate8 to work with mes/m2-compiled mes. 2023-11-05 09:36:26 +01:00
mescc.scm build: Drop support for mescc-tools 0.5.2. 2023-05-03 14:52:25 +02:00
preprocess.scm mescc: Remove duplicate include. 2023-08-27 10:05:33 +02:00