summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergei Trofimovich <slyfox@gentoo.org>2019-03-20 22:40:28 +0000
committerBen Gamari <ben@smart-cactus.org>2019-06-24 18:35:12 -0400
commit7ed5db876fd9f6a4a4ba5411128fbf56888a1b62 (patch)
tree1603209c48121e890fd0771176ee8991155a5617
parent3d0fa737b801f5d3e00c91a8783b6e5cec4d6a68 (diff)
downloadhaskell-7ed5db876fd9f6a4a4ba5411128fbf56888a1b62.tar.gz
powerpc32: fix 64-bit comparison (#16465)
On powerpc32 64-bit comparison code generated dangling target labels. This caused ghc build failure as: $ ./configure --target=powerpc-unknown-linux-gnu && make ... SCCs aren't in reverse dependent order bad blockId n3U This happened because condIntCode' in PPC codegen generated label name but did not place the label into `cmp_lo` code block. The change adds the `cmp_lo` label into the case of negative comparison. Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org> (cherry picked from commit 973077ac63c79988f2d5f25d13b60dce82f9e8dd)
-rw-r--r--compiler/nativeGen/PPC/CodeGen.hs1
1 files changed, 1 insertions, 0 deletions
diff --git a/compiler/nativeGen/PPC/CodeGen.hs b/compiler/nativeGen/PPC/CodeGen.hs
index 516a49aee3..4835acae6f 100644
--- a/compiler/nativeGen/PPC/CodeGen.hs
+++ b/compiler/nativeGen/PPC/CodeGen.hs
@@ -943,6 +943,7 @@ condIntCode' True cond W64 x y
, BCC LE cmp_lo Nothing
, CMPL II32 x_lo (RIReg y_lo)
, BCC ALWAYS end_lbl Nothing
+ , NEWBLOCK cmp_lo
, CMPL II32 y_lo (RIReg x_lo)
, BCC ALWAYS end_lbl Nothing