Fix case.
authorTaylor R Campbell <campbell@mumble.net>
Mon, 21 Jan 2019 19:05:51 +0000 (19:05 +0000)
committerTaylor R Campbell <campbell@mumble.net>
Wed, 21 Aug 2019 21:34:04 +0000 (21:34 +0000)
src/compiler/machines/aarch64/instr1.scm
src/compiler/machines/aarch64/rulfix.scm

index 16a5b5080c8cd9a4d9f5e572a93bbbff655aa4de..0ac693a43e7ee0e3a172f62db13a7865df4eb4d1 100644 (file)
@@ -1660,8 +1660,8 @@ USA.
                      (5 Ra)
                      (5 Rn)
                      (5 Rd)))))))))
-  (define-muladdsub-instruction madd #b000 0) ;Multiply-Add
-  (define-muladdsub-instruction msub #b000 1)) ;Multiply-Subtract
+  (define-muladdsub-instruction MADD #b000 0) ;Multiply-Add
+  (define-muladdsub-instruction MSUB #b000 1)) ;Multiply-Subtract
 
 (let-syntax
     ((define-widemul-instruction
index 82349f13410b4528359748e7c15065c0fe53ed61..ae0930d79c03e51afd1006e92cf2ecb59bcc9205 100644 (file)
@@ -197,6 +197,8 @@ USA.
     (if (= source1 source2)             ;XXX Avoid this earlier on.
         (load-fixnum-constant target 1)
         (LAP (SDIV X ,target ,source1 ,source2)
+             ;; source1 = n 2^t, source2 = d 2^t, target = q
+             ;; target := q 2^t
              (LSL X ,target ,target (&U ,scheme-type-width))))))
 
 (define-arithmetic-method 'FIXNUM-REMAINDER fixnum-methods/2-args
@@ -205,10 +207,9 @@ USA.
     (if (= source1 source2)             ;XXX Avoid this earlier on.
         (load-fixnum-constant target 0)
         (LAP (SDIV X ,target ,source1 ,source2)
-             ;; source1 = n, source2 = d, target = q
-             ;; target := n - d*q
-             (MSUB X ,target ,source1 ,source2 ,target)
-             (LSL X ,target ,target (&U ,scheme-type-width))))))
+             ;; source1 = n 2^t, source2 = d 2^t, target = q
+             ;; target := (n - d*q) 2^t
+             (MSUB X ,target ,source2 ,target ,source1)))))
 
 ;; XXX Constant operands.
 ;; XXX Fast division by multiplication.