summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergei Trofimovich <slyfox@gentoo.org>2019-03-20 22:40:28 +0000
committerMarge Bot <ben+marge-bot@smart-cactus.org>2019-05-31 01:57:31 -0400
commit973077ac63c79988f2d5f25d13b60dce82f9e8dd (patch)
treefb4965da7d1fd12d95ac59bbf8a0ca99f7f7b7d0
parent0b01a3541e483ea3fcbd6c0f1586a063310b75f9 (diff)
downloadhaskell-973077ac63c79988f2d5f25d13b60dce82f9e8dd.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>
-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 a9bddfd5f7..8540c780e3 100644
--- a/compiler/nativeGen/PPC/CodeGen.hs
+++ b/compiler/nativeGen/PPC/CodeGen.hs
@@ -949,6 +949,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