Implement SSE2 floating-point support in the x86 native code generator (#594)
[ghc-hetmet.git] / compiler / nativeGen / RegClass.hs
index 4bb300f..2a4ac33 100644 (file)
@@ -17,6 +17,7 @@ data RegClass
        = RcInteger 
        | RcFloat
        | RcDouble
+       | RcDoubleSSE -- x86 only: the SSE regs are a separate class
        deriving Eq
 
 
@@ -24,8 +25,10 @@ instance Uniquable RegClass where
     getUnique RcInteger        = mkRegClassUnique 0
     getUnique RcFloat  = mkRegClassUnique 1
     getUnique RcDouble = mkRegClassUnique 2
+    getUnique RcDoubleSSE = mkRegClassUnique 3
 
 instance Outputable RegClass where
     ppr RcInteger      = Outputable.text "I"
     ppr RcFloat                = Outputable.text "F"
     ppr RcDouble       = Outputable.text "D"
+    ppr RcDoubleSSE    = Outputable.text "S"