diff options
author | Sergei Trofimovich <slyfox@gentoo.org> | 2019-03-20 22:40:28 +0000 |
---|---|---|
committer | Marge Bot <ben+marge-bot@smart-cactus.org> | 2019-05-31 01:57:31 -0400 |
commit | 973077ac63c79988f2d5f25d13b60dce82f9e8dd (patch) | |
tree | fb4965da7d1fd12d95ac59bbf8a0ca99f7f7b7d0 | |
parent | 0b01a3541e483ea3fcbd6c0f1586a063310b75f9 (diff) | |
download | haskell-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.hs | 1 |
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 |