ppc32: add missing step in double->single floating-point conversion

original commit: 62a8fbe33a3fecdad1701e3ec196dcf032a777c4
This commit is contained in:
Matthew Flatt 2020-06-20 08:54:15 -06:00
parent 257a29216e
commit e0a60ac950

View File

@ -1788,12 +1788,14 @@
(define asm-store-double->single
(lambda (code* dest-mem src-reg)
(Trivit (dest-mem src-reg)
(select-addressing-mode
dest-mem
(lambda (dest-reg dest-offset)
(emit stfs src-reg dest-reg dest-offset code*))
(lambda (dest-reg index-reg)
(emit stfsx src-reg dest-reg index-reg code*))))))
(let ([tmp `(reg . ,%fptmp1)])
(emit frsp tmp src-reg
(select-addressing-mode
dest-mem
(lambda (dest-reg dest-offset)
(emit stfs tmp dest-reg dest-offset code*))
(lambda (dest-reg index-reg)
(emit stfsx tmp dest-reg index-reg code*))))))))
(define-who asm-fpop-2
(lambda (op)