summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Gamari <ben@smart-cactus.org>2022-02-04 13:18:49 -0500
committerBen Gamari <ben@smart-cactus.org>2022-04-06 15:24:01 -0400
commitffdbe457189a12d9eca6be2cfab977cd71411766 (patch)
tree0a874142a4c7068593a5a65269e0fe737e820e37
parentec4526b5cbb58b93457591e2595c5a66b2a101f9 (diff)
downloadhaskell-wip/windows-high-codegen.tar.gz
nativeGen: Note signed-extended nature of MOVwip/windows-high-codegen
-rw-r--r--compiler/GHC/CmmToAsm/X86/Instr.hs4
1 files changed, 4 insertions, 0 deletions
diff --git a/compiler/GHC/CmmToAsm/X86/Instr.hs b/compiler/GHC/CmmToAsm/X86/Instr.hs
index 1f1515b0c9..42b9543204 100644
--- a/compiler/GHC/CmmToAsm/X86/Instr.hs
+++ b/compiler/GHC/CmmToAsm/X86/Instr.hs
@@ -196,6 +196,10 @@ data Instr
-- Moves.
| MOV Format Operand Operand
+ -- ^ N.B. when used with the 'II64' 'Format', the source
+ -- operand is interpreted to be a 32-bit sign-extended value.
+ -- True 64-bit operands need to be moved with @MOVABS@, which we
+ -- currently don't use.
| CMOV Cond Format Operand Reg
| MOVZxL Format Operand Operand
-- ^ The format argument is the size of operand 1 (the number of bits we keep)