Chez Scheme: unbreak for x86_64

Commit 4140627ed8 was broken.
This commit is contained in:
Matthew Flatt 2021-05-21 15:49:37 -06:00
parent 30effc9490
commit 87fd43b1e5

View File

@ -744,7 +744,7 @@
(lambda (y w k) (lambda (y w k)
(nanopass-case (L15d Triv) w (nanopass-case (L15d Triv) w
[(immediate ,imm) [(immediate ,imm)
(if (real-imm32? imm) (if (signed-32? imm)
(k y w) (k y w)
(let ([tmp (make-tmp 'u)] (let ([tmp (make-tmp 'u)]
[zero (with-output-language (L15d Triv) [zero (with-output-language (L15d Triv)
@ -752,8 +752,11 @@
(with-output-language (L15d Effect) (with-output-language (L15d Effect)
(seq (seq
`(set! ,(make-live-info) ,tmp ,w) `(set! ,(make-live-info) ,tmp ,w)
(if (eq? y %zero)
(k tmp zero)
(seq
`(set! ,(make-live-info) ,tmp (asm ,null-info ,asm-add ,tmp ,y)) `(set! ,(make-live-info) ,tmp (asm ,null-info ,asm-add ,tmp ,y))
(k tmp zero)))))]))) (k tmp zero)))))))])))
(let* ([info-cc-eq (make-info-condition-code 'eq? #f #t)] (let* ([info-cc-eq (make-info-condition-code 'eq? #f #t)]
[asm-eq (asm-relop info-cc-eq)]) [asm-eq (asm-relop info-cc-eq)])