Skip to content
Snippets Groups Projects
Commit f3661f2d authored by Uros Bizjak's avatar Uros Bizjak
Browse files

i386: Implement integer vector compares for 64bit vectors [PR98218]

Implement integer vector compares for 64bit vectors for TARGET_MMX_WITH_SSE.

2021-05-05  Uroš Bizjak  <ubizjak@gmail.com>

gcc/
	PR target/98218
	* config/i386/i386-expand.c (ix86_expand_int_sse_cmp):
	Handle V8QI, V4HI and V2SI modes.
	* config/i386/i386.c (ix86_build_const_vector): Handle V2SImode.
	(ix86_build_signbit_mask): Ditto.
	* config/i386/mmx.md (MMXMODE14): New mode iterator.
	(<smaxmin:code><MMXMODE14:mode>3): New expander.
	(*mmx_<smaxmin:code><MMXMODE14:mode>3): New insn pattern.
	(<umaxmin:code><MMXMODE24:mode>3): New expander.
	(*mmx_<umaxmin:code><MMXMODE24:mode>3): New insn pattern.
	(vec_cmp<MMXMODEI:mode><MMXMODEI:mode>): New expander.
	(vec_cmpu<MMXMODEI:mode><MMXMODEI:mode>): Ditto.
	(vcond<MMXMODEI:mode><MMXMODEI:mode>): Ditto.
	(vcondu<MMXMODEI:mode><MMXMODEI:mode>): Ditto.
	(vcond_mask_<MMXMODEI:mode><MMXMODEI:mode>): Ditto.

gcc/testsuite/

	PR target/98218
	* gcc.target/i386/pr98218-1.c: New test.
	* gcc.target/i386/pr98218-1a.c: Ditto.
	* gcc.target/i386/pr98218-2.c: Ditto.
	* gcc.target/i386/pr98218-2a.c: Ditto.
	* gcc.target/i386/pr98218-3.c: Ditto.
	* gcc.target/i386/pr98218-3a.c: Ditto.
	* gcc.dg/vect/vect-bool-cmp.c (dg-final):
	Scan vect tree dump for "LOOP VECTORIZED", not VECTORIZED.
parent 29745bf0
No related branches found
No related tags found
No related merge requests found
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment