]> git.ipfire.org Git - thirdparty/gcc.git/commit
AVX-512. 56/n. Add plus/minus/abs/neg/andnot insn.
authorkyukhin <kyukhin@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 15 Oct 2014 11:04:03 +0000 (11:04 +0000)
committerkyukhin <kyukhin@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 15 Oct 2014 11:04:03 +0000 (11:04 +0000)
commit12803fe002bf64e418feea3e572c2a4d1887cada
tree8346c7f7be9d294ad381cd71472ece12e7d5c79a
parent54f53cd02fa9f55631e33123ad4e7a2d22541717
AVX-512. 56/n. Add plus/minus/abs/neg/andnot insn.

gcc/
* config/i386/sse.md (define_mode_iterator VI_AVX2): Extend
to support AVX-512BW.
(define_mode_iterator VI124_AVX2_48_AVX512F): Remove.
(define_expand "<plusminus_insn><mode>3"): Remove masking support.
(define_insn "*<plusminus_insn><mode>3"): Ditto.
(define_expand "<plusminus_insn><VI48_AVX512VL:mode>3_mask"): New.
(define_expand "<plusminus_insn><VI12_AVX512VL:mode>3_mask"): Ditto.
(define_insn "*<plusminus_insn><VI48_AVX512VL:mode>3_mask"): Ditto.
(define_insn "*<plusminus_insn><VI12_AVX512VL:mode>3_mask"): Ditto.
(define_expand "<sse2_avx2>_andnot<mode>3"): Remove masking support.
(define_insn "*andnot<mode>3"): Ditto.
(define_expand "<sse2_avx2>_andnot<VI48_AVX512VL:mode>3_mask"): New.
(define_expand "<sse2_avx2>_andnot<VI12_AVX512VL:mode>3_mask"): Ditto.
(define_insn "*andnot<VI48_AVX512VL:mode>3<mask_name>"): Ditto.
(define_insn "*andnot<VI12_AVX512VL:mode>3<mask_name>"): Ditto.
(define_insn "*abs<mode>2"): Remove masking support.
(define_insn "abs<VI48_AVX512VL:mode>2_mask"): New.
(define_insn "abs<VI12_AVX512VL:mode>2_mask"): Ditto.
(define_expand "abs<mode>2"): Use VI_AVX2 mode iterator.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@216255 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/config/i386/sse.md