https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69082
--- Comment #13 from Renlin Li <renlin at gcc dot gnu.org> --- This problem can be reproduced using gcc 4.9.3 (r225077), and can be fixed by r227129. However, in branch 4.9 with the latest code, this bug cannot be trigger any more. I have done a quick bisect, and find out it's r231177 which masked this error out. r231177 will change the register allocation result. Presumably the problem is still there, as the initial patch is made to fix exactly the same problem observed on trunk code. arm-none-linux-gnueabihf tested without any new failures. I will send a backport patch to mailing list.