powerpc-fix-64-bit-comparision
authorDebian Haskell Group <pkg-haskell-maintainers@lists.alioth.debian.org>
Sat, 21 Sep 2019 10:06:31 +0000 (11:06 +0100)
committerGianfranco Costamagna <locutusofborg@debian.org>
Sat, 21 Sep 2019 10:06:31 +0000 (11:06 +0100)
    $ ./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: 's avatarSergei Trofimovich <slyfox@gentoo.org>
 .
Origin: https://gitlab.haskell.org/ghc/ghc/commit/25dce3fc05e4788240ac6d192919063a9f548f7f
Last-Update: 2019-08-09

Gbp-Pq: Name powerpc-fix-64-bit-comparision.patch

compiler/nativeGen/PPC/CodeGen.hs

index 88b9692920a9697d9a666aeb7a1727b738488a15..cff9273daeea3a3d3c0317d4add19ab338cf61bc 100644 (file)
@@ -923,6 +923,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