https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78433
--- Comment #2 from Markus Trippelsdorf <trippels at gcc dot gnu.org> --- On pcc64le this is the assembly diff: --- good 2016-11-20 12:43:40.318860969 +0000 +++ bad 2016-11-20 12:42:57.277928999 +0000 @@ -178,7 +178,7 @@ sldi 9,9,3 ld 10,0(1) mr 26,1 - addi 9,9,38 + addi 9,9,31 addis 25,2,.LC2@toc@ha rldicr 9,9,0,59 addi 25,25,.LC2@toc@l @@ -286,7 +286,7 @@ sldi 9,9,3 ld 10,0(1) mr 23,1 - addi 9,9,38 + addi 9,9,31 cmpdi 7,5,1 rldicr 9,9,0,59 neg 9,9