From 25bb4c7651323b6879064cfdfb74d1771f56abca Mon Sep 17 00:00:00 2001 From: Irene Knapp Date: Wed, 20 May 2026 00:34:28 -0700 Subject: add a really powerful stack depth tracking feature for transforms to use also said feature seems to work, which is flatly astonishing just a little more now... Force-Push: yes Change-Id: I1bda7e99e524ac73a761859e86e01251e7d17525 --- amd64.e | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'amd64.e') diff --git a/amd64.e b/amd64.e index 4ffc64f..e098505 100644 --- a/amd64.e +++ b/amd64.e @@ -851,11 +851,21 @@ s" :cc-greater" keyword ~ Control flow instructions ~ ~~~~~~~~~~~~~~~~~~~~~~~~~ +~ Pretend to subtract right from left, and set the flags the same way as if +~ we actually had. +~ ~ (output point, left register, right register -- output point) : cmp-reg64-reg64 3roll rex-w 0x3B pack8 3unroll reg64 swap addressing-reg64 ; +~ Pretend to xor left with right, and set the flags the same way as if we +~ actually had. +~ +~ The names of the condition codes can be a little confusing when using them +~ after "test", because they're really premised on the idea that you did +~ "cmp". +~ ~ (output point, left register, right register -- output point) : test-reg64-reg64 3roll rex-w 0x85 pack8 3unroll -- cgit 1.4.1