Hi all, This patch fixes the PR in question which is a miscompilation of gcc.dg/fixed-point/unary.c on arm. It just restricts the A - B -> A + (-B) transformation when the type is fixed-point. This fixes the testcase for me. Is this the right approach? Bootstrap and test on arm and x86 running. Ok if testing is clean? Thanks, Kyrill 2015-07-20 Kyrylo Tkachov PR middle-end/66915 * match.pd (A - B -> A + (-B)): Don't allow folding when type if a fixed-point type.