Hello! Attached patch reverts unwanted part of r216820 [1] movqi_internal change to restore correct type calculation.
2015-04-02 Uros Bizjak <ubiz...@gmail.com> Revert parts of r216820. * config/i386/i386.md (movqi_internal): Correct type calculation for alternatives 3 and 5. Bootstrapped and regression tested on x86_64-linux-gnu {,-m32} and committed to mainline SVN. [1] https://gcc.gnu.org/viewcvs/gcc?view=revision&revision=216820 Uros.
Index: config/i386/i386.md =================================================================== --- config/i386/i386.md (revision 221826) +++ config/i386/i386.md (working copy) @@ -2533,9 +2533,7 @@ } [(set_attr "isa" "*,*,*,*,*,*,*,*,*,*,avx512dq,avx512dq") (set (attr "type") - (cond [(eq_attr "alternative" "3,5") - (const_string "imovx") - (eq_attr "alternative" "7,8,9,10,11") + (cond [(eq_attr "alternative" "7,8,9,10,11") (const_string "mskmov") (and (eq_attr "alternative" "5") (not (match_operand:QI 1 "aligned_operand"))) @@ -2546,6 +2544,8 @@ (ior (not (match_test "TARGET_PARTIAL_REG_STALL")) (not (match_test "TARGET_QIMODE_MATH")))) (const_string "imov") + (eq_attr "alternative" "3,5") + (const_string "imovx") (and (match_test "TARGET_MOVX") (eq_attr "alternative" "2")) (const_string "imovx")