summaryrefslogtreecommitdiff
path: root/compiler/nativeGen/PprMach.hs
diff options
context:
space:
mode:
authorIan Lynagh <igloo@earth.li>2006-10-11 14:00:07 +0000
committerIan Lynagh <igloo@earth.li>2006-10-11 14:00:07 +0000
commit16dbc25769d2c23314a97be10a824b7bb921ae49 (patch)
treef50792744312825ec6924379f58773beddb5c038 /compiler/nativeGen/PprMach.hs
parent046ee54f048ddd721dcee41916d6a6f68db3b15b (diff)
downloadhaskell-16dbc25769d2c23314a97be10a824b7bb921ae49.tar.gz
Fix trac #921: generate *q instructions for int-float conversions
We need to generate, e.g., cvtsi2sdq rather than cvtsi2sd on amd64 in order to have int-float conversions work correctly for values not correctly representable in 32 bits.
Diffstat (limited to 'compiler/nativeGen/PprMach.hs')
-rw-r--r--compiler/nativeGen/PprMach.hs8
1 files changed, 4 insertions, 4 deletions
diff --git a/compiler/nativeGen/PprMach.hs b/compiler/nativeGen/PprMach.hs
index 274ea1fb04..6ca3bde880 100644
--- a/compiler/nativeGen/PprMach.hs
+++ b/compiler/nativeGen/PprMach.hs
@@ -1304,10 +1304,10 @@ pprInstr (FDIV size op1 op2) = pprSizeOpOp SLIT("div") size op1 op2
pprInstr (CVTSS2SD from to) = pprRegReg SLIT("cvtss2sd") from to
pprInstr (CVTSD2SS from to) = pprRegReg SLIT("cvtsd2ss") from to
-pprInstr (CVTSS2SI from to) = pprOpReg SLIT("cvtss2si") from to
-pprInstr (CVTSD2SI from to) = pprOpReg SLIT("cvtsd2si") from to
-pprInstr (CVTSI2SS from to) = pprOpReg SLIT("cvtsi2ss") from to
-pprInstr (CVTSI2SD from to) = pprOpReg SLIT("cvtsi2sd") from to
+pprInstr (CVTSS2SI from to) = pprOpReg SLIT("cvtss2siq") from to
+pprInstr (CVTSD2SI from to) = pprOpReg SLIT("cvtsd2siq") from to
+pprInstr (CVTSI2SS from to) = pprOpReg SLIT("cvtsi2ssq") from to
+pprInstr (CVTSI2SD from to) = pprOpReg SLIT("cvtsi2sdq") from to
#endif
-- FETCHGOT for PIC on ELF platforms