Commit Graph

4 Commits

Author SHA1 Message Date
Scott Graham
d166a61141 Implementation of Windows amd64_win target
This is an implementation of the Windows ABI. It supports most features
(struct passing/returning, varargs, env). TLS is not yet supported.

This patch does not actually port QBE to Windows, it only allows QBE to
generate correct asm to target Windows. As a result, testing is
accomplished on a Linux host, by using a cross-compiling toolchain, and
running the resulting binaries by using wine. See:

	TARGET=amd64_win tools/test.sh all

A few cross-platform tests were changed from 'long' to 'long long' in
driver code because long in C does not match the size of a QBE 'l' on
Windows.
2026-02-12 09:17:17 +01:00
Quentin Carbonneaux
4b7f02c097 isel fix for amd64 memory stores
The value argument of store instructions was
handled incorrectly.
2019-04-30 11:21:45 +02:00
Quentin Carbonneaux
dda87279c1 update conaddr test to catch early segfaults 2019-04-26 14:17:49 +02:00
Quentin Carbonneaux
82f5ba58cf restore some code from b4a98c
I had forgotten that %rip can only be
used as base when there is no index.

I also added a test which stresses
addressing selection with and without
constants.
2019-04-26 12:05:47 +02:00