Cmm type mismatch in %MO_S_Shr_W8 application
text
currently fails to build with -dcmm-lint
:
$ _build/stage1/bin/ghc -O2 -dcore-lint -dstg-lint -dcmm-lint -ilibraries/text/src Data.Text.Lazy.Builder.Int -Ilibraries/text/include
...
[36 of 36] Compiling Data.Text.Lazy.Builder.Int ( libraries/text/src/Data/Text/Lazy/Builder/Int.hs, libraries/text/src/Data/Text/Lazy/Builder/Int.o )
Cmm lint error:
in basic block cTTj
in MachOp application:
%MO_S_Shr_W8(_sRS5::I8, 7 :: W8)
op is expecting: [W8, W64]
arguments provide: [I8, I8]
Program was:
{offset
cTTh: // global
if ((Sp + -16) < SpLim) (likely: False) goto cTTi; else goto cTTj;
cTTi: // global
R1 = R1;
call (stg_gc_enter_1)(R1) args: 8, res: 0, upd: 8;
cTTj: // global
I64[Sp - 16] = stg_upd_frame_info;
P64[Sp - 8] = R1;
_sRS5::I8 = I8[R1 + 16];
R2 = %MO_XX_Conv_W8_W64(%MO_S_Shr_W8(_sRS5::I8 + %MO_S_Shr_W8(_sRS5::I8,
7 :: W8) & 15 :: W8,
4 :: W8));
Sp = Sp - 16;
call $wgo7_info(R2) args: 24, res: 0, upd: 24;
}
<no location info>: error:
Compilation had errors