
#7598: ghc-stage1 generates wrong assembler on StgCmmPrim (operand out of range) --------------------------------+------------------------------------------- Reporter: kgardas | Owner: Type: bug | Status: new Priority: normal | Component: Compiler Version: 7.7 | Keywords: Os: Linux | Architecture: powerpc Failure: Building GHC failed | Blockedby: Blocking: | Related: --------------------------------+------------------------------------------- Comment(by kgardas): if assembler correctly reports line number, then this should be this: {{{ 98877 .text 98878 .align 2 98879 .long uVbd_srtd-(cN2c_info)+0 98880 .long 4 98881 .long 2162687 98882 cN2c_info: 98883 .LcN2c: 98884 mr 31, 14 98885 andi. 30, 31, 3 98886 cmplwi 30, 2 98887 blt $+8 98888 b .LcNoE 98889 .LcNoD: 98890 lis 31, cNdK_info@ha 98891 addi 31, 31, cNdK_info@l 98892 stw 31, 0(22) 98893 lwz 14, 4(22) 98894 andi. 31, 14, 3 98895 cmpwi 31, 0 ->98896 bne .LcNdK 98897 .LcOgw: 98898 lwz 31, 0(14) 98899 mtctr 31 98900 bctr }}} am I right assuming we're generating jump and it's too long for PPC to perform? i.e. bne is conditional branch instruction which should jump just in a range of 16K. Full assembler file generated attached for your convenient. -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/7598#comment:1 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler