Hello Uroš, This simple patch fixes mode (to iterator) in splitter for `not-xor' logic.
Bootstrapped & reg-tested on trunk. Is it ok for trunk? Is it ok for gcc-5-branch? (if tested accordingly) (I have no idea how to reference to define_split in ChangeLog entry) gcc/ * gcc/config/i386/i386.md (define_split not/xor SWI1248x): Use iterator instead of fixed modes.. -- Thanks, K commit fc8c797375b4fc8fc155070ccfcca52497991c48 Author: Kirill Yukhin <kirill.yuk...@intel.com> Date: Fri Sep 18 16:10:06 2015 +0300 AVX-512. Fix kxnor insn splits. diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md index 7808705..f7230f0 100644 --- a/gcc/config/i386/i386.md +++ b/gcc/config/i386/i386.md @@ -8565,11 +8565,11 @@ (clobber (reg:CC FLAGS_REG))] "TARGET_AVX512F && reload_completed" [(parallel [(set (match_dup 0) - (xor:HI (match_dup 0) - (match_dup 1))) + (xor:SWI1248x (match_dup 0) + (match_dup 1))) (clobber (reg:CC FLAGS_REG))]) (set (match_dup 0) - (not:HI (match_dup 0)))]) + (not:SWI1248x (match_dup 0)))]) ;;There are kortrest[bdq] but no intrinsics for them. ;;We probably don't need to implement them.