sse.md
321 KB
-
re PR target/49411 ([4.6/4.7] ICE: unrecognizable insn with -mxop in… · c96b4102
re PR target/49411 ([4.6/4.7] ICE: unrecognizable insn with -mxop in _mm_roti_epi8 with negative number) PR target/49411 * config/i386/i386.c (ix86_expand_multi_arg_builtins): If last_arg_constant and last argument doesn't match its predicate, for xop_vpermil2<mode>3 error out and for xop_rotl<mode>3 if it is CONST_INT, mask it, otherwise expand using rotl<mode>3. (ix86_expand_sse_pcmpestr, ix86_expand_sse_pcmpistr): Fix spelling of error message. * config/i386/sse.md (sse4a_extrqi, sse4a_insertqi, vcvtps2ph, *vcvtps2ph, *vcvtps2ph_store, vcvtps2ph256): Use const_0_to_255_operand instead of const_int_operand. Revert: 2011-05-09 Uros Bizjak <ubizjak@gmail.com> * config/i386/sse.md (blendbits): Remove mode attribute. (<sse4_1>_blend<ssemodesuffix><avxsizesuffix>): Use const_int_operand instead of const_0_to_<blendbits>_operand for operand 3 predicate. Check integer value of operand 3 in insn constraint. * gcc.target/i386/testimm-1.c: New test. * gcc.target/i386/testimm-2.c: New test. * gcc.target/i386/testimm-3.c: New test. * gcc.target/i386/testimm-4.c: New test. * gcc.target/i386/testimm-5.c: New test. * gcc.target/i386/testimm-6.c: New test. * gcc.target/i386/testimm-7.c: New test. * gcc.target/i386/testimm-8.c: New test. * gcc.target/i386/xop-vpermil2px-2.c: New test. * gcc.target/i386/xop-rotate1-int.c: New test. * gcc.target/i386/xop-rotate2-int.c: New test. From-SVN: r175165
Jakub Jelinek committed