From 57d7e3a29baaacc55bc19bfe03b5ea7a25069281 Mon Sep 17 00:00:00 2001
From: Erik de Castro Lopo <erikd@mega-nerd.com>
Date: Thu, 23 Aug 2012 20:39:47 +1000
Subject: [PATCH] Fix for optimizer bug on linux-powerpc (#6156).
---
compiler/nativeGen/PPC/CodeGen.hs | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/compiler/nativeGen/PPC/CodeGen.hs b/compiler/nativeGen/PPC/CodeGen.hs
index 4090d95..b6c83ee 100644
|
a
|
b
|
iselExpr64 (CmmLit (CmmInt i _)) = do |
| 320 | 320 | (rlo,rhi) <- getNewRegPairNat II32 |
| 321 | 321 | let |
| 322 | 322 | half0 = fromIntegral (fromIntegral i :: Word16) |
| 323 | | half1 = fromIntegral ((fromIntegral i `shiftR` 16) :: Word16) |
| 324 | | half2 = fromIntegral ((fromIntegral i `shiftR` 32) :: Word16) |
| 325 | | half3 = fromIntegral ((fromIntegral i `shiftR` 48) :: Word16) |
| | 323 | half1 = fromIntegral (fromIntegral (i `shiftR` 16) :: Word16) |
| | 324 | half2 = fromIntegral (fromIntegral (i `shiftR` 32) :: Word16) |
| | 325 | half3 = fromIntegral (fromIntegral (i `shiftR` 48) :: Word16) |
| 326 | 326 | |
| 327 | 327 | code = toOL [ |
| 328 | 328 | LIS rlo (ImmInt half1), |
| 329 | 329 | OR rlo rlo (RIImm $ ImmInt half0), |
| 330 | 330 | LIS rhi (ImmInt half3), |
| 331 | | OR rlo rlo (RIImm $ ImmInt half2) |
| | 331 | OR rhi rhi (RIImm $ ImmInt half2) |
| 332 | 332 | ] |
| 333 | 333 | return (ChildCode64 code rlo) |
| 334 | 334 | |