https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81763
--- Comment #26 from Mike Lothian <mike at fireburn dot co.uk> --- Is this the patch you want us to test then: diff -ur a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md --- a/gcc/config/i386/i386.md 2018-01-16 11:17:49.509247000 +0000 +++ b/gcc/config/i386/i386.md 2018-01-25 18:21:25.562225621 +0000 @@ -8586,7 +8586,7 @@ (define_insn "*andndi3_doubleword" [(set (match_operand:DI 0 "register_operand" "=r,&r") (and:DI - (not:DI (match_operand:DI 1 "register_operand" "r,0")) + (not:DI (match_operand:DI 1 "register_operand" "0,0")) (match_operand:DI 2 "nonimmediate_operand" "rm,rm"))) (clobber (reg:CC FLAGS_REG))] "!TARGET_64BIT && TARGET_STV && TARGET_SSE2"