From: Taylor R Campbell Date: Wed, 16 Jan 2019 04:47:13 +0000 (+0000) Subject: Save an instruction in multiplication with CSETM. X-Git-Tag: mit-scheme-pucked-10.1.20~11^2~66^2~75 X-Git-Url: https://birchwood-abbey.net/git?a=commitdiff_plain;h=323bb75874942c820781095f0be9c4145b1f48a7;p=mit-scheme.git Save an instruction in multiplication with CSETM. --- diff --git a/src/compiler/machines/aarch64/rulfix.scm b/src/compiler/machines/aarch64/rulfix.scm index 4c8bb82aa..82349f134 100644 --- a/src/compiler/machines/aarch64/rulfix.scm +++ b/src/compiler/machines/aarch64/rulfix.scm @@ -182,9 +182,8 @@ USA. ;; mask is equal to the high 64 bits of a non-overflowing ;; multiply, so its xor with the high 64 bits is zero iff no ;; overflow. - (LAP (MOVZ X ,mask (&U 0)) - (CMP X ,source1 (&U 0)) - (CINV X LT ,mask ,mask) + (LAP (CMP X ,source1 (&U 0)) + (CSETM X LT ,mask) (CMP X ,source2 (&U 0)) (CINV X LT ,mask ,mask) (ASR X ,regnum:scratch-0 ,source1 (&U ,scheme-type-width))