diff options
author | Sergei Trofimovich <slyfox@gentoo.org> | 2019-03-20 22:40:28 +0000 |
---|---|---|
committer | Ben Gamari <ben@smart-cactus.org> | 2019-06-24 18:35:12 -0400 |
commit | 7ed5db876fd9f6a4a4ba5411128fbf56888a1b62 (patch) | |
tree | 1603209c48121e890fd0771176ee8991155a5617 | |
parent | 3d0fa737b801f5d3e00c91a8783b6e5cec4d6a68 (diff) | |
download | haskell-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.hs | 1 |
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 |